AI-Azure上的认知服务之Computer Vision(计算机视觉)
使用 Azure 的计算机视觉服务,开发人员可以访问用于处理图像并返回信息的高级算法。
主要包含如下高级算法:
标记视觉特性Tag visual features
检测对象Detect objects
图像分类Categorize an image
描述图像Describe an image
检测人脸Detect faces
检测图像类型Detect image types
检测特定领域的内容Detect domain-specific content
检测颜色方案Detect the color scheme
生成缩略图Generate a thumbnail
获取感兴趣区域Get the area of interest
从图像中提取文本Extract text from images
管理图像中的内容Moderate content in images
要使用Computer Vision,图像质量必须满足如下要求:
-
图像必须以 JPEG、PNG、GIF 或 BMP 格式显示
-
图像的文件大小必须不到 4 兆字节 (MB)
-
图像的尺寸必须大于 50 x 50 像素
-
对于 OCR,图像的尺寸必须介于 50 x 50 和 4200 x 4200 像素之间
若要分析图像,可以上传图像,也可以指定图像URL。
图像处理算法可以通过多种不同的方式分析内容,具体取决于你感兴趣的视觉功能。 例如,计算机视觉可以确定图像是否包含成人内容或不雅内容,或者查找图像中的所有人脸。
可以在应用程序中使用计算机视觉,方法是:使用本机SDK,或者直接调用 REST API。 SDK中,支持最全的是C# ,部分功能包含Java,NodeJS,Python,Go SDK。
本节实战视频,如何使用Computer Vision:
https://v.qq.com/x/page/m3035yaq8lf.html
下面分别举几个例子介绍计算机视觉API的功能:
图像标记-Tags
计算机视觉在上千个可识别对象、生物、风景和操作的基础上返回标记。 当标记内容不明确或者不属常识时,API 响应会提供“提示”来澄清标记在已知场景中的含义。 标记不按分类来组织,且不存在继承层次结构。 内容标记集合在一起,形成图像“说明”的基础。该“说明”以人类可读语言显示,采用完整句子的格式。 请注意,图像说明目前只能使用英语。
上传图像或指定图像 URL 后,计算机视觉算法在对象、生物和图像中标识的操作的基础上输出标记。 标记不限于主体(例如前景中的人),还包括场景(户内或户外)、家具、工具、植物、动物、配件、小器具等。
结果示例:
"tags": [
{
"name": "grass",
"confidence": 0.9999995231628418
},
{
"name": "outdoor",
"confidence": 0.99992108345031738
},
{
"name": "house",
"confidence": 0.99685388803482056
}]
对象检测-Detect common objects in images
对象检测类似于标记,但是 API 返回找到的每个对象的边框坐标(以像素为单位)。 例如,如果图像包含狗、猫和人,检测操作将列出这些对象及其在图像中的坐标。
结果示例:
"objects":[
{
"rectangle":{
"x":730,
"y":66,
"w":135,
"h":85
},
"object":"kitchen appliance",
"confidence":0.501
},
{
"rectangle":{
"x":523,
"y":377,
"w":185,
"h":46
},
图像进行分类-Categorize images by subject matter
计算机视觉还返回图像中检测到的基于分类的类别。 不同于标记,类别是在父/子继承层次结构中组织的,并且数量更少(86 个,与数千个标记截然相反)。 所有类别名称均采用英语。 它可以单独完成分类,也可以与新的标记模型共同完成。
示例结果:
"faces": [
{
"age": 23,
"gender": "Female",
"faceRectangle": {
"top": 45,
"left": 194,
"width": 44,
"height": 44
}
}
]
已支持的分类列表:
https://docs.azure.cn/zh-cn/cognitive-services/computer-vision/category-taxonomy
除了上述内容,还支持手写体识别,表单识别等等,具体请参见官网:
https://docs.azure.cn/zh-cn/cognitive-services/computer-vision/concept-detecting-image-types
接下来,我们做一个案例,对如下图像进行检测,图像位置:
https://upload.wikimedia.org/wikipedia/commons/3/3c/Shaki_waterfall.jpg
本案例步骤:
-
在Azure创建Computer Vison API;
-
使用Azure提供的 Online API 测试工具;
-
使用Postman进行测试;
本案例完整内容,参照本文开始视频。
可使用如下地址进行在线测试:
https://dev.cognitive.azure.cn/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa/console
其中必填项如下图所示:
Request Body和结果如下:
Postman测试如下图所示:
- Azure 认知服务 (4) 计算机视觉API - 读取图片中的文字 (OCR)
- Azure 认知服务 (5) 计算机视觉API - 使用C#代码实现读取图片中的文字(OCR)功能
- Azure 认知服务 (2) 计算机视觉API - 分析图像
- Azure 认知服务 (3) 计算机视觉API - 分析图像,使用C#代码
- 计算机视觉(Computer Vision,CV)网站及人工智能(Artificial Intelligence,AI)会议
- 微软认知服务开发实践(2) - 计算机视觉
- [AI开发]Python+Tensorflow打造自己的计算机视觉API服务
- 旷视首席科学家孙剑:计算机视觉的变革和挑战 | 北大AI公开课笔记
- Azure AI 服务之文本翻译
- computer vision(计算机视觉)方面的期刊会议,学术必备
- 以下是computer vision:algorithm and application计算机视觉算法与应用这本书中附录里关于计算机视觉的一些测试数据集和源码站点,我整理了下,加了点中文注解
- 看AI产品经理如何介绍“计算机视觉”(基于实战经验和案例)
- 最好用的 AI 开源数据集 Top 39:计算机视觉、NLP、语音等 6 大类(资源)
- AI赋能的计算机视觉系统使得有可能跨入到一个新的领域
- 计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.
- Azure AI 服务之语音识别
- 《Computer Vision:Algorithms and Applications》计算机视觉 算法与应用 学习系列 目录
- 看AI产品经理如何介绍“计算机视觉”(基于实战经验和案例)
- 计算机视觉(Computer Vision)基本概念
- 【AI开发第一步】微软认知服务API应用