2013年4月30日火曜日

ROSで顔認識

OpenCVで顔認識プログラムやろうかと思ったのですが、
ROSにあったので使ってみたいと思います。

http://www.ros.org/wiki/face_detector

インストールは以下でできます。
$ sudo apt-get install ros-groovy-people

一応willowのスタックのようです。

ただしこれは単眼ではなく、ステレオカメラかRGBDカメラ(Kinect / Xtion)が必要です。
3次元位置を出せるみたいです。

今回は私はUSBカメラで顔の画面上の位置だけ出したかったので、
2次元のものを探したら、やっぱりありました。

http://www.ros.org/wiki/pi_face_tracker


これはROS By Exampleを書いている人たちのプロジェクトですね。

ドキュメントもしっかりしているので、これを使ってみます。

インストールはソースからやる必要があるみたいです。
catkin化されてないです。

インストール方法を簡単に書くとuvc_camパッケージのインストール

$ git clone https://github.com/ericperko/uvc_cam.git
$ rosdep install uvc_cam
$ rosmake uvc_cam

pi_vision スタックのインストール
$ svn co http://pi-robot-ros-pkg.googlecode.com/svn/trunk/pi_vision
4 rosdep install pi_vision
$ rosmake pi_vision

ビルドは多分、いろいろ古くてうまく行かないので、以下だけやるといいと思います。

 $ roscd pi_face_tracker
 $ make

基本的にはpythonのコードなのでビルドはいらないです。

で、USBカメラでの実行は以下のコマンドでUSBカメラのノードを上げて、


$ roslaunch ros2opencv uvc_cam.launch




$ roslaunch pi_face_tracker face_tracker_uvc_cam.launch 

でいいみたいです。

データセットのせいか、メガネがあると認識しづらいみたいです。
発見&追従です。



/roi
に sensor_msgs/RegionOfInterest
で座標が出ます。

OTLさん素顔公開です!!

0 件のコメント:

コメントを投稿