La vigilancia y el monitoreo constante son elementos clave para garantizar la seguridad en cualquier entorno. Con los avances tecnológicos, la detección de objetos en movimiento ha adquirido una nueva dimensión gracias a la inteligencia artificial (IA). En este artículo, exploraremos cómo la IA ha revolucionado la vigilancia diurna y nocturna, permitiendo una detección de objetos en tiempo real, incluso en condiciones de baja visibilidad. Descubre cómo esta innovación está transformando la manera en que protegemos nuestros espacios, brindando soluciones más eficientes y precisas.
Título del Proyecto: Detección de objetos en movimiento en tiempo real para vigilancia diurna y nocturna mediante IA
Gaurav Barve / Aditya Chache / Vineet Das (de la Universidad de Mumbai / Facultad de Ingeniería Datta Meghe) presentaron a extrudesign.com un proyecto final sobre “Detección de objetos en movimiento en tiempo real para vigilancia diurna y nocturna mediante IA”.

Abstracto
En este proyecto hemos creado una aplicación web que puede operar en diferentes modos como: B. Detección de objetos de diversos medios, como imágenes, videos y transmisiones de video en tiempo real desde el dispositivo del usuario. La aplicación tomaría un formato multimedia y proporcionaría la lista de todos los objetos detectados en él, así como una anotación en el medio original que representa los objetos detectados. El proyecto implementa capacidades de procesamiento de imágenes para que los usuarios puedan modificar sus imágenes según sea necesario. Esto se hace mediante un currículum abierto. La aplicación sería compatible en todas las plataformas y en diferentes sistemas operativos, lo que ayudaría a llegar a una audiencia mucho mayor.
Capítulo 1 Introducción
La detección y el seguimiento de objetos en tiempo real son ahora tareas importantes y desafiantes en muchas aplicaciones de visión por computadora, como la videovigilancia y la navegación de vehículos, así como la supervisión en línea. Nuestro proyecto pertenece a la misma área y en este proyecto necesitamos desarrollar una solución completa para todas las necesidades de procesamiento de imágenes y detección de objetos.
1.1) Motivación
El motivo para elegir este proyecto es que queremos implementar un modelo similar que pueda realizar todas las operaciones habituales y detectar objetos tanto de día como de noche y que será útil para el monitoreo en tiempo real cuando se implemente. La mayoría de los otros modelos no funcionan tan bien para fotografías nocturnas porque no están entrenados para imágenes oscuras. Por lo tanto, queremos cerrar esta brecha entrenando un modelo desde cero con imágenes oscuras. Cree una aplicación web independiente del sistema operativo y del dispositivo que pueda usarse en cualquier lugar.
1.2) Objetivo y propósito
El objetivo principal de la detección de objetos es identificar y localizar uno o más objetivos efectivos basándose en imágenes fijas o datos de vídeo. Cubre de manera integral una variedad de técnicas importantes como el procesamiento de imágenes, el reconocimiento de patrones, la inteligencia artificial y el aprendizaje automático. Una vez completada e implementada, cualquier usuario puede visitar la aplicación web donde puede completar todas las necesidades de detección de objetos, así como el procesamiento de imágenes, ya sea para imágenes, videos o detección en tiempo real.
1.3) Aplicación
El reconocimiento de objetos se utiliza en numerosas áreas del procesamiento de imágenes, incluida la recuperación de imágenes, la seguridad, la observación, los sistemas computarizados de vehículos y la inspección de máquinas.
Por favor habilite JavaScript
Siguen existiendo dificultades críticas en el ámbito del reconocimiento de objetos. Los posibles resultados son invaluables en términos de futuros casos de uso de detección de objetos. Un proyecto construido teniendo en cuenta a la comunidad sería beneficioso ya que proporcionaría un punto de referencia para futuros desarrollos de proyectos.
Capítulo: 2 – Revisión de la literatura
La lista de todos los artículos de revisión se incluye en las referencias. A continuación se muestra un resumen de los hallazgos de los artículos:
2.1) Sistemas existentes
- Los sistemas existentes todavía en uso son lentos de procesar y el requisito de un sistema casi perfecto es un gran desafío para ellos.
- Tradicionalmente, se han utilizado varios modelos de CNN para lograr una detección precisa. Sin embargo, estos modelos son útiles y prácticos, pero no proporcionan la detección más precisa y confiable según los estándares actuales.
2.2) Hallazgos
- En comparación con las técnicas de detección de objetos que existían antes de YOLO, como R-CNN, YOLO introdujo una arquitectura unificada única para hacer una regresión de imágenes en cuadros delimitadores y determinar probabilidades de clase para cada cuadro. Esto significó que YOLO se ejecutó mucho más rápido y también proporcionó una mayor precisión.
- Comete menos errores que Fast R-CNN porque puede reconocer el contexto más amplio ya que YOLO, a diferencia de Fast R-CNN, puede razonar la imagen globalmente al hacer predicciones.
- El reconocimiento de objetos moderno está diseñado principalmente para imágenes y no explícitamente para vídeos. Por lo tanto, los vídeos deben dividirse en fotogramas individuales antes de que se pueda realizar el reconocimiento. Esto genera ineficiencias como retrasos en la detección, gastos generales al convertir los vídeos en fotogramas y no tener en cuenta las relaciones a nivel de fotograma.
- Abordar estos aspectos es un área crucial de desarrollo actual y futuro.
2.3) Tendencias actuales
- La mayoría de los detectores requieren cantidades significativas de datos etiquetados para su entrenamiento. Esto es extremadamente ineficiente ya que aumenta el tiempo y los costos del ciclo de desarrollo. Se están haciendo esfuerzos para resolver este problema.
- La detección de objetos requiere muchos recursos, tanto en términos de intervención humana como de procesamiento de modelos (computación). Por lo tanto, la detección de alta velocidad en tiempo real, especialmente para dispositivos móviles, es un área de desarrollo importante. Auto ML en la detección de objetos también es un área de enfoque importante.
- La mayoría de los detectores tienen problemas con objetos pequeños. Las imprecisiones en la detección de objetos pequeños son significativamente mayores que en el caso de objetos medianos o grandes. Por ejemplo, la teledetección de objetivos pequeños sigue siendo inadecuada en la gestión de desastres o en aplicaciones militares.
Capítulo: 3-Análisis de requisitos
3.1) Requisitos de software
- colaboración de google
- Python 3.6 y superior
- Tensorflujo==2.6.0
- matplotlib==3.4.3
- numeroso==1.19.5
- iluminado==0,69,62
- Pandas==1.3.3
- Bibliotecas OpenCV
- Nvidia Cuda y Cudnn
3.1) Requisitos de hardware
| sistema | Requerimientos mínimos |
| Sistemas operativos | Ventanas: 7,8,10 (32/64 bits) Mac OS: 10.12+Linux: ubuntu cualquier versión |
| UPC | IntelCore i3 5ThGeneración+ AMD Fx 6350+ |
| GPU | No es necesario ya que utilizamos una GPU en la nube. |
| CÁMARA | Acceso a una cámara web u otra cámara externa para detección en tiempo real |
Capítulo: 4-Diseño de Proyecto
- Conjunto de datos: Los datos utilizados para entrenar el modelo se recopilan de dos maneras. Primero, utilizamos el conjunto de datos de imágenes Ex-Dark, que consta de imágenes oscuras de objetos de más de 10 clases. En el segundo método, utilizamos web scraping para descargar imágenes directamente desde Internet.
- Comentando las imágenes: La parte más importante del proyecto es anotar los datos, es decir, dibujar los cuadros delimitadores de los objetos que queremos detectar. Para esta tarea utilizamos el software Roboflow, que anota las imágenes. Además de las anotaciones, también las usaremos para aumentar los datos y básicamente aumentar el tamaño de nuestro conjunto de datos para una mayor precisión.
- Importando el marco: Para utilizar el modelo YOLO, importamos el marco darknet desde GitHub. Después de eso, usaremos un script .py para generar las rutas de los archivos de nuestras imágenes. Luego realizaremos algunos cambios en el archivo .cfg de nuestro modelo como por ejemplo: Como cambiar el tamaño del lote, proporcionar las rutas de los archivos de nuestras imágenes y etiquetas, cambiar el número de épocas, etc.
- Entrenando el modelo: Esta también es una parte importante del flujo de trabajo. Entonces, nuestro objetivo final es básicamente detectar objetos en datos invisibles. Para lograr esto, primero debemos entrenar el algoritmo que usaremos en nuestros datos recopilados y anotados. El algoritmo que usaremos para el entrenamiento es un modelo de detección de objetos de una sola etapa llamado YOLOv4.
- Pruebe e implemente el modelo: Una vez completado el entrenamiento, evaluamos el modelo utilizando nuestros datos de prueba. Cuando estemos satisfechos con él, lo guardamos y lo implementamos como una aplicación web. Para la fase de implementación, utilizamos Streamlit, un marco Python de código abierto para crear aplicaciones web. Una vez creada la aplicación web, la implementamos en Heroku, una plataforma en la nube para alojar aplicaciones web.
Capítulo: 5-Implementación del diseño de detección de objetos en movimiento en tiempo real utilizando IA
Para comprender cómo implementamos el proyecto, repasemos el diagrama de flujo de nuestro proyecto.

- En el diagrama de flujo anterior podemos ver la implementación del proyecto.
- Primero, colocamos todos nuestros datos en Google Drive y creamos nuestro modelo especificando la ruta en Colab. Después de guardar el modelo, guardamos este modelo en un archivo .cfg y los pesos. El mismo modelo se utilizaría para la detección en imágenes, vídeos y análisis en tiempo real.
- El modelo se almacenaría en la caché de Streamlit para que no haya retrasos en el procesamiento de los medios de entrada.
- Para el procesamiento de imágenes, usaríamos la biblioteca CV abierta proporcionada por Python para modificar, alterar y probar imágenes.
- El menú desplegable permite al usuario seleccionar a través de qué medio le gustaría acceder a la aplicación.

- Si tiene éxito, lo implementamos utilizando Heroku Cloud Platform as a Service (PaaS), que admite múltiples lenguajes de programación.
- Esto permitiría al usuario acceder a la aplicación web en cualquier plataforma y sistema, ya que no se limita a ninguna plataforma o sistema operativo en particular.
Capítulo: 6 tecnologías para la detección en tiempo real de objetos en movimiento.
6.1) Iluminado

Streamlit es una biblioteca de Python de código abierto que facilita la creación y el intercambio de hermosas aplicaciones web personalizadas de aprendizaje automático y ciencia de datos. Puede crear e implementar potentes aplicaciones de datos en solo minutos. Interfaz simple y fácil de usar para que los usuarios naveguen
6.2) Colaboración de Google

Colab es un entorno de notebook Jupyter gratuito que se ejecuta completamente en la nube. Lo más importante es que no se requiere configuración y los miembros de su equipo pueden editar los cuadernos que cree al mismo tiempo, según su conveniencia.
Edite documentos en Google Docs. Colab admite muchas bibliotecas populares de aprendizaje automático que se pueden cargar fácilmente en su computadora portátil. Collaboratory, o Colab para abreviar, te permite escribir y ejecutar Python en tu navegador
- No se requiere configuración
- Acceso gratuito a GPU
- Compartir fácilmente
6.3) Roboflujo

Roboflow es un marco de desarrollo de visión por computadora para mejorar el preprocesamiento de la recopilación de datos y las técnicas de entrenamiento de modelos. Roboflow tiene conjuntos de datos públicos de fácil acceso para los usuarios y también les brinda acceso para cargar sus propios datos personalizados.
6.4) Yoló
YOLO es un algoritmo que utiliza redes neuronales para proporcionar detección de objetos en tiempo real. Este algoritmo es popular por su velocidad y precisión. Se ha utilizado en diversas aplicaciones para detectar señales de tráfico, personas, parquímetros y animales.
6.1) Marco de la red oscura

Darknet es un poderoso marco de código abierto para implementar redes neuronales. Está escrito en C y CUDA y se puede integrar en CPU y GPU.
Darknet se puede utilizar para realizar implementaciones avanzadas de redes neuronales profundas. Estas implementaciones incluyen You Only Look Once (YOLO) para la detección de objetos en tiempo real, clasificación ImageNet, redes neuronales recurrentes (RNN) y muchas otras.
Capítulo: 7 – Pruebas, resultados y alcance futuro
Entrenar un modelo de detección de objetos en imágenes personalizadas lleva mucho tiempo. Por lo tanto, para evitar errores, primero lo entrenamos en un subconjunto del conjunto de datos. Una vez completado el entrenamiento para el subconjunto, probamos la precisión del modelo utilizando las imágenes de prueba que dividimos durante el preprocesamiento. Si estamos satisfechos con la precisión, entrenamos el modelo en todas las imágenes. Los resultados de la prueba se pueden visualizar con un gráfico de pérdida versus precisión.
Después de entrenar en todo el conjunto de datos, si logramos una precisión satisfactoria, guardamos los pesos y el modelo entrenados y luego los usamos para crear una aplicación web de detección de objetos y finalmente implementar la aplicación en la nube.
El propósito futuro de este proyecto es que esta tecnología pueda aplicarse en áreas de IA más robustas como vehículos autónomos, sistemas de vigilancia, etc.
La interfaz para el reconocimiento de objetos en imágenes.

La lista de objetos detectados se muestra a continuación junto con sus niveles de confianza.

La imagen de salida se ve así:

Capítulo: 8-Referencias
- Monitoreo de vehículos en tiempo real para monitoreo del tráfico y detección de cambios adaptativos utilizando el módulo de cámara Raspberry Pi Conferencia de tecnología humanitaria IEEE Región 10 de 2017 (R10-HTC)
- Detección de personas basada en redes neuronales convolucionales en imágenes nocturnas utilizando sensores de cámaras de luz visible. Editor científico: Vittorio MN Passaro Recibido: 31 de marzo de 2017; Aceptado: 4 de mayo 2017; Publicado: 8 de mayo de 2017
- Cómo se hizo la visión nocturna: detección de objetos en condiciones de poca iluminación Recibido el 24 de mayo de 2020, Aceptado el 2 de julio de 2020, Fecha de publicación 7 de julio de 2020, Fecha de la versión actual 17 de julio de 2020. Identificador de objeto digital 10.1109/ACCESS.2020.3007610
- Aprenda funciones avanzadas para restaurar y mejorar imágenes reales Instituto Inception de Inteligencia Artificial, EAU Universidad Mohamed bin Zayed de Inteligencia Artificial, EAU Universidad de California, Merced, EE. UU. Google Research
- Detección de objetos para vigilancia nocturna 2010 Sexta Conferencia Internacional sobre Inteligencia Ocultación de información y procesamiento de señales multimedia.
- Joseph Redmon, Santosh Divval, Ross Girshick, Ali Farhadi. “Solo miras una vez: detección constante de objetos en tiempo real” [J].Conferencia IEEE de 2016 sobre visión por computadora y reconocimiento de patrones (CVPR), 2016:779788.
- P. Viola y M. Jones, “Reconocimiento facial robusto en tiempo real”, Int. J. de Computación. Visión, Vol. 57, No. 2, págs. 137-154, 2004.
- X. Sun, P. Wu y SC Hoi, «Reconocimiento facial mediante aprendizaje profundo: un enfoque RCNN mejorado y más rápido», arXiv:1701.08289, 2017
- Anwar, S., Khan, S., Barnes, N.: Un viaje profundo hacia la superresolución: una encuesta. arXiv(2019)
Crédito: Este proyecto sobre “Detección de objetos en movimiento en tiempo real para vigilancia diurna y nocturna utilizando IA” fue completado por Gaurav Barve, Aditya Chache y Vineet Das en cumplimiento parcial de los requisitos de la Licenciatura en Ingeniería Informática de la Universidad de Mumbai/Facultad de Ingenieros Datta Meghe.
[automatic_youtube_gallery type=»search» search=»Detección de objetos en movimiento en tiempo real para vigilancia diurna y nocturna mediante IA
» limit=»1″]
Real-Time Moving Object Detection for Day-Night Surveillance using AI
Un proyecto de último año sobre «Detección de objetos en movimiento en tiempo real para vigilancia diurna y nocturna utilizando IA» fue presentado por Gaurav Barve / Aditya Chache / Vineet Das (de la Universidad de Mumbai / Datta Meghe College of Engineering) a extrudesign.com.
Resumen
En este proyecto, hemos creado una aplicación web que puede funcionar en varios modos, es decir, la detección de objetos en diferentes medios como imágenes, videos y transmisiones de video en tiempo real desde el dispositivo del usuario. La aplicación tomaría un formato de medio y daría una lista de todos los objetos detectados en él, así como una anotación en el medio original que muestra los objetos detectados. El proyecto implementa disposiciones de procesamiento de imágenes para que los usuarios puedan modificar sus imágenes según sea necesario con la ayuda de Open CV. La aplicación sería compatible en todas las plataformas y en diferentes sistemas operativos, lo que ayudaría a llegar a un público mucho mayor.
Capítulo 1 – Introducción
La detección y seguimiento de objetos en tiempo real son tareas importantes y desafiantes en muchas aplicaciones de visión por computadora, como la videovigilancia y la navegación de vehículos, así como la supervisión en línea en la actualidad. Nuestro proyecto pertenece al mismo dominio y en este proyecto, tenemos que construir una solución integral para todos los requisitos de procesamiento de imágenes y detección de objetos.
1.1) Motivación
El motivo de elegir este proyecto es porque queremos implementar un modelo similar que pueda realizar todas las operaciones regulares y también detectar objetos tanto durante el día como durante la noche, y que, al implementarse, sea útil para la vigilancia en tiempo real. La mayoría de los otros modelos no funcionan tan bien en imágenes nocturnas porque no han sido entrenados con imágenes oscuras. Por lo tanto, queremos cerrar esa brecha entrenando un modelo desde cero con imágenes oscuras. Construir una aplicación web independiente del sistema operativo y del dispositivo que se pueda utilizar en cualquier lugar.
1.2) Objetivo y objetivo
El objetivo principal de la detección de objetos es identificar y localizar uno o más objetivos efectivos a partir de datos de imágenes o videos fijos. Esto incluye de manera integral una variedad de técnicas importantes, como el procesamiento de imágenes, el reconocimiento de patrones, la inteligencia artificial y el aprendizaje automático. Al completar e implementar, cualquier usuario podrá visitar la aplicación web donde puede cumplir con todos los requisitos de detección de objetos, así como procesamiento de imágenes, ya sea en imágenes, videos o detección en tiempo real.
1.3) Aplicación
La detección de objetos se aplica en numerosos campos del procesamiento de imágenes, incluyendo la recuperación de imágenes, la seguridad, la vigilancia, los sistemas de vehículos automatizados y el análisis de máquinas.
Capítulo 2 – Revisión de literatura
La lista de todos los documentos de revisión se menciona en las referencias. A continuación, se resumen los hallazgos de los documentos:
2.1) Sistemas existentes
Los sistemas existentes que aún se utilizan son lentos en procesamiento y requieren un sistema casi perfecto, lo cual es un gran desafío. Tradicionalmente, se utilizaron varios modelos de CNN para lograr la detección precisa; sin embargo, estos modelos son útiles y convenientes, pero no proporcionan la detección más precisa y confiable según los estándares actuales.
2.2) Conclusiones
En comparación con las técnicas de detección de objetos que precedieron a YOLO, como R-CNN, YOLO introdujo una arquitectura unificada única para la regresión de imágenes en cuadros delimitadores y la búsqueda de probabilidades de clase para cada cuadro. Esto significa que YOLO funcionó mucho más rápido y también proporcionó más precisión. Comete menos errores que Fast R-CNN, ya que puede ver el contexto más amplio porque YOLO, a diferencia de Fast R-CNN, puede razonar globalmente la imagen al realizar predicciones. La detección de objetos moderna está diseñada principalmente para imágenes y no explícitamente para videos. Como resultado, los videos deben dividirse en fotogramas individuales antes de que pueda ocurrir la detección. Esto crea ineficiencias como retrasos en la detección, sobrecargas al convertir los videos en fotogramas e ignorar las relaciones a nivel de fotograma. Abordar estos aspectos es un área crítica de desarrollo actual y futuro.
2.3) Tendencias recientes
La mayoría de los detectores requieren una cantidad significativa de datos etiquetados para el entrenamiento. Esto es altamente ineficiente, ya que aumenta el tiempo y los costos del ciclo de desarrollo. Se están realizando esfuerzos para resolver esto. La detección de objetos consume muchos recursos, tanto en términos de intervención humana como de procesamiento del modelo (cómputo). Como resultado, la detección de alta velocidad en tiempo real, especialmente para dispositivos móviles, es un área de desarrollo importante. Auto ML en la detección de objetos también es un enfoque importante. La mayoría de los detectores tienen dificultades con los objetos pequeños. Las inexactitudes en la detección de objetos pequeños son considerablemente mayores que las relacionadas con los de tamaño mediano o grande. Por ejemplo, la detección de objetivos pequeños por teledetección en la gestión de desastres o aplicaciones militares todavía está en desarrollo.
Capítulo 3 – Análisis de requisitos
3.1) Requisitos de software
- Google Colab
- Python 3.6 y superior
- tensorflow==2.6.0
- matplotlib==3.4.3
- numpy==1.19.5
- streamlit==0.69.62
- pandas==1.3.3
- Librerías OpenCV
- Nvidia Cuda y Cudnn
3.1) Requisitos de hardware
- Sistema: Requisitos mínimos
- Sistemas operativos: Windows 7/8/10 (32/64 bits), macOS 10.12+, Linux: cualquier versión de Ubuntu
- CPU: Intel Core i3 de 5.a generación en adelante, AMD Fx 6350+
- GPU: No requerido, ya que utilizaremos GPU en la nube
- Cámara: Acceso a una webcam o cualquier otra cámara externa para la detección en tiempo real
Capítulo 4 – Diseño del proyecto
Recopilación de datos: Los datos utilizados para entrenar el modelo se recopilan de dos formas. En la primera forma, utilizamos el conjunto de datos de imágenes Ex-Dark, que consta de imágenes oscuras de objetos de más de 10 clases. En el segundo método, utilizamos web scraping para descargar imágenes directamente de la web. Anotación de imágenes: Lo más importante del proyecto es anotar los datos, es decir, dibujar cuadros delimitadores en los objetos que queremos detectar. Para esta tarea, utilizaremos el software Roboflow, que se utiliza para anotar imágenes. Además de la anotación, también lo usaremos para aumentar los datos y básicamente aumentar el tamaño de nuestro conjunto de datos para una mejor precisión. Importación del framework: Para usar el modelo YOLO, importaremos el framework darknet de GitHub. Después de eso, usaremos un script .py para generar las rutas de archivos de nuestras imágenes. Luego haremos algunos cambios en el archivo .cfg de nuestro modelo, como cambiar el tamaño del lote, proporcionar las rutas de archivo de nuestras imágenes y etiquetas, cambiar el número de épocas, etc. Entrenamiento del modelo: Esto también es una parte importante del flujo de trabajo. Básicamente, nuestro objetivo final es detectar objetos en datos no vistos y para lograr esto, primero debemos entrenar el algoritmo que vamos a usar en nuestros datos recopilados y anotados. El algoritmo que utilizaremos para el entrenamiento es un modelo de detección de objetos de una etapa llamado YOLOv4. Prueba e implementación del modelo: Después de que se complete el entrenamiento, evaluaremos el modelo en nuestros datos de prueba y, si estamos satisfechos con los resultados, lo guardaremos e implementaremos como una aplicación web. Para la fase de implementación, utilizaremos Streamlit, que es un marco de Python de código abierto para crear aplicaciones web. Después de crear la aplicación web, la implementaremos en Heroku, que es una plataforma en la nube para alojar aplicaciones web.
Capítulo 5 – Implementación del diseño de la detección de objetos en movimiento en tiempo real utilizando IA
Para entender cómo hemos implementado el proyecto, veamos el diagrama de flujo de nuestro proyecto.
Desde el diagrama de flujo anterior, podemos ver la implementación del proyecto. Inicialmente, colocamos todos nuestros datos en Google Drive y proporcionamos la ruta en Colab para construir nuestro modelo. Después de guardar el modelo, lo guardamos en un archivo .cfg y los pesos. El mismo modelo se utilizaría para la detección en imágenes, videos y análisis en tiempo real. El modelo se almacenará en la memoria caché de Streamlit para evitar retrasos en el procesamiento de los medios de entrada. Para el procesamiento de imágenes, utilizaremos la biblioteca OpenCV proporcionada por Python para modificar, cambiar y probar imágenes. El menú desplegable permitirá al usuario elegir en qué medio desea acceder a la aplicación.
Después de una ejecución exitosa, lo implementamos con el uso de Heroku, una plataforma en la nube como servicio (PaaS) que admite varios lenguajes de programación. Esto permitiría al usuario acceder a la aplicación web en cualquier plataforma y sistema, ya que no está limitado a una plataforma o sistema operativo en particular.
Capítulo 6 – Tecnologías utilizadas para la detección de objetos en movimiento en tiempo real
6.1) Streamlit
Streamlit es una biblioteca de Python de código abierto que facilita la creación y el uso compartido de aplicaciones web personalizadas y hermosas para el aprendizaje automático y la ciencia de datos. En solo unos minutos, puedes crear y implementar potentes aplicaciones de datos. Interfaz fácil y amigable para que los usuarios naveguen.
6.2) Google Colab
Colab es un entorno de bloc de notas Jupyter gratuito que se ejecuta completamente en la nube. Lo más importante es que no requiere una configuración y los cuadernos que creas pueden ser editados simultáneamente por los miembros de tu equipo, al igual que los documentos en Google Docs. Colab admite muchas bibliotecas populares de aprendizaje automático que se pueden cargar fácilmente en tu cuaderno. Colaboratory, o ‘Colab’ para abreviar, te permite escribir y ejecutar Python en tu navegador, sin necesidad de configuración, acceso gratuito a GPUs y fácil uso compartido.
6.3) Roboflow
Roboflow es un marco de desarrollo de visión por computadora para una mejor recopilación, preprocesamiento y técnicas de entrenamiento de modelos. Roboflow tiene conjuntos de datos públicos disponibles para los usuarios y acceso para que los usuarios carguen sus propios datos personalizados.
6.4) YOLO
YOLO es un algoritmo que utiliza redes neuronales para proporcionar detección de objetos en tiempo real. Este algoritmo es popular debido a su velocidad y precisión. Se ha utilizado en varias aplicaciones para detectar señales de tráfico, personas, parquímetros y animales.
6.5) Marco de trabajo Darknet
Darknet es un marco de código abierto de alto rendimiento para la implementación de redes neuronales. Escrito en C y CUDA, se puede integrar con CPU y GPU. Se pueden realizar implementaciones avanzadas de redes neuronales profundas utilizando Darknet. Estas implementaciones incluyen You Only Look Once (YOLO) para detección de objetos en tiempo real, clasificación de ImageNet, redes neuronales recurrentes (RNN) y muchas otras.
Capítulo 7 – Pruebas, resultados y alcance futuro
Entrenar un modelo de detección de objetos en imágenes personalizadas requiere mucho tiempo, por lo que, para evitar errores, primero lo entrenaremos en un subconjunto del conjunto de datos. Después de completar el entrenamiento en el subconjunto, probaremos la precisión del modelo en las imágenes de prueba que dividimos durante el preprocesamiento. Si estamos satisfechos con la precisión, luego entrenaremos el modelo en todas las imágenes. Los resultados de las pruebas se pueden visualizar con un gráfico de pérdida versus precisión.
Después de entrenar con el conjunto de datos completo, si obtenemos una precisión satisfactoria, guardaremos los pesos y el modelo entrenados y luego los utilizaremos para crear una aplicación web para la detección de objetos y, finalmente, implementaremos la aplicación en la nube.
El alcance futuro de este proyecto es que esta tecnología se puede aplicar en campos de IA más sólidos, como vehículos autónomos, sistemas de vigilancia, etc.
FAQ:
- ¿Cuál es el objetivo principal de este proyecto?
- ¿Por qué se eligió este proyecto?
- ¿Qué tecnologías se utilizan en este proyecto?
- ¿Cuáles son las aplicaciones potenciales de este proyecto?
El objetivo principal de este proyecto es desarrollar una solución integral para la detección de objetos en movimiento en tiempo real en distintos medios como imágenes, videos y transmisiones en vivo.
Este proyecto fue elegido porque queremos implementar un modelo que pueda funcionar tanto de día como de noche, ya que la mayoría de los modelos existentes no funcionan bien en imágenes nocturnas. Además, queremos construir una aplicación web compatible con diferentes plataformas y sistemas operativos.
Se utilizan tecnologías como Streamlit para crear la aplicación web, Google Colab para el desarrollo y entrenamiento del modelo, y Darknet para la implementación de redes neuronales.
Este proyecto tiene aplicaciones potenciales en áreas como vigilancia de seguridad, sistemas de navegación de vehículos y supervisión en tiempo real.
Capítulo 8 – Referencias
- Real-time Vehicle monitoring for traffic surveillance and adaptive change detection using Raspberry Pi camera module 2017 IEEE Region 10 Humanitarian Technology Conference (R10- HTC)
- Convolutional Neural Network-Based Human Detection in Nighttime Images Using Visible Light Camera Sensors
- Making of Night Vision: Object Detection Under Low-Illumination
- Learning Enriched Features for Real Image Restoration and Enhancement
- Object Detection for Night Surveillance 2010 Sixth International Conference on Intelligent Information Hiding and Multimedia Signal Processing
- Joseph Redmon, Santosh Divval, Ross Girshick, Ali Farhadi. «You Only Look Once: Unified, Real-Time Object Detection» [J].2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016:779788.
- P. Viola and M. Jones, «Robust real-time face detection,» Int. J. of Comput. Vision, vol. 57, no. 2, pp. 137–154, 2004.
- X. Sun, P. Wu, and S. C. Hoi, «Face detection using deep learning: An improved faster rcnn approach,» arXiv:1701.08289, 2017
- Anwar, S., Khan, S., Barnes, N.: A deep journey into super-resolution: A survey. arXiv(2019)
Crédito: Este proyecto sobre «Detección de objetos en movimiento en tiempo real para vigilancia diurna y nocturna utilizando IA» fue completado por Gaurav Barve, Aditya Chache y Vineet Das en cumplimiento parcial de los requisitos del título de Licenciado en Ingeniería Informática de la Universidad de Mumbai / Datta Meghe College of Engineering.
