Taula de continguts:
- Pas 1: materials
- Pas 2: instal·leu Linaro a Dragonboard 410c
- Pas 3: Pas 2: Instal·leu biblioteques i baixeu el codi font des de GitHub
- Pas 4: Configuració d’AWS IoT Core, DynamoDB
- Pas 5: configureu les API de Twilio i Dweet
- Pas 6: reptes
- Pas 7: Resultats i treball futur
- Pas 8: referències
Vídeo: Cambus - Sistema de recollida de dades en bus urbà: 8 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Entre els problemes i dificultats coneguts en el transport públic, la població manca d’informació en temps real i amb la menys assertivitat. La massificació d’autobusos de transport públic allunya els usuaris que prefereixen utilitzar els seus propis vehicles, tot i que continuen circulant durant hores. Si la informació en temps real, com ara el nombre d’autobusos, està fàcilment disponible per a un usuari, pot triar si esperar al següent autobús o desplaçar-se en autobús o utilitzar un vehicle propi. El poder d’elecció fa del transport públic una opció més atractiva per a l’usuari.
Comptar o estimar persones a l'interior es pot fer de moltes maneres, entre les quals s'utilitzen més habitualment:
- Imatges tèrmiques;
- Visió per ordinador;
- Comptador de cares;
Entre les diverses dificultats per estimar persones en un entorn que utilitzen la visió per computador, les principals són:
- Oclusions de persones;
- Invertir la il·luminació;
- Oclusió estàtica, és a dir, persones darrere dels objectes;
- Angle de la càmera amb el medi ambient;
Un repte per a aquest projecte és conèixer l’angle correcte de la càmera que millor ajudarà a la resta del fons de la imatge, així com la lluminositat variable durant el dia a l’interior del bus.
L’objectiu principal de la proposta és crear un model robust i configurable per estimar la massificació i posar els resultats a disposició de la població a través dels telèfons intel·ligents.
Pas 1: materials
El material necessari per al projecte és el següent:
1 x Dragon Board 410c;
1 x càmera USB;
1 x Smartphone Android;
Pas 2: instal·leu Linaro a Dragonboard 410c
Seguiu les instruccions de l’enllaç següent per instal·lar Linaro 17.09 al DragonBoard 410c. Recomanem instal·lar Linaro 17.09 per a la compatibilitat del nucli amb GPS.
www.96boards.org/documentation/consumer/dr…
Pas 3: Pas 2: Instal·leu biblioteques i baixeu el codi font des de GitHub
Cambus té una arquitectura modular i un disseny de codi. És possible codificar el vostre propi algorisme d'aprenentatge automàtic, canviar a un altre servei al núvol i crear les vostres pròpies aplicacions d'usuari.
Per executar el projecte cambus, primer heu de descarregar el codi font de github (https://github.com/bmonteiro00/cambus). Instal·leu python (el mode Cambus funcionava a la versió 2.7 i> 3.x) i les biblioteques següents utilitzant 'pip' (sudo apt-get install python-pip). Caldrà instal·lar un munt de biblioteques al sistema Linaro (A més, es recomana crear un entorn virtual - pip install virtualenv - per aïllar el sistema Cambus del SO). Instal·leu les biblioteques següents:
- pip install paho-mqtt
- pip instal·lar numpy
- instal·lar pip opencv-python
- pip instal·lar opencv-contrib-python
- pip instal·lar twilio
- pip instal·lar matplotlib
El programa principal es va dividir en classes:
- CamBus: la classe principal;
- Sensor: una classe per obtenir dades com la posició del GPS, la temperatura i el CO2.
- Contaclasse amb algorisme de processament d 'imatges.
Assegureu-vos que s’han instal·lat totes les biblioteques i executeu Python CamBus_v1.py.
Pas 4: Configuració d’AWS IoT Core, DynamoDB
Hem utilitzat el nucli AWS IoT com a broker MQTT amb TLS i X509 i NoSQL i DynamoDB per registrar dades. Haureu de crear un compte a https://aws.amazon.com/free.). A continuació, haureu de seguir els passos següents per crear una cosa i integrar-la amb Dynamo:
docs.aws.amazon.com/iot/latest/developergu…
Pas 5: configureu les API de Twilio i Dweet
També es va crear el servei Twilio SMS. Consulteu l'URL següent per obtenir instruccions per completar aquest pas:
www.twilio.com/docs/iam/api/account
La integració entre l’aplicació per a Android i el sistema es va fer mitjançant REST mitjançant la plataforma Dweet. No cal registrar-se.
dweet.io/
Pas 6: reptes
Durant el nostre desenvolupament, vam afrontar molts reptes, des de les tècniques OpenCV fins a la plataforma AWS. Vam decidir codificar amb Python per estalviar temps desenvolupant-vos en C / C ++. Durant el nostre desenvolupament només els mètodes bàsics d’Opencv, com ara:
• cv2. GaussianBlur (..)
• llindar cv2. (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Aquests mètodes bàsics no eren suficients per assolir una bona qualitat en la detecció de persones. Es van utilitzar escenaris amb un vídeo inestable ML (Machine Learning). Per tant, vam decidir fer servir la biblioteca d’aprenentatge automàtic OpenCV i vam tenir un altre problema perquè trobar una bona entrada de dades per a l’algorisme ML era un problema que vam passar molts dies. Hem utilitzat l’algorisme OpenCV SVM però no hem treballat. Vam utilitzar OpenCV Naive Bayses i aquest va funcionar bé. Hem intentat utilitzar les xarxes neuronals Tensorflow i CNN, però no ho hem aconseguit per ara. CNN utilitza molta potència de processament, cosa que no teníem. L’ús d’OpenCV ML i els mètodes bàsics d’OpenCV ens van ajudar a assolir un bon ritme de detecció de persones. No obstant això, per a cada tipus de vídeo hem d’adaptar els paràmetres d’OpenCV per tal d’arribar a una bona taxa de detecció de persones i evitar falsos positius. A la meitat d’aquests dos mesos vam desenvolupar la nostra primera idea de fer un centre de recopilació de dades que no només el nombre de passatgers i la ubicació del GPS. Vam decidir no recopilar dades mitjançant altres sensors com la temperatura, etc. Hem creat un fitxer.ini per parametritzar l’aplicació i configurar-la. Al fitxer Cambus.ini podeu configurar l'aplicació de moltes maneres.
Pas 7: Resultats i treball futur
Com podeu veure al vídeo, el comptador funciona amb precisió. Les línies blaves marquen el límit d’entrada i la línia vermella el límit de sortida. En aquest cas, es va fer servir un vídeo per simular perquè no el vam poder desplegar a un autobús.
Tingueu en compte que s’ha de fer algun canvi en la vostra condició quant a la mida del vídeo, l’angle de la càmera, la lluminositat, etc.
Si us plau, també canvieu les variables a cambus.ini, indicant el corredor MQTT, etc.
Considerem en futures implementacions afegir sensors, per exemple, de temperatura, humitat i CO2 al sistema. La idea és obtenir dades de les ciutats que les facilitin a la comunitat.
A continuació, es detallen els següents passos que podeu fer per millorar el projecte:
- Torneu a escriure el codi amb C / C ++;
- Millorar l'algorisme ML;
- Torneu a factoritzar el codi python;
- Desplegament en un autobús;
Volem agrair a Embarcados i Qualcomm tot el suport donat.
Col·laboradors:
Bruno Monteiro: [email protected]
Kleber Drobowok: [email protected]
Vinicius de Oliveira - [email protected]
Pas 8: referències
[1]
[2]
[3]
[4]
[5]
Recomanat:
Feu parcel·les precioses a partir de dades Arduino en viu (i deseu les dades a Excel): 3 passos
Feu gràfics bonics a partir de dades Arduino en viu (i deseu les dades a Excel): a tots ens agrada jugar amb la nostra funció de loteria P … a l’IDE Arduino. Tot i que, si bé pot ser útil per a aplicacions bàsiques, les dades s’esborren com més s’afegeixen punts i no resulta especialment agradable als ulls. El traçador IDE Arduino no
Antena de ràdio de pernil urbà al terrat: 8 passos (amb imatges)
Antena de ràdio de pernil urbana al terrat: fa poc vaig posar una antena de ràdio pernil al terrat, de manera que pogués obtenir millor senyal dins del meu apartament, que no es troba en un pis alt. Com a ultra principiant sense molta inversió en l’afició, era perfectament acceptable haver de pujar al terrat per
EAL - Recollida de dades GPS de la indústria 4.0 en cotxe Rc: 4 passos
EAL - Recopilació de dades GPS de la indústria 4.0 a Rc Car: en aquest instructiu parlarem de com configurem un mòdul GPS en un cotxe RC i publiquem les dades recollides a una pàgina web per facilitar-ne la supervisió. Anteriorment hem fet una instrucció sobre com hem fabricat el nostre cotxe RC, que es pot trobar aquí. Això fa servir th
Visualització de temperatura i humitat i recollida de dades amb Arduino i processament: 13 passos (amb imatges)
Visualització de temperatura i humitat i recopilació de dades amb Arduino i processament: Introducció: es tracta d’un projecte que utilitza una placa Arduino, un sensor (DHT11), un ordinador Windows i un programa de processament (que es pot descarregar gratuïtament) per mostrar dades de temperatura, humitat en format digital i forma de gràfic de barres, visualització de l'hora i la data i execució d'un temps de recompte
Centre de recollida de dades del sensor habilitat per IoT amb ESP8266 i PubNub: 9 passos (amb imatges)
Centre de recollida de dades del sensor habilitat per IoT amb ESP8266 i PubNub: la majoria dels tutorials de l’ESP8266 són a nivell de principiants (parpellejant remotament un led) o massa complexos per a algú que busca alguna cosa per millorar i millorar les seves habilitats de parpelleig de leds. objectius instructius per salvar aquesta bretxa per crear