簡単な質問があります。知りたいのですが、どのような種類のライブラリが利用可能であり、c ++またはopencvでSIFT、HOG(ヒストグラム指向勾配)およびSURFを実装するために良い結果をもたらすことができますか?
したがって:1-可能であれば、コードへのリンクを教えてください。2-私が欲しいものに私を導くためにそれらの1つまたは何らかの種類の情報を知っているなら、私もとても感謝されます。
ありがとう
これらを確認してください:surf-すばらしい記事 http://people.csail.mit.edu/kapu/papers/mar_mir08.pdf sift-すばらしい情報源、私はiPhoneで試してみまし たhttp://blogs.oregonstate.edu/hess/-高速-高速コーナー検出ライブラリ http://svr-www.eng.cam.ac.uk/~er258/work/fast.html
openCVのサーフコードの例 https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/matching_to_many_images.cpp
これがまだ関連しているかどうかはわかりませんが、opencvでHOG記述子を計算する2つの実装、つまり、GPUバージョンとCPUバージョンのHOGコードの両方を取得できます。
CPUバージョンについては、このブログ投稿を確認できます
ただし、CPUバージョンでは、スライディングウィンドウ用に独自のロジックを作成する必要があります。
GPUバージョンはかなり単純です。ここでドキュメントを読むことができます
SIFTとSURFの実装がすでにOpenCVに統合されていることを知るのに役立つかもしれません。 http://opencv.willowgarage.com/documentation/cpp/features2d__feature_detection_and_descriptor_extraction.html
OpenCVの最新バージョンではSIFTおよびSURFの実装が非フリー http://docs.opencv.org/modules/nonfree/doc/nonfree.htmlとして分類されているため、OpenCVの実装には注意してください。
これで使用できますが、おそらくライセンスの対象であり、商用ソリューションには使用できません。
これは、HoG、Sobel、およびLabチャネルに基づく記述子を使用して、オブジェクト検出用のクラス固有のハフフォレストを検出します(opencv / cソースコード)。
次に、考えられるすべての場所で検出を実行するのではなく、このアプローチは各記述子の投票を計算し、それらを組み合わせると、最大値がターゲットの最も可能性の高い場所に対応する投票クラウドを生成します。cvGoodFeaturesToTrackと組み合わせると、小さなトレーニングデータベースでも非常に良い結果を得ることができます。