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

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;

      在计算机视觉领域,涉及到的特征啊,算法啊等等还是非常非常多的,不断有牛人在提出新的东西(简单的哲学+复杂的数学),也不断有牛人在改进以前的东西,然后随着岁月的脚步,科技在不停地狂奔着!

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自计算机视觉目标检测的框架与过程

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]