Мазмуну:

Камбус - шаардык автобустагы маалыматтарды чогултуу системасы: 8 кадам
Камбус - шаардык автобустагы маалыматтарды чогултуу системасы: 8 кадам

Video: Камбус - шаардык автобустагы маалыматтарды чогултуу системасы: 8 кадам

Video: Камбус - шаардык автобустагы маалыматтарды чогултуу системасы: 8 кадам
Video: Бит жана байт. Маалыматты өлчөө бирдиктери. Маалымат компьютерде кантип сакталат? 2024, Ноябрь
Anonim
Камбус - шаардык автобустагы маалыматтарды чогултуу системасы
Камбус - шаардык автобустагы маалыматтарды чогултуу системасы

Коомдук транспортто белгилүү болгон көйгөйлөр менен кыйынчылыктардын арасында калк реалдуу убакытта маалыматка ээ эмес жана анча ишенимдүү эмес. Коомдук транспорттогу автобустардын толуп кетиши колдонуучуларды алыстатат, алар өздөрүнүн унааларын колдонууну каалашат, бирок алар саат бою кыймылда турушат. Эгерде реалдуу убакытта, мисалы, автобустардын саны, колдонуучуга оңой жеткиликтүү болсо, анда ал кийинки автобусту күтөбү же автобус менен айланып өтүүнү же өзүнүн жеке унаасын колдонууну тандай алат. Тандоо күчү коомдук транспортту колдонуучу үчүн жагымдуу вариантка айландырат.

Үй ичиндеги адамдарды эсептөө же эсептөө ар кандай жолдор менен жүргүзүлүшү мүмкүн, алардын арасында эң көп иштегендер:

  • Жылуулук сүрөттөрү;
  • Компьютердин көрүүсү;
  • Бет эсептегич;

Компьютердик көрүнүштү колдонуп, чөйрөдө адамдарды баалоодо бир нече кыйынчылыктардын арасында, негизгилери:

  • Адамдардын окклюзиялары;
  • Тескери жарык берүү;
  • Статикалык окклюзия, башкача айтканда, объекттердин артындагы адамдар;
  • Камеранын айлана -чөйрөгө болгон бурчу;

Бул долбоордун бир көйгөйү - бул автобустун ичинде күндүзү сүрөттүн фонун алып салууга эң жакшы жардам бере турган камеранын туура бурчун билүү.

Сунуштун негизги максаты - толуп кетүүнү эсептөө үчүн күчтүү жана конфигурацияланган моделди түзүү жана натыйжаларды смартфондор аркылуу калкка жеткиликтүү кылуу.

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

Долбоор үчүн керектүү материал болуп төмөнкүлөр саналат:

1 x Dragon Board 410c;

1 x USB камера;

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

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

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). Python орнотуу (Камбус версия 2.7 жана> 3.xте иштөө режими болчу) жана төмөнкү китепканалар 'pip' (sudo apt-get install python-pip) аркылуу. Линаро системасында көптөгөн китепканаларды орнотуу үчүн керек болот (Мындан тышкары, Cambus системасын СОдон ажыратуу үчүн виртуалдык чөйрөнү түзүү сунушталат - pip install virtualenv). Сураныч, төмөнкү китепканаларды орнотуңуз:

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

Негизги программа класстарга бөлүнгөн:

  • CamBus - негизги класс;
  • Сенсор - GPS позициясы, температура, Co2 сыяктуу маалыматтарды алуу үчүн класс.
  • Counter - класс сүрөт иштетүү алгоритми менен.

Бардык китепканалар орнотулгандыгын текшериңиз жана pyBon 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 орнотуу

Биз AWS IoT ядросун TLS жана X509 жана NoSQL жана DynamoDB менен MQTT брокери катары колдондук. Андан кийин, сиз бир нерсени түзүү жана Динамо менен интеграциялоо үчүн төмөнкү кадамдарды аткарасыз:

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 колдонмосу менен тутумдун ортосундагы интеграция REST аркылуу Dweet платформасы аркылуу жүргүзүлдү.

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 нейрон тармактарын колдонууга аракет кылдык, бирок азырынча андай кылган жокпуз. CNN иштетүү күчүн көп колдонот, бизде жок нерсе. Колдонуу OpenCV ML жана OpenCV методдорунун негизги ыкмалары адамдарды табуунун жакшы көрсөткүчүнө жетүүгө жардам берди. Ошентсе да, видеонун ар бир түрү үчүн биз адамдарды аныктоонун жакшы көрсөткүчүнө жетүү жана жалган позитивдүү нерселерди болтурбоо үчүн OpenCVнын параметрлерин ыңгайлаштырышыбыз керек. Ушул эки айдын ортосунда биз маалымат чогултуу борборун эмес, биринчи идеябызды иштеп чыктык. жүргүнчүлөрдүн саны жана GPS жайгашуусу. Биз температураны жана башка ушул сыяктуу сенсорлорду колдонбостон, маалыматтарды чогултууну чечтик. Колдонмону параметрлештирүү үчүн жана. Cambus.ini файлында колдонмону ар кандай жолдор менен конфигурациялай аласыз.

7 -кадам: Жыйынтыктар жана келечектеги иштер

Видеодо көрүнүп тургандай, эсептегич так иштеп жатат. Көк сызыктар кирүү чегин жана кызыл сызык чыгаруу чегин белгилейт. Бул учурда видео окшоштуруу үчүн колдонулган, анткени биз аны автобуска жайгаштыра алган жокпуз.

Видеоңуздун өлчөмү, камеранын бурчу, жарыктуулугу ж.

Сураныч, cambus.iniдеги өзгөрмөлөрдү өзгөртүңүз, MQTT брокерин жана башкаларды көрсөтүңүз.

Келечекте ишке ашырууда тутумдагы температура, нымдуулук жана СО2 сыяктуу сенсорлорду кошууну карап чыгабыз. Идея - бул шаарлардын тегерегиндеги маалыматты коомчулукка жеткиликтүү кылуу.

Долбоорду жакшыртуу үчүн кийинки кадамдарды санайбыз:

  • C/C ++ аркылуу кодду кайра жазыңыз;
  • ML алгоритмин өркүндөтүү;
  • Питондун кодун кайра факторлоо;
  • Автобуска жайгаштыруу;

Биз көрсөтүлгөн бардык колдоо үчүн Embarcadosко жана Qualcommго ыраазычылык билдиребиз.

Кызматташтар:

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

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

Vinicius de Oliveira - [email protected]

8 -кадам: Шилтемелер

[1]

[2]

[3]

[4]

[5]

Сунушталууда: