# D435i 光學畸變
### 原廠光學畸變規格為 $\le 1.5\%$ 。

影響評估:對 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)。
對模型來說,物體變成了「白色亮斑」而非「黃色物體」,導致特徵完全消失,抓取指令失效。
操作原則:「寧暗勿亮」。畫面稍微暗一點(暗黃色)模型仍能識別;但一旦過曝(死白),模型就無能為力了。