Vous êtes sur la page 1sur 22

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON

***** *****
Paix-Travail-Patrie Peace-Work-Fatherland
***** *****
MINISTERE DE L’ENSEIGNEMENT MINISTRY OF HIGHER EDUCATION
SUPERIEUR *****
***** University of Yaoundé 1
Université de Yaoundé 1 *****
***** University Saint Jean
Université Saint Jean

COURS DE MECATRONIQUE avec Arduino

RECONNAISSANCE DE L’ETRE HUMAIN

NOMS DES MEMBRES NOMS DES ENCADREURS


 MEDADJIO Mahiva - M.NJIKE Idris
 MELAGO Patricia - Dr.MBIEDA Frank

ANNEE SCOLAIRE

2023-2024
SOMAIRE
.................................................................................................................................................................... 2
I. INTRODUCTION GÉNÉRALE.........................................................................................................4
II. MATÉRIEL NÉCESSAIRE............................................................................................................5
A-La carte Arduino..............................................................................................................................5
B-Les résistors......................................................................................................................................7
C-La caméra.........................................................................................................................................8
E-Le câble de televersement..............................................................................................................10
F- L‘écran...........................................................................................................................................10
G-La plaque à essaie ou breadboard.................................................................................................11
II- LE PROJET PROPREMENT DIT.............................................................................................................11
A-En quoi consiste la reconnaissance des êtres humain ?.................................................................11
B-En quoi consiste le projet ?............................................................................................................13
C-Comment faire pour réaliser ce Project ?.......................................................................................14
c)Les Problèmes que ce Projet Résous...............................................................................................17

2
REMERCIEMENT

Nous tenons avant de présenter ce travail de fin de semestre, d’exprimer toute ma gratitude
envers les personnes qui, de près ou de loin, m’ont apporté leur soutien. J’adresse tout d’abord
ma plus grande reconnaissance à mes professeurs de mécatronique M.NJIKE Idris et
Dr.MBIEDA Frank pour leur excellent encadrement et pour le suivi attentif et continu de ce
projet. Nous tenons aussi a remercier Mr KEISPER qui nous a encadrer dans toutes les étapes de
notre projet qui vont du choix du projet, de l’achat des matériels a la réalisation du montage.
Nous exprimons notre profonde gratitude aux membres de nos familles respective qui nous a
apporter un grand soutient aussi bien morale que financier. Nous tenons exprimer une vive a
l’institut saint jean et a Mr PARFAIT pour le matériel mit à notre disposition.

3
I. INTRODUCTION GÉNÉRALE

Le cour de mécatronique a été intégrer au programme de l’institut saint gens afin de d’amener les
étudiants a développer de compétences professionnelle tels que leur esprit d’équipe, de
créativité , leur bon sens de discernements et la capacite à résoudre des problèmes . Ainsi au
terme du semestre il doivent concevoir un projet qu’il devrons présenter afin de montrer leurs
capacités a concevoir un projet qui dans notre cas est un projet arduino .

Créée en 2005 par 5 collégiens, la carte Arduino Uno est une plateforme
électronique de prototypage rapide sur laquelle on peut raccorder des capteurs
(entrées) et des actionneurs (sorties). Celle ci est utilisée dans plusieurs domaine
vie comme l'électronique, la robotique, le pilotage des capteurs pour la physique,
systèmes embarqués. Parlant des domaines de la sécurité, la surveillance et
l'authenticité, la carte Arduino peut être utilisée pour la reconnaissance des êtres
humains. Au cours des dernières semaines, nous avons réunis nos idées, efforts
dans le but de mettre sur pied un dispositif capable d'estimer avec précision les
positions des points clés du corps humain sur des photos et même des vidéos. Celui
ci est efficace aussi bien en présence d'un seul individu que de plusieurs. Vous le
connaissez peut être sous le nom d'Alphapose. La reproduction et amélioration du
premier système Open Source qui atteint 75mAP sur l'ensemble des données

4
COCO et plus de 80mAP sur l'ensemble de données MP11 nous a paru être un
choix de qualité pour notre tout premier projet de mécatronique.

II. PRESENTATION DU MATERIEL

Le projet de reconnaissance des êtres humains à l'aide d'Arduino est une


initiative passionnante nécessitant des composants tels que la carte Arduino, des
résistances, une caméra, un écran, des fils, une plaque et des câbles. En combinant
ces éléments, nous cherchons à réaliser un dispositif capable de distinguer le corps
humain dans une image, de suivre ses mouvements, ouvrant ainsi la voix à une
multitude d'applications potentielles dans les domaines de la sécurité, la domotique
et la technologie portable. Il convient alors de mentionner, l'usage que nous feront
de ce matériel.

A-La carte Arduino

Précisément la carte Arduino UNO est utilisée dans ce projet en raison de sa


facilité de manipulation de sa flexibilité et de sa capacité à interagir avec différents
capteurs et périphériques. À partir du code source, elle contrôle et interagit avec la
caméra et l'écran, respectivement périphériques d'entrée et de sortie indispensables
à notre projet

Il existe plusieurs types de carte Arduino parmi lesquels on a :


TYPE ARDUINO IMAGE DESCRIPTION

Arduino Uno C’est l’Arduino standard, le plus


utilisé et le plus simple mais le
microcontrôleur e (ATMega328P)
ne gère pas la communication en
USB, il doit donc utiliser une

5
puce secondaire (atmega16u2,
CH340, CH341 ou FTDI).

Figure1 : Arduino Uno

Arduino Nano C’est la version miniature de


l’Arduino UNO (même
microcontrôleur), il est utilisé
pour les petites réalisations
spécialement adaptée aux plaques
à essaie ou à une intégration dans
un petit boitier.
Figure2 : Arduino Nano

Arduino Leonardo Une évolution de l’Arduino


Uno, il possède le même format,
mais son microcontrôleur
(ATMega32U4) gère directement
l’USB, ce qui lui permet d’être
reconnu comme un périphérique
USB (clavier, souris, manette de
jeu) par l’ordinateur.

Figure3 : Arduino Leonardo

Arduino Mega 2560 C’est une autre évolution de


Arduino, il propose 16 entrée
analogiques et 54 entrées/sorties
numériques dont 15 sorties
analogiques virtuelles PWM.

6
Figure4 : Arduino Mega 2560

B-Les résistors

Ils sont utilisés pour limiter le courant électrique qui circule à travers les
composants. Dans le cadre de notre projet, nous les utiliserons pour protéger la
caméra en réduisant le courant qui circule à travers elle, ce qui contribue à
prolonger sa durée de vie. Aussi, les résistors de 68 K, 1 K, et 2 résistors de 10 K
seront utilisés pour limiter le courant qui circule à travers l'écran. Les résistances
sont donc des éléments importants dans l'assemblage du dispositif, car ils
permettent de limiter le courant traversant les composants électriques et d'adapter
les niveaux de tension si nécessaire.

Fig.: résistors de 68K Fig.: résistors de 10K Fig.: résistors 1K

7
C-La caméra

La camera utilisée dans notre projet est Camera Ov7670 elle capture les images
et vidéos en temps réel. Ces dernières sont ensuite traitées suivant le code source
afin de détecter les êtres humains présents dans les zones filmées. En résumé, la
caméra fournit les données visuelles nécessaires à l'analyse et à la détection des
êtres humains.

Fig. Camera OV7670

D-Les câbles de connexion

Ils nous sont généralement utiles dans ce sens où ils permettent de connecter les
capteurs, les modules, les LEDs, résistances et autres composants à la carte
Arduino. Ils sont utilisés dans ce projet pour relier la caméra, l'écran les résistances
et la carte Arduino. Il est important de choisir les bons types de câbles afin d'éviter
les erreurs de connexion il existe 3 type de câbles a savoirs :

Les câbles mâles mâles

8
Les câbles femelles femelles

Les câbles males femelles

Dans notre projet nous avons utilisés les câbles de connexion males femelles et
males males

9
E-Le câble de televersement

Il est indispensable dans tous les projets qui utilisent Arduino, car permet
d'alimenter l'ensemble du matériel, et de transférer le code source de l'ordinateur
pour la carte Arduino.

fig. Câble de connexion

F- L‘écran

L’écran FLYsight permet dans ce projet d'afficher l'image finale, qui a


préalablement été capturée à l'aide de la caméra et traitée selon les indications du
code source. Cet image finale doit comprendre la photo où image initiale ainsi que
plusieurs lignes de couleur formant à peu près le squelette de l'être humain, et ceci
autant qu'il y a de personnes sur l'image initiale.

10
G-La plaque à essaie ou breadboard

C'est grâce à elle qu'il est possible de réaliser des montages électroniques sans
soudure en association notamment avec une carte à microcontrôleurs à l'instar
d'Arduino. Elle permet d'économiser de l'argent car en l'utilisant l'on peut se
tromper plusieurs fois et recommencer sans pour autant gâcher le matériel. Elle
s'utilise avec des bouts de fils de cuivre monobrins appelés straps. La majeure
partie du matériel du projet y est connectée. Et en l'utilisant, on peut réaliser des
montages en parallèle comme en série.

Fig. plaque a essaie

II- LE PROJET PROPREMENT DIT

A-En quoi consiste la reconnaissance des êtres humain ?

La reconnaissance des êtres humains proprement dit est divisée en trois qui sont

 L’estimation de la pose humaine cette étape consiste dans un premier temps


a détecter l’Homme sur une image , puis capture un ensemble de
coordonnées en définissant les articulations du corps humain comme le
poignet, l'épaule, les genoux, les yeux, les oreilles, les chevilles et les bras,
ce qui est un point clé dans les images et les vidéos qui peuvent décrire la
pose d'une personne. Ensuite identifie les coordonnées de ces parties du

11
corps et articulations détectées afin identifie la pose de celui-ci. Il existe
plusieurs types de modèles d’estimation de la pose parmi lesquels on peut
cités
1 .Modèle basé sur le squelette : également appelé modèle cinématique, ce
représentant comprend un ensemble de points clés (articulations) tels que les
chevilles, les genoux, les épaules, les coudes, les poignets et les orientations
des membres principalement.

Ce modèle de corps humain flexible et intuitif comprend la structure


squelettique du corps humain et est fréquemment appliqué pour capturer les
relations entre les différentes parties du corps.

2. Modèle basé sur les contours : également appelé modèle planaire se


compose du contour et de la largeur approximative du corps, du torse et des
membres. Fondamentalement, il représente l'apparence et la forme d'un
corps humain, où les parties du corps sont affichées avec des limites et des

rectangles du contour d'une personne.

Dans le cadre de notre projet nous allons utiliser le modelé basé sur le
squelette

 La reconnaissance des gestes un geste est généré principalement par le


mouvement et la forme des mains, Les trajectoires des mains peuvent ainsi

12
suffire à décrire le geste. Ceux peut être fait grâce a des technique de suivi
des geste qui sont en générale les technique de suivit des objets. Il existe e
trois catégories de méthodes de suivi : les méthodes d’optimisation d’une
grandeur scalaire, les méthodes d’appariement de détection et les méthodes
probabilistes.

 La reconnaissance faciale il s’agit d’une méthode d’identification d’une


personne grâce à l’analyse de son visage. après avoir scanné un visage, le
système tente de faire correspondre l’image à des images contenues dans une
base de données de visages. Ainsi il ne s’agit pas de se souvenir d’une
personne comme c’est le cas dans la reconnaissance faciale des smartphone,
mais de déterminer si cette personne figure dans le système.

Dans le cadre de notre travaille nous allons nous limiter à la première étape
qui est l’estimation de la pose d’une personne .

B-En quoi consiste le projet ?

Notre projet baser sur la pose de l’être humain s’inspire du projet alphapose
concu par l’académie chinoise des sciences celui-ci consiste à développer une
technologie capable d'identifier et de suivre les individus à l'aide d’un algorithme
d’apprentissage profond pour analyser des images ou des vidéo et d’estimer la pose
d’un ou de plusieurs individu a temp reel comme développer plus haut dans
l’estimation de la pose humaine .Et le résultat sera donner suivant le modèle basé
sur le squelette .

En termes de précision, la reconnaissance des êtres humains a fait


d'énormes progrès ces dernières années grâce aux avancés dans l'intelligence
artificielle et l'apprentissage automatique. Cependant, il existe encore des défis à
relever tels que la protection de la vie privée, la fiabilité des systèmes, la lutte
contre fraude et contrefaçons.

13
C-Comment faire pour réaliser ce Project ?

 Code

i/Compréhension Du Projet :

Alphapose est un projet fascinant qui utilise des algorithmes avancés pour
détecter des poses humaines dans les images et les vidéos même dans les scénarios
les plus complexes en utilisant des réseaux de neurones convolutés .Le dispositif
est capable de tracer une esquisse du corps humain, fournissant ainsi des
informations détaillées sur les mouvements et les postures.

En raison de sa capacité à détecter les poses humaines dans les


environnements variés, il est utilisé dans une large gamme d'applications,
notamment la recherche en biomécanique, l'analyse mouvement sportifs, la réalité
virtuelle.

Il est configurable et peut être adapté aux besoins spécifiques d'un grand
nombre de projets.

ii/Préparation de l'environnement de développement

Puisque alphapose est basé sur python, nous allons nous concentrer sur la
configuration de l'environnement python pour ce projet. Voici donc les principales
étapes à suivre :

•Installation de Python:

Assurez-vous d'avoir python installé sur votre système. Il est recommandé


d'utiliser python 3.x, car de nombreuses bibliothèques et projets récents sont
compatibles avec cette version.

14
•Création d'un environnement virtuel:

Sur Windows, commencez par ouvrir l'invité de commande. Ensuite allez dans le
répertoire de votre projet si vous voulez spécifier un emplacement pour
l'environnement virtuel. Puis exécutez la commande suivante pour créer un
environnement nommé "venv" :

""bash python -m venv venv""

Enfin, activez l'environnement virtuel en utilisant la commande :

""bash .\venv\Scripts\Activate""

Il s'agit d'une bonne pratique pour isoler les dépendances de ton projet et éviter les
conflits avec d'autres projets, mais cette étape n'est pas obligatoire.

iii/Téléchargement du code source :

Rendez-vous sur la page Github du projet Alphapose à l'adresse :

http:/github.com/MVIG-SJTU/Alphapose

Copiez le code du référentiel en appuyant sur le bouton " code " vert en
sélectionnant "clone with http". Ensuite dans la ligne de commande, déplace toi
dans le répertoire dans lequel tu veux stocker le code et exécute la commande
suivante en remplaçant <repost-link> par le lien que vous aurez copié.

""bash git clone <repost-link>""

Une fois la commande exécutée, tu auras une copie locale du code alphapose dans
le répertoire spécifié

iv/Installation des dépendances:

Les étapes pour installer les dépendances du projet alphapose sont :

15
•ouvrez une ligne de commande

•rassurez-vous d'être dans le répertoire racine du code Alphapose où se trouve


le fichier "requierents.txt"

•utilisez la commande suivante pour installer les dépendances via pip:

""bash pip install -r requirements.txt""

v/Téléchargement des modèles pré-entrainés

Les modèles pré-entrainés sont cruciaux pour l'utilisation d'Alphapose car ils
représentent les connaissances déjà acquises par le modèle pour détecter et suivre
les poses humaines. Ils sont disponibles sur le site d'Alphapose ou sur le référentiel
Github. Dans la plupart des cas, vous trouverez des liens directs vers les modèles
pré-entrainés.

vi/Utilisation d'Alphapose :

•Exploration du code source :

Prenez toujours la peine de parcourir le code source pour comprendre les


différentes fonctionnalités offertes ainsi que les méthodes d'utilisation des modèles
pré-entrainés pour la détection des poses.

•Exécution et détection des poses:

En utilisant les scripts fournis par alphapose, détectez les poses humaines sur les
modèles pré-entrainés.

vii/Personnalisation

Explorez si nécessaire les possibilités d'extension ou de personnalisation


d'Alphapose pour répondre aux besoins spécifiques de votre projet.

16
viii/Ressources supplémentaires

Voici quelques ressources supplémentaires précieuses dans la réalisation du projet


alphapose :

•La documentation officielle :

Elle fournit des détails importants sur l'installation, l'utilisation, la personnalisation,


et plus encore on y trouve des guides, des tutoriels, des exemples, des explications
détaillées sur le fonctionnement d'Alphapose.

•Les forums et communautés en ligne:

Participer à des forums de développeurs, groupes de discussion, communautés en


ligne peut être très utile. Ds plateformes telles que Stack Overflow, Reddit offrent
des conseils pratiques et réponses à des questions spécifiques.

•Blogs et articles spécialisés:

Des blogs animés par des experts en vision par ordinateur ou apprentissage
profond peuvent fournir des analyses techniques, des conseils de mise en œuvre
avancés, des études de cas...

Rechercher des blogs sur des sites comme Medium, Towards data science, ou des
plateformes de publication des universités donnent un aperçu approfondi sur
alphapose et ses applications.

 MONTAGE

Le montage de notre projet consiste principale a assembler la camera a la carte


Arduino a l’aide de matériaux cite plus haut comme c’est le cas dans la figure qui
suit

17
Afin de visualiser si le montage est bien fait nous allons suivre les etape suivante :

 Installer AdulmageCapture via le lien suivant


https://circuitjournal.com/download?file=ArduImageCapture.1.1.zip
 Extrait le fichier zip et copiez le dossier « ArduImageCapture » dans votre
dossier « outils » Arduino à côté du dossier « bibliothèques » d’Arduino (C:\
Users\<username>\Documents\Arduino\tools )

18
 redémarrez notre IDE Arduino, et « ArduImageCapture » était visible dans
le menu « Outils ».

 Téléchargez le code de mon projet LiveOV7670 via le lien


https://github.com/indrekluuk/LiveOV7670 et Copiez les deux
bibliothèques « LiveOV7670Library » et « Adafruit_GFX_Library » de
« src/lib » à votre dossier « bibliothèques » Arduino.
LiveOV7670Library contient le code qui communique avec le module de
caméra OV7670. Adafruit_GFX_Library est une dépendance de la
bibliothèque d’écrans « Adafruit-ST7735 ».
 Ouvert le code de LiveOV7670Library avec l’IDE Arduino apres quelques
manipulation nous avons televerser le code dans la carte , puis cliquer sur
ArduImageCapture et nous avons pu visualiser l’image qui montre que notre
camera est bien connecter

19
Cette étape terminer , nous pouvons téléverser le code du projet
proprement dit .

c)Les Problèmes que ce Projet Résous:

En général lorsque l'on conçoit un projet il y a un objectif à atteindre, un


problème à résoudre. Avant la réalisation de tout projet, il est important de de
poser la question "Quel problème vais-je résoudre ?". C'est à partir de cette
question qu'il nous est venu à l'esprit de nous engager dans un projet de détection

20
des êtres humains avec Arduino car Il a un large éventail d’applications pratique,
notamment l’analyse sportive, la rééducation médicale, la robotique ,la sécurité…

 Nous savons tous que les espaces publics, marchands et même les écoles
sont truffés de caméra pour des besoins de sécurité. Mais ces caméras ne
résolvent pas totalement le problème car elles sont incapables de
distinguer les humains des autres formes dans une image. C'est pour cette
raison que nous avons fait de la sécurité le principal but de notre projet.
En effet, si la caméra est apte à détecter l'humain en général, il sera alors
possible de détecter à partir d'elle un humain en particulier ce qui serait
évidemment efficace pour résoudre les cas de vol entre autres.

 la détection des êtres humains sur une image peut favoriser l'amélioration
des espaces marchands. En effet, s'il est possible d'estimer précisément la
moyenne des personnes qui s'y trouvent sur une période donnée, tout
porte à croire que des décisions à prendre à cette fin deviendront plus
faciles . Aussi, afin d'améliorer le commerce et de créer un espace
favorable pour les clients et les commerçants, il serait utile de créer un
dispositif qui détecte les êtres humains et les comptent pour savoir si le
lieu est propice pour l'exposition des marchandises.

 il aide à la détection des humains en temps réelles. Les ordinateurs


peuvent détecter et prédire le comportement des piétons de manière très
précise, ce qui permet une conduite plus cohérent

Alphapose peut être utilisé pour améliorer la mécanique corporelle des athlètes
suivre les progrès des patients dans les programmes de rééducation contrôler les
mouvements des humains et détecter les comportements suspects dans les images
de sécurité

www.robotique.tech

21
circuitjournal.com

theses.hal.science
Caractérisation et Reconnaissance de Gestes dans des vidéos à l'aide de Modèles Markoviens
(hal.science)

https://theses.hal.science

https://circuitjournal.com

https://datacorner.fr

https://intelligence-artificielle.com

https://zephyrnet.com

https://github.com

22

Vous aimerez peut-être aussi