事前の案内では、ADAS用のモジュールが追加されるとあり期待していたが、いざリリースされると、contribにADAS.cppが存在するが中身はない。それどころか、自動車の検出用の辞書さえも存在していないのは、残念な結果となった。
よく調べてみると、pencv_contrib/modules/adas/tools/fcw_trainに、辞書作成と、検出のツールのソースが含まれており、contribをビルドすると、ツールができる。使用方法などドキュメントは存在しない。
ソースを見ると、単にcv::xobjdetect::ICFDetectorにパラメータを整えて渡しているだけのようであり、cv::xobjdetect::ICFDetectorのリファレンスには、WaldBoost and Integral Channel Featuresと簡単な説明がある
必要なパラメータは、
pos_path path to training object samples
model_size model size in pixels
ぐらいしかない。
cascadeでの辞書作成は、画像のパス、左上座標、サイズを記したファイルを指定していたが、ファイル名しか指定していないので、今回は、自分で事前に指定のサイズにpositive画像を切り抜いておく必要があると推測される
ソースを見ると、読み込んだファイル(jpg, png)を指定のサイズにリサイズしているので、範囲さえあっていればよいみたいである。
negativeは、指定数だけランダムに画像を切る抜いたものを使用している。
その後、パラメータを整えてwaldboostを使用して学習している。
マルチスケールでwaldboostを使用して検出しているが、並列化などの高速化や、検出結果のグルーピングは行われていないので、自力で対応しないといけない
以上
0 件のコメント:
コメントを投稿