A morph effekt az egyik leglátványosabb vizuális trükk, amely során az egyik kép folyékonyan, szinte észrevétlenül alakul át egy másikká. Aki első nem tudná elképzelni, annak egy nagyon közismert példa lehet Michael jackson Black and White című dalának befejező része. Míg régen ehhez bonyolult animációs tudás kellett, ma már a generatív mesterséges intelligencia képes kiszámolni a pixelek vándorlási útvonalát, így tökéletesen sima átmenetet hoz létre két teljesen különböző fotó között is. S ha nem is megyünk most bele abba, hogy a Jackson videó végén lévő megoldást miként lehet megvalósítani egy videószerkesztőben, azt viszont megmutatjuk, hogyan oldható meg a képek közti váltás morph effekttel videóban, anélkül, hogy ehhez méregdrága alkalmazásokat vásárolnánk. Két ingyenes megoldással ugyanis akár azt is gond nélkül megtehetjük, hogy több kép között kreálunk morph effekteket, s aztán az egészből látványos videót varázsolunk.
Képek közti váltás morph effekttel videóban, ingyen
Egy látványos morph effekt kifejezetten jól néz ki két kép között, s ugyebár az is nagyon jól hangzik, hogy akár 20 képnél is megtehetjük ugyanezt, s aztán videóként tálalhatjuk a folyamatos változást. Kiválóan tálalható így például egy növény növekedéséről készült több hónapnyi fotó. de különféle állatok közötti átváltozástól a romos traktor modern sportautóvá változásáig mindent összedobhatunk. Csak a fantáziánk szab határt a dolgoknak. No meg az, hogy hajlandóak vagyunk-e emiatt a Parancssorban, Terminalban ügyködni, merthogy a két ehhez szükséges alkalmazás bizony így működik. Na de nem olyan bonyolult ez, mint amilyennek hangzik. Lássuk, mi kell hozzá és miként megy a teljes folyamat.
Mi az a RIFE?
A RIFE (Real-Time Intermediate Flow Estimation) egy neurális hálózat alapú algoritmus, amelyet képkocka-interpolációra terveztek. Nem egyszerűen egymásra mossa a képeket (mint egy áttűnés), hanem úgymond értelmezi a formákat és mozgást generál közéjük. Szóval szépen elkészíti a vizuális átalakulás lépéseit. A telepítése viszonylag egyszerű:
- Telepítés Windowsra: Töltsük le a
rife-ncnn-vulkanlegfrissebb windowsos ZIP csomagját a GitHubról, majd csomagoljuk ki. - Telepítés macOS-re: Töltsük le a macOS-re optimalizált ZIP-et és csomagoljuk ki. Fontos: első indításkor a rendszer blokkolni fogja a rife-ncnn-vulkan alkalmazás futtatását. Ezt a System Settings / Privacy & Security lapon az Open Anyway gombra kattintva lehet feloldani, közvetlenül a futtatási kísérlet után.
Használata tehát parancssoros. Az eljárás pedig a következő, mindkét rendszeren. A káosz elkerülése érdekében érdemes egy dedikált mappában (páldául a Downloadson belül) dolgozni. Először is létre kell hoznunk két mappát. A mappa-struktúra így nézzen ki:
rife
Ide csomagoljuk ki a letöltött Rife szoftvert. Közvetlenül ebben legyen a rife-ncnn-vulkan alkalmazás (Windowson rife-ncnn-vulkan.exe) és a hozzá tartozó modellel alkönyvtárai (például rife-v4).kepek
Ebbe másoljuk be a forrásképeket, így elnevezve:kep-1.jpg,kep-2.jpgstb.)morphkepek
Ez egyelőre maradjon üres, ide kerülnek majd a Rife által létrehozott képek, amelyek a generált mozgásfázisokat tartalmazzák.
Ha ezzel megvagyunk, indítsuk el a Terminalt (Windowson a PowerShellt vagy Parancssort), lépjünk be a rife mappába (cd rife utasítás, de ha beírtuk a cd utasítást és hagytunk egy szóközt, utána egyszerűen ráhúzhatjuk a parancssorra a mappát a fájlkezelőből, így az beírja helyettünk a pontos elérési utat) és futtassuk a következő utasítást:
./rife-ncnn-vulkan -i ../kepek -o ../morphkepek -n 256 -m rife-v4
A fenti a macOS alatti utasítás, Windowson a felépítése ugyanez, de az eleje rife-ncnn-vulkan.exe. Valahogy így:
.\rife-ncnn-vulkan.exe -i ../kepek -o ../morphkepek -n 256 -m rife-v4
Az -n 256 érték határozza meg a videó hosszát (például 64, 128, 256, 512 stb.). Minél nagyobb ez a szám, annál több köztes kép készül, tehát annál lassabb és simább lesz a morphing átmenet. Ha minden jól megy, a program elkészíti a képek mappában az összes képkockát egy videóhoz.
Ha macOS alatt esetleg beakadna a folyamat a decode image ../kepek/.DS _Store failed hibaüzenettel, akkor a Ctrl + C billentyűkombinációval állítsuk le, és az rm kepek/.DS_Store utasítással töröljük a kepek mappából a rejtett .DS_Store állományt, amelyek a macOS minden mappában létrehoz. Ezután már lefuttatható a fenti rife utasítás, bár előtte még érdemes törölni a morphkepek mappából a közben létrejött, de ilyenkor általában hibás képfájlokat. Ha minden jól megy, a sikeres folyamat végén egy 00000027.png és hasonló nevű PNG fájlt látunk a morphkepek mappában. Ha nem tetszik majd a végeredmény, lehet kísérletezni a többi RIFE modellel is, csak az utasítás végén a rife-v4 részt cseréljük le a másik modell mappájának nevére, például rife-v4.6.
Videóvá varázsolja: az FFmpeg
Mivel RIFE-tól nem kész videót kapunk, hanem több száz (vagy ezer) PNG képet, amelyek az átalakulás fázisait tartalmazzák. Ezeket a szintén ingyenes FFmpeg segítségével fűzzük össze videóvá. Ez egy rendkívül sokoldalú médiakonvertáló- és szerkesztő app, de saját grafikus felület nélkül (ennek örömére seregnyi ingyenes és fizetős konvertáló és szerkesztő épül rá). Nekünk viszont most az alap, parancssoros verzió szükséges, s persze ezt is kell telepíteni.
- macOS alatt: a
brew install ffmpegparanccsal a legegyszerűbb. Ha ehhez nincs telepítve még Homebrew a rendszerbe, akkor azt telepítsük innen az oldalon látható és onnan kimásolható Terminal paranccsal, s utána már lefut az ffmpeg telepítő utasítás is. - Windowsra pedig letölthetjük a bináris, futtatható változatot az ffmpeg.org oldalról és telepítsük a Windowsban megszokott módon.
Ha ezzel megvagyunk, térjünk vissza a parancssorban a rife mappába és jöhet az összefűzés. Mivel a fotók mérete gyakran páratlan pixelszámú, egy speciális szűrőt (scale) használunk, hogy a videókódoló ne hibázzon. A macOS-en és Windowson egyaránt használható parancs:
ffmpeg -framerate 24 -i ../morphkepek/%08d.png -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -pix_fmt yuv420p -crf 18 ../vegleges_morph_video.mp4
Windows alatt ez így néz ki a PowerShellben:
ffmpeg -framerate 24 -i "..\morphkepek\%08d.png" -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -pix_fmt yuv420p -crf 18 "..\vegleges_morph_video.mp4"
Ezzel elkészült a képek között látványos átmenetet kínáló morph videónk, mp4 formátumban, amelyet már bármilyen modern médialejátszó-programmal megnézhetünk.








