**技術副標:**B01 內視鏡手眼校正與線上漂移偵測
**證據邊界:**工程模擬|解析影像替代模型|非臨床證據
🎬 實驗影片:觀看 B01 實驗影片
🧪 完整驗證頁面:查看 B01 指標、門檻與限制
**觀看重點:**請觀察漂移注入前後的殘差曲線。畫面仍可正常顯示,但兩條位置推算路徑會在漂移發生後開始不一致。
在影像導引的機械臂系統裡,相機與機械臂之間必須先建立固定的空間關係,這個過程稱為手眼校正。系統需要知道:相機看到的某個位置,換算到機械臂座標後究竟在哪裡。
假設鏡頭固定在持鏡臂上,但夾具在換場後產生輕微轉動。影像仍然清楚,機械臂也能正常移動,系統不一定會立即報錯。可是,原本登記的相機與機械臂關係已經改變,從影像推算出的每一個位置都可能帶著相同偏差。
這類錯誤的危險之處,是它會安靜地持續存在。等到有人發現「最近的位置好像都偏一點」,前面累積的資料可能都已受到影響。
本篇只回答一個問題:能不能在不拆下相機重新校正的情況下,線上發現手眼關係已經漂移?
本篇使用的核心觀念,是讓同一個位置由兩條路徑分別推算。
第一條路徑來自機械臂的關節角。系統根據關節位置,計算相機理論上應該位於哪裡,再推算地標應該出現在影像中的哪個像素。
第二條路徑來自影像量測,直接取得地標實際出現的像素位置。
兩者相減,就是重投影殘差。校正關係正確時,殘差主要來自影像雜訊;相機姿態漂移後,兩條路徑開始說出不同答案,殘差就會上升。
可以把它想成用兩支時鐘互相比對。如果兩支時鐘原本同步,後來時間逐漸不同,就知道至少有一邊發生漂移。這個比喻的限制是:只有兩個證人時,不一定能立即判定錯的是哪一邊;工程系統還需要確認兩條資料鏈是否真的獨立,以及各自有哪些誤差來源。
本篇設定的影像雜訊標準差為 2 px。經過兩點相減與 10 影格移動平均後,正常波動應明顯低於 8 px。因此,偵測條件被設定為:移動平均連續 10 次超過 8 px,才判定發生漂移。
這個門檻在正式執行前就已固定,不是把所有可能數字試過一遍,再挑一個剛好能通過的值。
正式測試使用 30 個固定 seed。seed 可以理解為可重現的隨機條件編號;每個 seed 會產生不同的漂移量與雜訊序列,但只要使用相同編號,就能重新得到相同設定。
測試在固定時間注入 0.5°–3.0° 的相機傾斜漂移,並檢查三件事:
| 核心指標 | 實測 | 門檻 | 判定 |
|---|---|---|---|
drift_detection_rate |
1.0(30/30) | ≥ 0.90 | 有限度通過 |
30 個 seed 全部偵測到漂移,漂移發生前沒有任何一次誤報。殘差與解析模型預測的最大差異為 1 px,低於 12 px 門檻。偵測延遲為 9–14 個影格,約 0.30–0.47 秒。
這些結果支持一個明確但有限的結論:在本篇設定的相機參數、影像雜訊與單次傾斜漂移條件下,重投影殘差可以發現手眼關係改變。
本篇只使用一個地標。單一地標對於繞光軸的純滾轉漂移幾乎沒有觀測能力。
實驗另外量測了這個盲區:最大的純滾轉殘差只有 6 px,仍低於 8 px 偵測門檻。也就是說,在本篇測試範圍內,即使發生純滾轉漂移,偵測器仍可能完全沒有反應。
要處理這個問題,需要加入第二個離軸地標,或使用帶有方向性的影像特徵。這不是調低門檻就能完整解決,因為門檻下降也會提高誤報風險。
本篇的像素位置由相機模型解析投影後,再加入登記的高斯雜訊。它不是從真實內視鏡影像中偵測特徵,也沒有模擬鏡頭畸變、反光、煙霧、部分遮蔽或真實夾具鬆動。
因此,本篇證明的是一條漂移偵測邏輯在替代模型中成立,不是證明真實內視鏡系統已能可靠監測校正漂移,更不能作為實際醫療器材的警報門檻或臨床操作依據。
本篇已經示範如何用殘差發現相機關係改變。下一步要回到更基礎的規畫問題:解析模型說機械臂到得了某個方向,帶有真實驅動限制的模擬手臂是否真的能走到?