実店舗向けバーチャル試着システム導入のアーキテクチャ検討 - Bodygram × Gemini API

実店舗向けバーチャル試着システム導入のアーキテクチャ検討 - Bodygram × Gemini API

2026.02.04

概要

Bodygram Platform × Gemini APIでバーチャル試着を試してみたでは、BodygramとGemini APIを用いて、サイズ感を反映したバーチャル試着を実装する方法について解説しました。今回は、この仕組みを実店舗に導入し、来店客がその場でサイズ感を確認しながらバーチャル試着を体験できるようにするためのアーキテクチャを検討してみたので、その内容を共有します。

なお、本記事はアーキテクチャの設計検討段階のものであり、実装・実店舗への導入はまだ行っていません。以降の体験フローや処理フローは、想定する設計内容として記載しています。

システムの特徴

  • LINEタッチで会員登録: NFCタグをスマホでタッチするだけでLIFFアプリが起動
  • カメラゲートで自動計測: 入店時に正面・右側面の2方向から撮影し、Bodygramで体型を自動計測
  • RFIDで商品検知: 試着ラックに商品を掛けるだけで自動認識
  • タッチパネルでバーチャル試着: AIが生成した試着画像をその場で確認

体験フロー

実際の店舗に導入した場合を想定した、ユーザーの体験フローです。

システムアーキテクチャ

全体構成

pus_system_architecture.drawio

使用技術

コンポーネント 技術 役割
会員アプリ LIFF (LINE Front-end Framework) 会員登録、会員証表示
認証 Cognito + LINE Login ユーザー認証、JWT発行
カメラゲート Raspberry Pi 5 + USB カメラ×2 撮影、バーコード読取
体型計測 Bodygram Platform API 24箇所の身体計測
商品検知 RFID リーダー (TS-100F) ラック上の商品を自動認識
試着アプリ Next.js (タッチパネル向け) バーチャル試着UI
画像生成 Gemini API (gemini-3-pro-image-preview※) 試着画像の生成
バックエンド Lambda + API Gateway API処理
データベース DynamoDB 会員、計測、商品データ
ストレージ S3 撮影画像、生成画像
通知 LINE Messaging API 計測完了通知

※ 2026年1月時点プレビュー版

Phase 1: 会員登録(LIFF)

店舗入口のNFCタグにスマホをかざすと、LIFFアプリが起動します。LINE Login認証後、規約同意と体型データ入力を行い、JWT署名付きの会員証バーコードを発行します。

処理フロー

Phase 2: 撮影 & 計測(カメラゲート)

gate
イメージ画像です

会員証バーコードをゲートにかざすと、Raspberry Pi 5が2台のカメラで同時撮影を行います。撮影後、画像はS3にアップロードされ、SQSキュー経由でBodygram APIによる体型計測が非同期で実行されます。

ハードウェア構成

機器 用途
Raspberry Pi 5 制御用コンピュータ
USBカメラ × 2 正面・側面撮影
バーコードリーダー 会員証読取
ディスプレイ 撮影ガイド表示

処理フロー

Phase 3: バーチャル試着(試着エリア)

RFID
イメージ画像です

試着エリアのタッチパネルで会員証バーコードをスキャンすると、試着セッションが開始されます。RFIDリーダーがラックに掛けられた商品を自動検知し、顧客が商品カードをタッチするとGemini APIによるバーチャル試着画像が生成されます。

画面遷移

処理フロー

RFIDリーダー

RFIDリーダー

RFIDリーダーにはTS-100Fを想定しています。TS-100Fは「透過読み取り」モデルで、本体から最長2〜3mのエリアでICタグを認識できる広い読み取り範囲が特徴です。

電波が直線的に届く特性を活かし、ラックの横に設置することで、ラックに掛けられた商品のRFIDタグをまとめて検知する構成を想定しています。実際にTS-100FとRFIDタグで検証したところ、出力を調整することで横方向に約2メートルの範囲で安定して検知できることを確認しました。

データベース設計

DynamoDB テーブル構成

Members テーブル

属性 説明
userId (PK) String 会員ID
lineUserId String LINE ユーザーID
height Number 身長 (cm)
weight Number 体重 (kg)
gender String 性別
age Number 年齢
createdAt String 登録日時

Scans テーブル

属性 説明
scanId (PK) String スキャンID
userId (GSI) String 会員ID
status String queued / processing / completed / failed
s3Paths Map 画像パス (front, side)
measurements Map Bodygram計測結果
createdAt String 撮影日時
ttl Number 自動削除用TTL (30日後)

Products テーブル

属性 説明
productId (PK) String 商品ID
rfidTag (GSI) String RFIDタグID
name String 商品名
price Number 価格
category String カテゴリ
colors List カラーバリエーション
sizeChart List サイズ表
imageUrls Map 商品画像URL

まとめ

本記事では、BodygramとGemini APIを組み合わせた実店舗向けバーチャル試着システムの設計を紹介しました。LINEタッチによる会員登録、カメラゲートでの自動計測、RFIDによる商品検知、タッチパネルでのバーチャル試着という4つのフェーズを組み合わせることで、専用アプリ不要で始められる手軽さと、体型に合った試着体験を両立できる構成です。

今後実装を進めるにあたっては、Bodygram APIの計測レイテンシ(約10秒)やGemini APIの画像生成時間(約20秒)をユーザー体験上どう吸収するかが課題になります。本設計ではSQSによる非同期処理とLINE Push通知で計測待ちを解消し、試着画像生成中はプログレスバーで待機時間を可視化する方針としています。

各APIの具体的な実装方法についてはBodygram Platform × Gemini APIでバーチャル試着を試してみたで解説しています。

参考リンク

この記事をシェアする

FacebookHatena blogX

関連記事