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さん素顔公開です!!