Sisällysluettelo:

Cambus - Tiedonkeruujärjestelmä kaupunkibussissa: 8 vaihetta
Cambus - Tiedonkeruujärjestelmä kaupunkibussissa: 8 vaihetta

Video: Cambus - Tiedonkeruujärjestelmä kaupunkibussissa: 8 vaihetta

Video: Cambus - Tiedonkeruujärjestelmä kaupunkibussissa: 8 vaihetta
Video: NYORIDE LEWAT KAMPUNG PELAJAR GUNUNG PASIR BALIKPAPAN KALIMANTAN TIMUR 2024, Marraskuu
Anonim
Cambus - tiedonkeruujärjestelmä kaupunkibussissa
Cambus - tiedonkeruujärjestelmä kaupunkibussissa

Joukkoliikenteessä tunnetuista ongelmista ja vaikeuksista väestöllä ei ole reaaliaikaista tietoa ja vähiten vakuuttavaa. Julkisen liikenteen linja -autojen ruuhkautuminen ajaa pois käyttäjät, jotka haluavat mieluummin käyttää omia ajoneuvojaan, vaikka ne ovat edelleen liikenteessä tuntikausia. Jos reaaliaikaiset tiedot, kuten linja-autojen määrä, ovat käyttäjän helposti saatavilla, hän voi valita, odottavatko seuraavat bussit vai liikkuvatko bussilla vai käyttävätkö omaa ajoneuvoa. Valinnanvara tekee julkisesta liikenteestä houkuttelevamman vaihtoehdon käyttäjälle.

Ihmisten laskeminen tai arvioiminen sisätiloissa voidaan tehdä monin tavoin, joista yleisimmin työskentelevät ovat:

  • Lämpökuvat;
  • Konenäkö;
  • Face laskuri;

Tärkeimpiä niistä monista vaikeuksista on arvioida ihmisiä ympäristössä tietokonenäön avulla:

  • Ihmisten tukokset;
  • Käänteinen valaistus;
  • Staattinen tukos, eli ihmiset esineiden takana;
  • Kameran kulma ympäristöön nähden;

Tämän projektin haasteena on tietää kameran oikea kulma, joka auttaa parhaiten vähentämään kuvan taustaa, sekä vaihteleva kirkkaus päivän aikana väylän sisällä.

Ehdotuksen päätavoitteena on luoda vankka ja konfiguroitava malli ylikuormituksen arvioimiseksi ja tulosten saattamiseksi väestön saataville älypuhelimien kautta.

Vaihe 1: Materiaalit

Hankkeessa tarvittava materiaali on seuraava:

1 x Dragon Board 410c;

1 x USB -kamera;

1 x älypuhelin Android;

Vaihe 2: Asenna Linaro Dragonboard 410c: hen

Asenna Linaro Dragonboard 410c: hen
Asenna Linaro Dragonboard 410c: hen
Asenna Linaro Dragonboard 410c: hen
Asenna Linaro Dragonboard 410c: hen

Asenna Linaro 17.09 DragonBoard 410c -laitteeseen noudattamalla alla olevan linkin ohjeita. Suosittelemme Linaro 17.09: n asentamista GPS -ytimen tukemiseen.

www.96boards.org/documentation/consumer/dr…

Vaihe 3: Vaihe 2: Asenna kirjastot ja lataa lähdekoodi GitHubista

Vaihe 2: Asenna kirjastot ja lataa lähdekoodi GitHubista
Vaihe 2: Asenna kirjastot ja lataa lähdekoodi GitHubista

Cambuksella on modulaarinen arkkitehtuuri ja koodisuunnittelu. On mahdollista koodata oma koneoppimisalgoritmi, vaihtaa toiseen pilvipalveluun ja luoda omia käyttäjäsovelluksia.

Jos haluat suorittaa cambus -projektin, sinun on ensin ladattava lähdekoodi githubista (https://github.com/bmonteiro00/cambus). Asenna python (Cambus oli tilassa, jossa se toimi verison 2.7 ja> 3.x) ja seuraavat kirjastot käyttämällä 'pip' (sudo apt-get install python-pip). Se on asennettava joukko kirjastoja Linaro -järjestelmään (On myös suositeltavaa luoda virtuaalinen ympäristö - pip install virtualenv - Cambus -järjestelmän eristämiseksi väitetiedoksiannosta). Asenna seuraavat kirjastot:

  • pip asenna paho-mqtt
  • pip asenna numpy
  • pip asenna opencv-python
  • pip asenna opencv-contrib-python
  • pip asenna twilio
  • pip asenna matplotlib

Pääohjelma jaettiin luokkiin:

  • CamBus - pääluokka;
  • Anturi - luokka, jolla saadaan tietoja, kuten GPS -sijainti, lämpötila, hiilidioksidi.
  • Laskuri - luokka kuvankäsittelyalgoritmilla.

Varmista, että kaikki kirjastot on asennettu, ja suorita python CamBus_v1.py.

Vaihe 4: AWS IoT Core, DynamoDB: n käyttöönotto

AWS IoT Core, DynamoDB -asennus
AWS IoT Core, DynamoDB -asennus
AWS IoT Core, DynamoDB -asennus
AWS IoT Core, DynamoDB -asennus
AWS IoT Core, DynamoDB -asennus
AWS IoT Core, DynamoDB -asennus

Käytimme AWS IoT -ydintä MQTT -välittäjänä TLS: n ja X509: n sekä NoSQL: n ja DynamoDB: n kanssa tietojen kirjaamiseen, sinun on luotava tili osoitteessa https://aws.amazon.com/free.). Seuraavaksi sinun on luotava asia ja integroitava se Dynamoon seuraavasti:

docs.aws.amazon.com/iot/latest/developergu…

Vaihe 5: Asenna Twilio- ja Dweet -sovellusliittymät

Asenna Twilio- ja Dweet -sovellusliittymät
Asenna Twilio- ja Dweet -sovellusliittymät
Asenna Twilio- ja Dweet -sovellusliittymät
Asenna Twilio- ja Dweet -sovellusliittymät

Myös Twilio -tekstiviestipalvelu perustettiin. Katso ohjeet tämän vaiheen suorittamiseen alla olevasta URL -osoitteesta:

www.twilio.com/docs/iam/api/account

Android -sovelluksen ja järjestelmän välinen integraatio tehtiin RESTin avulla Dweet -alustalla.

dweet.io/

Vaihe 6: Haasteet

Kehityksemme aikana kohtasimme monia haasteita, alkaen OpenCV -tekniikoista AWS -alustaan. Päätimme koodata Pythonilla säästääksemme aikaa C/C ++: n kehittämisessä. Kehityksemme aikana vain perus Opencv -menetelmät, kuten:

• cv2. GaussianBlur (..)

• cv2.kynnys (..)

• cv2.morphologyEx (..)

• cv2.contourArea (..)

• cv2.findContours (..)

Nämä perusmenetelmät eivät riittäneet hyvään laatuun ihmisten havaitsemisessa. Käytettiin skenaarioita, joissa oli värisevä video ML (Machine Learning). Joten päätimme käyttää OpenCV -koneoppimiskirjastoa ja saimme uuden ongelman, koska hyvän datatulon löytäminen ML -algoritmille oli ongelma, jonka vietimme monta päivää. Olemme käyttäneet OpenCV SVM -algoritmia, mutta emme toimineet. Käytimme OpenCV Naive Baysesia ja tämä toimi OK. Olemme yrittäneet käyttää Tensorflow- ja CNN -hermoverkkoja, mutta emme saaneet sitä aikaan. CNN käyttää paljon prosessointitehoa, mitä meillä ei ollut. Jokaisen videotyypin kohdalla meidän on kuitenkin mukautettava OpenCV: n parametreja, jotta ihmiset voidaan tunnistaa hyvin ja välttää vääriä positiivisia tuloksia. Näiden kahden kuukauden puolivälissä kehitimme ensimmäisen ajatuksemme tehdä tiedonkeruukeskus vain matkustajamäärä ja GPS -sijainti. Päätimme kerätä tietoja ei käyttämällä muita antureita, kuten lämpötilaa ja niin edelleen. Cambus.ini -tiedostossa voit määrittää sovelluksen monin tavoin.

Vaihe 7: Tulokset ja tuleva työ

Kuten videosta näkyy, laskuri toimii tarkasti. Siniset viivat merkitsevät tulorajan ja punainen viiva ulostulorajan. Tässä tapauksessa videota käytettiin simulointiin, koska emme voineet ottaa sitä väylään.

Muista, että olosuhteisiisi on tehtävä muutoksia videon koon, kamerakulman, kirkkauden jne. Suhteen. Jokaisen videotyypin on oltava sen omien parametrien mukauttaminen, kuten opencv -ytimen imutausta ja niin edelleen.

Muuta myös muuttujia osoitteessa cambus.ini, mikä osoittaa MQTT -välittäjän ja niin edelleen.

Harkitsemme tulevissa toteutuksissa antureiden, kuten lämpötilan, kosteuden ja CO2: n, lisäämistä järjestelmään. Ajatuksena on saada tietoa kaupungeista ympäri ja asettaa ne yhteisön saataville.

Seuraavassa luetellaan seuraavat vaiheet, joilla voit parantaa projektia:

  • Kirjoita koodi uudelleen käyttämällä C/C ++;
  • Paranna ML -algoritmia;
  • Re-factor python -koodi;
  • Käyttöönotto linja -autoon;

Haluamme kiittää Embarcadosia ja Qualcommia kaikesta tuesta.

Yhteistyökumppanit:

Bruno Monteiro - [email protected]

Kleber Drobowok - [email protected]

Vinicius de Oliveira - [email protected]

Vaihe 8: Viitteet

[1]

[2]

[3]

[4]

[5]

Suositeltava: