quebin31 / stack-tia

Stack TIA (Preguntas y respuestas)
2 stars 0 forks source link

¿Por qué el pooling multi nivel es robusto frente a las deformaciones de los objetos? #13

Open Loudev19 opened 4 years ago

Loudev19 commented 4 years ago

Maria Lourdes Apaza

La red SPP nos permite generar una representación de longitud fija independientemente del tamaño/escala de la imagen que es un requisito importante al usar una CNN. Por otro lado encontré que esta red tambien es robusta frente a las deformaciones de objetos, sin embargo, no he podido hallar que es lo que le da esta capacidad o que ventajas le da.

limonadev commented 4 years ago

No encontré una respuesta exacta al respecto (el paper de la SPP-NET hace una referencia en la que no se habla sobre la robustez del pooling multi nivel), pero aqui menciona que es debido al entrenamiento, pues no solo genera imágenes de tamaño variable durante el mismo sino que evita el overfitting (y por tanto mejora la generalización) usando dropout. Creo que la clave está en la generación de imágenes de tamaño variable durante el entrenamiento.

quebin31 commented 4 years ago

Creo que más que robustez es flexibilidad, como menciona Ademir (@limonadev) puede recibir imágenes de tamaño variable, eso parece resolver el problema de la R-CNN y las regiones que tienen que ser cortadas/re-escaladas, pero no parece ser tampoco un inconveniente por ejemplo en Yolo que requiere imágenes de un tamaño fijo, creo que es bueno para solucionar la R-CNN, pero no se hasta que punto sea realmente robusto.

Loudev19 commented 4 years ago

@quebin31 De hecho, esto de la robustez lo menciona en el paper de la red SPP, pero como dije no te explica para que sirve o como es que se logra, solo lo menciona un par de veces, incluso en el abstract. Dejo el link por si quieren revisar https://arxiv.org/pdf/1406.4729.pdf

deeiqh commented 4 years ago

Pero tengamos en cuenta que se aplica pooling a diferentes representaciones (por ejemplo, 7x7, 3x3, 1x1, etc) del mismo mapa de características, lo cual haría que a pesar que el objeto está deformado igual se mantenga el resultado del, por ejemplo, max pooling "correcto"(sin deformaciones) en alguna representación, y aparecerá de todas formas en el vector de concatenación final.

brayan1408 commented 4 years ago

Si no me equivoco es robusto ya que siempre extrae las características más importantes de dicha imagen, y para evitar deformaciones a cada bounding box regressor le da un valor y de esta forma si hay 2 pequeñas imagenes en una imagen grande, lo que hace es unirlas y se queda la que tenga mayor valor, de esta forma evita las deformaciones de objetos, no se si mi respuesta era la que busca tu pregunta,