Isi kandungan:

Pembinaan Semula 3D Dari Satu Foto: 8 Langkah
Pembinaan Semula 3D Dari Satu Foto: 8 Langkah

Video: Pembinaan Semula 3D Dari Satu Foto: 8 Langkah

Video: Pembinaan Semula 3D Dari Satu Foto: 8 Langkah
Video: Setan ko bisa shalat. Shalat nya aneh. Wkwkwkwk. 2024, Julai
Anonim
Pembinaan Semula 3D Dari Satu Foto
Pembinaan Semula 3D Dari Satu Foto
Pembinaan Semula 3D Dari Satu Foto
Pembinaan Semula 3D Dari Satu Foto

Tugas pembinaan semula 3D biasanya dikaitkan dengan penglihatan binokular. Sebagai alternatif, anda boleh menggerakkan satu kamera di sekeliling objek. Sementara itu, jika bentuk objek diketahui, tugas itu dapat diselesaikan dari satu foto. Anda hanya mempunyai satu kamera dan tidak bergerak. Mari lihat bagaimana melakukannya langkah demi langkah. Kami akan menggunakan Rubik's Cube kerana diseragamkan dengan baik dan mempunyai banyak ciri. Ia boleh dianggap sebagai objek yang sangat sederhana dan pada masa yang sama konstruk yang rumit. Oleh itu, penglihatan mesin mesti mengatasi halangan besar untuk menyelesaikan tugas.

Langkah 1: Nilai Kerumitan Tugas

Menilai Kerumitan Tugas
Menilai Kerumitan Tugas
Menilai Kerumitan Tugas
Menilai Kerumitan Tugas
Menilai Kerumitan Tugas
Menilai Kerumitan Tugas
Menilai Kerumitan Tugas
Menilai Kerumitan Tugas

Pada pandangan pertama, tugasnya mudah. Cari simpul pusat di mana 3 tepi kubus bersatu dan lukiskan tepi ini. Dari koordinatnya, adalah mungkin untuk mengira jarak dari kamera dan sudut putaran. Masalahnya ialah garis-garis ini tidak wujud. Dari gambar sebelah kiri anda melihat bahawa setiap tepi diwakili oleh 2 garis selari. Selanjutnya, gambar kanan atas menunjukkan bahawa masing-masing dibahagikan kepada 3 segmen. Lebih-lebih lagi, jika kita menerapkan varian transformasi Hough yang popular yang dapat mengesan segmen garis, ia melakukan tugas dengan beberapa kesalahan yang membuat pengesanan simpul pusat tidak mungkin dilakukan. Sekiranya hujungnya tidak saling menyentuh, tidak ada satu pun titik. Sekiranya pengesanan melampaui ujungnya, ia akan kelihatan seperti simpul di tengah tepi seperti yang anda lihat pada 2 gambar yang tinggal.

Langkah 2: Cari Pendekatan yang Betul

Cari Pendekatan yang Betul
Cari Pendekatan yang Betul

Apabila terlalu banyak perincian menjadikan algoritma deterministik tidak dapat dilaksanakan, sudah tiba masanya untuk mempertimbangkan pendekatan probabilistik. Sekiranya kita mengira parameter rata-rata gambar, kesalahannya akan berkurang secara substansial dan secara paradoks kaedahnya akan menjadi lebih dipercayai. Transformasi Hough standard tidak mengeluarkan segmen garis. Hanya lereng theta dan jarak rho dari asal koordinat. Mereka membentuk bahagian ruang Hough yang ditunjukkan di atas. Di sini theta sepadan dengan paksi mendatar. Titik terang menandakan kemungkinan garis pada gambar. Perhatikan bahawa beberapa tempat tersebut terletak di atas satu sama lain. Tidak hairanlah, pada gambar kita terdapat banyak garis selari. Mereka mempunyai theta yang sama dan berbeza rho.

Langkah 3: Kira Histogram Theta

Kira Histogram Theta
Kira Histogram Theta

Mari kita mengesan kelompok tersebut. Untuk tujuan ini kami akan meringkaskan bacaan untuk semua titik di ruang Hough dengan theta yang sama. Anda melihat histogram yang sesuai pada ilustrasi. Beberapa nota mengenai pengukuran. Apabila anda bekerja dengan gambar dalam koordinat piksel, paksi X berjalan seperti biasa, tetapi Y menunjuk ke bawah sehingga asal koordinat adalah sudut kiri atas dan theta harus diukur dari paksi X mengikut arah jam. Perlu diingat bahawa keseluruhan sapuan theta pada gambar adalah 180 darjah, anda boleh memeriksa bahawa 3 puncak utama mewakili 3 lereng yang dominan pada gambar.

Langkah 4: Kira Histogram Rho

Kira Histogram Rho
Kira Histogram Rho

Setelah kita mengetahui 3 kelompok utama garis selari, mari kita asingkan garis di dalam masing-masing. Kita boleh mengulangi pendekatan yang sama. Mari ambil lajur dari ruang Hough yang sesuai dengan satu puncak pada histogram theta. Seterusnya, kita akan mengira histogram lain di mana paksi X mewakili nilai rho dan bacaan Y - ringkasan untuk rho ini. Jelas, jumlahnya akan lebih sedikit sehingga carta ini tidak begitu lancar. Walaupun begitu, puncaknya dapat dilihat dengan jelas dan jumlahnya (7) sama dengan bilangan garis selari pada gambar sumber. Malangnya, tidak semua carta begitu sempurna, tetapi prinsipnya jelas.

Langkah 5: Cari Pusat Simpulan

Cari Simpul Pusat
Cari Simpul Pusat

Sekiranya kita mengambil puncak tengah histogram rho untuk setiap theta, kita akan mendapat 3 garis yang berwarna merah pada gambar. Persimpangan mereka menandakan titik yang perlu.

Langkah 6: Pilih Dari 2 Alternatif

Pilih Dari 2 Altern-t.webp
Pilih Dari 2 Altern-t.webp
Pilih Dari 2 Altern-t.webp
Pilih Dari 2 Altern-t.webp

Anda melihat bahawa setiap baris bergerak dari titik tengah di kedua arah. Bagaimana menentukan separuh yang betul? Mari ambil theta3. Katakan kita mengambil bahagian bawah garis ini. Mari kita mengira satu lagi ruang Hough hanya untuk bahagian gambar dari 2 garis hijau ke sudut kanan atas gambar. Kemudian buat histogram theta untuknya. Anda melihat bahawa puncak ketiga hilang sepenuhnya sehingga kami telah membuat pilihan yang tepat.

Langkah 7: Tentukan Sudut Luaran

Tentukan Sudut Luaran
Tentukan Sudut Luaran

Sekarang kita dapat menggunakan puncak pertama dan terakhir pada histogram rho untuk menggambar garis biru yang memotong tepi merah dan menandakan sudut selebihnya. Tugas itu diselesaikan.

Langkah 8: Cubalah dalam Latihan

Ilustrasi untuk Instructable ini dibuat menggunakan Perception 1.0. Ini adalah perisian percuma yang menggunakan OpenCV - perpustakaan yang kuat untuk penglihatan komputer. Juga boleh dihubungkan dengan WinNB yang digunakan dalam instruksiku yang lain sehingga memberikan kemampuan penglihatan untuk robotik. Anda boleh memuat turun kedua-dua program dari nbsite. Untuk pemasangan, jalankan fail exe yang dimuat turun. Kemudian, anda boleh membuangnya menggunakan alat standard Windows. Laman web ini juga mengandungi sumber mengenai penglihatan komputer dan topik yang berkaitan. Dalam Persepsi, anda akan menemui kaedah rekonstruksi 3D yang dijelaskan dan juga kaedah lain. Kelebihan program ini ialah menghasilkan hasil akhir bersama dengan data perantaraan. Anda dapat meneliti bagaimana penglihatan komputer berfungsi tanpa menjadi pengaturcara. Sebagai input, setiap kaedah telah memilih sampel khas. Sudah tentu, anda juga boleh menggunakan sendiri. Adalah mungkin untuk memasukkan gambar dari fail atau dari kamera komputer. Jangan ragu untuk menghubungi saya dengan sebarang pertanyaan atau cadangan.

Disyorkan: