Pricing
LoginGet Mingle
Renzo Schindeler

Renzo Schindeler

4 december 2023

5 min read

Deep-Dive: Automatic Video Enhancement at Scale

overview of our video enhancement pipeline

Introductie

In het huidige digitale tijdperk houden we ervan om ons dagelijks leven en onze activiteiten vast te leggen en met iedereen te delen. Voordat je je selfie of zomervakantievideo op je favoriete sociale media-app deelt, word je overvloed door een eindeloze reeks aan filters en knoppen om je media te veranderen in iets mooiers. Is de belichting in je selfie niet interessant genoeg? Laten we dan het contrast verhogen en een warme filter toevoegen! Is je video te lang en schokkerig? Laten we het dan bijsnijden en stabiliseren! Dit zijn allemaal stappen om zowel de kwaliteit als de aantrekkelijkheid van multimedia te verbeteren. In de meeste social media apps heeft de gebruiker voornamelijk controle over deze processen. Het kan veel tijd kosten om de juiste look voor jouw media te krijgen, omdat je allerlei parameters moet aanpassen, vooral als je meer dan één stuk media wilt delen. Bovendien zijn filters die zijn toegepast op de ene afbeelding, niet altijd van toepassing op een andere.

Met de Mingle app deel je als toeschouwer beelden van voetbalwedstrijden. Bij het opnemen met je telefoon komt het resultaat echter niet in de buurt qua kwaliteit in vergelijking met professionele camera’s die worden gebruikt tijdens wedstrijden op tv:

  • De actie vindt plaats ver weg van de persoon die aan het opnemen is. Daarom is het op de video moeilijk te zien wat er gebeurt.

  • Het is moeilijk te voorspellen wanneer er tijdens de wedstrijd een spannend moment zal plaatsvinden, dus het kan zijn dat er langere tijd wordt opgenomen terwijl slechts een klein fragment van de video interessante inhoud bevat.

  • De video kan te maken hebben met slechte lichtomstandigheden, te veel beweging of andere factoren die de beeldkwaliteit verminderen.

Je hebt de tools om de meeste van deze problemen te verbeteren, maar aangezien er veel kan gebeuren tijdens een wedstrijd, heb je gewoon niet de tijd om zowel beelden op te nemen als te bewerken. Het voelt meer als een gedoe en kan je zelfs afleiden van het belangrijkste onderdeel: de wedstrijd zelf!

Bij Mingle werken we voortdurend aan oplossingen om het voor toeschouwers leuk te maken om wedstrijdinhoud te delen en tegelijkertijd het extra gedoe van het bewerken van al je vastgelegde beelden te verminderen. Bij het Video & Machine Learning-team automatiseren we deze processen met behulp van geavanceerde kunstmatige intelligentie (AI)-technologieën. Blijf lezen om een kijkje te nemen onder onze motorkap!

Video enhancement

Het begint allemaal met het uploaden van een onverwerkte video op een wedstrijdfeed door de gebruiker. Deze video komt in de cloud terecht in onze Video Enhancement (VE)-pijplijn, een aaneenschakeling van stappen om je video te verwerken en te verbeteren. Hieronder zal ik enkele van de stappen toelichten die we in deze pijplijn uitvoeren.

overview of our video enhancement pipeline

"Een overzicht van onze Video Enhancement-pijplijn"

Objectdetectie & tracking

De eerste stap in dit proces is het eruit halen van nuttige informatie uit de video. Het doel is om de gebruiker inzichtelijke analyses te bieden over hoe ze hebben gepresteerd tijdens een wedstrijd. Zo kunnen we tijdens een penalty bijvoorbeeld de balsnelheid en -richting uit de video halen. In de toekomst kun je denken aan andere nuttige en meer persoonlijke statistieken, zoals positie van de speler, snelheid, pasnauwkeurigheid etc.

Om deze informatie uit de video te krijgen, gebruiken we een objectdetectiemodel dat de locaties van belangrijke objectklassen kan detecteren, zoals doelen, spelers, scheidsrechters, ballen enz. Op basis van de locaties en trajecten van deze objecten over tijd, kunnen we bepalen wat er gebeurt in een video en allerlei nuttige statistieken uit de video halen.

MADS

Het afgelopen jaar hebben we met behulp van een leger aan datalabelers continu gewerkt aan een steeds groter wordende dataset voor balsporten, genaamd de Mingle Athletics Data Set (MADS). Op het moment van schrijven bevat MADS meer dan 273.000 gelabelde balsportfoto's. Deze foto's bevatten samen in totaal 2,24 miljoen gelabelde objecten! Met behulp van deze gelabelde data hebben we in de loop van de tijd verschillende objectdetectiemodellen getraind. Onze grootste uitdagingen zijn relatief kleine objecten, zoals een voetbal. Naarmate MADS groeit, hebben we steeds meer voorbeelden van verschillende ballen. Door meer variantie aan de dataset toe te voegen, leert het model de weergave van ballen beter en wordt het beter in het nauwkeurig detecteren ervan.

Automatische zoom

Nu we nuttige informatie uit een video hebben gehaald, kunnen we deze toepassen om de video te verbeteren! De tweede stap die we willen doen, is nutteloze inhoud uit de video verwijderen. Als de actie ver weg van de gebruikersopname plaatsvindt, bevat een groot deel van het scherm lege of nutteloze ruimte (bijvoorbeeld de lucht, het gras van het voetbalveld), terwijl een klein deel van het scherm de belangrijke inhoud bevat: de wedstrijdbal, doelen en de spelers. Dit is waar onze objectdetectiegegevens een rol spelen.

Door een aantal slimme regels te gebruiken, kunnen we in de meeste gevallen bepalen waar de actieve wedstrijdbal en spelers zich in de video bevinden. Met behulp van deze informatie maken we onze eigen virtuele camera-dolly om in te zoomen op de video wanneer dat nodig is, door elk videoframe bij te snijden zodat het alleen deze belangrijke objectklassen bevat.

“De originele video voor en na automatisch inzoomen op de actie.”

“Onze objectdetector en automatische zoom in actie.”

Thumbnail generatie

Voor elke video maken we een unieke thumbnail. Dit is de afbeelding die u in de videospeler ziet voordat u de video afspeelt en vat vaak de inhoud van een video samen of geeft deze weer. Als een enkele gebruiker veel video's vanuit één hoek opneemt, kan het moeilijk worden om de video's uit elkaar te houden op basis van de miniaturen, vooral wanneer de inhoud van ver is opgenomen. Daarom gebruiken we dezelfde objectdetectiegegevens van eerder om ook shots uit de video te kiezen die interessante elementen bevatten. Op basis van eenvoudige regels (bijv. de opname moet ten minste één bal en/of speler bevatten) en beeldkwaliteitsmetingen (bijv. hoe wazig ziet de opname eruit?), selecteren we kandidaat-videoframes en kiezen we willekeurig een miniatuur. Deze willekeur voegt meer variatie toe aan het proces voor het genereren van miniaturen en maakt het gemakkelijker om video's uit elkaar te houden in de wedstrijdfeed. Net als tijdens de zoomstap zoomen we in op de interessante content in de thumbnail om voor de gebruiker direct duidelijk te maken waar de video over gaat.

Transcodering

Nu we een boeiendere video hebben die meer gericht is op de actie, wordt de video verder verwerkt tot verschillende resoluties en bitrates die geschikt zijn om af te spelen, een proces dat transcodering wordt genoemd. Dit is om de afspeelervaring in de app te optimaliseren. Als je internetverbinding wegvalt of overschakelt, schakelt de videospeler in de app over naar een lagere kwaliteitsinstelling, zodat je de video kunt blijven bekijken met minimale bufferproblemen.

Hier komt de reis van je video door onze VE-pijplijn tot een einde en kan nu worden teruggekeken in de app!

Toekomstige ontwikkelingen

Op het moment van schrijven werken we aan andere tools om de kwaliteit en aantrekkelijkheid van gebruikersinhoud te verbeteren. Zo werken we aan automatische kleurcorrectie & -grading, zodat we ook de lichtomstandigheden en stilistische aantrekkingskracht in je video's kunnen verbeteren. Daarnaast werken we aan andere manieren om uw video's te verbeteren, zoals videostabilisatie en gebeurtenisdetectie. Houd de Mingle app in de gaten voor deze opwindende nieuwe functies in de toekomst!