前言
本来想直接用百度智能车比赛的数据集训练,但是发现在ROS中搭建红绿灯模型和提供的数据集在颜色亮度外形上都有点差别… …无奈从创建数据集开始。
第一节:
基于paddledetection在ROS中搭建红绿灯检测控制车模运动(1)—— 环境搭建准备以及软件安装
第二节:
基于paddledetection在ROS中搭建红绿灯检测控制车模运动(2)—— 数据集制作以及训练
第三节:
基于paddledetection在ROS中搭建红绿灯检测控制车模运动(3)—— 使用训练结果在ros中仿真红绿灯控制小车运动
项目地址
训练部分aistudio地址:传动门
racecar仿真软件下载地址:传送门
本地项目下载地址:传送门
效果演示
linux下数据集标注工具安装教程
git clone https://github.com/Ruolingdeng/labelImg.git
cd labelImg
sudo apt-get install pyqt4-dev-tools
sudo pip install lxml
make qt4py2
python labelImg.py
windows下:windows下安装教程
常用快捷键:
- d:下一张图
- a:上一张图
- w:绘制矩形框
- ctrl + s:保存
如下操作打开图片目录开始标注:
下载仿真软件
mkdir -p ~/racecar_ws/src cd ~/racecar_ws/src catkin_init_workspace git clone https://github.com/xmy0916/racecar.git cd .. catkin_make echo "source ~/racecar_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
在pycharm安装paddle
首先安装一下模块(最好按顺序安装):
common、dual、tight 、data、prox、paddlepaddle、paddlehub、paddle
直接在:
file -> settings -> Project:project_name -> Project Interpreter -> +号
搜索这几个名字然后点击Install Package即可:
在pycharm中安装ROS
这个因为我是几个月之前装的了,过程也不记得了,大家可以网上找找参考:传送门
使用python3编译cv_bridge
这一步是必须的,cv_bridge是ROS库中用来将深度相机传感器图片数据类型转换成opencv的mat数据类型,不试用的话就没法处理图像了。然后ROS库中的cv_bridge编译用的是python2,生成的.so文件有一些不支持。而飞浆用的python是python3,所以需要用python3编译cv_bridge。
这里参考国外wiki上的回答:传送门
- 首先修改cv.so文件(不改会因为ros中有个cv2.so系统环境一个cv2.so导致报错导入cv2错误)下面把ros环境中的cv2.so换个名字就行了:
cd /opt/ros/kinetic/lib/python2.7/dist-packages/ sudo mv cv2.so cv2_ros.so
- 安装一些库
sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-kinetic-cv-bridge
- 创建工作区间(用来编译cv_bridge)
mkdir catkin_workspace
cd catkin_workspace
catkin init
- 配置
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3.5 -DPYTHON_INCLUDE_DIR=/usr/include/python3.5m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so
这一步比较重要,大家检查下对应路径下是否有python3.5,python3.5m,x86_64-linux-gnu/libpython3.5m.so,如果版本不一样需要修改版本号。
- 安装配置
catkin config --install
- 下载cv_bridge源码
git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv
- 查看版本
apt-cache show ros-kinetic-cv-bridge | grep Version
- 确认git谷仓的版本正确
git checkout 1.12.8
- 编译
cd ../../
catkin build cv_bridge
source install/setup.bash --extend
如果没有出现error字眼就成功了!
编译完成后在catkin_workspace文件夹下会有cv_bridge编译的输出文件:
这时候还需要做件事,把ROS中原本python2编译的cv_bridge删了或者改个名字,这样就不会链接到python2编译的cv_bridge了,这里最好是改个名字,往后万一要用还能改回来。
cd /opt/ros/kinetic/lib/
sudo mv cv_bridge cv_bridge2