Selective Searchを使った映像からの物体検出にチャレンジ

Selective Searchを使った映像からの物体検出にチャレンジ

Selective Search

こんにちは。

AI coordinatorの清水秀樹です。

物体検出にチャレンジしている筆者としては、どうやって画像から物体らしき部分を効率よく抽出できるかを日々模索しています。

PepperではOpenCVのカスケードファイルを使用することで、手軽に人の顔や人物の抽出ができました。

R-CNNを「Tensorflow x Pepper」で実装する方法

 

また、動体の物体検出であればフレーム間差分でも取得出来るかと考えています。

カメラ映像から動く物体の輪郭検出が簡単にできた話

 

ただ静止画も含めた色々な物体を検出するとなると、もう少し工夫が必要になります。

そこで、物体検出方法について以前から試してみたかったSelective Searchという手法を今回試してみたので、その内容を紹介したいと思います。

簡単に試せるので、興味がある方はチャレンジしてみてください。

 

参考にさせて頂いたサイトの紹介

GitHubに紹介されていたソースを使いました。

詳しい説明は以下のサイトを参照ください。

 

環境準備

いつも環境準備で苦労するのですが、今回あっさりできました。

以下のコマンドでselectivesearchをインストールしましょうl

 

mac Python 3.5.2 |Anaconda で開発しています。

 

実行結果

サンプルのソースコードをそのまま使用すると、scikit-imageを使用するように指定されているので、宇宙服を着た女性の画像がいきなり出力されます。

Selective Searchを使った映像からの物体検出にチャレンジ 画像1

今回一番はまったところはこの画像部分ですね。

自分の好きな画像で試すにはどうすれば良いのかわからず、少し調べ回りました。

結局img=の指定を以下のようにすれば、自分で準備した画像を選択できます。

ただ、デジカメで撮った画像なんかだと、サイズがでかくてエラーとなります。

パラメーターの指定で解決するとは思いますが、よくわからなかったので、読み込ませる画像を適当に縮小して使用しました。

 

以下ソースコード(参考元サイトをほぼそのまま流用)と使用した画像の結果です。

Selective Searchを使った映像からの物体検出にチャレンジ 画像2

Selective Searchを使った映像からの物体検出にチャレンジ 画像3

 

なるほどなるほど。

あえて複雑な画像を入力してみましたが、色々な箇所を検出してくれるみたいです。

 

ただし、画像サイズが大きすぎたせいか、結果が出力されるまでに時間がかかりました。

だいたい30秒ぐらいですね。

一般的かどうかわかりませんが、今ままでの経験上、画像認識は画像サイズを縮小して学習モデルを作成することが多いです。

また、認識させたい画像の入力もリサイズ(縮小)して使用することが多いので、さすがに横2000ピクセルは大きすぎるみたいですね。

 

というわけで、横300ピクセルで試してみました。

すると、約1秒で結果が出力されました。

Selective Searchを使った映像からの物体検出にチャレンジ 画像4

結果が出力されるまで、かなり早くなりましたが、物体検出される箇所も変わるようです。

物体検出領域が随分減り、少し雑?になった感じですね。

 

まあ、当然といえば当然の結果なんだと思います。

より詳細により多くの物体を検出したければ、大きいサイズの画像の方が精度が出るのでしょう。

ただ、処理速度を失う感じになるので、そこはマシンパワーとの相談になるかと思います。

 

映像からの物体検出にチャレンジ

さて、事前準備が完了したので、OpenCVとselectivesearchを使って映像からの物体検出にチャレンジしたいと思います。

以下のソースコードで実装しました。

PCからのwebカメラで実装しています。

画像サイズを小さくしているので、処理速度も中々良い感じです。

実際の出力映像を掲載したいのですが、自宅の部屋の中で実施したので割愛します。

 

興味がある方はぜひお試しあれ。

 

この物体検出領域の抽出については、これからも色々と模索していきたいと思います。

 

それではまた。

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
東京大学発AIスタートアップでロボット開発室室長・画像解析室室長・動画解析室室長を務め、画像認識関連のAI特許を在籍中に3件取得。その後、KDDIグループでプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRIST株式会社の執行役員CTO 兼 VPoEとして、農業の人手不足解決に向けた収穫ロボットの開発組織を統括しています。AI・ハード・エレキ・通信・クラウド・IoTまでを一気通貫で設計できる視点を強みに、性能だけでなく「感動やワクワク体験」までデザインできるロボットの研究を進めています。並行して、AI coordinatorとして企業のAI導入・教育機関のAI授業・地域の技術相談を月額契約で継続伴走しています。

LEAVE A REPLY

*
*
* (公開されません)