Apa saja alternatif gratis untuk SIFT / SURF yang dapat digunakan dalam aplikasi komersial?

66

Sejauh yang saya mengerti, baik SURF dan SIFT dilindungi paten.
Apakah ada metode alternatif yang dapat digunakan dalam aplikasi komersial secara bebas?

Untuk info lebih lanjut tentang paten, periksa: http://opencv-users.1802565.n2.nabble.com/SURF-protected-by-patent-td3458734.html

Andrey Rubshtein
sumber
7
Ingat mereka hanya dipatenkan di negara-negara yang memungkinkan paten perangkat lunak - yang belum (belum) memasukkan Eu
Martin Beckett
1
@ MartinBeckett, apakah itu mencakup pengembangan, penyebaran, atau keduanya?
Andrey Rubshtein
2
itulah hal yang rumit tentang paten perangkat lunak. Suatu paten menghentikan pembuatan atau penjualan di suatu negara tetapi bukan penelitian atau pengembangan. Sekarang apa pengembangan perangkat lunak?
Martin Beckett
Apa sebenarnya yang dipatenkan dalam SIFT? SIFT memiliki tiga tahap: (i) Konstruksi ruang skala, (ii) Detektor Keypoint dan (iii) generator deskriptor. Perasaan saya adalah bahwa hanya Generator Deskripsi yang dipatenkan. Apakah saya benar? Terima kasih
Ini bukan jawaban untuk pertanyaan yang diajukan, dan karena itu termasuk dalam komentar daripada jawaban.
ThP

Jawaban:

62

Baik SIFT dan SURF penulis memerlukan biaya lisensi untuk penggunaan algoritma asli mereka.

Saya telah melakukan beberapa penelitian tentang situasi dan berikut adalah alternatif yang mungkin:

Detektor keypoint:

  • Detektor sudut Harris
  • Harris-Laplace - versi skala-invarian dari detektor Harris (versi invarian affine juga ada, disajikan oleh Mikolajczyk dan Schmidt, dan saya percaya juga bebas paten).
  • Multi-Scale Oriented Patches (MOPs) - walaupun sudah dipatenkan, detektor pada dasarnya adalah multi-skala Harris, jadi tidak akan ada masalah dengan itu (deskriptornya adalah patch gambar 2D-wavelet-transformed)
  • Filter LoG - karena SIFT yang dipatenkan menggunakan pendekatan DoG (Difference of Gaussian) dari LoG (Laplacian of Gaussian) untuk melokalisasi poin minat dalam skala, LoG sendiri dapat digunakan dalam modifikasi, algoritma bebas paten, sulit implementasi bisa berjalan sedikit lebih lambat
  • CEPAT
  • BRISK (termasuk deskriptor)
  • ORB (termasuk deskriptor)
  • KAZE - bebas untuk digunakan, deskriptor M-SURF (dimodifikasi untuk ruang skala nonlinear KAZE), mengungguli SIFT dan SURF
  • A-KAZE - versi dipercepat KAZE, bebas untuk digunakan, deskriptor M-LDB (deskriptor biner cepat yang dimodifikasi)

Deskriptor keypoint:

  • Gradien yang dinormalkan - solusi sederhana dan berfungsi
  • PCA mentransformasikan gambar patch
  • Patch gambar hasil transformasi wavelet - detail diberikan dalam kertas MOP, tetapi dapat diimplementasikan secara berbeda untuk menghindari masalah paten (misalnya menggunakan dasar wavelet yang berbeda atau skema pengindeksan yang berbeda)
  • Histogram gradien berorientasi
  • GLOH
  • LESH
  • CEPAT
  • BOLA
  • ANEH
  • LDB

Perhatikan bahwa jika Anda menetapkan orientasi ke titik bunga dan memutar tambalan gambar yang sesuai, Anda mendapatkan invarian rotasi secara gratis. Bahkan sudut-sudut Harris adalah invarian rotarial dan deskriptor dapat dibuat demikian juga.

Beberapa solusi yang lebih lengkap dilakukan di Hugin, karena mereka juga berjuang untuk memiliki detektor titik bebas paten.

Libor
sumber
Terima kasih atas jawaban anda. Apakah mereka menginginkan royalti?
Andrey Rubshtein
1
Ya, keduanya menginginkan biaya royalti. Harga perlu dinegosiasikan, tetapi harganya sekitar 20.000 USD / tahun dan biaya royalti sekitar 5%. MOP sekarang dipatenkan oleh Microsoft (Saya sudah menghubungi Richard Szeliski untuk informasi lebih lanjut mengenai paten).
Libor
1
Paten pada prinsipnya bersifat publik, jadi jika Anda ingin tahu lebih banyak tentangnya, cari di database paten (mis . Basis Data Eropa .
Geerten
Apakah salah satu dari deskriptor kunci kunci itu tidak berubah?
Diego
1
Harris-Laplace adalah skala-invarian. Atau Anda dapat membuat detektor skala-invarian lainnya dengan menyaring maksimal skala ruang dan menghitung skala karakteristik untuk setiap titik yang terdeteksi.
Libor
26

Ada metode yang relatif baru, Anda mungkin ingin melihat ke dalam: BRISK , Bypass Robust Invariant Scalable Keypoints:

Dalam makalah ini kami mengusulkan BRISK, metode baru untuk deteksi, deskripsi, dan pencocokan titik kunci. Evaluasi komprehensif pada dataset benchmark mengungkapkan kinerja BRISK yang adaptif dan berkualitas tinggi seperti dalam algoritma canggih, meskipun dengan biaya komputasi yang jauh lebih rendah (urutan besarnya lebih cepat daripada SURF dalam kasus). Kunci kecepatan terletak pada penerapan detektor FAST berbasis skala ruang-ruang dalam kombinasi dengan perakitan deskriptor bit-string dari perbandingan intensitas yang diambil dengan pengambilan sampel khusus dari masing-masing lingkungan keypoint.

Ini bebas paten dan gratis untuk digunakan (seperti yang dikatakan oleh penulis algoritma).

Geerten
sumber
12

Jangan percaya siapa pun di sini, bicarakan dengan pengacara. Dunia hukum agak berbeda dari kita, kalau boleh saya katakan. Bergantung pada apa yang ingin Anda lakukan (dan di mana, dll.), Mungkin ada solusi di mana Anda bisa menggunakan SURF atau SIFT. Saya terkejut di masa lalu bagaimana lisensi yang tampaknya kuat dapat diatasi.

Matthias Odisio
sumber
8

Saya lebih suka melihat ke KAZE / AKAZE, yang berkinerja sama baiknya dengan kecepatan yang signifikan. Kasus deformasi juga dapat ditoleransi. OpenCV baru-baru ini mendapatkan implementasi melalui GSoC 2014. Anda dapat menemukannya di sini . Tutorial OpenCV-nya juga hadir di sini .

Tolga Birdal
sumber
Terima kasih. KAZE terlihat menjanjikan - ia memiliki kinerja keseluruhan yang lebih baik daripada SIFT / SURF. Meskipun perhitungan skala skala nonlinier mungkin sulit untuk diterapkan, itu mungkin sepadan dengan usaha.
Libor