Introduktion

2D-videostabiliseringen är en funktion som bygger på Blenders spårningsförmåga för bildfunktioner: Du kan använda vissa spårningspunkter för att ta bort skakningar, stötar och ryck från videofilmer. Vanligtvis är bildstabilisering en del av ett 2D-arbetsflöde för att förbereda och förbättra bilder före ytterligare bearbetnings- eller modelleringssteg. Den här sidan hjälper dig att förstå hur det fungerar, introducerar relaterade termer och begrepp, beskriver de tillgängliga gränssnittskontrollerna i detalj och ger slutligen några tips om praktisk användning.

Typiska användningsscenarier för stabilisatorn:

  • Åtgärda mindre brister (skakigt stativ, ryck i kamerarörelsen).

  • ”Poor man’s steadycam” (när en riktig steadycam inte var tillgänglig, överkomlig eller tillämpbar).

  • Som förberedelse för maskering, matchning och rotoscoping.

Det är inte ovanligt att 2D-stabilisering måste hantera något ofullständigt och bristfälligt bildmaterial.

Hur det fungerar

För att upptäcka falska rörelser i en viss tagning antar vi en förenklad modell för denna rörelse. Vi försöker sedan anpassa rörelsen hos de spårade objekten till denna förenklade modell för att få fram en kompensation. Naturligtvis fungerar detta bara i den mån vår modell är adekvat - men i praktiken fungerar detta förenklade tillvägagångssätt förvånansvärt bra även med ganska komplicerade bilder, där vårt grundläggande antagande bara var en approximation av mycket mer detaljerade rörelser.

Denna förenklade modell som ligger till grund för 2D-stabiliseringen som implementeras här förutsätter rörelse genom en affin-lineär transform:

  • Kameran skjuts uppåt/nedåt/ åt sidan av en translationskomponent.

  • Bilden lutas och skalas sedan runt en pivotpunkt (rotationscentrum).

För att kompensera rörelser enligt denna förenklade modell går 2D-stabilisatorn fram i två steg. Först försöker vi upptäcka translationsförskjutningen från det viktade medelvärdet av alla translation-spårningspunkter. Efter att ha kompenserat denna translationskomponent använder vi sedan ytterligare rotation/skala-spårningspunkter för att detektera rotation runt en given pivotpunkt. Återigen detekterar vi rotations- och skalförändringar genom ett viktat medelvärde av alla givna rotations- och skalspårningspunkter.

I den aktuella versionen är vridpunkten förankrad i viktcentrum för punkterna för spårning av translation. Så i praktiken är den upptäckta översättningen redan uträknad. I vissa fall är detta inte optimalt, särskilt när spåren har luckor eller inte täcker hela filmens längd - vi planerar ytterligare alternativ för att bättre kontrollera pivotpunkten i framtida versioner.

Stabiliseringsspår

Som grund för all bildstabilisering behöver vi alltså spårade bildfunktioner för att härleda rörelserna. Dessa spårningspunkter eller ”spår” kan fastställas med Blenders bildfunktionsspårningskomponent Rätt val av punkter att spåra är något knepigt, men ändå avgörande för framgångsrik bildstabilisering. Ofta är vi här för att vi måste hantera ofullständigt filmmaterial. I sådana fall hjälper medelvärdesbildningen av spåren till att komma runt bild- eller spårningsfel vid någon tidpunkt. När filmen innehåller perspektivinducerade rörelser kan dessutom symmetriskt placerade spårningspunkter ovanför och under horisonten användas för att upphäva falska rörelser och få stabilisering av brännviddsområdet däremellan.

../../../../../_images/movie-clip_tracking_clip_sidebar_stabilization_introduction_perspective.jpg

Divergerande rörelser orsakade av perspektiv.

Spår kan läggas till i två grupper:

  1. Först och främst finns listan över spår som ska användas för att kompensera för hopp i kamerans placering. Från alla spårningspunkter som läggs till i den här gruppen beräknar vi ett viktat genomsnitt. Vi försöker sedan hålla denna genomsnittliga position konstant under hela tagningen. Därför är det en bra idé att använda spårmarkörer nära och centrerade kring det viktigaste motivet.

  2. Ett andra urval av spår används för att hålla bildens rotation och skala konstant. Du kan använda samma spår för båda urvalen. Men vanligtvis är det bäst att använda spårningspunkter med stort avstånd från bildens mitt och symmetriskt på båda sidor för att fånga vinkelrörelserna mer exakt. På samma sätt som i fallet med ”plats” beräknar vi ett genomsnittligt vinkelbidrag och försöker sedan hålla detta värde konstant under hela tagningen.

Film, bild och duk

När vi talar om rörelsestabilisering av video måste vi skilja på flera referensramar. Bildelementen i filmen rör sig oregelbundet inom filmens ursprungliga bildgränser - detta är själva anledningen till att vi använder stabilisatorn. När vårt försök till stabilisering lyckades kan bildelementen nu betraktas som stabila, medan filmens bildgränser i gengäld har fått en oregelbunden rörelse och hoppar runt i motsatt riktning. Detta är den omedelbara konsekvensen av stabilisatorns aktivitet.

Eftersom de faktiska bildelementen, dvs. det vi filmar, nu kan betraktas som stabila, kan vi använda dem som en ny referensram: vi betraktar dem som fästa vid en fast bakgrund, som vi kallar duken. Genom att införa begreppet ”duk” blir det lättare att hantera avsiktliga kamerarörelser. Och utöver det ger det ytterligare en fördel: Det är mycket vanligt att pixlarna i videofilmer inte är kvadratiska. Därför måste vi sträcka ut och expandera dessa pixlar innan vi kan utföra någon vettig rotationsstabilisering. På så sätt blir duken per definition referensen för en oförvrängd visning av bildinnehållet.

Men när kameran flyttas avsiktligt måste vi ta hänsyn till ännu en referensram bortom duken: nämligen ramen (eller ”kadern”) för den slutliga bild vi vill skapa. För att förstå den här skillnaden kan vi ta en handhållen panorering till höger: Eftersom kameran var vänd åt höger kommer det faktiska bildinnehållet att röra sig åt vänster inom den ursprungliga bildramen. Men låt oss anta att stabilisatorn lyckades ”fixera” bildinnehållet i förhållande till duken - vilket i sin tur innebär att originalbildens gränser börjar röra sig oregelbundet mot höger sida och att bildinnehållet gradvis börjar försvinna bakom originalbildens vänstra gräns. Efter en tids panorering har vi förlorat allt vårt ursprungliga innehåll och ser bara en tom svart bildbakgrund. Den enda lösningen på det problemet är att flytta den sista bildrutan åt höger och på så sätt följa den ursprungligen tänkta panoreringsrörelsen. Den här gången vill vi naturligtvis utföra den nya panoreringsrörelsen på ett smidigt och rent sätt.

../../../../../_images/movie-clip_tracking_clip_sidebar_stabilization_introduction_panning.jpg

Stabilisering av en panorerande bild.

../../../../../_images/movie-clip_tracking_clip_sidebar_stabilization_introduction_canvas.jpg

Återställer den förväntade kamerarörelsen.

För att möjliggöra en sådan kompensation och för att återinföra avsiktlig panorering eller lutning och zoomning av den resulterande bilden, erbjuder stabilisatorn en särskild uppsättning kontroller: Förväntad position, Väntad rotation och Väntad skala. Dessa fungerar som kontrollerna för en virtuell kamera som filmar innehållet som vi har fixerat på duken. Genom att animera dessa parametrar kan vi utföra alla typer av avsiktliga kamerarörelser på ett smidigt sätt.

De ”dansande” svarta gränserna

Som förklarats ovan, när vi lyckas stabilisera bildinnehållet, börjar gränserna för originalfilmen att hoppa runt i motsatt riktning mot de rörelser som kompenserats. Detta är oundvikligt - men ändå mycket irriterande, eftersom dessa ”dansande svarta kanter” på grund av rörelsernas oregelbundna karaktär tenderar att avleda uppmärksamheten från det faktiska motivet och skapa en irriterande rastlöshet. Vårt mål måste därför vara att dölja dessa dansande kanter så bra som möjligt. En enkel lösning är att lägga till en liten mängd zoom. Ibland måste vi också animera parametern Väntad position för att hålla bilden centrerad så bra som möjligt - detta bidrar till att minska den mängd zoom som krävs för att ta bort de irriterande kanterna.

Funktionen Autoscale kan användas för att hitta den minimala mängd zoom som är tillräcklig för att helt ta bort de svarta kanterna. Om kameran hoppar mycket zoomar dock autoscale-funktionen ofta in för mycket, särskilt eftersom den här beräkningen syftar till att hitta en enda, statisk zoomfaktor för hela filmsekvensen. När detta händer får du vanligtvis bättre resultat om du animerar både zoomfaktorn och den förväntade positionen manuellt.