Contents — find the section you need

Titik-titik yang berkorespondensi pada "bidang yang sama" — sebuah meja, poster, permukaan jalan — yang ditangkap dalam dua gambar dihubungkan oleh hubungan yang jauh lebih sederhana daripada adegan 3D umum. Tidak peduli di mana kamera berada, titik-titik pada bidang tersebut dapat ditransformasikan satu sama lain hanya dengan menggunakan satu matriks 3\times3. Matriks ini adalah homografi (transformasi proyektif). Jika Panduan Geometri Epipolar membahas kendala korespondensi yang mengasumsikan kedalaman adegan, homografi merupakan kasus yang kontras karena menangani korespondensi yang sama sekali tidak bergantung pada kedalaman — dan hanya dengan mampu menggunakan keduanya secara tepat, Anda mendapatkan gambaran lengkap tentang geometri dua pandangan.

0. Ringkasan 30 Detik

  • Homografi H adalah matriks 3\times3 yang merepresentasikan korespondensi gambar \tilde{\mathbf{x}}'\sim H\tilde{\mathbf{x}}, baik untuk titik-titik pada bidang yang sama atau untuk kamera yang mengalami rotasi murni. Ia memiliki 8 derajat kebebasan, hingga ambiguitas skala.
  • Metode DLT (Transformasi Linier Langsung) membangun dua persamaan linier per korespondensi titik, dan menyelesaikan H secara linier melalui SVD dari 4 atau lebih korespondensi. Normalisasi Hartley efektif untuk stabilisasi numerik.
  • Karena korespondensi nyata mencakup ketidaksesuaian, outlier dihilangkan dengan RANSAC sebelum estimasi akhir. Ukuran sampel minimal adalah 4 titik, yang menjaga jumlah iterasi estimasi robust lebih rendah daripada untuk estimasi Matriks Esensial/Fundamental.

  • Dengan kamera yang telah dikalibrasi, ia terurai dalam bentuk H=K(R+\mathbf{t}\mathbf{n}^\mathsf{T}/d)K^{-1} menjadi rotasi R, arah translasi, dan normal bidang \mathbf{n} — meskipun secara umum, masih ada beberapa solusi kandidat yang masuk akal secara fisik, dan Anda memerlukan informasi tambahan untuk mempersempitnya.

  • Untuk adegan planar atau rotasi murni, homografi adalah model yang lebih tepat daripada Matriks Esensial atau Fundamental. Kegagalan mendeteksi degenerasi ini berarti secara paksa mencoba rekonstruksi 3D dalam situasi di mana pemulihan kedalaman pada dasarnya tidak mungkin.

1. Apa Itu Homografi: Transformasi Proyektif Planar

Ketika koordinat homogen \tilde{\mathbf{x}}=(x,y,1)^\mathsf{T}, \tilde{\mathbf{x}}'=(x',y',1)^\mathsf{T} pada dua gambar memenuhi hubungan

\tilde{\mathbf{x}}' \sim H\tilde{\mathbf{x}}

melalui beberapa matriks 3\times3 H, kita menyebut H sebagai homografi. \sim berarti sama hingga skala — mengalikan H dengan konstanta bukan nol apa pun mewakili transformasi yang sama — jadi derajat kebebasan H adalah 9-1=8.

Diagram 1 · Use the button to switch views
Empat titik yang bersesuaian pada satu bidang yang dipetakan dari Gambar 1 ke Gambar 2 dengan homografi H, dibandingkan dengan kasus paralaks kedalaman di mana satu H tidak cukup
Diagram 2 · Use the button to switch views

Secara umum, ada dua kondisi fisik di mana homografi berlaku. Pertama, semua titik 3D yang bersesuaian terletak pada satu bidang. Kedua, bahkan untuk adegan dengan struktur 3D umum, jika kamera tidak melakukan translasi sama sekali dan hanya melakukan rotasi murni (pan/tilt), hubungan tersebut dapat dijelaskan oleh homografi terlepas dari kedalaman. Hal ini karena ketika kamera hanya berputar, tidak ada paralaks yang muncul sama sekali.

2. Estimasi melalui Metode DLT

Dari satu korespondensi (x,y)\to(x',y'), kita dapat menurunkan kendala linier pada setiap elemen h_1,\dots,h_9 dari H (ditulis \mathbf{h}=\operatorname{vec}(H)). Memperluas kondisi bahwa hasil perkalian silang \tilde{\mathbf{x}}'\times H\tilde{\mathbf{x}}=\mathbf{0} bernilai nol memberikan dua persamaan independen berikut per korespondensi.

\begin{bmatrix} -x & -y & -1 & 0 & 0 & 0 & x'x & x'y & x' \\ 0 & 0 & 0 & -x & -y & -1 & y'x & y'y & y' \end{bmatrix}\mathbf{h}=\mathbf{0}

Dengan 4 korespondensi, Anda mendapatkan 8 persamaan, yang (dalam posisi umum) secara unik menentukan 8 derajat kebebasan H. Dalam kasus realistis di mana tersedia 5 atau lebih korespondensi, Anda menemukan solusi kuadrat terkecil untuk A\mathbf{h}=\mathbf{0} untuk matriks A dengan menumpuk semua korespondensi — yaitu, vektor singular kanan yang sesuai dengan nilai singular terkecil A, melalui SVD. Ini adalah metode DLT (Transformasi Linier Langsung).

Sama seperti algoritma 8 titik dalam geometri epipolar, penggunaan koordinat piksel mentah secara langsung cenderung tidak stabil secara numerik. Implementasi standar adalah DLT ternormalisasi Hartley: terapkan transformasi kesamaan T,T' ke setiap himpunan titik gambar sehingga memiliki centroid nol dan jarak rata-rata \sqrt{2}, selesaikan dalam kerangka ternormalisasi tersebut, lalu transformasikan kembali koordinat dengan H=T'^{-1}H_{\text{norm}}T.

3. Estimasi Robust melalui RANSAC

Karena korespondensi sebenarnya mencakup ketidaksesuaian, penerapan DLT langsung ke setiap korespondensi memungkinkan outlier sangat mendistorsi solusi. RANSAC mengulangi langkah-langkah berikut:

  1. Pilih secara acak 4 korespondensi, dan buat hipotesis untuk H melalui DLT.

  2. Untuk setiap korespondensi, hitung kesalahan reproyeksi antara posisi yang diprediksi oleh H dan titik korespondensi sebenarnya.

  3. Pilih hipotesis dengan korespondensi terbanyak (inlier) dalam ambang batas.

  4. Selesaikan DLT sekali lagi menggunakan semua inlier akhir, dan akhiri dengan optimasi nonlinier (minimisasi langsung kesalahan reproyeksi) jika diperlukan.

Jumlah iterasi yang dibutuhkan dapat diperkirakan, dengan mempertimbangkan rasio inlier w, ukuran sampel minimal s=4, dan probabilitas keberhasilan target p, sebagai berikut:

N=\frac{\log(1-p)}{\log\!\left(1-w^{s}\right)}

Untuk rasio inlier yang sama, s=4 pada homografi membutuhkan iterasi yang lebih sedikit daripada estimasi Matriks Esensial/Fundamental, yang membutuhkan s=5 – 8. Ini adalah salah satu alasan mengapa praktik umum, tepat setelah pencocokan SIFT atau ORB, adalah melakukan verifikasi geometris kasar terlebih dahulu dengan homografi sebelum melanjutkan ke estimasi 3D penuh.

4. Dekomposisi H: Mengekstraksi Rotasi, Translasi, dan Normal Bidang

Jika kamera telah dikalibrasi dan parameter intrinsik K_1,K_2 diketahui, homografi yang dinormalisasi \tilde H = K_2^{-1}HK_1 dapat ditulis, menggunakan normal satuan bidang \mathbf{n} (dalam kerangka koordinat kamera 1), jarak ke bidang d, dan pose relatif R,\mathbf{t}, sebagai berikut:

\tilde H = R+\frac{\mathbf{t}\,\mathbf{n}^\mathsf{T}}{d}

Jika kamera mengalami rotasi murni tanpa translasi, \mathbf{t}=\mathbf{0}, maka \tilde H=R — matriks rotasi itu sendiri.

Proses pemulihan R,\mathbf{t}/d,\mathbf{n} dari \tilde H disebut dekomposisi homografi. Beberapa algoritma telah dikenal, termasuk metode Faugeras–Lustman klasik dan metode analitik Malis–Vargas, yang memperoleh solusi bentuk tertutup menggunakan dekomposisi eigen dari \tilde H^\mathsf{T}\tilde H. Namun, murni dari segi matematika, sebanyak 4 solusi yang secara fisik mungkin masih tersisa (termasuk yang sesuai dengan pembalikan tanda atau refleksi). Dalam praktiknya, solusi-solusi ini dipersempit menggunakan:

  • Kedalaman positif (kecermatan): titik-titik yang ditriangulasi harus terletak di depan kedua kamera.

  • Kemungkinan normal bidang: konsistensi dengan arah normal kasar yang sudah diketahui dari aplikasi — seperti tanah atau dinding.

  • Konsistensi di beberapa frame: meskipun ambigu dalam satu frame, pelacakan dari waktu ke waktu mengungkapkan solusi yang tidak wajar karena kurangnya kontinuitas.

decomposeHomographyMat dari OpenCV melakukan dekomposisi ini dan menyediakan fungsi filter (seperti filterHomographyDecompByVisibleRefpoints, yang memilih solusi yang dekat dengan normal bidang yang diketahui) yang membantu mengevaluasi beberapa kandidat.

5. Hubungan dengan Geometri Epipolar: Ketika H Adalah Jawaban yang Tepat

Seperti yang kita lihat di Panduan Geometri Epipolar, korespondensi dua pandangan dalam adegan 3D umum dijelaskan oleh Matriks Fundamental/Esensial. Homografi adalah kasus khusus dari itu, dan pilihan di antara keduanya adalah sebagai berikut.

Situasi Model yang Sesuai Alasan
Struktur 3D umum, dengan translasi F (tidak terkalibrasi) / E (terkalibrasi) Paralaks bergantung pada kedalaman dan tidak dapat dipadatkan ke dalam satu bidang
Seluruh adegan, atau wilayah yang diminati, adalah satu bidang H Titik-titik pada bidang dijelaskan secara tepat oleh homografi
Kamera mengalami rotasi murni (hanya pan/tilt) H Tanpa translasi, tidak ada paralaks, sehingga F/E mengalami degenerasi
Melihat adegan yang jauh, atau paralaksnya sangat kecil H (perkiraan praktis) Paralaks karena perbedaan kedalaman terkubur dalam noise piksel

Masalahnya adalah bahwa "banyak inlier untuk H" dan "adegan benar-benar planar atau kamera benar-benar berputar murni" terkadang sulit dibedakan hanya dari pengamatan saja. Bahkan dalam adegan 3D umum, dinding atau meja yang mendominasi bidang pandang dapat sangat sesuai dengan homografi. Proses inisialisasi ORB-SLAM menangani ambiguitas ini dengan memperkirakan H dan F secara paralel melalui RANSAC, memberi skor kesesuaian masing-masing, dan secara otomatis memilih model yang sesuai dengan struktur adegan dan pergerakan kamera. Poin kunci pada tingkat implementasi adalah menggunakan skor yang memperhitungkan perbedaan derajat kebebasan masing-masing model (gagasan yang terkait dengan GRIC), daripada hanya membandingkan jumlah inlier.

6. Aplikasi: Penggabungan Gambar, Pelacakan Bidang AR, dan Estimasi Bidang Tanah

Penggabungan gambar (komposisi panorama) — menggabungkan beberapa gambar yang diambil dengan memutar kamera di tempat menjadi satu gambar — adalah aplikasi representatif dari homografi. Homografi antara gambar yang berdekatan diperkirakan, dan masing-masing diubah bentuknya ke dalam kerangka acuan umum dan dicampur. Ketika asumsi bahwa kamera hampir sepenuhnya berputar tidak berlaku (misalnya, pengambilan gambar sambil berjalan, atau subjek yang berdekatan dalam adegan), paralaks menghasilkan efek bayangan dan gambar ganda.

Pelacakan jangkar bidang dalam AR mendeteksi bidang, seperti meja atau poster, pada frame pertama, dan dengan melacak homografi ke setiap frame berikutnya, dapat secara stabil menentukan posisi relatif terhadap bidang tersebut, frame demi frame. Dengan menggunakan R,\mathbf{t}/d yang terdekomposisi, Anda dapat menempatkan objek virtual yang dijangkarkan ke kerangka koordinat bidang tanpa inkonsistensi visual.

Estimasi bidang tanah memanfaatkan pengetahuan awal yang kuat bahwa permukaan jalan atau lantai "hampir planar." Deteksi bidang tanah pada kamera kendaraan atau robot menggunakan metode yang melacak homografi antara frame berurutan dan mendeteksi wilayah yang menyimpang darinya (rintangan, objek non-tanah). Ini adalah pendekatan yang mendeteksi kerusakan konsistensi geometris, bukan mengenali objek itu sendiri.

7. Contoh Implementasi di OpenCV

import cv2 as cv
import numpy as np

orb = cv.ORB_create(nfeatures=3000)
kp1, des1 = orb.detectAndCompute(img1, None)
kp2, des2 = orb.detectAndCompute(img2, None)
matches = cv.BFMatcher(cv.NORM_HAMMING).knnMatch(des1, des2, k=2)
good = [m for m, n in matches if m.distance < 0.75 * n.distance]

p1 = np.float32([kp1[m.queryIdx].pt for m in good]).reshape(-1, 1, 2)
p2 = np.float32([kp2[m.trainIdx].pt for m in good]).reshape(-1, 1, 2)

# threshold is the allowed reprojection error, in pixels. USAC_MAGSAC is also selectable in place of RANSAC.
H, mask = cv.findHomography(p1, p2, method=cv.RANSAC, ransacReprojThreshold=3.0)
inliers = mask.ravel().astype(bool)

# if K is known, decompose into candidate solutions
num_solutions, Rs, ts, ns = cv.decomposeHomographyMat(H, K)

Perhatikan bahwa H yang dikembalikan oleh findHomography memiliki skala yang ambigu. Seperti halnya Matriks Esensial dalam Panduan Geometri Epipolar, vektor translasi yang diperoleh dari dekomposisi juga hanya menentukan arah — skala absolutnya harus diberikan dengan cara lain (jarak bidang yang diketahui, garis dasar stereo, sensor inersia, dan sebagainya).

8. Kondisi Sulit

  • Ketidakrataan: bahkan sebuah adegan yang tampak planar dapat mencakup objek dengan ketebalan nyata — buku, tepi papan nama, tanaman — dan titik-titik di atasnya menjadi outlier sistematis. Melonggarkan ambang batas RANSAC secara sembarangan memungkinkan titik-titik non-planar ikut tertarik, sehingga mendistorsi H itu sendiri.

  • Asumsi rotasi murni yang tidak berlaku: jika penyambungan gambar dengan tangan mencakup translasi sekecil apa pun, subjek yang lebih dekat akan bergeser lebih banyak, menghasilkan efek bayangan. Menggunakan tripod, atau memutar di dekat pusat optik lensa, lebih disarankan.

  • Konfigurasi degeneratif: jika titik korespondensi terkonsentrasi di sepanjang satu garis dalam gambar atau dalam wilayah yang sempit, matriks DLT menjadi tidak stabil, dan kesalahan meningkat tajam di wilayah ekstrapolasi H — area yang jauh dari titik korespondensi.
  • Pola berulang atau bidang bertekstur rendah: dengan pola berulang seperti lantai keramik atau jendela kisi, deskriptor lokal saja tidak dapat membedakan korespondensi yang benar dari ketidakcocokan yang bergeser satu periode.
  • Ambiguitas dalam dekomposisi: jika K tidak akurat, atau noise besar, mungkin tidak mungkin untuk secara unik memilih solusi yang benar secara fisik di antara beberapa kandidat dari dekomposisi. Selalu kombinasikan ini dengan pengetahuan sebelumnya tambahan (arah normal, kedalaman positif).

9. Ringkasan

Homografi adalah kerangka kerja yang secara tepat merepresentasikan dua situasi terbatas namun sering terjadi secara praktis — korespondensi pada bidang datar, atau kamera yang mengalami rotasi murni — dengan satu matriks 3\times3. Metode DLT adalah titik awal kuadrat terkecil, RANSAC adalah penanggulangan untuk outlier, dan dekomposisi adalah tahap akhir yang mengekstrak rotasi, translasi, dan normal fisik. Yang terpenting adalah menilai kapan homografi adalah model yang tepat, dan kapan Anda harus beralih ke Matriks Fundamental/Esensial — jika batasan itu salah, Anda akan mencoba memulihkan kedalaman yang tidak ada, dalam adegan yang hanyalah bidang datar.

Periksa pemahaman Anda
Bisakah satu homografi menyelaraskan objek pada kedalaman yang berbeda?

Translasi umum meninggalkan paralaks untuk objek di luar bidang datar.

Periksa asumsi planar-scene atau rotasi murni sebelum menggunakan homografi tunggal.

Referensi

What to read next

Review the backgroundPengantar Aliran Optik — Membaca Kecepatan dan Struktur dari Gerakan GambarContinue the seriesGeometri Epipolar — Membaca Kedalaman dan Pergerakan Kamera dari Dua GambarExplore another aspect of this fieldLab kecerahan dan luminans — eksposur, gamma, dan clipping