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

    使用 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:

    未命名项目.mp4 (50.35MB)

    下面分别举几个例子介绍计算机视觉API的功能:
    图像标记-Tags
    计算机视觉在上千个可识别对象、生物、风景和操作的基础上返回标记。 当标记内容不明确或者不属常识时,API 响应会提供“提示”来澄清标记在已知场景中的含义。 标记不按分类来组织,且不存在继承层次结构。 内容标记集合在一起,形成图像“说明”的基础。该“说明”以人类可读语言显示,采用完整句子的格式。 请注意,图像说明目前只能使用英语。
    上传图像或指定图像 URL 后,计算机视觉算法在对象、生物和图像中标识的操作的基础上输出标记。 标记不限于主体(例如前景中的人),还包括场景(户内或户外)、家具、工具、植物、动物、配件、小器具等。
    AI-Azure上的认知服务之Computer Vision(计算机视觉) - 图3

    1. "tags": [
    2. {
    3. "name": "grass",
    4. "confidence": 0.9999995231628418
    5. },
    6. {
    7. "name": "outdoor",
    8. "confidence": 0.99992108345031738
    9. },
    10. {
    11. "name": "house",
    12. "confidence": 0.99685388803482056
    13. }]

    对象检测-Detect common objects in images
    对象检测类似于标记,但是 API 返回找到的每个对象的边框坐标(以像素为单位)。 例如,如果图像包含狗、猫和人,检测操作将列出这些对象及其在图像中的坐标。
    AI-Azure上的认知服务之Computer Vision(计算机视觉) - 图4

    1. "objects":[
    2. {
    3. "rectangle":{
    4. "x":730,
    5. "y":66,
    6. "w":135,
    7. "h":85
    8. },
    9. "object":"kitchen appliance",
    10. "confidence":0.501
    11. },
    12. {
    13. "rectangle":{
    14. "x":523,
    15. "y":377,
    16. "w":185,
    17. "h":46
    18. },

    图像进行分类-Categorize images by subject matter
    计算机视觉还返回图像中检测到的基于分类的类别。 不同于标记,类别是在父/子继承层次结构中组织的,并且数量更少(86 个,与数千个标记截然相反)。 所有类别名称均采用英语。 它可以单独完成分类,也可以与新的标记模型共同完成。

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

    1. "faces": [
    2. {
    3. "age": 23,
    4. "gender": "Female",
    5. "faceRectangle": {
    6. "top": 45,
    7. "left": 194,
    8. "width": 44,
    9. "height": 44
    10. }
    11. }
    12. ]

    已支持的分类列表:
    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(计算机视觉) - 图6

    本案例步骤:

    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(计算机视觉) - 图7
    Request Body和结果如下:
    AI-Azure上的认知服务之Computer Vision(计算机视觉) - 图8
    AI-Azure上的认知服务之Computer Vision(计算机视觉) - 图9
    Postman测试如下图所示:
    AI-Azure上的认知服务之Computer Vision(计算机视觉) - 图10
    AI-Azure上的认知服务之Computer Vision(计算机视觉) - 图11

    image.png