SE(しがないエンジニア)のブログ

IT技術ネタ(クラウド・セキュリティ周り)が中心です!他雑記(お馬さん 他いろいろ)もあり。

Cognitive Servicesに触れてみる

1週間ぶりの更新となります。。

最近、Learnに没頭してしまい1週間ぶりのまともな記事更新となってしまいました。Lv10達成には程遠いですが順調に上がってはいる感じです!

【Azure Studies その13】Microsoft Learnをはじめてみる(最終更新日:2019-08-17) - SE(しがないエンジニア)のブログ

久々の記事ですが、先日電子書籍Kindle Unlimited)で下記書籍を読んだこともあり、「Cognitive Services」に触れてみたいと思いました。

日経BP社より「さわってわかるクラウドAI Microsoft Cognitive Services実践ガイド」を出版 - NEWS

こちら良書で、初めてサービスに触れる開発者向けに丁寧な手順で手取り足取り教えて下さっています。

Cognitive Services とは?

Microsoft AI Platformの一部です。当サービスにて提供されるAPIを利用することで開発者がアルゴリズムや学習の為の大量のデータセットを用意することなくインテリジェントなアプリ開発に集中できます。

azure.microsoft.com

上のリンクは「Cognitive Service」なのに説明がなぜか「Azure Stack」?まぁ、それは置いておいて・・・・。(metaタグのdescriptionとかから情報を拾ってそうなのですが、ソース見たら「Azure Stack」のになっちゃっていました。笑)

手始めの検証を

ダッシュボードの検索で「cognitive」と入力すると当サービスに辿り着けます。何も作成していない段階では下記のような画面が表示されます。

f:id:btsn:20190819230004j:plain

「Marketplace」に飛ぶので「Cognitive Services」で「Computer Vision」を選択し「作成」しましょう。作成画面では下記のような設定にて。

f:id:btsn:20190819231914j:plain

デプロイが完了したら該当リソースに移動して「Key1」の値と「Endpoint」のURLをメモ帳か何かにコピペして控えておきましょう。ちなみに、今回は下記の「Postman」を利用して検証してみます。(前述の書籍にも利用方法は記載されています)

chrome.google.com

Chrome拡張機能としてインストールし、ユーザ登録します。「Sign Up (it's free)」で大丈夫です。新規に1個POSTする為のプロジェクト?を作成します。変えないといけなさそうなところを赤枠で囲んでます。

f:id:btsn:20190819235153j:plain

Computer Vision API」のリファレンスは下記になります。

Microsoft Cognitive Services

・GETをPOSTに

・URLは上記リファレンスの「Request URL」を参照しつつ

・Headersに「Ocp-Apim-Subscription-Key」で「(コピペしたキー)」と「Content-Type」で「application/octet-stream」を

・赤枠にはしていないですがBodyで適当な画像を

 

適宜「Save」しつつ「Send」してみると?

f:id:btsn:20190819235713p:plain

POSTした画像はこちらで返って来た結果は以下の通り。

{
    "categories": [
        {
            "name": "others_",
            "score": 0.1328125
        },
        {
            "name": "outdoor_",
            "score": 0.0078125,
            "detail": {
                "landmarks": []
            }
        },
        {
            "name": "text_sign",
            "score": 0.1328125
        }
    ],
    "color": {
        "dominantColorForeground": "White",
        "dominantColorBackground": "White",
        "dominantColors": [
            "White",
            "Grey"
        ],
        "accentColor": "C95202",
        "isBwImg": false,
        "isBWImg": false
    },
    "imageType": {
        "clipArtType": 0,
        "lineDrawingType": 0
    },
    "tags": [
        {
            "name": "cartoon",
            "confidence": 0.96585941314697266
        },
        {
            "name": "illustration",
            "confidence": 0.76049339771270752
        },
        {
            "name": "text",
            "confidence": 0.71744340658187866
        },
        {
            "name": "human face",
            "confidence": 0.50664293766021729
        }
    ],
    "description": {
        "tags": [
            "sitting",
            "book",
            "bear",
            "table",
            "computer"
        ],
        "captions": []
    },
    "faces": [],
    "requestId": "d0743359-8e5c-421a-8eb8-15b64447563f",
    "metadata": {
        "width": 400,
        "height": 400,
        "format": "Png"
    }
}

たったこれだけの作業で画像の分析結果が返るとは恐るべしですね!

「description」を見る限り、大方合っていそうな・・・・bearは謎ですが。笑

 

とまぁ、今回は「Computer Vision API」の本当に触りの部分だけいじりましたが、今後は他のAPIも色々触れてみて応用形に発展できるようにしたいと思います。