Inicio
Temas
detección de objetos
Fecha de publicación: 3 de enero de 2024
Colaboradores: Jacob Murel, Ph.D. y Eda Kavlakoglu
La detección de objetos es una técnica que utiliza redes neuronales para localizar y clasificar objetos en imágenes. Esta tarea de visión artificial tiene una amplia gama de aplicaciones, desde imágenes médicas hasta automóviles autónomos.
La detección de objetos es una tarea de visión artificial que tiene como objetivo localizar objetos en imágenes digitales. Como tal, es una instancia de inteligencia artificial que consiste en entrenar a las computadoras para que vean como los humanos, específicamente para reconocer y clasificar objetos según categorías semánticas.1 La localización de objetos es una técnica para determinar la ubicación de objetos específicos en una imagen demarcando el objeto a través de un cuadro delimitador. La clasificación de objetos es otra técnica que determina a qué categoría pertenece un objeto detectado. La tarea de detección de objetos combina subtareas de localización y clasificación de objetos para estimar de manera simultánea la ubicación y el tipo de casos de objetos en una o más imágenes.2
La detección de objetos se superpone con otras técnicas de visión artificial, pero los desarrolladores la tratan como un esfuerzo discreto.
La clasificación de imágenes (o reconocimiento de imágenes) tiene como objetivo clasificar las imágenes según categorías definidas. Un ejemplo rudimentario de esto son las pruebas de imagen CAPTCHA, en las que un grupo de imágenes pueden organizarse como imágenes que muestran la señal de pare y otras que no. La clasificación de imágenes asigna una etiqueta a la imagen completa.
La detección de objetos, en cambio, delinea objetos individuales en una imagen según categorías especificadas. Mientras que la clasificación de imágenes divide las imágenes entre aquellas que tienen señales de pare y aquellas que no, la detección de objetos localiza y categoriza todas las señales de tránsito en una imagen, así como otros objetos como automóviles y personas.
La segmentación de imágenes (o segmentación semántica) es similar a la detección de objetos, aunque es más precisa. Al igual que la detección de objetos, la segmentación delinea los objetos en una imagen según categorías semánticas. Pero en lugar de marcar objetos mediante cuadros, la segmentación delimita los objetos a nivel de pixeles.
Explore el libro electrónico sin costo de O'Reilly para aprender los primeros pasos con Presto, el motor SQL de código abierto para analytics de datos.
Comprender las maquinaciones internas de la detección de objetos requiere contar con una base en visión artificial y procesamiento de imágenes digitales en general. En esta sección se proporciona una descripción general.
En la visión artificial, las imágenes se expresan como funciones continuas en un plano de coordenadas 2D representado como f(x,y). Cuando se digitalizan, las imágenes se someten a dos procesos principales llamados ejemplificación y cuantificación que, en resumen, convierten la función de imagen continua en una estructura diferenciada de cuadrícula de elementos de pixeles. Luego, la computadora puede segmentar una imagen en regiones diferenciadas de acuerdo con la similitud visual y la proximidad de los pixeles.3
Al etiquetar imágenes mediante una interfaz de anotación, los usuarios definen un objeto específico como una región de características específicas a nivel de pixel (por ejemplo, área, valor de gris, etc.). Cuando se proporciona una imagen de entrada, el modelo de detección de objetos reconoce regiones con características similares a las definidas en el conjunto de datos de entrenamiento como el mismo objeto. De este modo, la detección de objetos es una forma de reconocimiento de patrones. Los modelos de detección de objetos no reconocen objetos en sí mismos, sino que reconoce agregados de propiedades como tamaño, forma, color, etc., y clasifican regiones según patrones visuales inferidos a partir de datos de entrenamiento anotados de forma manual.4
Un modelo de detección de objetos para un automóvil autónomo, por ejemplo, no reconoce a los peatones, sino un conjunto de características que forman el patrón general que caracteriza a los objetos peatonales (como se define en los datos de entrenamiento).
Si bien las diferentes familias de modelos utilizan diferentes arquitecturas, los modelos de aprendizaje profundo para la detección de objetos siguen una estructura general. Se componen de una columna vertebral, cuello y cabeza.
La columna vertebral extrae características de una imagen de entrada. A menudo, la columna vertebral se deriva de parte de un modelo de clasificación previamente entrenado. La extracción de características produce una infinidad de mapas de características de distintas resoluciones que la columna vertebral pasa al cuello. Esta última parte de la estructura concatena los mapas de características de cada imagen. A continuación, la arquitectura pasa los mapas de características por capas a la cabeza, que prevé los cuadros delimitadores y las puntuaciones de clasificación para cada conjunto de características.
Los detectores de dos etapas separan la localización y clasificación de objetos en el cabezal, mientras que los detectores de una sola etapa combinan estas tareas. Los primeros generalmente ofrecen una mayor precisión de localización, mientras que los segundos funcionan con mayor rapidez.5
La intersección sobre la unión (IoU) es una métrica de evaluación común utilizada en los modelos de detección de objetos. Un cuadro delimitador es el cuadrado de resultado que delimita un objeto detectado según lo previsto por el modelo. IoU calcula la relación del área de intersección de dos cuadros delimitadores (es decir, el área de las secciones superpuestas de los cuadros) sobre su área de unión (es decir, el área total de ambos cuadros combinados):6
Podemos visualizar esta ecuación como:
Los modelos utilizan el IoU para medir la precisión de la predicción calculando el IoU entre un cuadro prevista y un cuadro real. Las arquitecturas de modelos también utilizan IoU para generar predicciones finales de cuadros delimitadores. Dado que los modelos suelen generar inicialmente varios cientos de predicciones de cuadros delimitadores para un único objeto detectado, los modelos utilizan IoU para ponderar y consolidar las predicciones de cuadros delimitadores en un único cuadro por objeto detectado.
Se pueden usar otras métricas para diferentes evaluaciones de modelos de detección de objetos. La intersección generalizada sobre la unión (GIoU) es una versión modificada de IoU que tiene en cuenta las mejoras en la localización de objetos para las cuales la IoU básica aún puede devolver un valor nulo.7 La investigación de detección de objetos también utiliza métricas comunes de recuperación de información, como la precisión promedio y la coincidencia.
Existen varios enfoques de machine learning para las tareas de detección de objetos. Algunos ejemplos son el marco de Viola-Jones 8 y el histograma de gradientes orientados.9 Sin embargo, la investigación y el desarrollo recientes en detección de objetos se centraron en gran medida en las redes neuronales convolucionales (CNN). Por ello, esta página se centra en los dos tipos de CNN más debatidos en la investigación sobre detección de objetos. Tenga en cuenta que estos modelos se prueban y comparan utilizando conjuntos de datos de referencia, como el conjunto de datos COCO de Microsoft o ImageNet.
R-CNN (red neuronal convolucional basada en regiones) es un detector de dos etapas que utiliza un método llamado propuestas de región para generar 2000 predicciones de región por imagen. Luego, R-CNN deforma las regiones extraídas a un tamaño uniforme y ejecuta esas regiones a través de redes separadas para la extracción y clasificación de características. Cada región se clasifica de acuerdo con la confianza de su clasificación. Luego, R-CNN rechaza las regiones que tienen una cierta superposición de IoU con una región seleccionada de puntuación más alta. Las regiones clasificadas restantes que no se superponen y están mejor clasificadas son el resultado del modelo.10 Como era de esperar, esta arquitectura es computacionalmente costosa y lenta. Fast R-CNN y Faster R-CNN son modificaciones posteriores que reducen el tamaño de la arquitectura de R-CNN y, por lo tanto, reducen el tiempo de procesamiento y aumentan la precisión.11
YOLO (You Only Look Once) es una familia de arquitecturas de detección de una sola etapa basadas en Darknet, un framework de CNN de código abierto. Desarrollada por primera vez en 2016, la arquitectura YOLO prioriza la velocidad. De hecho, la velocidad de YOLO la hace preferible para la detección de objetos en tiempo real y le ha valido el descriptor común del detector de objetos de última generación. YOLO difiere de R-CNN en varios aspectos. Mientras R-CNN pasa regiones de imágenes extraídas a través de múltiples redes que extraen características por separado y clasifican imágenes, YOLO condensa estas acciones en una sola red. En segundo lugar, en comparación con las propuestas de la región ~2000 de R-CNN, YOLO hace menos de 100 predicciones de cuadro delimitador por imagen. Además de ser más rápido que R-CNN, YOLO también produce menos falsos positivos de fondo, aunque tiene un mayor error de localización.12 Hubo muchas actualizaciones de YOLO desde sus inicios, generalmente centradas en la velocidad y la precisión.13
Aunque originalmente se desarrolló para la detección de objetos, versiones posteriores de R-CNN y YOLO también pueden entrenar modelos de clasificación y segmentación. Específicamente, Mask R-CNN combina tanto la detección de objetos como la segmentación, mientras que YoLov5 puede entrenar modelos separados de clasificación, detección y segmentación.
Por supuesto, hay muchas otras arquitecturas modelo más allá de R-CNN y YOLO. SSD y Retinanet son dos modelos adicionales que utilizan una arquitectura simplificada similar a YOLO.14 DETR es otra arquitectura desarrollada por Facebook (ahora Meta) que combina CNN con un modelo transformador y muestra un rendimiento comparable al de Faster R-CNN.15
En muchos casos de uso, la detección de objetos no es un fin en sí mismo, sino una etapa en una tarea de visión artificial más grande.
Los automóviles autónomos adoptan ampliamente la detección de objetos para reconocer objetos, como automóviles y peatones. Un ejemplo de ello es la IA Autopilot de Tesla. Debido a su mayor velocidad, las arquitecturas simples como YOLO y SimpleNet son obviamente más convenientes para la conducción autónoma.16
La detección de objetos puede ayudar en las tareas de inspección visual . Por ejemplo, un cuerpo sustantivo de investigación de detección de objetos investiga métricas y modelos para identificar indicadores fisiológicos de enfermedades en imágenes médicas como radiografías y resonancias magnéticas. En esta área, gran parte de la investigación se centró en mejorar los desequilibrios de los conjuntos de datos dada la dispersión de este tipo de imágenes médicas de enfermedades.17
La videovigilancia puede utilizar la detección de objetos en tiempo real para rastrear objetos asociados con delitos, como armas o cuchillos en las imágenes de las cámaras de seguridad. Al detectar dichos objetos, los sistemas de seguridad pueden prever y prevenir aún más los delitos. Los investigadores desarrollaron algoritmos de detección de armas utilizando tanto R-CNN como YOLO.18
Los conjuntos de datos desequilibrados son un problema que afecta a las tareas de detección de objetos, ya que las muestras negativas (es decir, imágenes sin el objeto de interés) superan ampliamente a las muestras positivas en muchos conjuntos de datos específicos del dominio. Este es un problema particular con las imágenes médicas, donde las muestras positivas de enfermedades son difíciles de adquirir. Investigaciones recientes utilizan el aumento de datos para ampliar y diversificar conjuntos de datos limitados para mejorar el rendimiento del modelo.19
Los desarrollos pasados en la detección de objetos se han centrado en gran medida en imágenes 2D. Más recientemente, los investigadores han recurrido a aplicaciones de detección de objetos para imágenes y videos 3D. El desenfoque de movimiento y el cambio de enfoque de la cámara causan problemas en la identificación de objetos en los fotogramas de video. Los investigadores han explorado una variedad de métodos y arquitecturas para ayudar a rastrear objetos a través de marcos a pesar de tales condiciones, como la arquitectura de redes neuronales memoria a corto plazo (LSTM)20 y modelos basados en transformadores.21 Se han utilizado transformadores para aumentar la velocidad de los modelos de detección de objetos para tareas de detección en tiempo real. Las técnicas de procesamiento paralelo son otra área notable de estudio en este esfuerzo.22
Los investigadores de IBM proponen un método sin supervisión para la detección y recuperación de objetos sin etiquetado manual.
Los desarrolladores de IBM brindan una descripción general de las tareas de visión artificial, incluida la detección de objetos para imágenes y videos.
Los investigadores de IBM presentan un módulo sencillo y con parámetros eficientes para entrenar detectores de objetos de una etapa desde cero.
Ajuste un modelo de detección de objetos previamente capacitado.
1 Bogusław Cyganek, Object Detection and Recognition in Digital Images: Theory and Practice, Wiley, 2013.
2 Kemal Oksuz, Baris Can Cam, Sinan Kalkan y Emre Akbas, "Imbalance Problems in Object Detection: A Review," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 43, No. 10, 2021, págs. 3388-3415, https://ieeexplore.ieee.org/document/9042296 (enlace externo a ibm.com).
3 Archangelo Disante y Cosimo Disante, Handbook of Image Processing and Computer Vision, vol. 1, Springer, 2020. Milan Sonka, Vaclav Hlavac y Roger Boyle, Image Processing, Analysis, and Machine Vision, 4.a edición, Cengage, 2015.
4 Archangelo Disante y Cosimo Disante, Handbook of Image Processing and Computer Vision, Vol. 3, Springer, 2020. Milan Sonka, Vaclav Hlavac y Roger Boyle, Image Processing, Analysis, and Machine Vision, 4.a edición, Cengage, 2015.
5 Benjamin Planche y Eliot Andres, Hands-On Computer Vision with TensorFlow 2, Packt Publishing, 2019. Van Vung Pham y Tommy Dang, Hands-On Computer Vision with Detectron2, Packt Publishing, 2023. Licheng Jiao, Fan Zhang, Fang Liu, Shuyuan Yang, Lingling Li, Zhixi Feng, Rong Qu, "A survey of deep learning-based object detection," IEEE Access, Vol. 7, 2019, pp. 128837-128868, https://ieeexplore.ieee.org/document/8825470 (enlace externo a ibm.com). Richard Szeliski, Computer Vision: Algorithms and Applications, 2.a edición, Springer, 2021.
6 Richard Szeliski, Computer Vision: Algorithms and Applications, 2.a ecición Springer, 2021.
7 Hamid Rezatofighi, Nathan Tsoi, JunYoung Gwak, Amir Sadeghian, Ian Reid y Silvio Savarese, "Generalized intersection over union: A metric and a loss for bounding box regression," Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pags. 658-666, accesible aquí (enlace externo a ibm.com).
8 P. Viola y M. Jones, "Rapid object detection using a boosted cascade of simple features," Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2001, https://ieeexplore.ieee.org/document/990517 (enlace externo a ibm.com).
9 N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection," Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2005, pp. 886-893, https://ieeexplore.ieee.org/document/1467360 (enlace externo a ibm.com).
10 Ross Girshick, Jeff Donahue, Trevor Darrell y Jitendra Malik, "Rich feature hierarchies for accurate object detection and semantic segmentation," Proceedings of the 2014 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2014, https://arxiv.org/abs/1311.2524 (enlace externo a ibm.com).
11 Ross Girschick, "Fast R-CNN," Proceedings of the 2015 IEEE International Conference on Computer Vision (ICCV), 2015, págs. 1440-1448, https://arxiv.org/abs/1504.08083 (enlace externo a ibm.com). Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun, "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks," Advances in Neural Information Processing Systems (NIPS 2015), Vol. 28, https://proceedings.neurips.cc/paper_files/paper/2015/hash/14bfa6bb14875e45bba028a21ed38046-Abstract.html (link resides outside ibm.com).
12 Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, "You Only Look Once: Unified, Real-Time Object Detection," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 779-788, https://arxiv.org/abs/1506.02640 (enlace externo a ibm.com).
13 Joseph Redmon y Ali Farhadi, "YOLOv3: una mejora incremental", 2018, https://arxiv.org/abs/1804.02767 (enlace externo a ibm.com). Alexey Bochkovskiy, Chien-Yao Wang y Hong-Yuan Mark Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," European Conference on Computer Vision, 2020, https://arxiv.org/abs/2004.10934 (enlace externo a ibm.com). Xin Huang, Xinxin Wang, Wenyu Lv, Xiaying Bai, Xiang Long, Kaipeng Deng, Qingqing Dang, Shumin Han, Qiwen Liu, Xiaoguang Hu, Dianhai Yu, Yanjun Ma y Osamu Yoshie, "PP-YOLOv2: A Practical Object Detector," 2021, https://arxiv.org/abs/2104.10419 (enlace externo a ibm.com). Chien-Yao Wang, Alexey Bochkovskiy y Hong-Yuan Mark Liao, "YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors," 2022, https://arxiv.org/abs/2207.02696 (enlace externo a ibm.com).
14 Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu y Alexander C. Berg, "SSD: Single Shot MultiBox Detector," Proceedings of the European Conference of Computer Vision (ECCV), 2016, págs. 21-37, https://arxiv.org/abs/1512.02325 (enlace externo a ibm.com). Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He y Piotr Dollár, "Focal Loss for Dense Object Detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 42, No. 2, 2020, págs. 318-327, <a href=" " target=" ">https://arxiv.org/abs/1708.02002 (enlace externo a ibm.com).
15 Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov y Sergey Zagoruyko, "End-to-End Object Detection with Transformers," Proceedings of the European Conference of Computer Vision (ECCV), 2020, https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123460205.pdf (enlace externo a ibm.com).
16 Abhishek Balasubramaniam y Sudeep Pasricha, "Object Detection in Autonomous Vehicles: Status and Open Challenges," 2022, https://arxiv.org/abs/2201.07706 (enlace externo a ibm.com). Gene Lewis, "Object Detection for Autonomous Vehicles," 2016, https://web.stanford.edu/class/cs231a/prev_projects_2016/object-detection-autonomous.pdf (enlace externo a ibm.com).
17 Trong-Hieu Nguyen-Mau, Tuan-Luc Huynh, Thanh-Danh Le, Hai-Dang Nguyen y Minh-Triet Tran, "Advanced Augmentation and Ensemble Approaches for Classifying Long-Tailed Multi-Label Chest X-Rays," Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops, 2023, págs. 2729-2738, https://openaccess.thecvf.com/content/ICCV2023W/CVAMD/html/Nguyen-Mau_Advanced_Augmentation_and_Ensemble_Approaches_for_Classifying_Long-Tailed_Multi-Label_Chest_ICCVW_2023_paper.html (enlace externo a ibm.com). Changhyun Kim, Giyeol Kim, Sooyoung Yang, Hyunsu Kim, Sangyool Lee y Hansu Cho, "Chest X-Ray Feature Pyramid Sum Model with Diseased Area Data Augmentation Method," Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops, 2023, págs. 2757-2766, https://openaccess.thecvf.com/content/ICCV2023W/CVAMD/html/Kim_Chest_X-Ray_Feature_Pyramid_Sum_Model_with_Diseased_Area_Data_ICCVW_2023_paper.html (enlace externo a ibm.com).
18 Palash Yuvraj Ingle and Young-Gab Kim, "Real-Time Abnormal Object Detection for Video Surveillance in Smart Cities," Sensors, Vol. 22, No. 10, 2022, https://www.mdpi.com/1424-8220/22/10/3862 (enlace externo a ibm.com).
19 Manisha Saini y Seba Susan, "Tackling class imbalance in computer vision: a contemporary review," Artificial Intelligence Review, Vol. 56, 2023, págs. 1279–1335, https://link.springer.com/article/10.1007/s10462-023-10557-6 (enlace externo a ibm.com).
20 Kai Kang, Hongsheng Li, Tong Xiao, Wanli Ouyang, Junjie Yan, Xihui Liu y Xiaogang Wang, "Object Detection in Videos With Tubelet Proposal Networks," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, págs. 727-735, https://openaccess.thecvf.com/content_cvpr_2017/html/Kang_Object_Detection_in_CVPR_2017_paper.html (enlace externo a ibm.com).
21 Sipeng Zheng, Shizhe Chen y Qin Jin, "VRDFormer: End-to-End Video Visual Relation Detection With Transformers," Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2022, págs. 18836-18846, https://openaccess.thecvf.com/content/CVPR2022/html/Zheng_VRDFormer_End-to-End_Video_Visual_Relation_Detection_With_Transformers_CVPR_2022_paper.html (enlace externo a ibm.com).
22 Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov y Sergey Zagoruyko, "End-to-End Object Detection with Transformers," Proceedings of the European Conference on Computer Vision (ECCV), 2020, págs. 213-229, https://link.springer.com/chapter/10.1007/978-3-030-58452-8_13 (enlace externo a ibm.com) Mekhriddin Rakhimov (enlace externo a ibm.com), Jamshid Elov (enlace externo a ibm.com), Utkir Khamdamov (enlace externo a ibm.com), Shavkatjon Aminov (enlace externo a ibm.com) y Shakhzod Javliev (enlace externo a ibm.com), "Parallel Implementation of Real-Time Object Detection using OpenMP", International Conference on Information Science and Communications Technologies (ICISCT), 2021, https://ieeexplore.ieee.org/document/9670146 (enlace externo a ibm.com). Yoon-Ki Kim y Yongsung Kim, "DiPLIP: Distributed Parallel Processing Platform for Stream Image Processing Based on Deep Learning Model Inference", Electronics, vol. 9, No. 10, 2020, https://www.mdpi.com/2079-9292/9/10/1664 (enlace externo a ibm.com).