yolov5-face
yolov5-face copied to clipboard
关于在自定义数据集上训练的一些问题?
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
那你用4个关键点就行,人脸用到了5个,你去掉一个就可以了,改动很小
那你用4个关键点就行,人脸用到了5个,你去掉一个就可以了,改动很小
好的大佬,但是我这里的坐标是归一化过后的,然后数据集组织格式就像这样吗:
widerface/
train/
images/
label.txt
val/
images/
label.txt
test/
images/
label.txt
望大佬解惑,打扰了不好意思
那你用4个关键点就行,人脸用到了5个,你去掉一个就可以了,改动很小
好的大佬,但是我这里的坐标是归一化过后的,然后数据集组织格式就像这样吗:
widerface/ train/ images/ label.txt val/ images/ label.txt test/ images/ label.txt 望大佬解惑,打扰了不好意思
大佬,就是我看到源码里有retinaface2yolo.py和train2yolo.py,是用哪个来转化labels呢?
大佬,能够加个微信交流吗,现在我主要是数据集组织的问题,我看了您的代码,大概知道了您是通过retinaface2yolo.py和val2yolo.py这两个脚本来实现wider face数据集格式到yolo格式的转化,但我现在的数据集格式已经是yolo的格式了,然后应该就不需要执行这两个脚本了吧,然后我只需要在yolo.py,facedatasets.py以及loss.y中去除第五个landmark就行了吗?求大佬不吝赐教
@derronqi 大佬,我尝试用widerface数据集来运行你的train2yolo.py和val2yolo.py,train2yolo.py可以正常运行,但是val2yolo.py运行却一直报这个错:
另外这是我的val路径:
我觉得应该没有问题,为什么一直有这个错呢,我现在就是运行这两个脚本后来看一下转化为yolo格式后的数据集格式是怎样的,对于训练集应该和我之前的差不多,前4个是bbox的xywh,后面10个是关键点的坐标,均是归一化后的,就是验证集的这个由于脚本没运行成功,不知道验证集的标签是怎么回事,不过我看您的代码里好像是只有bbox的xywh,后面10个都是-1,这是为什么呢?
@derronqi 大佬,我尝试用widerface数据集来运行你的train2yolo.py和val2yolo.py,train2yolo.py可以正常运行,但是val2yolo.py运行却一直报这个错:
另外这是我的val路径:
我觉得应该没有问题,为什么一直有这个错呢,我现在就是运行这两个脚本后来看一下转化为yolo格式后的数据集格式是怎样的,对于训练集应该和我之前的差不多,前4个是bbox的xywh,后面10个是关键点的坐标,均是归一化后的,就是验证集的这个由于脚本没运行成功,不知道验证集的标签是怎么回事,不过我看您的代码里好像是只有bbox的xywh,后面10个都是-1,这是为什么呢?
@derronqi 大佬,我已经解决了,是因为我val下的images文件里放的事图片文件夹而不是图片文件,我直接将所有图片放到va/images下就行了,不过正如我所猜测的那样,val2yolo.py生成的标签文件中只有前4个bbox的xywh,而后面10个关键点的坐标全是-1,这是为什么呢?下面是一张转化后的标签的截图:

那你用4个关键点就行,人脸用到了5个,你去掉一个就可以了,改动很小
你好,修改成四个关键点训练,你实现了吗?
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
你好,你改为四个关键点的工程实现了吗?
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
你好,你改为四个关键点的工程实现了吗?
现在还在写转化数据集格式的脚本,这个搞完了以后应该就能够训练了,但是这个脚本还不是特别清楚怎么写
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
你好,你改为四个关键点的工程实现了吗?
现在还在写转化数据集格式的脚本,这个搞完了以后应该就能够训练了,但是这个脚本还不是特别清楚怎么写
你训练工程修改好了?关键点先随机取一些值,看能不能跑起来。
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
你好,你改为四个关键点的工程实现了吗?
现在还在写转化数据集格式的脚本,这个搞完了以后应该就能够训练了,但是这个脚本还不是特别清楚怎么写
你训练工程修改好了?关键点先随机取一些值,看能不能跑起来。
就是你们的训练代码不是需要五个关键点吗,然后我现在就是把最后一个点给的坐标都给的-1,然后还得根据我现在的四个角点的坐标算出xywh,目前我就是想在你们的val2yolo.py的基础上改,但是我上周改了一下,就没法批量处理,因为你们是转化的wider face的标签,然后所有的标签都在label.txt里,但是我现在的标签是一张图片一个标签,现在就是这个有点棘手
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
你好,你改为四个关键点的工程实现了吗?
现在还在写转化数据集格式的脚本,这个搞完了以后应该就能够训练了,但是这个脚本还不是特别清楚怎么写
你训练工程修改好了?关键点先随机取一些值,看能不能跑起来。
就是你们的训练代码不是需要五个关键点吗,然后我现在就是把最后一个点给的坐标都给的-1,然后还得根据我现在的四个角点的坐标算出xywh,目前我就是想在你们的val2yolo.py的基础上改,但是我上周改了一下,就没法批量处理,因为你们是转化的wider face的标签,然后所有的标签都在label.txt里,但是我现在的标签是一张图片一个标签,现在就是这个有点棘手
您好,请问您的问题解决了吗?
@derronqi 大佬你好,就是我是一名大二学生,然后是在中北大学的robomaster战队里负责用神经网络识别装甲板实现自动瞄准,不过就是之前我用yolo系列训练出来的模型最后实际测试时得到的bbox和装甲板的轮廓并不能很好的拟合,导致后续使用pnp进行姿态解算时会有较大误差,所以我想将传统yolo的数据集格式改为用四个角点的归一化坐标,然后我看到了您这个项目,不过我看您的数据集格式里还是包含了传统yolo的归一化后的中心点坐标和w,h,然后我现在的数据集格式是像这样:1 0.673029 0.373564 0.678429 0.426232 0.830433 0.401262 0.824525 0.351212,第一个数字是类别id,后面八个数字是归一化后的装甲板的四个角点坐标,但是我看您的这个仓库里训练是用的wider face数据集,所以我想是得改动dataloader的部分才能训练吗?望大佬解惑
你好,你改为四个关键点的工程实现了吗?
现在还在写转化数据集格式的脚本,这个搞完了以后应该就能够训练了,但是这个脚本还不是特别清楚怎么写
你训练工程修改好了?关键点先随机取一些值,看能不能跑起来。
就是你们的训练代码不是需要五个关键点吗,然后我现在就是把最后一个点给的坐标都给的-1,然后还得根据我现在的四个角点的坐标算出xywh,目前我就是想在你们的val2yolo.py的基础上改,但是我上周改了一下,就没法批量处理,因为你们是转化的wider face的标签,然后所有的标签都在label.txt里,但是我现在的标签是一张图片一个标签,现在就是这个有点棘手
您好,请问您的问题解决了吗?
不好意思,最近过年这段时间都还还没怎么搞,之后会试试
@CV-deeplearning
你好,我现在写脚本把标签转化为了能够给yolov5-face训练的格式并得到了pt,但是使用repo中的export.py转化onnx时一直有这个error,我不知道究竟是什么导致的,使用detect_face.py推理单张图片是没问题的
能否提供一些指点呢?
您好,请问如何将标注的json转化成该项目使用的txt呢
您好,请问如何将标注的json转化成该项目使用的txt呢
写一个coco2yol的脚本,或者直接在github上找一个也行
您好,请问如何将标注的json转化成该项目使用的txt呢
写一个coco2yol的脚本,或者直接在github上找一个也行
你好,我也是在做一个四个关键点检测的项目,方不方便加个v聊一下呢,我看你训练的效果蛮好的,我改完代码后,虽然能跑起来但是感觉有点问题
您好,请问如何将标注的json转化成该项目使用的txt呢
写一个coco2yol的脚本,或者直接在github上找一个也行
你好,我也是在做一个四个关键点检测的项目,方不方便加个v聊一下呢,我看你训练的效果蛮好的,我改完代码后,虽然能跑起来但是感觉有点问题
主要是什么问题呢?
目前train时各个loss值都是正常下降的,但是val时 map P R 等指标都是 0,这个不知道是问题出在哪里; 我看你发的测试图,是预测五个关键点还是四个关键点呢?图上有点看不清,是五个点吗?
目前train时各个loss值都是正常下降的,但是val时 map P R 等指标都是 0,这个不知道是问题出在哪里; 我看你发的测试图,是预测五个关键点还是四个关键点呢?图上有点看不清,是五个点吗?
其实是四个点,当时忘了把第五个点在推理时删了,不用管,你是用tensorboard看的时候发现val指标都是0?
@CV-deeplearning
你好,我现在写脚本把标签转化为了能够给yolov5-face训练的格式并得到了pt,但是使用repo中的export.py转化onnx时一直有这个error,我不知道究竟是什么导致的,使用detect_face.py推理单张图片是没问题的
能否提供一些指点呢?
你好 我想问下 训练4个点是不是只需要将最后的坐标设置成-1就可以了 还是大改的dataloader中的代码?
@CV-deeplearning
你好,我现在写脚本把标签转化为了能够给yolov5-face训练的格式并得到了pt,但是使用repo中的export.py转化onnx时一直有这个error,我不知道究竟是什么导致的,使用detect_face.py推理单张图片是没问题的
能否提供一些指点呢?
你好 我想问下 训练4个点是不是只需要将最后的坐标设置成-1就可以了 还是大改的dataloader中的代码?
对,可以给成-1,我就是这样的,因为懒得去删掉第五个点了
我只需要预测两个点,现在正在改face_datasets和loss,看能不能在推理阶段更快一点。
我只需要预测两个点,现在正在改face_datasets和loss,看能不能在推理阶段更快一点。
什么应用场景会只用到两个点啊?
猪脸
猪脸
啊这,是做猪脸识别?
是的目前在做这一块 还没找到创新点
是的目前在做这一块 还没找到创新点
好吧,主要是以往只了解人脸识别,还没有遇见过猪脸识别,不过应该在养殖业有很大需求吧
是的目前在做这一块 还没找到创新点
好吧,主要是以往只了解人脸识别,还没有遇见过猪脸识别,不过应该在养殖业有很大需求吧 主要是数据集不好弄,没有公共数据集,网络什么的其实也大差不差
是的目前在做这一块 还没找到创新点
好吧,主要是以往只了解人脸识别,还没有遇见过猪脸识别,不过应该在养殖业有很大需求吧 主要是数据集不好弄,没有公共数据集,网络什么的其实也大差不差
这数据集确实不好找,只能自己做了,这是你的研究生课题吗?