【方程式无人赛车FSAC 从0到0.5 (个人资料,侵权请联系)】

2022.10.8
制作数据集

首先在FSACOCO-msater(北理工bitfsd车队提供工具)进行图片标注,制作数据集。在/tools/label tool下创建文件夹 Images(存放采集到的原始图像 根据种类放入新建文件夹下(命名格式为001.002…)) 和 Labels(存放处理后的数据文件 txt格式)。
在label tool 文件夹下 打开终端 执行 python main.py。
(可根据此视频进行学习另一种标记,建议使用该工具——https://www.bilibili.com/video/BV1Jp4y1k7QG/)
2022.10.11
搭建darnkert-ros训练

配置darnket-ros:

 mkdir -p catkin_workspace/src
 
cd catkin_workspace/src
 
git clone --recursive git@github.com:leggedrobotics/darknet_ros.git

通常使用该命令时会报错:

GitLab: The project you were looking for could not be found.
fatal: 无法读取远程仓库。
 
请确认您有正确的访问权限并且仓库存在。

解决:
ssh获取公钥,绑定gitlab。参考:

https://blog.youkuaiyun.com/weixin_42752574/article/details/106367959?ops_request_misc=&request_id=&biz_id=102&utm_term=ssh-keygen -t rsa -C “Title”&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-106367959.142v52pc_rank_34_queryrelevant25,201v3control_1&spm=1018.2226.3001.4187

再尝试git clone --recursive git@github.com:leggedrobotics/darknet_ros.git

即可下载

随后进行usb摄像头调试,很麻烦 很多问题!如果想轻松的话,最好直接使用适配linux的无驱动也就是UVC(USB Video Class 相当与linux下的万能摄像头驱动)。
通过usb_cam进行测试,具体参考大佬

https://blog.youkuaiyun.com/u013453604/article/details/47189513?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166549122616782417044426%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166549122616782417044426&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-47189513-null-null.142v52pc_rank_34_queryrelevant25,201v3control_1&utm_term=%201%3A%20v4l2-ctl%3A%20not%20found&spm=1018.2226.3001.4187
—————————————————————————————————————————https://blog.youkuaiyun.com/KID_yuan/article/details/101272384?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166549001816782428675306%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166549001816782428675306&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~pc_rank_34-2-101272384-null-null.142v52pc_rank_34_queryrelevant25,201v3control_1&utm_term=%5B%20WARN%5D%20%5B1665489986.566518344%5D%3A%20Camera%20calibration%20file%20%2Fhome%2Fliqi%2F.ros%2Fcamera_info%2Fhead_camera.yaml%20not%20found.&spm=1018.2226.3001.4187

遇到的几个问题,首先是摄像头不显示,需要查看摄像头设备

ll /dev/video*

一般来说是video0,如果本机有摄像头的话就是video1,需要在launch文件中更改。其次需要安装v4l2-ctl工具包,其中包含libv4l库,可帮助V4L2应用程序处理不同的视频格式,包括某些特定网络摄像头型号上的格式;其也需要该工具调试usb摄像头。
参考

https://blog.youkuaiyun.com/qq_50808730/article/details/125503978?ops_request_misc=&request_id=&biz_id=102&utm_term=v4l2-ctl 工具包&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-125503978.142v53pc_rank_34_2,201v3control_1&spm=1018.2226.3001.4187

查看摄像头所有参数

 sudo v4l2-ctl -d  /dev/video0 --all
设备参数
Driver Info (not using libv4l2):
	Driver name   : vc032x
	Card type     : USB2.0 Web Camera
	Bus info      : usb-0000:00:1a.7-6
	Driver version: 5.4.203
	Capabilities  : 0x85200001
		Video Capture
		Read/Write
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps   : 0x05200001
		Video Capture
		Read/Write
		Streaming
		Extended Pix Format
Priority: 2
Video input : 0 (vc032x: ok)
Format Video Capture:
	Width/Height      : 640/480
	Pixel Format      : 'JPEG'
	Field             : None
	Bytes per Line    : 640
	Size Image        : 115790
	Colorspace        : JPEG
	Transfer Function : Default (maps to sRGB)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             : 
Streaming Parameters Video Capture:
	Frames per second: invalid (0/0)
	Read buffers     : 2

在这里会看到摄像头的 压缩格式、支持的分辨率、像素格式,颜色空间和支持功能设备名称等等。
随后还可能会出现黑屏、画屏、卡屏等情况。需要根据设备参数 在launch文件中进行修改。上述文章提及到了,还有也容易找到,能不能解决不一定。

同时测试摄像头建议使用camorama 因为使用茄子时,我的摄像头检测不到,可能是我的问题。但目前猜测是没有下载驱动影响,因为我暂时实验的是web-camera ,并不是UVC。
命令行下载软件调用USB摄像头

这里是引用
1)使用应用程序camorama
输入命令:sudo apt-get install camorama
安装完成后,在终端中输入命令:camorama,即可显示出视频信息;
如果指定打开video2,输入命令:
camorama -d /dev/video2
2)使用应用程序茄子(cheese)
输入命令:sudo apt-get install cheese
装好后,用命令:cheese,即可打开。如果指定打开video1,输入命令:cheese -d /dev/video1

2022.11.14
搭建darkner-ros训练

将近一个月耽误了,没进行研究,下面重新整理了一下。

目前情况是准备将项目中各模块进行单独实验,比如上诉的darknet-ros进行锥筒的检测。
近期购买了一个摄像头【适配linux的无驱动也就是UVC】,通过usb_cam进行实验,可以显示,新购买的usb摄像头并没出现问题。随后进行darknet实验。
下面进行整理:
上述已经下载好了darknet_ros和usb_cam,下载后建议进行测试:

测试
下载后,在工作空间执行

catkin_make -DCMAKE_BUILD_TYPE=Release

该命令会对整个项目进行编译,此过程中将会检测项目中是否已经下载了yolov2-tiny.weights和yolov3.weights两个模型文件,默认是不下载的,可以下载号好复制到 {自己的工作空间}/darknet_ros/darknet_ros/yolo_network_config/weights 文件夹下。

在这里插入图片描述编译后进行测试,此处需要调用usb摄像头。
首先执行roslaunch usb_cam usb_cam-test.launch 启动摄像头
在这里插入图片描述

通过rostopic 查看发布话题名称 在这里插入图片描述
当然,图像上已经显示了usb_cam发布的话题名称,我们需要让darknet_ros订阅该话题。
我们在****/src/darknet_ros/darknet_ros/config/ros.yaml 中 将camera_reading: 的topic 更改为 /usb_cam/image_raw

在这里插入图片描述
返回你的工作空间 进行测试:roslaunch darknet_ros darknet_ros.launch
在这里插入图片描述
执行效果如下
在这里插入图片描述在这里可以看到识别的图像、终端中显示的类别与概率。上面还有FPS,正常cpu跑的话fps只有0.1,通过FPU加速会提高。(但是我这工作室的古董,实在是应该淘汰了 qaq。。。。。)

这里还要提到,如何更换检测权重(模型),和使用GPU。
更换权重:
在这里插入图片描述
在darknet_ros.launch 中更改,如:

arg name="network_param_file"         default="$(find darknet_ros)/config/yolov2-tiny.yaml"/
 改为
arg name="network_param_file"         default="$(find darknet_ros)/config/yolov3.yaml"/

如何使用gpu、cuda、cudnn可以参考该文章,主要更改darknet_ros文件里面的Makefile编译文件,很详细:

https://blog.youkuaiyun.com/weixin_42458522/article/details/120205982?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166832034716800182163670%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166832034716800182163670&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-120205982-null-null.142^v63^control,201^v3^control_1,213^v2^t3_esquery_v3&utm_term=yolov3_ros%20fps&spm=1018.2226.3001.4187

重点说:

首先 cuda、cudnn一定要安装适配版本的,多去网上查一查,并不是越高越好。就显卡驱动而言,本机推荐470,cuda推荐11.x,但是我显卡的算力只有3,这导致了我出现了很多错误,现在解决了,没截图。。。。。。。

大概就是,根据显卡算力去选cuda,根据cuda下载cudnn。据说驱动版本越新越好,都是向下兼容的。新的驱动仍然支持旧的cuda,但旧的驱动就无法支持新版本的cuda,但是我不确定我出现的问题是不是驱动影响,以防万一,还是更换了。

本机3算力,驱动最开始用的470,这个不知道影响不影响,但是以防万一,我换成了390,只是为了更换cuda8.0的版本。为什么?还是那句话,我的算力只有3。正常cuda也是向下兼容的,但是我的太下了!!!!!cuda10.x支持3.7,5.0,6.0,7.0算力,不支持,所以只能根还cuda8.0,再者选择cudnn6.0(适配cuda8.0)。
cuda8.0及cudnn6.0 参考:

https://blog.youkuaiyun.com/weixin_42125799/article/details/88171510?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-88171510-blog-79660547.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-88171510-blog-79660547.pc_relevant_default&utm_relevant_index=9

这里面更换驱动也有很多坑,黑屏,无法开机之类的,多数是驱动不适配,直接命令行卸载再重新安装就好。自行查找吧。

训练自己的数据集:
直接参考:

https://www.cnblogs.com/answerThe/p/11481564.html

很详细,但是要根据自己的情况进行更改。然后目前我这个还不知道为什么 无法使用GPU进行训练,按要求弄得,用不了。。。

11.15 更改,解决上述问题

为什么使用不了GPU?因为你makefile文件没修改完全,上述参考改了三个部分,但是还有一点需要修改:

在这里插入图片描述
在这里插入图片描述
提醒需要注意的是,与cuda相关的 都改为自身路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡琦110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值