Wie in OpenCV 2.4.9.0 bekannt, sind diese Feature-Detektoren: SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB
.
Alle haben eine Implementierung auf der CPU, aber nur FAST
und ORB
auf der GPU. Ссылка
Und wie bekannt, sind einige skalieren / rotieren-invariant, aber einige sind nicht: Gibt es für die skaleninvariante Merkmalsextraktion schnelle Alternativen zu SURF und SIFT?
Diese sind skaleninvariant und rotationsinvariant:
Aber diese sind nicht skaleninvariant und nicht rotationsinvariant:
Gibt es Detektoren, die auf GPU implementiert sind und skalieren / rotieren-invariant sind?
Oder wird in OpenCV 3.0 auf GPU oder OpenCL hinzugefügt?
Tatsächlich ist SURF der einzige scale / rotate-invariante Feature-Detektor mit GPU-Unterstützung in OpenCV.
In OpenCV 3.0 FAST und ORB haben OCL-Unterstützung und außerdem diese beiden (FAST und ORB ) haben bereits CUDA-Unterstützung.
Die OCL / CUDA-Unterstützung von SURF wurde bereits erwähnt in den Kommentaren Ihrer Frage, aber es ist nur ein Beitrag zu OpenCV und das ist, wie OpenCV-Entwickler über opencv_contrib :
Neue Module haben oft keine stabile API, und das sind sie nicht gut getestet. Daher sollten sie nicht als Teil von offiziellen veröffentlicht werden OpenCV-Verteilung, da die Bibliothek Binärkompatibilität beibehält, und versucht, anständige Leistung und Stabilität bereitzustellen.
Aufgrund meiner früheren Erfahrungen war OpenCVs Implementierung von SURF-Funktionen viel schwächer als OpenSURF . Es wäre vernünftig, es zu versuchen oder einige andere Open-Source-Implementierungen zu finden.
ps .: meines Wissens gibt es noch keine GPU-beschleunigte Version von KAZE / AKAZE .
Ich habe kürzlich AKAZE mit CUDA mit ein paar Kollegen implementiert, wenn Sie mit der ursprünglichen Bibliothek vertraut sind, sollten Sie kein Problem damit haben, da wir die API respektieren. Sie können die aktuelle Version hier finden:
Tags und Links opencv feature-detection computer-vision feature-extraction orb