Étape2 : Modèle de logiciel
Dans la première étape, nous avons développé une
modèle de logiciel de l’algorithme en langage de programmation C++ avec l’utilisation de la bibliothèque de traitement d’image OpenCV (www.opencv.org). Par conséquent, pour compiler et exécuter l’application vous exigera un compilateur C++ (par exemple gcc) et installé OpenCV. Car cette question est hautement dépendant du système d’exploitation en ne sera pas décrite ici. Ensuite pour exécuter l’application, vous devrez insérer un chemin vers le film d’entrée dans la ligne 19 du fichier « HomeCareVS.cpp ». S’il vous plaît fournir une vidéo enregistrée avec un appareil photo. En outre, pour la version actuelle du système, une scène bien éclairée est requise.
Fonctionne de l’application :
Tout d’abord, le flux d’entrée vidéo en RVB est converti en espace de couleurs YCbCr, afin d’améliorer la segmentation de l’objet, de réduire l’impact négatif des ombres.
Deuxièmement, le masque d’objet de premier plan est déterminé. Deux masques binaires sont utilisés. Le premier est généré par seuillage d’image le différentiel entre l’image d’entrée actuel et un modèle de fond (méthode moyen simple est utilisé). Le second est le résultat de seuillage de la différence de trame consécutives. Les masques obtenus sont rejoints en utilisant l’opérateur OR logique.
Le modèle de contexte est généré et mis à jour à l’aide de la formule suivante. New_background_model = alfa) * Current_frame + (1-alfa) * Previous_background_model
Le paramètre alfa dépend de savoir si un objet de premier plan a été détecté dans un endroit donné. L’image binaire est filtrée avec un filtre médian afin d’éliminer le petit bruit.
Puis, composant connecté étiquetage est effectué – objets consistant en groupe connecté de pixels sont détectés et leurs régions, centre de gravité et les boîtes englobantes sont calculés. Les sept plus grands objets sont suivies (en analysant la boîte englobante qui se chevauchent) et donc leur comportement peut être analysé est un contexte temporel.
Dans la version actuelle du système trois activités sont reconnues - couché, assis ou debout. Ceci est fait en analysant la largeur et la hauteur de boîte englobante. Une chute est détectée lorsqu’une personne est couché, le centre de gravité de l’objet déplacé vers le bas et l’objet est de taille dans une certaine gamme (par exemple quand une balle ne tombe, là aucun besoin de s’inquiéter).
À l’avenir les travaux l’algorithme pourrait être amélioré de plusieurs façons : une formation meilleure modélisation algorithme pourrait être utilisée, détection de silhouette humaine pourrait être ajoutée, plus sophistiqué de reconnaissance de l’action humaine pourrait être utilisé. Cependant, cette version s’acquitte de la tâche fondamentale de détection des chutes dans un système de vidéo embarqué soins à domicile.