View Code? Open in Web Editor
NEW
Detect known and unknown objects in the open world(具有区分已知与未知能力的全新检测器))
Python 98.19%
Shell 1.21%
Dockerfile 0.61%
ow-yolo's Introduction
同yolov5
推理示例
$ python detect.py --source data/images --weights m-obj365.pt --unknownconf 0.45 --conf 0.25
$ python detect.py --source data/images --weights s-coco.pt --unknownconf 0.25 --conf 0.25
' ' '
参数解读
unknownconf: 当网络预测的“不知道”分数大于此阈值时预测为不知道,否则输出已知分类。
1)与已知类精度关系:当已知类精度越高时,“不知道”在已知类上发生的情况将越少,预测未知类时可以设定更低的unknownconf而不影响已知类性能。
2)与训练集大小关系:训练集越丰富,预测未知类的能力越强
注:可根据需求调节此参数,需要注意的是由于资源问题,在objects365数据集下训练的模型m-obj365.pt仅在小模型下训练了30轮,精度较低,建议采用较高阈值。
其他参数:
1)非极大值抑制:默认类内NMS(非极大值抑制)iou阈值为0.45,参数为iou;同时进行类间NMS,iou阈值为0.75,后续将提供参数接口。
2)不知道的物体类名:可在detect文件中修改,后续将提供接口。
' ' '
视频展示
demo1
demo2
s-coco.pt
m-obj365.pt
Model
size(pixels)
mAPval 0.5:0.95
mAPval 0.5
yolov8-n
640
37.3
52.6
OW-yolov8-n
640
37.9 (only known 38)
53.7 (only known 53.9)
OW-yolov8-n-la
640
图像分类、实例分割
ow-yolo's People
Contributors
ow-yolo's Issues
Incremental learning 应该是Open Wold问题中的一个子模块,想知道作者是如何进行增量学习的
Hello, thanks for your work! It is interesting! And will there be any related papers to be released?
I've seen many open-set object detection projects that can detect "seen unknowns" (classes that are already present, although unlabeled, in the training pipeline).
But I'm looking to detect "unseen unknowns" (classes that do not exist in the image space of the dataset at all). Is this project capable of doing this, at least to certain capability?
作者您好,utils文件夹中好像缺少了loss函数。
你好我想问一下,添加未知类分数训练模型区分已知未知时,是否有负样本的参与,即手动标注的未知对象。如果没有又是如何训练模型在已知类上的未知分数趋近于0。
使用您提供的预训练权重预测会出现
IndexError : list index out of range
请问:
所提供的权重是基于coco还是voc训练的?
是否可以提供下与权重相搭配的yaml配置文件?
我导入了yolo v5的loss.py,直接训练模型,但是找不到未知标签。