Extrahieren von Event-Highlights mit der iYUNDONG Sports App
iYUNDONG ist ein Internetunternehmen, das darauf abzielt, mehr Sportliebhaber und Teilnehmer von Veranstaltungen wie Marathonläufen einzubinden. Es entwickelt Tools für künstliche Intelligenz (KI), die während Sportveranstaltungen aufgenommene Medien analysieren können, um automatisch Highlights zu erstellen. Zum Beispiel kann ein Nutzer der iYUNDONG-Sport-App, der an einer Sportveranstaltung teilgenommen hat, durch das Hochladen eines Selfies sofort seine eigenen Fotos oder Videoclips aus einem riesigen Mediendatensatz der Veranstaltung abrufen.
Eine der Hauptfunktionen der iYUNDONG-App heißt „Find me in motion“. Fotografen nehmen während einer Sportveranstaltung wie einem Marathonlauf normalerweise riesige Mengen an Fotos oder Videos auf und laden die Fotos und Videos in Echtzeit in die iYUNDONG-Mediendatenbank hoch. Marathonläufer, die ihre besonderen Momente sehen möchten, können Bilder, auf denen sie selbst zu sehen sind, einfach durch das Hochladen eines ihrer Selfies abrufen. Das spart ihnen viel Zeit, da ein Bildabrufsystem in der iYUNDONG-App den gesamten Bildabgleich übernimmt. Milvus wird von iYUNDONG eingesetzt, um dieses System zu betreiben, da Milvus den Abrufprozess erheblich beschleunigen und hochpräzise Ergebnisse liefern kann.
Springen zu:
- Schwierigkeiten und Lösungen
- Was ist Milvus
- Warum Milvus
- System und Workflow
- iYUNDONG-App-Oberfläche
- Fazit
Schwierigkeiten und Lösungen
iYUNDONG stand beim Aufbau seines Bildabrufsystems vor den folgenden Problemen und fand erfolgreich entsprechende Lösungen.
- Veranstaltungsfotos müssen sofort für die Suche verfügbar sein.
iYUNDONG entwickelte eine Funktion namens InstantUpload, um sicherzustellen, dass Veranstaltungsfotos unmittelbar nach dem Hochladen für die Suche verfügbar sind.
- Speicherung riesiger Datensätze
Riesige Datenmengen wie Fotos und Videos werden jede Millisekunde in das iYUNDONG-Backend hochgeladen. Daher entschied sich iYUNDONG, auf Cloud-Speichersysteme wie AWS, S3 und Alibaba Cloud Object Storage Service (OSS) zu migrieren, um gigantische Mengen unstrukturierter Daten auf sichere, schnelle und zuverlässige Weise zu verarbeiten.
- Sofortiges Lesen
Um sofortiges Lesen zu erreichen, entwickelte iYUNDONG seine eigene Sharding-Middleware, um horizontale Skalierbarkeit einfach zu ermöglichen und die Auswirkungen des Festplattenlesens auf das System zu verringern. Darüber hinaus wird Redis als Caching-Schicht eingesetzt, um in Situationen mit hoher Gleichzeitigkeit eine konstante Leistung sicherzustellen.
- Sofortige Extraktion von Gesichtsmerkmalen
Um Gesichtsmerkmale aus von Nutzern hochgeladenen Fotos präzise und effizient zu extrahieren, entwickelte iYUNDONG einen proprietären Bildkonvertierungsalgorithmus, der Bilder in 128-dimensionale Merkmalsvektoren umwandelt. Ein weiteres Problem bestand darin, dass häufig viele Nutzer und Fotografen gleichzeitig Bilder oder Videos hochluden. Daher mussten Systemingenieure bei der Bereitstellung des Systems dynamische Skalierbarkeit berücksichtigen. Genauer gesagt nutzte iYUNDONG seinen Elastic Compute Service (ECS) in der Cloud vollständig aus, um dynamische Skalierung zu erreichen.
- Schnelle und groß angelegte Vektorsuche
iYUNDONG benötigte eine Vektordatenbank, um seine große Anzahl von durch KI-Modelle extrahierten Merkmalsvektoren zu speichern. Entsprechend seinem eigenen einzigartigen geschäftlichen Anwendungsszenario erwartete iYUNDONG von der Vektordatenbank, dass sie Folgendes leisten kann:
- Blitzschnellen Vektorabruf auf extrem großen Datensätzen durchführen.
- Massenspeicherung zu niedrigeren Kosten erreichen.
Anfangs wurden jährlich durchschnittlich 1 Million Bilder verarbeitet, daher speicherte iYUNDONG alle seine Daten für die Suche im RAM. In den vergangenen zwei Jahren boomte jedoch das Geschäft und verzeichnete ein exponentielles Wachstum unstrukturierter Daten – die Anzahl der Bilder in der Datenbank von iYUNDONG überschritt 2019 60 Millionen, was bedeutete, dass mehr als 1 Milliarde Feature-Vektoren gespeichert werden mussten. Eine enorme Datenmenge machte das iYUNDONG-System zwangsläufig schwergewichtig und ressourcenintensiv. Daher musste kontinuierlich in Hardwareeinrichtungen investiert werden, um eine hohe Leistung sicherzustellen. Konkret setzte iYUNDONG mehr Suchserver, größeren RAM und eine leistungsstärkere CPU ein, um höhere Effizienz und horizontale Skalierbarkeit zu erreichen. Einer der Nachteile dieser Lösung war jedoch, dass sie die Betriebskosten unerschwinglich in die Höhe trieb. Daher begann iYUNDONG, nach einer besseren Lösung für dieses Problem zu suchen, und erwog, Vektorindexbibliotheken wie Faiss zu nutzen, um Kosten zu sparen und sein Geschäft besser zu steuern. Schließlich entschied sich iYUNDONG für die Open-Source-Vektordatenbank Milvus.
Was ist Milvus
Milvus ist eine Open-Source-Vektordatenbank, die einfach zu bedienen, hochflexibel, zuverlässig und blitzschnell ist. In Kombination mit verschiedenen Deep-Learning-Modellen wie Foto- und Spracherkennung, Videoverarbeitung und Verarbeitung natürlicher Sprache kann Milvus unstrukturierte Daten verarbeiten und analysieren, die mithilfe verschiedener KI-Algorithmen in Vektoren umgewandelt werden. Unten ist der Workflow dargestellt, wie Milvus alle unstrukturierten Daten verarbeitet:
● Unstrukturierte Daten werden durch Deep-Learning-Modelle oder andere KI-Algorithmen in Embedding-Vektoren umgewandelt.
● Anschließend werden Embedding-Vektoren zur Speicherung in Milvus eingefügt. Milvus erstellt außerdem Indizes für diese Vektoren.
● Milvus führt Ähnlichkeitssuchen durch und liefert genaue Suchergebnisse basierend auf verschiedenen Geschäftsanforderungen.
Ein Überblick über Milvus.
Warum Milvus
Seit Ende 2019 hat iYUNDONG eine Reihe von Tests durchgeführt, um Milvus für sein Bildabrufsystem einzusetzen. Die Testergebnisse zeigten, dass Milvus andere gängige Vektordatenbanken übertrifft, da es mehrere Indizes unterstützt und die RAM-Nutzung effizient reduzieren kann, wodurch die Zeitspanne für die Vektorähnlichkeitssuche erheblich verkürzt wird.
Außerdem werden regelmäßig neue Versionen von Milvus veröffentlicht. Während des Testzeitraums hat Milvus mehrere Versionsaktualisierungen von v0.6.0 bis v0.10.1 durchlaufen.
Darüber hinaus ermöglicht Milvus iYUNDONG mit seiner aktiven Open-Source-Community und leistungsstarken sofort einsatzbereiten Funktionen, mit einem knappen Entwicklungsbudget zu arbeiten.
System und Workflow
Das System von iYUNDONG extrahiert zunächst Gesichtsmerkmale, indem es Gesichter in von Fotografen hochgeladenen Eventfotos erkennt. Anschließend werden diese Gesichtsmerkmale in 128-dimensionale Vektoren umgewandelt und in der Milvus-Bibliothek gespeichert. Milvus erstellt Indizes für diese Vektoren und kann sofort hochpräzise Ergebnisse zurückgeben.
Weitere zusätzliche Informationen wie Foto-IDs und Koordinaten, die die Position eines Gesichts in einem Foto angeben, werden in einer Datenbank eines Drittanbieters gespeichert.
Jeder Feature-Vektor hat seine eindeutige ID in der Milvus-Bibliothek. iYUNDONG übernahm den Leaf-Algorithmus, einen verteilten ID-Generierungsdienst, der von der grundlegenden F&E-Plattform von Meituan entwickelt wurde, um die Vektor-ID in Milvus mit den entsprechenden zusätzlichen Informationen zu verknüpfen, die in einer anderen Datenbank gespeichert sind. Durch die Kombination des Feature-Vektors und der zusätzlichen Informationen kann das iYUNDONG-System bei einer Benutzersuche ähnliche Ergebnisse zurückgeben.
iYUNDONG App-Oberfläche
Eine Reihe der neuesten Sportveranstaltungen wird auf der Startseite aufgelistet. Durch Antippen einer der Veranstaltungen können Benutzer die vollständigen Details sehen.
Nachdem Benutzer die Schaltfläche oben auf der Fotogalerieseite angetippt haben, können sie ein eigenes Foto hochladen, um Bilder ihrer Highlights abzurufen.
iYUNDONG App-Oberfläche.
Fazit
Dieser Artikel stellt vor, wie die iYUNDONG App ein intelligentes Bildabrufsystem aufbaut, das auf Grundlage von von Nutzern hochgeladenen Fotos, die sich in Auflösung, Größe, Schärfe, Winkel und anderen Aspekten unterscheiden und die Ähnlichkeitssuche erschweren, präzise Suchergebnisse liefern kann. Mithilfe von Milvus kann die iYUNDONG App erfolgreich Abfragen im Millisekundenbereich auf einer Datenbank mit über 60 Millionen Bildern ausführen. Und die Genauigkeitsrate des Fotoabrufs liegt konstant über 92 %. Milvus erleichtert es iYUNDONG, in kurzer Zeit und mit begrenzten Ressourcen ein leistungsstarkes, unternehmenstaugliches Bildabrufsystem zu erstellen.
Lesen Sie weitere Anwenderberichte, um mehr darüber zu erfahren, wie man Dinge mit Milvus entwickelt.
Weiterlesen

Introducing Business Critical Plan: Enterprise-Grade Security and Compliance for Mission-Critical AI Applications
Discover Zilliz Cloud’s Business Critical Plan—offering advanced security, compliance, and uptime for mission-critical AI and vector database workloads.

Cosmos World Foundation Model Platform for Physical AI
NVIDIA's Cosmos platform enables safe, digital twin training of GenAI models for physical applications, overcoming data scarcity and safety challenges.

Vector Databases vs. Key-Value Databases
Use a vector database for AI-powered similarity search; use a key-value database for high-throughput, low-latency simple data lookups.



