640x480的分辨率,如果设定最小检测人脸的宽度为50像素的话,一帧需要200ms甚至400ms,完全无法接受。
之前如果是设定最小检测人脸宽度为150的情况下,大概需要40ms,而我首先将画面线性缩小3倍甚至5倍再检测,能将时间消耗减少到15ms左右。但是实际上要求人在较远位置也能检测到,这样人脸的宽度只有40像素左右,之前的方法依然无法达到实时。
现在有这么一个想法,先用低代价的方法减小搜索范围。首先将画面进行分割,比如分割成4份,如果某一份内部肤色检测出来皮肤区域面积超过多少,才对其进行检测。
而具体实行的时候可能涉及到更进一步分割,还有分割之间的重叠(避免把本来面部出现的位置分割成多块)等问题。
不知道各位有没有其他更好的思路。
之前如果是设定最小检测人脸宽度为150的情况下,大概需要40ms,而我首先将画面线性缩小3倍甚至5倍再检测,能将时间消耗减少到15ms左右。但是实际上要求人在较远位置也能检测到,这样人脸的宽度只有40像素左右,之前的方法依然无法达到实时。
现在有这么一个想法,先用低代价的方法减小搜索范围。首先将画面进行分割,比如分割成4份,如果某一份内部肤色检测出来皮肤区域面积超过多少,才对其进行检测。
而具体实行的时候可能涉及到更进一步分割,还有分割之间的重叠(避免把本来面部出现的位置分割成多块)等问题。
不知道各位有没有其他更好的思路。
解决方案 »
- MDI程序的加速键处理
- 某公司顶级技术总监 要求面试者半小时内分析:下面重叠通讯对吗?
- 请问vc6的自绘在哪里?
- 公司内部的IP可以做服务器的IP吗??
- 高分问:如何用钩子截取ExtTextOutW?
- 我有一个单文档,通过菜单弹出一无模式对话框中。我想当对话框失去焦点时被得到焦点窗体复盖如何做呢。
- 请问如何在VC程序里,屏蔽掉键盘
- *** ▲△▲△▲ 请问 wuxuan(真心英雄) 大哥在吗? ▲△▲△▲***
- vc在windows上开发的dll可以使用在unix环境下吗?
- 用MFC模拟售货机遇到的问题,如何使顾客在一段时间没有点击按钮投币或购买后,自动退币中止程序?
- 请教一个基本的数据转换问题
- Waitable的请教
你可以根据实际图像的一些需求,将图像分割成一些矩形块,通过快速遍历来排除不需要检测的区域,一般分割越细,标记越多,最后检测的区域肯定越有效
建议分割区域的大小最好是动态的,例如发现第一个目标数据后开始分割才是最有效地