¿Cómo reconoce la red neuronal convolucional los objetos de las imágenes sin la percepción o reconocimiento 3D?

Una red neuronal convolucional (CNN) es naturalmente para la clasificación de imágenes, no para la detección de objetos.

La clasificación de imágenes trata sobre el reconocimiento o clasificación de un objeto dominante en una escena. No importa.

  • Donde ese objeto es en términos de ubicación.
    • La operación de convolución fue diseñada exactamente para este propósito. El kernel deslizante encontrará cualquier característica independientemente de la ubicación de esa característica.
  • La orientación 3D o la escala del objeto.
    • Para manejar transformaciones tan complejas, normalmente se utiliza un proceso llamado aumento de datos.
    • Los ejemplos de entrenamiento se rotan, escalan, distorsionan, reflejan o agregan deliberadamente ruido antes del entrenamiento.

Por lo tanto, las CNN funcionan sin percepción 3D porque se usan principalmente en la clasificación donde no se necesita la recuperación de las propiedades del objeto, como la orientación 3D, la escala, la ubicación y muchas más propiedades. Por lo tanto, una CNN típica no recuperará la pose 3D precisa de un objeto sin esfuerzos de ingeniería significativos.

La detección de objetos por otro lado es más difícil porque normalmente, la recuperación de la ubicación del objeto también es importante en la detección de objetos. La detección de objetos es clasificación + localización y una CNN típica con agrupación normalmente descarta información espacial. Entonces, para lograr la detección de objetos, uno necesita modificaciones en la arquitectura CNN convencional.

Es por eso que tenemos modelos más complejos como R-CNN (región CNN), Fast R-CNN, Faster R-CNN, YOLO (solo se ve una vez) o SSD (detector de disparo único). Estos modelos utilizan cabezas de regresión para hacer retroceder los cuadros delimitadores, lo que los hace menos directos en comparación con una clasificación CNN.


Por lo tanto, los CNN se entrenan en varios datos de entrenamiento transformados (aumentados) que capturan cada objeto / contenido en una variedad de condiciones, como la iluminación, la escala y la orientación 3D.

Sin el aumento de datos, una CNN típica nunca se generalizaría a una versión rotada de un ejemplo simple.

Es por eso que para lograr un buen rendimiento con CNN se necesitan muchos datos de capacitación. Estos sistemas no son tan inteligentes como podría haber pensado, necesitan tanta información porque, naturalmente, no tienen los medios para generalizar de manera humana. Su arquitectura no es de rotación ni de escala invariable, debe hacer explícitamente un enfoque de escala múltiple (pirámide) para construir invariancia de escala en ellos.


Esencialmente, si deliberadamente forcé información previa en 3D en CNN, entonces ese tedioso aumento de datos se reduciría en cierta medida porque entonces no debería darle a la CNN versiones rotadas de los mismos objetos al igual que no tengo que mostrar a un niño girado versiones de un elefante para que ella aprenda cómo se ve al revés, el niño puede generalizar fácilmente a partir de una sola imagen.


En resumen:

Las CNN funcionan porque las tareas que realizan normalmente implican solo clasificación.

Si es necesario recuperar cosas como la pose 3D de la cámara, la pose y la escala del objeto 3D, entonces es necesario diseñar la CNN de tal manera que pueda hacer retroceder esos parámetros 3D. Significa que tiene que tener algunos previos en 3D incorporados, para que pueda tener una percepción 3D real.

El reconocimiento en sí no requiere conocimiento sobre las propiedades 3D de los objetos, ese conocimiento es necesario si la tarea es recuperar las propiedades 3D de los objetos.

Por lo tanto, en la percepción 3D nos preocupa la recuperación de las propiedades de los objetos 3D, lo que actualmente es difícil de hacer para el aprendizaje automático (ML) con precisión y no es necesario para un reconocimiento exitoso, pero es esencial para los robots que tienen que interactuar con los objetos y el entorno.

Espero que esto ayude.

More Interesting

¿Existe alguna relación entre el aprendizaje automático y el campo de la electrónica analógica o digital?

¿Cuáles son los problemas interesantes en la 'automatización de big data'?

Tengo un conjunto de entradas y deseo excluir las entradas extremas y calcular el promedio de las restantes. ¿Es este un problema de estadística o uno de aprendizaje automático?

¿Cuáles son sus 5 mejores técnicas empíricas para detectar BS?

¿Qué herramientas, algoritmos o estructuras de datos usaría para construir un algoritmo de "Temas de tendencias" para una transmisión de alta velocidad?

¿Qué es el código de máquina?

Cómo iniciar el aprendizaje automático desde PHP

¿Qué es una explicación intuitiva de lo que es la dimensión VC?

¿Qué modelo da un error de predicción más bajo cuando se usa R?

¿Por qué la devolución [matemáticas] G_t = R_ {t + 1} + \ gamma R_ {t + 1} + \ cdots [/ matemáticas] tiene la recompensa del siguiente paso?

¿Cómo funciona una red neuronal?

¿Se puede utilizar la investigación en aprendizaje automático para complementar la epistemología?

¿Dónde puedo obtener un conjunto de datos de notas de suicidio para fines de aprendizaje automático?

Si alguien sin experiencia en programación quisiera aprender algoritmos y aprendizaje automático, ¿cuáles serían las mejores fases de estudio e investigación? ¿Sería mejor comenzar con el aprendizaje de la codificación? ¿Con qué idioma es mejor comenzar?

¿Cuáles son algunas buenas aplicaciones o scripts que prueban muchas técnicas de aprendizaje automático a la vez para problemas de predicción?