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

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

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

こんにちは。

AI coordinatorの清水秀樹です。

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

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

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

 

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

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

 

スライドショーの紹介

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

 

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アプリ開発しませんかぁ〜?

 

それではまた。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 1 )

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

LEAVE A REPLY

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