CycleGAN, skrót od „Cycle-Consistent Adversarial Networks”, to technika przesyłania obrazu do obrazu opracowana przez Jun-Yana Zhu, Taesunga Parka, Phillipa Isolę i Alexei A. Efrosa. Została zaprezentowana po raz pierwszy w 2017 r. i jest rodzajem generatywnej sieci kontradyktoryjnej (GAN) zaprojektowanej w celu uczenia się mapowań z jednej domeny obrazu na drugą.
W typowej sieci GAN sieć generatorów tworzy z danej domeny wejściowej nowe obrazy, np. zdjęcia kotów. Ale CycleGAN różnią się tym, że nie wymagają sparowanych obrazów. Oznacza to, że zamiast uczyć się na podstawie zbioru zdjęć kotów i zdjęć psów, obrazy można nieparować. Zatem w tym przykładzie jedna część sieci może być szkolona na zdjęciach kotów, a druga na rysunkach kotów.
Sieć jest szkolona przy użyciu utraty spójności cyklu, przy czym oba generatory próbują przybliżać swoje wyjścia. Ta utrata spójności cyklu składa się z dwóch części – jedna część zapewnia, że obraz kota powinien zostać przekonwertowany z powrotem na ten sam obraz po przejściu przez dwie sieci, a druga część zapewnia, że obraz rysunku powinien zostać ponownie przekonwertowany na ten sam obraz po przejściu przez dwie sieci.
CycleGAN jest szczególnie przydatny w przestrzeniach problemowych, które mają niezrównoważone klasy, takich jak obrazy nocne i dzienne, malarstwo i zdjęcia itp. Model ten jest również używany w zadaniach takich jak tłumaczenie obrazu na obraz i adaptacja domeny. Wykorzystano ją nawet do generowania nowych stylów artystycznych obrazów zwanych „super rozdzielczością”, które można wykorzystać do takich zadań, jak rozpoznawanie twarzy i wykrywanie obiektów.
Wykazano, że sieci CycleGAN są szczególnie skuteczne w przypadku wielu zadań, takich jak superrozdzielczość pojedynczego obrazu bez nadzoru, koloryzacja obrazu, transfer stylu obrazu, interpolacja klatek wideo, synteza obrazów lotniczych i translacja obrazu na obraz.
Ostatecznie CycleGAN są potężnym narzędziem do translacji obrazu na obraz, ponieważ nie wymagają nadzoru, nie wymagają wstępnie przeszkolonych modeli i są stosunkowo szybkie w zastosowaniu do różnych zadań. Podstawowym ograniczeniem CycleGAN jest to, że niekoniecznie są one stabilne zarówno pod względem jakości obrazu, jak i szybkości.