发明名称 一种静态手势指尖检测方法
摘要 本发明属于计算机视觉领域中的特定对象检测领域,涉及一种静态手势指尖检测方法,包括:进行手势区域分割,从输入的彩色图像中分割出手势区域;考察手势区域内各点的坐标,确定手腕在手势区域所在的方位;计算手势区域的重心;寻找最小半径;根据手腕所处的不同方位,分情况进行处理,得到手区域二值图;提取手区域二值图HAND的外轮廓,计算外轮廓与手势重心的距离;平滑处理;检测极大值点,得到极大值点集;得到指尖点集。本发明可以快速准确地检测并定位手势图像中的指尖区域。
申请公布号 CN103426000B 申请公布日期 2016.12.28
申请号 CN201310386516.X 申请日期 2013.08.28
申请人 天津大学 发明人 王建;曹群;刘立
分类号 G06K9/62(2006.01)I;G06F3/01(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 程毓英
主权项 一种静态手势指尖检测方法,包括下列步骤:(1)进行手势区域分割,从输入的彩色图像中分割出手势区域GEST;(2)考察手势区域内各点的坐标,分别用ROW<sub>top</sub>、ROW<sub>bottom</sub>、COL<sub>left</sub>和COL<sub>right</sub>表示各点坐标中最上方和最下方的行序号,以及最左方和最右方的列序号,并按照下面四式分别计算GEST的上投影值P<sub>top</sub>,下投影值P<sub>bottom</sub>,左投影值P<sub>left</sub>和右投影值P<sub>right</sub>:<img file="FDA0001009091440000011.GIF" wi="558" he="116" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><mi>b</mi><mi>o</mi><mi>t</mi><mi>t</mi><mi>o</mi><mi>m</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>G</mi><mi>E</mi><mi>S</mi><mi>T</mi><mrow><mo>(</mo><msub><mi>ROW</mi><mrow><mi>b</mi><mi>o</mi><mi>t</mi><mi>t</mi><mi>o</mi><mi>m</mi></mrow></msub><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0001009091440000012.GIF" wi="677" he="129" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><mi>l</mi><mi>e</mi><mi>f</mi><mi>t</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mi>G</mi><mi>E</mi><mi>S</mi><mi>T</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><msub><mi>COL</mi><mrow><mi>l</mi><mi>e</mi><mi>f</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0001009091440000013.GIF" wi="581" he="127" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>P</mi><mrow><mi>r</mi><mi>i</mi><mi>g</mi><mi>h</mi><mi>t</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mi>G</mi><mi>E</mi><mi>S</mi><mi>T</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><msub><mi>COL</mi><mrow><mi>r</mi><mi>i</mi><mi>g</mi><mi>h</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0001009091440000014.GIF" wi="621" he="129" /></maths>式中,m=1,2,…,M表示输入图像的行序号,n=1,2,…,N表示图像的列序号,M和N分别表示图像的高度和宽度;(3)计算上述四个投影值的最大值P<sub>max</sub>=max{P<sub>top</sub>,P<sub>bottom</sub>,P<sub>right</sub>,P<sub>left</sub>};(4)判断确定手腕在手势区域所在的方位,用LABEL进行标注,即有<img file="FDA0001009091440000015.GIF" wi="678" he="304" />其中,LABEL={1,2,3,4}分别表示手腕位于手势区域上、下、左、右四种情况;(5)计算手势区域的重心,记为(C<sub>x</sub>,C<sub>y</sub>);(6)以(C<sub>x</sub>,C<sub>y</sub>)为圆心,做半径为r的同心圆CIR(r),用AREA1(r)表示CIR(r)包含的像素数,计算CIR(r)与GEST的交集区域所含的像素数AREA2(r),计算AREA1(r)和AREA2(r)的比值,与固定阈值TH<sub>1</sub>进行比较,确定满足所述比值大于固定阈值TH<sub>1</sub>的r的最大值,记为r<sub>max</sub>;(7)根据手腕所处的不同方位,分下面四种情况进行处理,得到手区域二值图,用HAND表示:i)LABEL=1,手腕在图像下方情况:考察GEST中纵坐标大于的C<sub>y</sub>的像素点,计算各点与手势重心(C<sub>x</sub>,C<sub>y</sub>)的距离d,将满足d&gt;r<sub>max</sub>的点看作是手腕区域,并去除;ii)LABEL=2,手腕在图像上方情况:考察GEST中纵坐标小于的C<sub>y</sub>的像素点,计算各点与手势重心(C<sub>x</sub>,C<sub>y</sub>)的距离d,将满足d&gt;r<sub>max</sub>的点看作是手腕区域,并去除;iii)LABEL=3,手腕在图像左侧情况:考察GEST中横坐标小于的C<sub>y</sub>的像素点,计算各点与手势重心(C<sub>x</sub>,C<sub>y</sub>)的距离d,将满足d&gt;r<sub>max</sub>的点看作是手腕区域,并去除;iv)LABEL=4,手腕在图像右侧情况:考察GEST中横坐标大于的C<sub>y</sub>的像素点,计算各点与手势重心(C<sub>x</sub>,C<sub>y</sub>)的距离d,将满足d&gt;r<sub>max</sub>的点看作是手腕区域,并去除;(8)提取手区域二值图HAND的外轮廓,用BOUND(k)表示,k=1,2,…,K,K表示轮廓上点的总数,k为轮廓上各点按照某个方向排序的序号;(9)计算距离:计算BOUND(k)与手势重心(C<sub>x</sub>,C<sub>y</sub>)的距离,用DIST(k)表示;(10)平滑处理:用长度为5的模板对DIST(k)进行平滑处理,所用模板为MASK=[0.1,0.2,0.4,0.2,0.1],中间位置的系数0.4与DIST(k)对齐,平滑结果用SDIST(k)表示;(11)检测极大值点,用PEAK(p)表示检测到的极大值点集;(12)考察PEAK(p)各点,并与r<sub>max</sub>进行比较,如果满足PEAK(p)与r<sub>max</sub>的比值大于特定阈值TH<sub>2</sub>,则将该p点判定为指尖点;检测到的指尖点集用FING(q)表示。
地址 300072 天津市南开区卫津路92号