这个在quora上已经好几千的赞了,来源→http://www./How-does-how-old-net-work 以下是翻译 ———————————————— 作者:Eason Wang 必应 高级项目经理 我直接参与了这个项目,后端代码是我们必应的团队和微软学术一起合作完成的。说实话,这么个小应用,得到了病毒式的传播,对我来说还挺惊讶的。关于「/ 为啥能病毒式传播?」我在 Medium 上发了篇文章做了些分析,有兴趣请戳→https:///@yushunwang/10-reasons-why-howoldrobot-gets-viral-1a0eb5cb0d96 回正题,分两部分回答这个问题。 1,我说下如何在其他 App 中快速实现相同的功能; 2,我来深入讲下这个技术本身。 一,从微软开源项目 Oxford 说起 过去几年,必应图片搜索中的图像理解能力应该是行业内最好的。 Microsoft Project Oxford Home(https://www./) 这个项目原本是被用在必应的,后来很快就扩展到其他的微软产品,现在又开放给了所有的开发者。 想要在你的 App 中实现相同的功能,简单地调用 API 后获得你要的信息后返回到 JSON 格式就可以了。你可以在这个页面(www.) 上传张图片试试看。几秒内就能返回面部坐标、性别、年龄的数据。而面部识别 API 调用只是我们在 Oxford 项目中开放的众多功能之一,在调用的API 接口中还有很多其他的核心功能能够驱动创新。 一想到微软内部的 API 接口能开放给所有的开发者我还是很激动的!这对开发者们来说肯定是有深远影响的,这要是在以前是难以想象的,现在却只需要一个简单的Web API调用。 #How Old Robot 真的只是特别小的一个 Demo 用来展示我上面说的这些功能——Azure ML团队的一个开发者一天内就把它弄出来了。 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
JSON:
[
{
"faceId": "5af35e84-ec20-4897-9795-8b3d4512a1f9",
"faceRectangle": {
"width": 60,
"height": 60,
"left": 276,
"top": 43
},
"faceLandmarks": {
"pupilLeft": {
"x": "295.1",
"y": "56.8"
},
"pupilRight": {
"x": "317.9",
"y": "59.6"
},
"noseTip": {
"x": "311.6",
"y": "74.7"
},
"mouthLeft": {
"x": "291.0",
"y": "86.3"
},
"mouthRight": {
"x": "311.6",
"y": "88.6"
},
"eyebrowLeftOuter": {
"x": "281.6",
"y": "50.1"
},
"eyebrowLeftInner": {
"x": "304.2",
"y": "51.6"
},
"eyeLeftOuter": {
"x": "289.1",
"y": "57.1"
},
"eyeLeftTop": {
"x": "294.0",
"y": "54.5"
},
"eyeLeftBottom": {
"x": "293.0",
"y": "61.0"
},
"eyeLeftInner": {
"x": "297.8",
"y": "58.7"
},
"eyebrowRightInner": {
"x": "316.0",
"y": "54.2"
},
"eyebrowRightOuter": {
"x": "324.7",
"y": "54.2"
},
"eyeRightInner": {
"x": "312.9",
"y": "60.9"
},
"eyeRightTop": {
"x": "317.8",
"y": "57.7"
},
"eyeRightBottom": {
"x": "317.9",
"y": "63.7"
},
"eyeRightOuter": {
"x": "322.8",
"y": "60.8"
},
"noseRootLeft": {
"x": "304.0",
"y": "60.2"
},
"noseRootRight": {
"x": "312.2",
"y": "61.2"
},
"noseLeftAlarTop": {
"x": "302.6",
"y": "70.2"
},
"noseRightAlarTop": {
"x": "313.0",
"y": "70.0"
},
"noseLeftAlarOutTip": {
"x": "298.8",
"y": "76.2"
},
"noseRightAlarOutTip": {
"x": "315.2",
"y": "76.6"
},
"upperLipTop": {
"x": "307.3",
"y": "84.0"
},
"upperLipBottom": {
"x": "306.6",
"y": "86.4"
},
"underLipTop": {
"x": "305.5",
"y": "89.6"
},
"underLipBottom": {
"x": "304.1",
"y": "94.0"
}
},
"attributes": {
"age": 24,
"gender": "female",
"headPose": {
"roll": "4.0",
"yaw": "31.3",
"pitch": "0.0"
}
}
}
]
|
(以上基于面部五官的坐标位置分析年龄性别和头部姿态)
二,说说「How Old Do I Look?」这个技术本身 http:/// 实现起来主要靠三个关键技术(面部识别、性别分类和年龄检测)。首先面部识别是其他两种技术的基础;而对年龄检测和性别分类来说,他们就是机器学习中经典的回归分析和统计分类的问题,涉及到人脸特征表示、训练数据收集、回归/分类模型的建立和模型优化。这方面已经有很多出版书籍了,如果你有足够的兴趣去了解更多,站内联系我也行。 
另一方面,图像理解已经被深度学习和大数据认识引向了一个全新的突破点,对于将来更多的智能系统和 API 来说,无疑打开了一扇新的大门。可以看看我最近的博客,了解下图像图形是怎么用更先进的运行方法工作的。 http://blogs.bing.com/search-quality-insights/2015/04/22/the-image-graph-powering-the-next-generation-of-bing-image-search/ 补充或改进这个答案请留下你的评论,谢谢! ———————————————————— 来自微信号:Quora中字 基于兴趣翻译知识菜市场 Quora.com 的优质内容
|