Rumah >Peranti teknologi >AI >Algoritma Ciri Invarian Skala (SIFT).
Algoritma Scale Invariant Feature Transform (SIFT) ialah algoritma pengekstrakan ciri yang digunakan dalam bidang pemprosesan imej dan penglihatan komputer. Algoritma ini telah dicadangkan pada tahun 1999 untuk meningkatkan pengecaman objek dan prestasi pemadanan dalam sistem penglihatan komputer. Algoritma SIFT adalah teguh dan tepat dan digunakan secara meluas dalam pengecaman imej, pembinaan semula tiga dimensi, pengesanan sasaran, penjejakan video dan medan lain. Ia mencapai invarian skala dengan mengesan titik utama dalam ruang skala berbilang dan mengekstrak deskriptor ciri tempatan di sekitar titik utama. Langkah-langkah utama algoritma SIFT termasuk pembinaan ruang skala, pengesanan titik utama, kedudukan titik utama, penetapan arah dan penjanaan deskriptor ciri. Melalui langkah ini, algoritma SIFT boleh mengekstrak ciri yang teguh dan unik untuk mencapai pengiktirafan dan pemadanan imej yang cekap.
Algoritma SIFT mempunyai ciri utama yang tidak berubah kepada perubahan dalam skala, putaran dan kecerahan imej, dan boleh mengekstrak titik ciri yang unik dan stabil untuk mencapai pemadanan dan pengecaman yang cekap. Langkah utamanya termasuk pengesanan nilai ekstrem ruang skala, kedudukan titik utama, peruntukan arah, perihalan dan pemadanan titik utama, dsb. Melalui pengesanan nilai ekstrem ruang skala, algoritma SIFT boleh mengesan titik ekstrem dalam imej pada skala yang berbeza. Dalam peringkat kedudukan titik utama, perkara utama dengan kestabilan dan keunikan ditentukan melalui pengesanan nilai ekstrem tempatan dan penghapusan tindak balas tepi. Peringkat penetapan arah menetapkan arah dominan kepada setiap titik utama untuk meningkatkan invarian putaran perihalan ciri. Peringkat penerangan titik utama menggunakan maklumat kecerunan imej di sekeliling titik utama untuk menjana ciri
1. Skala pengesanan nilai ekstrem ruang
Lakukan pemprosesan ruang skala pada imej asal melalui fungsi perbezaan Gaussian untuk mengesan ekstrem nilai dengan titik skala yang berbeza. Kemudian, pengendali DoG digunakan untuk mengesan titik ekstrem ini, iaitu perbezaan antara dua lapisan bersebelahan imej Gaussian dalam piramid Gaussian dengan skala dan kedudukan ruang yang berbeza dibandingkan untuk mendapatkan titik utama invarian skala.
2. Kedudukan titik utama
Seterusnya, algoritma SIFT memberikan arah kepada setiap titik utama untuk memastikan invarian kepada transformasi putaran. Peruntukan arah menggunakan kaedah statistik histogram kecerunan untuk mengira nilai kecerunan dan arah piksel di sekeliling setiap titik utama, kemudian mengedarkan nilai ini ke histogram kecerunan, dan akhirnya pilih puncak terbesar dalam histogram sebagai titik utama titik utama.
3. Peruntukan arah
Selepas kedudukan titik utama dan peruntukan arah, algoritma SIFT menggunakan deskriptor ciri blok imej tempatan untuk menerangkan ciri serantau bagi setiap titik utama. Deskriptor dibina berdasarkan piksel di sekeliling titik utama untuk memastikan invarian kepada perubahan putaran, skala dan kecerahan. Secara khusus, algoritma SIFT membahagikan blok imej di sekeliling titik utama kepada beberapa sub-rantau, kemudian mengira magnitud kecerunan dan arah piksel dalam setiap sub-rantau, dan membina vektor ciri 128 dimensi untuk menerangkan ciri-ciri tempatan bagi perkara utama.
4. Penerangan dan pemadanan perkara utama
Akhir sekali, algoritma SIFT melakukan pemadanan imej dengan membandingkan vektor ciri titik utama dalam kedua-dua imej. Secara khusus, algoritma menilai persamaan antara dua vektor ciri dengan mengira jarak Euclidean atau persamaan kosinus, dengan itu mencapai padanan ciri dan pengecaman sasaran.
Algoritma SIFT melakukan pemprosesan ruang skala pada imej asal melalui fungsi perbezaan Gaussian untuk mengesan titik ekstrem dengan skala berbeza. Secara khusus, algoritma SIFT merealisasikan transformasi skala imej dengan membina piramid Gaussian, iaitu, secara berterusan berbelit dan menurunkan sampel imej asal untuk mendapatkan satu siri imej Gaussian dengan skala yang berbeza. Kemudian, titik utama skala-invarian diperoleh dengan melakukan operasi perbezaan, iaitu, pengendali DoG, pada dua lapisan bersebelahan imej Gaussian.
Sebelum menjalankan operasi pengendali DoG, adalah perlu untuk menentukan bilangan lapisan piramid Gaussian dan skala setiap lapisan imej. Algoritma SIFT biasanya membahagikan piramid Gaussian kepada beberapa lapisan, dan saiz setiap imej lapisan adalah separuh daripada imej lapisan sebelumnya Ini memastikan bahawa perubahan skala imej tidak akan menjejaskan pengesanan titik utama. Untuk setiap lapisan imej, algoritma SIFT juga memilih berbilang skala untuk mengesan titik utama pada skala yang berbeza.
Setelah menentukan bilangan lapisan piramid Gaussian dan skala setiap lapisan imej, algoritma SIFT akan mencari titik ekstrem pada setiap lapisan imej, iaitu 26 piksel di sekeliling setiap piksel piramid Gaussian dalam lapisan itu Antara titik, cari nilai maksimum atau minimum dan bandingkan dengan titik piksel yang sepadan dalam dua lapisan bersebelahan piramid Gaussian untuk menentukan sama ada titik itu adalah titik ekstrem dalam ruang skala. Ini membolehkan perkara utama dengan kestabilan dan keunikan dikesan dalam imej skala yang berbeza. Perlu diingatkan bahawa algoritma SIFT juga akan melakukan beberapa penapisan bagi titik ekstrem yang dikesan, seperti mengecualikan kontras rendah dan titik tepi.
Selepas menentukan lokasi titik utama, algoritma SIFT juga akan melaksanakan penentududukan titik utama dan penetapan arah untuk memastikan invarian kepada transformasi putaran. Khususnya, algoritma SIFT mengira nilai kecerunan dan arah piksel di sekeliling setiap titik utama dan memberikan nilai ini kepada histogram kecerunan. Kemudian, algoritma SIFT akan memilih puncak terbesar dalam histogram sebagai arah utama titik utama dan menggunakannya sebagai arah titik. Ini memastikan bahawa titik utama adalah invarian secara bergilir dan menyediakan maklumat arah untuk penerangan ciri berikutnya.
Perlu diambil perhatian bahawa pengesanan dan kedudukan titik utama dalam algoritma SIFT adalah berdasarkan piramid Gaussian dan pengendali DoG, jadi algoritma mempunyai keteguhan yang baik terhadap perubahan dalam skala imej. Walau bagaimanapun, algoritma SIFT mempunyai kerumitan pengiraan yang tinggi dan memerlukan sejumlah besar operasi lilitan dan perbezaan imej Oleh itu, pengoptimuman dan pecutan tertentu diperlukan dalam aplikasi praktikal, seperti menggunakan imej bersepadu dan teknologi penapis pantas.
Secara amnya, algoritma SIFT, sebagai algoritma pengekstrakan ciri yang berkesan, mempunyai keteguhan dan ketepatan yang kuat, dan boleh mengendalikan transformasi seperti skala, putaran dan kecerahan secara berkesan dalam imej, dengan itu mencapai padanan dan pengecaman imej yang cekap . Algoritma ini telah digunakan secara meluas dalam bidang penglihatan komputer dan pemprosesan imej, memberikan sumbangan penting kepada pembangunan sistem penglihatan komputer.
Atas ialah kandungan terperinci Algoritma Ciri Invarian Skala (SIFT).. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!