1.yolov5训练数据集
首先下载yolov5代码包,使用pycharm环境。
1.1train.py文件
–weights:指定预训练模型的权重文件路径,例如 --weights weights/yolov5s.pt。
–cfg:指定模型的配置文件路径,例如 --cfg models/yolov5s.yaml。
–data:指定训练数据集路径,例如 --data coco.yaml。
–epochs:指定训练的 epoch 数,例如 --epochs 300。
–batch-size:指定每个 batch 的大小,例如 --batch-size 16。
–img-size:指定输入图片的大小,例如 --img-size 640 表示输入图片的大小为 640x640。
–rect :指定在训练过程中是否进行图像矫正,例如 --rect 表示进行图像矫正。
–resume:指定是否从之前的训练中断处继续训练,例如 --resume 表示从中断处继续训练。
–nosave 不保存模型 默认False(保存)。
–noautoanchor 不自动调整anchor, 默认False, 自动调整anchor。
–evolve:指定是否进行超参数优化,例如 --evolve 表示进行超参数优化。
–name:指定保存模型的名称,例如 --name my_model 表示保存模型为 my_model.pt。
–workers:指定用于加载数据的进程数,例如 --workers 8 表示使用 8 个进程来加载数据。
通过修改文件地址,上传训练集和测试集,使用180组作为训练集,20组作为测试集进行训练。
1.2labelimg
给的图片都是未标注图片,因此要自行进行标注吗,使用labelimg进行标注。
标注过程如图。
1.3训练
标注完成后即可进行训练,训练完成后用10组图片进行验证,识别效果较好。
1.4问题记录
1.4.1Yolov5 训练时卡在 Transferred 348/349 items from weights/yolov5s.pt 处很长时间
修改im即可,无需checkonline。
im = f if f.exists() else 'https://ultralytics.com/images/bus.jpg' if False else np.ones((640, 640, 3))
1.4.2YOLOV5训练过程中出现报错:module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘
降低Pillow的版本,使用10.0.0以下的版本,比如9.3.0,先卸载,再重新安装:
pip uninstall -y Pillow
pip install Pillow==9.3.0
2.rosbag录制回放
2.1录制
首先输入
recore
在另一终端中打开小乌龟运动程序
rosrun turtlesim turtlesim_node
然后,在另一个终端中启用键盘控制
rosrun turtlesim turtle_teleop_key
创建一个bag文件并进入
mkdir ~/bagfiles
cd ~/bagfiles
开始录制(创建名为run的录制文件且录制所有topic)
rosbag record -O run -a
按下Ctrl+C结束录制
再输入ls查看当前文件夹下的录制文件
ls
2.2回放
rosbag play run.bag
再重新打开小乌龟移动程序即可得到一样的轨迹。