Камбус - қалалық автобуста мәліметтер жинау жүйесі: 8 қадам
Камбус - қалалық автобуста мәліметтер жинау жүйесі: 8 қадам
Anonim
Камбус - қалалық автобуста мәліметтер жинау жүйесі
Камбус - қалалық автобуста мәліметтер жинау жүйесі

Қоғамдық көлікте кездесетін проблемалар мен қиындықтардың ішінде тұрғындарға нақты ақпарат жетіспейді және сенімділігі төмен. Қоғамдық көліктерге арналған автобустардың толып кетуі пайдаланушыларды алыстатады, олар өз көліктерін пайдалануды жөн көреді, олар әлі де сағаттап кептелісте болса да. Егер пайдаланушыға автобустардың саны сияқты нақты уақыттағы ақпарат оңай қол жетімді болса, ол келесі автобусты күтуді немесе автобуспен жүруді немесе жеке көлікті пайдалануды таңдай алады. Таңдау құқығы қоғамдық көлікті пайдаланушы үшін тартымды етеді.

Үйдегі адамдарды санау немесе бағалауды әр түрлі жолмен жүргізуге болады, олардың ішінде ең жиі қолданылатындар:

  • Жылу суреттері;
  • Компьютерлік көру;
  • Бет есептегіш;

Компьютерлік көруді қолдана отырып, қоршаған ортадағы адамдарды бағалаудың бірнеше қиыншылықтарының ішіндегі негізгісі:

  • Адамдардың бітелуі;
  • Инвертивті жарықтандыру;
  • Статикалық окклюзия, яғни объектілердің артындағы адамдар;
  • Камераның қоршаған ортаға бұрышы;

Бұл жобаның міндеті - бұл суреттің фонын азайтуға жақсы көмектесетін камераның дұрыс бұрышын білу, сонымен қатар автобустың ішінде күндізгі жарықтылық.

Ұсыныстың негізгі мақсаты - лық толымдылықты бағалау үшін сенімді және конфигурацияланатын модель құру және нәтижелерді смартфондар арқылы халыққа жеткізу.

1 -қадам: материалдар

Жоба үшін келесі материалдар қажет:

1 x Dragon Board 410c;

1 x USB камерасы;

1 x Android смартфоны;

2 -қадам: Dragonboard 410c -те Linaro орнатыңыз

Linaro -ны Dragonboard 410c -ке орнатыңыз
Linaro -ны Dragonboard 410c -ке орнатыңыз
Linaro -ны Dragonboard 410c -ке орнатыңыз
Linaro -ны Dragonboard 410c -ке орнатыңыз

Linaro 17.09 бағдарламасын DragonBoard 410c -ке орнату үшін төмендегі сілтемедегі нұсқауларды орындаңыз. GPS үшін ядроға қолдау көрсету үшін Linaro 17.09 орнатуды ұсынамыз.

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

3 -қадам: 2 -қадам: Кітапханаларды орнатыңыз және GitHub -дан бастапқы кодты жүктеңіз

2 -қадам: Кітапханаларды орнатыңыз және GitHub -дан бастапқы кодты жүктеңіз
2 -қадам: Кітапханаларды орнатыңыз және GitHub -дан бастапқы кодты жүктеңіз

Камбустың модульдік архитектурасы мен кодтық дизайны бар. Сіз өзіңіздің машиналық оқыту алгоритмін кодтай аласыз, басқа бұлтты қызметке ауыса аласыз және өзіңіздің жеке қосымшаларыңызды жасай аласыз.

Камбус жобасын іске қосу үшін алдымен github -дан бастапқы кодты жүктеу қажет (https://github.com/bmonteiro00/cambus). Питонды орнатыңыз (Cambus 2.7 және> 3.x версияларында жұмыс істейтін режим) және келесі кітапханалар 'pip' (sudo apt-get install python-pip) көмегімен. Linaro жүйесінде көптеген кітапханаларды орнату қажет болады (Сонымен қатар, Cambus жүйесін ОЖ -дан оқшаулау үшін виртуалды ортаны құру ұсынылады - pip install virtualenv). Келесі кітапханаларды орнатыңыз:

  • paho-mqtt орнатыңыз
  • pip орнату numpy
  • opencv-python орнатыңыз
  • opencv-салым-python орнатыңыз
  • twilio орнатыңыз
  • pip matplotlib орнатыңыз

Негізгі бағдарлама сыныптарға бөлінді:

  • CamBus - негізгі класс;
  • Сенсор - GPS позициясы, температура, Co2 сияқты деректерді алуға арналған класс.
  • Кескінді өңдеу алгоритмі бар қарсы сынып.

Барлық кітапханалар орнатылғанына көз жеткізіңіз және CamBus_v1.py питонын орындаңыз.

4 -қадам: AWS IoT Core, DynamoDB орнату

AWS IoT Core, DynamoDB орнату
AWS IoT Core, DynamoDB орнату
AWS IoT Core, DynamoDB орнату
AWS IoT Core, DynamoDB орнату
AWS IoT Core, DynamoDB орнату
AWS IoT Core, DynamoDB орнату

Біз деректерді тіркеу үшін TLS және X509, NoSQL және DynamoDB бар MQTT брокері ретінде AWS IoT ядросын қолдандық. Https://aws.amazon.com/free сайтында тіркелгі жасау қажет болады.) Әрі қарай, сіз бір нәрсені жасау және Динамомен біріктіру үшін келесі әрекеттерді орындауыңыз керек:

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

5 -қадам: Twilio және Dweet API интерфейстерін орнату

Twilio және Dweet API орнату
Twilio және Dweet API орнату
Twilio және Dweet API орнату
Twilio және Dweet API орнату

Twilio SMS қызметі де орнатылды. Бұл қадамды орындау бойынша нұсқауларды алу үшін төмендегі URL мекенжайын қараңыз:

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

Android қосымшасы мен жүйе арасындағы интеграция Dweet платформасы арқылы REST арқылы жүзеге асырылды.

dweet.io/

6 -қадам: Қиындықтар

Біз даму барысында OpenCV техникасынан бастап AWS платформасына дейін көптеген қиындықтарға тап болдық. Біз C/C ++ тілінде уақытты үнемдеу үшін Python -мен кодтауды шештік. Біздің даму барысында Opencv негізгі әдістері ғана:

• cv2. GaussianBlur (..)

• cv2.шекті (..)

• cv2.morphologyEx (..)

• cv2.contourArea (..)

• cv2.findContours (..)

Бұл негізгі әдістер адамдарды анықтаудың жақсы сапасына жету үшін жеткіліксіз болды. ML (Machine Learning) бейтарап бейнесі бар сценарийлер қолданылды. Сонымен, біз OpenCV машиналық оқыту кітапханасын пайдалануды шештік және бізде тағы бір проблема болды, өйткені ML алгоритмі үшін жақсы деректерді енгізу көптеген күндер бойы шешілген мәселе болды. Біз OpenCV SVM алгоритмін қолдандық, бірақ жұмыс істемедік. Біз OpenCV Naive Bayses қолдандық және бұл жақсы жұмыс істеді. Біз Tensorflow пен CNN нейрондық желілерін қолдануға тырыстық, бірақ әзірге біз бұған мүмкіндік бермедік. OpenCV ML мен OpenCV әдістерінің негізгі әдістерін қолдану бізге адамдарды табудың жақсы жылдамдығына қол жеткізуге көмектесті. Соған қарамастан, видодың әр түрі үшін біз адамдарды анықтаудың жақсы жылдамдығына жету үшін және жалған позитивтерді болдырмау үшін OpenCV параметрлерін бейімдеуіміз керек. Осы екі айдың ортасында біз деректерді жинау орталығын жасамау туралы бірінші идеямызды жасадық. жолаушылар саны мен GPS орналасуы. Біз басқа температуралық датчиктерді қолдана отырып, деректерді жинауды шештік. Қолданбаны параметрлеу және оны конфигурациялау үшін.ini файлын құрдық. Cambus.ini файлында қосымшаны көптеген жолдармен конфигурациялауға болады.

7 -қадам: Нәтижелер мен болашақ жұмыс

Бейнеде көріп тұрғандай есептегіш дәл жұмыс істейді. Көк сызықтар кіріс шегін, ал қызыл сызық шығару шегін белгілейді. Бұл жағдайда модельдеу үшін бейне қолданылды, себебі біз оны автобусқа орналастыра алмадық.

Бейне өлшемі, камераның бұрышы, жарықтығы және т.

Сондай -ақ, cambus.ini сайтындағы айнымалыларды MQTT брокерін көрсете отырып, өзгертіңіз.

Біз болашақта жүйеде температура, ылғалдылық және СО2 датчиктерін қосуды қарастырамыз. Идея - қалалар бойынша деректерді қоғамға қолжетімді ету.

Төменде біз жобаны жақсарту үшін келесі қадамдарды санаймыз:

  • C/C ++ көмегімен кодты қайта жазыңыз;
  • ML алгоритмін жетілдіру;
  • Python коэффициентінің рефакторы;
  • Автобусқа отыру;

Біз барлық қолдау үшін Embarcados пен Qualcomm -қа алғыс айтамыз.

Серіктестер:

Бруно Монтейро - [email protected]

Клебер Дробовок - [email protected]

Винисиус де Оливейра - [email protected]

8 -қадам: Әдебиеттер

[1]

[2]

[3]

[4]

[5]

Ұсынылған: