Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于拿自己的数据进行训练却出不了预测框 #3

Open
yan4821567 opened this issue May 28, 2019 · 7 comments
Open

关于拿自己的数据进行训练却出不了预测框 #3

yan4821567 opened this issue May 28, 2019 · 7 comments

Comments

@yan4821567
Copy link

您好,代码我顺利运行了,检测动漫人脸的效果很好,然后想把它用在检测浣熊上,觉得都是单目标检测,应该没多少需要改变的
我采用了这个数据集:https://github.com/datitran/raccoon_dataset
然后把图像和标签分别放到images和annotations下,运行了kmeans.py生成相应的anchors,存入infos/anchors.txt,将infos/classes.txt的内容改成raccoon
运行prepare.py将数据集进行划分,在infos文件夹下生成几个txt文件
其他基本就没有改动了 直接运行train.py,50轮迭代后loss降到18,应该属于还行的程度了
但调用yolo.detect_image()后却出不了框,所有的测试集都没有框,没有报错内容

基本的文件组织方式都是模仿这个项目的,哪个文件夹下放哪些文件都是模仿的,数据集复杂程度也差不多,都是单目标检测,但最后出不了效果,请问我在模仿时是漏关注什么地方了吗?

@yan4821567
Copy link
Author

觉得可能是训练步数不够 于是学习率不变 epochs调成100 batch_size = 2,50步后loss和val_loss都降到18,100步后Loss和val_loss降到16左右,感觉loss已经到极限了,然而测试后还只有少部分图片能正常预测出框

@wmylxmj
Copy link
Owner

wmylxmj commented May 29, 2019

训练步数太少,100次是绝对不够的。目标检测需要对置信度,边界框坐标,边界框长宽,物体类别等多种信息进行拟合。首先不出框,说明置信度与物体类别的预测没有很好的拟合。YOLOv3会计算置信度与物体类别概率(单类别为1)的乘积作为边界框的Score,如果Score低的话是不出框的。我这边训练动漫人脸的时候,loss是可以降到6左右的,16的损失还是很高的(因为单类别检测没有类别损失)。可以调整学习率,多迭代几次试试。然后改类别,先验框的话直接改prepare.py里的全局变量(运行的话会覆盖之前的类别,先验框信息的)。

@yan4821567
Copy link
Author

感谢回复 我再试几次

@xxllp
Copy link

xxllp commented Aug 13, 2019

为啥我loss 已经是6了 结果还是 0 boxes 呢

@MapleLeafInAutumn
Copy link

为啥loss值降不下去?

@MapleLeafInAutumn
Copy link

降到20多就不下降了,用的是动漫数据集。

@ppx-hub
Copy link

ppx-hub commented Nov 25, 2020

觉得可能是训练步数不够 于是学习率不变 epochs调成100 batch_size = 2,50步后loss和val_loss都降到18,100步后Loss和val_loss降到16左右,感觉loss已经到极限了,然而测试后还只有少部分图片能正常预测出框

您好,代码我顺利运行了,检测动漫人脸的效果很好,然后想把它用在检测浣熊上,觉得都是单目标检测,应该没多少需要改变的
我采用了这个数据集:https://github.com/datitran/raccoon_dataset
然后把图像和标签分别放到images和annotations下,运行了kmeans.py生成相应的anchors,存入infos/anchors.txt,将infos/classes.txt的内容改成raccoon
运行prepare.py将数据集进行划分,在infos文件夹下生成几个txt文件
其他基本就没有改动了 直接运行train.py,50轮迭代后loss降到18,应该属于还行的程度了
但调用yolo.detect_image()后却出不了框,所有的测试集都没有框,没有报错内容

基本的文件组织方式都是模仿这个项目的,哪个文件夹下放哪些文件都是模仿的,数据集复杂程度也差不多,都是单目标检测,但最后出不了效果,请问我在模仿时是漏关注什么地方了吗?

您好,请问kmeans.py生成相应的anchors,就是说源程序的anchors需要修改是吗,如果是的话这个kmeans.py在哪里呢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants