Begin met de vraag die de afbeeldingen moeten beantwoorden
Frame-extractie is een bemonsteringsprobleem voordat het een probleem met het beeldformaat is. Definieer het bruikbare tijdsbereik en de beslissing die iemand op basis van de afbeeldingen zal nemen. Een contactblad voor vergaderingen heeft een brede dekking van de scène nodig. Een animatierecensie heeft dicht bij elkaar gelegen toestanden nodig. Voor het zoeken naar miniatuurafbeeldingen is een beheersbare reeks visueel verschillende kandidaten nodig.
Eerst trimmen. Als slechts 45 seconden van een opname van 20 minuten ertoe doen, stel dan dat bereik in voordat u de bemonsteringsdichtheid verhoogt. Dit vermindert het decodeerwerk, het geheugengebruik, dubbel uitziende frames en de tijd die nodig is om het resultaat te inspecteren.
- Gebruik interval als de kalendertijd de stabiele eenheid is: één afbeelding elke 5, 10 of 30 seconden.
- Gebruik gevraagde FPS als de bewegingsafstand belangrijk is: bijvoorbeeld 2 samples per seconde over een korte actie.
- Gebruik vast aantal wanneer de beoordelingsinspanning of de outputhoeveelheid vast is: bijvoorbeeld 24 kandidaten in een scène.
- Gebruik enkel frame alleen nadat u het moment al weet of het bereik voldoende hebt verkleind om nabijgelegen frames te inspecteren.
Bereken de intervaluitvoer vóór extractie
Voor een bereik van starttijd S tot eindtijd E, dat elke 1 seconde wordt bemonsterd, is een bruikbare schatting floor((E - S) / I) + 1 wanneer beide bereikgrenzen worden meegerekend. Een bereik van 60 seconden dat elke 10 seconden wordt bemonsterd, levert daarom ongeveer 7 tijdstempels op: 0, 10, 20, 30, 40, 50 en 60 seconden. De uiteindelijke telling kan variëren op de mediagrens, omdat een tijdstempel decodeerbaar moet blijven.
Als de schatting groter is dan 240 beelden, verklein dan het bereik of vergroot het interval. Als u bijvoorbeeld elke 5 seconden een bereik van 30 minuten bemonstert, zijn er ongeveer 361 tijdstempels nodig. Als u het interval verhoogt naar 8 seconden, wordt de schatting teruggebracht tot ongeveer 226, wat in één run past. Een andere optie is om afzonderlijke scènes te verwerken, zodat elk resultaat gemakkelijker te beoordelen blijft.
Intervalbemonstering is vooral leesbaar voor tutorials, lezingen, inspecties en lange opnames waarbij gebeurtenissen in seconden of minuten worden besproken. Het is minder geschikt voor een korte beweging die eindigt tussen twee ver uit elkaar liggende tijdstempels.
Begrijp wat gevraagde FPS betekent
De aangevraagde FPS bepaalt hoeveel tijdstempels de tool per seconde bemonstert; het verandert de bronvideo niet en het bewijst niet de bronframesnelheid. Bij 2 aangevraagde FPS is de doelafstand 0,5 seconde. Bij 10 gevraagde FPS is dit 0,1 seconde. Een bereik van 12 seconden bij 5 aangevraagde FPS vraagt om ongeveer 61 tijdstempels wanneer beide eindpunten zijn opgenomen.
Door te samplen boven de nuttige tijdelijke details van de clip ontstaan vaak bijna duplicaten. Voor een statische presentatie opgenomen met 30 bron-FPS zijn zelden 30 geëxporteerde beelden per seconde nodig. Daarentegen kan een interactiebug van twee seconden profiteren van 10 aangevraagde FPS, zodat statusveranderingen zichtbaar zijn in een compacte reeks.
Media met variabele framesnelheid maken het onderscheid belangrijker. De browser zoekt op mediatijd en retourneert rond die tijd een gedecodeerd presentatieframe; het kan zijn dat er niet één bronframe is op elk perfect regelmatig interval. Voor exacte indexering van bronframes gebruikt u een decoder die is ontworpen om tijdstempels en frame-identiteiten van presentaties bloot te leggen.
Gebruik een vast aantal voor begrensd revisiewerk
De modus met vast aantal verdeelt een gekozen aantal kandidaten over het geselecteerde bereik. Als voor een bereik van 90 seconden 10 beelden nodig zijn, is de kloof tussen de kandidaten bij benadering 90 / (10 - 1), of 10 seconden wanneer beide eindpunten zijn opgenomen. Deze modus maakt de revisiewerklast voorspelbaar, zelfs als de duur van de clips verschilt.
Een handige workflow met twee doorgangen begint met 12 tot 24 afbeeldingen over het brede bereik. Identificeer het sterkste deelbereik en herhaal dit vervolgens met dezelfde telling binnen dat kleinere venster. De tweede doorgang vergroot de temporele details zonder honderden beelden te genereren uit irrelevante beelden.
Deze aanpak werkt goed voor thumbnails, evenementfoto's, producthoeken en visuele QA. Het is ook gemakkelijker uit te leggen aan iemand anders: 'bekijk deze 20 kandidaten' is een duidelijkere overdracht dan een willekeurige FPS-instelling.
Bemonsteringsplannen gemaakt
Software-walkthrough van tien minuten
Begin met een interval van 30 seconden voor ongeveer 21 afbeeldingen. Verwijder laadschermen en dubbele statussen. Als een workflow meer details nodig heeft, isoleer die minuut dan en bemonster elke 5 seconden. Exporteer PNG wanneer kleine interfacetekst leesbaar moet blijven.
Sportspel van acht seconden
Verklein het bereik van het stuk en vraag 8 FPS voor ongeveer 65 kandidaten. Bekijk de balpositie, houding, occlusie en bewegingsonscherpte. Beperk je tot het beste venster van één seconde en gebruik enkele frame-nudges voordat je de uiteindelijke JPG of PNG exporteert.
Contactblad van vijfenveertig minuten voor de lezing
Gebruik een interval van 2 minuten voor ongeveer 23 afbeeldingen. Dit is voldoende om onderwerpwijzigingen te identificeren zonder de uitvoer in een niet-beoordeelbare galerij te veranderen. Als diatekst er toe doet, behoud dan de bronbreedte of stel een maximale breedte in die de leesbaarheid behoudt.
Inspectievoorbeeld van gegevensset
Kies een vaste telling die overeenkomt met het budget voor menselijke beoordeling en leg vervolgens het exacte tijdsbereik en de exacte instellingen vast. Een monster kan scènebalans en duidelijke kwaliteitsproblemen aan het licht brengen, maar is niet automatisch statistisch representatief. Het ontwerp van datasets, klassenevenwicht en randomisatie vereisen een aparte methode.
Controleer het resultaat voordat u de dichtheid verhoogt
Bekijk de tijdstempels op volgorde en stel drie vragen: Ontbreken er belangrijke overgangen? Zijn veel opeenvolgende afbeeldingen visueel overbodig? Kan een recensent begrijpen waarom elke afbeelding bestaat? Ontbrekende gebeurtenissen vragen om een kleiner bereik of een dichtere steekproef; redundantie vraagt om een groter interval of een lagere gevraagde FPS.
Houd de eerste doorgang bewust klein. Door de browser gedecodeerde afbeeldingen met volledige resolutie kunnen veel meer geheugen in beslag nemen dan de gecomprimeerde videobron doet vermoeden. Een canvas van 1920 x 1080 bevat ongeveer 8,3 miljoen RGBA-bytes voordat de afbeelding is gecodeerd, dus veel gelijktijdige voorbeelden kunnen een mobiel apparaat onder druk zetten, zelfs als de gedownloade JPG-bestanden compact zijn.
Ga verder met de exacte framegids wanneer het voorbeeld een veelbelovend moment identificeert, of open de video naar frames converter om nu een plan toe te passen.