SDaCathon 2022 Bildarchivierung von Hack10

Teamname: Hack10 Projektname: SDaCathon 2022 Bildarchivierung Challenge: Bildarchivierung Teammitglieder: Fahri Korkmaz, Raphael Seliger, Kadim Özdemir GitHub Repository: https://github.com/Korkmatik/SDaCathon-2022

Wir haben den kompletten Code, das Mockup und die KI während des Hackathons entwickelt. Icons haben wir von Flaticon verwendet und nicht selbst erstellt. Als Daten haben wir die zur Verfügung gestellten Daten verwendet und keine eigenen Daten eingesetzt.

Screenshot

Projekte anzeigen

Die Projektansicht zeigt angelegte Projekte an. Auf der linken Seite ist ein Navigationsmenü, um zwischen den Funktionalitäten der Applikation zu wechseln. Mit dem Klick auf ein Projekt gelangt man in das Bildarchiv des Projektes.

projektansicht

Bildarchivierung

In der Bildarchivierung werden alle Bilder zu einem Projekt angezeigt. Die Bilder können mittels Eigenschaften und nach Objekten gefiltert werden. Auch ist über diese View möglich, neue Bilder hochzuladen (mittels des "Hochladen"-Buttons). Die hochgeladenen Bilder werden dann von einer KI klassifiziert, sodass ein Filtern nach Objekten und Eigenschaften möglich ist. (Aktuell funktioniert nur das Filtern nach Objekten)

bildarchivierung

Nach Bildern Filtern

In der Bildarchivierungssicht ist es möglich nach Bildern zu filtern. Es funktioniert aktuell nur das Filtern nach Objekten und nicht das Filtern nach Eigenschaften. Auf der Linken Seite im Navigationsmenü sind entsprechende Checkboxes und Buttons mit dem man das Label auswählen kann, das man zum Filtern verwendet. In der Hauptansicht (Mitte) wird vor den Bildern dargestellt, welcher Filter angewendet wurde. Hier in diesem Fall ist es "Kabel".

filtern

Inspiration

Wir haben diese Challenge ausgewählt, da wir davon ausgegangen sind, dass wir davon am meisten lernen, denn wir haben wenig Wissen darüber gehabt, wie Image Classification gemacht wird.

What it does

Man kann Projekte für jedes Bauprojekte anlegen. Danach kann man für jedes Bauprojekt Bilder hochladen. Die Bilder werden dann klassifiziert, um nach Objekten und Eigenschaften Filtern.

How we built it

  • KI: Aktuell ein CNN, das mit den gelabelten Trainingsdaten trainiert wurde (Supervised-Learning), Tensorflow, Keras, Numpy, Jupyter Notebooks
  • Backend: Python, FastAPI, welche REST API Schnittstellen anbietet
  • Frontend: Vue, Vite, Tailwind CSS, Typescript

Challenges we ran into

  • Das Entwickeln der KI, da wir keine Ahnung davon haben
  • KI gibt für jedes Bild lediglich "Kabel" aus
  • Ein Teammitglied wurde krank und deshalb waren wir nur zu zweit

Accomplishments that we're proud of

  • Das erkennbar ist, was die App macht, auch wenn das Klassifizieren der Bilder nicht wirklich funktioniert
  • Gelernt, was CNNs (Convolutional Neural Networks) und GANs (Generative Adversarial Networks) sind und wie sie funktionieren
  • Ein Teammitglied hat zum ersten mal bei einem Hackathon mitgemacht und für ihn war es eine Interessante Erfahrung, mal ein Projekt unter beschränkten Zeitbedingungen durchzuführen. Normalerweise hat man für so ein Projekt deutlich mehr Zeit.

What we learned

  • Generative Adverserial Networks
  • CNNs
  • Vue
  • FastAPI
  • Arbeiten über Zeitdruck, sodass man sich nur auf das Entwickeln des Minimal Viable Products konzentrieren muss

What's next for Hack10 Bildarchivierung

  • Aktuell ist die KI ein CNN, wir wollten es als Semi-Supervised GAN ausprobieren aber hatten nicht mehr genug Zeit. Laut Papern, ist ein GAN akkurater als ein Semi-Supervised CNN
  • Im Frontend fehlt noch Projekte anlegen
  • Filtern nach Eigenschaften
  • Responsive UI
  • Struktur der UI sinnvoller gestalten
  • Neue Labels selbst hinzufügen
  • Anonymisierung von Menschengesichtern auf Bildern

Built With

Share this project:

Updates