在一些目标检测任务中,经常有一些容易误识别的数据,比如博主最近做的台标识别的项目,经常有一些芒果之类的被误识别为湖南卫视,而实验发现mmdetection并不支持无ground truth的输入图像,那如何喂入误识别数据呢?
本博客使用了一种有人称之为“填鸭式的方法”,即将误识别的区域使用正方形标注出来,然后随机打开训练集中的一张图像,将误识别切割出来的区域放到鼠标指定的位置(鼠标指定左上角,其余自动填充)
程序中会蹦出两个cv.show的图像,第一个是误识别的数据,第二个是随机打开的训练集的图片,点完之后按随意键打开下一张图片。一个误识别区域会随机放在五张图片中。
import cv2 as cv
import os
import numpy as np
from PIL import Image
import random
global img, pt_curr, pt_pre, counts, file_list, index, tar_img, img_crop
img_crop = np.zeros((10,10))
tar_img = np.zeros((100,100))
file_list = []
counts = 0
index = 0
def on_mouse1(event, x, y, flags, param): # 鼠标左键按下
global pt_curr, pt_pre, index, tar_img, img_crop, tar_name
if event == cv.EVENT_LBUTTONDOWN:
pt_curr = (x, y)
pt_pre = pt_curr
h, w, _ = np.shape(img_crop)
s = tar_name.split('/')
tar_name = '/Users/hank/Desktop/ad_12/train_aug/' + s[-1]
print(np.shape(img_crop), np.shape(tar_img), tar_name)

本文介绍了一种处理目标检测任务中误识别问题的方法,通过在误识别区域使用正方形标注并将其随机放置于训练集图像中,以增强模型对特定错误实例的学习能力。
最低0.47元/天 解锁文章
11万+





