一、什么是目标检测?
简单的来说就是,识别出目标的位置+类别。
例如:
人脸检测就是以人脸为目标进行检测
文字检测就是以文字为目标进行检测
目前主流的目标检测,都是以矩形框的形式进行输出,就是用矩形框将检测到的目标框出,但是这样的话精度就没有特别高,框内可能还有其他的目标。
语义分割:具有更高精度
二、常见数据集
1.VOC数据集
VOC数据集官网
VOC数据具体说明
参考文章:
目标检测:PASCAL VOC 数据集简介
Pascal Voc数据集详细分析
PASCAL VOC数据集分析
2.COCO数据集
三、数据集标注
线上标注网址:
makesense
CVAT
参考文章:
深度学习中常见的打标签工具和数据集集合
借助AI模型目标检测打标签工具 :Makesense.ai , 解放双手 ! ! !
CVAT制作COCO数据集,VOC数据集或其它格式的数据集简易入门教程
四、pytorch读取coco数据集
读取源码:
import torchvision
from PIL import ImageDraw
coco_data = torchvision.datasets.CocoDetection(
root="./val2007",# 存放图片的文件夹路径
annFile="./instances_val2017.json", # 标注文件的路径
)
# 第一个元素是PIL image,第二个元素是标注
image,info = coco_data[0]
# 创建ImageDraw对象用于绘制矩形框
image_handler = ImageDraw.ImageDraw(image)
# 从标注信息中取出标注的坐标位置
for annotation in info:
# 获取标注位置
x_min,y_min,width,height = annotation["bbox"]
# 在取出的第一张图片上绘制标注矩形框
image_handler.rectangle((x_min,y_min),(x_min+width,y_min+height))
image.show()
tips
- 熟练使用debug查询读取到的数据集的属性以及标注的属性进行分析。