计算机视觉目标检测流程详解

个人接触机器视觉的时间不长,对于机器学习在目标检测的大体的框架和过程有了一个初步的了解,不知道对不对,如有错误,请各位大牛不吝指点。
 
目标的检测大体框架:


目标检测分为以下几个步骤:
1、训练分类器所需训练样本的创建:
       训练样本包括正样本和负样本;其中正例样本是指待检目标样本(例如人脸或汽车等),负样本指其它不包含目标的任意图片(如背景等),所有的样本图片都被归一化为同样的尺寸大小(例如,20x20)。
2、特征提取:
       由图像或波形所获得的数据量是相当大的。例如,一个文字图像可以有几千个数据,一个心电图波形也可能有几千个数据。为了有效地实现分类识别,就要对原始数据进行变换,得到最能反映分类本质的特征。这就是特征选择和提取的过程。一般我们把原始数据组成的空间叫测量空间,把分类识别赖以进行的空间叫做特征空间,通过变换,可把在维数较高的测量空间中表示的模式变为在维数较低的特征空间中表示的模式。
3、用训练样本来训练分类器:
       这得先明白分类器是什么?百度百科的解释是:“使待分对象被划归某一类而使用的分类装置或数学模型。”我觉得可以怎么理解,举个例子:人脑本身也算一个分类器(只是它强大到超乎想象而已),人对事物的识别本身也是一个分类的过程。人在成长或者学习过程中,会通过观察A类事物的多个具体事例来得到对A类事物性质和特点的认识,然后以后遇到一个新的物体时,人脑会根据这个事物的特征是否符合A类事物性质和特点,而将其分类为A类或者非A类。(这里只是用简单的二分类问题来说明)。那么训练分类器可以理解为分类器(大脑)通过对正样本和负样本的观察(学习),使其具有对该目标的检测能力(未来遇到该目标能认出来)。
        从数学来表达,分类器就是一个函数y=f(x),x是某个事物的特征,y是类别,通俗的说就是例如,你输入张三的特征x1,分类器就给你认出来这个是张三y1,你输入李四的特征x2,它就给你认出来这个是李四y2。那么分类器是个函数,它的数学模型是什么呢?一次函数y=kx+b?高次函数?等等好复杂的都有,我们需要先确定它的模型;确定了模型后,模型是不是由很多参数呢?例如上面的一次函数y=kx+b的k和b,高斯函数的均值和方差等等。这个就可以通过什么最小化分类误差、最小化惩罚啊等等方法来确定,其实训练分类器好像就是找这些参数,使得达到最好的分类效果。呵呵,不知道自己说得对不对。
        另外,为了使分类检测准确率较好,训练样本一般都是成千上万的,然后每个样本又提取出了很多个特征,这样就产生了很多的的训练数据,所以训练的过程一般都很耗时的。
4、利用训练好的分类器进行目标检测:
       得到了分类器就可以用来对你输入的图像进行分类了,也就是在图像中检测是否存在你想要检测的目标。一般的检测过程是这样的:用一个扫描子窗口在待检测的图像中不断的移位滑动,子窗口每到一个位置,就会计算出该区域的特征,然后用我们训练好的分类器对该特征进行筛选,判定该区域是否为目标。然后因为目标在图像的大小可能和你训练分类器时使用的样本图片大小不一样,所以就需要对这个扫描的子窗口变大或者变小(或者将图像变小),再在图像中滑动,再匹配一遍。
5、学习和改进分类器
       现在如果样本数较多,特征选取和分类器算法都比较好的情况下,分类器的检测准确度都挺高的了。但也会有误检的时候。所以更高级点的话就是加入了学习或者自适应,也就是说你把这张图分类错误了,我就把这张图拿出来,标上其正确的类别,再放到样本库中去训练分类器,让分类器更新、醒悟,下次别再给我弄错了。你怎么知道他弄错了?我理解是:大部分都是靠先验知识(例如目标本身存在着结构啊或者什么的约束)或者和跟踪(目标一般不会运动得太快)等综合来判断的。
 
        其实上面这个模式分类的过程是适合很多领域的,例如图像啊,语音识别等等。那么这整一个过程关键点在哪呢?
(1)特征选取:
        感觉目标比较盛行的有:Haar特征、LBP特征、HOG特征和Shif特征等;他们各有千秋,得视你要检测的目标情况而定,例如:
        拳头:纹理特征明显:Haar、LBP(目前有将其和HOG结合);
       手掌:轮廓特征明显:HOG特征(行人检测一般用这个);
        (在博客中,我会参考各牛人的博客和资料来整理Haar特征、LBP特征、HOG特征和Shif特征等这些内容,具体见博客更新)
(2)分类器算法:
        感觉目标比较盛行的有:SVM支持向量机、AdaBoost算法等;其中检测行人的一般是HOG特征+SVM,OpenCV中检测人脸的一般是Haar+AdaBoost,OpenCV中检测拳头一般是LBP+ AdaBoost;
  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 计算机视觉图像分析是一种技术,它使用计算机程序处理和分析图像和视频,以提取有用的信息。它可以帮助分析图像中的不同物体,特征和元素,以及它们之间的关系。它也可以用来实现许多其他功能,例如图像识别,图像转换,目标跟踪,物体识别等等。 ### 回答2: 计算机视觉图像分析是一种通过计算机算法对图像进行处理和分析的技术。它使用计算机视觉和模式识别的方法来提取图像中的信息和特征,并进行图像分类、目标检测、目标跟踪、图像分割等任务。 在计算机视觉图像分析中,首先需要进行图像的预处理,包括灰度化、去噪、增强等操作,以减少图像中的冗余信息,提高后续处理的效果。接下来是特征提取,通过选择合适的特征算子和方法,提取出图像中的关键信息,如边缘、纹理、颜色等特征。常用的特征提取方法有SIFT、HOG、SURF等。 在图像分类中,可以使用机器学习算法,如支持向量机、决策树等,构建模型进行分类。目标检测是指在图像中定位和识别感兴趣的目标。常用的目标检测算法有基于特征方法和深度学习方法,如Haar特征、HOG+SVM、YOLO、Faster R-CNN等。 目标跟踪是指在视频序列中追踪目标的位置和运动信息。基于传统的目标跟踪方法有卡尔曼滤波、粒子滤波等,而基于深度学习的方法有Siamese网络、MDNet等。 图像分割是将图像分成若干个区域或像素点,并将其归类到不同的类别。图像分割的方法有基于阈值、基于边缘、基于区域、基于图割等。其中,基于图割的方法通过图论中的最小割最大流算法,将图像转化为图模型进行分割。 总之,计算机视觉图像分析是通过计算机技术对图像进行处理和分析,以获得图像中的特征、信息和目标。它在许多领域有广泛的应用,如安防监控、医学影像分析、自动驾驶等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值