はまったりひらめいたり…とか…

Angularや.NETやAzureやその他色々。

Congnitive Serviceを使ってみる - App実行編(Adult検証) -

続きです。

完全に釣りタイトルかもしれませんが

VisionがXamarinでも使用できるのであれば

顔認識系のアプリもさくっとできるかもしれない。

というかそれがしたいがために、このサービスの検証をしています。

「Adult」はAPIの中にあったんで、気になって検証しました。

だって男の子ですし

コンソールアプリケーションで試す(Code)

以下のサイトを参考にコンソールからCongnitive Serviceを使用してみます。

Microsoft Cognitive Services - Documentation

NuGetでVisionを取得
f:id:TakasDev:20160508032259p:plain

ソース

VisionServiceClient VisionServiceClient = new VisionServiceClient({SUBSCRIPTION_KEY});
AnalysisResult analysisResult;

using (Stream imageFileStream = File.OpenRead({FILE_PATH}))
{
    VisualFeature[] visualFeatures = new VisualFeature[] { VisualFeature.Adult, VisualFeature.Categories, VisualFeature.Color, VisualFeature.Description, VisualFeature.Faces, VisualFeature.ImageType, VisualFeature.Tags };
    analysisResult = await VisionServiceClient.AnalyzeImageAsync(imageFileStream, visualFeatures);
}

これだけです。

これだけでComputerVisionの恩恵をあずかれるのは素晴らしいですね。

動かしてみる

自分の写真を使ってみました(実際に目線はないしサイズももうちょっとでかいです)

・こんなん
f:id:TakasDev:20160508032504p:plain

実行結果
f:id:TakasDev:20160508032714p:plain

きちんと返ってきました。中身も色々と興味深いです。

現在年齢は27、1歳など誤差の範囲なので、いい感じの認識能力です。

GenderはFemale??

MSでは、Female=男なの?と訝しみ、Bingで翻訳してみましたが「女性」と出ましたので

やはり、自分はMS的には女性として認識されているようです。
(日本人の顔認識は苦手なのかな?)

「Adult」が気になる
f:id:TakasDev:20160508032545p:plain

IsAdultContent = False?

もしかして、これ画像が成人コンテンツか判断しているのか?

気になるので検証してみました。

いざAdult検証

というわけで、検証のため、検証のため

肌色多めのあだるてぃな画像を用意して検証してみました。
(さすがに画像は載せれません)

結果
f:id:TakasDev:20160508033210p:plain
Adult認証!

やはり画像が成人コンテンツかどうか判定するものなんですね。

ちなみに、↓みたいな肌色一色の画像はFalseになりました。結構有能っぽいです。
f:id:TakasDev:20160508033350p:plain

ちょっと真面目にAdult考察

まぁ画像1・2個試しただけなので、その精度はいかがなものか?というのもありますが

お子さん向けのアプリケーションで、フィルタをかけるのにいいかもしれません。

また、MobileApp系の審査って、成人コンテンツに敏感なイメージがあります

Upload&閲覧系のアプリケーションの成人コンテンツのブロックにもいいかもしれませんね。

しかし、2次元とか水着とか肌の色がアバターとか着衣とかどうなるんだろう…?

明日にでも試そうと思います。んでXamarinの人柱erに戻ります。

今日はもう限界なのでここまで。