上级又跑来给我出难题,要自己训练模型了。训练了几天的模型,但是结果都不理想啊。出现以下问题,请问是怎么回事呢?是我训练图像太少了吗,还是描述图片的框的时候不够准,还是怎么回事,完全搞不懂啊。。。
1
itIsUnbelievable 2019-10-16 14:55:17 +08:00 via Android
感觉有点像是 MTCNN,前两层框就很多
|
2
xiaolinjia OP @itIsUnbelievable 我是用那个 imageai 的库进行训练的,他那代码里用的是 yolov3 来做预训练模型。
|
3
misaki321 2019-10-16 15:31:29 +08:00
你 nms 设置有问题吧
IOU 都有 100 的了 |
5
xiaolinjia OP @misaki321 听你说的我又回去看了下那库,里面没找到有设置这参数的地方啊。。
|
6
caltong 2019-10-16 19:05:05 +08:00
感觉是 NMS 问题,阈值调小一点试试。然后 bbox 感觉也不是很准,loss 还有下降空间吗?
|
7
qwerdf007 2019-10-17 08:29:55 +08:00
应该是 nms 阈值问题,准确度的话,多尺度训练开了吗
|
8
qwerdf007 2019-10-17 08:31:56 +08:00
感觉可以通过左右翻转来增加训练样本数量
|
9
ilotuo 2019-10-17 09:38:45 +08:00
试试 softnms
|
10
ChordY 2019-10-17 09:45:50 +08:00
iou 极大值抑制
|
11
xiaolinjia OP 先感谢楼上诸位的热心解答,但小弟仍有几件事不解。
经过这几天查资料,我这种情况好像叫什么过拟合。好像是因为模型太复杂,数量太少。 对于上面那两个,我是否应该增加样本数量,我之前只用了 200-300 张为样本,根据楼上老哥的回答,是可以左右旋转,这样会影响识别率吗? 然后就是,我要识别的船只各种各样,比如图上的,有长的轮船,也有小的渔船,也有游艇等等,我是否应该将船只分类?而不是都放一个 ship 里,不过如果要分类的话,那每个类的样本数量又更少了。。 之后就是,nms 是训练的时候设置的,还是识别的时候才设置的?如果我理解没错的话,应该是识别的时候再通过你们说的这些算法再过滤一次? 最后就是,我是否应该只用 TensorFlow,opencv 和 keras 来训练?而不要依靠那些又封装了一层的第三方库(目前用的是一个叫 imageai 的库来训练的,我也不知道怎么样。) |
12
xiaolinjia OP @caltong 我训练了 170 多层,然后隔了几天看它没什么变化了(没生成新的 model ),我就停了。
|