Implementation of a Bacterium Tracking System on FPGA

Vahid Talei

Mémoire de maîtrise (2010)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 1MB •

Résumé

Dans le domaine de la vision par ordinateur, le suivi est la surveillance du mouvement d'un objet dans une séquence d'images. Ce suivi d'objet peut être accompli dans différentes applications comme les systèmes de sûreté, la production de dessins animés, etc. Des centaines de publications sous forme de livres, articles et documents de journaux indiquent l'importance du suivi dans la recherche académique et dans les centres de recherche. Le suivi contient la réponse à deux problèmes principaux, le problème du mouvement et le problème de la correspondance. Deux solutions pour le problème du mouvement sont la méthode des régions contiguës et le filtre de Kalman. D'autres solutions existent également pour le problème de correspondance, par exemple le suivi par fenêtre, la détection d'objet mobile par des spécifications comme des arrêtes, des coins et le contour, la détection d'objet par des formes simples comme des cercles, des carrés et des rectangles, la détection par des formes en 3-dimensions comme des cylindres, et finalement la correspondance par des formes complexes comme l'humain, le véhicule, etc. L'algorithme de suivi dans ce projet applique la méthode des régions contiguës pour le problème du mouvement et la méthode de suivi par fenêtre pour le problème de correspondance. Le sujet du suivi de ce projet est la bactérie magnétotactique (MTB). Les MTB sont utilisées dans des applications médicales. Par exemple, elles peuvent amener les médicaments nécessaires dans le système vasculaire du patient, où seulement des nanoparticules sont capables de se rendre. Le matériel utilisé dans ce projet est la planchette de développement pour les applications de vidéo ML402 de la compagnie Xilinx, une caméra et un microscope. Ce système matériel contient le circuit principal ML402 et la planchette VIODC. La VIODC contient un FPGA Virtex-II qui comprend des pilotes pour différentes interfaces de l'entrée et de la sortie vidéo. La ML402 est dotée d'un FPGA Virtex-4 sur laquelle les développeurs peuvent implémenter leurs designs. La VIODC reçoit les trames vidéo capturées par la caméra et les envoie vers la ML402. Cette dernière exécute l'algorithme de suivi sur les trames reçues et envoie la sortie appropriée vers la VIODC pour être affichée. Le composant principal du système de suivi qui s'appelle le processeur coeur (pcore) “vid_tracking” est disponible dans la librairie Simulink du logiciel Matlab. Ce composant peut être simulé soit par vidéo en temps-réel soit par des signaux simulés de vidéo. Le vid_tracking contient le processeur EDK et des blocs de générateur de système. Le bloc générateur de système traduit le pcore en du matériel physique. Pendant le processus de la traduction, le processeur EDK de la librairie Simulink est implémenté comme un processeur MicroBlaze qui est l'architecture de processeur standard des FPGA Virtex-4. Ensuite, le design est exporté à la plateforme XPS. Le développeur de système peut modifier le design en utilisant le langage de description matériel VHDL. VHDL est très efficace et extrêmement flexible pour implémenter des systèmes matériels avec des niveaux d'abstraction différents. On a appliqué trois modules de DSP48 de la librairie Virtex-4 pour implémenter la multiplication d'une manière plus efficace. Cette librairie contient des composants déjà conçus pour différents FPGAs de Xilinx. Ces composants sont très rapides et faciles à utiliser. Pour implémenter l'algorithme de suivi, on profite de trois signaux de synchronisation : -pixel actif, synchronisation horizontale et synchronisation verticale. Le signal pixel actif indique la détection d'un nouveau pixel par la VIODC. Le signal de la synchronisation horizontale indique le début d'une ligne et le signal de la synchronisation verticale montre le début d'une trame. L'algorithme de suivi compte le nombre des pixels et le nombre de lignes pour trouver une fenêtre de 20-pixel par 20-pixel au milieu de la trame. Il cherche une bactérie par comparaison des intensités de pixels. Quand il trouve une bactérie, il la recherche dans les régions de la taille 20-pixel par 20-pixel dans les fenêtres qui suivent au voisinage de la fenêtre précédente. La simulation Matlab de suivi de MTB est 100% robuste car la bactérie n'a été perdue dans aucune trame pendant le suivi de bactérie. L'algorithme est capable de suivre la trajectoire de la bactérie pendant toute la durée de la simulation. La simulation atteint 100% de précision dans le cas de mouvement à 2-dimensions de la bactérie en comparant les résultats obtenus par l'algorithme à ceux obtenus par un observateur humain. Le matériel conçu détecte si une bactérie est dans le champ de vue de la caméra ou non. La bactérie se déplace avec une vitesse moyenne de 180 à 240 micromètres par seconde. Une vitesse de 300 μm/s a été aussi enregistrée pour ce type de bactérie. Notre système de suivi peut détecter la bactérie qui se déplace à n'importe quelle vitesse dans la gamme spécifiée ci-dessus.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:502
ORCID
Date du dépôt:
21 mars 2011 13:51
Dernière modification:
14 oct. 2026 10:35
Citer en APA 7:
Talei, V. (2010). Implementation of a Bacterium Tracking System on FPGA [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/502/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document