MediaQ - Database Systems Group

Werbung
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: Spatial
Crowdsourcing
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
Video ID
Koordinaten
FrameNr
Blick-Kegel
Zeitstempel
(in ms)
Keywords
(optional)
MediaQ
Blickkegel
ThetaX
ThetaZ
oben
ThetaY
N
W
O
rechts
links
S
unten
alpha
(Plat, Plng)
R (radius)
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
import
import
import
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.Statement;
Datenbankzugriff von Java aus
public class MySqlTest {
public static void 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();
}
}
Ziele
Weitere Infos
•
App :
• Android:
https://dl.dropboxusercontent.com/u/29802060/MediaQ/MediaQLMU%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
1. Einarbeitung in ein Themengebiet anhand eines vorgegebenen Papers
und Vortrag zu diesem Themengebiet
2. Aktive Teilnahme an der Datensammlung
3. Entwicklung und Implementierung einer Applikation, die das MediaQFramework nutzt
4. Dokumentation und Veröffentlichung der Applikation in Form eines
Webauftritts
5. Präsentation der Applikation im Seminar
6. [Bug-Reporting]
Es wird in Gruppen von 3-4 Personen gearbeitet.
Ziele
Gruppeneinteilung
Gruppeneinteilung
Vortragsthemen (1)
Crowdsourcing
1. Georgios Chatzimilioudis, Andreas Konstantinidis, Christos Laoudias,
Demetrios Zeinalipour-Yazti. Crowdsourcing with Smartphones.
In Proc. IEEE(2012)
2. Leyla Kazemi, Cyrus Shahabi. GeoCrowd: Enabling Query
Answering with Spatial Crowdsourcing. In Proc. GIS (2012).
3. 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
4. Petko Bakalov, Vassilis J. Tsotras. Continuous Spatiotemporal
Trajectory Joins. In Proc. GSN (2006).
5. Kexin Xie, Ke Deng, Xiaofang Zhou. From Trajectories to
Activities: A Spatio-Temporal Join Approach. In Proc. LBSN
(2009).
6. Gisli Hjaltason, Hanan Samet. Incremental distance join
algorithms for spatial databases. In Proc. SIGMOD (1998)
7. Chen, Yun, and Jignesh M. Patel. Design and evaluation of
trajectory join algorithms. In Proc. GIS (2009).
Gruppeneinteilung
Vortragsthemen (3)
Indexing
8. 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).
9. Kostas Patroumpas, Timos Sellis. Monitoring Orientation of
Moving Objects around Focal Points. In Proc. GIS (2009).
Query Processing
10. Panfeng Zhou, Donghui Zhang, Betty Salzberg, Gene Cooperman,
George Kollios. Close Pair Queries in Moving Object Databases.
In Proc. GIS (2005).
11. 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
• MediaQ Konto 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 LeseAnfragen 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
Herunterladen
Random flashcards
lernen

2 Karten oauth2_google_6c83f364-3e0e-4aa6-949b-029a07d782fb

Erstellen Lernkarten