太狼文摘 记录 & 思辨

MeituKiss手机相机项目小结

The Web - 2013/6/30

最近,MeituKiss手机已经陆续到达用户手中了。可能我们手机目前营销的声浪无法与小米当初相比,第一次做手机的经历也让我们学到了不少。填的坑多了,自然学到的也就很多。

项目背景

MeituKiss手机(官方商城介绍)主打前置800万像素高清摄像头,让喜欢拍照的女生们能够体验到自拍神器的拍照效果。作为美图秀秀的第一款手机,我们还是秉承了Android 4.2的原生UI风格,把主要精力放在了自拍方面。主打拍照,手机内置的原生相机自然成为了重点设计的产品。由于负责手机的同学精力有限,所以我从2013年3月20日开始接手原生相机的项目。

升级打怪

第一级:整理产品文档,熟悉并优化相机产品功能架构。 

虽然之前也对拍照产品进行过相关分析和梳理,比如由「手机拍照」说开去冷眼旁观「美颜相机」——为何能登顶App Store免费总榜,但手机原生相机与第三方的拍照产品很是有很大的不同的。

从产品层面来说:作为一款自诩「自拍神器」的手机,相机既要突出手机的主打功能特色,又要尽量保持中性的定位——拍照和摄像功能兼顾,拍照功能不能过于花哨复杂,简单、明了、易用为产品第一要务;第三方拍照产品,一般定位分明,纯拍照和纯摄像应用,很少有两种功能都做的,同时走差异化路线,弥补原生相机没有的一些功能或玩法。

从技术层面来看:原生相机能够充分利用硬件的相关参数,达到最佳效果;第三方相机由于无法获取硬件参数,只能根据Android的图像Preview接口来获取预览的画面,相关拍照效果需要后期针对不同机型进行适配优化。

接手后第一件事就是梳理产品文档,一来通过梳理文档更深地理解产品的相关逻辑,二来查漏补缺,尽量让文档中的交互部分结构明晰、细节全面。相机分为拍照和摄像两大模块——摄像部分,设置分为720P、480P两种格式,同时前后置摄像头支持;拍照部分,配置了美颜、特效两种模式,美颜主要是进行实时磨皮美白、祛痘等处理,特效则是实时特效,设置项包括智能美型(主要进行亮眼、瘦脸)、智能补光、点击屏幕拍照、延时3秒拍照、保存图片质量设置(800万、500万、300万、200万等,默认保存的照片为500万)、保存地理位置信息、相机静音、防抖等。

第二级:产品迭代,「妖怪」不断。

原生相机项目成员配备,主要为1只产品狗、1名UI设计师、2名攻城师(1位负责Android应用实现,1位负责底层效果开发)。由于MeituKiss手机采用的是MTK的MT6589架构,所以相机部分的相关接口需求需要跟我们的合作厂商龙旗沟通,根据项目进展看,我们把智能补光和夜拍这两个功能都毙了,这一版本不实现,哭了!!!负责底层的同学,主要是负责美颜效果的so文件、嫁接Face++(Face++官网)的人脸识别技术、硬件的对焦和测光数据转接;负责应用实现的,需要结合MTK平台的相关接口进行功能实现。

备注:由于相机与图库是相互关联的,所以我们也对图库应用进行了修改,将Android原生应用中的相关编辑操作干掉,与之替代的是美图秀秀的美化和人像美容两个操作功能入口。一句话,图库应用,工程师也得负责改。

由于美图秀秀团队也是第一次介入硬件层面的开发与合作,所以产品开发过程中,由于相关技术实现原因,不得不进行妥协,随之而来的需求变更和产品迭代不可避免。下面针对产品中的槽点一一评述:

1.  人脸识别。不得不说Face++是个好同志,不仅仅人脸识别技术过硬,而且在合作过程中,无论是调bug还是提相关需求,Face++团队的反馈都很及时。对于人脸识别技术,iOS平台上,苹果已经提供了很优秀人脸识别功能;在Android平台,到了4.x时代,才出现了人脸识别。但是我们的相机在人脸识别方面,要求还是很苛刻的,我们希望能够定位出眼睛、鼻子和嘴的具体部位并分别进行处理,群体拍摄时也能够成功识别出多张人脸,Face++目前的效果还是很不错的(还是有提升空间的啦,比如识别速率可以更快)。

2.  美颜算法。美颜算法可以说是我们美图秀秀团队的核心竞争力,视为掌上明珠的东西自然要反复加密,严加保护。我们内部以及大老板一直在说,凭借我们这几年在图像处理领域的积累,加上强大的硬件数据支撑,做出媲美自拍神器的产品,是没有任何问题的,我们有这个底气。当然,说实话,由于不同团队间的磨合问题以及信息流畅度问题,目前MeituKiss手机里面的效果我们还不是很满意。

其实,最初在相机Demo讨论过程中,出现了一个争论:我们美颜前期效果是以真实自然为基调,此效果拍出来后,磨皮效果很自然,没有抹掉脸上本来的肤质,产品和公司的妹子们都普遍认同这种效果,因为妹子们(这些人都有自拍神器)觉得虽然TR200能够把人的皮肤磨得很透、很“白富美”,但是也太假了,而且自拍神器的效果辨识度很高,一看就知道是神器拍的,舆论压力较大。大老板则打定主意要往自拍神器的效果上靠,既然我们媲美自拍神器,那么效果就要匹配。OK,讨论结束,美颜效果就以自拍神器为标杆。

插曲:因为保存图片的时候,要进行美颜算法处理,所以会有等待时间。一开始,我提出是否能够让美颜算法进行后台保存处理,底层开发工程师说我们相机是实时传回的硬件数据,没办法进行数据结构化定义后传到后台。后来,为了让用户察觉不到明显的等待时间,我让UI设计了几个快门效果(类似iPhone的菊花状快门过渡效果、上下闸门闭合效果),但技术实现的Demo看,闭合后有明显的卡顿现象,最后只能以菊花状代替。遗憾~

3.  特效。特效部分也没啥好说的,特效设计师从特效库中选了15种特效,刚好三屏。其实,老板在准备发布会PPT的时候,为了放大特效墙的震撼力,拍脑袋想把特效搞成20多种,第二天就跟他在讨论了一下,冷静后自己同意维持15种。理解万岁!

插曲:实时特效拍摄时,项目开始阶段,保存时间略长(漏光特效比较明显),等待比较明显。后来,为了配合相关效果,相机将默认图片质量设定为500万,达到效果和效率之间的平衡。当然,特效经过不断优化,保存时间明显缩短。

4.  对焦、测光。对焦和测光的快门是判断一款原生相机好坏的直接标准。当然,对焦和测光与硬件是紧密联系的,所以这一部分是需要与龙旗合作联调。

对焦方面,逻辑关系略复杂一点。默认对屏幕区域中心点进行自动对焦;当识别到多张人脸时,也是进行中心点对焦;当识别到一张人脸时,针对人脸识别位置进行对焦;当然,如果用户进行手动干预对焦,则对焦级别最高。测光方面,其实测光跟对焦点紧密相关,往往对焦点区域会进行重新测光处理,测光好坏影响图片曝光度和出片率。光照条件很理想的情况下,出现过曝的照片是不可容忍的。

5.  自拍镜像。说实话,这是后期老板让加上去的——从后期反馈来看,自拍镜像是很多喜欢自拍的女生非常中意的细节功能。对自拍的理解程度如何,从这一功能就能反映出来(美颜相机就有自拍镜像功能)。知乎里有这样一个问题:「为什么镜子里的自己,和照片会有很大差距?别人看到的自己,更接近镜子里看到的自己,还是照片中的?」(知乎地址),其中我比较认同答案摘录如下:

镜中的自己是自我心中的自己在光影中的实时投射「心中的我」,照片中的自己是随机定格的自己的光影「无心的我」,别人眼中的自己是别人心中的你「他心的你」,别人眼中的你,既不是镜中的你,也不是照片中的你,当然,也不是我眼中的你。

同一个人的光影在不同时间映入不同的人心里,只有当时看你的人才知道。而且,同一个人在不同的时间看到的你,都不会是同一个你。

从日常习惯来看,女生们照镜子次数多了,总会觉得镜中的自己就是自我真实的写照,看自己的自拍照也一样。有照镜子的感觉,就会觉得顺眼、舒服,反之突然会有一种陌生感涌上心头,这是我吗?以此类比的,还有自己的声音!从微博的评论反馈来看,一些喜欢自拍的姑娘,一上来就问你们相机有镜像功能吗?

6.  相机预览。说实话,相机预览界面是项目过程中印象最深的一个坑。这个从今年1月份就开始纠结,为此我翻了一下邮件,针对此问题的讨论邮件就有几十封——我也对相机产品有了更深地认识。为什么说相机类产品在Android平台上适配非常麻烦呢?就是因为每台手机的分辨率不一样,取景预览的比例也不一样。

device-2013-04-15-142239

我们MeituKiss手机的分辨率是1280 x 720(16:9),而照片比例设定为4:3(4:3大小的照片相比16:9的,画面更加均衡一些)且不允许用户自主设置(原生相机的特点)。4:3的预览比例要去适配16:9的屏幕,自然需要一些妥协。起初,MTK提供的预览分辨率有160×120、176×144、320×240、352×288、480×320、480×368、640×480、720×480、800×480、864×480、800×600、1280×720、1920×1080。其中符合4:3标准的就只有800×600最理想。如果如上图所示,进行放大处理,底部操作栏透明,此种情况下,预览图像很糊,而且加上我们的美颜效果,预览效果极不理想。于是,项目团队协商可否让MTK提供960×720的预览分辨率接口——漫长的等待!

device-2013-04-15-134725

我们以HTC作为参考,960 x 720恰好保证UI居中显示,无需放大处理,是比较理想的方案。这意味这我们的原型需要作出修改(还好阿美没有砍我),上下操作栏无需透明效果处理、预览区域中间区域显示。由于我们前后置全部是800万像素的摄像头,所以界面一致。观察iPhone 5或小米2s的前后置预览界面,由于前后置摄像头的像素、模组差异,预览界面的区域是不一样的,显著效果就是顶部设置栏是否透明!

camera-美颜

之前这方面不懂,原本还以为人家UI设计就是这样的,其实产品背后是技术逻辑的差异。

插曲:摄像部分,预览界面采用的是16:9的界面,但是前后置的画质设置接口存在差异,虽然我们前置采用了800万像素,但是MTK没有提供对应的高质量画质接口,略坑!

第三级,效果调校,云雾缭绕。

项目后期,主要集中于照片成像效果的调校——亮度、对比度、饱和度、白平衡等是否正常,有没有导致照片出现偏红、过艳等现象。由于前后置摄像头分别有不同厂商提供(前置索尼,后置三星),尤其是前置加入了ISP芯片(富士通提供),所以增加了调校的难度。由于ISP也会影响到对焦和测光效果,所以这部分还得富士通、美图、龙旗三方共同沟通效果的调节工作。

效果调校工作,具体就是拿多台机器,刷不同效果版本的ROM,换地方拍、各种拍,然后再进行对比,然后总结差异及想要调整的效果提交给富士通。前置对比完了,再后置对比。有时候出现了效果问题,合作方扯皮了,还得再用MTK提供的原生相机版本进行拍摄,以排除是我们设计的原生相机带来的问题。

怎样用MeituKiss拍出女神范儿?

话又说回来,我们MeituKiss超高清美颜手机认认真真地拍起照来绝不含糊。首先,我观察来看,一个喜欢自拍的女生往往化妆能力也不差。恩,一般而言,都是希望展现自己美的一面,而且不化妆,一般很难自拍的很美,除非该女子素颜的底子厚!

知乎上有这样一个问题「如何才能拍出一张特别好看的自拍照?」,同时果壳上也有一篇文章「拍照秘籍:左脸更好看」——我稍微验证了一下,好像许多会拍的妹子都是拍的左脸,仅供参考。有些妹子会对TR200的广角效果比较反感,拍出来头大身子小,拉扯的很奇怪。

用MeituKiss自拍的时候,先自己不断地拍,找到最合适自己的自拍角度。角度OK了,找个光照充足的环境,配上一些表情姿态,其他的事情就交给MeituKiss就可以了。

从用户实际调研的效果来看,一个皮肤黑点、有点小痘小斑的女生拍出来白净、靓丽——所以,我对美女们拍的照片已经产生了免疫力,这不是真相。

剩下的坑

当然,我们的手机还是第一版,需要优化的还有很多:

  • 目前很纠结的问题是,模式状态不够明确,例如多次拍摄的时候,我不明确我现在是美颜模式还是特效模式,即使是特效,也无法知道是哪个特效;同时,一般而言,前置大多数是用来自拍,用美颜模式理所应当,但是当用户切换到后置后,用户可能会用来拍摄风景、静物等,此时我们的美颜会对照片产生影响,导致颜色失真,要命啊!
  • 自动对焦的灵敏度不够,手动对焦的失败率略高;
  • 美颜效果还不是很理想,痘痘比较多的女生拍出来后,脸部会出现不均匀的色块,影响整体的磨皮效果;同时容易把痣去掉,要是人家有颗美人痣,没了不是得疯了!
  • 鼻翼边缘、脸部轮廓边缘处理都不是很理想,容易被磨糊,同时在白色背景下,人脸边缘容易变糊,导致整个照片缺少立体感;
  • 目前的特效还无法覆盖到各种拍摄场景,例如美食类的「优格」特效,这一版本里就没有;
  • 原生相机没有加入用户相关行为统计,无法捕捉到手机用户的相关使用习惯;
  • 后置闪光灯制造的光线不够均匀,导致成像照片有局部偏绿的现象;
  • 目前手机的自拍实体键由于受位置影响,很多人都不太适应,就算使用实体按键,也会出现都抖动现象;
  • 预览界面响应时间还是不够,点击按钮拍照的延时比较高!!!
  • 摄像状态下,在开始的录像过程中会有自动对焦操作,导致最后的画面会有糊的现象。

不管怎样,都迈出去了自然收不回来。接下来挑战更多。最后 感谢北够、11、长定、小陆、阿美、七七以及其他爱拍的妹子们!



扫一扫分享到微信
分享到微信

无觅相关文章插件,快速提升流量