Detectar el área de atención visual en una imagen.

9

Estoy tratando de detectar el área de atención visual en una imagen determinada y recortar la imagen en esa área. Por ejemplo, dada una imagen de cualquier tamaño y un rectángulo de, digamos, LxW dimensión como entrada, me gustaría recortar la imagen en el área de atención visual más importante. Estoy buscando un enfoque de vanguardia para eso.

¿Tenemos alguna herramienta o SDK para implementar eso? Cualquier pieza de código o algoritmo realmente ayudaría.

Tina J
fuente
Por cierto, dentro de un objeto "único", me gustaría llamar la atención. Por lo tanto, la detección de objetos podría no ser lo mejor.
Tina J
¿Está buscando enfoques basados ​​en el aprendizaje profundo o enfoques basados ​​en el procesamiento clásico de imágenes?
Varsh
Cualquiera de ellos que funcionaría mejor. El aprendizaje profundo podría ser una mejor opción.
Tina J

Respuestas:

2

Puede buscar los siguientes títulos en papel:

  1. Una red profunda de varios niveles para la predicción de salience.
  2. Más allá de la prominencia universal: predicción personalizada de prominencia con CNN multitarea.

Puede codificar en Python usando el marco Pytorch.

áspero
fuente
0

La "atención" en la red neuronal (visual) es el área de la imagen donde la red puede encontrar la mayor cantidad de características para clasificarla con gran confianza. Según su descripción, está hablando de "atención suave".

¿Tenemos alguna herramienta o SDK para implementar eso? No creo que haya SDK listos para usar disponibles. Es mucho mejor entrenar un modelo en su conjunto de datos con atención. Una vez que tenga listo su modelo base, es fácil agregarle un mecanismo de atención. Le sugiero que consulte https://arxiv.org/pdf/1502.03044.pdf .

riemann77
fuente
0

Para que una computadora detecte y proporcione el cuadro delimitador o un círculo alrededor de un área de atención visual en una imagen, se debe determinar la base de la atención. Luego, se puede seleccionar el método para hacer que el sistema informático tome decisiones basadas en esa base. Lo primero es lo primero.

¿Es una cara, un cuerpo o un personaje del juego el que debe ser objeto de interés? ¿Será el objeto más dinámico en el marco en términos de movimiento? Si es una persona, ¿es siempre la misma persona? En cualquier caso, ¿su cara estará expuesta al ángulo de la cámara? ¿Solo hay tomas fijas, o las imágenes serán cuadros en una película?

Una vez que sepa cómo USTED distinguiría el objeto que requiere atención de otros objetos y antecedentes, puede comenzar a ver cómo una computadora podría simular ese reconocimiento. Al entrenar una red profunda que involucra núcleos de convolución (llamada CNN o red neuronal convolucional) y posiblemente células de memoria a largo plazo (LSTM), hay etapas para el reconocimiento.

Por lo general, los bordes de las cosas se detectan primero. En las películas, el movimiento de los bordes se rastrea como características de la imagen. Los elementos en la imagen que identifican qué tipo de objeto son los objetos es el segundo. Por ejemplo, un juguete podría detectarse por la forma en que el plástico refleja la luz y los tipos y formas de color comunes a los juguetes. Una cara puede reconocerse primero identificando ojos, nariz, boca, mentón y oídos.

Después de identificar las partes, se pueden identificar objetos completos a través de otra etapa de extracción de características. Los sistemas de visión siguen los mismos principios básicos de reconocimiento que utiliza nuestro sistema visual humano.

Hay muchos marcos y bibliotecas para ayudar con estas tareas, pero para usarlos, es importante obtener una imagen general del proceso y aclarar qué es lo que diferenciará los objetos importantes de otros objetos que pueden ser similares o completamente diferente para que la atención pueda enfocarse de la manera que desee.

Una vez que tengas (hmin,vmin);(hmax,vmax), las coordenadas de las dos esquinas de su operación de recorte, que sería el objetivo de su entrenamiento de red, entonces cualquier biblioteca de manipulación de imágenes podría manejar el recorte.

Ese es el estado del arte. No hay un SDK de alto nivel que le permita a la computadora ordenarle a la computadora que encuentre el elemento más importante en el marco sin ninguna aclaración de lo que se entiende por eso y las operaciones de capacitación para enseñarle al software a encontrar lo que ha decidido que es importante según algunos criterios No todavía, de todos modos.

Douglas Daseeco
fuente