History for SmTIAS-LightSim / configs
2026-06-02
@rintoHasegawa
[add] 混合 BSDF (blendbsdf + roughconductor) スキーマと Step 8-14 候補 β A1 感度分析 — 3×3 グリッドで実機方向に作用しないと確定,TECH_10 優先順位を A8/A9/B1 に繰り上げ
rintoHasegawa committed on 2 Jun
@rintoHasegawa
[add] TECH_07 LSC 取り扱い方針 + Step C' 新規 baseline config — 3 プロジェクト (MiniTias / MiniTias-Evaluation / SmTIAS-LightSim) における LSC 取り扱いの設計判断を一元化 docs/05_TECH/TECH_07 として明文化.結論: SmTIAS-LightSim はシミュ側で LSC を一切扱わない (Mitsuba orthographic が LSC 完璧補正後相当という物理的根拠).3 プロジェクト役割分担を 1 表で明確化: MiniTias=SHADING_MODE=HIGH_QUALITY 撮影 + lscMap 保存 / MiniTias-Evaluation=lscMap 順方向適用で評価 / SmTIAS-LightSim=一切扱わない.検討した代替案 3 つすべて却下と理由を明文化: (A) シミュに LSC モデル化追加 → overfitting リスク + 実機側改善で目的達成済 / (B) perspective+thinlens で物理 cos⁴ → lscMap で割り戻すと結局 orthographic と等価で得るものなし / (C) ISP 補正残差を物理導出 → メーカー非公開で不可能.フォールバック条件 C1-C3 (SHADING_OFF 撮影) を TECH_04 から再掲.過去 TEST_03 「LSC モデル化が唯一の道」の前提変更 (当時は実機側を改善しない前提) を明示.過去 Step 8 残差 2.1× の解釈見直し (PNG sRGB ガンマ圧縮による楽観値,真の linear 比較では 2.66× 程度) を明記.Step C' として configs/eval_baseline_dng_target.yaml 新規作成 (eval_baseline_linear.yaml ベースで target_mean=207.82, metrics.radial_min_max=true,過去 Step 8-1〜8-12 評価 config 群と並列で Step 8-13 評価条件固定化).動作確認で既存シミュ baseline (output/baseline/luminance.npy) を新 config で評価し,Step 8-13 数値が判明: シミュ CoV=0.1826 / 勾配=24.65% / 中心/周辺=1.3271 / 動径 min/max=0.6151.実機 DNG+LSC (CoV=0.0695 / 勾配=8.35% / C/P=1.0911 / 動径 min/max=0.860) と比較して残差 2.63× (TECH_06 で予想した 2.66× とほぼ一致.LSC 由来ではない別要因 = 物理モデル誤差等).LSC 取り扱いは本コミットで決着,残差 2.63× は別問題として今後の課題に.handoff_smtias_lightsim/ ディレクトリは S3 全体完了 (Step 8-13 TEST_01 記録) 後に削除予定で本コミットには含めない.CLAUDE.md 進捗欄に Step C' 完了・Step 8-13 数値・TECH_07 への参照を追記
rintoHasegawa committed on 2 Jun
2026-05-28
@rintoHasegawa
[add] Step 8-12: Helmholtz 相反原理を Mitsuba 上で実証検証 — schema.py の RenderConfig.integrator に ptracer 追加.configs/scene_baseline_perspective_{path,ptracer}.yaml で perspective sensor + scalar_rgb + spp=4096 比較.bot/top 比が path 2.035 vs ptracer 2.006 で誤差 1.4% で一致=形は方向独立.絶対値は Mitsuba 実装の正規化差で 1.99× 違うが形(空間パターン)は同じ.副次発見: orthographic + ptracer は Mitsuba 3 で実行不能(Endpoint::sample_direction() 未実装).方向変更で形を実機に近づける道は無いことが確定し LSC モデル化が唯一の道との結論を強化.TEST_01 Step 8-12・TEST_02 索引・TEST_03 学び 5・CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-11: データシート準拠の照明モデル統合 — configs/scene_baseline_datasheet.yaml 並列保持.LP-2835D90VW 規格値 (Φv 17.5 lm, LER 280 lm/W) から I_0=0.021951 W/sr を導出,同等品 SMD 2835 の典型配光 cos^1.2 を spot で表現 (cutoff=85°/beam=26.72°, FWHM 111.72°),反射率を Step 8-6 で導出した物理整合点 0.89 に変更.結果は Step 8-10 と Step 8-9 の中間値 (CoV 0.183, 勾配 26.79%, C/P 1.366).形は依然 Y 軸単調勾配で構造的変化なし.データシート従順度を上げても形は実機に近づかないことを確定.本筋 LSC が依然必要.SPEC_03 データシート従順版節・TEST_01 Step 8-11・TEST_02 索引・TEST_03 観察事実・CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-10: LED 配光を spot emitter で表現 — schema.py に SpotLight クラス追加(cutoff_angle / beam_width / intensity),lights.py に spot 分岐実装.configs/scene_baseline_spot.yaml を並列保持(18 LED を spot に変換,FWHM 120° 一致,flux 保存 I_0=0.02678 W/sr).目視で X 方向の対称性が部分改善(下端の明るい領域が中央寄りに集中).数値指標は微悪化(CoV +4%, 勾配 +15%).emitter 指向性は形の一部(X 方向)を変える発見.Y 方向の中央ピークは LSC が依然必要.SPEC_03 Spot emitter 節・TEST_01 Step 8-10・TEST_02 索引・TEST_03 観察事実・CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] LED 基板カバーを 3 枚構成(下/右/左)に展開 — configs/meshes/SmTIASv3.stl から scripts/extract_led_positions_from_stl.py --export-covers で各基板用カバーを独立 STL に書き出し.scene_baseline.yaml の geometry を led_cover_bottom/right/left の 3 メッシュエントリに更新.旧 LED基板カバー.stl 削除.右・左基板の LED が「カバーなしで浮く」状態を解消.SPEC_03 筐体材料表と CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-9: LED 18 個の位置を Fusion 360 設計 STL から抽出して反映 — scripts/extract_led_positions_from_stl.py 新設(連結成分分割 + LED/カバー識別 + bottom/right/left 自動命名).configs/meshes/SmTIASv3.stl から抽出し scene_baseline.yaml の lights セクションを置換.主な変更は下基板 LED 配置を「等間隔 8.7mm」→「3+ギャップ+3 (4.2mm+10.8mm+4.2mm)」へ訂正(実機の中央電流制限抵抗と整合).左右基板も実位置に修正.形状指標は ~1% 以内のほぼ不変,絶対 mean は +10% 増加(α 0.962→0.873).既知差分 #2 をクローズ.TEST_01 Step 8-9・SPEC_03 配置と既知差分・TEST_02 索引・TEST_03 比較パネル(5 枚並列)・CLAUDE.md を更新
rintoHasegawa committed on 28 May
2026-05-27
@rintoHasegawa
[add] Step 8-8: linear 評価モードに mean 揃え正規化を導入 — evaluation/normalize.py の apply_mean_anchor + NormalizationConfig スキーマ + OETF 排他バリデーション + CLI 統合.configs/eval_baseline_linear.yaml で有効化(target_mean=146.7146).形状指標 (CoV/勾配/C/P/max-min) は厳密不変,mean のみ target_mean に揃う.SPEC_02・SPEC_04・TEST_01 Step 8-8 を更新.テスト 62 件追加 (既存 441 + 新規 62 = 503 件全通過)
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] キャリブレーション検証履歴 TEST_01 を新設 — Step 8-1〜8-7 のフル記録(仮説/変更/数値/解釈/学び)と俯瞰サマリ表、SPEC_03 キャリブ経過セクションを要約版にスリム化(90→30行)、検証アーティファクト configs/eval_baseline_linear.yaml と configs/scene_baseline_emitter_real.yaml を追加
rintoHasegawa committed on 27 May
2026-05-18
@rintoHasegawa
[add] OETF 順方向適用を sm-evaluate へ正規実装 — シミュ linear を実測 sRGB ドメインへ変換、後方互換 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[update] Step 8 spp 校正 (128→1024) — ノイズ/物理差を切り分け、残差主因は ISP レンズシェーディングと判明 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] Step 8 キャリブ準備 — orthographic sensor / visualize 互換化 / ROI 物理対応 / SPEC_03
rintoHasegawa committed on 18 May
2026-05-17
@rintoHasegawa
[add] Step 8 基準設計シーン (scene/eval YAML + 実機 STL 6 個) と configs/ 生成物の .gitignore 整理
rintoHasegawa committed on 17 May