270 likes | 393 Views
Institut für Informatik. MediaQ: Practical Seminar on Big Data for Social Media. Hauptseminar WS 2014/15. Ansprechpartner: Dr. Matthias Renz Dr. Tobias Emrich Johannes Niedermayer. Ablauf. Heute. Was ist MediaQ ? Verwaltete Daten Ziel des Seminars Ablauf des Seminars
E N D
Institut für Informatik MediaQ: Practical Seminar on Big Data for Social Media Hauptseminar WS 2014/15 Ansprechpartner: Dr. Matthias Renz Dr. Tobias Emrich Johannes Niedermayer
Ablauf Heute • Was ist MediaQ? • Verwaltete Daten • Ziel des Seminars • Ablauf des Seminars • Einteilung der Gruppen
MediaQ Was ist MediaQ? • Media Management Framework der University of Southern California (USC) • Sammeln, organisieren, teilen, suchen und verwalten von Bildern und Videos • Mobile App für Android und iPhone • Homepage: http://mediaq.usc.edu
MediaQ Was ist der Unterschied zu YouTube? • Hochgeladene Videos und Bilder sind immer mit Position und Blickrichtung als Metadaten versehen • Suche von Medien anhand von Position und Blickrichtung möglich • Killerapplikation: SpatialCrowdsourcing
MediaQ Crowdsourcing Auslagerung von Teilaufgaben (Tasks) durch einen Auftraggeber (Requester) an eine Gruppe freiwilliger Nutzer (Worker)
MediaQ Anhai Doan , Raghu Ramakrishnan , Alon Y. Halevy. Crowdsourcing systems on the World-Wide Web. Communications of the ACM, v.54 n.4, April 2011
MediaQ Spatial Crowdsourcing (…in MediaQ) Spatial Task: „Mache ein Video vom Verkehr in der Overland Avenue“ Erstellen von Spatial Tasks durch den Requester Erledigen von Spatial Tasks Mittels einer mobilen App
MediaQ MediaQ Server • Webinterface • http://mediaq.dbs.ifi.lmu.de/MediaQ_MVC_V2/ • Anmeldung erforderlich • Datenbank-Backend • Host: mediaq.dbs.ifi.lmu.de • Verwaltung von Video-, Benutzer- und Task- und Workerinformationen • Zugangsdaten • Benutzername: student • Passwort: tneduts
MediaQ Datenbankzugriff über mysql • Login (Shell): • mysql -h mediaq.dbs.ifi.lmu.de -u student -p MediaQ_V2 • Tabellen anzeigen: • SHOW TABLES; • Informationen über Tabelle anzeigen: • DESCRIBE <TABLENAME>
MediaQ Beispiel: SHOW TABLES mysql> SHOW TABLES; +-----------------------+ | Tables_in_MediaQ_V2 | +-----------------------+ | FRIENDSHIP | | GEOCROWD_STATS | | GROUPS | | INDOOR_VIDEO_METADATA | | REGIONFOLLOWING | | TASKS | | TASKS_INQUIRIES | | TEXT_INFO | | TRANSACTION | | USERGROUPS | | USERS | | USERS_PROFILES | | USERS_SESSIONS | | VIDEO_INFO | | VIDEO_METADATA | | VIDEO_USER | | WORKERS_ASSIGNMENTS | | WORKERS_RESPONSE | +-----------------------+
MediaQ Datenbank Tabelle VIDEO_METADATA Zeitstempel (in ms) Keywords (optional) Video ID Koordinaten Blick-Kegel FrameNr
MediaQ Blickkegel ThetaX ThetaZ ThetaY oben N W O rechts links S unten alpha R (radius) (Plat, Plng)
MediaQ Datenbank Tabelle USERS_PROFILE Tabelle VIDEO_USER
MediaQ Datenbankzugriff von Java aus • Download des JDBC Treibers für MySQL (Jar-Datei, Plattformunabhängig): http://dev.mysql.com/downloads/connector/j • Z.B. „mysql-connector-java-5.1.33-bin.jar“ als Library ins Projekt einbinden • Möglich • aus dem Cip-Pool • aus dem MWN (mittles VPN Client)
MediaQ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; publicclass MySqlTest { publicstaticvoid main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://mediaq.dbs.ifi.lmu.de:3306/MediaQ_V2?“ +“user=student&password=tneduts"); Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("select * from VIDEO_METADATA"); while (rset.next()){ String s = rset.getString("VideoID") + ": " + rset.getInt("FovNum") + " (" + rset.getDouble("Plat") + ", " + rset.getDouble("Plng") + ")"; System.out.println(s); } rset.close(); stmt.close(); conn.close(); } } Datenbankzugriff von Java aus
Ziele Weitere Infos • App : • Android: https://dl.dropboxusercontent.com/u/29802060/MediaQ/MediaQ-LMU%20Munich.apk • iOS: per E-Mail (Anfrage schicken) • Tutorials: http://mediaq.usc.edu/MediaQ_Info/ (Menüpunkt „More“) • Zugriff auf die Videodateien:http://mediaq.dbs.ifi.lmu.de/MediaQ_MVC_V2/video_content/
Ziele Ziele des Seminars • Einarbeiten in die Themengebiete • (Spatial-) Crowdsourcing • Räumliche/Raumzeitliche Anfragebearbeitung • Kreative Auseinandersetzung mit den gegebenen Daten • Neue Applikationen oder Anfragen entwerfen • Ansprechende Visualisierung • Umsetzung der Ideen • Implementierung • Präsentation
Ziele Mögliche Anfragen Auf welchen anderen Videos bin ich zu sehen? Welche anderen Benutzer sind auf einem Video zu sehen? Gib mir nur Videos auf denen ich mindestens 5 Sekunden zu sehen bin? Videos wo ich zu einem fixen Zeitpunkt von X verschiedenen Blickwinkeln zu sehen bin? Weitere Ideen sind Willkommen! ?
Ablauf des Seminars Ablauf des Seminars • 1. Termin (Heute) • Vorstellung der Thematik • Einteilung der Gruppen • 2. Termin (Dezember) • Präsentation (Theoretischer Teil) • Gemeinsame Datensammlung • 3. Termin (Anfang Februar) • Präsentation (Praktischer Teil)
Ablauf: Theoretischer Teil Ablauf: Theoretischer Teil • Einarbeitung in ein festgelegtes Themengebiet anhand eines vorgegebenen Papers • Anpassung der Inhalte des Papers auf MediaQ • Entwicklung von Applikationsideen anhand der Publikation • Präsentation der Ergebnisse im Seminar (~30 Minuten)
Ablauf: Praktischer Teil Ablauf: Praktischer Teil • Einarbeitung in MediaQ • Entwicklung einer (Web-)Applikation, die eine der angesprochenen (oder selbst entwickelte) Anfragen realisiert • Dokumentation der Applikation, sowie Beschreibung der Softwarearchitektur und Algorithmen in einem Webdokument • Präsentation der Applikation und der Umsetzung im Seminar
Ziele Anforderungen Einarbeitung in ein Themengebiet anhand eines vorgegebenen Papers und Vortrag zu diesem Themengebiet Aktive Teilnahme an der Datensammlung Entwicklung und Implementierung einer Applikation, die das MediaQ-Framework nutzt Dokumentation und Veröffentlichung der Applikation in Form eines Webauftritts Präsentation der Applikation im Seminar [Bug-Reporting] Es wird in Gruppen von 3-4 Personen gearbeitet.
Ziele Gruppeneinteilung
Gruppeneinteilung Vortragsthemen (1) Crowdsourcing Georgios Chatzimilioudis, Andreas Konstantinidis, Christos Laoudias, Demetrios Zeinalipour-Yazti. Crowdsourcing with Smartphones. In Proc. IEEE(2012) Leyla Kazemi, Cyrus Shahabi. GeoCrowd: Enabling Query Answering with Spatial Crowdsourcing. In Proc. GIS (2012). Florian Alt, Alireza Sahami Shirazi, Albrecht Schmidt, Urs Kramer, Zahid Nawaz. Location-based Crowdsourcing: Extending Crowdsourcing to the Real World. In Proc. NordiCHI (2010)
Gruppeneinteilung Vortragsthemen (2) Join Processing Petko Bakalov, Vassilis J. Tsotras. Continuous Spatiotemporal Trajectory Joins. In Proc. GSN (2006). Kexin Xie, Ke Deng, Xiaofang Zhou. From Trajectories to Activities: A Spatio-Temporal Join Approach. In Proc. LBSN (2009). Gisli Hjaltason, Hanan Samet. Incremental distance join algorithms for spatial databases. In Proc. SIGMOD (1998) Chen, Yun, and Jignesh M. Patel. Design and evaluation of trajectory join algorithms. In Proc. GIS (2009).
Gruppeneinteilung Vortragsthemen (3) • Indexing • Norbert Beckmann, Hans-Peter Kriegel Ralf Schneider, Bernhard Seeger. The R*-tree: An Efficient and Robust Access Method for Points and Rectangles. In Proc. SIGMOD (1990). • Kostas Patroumpas, Timos Sellis. Monitoring Orientation of Moving Objects around Focal Points.In Proc. GIS (2009). • Query Processing • Panfeng Zhou, Donghui Zhang, Betty Salzberg, Gene Cooperman, George Kollios. Close Pair Queries in Moving Object Databases. In Proc. GIS (2005). • Hoyoung Jeung, Man Lung Yiu, Yiaofang Zhou, Christian S. Jensen, Heng Tao Shen. Discovery of Convoys in Trajectory Databases. In Proc. VLDB (2008).
Hausaufgaben bis zum nächsten Mal… • Vertraut machen mit den Daten und Plattform • MediaQKonto anlegen und Anwendung benutzen • Testdaten erzeugen: Pro Teilnehmer sind mindestens 5 Videos à 1 min aufzunehmen und hochzuladen (public). Teilweise sollten auch andere filmende Gruppenmitglieder aufgenommen werden. • (Java/PHP/… Programm schreiben mit einfachen Lese-Anfragen auf die Datenbank • Präsentation Erstellen (Präsentationslänge 20 Min.) • Inhalt des Papers (ca. 10 min) • Kreativer Teil (ca. 10 min) • Auswahl einer der o.g. Anfragen oder Entwicklung einer neuen interessanten Anfrage auf den Daten von MediaQ • Anwendung und ggfs. Anpassung der Techniken des Papers auf die ausgewählte Anfrage • Optional: Weitere Anwendungsideen unabhängig vom Paper