Estoy tratando de encontrar una forma eficaz de complejidad aceptable paraDetección de objetos + segmentación
- detectar un objeto en una imagen para que pueda aislarse de su entorno
- segmento que se opone a su sub- partes y etiquetarlos por lo que a continuación pueden alcanzar a voluntad
han pasado 3 semanas desde que entré en el mundo de procesamiento de imágenes y que he leído sobre tantas algoritmos (tamizar, serpientes, más serpientes, relacionados con Fourier, etc.) y heurística que no sé por dónde empezar y cuál es "mejor "por lo que estoy tratando de lograr. Teniendo en cuenta que el conjunto de datos de imágenes de interés es bastante grande, ni siquiera sé si debería usar algún algoritmo implementado en OpenCV o si debería implementar uno propio.
Resumir:
- Qué metodología debo enfocar? ¿Por qué?
- ¿Debo usar OpenCV para ese tipo de cosas o hay alguna otra alternativa 'mejor'?
Gracias de antemano.
EDITAR - Más información con respecto a los conjuntos de datos
Cada conjunto de datos se compone de 80K imágenes de los productos que comparten el mismo concepto
- por ejemplo, camisetas, relojes, zapatos
- tamaño
- orientación (90% de ellos)
- fondo (95% de ellos)
Todas las imágenes de cada conjuntos de datos se ven casi idénticos aparte del propio producto al parecer Para hacer las cosas un poco más claro, vamos a considerar sólo el 'conjunto de datos reloj':
Todas las imágenes del conjunto se ven casi exactamente como esta:
(de nuevo, aparte forman el reloj en sí) Quiero extraer la correa y el dial. El caso es que hay muchos estilos de reloj diferentes y, por lo tanto, formas. Por lo que he leído hasta ahora, creo que necesito un algoritmo de plantilla que permita doblar y estirar para poder hacer coincidir las tiras y diales de diferentes estilos.
En lugar de crear tres plantillas distintas (parte superior de la correa, parte inferior de la correa, esfera), sería razonable crear solo una y segmentarla en 3 partes. De esta forma, tendré la suficiente confianza de que cada parte se detectó entre sí según lo previsto, p. Ej. el dial no se detectaría debajo de la parte inferior de la correa.
De todos los algoritmos/metodologías que he encontrado, el modelo de apariencia de forma activa parece ser el más prometedor. Desafortunadamente, no he logrado encontrar una implementación de descenso y no estoy seguro de que ese sea el mejor enfoque para poder escribir uno yo mismo.
Si alguien pudiera señalar lo que realmente debería estar buscando (algorithm/heuristic/library/etc.), Estaría más que agradecido. Si de nuevo crees que mi descripción fue un poco vaga, no dudes en pedir una más detallada.
¿Te importaría describir el dominio de tus imágenes, o incluso algunas muestras de las imágenes? Para la detección/reconocimiento/segmentación general de objetos, creo o generalmente se cree que un buen límite del dominio le daría un "margen" para diferenciar qué segmentar y qué no. –
@gary - Una de las (muchas) cosas que quiero lograr: tener una imagen de un reloj, p. [link] (http://upload.wikimedia.org/wikipedia/commons/0/06/Seiko_7002-7020_Diver%27s_200_m_on_a_4-ring_NATO_style_strap.JPG), quiero poder procesar independientemente la parte 'superior' y 'inferior' de la correa y el dial. Es por eso que necesito algún tipo de plantilla que admita la segmentación. – sawidis
Puede publicar un par de imágenes de su conjunto de datos para mostrar su diversidad. Si, por ejemplo, todas sus imágenes son como la imagen wiki que vinculó, cara arriba, directamente en la cámara y sin escala, diferencias de iluminación o diferencias en la marca o tipo de reloj, puede simplificar enormemente su algoritmo. – Maurits