Pemasangan Permukaan Implisit ke Set Titik Berorientasi

13

Saya punya pertanyaan tentang quadric fit untuk satu set poin dan normals yang sesuai (atau setara, tangen). Pemasangan permukaan kuadrat ke titik data dieksplorasi dengan baik. Beberapa karya adalah sebagai berikut:

Menyesuaikan dengan kontur proyektif juga dicakup oleh beberapa karya, seperti yang ini .

Dari semua karya ini, saya pikir metode Taubin untuk pemasangan Quadric cukup populer:

Biarkan saya meringkas secara singkat. Kuadrat Q dapat ditulis dalam bentuk aljabar:

f(c,x)=Ax2+By2+Cz2+2Dxy+2Exz+2Fyz+2Gx+2Hy+2Iz+J
mana c adalah vektor koefisien danx adalah koordinat 3D. Setiap titikx terletak pada kuadratQ jikaxTQx=0 , di mana:
Q=[ADEGDBFHEFCIGHIJ]

Aljabar Fit Pada prinsipnya, kami ingin menyelesaikan parameter yang meminimalkan jumlah jarak geometrik kuadrat antara titik dan permukaan kuadratik. Sayangnya, ternyata ini adalah masalah optimisasi non-cembung tanpa solusi analitis yang diketahui. Sebaliknya, pendekatan standar adalah untuk menyelesaikan kecocokan aljabar, yaitu untuk memecahkan parameter c yang meminimalkan:

i=1nf(c,xi)2=cTMc
dengan
M=i=1nl(xi)l(xi)T
mana{xi}adalah poin di awan titik dan
l=[x2,y2,z2,xy,xz,yz,x,y,z,1]T

Perhatikan bahwa minimalisasi langsung seperti itu akan menghasilkan solusi sepele dengan c pada titik asal. Pertanyaan ini telah dipelajari secara luas dalam literatur. Salah satu resolusi yang telah terbukti bekerja dengan baik dalam praktik adalah metode Taubin (dikutip di atas), memperkenalkan batasan:

xf(c,xi)2=1

Ini dapat dipecahkan sebagai berikut: Misalkan: mana subskrip menunjukkan turunan. Solusi diberikan oleh dekomposisi Eigen umum, . Vektor parameter yang paling cocok sama dengan vektor Eigen yang sesuai dengan nilai Eigen terkecil.

N=i=1nlx(xi)lx(xi)T+ly(xi)ly(xi)T+lz(xi)lz(xi)T
(MλN)c=0

Pertanyaan Utama Dalam banyak aplikasi, normals dari point cloud tersedia (atau dihitung). Normal dari quadric juga dapat dihitung dengan membedakan dan menormalkan permukaan implisit:N(x)

N(x)=f(c,x)f(c,x)
mana
f(c,x)=2[Ax+Dy+Fz+GBy+Dx+Ez+HCz+Ey+Fx+I]

Namun, metode Taubin hanya menggunakan titik geometri, dan bukan ruang singgung. Dan saya tidak mengetahui banyak metode, yang cocok untuk pas kuadrat sedemikian rupa sehingga garis singgung kuadrat juga cocok dengan garis singgung awan titik yang mendasarinya. Saya mencari ekstensi potensial dari metode di atas, atau yang lain untuk mencakup turunan orde pertama ini.

Apa yang ingin saya capai mungkin ditangani sebagian dalam ruang dimensi yang lebih rendah, dengan tipe permukaan (kurva) yang lebih primitif. Misalnya, menyesuaikan garis ke tepi gambar, dengan mempertimbangkan informasi gradien dibahas di sini . Pas pesawat (jenis sederhana kuadrat) ke awan 3D sangat umum ( tautan 1 ) atau pas bola atau silinder dapat disesuaikan dengan set titik berorientasi ( tautan 2 ). Jadi yang saya ingin tahu adalah sesuatu yang serupa, tetapi primitif yang dipasang adalah kuadrat.

Saya juga akan menyambut baik analisis metode yang diusulkan seperti:

  • Berapa jumlah minimum titik orientasi yang diperlukan?
  • Apa saja kasus yang merosot?
  • Adakah yang bisa dikatakan tentang ketahanan?

Pembaruan : Saya ingin menyajikan arahan untuk diikuti. Secara formal, apa yang ingin saya capai:

fn=0
pada titik . Mungkin mungkin untuk menggabungkannya dengan metode Taubin untuk menghasilkan kendala tambahan dan meminimalkan menggunakan pengganda Lagrange?x

Tolga Birdal
sumber
Tidak banyak elemen Q yang salah posisikan dalam Q?
Museful
Anda benar, dan saya sekarang sudah memperbaikinya.
Tolga Birdal

Jawaban:

5

Saya terkejut karena tidak menerima jawaban yang memuaskan untuk pertanyaan di atas dan penyelidikan saya menunjukkan kepada saya bahwa ini memang area yang belum dijelajahi. Oleh karena itu, saya berupaya mengembangkan solusi untuk masalah ini, dan menerbitkan manuskrip berikut:

T. Birdal, B. Busam, N. Navab, S. Ilic dan P. Sturm. "Pendekatan Minimalis untuk Deteksi Quadric Agnostik Tipe di Awan Titik." Prosiding Konferensi IEEE tentang Visi Komputer dan Pengenalan Pola. 2018. http://openaccess.thecvf.com/content_cvpr_2018/html/Birdal_A_Minimalist_Approach_CVPR_2018_paper.html

T. Birdal, B. Busam, N. Navab, S. Ilic dan P. Sturm, "Deteksi Primitif Generik di Awan Titik Menggunakan Novel Minimal Quadric Fits," dalam Transaksi IEEE tentang Analisis Pola dan Kecerdasan Mesin. https://arxiv.org/abs/1901.01255

Secara singkat saya akan menyentuh ide utama di sini:

Pendekatan ini mirip dengan pas gradien-satu ( ). Kami menyelaraskan vektor gradien kuadrat dengan normal dari titik cloud . Namun, tidak seperti cocok, kami memilih untuk menggunakan batasan linier untuk meningkatkan peringkat daripada mengatur solusi. Ini tampaknya non-sepele karena penyelarasan vektor-vektor membawa kendala non-linear salah satu dari bentuk: 1Q(xi)niR31

Q(xi)Q(xi)ni=0orQ(xi)Q(xi)ni=1.
Non-linearitas disebabkan oleh normalisasi karena sulit untuk mengetahui besarnya dan dengan demikian skala homogen di muka. Kami memecahkan masalah ini dengan memperkenalkan skala homogen normal antara yang tidak diketahui dan menulis: mana Menyusun ini untuk semua poin dan normals mengarah ke sistem formulir : αi
Q(xi)=viTq=αini
v=[x2y2z22xy2xz2yz2x2y2z1]T
NxiniAq=0
[v1T000v2T000vnT000v1Tn10303v2T03n203vnT0303nn][ABIJα1α2αn]=0
- \ mathbf {n} _n \ end {bmatrix} \ begin {bmatrix} A \\ B \\ \ vdots \\ I \\ J \\ \ alpha_1 \\ \ alpha_2 \\ \ vdots \\ \ alpha_n \ end { bmatrix} = \ mathbf {0} \ end {persamaan} di mana , adalah aviT=v(xi)TR3×10033×1 vektor vektor nol, adalah dan adalah skala homogen yang tidak diketahui.A4N×(N+10)α={αi}

Sementara solusi dari formulasi ini terletak pada ruang nol dari menghasilkan hasil yang dapat diterima, sistem ini cukup tidak dibatasi dalam apa yang bisa dilakukannya (faktor skala terlalu bebas). Lebih baik untuk menemukan regulator yang tepat yang juga tidak terlalu rumit untuk diterapkan. Dalam praktiknya, sekali lagi analog dengan pas gradien-satu, kita bisa lebih suka gradien polinomial unit-norma, dan dengan demikian, dapat menulis atau ekivalen , satu faktor skala umum. Kendala lembut iniAαi=1αiα¯akan mencoba untuk memaksa set nol polinomial menghormati kesinambungan data lokal. Regulatorisasi seperti itu juga menyelamatkan kita dari penyelesaian sistem homogen yang sensitif, dan memungkinkan kita menulis ulang sistem dalam bentuk yang lebih ringkas :Aq=n

[x12y12z122x1y12x1z12y1z12x12y12z11x22y22z222x2y22x2z22y2z22x22y22z212x1002y12z10200002y102x102z10200002z102x12y100202x2002y22z20200002y202x202z20200002z202x22y20020][ABCDEFGHIJ]=[00nx1ny1nz1nx2ny2nz2]

Secara keseluruhan, menyelesaikan sistem persamaan ini secara simultan akan memandu kuadrat untuk menjadi insiden ke awan titik sambil menyelaraskan gradiennya terhadap normals. Dimungkinkan juga untuk menimbang kontribusi poin dan normal secara berbeda. Dalam kasus-kasus tertentu, untuk mendapatkan kecocokan jenis-spesifik, desain ulang minor disesuaikan dengan kecukupan primitif yang diinginkan. Untuk semua perincian ini serta beberapa analisis teoretis dan kode semu, saya merujuk Anda ke publikasi yang disebutkan di atas.A

Tolga Birdal
sumber
Ini bagus! Bagaimana seseorang akan memodifikasi A untuk mempertimbangkan kontribusi relatif dari poin dan normal secara berbeda?
Museful
Cukup gandakan baris pertama yang merupakan titik-persamaan, dengan bobot yang diinginkan. Secara opsional, untuk skala baris yang sesuai dengan normals, kita juga perlu skala sisi kanan persamaan: . n
Tolga Birdal
Terima kasih. Bukankah simbol transpos harus dihapus dari q dan n dalam persamaan terakhir?
Museful
Terima kasih lagi. Dihapus mereka.
Tolga Birdal
1

Saya tahu satu contoh di mana normals telah dimasukkan dalam prosedur pemasangan. Ini bukan pas quadric langsung sekalipun. Patch yang diparameterisasi secara lokal dipasang ke titik dan normal. Menggunakan norma memberikan lebih banyak persamaan dalam masalah pemasangan, memungkinkan polinomial orde tinggi untuk digunakan.

  1. Algoritma cubic-order novel untuk mendekati vektor arah utama
Abhilash Reddy M
sumber