Azure内容审查器之羞羞图审查

上一篇 Azure 内容审查器之文本审查我们已经介绍了如果使用Azure进行文字内容的审核。对于社区内容上传图片是否含有羞羞内容也是需要过虑的。但是最为一般开发者自己很难实现这种级别的智能识别。但是借助Azure的内容审查器可以分分钟实现它。

创建内容审查器

在使用审查器之前需要在Azure上创建它。上次我们已经创建过了,这次就不在赘述了。请直接查看上一篇
Azure 内容审查器之文本审查

编写代码

创建一个控制台项目然后使用nuget安装一个库:


使用Azure封装过的库,真的超级简单,只要把图片的stream传递进去调用EvaluateFileInput就行了。

        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var endpoint = "https://x.cognitiveservices.azure.com/";
            var subscriptionkey = "x";

            var client = new ContentModeratorClient(new ApiKeyServiceClientCredentials(subscriptionkey));
            client.Endpoint = endpoint;

            var imgFile = "d://1.jpg";
            using (var img = File.OpenRead(imgFile))
            {
                //调用EvaluateFileInput识别
                var result = client.ImageModeration.EvaluateFileInput(img);

                var json = JsonConvert.SerializeObject(result,Formatting.Indented);

                Console.WriteLine(json);

                Console.Read();
            }
        }

运行代码

代码写完了,超级简单。于是我迫不及待的找了张羞羞图(别问我怎么找的)来试试。

0dorNV.png


以下是返回结果:

Hello World!
{
  "CacheID": null,"Result": true,"TrackingId": "SEA_ibiza_2a18af19-97fa-4b8d-82b2-2e1654c046fa_ContentModerator.F0_95862889-a5cc-4855-9adc-c3dff4ed6570","AdultClassificationscore": 0.9992928504943848,"IsImageAdultClassified": true,"RacyClassificationscore": 0.9999726414680481,"IsImageRacyClassified": true,"AdvancedInfo": [],"Status": {
    "Code": 3000,"Description": "OK","Exception": null
  }
}

返回的结果主要关注两个指标:

  1. AdultClassificationscore 成人内容的分值0-1之间。
  2. RacyClassificationscore 性暗示内容的分值0-1之间。

看我找的图片这两个值数值都达到了0.999,如假包换的羞羞图啊,哈哈。

下面换一张Gakki的美照试一下。

0dTK8U.jpg

下面是返回结果:

Hello World!
{
  "CacheID": null,"Result": false,"TrackingId": "SEA_ibiza_2a18af19-97fa-4b8d-82b2-2e1654c046fa_ContentModerator.F0_193fa67b-0014-41a1-9567-63289886509a","AdultClassificationscore": 0.0015181272756308317,"IsImageAdultClassified": false,"RacyClassificationscore": 0.003930455073714256,"IsImageRacyClassified": false,"Exception": null
  }
}

这个图片就是个正常图片,AdultClassificationscore\RacyClassificationscore的数值都很低。

总结

通过以上简单的不能再简单的代码就实现了图片是否有成人内容的识别。如果你自己去实现的话需要学习机器学习人工智能等知识,这个不是一天两天能够完成的。但是使用Azure内容查器就简直轻而易举。

相关文章

这个错误发生在SPFX webpart需要请求Azure AD token的时候,全部错误信息如下: {"error&...
Azure是微软提供的一个云服务平台。是全球除了AWS外最大的云服务提供商。Azure是微软除了windows之外另...
前面我们使用Azure Face实现了人脸识别、使用Azure表格识别器提取了表格里的数据。这次我们试试使用Azu...
前几次我们演示了如何通过Azure静态web应用功能发布vue跟blazor的项目(使用 Azure静态web应用+Gith...
什么是Azure Blob Stoage Azure Blob Stoage 是微软Azure的对象存储服务。国内的云一般叫OSS,是一种用...
上一次演示了如何使用Azure静态web应用部署VUE前端项目(使用 Azure静态web应用+Github全自动部署V...