今儿个,咱来聊聊我最近折腾的一个玩意儿——Visage。一开始听这名字,我还以为是啥高大上的人脸识别工具,结果一上手,发现还真有点儿意思。
摸索阶段
我是在网上瞎逛,想找个能在iOS设备上搞人脸检测的法子。搜来搜去,就看到这个Visage。介绍里说,这东西能通过NSNotification来获取面部信息,特别适合用Swift搞设计原型。这不正好对上我的需求嘛
于是我二话不说,就把它给弄下来。安装过程倒是挺顺利,没出啥幺蛾子。装好之后,我迫不及待地打开示例项目,想看看这玩意儿到底咋用。
实践出真知
打开示例项目,代码倒是挺简洁的。我一边看代码,一边琢磨,这Visage的核心应该就是那个NSNotification。它就像个广播站,Visage检测到人脸,就通过这个广播站把信息发出来。咱们,只要守着这个广播站,就能收到消息。
我照着示例代码,自己也写个小demo。别说,还真挺好使。我把摄像头对准自己,屏幕上立马就出现各种面部数据,什么眼睛位置,嘴巴大小,都能显示出来。看着这些数据,我感觉自己就像个技术大牛,瞬间有成就感。
光看数据没啥意思。我琢磨着,能不能用这些数据做点儿更有趣的事情?于是我又开始折腾,尝试把这些数据跟一些UI元素绑定起来。比如说,我可以用眼睛的位置来控制一个小图标的移动,或者用嘴巴的大小来改变一个图片的缩放。这么一搞,我的demo就变得生动起来,感觉就像个小游戏。
一些小坑
折腾的过程中也遇到一些小坑。比如说,有时候检测到的数据不太稳定,会跳来跳去。这可能是因为光线不或者我的脸动得太快。遇到这种情况,我就得想办法优化一下,比如加个滤镜,或者限制一下数据的更新频率。就是不断地尝试,不断地调整,直到效果满意为止。
一点感悟
这回折腾Visage的经历还是挺愉快的。它让我对iOS上的人脸检测有更深入的解,也让我体验一把用Swift搞设计的乐趣。虽然中间遇到一些小问题,但通过自己的努力,最终都解决。这让我更加坚信,只要肯动手,肯钻研,就没有什么技术难题是搞不定的。
对,我还发现网上有另外一个Visage,是用来查看collectd统计信息的,还能提供JSON接口,但我这回折腾的不是这个,大家别搞混。,还有个恐怖游戏也叫这名!今儿分享的可是正儿八经的技术实践,胆小鬼可别玩错!