Newer
Older
TIASjudge / docs / 03_PLAN / PLAN_01_要件定義書.md

要件定義書 (Requirements)

プロジェクトの目的 (Purpose)

  • 既存の舌診支援アプリ tonguediagnosisMFC2(C++ / MFC / OpenCV)を,同一機能を保ったまま保守・拡張しやすい構成で再構築する
  • ビルド成果物やデータの混在を解消し,ドキュメント・テスト・規約の揃ったリポジトリとして管理できるようにする

対象ユーザー (Target Users)

  • 舌診研究に携わる研究者・学生(画像から舌色の客観評価を得たい人)

現行機能(維持すべき機能)(Current Features to Preserve)

既存実装(org/src/tonguediagnosisMFC2)の解析に基づく機能一覧.

  1. 入力
    • 変換行列 CSV の読み込み(RGB→XYZ 多項式回帰係数 17×3)
    • 舌画像(PNG)の読み込みと中央クロップ(1024×1280)
  2. ROI 指定
    • 画像上のクリック(1〜4 点)で 51×51 px の ROI を指定,平均 BGR を取得
    • 右クリックで選択リセット
  3. 舌色診断
    • ROI 平均 RGB → 多項式変換で XYZ → Lab(固定白色点 Xn=102.07, Yn=100.0, Zn=79.41)
    • data.csv(84 サンプル × Lab 3 次元 + 医師評価 190 次元 = 38 名 × 5 色)を学習データに,出力次元ごとに SVM(RBF, γ=0.011, C=12.0)を毎回学習して予測
    • 5 色(紫・暗赤・紅・淡紅・淡白紅)ごとの一致率(%)と上位 2 ラベルを算出
  4. 結果表示
    • L*a*b* 値・5 色スコア・上位 2 ラベルの表示,結果ダイアログ(日本語/英語切替)
  5. 連続診断
    • 同じ変換行列を使い回して次の画像を診断できる

スコープ外 (Out of Scope)

  • 診断アルゴリズム自体の変更・精度改善(挙動は現行と一致させる)
  • カメラ撮影・画像補正機能の新規追加(コメントアウトされた明るさ補正等は移植しない)
  • 医師評価データの収集・更新フロー

成功基準 (Success Criteria)

  • 同じ入力(画像・クリック位置・変換行列・data.csv)に対して現行実装と同じ診断結果を返す
  • ソース・データ・ビルド成果物が分離され,.gitignore が整備されている
  • 主要ロジック(Lab 変換・SVM 分類・CSV 読込)が UI から分離され,テスト可能になっている