机器视觉中的目标检测

RichalWang RichalWang     2022-08-14     796

关键词:

今天撇去不同目标追踪算法的框架,比如KCF、TLD、Mean Shift等,忽略它们繁琐的公式,看了对目标检测的基本理解。这里做一个简单的总结,目标检测的框架一般是下图这样的:

 

目标检测分为以下几个步骤:

1、 训练分类器所需样本的创建

训练样本一般包括正样本和负样本,正样本是指第一帧图中框定的待检测的目标,负样本是指其它不包含目标的任意图片(比如背景),所有的样本图片都被归一化同样的尺寸大小(比如20C20)。

2、 特征提取

我们一般通过图像、视频或者波形获得的数据量是很巨大的,比如一个简单的文字图像或者一个心电图波形也可能要有几千个数据。为了对这些数据进行有效的识别、分类,就需要我们对原始数据进行变换,从而来得到最能反映分类本质的特征。这就是特征选择与提取的过程。

一般来说,我们把原始数据组成的空间叫测量空间,把分类识别赖以进行的空间叫做特征空间,通过变换,我们可把在维数较高的测量空间中表示的模式转变为在维数较低的特征空间中表示的模式。(这部分和我目前正在看的SVM和核函数联系极大,公式比较繁琐,定义也比较多,目前暂未全部罗列消化,虽然最近看了一部分,大部人说用的不一定需要懂,可是感觉不懂根本无法用好,最近正在致力于消化的小目标,准备从这里开始入手machine learning)

3、 用训练样本来训练分类器

这部分首先得先明白分类器是什么?wikipedia上的解释是:在机器学习领域,分类的目标是指将具有相似特征的对象聚集,通过特征的线性组合来做出分类决定,以达到此种目的。在这里,对象的特征通常被描述为特征值,在向量中被描述为特征向量。

比如,人脑本身也算一个分类器(强大到超乎想象),人对事物的识别就是一个分类的过程,人在成长和学习过程中,会通过观察A类事物的多个具体事例来得到对A类事物性质和特点的认识,以后遇到一个新物体的时候,人脑会根据这个事物的特征去判断是否符合A类事物的性质和特点,然后将其分为A类或者B类(这里是一个简单的二分类问题)。

在这里,训练分类器(大脑)可以通过对正样本和负样本的观察(学习),是其具有对该目标的检测能力,从而遇到该目标时可以检测出来。

从数学来表达,分类器就是一个函数y=f(x),x是某个事物的特征,y是类别,通俗的说就是例如,你输入张三的特征x1,分类器就给你认出来这个是张三y1,你输入李四的特征x2,它就给你认出来这个是李四y2。那么分类器是个函数,它的数学模型是什么呢?一次函数y=kx+b?高次函数?等等好复杂的都有,我们需要先确定它的模型;确定了模型后,模型是不是由很多参数呢?例如上面的一次函数y=kx+b的k和b,高斯函数的均值和方差等等。这个就可以通过什么最小化分类误差、最小化惩罚啊等等方法来确定,其实训练分类器好像就是找这些参数,使得达到最好的分类效果。

此外,为了使分类器检测准确率较好,训练样本一般都是成千上万,然后每个样本提取出很多个特征,这样就产生了很多的训练数据,所以训练的过程一般也都是很耗时的。

4、 利用训练好的进行目标检测

得到了分类器后,我们就可以用来对输入的图像进行分类了,也就是在图像中检测是否存在我们想要检测的目标。一般的检测过程是这样的:用一个扫描子窗口在待检测的图像中不断的移位滑动,子窗口每到一个位置,就会计算出该区域的特征,然后用我们训练好的分类器对该特征进行筛选,判定该区域是否为目标。有时候可能因为目标图像的大小和你训练分类器时使用的样本图片大小不一样,所以就需要对这个扫描的子窗口变大或者变小(或者将图像变小),再在图像中滑动,重新进行匹配一遍。

5、 学习和改进分类器

现在如果样本数较多,特征选取和分类器算法都比较好的情况下,分类器的检测准确度都挺高的了。但也会有误检的时候。所以更高级点的话就是加入了学习或者自适应,也就是说你把这张图分类错误了,我就把这张图拿出来,标上其正确的类别,再放到样本库中去训练分类器,让分类器更新、醒悟,下次别再再弄错了。我们怎么知道他弄错了呢?我的理解是:(1)、可能是靠先验知识来判定(例如目标本身存在着结构啊或者什么的约束)(2)、根据跟踪速度来判定(目标一般不会运动得太快)(3)、比较在初始图片帧采集的样本集得到的残差函数值的大小来判定(比如说我们得到的目标函数使得残差值过大)(4)、也可能根据以上这些情况来综合来判断的。

6、 小总结

上面模式分类的过程适合很多领域,例如图像、语音识别等等,它的关键点在于两个方面。

(1)    特征选取:比如说目前比较盛行的有: Haar特征、LBP特征、HOG特征和Shif特征等;他们各有千秋,视要检测的目标情况而定,例如:拳头:纹理特征明显:Haar、LBP(目前有将其和HOG结合);手掌:轮廓特征明显:HOG特征(行人检测一般用这个)

(2)    分类器算法

感觉目前比较盛行的有:SVM支持向量机、AdaBoost算法等;其中检测行人的一般是HOG特征+SVM,OpenCV中检测人脸的一般是Haar+AdaBoost,OpenCV中检测拳头一般是LBP+ AdaBoost;

目标识别与追踪真心涉及到很多很多算法和machine learning的基础知识,并且有不断地涌现的大牛提出各种算法,简单的哲学,复杂的数学!!感觉身体被掏空,在此勉励自己,希望自己能在机器视觉领域更上一层楼!

机器视觉识别技术有些啥种类

机器视觉识别技术包括以下几种常见的类型:形状匹配:通过比较目标物体的形状和已知形状的样本,识别出目标物体的种类。颜色识别:通过对目标物体的颜色进行分析和比较,识别出目标物体的种类或状态。纹理分析:通过... 查看详情

如何选择机器视觉软件

作为机器视觉系统的重要组成部分,图像处理软件主要通过对图像的分析、处理和识别,实现对特定目标特征的检测。由于机器视觉系统在现代工业领域的广泛应用,使应用于机器视觉系统的机器视觉软件技术得到了高速发展,... 查看详情

什么是机器视觉?可以用来做什么

1、什么是机器视觉?机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分cmos和ccd两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信... 查看详情

机器视觉——光源选型

...模块主要由工业相机、镜头以及光源组成。    图像是机器视觉处理问题的核心,光源是决定图像质量的重要因素。机器视觉中的光源的作用主要有:照亮目标,提高亮度;形成有利于图像处理的成像效果,... 查看详情

机器视觉做啥用的?

机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处... 查看详情

机器视觉的主要研究内容和细分方向(超全超赞)

...析遥感与航空影像分析工业视觉检测智能无人驾驶SLAM与机器人三维点云和3D重建人体技术相关人体指纹识别人体手势识别人体姿态估计人体动作检测人体配装换装行人检测与识别人脸技术相关人脸美颜人脸检测人脸对齐人脸验证... 查看详情

机器视觉的应用领域

机器视觉优势:机器视觉系统具有高效率、高度自动化的特点,可以实现很高的分辨率精度与速度。机器视觉系统与被检测对象无接触,安全可靠。人工检测与机器视觉自动检测的主要区别有:机器视觉的应用领域:•识别标... 查看详情

《工业机器视觉检测123》(1.3)目标检测问题记录

待研究方向。。。。。。(1)基于MMlab或者pytorch,跟踪并导入最新模型。(2)基于最新模型,根据实际应用场景的数据集,进行对比测试,并调优(3)根据实际应用场景搭建无监督模型。&... 查看详情

tld视觉目标跟踪框架原理与实践

...些基本问题,诸如跟踪、检测、识别。此外也涉及到了与机器学习有关方面的技术,比如casca 查看详情

机器视觉系统有啥功能?

机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉是用机器模拟人的视觉功能,即通过机器视觉产品(图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统进行各种运算处理... 查看详情

图像处理——基于机器视觉技术的人脸在线识别系统设计(代码片段)

  基于机器视觉技术的人脸在线识别系统设计  本设计研究人脸检测与识别技术,在基于机器视觉技术上,构建了一套人脸在线检测识别系统,系统将由以下几个部分构成:计算机图像预处理、数据收集和预处理、人脸... 查看详情

“opencv”是啥?

参考技术AOpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.无论你是做科学研究,还是商业应用,opencv都可以作为你理想的工具库,因为,对于这两者,它完全是免费的。该库采用C及C++语言编写,可以在windows,linux,m... 查看详情

机器视觉系统是由哪些部分组成的

机器视觉系统是指通过机器视觉产品比如摄像头获取图像,然后将获得的图像传送至处理单元,通过数字化图像处理进行目标尺寸、形状、颜色等的判别,进而根据判别的结果控制现场设备。一个典型的机器视觉系统涉及多个领... 查看详情

机器视觉系统在机器人中主要都有哪些功能?

机器视觉按照功能可以大致区分为识别、定位、测量、检测、引导五类。(1)识别:机器视觉可以对图像进行处理、分析和理解,用于对一些一维码或二维码的解码、光学字符的识别与确认、颜色及形状的识别等;(2)机器视... 查看详情

[转]目标检测入门之综述(上)

...表述 如何从图像中解析出可供计算机理解的信息,是机器视觉的中心问题。深度学习模型由于其强大的表示能力,加之数据量的积累和计算力的进步,成为机器视觉的热点研究方向。 那么,如何理解一张图片?根据后续... 查看详情

ai佳作解读系列-目标检测二十年技术综述

...在真实世界的大量应用需求,比如自动驾驶、视频监控、机器人视觉等,而被研究学者广泛关注。 上周四,arXiv新出一篇目标检测文献《ObjectDetectionin20Years:ASurvey》,其对该领域20年来出现的技术进行了综述,这是一篇投向PAM... 查看详情

了解cv和robomaster视觉组比赛中的cv算法(中)目标检测的常见概念和术语

--NeoZng[neozng1@hnu.edu.cn]5.2.3.目标检测利用CNN我们已经可以完成对图像的识别和分类。但是这样是远远不够的,为了能准确定位图像中的物体,我们需要对图像中所有目标进行定位(找出框住目标的boundingbox外接矩形... 查看详情

计算机视觉入门培训

...和理解世界,具有自主适应环境的能力计算机视觉与机器视觉的异同机器视觉的研究对象主要是指工业领域的视觉研究,例如自主机器人的视觉,用于检测和测量的视觉。机器视觉是配备有感测视觉仪器的检测机器&#x... 查看详情