Talaan ng mga Nilalaman:

Cambus - Sistema ng Koleksyon ng Data sa Urban Bus: 8 Hakbang
Cambus - Sistema ng Koleksyon ng Data sa Urban Bus: 8 Hakbang

Video: Cambus - Sistema ng Koleksyon ng Data sa Urban Bus: 8 Hakbang

Video: Cambus - Sistema ng Koleksyon ng Data sa Urban Bus: 8 Hakbang
Video: ✨A Will Eternal EP 01 - 106 Full Version [MULTI SUB] 2024, Nobyembre
Anonim
Cambus - Sistema ng Koleksyon ng Data sa Urban Bus
Cambus - Sistema ng Koleksyon ng Data sa Urban Bus

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

I-install ang Linaro sa Dragonboard 410c
I-install ang Linaro sa Dragonboard 410c
I-install ang Linaro sa Dragonboard 410c
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

Hakbang 2: Mag-install ng Mga Aklatan at Mag-download ng Source Code Mula sa GitHub
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

Pag-set up ng AWS IoT Core, DynamoDB
Pag-set up ng AWS IoT Core, DynamoDB
Pag-set up ng AWS IoT Core, DynamoDB
Pag-set up ng AWS IoT Core, DynamoDB
Pag-set up ng AWS IoT Core, DynamoDB
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

I-setup ang Twilio at Dweet API
I-setup ang Twilio at Dweet API
I-setup ang Twilio at Dweet API
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: