Mündəricat:

Cambus - Şəhər Avtobuslarında Məlumat Toplama Sistemi: 8 Addım
Cambus - Şəhər Avtobuslarında Məlumat Toplama Sistemi: 8 Addım

Video: Cambus - Şəhər Avtobuslarında Məlumat Toplama Sistemi: 8 Addım

Video: Cambus - Şəhər Avtobuslarında Məlumat Toplama Sistemi: 8 Addım
Video: Strixhaven: 12 toplayıcı gücləndirici, Magic The Gathering kartlarından ibarət bir qutunun açılması 2024, Noyabr
Anonim
Cambus - Şəhər Avtobusunda Məlumat Toplama Sistemi
Cambus - Şəhər Avtobusunda Məlumat Toplama Sistemi

İctimai nəqliyyatda məlum olan problemlər və çətinliklər arasında əhalinin real vaxt məlumatları yoxdur və ən az iddialıdır. İctimai nəqliyyat avtobuslarının sıxlığı, saatlarla trafikdə olsalar da öz avtomobillərindən istifadə etməyi üstün tutan istifadəçiləri uzaqlaşdırır. Avtobusların sayı kimi real vaxt məlumatı bir istifadəçiyə asanlıqla verilərsə, o, növbəti avtobusu gözləməyi, yoxsa avtobusla dolaşmağı və ya öz nəqliyyat vasitəsini istifadə etməyi seçə bilər. Seçim gücü ictimai nəqliyyatı istifadəçi üçün daha cəlbedici bir seçim halına gətirir.

Evdəki insanları saymaq və ya qiymətləndirmək bir çox şəkildə edilə bilər, bunlar arasında ən çox istifadə edilənlər:

  • Termal görüntülər;
  • Kompüter görmə qabiliyyəti;
  • Üz sayğacı;

Kompüter görmə qabiliyyətindən istifadə edərək bir mühitdə insanları qiymətləndirməyin bir neçə çətinliyi arasında əsas olanlar bunlardır:

  • İnsanların qapanması;
  • Ters işıqlandırma;
  • Statik okklüziya, yəni obyektlərin arxasındakı insanlar;
  • Kameranın ətraf mühitə açısı;

Bu layihənin çətinliyi, görüntünün arxa planının çıxarılmasına ən yaxşı kömək edəcək kameranın düzgün bucağını və avtobus daxilində gün ərzində dəyişən parlaqlığı bilməkdir.

Təklifin əsas məqsədi, sıxlığı qiymətləndirmək və nəticələrini smartfonlar vasitəsilə əhaliyə təqdim etmək üçün möhkəm və konfiqurasiya edilə bilən bir model yaratmaqdır.

Addım 1: Materiallar

Layihə üçün lazım olan material aşağıdakılardır:

1 x Dragon Board 410c;

1 x USB kamera;

1 x Android smartfonu;

Addım 2: Linaro'yu Dragonboard 410c -də quraşdırın

Linaro'yu Dragonboard 410c -də quraşdırın
Linaro'yu Dragonboard 410c -də quraşdırın
Linaro'yu Dragonboard 410c -də quraşdırın
Linaro'yu Dragonboard 410c -də quraşdırın

Linaro 17.09 -u DragonBoard 410c -də quraşdırmaq üçün aşağıdakı linkdəki təlimatları izləyin. GPS üçün kernel dəstəyi üçün Linaro 17.09 quraşdırmanızı məsləhət görürük.

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

Addım 3: Addım 2: Kitabxanaları Qurun və GitHub -dan Mənbə Kodunu Yükləyin

Addım 2: Kitabxanaları quraşdırın və GitHub -dan Mənbə Kodunu Yükləyin
Addım 2: Kitabxanaları quraşdırın və GitHub -dan Mənbə Kodunu Yükləyin

Cambus modul bir arxitektura və kod dizaynına malikdir. Öz maşın öyrənmə alqoritminizi kodlaşdırmaq, digər bulud xidmətinə keçmək və öz istifadəçi tətbiqlərinizi yaratmaq mümkündür.

Cambus layihəsini həyata keçirmək üçün əvvəlcə mənbə kodunu github -dan yükləməlisiniz (https://github.com/bmonteiro00/cambus). Python quraşdırın (Cambus, 2.7 və> 3.x versiyalarında işləyəcək) və 'pip' (sudo apt-get install python-pip) istifadə edərək aşağıdakı kitabxanaları quraşdırın. Linaro sistemində bir çox kitabxana qurmaq lazım olacaq (Cambus sistemini SO -dan təcrid etmək üçün bir virtual mühit yaratmaq tövsiyə olunur - pip install virtualenv). Zəhmət olmasa aşağıdakı kitabxanaları quraşdırın:

  • paho-mqtt quraşdırın
  • pip qurmaq numpy
  • opencv-python quraşdırın
  • opencv-Contrib-python quraşdırın
  • pip quraşdırın
  • pip matplotlib quraşdırın

Əsas proqram siniflərə bölündü:

  • CamBus - əsas sinif;
  • Sensor - GPS mövqeyi, temperatur, Co2 kimi məlumatlar əldə etmək üçün bir sinif.
  • Şəkil işləmə alqoritmi olan əks sinif.

Bütün kitabxanaların quraşdırılıb quraşdırılmadığından əmin olun və CamBus_v1.py python proqramını icra edin.

Addım 4: AWS IoT Core, DynamoDB qurmaq

AWS IoT Core, DynamoDB qurulması
AWS IoT Core, DynamoDB qurulması
AWS IoT Core, DynamoDB qurulması
AWS IoT Core, DynamoDB qurulması
AWS IoT Core, DynamoDB qurulması
AWS IoT Core, DynamoDB qurulması

AWS IoT nüvəsini məlumatları daxil etmək üçün TLS və X509 və NoSQL və DynamoDB ilə MQTT brokeri olaraq istifadə etdik. Https://aws.amazon.com/free ünvanında bir hesab yaratmalı olacaqsınız.) Sonra, bir şey yaratmaq və Dynamo ilə inteqrasiya etmək üçün aşağıdakı adımları yerinə yetirəcəksiniz:

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

Addım 5: Twilio və Dweet API -lərini qurun

Twilio və Dweet API qurun
Twilio və Dweet API qurun
Twilio və Dweet API qurun
Twilio və Dweet API qurun

Twilio SMS xidməti də quruldu. Bu addımı tamamlamaq üçün təlimatlar üçün aşağıdakı URL -yə baxın:

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

Android tətbiqi ilə sistem arasındakı inteqrasiya Dweet platformasından istifadə edərək REST vasitəsi ilə həyata keçirildi.

dweet.io/

Addım 6: Çətinliklər

İnkişafımız zamanı OpenCV texnikasından başlayaraq AWS platformasına qədər bir çox çətinliklərlə qarşılaşdıq. C/C ++ - da inkişaf edən vaxta qənaət etmək üçün Python ilə kod yazmağa qərar verdik. İnkişafımız zamanı yalnız əsas Opencv üsulları, məsələn:

• cv2. GaussBlur (..)

• cv2. eşik (..)

• cv2.morphologyEx (..)

• cv2.contourArea (..)

• cv2.findContours (..)

Bu əsas üsullar insanları aşkar etməkdə yaxşı bir keyfiyyətə çatmaq üçün kifayət deyildi. Sarsıdıcı video ML (Maşın Öyrənmə) olan ssenarilərdən istifadə edildi. Beləliklə, OpenCV maşın öyrənmə kitabxanasından istifadə etmək qərarına gəldik və başqa bir problemlə qarşılaşdıq, çünki ML alqoritmi üçün yaxşı bir məlumat girişini tapmaq çox günlər sərf etdiyimiz bir problem idi. OpenCV SVM alqoritmindən istifadə etdik, amma işləmədik. OpenCV Naive Bayses -dən istifadə etdik və bu yaxşı işləyir. Tensorflow və CNN neyron şəbəkələrindən istifadə etməyə çalışdıq, amma hələlik bunu bacarmadıq. CNN, bizdə olmayan bir çox işləmə gücündən istifadə edir. OpenCV ML və əsas OpenCV metodlarından istifadə etmək, insanları aşkar etməkdə yaxşı bir sürətə çatmağımıza kömək etdi. Buna baxmayaraq, hər bir video növü üçün, insanları yaxşı bir şəkildə aşkar etmək və yalan pozitivliklərdən qaçmaq üçün OpenCV parametrlərini uyğunlaşdırmalıyıq. Bu iki ayın ortasında, məlumat toplama mərkəzini yaratmaq üçün ilk fikrimizi inkişaf etdirdik. yalnız sərnişin sayı və GPS yeri. İstilik və sair kimi digər sensorlardan istifadə edərək məlumat toplamamaq qərarına gəldik. Tətbiqi parametrləşdirmək və konfiqurasiya etmək üçün.ini faylı yaratdıq. Cambus.ini faylında tətbiqi bir çox cəhətdən konfiqurasiya edə bilərsiniz.

Addım 7: Nəticələr və Gələcək İş

Videoda gördüyünüz kimi sayğac dəqiq işləyir. Mavi xətlər giriş limitini, qırmızı xətt isə çıxış limitini göstərir. Bu vəziyyətdə, bir avtobusa yerləşdirə bilmədiyimiz üçün simulyasiya etmək üçün bir video istifadə edildi.

Videonun ölçüsü, kamera açısı, parlaqlığı və s. İlə bağlı vəziyyətinizdə bir dəyişiklik edilməli olduğunu unutmayın. Hər növ videonun öz parametrləri uyğunlaşdırılması, məsələn, kernel çəkmə fonu və s.

Zəhmət olmasa cambus.ini saytındakı dəyişənləri dəyişdirərək MQTT brokerini və s.

Gələcək tətbiqlərdə sistemə temperatur, rütubət və CO2 kimi sensorlar əlavə etməyi düşünürük. Fikir, şəhərlərin ətrafındakı məlumatları cəmiyyətə təqdim etməkdir.

Layihəni yaxşılaşdırmaq üçün edə biləcəyiniz növbəti addımları sadalayırıq:

  • C/C ++ istifadə edərək kodu yenidən yazın;
  • ML alqoritmini təkmilləşdirmək;
  • Python kodunu yenidən faktorlayın;
  • Avtobusa yerləşdirmə;

Verilən bütün dəstəyə görə Embarcados və Qualcomm -a təşəkkür edirik.

Əməkdaşlar:

Bruno Monteiro - [email protected]

Kleber Drobowok - [email protected]

Vinicius de Oliveira - [email protected]

Addım 8: İstinadlar

[1]

[2]

[3]

[4]

[5]

Tövsiyə: