
Halo, Habr! Hari ini kita akan berbicara tentang salah satu cara untuk meningkatkan kualitas pengeleman panorama. Ada pendekatan yang banyak digunakan untuk menempelkan panorama objek datar, tetapi karena pendekatan ini bukan tanpa kelemahan, kami menawarkan peningkatan kami.
Tugas panning adalah untuk membangun satu gambar komposit berdasarkan pada set gambar sumber (lihat Gambar. 1). Ia menemukan aplikasi dalam memecahkan masalah-masalah praktis seperti:
- membunyikan permukaan bumi dari satelit atau dari drone;
- menempelkan gambar yang diperoleh dengan menggunakan mikroskop;
- menempelkan video;
- Pengambilan gambar resolusi super.
Gambar 1 - Gambar dan Panorama Asli
Secara umum, algoritma perekatan panorama dapat dirumuskan sebagai berikut [1] (lihat Gambar 2). Pada awalnya, diperlukan untuk mengekstraksi sejumlah frame dari aliran video. Ini dapat dilakukan secara online, membaca semua frame secara berurutan dan memilih masing-masing frame dengan frekuensi yang diperlukan.

Gambar 2 - Diagram alir dari algoritma perekatan panorama menggunakan titik khusus
Setelah itu, secara berurutan memilah-milah pasangan gambar dari set, perlu untuk mendeteksi titik tunggal dan menghitung deskriptor mereka pada gambar-gambar ini [2-4]. Titik-titik singular inilah yang memungkinkan untuk membangun korespondensi geometris antara dua bingkai. Berikut ini adalah perbandingan poin tunggal berdasarkan deskriptor mereka. Harus diingat bahwa ini tidak mengecualikan kemungkinan mendapatkan kecocokan palsu.
Selanjutnya, dengan memiliki dua set titik tunggal, seseorang harus menemukan transformasi proyektif yang akan menerjemahkan titik-titik dari satu frame ke titik yang sesuai dari yang lain dengan cara terbaik. Untuk mengatasi masalah ini, pendekatan RANSAC dapat digunakan [5]. Pendekatan ini dijelaskan secara lebih rinci dalam [6, 7]
Untuk mencari transformasi proyektif antara frame, aliran optik juga dapat digunakan, yang sering digunakan dalam tugas menempelkan panorama [8].
Setelah memperoleh serangkaian transformasi proyektif yang diinginkan, prosedur teknis untuk menempelkan gambar berlangsung, yaitu: untuk setiap piksel panorama akhir (x, y) untuk setiap saluran (RGB), rata-rata aritmatika dari intensitas piksel dihitung dengan koordinat (x, y) dari semua bingkai termasuk pixel dengan koordinat tersebut.
Dengan menggunakan metode mencari transformasi projektif, seseorang dapat menentukan perpindahan posisi kamera relatif terhadap posisi sebelumnya di ruang angkasa. Dalam kondisi laboratorium, keakuratan perhitungan data ini cukup untuk membangun panorama objek yang datar. Dalam kondisi nyata, ketika menghitung perpindahan posisi kamera relatif terhadap posisi sebelumnya, kesalahan perhitungan muncul (kesalahan pengukuran / interferensi / batasan yang dikenakan oleh algoritma, dll.). Seiring waktu, kesalahan akumulatif terus meningkat sedemikian rupa sehingga, meskipun akurasi yang dapat diterima untuk menentukan perpindahan antara posisi yang berdekatan, panorama umum objek sudah akan mengandung penyimpangan yang serius (lihat Gambar 3).
Gambar 3 - Kesalahan akumulatif
Kami menetapkan diri kami tujuan mengembangkan metode untuk mencocokkan grafik transformasi projektif untuk tugas panning objek tetap datar yang tahan terhadap masalah akumulasi kesalahan. Tujuan lain adalah mengembangkan metode sedemikian rupa sehingga tidak bergantung pada metode penghitungan parameter transformasi proyektif.
Salah satu syarat yang harus dipenuhi:
- menembak objek pseudo-kaku yang diam;
- menembak objek yang dekat dengan rata dari jarak yang cukup besar;
- untuk semua posisi kamera selama pemotretan, persyaratan dipenuhi: untuk semua titik gambar, sinar yang menghubungkan titik-titik ini dengan fokus kamera tidak saling bertepatan.
Deskripsi algoritma pencocokan grafik transformasi proyeksi
Kami memperkenalkan konsep sistem koordinat tunggal. Dengan sistem koordinat tunggal yang kami maksudkan adalah sistem koordinat di mana titik yang sama dari suatu objek dari gambar yang berbeda akan memiliki koordinat yang sama. Persyaratan ini dapat dinyatakan dengan rumus berikut:
dimana Apakah pemetaan didefinisikan pada bagian umum dari frame dan menerjemahkan titik-titik dari frame pertama ke titik-titik dari frame kedua, - Koordinat titik dalam sistem koordinat frame pertama, - Koordinat titik dalam sistem koordinat frame kedua.
Dalam hal ini saat pemetaan dapat dilanjutkan dengan benar di luar persimpangan frame, kami dapat melengkapi frame kedua dengan informasi dari yang pertama. Dengan demikian, peta yang direkatkan sebagai mosaik dari dua atau lebih bingkai akan diperoleh.
Setelah menemukan transformasi proyektif antara frame yang berdekatan, ada perekatan awal yang menetapkan lokasi unik dari frame dalam sistem koordinat tunggal (lihat Gambar 4).
Gambar 4 - Lokasi jelas dari frame pada peta
Setelah membangun perekatan primer gambar, grafik transformasi projektif dibangun :
dimana - Banyak merangkak poin, yang merupakan simpul dari gambar yang dikoreksi secara proyek; , - Banyak transformasi proyektif antara bingkai; .
Tepi antara simpul dibangun hanya jika bingkai berpotongan setidaknya pada perekatan primer (IoU - Intersection over Union) (lihat Gambar. 5, 6):
Gambar 5 - Area persimpangan bingkai
Ambang batas itu dipilih tergantung pada metode yang digunakan untuk mencari transformasi proyektif dengan menyeimbangkan antara persyaratan tugas mencari transformasi proyektif antara dua frame dan jumlah tepi dan siklus yang diharapkan dalam grafik.
Gambar 6 - Contoh konstruksi grafik
Akibatnya, grafik transformasi proyektif terlihat seperti berikut (lihat Gambar 7):
Gambar 7 - Grafik akhir dari transformasi proyektif
Jika grafik berisi siklus (lihat Gambar 6), maka informasi yang berlebihan muncul di dalamnya, yang mungkin juga mengandung kontradiksi. Untuk menentukan jenis kontradiksi yang mungkin muncul, kami mempertimbangkan siklus grafik tertentu (lihat Gambar 8). Biarkan siklus ini terdiri dari simpul . Kemudian kami memiliki serangkaian pemetaan proyektif di sepanjang siklus ini:
Pertimbangkan komposisi pemetaan ini:
Gambar 8 - Grafik loop
Tampilan harus pemetaan yang identik. Jika pemetaan berbeda dari yang identik, maka kita katakan bahwa suatu kontradiksi diperoleh. Dalam hal ini, siklus akan disebut tidak konsisten . Dengan demikian, ada masalah yang terkait dengan kehadiran siklus tidak konsisten dalam grafik pemetaan projektif, karena dengan sempurna menempelkan kontradiksi dalam grafik transformasi projektif harus absen.
Kami menjelaskan algoritma pencocokan untuk grafik transformasi projektif, mis., Yang cocok dengan semua siklusnya. Untuk meminimalkan kesalahan akumulatif yang terjadi ketika siklus ditutup dalam grafik transformasi projektif, konsep metode SLAM (Simultanous Localization And Mapping) digunakan [9].
Pertimbangkan dalam setiap bingkai empat poin di posisi umum. Biarkan frame diberi nomor dari sebelumnya maka empat poin akan dilambangkan dengan dimana . Seperangkat empat poin secara unik mendefinisikan sistem koordinat tunggal, karena untuk setiap dua frame Anda dapat secara unik menemukan peta projektif yang menerjemahkan satu empat poin ke yang lain.
Untuk menemukan serangkaian merangkak poin yang akan menentukan grafik konsisten yang diinginkan, Anda dapat menggunakan metode kuadrat terkecil. Kami meminimalkan fungsional, yang sama dengan jumlah pada semua tepi dari set masuk hitungan , dan untuk setiap sisi - jumlah empat titik jumlah . Untuk menemukan solusi yang meminimalkan fungsional, diusulkan untuk menggunakan metode gradien konjugat.
Setelah ada transformasi proyektif untuk setiap frame yang secara unik mengatur posisi frame pada peta, Anda bisa mendapatkan gambar panorama.
Hasil percobaan
Sampai saat ini, tidak ada metode universal untuk menilai kualitas perekatan gambar. Sebagai aturan, kualitas perekatan dievaluasi secara organoleptik oleh para ahli, tetapi untuk penelitian ilmiah lebih disukai untuk memiliki penilaian kualitas kuantitatif yang dihitung secara otomatis.
Untuk mengevaluasi kualitas pengeleman tanpa partisipasi ahli manusia, perlu memiliki pengeleman standar yang hasilnya akan dibandingkan. Pendekatan di mana perekatan diperoleh dari video nyata, dan foto seluruh objek dianggap sebagai perekatan standar, memerlukan kondisi laboratorium yang baik menggunakan manipulator yang mampu secara fisik memperbaiki (menggunakan sensor) posisi kamera di ruang angkasa. Namun, metode penilaian kualitas ini mahal.
Dalam [10], untuk mengukur kualitas perekatan panorama, menggunakan gambar beresolusi tinggi, mereka mengusulkan untuk membuat video buatan yang bingkainya secara progresif menyimpang dari gambar asli (lihat Gambar 9). Secara proaktif mendistorsi semua frame kecuali yang pertama, karena sistem koordinat tunggal ditentukan relatif terhadap frame pertama. Selanjutnya, bingkai video buatan ini direkatkan menjadi panorama, yang selanjutnya dibandingkan dengan gambar referensi asli. Dengan pendekatan ini, dimungkinkan untuk menghindari masalah perbedaan kecerahan perekatan yang diperoleh dan referensi, serta distorsi pemandangan.
Gambar 9 - Gambar asli dan bingkai video buatan
Untuk membandingkan kualitas pengeleman sebelum dan setelah menyepakati grafik, sampel uji 50 gambar disiapkan, 50 video buatan dibuat dari gambar asli, sesuai dengan yang pengeleman dilakukan (lihat Gambar 10). Semua panorama yang diperoleh dikurangi menjadi ukuran gambar sumber, dan untuk setiap panorama ukuran kesalahan dihitung:
dimana - Tinggi gambar - lebar gambar - intensitas piksel panorama yang dihasilkan di saluran merah ( - saluran hijau - saluran biru) - intensitas piksel gambar sumber di saluran merah ( - saluran hijau - saluran biru).
Gambar 10 - Panorama sebelum persetujuan grafik (RMSE = 35.3) dan setelah (RMSE = 14.2)
Dalam representasi grafis, RMSE pada set tes terlihat sebagai berikut (lihat Gambar. 11):
Gambar 11 - RMSE pada sampel uji. Frame diurutkan dalam urutan RMSE yang menanjak sampai pencocokan grafik.
Sesuai dengan masing-masing nilai akar dari kesalahan kuadrat rata-rata akar sebelum pencocokan, nilai-nilai akar dari akar kuadrat kesalahan setelah pencocokan grafik disajikan. Nilai median RMSE pada sampel uji sebelum grafik konsisten adalah 35,5 , setelah grafik dicocokkan - 13,9 .
Kesimpulan
Berdasarkan hasil membandingkan kualitas pengeleman, kita dapat menyimpulkan bahwa pencocokan grafik secara signifikan mengurangi akumulasi kesalahan dan meningkatkan kualitas panorama pengeleman. Namun, harus diingat bahwa pencocokan grafik hanya dapat membantu jika ada siklus dalam grafik transformasi projektif. Dengan tidak adanya siklus dalam grafik transformasi projektif, modul pencocokan grafik tidak mengganggu kualitas perekatan panorama.
Perlu dicatat bahwa metode pencocokan grafik ini bekerja dengan seperangkat transformasi projektif, dan cara transformasi projektif ini ditemukan tidak berperan dalam metode ini.
Di masa depan, ini direncanakan untuk mengoptimalkan kompleksitas algoritma, karena hanya berlaku untuk kasus pengguna "offline".
Sastra
[1] Gubin A.Yu., Kovin R.V. Sebuah pendekatan sederhana untuk tugas menempelkan gambar yang tumpang tindih menjadi panorama // Konferensi Internasional Ilmiah dan Praktis Mahasiswa, Mahasiswa Pascasarjana dan Ilmuwan Muda "Teknologi Informasi Pemuda dan Modern", hal. 79-81, 2012.
[2] Drummond T., Rosten E. Machine Learning untuk deteksi sudut berkecepatan tinggi // Konferensi Eropa ke-9 tentang Computer Vision (ECCV), hal. 430-443, 2006.
[3] Lowe DG Fitur Gambar Khas dari Scale-Invariant Keypoints // International Journal of Computer Vision, hal. 91-110, 2004.
[4] Bay H., Ess A., Yuitelaars T., Van Gool L. SURF: Fitur canggih yang dipercepat // Penglihatan Komputer dan Pengertian Gambar, v. 110, hlm. 346-359, 2008.
[5] Martin A. Fischler, Robert C. Bolles. Konsensus sampel acak: Paradigma untuk model yang cocok dengan aplikasi untuk analisis gambar dan kartografi otomatis // Comm. ACM, v. 24, hal. 381-395, 1981.
[6] Arlazarov V.L., Bulatov K.B., Chernov T.S. Metode pencarian gambar fuzzy dalam volume besar data video // Sistem Ketersediaan Tinggi, Vol. 12, No. 1, hal. 53-58, 2016.
[7] Skoryukina N. et al. Snapscreen: Pencarian frame-stream TV dengan query yang terdistorsi dan berisik // Konferensi Internasional ke-9 tentang Visi Mesin (ICMV) - Proc. SPIE V. 10341, P. 103410Y, 2017.
[8] Bouguet JY Implementasi piramidal dari pelacak fitur affine lucas kanade: destription dari algoritma // Intel corporation, V. 5, p. 1-10, 2001.
[9] Newman P., Ho K. SLAM-loop penutupan dengan fitur yang menonjol secara visual // IEEE Proc. Konferensi Internasional tentang Robotika dan Otomasi, hal. 635-642, 2005.
[10] Paalanen P., Kamarainen JK, Kalviainen H. Evaluasi mosaik kuantitatif berbasis gambar dengan video buatan // Konferensi Skandinavia tentang Analisis Gambar, Springer (Berlin, Heidelberg), hlm. 470-479, 2009.