从零开始玩人工智能—机器视觉API—02
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始玩人工智能—机器视觉API—02相关的知识,希望对你有一定的参考价值。
本期有福利哦!不要错过啦!
前文简单实现了认知服务对图片的检测识别。检测识别是其他机器视觉实现的基础,除了我们示例代码涉及的初步“看懂”图片,认知服务其实可以按照要求返回不同的信息,例如:
Categories – categorizes image content according to a taxonomy defined in documentation.
Tags – tags the image with a detailed list of words related to the image content.
Description – describes the image content with a complete English sentence.
Faces – detects if faces are present. If present, generate coordinates, gender and age.
ImageType – detects if image is clipart or a line drawing.
Color – determines the accent color, dominant color, and whether an image is black&white.
Adult – detects if the image is pornographic in nature (depicts nudity or a sex act). Sexually suggestive content is also detected.
Celebrities – identifies celebrities if detected in the image.
Landmarks – identifies landmarks if detected in the image.
有一项功能信息,Adult,我们可以把它理解为成人图像识别。互联网太强大,但很多时候,我们不希望在不合适的时候看到成人图像,例如不想让孩子看到成人内容。据说,有个职业叫做鉴黄师,以后是不是可以让AI来做这样的工作呢?于是,这个API的返回引起了我的兴趣……
首先想试试机器视觉,于是找了Cortana的照片让它识别。还挺铁面无私的,尽管是自家的,Computer Vision API 还是告诉我,它觉得这张图有点轻度猥亵(0.342),但不算成人内容。
那怎样算是成人内容呢?坦白说,我觉得目前准确度还不是很高吧,以科学的名义,我尝试了露点的人体艺术照片,甚至无码高清的AV截图……它一直告诉我是猥亵内容,却没说是成人内容…直到我突然想到,也许是目前人工智能训练的图片不多?换个知名些的图片呢?脑海里想到了“德艺双馨”的苍老师…行动起来!
终于,成人内容评分上去了,机器视觉告诉我这是张×××了,泪目……
还是挺强大的,不光知道是张×××,而且告诉我,图中是 Sola Aoi lying on a bed。苍老师躺在床上…… 你不信 Sola Aoi 就是苍老师?来,上Wiki~
没错吧?机器视觉很准确的认出了苍老师,以及她在干啥,看来也是阅片无数,心中无码的老司机啊~
不要以为我是哗众取宠哦,看看百度图片,已经开始在图片搜索中加入了机器视觉了,可以通过图片了解到对应的信息了。脸盲症的我有救了……
福利聊完了,再看看别的。上期聊了机器视觉能够从图片中分辨86类事物,其实有些事物是我们特别注意的,比如著名的地方和人。在机器视觉API的接口中,就有针对这两种的特定领域识别。
上期我对把天安门识别为:A large red building with tiananmen square in the background 耿耿于怀,所以我特意在使用celebrity和landmark之前试了试白宫的图片。很好~一视同仁,白宫也被识别为:A large white building with grass and trees with white house in the background 看来,是机器视觉的语言能力还不太好,哈哈。
我们来指定机器视觉识别一个地理标志 Landmark。我找了一张西雅图的照片,表达我没能参加正在西雅图举办的2018第25届MVP全球峰会的遗憾。这张照片跟之前我去峰会时,在Kerry Park冻了四小时拍的那些照片角度很接近。
代码和之前的类似,只是POST的URL不太一样。我尝试修改一下matplotlib里画图的参数,看看能不能把标记写到右上方。
果然,太空针还是被识别出来了,给出了相似度评分:
{
'result': {
'landmarks':
[{
'name': 'Space Needle',
'confidence': 0.985418438911438
}]
},
'requestId': '28210182-6b2b-422b-b94d-daa482d20c92',
'metadata': {
'height': 428,
'width': 665,
'format': 'Jpeg'
} }Space needle
把返回的Caption写到图片上。
挺简单吧。接下来看看人物识别的。为了考考人工智能,也为了有点戏剧效果,我找了张和宠物“撞脸”的照片给机器视觉。原本想找孙红雷和×××梗的,一时没找到,也怕机器视觉不认识。萨缪尔.杰克逊是为人熟知的演员,在漫威电影里他是S.H.I.E.L.D.神盾局的局长。那就用他了~
机器视觉很聪明,没有认错,哈哈哈。返回了简单明了的人名、相似度评分和脸部取样区域。
{
'requestId': '22d4ff5a-be22-4714-819c-16cb0b4ec8a6',
'metadata': {
'width': 888,
'format': 'Jpeg',
'height': 525
},
'result': {
'celebrities':
[{
'confidence': 0.9998701810836792,
'name': 'SAMUEL L. JACKSON',
'faceRectangle': {
'width': 280,
'height': 280,
'top': 152,
'left': 25
}
}]
}
}SAMUEL L. JACKSON
前面苍老师做识别的时候,不是画了个框显示面部识别的区域吗?我们也来画一个,然后把识别出来的名字写在框上。干这个需要用到返回的脸部坐标,然后使用matplotlib来绘制。
这就是输出的结果了。一共也没几行代码,是不是很简单?
以上是关于从零开始玩人工智能—机器视觉API—02的主要内容,如果未能解决你的问题,请参考以下文章