Step 2: Modelo de Software
En primer paso hemos desarrollado una
modelo de software del algoritmo en lenguaje de programación C++ con el uso de la biblioteca de procesamiento de imagen OpenCV (www.opencv.org). Por lo tanto, para compilar y ejecutar la aplicación requiere un compilador de C++ (por ejemplo gcc) e instalado OpenCV. Como este tema es altamente dependiente del sistema operativo en no se describen aquí. Para ejecutar la aplicación deberá insertar una ruta a la película de entrada en la línea 19 del archivo "HomeCareVS.cpp". Proporcione por favor un video grabado con una cámara fotográfica. Además, se requiere una escena bien iluminada para la versión actual del sistema.
Cómo funciona la aplicación:
En primer lugar, la secuencia de vídeo entrada RGB se convierte en espacio de color YCbCr, con el fin de mejorar la segmentación del objeto – reducir el impacto negativo de las sombras.
En segundo lugar, se determina la máscara de objeto de primer plano. Se utilizan dos máscaras binarias. El primero es generado por el umbral diferencial de la imagen entre la imagen actual de entrada y un modelo de fondo (se utiliza el método de funcionamiento promedio simple). El segundo es el resultado de umbral de diferencia de marco consecutivos. Las máscaras obtenidas se unen mediante el operador lógico OR.
El modelo de fondo es generado y actualizado utilizando la siguiente fórmula. New_background_model = alfa) * Current_frame + (1-alfa) * Previous_background_model
El parámetro alfa depende de si se detectó un objeto de primer plano en un lugar determinado. La imagen binaria se filtra con un filtro de mediana para quitar un ruido pequeño.
Entonces, componente conectado etiquetado se realiza – objetos de grupo conectado de píxeles se detectan y se calculan sus áreas, centroide y cajas limitadoras. Los siete objetos más grandes se realiza el seguimiento (mediante el análisis de superposición de cuadro delimitador) y por lo tanto su comportamiento puede ser analizado es un contexto temporal.
En la versión actual del sistema se reconocen tres actividades - tumbado, sentado y de pie. Esto se hace analizando el delimitador de cuadro de alto y ancho. Una caída se detecta cuando una persona está mintiendo, el centroide del objeto movido hacia abajo y el objeto tiene un tamaño en un cierto rango (por ejemplo, cuando una bola cae, allí no hay necesidad de preocuparse).
Obras en el futuro el algoritmo puede mejorarse de muchas maneras: un fondo mejor modelado algoritmo podría ser utilizado, podría añadirse la detección de la silueta humana, reconocimiento de acción humana más sofisticada podría ser utilizado. Sin embargo, esta versión cumple con la tarea de detección de cataratas en un sistema de video integrado de atención domiciliaria.