Quantcast
Channel: demura.net
Viewing all articles
Browse latest Browse all 757

ROSとCaffeの連携

$
0
0

ROSでCaffeを使うためにros_caffeパッケージをインストールしたときのメモ。このパッケージはカメラから画像トピックをcaffeで識別して、トピック/caffe_retをパブリッシュする。環境によってcaffeのビルドは苦労するかもしれないが、それ以外はとても簡単。

ウェブサイト

ハードウェア環境

  • CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz (6 core)
  • GPU: NVIDIA GTX 1080Ti
  • Memory: 32GB

ソフトウェア環境

  • Ubuntu16.04
  • ROS Kinetic
  • CUDA8.0

ソースの取得

  • $ cd ~/catkin_ws/src
  • $ git clone --recursive https://github.com/tzutalin/ros_caffe.git
  • $ cd ~/catkin_ws/src/ros_caffe

Caffeのビルド

  • $ cd ~/catkin_ws/src/ros_caffe/caffe
  • $ cp Makefile.config.example Makefile.config
  • Makefile.configに以下を追加する
    • INCLUDE_DIRS += /usr/include/hdf5/serial
    • LIBRARY_DIRS += /usr/lib/x86_64-linux-gnu/hdf5/serial
    • OPENCV_VERSION := 3
    • USE_PKG_CONFIG := 1
  • $ make all; make distribute

ROSパッケージのビルド

  • ~/catkin_src/src/ros_caffe/CMakeLists.txtに以下を追加する。
    • include_directories(/usr/include/hdf5/serial)
  • ~/catkin_ws/src/ros_caffe/src/ros_caffe_test.cppの15行目を使用するカメラのトピック名に変更する。デフォルトはcamera/rgb/image_raw。
    • const std::string RECEIVE_IMG_TOPIC_NAME = “/usb_cam/image_raw”;
  • $ cd catkin_ws
  • $ catkin_make

実行

  • caffenetモデルをダウンロードする
    • $ roscd ros_caffe
    • $ cd data
    • $ sh download_caffe_model.sh
  • 端末を開いて次のコマンドを実行
    • $ roscore
  • もう一つ端末を開いて次のコマンドを実行
    • $ rosrun ros_caffe  ros_caffe_test
  • 実行結果

Test default image under /data/cat.jpg
0.3134 - "n02123045 tabby, tabby cat"
0.2380 - "n02123159 tiger cat"
0.1235 - "n02124075 Egyptian cat"
0.1003 - "n02119022 red fox, Vulpes vulpes"
0.0715 - "n02127052 lynx, catamount"

Webカメラを使った実行

  • $ sudo apt install ros-kinetic-usb-cam
  • 端末を4つ開いて以下のコマンドを実行
      • $ roscore
      • $ rosrun usb_cam usb_cam_node
      • $ rosrun image_view image_view image:=/usb_cam/image_raw
      • rosrun ros_caffe ros_caffe_test

ROSトピック

  • 識別結果 /caffe_ret

以上


Viewing all articles
Browse latest Browse all 757

Trending Articles