記事の内容

昨今増加の一途にある、AI画像サービス。
これを画像分析を行う観点において使用頻度の多いであろうサービスを羅列し比較を行うことでサービスの概要を掴む

対象者

クラウドAIサービスに興味のある人

画像認識サービス

サービス名 Amazon Rekognition
イメージ
サービス概要 入力した画像に対し、すでに訓練されたモデルを用いて、汎用的な物体検出結果を返却するサービス
画像引用元 https://aws.amazon.com/jp/blogs/news/amazon-rekognition-image-detection-and-recognition-powered-by-deep-learning/
サービス名 Vision AI
イメージ
サービス概要 Rekognitionと同様、googleの訓練済みモデルを使用した物体検出サービス
画像引用元 自前準備

データセットの構築

サービス名 Amazon Ground Truth
イメージ
サービス概要 アノテーション(訓練データ作成)タスクの効率化サービス、マニフェストファイルやcognitoというサービスを用いて権限設定など業務フローの効率化も提供
画像引用元 自前画像
サービス名 Vertex Data Labeling
イメージ
サービス概要 アノテーション(訓練データ作成)タスクの効率化サービス
画像引用元 https://cloud.google.com/vertex-ai/docs/datasets/label-using-console?hl=ja

ビジョンモデルのカスタマイズ

サービス名 Amazon Rekognition Custom Labels 
イメージ
サービス概要 上記物体検出モデルを使うが、転移学習を用いることで少ない訓練画像で、希望の特徴や物体検出を行うサービス
画像引用元 https://aws.amazon.com/jp/rekognition/custom-labels-features/
サービス名 Cloud AutoML Vision 
イメージ
サービス概要 上記物体検出モデルを使うが、転移学習を用いることで少ない訓練画像で、希望の特徴や物体検出を行うサービス
画像引用元 https://www.cloudskillsboost.google/focuses/8406?locale=ja&parent=catalog

機械学習モデルの構築

サービス名 Amazon SageMaker 
イメージ
サービス概要 機械学習タスクを行うnotebook環境の提供や、訓練のオーケストレーションシステム、APIデプロイなど、ALモデル開発の統合開発サービス
画像引用元 https://aws.amazon.com/jp/blogs/news/scale-yolov5-inference-with-amazon-sagemaker-endpoints-and-aws-lambda/

↓上記のコアとなる開発環境の提供サービス

サービス名 SageMaker Notebook(AWS)Vertex AI Workbench(GCP)
イメージ
サービス概要 AIモデルの開発を行ったり、訓練を行うnotebook環境の提供。
GPUを使用しての訓練や、ここで作成したモデルをSageMakerのエコシステムでデプロイするなど、開発エコシステムの中心のようなサービス
画像引用元 自前

機械学習モデルの構築(GCP)

サービス名 Vertex AI
イメージ
サービス概要 機械学習タスクを行うnotebook環境の提供や、訓練のオーケストレーションシステム、APIデプロイなど、ALモデル開発の統合開発サービス
画像引用元 https://cloud.google.com/blog/ja/topics/developers-practitioners/dual-deployments-vertex-ai

SageMakerとVertex AIの違い

大きくは同一であるこの2つのシステムではあるが、

VertixAIは目玉のサービスとなるAutoMLへの統合が容易というメリットがある一方
SageMakerは開発ライブラリやデプロイ機能が充実しており、

例えばsemantic segmentationのAIモデルなども内包していたり、
pytorchのラッパークラスを用いたカスタムモデルのデプロイ機能を行う場合に、
コンテナイメージの登録が必要ないなどエコシステムとして横に広い印象を筆者は受けた
(2023/6月時点でパッと調査した限り)

まとめ:サービスの選定基準

サービスの選定基準としては
まず最も手軽にAIでの検出が行えるのが、SageMakerやVision API。

さらにカスタマイズや精度を上げたい場合はSageMakerカスタムモデルの使用や、AIモデルからの作成の必要が出てきます。

semantic segmentationなどの少し特種なタスクを実行したい場合は
SageMakerやVertixAIのノートブックを用いて開発、デプロイを行なっていく形が望ましいと思います。