Exploration and Application of Digital Passenger Flow in Offline Scenarios
インターネット時代において、データはあらゆるアプリケーションの基盤です。タオバオの出店者は、商品のクリック数の履歴に基づいて各商品の状態を評価し、適切な運営施策を実施できます。タオバオの購入者は、取引履歴からレビューデータまでを活用して購入の判断を行います。同時に、プラットフォーム側もユーザーと商品の履歴データに基づいてモデルを学習し、各商品のクリック率を予測し、各ユーザーの好みを予測して、表示結果をユーザーのニーズに合致させています。このように、データはさまざまな場面で重要な役割を果たしています。
インターネット上ではデータは比較的容易に取得できます。オフラインの小売シナリオとは異なり、大部分のデータが失われています。出店者は、店舗内のどの商品が閲覧され、どの商品が手に取られたかを把握できず、購入者も各商品の過去の価格データを知ることができません。
そのため、顧客フローのデジタル化に取り組んでいます。オフラインでのユーザー行動データと商品データを収集し、オフライン行動も追跡可能にすることで、ビジネス判断や市場運営に正確かつ効果的なデータ基盤を提供します。定量化可能なデジタル指標として統計化し、出店者の運営を支援するとともに、ユーザーの意思決定をサポートします。このデータに基づき、アルゴリズムもオフラインでより大きな役割を果たすことができます。
全体スキーム
全体スキームは下図の通りです。このスキームでは、オフサイトでの商品選定戦略ガイド、オフライン送客、入店者のプロファイリング、顧客動線追跡、人と商品のインタラクションデータの蓄積、フィッティングミラーでのインタラクションとレコメンデーション、退店後のオンライン購入までを含む、エンドツーエンドのプロダクトソリューションを構成しています。
顧客フローのデジタル化の試み
店舗の顧客フローデジタル化の試みにおいて、ハードウェア面では既存の監視カメラと RFID タグを活用し、画像認識技術と RFID 技術を組み合わせて、店舗内に設置した GPU 端末で計算処理を実行します。技術ソリューションとしては、顔認識技術により入店者の性別、年齢、新規・既存顧客などの基本属性を識別し、歩行者検出・追跡および複数カメラ間の歩行者再識別技術によって店内のユーザーの動線変化を追跡します。同時に店舗全体の各エリアのヒートマップ分布を生成します。さらに、カメラと RFID のマルチセンサー融合技術により、商品を手に取る、試着するといった店舗内でのユーザー行動を識別し、各商品の閲覧頻度と試着頻度を正確に把握して、オフラインでのユーザーの好みを分析します。以下では、歩行者検出、歩行者再識別、行動認識の三つの技術方向に関する最適化について詳しく紹介します。
歩行者検出
新しい小売顧客フローデジタル化シナリオでは、監視カメラを使って入店頻度、性別、動線、行動軌跡、滞在時間を包括的に記録・分析する必要があります。目的を達成するためには、まずカメラ映像から歩行者を検出・識別できなければなりません。
YOLO などの物体検出アルゴリズムはほぼリアルタイムの処理性能を達成できますが、評価環境は Titan X や M40 などの高性能 GPU に限られており、単一の入力にしか対応できません。ハードウェアコストや計算能力の面から、これらのアルゴリズムをそのまま実際のシナリオに適用することは困難です。 YOLO 公式からは YOLOv3-Tiny のような軽量モデルも提供されていますが、性能が大幅に低下し、 COCO データセットでの mAP が 40% 以上低下します。同時に、既存の物体検出手法の汎化能力は依然として不十分で、異なるシナリオの差異がモデル性能に大きな影響を与えます。店舗内の視点、照明、遮蔽、類似物体の干渉などはオープンソースデータセットと大きく異なり、 VOC や COCO データセットで学習したモデルをそのまま店舗シーンに適用しても、満足のいく結果は得られません。実際のデータセットに合わせて、モデル性能と効果の最適化を行いました。
ネットワーク構造の簡素化と最適化
YOLO フレームワークを改良して軽量なリアルタイム物体検出アルゴリズムを開発しました。実際の衣料品店舗環境で YOLOv3 と比較しても、モデル性能の低下は 2% 以内に収まり、モデルサイズは大幅に削減されました。 Tesla P4 での FPS は 268% 向上し、スマートフォンやチップなどのエッジデバイスでも直接利用できます。実際のビジネスシナリオでは、 1 枚の GTX1070 で 16 台のカメラの同時検出をサポートでき、店舗改修コストを効果的に削減できます。
標準的な YOLOv3 のネットワーク構造は 106 層で、モデルサイズは 237MB です。軽量な物体検出システムを設計するため、 Tiny DarkNet をバックボーンネットワークとして採用しました。 Tiny DarkNet は最大チャネル数 512 のミニマルな構造で、モデルサイズはわずか 4MB です。 YOLO 公式の YOLOv3-Tiny バックボーンネットワークよりもスリムですが、スリム化により特徴抽出能力が低下し、モデル性能が大幅に低下します。実際のデータセットでは、 Tiny DarkNet + FPN 構造に置き換えた場合、 AP-50(IoU=0.5)が元の構造より 30% 低下しました。そこで、特徴抽出ネットワークの後に Spatial Pyramid Pooling [10] を適用し、元の特徴と集約した後、ダウンサンプリングとデコンボリューション操作を通じて複数レベルの特徴を融合させることで、低レベルのピクセル特徴と高レベルのセマンティック特徴を十分に統合し、特徴抽出能力の低下を補います。ネットワーク全体の構造は下図の通りです。軽量化された検出モデルのサイズは元の約 1/10 です。
物体検出のネットワーク構造
知識蒸留によるさらなる最適化
知識蒸留 [2] では、 Teacher Network が出力する Soft Target を使用して Student Network の学習を監督し、 Dark Knowledge を伝達することで知識転送を実現します。モデル圧縮には量子化、枝刈り、行列近似などの手法がよく使用されます。蒸留と量子化は組み合わせて使用でき、蒸留自体はモデル修正に対して透過的であり、特定の依存関係や実行フレームワークを必要としません。
知識蒸留のネットワーク構造
上図はネットワーク蒸留のモデル構造設計を示しています。蒸留時には元の YOLOv3 を Teacher Network として使用します。 YOLOv3 は優れた検出性能を持ち、構造も私たちのモデルと類似していますが、二つの出力層間で直接 L2 制約を適用すると、 Teacher Network のノイズや回帰予測の変動を処理できず、 Student Network の学習が阻害されます。実験により、 Hint Layer の損失設計と回帰予測の不確実性が蒸留効果の中核的な課題であることが判明しました。対応するチャネル間に損失制約を強制的に設定する方法は厳しすぎます。通常の畳み込みでは、 Teacher/Student Network の入力チャネル順序の一致性は要求せず、入力全体の分布が一致すればよいだけです。各チャネルはサンプリング結果と等価で、同じ分布に従いますが、サンプリング順序は異なる可能性があります。ただし、活性化関数後のチャネル分布は不安定になるため、正規化が必要です。 Teacher Network 自体の回帰予測の不安定さを回避するため、回帰損失は Ground Truth を目標に設計され、 Teacher Network の出力を上限として使用し、 Teacher より誤差が大きい部分のみを制約します。本質的には Online Hard Example Mining のアイデアを Teacher Network から借用しています。
歩行者再識別
Person Re-Identification の課題は、ある人物の画像が与えられたときに、その人物が他のカメラに登場するかどうかを、複数カメラのシーン内で判定することです。一般的に複数カメラ間の追跡問題を解決するために使用されます。オフライン店舗シナリオでは、各店舗の異なるエリアにカメラが設置されます。顧客が店舗内で買い物をする際、ユーザーがエリア間をどのように移動するか、および各エリアの顧客フローの状況と流入元を理解する必要があります。そのため、異なるカメラで検出された同じ歩行者を関連付ける必要があります。
歩行者特徴抽出
歩行者再識別の難しさは、複数のカメラで撮影された歩行者の角度が異なること、画像内の歩行者の外観が最大 72 倍変化しうること、そしてさまざまな程度の遮蔽が存在することであり、全身特徴を直接使用した再識別は非常に困難です。では、顔認識を歩行者再識別に使用できるでしょうか。理論的には可能ですが、実際の場面では実装が非常に困難です。まず、後頭部や横顔が広く存在し、顔認識は正面顔に限定されます。次に、カメラの解像度が十分でない場合もあり、特に遠近法のカメラでは顔領域が 32×32 ピクセルに満たない可能性もあります。そのため、顔認識は実際の再識別アプリケーションで大きな制約があります。
歩行者再識別において、堅牢な歩行者特徴表現を学習することが重要な課題となっています。最も直感的な方法は、歩行者画像全体を入力として直接使用し、グローバル特徴を抽出することです。グローバル特徴の目的は、異なる歩行者を区別できる最も顕著な情報(衣服の色など)を学習することですが、監視シーンの複雑さがこの手法の精度を大きく制限しています。たとえば、カメラ間の色差や店舗エリアごとの照明条件の違いがあり、類似した服装の歩行者も多いです。同時に、既存の歩行者再識別データセットの量と多様性が不足しているため、目立たない詳細特徴がグローバル特徴の学習で見落とされやすくなっています。
上記の問題を解決するため、より優れたアプローチはグローバル特徴の代わりにローカル特徴を使用することです。ローカル特徴ベースの歩行者再識別手法では、入力を複数の特徴ブロックに分割し、各ブロックがローカル特徴を表現します。ローカル特徴ベースの手法は、歩行者のローカル詳細特徴により注目できます。
ローカル特徴ベースの手法にもいくつかの問題があります。この種の手法は歩行者を独立したセマンティックブロックに分割し、ローカル特徴間の関係を考慮していません。そこで、私たちのスキームでは、マルチレベルのローカル特徴融合スキームを採用し、各ローカル特徴を考慮すると同時に複数のローカル特徴間の相関も考慮しています。ネットワーク構造は下図の通りです。元のローカル特徴に基づいて、異なるスケールの複数のローカル特徴とグローバル特徴を組み合わせることで、学習された特徴は各部位の詳細特徴だけでなく、異なる部位の特徴を組み合わせた情報も表現でき、元のバージョンよりも豊かな表現力を持っています。
現在、この統合バージョンに基づくモデルは最適化中ですが、 Market データセットで Rank@1 が 96.19% に達しています。同じバックボーンネットワーク構造を使用したグローバル特徴抽出バージョンの Rank@1 は 89.9% にとどまり、ローカル特徴のみのバージョンの Rank@1 は 92.5% です。統合ソリューションは両バージョンと比較して大幅な改善を示しています。
クロスデータセットでの歩行者再識別の試み
オフラインシナリオの特殊性により、モデルを異なる店舗に展開する必要があります。各店舗の照明や環境は大きく異なり、設置されたカメラの角度も微妙に異なります。特定の店舗で学習したモデルがすべての店舗に適するとは限りませんが、店舗ごとにデータにラベル付けを行うのは現実的ではありません。そこで、新しい店舗データにモデルを適応させる方法を探る必要があります。
店舗内では、顧客は閉鎖空間にいるため、異なるカメラ間の移動には一定の法則があります。店舗環境の特性に基づき、まずカメラの時空間情報を利用したハイブリッドモデルを試みました [7]。モデル構造は下図の通りです。
最初のハイブリッドモデルは、元の視覚特徴分類器に基づいてカメラ間および異なる時間間隔での遷移確率分布を計算し、その後、時空間情報と元の分類器を組み合わせて最終結果を導き出します。
人と商品のインタラクション検出
基本的な顧客フローデータに加えて、店舗内の顧客行動データも非常に価値があります。ビジョンソリューションと RFID 無線周波数信号を組み合わせて、店舗内の顧客と商品のインタラクション問題を解決しようと試みています。すなわち、どの顧客がどこでどの商品を手に取ったり閲覧したりしたかを把握するもので、オンラインのクリックデータに相当します。
人と商品のインタラクションデータは、オフライン環境で非常に重要なリンクです。このデータから、どの商品が頻繁に手に取られるか、どの商品が顧客に人気があるか、どのタイプの顧客がどのスタイルを好むかを知ることができ、同時に店舗全体のコンバージョンファネルの改善にも寄与します。従来、出店者は取引データのみで商品の人気を判断していましたが、一部の売れ筋商品は不適切な配置により顧客に十分見られていなかった可能性があります。最終的な取引量が少ないのはそのためです。同時に、取引量が多い商品でも、実際には多くの顧客に手に取られている場合があります。これは、その商品が同じ取引量の他の商品よりも目立つ位置にあるため、実際のコンバージョン率が低くなっている可能性があります。このリンクのデータを補完することは、出店者のオフライン運営において重要な役割を果たし、同時に出店者のオンライン・オフライン統合後のオンラインレコメンデーションサービスにおいても、この行動データが最も重要な役割を果たします。
現在オフラインデータが不足しているため、人と商品のインタラクションデータは比較的重大な不足リンクです。一般的に、出店者は商品取引の統計データを簡単に取得できますが、人と商品のインタラクションデータはより頻繁に発生し、判断が難しいため、データ収集の難易度は相対的に高いです。さらに、人と商品のインタラクションデータは特定の SKU レベルで正確である必要があり、単に顧客が何らかのアクションを取っただけでは不十分です。技術スキームと RFID 無線周波数信号の融合により、最終的な人と商品のインタラクションデータを取得できます。全体スキームは下図の通りです。
店舗には監視カメラ設備と RFID 受信設備が設置されており、それぞれリアルタイム映像と RFID タグからの反射信号のタイムスタンプを記録します。まず、返ってきた RFID 信号に基づいてどの RFID タグが反転された可能性があるかを検出します。店舗スタッフが RFID タグの EPC 番号を商品の SKU 番号と関連付けているため、反転されたタグの EPC 番号から対応する商品 SKU を特定できます。同時に監視映像から顧客の検出と追跡を行い、顧客の画像座標を物理座標に変換して実際の位置を取得します。最後に、反転が疑われる検出商品と反転が疑われる顧客を関連付けて、商品と歩行者の最適なマッチングを得ます。
その中でも、 RFID 技術に基づく商品行動認識は比較的新しい試みです。顧客が衣服を手に取ると、衣服に付けられた RFID タグが微振動し、 RFID 受信設備が RSSI や位相などの反射信号の特徴値の変化を記録してバックグラウンドに送信します。信号値を分析して商品が反転されたかどうかを判定しますが、信号ノイズ、環境のマルチパス効果、偶発的な電磁ノイズ、遮蔽の影響など多くの問題が存在します。同時に、受信機とタグの距離と RFID 反射信号の大きさには非線形関係があります。
ここで、 d は RFID タグと受信機間の距離を表し、マルチパスや環境の影響を受け、各種静的設備誤差によるオフセットを表します。この式から、受信機の設置位置と店舗環境が RFID 信号に大きな影響を与えることがわかります。異なる場所の店舗や受信機に適用できる統一された反転判定アルゴリズムを見つけるのは大きな課題です。元のバージョンでは、 RSSI と位相の生値を特徴値としてモデルを学習しましたが、サンプルが不十分な場合に環境の影響を強く受け、実際の環境ではオフライン処理が困難になる問題がありました。そこで、空間位置と強い相関のない特徴値から生成された元の信号値に基づいて行動判定を支援する方法を探っています。
周波数情報中の振幅情報は空間位置と関連していますが、周波数分布(異なる周波数成分の割合)のみに注目すると、周波数情報も空間位置と無関係な特徴として扱うことができます。周波数情報を取得するには、 RSSI 信号と位相信号に離散フーリエ変換を適用し、その後周波数信号と位相信号の分布統計を取る必要があります。得られた分布グラフから、現在の分布と直前の時間帯の分布間の JS ダイバージェンスを計算します(KL ダイバージェンスと異なり、 JS ダイバージェンスは加法対称性を持つため、複数の分布間の相対距離を測定するのに適しています)。
隣接する時刻の前後 2 つのサンプルに基づく JS 分散差のバージョンでは、テストデータで 94% の認識精度を達成しました。元の RSSI 値と位相値を特徴として使用するバージョンの 91.9% の精度と比較して、一定の改善が見られました。
画像ベースの顧客行動検出は古典的な分類問題です。計算リソースの要件を削減するため、 MobileNet[12] を使用して歩行者検出画像をさらに分類し、 Logits 出力モデルに基づいてパラメータを最適化します。分類精度を維持しながら、陽性サンプルのリコール率を向上させて、できるだけ多くの陽性サンプルを記憶できるようにします(下図参照)。
時間相関と疑わしい行動の 2 次元を通じて同時にマッチングを行うことで、最終的な歩行者と商品反転のマッチング精度は 85.8% に達しました。
## 顧客フローデジタル化の応用
顧客フローのデジタル化によって生成される顧客フロー関連データは、出店者のオフライン運用に使用されるだけでなく、このデータに基づくオフライントラフィック配信の初期アプリケーションもあります。タオバオはオンラインの主要なトラフィック配信エントリポイントです。タオバオの検索とレコメンデーションは、消費者が現在どの商品を見られるかを決定し、同時に各出店者や商品への全体的なトラフィックフローに影響を与えます。検索とレコメンデーションは、出店者、商品、ユーザーをマッチングさせ、適切なユーザーに適切な商品を表示するためのもので、消費者のショッピング体験を満足させながら、各マーチャントの商品配信トラフィックを均等化し、トラフィックの浪費を防ぎ、トラフィック価値を最大化します。
オフラインショッピングモールも同様のトラフィック配信ニーズを持っています。しかし、オンラインと比較して、オフライン市場には 2 つの大きな課題があります。 1)オフラインにはオンラインの検索やレコメンデーションアプリケーションのような統一されたエントリポイントがなく、ユーザーにリーチできません。 2)オフラインには同様の豊富なログや行動データが存在せず、データサポートなしでは正確なパーソナライゼーションは困難で、効果を最適化することもできません。
オフライントラフィック配信の試みでは、ショッピングモールや店舗内のインタラクティブスクリーンをトラフィック配信の出口として使用し、前述の顧客フローデジタル化で収集したデータを使用して、オフライン市場でのパーソナライズされたトラフィック配信をサポートします。
オフサイト配信スクリーン
オフサイト配信スクリーンの機能は、第 1 レベルのトラフィック配信を行うことです。まず、さまざまなインタラクティブゲームやマーケティング活動を通じてユーザーを引き付け、その後、スクリーンを通じてパーソナライズされたクーポンをユーザーに配信し、各店舗へ誘導します。
従来のショッピングモールでは、ユーザーが入店するとそのフロアで自由に活動し、気になるブランドを見つけて入店するか、ナビゲーションスクリーンでフロアのブランド配置を把握してから目的的に探索します。私たちの配信スクリーンの機能は、その人に応じた割引を推奨することでユーザーを店舗内へ誘導することです。これはショッピングモールの中央島エリアでの全体トラフィック配信に相当し、中央島に集中するユーザーを各方向へ誘導します。全体スキームは下図の通りです。
全体ソリューションは 3 つのデータに依存しています。ユーザー画像特徴に基づく属性データ、入店客分布データ、その他の店舗統計データです。現在のユーザー属性特徴と店舗客群特徴のマッチングにより、初期のパーソナライズされた店舗推奨結果を得られます。さらに、各店舗自体の統計的特徴を補足情報として活用し、マッチング条件が同じ場合は、人気度や効率性などの店舗の次元特徴や、現在提供されているクーポンの強度情報も考慮に入れて、最終的なクーポンランキングを取得してユーザーに表示します。
会場内のフィッティングスクリーン
会場内のフィッティングスクリーンの機能は、第 2 層のトラフィック配信、つまりユーザーが入店後にどの商品を推奨して表示するかを決定することです。従来の店舗では、ユーザーは入店後に店内をランダムに閲覧し、気になる服があればショップスタッフに試着を依頼し、試着後にスタッフが他の商品を推奨します。このプロセスにはいくつかの問題があります。まず、ユーザーの商品閲覧は商品配置と密接に関連しており、ウィンドウの商品は注目を集めやすいですが、密集したハンガーエリアでは見落とされやすいです。次に、試着後の推奨はスタッフの能力に依存し、経験豊富なスタッフは顧客の外見や気質に合わせて適切な商品を推奨できますが、多くのスタッフは現在の人気モデルに基づいて推奨するだけで、個人ごとの差異化ができません。
フィッティングスクリーンのレコメンデーションは、上記の 2 つの問題を解決する必要があります。全体の表示形式は以下の通りです。
ユーザーが試着すると、鏡の横に商品詳細が表示され、現在の割引情報なども含まれます。同時に、ユーザーの試着行動に基づいて、関連商品やマッチング商品を推奨し、一部の商品には追加の表示機会を与えます。さらに、ユーザーの試着行動と画像特徴に基づいてパーソナライズされたレコメンデーション結果を提供し、ユーザーの追加購入の意思決定を支援すると同時に、ショップスタッフがよりパーソナライズされた豊富な商品をユーザーに推奨するのをサポートします。
プライバシーの問題を考慮して、私たちのアプリケーションでは顔と対応する ID を関連付けるのではなく、ユーザーの行動とその場所での他のユーザーの行動の類似性のみに基づいてレコメンデーションを行います。
エンジニアリング実装
GPU 端末コンピューティングにおいて AI 推論は重要な部分です。初期の検討段階では、 AI 推論はシリアルモードを採用していました。
テストデータを観察したところ、プログラムが既にビデオストリーム画像処理の飽和状態にあるにもかかわらず、 6 コア CPU の使用率はわずか 150% 、 GPU の使用率は 30% に過ぎず、半分以上のハードウェアリソースがアイドル状態であることが判明しました。これらのアイドルリソースを活用するために、パイプラインモードに変更しました。構造図は以下の通りです。
マルチプロセスで実装されるパイプラインソリューションでは、各プロセスのデータは相互に依存しておらず、あるプロセスが生成または変更するデータは他のプロセスに対して敏感ではありません。プロセス間のデータ転送をいかに改善するかが効率的な並行性を実現する鍵となります。 mmap 型ベースの共有メモリを採用しました。パイプやソケットなどのマルチプロセス通信メカニズムと比較して、共有メモリはマルチプロセスデータ通信ソリューションで非常に効率的で柔軟です。 multiprocessing の値共有ソリューションを活用し、 ctypes に組み込まれたデータ構造を基盤としてデータモデルを実装することで、簡単にメモリセグメンテーションを行い、使用可能なデータ構造に変換できます。
ビジネス状況と組み合わせて、パイプラインの作業モードは各段階をサブタスクに分割します。画像共有キューも設計しました。全体のプロセスは 1 回だけ画像データを書き込む必要があり、各段階はこの共有キューから画像を読み取るだけでよく、プロセス完了後は画像キューから画像データを削除して、画像操作の正確性と効率性を確保します。テストを通じて、実装した共有メモリキューはパイプ方式よりも 300 倍以上高速にデータを読み取れることがわかりました。
ビジネス効果
現在、顧客フローデジタル化データは対応するプロダクトに保存されています。以下は基本的な顧客フローの図式です。ブランドオーナーは各店舗の日次基本顧客フローと時間帯別のフローを確認でき、各店舗の現在の運営状況を把握できます。
下図は地域のヒートマップと移動経路マップを示しています。地域のヒートマップは、 1 日の各時間帯における各エリアのトラフィック密度を表示します。異なるカメラのデータを統合し、最終的に店舗の CAD マップにマッピングして地域のヒートマップを表示することで、店舗は各エリアの人気をより直感的に確認できます。地域の移動経路マップは、各エリアの顧客フローの方向と流入元を示します。地域のヒートマップと移動経路データに基づいて、出店者は各エリアの密度とエリア間の顧客移動を明確に把握できます。現在、協力ブランドオーナーはデータに基づいて店舗内のディスプレイを調整し、一部の店舗は移動経路データに基づいて店舗全体の地域配置を再調整しています。
下図は入店顧客のポートレートを示しており、毎日入店する顧客の性別と年齢の分布を表示しています。出店者は入店顧客のポートレートデータに基づいてブランドの目標顧客層を比較し、実際の入店顧客フロー分布に基づいて店舗内のプロダクトカテゴリ構造と各タイプのプロダクトの比率を調整します。
インターネット上ではデータは比較的容易に取得できます。オフラインの小売シナリオとは異なり、大部分のデータが失われています。出店者は、店舗内のどの商品が閲覧され、どの商品が手に取られたかを把握できず、購入者も各商品の過去の価格データを知ることができません。
そのため、顧客フローのデジタル化に取り組んでいます。オフラインでのユーザー行動データと商品データを収集し、オフライン行動も追跡可能にすることで、ビジネス判断や市場運営に正確かつ効果的なデータ基盤を提供します。定量化可能なデジタル指標として統計化し、出店者の運営を支援するとともに、ユーザーの意思決定をサポートします。このデータに基づき、アルゴリズムもオフラインでより大きな役割を果たすことができます。
全体スキーム
全体スキームは下図の通りです。このスキームでは、オフサイトでの商品選定戦略ガイド、オフライン送客、入店者のプロファイリング、顧客動線追跡、人と商品のインタラクションデータの蓄積、フィッティングミラーでのインタラクションとレコメンデーション、退店後のオンライン購入までを含む、エンドツーエンドのプロダクトソリューションを構成しています。
顧客フローのデジタル化の試み
店舗の顧客フローデジタル化の試みにおいて、ハードウェア面では既存の監視カメラと RFID タグを活用し、画像認識技術と RFID 技術を組み合わせて、店舗内に設置した GPU 端末で計算処理を実行します。技術ソリューションとしては、顔認識技術により入店者の性別、年齢、新規・既存顧客などの基本属性を識別し、歩行者検出・追跡および複数カメラ間の歩行者再識別技術によって店内のユーザーの動線変化を追跡します。同時に店舗全体の各エリアのヒートマップ分布を生成します。さらに、カメラと RFID のマルチセンサー融合技術により、商品を手に取る、試着するといった店舗内でのユーザー行動を識別し、各商品の閲覧頻度と試着頻度を正確に把握して、オフラインでのユーザーの好みを分析します。以下では、歩行者検出、歩行者再識別、行動認識の三つの技術方向に関する最適化について詳しく紹介します。
歩行者検出
新しい小売顧客フローデジタル化シナリオでは、監視カメラを使って入店頻度、性別、動線、行動軌跡、滞在時間を包括的に記録・分析する必要があります。目的を達成するためには、まずカメラ映像から歩行者を検出・識別できなければなりません。
YOLO などの物体検出アルゴリズムはほぼリアルタイムの処理性能を達成できますが、評価環境は Titan X や M40 などの高性能 GPU に限られており、単一の入力にしか対応できません。ハードウェアコストや計算能力の面から、これらのアルゴリズムをそのまま実際のシナリオに適用することは困難です。 YOLO 公式からは YOLOv3-Tiny のような軽量モデルも提供されていますが、性能が大幅に低下し、 COCO データセットでの mAP が 40% 以上低下します。同時に、既存の物体検出手法の汎化能力は依然として不十分で、異なるシナリオの差異がモデル性能に大きな影響を与えます。店舗内の視点、照明、遮蔽、類似物体の干渉などはオープンソースデータセットと大きく異なり、 VOC や COCO データセットで学習したモデルをそのまま店舗シーンに適用しても、満足のいく結果は得られません。実際のデータセットに合わせて、モデル性能と効果の最適化を行いました。
ネットワーク構造の簡素化と最適化
YOLO フレームワークを改良して軽量なリアルタイム物体検出アルゴリズムを開発しました。実際の衣料品店舗環境で YOLOv3 と比較しても、モデル性能の低下は 2% 以内に収まり、モデルサイズは大幅に削減されました。 Tesla P4 での FPS は 268% 向上し、スマートフォンやチップなどのエッジデバイスでも直接利用できます。実際のビジネスシナリオでは、 1 枚の GTX1070 で 16 台のカメラの同時検出をサポートでき、店舗改修コストを効果的に削減できます。
標準的な YOLOv3 のネットワーク構造は 106 層で、モデルサイズは 237MB です。軽量な物体検出システムを設計するため、 Tiny DarkNet をバックボーンネットワークとして採用しました。 Tiny DarkNet は最大チャネル数 512 のミニマルな構造で、モデルサイズはわずか 4MB です。 YOLO 公式の YOLOv3-Tiny バックボーンネットワークよりもスリムですが、スリム化により特徴抽出能力が低下し、モデル性能が大幅に低下します。実際のデータセットでは、 Tiny DarkNet + FPN 構造に置き換えた場合、 AP-50(IoU=0.5)が元の構造より 30% 低下しました。そこで、特徴抽出ネットワークの後に Spatial Pyramid Pooling [10] を適用し、元の特徴と集約した後、ダウンサンプリングとデコンボリューション操作を通じて複数レベルの特徴を融合させることで、低レベルのピクセル特徴と高レベルのセマンティック特徴を十分に統合し、特徴抽出能力の低下を補います。ネットワーク全体の構造は下図の通りです。軽量化された検出モデルのサイズは元の約 1/10 です。
物体検出のネットワーク構造
知識蒸留によるさらなる最適化
知識蒸留 [2] では、 Teacher Network が出力する Soft Target を使用して Student Network の学習を監督し、 Dark Knowledge を伝達することで知識転送を実現します。モデル圧縮には量子化、枝刈り、行列近似などの手法がよく使用されます。蒸留と量子化は組み合わせて使用でき、蒸留自体はモデル修正に対して透過的であり、特定の依存関係や実行フレームワークを必要としません。
知識蒸留のネットワーク構造
上図はネットワーク蒸留のモデル構造設計を示しています。蒸留時には元の YOLOv3 を Teacher Network として使用します。 YOLOv3 は優れた検出性能を持ち、構造も私たちのモデルと類似していますが、二つの出力層間で直接 L2 制約を適用すると、 Teacher Network のノイズや回帰予測の変動を処理できず、 Student Network の学習が阻害されます。実験により、 Hint Layer の損失設計と回帰予測の不確実性が蒸留効果の中核的な課題であることが判明しました。対応するチャネル間に損失制約を強制的に設定する方法は厳しすぎます。通常の畳み込みでは、 Teacher/Student Network の入力チャネル順序の一致性は要求せず、入力全体の分布が一致すればよいだけです。各チャネルはサンプリング結果と等価で、同じ分布に従いますが、サンプリング順序は異なる可能性があります。ただし、活性化関数後のチャネル分布は不安定になるため、正規化が必要です。 Teacher Network 自体の回帰予測の不安定さを回避するため、回帰損失は Ground Truth を目標に設計され、 Teacher Network の出力を上限として使用し、 Teacher より誤差が大きい部分のみを制約します。本質的には Online Hard Example Mining のアイデアを Teacher Network から借用しています。
歩行者再識別
Person Re-Identification の課題は、ある人物の画像が与えられたときに、その人物が他のカメラに登場するかどうかを、複数カメラのシーン内で判定することです。一般的に複数カメラ間の追跡問題を解決するために使用されます。オフライン店舗シナリオでは、各店舗の異なるエリアにカメラが設置されます。顧客が店舗内で買い物をする際、ユーザーがエリア間をどのように移動するか、および各エリアの顧客フローの状況と流入元を理解する必要があります。そのため、異なるカメラで検出された同じ歩行者を関連付ける必要があります。
歩行者特徴抽出
歩行者再識別の難しさは、複数のカメラで撮影された歩行者の角度が異なること、画像内の歩行者の外観が最大 72 倍変化しうること、そしてさまざまな程度の遮蔽が存在することであり、全身特徴を直接使用した再識別は非常に困難です。では、顔認識を歩行者再識別に使用できるでしょうか。理論的には可能ですが、実際の場面では実装が非常に困難です。まず、後頭部や横顔が広く存在し、顔認識は正面顔に限定されます。次に、カメラの解像度が十分でない場合もあり、特に遠近法のカメラでは顔領域が 32×32 ピクセルに満たない可能性もあります。そのため、顔認識は実際の再識別アプリケーションで大きな制約があります。
歩行者再識別において、堅牢な歩行者特徴表現を学習することが重要な課題となっています。最も直感的な方法は、歩行者画像全体を入力として直接使用し、グローバル特徴を抽出することです。グローバル特徴の目的は、異なる歩行者を区別できる最も顕著な情報(衣服の色など)を学習することですが、監視シーンの複雑さがこの手法の精度を大きく制限しています。たとえば、カメラ間の色差や店舗エリアごとの照明条件の違いがあり、類似した服装の歩行者も多いです。同時に、既存の歩行者再識別データセットの量と多様性が不足しているため、目立たない詳細特徴がグローバル特徴の学習で見落とされやすくなっています。
上記の問題を解決するため、より優れたアプローチはグローバル特徴の代わりにローカル特徴を使用することです。ローカル特徴ベースの歩行者再識別手法では、入力を複数の特徴ブロックに分割し、各ブロックがローカル特徴を表現します。ローカル特徴ベースの手法は、歩行者のローカル詳細特徴により注目できます。
ローカル特徴ベースの手法にもいくつかの問題があります。この種の手法は歩行者を独立したセマンティックブロックに分割し、ローカル特徴間の関係を考慮していません。そこで、私たちのスキームでは、マルチレベルのローカル特徴融合スキームを採用し、各ローカル特徴を考慮すると同時に複数のローカル特徴間の相関も考慮しています。ネットワーク構造は下図の通りです。元のローカル特徴に基づいて、異なるスケールの複数のローカル特徴とグローバル特徴を組み合わせることで、学習された特徴は各部位の詳細特徴だけでなく、異なる部位の特徴を組み合わせた情報も表現でき、元のバージョンよりも豊かな表現力を持っています。
現在、この統合バージョンに基づくモデルは最適化中ですが、 Market データセットで Rank@1 が 96.19% に達しています。同じバックボーンネットワーク構造を使用したグローバル特徴抽出バージョンの Rank@1 は 89.9% にとどまり、ローカル特徴のみのバージョンの Rank@1 は 92.5% です。統合ソリューションは両バージョンと比較して大幅な改善を示しています。
クロスデータセットでの歩行者再識別の試み
オフラインシナリオの特殊性により、モデルを異なる店舗に展開する必要があります。各店舗の照明や環境は大きく異なり、設置されたカメラの角度も微妙に異なります。特定の店舗で学習したモデルがすべての店舗に適するとは限りませんが、店舗ごとにデータにラベル付けを行うのは現実的ではありません。そこで、新しい店舗データにモデルを適応させる方法を探る必要があります。
店舗内では、顧客は閉鎖空間にいるため、異なるカメラ間の移動には一定の法則があります。店舗環境の特性に基づき、まずカメラの時空間情報を利用したハイブリッドモデルを試みました [7]。モデル構造は下図の通りです。
最初のハイブリッドモデルは、元の視覚特徴分類器に基づいてカメラ間および異なる時間間隔での遷移確率分布を計算し、その後、時空間情報と元の分類器を組み合わせて最終結果を導き出します。
人と商品のインタラクション検出
基本的な顧客フローデータに加えて、店舗内の顧客行動データも非常に価値があります。ビジョンソリューションと RFID 無線周波数信号を組み合わせて、店舗内の顧客と商品のインタラクション問題を解決しようと試みています。すなわち、どの顧客がどこでどの商品を手に取ったり閲覧したりしたかを把握するもので、オンラインのクリックデータに相当します。
人と商品のインタラクションデータは、オフライン環境で非常に重要なリンクです。このデータから、どの商品が頻繁に手に取られるか、どの商品が顧客に人気があるか、どのタイプの顧客がどのスタイルを好むかを知ることができ、同時に店舗全体のコンバージョンファネルの改善にも寄与します。従来、出店者は取引データのみで商品の人気を判断していましたが、一部の売れ筋商品は不適切な配置により顧客に十分見られていなかった可能性があります。最終的な取引量が少ないのはそのためです。同時に、取引量が多い商品でも、実際には多くの顧客に手に取られている場合があります。これは、その商品が同じ取引量の他の商品よりも目立つ位置にあるため、実際のコンバージョン率が低くなっている可能性があります。このリンクのデータを補完することは、出店者のオフライン運営において重要な役割を果たし、同時に出店者のオンライン・オフライン統合後のオンラインレコメンデーションサービスにおいても、この行動データが最も重要な役割を果たします。
現在オフラインデータが不足しているため、人と商品のインタラクションデータは比較的重大な不足リンクです。一般的に、出店者は商品取引の統計データを簡単に取得できますが、人と商品のインタラクションデータはより頻繁に発生し、判断が難しいため、データ収集の難易度は相対的に高いです。さらに、人と商品のインタラクションデータは特定の SKU レベルで正確である必要があり、単に顧客が何らかのアクションを取っただけでは不十分です。技術スキームと RFID 無線周波数信号の融合により、最終的な人と商品のインタラクションデータを取得できます。全体スキームは下図の通りです。
店舗には監視カメラ設備と RFID 受信設備が設置されており、それぞれリアルタイム映像と RFID タグからの反射信号のタイムスタンプを記録します。まず、返ってきた RFID 信号に基づいてどの RFID タグが反転された可能性があるかを検出します。店舗スタッフが RFID タグの EPC 番号を商品の SKU 番号と関連付けているため、反転されたタグの EPC 番号から対応する商品 SKU を特定できます。同時に監視映像から顧客の検出と追跡を行い、顧客の画像座標を物理座標に変換して実際の位置を取得します。最後に、反転が疑われる検出商品と反転が疑われる顧客を関連付けて、商品と歩行者の最適なマッチングを得ます。
その中でも、 RFID 技術に基づく商品行動認識は比較的新しい試みです。顧客が衣服を手に取ると、衣服に付けられた RFID タグが微振動し、 RFID 受信設備が RSSI や位相などの反射信号の特徴値の変化を記録してバックグラウンドに送信します。信号値を分析して商品が反転されたかどうかを判定しますが、信号ノイズ、環境のマルチパス効果、偶発的な電磁ノイズ、遮蔽の影響など多くの問題が存在します。同時に、受信機とタグの距離と RFID 反射信号の大きさには非線形関係があります。
ここで、 d は RFID タグと受信機間の距離を表し、マルチパスや環境の影響を受け、各種静的設備誤差によるオフセットを表します。この式から、受信機の設置位置と店舗環境が RFID 信号に大きな影響を与えることがわかります。異なる場所の店舗や受信機に適用できる統一された反転判定アルゴリズムを見つけるのは大きな課題です。元のバージョンでは、 RSSI と位相の生値を特徴値としてモデルを学習しましたが、サンプルが不十分な場合に環境の影響を強く受け、実際の環境ではオフライン処理が困難になる問題がありました。そこで、空間位置と強い相関のない特徴値から生成された元の信号値に基づいて行動判定を支援する方法を探っています。
周波数情報中の振幅情報は空間位置と関連していますが、周波数分布(異なる周波数成分の割合)のみに注目すると、周波数情報も空間位置と無関係な特徴として扱うことができます。周波数情報を取得するには、 RSSI 信号と位相信号に離散フーリエ変換を適用し、その後周波数信号と位相信号の分布統計を取る必要があります。得られた分布グラフから、現在の分布と直前の時間帯の分布間の JS ダイバージェンスを計算します(KL ダイバージェンスと異なり、 JS ダイバージェンスは加法対称性を持つため、複数の分布間の相対距離を測定するのに適しています)。
隣接する時刻の前後 2 つのサンプルに基づく JS 分散差のバージョンでは、テストデータで 94% の認識精度を達成しました。元の RSSI 値と位相値を特徴として使用するバージョンの 91.9% の精度と比較して、一定の改善が見られました。
画像ベースの顧客行動検出は古典的な分類問題です。計算リソースの要件を削減するため、 MobileNet[12] を使用して歩行者検出画像をさらに分類し、 Logits 出力モデルに基づいてパラメータを最適化します。分類精度を維持しながら、陽性サンプルのリコール率を向上させて、できるだけ多くの陽性サンプルを記憶できるようにします(下図参照)。
時間相関と疑わしい行動の 2 次元を通じて同時にマッチングを行うことで、最終的な歩行者と商品反転のマッチング精度は 85.8% に達しました。
## 顧客フローデジタル化の応用
顧客フローのデジタル化によって生成される顧客フロー関連データは、出店者のオフライン運用に使用されるだけでなく、このデータに基づくオフライントラフィック配信の初期アプリケーションもあります。タオバオはオンラインの主要なトラフィック配信エントリポイントです。タオバオの検索とレコメンデーションは、消費者が現在どの商品を見られるかを決定し、同時に各出店者や商品への全体的なトラフィックフローに影響を与えます。検索とレコメンデーションは、出店者、商品、ユーザーをマッチングさせ、適切なユーザーに適切な商品を表示するためのもので、消費者のショッピング体験を満足させながら、各マーチャントの商品配信トラフィックを均等化し、トラフィックの浪費を防ぎ、トラフィック価値を最大化します。
オフラインショッピングモールも同様のトラフィック配信ニーズを持っています。しかし、オンラインと比較して、オフライン市場には 2 つの大きな課題があります。 1)オフラインにはオンラインの検索やレコメンデーションアプリケーションのような統一されたエントリポイントがなく、ユーザーにリーチできません。 2)オフラインには同様の豊富なログや行動データが存在せず、データサポートなしでは正確なパーソナライゼーションは困難で、効果を最適化することもできません。
オフライントラフィック配信の試みでは、ショッピングモールや店舗内のインタラクティブスクリーンをトラフィック配信の出口として使用し、前述の顧客フローデジタル化で収集したデータを使用して、オフライン市場でのパーソナライズされたトラフィック配信をサポートします。
オフサイト配信スクリーン
オフサイト配信スクリーンの機能は、第 1 レベルのトラフィック配信を行うことです。まず、さまざまなインタラクティブゲームやマーケティング活動を通じてユーザーを引き付け、その後、スクリーンを通じてパーソナライズされたクーポンをユーザーに配信し、各店舗へ誘導します。
従来のショッピングモールでは、ユーザーが入店するとそのフロアで自由に活動し、気になるブランドを見つけて入店するか、ナビゲーションスクリーンでフロアのブランド配置を把握してから目的的に探索します。私たちの配信スクリーンの機能は、その人に応じた割引を推奨することでユーザーを店舗内へ誘導することです。これはショッピングモールの中央島エリアでの全体トラフィック配信に相当し、中央島に集中するユーザーを各方向へ誘導します。全体スキームは下図の通りです。
全体ソリューションは 3 つのデータに依存しています。ユーザー画像特徴に基づく属性データ、入店客分布データ、その他の店舗統計データです。現在のユーザー属性特徴と店舗客群特徴のマッチングにより、初期のパーソナライズされた店舗推奨結果を得られます。さらに、各店舗自体の統計的特徴を補足情報として活用し、マッチング条件が同じ場合は、人気度や効率性などの店舗の次元特徴や、現在提供されているクーポンの強度情報も考慮に入れて、最終的なクーポンランキングを取得してユーザーに表示します。
会場内のフィッティングスクリーン
会場内のフィッティングスクリーンの機能は、第 2 層のトラフィック配信、つまりユーザーが入店後にどの商品を推奨して表示するかを決定することです。従来の店舗では、ユーザーは入店後に店内をランダムに閲覧し、気になる服があればショップスタッフに試着を依頼し、試着後にスタッフが他の商品を推奨します。このプロセスにはいくつかの問題があります。まず、ユーザーの商品閲覧は商品配置と密接に関連しており、ウィンドウの商品は注目を集めやすいですが、密集したハンガーエリアでは見落とされやすいです。次に、試着後の推奨はスタッフの能力に依存し、経験豊富なスタッフは顧客の外見や気質に合わせて適切な商品を推奨できますが、多くのスタッフは現在の人気モデルに基づいて推奨するだけで、個人ごとの差異化ができません。
フィッティングスクリーンのレコメンデーションは、上記の 2 つの問題を解決する必要があります。全体の表示形式は以下の通りです。
ユーザーが試着すると、鏡の横に商品詳細が表示され、現在の割引情報なども含まれます。同時に、ユーザーの試着行動に基づいて、関連商品やマッチング商品を推奨し、一部の商品には追加の表示機会を与えます。さらに、ユーザーの試着行動と画像特徴に基づいてパーソナライズされたレコメンデーション結果を提供し、ユーザーの追加購入の意思決定を支援すると同時に、ショップスタッフがよりパーソナライズされた豊富な商品をユーザーに推奨するのをサポートします。
プライバシーの問題を考慮して、私たちのアプリケーションでは顔と対応する ID を関連付けるのではなく、ユーザーの行動とその場所での他のユーザーの行動の類似性のみに基づいてレコメンデーションを行います。
エンジニアリング実装
GPU 端末コンピューティングにおいて AI 推論は重要な部分です。初期の検討段階では、 AI 推論はシリアルモードを採用していました。
テストデータを観察したところ、プログラムが既にビデオストリーム画像処理の飽和状態にあるにもかかわらず、 6 コア CPU の使用率はわずか 150% 、 GPU の使用率は 30% に過ぎず、半分以上のハードウェアリソースがアイドル状態であることが判明しました。これらのアイドルリソースを活用するために、パイプラインモードに変更しました。構造図は以下の通りです。
マルチプロセスで実装されるパイプラインソリューションでは、各プロセスのデータは相互に依存しておらず、あるプロセスが生成または変更するデータは他のプロセスに対して敏感ではありません。プロセス間のデータ転送をいかに改善するかが効率的な並行性を実現する鍵となります。 mmap 型ベースの共有メモリを採用しました。パイプやソケットなどのマルチプロセス通信メカニズムと比較して、共有メモリはマルチプロセスデータ通信ソリューションで非常に効率的で柔軟です。 multiprocessing の値共有ソリューションを活用し、 ctypes に組み込まれたデータ構造を基盤としてデータモデルを実装することで、簡単にメモリセグメンテーションを行い、使用可能なデータ構造に変換できます。
ビジネス状況と組み合わせて、パイプラインの作業モードは各段階をサブタスクに分割します。画像共有キューも設計しました。全体のプロセスは 1 回だけ画像データを書き込む必要があり、各段階はこの共有キューから画像を読み取るだけでよく、プロセス完了後は画像キューから画像データを削除して、画像操作の正確性と効率性を確保します。テストを通じて、実装した共有メモリキューはパイプ方式よりも 300 倍以上高速にデータを読み取れることがわかりました。
ビジネス効果
現在、顧客フローデジタル化データは対応するプロダクトに保存されています。以下は基本的な顧客フローの図式です。ブランドオーナーは各店舗の日次基本顧客フローと時間帯別のフローを確認でき、各店舗の現在の運営状況を把握できます。
下図は地域のヒートマップと移動経路マップを示しています。地域のヒートマップは、 1 日の各時間帯における各エリアのトラフィック密度を表示します。異なるカメラのデータを統合し、最終的に店舗の CAD マップにマッピングして地域のヒートマップを表示することで、店舗は各エリアの人気をより直感的に確認できます。地域の移動経路マップは、各エリアの顧客フローの方向と流入元を示します。地域のヒートマップと移動経路データに基づいて、出店者は各エリアの密度とエリア間の顧客移動を明確に把握できます。現在、協力ブランドオーナーはデータに基づいて店舗内のディスプレイを調整し、一部の店舗は移動経路データに基づいて店舗全体の地域配置を再調整しています。
下図は入店顧客のポートレートを示しており、毎日入店する顧客の性別と年齢の分布を表示しています。出店者は入店顧客のポートレートデータに基づいてブランドの目標顧客層を比較し、実際の入店顧客フロー分布に基づいて店舗内のプロダクトカテゴリ構造と各タイプのプロダクトの比率を調整します。
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
