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 coordinator株式会社 代表取締役/東京海洋大学 産学官連携研究員。AIロボティクスのスタートアップで執行役員CTO 兼 VPoEとして収穫ロボットの開発組織を統括(2026年7月まで)。画像認識関連のAI特許3件取得・1件出願中。現在はAI・ロボティクス・IoTの現場実装を、月額の技術顧問契約で「現場で動くまで」伴走しています。
会社概要 → www.ai-coordinator.co.jp