Saya mengembangkan Augmented Reality SDK di OpenCV. Saya memiliki beberapa masalah untuk menemukan tutorial tentang topik tersebut, langkah-langkah mana yang harus diikuti, algoritma yang mungkin, pengkodean yang cepat dan efisien untuk kinerja waktu nyata, dll.
Sejauh ini saya telah mengumpulkan informasi berikutnya dan tautan berguna.
Instalasi OpenCV
Unduh versi rilis terbaru .
Anda dapat menemukan panduan instalasi di sini (platform: linux, mac, windows, java, android, iOS).
Dokumentasi online .
Realitas Tertambah
Untuk pemula, berikut adalah kode augmented reality sederhana di OpenCV. Ini awal yang bagus.
Bagi siapa pun yang mencari SDK canggih yang dirancang dengan baik, saya menemukan beberapa langkah umum yang harus dimiliki oleh setiap augmented-reality berdasarkan pelacakan penanda, dengan mempertimbangkan fungsi OpenCV.
Program utama: membuat semua kelas, inisialisasi, menangkap bingkai dari video.
Kelas AR_Engine: Mengontrol bagian-bagian dari aplikasi augmented reality. Harus ada 2 status utama:
- deteksi : mencoba mendeteksi penanda di tempat kejadian
- pelacakan : setelah terdeteksi, gunakan teknik komputasi yang lebih rendah untuk menelusuri penanda dalam bingkai yang akan datang.
Juga harus ada beberapa algoritma untuk menemukan posisi dan orientasi kamera di setiap frame. Ini dicapai dengan mendeteksi transformasi homografi antara penanda yang terdeteksi di tempat kejadian, dan gambar 2D dari penanda yang telah kami proses secara offline. Penjelasan metode ini di sini (halaman 18). Langkah utama untuk Estimasi Pose adalah:
Memuat Parameter Intrinsik kamera . Sebelumnya diekstraksi secara offline melalui kalibrasi.
Muat pola (penanda) untuk dilacak: Ini adalah gambar penanda planar yang akan kita lacak. Perlu untuk mengekstrak fitur dan menghasilkan deskriptor ( keypoints ) untuk pola ini sehingga nanti kita dapat membandingkan dengan fitur dari tempat kejadian. Algoritma untuk tugas ini:
Untuk setiap pembaruan bingkai, jalankan algoritme deteksi untuk mengekstrak fitur dari tempat kejadian dan buat deskriptor. Sekali lagi kami memiliki beberapa opsi.
Temukan kecocokan antara pola dan deskriptor adegan.
Temukan matriks Homografi dari kecocokan tersebut. RANSAC dapat digunakan sebelumnya untuk menemukan inlier / outlier dalam set pertandingan.
Ekstrak Pose Kamera dari homografi.
- Contoh kode pada Pose from Homography .
- Kode sampel pada Homografi dari Pose .
Contoh lengkapnya:
sumber
Jawaban:
Karena aplikasi AR sering berjalan di perangkat seluler, Anda juga dapat mempertimbangkan pendeteksi / deskriptor fitur lainnya:
sumber
Umumnya, jika Anda dapat memilih penanda, pertama-tama Anda mendeteksi target persegi menggunakan detektor tepi dan kemudian Hough atau hanya kontur - kemudian identifikasi penanda tertentu dari desain internal. Daripada menggunakan pencocok titik umum.
Lihatlah Aruco untuk kode contoh yang ditulis dengan baik.
sumber