SIFT no me pareció tan robusto para detectar un objeto tan deformado y generalmente ocluido como un logotipo.
¿Consideraría usar Modelos de piezas deformables (DPM) propuestos por Pedro Felzenswalb?
Los modelos de piezas deformables modelan un objeto como la suma de las deformaciones geométricas del mismo. Así que tome el modelo de persona, por ejemplo:
- ¿Qué debo hacer cuando tengo una cita con las características NULL?
- ¿Cuál es más adecuado para un aprendizaje automático de codificador o desarrollo web?
- ¿A qué áreas de investigación y aplicaciones se aplica con éxito el aprendizaje automático bayesiano?
- ¿Qué es la regresión logística?
- Con el desarrollo de marcos informáticos escalables como TensorFlow y Spark, ¿seguirán siendo relevantes los marcos de una sola máquina? NumPy podría ser solo API.
Una persona es un objeto absolutamente deformable ya que tendemos a mover las partes de nuestro cuerpo, sin embargo, esto no nos hace menos humanos (una geometría menos rígida :))
En su caso, los logotipos están deformados por las personas que lo usan, por lo que creo que se puede aplicar una intuición similar aquí.
El documento está aquí: Modelos de piezas deformables discriminadamente capacitados (Versión 5)
Si tiene problemas de escala y desea evitar un lenguaje de script como Matlab, DPM también tiene una implementación de OpenCV: SVM latente – documentación de OpenCV 2.4.9.0
Pero esta implementación es solo para pruebas (no para capacitación, que es su caso). Sin embargo, entrenaría mi modelo DPM usando Matlab y convertiría este modelo (que es básicamente un archivo .mat) a un archivo .xml apropiado (obedeciendo la estructura de los archivos .xml fácilmente disponibles en OpenCV), luego usaría este modelo para probar mi modelo en imágenes usando OpenCV.
Una implementación alternativa de C, que no probé, también está aquí:
DPM: modelo de piezas deformables