ラベル OpenCV の投稿を表示しています。 すべての投稿を表示
ラベル OpenCV の投稿を表示しています。 すべての投稿を表示

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

2011年5月14日土曜日

Ubuntu 11.04 natty narwhalでのopencv2パッケージのmake

11.04にしてからopencv2がmakeできなくて困っていました。

ググったらメーリスが引っかかりました。
http://ros-users.122217.n3.nabble.com/Compiling-ROS-with-Ubuntu-11-04-Natty-td2895944.html


> I solved the issue.
> Inorder to build ROS from source under Natty I just applied this
> modified patch (copied it to the opencv2 folder) and added the line
>
> SVN_PATCH = pythontest.patch v4l_2.6.38.patch
>
> to the Makefile.
>
> The Opencv package now builds with Natty (but i guess not with older
> Ubuntu anymore ;-)
>
> Make sure that libv4l-dev is installed.
>
>
> Cheers,
>
> Markus

ということでファイルは↓にあります。
https://code.ros.org/trac/opencv/raw-attachment/ticket/937/v4l_2.6.38.patch


0) $ sudo apt-get install libv4l-dev

1) roscd opencv2
2) cp v4l_2.6.38.patch .
3)↑のメールのとおり、Makefileを以下のように修正。
SVN_PATCH = pythontest.patch v4l_2.6.38.patch
4) $ make
としたら成功しました。