Difference between revisions of "PM2M-2016-CompteurVehicules/Suivi"

From air
Jump to navigation Jump to search
 
(21 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
=Description=
 
=Description=
   
Ce projet a été repris du cours M2M de l'année scolaire 2011-2012: http://air.imag.fr/index.php/D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux
+
Ce projet a été repris du cours M2M de l'année scolaire 2011-2012: http://air.imag.fr/index.php/D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux
   
Le projet repris avait pour but d'effectuer des décomptes de trafic automobiles à différents feux d'une zone urbaine. Après les résultats (le comptage) seraient envoyés à un serveur sous forme de relevés. Les relevés après pourraient être analysés pour prendre des decisions pertinents pour la zone urbaine.
+
Le projet repris avait pour but d'effectuer des décomptes de trafic automobiles à différents feux d'une zone urbaine. Après les résultats (le comptage) seraient envoyés à un serveur sous forme de relevés. Les relevés après pourraient être analysés pour prendre des décisions pertinents pour la zone urbaine.
   
 
'''Limitations par rapport au code repris et que nous n'avons pas améliorés. Ce n'est pas possible de:'''
 
'''Limitations par rapport au code repris et que nous n'avons pas améliorés. Ce n'est pas possible de:'''
* Reconnaître si l'objet repéré est un automobile ou un autre objet quelconque.
+
* Reconnaître si l'objet repéré est une automobile ou un autre objet quelconque.
* Faire une collecte automatisée des relevés générés par le(s) caméra(s), ni l'analyse de ces données.
+
* Faire une collecte automatisée des relevés générés par le(s) caméra(s), ni l'analyse de ces données.
   
 
'''Améliorations du projet repris:'''
 
'''Améliorations du projet repris:'''
Line 25: Line 25:
 
* La réseau local c'est fait avec un router. Intel Galileo se connecte grâce au module WiFi que nous avons ajouté.
 
* La réseau local c'est fait avec un router. Intel Galileo se connecte grâce au module WiFi que nous avons ajouté.
   
'''Améliorations en cours qui n'ont pas pu être finir:'''
+
'''Améliorations en cours qui n'ont pas pu être fini:'''
   
 
* La partie du serveur central a été installée sur la machine virtuelle et c'est accessible via internet. (ajout des photos)
 
* La partie du serveur central a été installée sur la machine virtuelle et c'est accessible via internet. (ajout des photos)
Line 36: Line 36:
 
* Module Wifi (modèle Atheros AR5B22)
 
* Module Wifi (modèle Atheros AR5B22)
 
* WebCam (USB 2.0)
 
* WebCam (USB 2.0)
  +
* Router (FAST FW300)
  +
* Une ordinateur
   
=Configuration systemes=
+
=Configuration systèmes=
 
* Equinox Version 3.3
 
* Equinox Version 3.3
 
* OpenCV
 
* OpenCV
* Linux Ubuntu (eglibc 210 m)
+
* Linux Ubuntu (eglibc 210 m, pour Intel Galileo)
  +
* JDK java
  +
* Apache Maven
   
 
=Architecture=
 
=Architecture=
Line 46: Line 50:
 
==Architecture Logique==
 
==Architecture Logique==
   
Il y a trois parties
+
Il y a trois parties:
   
  +
{| class="wikitable"
  +
|-
  +
! Partie
  +
! But
  +
|-
 
| Un programme opencv
 
| Compter le nombre de voitures et créer un ficher xml(relevé)
  +
|-
  +
| Caméra Serveur
 
| Créer outputstream du ficher xml
  +
|-
 
| Serveur Central
  +
| Établir la connexion avec Caméra Serveur et télécharger le ficher xml
  +
|}
   
  +
La première partie est aussi dans la Caméra Serveur
Une programme opencv
 
 
   
Pour compter le number de voiture, et créer un ficher xml(releve)
 
   
 
[[File:Architecture Logique.png]]
Une partie de Camera serveur
 
 
   
 
==Architecture Physique==
Créer outputstream du ficher xml
 
   
Une partie de Serveur Central
 
 
   
  +
[[File:Architecture_Physique.png]]
établir la connection avec Camera serveur, et telecharger le ficher xml
 
   
 
=Manuel d'installation=
   
 
* Un programme OpenCV et une partie de Caméra serveur sont à compiler et à déployer sur la partie embarquée avec la caméra. Dans notre cas il s'agit de Intel Galileo où on a installé une distribution Linux.
   
  +
Intel Galileo n'ayant pas assez d'espace mémoire (8mb SPI Flash) pour stocker les coudes sources et Linux, il faut donc utiliser un microSD pour stocker notre version Linux (eglibc 210m) téléchargeable [https://software.intel.com/enus/iot/hardware/galileo/downloads]
[[File:Architecture Logique.png]]
 
   
  +
* Une partie de Serveur Central est à compiler et à déployer sur la machine jouant le rôle du serveur. Dans notre cas c'est l'ordinateur personnel. La machine virtuelle que nous avons créée aurait pu aussi jouer le rôle du serveur central puisque nous avons tout installé et c'est accessible via internet. Néanmoins, il n'y a pas eu assez de temps pour préparer pour ça la partie Caméra serveur.
==Architecture Physique==
 
   
  +
'''Les étapes à suivre'''
=Manuel d'installation=
 
   
  +
'''Étape 1:''' Récupérer les codes sources ici [https://github.com/AngieMoomin/PM2M2016-Galileo]
Un programme OpenCV et une partie de Camera serveur sont à compiler et à déployer sur le pc embarqué avec la caméra.
 
  +
Une partie de Serveur Central est à compiler et à déployer sur le pc jouant le role du serveur. Dans notre cas c'est la machine virtuel crée chez Amazon WS.
 
  +
'''Étape 2:''' Installer la distribution Linux sur la carte microSD à partir d'une machine
  +
  +
'''Étape 3:''' Connecter la carte microSD avc Intel Galileo
  +
  +
'''Étape 4:''' Installer Equinox sur la carte microSD
  +
  +
'''Étape 5:''' Installer les librairies OpenCV sur la carte microSD
  +
  +
'''Étape 6:''' Copier les fichiers
  +
  +
''-- information-broker-bundle-0.0.1-SNAPSHOT.jar
  +
  +
-- information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar
  +
au serveur central''
  +
  +
'''Étape 7:''' Déployé les bundles suivants
  +
  +
''-- camera-broker-bundle-0-SNAPSHOT.jar
  +
  +
-- camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar''
  +
  +
dans le linux sur Intel Galileo
  +
  +
'''Étape 8:''' Copier et Compiler la partie '''Camera_Finale''' au de la machine qui embarque la camera, dans notre cas il s'agit de Intel Galileo.
  +
Cette étape génère un rapport d'activité qui est stocké dans un fichier appelé ''releve.xml'' qui est immédiatement transféré au serveur.
  +
  +
'''Étape 9:''' Du coté serveur, accéder au rapport du caméra via le lien <nowiki> http://localhost:8080/releve</nowiki>
   
 
=Photos=
 
=Photos=
  +
  +
[[File:Working_project.jpg]]

Latest revision as of 22:56, 20 April 2016

Compteur de passage de véhicules avec OpenCV

Etudiants M2PGI PM2M: SUN Huanan, RUKUNDO Fiston, OLVERA BADILLO Angélica


Dépôt Git : github

Documents : Rapport - Transparents


Description

Ce projet a été repris du cours M2M de l'année scolaire 2011-2012: http://air.imag.fr/index.php/D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux

Le projet repris avait pour but d'effectuer des décomptes de trafic automobiles à différents feux d'une zone urbaine. Après les résultats (le comptage) seraient envoyés à un serveur sous forme de relevés. Les relevés après pourraient être analysés pour prendre des décisions pertinents pour la zone urbaine.

Limitations par rapport au code repris et que nous n'avons pas améliorés. Ce n'est pas possible de:

  • Reconnaître si l'objet repéré est une automobile ou un autre objet quelconque.
  • Faire une collecte automatisée des relevés générés par le(s) caméra(s), ni l'analyse de ces données.

Améliorations du projet repris:

  • Au lieu d'utiliser deux ordinateurs (une contenant la caméra). Nous avons pu utiliser Intel Galileo connecté au webcam et une ordinateur (serveur central) pour récupérer les relevés (comptage) de la camera distante.
  • La réseau local c'est fait avec un router. Intel Galileo se connecte grâce au module WiFi que nous avons ajouté.

Améliorations en cours qui n'ont pas pu être fini:

  • La partie du serveur central a été installée sur la machine virtuelle et c'est accessible via internet. (ajout des photos)
  • Vu que la partie du serveur est déjà accessible sur internet, la partie avec la caméra distante pourrait être aussi mis à disposition sur internet. Comme ça le projet serait plus réaliste.
  • Nous avons tout installé sur la machine virtuelle amazon (base de données, outils pour l'analyse, etc) mais nous n'avons pas eu du temps pour continuer (mentionné dans les limitations)

Matériel utilisé

  • Intel Galileo
  • Carte MicroSD (de taille 4Go)
  • Module Wifi (modèle Atheros AR5B22)
  • WebCam (USB 2.0)
  • Router (FAST FW300)
  • Une ordinateur

Configuration systèmes

  • Equinox Version 3.3
  • OpenCV
  • Linux Ubuntu (eglibc 210 m, pour Intel Galileo)
  • JDK java
  • Apache Maven

Architecture

Architecture Logique

Il y a trois parties:

Partie But
Un programme opencv Compter le nombre de voitures et créer un ficher xml(relevé)
Caméra Serveur Créer outputstream du ficher xml
Serveur Central Établir la connexion avec Caméra Serveur et télécharger le ficher xml

La première partie est aussi dans la Caméra Serveur


Architecture Logique.png

Architecture Physique

Architecture Physique.png

Manuel d'installation

  • Un programme OpenCV et une partie de Caméra serveur sont à compiler et à déployer sur la partie embarquée avec la caméra. Dans notre cas il s'agit de Intel Galileo où on a installé une distribution Linux.

Intel Galileo n'ayant pas assez d'espace mémoire (8mb SPI Flash) pour stocker les coudes sources et Linux, il faut donc utiliser un microSD pour stocker notre version Linux (eglibc 210m) téléchargeable [1]

  • Une partie de Serveur Central est à compiler et à déployer sur la machine jouant le rôle du serveur. Dans notre cas c'est l'ordinateur personnel. La machine virtuelle que nous avons créée aurait pu aussi jouer le rôle du serveur central puisque nous avons tout installé et c'est accessible via internet. Néanmoins, il n'y a pas eu assez de temps pour préparer pour ça la partie Caméra serveur.

Les étapes à suivre

Étape 1: Récupérer les codes sources ici [2]

Étape 2: Installer la distribution Linux sur la carte microSD à partir d'une machine

Étape 3: Connecter la carte microSD avc Intel Galileo

Étape 4: Installer Equinox sur la carte microSD

Étape 5: Installer les librairies OpenCV sur la carte microSD

Étape 6: Copier les fichiers

-- information-broker-bundle-0.0.1-SNAPSHOT.jar

-- information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar au serveur central

Étape 7: Déployé les bundles suivants

-- camera-broker-bundle-0-SNAPSHOT.jar

-- camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar

dans le linux sur Intel Galileo

Étape 8: Copier et Compiler la partie Camera_Finale au de la machine qui embarque la camera, dans notre cas il s'agit de Intel Galileo. Cette étape génère un rapport d'activité qui est stocké dans un fichier appelé releve.xml qui est immédiatement transféré au serveur.

Étape 9: Du coté serveur, accéder au rapport du caméra via le lien http://localhost:8080/releve

Photos

Working project.jpg