EXERCISE 90分

ストーリー

田中VPoE
画像AIの認識・生成・編集の技術と業務応用を学んだ。ここで実際の業務シナリオに対して、画像AIを適用する設計を行ってもらう
あなた
具体的な設計書を作るということですか?
田中VPoE
そうだ。3つのミッションを用意した。それぞれAPI選定、パイプライン設計、運用設計まで含めて考えてくれ
あなた
技術選定から運用まで一貫して設計するんですね。実戦的ですね

ミッション概要

項目内容
目標画像AIを業務に適用するシステム設計書を作成する
所要時間90分
ミッション数3つ
使用知識OCR / 画像生成 / 画像編集 / 業務応用
評価観点技術選定の妥当性、パイプライン設計、運用設計

ミッション1: EC商品画像の自動品質チェックシステム(30分)

シナリオ

【EC運営部 高橋マネージャーからの依頼】

出品者(サプライヤー)から送られてくる商品画像の品質にバラつきがあり、
掲載基準を満たさない画像が多い。現在は担当者2名が目視でチェックしている。

掲載基準:
1. 背景が白またはライトグレーであること
2. 商品が画像面積の60%以上を占めていること
3. ブレやピンぼけがないこと
4. 適切な明るさ(暗すぎない/白飛びしない)
5. ウォーターマークやテキストが含まれないこと
6. 最低解像度: 800x800px

月間処理量: 約10,000枚
現在の処理時間: 1枚あたり30秒(目視)
不合格率: 約25%

タスク

以下を設計してください。

1. システムアーキテクチャ
   - 使用するAPI/モデル
   - 入力から出力までのデータフロー

2. 品質チェックロジック
   - 各基準のチェック方法(どの技術で何を検査するか)
   - 判定アルゴリズム(スコアリングの仕組み)

3. APIリクエスト設計
   - プロンプト設計(VLMを使う場合)
   - レスポンスのパース方法

4. 運用設計
   - バッチ処理 vs リアルタイム処理の選択
   - エラーハンドリング
   - コスト試算
解答例を見る
1. システムアーキテクチャ

使用API:
- 解像度・フォーマットチェック: Pillow(ローカル処理、無料)
- 背景チェック + 商品面積: Claude Vision API
- ブレ検出: OpenCV(ラプラシアン分散、ローカル処理)
- ウォーターマーク検出: Claude Vision API(上記と同じリクエストで併用)

データフロー:
入力画像 → [Pillow: 解像度チェック]
         → [OpenCV: ブレ検出]
         → [Claude Vision: 背景・構図・テキスト検出]
         → [スコア統合] → 合格/不合格/要確認

2. 品質チェックロジック

| 基準 | チェック方法 | 閾値 |
|------|------------|------|
| 背景色 | VLMで判定 + HSV解析 | 白/ライトグレー判定 |
| 商品面積 | VLMで推定 | 60%以上 |
| ブレ | ラプラシアン分散 | variance > 100 |
| 明るさ | ヒストグラム分析 | 平均輝度 80-220 |
| テキスト | VLMで検出 | テキストなし |
| 解像度 | Pillow | 800x800以上 |

スコアリング: 6基準すべて合格 → OK、1つ不合格 → 要修正(理由付き)

3. APIリクエスト設計

プロンプト:
"この商品画像を以下の基準で評価してください:
1. 背景色(白/ライトグレー/その他)
2. 商品が画像面積の何%を占めているか(推定値)
3. 画像にテキスト/ウォーターマークはあるか
4. 全体的な画像品質(A:良好 B:やや問題あり C:不可)
JSON形式で回答してください。"

4. 運用設計

- 処理方式: 準リアルタイム(アップロード後5分以内に結果通知)
- バッチ: 夜間に再チェック処理(API障害時のリカバリ)
- エラーハンドリング: APIタイムアウト → リトライ3回 → 人的確認キュー
- コスト試算:
  ローカル処理(Pillow + OpenCV): 無料
  Claude Vision: 10,000枚 × $0.01 = $100/月(約15,000円)
  合計: 約15,000円/月(現状の人件費60万円と比較して大幅削減)

ミッション2: 商品画像の自動加工パイプライン設計(30分)

シナリオ

【デザインチーム 伊藤リーダーからの依頼】

品質チェックに合格した商品画像を、ECサイトの各ページ用に
複数サイズ・フォーマットに加工する作業を自動化したい。

現在の手作業:
1. 背景除去 → 白背景に差し替え(メイン画像用)
2. リサイズ(メイン: 1200x1200, サムネイル: 300x300, 拡大: 2400x2400)
3. ライフスタイル背景の合成(3パターン)
4. バナー用画像の生成(横長: 1920x600)
5. SNS用画像(Instagram正方形、Twitter横長)

月間: 2,000商品(各1〜5枚の原画像)
現在の所要時間: 1商品あたり平均30分(デザイナー作業)

タスク

以下を設計してください。

1. パイプライン全体設計
   - 処理ステップの順序と依存関係
   - 各ステップで使用するツール/API
   - 並列処理可能なステップの特定

2. 各ステップの詳細設計
   - 背景除去の手法選定と理由
   - ライフスタイル背景合成の実装方針
   - バナー・SNS画像の生成戦略

3. 品質保証
   - 自動品質チェックのポイント
   - 人間レビューが必要な条件

4. コスト・時間の試算
解答例を見る
1. パイプライン全体設計

原画像 ─→ [背景除去(rembg)] ─→ 透過PNG

                    ┌───────────────┼───────────────┐
                    │               │               │
                    ▼               ▼               ▼
            [白背景合成]    [ライフスタイル    [バナー用
             + リサイズ]     背景合成×3]      レイアウト]
                    │               │               │
                    ▼               ▼               ▼
            1200/300/2400    3パターン生成    1920x600
                    │               │               │
                    └───────┬───────┘               │
                            │                       │
                            ▼                       ▼
                    [SNS用リサイズ]           [テキスト
                    IG:1080x1080              オーバーレイ]
                    TW:1200x675
                            │                       │
                            └───────┬───────────────┘

                            [自動品質チェック]


                            出力ディレクトリ

並列処理: 背景除去後の3系統は並列実行可能

2. 各ステップの詳細設計

背景除去: rembg(OSS)を選定
理由: 大量処理のためAPIコスト不要、品質も商品画像で十分

ライフスタイル背景合成:
- ControlNet(Canny Edge)で商品の輪郭を維持
- SD XLで3パターンの背景を生成
- プロンプトテンプレートで品質を安定化

バナー生成:
- 商品を左1/3に配置、右2/3をAI生成背景で埋める
- テキスト領域を確保したレイアウト

3. 品質保証

自動チェック:
- 背景除去の品質: エッジのギザギザ検出
- 生成画像の品質: CLIP スコアで商品との一致度を検証
- フォーマット: 解像度、ファイルサイズの確認

人間レビュー条件:
- ライフスタイル画像は全件(ブランドイメージに関わる)
- 白背景画像は自動チェック通過で人間レビュー不要

4. コスト試算

月間2,000商品 × 平均3枚 = 6,000枚
- rembg: 無料(GPUサーバー費用: 月5万円)
- SD XL: ローカル実行(上記サーバーで兼用)
- 人間レビュー: ライフスタイル画像のみ → 月40時間
- 合計コスト: 月17万円(現状: デザイナー3名 × 月100万円)

ミッション3: 画像AIの精度モニタリングダッシュボード設計(30分)

シナリオ

【技術部 田中VPoEからの依頼】

ミッション1とミッション2のシステムを本番運用するにあたり、
AIの精度を継続的にモニタリングする仕組みが必要だ。

要件:
- 各チェック基準の精度(適合率・再現率)を日次で算出
- 精度が閾値を下回った場合のアラート
- 人間レビューの結果をフィードバックする仕組み
- 月次レポートの自動生成

タスク

以下を設計してください。

1. モニタリング指標の定義
   - 何を、どう測定するか
   - 閾値の設定

2. データ収集設計
   - AI判定結果の記録方法
   - 人間レビュー結果の収集方法
   - フィードバックループの設計

3. アラート設計
   - アラート条件
   - 通知方法
   - エスカレーションフロー

4. レポート設計
   - 月次レポートに含める項目
   - 可視化の方法
解答例を見る
1. モニタリング指標

| 指標 | 計算方法 | 閾値 |
|------|---------|------|
| 適合率(Precision) | TP / (TP + FP) | >= 0.95 |
| 再現率(Recall) | TP / (TP + FN) | >= 0.90 |
| F1スコア | 2×P×R / (P+R) | >= 0.92 |
| 人間介入率 | 人的確認件数 / 全件数 | <= 0.30 |
| 処理レイテンシ | API応答時間の中央値 | <= 5秒 |
| APIエラー率 | エラー数 / リクエスト数 | <= 0.01 |

2. データ収集設計

AI判定結果:
- 全件をDBに記録(画像ID、判定結果、信頼度、処理時間)
- サンプリング(全体の5%)を人間レビューキューに送る

人間レビュー結果:
- レビュアーがAI判定に対して「正しい/誤り」を記録
- 誤りの場合は正しいラベルを付与
- 月200件のラベル付きデータが蓄積

フィードバックループ:
AI判定 → 5%サンプリング → 人間レビュー → 結果DB → 精度算出

                                    閾値以下ならアラート

3. アラート設計

- Warning: F1スコアが0.92-0.90に低下 → Slack通知
- Critical: F1スコアが0.90未満 → Slack + メール + 自動でHuman-in-the-Loop率を上げる
- Emergency: APIエラー率5%超 → 全件人的確認に切り替え + PagerDuty

4. レポート設計

月次レポート項目:
- 処理件数、合格率、不合格率
- 基準別の精度推移グラフ
- 人間介入率の推移
- コスト(API費用 + 人的コスト)
- 改善提案(精度低下の原因分析)
- 新たに検出されたエッジケース一覧

可視化: Grafanaダッシュボード + 月次PDF自動生成

振り返り

評価基準

評価項目A(優秀)B(合格)C(要改善)
技術選定コスト・精度・運用を考慮した最適選定適切な技術を選定技術の使い分けが不明確
パイプライン設計並列処理・エラーハンドリングまで設計基本的な処理フロー処理順序が不適切
品質保証定量指標 + 自動モニタリング + フィードバック基本的な品質チェック品質管理が不十分
運用設計コスト試算 + アラート + レポートまで網羅基本的な運用方針運用が考慮されていない

推定所要時間: 90分