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

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

アトリエ秋葉原で勉強会を開催

こんにちは。

AI coordinatorの清水秀樹です。

アトリエ秋葉原で勉強会の講師を努めさせて頂きました。

独学でDeepLearningを学んで「Tensorflow x Pepper」でアプリを作っている話【勉強会】

R-CNNを使った物体検出をPepperで試してみたという内容です。

 

その時に使用したスライドとソースコードをまとめて紹介します。

参考にして頂けたらと思います。

 

スライドショーの紹介

keynoteでの作成は今回初めてでした。

R-CNNを「Tensorflow x Pepper」で実装する方法 画像1
R-CNNを「Tensorflow x Pepper」で実装する方法 画像2
R-CNNを「Tensorflow x Pepper」で実装する方法 画像3
R-CNNを「Tensorflow x Pepper」で実装する方法 画像4
R-CNNを「Tensorflow x Pepper」で実装する方法 画像5
R-CNNを「Tensorflow x Pepper」で実装する方法 画像6
R-CNNを「Tensorflow x Pepper」で実装する方法 画像7
R-CNNを「Tensorflow x Pepper」で実装する方法 画像8
R-CNNを「Tensorflow x Pepper」で実装する方法 画像9
R-CNNを「Tensorflow x Pepper」で実装する方法 画像10
R-CNNを「Tensorflow x Pepper」で実装する方法 画像11
R-CNNを「Tensorflow x Pepper」で実装する方法 画像12
R-CNNを「Tensorflow x Pepper」で実装する方法 画像13
R-CNNを「Tensorflow x Pepper」で実装する方法 画像14
R-CNNを「Tensorflow x Pepper」で実装する方法 画像15
R-CNNを「Tensorflow x Pepper」で実装する方法 画像16
R-CNNを「Tensorflow x Pepper」で実装する方法 画像17
R-CNNを「Tensorflow x Pepper」で実装する方法 画像18
R-CNNを「Tensorflow x Pepper」で実装する方法 画像19
R-CNNを「Tensorflow x Pepper」で実装する方法 画像20
R-CNNを「Tensorflow x Pepper」で実装する方法 画像21
R-CNNを「Tensorflow x Pepper」で実装する方法 画像22
R-CNNを「Tensorflow x Pepper」で実装する方法 画像23

 

R-CNN:物体検出入門編

いきなりペッパーから始めるのはハードルが高いので、まずは自宅のPCで物体検出にチャレンジしてみましょう。

以下の記事で、物体検出をローカル環境で実装する方法を紹介しています。

映像からの物体検出(SSD_Keras)に挑戦 for ubuntu

映像物体検出(SSD_Keras)を簡単に実装する方法 for maxOS

ubuntu用とmac用それぞれで試せます。

macの方が準備は簡単です。

ただ、anacondaではPepper SDKが使えないので、そこを知った上で試してみてください。

 

デモで使用したソースコードの紹介

開発環境はスライドで紹介していますので、ここでは省略します。

 

公開済み学習モデルでR-CNNを実装したペッパーサンプル

DeepLearningを活用した物体検出(SSD_Keras)を可能とするPepper

こちらの記事で紹介した内容を、そのままデモで使用しています。

物体検出の精度がとても高いので、初めはこれからチャレンジして感覚を掴んでもらった方が良いかと思います。

 

R-CNNを使った美人女優を検出できるペッパーのソースコード

学習モデルの作成方法は、

Tensorflowで映像からの美人女優顔検出学習モデルの見直し」の記事を参考にしてください。

 

R-CNNを実装するにはOpenCVのカスケードファイルが必要になりますので、

簡単にできるOpenCVを使った顔検出」の記事も合わせてご確認ください。

 

Slackに画像をアップロードする方法は、

監視カメラで撮影した画像を自動でSlackにアップロードする方法」が参考になるかと思います。

 

そして以下のソースコードがPepperでR-CNNを実装した時のソースコードになります。

 

SlackからのPepper操作

SlackからPepperを操作した時のソースコードは、

SlackからPepperを発話させる超簡単な方法」の記事を参考にしてください。

 

実際の発表では、SlackからPepperのモーションを使うことで、左右にPepperを動かしてみました。

その時のソースコードも紹介しておきます。

 

類義語を出力するword2vec

wikipediaを学習した類義語を話すSlackbotの作成方法

類義語を話すPepperを作ってみることもできます。

 

物体検出する方法の考察

今回は物体を検出する方法にOpecCVのカスケードファイルを使用しました。

そこで抽出した画像と学習モデルをぶつけてR-CNNを実装しています。

物体を検出する方法の一つとして、

カメラ映像から動く物体の輪郭検出が簡単にできた話」の記事で紹介した内容をデモで実施させて頂きました。

R-CNNの難しいところは、物体らしき領域をどうやって抽出してくるか?

これがうまくできるようになると、物体検出の精度も大幅に上がってくるかと思います。

 

Cifar10の紹介

DeepLearningを手っ取り早く始められる画像データセットを紹介させて頂きました。

DeepLearningのモデル可視化方法とmatplotlibで学習の様子を可視化する方法

簡単に学習モデルの作成が試せるのでおすすめです。

 

最後に

誰か一緒にビジネス関係なくPepperアプリ開発しませんかぁ〜?

 

それではまた。

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

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

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

About The Author

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

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 1 )

コメントはまだありません。

LEAVE A REPLY

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