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

正射影像,重叠的应该去掉 #13

Closed
gengyanlei opened this issue Apr 10, 2021 · 6 comments
Closed

正射影像,重叠的应该去掉 #13

gengyanlei opened this issue Apr 10, 2021 · 6 comments
Labels
question Further information is requested

Comments

@gengyanlei
Copy link

这个自yolov3就有,对于1个特征点可能有不同类,它用的sigmoid,但是正射影像应该不会有重叠的,你可以参考一下。
image

@gengyanlei gengyanlei added the question Further information is requested label Apr 10, 2021
@hukaixuan19970627
Copy link
Owner

这个有一个治标不治本的方法:
可以在检测时,修改detect.py中的agnostic-nms,这个参数主要用于让NMS区分不同的类别,每个类别的框只跟同一个类别的框进行IoU计算。
既然会出现同一个物体检测出两种种类的框的情况,那就让NMS对所有的框一视同仁就好了

@gengyanlei
Copy link
Author

嗯,yolov3开始采用sigmoid,而不是softmax,就是可能在1个特征点位置允许有多类别的目标。通过你说的这个可以解决重叠框的问题,这个参数我之前没有注意过,但是知道这个算法;是让1个框与所有类别的框进行nms;但是置信度高的不一定就是对的,这就很尴尬了。实在不行我就把small-large合并了。

@gengyanlei
Copy link
Author

@hukaixuan19970627
咨询你1个问题,你在训练时只采用了mosaic,有没有采用旋转增强操作呢,我看你注释掉了。我打算采用UCAS_AOD里面的车辆进行训练,采用DOTA裁剪不同尺度的车辆,数据量太大以及车辆尺寸不如AOD的大。

@hukaixuan19970627
Copy link
Owner

旋转有这个代码,但是我没用,主要是旋转之后部分目标信息会丢失,为了防止目标信息丢失还得resize一下图片大小,但是resize图片我又怕把本来细节信息就不多的小目标再减少一部分像素,所以没加,准备之后闲下来了看看别人的开源代码是怎么做的;
DOTA_devkit_YOLO的Draw_DOTA_YOLO.py里面我把涉及到角度增强的代码都可视化了出来:
1

@gengyanlei
Copy link
Author

嗯,我看你的知乎看到了。目前还有个问题,你的处理代码对于无对象的裁剪块 是删除了,但是yolov5自身是支持无对象的,不知道你的代码是否支持呢?加入负样本数据 其实还是有用的,打比赛时 加入这种负样本可以提高精度。我们做项目时也加入这些负样本的,不知道对你有没有帮助。

@hukaixuan19970627
Copy link
Owner

代码肯定支持无对象,毕竟我改动的地方也就是加了个角度分类+CSL,我那个DOTA_devkit_YOLO的逻辑是这样的,分割后进行YOLO格式转换,格式转换过程中删除出错的目标(比如θ不符合设定范围,longside shortside大于1或者等于0),这些图片是包含了目标的,但是这个目标转换后的数据出了问题,为了防止有问题的数据进入网络训练我就把目标删了。如果图片中有效目标为0,那就删了这个图片,我当时是基于这个考虑:这张图没有有效目标,但也不能算是纯负样本,因为里面其实有目标,只不过转换格式的过程中出了问题,把这种不纯粹的负样本送入网络训练可能会影响检测效果。
但是你说的也有道理,后期改动的话我准备让网络也能训练longside shorside大于1的目标,尝试加点尽量纯粹的负样本进去。

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

No branches or pull requests

2 participants