目前,人脸和图像识别的相关技术已经广泛投入到商业应用中,比如以 FaceU 为代表的视频拍摄工具类 APP,以及各种直播类 APP 中都有基于脸部的动态贴纸特效功能。此外各大硬件厂商也在设备的系统层面上提供了类似的功能,比如苹果从 iPhoneX 开始提供的 Animoji 玩法,华为在 Mate30 系列以及 Google 的 Pixel4 手机上都提供了通过隔空手势来操作设备的功能。
作为视频平台,优酷天然地与用户有非常多的潜在互动场景。从去年开始,我们加快了在“创新交互”上的预研,主要方向为基于图像识别算法、基于智能硬件的应用实践,以下为技术上的思考总结,希望对大家有启发。
一、基于图像识别算法实现隔空手势操作
1.背景介绍
当用户使用移动端设备,选择一个综艺或剧集后,会处于一个长时间的静止观看状态,双手自然地被释放出来,且距离屏幕如此地近,隔空手势操作就成为一个很好的切入点。因为既然用户不需要经常性的操作设备,用户就更有动机不会长时间地接触设备,从而释放双手去同时做其他的事情,那么当用户偶尔地需要再次操作设备时,比如临时地暂停 / 播放就带来了操作成本(需要再次起身走近或拿起设备),因此如果通过隔空手势能完成这些操作就给用户降低了这种场景的操作成本,从而为用户体验带来了价值。
并且,我们发现优酷的 iPad 版本是最适合接入这个功能的,它更适合近距离观看,而且有摄像头。
基于 iPad 本身的特性,我们对图像识别技术的性能也是有要求的,平板电脑本身还是个移动设备,因此不能带来设备的耗电量加剧、设备过热发烫等影响,最终我们与阿里达摩院的 AILabs 团队合作。AILabs 团队的手势识别效果已经在天猫精灵上得到验证,其识别成功率上在 95% 以上,并且在我们接入后基于优酷 iPad 的用户规模会带来更多的数据回流以供算法模型的训练,从而良性循环地持续提升识别成功率。
同时对硬件 CPU 的消耗也很低,经过实测在非低端设备上的耗电量、发烫等问题均在可接受范围内。
2.实现方案
我们在优酷 iPad 的部分机型上通过 4 种手势实现了六种隔空手势操作:播放 / 暂停、快进、快退、全屏 / 半屏切换。
同时考虑到性能影响,在满足识别需要的同时采用了摄像头最低的 540 分辨率以及 15 帧率的图像数据。并且,由于回流的数据属于敏感的用户隐私数据,我们对回流的数据执行严格的无人为处理并且供数据模型训练后及时销毁。
3.线上效果
目前开启该功能的用户,日均使用 30 次左右,目前利用数据回流带来的算法模型优化手势识别的成功率达到了 97.4%,并且还在持续提高。从媒体和渠道的反馈看,用户对这类简单好用的互动功能,接受度很高,比如有用户就给了“吃饭时看视频神器”的标签。
接下来,我们还会尝试接入新的手势及其他类型的交互方式,给用户带来更好的体验。
二、基于设备硬件实现儿童护眼模式
1.背景介绍
相信有孩子的家长们一定做过这样的事:当孩子看视频时,经常会叮嘱“离屏幕远一点”。自从苹果的 iPhoneX 和 2018 年的 iPad Pro 开始就集成了前置的原深感摄像头,可以获取到人脸相关信息,实现人脸识别解锁等功能。这部分能力已开放,可以以帧为单位实时获取识别到的人脸数据,包括 51 种脸部局部表情,人脸 3D 模型的物理世界坐标,甚至包括眼部等局部位置的坐标信息等。iOS 系统提供的 Animoji 也是基于这套硬件实现的。那么如果利用系统提供的这个“天然”的能力,我们就可以将其应用到实时监测儿童的眼睛距离屏幕的距离,来实现“自动提示”的护眼模式。
2.实施方案
我们选定 40 厘米作为儿童眼睛距离屏幕的安全距离,当眼睛距离屏幕中心小于该距离时播放画面会给出护眼提示,同时暂停播放内容。当眼睛移至 40 厘米之外时,再次恢复播放状态。
3.分享一个技术实现细节
设备监测到的双眼坐标是“基于以摄像头为原点的三维笛卡尔坐标系”,即人眼到摄像头的距离,而实际上我们需要获取的是“人眼距离屏幕中心点”的距离,两者存在一定误差,我们希望尽可能的缩小或消除它。
优化策略:系统返回的坐标信息就是基于以摄像头为原点的仿射变换 4 维矩阵,该矩阵的第四列向量的前三个元素即为 x、y、z 坐标数据,以米为单位。那么我们只需要构造出包含屏幕中心点相对于摄像头的变换矩阵即可,因为处于同一坐标系,且距离单位相同,通过计算就可以得到相对更准确的距离。
这里屏幕中心点距离摄像头的距离即 x 轴分量可以通过拿尺子实际测量的方式来获取,由于屏幕中心点相对于摄像头位置是永远不变的且同处在 xy 平面内,因此只需要一个 4 阶单位矩阵将其第四列向量中的 x 轴分量值替换成实际测量的距离并以米为单位就可以了。
三、总结
如何应用现有的技术,小步快跑地提升用户体验?我的一点经验是:一是基于对技术的需求,以合作实现最终目的,二是依赖系统提供的现有能力找到适合自己业务场景的应用。三是要提升用户体验,不一定要覆盖全部用户。我们在交互方式上的两种探索,都是以极低成本,先为一部分用户带来实际价值,再去思考创新延展。
作者 | 阿里文娱高级开发工程师 思也