2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Microsoft Azure Cognitive Services Faceを動作させてみる その1

Last updated at Posted at 2020-03-05

#この記事で伝えたいこと
・世間には多様なCognitiveなサービスが存在するのですが、大抵は、クラウドだけだったり、Localだけだったりで、どちらでも実装できる場合は結構なコストや手間がかかります(Cognitiveなサービスを提供するPaaS環境を一括買い取り、という意味)。が、Azure Cognitive ServiceについてはAzureの無料サブスクリプションがあれば、クラウドでもLocalでもCognitiveなサービスを比較的簡単に実装できそう、というのが面白いので、整理してみました。
・当然のCRUD操作、つまりperson_idと顔画像を登録して、別の顔画像のInference結果(person_idやname)を受け取ったり、登録済のpersonを削除する処理を実装したいだけなのに、マニュアルやソースが多くて英語で読むのが面倒だ、という人向けです。つまり、QuickStartの説明と補足です。
・Edge側でカメラ撮影してFaceでInferenceして出力するというPython Flaskアプリケーションにおける、Face部分の処理を想定しています(Python Flaskアプリそのものの記事は未定です)。

#Azure Faceとは
・Microsoftが提供している顔認識機能(Imageから人間の顔を抽出、登録したIDと照合、など)で、Azure上でもLocalのDockerコンテナーでも動作します。トレーニング処理(=顔画像とIDの登録)にGPUは不要です。
・技術的な概要はMicrosoft社のWebサイトのAzure Face サービスとはで確認します。ちなみに、コンテナに割り当てる推奨HWリソースは、1コア、4GBメモリと記述されています。
・営業的な概要はMicrosoft社のWebサイトの顔認識|Microsoft Azureで確認します。
・一般的には、画像処理についてはデータ転送のためのネットワーク帯域を考慮するとEdge側でCognitiveな処理を行うことが有利です。その意味で、上記サイトそれぞれのクラウドからエッジまで、どこにでも配置コンテナーの使用で紹介されているように、クラウドでもLocalのDocker環境で実行可能なことであり、代表的なIoTアーキテクチャである、Dell TechnologiesのEdge-Core-Cloudモデルや、Azure IoT 参照アーキテクチャと相性がよいです。

#Azure FaceのLocalコンテナーについて
・PublicのAzure上でFaceを実行するためには、Azure portal にサインインしてFaceのResource Groupを作成すればよいです。しかし、LocalのDocker環境で実行するためには、左記の作業に加えてコンテナーを実装したいユースケースに関するアンケートに答える必要があります。そのアンケートに答えるとCognitive Service専用のプライベートコンテナーレジストリとアクセス情報を教えてもらえるので、Docker pullできるようになります。詳細は上記のサイトで確認します。
・FaceのDockerコンテナー起動時に、有効なAzure FaceサービスのResource GroupのEndpointとAPI Keyを引数で渡して、かつ、Dockerコンテナーが課金情報を送信するためにインターネット経由でAzure portalと通信できる必要があります。

その2に続きます。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?