Cozmo&AI作业
学习下面链接内容,将其实现并应用到Cozmo或mrobot机器人中。
参考链接:
1. ros_caffe:github.com/tzutalin/ros_caffe
2. Tensorflow_in_ROS:github.com/shunchan0677/Tensorflow_in_ROS
3. cozmo-tensorflow:github.com/whatrocks/cozmo-tensorflow
ros_people_object_detection_tensorflow
github.com/cagbal/ros_people_object_detection_tensorflow
广泛使用的ROS工具箱,用于物体检测和跟踪以及面部/动作识别,具有2D和3D支持,使机器人了解周围的环境。
技术
此repo使用许多开源项目来正常工作:
- [Tensorflow]
- [Tensorflow-Object Detection API]
- [Tensorflow Hub]
- [ROS]
- [numpy的]
- [face_recognition] https://github.com/ageitgey/face_recognition
- [DLIB]
- [cob_perception_common] https://github.com/ipa-rmb/cob_perception_common.git
- [protobuf的]
对于Tracker部分:
- scikit学习
- scikit图像
- FilterPy
安装
首先,应在您的系统上安装tensorflow。
然后,
-
$ cd && mkdir -p catkin_ws/src && cd ..
-
$ catkin_make && cd src
-
$ git clone --recursive https://github.com/cagbal/
-
ple_object_detection_tensorflow.git
-
$ git clone https://github.com/cagbal/cob_perception_common.git
-
$ cd cob_people_object_detection_tensorflow/src
-
$ protoc object_detection/protos/*.proto --python_out=.
-
$ cd ~/catkin_ws
-
$ rosdep install --from-path src/ -y -i
-
$ catkin_make
-
$ pip install face_recognition
repo包含最快的基于mobilenet的方法,因此您可以跳过以下步骤。
然后,从 Models Zoo中安装tensorflow对象检测模型。
并将这些模型放入src / object_detection /,最后设置launch / cob_people_object_detection_tensoflow_params.yaml的model_name参数
运行
在ROS中打开相机驱动程序,并在启动目录下的yaml配置文件中设置输入RGB主题名称。默认值为openni2。
用于运行一切,(这将适用于2D和3D)
$ roslaunch cob_people_object_detection_tensorflow alltogether.launch
上面的代码将启动所有内容。它非常适合从这个回购开始。但是,如果您需要一些灵活性,则需要逐个启动每个节点。如下:
对于物体检测:
$ roslaunch cob_people_object_detection_tensorflow cob_people_object_detection_tensorflow.launch
然后,它开始为每个检测到的对象分配ID,并将结果发布到/ object_tracker / tracks。请注意,检测到的跟踪对象编号可能不同。
如果您还想运行跟踪器,
$ roslaunch cob_people_object_detection_tensorflow cob_people_object_tracker.launch
如果您还想运行face_recognition,
将人脸图像放入人员文件夹并启动:
$ roslaunch cob_people_object_detection_tensorflow cob_face_recognizer.launch
如果你还想运行深度探测器,
$ roslaunch cob_people_object_detection_tensorflow projection.launch
并设置detections.pose.pose.position.x / y / z并将其设为pusblishes。
如果您还想运行动作识别,
$ roslaunch cob_people_object_detection_tensorflow action_recognition.launch
然后,您将看到/ action_recognition / action_predictions上发布的概率
Subscibes:订阅
- 到* params.yaml文件中设置的任何RGB图像主题。
Publishes:发布
- / object_detection / detection(cob_perception_msgs / DetectionArray)包括所有具有概率,标签和边界框的检测
- / object_detection / detections_image(sensor_msgs / Image)带有边界框的图像
- / object_tracker / tracks(cob_perception_msgs / DetectionArray)仅包含跟踪对象及其边界框,标签。这里,ID是跟踪器分配的检测ID。示例:DetectionArray.detections [0] .id
- / face_recognizer / faces(cob_perception_msgs / DetectionArray)带有面部和人物边界框的面部标签
- / action_recognition / action_predictions(cob_perception_msgs / ActionRecognitionmsg)使用Kinetics 600数据集标签的动作识别概率
性能
我的计算机(Intel(R)Core(TM)i7-6820HK CPU @ 2.70GHz)的最后五次检测时间为几秒钟:
- 0.105810880661
- 0.108750104904
- 0.112195014954
- 0.115020036697
- 0.108013153076
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/85077253
- 点赞
- 收藏
- 关注作者
评论(0)