History for SmTIAS-LightSim / docs / 05_TECH
2026-06-02
@rintoHasegawa
[add] TECH_10 残差主因候補の網羅整理 と Step 8-14 候補 γ D1 ROI 整合検証 — 物理 ROI 差 < 1% でクリア,主因から除外
rintoHasegawa committed on 2 Jun
@rintoHasegawa
[add] docs/05_TECH と docs/06_TEST に README を追加して散らかり感を解消 — 15 ファイル (TECH 9 + TEST 6) がフラットに並んでいたため,性質分類と navigation を README で提供.docs/05_TECH/README.md (85 行): TECH を 🟢 現状方針 (TECH_07/08/09) と 🔵 議論の経緯 (TECH_01-06) に 2 分類.「主な結論 (読まずに済むサマリ)」表で LSC/ガンマ/スケール/配光/残差候補の現状方針を 1 表に集約.経緯マップ (ASCII 図) で TECH_01→04 と TECH_05→06 のハンドオフ往復を視覚化.新規 TECH 追加時のガイドも記載.docs/06_TEST/README.md (70 行): TEST を 🟡 キャリブ作業の中核 (TEST_01/02/03) と 🔵 クローズ済みの試行履歴 (TEST_04 速度最適化中断) と 📋 外部スナップショット (TEST_05/06 MiniTias-Evaluation 由来) に 3 分類.3 ファイルの使い分け表 (「何を知りたい→どのファイル」) を追加.外部スナップショットの取り込み経緯参照あり.ファイル削除・移動はせずナビゲーションのみ追加 (案 A: 過程記録の履歴的価値保持・リンク切れリスク回避).関連ディレクトリ (04_SPEC / 06_TEST or 05_TECH) への相互参照も配置.新規ドキュメント追加時のガイド (連番継続・GUIDE_03 命名規則準拠) も含める
rintoHasegawa committed on 2 Jun
@rintoHasegawa
[add] TECH_09 LED データシート調査結果 — LED Paradise LP-2835D90VW の OEM 元 HONGLITRONIC (中国広州,鸿利智汇集团股份有限公司) のデータシート発見と判明事項を明文化.過去 SPEC_03 で「LED Paradise 商品ページにデータシート PDF 掲載なし」「詳細 IES 未提供」とした記述は誤りで,実は OEM 元 HONGLITRONIC の HL-A-2835D90VW シリーズ (SPEC NO B-18-A-0831, 2022-01 改訂, 13 ページ) が公開されていた.本命データシート: lcsc.com/datasheet/C5362368.pdf.SmTIAS の LED と物性整合 (Vf 2.8-3.4V typ 3.1V / 配光角 120° / SMD 2835 / 単チップ 3V 系 / Ra95).LED Paradise の Ra98 はサブバリアントの可能性.配光図 (Page 6) から 9 角度で数値読み取り: 0°→1.0, 10°→0.98, 20°→0.94, 30°→0.87, 45°→0.71, 60°→0.50 FWHM, 70°→0.35, 80°→0.15, 90°→0 — 厳密 Lambertian (cos θ) と数値的にほぼ完全一致.SPEC_03 の「やや前方凸の可能性」記述は本データシートでは確認できず訂正対象.分光分布 SPD (Page 6) も NeutralWhite 4000K の特性曲線あり: 420nm 鋭ピーク (青チップ励起) + 500-650nm ブロード (蛍光体).Ra95 で太陽光近似スペクトル.重要な含意: (1) 現状 area light Lambertian モデルはデータシート実測と整合.配光モデル精緻化余地は限定的.(2) 過去 Step 8-11「データシート従順版」(cos^1.2) は実はデータシート不整合 (同等品 Cree/Samsung/Lumileds の典型配光を借用していた).道理で形状指標が悪化.(3) Step 8-14 候補 B (LED 配光詳細化) の意義は限定的.残差 2.63× の主因は配光以外 (反射率精度・幾何精度・タイプ II 構造的差異・内壁の非 Lambertian 性等) に絞られる.構成: 結論先出し / 調査経緯 / OEM 関係特定 / 入手データシート 2 件 (別品 1 + 本命 1) / 重要情報 / 配光図読み取り表 / SPD 特徴 / SmTIAS-LightSim への含意 4 観点 / SPEC_03 訂正事項 5 項目 / 関連リンク / 次のアクション.取得 PDF 2 件 (5c736b84*.pdf 別品 + a3b8d448*.pdf 本命) と PNG 13 件 (_ds_page_*.png) はリポジトリトップに一時保存.REFERENCE/ への正式取り込みは別タスクのため本コミットには含めない.CLAUDE.md 進捗欄に TECH_09 への参照と主要発見 (配光は Lambertian / Step 8-14 候補 B 方向修正 / 残差 2.63× 主因絞り込み) を追記
rintoHasegawa committed on 2 Jun
@rintoHasegawa
[update] TECH_08 「対応不要」を 2 タイプに細分化 — §許容している構造的差異 セクション新規追加.「対応不要」の理由を 2 種類に分類: タイプ I (本質構造同一・Mitsuba に対応概念なし) = AWB/NR/EDGE/LSC/量子化 等.タイプ II (構造的差異あり・白板で許容) = AF/絞り口径食/ピクセル積分/センサノイズ/QE 波長依存/シャッター方式/温度依存.特に AF (CONTROL_AF_MODE=OFF 固定焦点) を §II-1 焦点モデル として独立詳述: 実機 perspective + 固定焦点で被写界深度 (DoF) と焦点ボケが存在する vs シミュ orthographic は全画素平行光線で焦点・DoF 概念なし (常に完璧合焦相当) という構造的な違いを明示.白板撮影では DoF 内固定 + 一様パターンで許容できるが「ゼロ影響」ではなく舌模型評価時や残差精緻化フェーズで再評価対象.他のタイプ II 項目 (II-2 絞り口径食 = lscMap で補正済 / II-3 ピクセル積分 = spp=1024 で緩和 / II-4 センサノイズ = 白板高輝度で相対影響小 / II-5 QE 波長依存・シャッター・温度・個体差) も白板許容理由を明示.対応マッピング表の AF 行を「対応不要・許容 (§許容している構造的差異 参照)」と再分類.サマリ表をタイプ I/II 区分で更新.Step 8-13 残差 2.63× の主因はタイプ II ではなくシミュ物理モデル誤差と推定する従来結論は維持.タイプ II 寄与は小さいが完全排除不能で,Step 8-14 以降の物理モデル精緻化と並行してタイプ II 独立評価の余地ありと記述.CLAUDE.md 進捗欄にタイプ I/II 分類と AF の構造的差異を追記
rintoHasegawa committed on 2 Jun
@rintoHasegawa
[add] TECH_08 実機変更とシミュ側対応の整合マッピング — 実機側 8 項目変更 (PNG→DNG / AWB OFF / AE OFF / ガンマなし / NR OFF / EDGE OFF / LSC 維持 / LSC 順方向適用) に対するシミュ側 3 層 (Mitsuba シーン定義 α / sm-render β / sm-evaluate γ) の対応をマッピングして対応漏れがないことを網羅的に確認.結論: シミュ側で実際に対応が必要だったのは sm-evaluate の config レベルでの OETF 無効化 (#4 ガンマ補正対応 = Step C' の eval_baseline_dng_target.yaml で OETF セクションを意図的に書かない形で実現) と mean アンカー調整 (#3 AE OFF への対応 = normalization.target_mean=207.82) の 2 項目のみ.他はすべて対応不要: AWB は Mitsuba per-channel 独立計算で概念なし,AE は露光時間概念なし (絶対値スケール調整は mean アンカーで吸収),NR/EDGE は Mitsuba 計算に存在しない,LSC は orthographic で cos⁴ 自然対応 (TECH_07 参照),量子化・ビット深度は Mitsuba float32 出力で発生しない.計 15 項目以上 (上記 8 + 追加チェック 7: CONTROL_MODE / SENSOR_FRAME_DURATION / BLACK_LEVEL_LOCK / COLOR_CORRECTION_GAINS / COLOR_CORRECTION_TRANSFORM / CONTROL_AF_MODE / CONTROL_VIDEO_STABILIZATION_MODE) で網羅チェックして対応漏れなしを確認.ガンマ補正対応の歴史的経緯 (Step 8-3 で OETF 順方向適用追加→Step 8-13 で OETF 無効化に切替) を詳述.動作確認根拠: Step C' で sm-evaluate を新 config で実行し OETF が適用されないこと・mean アンカー alpha=1.36257 で 152.52→207.82 に正しく揃うこと・radial_min_max=0.6151 が出力されること・既存 608 テスト全通過 (Step D 完了時) を確認.Step 8-13 残差 2.63× は ISP 関連の対応漏れではなくシミュ物理モデル誤差 (反射率精度・LED 配光モデル・メッシュ幾何精度等) が主因と推定.詳細切り分けは Step 8-14 以降の物理モデル精緻化として残す.CLAUDE.md 進捗欄に TECH_08 への参照と整合確認結果を追記.handoff_smtias_lightsim/ ディレクトリは S3 全体完了 (Step 8-13 TEST_01 記録) 後に削除予定で本コミットには含めない
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-06-01
@rintoHasegawa
[add] MiniTias-Evaluation 引き継ぎ受領 (S1) — TECH_06 受領記録・TEST_05 PNG/DNG 評価比較・TEST_06 外乱光影響評価を新規取り込み.TECH_05 §4 を訂正 (apply_lsc_inverse → apply_lsc_forward).5 つの重要発見: (1) DNG は LSC 未補正で逆ではなく順方向適用が正しい (TECH_05 §4 訂正済) (2) 過去 Step 8 残差 2.1× はドメイン不一致 — 正しい linear 比較では DNG linear+LSC 0.0689 vs シミュ linear 0.183 = 真の残差 2.66× (3) 新実機ターゲット MiniTIAS_QM_20260601_124500 暗闇撮影 CoV=0.0695 勾配=8.35% 中心/周辺=1.0911 動径 min/max=0.860 (4) 外乱光ロバスト確認: 室内灯 ON/OFF で指標差 < 1% (5) 新指標 calc_radial_min_max_ratio 追加.本 PR はドキュメント取り込みのみ (S1).コード取り込み (S2: dng_loader.py コピー + 新指標マージ + rawpy 依存追加) と sm-evaluate DNG 対応 + Step 8-13 突合 (S3) は別 /implement パイプラインで実施.handoff_smtias_lightsim ディレクトリは context から書き起こし: PNG/CSV/meta.json バイナリは S3 段階で再取得が必要.CLAUDE.md 開発進捗に Phase 1 完了とハンドオフ受領・5 つの重要発見を追記
rintoHasegawa committed on 1 Jun
@rintoHasegawa
[add] TECH_05 MiniTias-Evaluation DNG 対応要求仕様 — MiniTias 撮影フォーマットが PNG から DNG に変わったことに伴い MiniTias-Evaluation 側にも DNG 読み込み I/F の追加を要求.役割分担: 既存パターン (uniformity.py コピー) を踏襲し MiniTias-Evaluation を一次窓口として正規実装→ SmTIAS-LightSim 側にコピー.主要 I/F: load_image_dng (rawpy で 10-bit BGGR Bayer 展開・黒レベル除去・デモザイク・出力形式 rgb_float32/luma_float32/rgb_uint8 選択可能) / load_metadata (TECH_03 スキーマ準拠) / load_lsc_map (4×13×17 配列) / load_hot_pixel_list / mask_hot_pixels / apply_lsc_inverse (将来検証用).既存 PNG 経路は無修正で並列対応(後方互換).既存 src/analysis/uniformity.py 等は無修正で DNG 対応可能なよう output_format で出力型を切替.想定 6 Phase 約 3.5 日.依存追加 rawpy>=0.21.0.V1: PNG vs DNG 整合性確認.V2: 既存 PNG 経路の回帰.V3: メタデータ読み込み.V4: SmTIAS-LightSim 側コピー後検証.開放質問 Q1-Q7 で rawpy バージョン互換・デモザイク既定値・カラーマトリクス影響等を MiniTias-Evaluation 側 Claude セッションで実機確認.引き継ぎは TECH_02 と同様の構造.SmTIAS-LightSim 側のフェーズ A 受け入れ実装は MiniTias-Evaluation 完了後に着手.CLAUDE.md 開発進捗に追記
rintoHasegawa committed on 1 Jun
@rintoHasegawa
[update] TECH_04 を「フェーズ A/B 分割」に再構成 — 連射 UI 実装をフェーズ B に降格し,フェーズ A で 1 ショット撮影によるシミュ vs 実機対応検証を先行.方針根拠: 連射再現性が確保できてもシミュとの対応が取れなければ意味が薄い.フェーズ A で MiniTIAS 側に依頼するのは画素統計・Hot pixel map(高優先 2 件)と白板 1 ショット試し撮りのみ.SmTIAS-LightSim 側は DNG/meta.json/LSC マップ読み込み I/F と新規 baseline config を実装して 1 ショット突合.既存通常モード baseline 残差 2.1× が定量モードで変化するかを観察.フェーズ A 完了判定: 残差 ≤ 1.5× ならフェーズ B へ・残差変わらずなら SHADING_MODE フォールバック条件 C1 検討 or 物理モデル見直し・残差増ならパイプライン不整合をデバッグ.フェーズ B 着手はフェーズ A 完了後に判断.TECH_04 サマリ表・V1 検証分担セクション・改善案優先度・次フェーズ作業範囲を全部 A/B 二段階で再構成.CLAUDE.md にも反映.Step 8-13 として TEST_01 に記録予定
rintoHasegawa committed on 1 Jun
@rintoHasegawa
[add] TECH_03 MiniTIAS 実装報告取り込み・TECH_04 SmTIAS-LightSim 側回答 — MiniTIAS 側で定量モード Phase 1〜5 全完了,AQUOS sense3 が LEVEL_3 で DNG 経路第 1 優先採用,撮影設定: 1/60s + ISO 40 + AWB/NR/EDGE/AF/AE OFF + TONEMAP 線形 + BLACK_LEVEL_LOCK + SHADING_MODE=HIGH_QUALITY + STATISTICS_LENS_SHADING_MAP_MODE=ON,LSC マップ 13×17,保存ファイル MiniTIAS_QM_*.{dng,meta.json,preview.jpg} 3 種で meta.json に LSC マップ埋め込み.SHADING_MODE 判断: HIGH_QUALITY を本流維持(Mitsuba orthographic 出力 ≒ ISP 完璧補正後の理想値で HIGH_QUALITY DNG と直接比較が物理整合・OFF 切替は将来のフォールバック条件 C1-C3 発動時のみ).Mitsuba 出力の物理解釈を正式に整理(生 Bayer 相当ではなく補正後相当).露光/ISO 目安は 10-bit 中央値 500 前後 + p99 < 900.V1 連射再現性検証は MiniTIAS 側が連射 UI のみ実装し解析は SmTIAS-LightSim 側 sm-evaluate に統合.データ転送は adb pull 推奨(MTP 非推奨).改善案優先度: 画素統計・Hot pixel map・連射 UI が高優先で同意.TECH_01 開放質問 Q1-Q7 を解決状況で更新.TECH_02 データ受け渡し節を実機実装に合わせ更新(meta.json 内 LSC マップ格納形式・adb pull・DNG/burst ファイル命名).CLAUDE.md 開発進捗に MiniTIAS 側実装完了とハンドオフ往復完了を追記.次フェーズ: MiniTIAS 側は高優先 3 件追加実装,SmTIAS-LightSim 側は DNG/meta.json 読み込み I/F と再現性検証スクリプトを sm-evaluate に追加してキャリブ再開
rintoHasegawa committed on 1 Jun
2026-05-29
@rintoHasegawa
[add] TECH_01 定量撮影モード要求仕様・TECH_02 MiniTIAS 引き継ぎ手順 — Step 8 キャリブで「実機 PNG 自体が定量データとして揺らいでいる」ことが判明(AE/AWB/NR/EDGE/TONEMAP/SHADING がすべて Camera2 オート/デフォルト,撮影ごとに値変動).当初想定の LSC モデル化より上位の問題として「定量撮影モード」を MiniTias 側に追加する方針に転換.TECH_01 は MiniTias への要求仕様 (What/Why): Camera2 API キー 12 項目固定値・LSC ゲインマップ取得 (STATISTICS_LENS_SHADING_CORRECTION_MAP)・撮影メタデータ JSON 保存・推奨出力フォーマット (DNG/YUV/PNG)・ハードウェアサポート判定 (Q1-Q4)・5 Phase 実装方針・検証 V1-V4・開放質問 Q1-Q7.TECH_02 は MiniTias 側 Claude セッションへのハンドオフ手順 (How/Where/When): プロジェクト関係図・最初の 3 ステップ (実機サポート確認→実装範囲決定→Phase 1 着手)・データ受け渡し仕様 (reference_measurement/quantitative/ 配下 MiniTIAS_QM_YYYYMMDD_HHmmss.{png,meta.json,lsc.npz})・既存 baseline へのアクセス・質問/調整事項のファイルベース扱い・完了判定・後続作業・チェックリスト.docs/05_TECH/ ディレクトリ新規作成.CLAUDE.md 開発進捗にキャリブ方針見直しと TECH_01/02 への参照を追記.SmTIAS-LightSim 側のキャリブ作業は本仕様書を MiniTias に渡した時点で一旦停止
rintoHasegawa committed on 29 May