分类/目标识别

来源:互联网 发布:php apache forbidden 编辑:程序博客网 时间:2024/05/01 00:39

特征选取:

        感觉目标比较盛行的有:Haar特征、LBP特征、HOG特征和Shift特征等;他们各有千秋,得视你要检测的目标情况而定,例如:

        拳头:纹理特征明显:HaarLBP(目前有将其和HOG结合);

       手掌:轮廓特征明显:HOG特征(行人检测一般用这个);

分类器算法:

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

用训练样本来训练分类器

        分类器就是使待分对象被划归某一类而使用的分类装置或数学模型。人脑本身也算一个分类器(只是它强大到超乎想象而已),人对事物的识别本身也是一个分类的过程。人在成长或者学习过程中,会通过观察A类事物的多个具体事例来得到对A类事物性质和特点的认识,然后以后遇到一个新的物体时,人脑会根据这个事物的特征是否符合A类事物性质和特点,而将其分类为A类或者非A类(这里只是用简单的二分类问题来说明)。那么训练分类器可以理解为分类器(大脑)通过对正样本和负样本的观察(学习),使其具有对该目标的检测能力(未来遇到该目标能认来)。

        为了使分类检测准确率较好,训练样本一般都是成千上万的,然后每个样本又提取出了很多个特征,这样就产生了很多的的训练数据,所以训练的过程一般都很耗时的。深度学习、人工智能就是试图训练大量的数据来模拟人类大脑。

利用训练好的分类器进行分类/目标检测

        分类一般是两个或者多个类别,其中包含你需要的所有类别,但目标检测是直接指出需要的类别。分类更像是多目标的识别。

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

0 0
原创粉丝点击