FaceAPIでTeamsを円滑に[Part1 Detection編]
2020-04-08
azblob://2022/11/11/eyecatch/2020-04-08-faceapi-smoothing-teams-chat-000-e1586329329422.jpg
  1. はじめに
  2. まずは動かしてみよう
  3. Teamsへ出力
  4. さいごに

はじめに

こんにちは! 新卒一年目の椎名 泰之です。Tech Blog講習で「4月中に1本記事を書きましょう!」みたいなことがあったので、3パートに分けて本稿を書いていきます。 (間に合ってない)

内容は、「テレワークで顔を突き合わせても、表情が分かりにくくて話しづらい!」みたいなことを解決する内容です~
(絶対どこかに既出だ…)

本稿はその中でも 1 / 3 "Face Detection"(顔検出)までを進めていきます。

自己紹介

self-introduction

  • 生年月日: 2000年3月4日(晴れて20歳)
  • 出身地: 東京都
  • 趣味: スキー、音楽制作、シミュレーターゲーム
  • 好きなゲーム: 洞窟物語、WarThunder、MetalGearなど
  • 関心のあること: クラウドインフラ
  • ビジョン: 情報の流れを滑らかにしたい

自己紹介はこの辺にして、本題に移りましょう!

Face APIとは?

AzureのCognitive ServiceのFaceサービスを使用すると、高度な顔アルゴリズムにアクセスすることができます。
Microsoft Faceのアルゴリズムにより、顔属性(例えば、頭部姿勢、性別、年齢、感情、顔ひげ、眼鏡)の検出と顔検証(認識)、類似顔判定、顔の分類、人物特定などができるので、かなり活用の幅が広そうです!

Microsoft Teamsとは?

Microsoft Teams - グループ チャット ソフトウェア > まるですぐそこにいるかのようなリモートワークを。

というコンセプトでMicrosoft社より提供されている、コミュニケーションプラットフォームです。

まずは動かしてみよう!

必要なもの

  • Azureサブスクリプション
    Azureを利用するにはアカウントサブスクリプション(支払情報) が必要になります。
    ここから登録ができると思うので、先にやっておきましょう。

  • クライアントSDK

    • .NET Core
    • Python 3.x
    • 最新のGo

上記向けにはSDKが配布されているので、NuGetで持ってくるなど良しなにしましょう。
他にも、REST APIがあるのでそちらを叩いてもいいのですが、今回はC# .NETでやっていきたいと思います。

Step.1 Faceリソースの作成

まずはAzureポータルにてFaceの動くリソースを作成していきます。
Azure Portalにアクセスすると、次のような画面が出てきます。 ここで、リソースの作成を選びましょう。
002
すると、Marketplaceに移動します。 上部にて検索ができますので、"Face"と入力するとサジェストでFaceが出てきます。これをクリックしてそのまま作成に移りましょう。
003
ここではFaceの概要やプランについて説明されていますが、とりあえず「作成」を押してみましょう。
004
ここからは基本的な構成の入力になります。

  1. まずは適当な名前を入力しましょう(ここで入力した名前がリソース名になります)
  2. 続いて、お持ちのサブスクリプションを選択してください
  3. リソースを置くリージョン(場所)を選択します(今回はjapaneastでやっていきます)
  4. ここでは料金プランを選択します 現時点ではFreeStandardがありますが、F0: Freeを選択します(1分当たり20トランザクション、1か月あたり30kトランザクションの制限付きです 詳しくはこちらへ)
  5. 最後にリソースを入れるリソースグループを選択/新規作成します
  6. 以上の記入事項に誤りがないことを確認し、作成をクリックしましょう

005
デプロイが完了するまでは少し時間がかかるので、この画面が表示されるまで待ちます。
完了したら、「リソースへ移動」を押してリソースを見に行ってみましょう。
006
リソースを開くとクイックスタートにこのような2つの文字列が表示されるので、事前にメモをしておきましょう。
最近はどうやら直接は表示されないらしいので、「キーとエンドポイント」 という画面から確認して下さい。(2020/4/30追記)
007

Step.2 新規C#アプリケーションの作成

裏で動くリソースができたので、プログラム本体に移りたいと思います。
まずは、後程使うために環境変数を追加しておきたいと思います。
これから使用するプログラムに環境変数を利用するので、ユーザー環境変数に登録をしていきます。(Windowsでない方はスルーしてください) まずスタートボタンから検索をしましょう。
008
そしてユーザー環境変数で新規をクリックします。
009
キー名は何でもいいですが、ここではFACE_ENDPOINTFACE_SUBSCRIPTION_KEYという名称で登録します。
010
登録が完了すると、次のように見えるようになります。
011
以上でリソースの作成は完了です。

Teamsへ出力

すみません……ここで力尽きてしまいました。
公式のDocsがdeprecatedだらけだったので、悪戦苦闘しましたがAPIコール以降が動きません……
ここは必ずリベンジしたいと思います(不退転の構え)。

さいごに

今回はこのような締まりのない終わりになってしまいましたが、Part.2, Part. 3にかけてこの記事は続きます!
次回は感情(emotion)の検出にかけてご説明していきたいので、ご期待下さい :-)

それではまた!