




Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Pequeno ejemplo de como seguir un objeto
Tipo: Apuntes
1 / 8
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





Para la implementación del software que se utilizara para el seguimiento de un objeto en específico es Python 3 ya que es muy utilizado en procesamiento de imágenes como también en procesamiento de videos gracias a su librería OpenCV y para utilizar vectores y matrices de alto nivel la librería Numpy.
Python es un lenguaje de programación interpretado con una sintaxis de código legible que usa tipado dinámico y es multiplataforma.
Es multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional, lo cual permite implementar el sistema seguidor de objeto sin saber a priori, sobre que tipo de hardware y sistema operativo es finalmente ejecutado.
1.1.2. OpenCV
OpenCV es una biblioteca libre de visión artificial desarrollada por Intel. OpenCV tiene una infinidad de aplicaciones desde sistemas de seguridad
Figura 1: Logotipo de Python
cámaras de red incluyen una lente, un sensor de imagen, uno o más procesadores y memoria. Como un ordenador, la cámara de red dispone de su propia dirección IP, es decir que trababa a nivel de capa 3 en el modelo OSI, está directamente conectada a la red y se puede colocar en cualquier ubicación en la que exista una conexión de red. Esta característica es la diferencia respecto a una cámara Web, que únicamente puede ejecutarse cuando está conectada a un ordenador personal (PC)o Laptop por medio del puerto USB
En las cámaras IP se pueden integrarse aplicaciones como detección de presencia (incluso él envió de mail si detectan presencia), grabación de imágenes o secuencias en equipos informáticos (tanto en una red local o en una red externa WAN), de manera que se pueda comprobar por que ha saltado la detección de presencia y se graben imágenes de lo sucedido
1.1.4.1. Cámara PTZ
Las cámaras PTZ pueden rotar alrededor de dos ejes, uno horizontal y otro vertical, también pueden acercarse o alejarse ( zoom ) para enfocar un área u objeto deseado de forma manual o automática. Dicho de otra forma, este tipo de cámaras es capaz de rotar en un plano vertical y ( tilt ) y en un plano horizontal x ( panning ), además de acercarse o alejarse de forma manual o automática.
Figura 4: Tipos de movimiento de Rotación de la PTZ
1.1.5. Computadora
Las características mínimas de una computadora o laptop para la implementación son las siguientes:
Par a la imp lem ent aci ón del proyecto se necesita una red con capacidad IP es decir ya sea igual o mayor a capa 3 del modelo OSI, es por eso que se necesita un router en la red. Es necesario que la cámara IP PTZ se le pueda asignar una IP ya sea por protocolo DHCP que brinda el router o de forma manual. La cámara PTZ cuenta con un servidor web incluido donde se encuentran las diferentes funciones y características de la cámara. Para acceder a este servidor web se debe colocar en el buscador la ip que se le asigno. Dicha cámara tiene capacitad de rotación en el eje X(horizontal) y en el eje Y(vertical) por lo que nos será muy útil para el seguimiento de un objeto en específico.
Figura 5: Diagrama Lógico del ProyectoFigura 6: Diagrama de bloque de la Explicación del Laboratorio
La etapa de entrenamiento consiste en obtener un modelo del objeto al cual se pretende seguir. Para llevarla a cabo se puede utilizar un patrón témplate ya conocido o aprenderlo de imágenes capturadas del mismo objeto. Hay que tomar varios templates del objeto, donde cada uno de los templates corresponde a una pose diferente. Es muy importante cubrir con la mayor cantidad de templates del objeto posibles. Luego, este se utilizará´ en la detección para ubicar la representación del objeto dentro de una imagen cualquiera. Una vez conocido el témplate no se requiere de una nueva ejecución del entrenamiento.
La segunda etapa, la de detección, radica en encontrar dentro de un frame del video al objeto en cuestión, utilizando el método de detección deseado, valiéndose de la información obtenida en la etapa de entrenamiento. Esta etapa se ejecuta, con el propósito de encontrar en la imagen el objeto a seguir, al comienzo del sistema de seguimiento y cuando el seguimiento frame a frame falla. Dado que la etapa de detección suele ser la más costosa en términos de desempeño computacional es deseable que se ejecute la menor cantidad de veces posible.
La tercera etapa es la de seguimiento de objetos, la cual depende de la etapa de detección del objeto. Si no se detecta correctamente al objeto no se puede proseguir a seguirlo, llegando a la conclusión, que el seguir la trayectoria de un objeto depende directamente de la detección de dicho objeto como observa en el diagrama de flujo de la figura 8. Esta etapa consiste en seguir frame a frame el objeto detectado en la etapa anterior. Esta etapa es la más importante ya que es la que se ejecuta en cada frame del video en tiempo real. Para seguir la trayectoria de un objeto, se necesita predecir su ubicación en el futuro a partir de las observaciones que se hayan hecho del mismo en tiempos pasados y presente. Una ves se estime la trayectoria futura, con la funcionalidad de la PTZ de girar en el eje X(horizontal), se prosigue a seguir al objeto, acoplar su trayectoria y velocidad a la del objeto seguido.
Figura 7: Diagrama de bloque de un sistema seguidor de objeto
En la figura 8, Las flechas negras indican las fases importantes del esquema presentado en la figura 6. Las flechas punteadas son transiciones opcionales que indican que el entrenamiento además puede nutrirse de la información recolectada del objeto durante la detección y el seguimiento del objeto. Si la técnica de seguimiento tiene una efectividad baja, es decir, no se logra identificar la nueva posición del objeto en el siguiente frame, se debe volver a la fase o etapa anterior degradando el desempeño de todo el sistema, como se mencionó anteriormente.
En la fase de análisis del objeto en los diferentes fotogramas de un video en tiempo real quizás sea la parte más compleja ya que no se puede saber con exactitud que va a ser un objeto en los próximos minutos ya que existen diferentes factores de dificultan el seguimiento de la trayectoria del objeto como ser: Cambios bruscamente de la posición del objeto (quizás la persona este corriendo muy rápido), Iluminación del Ambiente, Ruido o también si el objeto se encuentra obstruido. Se tratará de disminuir al máximo dichos factores para tener mejores resultados. El objetivo del análisis de video es extraer y procesar información relacionada con el comportamiento de un objeto en una escena en específico.
Hay que tomar en cuenta que existen ya modelos entrenados y listos para usar, que sirven para reconocer objetos comunes, como ser: persona, auto, bicicleta, auto. Para el objetivo del laboratorio es reconocer personas. En el caso de necesitar el reconocimiento de objetos específicos que no se encuentren en los modelos previamente entrenados, sólo se necesitaría contar con un set de datos etiquetados suficientemente grande y diverso, con imágenes de los objetos que queremos que el sistema reconozca para entrenar la red nuevamente, el cual se utilizara en la implementación del laboratorio como se explicó en la etapa de entrenamiento.
Figura 8: Diagrama de Flujo de un sistema seguidor de objeto