具体实施方式
参阅图1所示,是本发明麦克风控制系统100较佳实施例的硬件架构图。
在本实施例中,该麦克风控制系统100包括麦克风10、时间飞行(TimeofFlight,TOF)摄像机20、制动单元30、控制器40、存储器50及处理器60。麦克风10与制动单元30相连接,TOF摄像机20、制动单元30、控制器40及存储器50分别与处理器60相连接。参阅图10所示,该麦克风控制系统100安装在一个麦克风支架1上,并且TOF摄像机20始终和麦克风10位于同一水平位置。
TOF摄像机20包括镜头21和影像传感器22,影像传感器22通过镜头21对被拍摄物体进行聚焦。该影像传感器22可以为电荷耦合装置(chargedcoupleddevice,CCD)或互补金属氧化物半导体(complementarymetaloxidesemiconductor,CMOS)。
该TOF摄像机20可以获取场景影像(如图6及图7所示)中被拍摄物体的景深信息。所述被拍摄物体的景深信息是指被拍摄物体各点与镜头21的距离信息。由于TOF摄像机20在拍摄目标物时,将发射一定波长的信号,当信号遇到目标物时即会反射至TOF摄像机20的镜头21,根据信号发射与接收之间的时间差即可计算出目标物上各点与镜头21之间的距离信息,因此该TOF摄像机20可得到场景影像中被拍摄物体各点与镜头21之间的距离信息。
存储器50用于储存TOF摄像机20预先拍摄的大量三维(Three-Dimensional,3D)人脸影像。
在本实施例中,所述的处理器60为一种可程序化芯片,其包括一系列模块化的程序化代码(参阅图3所示),处理器60执行该程序化代码,提供麦克风控制系统100的下述功能。
参阅图2所示,麦克风控制系统100包括两种工作模式:自动(Auto)模式11及重新设置(Reset)模式12。用户在使用麦克风控制系统100时可以按下控制器40上的Auto按钮41选择Auto模式11,或按下控制器40上的Reset按钮42选择Reset模式12。
当用户选择Auto模式11时,TOF摄像机20持续拍摄麦克风10前方场景得到场景影像,处理器60对场景影像进行分析侦测3D人脸区域,根据存储器50预先储存的当麦克风10调整到最好的收音位置时,3D人脸区域在场景影像中所占比例及3D人脸中口部位置在场景影像中的位置,控制制动单元30自动调整麦克风10与用户的距离及麦克风10的高度,将麦克风10调整到最好的收音位置,达到最好的收音效果。
当用户选择Reset模式12时,可以按住Reset按钮42不放,直到用户将脸部移动至麦克风10前方认为最好的收音位置放开Reset按钮42,TOF摄像机20拍摄包括用户脸部的场景影像,处理器60分析用户脸部区域在该场景影像中所占比例及口部位置在场景影像中的位置,并将该比例信息及位置信息暂存至存储器50。之后,在用户在Reset模式12使用麦克风10时,处理器60根据该暂存的比例信息及位置信息控制制动单元30自动调整麦克风10与用户的距离及麦克风的高度,将麦克风10调整到用户认为最好的收音位置。当用户结束Reset模式12,例如按下Auto按钮41,处理器60清空存储器50中暂存的比例信息及位置信息。
参阅图3所示,是图1中处理器60和存储器50的功能模块图。
存储器50存储有预设标准51及3D人脸资料52。3D人脸资料52包括搜集的TOF摄像机20之前拍摄的大量的3D人脸影像。预设标准51包括3D人脸影像中各特征点像素值的容许范围,处理器60根据该容许范围在场景影像中侦测3D人脸区域。该预设标准51还包括当麦克风10处于最好的收音位置时,TOF摄像机20拍摄得到的场景影像中3D人脸区域在场景影像中所占的比例(以下称作第一比例)(例如25%),用于确定3D人脸中口部位置的第二比例(例如1/3),以及口部位置在场景影像中的预设位置(例如口部位置是否与场景影像的中心线重合)。该预设标准51可以是应用于麦克风10的Auto模式11的出厂预先值,也可以是Reset模式12下用户将脸部移动至麦克风10前方认为最好的收音位置时,处理器60分析TOF摄像机20拍摄的包括用户脸部的场景影像计算得到的。
参阅图3所示,在本实施例中,该处理器60包括3D人脸模板建立模块61、影像信息处理模块62、3D人脸识别模块63及控制模块64。
3D人脸模板建立模块61根据存储器50储存的3D人脸影像中各点与镜头21之间的距离信息建立3D人脸模板,用于储存3D人脸影像中各特征点的像素值的容许范围,具体介绍如下:
分析存储器50中储存的每张3D人脸影像,得到该3D人脸影像中面部轮廓上各特征点(例如双眼、鼻尖、眉心、嘴唇、眉毛等)至镜头21的距离数据,并将该距离数据转换为像素值(取值范围为0~255)储存至该3D人脸影像的特征矩阵。3D人脸模板建立模块61还用于对所有3D人脸影像的特征矩阵根据设定的一个或多个特征点(例如双眼)进行对齐后,对所有特征矩阵中相同特征点的像素值进行逐点统计,得到3D人脸影像中各特征点的像素值的容许范围组成的3D人脸模板。
例如,3D人脸模板建立模块61分析一张3D人脸影像的200个特征点,得到各特征点至镜头21的距离数据并转换为像素值,例如鼻尖至镜头21的Z方向的距离为61厘米被转换为像素值255,眉心至镜头21的Z方向的距离为59厘米被转换为像素值253,等等。3D人脸模板建立模块61将该200个特征点的像素值储存至该3D人脸影像的特征矩阵。假设3D人脸影像一共有10张,3D人脸模板建立模块61依此方法计算得到其它9张3D人脸影像的特征矩阵,将得到的10个特征矩阵依据双眼的像素值进行对齐后,对该10个特征矩阵中相同特征点的像素值进行统计,得到各特征点的像素值的容许范围。例如,该10个特征矩阵中鼻尖的像素值范围为[251,255],眉心的像素值范围为[250,254]。
影像信息处理模块62获取TOF摄像机20拍摄的场景影像,将该场景影像中各点到镜头21的距离转换为像素值储存至该场景影像的特征矩阵。
3D人脸识别模块63将该场景影像的特征矩阵中各点的像素值与3D人脸模板中相应特征点的像素值的容许范围进行比较,判断该场景影像是否存在某一区域、该区域有满足第一预设数目的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围,以侦测该场景影像中是否有3D人脸区域。例如,假设场景影像的特征矩阵为一个800*600矩阵,而3D人脸模板的特征矩阵为一个100*100矩阵,亦即该3D人脸模板储存了100*100特征点的像素值的容许范围,第一预设数目为大于或等于3D人脸模板所储存的特征点的数目的80%。则3D人脸识别模块63在场景影像的特征矩阵中每次读取100*100个特征点,并将该100*100个特征点的像素值分别与3D人脸模板中相应特征点的像素值的容许范围进行比较,若该100*100个特征点中至少有80%的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围,则3D人脸识别模块63判断该100*100个特征点对应的区域为3D人脸区域。
控制模块64用于判断3D人脸区域在场景影像中所占比例是否等于第一预设比例(例如25%)。若3D人脸区域在场景影像中所占比例不等于第一预设比例,则控制模块64下达第一控制指令至制动单元30调整麦克风10与用户的距离,直到在TOF摄像机20拍摄的场景影像中,3D人脸区域在场景影像中所占比例等于第一预设比例。
3D人脸识别模块63还用于根据第二预设比例(例如1/3)在3D人脸区域中确定口部位置。控制模块64还用于判断口部位置在场景影像中的预设位置,例如口部位置是否与场景影像的中心线重合。若口部位置不在场景影像中的预设位置,则控制模块64下达第二控制指令至制动单元30调整麦克风10的高度,直到口部位置处于场景影像中的预设位置。
参阅图4所示,是本发明麦克风控制方法较佳实施例的流程图。
步骤S31,TOF摄像机20拍摄麦克风10前方的场景,得到场景影像(如图6所示)。
步骤S32,3D人脸识别模块63从场景影像中侦测3D人脸区域(具体介绍请参阅图5)。
步骤S33,控制模块64判断3D人脸区域在场景影像中所占比例是否等于第一预设比例(例如25%)。该第一比例可以是应用于麦克风10的Auto模式11的出厂预先值,也可以是Reset模式12下用户将脸部移动至麦克风10前方认为最好的收音位置时,处理器60分析TOF摄像机20拍摄的包括用户脸部的场景影像计算得到的。3D人脸区域在场景影像中所占比例可以根据3D人脸区域的面积及场景影像计算得到。在本实施例中,3D人脸区域的面积等于包围3D人脸区域的最小长方形的面积。若控制模块64判断3D人脸区域在场景影像中所占比例小于或等于第一预设比例,例如架设图6中3D人脸区域在场景影像中所占比例为10%,则表明麦克风10与用户的距离过远或过近,需要进行调整,流程进入步骤S34。
步骤S34,控制模块64下达第一控制指令至制动单元30调整麦克风10与用户的距离,之后,流程返回步骤S31,直到在TOF摄像机20拍摄的场景影像中,3D人脸区域在场景影像中所占比例等于第一预设比例(如图7所示)。
若在步骤S33,控制模块64判断3D人脸区域在场景影像中所占比例等于第一预设比例,则流程进入步骤S35,3D人脸识别模块63根据第二预设比例在3D人脸区域中确定口部位置。例如,若该第二预设比例为1/3,则3D人脸识别模块63以3D人脸区域下1/3处为用户口部位置(如图8所示)。该第二比例可以是应用于麦克风10的Auto模式11的出厂预先值,也可以是Reset模式12下用户将脸部移动至麦克风10前方认为最好的收音位置时,处理器60分析TOF摄像机20拍摄的包括用户脸部的场景影像计算得到的。
步骤S36,控制模块64判断口部位置在场景影像中的预设位置,例如口部位置是否与场景影像中心线重合。该预设位置可以是应用于麦克风10的Auto模式11的出厂预先值,也可以是Reset模式12下用户将脸部移动至麦克风10前方认为最好的收音位置时,处理器60分析TOF摄像机20拍摄的包括用户脸部的场景影像计算得到的。若口部位置在场景影像中的预设位置,则流程结束。若口部位置不在场景影像中的预设位置,则流程进入步骤S37,控制模块64下达第二控制指令至制动单元30调整麦克风的高度,之后,流程返回步骤S31,直到在TOF摄像机20拍摄的场景影像中,用户口部位置处于场景影像中的预设位置(如图9所示),流程结束。
参阅图5所示,是图4中步骤S32的具体流程图。
步骤S321,影像信息处理模块62将场景影像中各点到镜头21的距离转换为像素值储存至该场景影像的特征矩阵。
步骤S323,3D人脸识别模块63将该场景影像的特征矩阵中各点的像素值与3D人脸模板中相应特征点的像素值的容许范围进行比较,判断该场景影像是否存在某一区域、该区域有满足第一预设数目的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围,以侦测该场景影像中是否有3D人脸区域。例如,假设场景影像的特征矩阵为一个800*600矩阵,而3D人脸模板的特征矩阵为一个100*100矩阵,亦即该3D人脸模板储存了100*100特征点的像素值的容许范围,第一预设数目为大于或等于3D人脸模板所储存的特征点的数目的80%。则3D人脸识别模块63在场景影像的特征矩阵中每次读取100*100个特征点,并将每次取的100*100个特征点的像素值分别与3D人脸模板中相应特征点的像素值的容许范围进行比较,判断是否某次取的100*100个特征点中至少有80%的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围。则3D人脸识别模块63判断该100*100个特征点对应的区域为3D人脸区域。若该场景影像是否存在某一区域、该区域有满足第一预设数目的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围,例如某次取的100*100个特征点中至少有80%的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围,则在步骤S327,3D人脸识别模块63判断该100*100个特征点对应的区域为3D人脸区域。若该场景影像不存在某一区域、该区域有满足第一预设数目的特征点的像素值落入3D人脸模板中相应特征点的像素值的容许范围,则流程返回步骤S31。