本書は SmTIAS-LightSim 側と MiniTIAS 側の往復書簡(旧 TECH_01 要求仕様 / TECH_03 実装報告・相談 / TECH_04 回答)を統合・要約したアーカイブである.定量撮影モードがなぜ・どう決まったかの記録に絞る.
原文の往復書簡(詳細な検証履歴 TEST_01/03、評価仕様 SPEC_03/04 等への参照を含む)は SmTIAS-LightSim リポジトリ側に残る.本リポジトリには当該ファイルは存在しない.
SmTIAS-LightSim(Mitsuba 3 による光散乱シミュ)と実機撮影を定量比較する研究で、シミュ vs 実機の残差が縮まらなかった。原因は、MiniTIAS の通常撮影(PNG)が AE/AWB/NR/EDGE/TONEMAP すべて自動で、同じシーンを撮っても値が揺らいでいたこと。つまり「比較対象の実機データ自体が定量的に不安定」だった。
→ Camera2 API を完全マニュアル制御し、ISP 介入を排した **RAW(DNG)**で撮影するモードを追加して固定化する、という方針になった。
実機診断(getCameraDiagnostics)の結果、定量モードに必要な能力をすべて満たすことを確認:
| 項目 | 値 |
|---|---|
| ハードウェアレベル | LEVEL_3(最上位) |
| 能力 | MANUAL_SENSOR / MANUAL_POST_PROCESSING / RAW 対応 |
| RAW 出力 | 3264×2448、BGGR、10-bit(white level 1023 / black level 64) |
| 露光時間レンジ | 約 1/12530 s 〜 0.87 s |
| ISO レンジ | 40〜2506 |
| AF | OFF のみ(固定焦点。近接ピントはアタッチメント光学系前提) |
| LSC マップサイズ | 13×17(実キャプチャ結果から判明) |
詳細は camera_diagnostics JSON を参照。
全パラメータは SPEC_01 §撮影設定 に記載。要点のみ:
CONTROL_MODE=OFF で AE/AWB/AF/NR/EDGE をすべて OFF、TONEMAP は線形BLACK_LEVEL_LOCK=trueDngCreator で DNG 出力captureFullResolutionPng はコード温存)定量モードの核心的な設計判断。観察と物理的整合性から HIGH_QUALITY を本流で維持することで合意した。
SHADING_MODE=OFF だと LSC マップが全要素 1.0(Android 仕様)になり情報が取れない。HIGH_QUALITY だと ISP が LSC を適用し、実ゲインマップが取得できる。OFF(生 Bayer)を使うとシミュ側に物理 cos⁴ モデル(絞り径・口径食など)を足す必要があり、自由度が増えて overfitting リスクが上がる。次のいずれかが起きたら「同一シーンを HQ と OFF で 1 セット撮影」する追加実装を検討する(現時点では未到達・実装不要):
10-bit DNG(黒レベル 64 除去後)で:
→ 確定値 1/120s + ISO 40 で mean G ≈ 461・飽和率 0% を達成(基準測定値は PROGRESS.md 参照)。
「再現性より先に、そもそもシミュと対応が取れるかを 1 ショットで確認する」二段階方式:
*_burst{0..9}.dng)+ 再現性検証(mean CoV < 1%)。adb pull 推奨。MTP は禁止しないが、16 MB 級の DNG でコピー直後にサイズが正しく見えない不整合が確認されているため非推奨。