居酒屋のAI年齢認証、未成年検知率96.1%は本当か? AWS Rekognitionで顔分析のリアルに迫る

このエントリーをはてなブックマークに追加

東京の主要エリアを始め、全国に72店舗展開される「一軒め酒場」。

その一軒め酒場 新橋店にて実施された、AI搭載カメラを活用した年齢認証における実証実験で、未成年者の検知率96.1%を実現したという興味深いニュースが飛び込んできた。

果たして、現在の顔認識の技術が、どれほどの精度で人物画像から年齢を推定できるのか。実証実験の第一段階でも使われたAWS Rekognitionを使い、実際に顔認識を試みる。

AWS Rekognitionで検知率90.7%、ディープラーニングによる独自識別エンジンで96.1%

一軒め酒場で実施された実証実験は、店舗に設置されたカメラが撮影した画像を用いて来訪客の年齢を推定し、未成年の検出を試みた。実証実験が開始された背景には、属人的な課題がある。未成年者か否かの確認は、店員に委ねられている現状があり、不確かな判断も多く、繁忙時には確認漏れも発生するのだ。

未成年者による飲酒が発覚すれば、営業者側が罰則を受けるリスクがある。一方で、利用者視点に立つと、未成年ではないにも関わらず身分証明証の提示を求められるケースも多く、すこぶる面倒だ。

そういった課題をテクノロジーで解決するために、AI搭載のクラウドカメラ「Ciao Camera(チャオカメラ)」を活用した年齢認証における実証実験を、以下の2ステップで株式会社チャオが実施した。

第1段階:「AWS Rekognition Image」の活用/複数の顔画像で誤検知を防ぐ
第2段階:ディープラーニングによる独自識別エンジン構築/検知率 96.1%を実現

第1段階のAWS Rekognitionでは、検知率90.7%の年齢推定を実現した。最終的には、第一段階の実験結果を活用した独自識別エンジンを構築しているが、実際にAWS Rekognitionで顔を分析し、どれくらいの精度で年齢推定できるのか、試していこう。

AWS Rekognitionで顔を分析して年齢を推定してみる

今回は、居酒屋に来店する客を想定し、さまざまパターンの画像を使い年齢を推定していく。

まずは、居酒屋に訪れそうなスーツを着た2人組の画像を解析する。

解析結果がこちら。

{
  "FaceDetails": [
      {
          "AgeRange": {
              "Low": 26,
              "High": 43
          },
          "Smile": {
              "Value": true,
              "Confidence": 99.96630859375
          },
          "Sunglasses": {
              "Value": false,
              "Confidence": 100
          },
          "Emotions": [
              {
                  "Type": "DISGUSTED",
                  "Confidence": 0.00024418087559752166
              },
              {
                  "Type": "HAPPY",
                  "Confidence": 99.86610412597656
              }
          ]
      }
  ]
}

※解析結果は一部省略しています。
※実際は2人の人物を認識、解析した結果が出力されます。
※上記のjson結果は左の人物の解析結果です。

分析の結果は、JSON形式で返される。上記以外に、

  • 性別
  • 喜怒哀楽の表情
  • ひげやメガネの有無
  • 口や目が開いているか
  • 顔のパーツそれぞれの座標

など、顔に関する多様なデータの取得が可能だ。

肝心の年齢については、2人とも26~43歳という結果。範囲はやや広めだが、未成年ではないという観点も含め、推定された年齢に“違和感”は覚えない。

次に、こちらの人物(実年齢26歳)の画像を分析していく。まずは、店舗内に設置されたカメラによる撮影を想定し、真正面ではなく、斜めから撮影した画像だ。

解析結果はこちら。

{
  "FaceDetails": [
      {
          "AgeRange": {
              "Low": 23,
              "High": 38
          },
          "Smile": {
              "Value": false,
              "Confidence": 99.07543182373047
          },
          "Sunglasses": {
              "Value": false,
              "Confidence": 99.29167938232422
          },
          "Emotions": [
              {
                  "Type": "DISGUSTED",
                  "Confidence": 1.15262770652771
              },
              {
                  "Type": "SURPRISED",
                  "Confidence": 85.80397033691406
              },
              {
                  "Type": "CALM",
                  "Confidence": 11.508796691894531
              }
          ]
      }
  ]
}

※解析結果は一部省略しています。

年齢は、実年齢よりも3歳若い23歳と推定された。では、同一人物を真横から撮影した画像はどうだろう。

解析結果はこちら。

{
  "FaceDetails": [
      {
          "AgeRange": {
              "Low": 19,
              "High": 36
          },
          "Smile": {
              "Value": false,
              "Confidence": 99.32435607910156
          },
          "Sunglasses": {
              "Value": false,
              "Confidence": 99.86508178710938
          },
          "Emotions": [
              {
                  "Type": "DISGUSTED",
                  "Confidence": 9.510030746459961
              },
              {
                  "Type": "SAD",
                  "Confidence": 16.666122436523438
              },
              {
                  "Type": "CALM",
                  "Confidence": 47.96733474731445
              }
          ]
      }
  ]
}

※解析結果は一部省略しています。

真横を撮影した画像では、さすがに推定精度も悪く、実年齢から大きく外れた19歳と推定された。課題解決のためには、カメラ設置の条件を整える必要がありそうだ。

しかし、次はどうだろう。マスクを着用し、かなり暗い画像だ。導入現場の撮影環境が悪いのは十分にあり得る。

解析結果はこちら。

{
  "FaceDetails": [
      {
          "AgeRange": {
              "Low": 26,
              "High": 43
          },
          "Smile": {
              "Value": false,
              "Confidence": 95.78687286376953
          },
          "Sunglasses": {
              "Value": false,
              "Confidence": 95.03385162353516
          },
          "EyesOpen": {
              "Value": true,
              "Confidence": 97.08100891113281
          },
          "Emotions": [
              {
                  "Type": "DISGUSTED",
                  "Confidence": 9.008634567260742
              },
              {
                  "Type": "CONFUSED",
                  "Confidence":0
              },
              {
                  "Type": "CALM",
                  "Confidence": 84.7022933959961
              }
          ]
      }
  ]
}

※解析結果は一部省略しています。

26歳~と、正確な年齢を推定できている。この結果より、マスクやメガネをしていても、あまり影響はないことがわかる。

100%の精度はいらない。ヒューマン・イン・ザ・ループの最効率化で十分

実証実験の第1段階で採用された、AWS Rekognitionでの年齢推定では、やはり誤検知があった。実証実験では、誤検知を防ぐため、入店する数秒間の短い間に複数の顔画像を撮影することで、検知率90.7%の年齢推定を実現したという。

実際にAWS Rekognitionでいくつかのパターンでの年齢推定を検証した結果からも、検知率90.7%は妥当な結果のようだ。

第2段階では、AWS Rekognitionの判別結果を人手で精査した後、AIが学習。初期の判別器が作成された。その後も、大量のデータをAIが学習し続けることで、継続的に精度を改善し、検知率96.1%の要年齢確認者を判別する独自の識別エンジンを構築した。

鍵となるのは、検知率が100%ではない点だ。100%の精度を出すのは、不可能だ。重要なのは、90%~99%ほどの精度で検知し、システムで検知できない部分に人間が介入し、一部を担う「ヒューマン・イン・ザ・ループ」を前提としたシステムだということだ。

8~9割はAIで、残りの1~2割は人間が対応することで負担を分散し、属人的な課題を解決する最効率化がAI導入の秘訣だ。100%なんて数字は、研究機関に任せておけばいい。ビジネスにAIを実装する担当者がすべきなのは、AIだけで業務を効率化することではない。“AI × 人”で最効率化を実現する方法を考えることなのだから。


source:https://prtimes.jp/main/html/rd/p/000000010.000030288.html