„Sztuczna Inteligencja” przy skalowaniu filmów i obrazów – automatyczne zwiększanie jakości obrazu oraz ilości klatek na sekundę za darmo
Kolejny artykuł z serii „Sztuczna Inteligencja”, tym razem skupiający się na masteringu plików wideo oraz grafiki. W pierwszej kolejności przedstawię w nim kilka projektów, w których dzięki uczeniu maszynowemu stworzone zostały modele „AI” pozwalające m.in. na automatyczne skalowanie obrazu wideo, czy zdjęć, „bez spadku ich jakości”. Drugim zagadnieniem natomiast będzie automatyczne zwiększanie ilości klatek na sekundę w dostarczonych przez nas materiałach wideo.
O ile wcześniej bardziej traktowałem o tworzeniu nowych treści przy wykorzystaniu algorytmów tzw. „SI”, o tyle tym razem większą uwagę skupię na już istniejących materiałach i polepszaniu ich jakości. Dzięki opisanym tu programom możemy zarówno zwiększyć jakość obrazów czy nagrań wygenerowanych przez tzw. „AI”, jak i zremasterować nasze stare pliki sprzed lat. Efekty nie zawsze są idealne (jak w każdym przypadku tzw. „AI”), jednak czasami mogą zaskoczyć!
Video2X – czyli darmowe oprogramowanie do skalowania obrazu wideo:
Video2X to darmowy program, którego przeznaczeniem jest nie tylko skalowanie plików wideo, ale także obrazków i animacji w formacie GIF. Poza możliwością zwiększania rozdzielczości obrazu oraz „polepszania” jego jakości, aplikacja posiada algorytmy interpolacji klatek, pozwalające na zwiększenie ilości klatek na sekundę na podstawie dostarczonego materiału.
Efekty (jak w przypadku wszystkich algorytmów tzw. „AI”) nie zawsze są idealne – szczególnie przy wyższych współczynnikach skalowania, jednak często odpowiednio dobierając parametry, możliwym jest uzyskanie ciekawych wyników.
Program dostępny jest pod adresem: https://github.com/k4yt3x/video2x/releases.
By zwiększyć rozmiar swojego nagrania lub grafiki, postępuj według poniższych kroków:
- Uruchom program Video2X GUI z pliku video2x_gui.exe – umiejscowionego w folderze programu.
- Przy pomocy myszki, przeciągnij film lub obraz, który chcesz powiększyć na okno programu.
- Wybierz podstawowe ustawienia:
- Output – ścieżka, w której chcemy zapisać plik wyjściowy;
- Driver – rodzaj modelu używanego modelu (Waifu2x NCNN Vulkan, Waifu2X Caffe, Waifu2X Converter CPP, SRMD NCNN Vulkan, RealSR NCNN Vulkan, Anime4KCPP) – w przypadku obrazków najlepiej wybierać pierwszy, w przypadku filmów zależnie od jego rodzaju (najlepiej samemu przetestować);
- Scale Ratio – współczynnik skalowania wskazujący jak bardzo chcemy zwiększyć nasz materiał;
- Output Width/Height – szerokość i wysokość materiału wyjściowego (jeżeli ma być niestandardowa).
- Kliknij „Start” i poczekaj na efekty (w przypadku modelu RealSR NCNN Vulkan może zająć to nieco więcej czasu).
Poniżej zamieszczam kilka przykładów skalowania z użyciem różnych modeli.
Oryginał:
Anime4KCPP:
RealSR-NCNN-Vulkan:
SRMD NCNN Vulkan:
Waifu2x Caffe:
Waifu2x Cinverter CPP:
Waifu2x NCNN Vulkan:
Topaz Video Enhance AI – czyli płatne oprogramowanie do skalowania obrazu wideo z darmową wersją trial:
Płatna alternatywa dla Video2X, posiadająca zarówno algorytmy skalowania materiałów wideo, zwiększania liczby klatek, jak również umożliwiające pozbycia się efektu przeplotu z dostarczanych nagrań. Są one nieco bardziej rozwinięte, niż w jego darmowym odpowiedniku, ale i one nie są idealne.
Aplikacja w wersji 2.3.0 posiadała w pełni funkcjonalną, ograniczoną czasowo wersję trial, dzięki której możliwym było testowanie jej możliwości. Niestety obecnie twórcy postanowili usunąć ograniczenia czasowe, na ich miejsce dodając znak wodny do wszystkich nagrań wykonanych wersją niezarejestrowaną (na całej jego powierzchni), przez co materiały wykonane przy jej użyciu nie będą nadawały się do jakiegokolwiek użytku. Starsze wersje jednak nie miały z tym problemu.
Podobnie jak w poprzednim przypadku, efekty nie zawsze są idealne – szczególnie przy wyższych współczynnikach skalowania, jednak odpowiednio dobierając parametry (w szczególności dokładnie definiując materiał wejściowy), możliwym jest uzyskanie ciekawszych wyników.
Program dostępny jest pod adresem: https://topazlabs.com/downloads/.
By zwiększyć rozmiar swojego nagrania, postępuj według poniższych kroków:
- Uruchom program Topaz Video AI.
- Przy pomocy myszki, przeciągnij film, który chcesz powiększyć na okno programu.
- Wybierz podstawowe ustawienia:
- Video quality – określenie jakości materiału wejściowego (niska, średnia lub wysoka) – to od tego ustawienia zależy, jak interpretowany będzie materiał wejściowy podczas obróbki;
- Video type – typ materiału wejściowego (progresywny, z przeplotem, generowany komputerowo) – wybierz z jakim rodzajem obrazu masz do czynienia, czy jest to pełen obraz, półobraz z przeplotem, czy grafika generowana komputerowo;
- Video Artifact Type – rodzaj artefaktów występujących na obrazie wejściowym (wysoka kompresja, szumy, rozmycie, drgania lub niestabilna liczba klatek, brak);
- Recommended – w tym miejscu wybieramy model AI, którego chcemy użyć (wybierając opcję „Compare” możliwe jest porównanie potencjalnych wyników dla wszystkich modeli).
- Po wyborze podstawowych parametrów materiału wejściowego oraz modelu „AI”, musimy dobrać już parametry materiału wyjściowego, m.in. skalowanie, rozmiar ziarna jakie ma się pojawić na finalnym nagraniu, format, preferowana ilość klatek na sekundę, czy w przypadku niektórych parametry samego modelu (te jednak dobrać można automatycznie przy użyciu opcji „Auto”, dzięki której program podpowie nam jakie będą dla nas najlepsze).
Poniżej zamieszczam kilka przykładów skalowania przy użyciu oprogramowania Topaz.
Porównanie poglądowe:
Flowframes – czyli darmowe oprogramowanie do automatycznego zwiększania ilości klatek na sekundę w filmach:
Flowframes jest darmową aplikacją, pozwalającą na bardzo proste zwiększenie liczby klatek na sekundę w naszych nagraniach wideo. Stanowi on idealne uzupełnienie dla algorytmów skalujących obraz, gdy program, którego używaliśmy nie posiada takich możliwości lub efekty nie są dla nas zadawalające.
Efekty nie zawsze są idealne (jak przy każdym algorytmie opartym o uczenie maszynowe) – szczególnie, gdy materiał źródłowy posiada bardzo ograniczoną liczbę klatek – i często jakiś element animacji przenika przez coś na nowo wygenerowanych klatkach obrazu, jednak czasami możliwym jest uzyskanie ciekawszych wyników.
Ostatnia darmowa wersja programu, to 1.36.0. Dostępna np. z portalu Itch.io, dzięki czemu nadal możemy ją pobrać za darmo. Nowsze wersje autor udostępnia jedynie za odpowiednią opłatą na swoim profilu Patronite.
Program w darmowej wersji dostępny jest m.in. pod adresem: https://nmkd.itch.io/flowframes.
Skrócona instrukcja użycia:
- Uruchom program Flowframes.
- Przy pomocy myszki, przeciągnij film, który chcesz powiększyć na okno programu.
- Wybierz podstawowe ustawienia:
- Interpolation AI – model AI, którego będziemy chcieli użyć przy generowaniu nowych klatek obrazu;
- Output Directory – ścieżka, do której ma zostać zapisany materiał wyjściowy;
- Output FPS – ilość klatek na sekundę, jaką chcemy uzyskać po modyfikacji;
- AI Model – wersja modelu AI, którą chcemy użyć – zależna od tego, jaki model wybraliśmy w „Interpretation AI”.
- Kliknij „Interpolate!” i poczekaj na efekt.
Poniżej zamieszczam przykład materiału ze zwiększoną ilością klatek.
Autor: Daniel 'zoNE’ Gabryś