YOLO v2の物体検出とVGG16の画像認識との組み合わせが凄すぎた!

YOLO v2の物体検出とVGG16の画像認識との組み合わせが凄すぎた!

YOLO v2にVGG16を組み合わせて使用してみよう

こんにちは。

AI coordinatorの清水秀樹です。

ある日、閃きました。

YOLO v2の物体検出の精度に、VGG16の画像認識を組み合わせて使用してみたら最強の物体検出ツールが出来上がるのではないかと・・・。

80クラスのクラス分けができるYOLO v2に対し、VGG16は1000種類もの画像認識が可能となっているので、これらを組み合わせれば、より詳細なクラス名を表示できる物体検出機能になると単純に思った訳です。

そんな訳で、早速試してみました。

 

下記動画ではわかりにくいのですが、クラス表示は上段にYOLO v2のクラス名を表示し、下段にVGG16のクラス名を表示しています。

 

開発環境

macOS Sierra

Anaconda3-4.2.0-MacOSX-x86_64

python 3.5.2

opencv3 3.1.0

tensorflow 1.0.0

 

YOLO v2のセットアップ方法については以下の記事を参考にしてください。

YOLOv2のリアルタイム物体検出をTensorFlowとPythonで実装する方法

 

組み合わせの仕組み

組み合わせの仕組みは簡単です。

まずはYOLO v2で物体検出をしてもらいます。

その後、物体検出した画像を切り出し、その画像をVGG16の学習モデルにぶつけてみるだけです。

これにより、より詳細なクラス名を表示できる物体検出ツールが出来上がる仕組みです。

 

考えてもみれば、使用する学習モデルをたった一つにする必要はないので、複数の学習モデルを組み合わせて使用することで、より詳細な物体検出ができるようになります。

 

ソースコード

とりあえずサクッと作ってみました。

つい数ヶ月前の筆者のレベルからでは考えられません。

興味があればプログラミングもなんとかできるようになりますね。

 

今回はテスト検証なので、確信度が低くてもラベルを表示するようにしています。

この辺りはお好みですね。

 

割と簡単に実装できますので、興味がある方はぜひチャレンジしみてください。

 

また、これからDeep Learningの勉強をするなら、こちらで紹介する書籍も参考になりますので一読してみることをオススメします。

 それではまた。

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

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

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

About The Author

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

LEAVE A REPLY

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