具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
本发明提出了一种基于眼动追踪进行浏览器操作的方法,可以实现基于眼球的运动来自动执行浏览相关操作,从而改善用户观看网页时的体验,减少人手操作,特别是针对在用户拿着大屏设备进行阅读时空出一只手来进行操作是比较费力的情况下,本发明方法可以大大方便用户阅读。
下面将参照附图描述本发明的各个实施例。
图1示出了基于眼动追踪进行浏览器操作的方法的流程图。
如图1所示,包括步骤:
步骤101、通过移动终端的摄像头,每隔设定时间拍摄一次用户人脸图像并描绘到Canvas(画布)上,从人脸图像中提取眼球图像后,将每次拍摄提取的眼球图像再描绘到Canvas上,并从所述Canvas获取眼球图像的像素数据;
其中,使用现有的人脸识别算法,从人脸图像中提取眼球图像。
其中,将拍摄的人脸图像描绘到Canvas上包括:通过HTML5标准所提供的视频捕捉接口,将拍摄的人脸图像描绘到Canvas上。
其中,从Canvas获取眼球图像的像素数据包括:通过Canvas对眼球图像进行细化至像素级的分析,获得眼球图像的像素数据。
步骤102、根据所述眼球图像的像素数据和设定眼球捕捉算法,获得每次拍摄的眼球数据,其中包括眼球位置、瞳孔半径和瞳孔位置的信息;
其中,所述设定眼球捕捉算法是可以采用现有的眼球捕捉算法,本发明不加以限定。
步骤103、当相邻两次的眼球位置的差值小于预定阈值,且眼球停留时间大于设定时间,确定用户聚焦于移动终端的浏览器页面中的特定内容,所述页面中的特定内容的位置范围根据预先设置的眼球位置与网页内容位置对应关系表确定;
步骤104、在确定用户聚焦于浏览器页面中的特定内容时,若进一步检测到用户眼球的瞳孔半径放大,查找瞳孔位置在网页中的对应焦点坐标,确定该焦点坐标所对应的dom(文档对象模型)元素标签对象;
步骤105、根据预设的dom元素标签对象与执行动作的对应关系,执行对应浏览操作。
其中,根据预设的dom元素标签对象与执行动作的对应关系,执行对应浏览操作,包括:
当dom元素标签对象是图片时,对图片进行放大处理;或者,
当dom元素标签对象是链接时,自动打开该链接;或者,
当dom元素标签对象是视频的进度条时,自动把视频切换到进度条的设定位置;或者,
当dom元素标签对象是文字内容时,根据眼球运动方向滚动页面。
从上述方案可以看出,本发明方法可以实现基于眼球的运动来执行浏览相关操作,即通过对用户眼球的聚焦和瞳孔放大等行为进行捕获和分析,并主动对用户进行操作反馈,从而在某些不方便使用手势操作的场景下,也使得用户可以进行浏览操作,提升了用户体验。
以下进一步结合附图2对本发明方法进行详细介绍。
因为用户在集中精力看某些内容的时候,两个眼球会进行聚焦,并且如果用户对该事物感到兴趣浓厚的时候,瞳孔半径会迅速放大。因此本发明方法通过眼球定位和瞳孔分析的算法,实现对用户感兴趣内容的精确把握,并根据这些内容进行操作反馈,从而实现根据眼动追踪进行自动浏览操作的目的。
图2示出了本发明基于眼动追踪进行浏览器操作的方法的第二流程图。
如图2所示,包括步骤:
步骤201、开启摄像头,每隔设定时间拍摄用户人脸图像,将拍摄的图像描绘到Canvas,使用人脸识别算法从人脸图像中提取眼球图像后,再将眼球图像描绘到Canvas上,并从Canvas获取眼球图像的像素数据。
该步骤开启移动终端的摄像头进行人脸图像的拍摄,通过视频捕捉接口,将视频捕捉接口获取的人脸图像描绘到Canvas上。因为新的HTML5标准提供了视频捕捉接口,因此本发明方法利用了新的HTML5标准提供的视频捕捉接口,将视频捕捉接口获取的图像描绘到Canvas上。
该步骤是每隔设定时间进行一次拍摄,例如每隔2秒拍摄一次人脸图像,其中每次拍摄可以是连拍多张图像,例如一次拍10张。
将拍摄的图像描绘到Canvas的过程可以是:
首先,可以通过navigator.webkitGetUserMedia方法获取移动终端的摄像头信息,这些信息为二进制数据,然后通过createObjectURL把这些二进制数据转成本地URL,然后把这些对象数据通过drawImage的形式描绘在Canvas上,最后通过Canvas的接口获取从人脸图像中提取出的眼球图像的像素数据。而且,通过Canvas可以对眼球图像进行细化至像素级的分析,从而获得眼球图像的像素数据。
该步骤中,可以首先把拍摄的人脸图像映射到Canvas上,使用现有的人脸识别算法,把人的双眼的眼球图像提取出来,再分别映射到两个Canvas上,通过Canvas接口,可以获取到人眼位置的纹理数据,即RBGA通道信息,通过这些信息的变化,例如人眼偏移、瞳孔放大等,可以了解人眼的动作。
步骤202、获得对人眼定位后的眼球数据。
该步骤根据上一步骤获得的眼球图像的像素数据和设定眼球捕捉算法,获得每次拍摄的对人员定位后的眼球数据,这些眼球数据可以包括眼球位置、瞳孔半径和瞳孔位置的信息等。
其中,所述设定眼球捕捉算法是可以采用现有的眼球捕捉算法,本发明不加以限定。
该步骤对人眼进行定位,得出一些眼球数据的示例情况如下:
eyes = [{
// 左眼球在屏幕的相对定位
x: 100,
y: 100,
// 瞳孔位置
pX: 120,
pY: 120,
// 瞳孔半径
radius: 20 //单位:像素
}, {
// 右眼球在屏幕的相对定位
x: 100,
y: 100,
// 瞳孔位置
pX: 120,
pY: 120,
// 瞳孔半径
radius: 20 //单位:像素
}]
通过左眼球和右眼球在屏幕的相对定位,可以确定出眼球位置。
步骤203、计算相邻两次拍摄的眼球位置的差值,根据计算结果和眼球停留时间确定用户眼球的聚焦内容。
该步骤中,计算相邻两次拍摄的眼球位置的差值,例如第一次拍摄,得到一个眼球位置数据,第二次拍摄后,又获得一个眼球位置数据,那么计算第一次拍摄和第二次拍摄的眼球位置的差值。同理,第三次拍摄后,将计算第二次拍摄和第三次拍摄的眼球位置的差值。
当相邻两次的眼球位置的差值小于预定阈值(例如阈值为3),且眼球停留时间大于设定时间(例如200ms),可以确定用户聚焦于移动终端的浏览器页面中的特定内容,即用户的眼球已经聚焦在网页中某部分感兴趣内容的位置。
其中,所述页面中的特定内容的位置范围根据预先设置的眼球位置与网页内容位置对应关系表确定,即,预先会设置眼球位置与网页内容位置对应关系表。预设过程包括:首先需要对人眼位置进行初始化定位,可以弹出一个引导页,引导用户把双眼对准摄像头,这样可以通过相对固定的摄像头位置得到人眼相对Canvas上的初始坐标,例如(-100, -100),然后,把眼睛移动到屏幕上某个位置,通过镜头与屏幕位置的距离和人眼移动距离作对比,就可以得到一个相对比例,这个比例可以用作计算人眼移动时所对应屏幕的相对坐标。通过上述处理,就可以得到预设的眼球位置与网页内容位置对应关系表。
步骤204、根据瞳孔半径的缩放情况,确定瞳孔位置在网页中的对应焦点坐标所对应的dom元素标签对象。
该步骤中,根据用户瞳孔半径缩放情况,确定关注对象,也即确定瞳孔位置在网页中的对应焦点坐标所对应的dom元素标签对象。
该步骤中,在检测到瞳孔半径放大时,通过页面的dom元素进行瞳孔位置对应坐标的元素检测,原理可以参照chrome浏览器的debug工具的方式(如当鼠标经过页面时,选定鼠标所在位置的最顶层元素),当确定出瞳孔位置在网页中的对应焦点坐标所对应的dom元素标签对象,也就证明用户正在关心这个元素标签对象。
步骤205、根据预设的dom元素标签对象与执行动作的对应关系,执行对应浏览操作。
该步骤中,根据预设的dom元素标签对象与执行动作的对应关系,执行对应浏览操作,例如:
当dom元素标签对象是图片时,对图片进行放大处理;或者,
当dom元素标签对象是链接时,自动打开该链接;或者,
当dom元素标签对象是视频的进度条时,自动把视频切换到进度条的设定位置;或者,
当dom元素标签对象是文字内容时,根据眼球运动方向滚动页面。
进一步的,当dom元素标签对象是图片时,若发现用户眼球离开图片时,把图片缩回原来尺寸。
进一步的,当dom元素标签对象是视频的进度条时,自动把视频切换到进度条的设定位置。该情况下,首先需要确定播放器进度条位置,例如是从屏幕的(0,400)位置至(1280,400)位置,那么当播放器正在播放视频,且人眼位置移动到(x, 400)时,可认为用户需要对视频进度进行操控,从而自动将视频切换到进度条的位置(x, 400)。
需说明的是,上述只是举例的应用,根据dom元素标签对象的不同,可以定义各种应用。
从上述方案可以看出,本发明方法通过对用户眼球的聚焦和瞳孔放大等行为进行捕获和分析,确定聚焦的元素标签对象,根据该对象的不同自动执行不同操作,可以提高用户的浏览体验,减少用户的额外操作,例如,当用户浏览网页新闻时,通过对焦点的运行轨迹和页面内容的分析,可以智能地根据眼球移动方向滚动页面,而不需要用户手动操作;当用户对网页上的某张图片很感兴趣时,可以自动进行放大;当用户眼球聚焦在某个链接时,可以自动打开该链接。当用户关注某一条新闻标题时,可以自动进行新闻的预览操作;当用户关注某个应用时,自动为用户打开该应用,等等。
进一步的,可以在该方法的基础上,增加兴趣内容统计,对用户感兴趣的内容进行精准统计和分析。以往的统计方法,都是以用户的点击次数、留存率、停留时间等数据进行模糊地分析,如果一个用户在一个有很多信息的页面上不做任何行为时,很难分析出该用户看了哪些信息,而结合本发明方法,可以相对现有统计方法更精准定位用户的兴趣爱好,然后动态地为用户提供其感兴趣的内容,而不需要经过用户的特别指定。
上述内容介绍了本发明方法,相应的,本发明提供一种装置。
图3示出了本发明基于眼动追踪进行浏览器操作的装置的方框示意图。
如图3所示,该装置包括:
图像数据获取单元301,用于通过移动终端的摄像头,每隔设定时间拍摄一次用户人脸图像并描绘到Canvas上,从人脸图像中提取眼球图像后,将每次拍摄提取的眼球图像再描绘到Canvas上,并从所述Canvas获取眼球图像的像素数据;
眼球数据获取单元302,用于根据所述眼球图像的像素数据和设定眼球捕捉算法,获得每次拍摄的眼球数据,其中包括眼球位置、瞳孔半径和瞳孔位置的信息,
第一处理单元303,用于当相邻两次的眼球位置的差值小于预定阈值,且眼球停留时间大于设定时间,确定用户聚焦于移动终端的浏览器页面中的特定内容,所述页面中的特定内容的位置范围根据预先设置的眼球位置与网页内容位置对应关系表确定;
第二处理单元304,用于在确定用户聚焦于浏览器页面中的特定内容时,若进一步检测到用户眼球的瞳孔半径放大,查找瞳孔位置在网页中的对应焦点坐标,确定该焦点坐标所对应的dom元素标签对象;
浏览操作单元305,用于根据预设的dom元素标签对象与执行动作的对应关系,执行对应浏览操作。
进一步的,所述浏览操作单元305包括:第一操作单元3051、第二操作单元3052、第三操作单元3053和第四操作单元3054(图中未示出)。
第一操作单元3051,用于当dom元素标签对象是图片时,对图片进行放大处理;或者,
第二操作单元3052,用于当dom元素标签对象是链接时,自动打开该链接;或者,
第三操作单元3053,用于当dom元素标签对象是视频的进度条时,自动把视频切换到进度条的设定位置;或者,
第四操作单元3054,用于当dom元素标签对象是文字内容时,根据眼球运动方向滚动页面。
进一步的,所述图像数据获取单元301包括视频捕捉接口3011(图中未示出),通过HTML5标准所提供的视频捕捉接口,将拍摄的人脸图像描绘到Canvas上。
进一步的,所述图像数据获取单元301包括分析单元3012(图中未示出),用于通过Canvas对眼球图像进行细化至像素级的分析,获得眼球图像的像素数据。
上述装置中各模块之间的更具体交互关系,参见前面方法中的流程描述,此处不再赘述。
本发明还提供一种移动终端,包括如图3所示的装置,其模块结构及交互关系参见上述描述。
需说明的是,根据本发明的方法还可以被实现为由移动终端中的处理器(比如CPU)执行的计算机程序,并且存储在移动终端的存储器中。在该计算机程序被处理器执行时,执行本发明的方法中限定的上述功能。
此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。