27
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RealSense D400シリーズとROSを使った三次元顔検出

Last updated at Posted at 2018-02-18

#TL;DR

  • RealSense SDKでの顔検出とかの提供をインテルがやめてしまった[1]。
  • しかし、インテルが提供しているROSラッパーを使えば、ラッパー経由で何個かROSの顔検出パッケージが使えるっぽい。
  • そこで、今回はROSラッパーを使った顔検出ROSパッケージの使い方を説明する。

はじめに

本記事は先日書いた3D Face Detection with RealSense D400 series and ROSを和訳しただけのものになります。
ただ、その記事を書いていた頃から状況が変わったため、インストール手順が若干楽になるように修正しました。

必要なもの

  • インテル製CPU (x86) とUSB 3.0以上が載っているパソコン
  • パソコンのOSは、Ubuntu 16.04 (LTS)。 (VMは非推奨)
  • RealSense D415 か D435

インストール方法

  1. 以下のROSのホームページを読みつつ、ROS Kinetic (LTS)をダウンロードする。個人的にはdesktop-fullがおすすめ。

  2. 以下のインテルのgithubを読みつつ、aptでRealSense SDK(バージョン2.8.1)をインストールする。

sudo apt install librealsense2-udev-rules=2.8.1-0~realsense0.41
sudo apt install librealsense2-dkms=1.3.1-0ubuntu3
sudo apt install librealsense2=2.8.1-0~realsense0.41
sudo apt install librealsense2-utils=2.8.1-0~realsense0.41
sudo apt install librealsense2-dev=2.8.1-0~realsense0.41
sudo apt install librealsense2-dbg=2.8.1-0~realsense0.41
  1. 以下のインテルのgithubを読みつつ、ROS Wrapper 2.0 for Intel RealSense Devices (build 2.0.1)をダウンロードする。

  2. 以下のインテルのgithubを読みつつ、ROS Wrapperをインストールする。

  3. ロボット界のパロアルト研究所と呼ばれるらしいWillow Garageが作った顔検出のROSパッケージをダウンロードする。

  4. 以下のコマンドをbashに打ち込むことでROSパッケージをインストールする。

cd ~/Downloads
unzip people-1.0.11
cp -r people-1.0.11 ~/catkin_ws/src/
cd ~/catkin_ws/

#Navigation package was required by people package.
sudo apt-get install ros-kinetic-navigation

catkin_make

使い方

  • RealSenseカメラノードを立ち上げるために、端末を開いて以下のコマンドを打つ。
roslaunch realsense_ros_camera rs_camera.launch
  • 顔検出ノードを立ち上げるために、別の端末を開いて以下のコマンドを打つ。
roslaunch face_detector face_detector.rgbd.launch \
 rgb_ns:=color image_topic:=image_raw \
 depth_ns:=depth depth_topic:=image_raw
  • ロボット用可視化ツールrvizを立ち上げるために、さらに別の端末を開いて以下のコマンドを打つ。
rosrun rviz rviz
  • すると、以下のようなrvizウィンドウが立ち上がる。
    Screenshot from 2018-02-12 22-17-46.png

  • rviz内の世界座標系を固定するために、"Fixed Frame"の横にあるコンボボックスの中から"camera_link"を選択する。
    cameralink.png

  • 顔の位置を表示するために、"Add"ボタンを押して、"/face_detector/faces_cloud/PointCloud"を追加する。
    addpointcloud.png

  • 【任意】 顔の位置を見やすくするために、まず、"PointCloud"の横にある三角形をクリックします。その後、"Style"の"Flat Squares"をSpheres"に変えます。最後に"Size(m)"を"0.01"から"0.2"に変える。
    showpc.png

結果

rvizウィンドウの中に赤い点で顔の座標が三次元として表示されます。
face.png

また、顔検出ノードを起動している端末には以下のような検出結果が表示されているはずです。

[ INFO] [s.s]: Detection duration = 0.0598671sec
[ INFO] [s.s]: Found face to match with id 0
[ INFO] [s.s]: Number of faces found: 1, number with good depth and size: 1

まとめ

以上で、ROSパッケージを使った顔検出ができるようになりました。
他にもいろいろなROSパッケージを試してみてください。

参考文献

[1] https://software.intel.com/en-us/realsense-sdk-windows-eol
[2] http://wiki.ros.org/face_detector

27
23
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?