【需求来源】

1.     从用户反馈中我们看到用户希望视频聊天更好玩

2.     在两人视频以及多人视频聊天过程中用户会随手使用身边的道具如面具、墨镜等自扮滑稽的形象

3.     用户会在视频聊天中自发使用第三方具有人脸检测功能的软件来增加本地画面的趣味性,但第三方软件只实现对本地画面进行人脸装饰效果,而不能支持同时给对方也使用人脸装饰效果。这使得视频会话的双方无法在这一功能上达到互动的效果,趣味性也大大降低。

【需求分析】

  用户为什么要视频聊天好玩呢,“好玩”是一种抽象描述,是通过某些行为体验获得的心理层面的感受。人与人之间的沟通除了满足基本的信息传递,还需要愉悦快乐的感受,这份快乐来自感受对方以及感受自己。这种感受也可以在某种行为操作后获得,因此视频聊天功能可以为用户提供某种辅助行为,该行为带来的体验是好玩的,能给面对面的沟通增添欢声笑语。

  那什么功能可以提供好玩的体验呢?好玩的功能可以自娱自乐,可以与好友互动,视频聊天提供了基本的沟通功能,沟通是双向互动的,那么好玩的功能应该具有双向互动性,要有你来我往的操作体验——“玩”对方,是真正互动的核心行为。同时在视频聊天时画面内容是用户关注的焦点,那么我们仍然考虑在画面上做文章。

  因此我们最后将需求锁定为结合人脸检测技术的互动道具功能。检测到画面中的人脸后,就可以给画面中的人物使用各种道具,比如胡子,帽子等,道具可以跟随人脸位置移动,犹如用户使用了真实的物件,同时这些道具可以给对方使用,也可以给自己使用。
 

 
【开发过程】

  要实现功能需要解决三个主要问题:

1.     准确检测人脸,平滑计算人脸移动轨迹

2.     道具自适应人脸大小和位置变化

3.     将道具使用到对方画面
 
  产品设计上,要能够让双方自由互动,以及道具配置上可随心所欲,交互设计上遵循两条原则:

原则1:自由互动原则。即双方随时可以给双方任何一方使用(清除)装饰效果。
原则2:道具分类原则。根据五官位置将道具分别归类,可随意同时搭配不同五官位置的道具,例如可更换不同样式的“眼镜”,而不影响已经使用的“帽子,即支持“异类叠加,同类互斥”的逻辑。
 
  业界通用的人脸检测技术对人脸定位的精确度较低,且计算时间长。后来对算法进行了优化改进:
 

 
  视频中的人脸特征点定位算法的算法流程

1.     精确度更高。利用前一帧的结果初始化,精确度更高;利用跟踪技术进一步提高精确度。
2.      稳定性更强。利用跟踪技术可以获得更加稳定的特征点坐标,帧间之间的特征点坐标更加平滑。
3.      计算时间更短。不需要每帧都进行人脸检测,可以减少很多计算时间;同时,利用前一帧的结果初始化,使得迭代次数更少,进一步减少计算时间。
 
  得到人脸特征点后,要进行道具添加,可分为以下几个模块实现
 

 
1.      道具按检测结果输出的人脸特征点分门归类
2.      为每个道具分配关键特征点(key值),key点在道具图片上的位置

3.      道具类型(type值),为满足上述道具分类原则

4.      道具对应画面人人脸的缩放比例值

【产品上线】

  3月份产品上线后,受到视频用户好评,用户玩的不亦乐乎,真正做到了双方互动的目的。我们从运营数据中分析出,用户在使用道具功能时,给对方画面使用的次数是给自己画面使用次数的2陪,这符合当初需求分析中“玩“对方的结论。我们后续会持续对道具的设计,人脸检测在不同环境下的准确性进行优化,并在此基础上加入更好玩的互动功能。