AI coordinator

人工知能 & ロボティクス

© AI coordinator All rights reserved.

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

SSD_KerasをPepperにも

以前紹介したSSD_Kerasによる物体検出を、いつかPepperにも搭載できたら良いなぁなんて思っていました。

そしてこの度、アトリエ秋葉原に通い続けたことで何度も実装に苦戦しながらもついに実装することができたので、その内容をソースコードと合わせて紹介したいと思います。

 

物体検出ができるロボットの未来

ロボットが物体を検出できるようになれば、その情報から次のアクションが起こせるようになります。

  1. 人を見つけたら声をかける
  2. 物体を発見したら連絡する
  3. 特定の状況下になったら、写真を撮影して送信する
  4. 特定の人物にお声がけする
  5. 物体や人の数を数える
  6. etc・・・

特にPepperのようなロボットであれば、手軽に様々なことにチャレンジできるようになります。

というかできることなんて無限にあります。

 

人間も目から大量の情報を取得し行動を起こしています。

これがロボットでもできるようになれば、ロボティクスの分野は今後も大きく飛躍していくのではないかと筆者は考えているわけです。

 

相手を記憶して声をかけるといった人としての最低限の挨拶が、いままでのロボットでは容易にできませんでした。

これがDeepLearningの発展のおかげで特定の人物を認識できるようになったわけです。

(もちろん発展途上ですし、まだまだ課題はありますが・・・)

 

これまでのロボットには、人はロボットに対して特に感情を持つことなんてほとんど無かったのではないかと思います。

でも、

「お久しぶりです。XXXさん」

なんていきなり声をかけられたら、少し嬉しいですよね。

そして、そんな風に声をかけられた人にとってそのロボットは、きっとただのロボットではなくなるのではないかと思います。

 

ほんのすこしでもロボットに対して感情が生まれれば、ロボットはひろく受け入れられる存在になっていくのではないかと思っています。

 

・・・・

 

さて、前置きはこれくらいにして、実装方法を簡単に紹介していきたい思います。

 

開発環境

MacBook Pro(13-inch,2016)

プロセッサ 2.9 GHz intel Core i5

ubuntu 16.4 LTS

python 2.7.12

tensorflow-1.0.0

keras 1.2.2

OpenCV 3.2.0

pynaoqi-python2.7-2.5.5.5-linux64

Pepper実機

 

今回はubuntuで開発しています。

ubuntuの方がOpenCVのインストール慣れていたからです。

というかOSXだとうまくインストールできなかったからです。。。誰か教えて。

anacondaが使えれば楽勝なのですが、Pepper用python SDKがanacondaではなぜかエラーになってしまうためanacondaが使えません。

というわけでubuntuを使用しました。

 

あと言うまでもないかもしれませんが、バーチャルペッパーでは確認できません。

実機が必要になりますので、実機を持っていない方はアトリエ秋葉原に行くか、地方の方は近くのアトリエサテライトを探してみてください。

 

Pepperのカメラ画像をPCに表示できるようにする

最初の難関はこれになります。

紹介されているサイトも筆者の知る限りでは2つしかありませんでした。

 

これができないと話になりません。

なぜならSSD_KerasはPC上で実行するからです。

つまりカメラ映像をPCに映し出せないと先に進まないわけですね。

 

Pepperのカメラ映像をリアルタイムにPCに表示するやり方については、以下の記事を参考にしてください。

Pepperのカメラ映像からリアルタイムで物体検出する方法

 

学習モデルの準備

これが一番大変です。

今回はSSD_Kerasで既に公開されている学習モデルをそのまま使用しました。

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

 

もし上戸彩さんがPepperの前にいれば、以前作成した美人女優を検出できる学習モデルを使用したのですが・・・

物体検出用SSD_Kerasで使える学習モデルの作成方法

 

ソースコード

ツギハギでソースコードを作成しています。

不要なコードも残っていると思います。

ソースコードを綺麗にしていないので読み難くてもご容赦ください。

SSD_Kerasのソースコードを参考にしています。

 

クラス名や学習モデルを指定すれば、上記ソースコードそのままで動くはずです。

無事に目標物が検出されれば、ひとまず成功です。

 

今後のPepperの可能性について

冒頭でも述べた通り、筆者としてはPepperが物体検出をできるようになったことで、次のアクションを容易に選択できるようになったと考えています。

そのため、検出した物体に合わせた次のアクションに繋げることができることで、アプリ作成の幅が大きく広がりを見せた気がします。

筆者も次のアクションを起こせるPepperを開発していきたいと思います。

 

興味がある方はぜひチャレンジして、色々なアプリケーションに組み込んでみてください。

 

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

 


その他のPepperアプリ記事はこちらから

 

それではまた。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

20176/21

カメラ映像からの物体検出

PC内蔵カメラから自分の顔の物体検出をやってみる ほとんど筆者の備忘録的な内容になります。 色々な映像や画像からの物体検出をチャレン…

20178/15

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

学習モデルの可視化と学習の様子を可視化してみた 何を今更といった内容の記事です。 DeepLearningにチャレンジしてきた筆者で…

20175/22

アトリエ秋葉原リニューアルオープン

アトリエ秋葉原がリニューアルオープン 2017年5月20日にアトリエ秋葉原の改装工事が終了し、リニューアルオープンイベントが開催されました…

Watsonと連携したPepper:Speech to Textで音声認識精度を上げてみよう

Watson Speech to Text & pepper Pepper単体でも音声認識機能は持っていますが、如何せん認識精度が悪いのは…

Watosn Speech to Text をPythonで使ってみよう

Watson APIのSpeech to TextをPythonで実装してみましょう WatsonのSpeech to textを使用する…

20175/7

綺麗にAnacondaをアンイストールする方法 For macOS

Anacondaのアンインストールメモ macOSにインストールしたAnacondaのアンインストールに手こずったので、忘れないようにする…

20177/25

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

OpenCVを使って動く物体の輪郭検出をやってみた 今更ながらにOpenCVの凄さを実感しました。 まさか物体の輪郭検出までできると…

ディープラーニングで美人女優の顔検出に挑戦

美人女優で学習モデルを作成 以前紹介したcifar10を使った学習モデルのモノマネで、自分で準備した画像から学習モデルを作成することに挑戦…

20172/23

天気APIを使用したPepperサンプルプロジェクトの紹介

Pepperで天気APIを使用してみた Pepper入門用として、天気APIを使用したPepperアプリを作成しました。 興…

Deep Learningを活用したChatBotをKerasで実装してみよう

Deep Learningを活用したChatBot Kerasを使ったChatBotの作成に挑戦したので、環境準備も含めて紹介します。 …

ページ上部へ戻る