Satura rādītājs:
- 1. solis: materiāli
- 2. darbība: instalējiet Linaro Dragonboard 410c
- 3. darbība: 2. darbība: instalējiet bibliotēkas un lejupielādējiet avota kodu no GitHub
- 4. darbība. AWS IoT Core, DynamoDB iestatīšana
- 5. darbība: iestatiet Twilio un Dweet API
- 6. solis: izaicinājumi
- 7. solis. Rezultāti un turpmākais darbs
- 8. darbība: atsauces
Video: Cambus - Datu vākšanas sistēma pilsētas autobusā: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
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
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
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
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
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:
Pilsētas jumta šķiņķa radio antena: 8 soļi (ar attēliem)
Pilsētas jumta šķiņķa radio antena: nesen uz jumta uzliku šķiņķa radio antenu, lai es varētu iegūt labāku signālu savā dzīvoklī, kas nav augstā stāvā. Būdams ļoti iesācējs bez lieliem ieguldījumiem hobijā, bija pilnīgi pieņemami, ka jākāpj uz jumta
Krāsu šķirošanas sistēma: Arduino balstīta sistēma ar divām jostām: 8 soļi
Krāsu šķirošanas sistēma: Arduino balstīta sistēma ar divām jostām: Produktu un priekšmetu transportēšana un/vai iepakošana rūpniecības jomā tiek veikta, izmantojot līnijas, kas izgatavotas, izmantojot konveijera lentes. Šīs jostas palīdz ar noteiktu ātrumu pārvietot priekšmetu no viena punkta uz otru. Daži apstrādes vai identifikācijas uzdevumi var būt
Jaunā Taipejas pilsētas tūristu karte !!!: 6 soļi
Jaunā Taipejas pilsētas tūristu karte !!!: Šajā projektā es izveidošu kastīti, un tās augšpusē būs Jaunās Taipejas pilsētas karte. Šī projekta mērķis ir informēt bērnus un pieaugušos par 3 galvenajām lielajām teritorijām Jaunajā Taipejā. Kastītes sānos ir 3 pogas
Apkārtējais displejs autobusa ierašanās laikā: 6 soļi (ar attēliem)
Apkārtējais displejs autobusu ierašanās: Lai gan ekrāni var būt populāri informācijas skatīšanai, tie noteikti nav vienīgais informācijas patēriņa veids. Ir vairākas iespējas, kā vizualizēt informāciju no visas mūsu vides, un ar šo projektu mēs cenšamies uzlauzt
Pilsētas izpētes detektors: 11 soļi (ar attēliem)
Pilsētas izpētes detektors: Projekts ar nosaukumu Urban Prospector būtībā ir modificēts metāla detektors, kas aprīkots ar degošas gāzes sensoru, kuru var uzbūvēt par mazāk nekā 100 dolāriem. Skenējot jūsu apkārtnes virsmu, jūs varēsit noteikt kabatas