目的
MLを利用した動画解析をしたいと思いました。
ですが往々にして、開発環境構築などの本質的ではない作業があります。
本質にフォーカスする時に便利なのがSaaSの存在です(MLaaSと呼びます)。
そのためまずはこれらのサービスの概要を理解したいと考えました。
MLレベルについて
couseraのAndrew Ng先生のmachine leaning講座を修了しました(Stanford大学の修了証は少し嬉しかった)。
MLエンジニアになりたいと考えていますが、研究して人類未踏の領域を広げたいわけではありません。あくまでもMLは手段の一つと考えています。
MLaaSの選定について
開発経験のあるAzure、AWSの2択でした。
Azureに関してはエンジニアからとても完成度の高いデモを見せてもいただいたこともあります(サッカーの試合でゴールシーン前後のキャプチャ、リアルタイム翻訳した字幕付与など)。
結局はできることは一緒かなと思い、すでに個人で契約していたAWSを利用することにしました。
ソリューション一覧
AWSの機械学習
カテゴリには以下のソリューションがあります(2019/11/07現在)。
SageMaker, Comprehend, Forecast, Lex, Machine Learning, Personalize, Polly, Rekognition, Textract, Transcribe, Translate, DeepLens, DeepRacer
それぞれ、概要を説明していきます。
SageMaker
機械学習のワークフロー全体をカバーする完全マネージド型サービス
汎用的なMLプラットフォームのようです。ラベル付等をひとが一度行うと、性質が同じものをラベル付してくれるものを特にGround Truthと呼びます。
動画の解析もできるようです。
Comprehend
テキスト内でインサイトや関係性を検出する自然言語処理 (NLP) サービス
動画で考えると、音声からテキストをおこして整合性のあるコンテキストすることができるかもしれません。
Forecast
時系列データを用いた数値予測を行ってくれる完全マネジメントサービス
Amazon.comと同じロジックとのことです。
動画解析としては直接利用するケースが思いつきませんが、強いて言えば解析時間等は予測を立てたい部分かもしれません。
Lex
音声やテキストを使用して、任意のアプリケーションに対話型インターフェイスを構築するサービス
Alexaはこの仕組みを利用しているようです。botを使ったサービスは最近いろいろあるのでイメージしやすいですね。動画観点では用途が思いつきませんでした。
Machine Learning
汎用的なML実行ができるPFのようです。sagemakerの方が後発のサービスで、よりML研究者以外の利用を意識しているようです(流行りの既存モデルがすでにあったり、notebookがあったり等)。
モデル構築等重要な部分の違いがわからなかったので、実際に両者を使い比べて見たいと思いました。
Personalize
アプリケーションを使用している顧客に対して開発者が個別のレコメンデーションを簡単に作成できるようにする機械学習サービス
Forecast同様、実際のamazonサービスで利用されています。レコメンドなどのUX向上は動画解析後の話になりそうですね。
Polly
文章をリアルな音声に変換するサービス
動画解析として利用用途が思いつきませんでした。
Rekognition
画像分析と動画分析を行うサービス
まさに、今回の用途に特化したサービスです。動画を与えるだけで良さそうなので、利用も簡単そうです。
こちらは実際に利用してみて、後日内容をまとめたいと思います。
Textract
ドキュメントからテキストとデータを自動抽出するサービス
OCRはもちろんのこと、どのような種類のドキュメントでもテキスト化できるようです。解析後にワークロフーを定義できたりするようで、紙ベースの仕事を自動化できたりするかもしれません。
動画観点では利用用途が思いつきませんでした。
Transcribe
音声をテキストに変換するサービス(自動音声認識: ASR)
動画の字幕を付与できたりするかもしれません。ただ独立して利用するよりかはRekognitionに組み込まれてほしい機能なので、Rekognitionを利用する際はこの観点に留意したいと思います。
Translate
高速で高品質な言語翻訳を手ごろな価格で提供するニューラル機械翻訳サービス
動画字幕、音声の多言語対応で便利そうです。こちらもRekognitionに組み込まれてほしい機能なので、Rekognitionを利用する際はこの観点に留意したいと思います。
DeepLens
深層学習対応のビデオカメラサービスとのことです。
内部ではRekognitionに繋がって、動画を解析してくれるみたいです。
ライブ動画等では検討する余地があるかもしれませんが、今回はアーカイブ動画をターゲットにしているため一旦保留です。
DeepRacer
自動操縦のエンジンを提供するサービスです。
ラジコンに組み込み自走型のデバイスを作成したりできるようです。さらにレースの大会まで用意しているとのことです。
流石に動画解析の用途ではなさそうです。
まとめ
動画解析観点で利用できそうなサービスは、sagemaker, machine learning, rekognitionですね。
とりあえずは簡単に利用できるrekognitionを利用して、どういったデータを出してくれるのか試してみたいと思います。