Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: I-install ang Linaro sa Dragonboard 410c
- Hakbang 3: Hakbang 2: Mag-install ng Mga Aklatan at Mag-download ng Source Code Mula sa GitHub
- Hakbang 4: Pag-set up ng AWS IoT Core, DynamoDB
- Hakbang 5: I-setup ang Twilio at Dweet API
- Hakbang 6: Mga Hamon
- Hakbang 7: Mga Resulta at Trabaho sa Hinaharap
- Hakbang 8: Mga Sanggunian
Video: Cambus - Sistema ng Koleksyon ng Data sa Urban Bus: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Kabilang sa mga problema at paghihirap na kilala sa pampublikong transportasyon, ang populasyon ay walang impormasyon sa real time at may pinakamaliit na assertiveness. Ang sobrang sikip ng mga pampublikong transportasyon na bus ay nagtutulak sa mga gumagamit, na mas gustong gumamit ng kanilang sariling mga sasakyan, kahit na maraming oras pa rin silang nasa trapiko. Kung ang impormasyong real-time, tulad ng bilang ng mga bus, ay madaling magagamit sa isang gumagamit, maaari niyang mapili kung maghintay para sa susunod na bus o upang mag-ikot sa pamamagitan ng bus o gumamit ng sariling sasakyan. Ang kapangyarihan ng pagpipilian ay gumagawa ng pampublikong transportasyon na isang mas kaakit-akit na pagpipilian para sa gumagamit.
Ang pagbibilang o pagtantya ng mga tao sa loob ng bahay ay maaaring gawin sa maraming paraan, bukod sa kung saan ang pinaka-karaniwang trabaho ay:
- Mga thermal na imahe;
- Paningin sa computer;
- Face counter;
Kabilang sa maraming mga paghihirap upang tantyahin ang mga tao sa isang kapaligiran na gumagamit ng computer vision, ang mga pangunahing ay:
- Mga pagkakataon ng mga tao;
- Pagbaligtad ng ilaw;
- Static na oklasyon, iyon ay, ang mga tao sa likod ng mga bagay;
- Angulo ng camera sa kapaligiran;
Ang isang hamon para sa proyektong ito ay upang malaman ang tamang anggulo ng camera na makakatulong sa pagbawas ng background ng imahe, pati na rin ang variable na ningning sa araw sa loob ng bus.
Ang pangunahing layunin ng panukala ay upang lumikha ng isang matatag at mai-configure na modelo upang matantya ang sobrang dami ng tao at gawing magagamit ang mga resulta sa populasyon sa pamamagitan ng mga smartphone.
Hakbang 1: Mga Kagamitan
Ang materyal na kinakailangan para sa proyekto ay ang susunod:
1 x Dragon Board 410c;
1 x USB camera;
1 x Smartphone Android;
Hakbang 2: I-install ang Linaro sa Dragonboard 410c
Kasunod sa mga tagubilin sa link sa ibaba upang mai-install ang Linaro 17.09 sa DragonBoard 410c. Inirerekumenda namin ang pag-install ng Linaro 17.09 para sa suporta ng kernel para sa GPS.
www.96boards.org/documentation/consumer/dr…
Hakbang 3: Hakbang 2: Mag-install ng Mga Aklatan at Mag-download ng Source Code Mula sa GitHub
Ang Cambus ay may modular na arkitektura at disenyo ng code. Posibleng i-code ang iyong sariling algorithm ng pag-aaral ng machine, baguhin sa ibang serbisyo sa cloud at lumikha ng iyong sariling mga application ng gumagamit.
Upang patakbuhin ang proyekto ng cambus, kailangan mo munang i-download ang source code mula sa github (https://github.com/bmonteiro00/cambus). I-install ang python (ang Cambus ay mode upang tumakbo sa verison 2.7 at> 3.x) at ang mga sumusunod na aklatan gamit ang 'pip' (sudo apt-get install python-pip). Kakailanganin upang mag-install ng isang bungkos ng mga aklatan sa Linaro system (Gayundin, Inirerekomenda upang lumikha ng isang virtual na kapaligiran - pip install virtualenv - upang ihiwalay ang system ng Cambus mula sa SO). Mangyaring, i-install ang mga sumusunod na aklatan:
- pip install paho-mqtt
- pip install na numpy
- pip install opencv-python
- pip install opencv-contrib-python
- pip install twilio
- pip install matplotlib
Ang pangunahing programa ay nahahati sa mga klase:
- CamBus - ang pangunahing klase;
- Sensor - isang klase upang makakuha ng data tulad ng posisyon ng GPS, temperatura, Co2.
- Counter - klase na may algorithm sa pagproseso ng imahe.
Tiyaking naka-install ang lahat ng mga aklatan at naisakatuparan ang python CamBus_v1.py.
Hakbang 4: Pag-set up ng AWS IoT Core, DynamoDB
Ginamit namin ang AWS IoT core bilang isang MQTT broker na may TLS at X509 at NoSQL at DynamoDB upang mag-log data. Kailangan mong lumikha ng isang account sa https://aws.amazon.com/free.). Susunod, magkakaroon ka ng pagsunod sa mga hakbang sa ibaba upang lumikha ng isang bagay at isama sa Dynamo:
docs.aws.amazon.com/iot/latest/developergu…
Hakbang 5: I-setup ang Twilio at Dweet API
Ang serbisyo ng Twilio SMS ay na-set up din. Tingnan ang URL sa ibaba para sa mga tagubilin upang makumpleto ang hakbang na ito:
www.twilio.com/docs/iam/api/account
Ang pagsasama sa pagitan ng android app at ng system ay ginawa sa pamamagitan ng paraan ng REST na ginamit ang Dweet platform. Walang kinakailangang pag-sign up.
dweet.io/
Hakbang 6: Mga Hamon
Sa panahon ng aming pag-unlad maraming hamon na kinakaharap namin, simula sa mga diskarteng OpenCV hanggang sa platform ng AWS. Nagpasya kaming mag-code sa Python upang makatipid ng oras sa pagbuo sa C / C ++. Sa panahon ng aming pag-unlad lamang ang pangunahing mga pamamaraan ng Opencv tulad ng:
• cv2. GaussianBlur (..)
• cv2. Threshold (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Ang mga pangunahing pamamaraan na ito ay hindi sapat upang maabot ang isang mahusay na kalidad sa pagtuklas ng mga tao. Mga senaryo na may alog na video ML (Machine Learning) ang ginamit. Kaya, nagpasya kaming gamitin ang library ng pag-aaral ng OpenCV machine at nakakuha kami ng isa pang problema dahil upang makahanap ng isang mahusay na input ng data para sa ML algorithm ay isang problema na ginugol namin ng maraming araw. Gumamit kami ng OpenCV SVM algorithm ngunit hindi nagtrabaho. Gumamit kami ng OpenCV Naive Bayses at ang isang ito ay nagawang OK. Sinubukan naming gamitin ang Tensorflow at CNN neural network, subalit hindi namin ito naganap para sa ngayon. Gumagamit ang CNN ng maraming kapangyarihan sa pagpoproseso, isang bagay na wala sa amin. Ang paggamit ng OpenCV ML at ang mga pangunahing kaalaman sa mga pamamaraan ng OpenCV ay nakatulong sa amin na maabot ang isang mahusay na rate ng pagtuklas ng mga tao. Gayunpaman, para sa bawat uri ng vídeo kailangan naming iakma ang mga parameter ng OpenCV upang maabot ang isang mahusay na rate ng pagtuklas ng mga tao at maiwasan ang mga maling positibo. Sa gitna ng dalawang buwan na ito ay binago namin ang aming unang ideya na gumawa ng isang sentro ng koleksyon ng data hindi ang bilang lamang ng mga pasahero at lokasyon ng GPS. Napagpasyahan naming kolektahin ang hindi data gamit ang iba pang mga sensor tulad ng temperatura at iba pa. Lumikha kami ng isang.ini file upang i-parameter ang application at gawin itong mai-configure. Sa file ng Cambus.ini maaari mong i-configure ang application sa maraming paraan.
Hakbang 7: Mga Resulta at Trabaho sa Hinaharap
Tulad ng nakikita mo sa video, gumagana nang wasto ang counter. Ang mga asul na linya ay minarkahan ang limitasyon ng pag-input at ang pulang linya ang limitasyon ng output. Sa kasong ito, ginamit ang isang video upang gayahin dahil hindi namin ito maipapasok sa isang bus.
Isipin na ang ilang pagbabago ay kailangang gawin sa iyong kundisyon tungkol sa laki ng video, anggulo ng kamera, ningning atbp. Ang bawat uri ng video ay dapat na sariling mga parameter na pagbagay tulad ng background ng succulion ng opencv kernel at iba pa.
Mangyaring baguhin din ang mga variable sa cambus.ini, na nagpapahiwatig ng MQTT broker at iba pa.
Isinasaalang-alang namin sa mga pagpapatupad sa hinaharap upang magdagdag ng mga sensor, halimbawa, temperatura, halumigmig at CO2 sa system. Ang ideya ay upang makakuha ng data sa paligid ng mga lungsod na ginagawang magagamit sila sa pamayanan.
Sumusunod na binibilang namin ang mga susunod na hakbang na magagawa mong mapabuti ang proyekto:
- Isulat muli ang code gamit ang C / C ++;
- Pagbutihin ang algorithm ng ML;
- Re-factor python code;
- Pag-deploy sa isang bus;
Nais naming pasalamatan si Embarcados at Qualcomm para sa lahat ng ibinigay na suporta.
Mga Katulong:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Hakbang 8: Mga Sanggunian
[1]
[2]
[3]
[4]
[5]
Inirerekumendang:
Isang Koleksyon ng Mga ANSI Terminal: 10 Hakbang
Isang Koleksyon ng Mga ANSI Terminal: Nagsimula ang proyektong ito bilang isang paraan ng pagpapakita ng 80 haligi ng teksto sa isang LCD display na angkop para sa pagpapatakbo ng isang makalumang word processor tulad ng Wordstar. Iba't ibang iba pang mga pagpapakita ay idinagdag mula sa 0.96 hanggang sa 6 pulgada. Ang mga ipinapakita ay gumagamit ng isang sing
Laruan ng Gantimpala ng Koleksyon ng Laruan: 6 na Hakbang
Laruan ng Gantimpala ng Laruan ng Laruan: Panimula ng makina: Ito ay isang makina ng gantimpala ng koleksyon ng laruan. Kung inilagay mo ang laruan sa laruang kahon. Ang makina ng gantimpala ay madarama na ang isang bagay ay inilagay sa kahon at pagkatapos ay magbigay ng ilaw at tunog na feedback para sa gantimpala. Ang mga bata ay magiging inspirasyon ng
Pagpapakita ng Temperatura at Humidity at Koleksyon ng Data Sa Arduino at Pagproseso: 13 Mga Hakbang (na may Mga Larawan)
Pagpapakita ng Temperatura at Humidity at Koleksyon ng Data Sa Arduino at Pagproseso: Intro: Ito ay isang Proyekto na gumagamit ng isang Arduino board, isang Sensor (DHT11), isang Windows computer at Pagproseso (isang libreng maida-download) na programa upang ipakita ang Temperatura, data ng Humidity sa digital at form ng bar graph, oras ng pagpapakita at petsa at magpatakbo ng isang count up time
Circuit ng Koleksyon ng ECG: 5 Mga Hakbang
Circuit ng Koleksyon ng ECG: PAUNAWA: Hindi ito isang medikal na aparato. Ito ay para sa mga layuning pang-edukasyon na gumagamit lamang ng mga simulate signal. Kung ginagamit ang circuit na ito para sa totoong mga sukat ng ECG, mangyaring tiyaking ang circuit at ang mga koneksyon sa circuit-to-instrument ay gumagamit ng wastong pagkakahiwalay
Ano ang Gagawin Sa Mga Random na Koleksyon ng Motor: Project 2: Mga Ilaw ng Umiikot (Model UFO): 12 Hakbang (na may Mga Larawan)
Ano ang Gagawin Sa Mga Random na Koleksyon ng Motor: Project 2: Umiikot na Mga ilaw (Model UFO): Kaya, mayroon pa rin akong isang Random na Koleksyon ng Motor … Ano ang gagawin ko? Well, isipin natin. Paano 'ang laban sa isang LED light spinner? (Hindi hinawakan ng kamay, paumanhin ang mga mahilig sa manunulid.) Mukhang medyo tulad ng isang UFO, parang isang halo sa pagitan ng isang weed-whacker at isang blender