ES2649056B1 - Sistema de detección y medición de peces y objetos móviles bajo el agua - Google Patents

Sistema de detección y medición de peces y objetos móviles bajo el agua Download PDF

Info

Publication number
ES2649056B1
ES2649056B1 ES201600585A ES201600585A ES2649056B1 ES 2649056 B1 ES2649056 B1 ES 2649056B1 ES 201600585 A ES201600585 A ES 201600585A ES 201600585 A ES201600585 A ES 201600585A ES 2649056 B1 ES2649056 B1 ES 2649056B1
Authority
ES
Spain
Prior art keywords
scanner
fish
objects
silhouette
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES201600585A
Other languages
English (en)
Other versions
ES2649056A1 (es
Inventor
Juan Ramón Rabuñal Dopico
Jerónimo PUERTAS AGUDO
Alvaro Rodriguez Tajes
Ángel Jose RICO DIAZ
André CONDE VÁZQUEZ
Adrián PALLAS FERNÁNDEZ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universidade da Coruna
Original Assignee
Universidade da Coruna
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universidade da Coruna filed Critical Universidade da Coruna
Priority to ES201600585A priority Critical patent/ES2649056B1/es
Publication of ES2649056A1 publication Critical patent/ES2649056A1/es
Application granted granted Critical
Publication of ES2649056B1 publication Critical patent/ES2649056B1/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Sistema de detección y medición de peces y objetos móviles bajo el agua, que comprende un escáner 3D (1) para la medición mediante sensores de luz de la distancia de los puntos de una escena (6) en un entorno acuático (7); una unidad de procesamiento de datos (5) configurada para generar información de la posición y tamaño de los objetos móviles detectados en el entorno acuático (7) a partir de las señales recibidas por el escáner 3D (1); y una unidad de control de usuario (4) para la representación en una pantalla (8) de los datos de posición y tamaño de los objetos detectados.#Se trata de un sistema no invasivo para las especies donde los peces detectados son seguidos correctamente hasta dejar de ser visibles, son separados en el caso de estar solapados y son medidos correctamente.

Description

5
10
15
20
25
30
35
SISTEMA DE DETECCIÓN Y MEDICIÓN DE PECES Y OBJETOS MÓVILES BAJO EL
AGUA
DESCRIPCIÓN
Campo de la invención
La presente invención se engloba dentro del campo de los sistemas de detección de objetos bajo el agua, especialmente peces, de manera individual y en tiempo real.
Antecedentes de la invención
Tradicionalmente, la detección de objetos bajo el agua, y específicamente la detección y cuantificación de peces, se realiza por medio de sonar o cámara fotográfica.
Los métodos de sonar están normalmente diseñados para formar parte de un barco o vehículo submarino y están enfocados a detectar bancos de peces para pesca. En el documento de patente JP2006003159 se emplea también un método de sonar para detectar el paso de peces en un tramo de un río preparado para realizar la medición.
Por su parte los métodos basados en el uso de cámaras fotográficas son métodos muy invasivos ya que obligan a pasar al pez a través de distintos compartimentos o conducciones. Por ejemplo, en el documento de patente WO2012038415 los peces son extraídos de un tanque por un conducto que los dirige a una canalización donde se encuentra la cámara fotográfica junto con otros compartimentos, para finalmente dirigir a los peces a un nuevo tanque.
Sin embargo, los métodos actuales de detección de objetos y peces en circulación bajo el agua no permiten realizar la medición y seguimiento en tiempo real de los mismos, además de la detección y seguimiento de peces cuando se encuentran solapados unos con otros. La presente invención permite resolver este problema.
Descripción de la invención
La invención se refiere a un sistema de detección y medición de peces y objetos bajo el agua. El sistema comprende:
- Un escáner 3D para la medición mediante sensores de luz de la distancia de los
5
10
15
20
25
30
puntos de una escena en un entorno acuático,
- Una unidad de procesamiento de datos configurada para generar información de la posición y tamaño de los objetos móviles, preferentemente peces, detectados en el entorno acuático a partir de las señales recibidas por el escáner 3D.
- Una unidad de control de usuario para la representación en una pantalla de los datos de posición y tamaño de los objetos detectados.
El escáner 3D puede ser un escáner de luz estructurada o un escáner de tiempo de vuelo.
La unidad de procesamiento de datos puede estar configurada para determinar la presencia o ausencia de peces en los objetos detectados en la escena, y la concentración y el tamaño de los peces.
En una realización preferida el entorno acuático recogido en la escena del escáner 3D se ubica en el interior de un canal de paredes transparentes, estando el escáner 3D posicionado en el exterior de dicho canal a una determinada distancia. La unidad de procesamiento de datos está configurada para obtener la distancia real a los objetos en el interior del canal mediante correcciones de las medidas realizadas por el escáner 3D en función de dicha distancia.
Para la medición del tamaño y posición de un objeto la unidad de procesamiento de datos está preferiblemente configurada para:
- Extraer el contorno del objeto mediante técnicas de segmentación a partir de una imagen de profundidad obtenida del escáner 3D.
- Obtener una elipse que minimiza la distancia a los puntos del contorno.
- Obtener los puntos extremos de los dos ejes de dicha elipse.
- Determinar los puntos del contorno más cercanos a los puntos extremos de los ejes de la elipse, obteniendo los puntos extremos del objeto.
La unidad de procesamiento de datos está configurada para detectar el tamaño de un objeto solapado mediante:
- Obtención de los contornos continuos de objetos en una imagen de profundidad del escáner.
5
10
15
20
25
30
- Extracción de siluetas individuales correspondiente a dichos contornos continuos.
- Combinación de siluetas individuales para obtener una silueta combinada.
- Obtención del contorno de la silueta combinada aplicando la envolvente convexa.
- Obtención de la elipse que minimiza la distancia a los puntos de la envolvente convexa.
- Determinar los puntos del contorno de la silueta combinada más cercanos a los puntos extremos de los ejes de la elipse, obteniendo los puntos extremos del objeto.
La unidad de procesamiento de datos puede estar configurada para clasificar los objetos detectados como peces mediante una máquina de soporte vectorial. Las características empleadas para realizar la clasificación comprenden el área de la envolvente convexa, el área de la silueta, la longitud en el espacio real de la silueta y la anchura del espacio real de la silueta.
La unidad de procesamiento de datos puede está preferentemente configurada para realizar un seguimiento de los objetos en la escena en imágenes consecutivas capturadas por el escáner 3D teniendo en cuenta las características y posición de las siluetas de los objetos en las diferentes imágenes.
La presente invención se puede emplear para monitorizar las escalas de hendidura vertical, una de las estructuras más utilizadas para sortear obstáculos como presas, centrales hidroeléctricas y otras. Conocer la frecuencia con la que los peces atraviesan este tipo de estructuras puede ayudar a conocer la eficacia de las mismas, así como a conocer características migratorias de las especies, determinar si e! curso fluvial está sano o determinar si se puede pescar con garantías de conservación y mejora de la fauna.
Breve descripción de los dibujos
A continuación se pasa a describir de manera muy breve una serie de dibujos que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta.
La Figura 1 representa un ejemplo de montaje de los componentes del sistema.
Las Figuras 2A, 2B y 2C muestran los pasos de extracción de los extremos del objeto en el
5
10
15
20
25
30
35
proceso de medición.
Las Figuras 3A y 3B representan, respectivamente, la medición de los puntos extremos del objeto y la medición del objeto.
Las Figuras 4A-4D representan, en un solapamiento de dos peces, la profundidad de la región tras reducción de histograma (Figura 4A), los bordes detectados por Canny (Figura 4B), los bordes unidos (Figura 4C), y las siluetas extraídas (Figura 4D).
Las Figuras 5A y 5B muestran la obtención de forma de la nueva silueta combinada cuando hay solapamiento: contorno de la combinación (Figura 5A) y puntos seleccionados para medición (Figura 5B).
La Figura 6 ilustra un diagrama de casos de uso.
La Figura 7 muestra un diagrama de secuencia del bucle principal.
Descripción detallada de la invención
La Figura 1 muestra un despliegue del sistema de detección y medición en tiempo real de peces y objetos bajo el agua de acuerdo a una posible realización de la presente invención. El sistema comprende un sensor o escáner 3D 1, preferentemente láser, encargado de medir mediante sensores de luz las distancias de los puntos de una escena 6 en un entorno acuático 7.
El escáner 3D 1 se posiciona en el exterior de un canal 3 de paredes transparentes (e.g. de cristal), dentro del cual se encuentra el medio acuático 7. El escáner 3D 1 también podría estar colocado en el interior del medio acuático 7, dentro de una caja estanca, a una distancia mínima de 40 centímetros de espacio libre al lugar donde se quiere realizar la detección. Según se muestra en el ejemplo de la Figura 1, la escena 6 recogida por el escáner 3D 1 engloba una sección del canal 3 de cristal del entorno acuático 7 donde el sistema realiza las detecciones y mediciones. Como el entorno acuático 7 en condiciones normales dispone de baja luminosidad, el escáner 3D emplea preferentemente luz infrarroja para la detección de objetos, evitando de esta forma el uso de fuentes de luz adicionales.
El sistema comprende así mismo una unidad de procesamiento de datos 5 encargada de
5
10
15
20
25
30
35
analizar las señales recibidas por el escáner 3D 1 y obtener, a partir de dicho análisis, información de la posición y tamaño de los objetos detectados bajo el agua.
Finalmente, una unidad de control de usuario 4 se encarga de mostrar en una pantalla 8 los datos de posición y tamaño de los objetos detectados. La unidad de control de usuario dispone de una interfaz a partir de la cual un usuario puede configurar el sistema de medición. El conjunto unidad de procesamiento de datos 5 y unidad de control de usuario 4 se puede implementar por ejemplo en un ordenador.
El escáner 3D 1 se sitúa a una determinada distancia D de! cristal del canal 3. La distancia D se puede modificar y configurar a través de la interfaz de la unidad de control de usuario 4, para que se pueda realizar una corrección de las medidas debidas a los efectos de refracción del agua. La sección de canal 3 seleccionada para la colocación del escáner 3D 1 corresponde a un lugar donde los peces 2 pasen próximos al sensor o escáner 3D 1, a una distancia máxima determinada en función del tipo de sensor seleccionado. El escáner 3D 1 empleado puede ser un escáner de luz estructurada o un escáner de tiempo de vuelo.
En una posible realización el escáner 3D 1 se sitúa aproximadamente a 65 cm de las paredes del canal 3. En esa posición, el escáner de luz estructurada puede detectar peces 2 y objetos móviles a una distancia máxima del cristal de unos 40 cm, mientras que el escáner de tiempo de vuelo puede detectar objetos a más distancia, a unos 80 cm de las paredes del canal 3. Si se cumplen estas restricciones de distancia máxima todos los peces pueden ser detectados y medidos correctamente por el escáner 3D 1, trasladando los datos a la unidad de procesamiento 5 que a su vez estará conectada con la unidad de control del usuario 4.
El sistema de detección y medición de la presente invención funciona en tiempo real, sin retardos, y a un mínimo de 10 imágenes por segundo. El sistema es capaz de realizar las siguientes funciones:
-Detección de objetos móviles dentro del canal 3.
-Medición de las dimensiones de los objetos detectados.
-Detección o identificación de peces 2 visibles en la escena 6 cuando no se encuentran solapados.
-Seguimiento simple de peces 2 (sin solapamientos).
-Detección o identificación de peces 2 cuando se encuentran solapados (extracción de todos los peces solapados).
5
10
15
20
25
30
35
-Seguimiento completo de peces 2 (con solapamientos).
El escáner 3D 1, ya sea de luz estructurada o de tiempo de vuelo, obtiene mediante sensores de luz una nube de puntos con la profundidad de la escena.
El escáner 3D de luz estructurada mide la distancia de cada uno de los puntos de la escena 6 por medio de la proyección de un patrón de luz infrarroja que es captada por una cámara, para lo cual utiliza un emisor de infrarrojos y una cámara infrarroja. Adicionalmente cuenta con una cámara RGB que será utilizada para afinar la detección en caso de que las condiciones lumínicas lo permitan, así como para mostrar una imagen más clara de la detección para el usuario final.
El escáner 3D de tiempo de vuelo utiliza un método diferente para calcular las distancias de cada uno de los puntos de la escena 6. En este caso, mediante la emisión de pulsos de luz y la medición del tiempo del viaje de ida y vuelta de los pulsos de luz se determina la distancia de los puntos de la escena 6 al sensor. Un diodo láser emite un pulso de luz y se cronometra el tiempo que pasa hasta que la luz reflejada es vista por un detector. Este tipo de escáner 3D tiene una mejor resolución y calidad de las imágenes capturadas.
A continuación, se describe en detalle el proceso de detección y medición de peces y objetos móviles bajo el agua con cada uno de los dos escáneres 3D.
El escáner de luz estructurada se sirve de 3 tipos de cuadros o imágenes, una imagen de color, una imagen de infrarrojos y otra imagen de profundidad, con una frecuencia de 30 imágenes por segundo. Estos tres tipos de imágenes no pueden ser obtenidas simultáneamente, sino que existen dos modos con los que se puede trabajar, el modo noche en el que se adquiere la imagen de profundidad y la imagen de infrarrojos, y el modo normal en el que se adquiere la imagen de color y la imagen de profundidad.
La combinación entre la imagen de infrarrojos y la imagen de profundidad es trivial, ya que la imagen de profundidad es calculada directamente a partir de la imagen de infrarrojos y cada pixel l(N,M) de la imagen de infrarrojos representa el mismo punto que su píxel homologo P(N,M) en la imagen de profundidad, por lo que superponiendo ambas imágenes se puede realizar operaciones con ellos u obtener una nueva imagen con dos canales.
5
10
15
20
25
30
Sin embargo, la combinación entre la imagen de color y la imagen de profundidad no se puede realizar directamente ya que la cámara infrarroja se encuentra desplazada con respecto a la cámara de color, con lo que esta combinación ha de ser realizada a partir de una función que asocie la posición de un pixel y su valor en la imagen de profundidad (distancia) con su posición en la imagen de color. El escáner 3D proporciona una función que a partir de ambas imágenes genera una imagen donde se emparejan ambas.
El escáner 3D 1 de luz estructurada es calibrado antes de iniciar del proceso de detección. Teniendo en cuenta que el sensor subestima la distancia real al objeto cuando existe agua de por medio, se considera una función para el cálculo de la distancia real a un punto P1 conociendo la distancia a la sección de canal 3 examinada y la medición realizada por el sensor. Esta función es útil para realizar correcciones, aunque sea en realidad una aproximación.
Dist (Sensor, P1) = Dist (Sensor, Cristal) + [Medición(PI) - Dist (Sensor, Cristal)] x 1.35
La constante obtenida de las mediciones para la corrección de la distancia recorrida por la luz dentro del agua es muy similar al índice de refracción del agua por lo que se entiende que la causa de que el sensor subestime la distancia es la refracción del agua. En el ejemplo considerado en ia Figura 1 se ha aproximado la solución observando el grado de visibilidad de los peces en las imágenes obtenidas, obteniendo las siguientes conclusiones:
-Distancia óptima al cristal del canal: 60 a 70 centímetros.
-Angulo optimo (eje Y) de 0 C°. En el caso de ser necesario girar un poco el sensor a causa de reflejos directos, el giro debe ser en la dirección de las agujas del reloj.
-Es importante asegurarse de que no se produce un reflejo directo del haz de luz infrarroja en la lente de la cámara infrarroja. Esto se puede comprobar visualizando la imagen de infrarrojos, y se soluciona girando levemente el sensor.
-Si el reflejo del cristal perturba la imagen de profundidad excesivamente, es posible colocar el sensor en una posición ligeramente más alta que la sección de canal 3. Esto no perturba la medición de los peces y elimina el reflejo anteriormente mencionado, aunque tiene la desventaja de que tan solo se utiliza la mitad inferior de la imagen para la detección.
Para realizar ia medición de objetos con el escáner 3D de luz estructurada no es suficiente con obtener la distancia del objeto, ya que es necesario también conocer su posición en los
5
10
15
20
25
30
ejes X e Y. El sensor proporciona una función que a partir de un punto en la imagen de profundidad devuelve su posición en el mundo real en coordenadas cartesianas con respecto al sensor.
Para llevar a cabo la medición automática de un objeto es necesaria la obtención automática de los extremos del mismo. Teniendo en cuenta que todavía no se ha detectado el objeto (posteriormente se utilizará en objetos detectados), es necesario extraer la máscara del pez (imagen donde los píxeles que corresponden al pez se encuentran iluminados y el resto no) de manera manual a partir de la imagen de profundidad, y a partir de ella realizar el cálculo automático de los extremos.
El método consiste en extraer el contorno 9 del objeto (Figura 2A) a partir de la máscara (por ejemplo, utilizando la función “findContours" de la biblioteca de visión artificial OpenCV) y buscar la elipse 10 (Figura 2B) que minimice la distancia a los puntos del contorno 9 obtenido (por ejemplo, mediante la función “fitEllipse” de OpenCV), tras lo cual se obtienen los cuatro puntos extremos 11 de los dos ejes de la elipse 10, como se muestra en la Figura 2C.
Posteriormente, se procede a obtener los puntos extremos 13 del objeto (Figura 3A) y su posición en el espacio real. Para ello se buscan los puntos del contorno 9 más cercanos a los puntos extremos 11 de los ejes de la elipse y estos son asignados como puntos extremos 13 del objeto. La función "findContours” de OpenCV devuelve contornos pertenecientes al objeto, por lo que obteniendo el valor de los puntos extremos 13 de! objeto en la imagen de profundidad se obtienen las distancias de estos cuatro puntos 13 al plano del sensor.
Con la distancia de los puntos extremos 13 al sensor y su posición en la imagen de profundidad, se obtienen las coordenadas de los puntos con respecto al sensor en el espacio real, empleando por ejemplo la función “NuilmageTransform”, y con ello la medición del objeto (Figura 3B).
La corrección reduce el error en las mediciones, por lo que es recomendable utilizarla. Por esta razón se habilita la posibilidad de que el usuario introduzca en el sistema, empleando el interfaz de la unidad de control de usuario 4, la distancia a la que se encuentra el canal 3
5
10
15
20
25
30
con respecto al escáner 3D 1 para poder realizar la corrección (en el caso de no disponer de esta información se realizará una medición estándar, sin correcciones).
Una vez realizada el estudio de los datos que proporciona el escáner 3D 1 de luz estructurada y la calibración de los mismos, se debe realizar una sustracción del fondo para poder centrar los recursos en las regiones donde exista movimiento, que serán las que no pertenecen al fondo y donde se encuentren los objetos de la escena.
La sustracción de fondo es una disciplina ampliamente conocida en el ámbito de la visión artificial y es utilizada como preprocesado en numerosos problemas de detección de objetos. Esta disciplina se basa en filtrar aquellas áreas de la escena que pertenecen al fondo. Este método permite descartar gran parte de la información, obtener las formas de los objetos de la escena y centrar los recursos de detección en las áreas donde estos se encuentran. El problema principal es la obtención de una máscara en la que únicamente los píxeles pertenecientes a los objetos de la escena estén iluminados utilizando como entrada el fondo y una imagen de la escena. En ciertas situaciones, en las que el fondo no puede ser pasado como entrada al algoritmo, existe el problema de aprendizaje del fondo, común en aproximaciones en la que existe un bajo control sobre la escena, esta es dinámica o el sensor cambia su posición.
Una vez aprendido el fondo, el siguiente paso es generar una máscara que represente el movimiento. El procedimiento utilizado es conocido, y consiste en restar a la imagen el fondo y quedarse con aquellos píxeles que superen un determinado umbral (en una realización se ha asignado en 4). Debido a las características de la imagen de profundidad se han añadido algunas restricciones al algoritmo:
- Si el fondo es 0 y la imagen es distinto de 0 existe movimiento.
- Si la imagen es 0 nunca existe movimiento.
- Existe movimiento si la imagen se encuentra más cerca del fondo y no al contrario.
La aplicación de umbrales altos (mayores que 8) reducen considerablemente el ruido en la máscara, pero produce errores dentro de la figura de los peces. Por el contrario, los umbrales bajos producen una gran cantidad de ruido en el entorno y no garantizan el acierto total con los peces. La aproximación que mejor funciona es la introducción de la imagen de infrarrojos en el algoritmo MOG2 con un umbral de 10, eliminando el ruido pero dejando las
5
10
15
20
25
30
35
siluetas de los peces dañadas, y posteriormente la aplicación de un operador morfológico de cerradura con un kernel elíptico 10x10 para la recomposición de los peces.
La sustracción de fondo será realizada en ambas imágenes. No se realiza una combinación de las mismas al menos en esta fase. La máscara de la imagen de profundidad es extremadamente fiable cuando el sensor logra ver al pez. En cambio, la sustracción en la imagen de infrarrojos es menos precisa pero siempre que el pez se encuentre en la escena consigue verlo. Por lo tanto, se utilizará la máscara de profundidad a la hora de acometer las próximas fases de detección, si bien la máscara empleada para realizar la sustracción en la imagen de infrarrojos puede resultar de gran utilidad en el seguimiento (para poder mantener la identidad de un pez si resulta invisible a la imagen de profundidad durante varias imágenes consecutivas).
A continuación se realiza el proceso de segmentación. Para ello es necesario separar cada uno de los componentes de las regiones de movimiento en componentes más pequeños, llamados siluetas, que pueden ser peces completos o partes de peces ocluidos por objetos o por otros peces. Para esta tarea se focaliza la atención en cada una de las regiones de movimiento.
El primer paso del proceso de segmentación consiste en obtener todas las regiones de movimiento y filtrar aquellas que sean demasiado pequeñas. Para ello se puede aplicar la función “findContours" de OpenCV (la cual obtiene los contornos de una imagen binaria) a la máscara de entrada, filtrando los contornos que no superen un área mínima de 100 píxeles.
Posteriormente, para cada una de las regiones de movimiento se obtiene el marco mínimo que contiene a cada uno de los contornos. A partir de este marco se obtiene una imagen de profundidad de la región recortada de la imagen de profundidad original y se genera un blob de la región, que se trata de una máscara del tamaño del marco en la que se encuentra marcada el área interior al contorno (sin restos de otras regiones que pueden estar incluidas en el marco).
Para cada una de las regiones de movimiento se filtra su blob y su imagen de profundidad, lo cual es suficiente si en la región tan solo se encuentra un objeto. En caso de que en la región de movimiento haya más de un objeto, se deben separar los objetos que se encuentran dentro de ellas. Para esta tarea se utiliza el detector de bordes Canny sobre la
5
10
15
20
25
30
35
imagen de profundidad, teniendo en cuenta que el margen de error de la imagen de profundidad para los valores distintos de 0 es bastante bajo.
Un problema encontrado a la hora de utilizar Canny sobre la imagen de profundidad de la región es que en OpenCV tan solo se ha implementado Canny para Imágenes de 8 bits, por lo que es necesario reducir el histograma para pasar de 16 bits a 8 bits (Figura 4A). La pérdida de información es evidente, por lo que esta reducción tan solo se aplica para realizar la detección de bordes y posteriormente se seguirá trabajando con la imagen de 16 bits. No obstante, para realizar una correcta detección de bordes la reducción del histograma se realiza de manera que se pierda el mínimo de información, para lo cual se ponen a 0 los valores de la imagen de profundidad de la región que no pertenecen al blob y se obtienen el máximo y el mínimo (distinto de 0) de la misma. Si la diferencia entre el máximo y el mínimo es menor que 255, el máximo se asigna a mínimo+255 y posteriormente se calcula el multiplicador utilizado para la reducción, mult = (max-min)/255. Si no se realiza este proceso el valor de los píxeles resultantes en la imagen de 8 bits dependerá de la heterogeneidad de la imagen de 16 bits, y no se mantendrá el sentido de los datos ni se podrá establecer correctamente un umbral para Canny.
Tras realizar la reducción del histograma se aplica Canny (Figura 4B) con un Sobel 3x3 y con umbrales (15 x multiplicador) y (30 x multiplicador). El resultado del proceso es una máscara con bordes de la imagen de 8 bits. Es importante destacar que la reducción de histograma establece los valores mínimos de la imagen a 0, con lo que si estos se encuentran en el borde de la región Canny no puede distinguirlos de aquellos que no pertenecen a ella, por lo que se pinta nuevamente el borde del blob de la región. Si esto no se realiza en ciertas esquinas, los valores de los bordes internos no son capaces de alcanzar el borde exterior, por lo que no se realiza un recorte de la silueta. Para evitar posibles bordes sueltos en las esquinas, cosa bastante habitual en este tipo de problemas, se realiza una unión de bordes sueltos (Figura 4C), para obtener contornos continuos (15a, 15b, 15c) de objetos. Para ello se usa una ventana 3x3 en la máscara de bordes que busca aquellos puntos en los que se dan situaciones en tas que el punto del borde tan solo se encuentra conectado con los bordes de la ventana por un solo camino, y aquellos que tienen dos caminos pero ambos son adyacentes. Con esto se pretende buscar aquellos bordes que no han sido juntados con otros, posiblemente a causa de que se quedan sueltos en una esquina debido a que Canny decidió juntar los otros dos cuya dirección era la misma.
5
10
15
20
25
30
35
El siguiente paso consiste en extraer nuevamente contornos interiores en la imagen de bordes cerrada y filtrar aquellos que no superen un área de 100. Cada uno de los contornos obtenidos representa una silueta individual (16a, 16b, 16c), según se muestra en la Figura 4D. Se almacena cada una de las siluetas individuales (16a, 16b, 16c) utilizando un proceso similar al realizado a la hora de filtrar regiones, se obtiene el marco mínimo que contiene la silueta para realizar el recorte, a partir de él se genera el blob de la silueta filtrado con la máscara inicial y una imagen de profundidad (16bits) filtrada con el blob. Aparte de esto, también se almacenan ios contornos de la silueta y su marco con respecto a la imagen completa.
Una vez terminado la segmentación, se inicia el proceso de detección de objetos. Si no se aplica ningún tipo de filtro adicional, existe la posibilidad de que algún objeto extraño que se encuentre dentro del canal o una parte de! fondo que se mueva genere un falso positivo. Para evitar que esto suceda, se realiza un proceso de detección basado en la obtención de características clave de los objetos, su clasificación y la posterior reconstrucción de aquellos que se encuentran ocluidos.
Se emplea un filtro utilizando un clasificador que discierne cuando un objeto se trata o no de un pez. El clasificador utilizado es una máquina de soporte vectorial (SVM, “Support Vector Machine"), un algoritmo de aprendizaje maquina supervisado que a partir de una serie de características obtenidas de ejemplos positivos y negativos aprende una función matemática capaz de discernir si un nuevo objeto pertenece al grupo positivo o al negativo.
A la hora de realizar las clasificaciones se busca eliminar completamente los falsos positivos, con lo que el clasificador tiene que ser exigente a la hora de determinar si un objeto es un pez, y dado que el sensor en ocasiones hace invisibles partes de los peces es preferible que el clasificador no los clasifique como tales a que obtenga falsos positivos. La razón principal de este planteamiento es que se ha unido la fase de detección a la fase de seguimiento, con lo que una vez detectado un pez es posible seguir su silueta aunque esta se encuentre recortada y sea clasificada como pez.
Las características utilizadas para realizar la clasificación son el área de la envolvente convexa, el área de la silueta, la longitud en el espacio real de la silueta y la anchura del espacio real de la silueta.
5
10
15
20
25
30
35
El proceso de clasificación obtiene buenos resultados en los casos en los que los peces son visibles y no existen cruces de peces. Si se da solapamiento entre peces, obtiene el pez que se encuentra en la parte más cercana al cristal del canal 3 de manera limpia, reconstruyendo las piezas de las siluetas de los peces ocluidos.
El proceso de reconstrucción se realiza a nivel de región de movimiento, por lo que tan solo lleva a cabo la reconstrucción dentro de cada una de las regiones de movimiento (peces que se han ocluido entre ellos), lo que hace que cualquier tipo de oclusión producida por un objeto perteneciente al fondo no sea solucionada en este proceso.
El primer paso de la combinación consiste en el establecimiento de un nuevo marco para la silueta combinada, un marco que englobe los marcos de cada una de las siluetas individuales. Tras esto se procede a la obtención del contorno 17 de la silueta combinada (Figura 5A), a partir de la combinación de los contornos de las individuales que son almacenados en la nueva silueta. Posteriormente se obtiene la envolvente convexa 17 de la combinación, que es la envolvente convexa de ambos contornos. A continuación se toman medidas de la silueta combinada, se obtiene la elipse 18 que minimiza el error de ambos contornos 17 y sus extremos (Figura 5B). Si se busca tan solo el punto de ambos contornos más cercano a los extremos de la elipse 18 se puede cometer fallos, por lo que se realiza una aproximación obteniendo tan solo la profundidad del punto más cercano a cada uno de los extremos, utilizando las coordenadas del extremo para calcular la posición en el espacio (como si en ese punto se encontrara un objeto con esa profundidad).
Finalmente se implementa un método de seguimiento de los objetos detectados, basado en el emparejamiento de los objetos detectados en la imagen N con aquellos que se encuentren más cercanos a ellos en la siguiente imagen (N+1). Se utiliza la ventaja de que se conoce la posición en el mundo real, dando prioridad a los objetos más cercanos a la cámara a la hora de realizar el emparejamiento.
Para cada detección se guarda una firma del pez con la posición, la altura, la anchura y los cuatro puntos extremos 13 de la silueta, se asigna un color al azar y un contador inicializado en un valor determinado, por ejemplo a 5.
Con la llegada de las detecciones de la segunda imagen (N+1) el sistema ordena la lista de firmas de peces almacenada poniendo al principio aquellas que se encuentren en una
5
10
15
20
25
30
35
posición más cercana a la cámara (eje z menor). Tras realizar la ordenación, se itera sobre todas las detecciones de la segunda imagen, buscando aquella que minimice la suma de las distancias de sus puntos extremos 13.
Tras esto se comprueba que la silueta seleccionada cumple la suma de las distancias de los puntos extremos de la misma a los puntos extremos de la firma es menor que la suma de la longitud y la anchura del pez. Si se cumple esta restricción la nueva detección es asignada a la firma y la firma es actualizada con los nuevos valores de posición, tamaño y puntos extremos. Tras asignar la firma, o en el caso de no cumplir las restricciones, se pasa a la siguiente firma y se repite el proceso sin utilizar las detecciones ya asignadas.
Cada vez que una firma es actualizada se reinicia su contador (e.g. a 5) y cada imagen que pasa sin que una firma sea referenciada el contador disminuye en 1. En el caso de llegar a 0 esta firma es eliminada del sistema.
Adicionalmente, se mantiene un contador de la cantidad de veces que la firma ha sido actualizada y no será mostrada por pantalla a no ser que este contador supere un número determinado, por ejemplo las 3 unidades. Esto sirve para evitar falsos positivos en imágenes determinadas que realizan una mala medición, o si la sustracción de fondo genera artefactos que pueden parecer peces y el detector no es capaz de filtrarlos. Las posibilidades de que esto suceda son extremadamente bajas, pero utilizando este método la probabilidad de error disminuye drásticamente.
Esta aproximación, junto al clasificador excesivamente exigente, hace que tan solo pueda realizarse el seguimiento cuando el objeto es detectado. Teniendo en cuenta los problemas de visión en e! agua por parte del sensor es muy posible que haya algunas imágenes en los que no sea visible correctamente. Para solucionar este tema se implementa una aproximación que permite obviar el proceso de clasificación para determinadas siluetas que tienen características similares a siluetas detectadas en imágenes anteriores. Para esto, a la hora de realizar la detección en la imagen N+1 se han introducido las siluetas detectadas en la imagen N, y si existe una silueta dentro del detector que aunque no sea detectada cumple las restricciones de que la suma de las distancias de sus puntos extremos a los de alguna silueta anterior es menor que la suma de la longitud y la anchura de la silueta anterior, sale del proceso de detección como si se tratase un objeto clasificado como pez, pero con una marca de que no ha sido detectado. En el caso de no ser emparejado al final del proceso de
5
10
15
20
25
30
35
seguimiento con ninguna firma existente (porque por ejemplo había otro más cercano) en vez de crearse una nueva firma como se haría con una detección, la silueta es desechada.
El seguimiento también aporta la ventaja de poder tomar varias medidas de los peces, lo cual es muy útil ya que El pez no puede ser medido de manera correcta en todas las imágenes dado que no siempre es completamente visible o se encuentra en un ángulo en el que la cámara no puede visualizar la extensión completa de su cuerpo. Por esta razón se realiza una estimación simple de las medidas, que consiste en guardar un vector ordenado con las últimas medidas del cada pez detectado (por ejemplo, las últimas 10 o 20 medidas). A partir de estas medidas se aproxima la longitud y la anchura obteniendo el tercer cuartil (suele haber un 50% de mediciones correctas y un 10% que sobrestlma según las observaciones) de sus vectores. Una vez el vector llega a 20 medidas es podado eliminando los valores impares para volver a quedarse en 10 medidas. Con esto se reduce la variación de las medidas y cuando la silueta es cortada se visualiza la medición del seguimiento completo, con lo que le da información más veraz al usuario.
A continuación, se describe el proceso de detección y medición de peces y objetos móviles bajo el agua con el escáner 3D de tiempo de vuelo. Con respecto a la medición de objetos con el escáner 3D de tiempo de vuelo, la imagen de color se trata, a! igual que en el escáner de luz estructurada, de una matriz de píxeles BGRA obtenida con una frecuencia de 30 imágenes por segundo, con la diferencia de que la resolución de esta imagen es de 1920X1080.
La imagen de infrarrojos de este sensor, es una matriz de píxeles que representan el reflejo de la luz infrarroja en la escena servido a una frecuencia de 30 imágenes por segundo, pero esta imagen tiene características completamente diferentes al del escáner de luz estructurada. Aunque la resolución (tamaño de la matriz) es más baja (512X424), la profundidad de color es de 16 bits con lo que se pueden codificar 256 veces más intensidades que en el anterior.
Este caso se trata de un rango bajo por lo que la imagen del sensor se encuentra muy oscurecida, dificultando su visualización por el ojo humano. A la hora de realizar la detección esto no tiene ningún tipo de influencia, pero si se desea mostrar al usuario esta imagen se ha procesar de algún modo para facilitar su visualización. El método utilizado para la visualización es la corrección gamma, que mapea los valores de la imagen con otros valores
5
10
15
20
25
30
35
que extienden una parte del histograma, lo que resulta en ciertos casos en una imagen mucho más visible. La corrección empleada es la siguiente:
Pout = A * PYin
Se utiliza un parámetro A de 255 para que el intervalo coincida con la codificación de 8 bits (0-255) y una y de 0.3, lo que extiende la región oscura del histograma. Teniendo en cuenta que esta operación ha de ser realizada para cada uno de los píxeles 30 veces por segundo, se puede emplear una tabla previamente generada para cualquier valor de los 256*256 que pueda tomar la imagen, con lo que se consigue realizar este proceso de manera mucho más eficiente.
El método de presentación de la información de profundidad que utiliza la imagen de profundidad del escáner 3D de tiempo de vuelo se trata de una matriz de dos dimensiones que representa la distancia de cada punto de la escena y es servida 30 veces por segundo. La resolución de la imagen de profundidad del escáner de tiempo de vuelo es inferior al de la imagen de profundidad del escáner de luz estructurada, pero la resolución efectiva es superior debido a que el escáner de luz estructurada calcula la distancia utilizando grupos de píxeles, mientras que el escáner de tiempo de vuelo lo hace para cada píxel de manera individual. Las regiones en las que se clasifica la imagen de profundidad del escáner de luz estructurada se mantienen en la imagen de profundidad del escáner de tiempo de vuelo, pero cambia completamente su distribución, frecuencia y tamaño. Cabe destacar que la visibilidad en la imagen aumenta de manera que prácticamente todos los píxeles son clasificados y se les da un valor (pocos píxeles no estables) pero la precisión de este valor se ve reducida claramente.
El escáner de tiempo de vuelo es calibrado con anterioridad al inicio del proceso de detección. El rango mínimo del escáner de tiempo de vuelo es de 50 cm y el rango máximo es de aproximadamente 3 m. La visibilidad de los objetos de la escena, a diferencia de la anterior aproximación, es prácticamente óptima siempre que el sensor se coloque en un rango de entre 55 y 80 cm del canal 3. Es recomendable buscar una posición que dificulte el reflejo en cristales, en el suelo o en la superficie del agua.
El comienzo del proceso de medición es idéntico a la aproximación descrita anteriormente para el escáner de luz estructurada, pero una vez obtenidos los puntos del contorno 13 más
5
10
15
20
25
30
35
cercanos a los extremos 11 de los ejes de la elipse 10, esos puntos pueden estar influidos de alguna manera por el ruido que se produce en los bordes. Para solucionar este problema se utiliza una ventana 5x5 sobre cada uno de los puntos a medir y se calcula la mediana del valor de los píxeles de la ventana filtrando aquellos que no pertenecen a la máscara del objeto (puntos externos). Posteriormente, para obtener la posición real de cada uno de los puntos se utiliza una función introduciendo las coordenadas x e y de cada punto utilizado para medir, pero con el valor de z modificado con la mediana de la región cercana a los puntos obtenida con las ventanas. Tras esto se realiza la medición tal y como se hizo en la primera aproximación.
Para la sustracción de fondo en la imagen de profundidad se utiliza el algoritmo de votación utilizado en la anterior aproximación con un umbral más alto (e.g. con un valor de 15). El umbral se elige cuidadosamente teniendo en cuenta que en esta imagen de profundidad el movimiento brusco de los peces del agua puede producir errores en la estimación del fondo, generando una aureola en la máscara alrededor de los peces.
La incertidumbre existente en la imagen de profundidad hace que la utilización de información del infrarrojo reflejado en la escena sea de gran valor a la hora de eliminar las aureolas que pueden ser producidas en la máscara de profundidad, para lo cual la sustracción de fondo se realiza utilizando el algoritmo MOG2 con un umbral de 500. A partir de la máscara obtenida se aplica una operación morfológica de cerradura con una máscara elíptica de 5x5 para hacer que las siluetas de los peces recuperen su forma.
La combinación de imágenes realizada en esta aproximación sirve para realizar la limpieza de las aureolas existentes en la máscara de profundidad. Para esta tarea se realiza una operación AND entre la máscara de profundidad y la máscara infrarroja, obteniendo como resultado una máscara mucho más limpia donde las siluetas de los peces son más fácilmente distinguibles.
El procedimiento de segmentación utilizado es muy similar a la segmentación realizada en la primera aproximación. Se utiliza el detector de bordes Canny con una máscara de Sobel de 5x5 y unos umbrales de 900-1200, y posteriormente los bordes son unidos de la misma manera que en la primera aproximación. La utilización de un umbral de Canny alto sirve para separar a los peces de posibles aureolas que pueden haberse producido en la sustracción de fondo y de otros peces cuyos bordes se encuentran claramente delimitados.
5
10
15
20
25
30
A la hora de realizar la detección se utiliza el mismo método que el utilizado en la primera aproximación, la única diferencia es que la máquina de soporte vectorial utilizada es obtenido con el escáner de tiempo de vuelo.
A continuación se detalla el diseño de una aplicación de alto nivel siguiendo el esquema de la Figura 6:
- Iniciar sistema 30: El usuario 20 selecciona el sensor con el que desea realizar la detección. El sistema inicializa y configura sus componentes para trabajar con el sensor seleccionado. Posteriormente se pone en marcha.
- Obtener imagen 31: El sistema accede al sensor y obtiene las imágenes del instante actual.
- Mostrar imagen 32: El usuario 20 selecciona el tipo de imagen que desea ver y el sistema obtiene repetidamente este tipo de imagen y lo muestra por pantalla 8.
- Sustraer fondo 33: El sistema obtiene las imágenes actuales y genera una máscara de movimiento (una imagen donde los píxeles que representan objetos de la escena son de color blanco y el fondo es de color negro).
- Cambiar umbral de sustracción de fondo 34: El usuario 20 introduce el nuevo umbral que será utilizado para realizar la sustracción de fondo.
- Mostrar movimiento 35: El usuario 20 selecciona que desea visualizar la máscara de sustracción de fondo y selecciona el tipo de mascara, el sistema de manera continua realiza la sustracción de fondo y muestra por pantalla la máscara resultante.
- Segmentar regiones de movimiento 36: El sistema obtiene las imágenes y a partir de ellos obtiene la máscara de movimiento. Posteriormente se realiza la segmentación de los diferentes objetos que se encuentran en la región.
- Configurar segmentación 37: El usuario 20 introduce la configuración deseada para la segmentación (umbrales alto y bajo de Canny y área mínima de silueta).
- Medir objetos 38: El sistema obtiene los objetos de la escena y obtiene sus medidas en el espacio real, su longitud, anchura, posición y puntos extremos.
- Introducir distancia al cristal 39: El usuario 20 introduce la distancia al cristal para realizar la corrección en las mediciones realizadas por el sistema
- Detectar peces 40: El sistema obtiene los objetos de la escena medidos y clasifica aquellos que considera peces y aquellos que no.
5
10
15
20
25
30
- Configurar detección 41: El usuario 20 elige si desea utilizar o no el SVM proporcionado. Adicionalmente, puede introducir uno entrenado por el mismo.
- Seguir peces 42: El sistema obtiene los peces existentes en la escena y realiza un seguimiento de los mismos a lo largo del tiempo, teniendo en cuenta sus características y su posición.
- Mostrar imagen con detecciones y mediciones 43: El usuario 20 selecciona la opción ‘detectar’ mientras se encuentra visualizando una imagen y el sistema muestra a partir de ese momento las detecciones de peces sobre la imagen que estaba siendo mostrada. Adicionalmente, se muestran las mediciones realizadas de cada uno de ellos.
Con respecto al diseño del modelo, se utiliza una arquitectura pipeline con varios módulos que realizan tareas concretas, donde las salidas de unos módulos sirven como las entradas de otros módulos. Se ha realizado una modificación en la arquitectura añadiendo una clase fachada que sirve para la gestión de la comunicación de los diferentes módulos y para dar servicio a la interfaz de usuario. Todo el diseño se ha construido a partir de la clase fachada que se trata de la clase ‘FishDetector’, como se aprecia en la Figura 7. A continuación se explica el propósito de cada uno de los módulos y de las clases principales dentro de cada uno de ellos:
- Módulo detector de peces 50: Se trata del módulo que engloba todos los módulos y las clases del modelo. Es el encargado de realizar la gestión de la comunicación entre diferentes módulos y sirve como fachada de las peticiones de la interfaz de usuario.
- Modulo sensor 51: Este módulo es el que contiene las clases que actúan como interfaces de los sensores utilizados por la aplicación.
- Módulo detector de movimiento 52: Este módulo es el encargado de almacenar las clases relacionadas con el proceso de sustracción de fondo.
- Módulo segmentador 53: Es el encargado de realizar la segmentación de las máscaras obtenidas en regiones de movimiento generando posteriormente las siluetas. El método utilizado para realizar este proceso es la función “Hacer_segmentacion”.
- Módulo detector 54: Es la clase principal del módulo Detection y es la encargada de realizar la clasificación de los objetos obtenidos del proceso de segmentación
5
10
15
20
25
30
35
en peces u otros objetos. El método que realiza este proceso es la función "Hacer_deteccion”.
- Modulo seguidor 55: Es el modulo que contiene las clases dedicadas a mantener la persistencia de las detecciones en imágenes sucesivas y realizar el seguimiento de las siluetas de los peces. El método que realiza este proceso es la función “Hacer_seguimiento”.
La interfaz de usuario se diseña como una ventana única en la que se coloca un contenedor en el centro encargado de mostrar las imágenes obtenidos por el sensor y junto a él una lista de peces detectados con sus características. A través de una serie de menús se puede cambiar el tipo de imagen a visualizar en la interfaz, además de controlar parámetros del proceso de detección, introducir datos como el de la distancia al cristal para permitir la corrección de la medida o seleccionar si se desea realizar la detección utilizando el SVM o tan solo filtrando por área.
Los parámetros del sistema, como el umbral del sustractor de fondo, el umbral de Canny o el umbral de filtrado de contornos, aunque se haya fijado un valor para el entorno artificial deben ser ajustados al entorno en el que se ponga en marcha el sistema. Para peces de tamaño mucho mayor (más del doble) se modifican los siguientes parámetros: el límite de área por el cual un contorno es descartado se aumenta; si se trabaja con peces el doble de grandes se aumenta al doble (200). Los umbrales de Canny deben aumentarse a casi el doble (20 y 40) teniendo en cuenta que cuando dos peces se encuentran pegados como son el doble de anchos no es necesario realizar un corte tan exigente.
Si el cristal del canal 3 es detectado por el reflejo del patrón siempre y cuando no haya ningún pez detrás de él, es necesario modificar la sustracción de fondo para activar la máscara no solo cuando el pez se encuentre más cerca del fondo sino también cuando se encuentre más lejos.
En cuanto al funcionamiento de los escáneres 3D 1, cabe destacar que el escáner 3D de luz estructurada está limitado en cuanto a visión y rango dentro del agua pero sus mediciones son muy precisas; en cambio, el escáner 3D de tiempo de vuelo es capaz de visualizar con gran facilidad los peces de la escena pero el margen de error de los objetos visualizados es mucho mayor. Por esta razón, en lo referente a la medición el escáner de luz estructurada funciona mucho mejor; en cambio, el escáner de tiempo de vuelo es capaz de ver más
peces y a distancias mayores, aunque las mediciones que realiza son mucho menos precisas y tiene dificultades para separar peces que se encuentran pegados, lo cual esto es debido a que el método empleado arroja una nube de puntos con un suavizado que difumina bordes y genera puntos intermedios entre dos objetos que se encuentran superpuestos.
5 Esto hace el escáner de luz estructurada el más apto de los dos estudiados a la hora de resolver el problema, siendo el que mejores resultados ha proporcionado.

Claims (10)

  1. 5
    10
    15
    20
    25
    30
    35
    REIVINDICACIONES
    1. Sistema de detección y medición de peces y objetos móviles bajo el agua, caracterizado por que comprende:
    - un escáner 3D (1) para la medición mediante sensores de luz de la distancia de los puntos de una escena (6) en un entorno acuático (7);
    - una unidad de procesamiento de datos (5) configurada para generar información de la posición y tamaño de los objetos móviles detectados en el entorno acuático (7) a partir de las señales recibidas por el escáner 3D (1);
    - una unidad de control de usuario (4) para la representación en una pantalla (8) de los datos de posición y tamaño de los objetos detectados.
  2. 2. Sistema según la reivindicación 1, caracterizado por que el escáner 3D (1) es un escáner de luz estructurada.
  3. 3. Sistema según la reivindicación 1, caracterizado por que el escáner 3D (1) es un escáner de tiempo de vuelo.
  4. 4. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por que los objetos a detectar por la unidad de procesamiento de datos (5) son peces (2).
  5. 5. Sistema según la reivindicación 4, caracterizado por que la unidad de procesamiento de datos (5) está configurada para determinar la presencia o ausencia de peces (2) en los objetos detectados en la escena (6), y la concentración y el tamaño de los peces (2).
  6. 6. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por que el entorno acuático (7) recogido en la escena (6) del escáner 3D (1) se ubica en el interior de un canal (3) de paredes transparentes, estando el escáner 3D (1) posicionado en el exterior de dicho canal (3) a una determinada distancia (D), y donde la unidad de procesamiento de datos (5) está configurada para obtener la distancia real a los objetos en el interior del canal (3) mediante correcciones de las medidas realizadas por el escáner 3D (1) en función de dicha distancia (D).
  7. 7. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por que para
    5
    10
    15
    20
    25
    30
    35
    la medición del tamaño y posición de un objeto la unidad de procesamiento de datos (5) está configurada para:
    - extraer el contorno (9) del objeto mediante técnicas de segmentación a partir de una imagen de profundidad obtenida del escáner 3D (1);
    - obtener una elipse (10) que minimiza la distancia a los puntos del contorno (9);
    - obtener los puntos extremos (11) de los dos ejes de dicha elipse (10);
    - determinar los puntos del contorno (9) más cercanos a los puntos extremos (11) de los ejes de la elipse (10), obteniendo los puntos extremos (13) del objeto.
  8. 8. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por que la unidad de procesamiento de datos (5) está configurada para detectar el tamaño de un objeto solapado mediante:
    - obtención de los contornos continuos (15a, 15b, 15c) de objetos en una imagen de profundidad del escáner 3D (1);
    - extracción de siluetas individuales (16a, 16b, 16c) correspondiente a dichos contornos continuos (15a, 15b, 15c);
    - combinación de siluetas individuales (16a, 16b, 16c) para obtener una silueta combinada;
    - obtención del contorno (17) de la silueta combinada aplicando la envolvente convexa;
    - obtención de la elipse (18) que minimiza la distancia a los puntos de la envolvente convexa (19);
    - determinar los puntos del contorno (17) de la silueta combinada más cercanos a los puntos extremos de los ejes de la elipse (18), obteniendo los puntos extremos (19) del objeto.
  9. 9. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por que la unidad de procesamiento de datos (5) está configurada para clasificar los objetos detectados como peces mediante una máquina de soporte vectorial, donde las características empleadas para realizar la clasificación comprenden el área de la envolvente convexa, el área de la silueta, la longitud en el espacio real de la silueta y la anchura del espacio real de la silueta.
  10. 10. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado por que la unidad de procesamiento de datos (5) está configurada para realizar un seguimiento de los
    objetos en la escena (6) en imágenes consecutivas capturadas por el escáner 3D (1) teniendo en cuenta las características y posición de las siluetas de los objetos en las diferentes imágenes.
    10
ES201600585A 2016-07-07 2016-07-07 Sistema de detección y medición de peces y objetos móviles bajo el agua Active ES2649056B1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES201600585A ES2649056B1 (es) 2016-07-07 2016-07-07 Sistema de detección y medición de peces y objetos móviles bajo el agua

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201600585A ES2649056B1 (es) 2016-07-07 2016-07-07 Sistema de detección y medición de peces y objetos móviles bajo el agua

Publications (2)

Publication Number Publication Date
ES2649056A1 ES2649056A1 (es) 2018-01-09
ES2649056B1 true ES2649056B1 (es) 2018-09-12

Family

ID=60860110

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201600585A Active ES2649056B1 (es) 2016-07-07 2016-07-07 Sistema de detección y medición de peces y objetos móviles bajo el agua

Country Status (1)

Country Link
ES (1) ES2649056B1 (es)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9222338D0 (en) * 1992-10-23 1992-12-09 Mini Agriculture & Fisheries Fish sorting machine

Also Published As

Publication number Publication date
ES2649056A1 (es) 2018-01-09

Similar Documents

Publication Publication Date Title
KR102231286B1 (ko) 선박 주변 모니터링 장치 및 선박 주변 모니터링 방법
CN109271944B (zh) 障碍物检测方法、装置、电子设备、车辆及存储介质
Satat et al. Towards photography through realistic fog
US10887581B2 (en) Object reconstruction from dense light fields via depth from gradients
Holz et al. Fast range image segmentation and smoothing using approximate surface reconstruction and region growing
Biskup et al. A stereo imaging system for measuring structural parameters of plant canopies
ES2665583B1 (es) Procedimiento para la determinacion de biomasa de atunes en una zona de agua y sistema correspondiente
US10163256B2 (en) Method and system for generating a three-dimensional model
ES2818563T3 (es) Método y aparato de modelado tridimensional
KR102235787B1 (ko) 접안 모니터링 장치 및 방법
RU2571871C2 (ru) Способ определения границ дороги, формы и положения объектов, находящихся на дороге, и устройство для его выполнения
CN109215063A (zh) 一种事件触发相机与三维激光雷达的配准方法
CN106871906B (zh) 一种盲人导航方法、装置及终端设备
KR102520844B1 (ko) 해수면을 고려한 항만 및 선박 모니터링 방법 및 장치
GB2539495A (en) Improvements relating to time-of-flight cameras
CN109191513B (zh) 基于全局优化的电力设备立体匹配方法
KR102265980B1 (ko) 선박 및 항만 모니터링 장치 및 방법
WO2018116305A1 (en) Real-time tracking for three-dimensional imaging
CN105975923A (zh) 用于跟踪人体对象的方法和系统
ES2221869T3 (es) Procedimiento y sistema para detectar un objeto en relacion con una superficie.
ES2649056B1 (es) Sistema de detección y medición de peces y objetos móviles bajo el agua
Sravanthi et al. Efficient image-based object detection for floating weed collection with low cost unmanned floating vehicles
Roessing et al. Intuitive visualization of vehicle distance, velocity and risk potential in rear-view camera applications
Veljanovski et al. Comparison of three techniques for detection of flooded areas on ENVISAT and RADARSAT-2 satellite images
Cao et al. Automatic geo-registration for port surveillance

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2649056

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20180912