Daftar Isi:

Cambus - Sistem Pendataan Bus Perkotaan: 8 Langkah
Cambus - Sistem Pendataan Bus Perkotaan: 8 Langkah

Video: Cambus - Sistem Pendataan Bus Perkotaan: 8 Langkah

Video: Cambus - Sistem Pendataan Bus Perkotaan: 8 Langkah
Video: PENGANTIN BARU (Nasidaria) - Salma feat. Tiya, Aura, Revina (Official Music Video) 2024, November
Anonim
Cambus - Sistem Pendataan Bus Perkotaan
Cambus - Sistem Pendataan Bus Perkotaan

Di antara masalah dan kesulitan yang diketahui di angkutan umum, penduduk kekurangan informasi real time dan dengan sedikit ketegasan. Kepadatan bus angkot membuat pengguna angkot menjauh, yang lebih memilih menggunakan kendaraan sendiri, meski masih macet berjam-jam. Jika informasi waktu nyata, seperti jumlah bus, mudah tersedia bagi pengguna, ia dapat memilih apakah akan menunggu bus berikutnya atau berkeliling dengan bus atau menggunakan kendaraannya sendiri. Kekuatan pilihan membuat transportasi umum menjadi pilihan yang lebih menarik bagi pengguna.

Menghitung atau menaksir orang di dalam ruangan dapat dilakukan dengan banyak cara, di antaranya yang paling umum digunakan adalah:

  • Gambar termal;
  • Visi komputer;
  • Penghitung wajah;

Di antara beberapa kesulitan untuk memperkirakan orang di lingkungan menggunakan visi komputer, yang utama adalah:

  • Oklusi orang;
  • Membalikkan pencahayaan;
  • Oklusi statis, yaitu orang di belakang objek;
  • Sudut kamera ke lingkungan;

Tantangan untuk proyek ini adalah untuk mengetahui sudut kamera yang tepat yang akan membantu dalam pengurangan latar belakang gambar, serta luminositas variabel pada siang hari di dalam bus.

Tujuan utama dari proposal ini adalah untuk membuat model yang kuat dan dapat dikonfigurasi untuk memperkirakan kepadatan penduduk dan membuat hasilnya tersedia untuk penduduk melalui telepon pintar.

Langkah 1: Bahan

Bahan yang dibutuhkan untuk proyek ini adalah sebagai berikut:

1 x Papan Naga 410c;

1 x kamera USB;

1 x Ponsel Cerdas Android;

Langkah 2: Instal Linaro di Dragonboard 410c

Instal Linaro di Dragonboard 410c
Instal Linaro di Dragonboard 410c
Instal Linaro di Dragonboard 410c
Instal Linaro di Dragonboard 410c

Ikuti petunjuk pada tautan di bawah ini untuk menginstal Linaro 17.09 di DragonBoard 410c. Kami merekomendasikan menginstal Linaro 17.09 untuk dukungan kernel untuk GPS.

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

Langkah 3: Langkah 2: Instal Perpustakaan dan Unduh Kode Sumber Dari GitHub

Langkah 2: Instal Perpustakaan dan Unduh Kode Sumber Dari GitHub
Langkah 2: Instal Perpustakaan dan Unduh Kode Sumber Dari GitHub

Cambus memiliki arsitektur modular dan desain kode. Dimungkinkan untuk membuat kode algoritme pembelajaran mesin Anda sendiri, mengubah ke layanan cloud lain, dan membuat aplikasi pengguna Anda sendiri.

Untuk menjalankan proyek cambus, pertama-tama Anda perlu mengunduh kode sumber dari github (https://github.com/bmonteir00/cambus). Instal python (Cambus adalah mode untuk dijalankan pada versi 2.7 dan > 3.x) dan pustaka berikut menggunakan 'pip' (Sudo apt-get install python-pip). Ini akan diperlukan untuk menginstal banyak perpustakaan di sistem Linaro(Juga, Disarankan untuk membuat lingkungan virtual - pip install virtualenv - untuk mengisolasi sistem Cambus dari SO). Silakan, instal perpustakaan berikut:

  • instal pip paho-mqtt
  • pip install numpy
  • pip instal opencv-python
  • pip instal opencv-contrib-python
  • pip install twilio
  • pip instal matplotlib

Program utama dibagi menjadi beberapa kelas:

  • CamBus - kelas utama;
  • Sensor - kelas untuk mendapatkan data seperti posisi GPS, suhu, Co2.
  • Counter - class dengan algoritma pengolahan citra.

Pastikan jika semua perpustakaan telah diinstal dan jalankan python CamBus_v1.py.

Langkah 4: Menyiapkan AWS IoT Core, DynamoDB

Menyiapkan AWS IoT Core, DynamoDB
Menyiapkan AWS IoT Core, DynamoDB
Menyiapkan AWS IoT Core, DynamoDB
Menyiapkan AWS IoT Core, DynamoDB
Menyiapkan AWS IoT Core, DynamoDB
Menyiapkan AWS IoT Core, DynamoDB

Kami menggunakan inti AWS IoT sebagai broker MQTT dengan TLS dan X509 serta NoSQL dan DynamoDB untuk mencatat data. Anda harus membuat akun di https://aws.amazon.com/free.). Selanjutnya, Anda harus mengikuti langkah-langkah di bawah ini untuk membuat sesuatu dan berintegrasi dengan Dynamo:

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

Langkah 5: Siapkan Twilio dan Dweet API

Siapkan Twilio dan Dweet API
Siapkan Twilio dan Dweet API
Siapkan Twilio dan Dweet API
Siapkan Twilio dan Dweet API

Layanan SMS Twilio juga disiapkan. Lihat URL di bawah untuk petunjuk menyelesaikan langkah ini:

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

Integrasi antara aplikasi android dan sistem dilakukan dengan cara REST menggunakan platform Dweet. Tidak perlu mendaftar.

dweet.io/

Langkah 6: Tantangan

Selama pengembangan kami, banyak tantangan yang kami hadapi, mulai dari teknik OpenCV hingga platform AWS. Kami memutuskan untuk membuat kode dengan Python untuk menghemat waktu pengembangan di C/C++. Selama pengembangan kami hanya metode dasar Opencv seperti:

• cv2. GaussianBlur(..)

• cv2.threshold(..)

• cv2.morphologyEx(..)

• cv2.contourArea(..)

• cv2.findContours(..)

Metode dasar ini tidak cukup untuk mencapai kualitas yang baik dalam mendeteksi orang. Skenario dengan video goyah ML (Machine Learning) digunakan. Jadi, kami memutuskan untuk menggunakan perpustakaan pembelajaran mesin OpenCV dan kami mendapat masalah lain karena menemukan input data yang baik untuk algoritma ML adalah masalah yang kami habiskan selama berhari-hari. Kami telah menggunakan algoritma OpenCV SVM tetapi tidak berhasil. Kami menggunakan OpenCV Naive Bayses dan yang ini bekerja dengan baik. Kami telah mencoba menggunakan jaringan saraf Tensorflow dan CNN, namun kami tidak mewujudkannya untuk saat ini. CNN menggunakan banyak kekuatan pemrosesan, sesuatu yang tidak kami miliki. Menggunakan OpenCV ML dan metode dasar OpenCV membantu kami mencapai tingkat pendeteksian orang yang baik. Namun demikian, untuk setiap jenis video kami harus menyesuaikan parameter OpenCV untuk mencapai tingkat pendeteksian orang yang baik dan menghindari kesalahan positif. Di tengah dua bulan ini kami mengembangkan ide pertama kami untuk melakukan pusat pengumpulan data bukan hanya jumlah penumpang dan lokasi GPS. Kami memutuskan untuk mengumpulkan bukan data menggunakan sensor lain seperti suhu dan sebagainya. Kami membuat file.ini untuk membuat parameter aplikasi dan membuatnya dapat dikonfigurasi. Pada file Cambus.ini Anda dapat mengkonfigurasi aplikasi dengan banyak cara.

Langkah 7: Hasil dan Pekerjaan Masa Depan

Seperti yang Anda lihat di video, penghitung bekerja dengan akurat. Garis biru menandai batas input dan garis merah sebagai batas output. Dalam hal ini, video digunakan untuk simulasi karena kami tidak dapat menyebarkannya ke bus.

Ingatlah bahwa beberapa perubahan harus dilakukan pada kondisi Anda tentang ukuran video, sudut kamera, luminositas, dll. Setiap jenis video harus memiliki penyesuaian parameternya sendiri seperti latar belakang penyedotan kernel opencv dan sebagainya.

Silakan juga mengubah variabel di cambus.ini, menunjukkan broker MQTT dan sebagainya.

Kami mempertimbangkan dalam implementasi mendatang untuk menambahkan sensor, misalnya, suhu, kelembaban, dan CO2 dalam sistem. Idenya adalah untuk mendapatkan data di sekitar kota yang membuatnya tersedia untuk masyarakat.

Berikut ini kami menghitung langkah selanjutnya yang dapat Anda lakukan untuk meningkatkan proyek:

  • Tulis ulang kode menggunakan C/C++;
  • Meningkatkan algoritma ML;
  • Faktor ulang kode python;
  • Penyebaran ke dalam bus;

Kami ingin mengucapkan terima kasih kepada Embarcados dan Qualcomm atas semua dukungan yang diberikan.

Kolaborator:

Bruno Monteiro - [email protected]

Kleber Drobowok - [email protected]

Vinicius de Oliveira - [email protected]

Langkah 8: Referensi

[1]

[2]

[3]

[4]

[5]

Direkomendasikan: