診断結果は現行実装と一致させる.本仕様は現行コード(org/src)の解析結果を正とする.
ROI 平均 RGB → (1) 多項式変換で XYZ → (2) Lab 変換 → (3) SVM 分類 → 5 色スコア・上位 2 色
変換行列 CSV の係数 a[0..16], b[0..16], c[0..16] を用い,R, G, B の 3 次までの多項式(17 項: 1 次 3 項 + 2 次クロス 3 項 + 2 乗 3 項 + 3 次 7 項 + 定数項)で X, Y, Z を計算する.負値は 0 にクリップする.
X = a0*R + a1*G + a2*B + a3*R*G + a4*R*B + a5*G*B + a6*R^2 + a7*G^2 + a8*B^2 + a9*R^2*B + a10*R^2*G + a11*G^2*R + a12*G^2*B + a13*B^2*R + a14*B^2*G + a15*R*G*B + a16 (Y, Z も係数 b, c で同形)
白色点 Xn=102.07, Yn=100.0, Zn=79.41(固定)とし,立方根で算出する:
※ CIE 標準の低輝度側条件分岐(t ≤ (6/29)³ のときの線形近似)は現行実装に無いため意図的に実装しない(結果同一性優先).
data.csv の 84 サンプル(入力: L*a*b* 3 次元,出力: 190 列 = 医師 38 名 × 5 色の 0/1 評価)5 色スコア(% 整数)が特定の組(淡紅 11・紅 5・暗赤 0・紫 42・淡白 3)と完全一致した場合,現行実装は「Diagnosis failed」と表示する.
※ これは「学習不能時に SVM が返す既知の出力パターン」をマジックナンバーで検出する現行のワークアラウンド.新実装では学習不能・予測失敗を直接検出して失敗表示する(表示仕様は現行と同じ).
a[i], b[i], c[i](X, Y, Z 用係数)data/ に同梱予定)L,a,b,紫,暗赤,紅,淡紅,淡白,… の繰り返し)org/src の読込コードと突き合わせて確定すること