МАСШТАБУВАННЯ ЗОБРАЖЕНЬ ЗАСОБАМИ ЗГОРТКОВИХ НЕЙРОННИХ МЕРЕЖ ІЗ АРХІТЕКТУРОЮ СУПЕР-РОЗДІЛЬНОЇ ЗДАТНОСТІ
12.06.2024 23:45
[1. Информационные системы и технологии]
Автор: Баловсяк Сергій Васильович, доктор технічних наук, доцент, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці; Гнатюк Юрій Анатолійович, аспірант, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці
У сучасних телекомунікаційних та комп’ютерних системах поширеним завданням є масштабування цифрових зображень [1]. Зменшення масштабу зображень виконується, наприклад, перед їх передаванням через канали зв’язку телекомунікаційної системи, при збереженні зображень у різноманітних інтернет-сервісах та сховищах. Завдання збільшення масштабу зображень виникає при обробці зображень, отриманих з низькою роздільною здатністю. Завдяки збільшенню масштабу зображень можливо підвищити точність їх комп’ютерної обробки та забезпечити кращу візуалізацію таких зображень.
Проте, існуючі алгоритми масштабування зображень, зокрема, найближчого сусіда, білінійної та бікубічної інтерполяції, призводять до певних спотворень зображень та їх розмиття. Одним з ефективних засобів масштабування зображень, який забезпечує їх високу візуальну якість, є штучні нейронні мережі (ШНМ). Тому в роботі для масштабування зображень використано ШНМ, а саме згорткові нейронні мережі (ЗНМ), структура яких пристосована для обробки зображень.
Масштабування зображень виконано ЗНМ із архітектурою супер-роздільної здатності (Super-Resolution Convolutional Neural Network – SRCNN) [2], яка спеціально розроблена для підвищення роздільної якості зображень із збереженням їх візуальної якості. В архітектурі SRCNN у найпростішому випадку застосовується 3 згорткових шари з відповідними ядрами згортки W (рис. 1). Навчання SRCNN виконується методом зворотного поширення помилки на зображеннях навчальної (train) вибірки, а застосування контрольної (valid) вибірки не допускає перенавчання нейромережі. Навчальна вибірка містить множину з QNT зображень FT розміром M0 × N0 пікселів (зображень у початковому масштабі), які є правильними виходами ЗНМ. Контрольна вибірка містить множину з QNV зображень з таким самим розміром. Структура SRCNN дозволяє обробку зображень у відтінках сірого та кольорових зображень (для 3 каналів кольору).
На входи ЗНМ подаються зображення GX, у виходами мережі є зображення GY (рис. 1). Для спрощення будови ЗНМ розміри зображень GX та GY встановлюються однаковими (MT × NT пікселів, наприклад, MT = NT = 64 пікселі). Тому початкові зображення FT розділяються на вікна (тайли) у вигляді локальних областей (фрагментів) ST прямокутної форми розміром MT × NT пікселів.
Рис. 1. Схема навчання ЗНМ з архітектурою SRCNN, призначеної для масштабування зображень
Похибка навчання мережі оцінюється як корінь середньої квадратичної похибки Rmse (Root Mean Square Error) через різницю виходів мережі GY та правильних виходів ST. Локальні вікна ST перекриваються між собою на ΔX пікселів за шириною та ΔY пікселів за висотою (ΔX = ΔY = 2 пікселі), що дозволяє уникати крайових ефектів на межах вікон. Оскільки нейронна мережа повинна збільшувати масштаб зображень, тому на основі зображень ST розміром методами інтерполяції обчислюються зображення SX розміром MX × NX пікселів (у зменшеному масштабі). Масштаб зображень зменшується у SC разів (наприклад, SC = 2), тобто MX = [MT/SC], NX = [NT/SC]. Тому для обчислення зображення GX на основі зображення у зменшеному масштабі SX використовується блок інтерполяції, в якому з використанням білінійної або бікубічної інтерполяції розмір зображення збільшується в SС разів.
Масштабування зображень з використанням SRCNN реалізовано в програмі на мові Python. Інтерполяція зображень методами білінійної та бікубічної інтерполяції виконується функціями бібліотеки cv2, ЗНМ реалізована засобами бібліотеки tensorflow. Після навчання ЗНМ використовується для масштабування зображень FX (розміром M2 × N2 пікселів). Такі зображення FX розділяються на вікна SX розміром MX × NX пікселів, які шляхом інтерполяції перетворюються у вхідні зображення GX для нейронної мережі. На виходах ЗНМ отримуються вихідні зображення GY, з яких як з плиток складається зображення-результат FY у збільшеному масштабі.
Навчена ЗНМ дає змогу обчислювати зображення FY з вищою візуальною якістю, ніж методи інтерполяції. Якість масштабованих зображень на виході ЗНМ можливо підвищити за рахунок тривалого навчання мережі та збільшення розмірів навчальної й контрольної вибірок.
Література
1. Geron A. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow /A. Geron. - O'Reilly Media, Inc., 2019. – 510 p.
2. Super-Resolution Convolutional Neural Network. URL: https://goodboychan.github.io/python/deep_learning/vision/tensorflow-keras/2020/10/13/01-Super-Resolution-CNN.html#google_vignette