Giter VIP home page Giter VIP logo

Comments (6)

hukaixuan19970627 avatar hukaixuan19970627 commented on May 12, 2024

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

from yolov5_obb.

gengyanlei avatar gengyanlei commented on May 12, 2024

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

from yolov5_obb.

gengyanlei avatar gengyanlei commented on May 12, 2024

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

from yolov5_obb.

hukaixuan19970627 avatar hukaixuan19970627 commented on May 12, 2024

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

from yolov5_obb.

gengyanlei avatar gengyanlei commented on May 12, 2024

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

from yolov5_obb.

hukaixuan19970627 avatar hukaixuan19970627 commented on May 12, 2024

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

from yolov5_obb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.