diff --git a/CLAUDE.md b/CLAUDE.md index 7d44371..5fb55b3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,8 +70,8 @@ - DNG 対応要求仕様: docs/05_TECH/TECH_01_DNG対応要求仕様.md -### 07_REPORT(報告書) +### 06_TEST(テスト・評価報告) -- 照明均一性評価報告書: docs/07_REPORT/REPORT_01_照明均一性評価報告書.md -- PNG/DNG 評価比較報告書: docs/07_REPORT/REPORT_02_PNG_DNG評価比較報告書.md -- 外乱光影響評価報告書: docs/07_REPORT/REPORT_03_外乱光影響評価報告書.md +- 照明均一性評価報告書: docs/06_TEST/TEST_01_照明均一性評価報告書.md +- PNG/DNG 評価比較報告書: docs/06_TEST/TEST_02_PNG_DNG評価比較報告書.md +- 外乱光影響評価報告書: docs/06_TEST/TEST_03_外乱光影響評価報告書.md diff --git "a/docs/01_GUIDE/GUIDE_03_\343\203\225\343\202\241\343\202\244\343\203\253\345\221\275\345\220\215\350\246\217\345\211\207.md" "b/docs/01_GUIDE/GUIDE_03_\343\203\225\343\202\241\343\202\244\343\203\253\345\221\275\345\220\215\350\246\217\345\211\207.md" index 2840ec6..f9d43d2 100644 --- "a/docs/01_GUIDE/GUIDE_03_\343\203\225\343\202\241\343\202\244\343\203\253\345\221\275\345\220\215\350\246\217\345\211\207.md" +++ "b/docs/01_GUIDE/GUIDE_03_\343\203\225\343\202\241\343\202\244\343\203\253\345\221\275\345\220\215\350\246\217\345\211\207.md" @@ -24,7 +24,6 @@ | `SPEC_` | `04_SPEC/` | ユーザーから見える仕様 | 企画書,画面遷移図,パラメータ設定 | | `TECH_` | `05_TECH/` | エンジニア向けの技術設計 | 通信プロトコル仕様,データベース設計,クラス設計 | | `TEST_` | `06_TEST/` | テスト計画,品質保証 | 単体テスト仕様書,シナリオテスト計画,品質基準 | -| `REPORT_` | `07_REPORT/` | 評価報告書,研究結果 | 照明均一性評価報告書,装置比較報告書 | ## 運用ルール (Operational Rules) diff --git "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" index d9603bc..c2c93b1 100644 --- "a/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" +++ "b/docs/03_PLAN/PLAN_02_\351\226\213\347\231\272\343\202\271\343\203\206\343\203\203\343\203\227.md" @@ -26,7 +26,7 @@ - `spatial.py`: 空間解析(中心/中間/周辺ゾーン,中心周辺勾配,動径輝度プロファイル,動径 min/max 比) - `reproducibility.py` + `registration.py`: 位置合わせ(位相相関)付き SSIM による画像間再現性評価 - `viewer.py`: Streamlit による結果ビューア / `select_roi.py`: OpenCV による対話的 ROI 選択 -- 報告書 REPORT_01(照明均一性)/ REPORT_02(PNG・DNG 比較)/ REPORT_03(外乱光影響) +- 報告書 TEST_01(照明均一性)/ TEST_02(PNG・DNG 比較)/ TEST_03(外乱光影響) ### ステップ 2.5: DNG (RAW_SENSOR) 対応 ✅ 完了(TECH_05 Phase 1) diff --git "a/docs/06_TEST/TEST_01_\347\205\247\346\230\216\345\235\207\344\270\200\346\200\247\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" "b/docs/06_TEST/TEST_01_\347\205\247\346\230\216\345\235\207\344\270\200\346\200\247\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" new file mode 100644 index 0000000..345aef7 --- /dev/null +++ "b/docs/06_TEST/TEST_01_\347\205\247\346\230\216\345\235\207\344\270\200\346\200\247\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" @@ -0,0 +1,215 @@ +# 照明均一性評価報告書 (Illumination Uniformity Evaluation Report) + +## 評価概要 (Evaluation Overview) + +- 装置: SmTIAS(小型口腔内画像取得装置) +- 撮影日: 2026-04-08 +- 評価対象: 白板画像 12 枚 +- 手法: [SPEC_02_照明均一性評価アルゴリズム](../04_SPEC/SPEC_02_照明均一性評価アルゴリズム.md) +- 集計統計出力: バッチ解析時に `output/results/summary_statistics.csv` として自動出力される +- 輝度変換: ITU-R BT.709(Y = 0.2126R + 0.7152G + 0.0722B)[1] +- 均一性指標: CoV,標準偏差,最大/最小比 +- 空間分析: 3 ゾーン(center d<0.33 / middle / periphery d≥0.66) +- ROI: x=539, y=1015, w=1400, h=1409 + +## 結果の要約 (Results Summary) + +### 均一性指標 (Uniformity Metrics) + +| 画像名 | 平均輝度 | 標準偏差 | CoV | 最大/最小比 | 最大値 | 最小値 | +| --- | --- | --- | --- | --- | --- | --- | +| SmTIAS_20260408_140317 | 145.97 | 6.18 | 0.0423 | 1.387 | 161.65 | 116.52 | +| SmTIAS_20260408_140342 | 145.31 | 6.18 | 0.0425 | 1.375 | 162.65 | 118.30 | +| SmTIAS_20260408_140408 | 144.58 | 6.11 | 0.0423 | 1.493 | 161.65 | 108.30 | +| SmTIAS_20260408_141805 | 145.06 | 6.17 | 0.0426 | 1.417 | 160.65 | 113.37 | +| SmTIAS_20260408_141900 | 144.98 | 6.21 | 0.0428 | 1.422 | 165.65 | 116.52 | +| SmTIAS_20260408_141945 | 144.85 | 6.21 | 0.0429 | 1.440 | 167.58 | 116.37 | +| SmTIAS_20260408_144434 | 146.71 | 6.26 | 0.0426 | 1.392 | 164.65 | 118.30 | +| SmTIAS_20260408_145011 | 146.59 | 6.22 | 0.0424 | 1.371 | 163.08 | 118.94 | +| SmTIAS_20260408_145320 | 146.66 | 6.27 | 0.0427 | 1.374 | 162.65 | 118.37 | +| SmTIAS_20260408_150524 | 146.74 | 6.24 | 0.0425 | 1.412 | 164.23 | 116.30 | +| SmTIAS_20260408_155530 | 145.00 | 6.19 | 0.0427 | 1.358 | 160.65 | 118.30 | +| SmTIAS_20260408_155541 | 144.95 | 6.20 | 0.0428 | 1.381 | 160.65 | 116.30 | + +| 統計量 | 平均輝度 | 標準偏差 | CoV | 最大/最小比 | 最大値 | 最小値 | +| --- | --- | --- | --- | --- | --- | --- | +| 平均 (Mean) | 145.62 | 6.20 | 0.0426 | 1.402 | 162.98 | 116.32 | +| 画像間 SD | 0.81 | 0.04 | 0.0002 | 0.036 | — | — | +| 画像間 CV | 0.0056 | 0.0067 | 0.0044 | 0.0257 | — | — | +| 最小 (Min) | 144.58 | 6.11 | 0.0423 | 1.358 | 160.65 | 108.30 | +| 最大 (Max) | 146.74 | 6.27 | 0.0429 | 1.493 | 167.58 | 118.94 | +| 範囲 (Range) | 2.16 | 0.16 | 0.0006 | 0.135 | 6.93 | 10.64 | + +### 空間分析指標 (Spatial Analysis Metrics) + +| 画像名 | 中心平均 | 中間平均 | 周辺平均 | 中心/周辺比 | 勾配量 (%) | +| --- | --- | --- | --- | --- | --- | +| SmTIAS_20260408_140317 | 151.02 | 146.97 | 141.61 | 1.0664 | 6.23 | +| SmTIAS_20260408_140342 | 150.33 | 146.31 | 140.97 | 1.0664 | 6.23 | +| SmTIAS_20260408_140408 | 149.50 | 145.57 | 140.29 | 1.0656 | 6.16 | +| SmTIAS_20260408_141805 | 149.92 | 146.07 | 140.81 | 1.0647 | 6.08 | +| SmTIAS_20260408_141900 | 149.89 | 146.00 | 140.67 | 1.0655 | 6.15 | +| SmTIAS_20260408_141945 | 149.79 | 145.85 | 140.54 | 1.0658 | 6.17 | +| SmTIAS_20260408_144434 | 151.68 | 147.70 | 142.43 | 1.0650 | 6.10 | +| SmTIAS_20260408_145011 | 151.46 | 147.58 | 142.34 | 1.0641 | 6.02 | +| SmTIAS_20260408_145320 | 151.63 | 147.65 | 142.36 | 1.0651 | 6.11 | +| SmTIAS_20260408_150524 | 151.68 | 147.73 | 142.46 | 1.0647 | 6.08 | +| SmTIAS_20260408_155530 | 149.62 | 146.02 | 140.84 | 1.0623 | 5.86 | +| SmTIAS_20260408_155541 | 149.60 | 145.96 | 140.78 | 1.0627 | 5.90 | + +| 統計量 | 中心平均 | 中間平均 | 周辺平均 | 中心/周辺比 | 勾配量 (%) | +| --- | --- | --- | --- | --- | --- | +| 平均 (Mean) | 150.51 | 146.62 | 141.34 | 1.0649 | 6.09 | +| 画像間 SD | 0.87 | 0.81 | 0.80 | 0.0012 | 0.11 | +| 画像間 CV | 0.0058 | 0.0055 | 0.0057 | 0.0012 | 0.0183 | +| 最小 (Min) | 149.50 | 145.57 | 140.29 | 1.0623 | 5.86 | +| 最大 (Max) | 151.68 | 147.73 | 142.46 | 1.0664 | 6.23 | +| 範囲 (Range) | 2.18 | 2.16 | 2.17 | 0.0041 | 0.37 | + +### 代表画像の可視化 (Representative Visualization) + +代表画像として SmTIAS_20260408_144434(中央値に近い値)を使用する. + +[図: 輝度マップ(SmTIAS_20260408_144434)] + +[図: 輝度ヒストグラム(SmTIAS_20260408_144434)] + +[図: 放射状輝度プロファイル(SmTIAS_20260408_144434)] + +[図: ゾーンオーバーレイマップ(SmTIAS_20260408_144434)] + +### 再現性評価: SSIM (Reproducibility: SSIM) + +12 枚の輝度マップに対するペアワイズ SSIM(全 66 ペア)の集計結果を以下に示す. + +#### 位置合わせなし SSIM (Raw SSIM) + +| 統計量 | 値 | +| --- | --- | +| 平均 SSIM | 0.9112 | +| 最小 SSIM | 0.9092 | +| 最大 SSIM | 0.9134 | +| 標準偏差 | 0.0012 | +| ペア数 | 66 | + +#### 位置合わせ後 SSIM (Registered SSIM) + +| 統計量 | 値 | +| --- | --- | +| 平均 SSIM(位置合わせ後) | 0.9114 | +| 最小 SSIM(位置合わせ後) | 0.9095 | +| 最大 SSIM(位置合わせ後) | 0.9136 | +| 標準偏差(位置合わせ後) | 0.0012 | +| ペア数 | 66 | + +#### シフト量統計 (Shift Magnitude Statistics) + +| 統計量 | 値 | +| --- | --- | +| 平均シフト量(ピクセル) | 0.041 | +| 最大シフト量(ピクセル) | 0.082 | + + +## 考察 (Discussion) + +### 均一性の水準評価 (Uniformity Level Assessment) + +- CoV が全画像で 0.0423–0.0429 の範囲にあり,0.05 を下回る +- 照明工学の実務では CoV < 0.10 が許容範囲,CoV < 0.05 が良好とされる経験的基準が広く用いられている [3] +- 本評価結果は「良好」の水準に該当する +- 標準偏差も 6.11–6.27 と安定しており,平均輝度に対して約 4% のばらつきに収まる + +### 最大/最小比の解釈 (Max/Min Ratio Interpretation) + +- 全画像の最大/最小比は 1.358–1.493 の範囲 +- SmTIAS_20260408_140408 のみ 1.493 と他の画像より突出(最小値 108.30 が特異的に低い) +- この画像を除くと範囲は 1.358–1.440 に収まり,局所的な異常の可能性がある +- 最小値の低下は ROI 端部の影やセンサーノイズが原因と考えられる + +### 中心-周辺勾配の特徴 (Center-Periphery Gradient Characteristics) + +- 全画像で中心 > 中間 > 周辺の単調減少パターンが確認された +- 中心/周辺比は 1.0623–1.0664 で,中心が周辺より約 6.5% 明るい +- 勾配量は 5.86–6.23% で,中心から周辺にかけて一貫した輝度減衰がある +- これは典型的なビネッティング(周辺光量低下)パターンであり,以下が原因と推定される: + - LED 光源の配置が中心方向に集中している(主因) + - 筐体内壁の反射特性の不均一 + - レンズ系のコサイン 4 乗則による周辺光量低下の可能性 [5](ただし Android カメラの ISP によるレンズシェーディング補正が適用されるため,寄与は限定的と考えられる) + +### 再現性の評価 (Reproducibility Assessment) + +画像間変動係数(CV = 標準偏差 / 平均,母集団標準偏差 ddof=0)に基づいた定量的な再現性評価を以下に示す [7][8]. + +- **平均輝度の CV が 0.0056(約 0.6%)** → 撮影ごとの輝度レベルが極めて安定しており,高い再現性を示す +- **CoV の CV が 0.0044(約 0.4%)** → 均一性評価指標自体の再現性も高く,評価結果が撮影条件に依存しにくいことを示す +- **中心/周辺比の CV が 0.0012(約 0.1%)** → 空間的な照明パターンが撮影間で非常に安定しており,ビネッティング特性が固定されていることを確認 +- **勾配量の CV が 0.0183(約 1.8%)** → 他の指標と比べてやや大きいが,範囲は 0.37%(5.86–6.23%)に収まり,実用上は十分に安定している +- 以上より,12 枚の撮影間で照明条件が極めて安定しており,SmTIAS の照明系は高い再現性を持つと結論する + +#### SSIM による構造的再現性 (Structural Reproducibility via SSIM) + +- 位置合わせなしのペアワイズ SSIM の平均が 0.9112(標準偏差 0.0012)であり,全 66 ペアで SSIM > 0.90 を達成している +- SPEC_02 の解釈基準(≥ 0.95 で「高い再現性」)には達していない +- 位相相関法による位置合わせ後の SSIM は平均 0.9114 であり,位置合わせなし(0.9112)からの改善は +0.0002 とごくわずかである +- 平均シフト量が 0.041 ピクセル(最大 0.082 ピクセル)と極めて小さく,スマートフォンの取り付け位置ずれは SSIM 低下の主因ではないことが判明した +- SSIM が 0.91 にとどまる主因は,撮影ごとのセンサーノイズ・LED の微小な出力変動等,空間的に非系統的な要因と考えられる +- 一方で,取り付け位置のずれがサブピクセル精度で安定していることは,SmTIAS の固定機構の精度が高いことを示す有意義な知見である +- CV が要約統計量のばらつきのみを評価するのに対し,SSIM は画像全体の輝度・コントラスト・構造パターンの一致度を評価する +- 両指標を併用することで,マクロレベル(CV)とピクセルレベル(SSIM)の再現性を相補的に確認できる +- SSIM の標準偏差が 0.0012 と極めて小さく,全 66 ペアで SSIM が 0.909–0.914 の狭い範囲に収まっている点は,画像間の差異が系統的ではなくランダムノイズに支配されていることを裏付ける + +#### SSIM 解釈基準の妥当性 (Validity of SSIM Interpretation Thresholds) + +- SPEC_02 の解釈基準(≥ 0.95 で「高い再現性」)は画像処理分野の一般的な目安であるが,実カメラで繰り返し撮影した画像に対しては過度に厳しい可能性がある +- SSIM はピクセル単位の局所構造を比較するため,撮影ごとに不可避に変化するセンサーノイズの影響を強く受ける [9] +- CV が 0.4–0.6% と極めて低い値を示しているにもかかわらず SSIM が 0.91 にとどまるのは,SSIM がノイズ成分を「構造の差異」として捉えることに起因する +- 本評価のように実カメラ撮影のセンサーノイズが支配的な条件下では,SSIM ≥ 0.90 かつ CV < 1% を「高い再現性」と解釈することが妥当と考えられる + +## 改善提案 (Improvement Proposals) + +### 拡散構造の最適化 (Diffuser Optimization) + +- 現状の約 6% の中心-周辺勾配を低減するため,拡散板の追加または変更を提案 +- 拡散板の厚みや材質を調整し,周辺方向への光の散乱を増加させる +- 目標: 勾配量を 3% 以下に低減 + +### 光源配置の調整 (Light Source Arrangement) + +- LED の配置角度を外向きに調整し,中心への光の集中を緩和する +- 追加の周辺 LED を配置し,周辺光量を直接的に補う + +### 反射板の追加 (Reflector Addition) + +- 筐体内壁の反射率を向上させる反射板またはコーティングを追加 +- 内壁での反射光により周辺光量を補完する + +### ソフトウェア補正 (Software Correction) + +- 暫定対策として,フラットフィールド補正を提案 [6] +- 白板画像の平均輝度マップを正規化し,撮影画像を除算することで照明ムラを補正 +- ハードウェア改善と併用可能 + +## 今後の課題 (Future Work) + +- TIAS(従来型口腔内画像取得装置)との照明均一性の比較評価(開発ステップ 3) +- 長期間(日単位・週単位)にわたる経時安定性の評価 +- 動作温度の変化に対する照明特性の依存性評価 +- 異なるホワイトバランス・露出設定が均一性指標に与える影響の評価 +- 撮影距離(白板と開口部の距離)の変化に対する均一性の評価 + +## 参考文献 (References) + +- [1] ITU, "BT.709-6: Parameter values for the HDTV standards for production and international programme exchange," ITU-R, 2015. +- [2] C. Poynton, *Digital Video and HD: Algorithms and Interfaces*, 2nd ed. Morgan Kaufmann, 2012. +- [3] EN 12464-1:2021, "Light and lighting — Lighting of work places — Part 1: Indoor work places," CEN, 2021. +- [4] ANSI/IES LM-79-24, "Approved Method: Optical and Electrical Measurements of Solid-State Lighting Products," IES, 2024. +- [5] W. J. Smith, *Modern Optical Engineering*, 4th ed. McGraw-Hill, 2007. +- [6] R. C. Gonzalez and R. E. Woods, *Digital Image Processing*, 4th ed. Pearson, 2018. +- [7] ISO 5725-2:2025, "Accuracy (trueness and precision) of measurement methods and results — Part 2," ISO, 2025. +- [8] G. F. Reed, F. Lynn, and B. D. Meade, "Use of Coefficient of Variation in Assessing Variability of Quantitative Assays," *Clin. Diagn. Lab. Immunol.*, vol. 9, no. 6, pp. 1235–1239, 2002. +- [9] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image quality assessment: from error visibility to structural similarity," *IEEE Trans. Image Process.*, vol. 13, no. 4, pp. 600–612, 2004. DOI: 10.1109/TIP.2003.819861 +- [10] H. Foroosh, J. B. Zerubia, and M. Berthod, "Extension of phase correlation to subpixel registration," *IEEE Trans. Image Process.*, vol. 11, no. 3, pp. 188–200, 2002. DOI: 10.1109/83.988953 + +### 関連ドキュメント (Related Documents) + +- [SPEC_02_照明均一性評価アルゴリズム](../04_SPEC/SPEC_02_照明均一性評価アルゴリズム.md) diff --git "a/docs/06_TEST/TEST_02_PNG_DNG\350\251\225\344\276\241\346\257\224\350\274\203\345\240\261\345\221\212\346\233\270.md" "b/docs/06_TEST/TEST_02_PNG_DNG\350\251\225\344\276\241\346\257\224\350\274\203\345\240\261\345\221\212\346\233\270.md" new file mode 100644 index 0000000..843adb5 --- /dev/null +++ "b/docs/06_TEST/TEST_02_PNG_DNG\350\251\225\344\276\241\346\257\224\350\274\203\345\240\261\345\221\212\346\233\270.md" @@ -0,0 +1,101 @@ +# PNG / DNG 照明均一性評価 比較報告書 (PNG vs DNG Uniformity Evaluation Comparison) + +## 概要 (Overview) + +SmTIAS 撮影アプリの定量撮影モードの出力フォーマットが **PNG から DNG (RAW_SENSOR) に変更**された([TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md))ことに伴い,照明均一性評価の結果が PNG 経路と DNG 経路でどのように変わるかを比較した. + +結論を先に述べると,**PNG→DNG は単なるファイル形式の変更ではなく,「何を測っているか」が変わる**.PNG は sRGB エンコード済み・端末 ISP でレンズシェーディング補正済みの「処理後」データであり,DNG は linear・補正前の「物理生信号」である.このため評価指標の数値は大きく変化する. + +## 前提・対象データ (Scope and Samples) + +| 項目 | 内容 | +| --- | --- | +| PNG サンプル | `data/smtias/whiteboard/SmTIAS_20260408_140317.png`(2026-04-08 撮影) | +| DNG サンプル | `data/smtias/quantitative/SmTIAS_QM_20260601_102753.dng`(2026-06-01 撮影,SH-02M 定量モード) | +| 評価領域 (ROI) | `config/roi_config.json` の `smtias.whiteboard`(白板中央,全条件で同一) | +| 向き | portrait に統一(DNG は landscape native のため `rot90(-1)` で PNG と整合) | +| 評価指標 | CoV / max-min比 / 中心-周辺比 / 勾配 / 動径 min/max 比(20点輪帯平均の最小/最大) | + +> **重要な前提(本報告書の限界)**: PNG(4月)と DNG(6月)は**別セッションの撮影でフレーミングが異なる**.したがって本報告書は,TECH_01 の検証 V1 が要求する「同一シーンを PNG/DNG で連続撮影した厳密な対照比較」**ではない**.**評価手法・ドメインの違いが指標に与える影響**を既存サンプルで定量的に示すものである.厳密な同一シーン比較は今後の課題(後述). + +## 評価条件(ドメイン)の違い (Domain Differences) + +PNG 経路と DNG 経路は,評価に入る前の信号の性質が根本的に異なる. + +| 観点 | PNG(従来) | DNG(新規・定量モード) | +| --- | --- | --- | +| 信号ドメイン | **sRGB**(OETF/ガンマ適用済み) | **linear**(TONEMAP=CONTRAST_CURVE_LINEAR,OETF 未適用) | +| レンズシェーディング | **端末 ISP で補正済み**(SHADING_MODE=HIGH_QUALITY が YUV/JPEG に適用) | **未補正**(RAW_SENSOR は ISP 前.補正は DNG OpcodeList2 の GainMap / meta.json の lscMap として付随するのみ) | +| ビット深度 | 8bit | 10bit | +| 入射光量との関係 | ガンマで非線形 | **比例(放射輝度リニア)** | + +→ つまり PNG をそのまま評価した「従来値」と,DNG を物理的に正しく評価した値は,**同じものを測っていない**.公平に比較するにはドメインを揃える必要がある. + +## 結果比較 (Results) + +同一 ROI で算出した均一性指標(数値が大きいほどムラが大きい.動径 min/max のみ 1.0 に近いほど均一): + +| 条件 | CoV | max/min | 中心/周辺比 | 勾配(%) | 動径 min/max | +| --- | --- | --- | --- | --- | --- | +| **PNG sRGB(従来評価)** | 0.0423 | 1.387 | 1.066 | 6.23 | 0.8964 | +| PNG 擬似linear化(inverse-sRGB 仮定)※ | 0.0901 | 2.031 | 1.148 | 12.88 | 0.7902 | +| DNG linear(LSC 補正なし) | 0.1477 | 2.287 | 1.456 | 31.33 | 0.5304 | +| **DNG linear(LSC 補正あり)** | 0.0689 | 1.641 | 1.095 | 8.69 | 0.8533 | + +> ※ **「PNG 擬似linear化」は近似であり,真のシーン linear(入射光量比例)ではない**.詳細は考察「4. PNG は厳密には linear 化できない」を参照. + +## 考察:なぜ結果が変わるのか (Analysis) + +数値変化は主に3つの要因に分解できる. + +### 1. ドメイン(sRGB ガンマ)の影響 — 最大の要因 + +同じ PNG データでも,**sRGB のまま(CoV 0.0423)か擬似linear化(CoV 0.0901)かで CoV が約2倍**変わる(撮影は同一,ドメインのみ変更).sRGB の OETF は暗部を持ち上げ明部を圧縮するため,**ムラを実際より穏やかに見せる**.従来の PNG 評価値(CoV 0.042)は,このガンマ圧縮により**楽観的に小さく出ていた**. + +なお CoV・max/min・動径比は**スケール不変**なので,0〜255 と 0〜1 のスケール差では変わらない.変化はあくまでドメイン(ガンマ)によるもの. + +### 2. レンズシェーディング補正の有無 + +DNG raw は未補正のため,**レンズビネット(端ほど暗い)が指標に混入**する.LSC 補正なしの DNG は中心/周辺比 1.456・勾配 31.3%・動径 min/max 0.530 と大きなムラを示すが,これは**照明ムラではなくレンズ特性**を多く含む.lscMap を順方向適用してレンズビネットを除去すると,中心/周辺比 1.456→1.095,勾配 31.3%→8.7%,動径 min/max 0.530→0.853 と**劇的に平坦化**する(残りが照明そのもののムラ). + +### 3. 撮影セッションの違い + +PNG(4月)と DNG(6月)は別撮影で,照明配置・フレーミング・距離が異なる.この差も数値に含まれるため,厳密な大小比較はできない(前提参照). + +### 4. PNG は厳密には linear 化できない(重要な限界) + +上表の「PNG 擬似linear化」は inverse-sRGB OETF を掛けたものだが,これは**真のシーン linear(入射光量比例)を復元しない**.理由: + +- **透過関数が不明**: 本サンプル PNG は ICC プロファイル・gAMA・EXIF を一切持たず,**sRGB である保証すらない**(sRGB と仮定して逆変換しているだけ). +- **トーンカーブが残る(最大の壁)**: 端末 PNG は `linear生信号 →[WB・カラー行列・レンズ補正・トーンカーブ・NR・シャープ化]→ 表示RGB → sRGB符号化 → 8bit` を経る.inverse-sRGB が戻せるのは最後の符号化だけで,得られるのは「**表示参照 linear**」.間のトーンカーブ(端末固有・非公開のコントラスト曲線)は焼き込まれたままで,入射光量には比例しない. +- **不可逆な損失**: 8bit 量子化(暗部の段差が逆ガンマで増幅)・クリップ(白飛び/黒潰れ)は復元不能. + +→ つまり **PNG は確実には linear 化できない**.これこそが定量 DNG モード採用の理由([TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md) 背景「実機 PNG 自体が定量データとして揺らぐ」)であり,DNG (RAW_SENSOR, TONEMAP=CONTRAST_CURVE_LINEAR) は最初から真のシーン linear を出すことでこの問題を回避する. + +### 公平な比較(ドメインを揃える,ただし近似) + +両者を linear ドメインに寄せると比較の目安は得られる(PNG は上記の通り**擬似linear=近似**である点に注意): + +- **PNG 擬似linear化: CoV 0.0901**(近似) vs **DNG linear+LSC: CoV 0.0689**(真の linear) +- → 目安としては **DNG(LSC補正)の方が均一**.従来の「PNG 0.042 < DNG 0.069 で DNG が悪い」という見え方は,sRGB ガンマが PNG のムラを圧縮していた錯覚. +- ただし PNG 側が近似である以上この比較は厳密ではなく,**確実な比較には同一シーンを DNG で撮影することが必要**(後述 残課題). + +## 結論と推奨 (Conclusion) + +1. **PNG→DNG の移行で評価値が変わるのは正常**.主因は形式ではなく,sRGB→linear のドメイン変化とレンズシェーディング補正の有無. +2. **物理的に正しい照明均一性評価は DNG linear + LSC 補正経路**で行うべき.入射光量に比例した信号で,レンズ特性を分離して照明ムラのみを測れる. +3. 従来の **PNG sRGB 評価値は,ガンマ圧縮によりムラを過小評価**していた点に注意.過去の PNG 値と DNG 値を近づけるには PNG を擬似linear化(inverse-sRGB)できるが,**PNG は真のシーン linear を復元できない**(トーンカーブ・8bit・透過関数不明のため).したがって**厳密な比較には DNG での再撮影が必要**. +4. ノイズに弱い画素単位 max/min 比に代わり,**動径 min/max 比(20点輪帯平均)**をロバストな減衰指標として併用する. + +## 残課題 (Open Issues) + +- **厳密な V1 比較**: 同一シーン(白板)を同一フレーミングで PNG(通常モード)+ DNG(定量モード)連続撮影し,同条件で比較する([TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md) 検証 V1). +- **ROI のフレーミング差対応**: PNG/DNG で白板の写る位置・スケールが異なるため,キャプチャごとの ROI 調整または同一フレーミング撮影が必要(TECH_01 Phase 5). +- **LSC 順適用機能の正式実装**: 現状は検証スクリプトでの順適用.本流の評価フローへ正式統合する(TECH_01 Phase 3〜4). + +## 参照 (References) + +- [TECH_01 DNG 対応要求仕様](../05_TECH/TECH_01_DNG対応要求仕様.md) +- [TEST_01 照明均一性評価報告書](TEST_01_照明均一性評価報告書.md) +- 評価実装: `src/io/dng_loader.py`, `src/analysis/spatial.py`, `scripts/run_uniformity_dng.py` +- 設計判断・経緯の詳細: `docs/PROGRESS.md` diff --git "a/docs/06_TEST/TEST_03_\345\244\226\344\271\261\345\205\211\345\275\261\351\237\277\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" "b/docs/06_TEST/TEST_03_\345\244\226\344\271\261\345\205\211\345\275\261\351\237\277\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" new file mode 100644 index 0000000..1eeafbc --- /dev/null +++ "b/docs/06_TEST/TEST_03_\345\244\226\344\271\261\345\205\211\345\275\261\351\237\277\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" @@ -0,0 +1,77 @@ +# 外乱光影響評価報告書 (Ambient Light Influence Evaluation) + +## 概要 (Overview) + +SmTIAS の照明均一性測定が,**外部の室内照明(外乱光)にどれだけ影響を受けるか**を評価した.SmTIAS 装置自前の照明のみで撮影した DNG と,それに室内灯(外乱光)を加えて撮影した DNG を,同一指標で比較する. + +結論を先に述べると,**外乱光の有無で評価結果はほぼ変わらない(指標差 1% 未満)**.SmTIAS 自前照明が支配的で,測定は室内照明環境に対してロバストである. + +## 前提・対象データ (Scope and Samples) + +| 項目 | 内容 | +| --- | --- | +| 条件 A(SmTIAS のみ) | `SmTIAS_QM_20260601_124500`(室内灯 OFF,2026-06-01 12:45 撮影) | +| 条件 B(SmTIAS + 外光) | `SmTIAS_QM_20260601_102753`(室内灯 ON,2026-06-01 10:27 撮影) | +| 機種 / モード | SH-02M / 定量モード(RAW_SENSOR,露出・ISO 等は両者同一固定) | +| 評価領域 (ROI) | `config/roi_config.json` の `smtias.whiteboard`(白板中央,両者同一) | +| 評価条件 | linear(output_color=raw)/ portrait / LSC 補正あり・なし両方 | + +> **重要な前提(本評価の限界)**: 条件 A・B は**別セッションの撮影**(時刻が異なり,三脚固定でないため微小な位置ずれの可能性).したがって「外乱光の純粋な寄与」を厳密に分離したものではなく,**外乱光の影響がセッション間ばらつきと比べて支配的かどうか**を判定する位置づけである.厳密な切り分けは今後の課題(後述). + +## 結果 (Results) + +### raw センサ統計(黒レベル=64,全画素) + +| 条件 | raw mean | min | max | std | mean R/G/B | +| --- | --- | --- | --- | --- | --- | +| A: SmTIAS のみ | 441.2 | 89 | 983 | 161.0 | 355.9 / 537.4 / 333.6 | +| B: SmTIAS + 外光 | 431.4 | 90 | 949 | 155.7 | 349.4 / 525.4 / 325.1 | + +### 均一性指標(白板 ROI,数値が大きいほどムラ大.動径 min/max のみ 1.0 で均一) + +| 条件 | ROI mean | CoV | max/min | 中心/周辺比 | 勾配(%) | 動径 min/max | +| --- | --- | --- | --- | --- | --- | --- | +| **A: SmTIAS のみ**(LSC 補正) | 207.82 | 0.0695 | 1.617 | 1.0911 | 8.35 | 0.8600 | +| **B: SmTIAS + 外光**(LSC 補正) | 208.77 | 0.0689 | 1.641 | 1.0952 | 8.69 | 0.8533 | +| A: SmTIAS のみ(LSC なし) | 170.58 | 0.1464 | — | 1.4511 | 31.09 | 0.5343 | +| B: SmTIAS + 外光(LSC なし) | 171.39 | 0.1477 | — | 1.4563 | 31.33 | 0.5304 | +| **差(A−B,LSC 補正)** | −0.95 | +0.0006 | −0.024 | −0.004 | −0.34 | +0.007 | + +輝度マップ・ヒストグラムも両条件でほぼ重なり,空間パターン・分布形状に有意な違いは見られない. + +## 考察 (Analysis) + +### 1. 均一性指標はほぼ同一 — 外乱光の影響は評価に表れない + +LSC 補正後の CoV は 0.0695(A)vs 0.0689(B),勾配は 8.35%(A)vs 8.69%(B),動径 min/max は 0.860(A)vs 0.853(B)と,**すべて 1% 未満の差**.外乱光を加えても照明均一性の評価結果は実質的に変わらない.SmTIAS 自前照明が白板を支配的に照らしており,室内照明の寄与は相対的に微小と考えられる. + +### 2. 「外光を足したのに暗い」という矛盾 — 外乱光の寄与はばらつき以下 + +外乱光は信号を**加える**しかできないため,物理的には B(SmTIAS+外光)≧ A(SmTIAS のみ)の明るさになるはずである.しかし実測では **A の方が明るい**(raw mean 441.2 vs 431.4,R/G/B 各チャンネルとも A が上). + +これは,外乱光の寄与が **セッション間のばらつき(≈2〜3%:撮影時刻 10:27 vs 12:45 の差,微小な位置ずれ,照明のドリフト等)に埋もれている**ことを意味する.すなわち **外乱光の影響 < セッション間ばらつき**であり,外乱光の純寄与はこのデータからは分離できないほど小さい. + +### 3. 評価上の含意 + +照明均一性評価(CoV・勾配等)に対して,**通常の室内照明環境は実害を与えない**.これは測定器としての SmTIAS にとって望ましい性質(外乱光に対するロバスト性)である. + +## 結論 (Conclusion) + +1. **外乱光(室内照明)の有無で,照明均一性の評価指標はほぼ変わらない(差 1% 未満)**.SmTIAS 自前照明が支配的. +2. 明るさの差(≈2〜3%)はむしろ「SmTIAS のみ」の方が明るく,物理的に逆向き.→ **外乱光の寄与はセッション間ばらつき以下**で,測定には埋もれて見えない. +3. したがって **SmTIAS の照明均一性測定は,通常の室内照明環境に対してロバスト**と判断できる. + +## 限界と厳密な切り分け方法 (Limitations & Controlled Test) + +本評価は別セッション撮影のため,外乱光の純寄与を 2〜3% のばらつきから分離できていない.外乱光の影響「だけ」を正確に測るには,以下の対照実験が必要: + +- **位置・露出を完全固定**(三脚等)し,**室内灯のみを ON/OFF** した連続2枚を撮影する(A: SmTIAS のみ / B: SmTIAS + 外光). +- 差分画像 **B − A** が外乱光の純寄与.これにより「一様なオフセットか/窓・照明方向の勾配か」「何 DN 乗るか」まで定量できる. +- この方式ならセッション間ばらつきを排除でき,外乱光の空間分布・絶対量を分離評価できる. + +## 参照 (References) + +- [TEST_02 PNG/DNG 評価比較報告書](TEST_02_PNG_DNG評価比較報告書.md) +- [TECH_01 DNG 対応要求仕様](../05_TECH/TECH_01_DNG対応要求仕様.md) +- 評価実装: `scripts/run_uniformity_dng.py`(linear + LSC 補正経路) +- 対象データ: `data/smtias/quantitative/`(gitignore 対象) diff --git "a/docs/07_REPORT/REPORT_01_\347\205\247\346\230\216\345\235\207\344\270\200\346\200\247\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" "b/docs/07_REPORT/REPORT_01_\347\205\247\346\230\216\345\235\207\344\270\200\346\200\247\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" deleted file mode 100644 index 345aef7..0000000 --- "a/docs/07_REPORT/REPORT_01_\347\205\247\346\230\216\345\235\207\344\270\200\346\200\247\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" +++ /dev/null @@ -1,215 +0,0 @@ -# 照明均一性評価報告書 (Illumination Uniformity Evaluation Report) - -## 評価概要 (Evaluation Overview) - -- 装置: SmTIAS(小型口腔内画像取得装置) -- 撮影日: 2026-04-08 -- 評価対象: 白板画像 12 枚 -- 手法: [SPEC_02_照明均一性評価アルゴリズム](../04_SPEC/SPEC_02_照明均一性評価アルゴリズム.md) -- 集計統計出力: バッチ解析時に `output/results/summary_statistics.csv` として自動出力される -- 輝度変換: ITU-R BT.709(Y = 0.2126R + 0.7152G + 0.0722B)[1] -- 均一性指標: CoV,標準偏差,最大/最小比 -- 空間分析: 3 ゾーン(center d<0.33 / middle / periphery d≥0.66) -- ROI: x=539, y=1015, w=1400, h=1409 - -## 結果の要約 (Results Summary) - -### 均一性指標 (Uniformity Metrics) - -| 画像名 | 平均輝度 | 標準偏差 | CoV | 最大/最小比 | 最大値 | 最小値 | -| --- | --- | --- | --- | --- | --- | --- | -| SmTIAS_20260408_140317 | 145.97 | 6.18 | 0.0423 | 1.387 | 161.65 | 116.52 | -| SmTIAS_20260408_140342 | 145.31 | 6.18 | 0.0425 | 1.375 | 162.65 | 118.30 | -| SmTIAS_20260408_140408 | 144.58 | 6.11 | 0.0423 | 1.493 | 161.65 | 108.30 | -| SmTIAS_20260408_141805 | 145.06 | 6.17 | 0.0426 | 1.417 | 160.65 | 113.37 | -| SmTIAS_20260408_141900 | 144.98 | 6.21 | 0.0428 | 1.422 | 165.65 | 116.52 | -| SmTIAS_20260408_141945 | 144.85 | 6.21 | 0.0429 | 1.440 | 167.58 | 116.37 | -| SmTIAS_20260408_144434 | 146.71 | 6.26 | 0.0426 | 1.392 | 164.65 | 118.30 | -| SmTIAS_20260408_145011 | 146.59 | 6.22 | 0.0424 | 1.371 | 163.08 | 118.94 | -| SmTIAS_20260408_145320 | 146.66 | 6.27 | 0.0427 | 1.374 | 162.65 | 118.37 | -| SmTIAS_20260408_150524 | 146.74 | 6.24 | 0.0425 | 1.412 | 164.23 | 116.30 | -| SmTIAS_20260408_155530 | 145.00 | 6.19 | 0.0427 | 1.358 | 160.65 | 118.30 | -| SmTIAS_20260408_155541 | 144.95 | 6.20 | 0.0428 | 1.381 | 160.65 | 116.30 | - -| 統計量 | 平均輝度 | 標準偏差 | CoV | 最大/最小比 | 最大値 | 最小値 | -| --- | --- | --- | --- | --- | --- | --- | -| 平均 (Mean) | 145.62 | 6.20 | 0.0426 | 1.402 | 162.98 | 116.32 | -| 画像間 SD | 0.81 | 0.04 | 0.0002 | 0.036 | — | — | -| 画像間 CV | 0.0056 | 0.0067 | 0.0044 | 0.0257 | — | — | -| 最小 (Min) | 144.58 | 6.11 | 0.0423 | 1.358 | 160.65 | 108.30 | -| 最大 (Max) | 146.74 | 6.27 | 0.0429 | 1.493 | 167.58 | 118.94 | -| 範囲 (Range) | 2.16 | 0.16 | 0.0006 | 0.135 | 6.93 | 10.64 | - -### 空間分析指標 (Spatial Analysis Metrics) - -| 画像名 | 中心平均 | 中間平均 | 周辺平均 | 中心/周辺比 | 勾配量 (%) | -| --- | --- | --- | --- | --- | --- | -| SmTIAS_20260408_140317 | 151.02 | 146.97 | 141.61 | 1.0664 | 6.23 | -| SmTIAS_20260408_140342 | 150.33 | 146.31 | 140.97 | 1.0664 | 6.23 | -| SmTIAS_20260408_140408 | 149.50 | 145.57 | 140.29 | 1.0656 | 6.16 | -| SmTIAS_20260408_141805 | 149.92 | 146.07 | 140.81 | 1.0647 | 6.08 | -| SmTIAS_20260408_141900 | 149.89 | 146.00 | 140.67 | 1.0655 | 6.15 | -| SmTIAS_20260408_141945 | 149.79 | 145.85 | 140.54 | 1.0658 | 6.17 | -| SmTIAS_20260408_144434 | 151.68 | 147.70 | 142.43 | 1.0650 | 6.10 | -| SmTIAS_20260408_145011 | 151.46 | 147.58 | 142.34 | 1.0641 | 6.02 | -| SmTIAS_20260408_145320 | 151.63 | 147.65 | 142.36 | 1.0651 | 6.11 | -| SmTIAS_20260408_150524 | 151.68 | 147.73 | 142.46 | 1.0647 | 6.08 | -| SmTIAS_20260408_155530 | 149.62 | 146.02 | 140.84 | 1.0623 | 5.86 | -| SmTIAS_20260408_155541 | 149.60 | 145.96 | 140.78 | 1.0627 | 5.90 | - -| 統計量 | 中心平均 | 中間平均 | 周辺平均 | 中心/周辺比 | 勾配量 (%) | -| --- | --- | --- | --- | --- | --- | -| 平均 (Mean) | 150.51 | 146.62 | 141.34 | 1.0649 | 6.09 | -| 画像間 SD | 0.87 | 0.81 | 0.80 | 0.0012 | 0.11 | -| 画像間 CV | 0.0058 | 0.0055 | 0.0057 | 0.0012 | 0.0183 | -| 最小 (Min) | 149.50 | 145.57 | 140.29 | 1.0623 | 5.86 | -| 最大 (Max) | 151.68 | 147.73 | 142.46 | 1.0664 | 6.23 | -| 範囲 (Range) | 2.18 | 2.16 | 2.17 | 0.0041 | 0.37 | - -### 代表画像の可視化 (Representative Visualization) - -代表画像として SmTIAS_20260408_144434(中央値に近い値)を使用する. - -[図: 輝度マップ(SmTIAS_20260408_144434)] - -[図: 輝度ヒストグラム(SmTIAS_20260408_144434)] - -[図: 放射状輝度プロファイル(SmTIAS_20260408_144434)] - -[図: ゾーンオーバーレイマップ(SmTIAS_20260408_144434)] - -### 再現性評価: SSIM (Reproducibility: SSIM) - -12 枚の輝度マップに対するペアワイズ SSIM(全 66 ペア)の集計結果を以下に示す. - -#### 位置合わせなし SSIM (Raw SSIM) - -| 統計量 | 値 | -| --- | --- | -| 平均 SSIM | 0.9112 | -| 最小 SSIM | 0.9092 | -| 最大 SSIM | 0.9134 | -| 標準偏差 | 0.0012 | -| ペア数 | 66 | - -#### 位置合わせ後 SSIM (Registered SSIM) - -| 統計量 | 値 | -| --- | --- | -| 平均 SSIM(位置合わせ後) | 0.9114 | -| 最小 SSIM(位置合わせ後) | 0.9095 | -| 最大 SSIM(位置合わせ後) | 0.9136 | -| 標準偏差(位置合わせ後) | 0.0012 | -| ペア数 | 66 | - -#### シフト量統計 (Shift Magnitude Statistics) - -| 統計量 | 値 | -| --- | --- | -| 平均シフト量(ピクセル) | 0.041 | -| 最大シフト量(ピクセル) | 0.082 | - - -## 考察 (Discussion) - -### 均一性の水準評価 (Uniformity Level Assessment) - -- CoV が全画像で 0.0423–0.0429 の範囲にあり,0.05 を下回る -- 照明工学の実務では CoV < 0.10 が許容範囲,CoV < 0.05 が良好とされる経験的基準が広く用いられている [3] -- 本評価結果は「良好」の水準に該当する -- 標準偏差も 6.11–6.27 と安定しており,平均輝度に対して約 4% のばらつきに収まる - -### 最大/最小比の解釈 (Max/Min Ratio Interpretation) - -- 全画像の最大/最小比は 1.358–1.493 の範囲 -- SmTIAS_20260408_140408 のみ 1.493 と他の画像より突出(最小値 108.30 が特異的に低い) -- この画像を除くと範囲は 1.358–1.440 に収まり,局所的な異常の可能性がある -- 最小値の低下は ROI 端部の影やセンサーノイズが原因と考えられる - -### 中心-周辺勾配の特徴 (Center-Periphery Gradient Characteristics) - -- 全画像で中心 > 中間 > 周辺の単調減少パターンが確認された -- 中心/周辺比は 1.0623–1.0664 で,中心が周辺より約 6.5% 明るい -- 勾配量は 5.86–6.23% で,中心から周辺にかけて一貫した輝度減衰がある -- これは典型的なビネッティング(周辺光量低下)パターンであり,以下が原因と推定される: - - LED 光源の配置が中心方向に集中している(主因) - - 筐体内壁の反射特性の不均一 - - レンズ系のコサイン 4 乗則による周辺光量低下の可能性 [5](ただし Android カメラの ISP によるレンズシェーディング補正が適用されるため,寄与は限定的と考えられる) - -### 再現性の評価 (Reproducibility Assessment) - -画像間変動係数(CV = 標準偏差 / 平均,母集団標準偏差 ddof=0)に基づいた定量的な再現性評価を以下に示す [7][8]. - -- **平均輝度の CV が 0.0056(約 0.6%)** → 撮影ごとの輝度レベルが極めて安定しており,高い再現性を示す -- **CoV の CV が 0.0044(約 0.4%)** → 均一性評価指標自体の再現性も高く,評価結果が撮影条件に依存しにくいことを示す -- **中心/周辺比の CV が 0.0012(約 0.1%)** → 空間的な照明パターンが撮影間で非常に安定しており,ビネッティング特性が固定されていることを確認 -- **勾配量の CV が 0.0183(約 1.8%)** → 他の指標と比べてやや大きいが,範囲は 0.37%(5.86–6.23%)に収まり,実用上は十分に安定している -- 以上より,12 枚の撮影間で照明条件が極めて安定しており,SmTIAS の照明系は高い再現性を持つと結論する - -#### SSIM による構造的再現性 (Structural Reproducibility via SSIM) - -- 位置合わせなしのペアワイズ SSIM の平均が 0.9112(標準偏差 0.0012)であり,全 66 ペアで SSIM > 0.90 を達成している -- SPEC_02 の解釈基準(≥ 0.95 で「高い再現性」)には達していない -- 位相相関法による位置合わせ後の SSIM は平均 0.9114 であり,位置合わせなし(0.9112)からの改善は +0.0002 とごくわずかである -- 平均シフト量が 0.041 ピクセル(最大 0.082 ピクセル)と極めて小さく,スマートフォンの取り付け位置ずれは SSIM 低下の主因ではないことが判明した -- SSIM が 0.91 にとどまる主因は,撮影ごとのセンサーノイズ・LED の微小な出力変動等,空間的に非系統的な要因と考えられる -- 一方で,取り付け位置のずれがサブピクセル精度で安定していることは,SmTIAS の固定機構の精度が高いことを示す有意義な知見である -- CV が要約統計量のばらつきのみを評価するのに対し,SSIM は画像全体の輝度・コントラスト・構造パターンの一致度を評価する -- 両指標を併用することで,マクロレベル(CV)とピクセルレベル(SSIM)の再現性を相補的に確認できる -- SSIM の標準偏差が 0.0012 と極めて小さく,全 66 ペアで SSIM が 0.909–0.914 の狭い範囲に収まっている点は,画像間の差異が系統的ではなくランダムノイズに支配されていることを裏付ける - -#### SSIM 解釈基準の妥当性 (Validity of SSIM Interpretation Thresholds) - -- SPEC_02 の解釈基準(≥ 0.95 で「高い再現性」)は画像処理分野の一般的な目安であるが,実カメラで繰り返し撮影した画像に対しては過度に厳しい可能性がある -- SSIM はピクセル単位の局所構造を比較するため,撮影ごとに不可避に変化するセンサーノイズの影響を強く受ける [9] -- CV が 0.4–0.6% と極めて低い値を示しているにもかかわらず SSIM が 0.91 にとどまるのは,SSIM がノイズ成分を「構造の差異」として捉えることに起因する -- 本評価のように実カメラ撮影のセンサーノイズが支配的な条件下では,SSIM ≥ 0.90 かつ CV < 1% を「高い再現性」と解釈することが妥当と考えられる - -## 改善提案 (Improvement Proposals) - -### 拡散構造の最適化 (Diffuser Optimization) - -- 現状の約 6% の中心-周辺勾配を低減するため,拡散板の追加または変更を提案 -- 拡散板の厚みや材質を調整し,周辺方向への光の散乱を増加させる -- 目標: 勾配量を 3% 以下に低減 - -### 光源配置の調整 (Light Source Arrangement) - -- LED の配置角度を外向きに調整し,中心への光の集中を緩和する -- 追加の周辺 LED を配置し,周辺光量を直接的に補う - -### 反射板の追加 (Reflector Addition) - -- 筐体内壁の反射率を向上させる反射板またはコーティングを追加 -- 内壁での反射光により周辺光量を補完する - -### ソフトウェア補正 (Software Correction) - -- 暫定対策として,フラットフィールド補正を提案 [6] -- 白板画像の平均輝度マップを正規化し,撮影画像を除算することで照明ムラを補正 -- ハードウェア改善と併用可能 - -## 今後の課題 (Future Work) - -- TIAS(従来型口腔内画像取得装置)との照明均一性の比較評価(開発ステップ 3) -- 長期間(日単位・週単位)にわたる経時安定性の評価 -- 動作温度の変化に対する照明特性の依存性評価 -- 異なるホワイトバランス・露出設定が均一性指標に与える影響の評価 -- 撮影距離(白板と開口部の距離)の変化に対する均一性の評価 - -## 参考文献 (References) - -- [1] ITU, "BT.709-6: Parameter values for the HDTV standards for production and international programme exchange," ITU-R, 2015. -- [2] C. Poynton, *Digital Video and HD: Algorithms and Interfaces*, 2nd ed. Morgan Kaufmann, 2012. -- [3] EN 12464-1:2021, "Light and lighting — Lighting of work places — Part 1: Indoor work places," CEN, 2021. -- [4] ANSI/IES LM-79-24, "Approved Method: Optical and Electrical Measurements of Solid-State Lighting Products," IES, 2024. -- [5] W. J. Smith, *Modern Optical Engineering*, 4th ed. McGraw-Hill, 2007. -- [6] R. C. Gonzalez and R. E. Woods, *Digital Image Processing*, 4th ed. Pearson, 2018. -- [7] ISO 5725-2:2025, "Accuracy (trueness and precision) of measurement methods and results — Part 2," ISO, 2025. -- [8] G. F. Reed, F. Lynn, and B. D. Meade, "Use of Coefficient of Variation in Assessing Variability of Quantitative Assays," *Clin. Diagn. Lab. Immunol.*, vol. 9, no. 6, pp. 1235–1239, 2002. -- [9] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image quality assessment: from error visibility to structural similarity," *IEEE Trans. Image Process.*, vol. 13, no. 4, pp. 600–612, 2004. DOI: 10.1109/TIP.2003.819861 -- [10] H. Foroosh, J. B. Zerubia, and M. Berthod, "Extension of phase correlation to subpixel registration," *IEEE Trans. Image Process.*, vol. 11, no. 3, pp. 188–200, 2002. DOI: 10.1109/83.988953 - -### 関連ドキュメント (Related Documents) - -- [SPEC_02_照明均一性評価アルゴリズム](../04_SPEC/SPEC_02_照明均一性評価アルゴリズム.md) diff --git "a/docs/07_REPORT/REPORT_02_PNG_DNG\350\251\225\344\276\241\346\257\224\350\274\203\345\240\261\345\221\212\346\233\270.md" "b/docs/07_REPORT/REPORT_02_PNG_DNG\350\251\225\344\276\241\346\257\224\350\274\203\345\240\261\345\221\212\346\233\270.md" deleted file mode 100644 index aa1397f..0000000 --- "a/docs/07_REPORT/REPORT_02_PNG_DNG\350\251\225\344\276\241\346\257\224\350\274\203\345\240\261\345\221\212\346\233\270.md" +++ /dev/null @@ -1,101 +0,0 @@ -# PNG / DNG 照明均一性評価 比較報告書 (PNG vs DNG Uniformity Evaluation Comparison) - -## 概要 (Overview) - -SmTIAS 撮影アプリの定量撮影モードの出力フォーマットが **PNG から DNG (RAW_SENSOR) に変更**された([TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md))ことに伴い,照明均一性評価の結果が PNG 経路と DNG 経路でどのように変わるかを比較した. - -結論を先に述べると,**PNG→DNG は単なるファイル形式の変更ではなく,「何を測っているか」が変わる**.PNG は sRGB エンコード済み・端末 ISP でレンズシェーディング補正済みの「処理後」データであり,DNG は linear・補正前の「物理生信号」である.このため評価指標の数値は大きく変化する. - -## 前提・対象データ (Scope and Samples) - -| 項目 | 内容 | -| --- | --- | -| PNG サンプル | `data/smtias/whiteboard/SmTIAS_20260408_140317.png`(2026-04-08 撮影) | -| DNG サンプル | `data/smtias/quantitative/SmTIAS_QM_20260601_102753.dng`(2026-06-01 撮影,SH-02M 定量モード) | -| 評価領域 (ROI) | `config/roi_config.json` の `smtias.whiteboard`(白板中央,全条件で同一) | -| 向き | portrait に統一(DNG は landscape native のため `rot90(-1)` で PNG と整合) | -| 評価指標 | CoV / max-min比 / 中心-周辺比 / 勾配 / 動径 min/max 比(20点輪帯平均の最小/最大) | - -> **重要な前提(本報告書の限界)**: PNG(4月)と DNG(6月)は**別セッションの撮影でフレーミングが異なる**.したがって本報告書は,TECH_01 の検証 V1 が要求する「同一シーンを PNG/DNG で連続撮影した厳密な対照比較」**ではない**.**評価手法・ドメインの違いが指標に与える影響**を既存サンプルで定量的に示すものである.厳密な同一シーン比較は今後の課題(後述). - -## 評価条件(ドメイン)の違い (Domain Differences) - -PNG 経路と DNG 経路は,評価に入る前の信号の性質が根本的に異なる. - -| 観点 | PNG(従来) | DNG(新規・定量モード) | -| --- | --- | --- | -| 信号ドメイン | **sRGB**(OETF/ガンマ適用済み) | **linear**(TONEMAP=CONTRAST_CURVE_LINEAR,OETF 未適用) | -| レンズシェーディング | **端末 ISP で補正済み**(SHADING_MODE=HIGH_QUALITY が YUV/JPEG に適用) | **未補正**(RAW_SENSOR は ISP 前.補正は DNG OpcodeList2 の GainMap / meta.json の lscMap として付随するのみ) | -| ビット深度 | 8bit | 10bit | -| 入射光量との関係 | ガンマで非線形 | **比例(放射輝度リニア)** | - -→ つまり PNG をそのまま評価した「従来値」と,DNG を物理的に正しく評価した値は,**同じものを測っていない**.公平に比較するにはドメインを揃える必要がある. - -## 結果比較 (Results) - -同一 ROI で算出した均一性指標(数値が大きいほどムラが大きい.動径 min/max のみ 1.0 に近いほど均一): - -| 条件 | CoV | max/min | 中心/周辺比 | 勾配(%) | 動径 min/max | -| --- | --- | --- | --- | --- | --- | -| **PNG sRGB(従来評価)** | 0.0423 | 1.387 | 1.066 | 6.23 | 0.8964 | -| PNG 擬似linear化(inverse-sRGB 仮定)※ | 0.0901 | 2.031 | 1.148 | 12.88 | 0.7902 | -| DNG linear(LSC 補正なし) | 0.1477 | 2.287 | 1.456 | 31.33 | 0.5304 | -| **DNG linear(LSC 補正あり)** | 0.0689 | 1.641 | 1.095 | 8.69 | 0.8533 | - -> ※ **「PNG 擬似linear化」は近似であり,真のシーン linear(入射光量比例)ではない**.詳細は考察「4. PNG は厳密には linear 化できない」を参照. - -## 考察:なぜ結果が変わるのか (Analysis) - -数値変化は主に3つの要因に分解できる. - -### 1. ドメイン(sRGB ガンマ)の影響 — 最大の要因 - -同じ PNG データでも,**sRGB のまま(CoV 0.0423)か擬似linear化(CoV 0.0901)かで CoV が約2倍**変わる(撮影は同一,ドメインのみ変更).sRGB の OETF は暗部を持ち上げ明部を圧縮するため,**ムラを実際より穏やかに見せる**.従来の PNG 評価値(CoV 0.042)は,このガンマ圧縮により**楽観的に小さく出ていた**. - -なお CoV・max/min・動径比は**スケール不変**なので,0〜255 と 0〜1 のスケール差では変わらない.変化はあくまでドメイン(ガンマ)によるもの. - -### 2. レンズシェーディング補正の有無 - -DNG raw は未補正のため,**レンズビネット(端ほど暗い)が指標に混入**する.LSC 補正なしの DNG は中心/周辺比 1.456・勾配 31.3%・動径 min/max 0.530 と大きなムラを示すが,これは**照明ムラではなくレンズ特性**を多く含む.lscMap を順方向適用してレンズビネットを除去すると,中心/周辺比 1.456→1.095,勾配 31.3%→8.7%,動径 min/max 0.530→0.853 と**劇的に平坦化**する(残りが照明そのもののムラ). - -### 3. 撮影セッションの違い - -PNG(4月)と DNG(6月)は別撮影で,照明配置・フレーミング・距離が異なる.この差も数値に含まれるため,厳密な大小比較はできない(前提参照). - -### 4. PNG は厳密には linear 化できない(重要な限界) - -上表の「PNG 擬似linear化」は inverse-sRGB OETF を掛けたものだが,これは**真のシーン linear(入射光量比例)を復元しない**.理由: - -- **透過関数が不明**: 本サンプル PNG は ICC プロファイル・gAMA・EXIF を一切持たず,**sRGB である保証すらない**(sRGB と仮定して逆変換しているだけ). -- **トーンカーブが残る(最大の壁)**: 端末 PNG は `linear生信号 →[WB・カラー行列・レンズ補正・トーンカーブ・NR・シャープ化]→ 表示RGB → sRGB符号化 → 8bit` を経る.inverse-sRGB が戻せるのは最後の符号化だけで,得られるのは「**表示参照 linear**」.間のトーンカーブ(端末固有・非公開のコントラスト曲線)は焼き込まれたままで,入射光量には比例しない. -- **不可逆な損失**: 8bit 量子化(暗部の段差が逆ガンマで増幅)・クリップ(白飛び/黒潰れ)は復元不能. - -→ つまり **PNG は確実には linear 化できない**.これこそが定量 DNG モード採用の理由([TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md) 背景「実機 PNG 自体が定量データとして揺らぐ」)であり,DNG (RAW_SENSOR, TONEMAP=CONTRAST_CURVE_LINEAR) は最初から真のシーン linear を出すことでこの問題を回避する. - -### 公平な比較(ドメインを揃える,ただし近似) - -両者を linear ドメインに寄せると比較の目安は得られる(PNG は上記の通り**擬似linear=近似**である点に注意): - -- **PNG 擬似linear化: CoV 0.0901**(近似) vs **DNG linear+LSC: CoV 0.0689**(真の linear) -- → 目安としては **DNG(LSC補正)の方が均一**.従来の「PNG 0.042 < DNG 0.069 で DNG が悪い」という見え方は,sRGB ガンマが PNG のムラを圧縮していた錯覚. -- ただし PNG 側が近似である以上この比較は厳密ではなく,**確実な比較には同一シーンを DNG で撮影することが必要**(後述 残課題). - -## 結論と推奨 (Conclusion) - -1. **PNG→DNG の移行で評価値が変わるのは正常**.主因は形式ではなく,sRGB→linear のドメイン変化とレンズシェーディング補正の有無. -2. **物理的に正しい照明均一性評価は DNG linear + LSC 補正経路**で行うべき.入射光量に比例した信号で,レンズ特性を分離して照明ムラのみを測れる. -3. 従来の **PNG sRGB 評価値は,ガンマ圧縮によりムラを過小評価**していた点に注意.過去の PNG 値と DNG 値を近づけるには PNG を擬似linear化(inverse-sRGB)できるが,**PNG は真のシーン linear を復元できない**(トーンカーブ・8bit・透過関数不明のため).したがって**厳密な比較には DNG での再撮影が必要**. -4. ノイズに弱い画素単位 max/min 比に代わり,**動径 min/max 比(20点輪帯平均)**をロバストな減衰指標として併用する. - -## 残課題 (Open Issues) - -- **厳密な V1 比較**: 同一シーン(白板)を同一フレーミングで PNG(通常モード)+ DNG(定量モード)連続撮影し,同条件で比較する([TECH_01](../05_TECH/TECH_01_DNG対応要求仕様.md) 検証 V1). -- **ROI のフレーミング差対応**: PNG/DNG で白板の写る位置・スケールが異なるため,キャプチャごとの ROI 調整または同一フレーミング撮影が必要(TECH_01 Phase 5). -- **LSC 順適用機能の正式実装**: 現状は検証スクリプトでの順適用.本流の評価フローへ正式統合する(TECH_01 Phase 3〜4). - -## 参照 (References) - -- [TECH_01 DNG 対応要求仕様](../05_TECH/TECH_01_DNG対応要求仕様.md) -- [REPORT_01 照明均一性評価報告書](REPORT_01_照明均一性評価報告書.md) -- 評価実装: `src/io/dng_loader.py`, `src/analysis/spatial.py`, `scripts/run_uniformity_dng.py` -- 設計判断・経緯の詳細: `docs/PROGRESS.md` diff --git "a/docs/07_REPORT/REPORT_03_\345\244\226\344\271\261\345\205\211\345\275\261\351\237\277\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" "b/docs/07_REPORT/REPORT_03_\345\244\226\344\271\261\345\205\211\345\275\261\351\237\277\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" deleted file mode 100644 index 5f8f3df..0000000 --- "a/docs/07_REPORT/REPORT_03_\345\244\226\344\271\261\345\205\211\345\275\261\351\237\277\350\251\225\344\276\241\345\240\261\345\221\212\346\233\270.md" +++ /dev/null @@ -1,77 +0,0 @@ -# 外乱光影響評価報告書 (Ambient Light Influence Evaluation) - -## 概要 (Overview) - -SmTIAS の照明均一性測定が,**外部の室内照明(外乱光)にどれだけ影響を受けるか**を評価した.SmTIAS 装置自前の照明のみで撮影した DNG と,それに室内灯(外乱光)を加えて撮影した DNG を,同一指標で比較する. - -結論を先に述べると,**外乱光の有無で評価結果はほぼ変わらない(指標差 1% 未満)**.SmTIAS 自前照明が支配的で,測定は室内照明環境に対してロバストである. - -## 前提・対象データ (Scope and Samples) - -| 項目 | 内容 | -| --- | --- | -| 条件 A(SmTIAS のみ) | `SmTIAS_QM_20260601_124500`(室内灯 OFF,2026-06-01 12:45 撮影) | -| 条件 B(SmTIAS + 外光) | `SmTIAS_QM_20260601_102753`(室内灯 ON,2026-06-01 10:27 撮影) | -| 機種 / モード | SH-02M / 定量モード(RAW_SENSOR,露出・ISO 等は両者同一固定) | -| 評価領域 (ROI) | `config/roi_config.json` の `smtias.whiteboard`(白板中央,両者同一) | -| 評価条件 | linear(output_color=raw)/ portrait / LSC 補正あり・なし両方 | - -> **重要な前提(本評価の限界)**: 条件 A・B は**別セッションの撮影**(時刻が異なり,三脚固定でないため微小な位置ずれの可能性).したがって「外乱光の純粋な寄与」を厳密に分離したものではなく,**外乱光の影響がセッション間ばらつきと比べて支配的かどうか**を判定する位置づけである.厳密な切り分けは今後の課題(後述). - -## 結果 (Results) - -### raw センサ統計(黒レベル=64,全画素) - -| 条件 | raw mean | min | max | std | mean R/G/B | -| --- | --- | --- | --- | --- | --- | -| A: SmTIAS のみ | 441.2 | 89 | 983 | 161.0 | 355.9 / 537.4 / 333.6 | -| B: SmTIAS + 外光 | 431.4 | 90 | 949 | 155.7 | 349.4 / 525.4 / 325.1 | - -### 均一性指標(白板 ROI,数値が大きいほどムラ大.動径 min/max のみ 1.0 で均一) - -| 条件 | ROI mean | CoV | max/min | 中心/周辺比 | 勾配(%) | 動径 min/max | -| --- | --- | --- | --- | --- | --- | --- | -| **A: SmTIAS のみ**(LSC 補正) | 207.82 | 0.0695 | 1.617 | 1.0911 | 8.35 | 0.8600 | -| **B: SmTIAS + 外光**(LSC 補正) | 208.77 | 0.0689 | 1.641 | 1.0952 | 8.69 | 0.8533 | -| A: SmTIAS のみ(LSC なし) | 170.58 | 0.1464 | — | 1.4511 | 31.09 | 0.5343 | -| B: SmTIAS + 外光(LSC なし) | 171.39 | 0.1477 | — | 1.4563 | 31.33 | 0.5304 | -| **差(A−B,LSC 補正)** | −0.95 | +0.0006 | −0.024 | −0.004 | −0.34 | +0.007 | - -輝度マップ・ヒストグラムも両条件でほぼ重なり,空間パターン・分布形状に有意な違いは見られない. - -## 考察 (Analysis) - -### 1. 均一性指標はほぼ同一 — 外乱光の影響は評価に表れない - -LSC 補正後の CoV は 0.0695(A)vs 0.0689(B),勾配は 8.35%(A)vs 8.69%(B),動径 min/max は 0.860(A)vs 0.853(B)と,**すべて 1% 未満の差**.外乱光を加えても照明均一性の評価結果は実質的に変わらない.SmTIAS 自前照明が白板を支配的に照らしており,室内照明の寄与は相対的に微小と考えられる. - -### 2. 「外光を足したのに暗い」という矛盾 — 外乱光の寄与はばらつき以下 - -外乱光は信号を**加える**しかできないため,物理的には B(SmTIAS+外光)≧ A(SmTIAS のみ)の明るさになるはずである.しかし実測では **A の方が明るい**(raw mean 441.2 vs 431.4,R/G/B 各チャンネルとも A が上). - -これは,外乱光の寄与が **セッション間のばらつき(≈2〜3%:撮影時刻 10:27 vs 12:45 の差,微小な位置ずれ,照明のドリフト等)に埋もれている**ことを意味する.すなわち **外乱光の影響 < セッション間ばらつき**であり,外乱光の純寄与はこのデータからは分離できないほど小さい. - -### 3. 評価上の含意 - -照明均一性評価(CoV・勾配等)に対して,**通常の室内照明環境は実害を与えない**.これは測定器としての SmTIAS にとって望ましい性質(外乱光に対するロバスト性)である. - -## 結論 (Conclusion) - -1. **外乱光(室内照明)の有無で,照明均一性の評価指標はほぼ変わらない(差 1% 未満)**.SmTIAS 自前照明が支配的. -2. 明るさの差(≈2〜3%)はむしろ「SmTIAS のみ」の方が明るく,物理的に逆向き.→ **外乱光の寄与はセッション間ばらつき以下**で,測定には埋もれて見えない. -3. したがって **SmTIAS の照明均一性測定は,通常の室内照明環境に対してロバスト**と判断できる. - -## 限界と厳密な切り分け方法 (Limitations & Controlled Test) - -本評価は別セッション撮影のため,外乱光の純寄与を 2〜3% のばらつきから分離できていない.外乱光の影響「だけ」を正確に測るには,以下の対照実験が必要: - -- **位置・露出を完全固定**(三脚等)し,**室内灯のみを ON/OFF** した連続2枚を撮影する(A: SmTIAS のみ / B: SmTIAS + 外光). -- 差分画像 **B − A** が外乱光の純寄与.これにより「一様なオフセットか/窓・照明方向の勾配か」「何 DN 乗るか」まで定量できる. -- この方式ならセッション間ばらつきを排除でき,外乱光の空間分布・絶対量を分離評価できる. - -## 参照 (References) - -- [REPORT_02 PNG/DNG 評価比較報告書](REPORT_02_PNG_DNG評価比較報告書.md) -- [TECH_01 DNG 対応要求仕様](../05_TECH/TECH_01_DNG対応要求仕様.md) -- 評価実装: `scripts/run_uniformity_dng.py`(linear + LSC 補正経路) -- 対象データ: `data/smtias/quantitative/`(gitignore 対象)