YOLOP目标检测和可行驶区域识别----学习笔记
最近因为一些项目需要,摸索钻研yolop同时进行目标检测和可行驶区域识别,删掉了车道线检测的相关部分,目标检测的类别有5类(这里有一些class的数值我还没有特别搞清楚),本篇博客为神经网络小白在摸索yolop的过程当中的一些记录,仅供参考,如果有错误的地方,欢迎指正。
数据集用的是bdd100k的数据集,删掉了车道线部分,代码就是GitHub上面华科团队做的yolop的开源代码。
以下是我做的一些修改
1.删除loss.py里面有关车道线的部分,参考以下这篇文章。
使用YOLOP进行目标检测和分割_yolovp-CSDN博客
2.function.py里面车道线相关的代码也注释掉;







3.convert.py里面改成自己的类

4.YOLOP.py里面改网络(上面那篇博客说的很细,这里我不赘述)

5.plot.py 如果需要框出目标的时候显示类别的话,把这部分的注释解掉
其他:
1.关于nc种类的部分暂时不记录,因为我暂时也不是很确定有些种类是目标检测+可行驶区域识别(也就是5+1),或者还是单单的目标检测种类,如果后期做了验证之后,我会补充。
2.刚刚开始用的不是bdd100k的数据集,是bdd+coco的数据集,先把coco的txt转化成了json文件。但是yolop加载数据集的方式是读取了masks路径下的文件,生成了一个masks list,然后再通过这个list去images文件夹和det文件夹下面寻找对应的image和标签(这部分加载数据集的代码在bdd.py),为了加载我的数据集,我改成了读取了images路径下的文件,生成images list再加载其他的标签和masks;bdd.py加载完成之后在AutoDriveDataset.py里面进行一个预处理,因为我有些图像没有masks标签,所以我做了一个判断,

分别对两个数据集进行处理,

最后这样来加载数据集,因为没有label_seg会导致后面计算的时候张量不匹配,所以我加了一个全零的张量,但是这有一个后果就是训练的时候可能会导致NAN或者inf,这个问题我暂时还没有解决(因为后面用了bdd的数据集),如果解决了会同步更新,这部分数据集代码的修改算是给需要用自己的数据集来跑yolop,但是又没有可行驶区域标签的伙伴一个参考。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)