`

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

阅读更多

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

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

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

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

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

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

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

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

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

紫薯的解决方案:

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
......
modelin/1 (9)(8).jpg
modelin/1 (9)(9).jpg
modelin/1 (9).jpg
modelin/Alyson-Hannigan-5.jpg
modelin/Alyson_Hannigan_200512.jpg
modelin/fangbingbing.jpg
modelin/gaoyuanyuan.jpg
modelin/libingbing.jpg
modelin/linqingxia.jpg
modelin/linzhiling.jpg
modelin/liushishi.jpg
modelin/liuyifei.jpg
modelin/lizhi.jpg
modelin/Miley-Cyrus-Photos.jpg
modelin/Screenshot at Dec 11 22-10-55.png
modelin/shuwei.jpg
modelin/tangwei.jpg
modelin/zhangmanyu.jpg
detect 1015 faces, cost 1777.025725 seconds! /////耗时

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
......
图片名称:[1 (9)(7)face.jpg], 与目标图片相似度=[74]
图片名称:[1 (9)(8)face.jpg], 与目标图片相似度=[64]
图片名称:[1 (9)(9)face.jpg], 与目标图片相似度=[66]
图片名称:[1 (9)face.jpg], 与目标图片相似度=[54]
图片名称:[Alyson-Hannigan-5face.jpg], 与目标图片相似度=[52]
图片名称:[Alyson_Hannigan_200512face.jpg], 与目标图片相似度=[46]
图片名称:[gaoyuanyuanface.jpg], 与目标图片相似度=[44]
图片名称:[libingbingface.jpg], 与目标图片相似度=[42]
图片名称:[linqingxiaface.jpg], 与目标图片相似度=[58]
图片名称:[linzhilingface.jpg], 与目标图片相似度=[56]
图片名称:[liushishiface.jpg], 与目标图片相似度=[44]
图片名称:[liuyifeiface.jpg], 与目标图片相似度=[44]
图片名称:[lizhiface.jpg], 与目标图片相似度=[54]
图片名称:[Miley-Cyrus-Photosface.jpg], 与目标图片相似度=[44]
图片名称:[Screenshot at Dec 11 22-10-55face.jpg], 与目标图片相似度=[56]
图片名称:[tangweiface.jpg], 与目标图片相似度=[44]
图片名称:[zhangmanyuface.jpg], 与目标图片相似度=[48]
detect 733 faces, cost 35.284538999999995 seconds!//////耗时

前五名的结果出来了

1
2
3
4
5
图片名称: (52)face.jpg , 与目标图片相似度= 94
图片名称: 0 (142)face.jpg , 与目标图片相似度= 94
图片名称: 1 (27)face.jpg , 与目标图片相似度= 94
图片名称: 1 (26)(5)face.jpg , 与目标图片相似度= 92
图片名称: 1 (2)face.jpg , 与目标图片相似度= 92

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

 

以下进入高能编码区。

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

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

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

1
2
3
4
5
6
7
8
start = time.clock()
for file in files:
##mac系统,删除SD_Store隐藏文件
    if 'DS_Store' in file:
        continue
    print ('modelin/'+file)
    outFaces('modelin/'+file,file[:-4])
print ("detect %d faces, cost %s seconds!" % (len(files),time.clock()-start))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def detectFaces(image_path):
    img = cv2.imread(image_path)
 
    face_cascade = cv2.CascadeClassifier("cvdata/haarcascades/haarcascade_frontalface_default.xml")
    if img.ndim == 3:
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    else:
        gray = img 
 
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(10,10),
                                     flags=cv2.CASCADE_SCALE_IMAGE)
    result = []
    for (x,y,width,height) in faces:
        result.append((x,y,x+width,y+height))
    return result

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

 

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

1
2
3
4
5
6
7
for fname in files:
    image2 = Image.open('modelout/'+fname)
    score = classify_DCT(imageStand,image2)
    dicAll[fname] = score
    print ("图片名称:[%s], 与目标图片相似度=[%d]" % (fname,(100-score)))
     
print ("detect %d faces, cost %s seconds!" % (len(files),time.clock()-start))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def simmilar_people(image1,image2,size=(32,32),part_size=(8,8)):
 
    assert size[0]==size[1],"size error"
    assert part_size[0]==part_size[1],"part_size error"
 
    image1 = image1.resize(size).convert('L').filter(ImageFilter.BLUR)
    image1 = ImageOps.equalize(image1)
    matrix = get_matrix(image1)
    DCT_matrix = DCT(matrix)
    List = sub_matrix_to_list(DCT_matrix, part_size)
    middle = get_middle(List)
    code1 = get_code(List, middle)
 
 
    image2 = image2.resize(size).convert('L').filter(ImageFilter.BLUR)
    image2 = ImageOps.equalize(image2)
    matrix = get_matrix(image2)
    DCT_matrix = DCT(matrix)
    List = sub_matrix_to_list(DCT_matrix, part_size)
    middle = get_middle(List)
    code2 = get_code(List, middle)
 
    return comp_code(code1, code2)

 

小决策,大学问。

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

美女图片来自http://www.m4493.cn

分享到:
评论

相关推荐

    古典美女照片模板PSD

    "古典美女照片模板PSD"是一个专门针对古典美女主题设计的PSD资源,通常包含了多层、可编辑的元素,如图像、文字、形状等,方便设计师进行定制和修改。 首先,让我们深入了解一下PSD文件。PSD是Adobe Photoshop的...

    PS上色教程PS给冷艳美女照片上色

    Photoshop(简称PS)是一款由Adobe公司...这个教程适合初级到中级的PS用户,通过实践,你将掌握如何用PS给冷艳美女照片上色,提升你的图像处理技能。记住,不断练习和创新是提高技巧的关键,祝你在PS的世界里越走越远!

    美女时钟内含1000多张素材图片

    标题中的“美女时钟”可能是指一个数字时钟软件,其中的显示元素是各种美女图片,每过一分钟,时钟的背景或者指针就会切换成新的一张美女图片,以此为用户带来视觉上的变化和趣味性。这样的设计在桌面时钟应用中可能...

    美女壁纸 看美女软件 v1.0.0.11.zip

    看美女客户端集合最全的性感美女,美女写真,丝袜美女,韩国美女,日本美女,比基尼美女等美女图片,更提供清纯靓丽美女图片,性感美女图片,明星美女图片,网友自拍等专题,想要看美女图片,就来看美女。...

    360度美女全景视频,最新流量密码,制作简单,日入1000+,可矩阵揭秘

    今天呢就给大家拆解这个360度全景美女视频的玩法,可以说是最新的流量密码了,有人呢,借助这个新的玩法呢,做美女号效果非常不错,来看一下这个号,仅仅不到一个月的时间涨粉五万多,视频呢,几乎全都是这种360度...

    PS调出美女照片冷艳中性色

    在本篇Photoshop教程中,我们将探讨如何将一张美女照片转化为具有冷艳中性色调的图像。这个调色技巧能够使照片呈现出一种独特的风格,既不失原有美感,又增加了几分神秘与时尚感。以下是实现这一效果的具体步骤: 1...

    Photoshop照片处理给美女黑白照片做“彩妆”上色.doc

    在Photoshop中为美女的黑白照片进行"彩妆"上色是一种创新的图像处理技术,它将传统的黑白照片转化为色彩鲜明、生动形象的艺术作品。这个过程涉及到多个步骤,包括选择工具、调整图层、混合模式以及细致的色彩填充。...

    韩国美女照片模板PSD

    韩国美女照片模板PSD

    1000元买的美女小偷源码

    【标题】:“1000元买的美女小偷源码” 在IT行业中,源码是程序的核心部分,它包含了编写应用程序的所有指令和逻辑。"美女小偷"可能是指一款特定的软件或游戏,其功能或者特色与“美女”这一主题有关,可能是休闲...

    ( 调出美女照片怀旧漫画效果.doc

    在Photoshop中调出美女照片的怀旧漫画效果是一个创新且有趣的图像处理技巧,它可以将现实的照片转化为具有复古风格的漫画艺术作品。以下是一个详细步骤的解析,教你如何实现这一效果: 1. 首先,打开你要处理的人物...

    java_yy_美女照片

    很抱歉,但根据您给出的信息,标题"java_yy_美女照片"和描述"源描述有机会获得我们的推荐"似乎与IT知识无关,更偏向于个人照片或某种活动。标签"照片"也证实了这一点。而压缩包子文件的文件名称列表看起来是图片...

    一个创意的点名器(选美女)

    5. **条件筛选**:根据“选美女”的特性,可能涉及到根据预设条件(如性别、特征等)筛选参与者的功能,这需要对数据结构和算法有一定理解。 6. **安全性**:如果涉及到用户输入和数据交换,必须考虑数据安全和隐私...

    美女图片微信小程序源码

    《构建与运营美女图片微信小程序的全面指南》 在当今移动互联网时代,微信小程序因其无需安装、即用即走的特点,已经成为许多企业和个人开发者的重要选择。本教程将围绕"美女图片微信小程序源码"这一主题,详细介绍...

    古典美女艺术照片模板

    古典美女艺术照片模板

    美女摄影照片模板PSD

    美女摄影照片模板PSD

    Python的网络爬虫-爬取校花网所有美女的照片

    美女校花的惊艳美照,看着就像见到了初恋,那是心动的感觉! 徒手敲出的Python网络爬虫,利用正则爬取网站上所有的美女校花的图片。 一个个下载另存太过于麻烦 另外,网站地址只要是知道的,照片就能爬取下来。

    大屏幕LCD仿真美女照片 C语言程序+Protues仿真图

    标题中的“大屏幕LCD仿真美女照片 C语言程序+Protues仿真图”指的是使用C语言编写的一个程序,该程序能够在大屏幕LCD(液晶显示器)上显示美女照片。这通常涉及到嵌入式系统开发,其中C语言作为低级编程语言,常用于...

    10张美女壁纸.rar

    【标题】"10张美女壁纸.rar" 暗示这是一个包含10张与美女相关的壁纸图像的压缩文件,主要用于个性化用户的电脑或手机屏幕背景。这些壁纸可能包括各种风格、主题和美女形象,旨在为用户提供视觉享受和个性化体验。 ...

    古装美女壁纸20张古装美女壁纸20张20-40

    标题"古装美女壁纸20张古装美女壁纸20张20-40"和描述"古装美女壁纸20张20-40"都指向了一个主题,即一个包含20张古装美女图片的壁纸集合。这里的“20-40”可能指的是图片的分辨率,比如宽度为20英寸到40英寸,或者...

    美女图片Android应用

    收集了超过 60,000张中、日、韩、外国的明星美女图片和桌布,让用家浏览及下载 美女 CASA(高清) 写真图库每日更新,为您的 Android 装置提供 60,000 张高质素美女桌布。 特点: - 浏览超过 60,000张高清美女明星...

Global site tag (gtag.js) - Google Analytics