昨天刷手机突然看见这个“丑脸评分”的东西,心说这啥玩意儿?点进去一看就是个给长相打分的表,还挺邪乎的。想着反正闲着也是闲着,不如试试看自己玩一把,顺便记录一下,万一有人也想玩。
第一步:先找工具
这玩意儿肯定不是手算的?上网一搜,好家伙,一堆说用这个库那个库的。我这种半吊子编程水平,太复杂的不想碰。找到一个看着最顺眼的Python库,叫什么名字就别提了,主要因为它教程看起来傻瓜,号称“一行代码给颜值打分”。行,就你了。
具体干了
- 打开了我的破电脑,进到命令行那个黑乎乎的窗口。
- 敲了句pip install 那个库名(名字自己搜)。
- 瞪着眼看它下载,心里默念“别报错别报错”,还行,装上了。
第二步:搞张照片试试水
工具有了,得喂给它一张脸看。翻了翻手机相册,找了张自己刚睡醒、油光满面、角度清奇的“生活照”。绝对够“丑”,测这个工具够不够格。把照片存到电脑桌面一个新建的文件夹里,方便找。
注意了:
- 照片别太大,电脑风扇呼呼转,它容易识别不出来卡死。
- 脸上最好没有墨镜、口罩挡着,不然它识别不出是人脸就歇菜了。
第三步:抄代码,开跑
根据那个库的快速入门指南,抄了段最短的代码,大概就五六行的样子。核心命令就是:把照片路径塞进去,然后让它“打分”(score)。在命令行里敲了句 python face_*(我文件名就随便取的)。
这时候开始紧张了:
- 按了回车,屏幕开始刷刷刷滚代码。
- 心提到了嗓子眼,怕它蹦出一堆红色错误。
- 结果它识别成功!打印出来一个大大的数字:3.7分!好家伙,真不客气!
第四步:多整几张,对比看看
一张照片说明不了问题。我又从电脑里扒拉出几张照片:
- 有张精修的证件照(心想这回总能高分了)。
- 还有张和朋友合照里的截图(表情比较囧)。
- 又找了张明星的图(看看标准答案啥样)。
改了下代码里的文件路径,换成新照片,依次跑了一遍。
结果乐了:
- 精修证件照:6.8分(修图师的钱白花了?)。
- 朋友合照截图:4.1分(比我的油脸强点有限)。
- 明星照片:9.2分!这分数看着还像个样子。
这么一看,这工具打分相对值好像还真有点道理?至少它能区分出普通人颜值波动和真正的帅哥美女。
第五步:整明白它是咋想的(大概)
光看分数没意思,得知道它为啥这么打分。又在文档里翻了翻,发现可以输出更详细的打分项。调整了一下代码,让它把各个维度的分数也吐出来:比如脸部对称性、皮肤光滑度、五官协调性、是不是大圆脸、眼睛大小啥的。
跑完一看分析报告:
- 我那3.7分的“佳作”:对称性扣分巨多、皮肤光滑度几乎没有、五官协调?不存在的,圆脸和大眼睛的分数倒还凑合。
- 明星那张9.2分的:几乎全是绿色高分项,尤其是五官协调和对称性,拉满了。
懂了懂了: 这玩意儿就是一套固定的标准打分,分析你脸型、五官位置、皮肤纹理这些数据点,然后算个综合分出来。
玩完感受
折腾一上午,发现这丑脸评分表:
- 玩玩就行,千万别当真,更别代入自己。它就是个算法,冷冰冰的数据。
- 技术实现比想象中简单,工具都是现成的,抄代码就能跑。
- 分数仅供参考,找图对比图的过程反而更有意思,能看到算法捕捉到的一些特征。
- 记住重点:纯属娱乐!谁拿这个分数跟你较真,你直接拉黑他。
玩着玩着,我还真给研究起来了。
结果老东家不知道从哪儿知道我研究这些东西,突然打电话问我是不是会人脸算法分析。
我心想你当初不是翻脸不认人么?电话那头支支吾吾的,意思可能有什么新项目。
电话直接挂了拉黑。
没多久又换同事微信加我,也给我拉黑了。
看他们在朋友圈天天发些“技术探索不易”的东西,我就在这研究“丑脸评分”,挺自在的挺