essential_8point — 3D two_view op

• 資料種類:image2d × image2d → matrix

• 呼叫: import fullseye as fs; fs.ledger.essential_8point(pts1, pts2, K1, K2=None)(要直接呼叫實作,import twoview; twoview.essential_8point(pts1, pts2, K1, K2=None);從台帳取用則 ops3d.get("essential_8point"))

用法

由對應點 + K 直接求本質矩陣 E。→ E (3,3)。

步驟:以 fundamental_8point(pts1, pts2) 估計 F,建構 E = K2ᵀ F K1 後以 SVD 把奇異值替換為 (1, 1, 0)(本質矩陣的性質。結果的 Frobenius 範數固定為 √2)。

• K1 (3,3) 是影像 1 的內部參數矩陣,省略 K2 時兩張影像都用 K1(以同一相機為前提)。

• 對應點為像素座標 (N,2)。驗證與例外與 fundamental_8point 相同(少於 8 個點、點數不一致、非有限、不是 (N,2) 的輸入為 ValueError)。

• E 的正負號不定,(R, t) 分為 4 個候選。把分解和基於 cheirality 的唯一化一併完成的是 recover_pose。

• 對離群值毫無防備。平面、純旋轉的退化本 op 也不偵測(由 recover_pose 偵測)。決定性。

背景知識指南(該運算子背後的物理與規範)

• depth_sensors — 深度感測器知識 —— 測距原理、實機數值、缺測的表現

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• sfm_recon — py -3.11 examples_3d/sfm_recon.py

型別可銜接的下一個運算子(可接受 matrix 作為輸入)

fuse_to_voxel

同類別(two_view)

fundamental_8point · recover_pose · triangulate · sampson_distance


*Provenance: twoview.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.