使用 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,图像质量必须满足如下要求

  1. 图像必须以 JPEG、PNG、GIF 或 BMP 格式显示

  2. 图像的文件大小必须不到 4 兆字节 (MB)

  3. 图像的尺寸必须大于 50 x 50 像素

  4. 对于 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 后,计算机视觉算法在对象、生物和图像中标识的操作的基础上输出标记。 标记不限于主体(例如前景中的人),还包括场景(户内或户外)、家具、工具、植物、动物、配件、小器具等。

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

结果示例:"tags": [        {            "name": "grass",            "confidence": 0.9999995231628418        },        {            "name": "outdoor",            "confidence": 0.99992108345031738        },        {            "name": "house",            "confidence": 0.99685388803482056        }]

对象检测-Detect common objects in images

对象检测类似于标记,但是 API 返回找到的每个对象的边框坐标(以像素为单位)。 例如,如果图像包含狗、猫和人,检测操作将列出这些对象及其在图像中的坐标。

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

结果示例:"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 个,与数千个标记截然相反)。 所有类别名称均采用英语。 它可以单独完成分类,也可以与新的标记模型共同完成。

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

示例结果: "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

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

本案例步骤:

  1. 在Azure创建Computer Vison API;

  2. 使用Azure提供的 Online API 测试工具;

  3. 使用Postman进行测试;

本案例完整内容,参照本文开始视频。

可使用如下地址进行在线测试:

https://dev.cognitive.azure.cn/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa/console

其中必填项如下图所示:

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

Request Body和结果如下:

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

Postman测试如下图所示:

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

AI-Azure上的认知服务之Computer Vision(计算机视觉)-LMLPHP

05-19 03:12