# D435i 光學畸變 ### 原廠光學畸變規格為 $\le 1.5\%$ 。 ![螢幕擷取畫面 2025-12-05 211223](https://hackmd.io/_uploads/SkmRbeNG-x.png) 影響評估:對 AI 辨識 (YOLO) 無影響:神經網路對輕微變形有穩健性(Robustness)。 手臂控制 (Grasping):1.5% 畸變在邊緣會產生約 10~20 pixels 的位移,若未校正,轉換至 3D 空間座標時會產生毫米級誤差,導致抓取失敗。 --- 已透過 Python 程式驗證,可直接讀取晶片內的出廠校正係數。 :::spoiler python ```python= import pyrealsense2 as rs # 1. 設定 pipeline = rs.pipeline() config = rs.config() config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30) # 2. 開始串流 profile = pipeline.start(config) # 3. 取得彩色鏡頭的串流資料流 color_stream = profile.get_stream(rs.stream.color) # 4. 取得內參 (Intrinsics) intrinsics = color_stream.as_video_stream_profile().get_intrinsics() # 5. 列印畸變參數 print("畸變模型 (Model):", intrinsics.model) print("畸變係數 (Coeffs):", intrinsics.coeffs) # coeffs 通常是一個包含 5 個數值的列表: [k1, k2, p1, p2, k3] pipeline.stop() ``` ::: --- ## 顏色校正 1. AI 模型的色彩穩健性 (Color Robustness) 我們使用的深度學習模型(如 VLA 或 YOLO)具有強大的泛化能力,這與傳統電腦視覺(CV)依賴特定 RGB 數值的做法不同。 概念學習:模型學習的是**「黃色的概念」**,而非單一的色碼。它能理解陽光下的亮黃、陰影下的暗黃,甚至是日光燈下偏綠的黃。 容忍度高:只要 RealSense 拍出來的畫面,人類肉眼能辨識出「這是黃色」,模型通常就能正確判斷。因此,我們不需要花費過多算力進行嚴格的「色彩校正」。 2. 曝光控制 (Exposure Control) 在「眼在手 (Eye-in-Hand)」架構下,相機距離物體僅 20cm 左右,最大的風險並非「色偏」,而是**「過曝 (Overexposure)」**。 過曝的後果 (Clipping):一旦補光太強或自動曝光反應不及,黃色物體的像素值會飽和變成 全白 (255, 255, 255)。 對模型來說,物體變成了「白色亮斑」而非「黃色物體」,導致特徵完全消失,抓取指令失效。 操作原則:「寧暗勿亮」。畫面稍微暗一點(暗黃色)模型仍能識別;但一旦過曝(死白),模型就無能為力了。