Home

Awesome

DISCONTINUATION OF PROJECT.

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

ros_object_analytics

Object Analytics (OA) is ROS wrapper for realtime object detection, localization and tracking. These packages aim to provide real-time object analyses over RGB-D camera inputs, enabling ROS developer to easily create amazing robotics advanced features, like intelligent collision avoidance and semantic SLAM. It consumes sensor_msgs::PointClould2 data delivered by RGB-D camera, publishing topics on object detection, object tracking, and object localization in 3D camera coordination system.

OA keeps integrating with various "state-of-the-art" algorithms.

compiling dependencies

ROS packages from ros-kinetic-desktop-full

Other ROS packages

NOTE: OA depends on tracking feature from OpenCV (3.3 preferred, 3.2 minimum). The tracking feature is recently provided by ROS Kinetic package "ros-kinetic-opencv3" (where OpenCV 3.3.1 is integrated). However, if you're using an old version of ROS Kinetic (where OpenCV 3.2 is integrated), tracking feature is not provided. In such case you need self-build tracking from opencv_contrib. It is important to keep opencv_contrib (self-built) and opencv (ROS Kinetic provided) in the same OpenCV version that can be checked from "/opt/ros/kinetic/share/opencv3/package.xml"

build and test

cd ${ros_ws} # "ros_ws" is the catkin workspace root directory where this project is placed in
catkin_make
catkin_make run_tests
catkin_make install

extra running dependencies

RGB-D camera

roslaunch realsense_ros_camera rs_rgbd.launch
roslaunch openni_launch openni.launch
roslaunch astra_launch astra.launch

command to launch object_analytics

published topics

object_analytics/rgb (sensor_msgs::Image)

object_analytics/pointcloud (sensor_msgs::PointCloud2)

object_analytics/localization (object_analytics_msgs::ObjectsInBoxes3D)

object_analytics/tracking (object_analytics_msgs::TrackedObjects)

object_analytics/detection (object_msgs::ObjectsInBoxes)

KPI of differnt detection backends

<table> <tr> <td></td> <td>topic</td> <td>fps</td> <td>latency <sup>sec</sup></td> </tr> <tr> <td rowspan='4'>OpenCL Caffe</td> </tr> <tr> <td>localization</td> <td>6.63</td> <td>0.23</td> </tr> <tr> <td>detection</td> <td>8.88</td> <td>0.17</td> </tr> <tr> <td>tracking</td> <td>12.15</td> <td>0.33</td> </tr> <tr> <td rowspan='4'>Movidius NCS</sup></td> </tr> <tr> <td>localization</td> <td>7.44</td> <td>0.21</td> </tr> <tr> <td>detection</td> <td>10.5</td> <td>0.15</td> </tr> <tr> <td>tracking</td> <td>13.85</td> <td>0.24</td> </tr> </table>

visualize tracking and localization results on RViz

Steps to enable visualization on RViz are as following

roslaunch object_analytics_visualization rviz.launch
ROS 2 Object Analytics: https://github.com/intel/ros2_object_analytics
Any security issue should be reported using process at https://01.org/security