一、修改检测框颜色,粗细,标签大小
在detect.py中找到
ctrl+点击Annotator即可自动跳转到Annotator类所在位置。
如果没有自动跳转,可通过以下路径查找:
anaconda3/envs/yolo(自己创建的虚拟环境名字)/lib/python3.8/site-packages/ultralytics/utils/plotting.py
将对应的color、thickness、fontScale修改为自己需要的格式即可。
我这里作出如下修改:
修改前结果:
修改后结果:
二、修改标签名
尝试在coco.yaml文件中修改,发现没有用。因为detect时使用的模型已经在训练阶段就将各个标签都写入模型里面了。
可通过直接覆盖model.names
属性解决。
在detect.py中找到加载模型的代码。
在代码
model = DetectMultiBackend(weights, device=device, dnn=dnn, data=data, fp16=half)
stride, names, pt = model.stride, model.names, model.pt
之间插入以下代码即可覆盖之前的标签。可将其改为中文,注意类别继续要保持80,不然会报错。
model.names = [
"person", # 0
"bicycle", # 1
"car", # 2
"motorcycle", # 3
"airplane", # 4
"bus", # 5
"train", # 6
"truck", # 7
"boat", # 8
"traffic light", # 9
"fire hydrant", # 10
"stop sign", # 11
"parking meter", # 12
"bench", # 13
"bird", # 14
"cat", # 15
"dog", # 16
"horse", # 17
"sheep", # 18
"cow", # 19
"elephant", # 20
"bear", # 21
"zebra", # 22
"giraffe", # 23
"backpack", # 24
"umbrella", # 25
"handbag", # 26
"tie", # 27
"suitcase", # 28
"frisbee", # 29
"skis", # 30
"snowboard", # 31
"sports ball", # 32
"kite", # 33
"baseball bat", # 34
"baseball glove",# 35
"skateboard", # 36
"surfboard", # 37
"tennis racket", # 38
"bottle", # 39
"wine glass", # 40
"cup", # 41
"fork", # 42
"knife", # 43
"spoon", # 44
"bowl", # 45
"banana", # 46
"apple", # 47
"sandwich", # 48
"orange", # 49
"broccoli", # 50
"carrot", # 51
"hot dog", # 52
"pizza", # 53
"donut", # 54
"cake", # 55
"chair", # 56
"couch", # 57
"potted plant", # 58
"bed", # 59
"dining table", # 60
"toilet", # 61
"tvmonitor", # 62
"laptop", # 63
"mouse", # 64
"remote", # 65
"keyboard", # 66
"cell phone", # 67
"microwave", # 68
"oven", # 69
"toaster", # 70
"sink", # 71
"refrigerator", # 72
"book", # 73
"clock", # 74
"vase", # 75
"scissors", # 76
"teddy bear", # 77
"hair dryer", # 78
"toothbrush" # 79
]
示例如下: