一种基于图像的控制方法和装置技术领域
本发明实施例涉及数字图像处理技术领域,尤其涉及一种基于图像的控制方法和
装置。
背景技术
随着科技的发展,用户间的实时通信不仅仅局限于通过电话进行语音交流,用户
还可以通过终端设备进行实时视频通信,如视频通话等。
现有技术中,采用实时视频通信时,对话双方的视频画面一般都是用户真实的画
面。但有时用户虽然与对方进行视频聊天,但希望能够保有一定的隐私,并不希望对方看到
自己真实的视频。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下缺陷:现有实
时视频通信中,视频画面无法保护用户个人隐私。
发明内容
本发明实施例提供了一种基于图像的控制方法和装置,以解决现有实时视频通信
中,视频画面无法保护用户个人隐私的问题。
第一方面,本发明实施例的一可能的实施方案提供了一种基于图像的控制方法,
包括:从视频图像数据中提取面部特征点;检测提取的面部特征点的位置变化;依据面部特
征点的位置变化,控制对应的面部三维模型的面部动作变化。
第二方面,本发明实施例的一可能的实施方案提供了一种基于图像的控制装置,
包括:提取模块,用于从视频图像数据中提取面部特征点;检测模块,用于检测提取的面部
特征点的位置变化;控制模块,用于依据面部特征点的位置变化,控制对应的面部三维模型
的面部动作变化。
本发明实施例通过从视频图像数据中提取面部特征点,检测提取的面部特征点的
位置变化,依据面部特征点的位置变化,控制对应的面部三维模型的面部动作变化。本发明
实施例通过对视频图像数据进行分析处理,以面部三维模型的形式在视频对象的画面中显
示,根据对视频图像中人脸面部动作的检测控制面部三维模型面部动作的变化,从而可以
虚拟并生动的描绘用户面部动作,并且有效地保护了用户的隐私,还提升了视频的趣味。
附图说明
图1是本发明实施例一提供的一种基于图像的控制方法的步骤流程图;
图2是本发明实施例二提供的一种基于图像的控制方法的步骤流程图;
图3是本发明实施例中面部特征点的示意图;
图4是本发明实施例三提供的一种基于图像的控制装置的结构框图;
图5是本发明实施例四提供的一种基于图像的控制装置的结构框图;
图6是本发明实施例五提供的一种基于图像的控制设备的结构框图。
具体实施方式
下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施
例的具体实施方式作进一步详细说明。以下实施例用于说明本发明实施例,但不用来限制
本发明实施例的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别
不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺
序。
实施例一
参照图1,示出了本发明实施例一提供的一种基于图像的控制方法的步骤流程图,
具体可以包括如下步骤:
步骤102、从视频图像数据中提取面部特征点。
本发明实施例可以应用于社交软件的视频聊天或移动终端的视频通话中,如采用
QQ、微信等软件进行视频聊天,又如采用智能手机进行视频电话。
在本发明实施例中,为保护用户的个人隐私以及提高视频的趣味性,对终端从摄
像头采集到的视频图像数据进行处理。在终端接收到视频图像数据后,对多帧视频图像帧
进行分析,确定视频图像帧中用户的面部特征点。
需要说明的是,在本发明实施例中用户的面部特征点包括但不限于如眼睛、鼻子、
嘴巴和脸部轮廓等特征点。
步骤104、检测提取的面部特征点的位置变化。
可以通过对视频图像帧进行检测或跟踪,确定视频图像帧中面部特征点的位置变
化,在本发明实施例中可连续检测多帧视频图像帧,还可以隔帧检测多帧视频图像帧,进而
通过检测结果确定面部特征点的位置变化。
步骤106、依据面部特征点的位置变化,控制对应的面部三维模型的面部动作变
化。
在本发明实施例中,预先设置面部三维模型,并在面部三维模型上设置多个面部
特征点,面部特征点可以表示面部三维模型中眼睛、鼻子、嘴巴和脸部轮廓等特征。
本发明实施例的一个可选方案为:将面部三维模型中的面部特征点和用户面部特
征点的位置设置为一一对应的关系,从而可以方便地控制面部三维模型的面部动作变化。
依据检测到的面部特征点的位置变化,控制对应的面部三维模型中面部特征点的
变化,进而控制面部三维模型的面部动作变化。
本发明实施例通过从视频图像数据中提取面部特征点,检测提取的面部特征点的
位置变化,依据面部特征点的位置变化,控制对应的面部三维模型的面部动作变化。本发明
实施例通过对视频图像数据进行分析处理,以面部三维模型的形式在视频对象的画面中显
示,根据对视频图像中人脸面部动作的检测控制面部三维模型面部动作的变化,从而可以
虚拟并生动的描绘用户面部动作,并且进而有效地保护了用户的隐私,还提升了视频的趣
味。
实施例二
参照图2,示出了本发明实施例二提供的一种基于图像的控制方法的步骤流程图,
具体可以包括如下步骤:
步骤202、判断视频的接收对象是否符合预设条件,若符合,则执行步骤204,否则
结束本次流程。
本发明实施例为保护用户的个人隐私及提升视频的趣味性,在视频对象的画面中
以虚拟的面部三维模型显示当前用户的面部动作。
在实际使用中,可以设置一定的预设条件,即满足开启虚拟的视频模式的条件,预
设条件可以包括但不限于:设定的联系人的范围,如不在通讯录内的联系人,或者,用户设
定的联系人。
当用户进行视频通信时,终端自动判断视频的接收对象是否符合预设条件,如判
断视频的接收对象是否属于设定的联系人的范围。
此外,本发明实施例还可以设定开启虚拟视频模式的启动键,通过用户对启动键
的触发,开启虚拟视频模式。
需要说明的是,本步骤为可选步骤,在实际使用中,可以默认对所有的人均使用面
部三维模型进行视频聊天,也可以默认对某个应用如QQ中的联系人使用面部三维模型聊天
等等。通过判断视频的接收对象是否符合预设条件,可以确定用户在视频开启时,是否启动
虚拟视频模式,有效地保护了用户的隐私。
步骤204、对视频图像数据中的视频图像帧中的人物进行面部定位。
检测到开启虚拟聊天模式时,通过对摄像头接收到的当前用户的视频图像数据进
行分析,对视频图像数据中的视频图像帧中的人物(即当前用户)进行面部定位,即确定视
频图像帧中人物的面部位置,如采用人脸框信息(x,y,width,height)的方式进行表示。其
中,x和y表示面部中的选定点(如鼻尖对应的点)的坐标,width表示面部的宽度,height表
示面部的高度。其中,选定点可以由本领域技术人员根据实际需求适当设定,本发明实施例
对此不作限制。
步骤206、依据面部定位的结果,从对应的视频图像帧中提取面部特征点。
依据确定的视频图像帧中人物面部定位的结果,从对应的视频图像帧中提取多个
面部特征点,如提取68或132个面部特征点。参照图3,图3示出了提取68个面部特征点的示
意图,其中,68个面部特征点可以包括:眼睛、鼻子、嘴巴和脸部轮廓等特征点。
本发明实施例面部特征点的提取可以采用SDM(Supervised Descent Method)算
法进行提取。SDM算法是通过从训练数据中学习梯度下降的方向并建立相应的回归模型,然
后利用得到的模型来进行梯度方向估计,从而实现特征提取。在本发明实施例中,先确定人
脸的面部定位结果(人脸框信息),依据面部定位结果确定面部位置信息并初始化面部特征
点的位置,从训练数据中学习梯度下降的方向并建立相应的回归模型,然后利用得到的模
型来进行梯度方向估计,根据梯度更新特征点位置,迭代进行,直到特征点位置稳定,其中
可以采用牛顿法进行迭代。
需要说明的是,在本发明实施例中不对具体提取多少个面部特征点作限定,如,为
使处理简单化可提取数量较少的面部特征点;又如,需要精确的确定用户面部动作的变化
可以提取数量较多的面部特征点。
步骤208、按照时间顺序,从视频图像数据中检测多帧视频图像帧中的面部特征点
的位置变化,确定位置变化的变化轨迹。
按照视频图像数据接收的先后顺序,依次对视频图像数据中多帧视频图像帧进行
检测,确定多帧视频图像帧中的面部特征点的位置变化轨迹。例如,可以采用检测和/或跟
踪的方法对视频图像帧中的面部特征点的位置变化进行检测。
其中,一种通过检测面部特征点位置变化的方法可以包括:按照预设间隔对视频
图像数据中的视频图像帧进行检测;根据检测结果,确定检测的多帧视频图像帧中的面部
特征点的位置数据;依据面部特征点的位置数据,确定多帧视频图像帧中的面部特征点的
位置变化。如,每隔10帧进行一次面部检测,检测时使用图像的HOG(Histogram of
Oriented Gradient,方向梯度直方图)特征,对整个图像进行多尺度下的扫描窗检测方法,
提取出HOG特征和面部匹配度最大的区域作为面部检测结果,进而确定面部特征点的位置
变化。采用上述方法可以准确地定位视频图像帧中的人脸的面部位置,进而根据人脸的面
部位置提取面部特征点。
另一种通过检测面部特征点位置变化的方法可以包括:对连续的多帧视频图像帧
进行跟踪;依据跟踪结果,确定多帧视频图像帧中的面部特征点的位置变化。如对每10帧中
间的视频图像帧采用KLT(Kanade-Lucas-Tomasi,光流跟踪方法)跟踪方法进行跟踪处理。
确定每帧视频图像帧中面部位置的变化,进而确定面部特征点位置的变化。KLT跟踪方法速
度快,有利于系统的实时响应,而且跟踪的结果在视频中较为平滑,相邻图像帧的面部位置
相差较小。
在本发明实施例的再一种可选方案中,可以通过按照预设间隔对视频图像数据中
的视频图像帧进行检测,并对间隔内的视频图像帧进行跟踪处理;若跟踪的结果不同于检
测的结果,则将检测的结果作为面部特征点位置的最终结果,如采用每隔10进行一次检测,
对于中间的8帧采用跟踪法进行。若出现跟踪结果与检测结果不一致时,将检测结果作为最
终结果。
步骤210、确定面部三维模型中与提取的面部特征点对应的模型面部特征点。
在本发明实施例中,预先存储面部三维模型,面部三维模型可以采用统一的模型,
也可以根据用户信息进行设定,如根据用户性别进行设定。其中,在面部三维模型中确定与
用户面部特征点一一对应的特征点,通过控制面部三维模型中特征点的位置变化,实现控
制面部三维模型中面部动作的变化。
步骤212、依据提取的面部特征点的位置变化,调整模型面部特征点的位置。
通过从视频图像帧中提取面部特征点,并对多帧视频图像帧进行检测,确定提取
的面部特征点的位置变化。在本发明实施例中面部特征点有多个,可以通过比对确定相对
位置发生变化的面部特征点,并调整面部三维模型中对应的特征点。
步骤214、依据调整后的模型面部特征点的位置,控制面部三维模型的面部动作变
化。
通过调整面部三维模型中多个面部特征点,依据调整后面部三维模型中面部特征
点的位置,控制面部三维模型的面部动作变化,如,嘴型的变化。
本发明实施例通过判断视频的接收对象是否符合预设条件,若符合,对视频图像
数据中的视频图像帧中的人物进行面部定位,依据面部定位的结果,从对应的视频图像帧
中提取面部特征点,按照时间顺序,从视频图像数据中检测多帧视频图像帧中的面部特征
点的位置变化,确定位置变化的变化轨迹,确定面部三维模型中与提取的面部特征点对应
的模型面部特征点,依据提取的面部特征点的位置变化,调整模型面部特征点的位置,依据
调整后的模型面部特征点的位置,控制面部三维模型的面部动作变化依据调整后的模型面
部特征点的位置,控制面部三维模型的面部动作变化,本发明实施例通过检测和/或跟踪法
确定面部特征点的位置变化,不仅减少了运算量,还提高了检测的精准度,并将用户的视频
数据以面部三维模型的形式在视频对象的画面中显示,根据对视频图像中人脸面部动作的
检测控制面部三维模型面部动作的变化,从而可以虚拟并生动的描绘用户面部动作,并且
有效地保护了用户的隐私,还提升了视频的趣味。
本领域技术人员可以理解,在本发明实施例具体实施方式的上述方法中,各步骤
的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,
而不应对本发明实施例具体实施方式的实施过程构成任何限定。
实施例三
参照图4,示出了本发明实施例三提供的一种基于图像的控制装置的结构框图;具
体可以包括如下模块:
提取模块402,用于从视频图像数据中提取面部特征点。
检测模块404,用于检测提取的面部特征点的位置变化。
控制模块406,用于依据面部特征点的位置变化,控制对应的面部三维模型的面部
动作变化。
本发明实施例通过从视频图像数据中提取面部特征点,检测提取的面部特征点的
位置变化,依据面部特征点的位置变化,控制对应的面部三维模型的面部动作变化。本发明
实施例通过对视频图像数据进行分析处理,以面部三维模型的形式在视频对象的画面中显
示,根据对视频图像中人脸面部动作的检测控制面部三维模型面部动作的变化,从而可以
虚拟并生动的描绘用户面部动作,并且有效地保护了用户的隐私,还提升了视频的趣味。
实施例四
参照图5,示出了本发明实施例四提供的一种基于图像的控制装置的结构框图,具
体可以包括如下模块:
判断模块406,用于判断视频的接收对象是否符合预设条件;若不符合,则执行从
视频图像数据中提取面部特征点。
提取模块402包括:定位子模块4022,用于对视频图像数据中的视频图像帧中的人
物进行面部定位;特征点提取子模块4024,用于依据面部定位的结果,从对应的视频图像帧
中提取面部特征点。
检测模块404,用于按照时间顺序,从视频图像数据中检测多帧视频图像帧中的面
部特征点的位置变化,确定位置变化的变化轨迹。
可选的,检测模块404包括:第一检测子模块4042,用于按照预设间隔对视频图像
数据中的视频图像帧进行检测;根据检测结果,确定检测的多帧视频图像帧中的面部特征
点的位置数据;依据面部特征点的位置数据,确定多帧视频图像帧中的面部特征点的位置
变化。
可选的,检测模块404还包括:第二检测子模块4044,用于对连续的多帧视频图像
帧进行跟踪;依据跟踪结果,确定多帧视频图像帧中的面部特征点的位置变化。
控制模块406包括:确定子模块4062,用于确定面部三维模型中与提取的面部特征
点对应的模型面部特征点;调整子模块4064,用于依据提取的面部特征点的位置变化,调整
模型面部特征点的位置;面部动作控制子模块4066,用于依据调整后的模型面部特征点的
位置,控制面部三维模型的面部动作变化。
本发明实施例通过判断视频的接收对象是否符合预设条件,若符合,对视频图像
数据中的视频图像帧中的人物进行面部定位,依据面部定位的结果,从对应的视频图像帧
中提取面部特征点,按照时间顺序,从视频图像数据中检测多帧视频图像帧中的面部特征
点的位置变化,确定位置变化的变化轨迹,确定面部三维模型中与提取的面部特征点对应
的模型面部特征点,依据提取的面部特征点的位置变化,调整模型面部特征点的位置,依据
调整后的模型面部特征点的位置,控制面部三维模型的面部动作变化依据调整后的模型面
部特征点的位置,控制面部三维模型的面部动作变化,本发明实施例通过检测和/或跟踪法
确定面部特征点的位置变化,不仅减少了运算量,还提高了检测的精准度,并将用户的视频
数据以面部三维模型的形式在视频对象的画面中显示,根据对视频图像中面部动作的检测
控制面部三维模型面部动作的变化,从而可以虚拟并生动的描绘用户面部动作,并且有效
地保护了用户的隐私,还提升了视频的趣味。
实施例五
本发明实施例五还提供了一种基于图像的控制设备600,本发明实施例具体并不
对基于图像的控制设备600的具体实现做限定。如图6所示,该基于图像的控制设备600可以
包括:
处理器(processor)602、通信接口(Communications Interface)604、存储器
(memory)606、以及通信总线608。其中:
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
通信接口604,用于终端设备和社交软件间的通信。
处理器602,用于执行程序610,具体可以执行上述方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,程序代码包括计算机操作指令。
处理器602可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application
Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电
路。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括
非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序610具体可以用
于使得处理器602执行以下操作:从视频图像数据中提取面部特征点;检测提取的面部特征
点的位置变化;依据面部特征点的位置变化,控制对应的面部三维模型的面部动作变化。
在一种可选的实施方式中,程序610还用于使得处理器602按照时间顺序,从视频
图像数据中检测多帧视频图像帧中的面部特征点的位置变化,确定位置变化的变化轨迹。
在一种可选的实施方式中,程序610还用于使得处理器602按照预设间隔对视频图
像数据中的视频图像帧进行检测;根据检测结果,确定检测的多帧视频图像帧中的面部特
征点的位置数据;依据面部特征点的位置数据,确定多帧视频图像帧中的面部特征点的位
置变化。
在一种可选的实施方式中,程序610还用于使得处理器602对连续的多帧视频图像
帧进行跟踪;依据跟踪结果,确定多帧视频图像帧中的面部特征点的位置变化。
在一种可选的实施方式中,程序610还用于使得处理器602对视频图像数据中的视
频图像帧中的人物进行面部定位;依据面部定位的结果,从对应的视频图像帧中提取面部
特征点。
在一种可选的实施方式中,程序610还用于使得处理器602确定面部三维模型中与
提取的面部特征点对应的模型面部特征点;依据提取的面部特征点的位置变化,调整模型
面部特征点的位置;依据调整后的模型面部特征点的位置,控制面部三维模型的面部动作
变化。
在一种可选的实施方式中,程序610还用于使得处理器602判断视频的接收对象是
否符合预设条件;若不符合,则执行从视频图像数据中提取面部特征点。
应理解,根据本发明实施例提供的设备600可实现图1至图2中的各个方法的相应
流程,为了简洁,在此不再赘述,上述方法实施例中的相关描述也适用于本实施例。
程序610中各步骤的具体实现可以参见上述实施例中的相应步骤和模块中对应的
描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描
述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再
赘述。
本发明实施例提供的设备,通过判断视频的接收对象是否符合预设条件,若符合,
对视频图像数据中的视频图像帧中的人物进行面部定位,依据面部定位的结果,从对应的
视频图像帧中提取面部特征点,按照时间顺序,从视频图像数据中检测多帧视频图像帧中
的面部特征点的位置变化,确定位置变化的变化轨迹,确定面部三维模型中与提取的面部
特征点对应的模型面部特征点,依据提取的面部特征点的位置变化,调整模型面部特征点
的位置,依据调整后的模型面部特征点的位置,控制面部三维模型的面部动作变化依据调
整后的模型面部特征点的位置,控制面部三维模型的面部动作变化,本发明实施例通过检
测和/或跟踪法确定面部特征点的位置变化,不仅减少了运算量,还提高了检测的精准度,
并将用户的视频数据以面部三维模型的形式在视频对象的画面中显示,根据对视频图像中
人脸面部动作的检测控制面部三维模型面部动作的变化,从而可以虚拟并生动的描绘用户
面部动作,并且有效地保护了用户的隐私,还提升了视频的趣味。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单
元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本发明实施例的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以
存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出
来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可
以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施例所述方法的全部
或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only
Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程
序代码的介质。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技
术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种
变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利
保护范围应由权利要求限定。