Φοιτητικός διαγωνισμός για ανάπτυξη λογισμικού ‘Video streaming for drones’

Στο πλαίσιο προώθησης της αριστείας, προκηρύσσεται διαγωνισμός με χρηματικό έπαθλο για ανάπτυξη λογισμικού ‘Video streaming for drones’ (MULTIDRONE/ICARUS/AIIA LAB VIDEO STREAMING COMPETITION).

Αντικείμενο: Time-stamping video frames for drones

Έπαθλο: 500-1000 Ευρώ στον νικητή, ανάλογα με την ποιότητα του κώδικα που θα παραδώσει.

Περιγραφή: Θα δοθεί αναλυτική περιγραφή και υπάρχων κώδικας στους συμμετέχοντες στις 9/3/2018.

Οδηγίες και λογισμικό υπάρχουν στην σελίδα: https://drive.google.com/drive/folders/1s6WlmcTA06dsslOxr0AxVZsQ4xcnZYNe

Διοργανωτές: Ερευνητικό έργο ΑΠΘ H2020 Multidrone, Ομάδα Ίκαρος, Εργαστήριο Τεχνητής Νοημοσύνης και Ανάλυσης Πληροφοριών ΑΠΘ.

Παράδοση λογισμικού: σε 1 περίπου μήνα από την ημερομηνία έναρξης του διαγωνισμού (16/4/2018).

Συμμετέχοντες: Οποιοσδήποτε φοιτητής/απόφοιτος του ΑΠΘ ή άλλων ΑΕΙ Θεσσαλονίκης (κατά προτίμηση) ή οποιοδήποτε άτομο που θέλει να δοκιμάσει τα προγραμματιστικά κότσια του με πολύ καλές γνώσεις Python ή C++ και ενδεχομένως γνώσεις ROS (Robotic Operating System).
Όροι: Ο νικητής θα πρέπει να μεταφέρει τα δικαιώματα του κώδικά του στο ΑΠΘ (οι υπόλοιποι
διατηρούν τα δικαιώματά τους). Το έπαθλο και το ύψος του θα καθοριστεί μετά από κρίση αποκλειστικά από τον κο. Ι. Πήτα (καθώς και η περίπτωση να κριθεί ο διαγωνισμός άγονος), σε συνεργασία με ερευνητές του έργου Multidrone, σύμφωνα με τους όρους και τις διαδικασίες του ΕΛΚΕ ΑΠΘ, από ερευνητικό πρόγραμμα που διαχειρίζεται ο ίδιος.

Δηλώσεις συμμετοχής (με αποστολή βιογραφικού) και παράδοση λογισμικού:
υποψήφιος διδάκτορας Π. Καπλάνογλου pikaplanoglou@aiia.csd.auth.gr

Ελπίζω να υπάρξει μεγάλη ανταπόκριση.
Ι. Πήτας
pitas@aiia.csd.auth.gr, https://multidrone.eu/, www.aiia.csd.auth.gr, http://icarus.csd.auth.gr/

MULTIDRONE/ICARUS/AIIA LAB VIDEO STREAMING COMPETITION

Στόχος: Δημιουργία λογισμικού για αποστολή ροής βίντεο από USB κάμερα μέσω RTP/RTCP πρωτοκόλλου. Κάθε καρέ που καταγράφεται θα συνοδεύεται από i) χρονική σήμανση (timestamp) που θα υποδεικνύει τη στιγμή σύλληψης του συγκεκριμένου καρέ από την κάμερα και ii) έναν αύξοντα αριθμό του καρέ (ID). Η πληροφορία timestamp θα μεταφέρεται μέσω της ροής βίντεο η οποία θα υπόκειται σε συμπίεση H264 πριν την αποστολή. Αντιστοιχεί στην ώρα του συστήματος, που θεωρείται συγχρονισμένη με το ρολόι ενός κεντρικού διακομιστή (NTP
Time Server). Κατά τη λήψη του βίντεο από έναν παραλήπτη, αυτός θα πρέπει να είναι σε θέση να εξάγει το timestamp από το κάθε καρέ.
Απαιτούμενα:
1) Δημιουργία ενός αρχείου καταγραφής στον αποστολέα, όπου σε κάθε γραμμή θα αναγράφεται το ID και το timestamp του κάθε καρέ. Στον παραλήπτη, δημιουργία αντίστοιχου αρχείου όπου θα αναγράφεται ο τρέχων αριθμός καρέ που λήφθηκε (RID) και το timestamp που εξήχθηκε από αυτό. Χρησιμοποιώντας ως κλειδί το timestamp και στα δύο αρχεία, θα πρέπει να αντιστοιχηθεί το RID με το ID του κάθε καρέ. Το RID δυνητικά διαφέρει από το ID, λόγω καθυστέρησης σύνδεσης του παραλήπτη ή απώλειας μερικών καρέ κατά την μεταφορά (frame drops).
2) Παράλληλα με την δημιουργία του αρχείου καταγραφής θα πρέπει να γίνεται α) Εμφάνιση της ροής βίντεο στην οθόνη του παραλήπτη. β) Καταγραφή των καρέ που παρελήφθησαν στον δίσκο του παραλήπτη. Θα υπάρχει δυνατότητα επιλογής μια εκ των δύο λειτουργιών.
Εργαλεία Ανάπτυξης: Η ανάπτυξη του λογισμικού μπορεί να γίνει σε περιβάλλον Ubuntu 16 ή Windows 7/8.1/10, με χρήση της βιβλιοθήκης GStreamer 1.0 στις γλώσσες προγραμματισμού Python 2.7 ή C++. Απαιτείται μόνο ένας ΗΥ με πχ webcam.
Βοηθητικό Υλικό
• https://gstreamer.freedesktop.org/
• https://en.wikipedia.org/wiki/Real-time_Transport_Protocol
• https://en.wikipedia.org/wiki/RTP_Control_Protocol
• https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/gst-plugins-good-plugins-rtpbin.html
• https://lazka.github.io/pgi-docs/#Gst-1.0
• Sample python scripts based on gstreamer for H264 compression and streaming via RTP/RTCP https://drive.google.com/open?id=1PWN7Kb8CBUX59nAIlpAaIGwNwRw-vTpj
 

Μετάβαση στο περιεχόμενο