头顶检测

来源:互联网 发布:矩阵正交性原理的解释 编辑:程序博客网 时间:2024/04/27 03:54

 

 本文档是基于一项项目的总结,该项目的初步目标是在一幅图像中基于头顶的形状和大小检测头顶,辅助提高人流轨迹的精确度。其中涉及的技术基本上都是计算机视觉领域的基础,相关知识储备来自计算机视觉(LindaGeorge)一书。在这一过程中遇到问题,我积极通过OpenCV论坛(www.opencv.org.cn)OpenCV群寻求解决方案,在此感谢。

 

 

大体流程  

流程图

 

区域特征

区域特征feature计算

区域特征

 

 

区域特征feature

区域标记

区域面积

区域中心所在的行

区域中心所在的列

半径平均值

半径标准差

圆度

1.0e+004 *

0.0004    0.0312   0.0458    0.0001    0.0000   0.0002    0.0045

0.0556    0.0339   0.0149    0.0013    0.0001   0.0024    0.0046

 

 

头顶检测的判断标准

 

区域面结(100~1000),区域圆度(>6

 

二值图

二值图

 

标记图,可见区域内部的孔洞,fill hole

 

标记图,可见区域内部的孔洞,fillhole

 

取反标记图

二值图取反后的标记图

 

结果图

最后的结果

 

 

后记:

本来我想进一步完善这个搭建在matlab之上的实验项目,通过以下两种方案

1、通过图像分割技术,分割背景和前景,二值化图,以获得感兴趣的区域。

2、头顶区域的判断准则通过训练自动获得,具体方法是准备若干图片,一半用于训练,一半用于测试,通过训练获得的判断准则,判断测试图像,得出误报率和漏报率。

公司需要将这个项目整合入人流轨迹的项目中形成demo版,向客户演示,所以我的优先任务是将这个项目变迁到C++,整合入人流轨迹BlobTrack项目,上述任务空闲的时候做做了。

 

如果头顶与颜色相近的物体挨着,那么极有可能形成的连通区域中两个是连着的,我想也许图像分割或纹理之类的能够帮助解决这个问题。

 

另外形状和大小类似头顶的话,会误认为头顶,这个问题我打算通过增加区域特征以供区分,目前可以想到的是纹理特征,直方图特征之类的。

 

这个项目做了一个月,绝大部分时间用于方案的遴选和理论知识的学习,摸索过SVMharr特征,走了不少弯路,不过也学到不少东西。

 

 

 

 

 

 

原创粉丝点击