目标检测学习之路--概述

举报
冰露 发表于 2021/11/15 14:28:44 2021/11/15
【摘要】 通过本文我们可以:了解目标检测算法的分类知道目标检测的常用指标IOU了解目标定位的简单实现方式目标检测的定义识别图片中有哪些物体以及物体的位置(坐标位置)。其中,需要识别哪些物体是人为设定限制的,仅识别需要检测的物体;物体的坐标位置由两种表示方法:极坐标表示(xmin, ymin, xmax, ymax):物体位置的左上角,右下角坐标。中心点坐标表示(x_center, y_center, ...

通过本文我们可以:

  • 了解目标检测算法的分类

  • 知道目标检测的常用指标IOU

  • 了解目标定位的简单实现方式

目标检测的定义

识别图片中有哪些物体以及物体的位置(坐标位置)。

其中,需要识别哪些物体是人为设定限制的,仅识别需要检测的物体;物体的坐标位置由两种表示方法:

  • 极坐标表示(xmin, ymin, xmax, ymax):物体位置的左上角,右下角坐标。

  • 中心点坐标表示(x_center, y_center, w, h):x, y 物体的中心点位置;w,h 中心点距离物体两边的长宽 。

目标检测算法的分类

two stage算法:先进行区域推荐,再进行目标分类。

1)通过专门模块(RPN)去生成候选框,寻找前景以及调整边界框(基于anchors);

2)基于之前生成的候选框进行进一步的分类已经调整边界框(基于proposals)。

典型算法是R-CNN系列算法(R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN)。

优点:检测精度高。

one stage算法:端到端(end-to-end)的目标检测。

基于anchors直接进行分类以及调整边界框。

代表算法是:YOLO、SSD。

优点:检测速度快。

stage.jpg

通常在算法中需要对数值进行处理,一般为归一化操作,即:

对于输出的位置信息是4个比较大的像素的值,在回归的时候不合适。目前统一的做法是,每个位置除以图片本身的像素大小。

假设以中心点坐标方式表示,则:

x=x/ximage, y=y/yimage, w=w/ximage, h=h/yimage

目标检测的任务

分类原理回顾

先来回顾下分类的原理。下图是一个常见的CNN组成图,输入一张图片,经过其中卷积,激活,池化相关层,最后加上全连接层达到分类概率的效果。

cnn.jpg

  • 分类的损失与优化。

    在训练的时候需要计算每个样本的损失,那么CNN做分类的时候使用softmax函数计算结果,损失为交叉熵损失。

    softmax.jpg

  • 常见CNN模型

    models.jpg


对于目标检测不仅仅是分类这样一个简单的图片输出结果,而且还需要输出图片中目标的位置信息,所以从分类到检测,如下图标记了过程:

  1. 分类

    class_cat_2.jpg

  2. 分类 + 定位(单目标时)

    objection_cat.jpg

检测的任务

分类

  • N个类别

  • 输入:图片

  • 输出:类别标签

  • 评估指标:Accuracy

定位

  • N个类别

  • 输入:图片

  • 输出:物体的位置坐标

  • 主要评估指标:IOU

其中(x, y, w, h)有个专业的名词,叫做bounding box(bbox).

在目标检测当中,对bbox主要由两种类别。

  • Ground-truth bounding box:图片当中真实标记的框

  • Predicted bounding box:预测的时候标记的框

    bbox.jpg

一般在目标检测当中,我们预测的框有可能很多个,真实框GT也有很多个。

目标定位的简单实现思路

在分类的时候我们直接输出各类别的概率,如果再加上定位的话,我们可以考虑在网络的最后输出加上位置信息,增加全连接层,即为FC1, FC2。

  • FC1:作为类别的输出。

  • FC2:作为这个物体位置数值的输出。

    fc.jpg

假设有10个类别,输出[p1,p2,p3,…,p10],然后输出这一个对象的四个位置信息[x,y,w,h]。同理知道要网络输出什么,如果衡量整个网络的损失:

  • 对于分类的概率,还是使用交叉熵损失

  • 位置信息具体的数值,可使用MSE均方误差损失(L2损失)

如下图:

fc_2.jpg

总结

  • 掌握目标检测算法的分类。

  • 掌握分类,分类与定位,目标检测的区别。

  • 掌握分类与定位的简单方法,损失衡

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。