目标分割的任务是把目标对应的部分分割出来。

目标检测:检测到图片当中的目标的具体位置

目标识别:即是在所有的给定数据中,分类出哪一些sample是目标,哪一些不是。这个仅仅做一下分类任务。yes or no

典型的技术路线是:目标分割 ——>目标检测 ——>目标识别 ——>目标跟踪

如:需要对视频中的小明进行跟踪,处理过程将经历如下过程:

(1)首先,采集第一帧视频图像,因为人脸部的肤色偏黄,因此可以通过颜色特征将人脸与背景分割出来(目标分割);
(2)分割出来后的图像有可能不仅仅包含人脸,可能还有部分环境中颜色也偏黄的物体,此时可以通过一定的形状特征将图像中所有的人脸准确找出来,确定其位置及范围(目标检测);
(3)接下来需将图像中的所有人脸与小明的人脸特征进行对比,找到匹配度最好的,从而确定哪个是小明(目标识别);
(4)之后的每一帧就不需要像第一帧那样在全图中对小明进行检测,而是可以根据小明的运动轨迹建立运动模型,通过模型对下一帧小明的位置进行预测,从而提升跟踪的效率(目标跟踪)


计算机视觉中关于图像识别有四大类任务:

  1. 分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。对于一幅图像来说,分类就是聚类,即分割;对于一组图像样本来说,分类是检测出样本中有相同目标的图像。
  2. 定位-Location:解决“在哪里?”的问题,即定位出这个目标的的位置。
  3. 检测-Detection:解决“是什么?在哪里?”的问题,即定位出这个目标的的位置并且知道目标物是什么。
  4. 分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。图示如下:

  • a)图像分类:一张图像中是否包含某种物体
  • b)物体检测识别:若细分该任务可得到两个子任务,即目标检测,与目标识别,首先检测是视觉感知得第一步,它尽可能搜索出图像中某一块存在目标(形状、位置)。而目标识别类似于图像分类,用于判决当前找到得图像块得目标具体是什么类别。
  • c)语义分割:按对象的内容进行图像得分割,分割的依据是内容,即对象类别。
  • d)实例分割:按对象个体进行分割,分割的依据是单个目标。

     目标分类和分割其实算是一个意思,比如,对一幅图像,我们根据相似性,将其分成不同的区域,这个可以说以分割,也是分类,对每个分类的区域进行特征匹配,就可知道每个区域是什么,实现目标识别。

不管什么任务,目标检测应该是计算机视觉领域首先需要掌握的。目标检测要解决的核心问题:

1.目标可能出现在图像的任何位置。
2.目标有各种不同的大小。
3.目标可能有各种不同的形状。

如果用矩形框来定义目标,则矩形有不同的宽高比。由于目标的宽高比不同,因此采用经典的滑动窗口+图像缩放的方案解决通用目标检测问题的成本太高。

1、传统的目标检测(滑动窗口的框架):

(1).滑动窗口
(2).提取特征(SIFT,HOG,LBP)
(3).分类器(SVM)

传统的计算机视觉问题的解决思路:图像——预处理——人工特征(hand-crafted features)提取——分类。大部分研究集中在人工特征的构造和分类算法上。但存在的问题是人工设计的特征可能适用性并不强,或者说泛化能力较弱,一类特征可能针对某类问题比较好,其他问题就效果甚微。

滑窗法作为一种经典的物体检测方法,个人认为不同大小的窗口在图像上进行滑动时候,使用分类器判别滑动框存在物体的概率。滑窗法的物体检测流程图:

滑窗法主要思路:首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制(Non-Maximum Suppression, NMS)的方法进行筛选。最终,经过NMS筛选后获得检测到的物体。

  滑窗法简单易于理解,但是不同窗口大小进行图像全局搜索导致效率低下,而且设计窗口大小时候还需要考虑物体的长宽比。所以,对于实时性要求较高的分类器,不推荐使用滑窗法。


2、基于深度学习的目标检测:

通过深度学习算法,进行端到端的解决,即输入图像到输出任务结果一步完成。但其实内部它还是分stages的,通常是图像——特征提取网络——分类、回归。

这里特征提取网络即各种深度神经网络结构,整个网络分作两类的:

前N个层用于特征的提取,输入图片,输出特征图,这与传统的人工特征提取本质上没有太大区别,只是提取特征的算法变成了神经网络算法。

网络的后K层完成具体的分类或者回归任务,输入前一个部分得到的特征图,输出任务的结果。所以显然后一部分其实是可以被替代的,也确实有很多框架的第二部分采用其他机器学习的算法替代,如SVM。

先献上一个RCNN系列的图(来自知乎:iker peng)。

    RCNN/SPP-Net/Fast-RCNN等文章都会谈及候选区域的生成。为什么要有候选区域?既然目标是在图像中的某一个区域,那么最直接的方法就是滑窗法(sliding window approach),就是遍历图像的所有的区域,用不同大小的窗口在整个图像上滑动,那么就会产生所有的矩形区域,然后再后续排查,思路简单,但开销巨大。

候选区域生成算法主要使用图像分割与区域生长技术。区域生长(合并)主要由于检测图像中存在的物体具有局部区域相似性(颜色、纹理等)。基于图像的颜色、纹理、面积、位置等合并相似的像素,最终可以得到一系列的候选矩阵区域。这些算法,如selective search或EdgeBoxes,通常只需要几秒的CPU时间,而且,一个典型的候选区域数目是2k,相比于用滑动窗把图像所有区域都滑动一遍,基于候选区域的方法十分高效。

    选择性搜索(Selective Search)是主要运用图像分割技术来进行物体检测。滑窗法类似穷举进行图像子区域搜索,但是一般情况下图像中大部分子区域是没有物体的。学者们自然而然想到只对图像中最有可能包含物体的区域进行搜索以此来提高计算效率。选择搜索方法是当下最为熟知的图像bouding boxes提取算法

  选择搜索算法的主要观点:图像中物体可能存在的区域应该是有某些相似性或者连续性区域的。因此,选择搜索基于上面这一想法采用子区域合并的方法进行提取bounding boxes候选边界框。首先,对输入图像进行分割算法产生许多小的子区域。其次,根据这些子区域之间相似性(相似性标准主要有颜色、纹理、大小等等)进行区域合并,不断的进行区域迭代合并。每次迭代过程中对这些合并的子区域做bounding boxes(外切矩形),这些子区域外切矩形就是通常所说的候选框。

     总体思路:假设现在图像上有n个预分割的区域,表示为R={R1, R2, …, Rn}, 计算每个region与它相邻region(注意是相邻的区域)的相似度,这样会得到一个n*n的相似度矩阵(同一个区域之间和一个区域与不相邻区域之间的相似度可设为NaN),从矩阵中找出最大相似度值对应的两个区域,将这两个区域合二为一,这时候图像上还剩下n-1个区域; 重复上面的过程(只需要计算新的区域与它相邻区域的新相似度,其他的不用重复计算),重复一次,区域的总数目就少1,直到最后所有的区域都合并为同一个区域(即此过程进行了n-1次,区域总数目最后变成了1).算法的流程图如下图所示:

  • step0:生成区域集R,具体参见论文《Efficient Graph-Based Image Segmentation》,基于图的图像分割,博客:https://blog.csdn.net/surgewong/article/details/39008861/
  • step1:计算区域集R里每个相邻区域的相似度S={s1,s2,…}
  • step2:找出相似度最高的两个区域,将其合并为新集,添加进R
  • step3:从S中移除所有与step2中有关的子集
  • step4:计算新集与所有子集的相似度
  • step5:跳至step2,直至S为空

相似度计算:论文从四个方面考虑相似度度量——颜色、纹理、尺寸和空间交叠

选择搜索优点:

  1.   计算效率优于滑窗法。
  2.   由于采用子区域合并策略,所以可以包含各种大小的疑似物体框。
  3.   合并区域相似的指标多样性,提高了检测物体的概率。

from:https://blog.csdn.net/qq_25680531/article/details/80932137

from:https://blog.csdn.net/surgewong/article/details/39008861/

SSD算法是一种直接预测目标类别和bounding box的多目标检测算法。与faster rcnn相比,该算法没有生成 proposal 的过程,这就极大提高了检测速度。算法的主网络结构是VGG16,将最后两个全连接层改成卷积层,并随后增加了4个卷积层来构造网络结构。对其中5种不同的卷积层的输出feature map分别用两个不同的 3×3 的卷积核进行卷积,一个输出分类的confidence,每个default box 生成21个类别confidence;一个输出回归用的 localization,每个 default box 生成4个坐标值(x, y, w, h)。此外,这5个feature map还经过PriorBox 层生成 prior box(生成的是坐标)。上述5个feature map中每一层的default box的数量是给定的(8732个)。最后将前面三个计算结果分别合并然后传给loss层。

YOLO对于给定的输入图像,YOLO不管三七二十一最终都划分出7x7的网格,也就是得到49个窗口,每个格子预测2个矩形框及其置信度,这个预测是通过全连接层来完成的,以及20种类别的概率。舍弃了Region proposal阶段,加快了速度,但是定位精度比较低,YOLO会预测每个矩形框的4个参数和其包含物体的信度,以及其属于每个物体类别的概率。YOLO的速度很快,在GPU上可以达到45fps。

对于目标检测这一任务而言,如果更关注性能指标,则可以参考two-stage系列的方法,而如果更关注实时性的要求,则可以关注one-stage的方法,这篇报告特别讲述了one-stage的YOLO算法,YOLO是以实时性为基础的快速目标检测算法,这种方法很快,也有许多工作。

目标检测、分割、识别、分类综述相关推荐

  1. 目标检测与识别算法综述:从传统算法到深度学习(二)

    作   者:XJTU_Ironboy 时   间:2018年11月 联系方式:tzj19970116@163.com 本文结构: 摘要 介绍 2.1 大致框架 2.2 测试评价指标 2.3 相关比赛介 ...

  2. 深度学习在遥感图像目标检测中的应用综述

    深度学习在遥感图像目标检测中的应用综述 1 人工智能发展 1.1 发展历程 1.2 深度学习的应用 2 深度学习 2.1 机器学习概述 2.2 神经网络模型 2.3 深度学习 2.4 深度学习主要模型 ...

  3. 论文笔记:Object Detection in 20 Years: A Surve(目标检测20年研究综述)

    文章目录 1.介绍 2.目标检测的20年发展历程 2.1.目标检测路线 2.1.1.里程碑:传统检测器 2.1.2.基于CNN的两阶段检测器 2.1.3.基于CNN的单阶段检测器 2.2.目标检测数据 ...

  4. 图像处理 手写体英文字母的目标检测与识别 实验报告

    获取本实验的项目代码和实验报告,请>=点击此处=< [0] 摘要   近年来,随着python的迅速崛起,人工智能.图像识别.计算机视觉等新兴学科变得火热起来.Python的发展也伴随着它 ...

  5. (好文)基于HOG的目标检测与识别

    其实在深度学习中我们已经介绍了目标检测和目标识别的概念.为了照顾一些没有学过深度学习的童鞋,这里我重新说明一次:目标检测是用来确定图像上某个区域是否有我们要识别的对象,目标识别是用来判断图片上这个对象 ...

  6. 【论文阅读】目标检测中的分类回归特征解耦

    论文来源:知网 以下仅仅是学习过程中的部分笔记,用作自己复习. 摘要 ..... 目标检测不仅需要判别图像中存在的目标的类别,还需要回归目标在图像中的位置. 特征耦合具体表现:分类和回归部分的网络共享 ...

  7. 基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】

    [摘要] 基于华为云弹性云服务器ECS,搭配共享镜像,快速搭建环境,进行目标检测与识别的昇腾AI开发体验,开箱即用,打破时间和空间限制,随时随地进行开发,适合个人开发和团队协作,体验流畅丝滑. 前言 ...

  8. 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验

    前言 强大的社会粘性不断催温数字化发展,目标检测与识别作为计算机视觉领域的一项关键技术,应用场景广泛,前景十分广阔,从城市治理.楼宇园区.互联网等领域,延伸至智能家居.金融.医疗影像等更多创新领域.随 ...

  9. MSTAR数据库结合深度学习(SAR图像目标检测与识别)

    MSTAR数据库作为SAR图像自动目标识别(SAR ATR)研究的一个通用库,被很多学者广泛采用.从现有的SAR ATR系统处理流程来看,目标检测作为该系统的前端,很大程度上影响系统后续识别性能,在较 ...

  10. tensorflow遥感图像分类_在线讲座 | 高分辨率遥感图像目标检测和场景分类研究进展...

    近年来,深度学习技术驱动的高分辨率遥感图像目标检测和场景分类取得了重大研究进展.由于深度学习的快速发展,导致相关研究进展很难被跟进,特别是对于刚踏入该领域的研究者而言.● 该领域的研究还面临哪些挑战和 ...

最新文章

  1. C语言 匿名联合体和匿名结构体
  2. 5分绩点转4分_作为一名大学生,如何规划4年大学生活?学姐:建议从这5点做起...
  3. HTML转义字符 Unicode和CSS伪类介绍
  4. 【机器视觉】 try算子
  5. HDU 4912 Paths on the tree(LCA+贪心)
  6. 纸板怎么切割光滑_激光切割机大PK!光纤、CO2、YAG,你选谁?!
  7. 53 FI配置-财务会计-固定资产-折旧-维护折旧码
  8. 超越 EfficientNet与MobileNetV3,NeurIPS 2020 微软NAS方向最新研究
  9. Python+tkinter模拟京东旋转图片式验证码输入
  10. 选什么专业?找什么样的工作?教你四个维度
  11. Java败给Python?不!我有话说
  12. Microsoft Azure 大计算 – 宣布收购 GreenButton
  13. Android 真实 简历
  14. 小蚂蚁学cURL笔记(1)
  15. 用VB实现的QQ自动登录器
  16. LINUX(CENTOS7.X)SVN部署文档+pycharmSvn
  17. 2022年程序员开工第一周,应该收藏这样一份书单
  18. 盛世昊通打造线上线下融合的百业联盟商业生态
  19. 美团红包变成了3元红包的原因
  20. unity photon中技能效果网络同步

热门文章

  1. 2019下半年系统集成项目管理工程师上午真题
  2. 2017年上半年信息安全工程师考试真题含答案(下午题)
  3. 统计学习方法基础总结
  4. 如何判断链表有环、如何判断两个链表相交
  5. ARouter使用随记
  6. 福大软工1816 · 第一次团队作业
  7. 无边框模式对话框,设置鼠标拖动
  8. java环境配置——配置tomcat用户
  9. 约瑟夫问题的几种实现
  10. Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效