Satura rādītājs:

Cambus - Datu vākšanas sistēma pilsētas autobusā: 8 soļi
Cambus - Datu vākšanas sistēma pilsētas autobusā: 8 soļi

Video: Cambus - Datu vākšanas sistēma pilsētas autobusā: 8 soļi

Video: Cambus - Datu vākšanas sistēma pilsētas autobusā: 8 soļi
Video: Cile, stato d'emergenza a Santiago dopo scontri per caro trasporti! 2024, Novembris
Anonim
Cambus - datu vākšanas sistēma pilsētas autobusos
Cambus - datu vākšanas sistēma pilsētas autobusos

Starp problēmām un grūtībām, kas zināmas sabiedriskajā transportā, iedzīvotājiem trūkst informācijas reālā laikā un ar vismazāko pārliecību. Sabiedriskā transporta autobusu pārapdzīvotība dzen prom lietotājus, kuri izvēlas izmantot savus transportlīdzekļus, lai gan tie vēl stundām ilgi ir satiksmē. Ja reāllaika informācija, piemēram, autobusu skaits, ir viegli pieejama lietotājam, viņš var izvēlēties, vai gaidīt nākamo autobusu, vai pārvietoties ar autobusu vai izmantot savu transportlīdzekli. Izvēles spējas padara sabiedrisko transportu lietotājam pievilcīgāku.

Cilvēku uzskaiti vai novērtēšanu telpās var veikt daudzos veidos, no kuriem visbiežāk tiek izmantoti:

  • Termiskie attēli;
  • Datora redze;
  • Sejas skaitītājs;

Starp vairākām grūtībām novērtēt cilvēkus vidē, izmantojot datora redzi, galvenās ir:

  • Cilvēku aizsprostojumi;
  • Apgrieztais apgaismojums;
  • Statiskā oklūzija, tas ir, cilvēki aiz objektiem;
  • Kameras leņķis pret vidi;

Šī projekta izaicinājums ir zināt pareizo kameras leņķi, kas vislabāk palīdzēs atņemt attēla fonu, kā arī mainīgo spilgtumu dienas laikā autobusā.

Priekšlikuma galvenais mērķis ir izveidot stabilu un konfigurējamu modeli, lai novērtētu pārapdzīvotību un padarītu rezultātus pieejamus iedzīvotājiem, izmantojot viedtālruņus.

1. solis: materiāli

Projektam nepieciešamais materiāls ir šāds:

1 x Dragon Board 410c;

1 x USB kamera;

1 x viedtālrunis Android;

2. darbība: instalējiet Linaro Dragonboard 410c

Instalējiet Linaro Dragonboard 410c
Instalējiet Linaro Dragonboard 410c
Instalējiet Linaro Dragonboard 410c
Instalējiet Linaro Dragonboard 410c

Sekojiet norādījumiem zemāk esošajā saitē, lai instalētu Linaro 17.09 uz DragonBoard 410c. Mēs iesakām instalēt Linaro 17.09, lai atbalstītu kodolu GPS.

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

3. darbība: 2. darbība: instalējiet bibliotēkas un lejupielādējiet avota kodu no GitHub

2. darbība: instalējiet bibliotēkas un lejupielādējiet avota kodu no GitHub
2. darbība: instalējiet bibliotēkas un lejupielādējiet avota kodu no GitHub

Cambus ir modulāra arhitektūra un koda dizains. Ir iespējams kodēt savu mašīnmācīšanās algoritmu, mainīt uz citu mākoņa pakalpojumu un izveidot savas lietotnes.

Lai palaistu cambus projektu, vispirms lejupielādējiet avota kodu no github (https://github.com/bmonteiro00/cambus). Instalējiet python (Cambus bija režīms, lai palaistu versiju 2.7 un> 3.x) un šādas bibliotēkas, izmantojot 'pip' (sudo apt-get install python-pip). Tas būs nepieciešams, lai instalētu virkni bibliotēku Linaro sistēmā (Turklāt, lai izolētu Cambus sistēmu no iebildumiem, ieteicams izveidot virtuālu vidi - pip install virtualenv). Lūdzu, instalējiet šādas bibliotēkas:

  • pip instalēt paho-mqtt
  • pip instalēt numpy
  • pip instalējiet opencv-python
  • pip instalējiet opencv-contrib-python
  • pip instalēt twilio
  • pip instalēt matplotlib

Galvenā programma tika sadalīta klasēs:

  • CamBus - galvenā klase;
  • Sensors - klase, lai iegūtu tādus datus kā GPS pozīcija, temperatūra, Co2.
  • Skaitītāju klase ar attēlu apstrādes algoritmu.

Pārliecinieties, vai visas bibliotēkas ir instalētas, un izpildiet python CamBus_v1.py.

4. darbība. AWS IoT Core, DynamoDB iestatīšana

AWS IoT Core, DynamoDB iestatīšana
AWS IoT Core, DynamoDB iestatīšana
AWS IoT Core, DynamoDB iestatīšana
AWS IoT Core, DynamoDB iestatīšana
AWS IoT Core, DynamoDB iestatīšana
AWS IoT Core, DynamoDB iestatīšana

Mēs izmantojām AWS IoT kodolu kā MQTT brokeri ar TLS un X509 un NoSQL un DynamoDB, lai reģistrētu datus. Jums būs jāizveido konts vietnē https://aws.amazon.com/free.). Tālāk jums būs jāveic šādas darbības, lai izveidotu lietu un integrētos ar Dynamo:

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

5. darbība: iestatiet Twilio un Dweet API

Iestatiet Twilio un Dweet API
Iestatiet Twilio un Dweet API
Iestatiet Twilio un Dweet API
Iestatiet Twilio un Dweet API

Tika izveidots arī Twilio SMS pakalpojums. Norādījumus šīs darbības veikšanai skatiet tālāk norādītajā URL:

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

Integrācija starp Android lietotni un sistēmu tika veikta, izmantojot REST, izmantojot Dweet platformu. Reģistrācija nav nepieciešama.

dweet.io/

6. solis: izaicinājumi

Mūsu attīstības laikā mēs saskārāmies ar daudzām problēmām, sākot no OpenCV tehnikas līdz AWS platformai. Mēs nolēmām kodēt ar Python, lai ietaupītu laiku C/C ++ izstrādei. Mūsu izstrādes laikā tika izmantotas tikai tādas Opencv pamatmetodes kā:

• cv2. GaussianBlur (..)

• cv2. slieksnis (..)

• cv2.morphologyEx (..)

• cv2.contourArea (..)

• cv2.findContours (..)

Ar šīm pamatmetodēm nebija pietiekami, lai sasniegtu labu kvalitāti cilvēku noteikšanā. Tika izmantoti scenāriji ar satricinošu video ML (mašīnmācīšanās). Tātad, mēs nolēmām izmantot OpenCV mašīnmācīšanās bibliotēku, un mums radās vēl viena problēma, jo atrast labu datu ievadi ML algoritmam bija problēma, kuru pavadījām daudzas dienas. Mēs esam izmantojuši OpenCV SVM algoritmu, bet nav strādājuši. Mēs izmantojām OpenCV Naive Bayses, un šis strādāja labi. Mēs esam mēģinājuši izmantot Tensorflow un CNN neironu tīklus, tomēr pagaidām mums tas neizdevās. CNN izmanto lielu apstrādes jaudu, kas mums nebija. Izmantojot OpenCV ML un OpenCV pamatmetodes, mēs palīdzējām sasniegt labu cilvēku noteikšanas ātrumu. Tomēr katram video tipam mums ir jāpielāgo OpenCV parametri, lai sasniegtu labu cilvēku noteikšanas ātrumu un izvairītos no nepatiesiem pozitīviem rezultātiem. Šo divu mēnešu vidū mēs izstrādājām savu pirmo ideju, nevis izveidot datu vākšanas centru. tikai pasažieru skaits un GPS atrašanās vieta. Mēs nolēmām vākt nevis datus, izmantojot citus sensorus, piemēram, temperatūru un tā tālāk. Mēs izveidojām.ini failu, lai parametrizētu lietojumprogrammu un padarītu to konfigurējamu. Failā Cambus.ini lietojumprogrammu var konfigurēt daudzos veidos.

7. solis. Rezultāti un turpmākais darbs

Kā redzat videoklipā, skaitītājs darbojas precīzi. Zilās līnijas iezīmē ievades robežu, bet sarkanā līnija - izejas robežu. Šajā gadījumā simulācijai tika izmantots video, jo mēs nevarējām to izvietot autobusā.

Paturiet prātā, ka jūsu stāvoklī ir jāveic dažas izmaiņas attiecībā uz video lielumu, kameras leņķi, spilgtumu utt. Katram video veidam ir jābūt tā parametru pielāgošanai, piemēram, opencv kodola atsūkšanas fonam un tā tālāk.

Lūdzu, mainiet arī mainīgos vietnē cambus.ini, norādot MQTT brokeri utt.

Mēs apsveram turpmākajās ieviešanās sistēmās pievienot sensorus, piemēram, temperatūru, mitrumu un CO2. Ideja ir iegūt datus pa pilsētām, padarot tos pieejamus sabiedrībai.

Tālāk mēs uzskaitām nākamās darbības, kuras varat veikt, lai uzlabotu projektu:

  • Pārrakstiet kodu, izmantojot C/C ++;
  • Uzlabot ML algoritmu;
  • Pārfaktorējiet pitona kodu;
  • Izvietošana autobusā;

Mēs vēlētos pateikties Embarcados un Qualcomm par visu sniegto atbalstu.

Līdzstrādnieki:

Bruno Monteiro - [email protected]

Kleber Drobowok - [email protected]

Vinicius de Oliveira - [email protected]

8. darbība: atsauces

[1]

[2]

[3]

[4]

[5]

Ieteicams: