[レポート]Hyundai百貨店とAWS PrototypingチームのAI無人ストア開発工程#AWSSummitOnlineKorea

2021.05.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

この記事では、5月11日に行われた AWS Summit Online Korea 2021 のオンラインセッション『현대백화점 리테일테크랩과 AWS Prototyping 팀 개발자가 들려주는 인공 지능 무인 스토어 개발 여정』の模様をレポートします。

セッション情報

スピーカー

  • チェ·グォンヨル(최권열), AWS Prototyping Engineer
  • カン·シンフン(강신훈), Hyundai IT&E
  • パク·ユンジン(박윤진), Hyundai IT&E

セッション概要

The Hyundai Seoulに最近オープンしたアンコモンストアの開発に参加した開発者たちから生き生きとした開発経験をデモとともにお話しします。開発に適用された人工知能機械学習技術の一つであるディープラーニング基盤のコンピュータビジョン技術の適用事例を把握し、迅速かつスピーディーな開発を通じて短期間で商用化できるよう導いてくれたAWSサービスとPractice(Modern Application, MLOPS, Agile)についてお話しします。

アジェンダ

  • The Hyundai Seoul Uncommon Store
  • 実装工程
  • AWS Prototying
  • Detecting & Tracking
  • MLOps
  • 消費者の行動把握

The Hyundai Seoul Uncommon Store

「UNCOMMON STORE」は、3年間、Hyundai IT&EとAWS Prototypingチームが協力してAWS運用技術や人工知能、マシンラーニングを使って実装した韓国のデパート最初のAI無人ストアです。

実装工程

  1. ビジネスロジック具体化、主要技術開発
  2. On-premise 顧客テスト
  3. AWS Cloud 顧客テスト、正確度向上、費用効率化
  4. 実際のオープン

On-premiseからAWS Cloudへの移行理由

  • リクエストに応じてスケールアウト/スケールアップしたい
  • データ学習の時は早く、開店時間には適当に調節したい
  • ビジネスロジックだけで大変なのに、セキュリティまで?障害なく安定的に運営したい

=> 柔軟性、拡張性、信頼性、迅速性のためAWSを使う

AWS Prototying

  • AWS開発者やお客開発者が協力してDevOpsとAgile基盤で製品開発やモダンアプリケーション開発方式を適用してリリースを早めます。

人工知能無人ストア実装の問題点

プロジェクトを始める前に「どこから開発する?」、「(人口知能で識別が困難な)軍人のように同じ姿の人たちが沢山来たら?」のように何個かの問題点がありました。実際にAI/MLをビジネスに適用する時にはさまざまな問題点があります。

  • 実効性&不確実性
    • Pserson Identification, Object Detection, Sensor Fusion...
  • 複雑性&反復性
    • データ収集・ラベリング、モデル設計・学習・修正...
  • 拡張性&信頼性
    • 非常に多くのセンサー・カメラ・商品・お客様...

問題を解決するため

  • 競業の方式は「Agile Scrum 開発」
  • 技術的な方式は「Modern Application 開発」

Agile Scrum 開発

  • 小さい単位から複雑な状況に漸進的に反復を通じて、その結果を中心として開発を進めます。

Modern Application開発

  • 初期からクラウド親和的に開発して、速度を高め、リスクは最小化します。

  • アーキテクチャ: Micro Service

    • AWS CloudFormation Stack / Systems Manger Parameter Store
  • ソフトウェアデプロイ: 自動化・標準化
    • AWS SDK Infrastructure as Code (IaC) / CodePipeline CI/CD Pipeline / Step Functions MLOps Pipeline
  • データ: 結合 解除・用途に合うように
    • Amazon・AWS S3 ML Dataset / DynamoDB Realtime data / RDS: Web Service
  • 運営: できれかぎりサーバレスで
    • Amazon・AWS Lambda REST APIs / ECS Batch/Realtime Processing / IoT Core Thing Management
  • セキュリティ: 全員の責任
    • Amazon・AWS Cognito User AuthN/Z / WAF Firewall / IAM Access Security

=>このような方式を通じて最終的にセキュリティー・保守性・拡張性・柔軟性を高めることができました。

Detecting & Tracking

大事なこと

誰が何を買ったのか買わなかったのか

人を追跡する

問題点

  • 多様なアルゴリズムを研究したが人々が重なった際に人々のIDが変わる問題が発生
  • Trackingの際、毎秒のフレーム数が重要、On-premiseの性能の限界(最小13〜15フレーム)

解決方法

  • Top-Viewや意図的なOver fittingで正確度向上
  • Amazon Kinesis Video/Data Streamsと DynamoDBを使って分散処理アーキテクチャを構築、On-premiseからクラウドへの移行
  • 人を再認識するアルゴリズムを追加して正確度を向上できました。

MLOps

マシンラーニング基盤のサービス開発でソフトウェア開発者・マシンラーニング開発者・運営管理者の間の競業が重要。Input-Outputで連結しているが、マシンラーニングの限界点はソフトウェアロジックが補完でき、ソフトウェアロジックはクラウドインフラが補完できます。

MLOps Pipelineは三つで細分化できる

  • Data pipeline: データの準備
  • Traning pipeline: モデル学習・ビルド
  • Serving pipeline: モデル配布・管理

データの収集からモデル配布までどのぐらい早くできるのかが重要

MLOps Pipelineの適用事例

  • Data pipeline: S3にデータを収集、SageMaker Ground Truthを通じてラベリング行う
  • Traning pipeline: ECSコンテナで学習に必要なデータを選別、SageMakerで学習・保存(AWS Step Funtionsで自動化)
  • Serving pipeline: SageMaker Endpointでモデルを自動配布する

消費者の行動把握

一つの商品について多様なマシンラーニングデータを複合的に使用しました。 Pose Estimationを使って消費者の行動把握、自分たちで作ったCustom Labeling ToolとSageMakerで効率的に必要にする学習データを得ることができました。

感想

なぜOn-premiseからAWSへの変更したのかその理由や過程をみて、AI/ML分野にも幅広く使われるAWSサービスの力を知って、 実際のAI/MLサービス適用するためどのような問題をどのように解決できたのかなどの工夫や悩みを見つけることができて良かったです。