Forum • Rocket Beans TV

"Schauspieler Shazam" App Entwicklung - Eure Hilfe ist gefragt!

Hallo liebe Bohnen,
ich habe das große Problem, dass ich mir keine Namen merken kann, schon garnicht von Schauspielern. Was macht man also als Informatikstudent in dieser Situation? Richtig, sich eine App bauen, die dies für einen übernimmt.
Nach monatelanger bastelei( immer nur abends, als Hobbyprojekt neben Studium und Arbeit) musste ich feststellen, das die App erschreckend gut funktioniert, Künstliche Intelligenz ftw. Man muss einfach ein Foto von der Person in der Serie/Film machen und Sekunden später sagt dir die App, welcher Charakter und Schauspieler zu sehen sind. Bis jetzt sind leider nur ca 12 Filme/Serien integriert und davon nur die 10-15 wichtigsten Personen, die Datenbank wächst aber mit der Zeit und bei interesse werde ich hier updates posten.

Hier ein kurzes Video als “Beweis”:

Beta Video

Der einzige Hacken: Ich brauche von jedem Schauspieler in jedem Film genug Fotos.
Und hier kommt ihr ins Spiel. Ich denke solch eine “Shazam für Schauspieler” App gibt es noch nicht und das Problem, dass man Leute nicht erkennt haben viele. Alleine dauert es unendlich lange, alle Bilder zu sammeln. Wenn aber genug Leute beim Filme gucken nebenbei ein paar Fotos machen, ist das durchaus im Rahmen des Möglichen.
Dafür gibt es verschiedene Varianten:

  1. In der App gibt es die Möglichkeit, Bilder und Videos direkt mit Name hochzuladen, um so die App zu trainieren.

  2. Ich habe ein Pc Programm geschrieben, mit dem man “Sicherheitskopien” oder mit OBS aufgenommene Filme direkt in die Bilder verarbeiten kann. Danach muss man leider per Hand die Bilder nach Schauspieer sortieren. Dies ist aufwändiger, aber man bekommt schneller die Bilder zusammen. Das Filme verarbeiten kann ich übernehmen, aber es wäre sehr hilfreich, wenn beim zuordnen der Namen zu den Bildern leute helfen könnten.

Falls es hier Leute geben sollte, die mich auf unterstützen wollen, meldet euch gerne bei mir, entweder hier oder per Email: internet.filme2@gmail.com

Ihr könnt mir auch schreiben, wenn ihr euch auf anderem Wege in das Projekt einbringen wollt. Gerne gesehen sind:

–>Designer für Hintergründe, Buttons, etc.
–>Übersetzer für andere Sprachen außer deutsch und englisch
–>Andere Programmierer, die Erfahrung mit App Entwicklung haben, ich arbeite zur Zeit nur an Android, wenn sich hier Leute mit iOs Erfahrung finden können wir die App darauf portieren.
–>Alles was sonst noch zu einer App beitragen kann, Leute mit Erfahrung beim App release, Leute mit Copyrightwissen, etc… .

Aber es würde mich schon freuen, wenn ihr die App einfach mal runterladet und checkt, ob sie überhaupt bei euch funktioniert. Ich habe sie bis jetzt noch nicht auf so vielen Geräten testen können

Hier ist der Link zum Beta Test der App: https://appdistribution.firebase.dev/i/Kje7azqC

Wenn ihr diesem folgt, bekommt ihr am Ende per Mail den Link zum App Download. Ihr müsst euch dabei leider mit eurem Google Konto anmelden, da die Beta Verteilung über Firebase(von Google) läuft. Meine App benötigt nur Internet und Kamera Rechte und sammelt absolut keine Daten, nur Fehlerbereichte bei Abstürzen mit Handyname und Versionsnummer.
Lasst mich gerne wissen, ob die App funktioniert und wenn nicht, wo es zu Abstürzen kommt. Anleitungen und eine Funktion zum Bug melden sind auch in die App integriert.
P.S.: Bei Rocketbeans Leuten ist die Erfolgsquote deutlich schlechter, da diese im Vergleich zu Filmen viel unterschiedlicher aussehen können :slight_smile:

Vielen Dank im Voraus und frohes Schaffen!

2 Like

Also suchst du Leute die für dich umsonst arbeiten, für etwas das du eventuell kommerziell rausbringen kannst bzw durch Werbung darin Geld verdienen.
:wink:

Wobei ich in dem Falle einfach IMDB aufmache und schaue wer mitspielt

3 Like

Coole Idee. Aber ich hatte bei dem Titel gehofft das jemand meine Idee umsetzt. Ich habe das selbe Problem nämlich mit Synchronsprechern. Falls du mal an einer App arbeitest die diese an der Stimme erkennt sag bescheid :sweat_smile:

1 Like

Den Synchronsprecher kann man als Ergebniss auch dazuschreiben, wenn man die Person kennt, ist kein Problem :slight_smile:

@Angist Kann man so sehen, wenn man will. Es war allerdings eher so Gedacht, dass andere kreative Leute mit zuviel Freizeit sich gerne diesem Projekt anschließen können, da es doch zu groß ist, um es alleine nebenbei zu bewältigen und man im Austausch mit anderen immer mehr lernt. Falls das Projekt wirklich mal veröffentlicht wird und dann auch noch Geld dabei rummkommt, würde ich das ganz sicher nicht alleine einheimsen xD

Coole Idee, so aus Programmierersicht.

Mich interessiert gerade am meisten, welche Machine Learning Bibliothek(en), du als Grundlage einsetzt. Zumindest sehe ich selten, dass jemand die Grundfunktionen nochmal neu implementiert.

Und wird das angelernte Modell mit der App geliefert oder läuft das als Dienst auf einem Server?

2 Like

Ich habe 2 Versionen gleichzeitig gebaut, eine die größtenteils auf Tensorflow/Mxnet basiert. Diese ist aber noch anspruchvoller zu trainieren, das macht mit meinem einen PC leider wenig Sinn, ist aber auch vielverprechend.
Die aktuelle benutzt weitesgehend OpenCv. Die Models werden zur Zeit noch mit der App ausgeliefert, aber das wird denke ich mit zuvielen Filmen schnell zu groß, sodass ich dann wohl auf einen Server umsteigen muss.

1 Like

Grundsätzlich nette Idee, für mich aber gänzlich uninteressant da du keinerlei genaue Angaben zu den zugrundeliegenden Algorithmen machst.

Ich nehme an du benutzt 'ne off the shelf Gesichtserkennungsbib, cropst die Bilder dann und jagst sie durch ein CNN?
Oder verwendest du Transfer-Learning für VGG oder Googles Inception Netz (was an sich ja auch, mehr oder minder, alles CNN sind)

Ich will dir deine Idee nicht vergraulen, aber wenn du wirklich viele Schauspieler erkennen willst, brauchst du, insofern ich mit meiner Vermutung richtig liege und du One-Hot Encoding verwendest ein Netz das über 1000 verschiedene Klassen erkennen kann (je nachdem, wieviele Schauspieler das Ding erkennen können soll können’s auch mehr sein). Weiß ja nicht, wie tief du in der Materie steckst aber ImageNet wird dir ja bestimmt was sagen, das würde ich da als Vergleich ranziehen. VGG19, was ja für die Erkennung von 1000 Klassen ausgelegt ist, hat knapp 144 Millionen Parameter, die prinzipiell trainierbar sind. Das über 'nen Privatrechner jagen zu wollen ist extrem sportlich, wenn dein Rechner nicht extra für Maschinelles Lernen (das ist keine KI, nur mal so als Anmerkung) gebaut wurde. Um sowas zu trainieren musst du dir Cloud-GPUs mieten und die sind nicht billig, wenn du deinen Rechner nicht drei Jahre durchgehend laufen lassen willst fürs Training.

2 Like

Ja quasi, mithilfe von Googels DeeplearningStudio.Das ist aber die Version, die ich momentan nicht eingebaut habe, weil zu rechenaufwendig.
Das große Geheimnis ist, dass ich die einzelnen Serien/Filme in unterschiedliche Modelle aufgeteilt habe, sodass immer nur die ca 20-30 Schauspieler aus dem jeweiligen Model verarbeitet werden müssen. Dies geht relativ schnell, unter einer Minute bei einer GTX1070 im Einsatz.

Hmmmmm, das schränkt die Einsetzbarkeit deiner App in einem realen Umfeld dann doch ziemlich ein. Muss der Endnutzer dann jedes Mal den Namen des Films/der Serie eingeben?

Und willst du dann für jeden Film/ Serie ein einzelnes Modell erstellen?

2 Like

Gibt n durchsuchbares scrolldown menü um das auszuwählen.

ist aktuell so die vorgehensweise, passiert alles automatisiert, bis auf das sortieren der bilder nach person

Das wäre super. Noch cooler wäre natürlich eine direkte stimmerkennung :wink:

1 Like

Habe eher das Gefühl dass Kreative generell weniger Zeit haben

Wenn man sich zudem was über Prime anschaut, gibt es eine Funktion, mit der man sieht, wer gerade in Szene X mitspielt. Einfach hochdrücken und fertig, Schauspieler mit Seriennamen, echten Namen und ausgewählte Filme/Serien, wo die Person bereits mitgespielt hat.

2 Like

Also bei 100 Filmen willst du 100 Modelle trainieren und der Nutzer soll dann den jeweiligen Film aus einer ellenlangen Liste raussuchen? :sweat_smile:

Man muss nur die ersten Buchstaben in der Suche eingeben, dann wirds vorgeschlagen.

Zum Glück gibts ja nur Prime ;D Wenn man statt Fotos zu machen, das ganze in Real Time über die Kamera anzeigt, ist es quasi eine art x-ray wie von amazon, nur halt für alle Portale.

Wie gesagt, ich finde es komfortabler, es entweder durch einen Tastendruck zu machen oder direkt den Film bei imbd und co. einzutippen. Ich persönlich finde es zu umständlich, da extra Fotos machen zu müssen.

E:
Praktisch ist/wäre so eine App aber, wenn man Screenshots von Szenen hat/sieht, wo man den Film/die Serie nicht kennt. :+1:t4:

1 Like

Auch das wird dem Endnutzer wahrscheinlich zu umständlich sein. Bei aktuellen Filmen macht Google das Gleiche, ohne dass ich vorher Bilder machen muss :thinking:
Zumal du den Treffer nicht direkt bekommen wirst, wenn deine Datenbank groß genug ist, gibt ja genügend generische Filmtitel.

Und der Reiz der App läge doch daran, das bei Filmen zu machen, die man nicht kennt :thinking:

Wie erwähnt, bei sowas wie Screenshots u.ä. finde ich sowas gar nicht schlecht. Aber genauso wird man das Problem haben, wenn sich Bilder zu sehr ähneln.