線の下での物体検出
9446 ワード
それで、あなたはコンピュータビジョンがすることができることに魅了されました.ほとんどの人々は、このハードと数学のフルを検討します.これはまた、多くの人々が対象に興味を失う原因になります.それで、私はコンピュータビジョンをこれまでより簡単にするために出発しました.
さて、私はあなたにvisionlibを提示します.コンピュータビジョンをできるだけ簡単にするライブラリ.
あなたはgithubページをチェックアウトすることができますHERE
ダウンロードしてインストールPython3 公式ウェブサイトから.
VisionLibとその依存関係をインストールする
< div >
< ull >
これは依存関係をインストールする必要があります.ではVistonlibをインストールします
<> P >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ashwinvin/f72a7eee21866079724597995c447e87.js//>
< div >
<堀田>p >
< p >ファイルを作成し、このコードをペーストします.任意の名前でコードを保存するが、それは'で終わる必要があります.Py '< br/>
<> P >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ashwinvin/55b141205540b160933474ccadd3c9f0.js//>
< div >
< P >
オブジェクト検出には20行のコードしか必要ない.決してこの簡単な権利はなかったかp >
今、何が起こっているのか説明しましょう.コードを少し断片に分解しますbr/>
<> P >
クラスをハイライト表示する
< tag >最初の行のインポートはVisionLibライブラリのオブジェクト検出モジュールです.コマンドラインオプションを解析する2行目のインポートのargparse.最後に、3行目のインポートは画像処理ライブラリであるOpenCVbr/>
<> P >
クラスをハイライト表示する
コードのこのスニペットは、コマンドライン引数パーサ別名arparseを初期化しますbr/>
<> P >
クラスをハイライト表示する
これはすべてが初期化される場所です.最初の行はクラスを初期化します.2番目の使用する検出器を設定します.まだargparseを覚えておいてください、コマンドラインを通してそれを始めるとき、我々は検出器をセットすることができますbr/>
<> P >
クラスをハイライト表示する
これは魔法が起こるところです.これはオブジェクト検出が起こる行です.イメージとboolにパスを渡します.
GPUを使う.検出の後、我々は3つのリスト、境界ボックス、オブジェクトのための検出されたクラスとオブジェクトの信頼を得ますbr/>
<> P >
クラスをハイライト表示する
このラインは、境界ボックス、ラベルと自信を描画するのハードワークを行います.描画の後、描画で画像を取得しますbr/>
<> P >
クラスをハイライト表示する
我々は我々の検出されたイメージを表示しないでください.もちろん画像を表示します.これらの2行はイメージを表示するのに役立ちます.p >
これが始まりです.VisionLibを使用すると、オブジェクトの検出を行うことができます.また、顔のトラッキング、顔のキーポイント検出、性別の予測やオブジェクトの分類を行うことができます.時間が経過すると、それは汎用コンピュータビジョンライブラリになるために最善を尽くします.より多くの例とドキュメンテーションのために、githubページ
< div class ="ltag github readmeタグ"
< div class ="readme概要"
< div >
< div class ="ltag github本体"
< div class ="md "データパス="README . md "> <クラスクラス="Markdown Body Entry Content Container LG "itemProp = "text "> < p >
ビジョンリブ
< p > CV関連プロジェクトを支援するためのシンプルなハイレベルAPIp >
<ウル>
< p >>を用いたトラック面
<ウル> MTCNNモジュール DLIB HOGベース検出器 Opencv Haarカスケード ベースモデル < ull >
ジェンダーを予測する
検出オブジェクト
<ウル> オーロV 3 小さいヨロ < ull >
画像を分類する
<ウル> VGG 16 始まりV 3 引用 < ull >
顔のキーポイントを検出する
<ウル> 東北大理 DLIB 68点形状検出器 < ull >
< ull >
タスクリストを含む
タスククラス項目"
姿勢推定と実装のための事前訓練モデルタスククラス項目"
を使用して動き検出器を実装するタスククラス項目"
テンソルフローのための不要な負荷を修正< ull >
注意: Windows互換性はテストされません
< P >
< P >
< P >
これはdlibによって必要とされる依存関係をインストールするべきです.p >
< P >
<堀田>p >
< H >>
オプション
ソースからインストールしたい場合
< P >
< P >
画像中の顔の検出は容易である.これは境界ボックスとボックス座標で画像を返しますp >
< P >
< div >
< div class ="GH BTNコンテナ"View on GitHub < div >
< p >疑問や提案があります.参加するdiscord server 話をする
以下にコメントを共有してください!p >
さて、私はあなたにvisionlibを提示します.コンピュータビジョンをできるだけ簡単にするライブラリ.
あなたはgithubページをチェックアウトすることができますHERE
だから始める
VisionLibとその依存関係をインストールする
< div >
これは依存関係をインストールする必要があります.ではVistonlibをインストールします
<> P >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ashwinvin/f72a7eee21866079724597995c447e87.js//>
< div >
<堀田>p >
コーディング時間
< p >ファイルを作成し、このコードをペーストします.任意の名前でコードを保存するが、それは'で終わる必要があります.Py '< br/>
<> P >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/ashwinvin/55b141205540b160933474ccadd3c9f0.js//>
< div >
< P >
オブジェクト検出には20行のコードしか必要ない.決してこの簡単な権利はなかったかp >
今、何が起こっているのか説明しましょう.コードを少し断片に分解しますbr/>
<> P >
クラスをハイライト表示する
from visionlib.object.detection.detection import ODetection
import argparse
import cv2
< div >< tag >最初の行のインポートはVisionLibライブラリのオブジェクト検出モジュールです.コマンドラインオプションを解析する2行目のインポートのargparse.最後に、3行目のインポートは画像処理ライブラリであるOpenCVbr/>
<> P >
クラスをハイライト表示する
detector = ODetection()
parser = argparse.ArgumentParser()
parser.add_argument("img_path", help="Path to image")
parser.add_argument("--model", help="The model to use for detecting", dest="model")
parser.add_argument("--enable-gpu", help="Set to true to enable GPU support",dest="enable_gpu", default=False,type=bool)
< div >コードのこのスニペットは、コマンドライン引数パーサ別名arparseを初期化しますbr/>
<> P >
クラスをハイライト表示する
detector = ODetection()
detector.set_detector(args.model)
< div >これはすべてが初期化される場所です.最初の行はクラスを初期化します.2番目の使用する検出器を設定します.まだargparseを覚えておいてください、コマンドラインを通してそれを始めるとき、我々は検出器をセットすることができますbr/>
<> P >
クラスをハイライト表示する
box, label, conf = detector.detect_objects(img, enable_gpu=args.enable_gpu)
< div >これは魔法が起こるところです.これはオブジェクト検出が起こる行です.イメージとboolにパスを渡します.
GPUを使う.検出の後、我々は3つのリスト、境界ボックス、オブジェクトのための検出されたクラスとオブジェクトの信頼を得ますbr/>
<> P >
クラスをハイライト表示する
dimg = detector.draw_bbox(img, box, label, conf)
< div >このラインは、境界ボックス、ラベルと自信を描画するのハードワークを行います.描画の後、描画で画像を取得しますbr/>
<> P >
クラスをハイライト表示する
cv2.imshow("Object Detection using Visionlib", dimg)
cv2.waitkey(0)
< div >我々は我々の検出されたイメージを表示しないでください.もちろん画像を表示します.これらの2行はイメージを表示するのに役立ちます.p >
これが始まりです.VisionLibを使用すると、オブジェクトの検出を行うことができます.また、顔のトラッキング、顔のキーポイント検出、性別の予測やオブジェクトの分類を行うことができます.時間が経過すると、それは汎用コンピュータビジョンライブラリになるために最善を尽くします.より多くの例とドキュメンテーションのために、githubページ
< div class ="ltag github readmeタグ"
< div class ="readme概要"
アッシュウィンビン / ビジョンリブ
シンプルで使いやすい、機能豊富な、カスタマイズ可能なCVライブラリ
< div >
< div class ="ltag github本体"
< div class ="md "データパス="README . md "> <クラスクラス="Markdown Body Entry Content Container LG "itemProp = "text "> < p >
ビジョンリブ
< P >
< p > CV関連プロジェクトを支援するためのシンプルなハイレベルAPIp >
機能
<ウル>
< p >>を用いたトラック面
<ウル>
ジェンダーを予測する
検出オブジェクト
<ウル>
画像を分類する
<ウル>
顔のキーポイントを検出する
<ウル>
< ull >
藤堂
タスクリストを含む
タスククラス項目"
姿勢推定と実装のための事前訓練モデルタスククラス項目"
を使用して動き検出器を実装するタスククラス項目"
テンソルフローのための不要な負荷を修正< ull >
インストール
注意: Windows互換性はテストされません
依存
< P >
sudo apt-get install build-essential cmake pkg-config
< P >
sudo apt-get install libx11-dev libatlas-base-dev
< P >
sudo apt-get install libgtk-3-dev libboost-python-dev
これはdlibによって必要とされる依存関係をインストールするべきです.p >
< P >
pip install visionlib
<堀田>p >
< H >>
オプション
ソースからインストールしたい場合
git clone https://github.com/ashwinvin/Visionlib.git
< P >
cd visionlib
< P >
pip install .
顔検出
画像中の顔の検出は容易である.これは境界ボックスとボックス座標で画像を返しますp >
< P >
from
…<記事> < div >< div >
< div class ="GH BTNコンテナ"View on GitHub < div >
< p >疑問や提案があります.参加するdiscord server 話をする
以下にコメントを共有してください!p >
Reference
この問題について(線の下での物体検出), 我々は、より多くの情報をここで見つけました https://dev.to/ashwin_vinod/object-detection-under-50-lines-9lnテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol