大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

给你1000位美女照片,你如何选出5位最漂亮的

老板给了你1000张美女model照片,让你选5位出来参加展会,请问你如何选?


A:我会嗖嗖嗖过一遍,然后随机挑5张顺眼的。

紫薯:还不如让老板随机选顺眼的。

B:开个小组会,集合大家的意见选5个最漂亮的。

紫薯:你真不在乎老板想看到哪几位美女么?

C:随机选5个身材满足标准、容貌可佳的就可以了。

紫薯:你的决策也很随机哇。

紫薯觉得:我们需要考虑老板最喜欢长成什么样的女生,需要知道来看台的客户对美女的偏好,要知道哪些美女的长相与产品、场景更相配。


所以...最好还是用上图像识别技术,让“万能”的算法帮你搞定,不然搞完这些保证你看到美女就想吐。

为了简单起见,这里只考虑老板喜好这一个因素。因为无论因素多少,我们只需要确定一个标准美女便可。

紫薯的解决方案:

第一步:紫薯:“老板,你觉得哪个明星最漂亮?” 老板:“ 孙俪”。

第二步:小叔花了3秒钟找了张孙俪姐姐的照片。


第三步:又花了3秒钟把自己的那套人脸识别、人脸相似度匹配的软件程序打开。(mac pro,)

第四步:跑程序自动匹配从1000张原始图片中抠出人脸结果,花了30分钟,这期间我喝了个茶看看了远处的风景。


下面是给每张图片打分,733张有效人脸,耗时35s:


前五名的结果出来了


第五步:又花了3秒钟,5位绝色美女的照片被发到老板面前,而这五位都是老板最喜欢的。


耗时计算:3秒+3秒+3秒 = 9秒干活 ,外加 30分钟休息。

看一张结果中第一位美女的全图,是不是还可以?


以下进入高能编码区。

介绍下程序实现方法原理:

首先遍历文件夹下所有图片,识别其面部区域,并抠图保存。

主要使用opencv的人脸识别算法,有兴趣的可以了解下haar特征,核心代码如下:



图像识别最常用的是通过颜色特征判断。图片相似性主要通过比较汉明距离来确定。像手指一样,每张图片也有自己的图像指纹,它是由一组哈希算法运算后得到的二进制结果。所谓汉明距离,便是一组二进制数据变成另一组二进制数据所需步骤。两张相同的图片,汉明距离便是0.

遍历抠出的面部区域文件夹,使用pHash(感知哈希算法)进行图片指纹的对比:



小决策,大学问。

此项目代码已经开源。但是千张美女图片因怕涉嫌传播**...,所以不敢乱放。

关注公众号,输入“识别美女”,便可获得资源下载地址,当然是整个项目的源码大包,下下来后,请阅读readme了解运行环境。

原创文章,作者紫薯. 转载自江湖象《给你1000位美女照片,你如何选出5位最漂亮的》