Πίνακας περιεχομένων:

Cambus - Σύστημα συλλογής δεδομένων σε αστικό λεωφορείο: 8 βήματα
Cambus - Σύστημα συλλογής δεδομένων σε αστικό λεωφορείο: 8 βήματα

Βίντεο: Cambus - Σύστημα συλλογής δεδομένων σε αστικό λεωφορείο: 8 βήματα

Βίντεο: Cambus - Σύστημα συλλογής δεδομένων σε αστικό λεωφορείο: 8 βήματα
Βίντεο: ΓΕΓΟΝΟΤΑ ΘΡΑΚΗ ΝΕΤ 18-01-2024 2024, Νοέμβριος
Anonim
Cambus - Σύστημα συλλογής δεδομένων στο αστικό λεωφορείο
Cambus - Σύστημα συλλογής δεδομένων στο αστικό λεωφορείο

Μεταξύ των προβλημάτων και των δυσκολιών που είναι γνωστά στις δημόσιες συγκοινωνίες, ο πληθυσμός στερείται πληροφοριών σε πραγματικό χρόνο και με τη μικρότερη δυνατή διεκδίκηση. Ο συνωστισμός των λεωφορείων με τα μέσα μαζικής μεταφοράς απομακρύνει τους χρήστες, οι οποίοι προτιμούν να χρησιμοποιούν τα δικά τους οχήματα, παρόλο που εξακολουθούν να βρίσκονται σε κίνηση για ώρες. Εάν οι πληροφορίες σε πραγματικό χρόνο, όπως ο αριθμός των λεωφορείων, είναι εύκολα διαθέσιμες σε έναν χρήστη, μπορεί να επιλέξει αν θα περιμένει το επόμενο λεωφορείο ή θα μετακινηθεί με λεωφορείο ή θα χρησιμοποιήσει δικό του όχημα. Η δύναμη της επιλογής καθιστά τα μέσα μαζικής μεταφοράς μια πιο ελκυστική επιλογή για τον χρήστη.

Η καταμέτρηση ή η εκτίμηση των ατόμων σε εσωτερικούς χώρους μπορεί να γίνει με πολλούς τρόπους, μεταξύ των οποίων οι πιο συχνά απασχολούμενοι είναι:

  • Θερμικές εικόνες.
  • Όραση υπολογιστή;
  • Μετρητής προσώπου?

Μεταξύ των πολλών δυσκολιών για την εκτίμηση των ανθρώπων σε ένα περιβάλλον που χρησιμοποιούν όραση υπολογιστή, οι κυριότερες είναι:

  • Αποφράξεις ανθρώπων.
  • Αντιστροφή φωτισμού?
  • Στατική απόφραξη, δηλαδή άτομα πίσω από αντικείμενα.
  • Γωνία κάμερας στο περιβάλλον.

Μια πρόκληση για αυτό το έργο είναι να γνωρίζουμε τη σωστή γωνία της κάμερας που θα βοηθήσει καλύτερα στην αφαίρεση του φόντου της εικόνας, καθώς και στη μεταβλητή φωτεινότητα κατά τη διάρκεια της ημέρας μέσα στο δίαυλο.

Ο κύριος στόχος της πρότασης είναι η δημιουργία ενός ισχυρού και διαμορφώσιμου μοντέλου για την εκτίμηση του συνωστισμού και τη διάθεση των αποτελεσμάτων στον πληθυσμό μέσω smartphone.

Βήμα 1: Υλικά

Το υλικό που απαιτείται για το έργο είναι το ακόλουθο:

1 x Dragon Board 410c.

1 x κάμερα USB.

1 x Smartphone Android.

Βήμα 2: Εγκαταστήστε το Linaro στο Dragonboard 410c

Εγκαταστήστε το Linaro στο Dragonboard 410c
Εγκαταστήστε το Linaro στο Dragonboard 410c
Εγκαταστήστε το Linaro στο Dragonboard 410c
Εγκαταστήστε το Linaro στο Dragonboard 410c

Ακολουθώντας τις οδηγίες στον παρακάτω σύνδεσμο για να εγκαταστήσετε το Linaro 17.09 στο DragonBoard 410c. Σας συνιστούμε να εγκαταστήσετε το Linaro 17.09 για υποστήριξη πυρήνα για GPS.

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

Βήμα 3: Βήμα 2: Εγκατάσταση Βιβλιοθηκών και Λήψη πηγαίου κώδικα από το GitHub

Βήμα 2: Εγκατάσταση Βιβλιοθηκών και Λήψη πηγαίου κώδικα από το GitHub
Βήμα 2: Εγκατάσταση Βιβλιοθηκών και Λήψη πηγαίου κώδικα από το GitHub

Το Cambus έχει αρθρωτή αρχιτεκτονική και σχεδιασμό κώδικα. Είναι δυνατό να κωδικοποιήσετε τον δικό σας αλγόριθμο μηχανικής εκμάθησης, να αλλάξετε σε άλλη υπηρεσία cloud και να δημιουργήσετε τις δικές σας εφαρμογές χρήστη.

Για να εκτελέσετε το έργο cambus, πρέπει πρώτα να κατεβάσετε τον πηγαίο κώδικα από το github (https://github.com/bmonteiro00/cambus). Εγκαταστήστε python (το Cambus ήταν σε λειτουργία για verison 2.7 και> 3.x) και τις ακόλουθες βιβλιοθήκες που χρησιμοποιούσαν «pip» (sudo apt-get install python-pip). Θα χρειαστεί να εγκαταστήσετε μια δέσμη βιβλιοθηκών στο σύστημα Linaro (Επίσης, συνιστάται η δημιουργία ενός εικονικού περιβάλλοντος - pip install virtualenv - προκειμένου να απομονωθεί το σύστημα Cambus από το SO). Εγκαταστήστε τις ακόλουθες βιβλιοθήκες:

  • pip εγκατάσταση paho-mqtt
  • pip εγκατάσταση numpy
  • pip εγκατάσταση opencv-python
  • pip εγκατάσταση opencv-contrib-python
  • pip εγκατάσταση twilio
  • pip εγκατάσταση matplotlib

Το κύριο πρόγραμμα χωρίστηκε σε τάξεις:

  • CamBus - η κύρια τάξη.
  • Αισθητήρας - μια κλάση για τη λήψη δεδομένων όπως η θέση GPS, η θερμοκρασία, το Co2.
  • Counter - class με αλγόριθμο επεξεργασίας εικόνας.

Βεβαιωθείτε ότι έχουν εγκατασταθεί όλες οι βιβλιοθήκες και εκτελέστε python 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 ως μεσίτη MQTT με TLS και X509 και NoSQL και DynamoDB για καταγραφή δεδομένων. Θα πρέπει να δημιουργήσετε έναν λογαριασμό στη διεύθυνση https://aws.amazon.com/free.). Στη συνέχεια, θα πρέπει να ακολουθήσετε τα παρακάτω βήματα για να δημιουργήσετε ένα πράγμα και να ενσωματωθείτε στο Dynamo:

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

Βήμα 5: Ρύθμιση API Twilio και Dweet

Ρύθμιση Twilio και Dweet API
Ρύθμιση Twilio και Dweet API
Ρύθμιση API Twilio και Dweet
Ρύθμιση API Twilio και Dweet

Δημιουργήθηκε επίσης η υπηρεσία Twilio SMS. Δείτε την παρακάτω διεύθυνση URL για οδηγίες για να ολοκληρώσετε αυτό το βήμα:

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

Η ενσωμάτωση μεταξύ της εφαρμογής android και του συστήματος έγινε μέσω REST χρησιμοποιώντας την πλατφόρμα Dweet. Δεν απαιτείται εγγραφή.

dweet.io/

Βήμα 6: Προκλήσεις

Κατά τη διάρκεια της ανάπτυξης μας αντιμετωπίσαμε πολλές προκλήσεις, ξεκινώντας από τις τεχνικές OpenCV έως την πλατφόρμα AWS. Αποφασίσαμε να κωδικοποιήσουμε με την Python προκειμένου να εξοικονομήσουμε χρόνο στην ανάπτυξη σε C/C ++. Κατά την ανάπτυξή μας μόνο οι βασικές μέθοδοι Opencv όπως:

• cv2. GaussianBlur (..)

• cv2.threshold (..)

• cv2.morphologyEx (..)

• cv2.contourArea (..)

• cv2.findContours (..)

Αυτές οι βασικές μέθοδοι δεν ήταν αρκετές για να επιτύχουν μια καλή ποιότητα στην ανίχνευση ανθρώπων. Χρησιμοποιήθηκαν σενάρια με τρανταχτό βίντεο ML (Machine Learning). Έτσι, αποφασίσαμε να χρησιμοποιήσουμε τη βιβλιοθήκη μηχανικής εκμάθησης OpenCV και αντιμετωπίσαμε ένα άλλο πρόβλημα επειδή η εύρεση μιας καλής εισαγωγής δεδομένων για τον αλγόριθμο ML ήταν ένα πρόβλημα που περάσαμε πολλές ημέρες. Έχουμε χρησιμοποιήσει αλγόριθμο OpenCV SVM αλλά δεν έχει λειτουργήσει. Χρησιμοποιήσαμε το OpenCV Naive Bayses και αυτό λειτούργησε ΟΚ. Προσπαθήσαμε να χρησιμοποιήσουμε τα νευρωνικά δίκτυα Tensorflow και CNN, ωστόσο δεν τα καταφέραμε προς το παρόν. Το CNN χρησιμοποιεί πολλή επεξεργαστική ισχύ, κάτι που δεν είχαμε. Η χρήση του OpenCV ML και των βασικών μεθόδων OpenCV μας βοήθησε να φτάσουμε σε ένα καλό ποσοστό ανίχνευσης ανθρώπων. Παρ 'όλα αυτά, για κάθε τύπο βίντεο πρέπει να προσαρμόσουμε τις παραμέτρους του OpenCV προκειμένου να επιτύχουμε ένα καλό ποσοστό ανίχνευσης ανθρώπων και αποφυγής ψευδώς θετικών. Στα μέσα αυτών των δύο μηνών εξελίξαμε την πρώτη μας ιδέα να κάνουμε ένα κέντρο συλλογής δεδομένων όχι μόνο τον αριθμό των επιβατών και τη θέση GPS. Αποφασίσαμε να συλλέξουμε όχι δεδομένα χρησιμοποιώντας άλλους αισθητήρες όπως θερμοκρασία και ούτω καθεξής. Δημιουργήσαμε ένα αρχείο.ini για να παραμετροποιήσουμε την εφαρμογή και να την κάνουμε διαμορφώσιμη. Στο αρχείο Cambus.ini μπορείτε να διαμορφώσετε την εφαρμογή με πολλούς τρόπους.

Βήμα 7: Αποτελέσματα και μελλοντική εργασία

Όπως μπορείτε να δείτε στο βίντεο, ο μετρητής λειτουργεί με ακρίβεια. Οι μπλε γραμμές σηματοδοτούν το όριο εισόδου και η κόκκινη γραμμή το όριο εξόδου. Σε αυτήν την περίπτωση, χρησιμοποιήθηκε ένα βίντεο για προσομοίωση επειδή δεν μπορούσαμε να το αναπτύξουμε σε ένα λεωφορείο.

Λάβετε υπόψη ότι πρέπει να γίνει κάποια αλλαγή στην κατάστασή σας σχετικά με το μέγεθος του βίντεο, τη γωνία της κάμερας, τη φωτεινότητα κ.λπ. Κάθε τύπος βίντεο πρέπει να είναι η προσαρμογή των παραμέτρων του, όπως το φόντο αναρρόφησης πυρήνα opencv και ούτω καθεξής.

Αλλάξτε επίσης μεταβλητές στο cambus.ini, υποδεικνύοντας μεσίτη MQTT και ούτω καθεξής.

Εξετάζουμε σε μελλοντικές εφαρμογές να προσθέσουμε αισθητήρες, για παράδειγμα, θερμοκρασία, υγρασία και CO2 στο σύστημα. Η ιδέα είναι να λάβουμε δεδομένα στις πόλεις, καθιστώντας τα διαθέσιμα στην κοινότητα.

Στη συνέχεια, απαριθμούμε τα επόμενα βήματα που μπορείτε να βελτιώσετε το έργο:

  • Ξαναγράψτε τον κωδικό χρησιμοποιώντας C/C ++.
  • Βελτίωση αλγορίθμου ML.
  • Επαναπροσδιορισμός κώδικα python.
  • Αποστολή σε λεωφορείο.

Θα θέλαμε να ευχαριστήσουμε την Embarcados και την Qualcomm για όλη την υποστήριξη που δόθηκε.

Συνεργάτες:

Μπρούνο Μοντέιρο - [email protected]

Kleber Drobowok - [email protected]

Vinicius de Oliveira - [email protected]

Βήμα 8: Αναφορές

[1]

[2]

[3]

[4]

[5]

Συνιστάται: