АВТОМАТИЧНЕ НАЛАШТУВАННЯ ПАРАМЕТРІВ «ЯСКРАВІСТЬ» І «КОНТРАСТ» ЦИФРОВИХ ВІДЕОКАМЕР
08.05.2023 18:37
[1. Информационные системы и технологии]
Автор: Баловсяк Сергій Васильович, доктор технічних наук, доцент, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці;
Яковлєва Інна Дмитрівна, кандидат технічних наук, доцент, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці;
Яковенко Олександра Олександрівна, студентка, Чернівецький національний університет імені Юрія Федьковича, м. Чернівці
Сучасні USB-відеокамери дозволяють програмно регулювати їх параметри «Яскравість» і «Контраст», які визначають середнє значення та діапазон значень відеосигналу відповідно [1]. Параметри відеокамер суттєво впливають на візуальну якість отриманих зображень, але у більшості випадків такі параметри відеокамер за замовчуванням розраховані на певний середній рівень освітленості. Через це при низькій освітленості (менше 50 люкс) зображення з відеокамер часто отримуються надто темними та з низьким контрастом, а при високій освітленості (більше 500 люкс) зображення надто світлі та висококонтрастні. Таким чином, для визначення оптимальних значень параметрів відеокамер (за критерієм візуальної якості зображень) потрібно враховувати освітлення досліджуваних об’єктів. Проте, визначення освітленості об’єктів за допомогою фоточутливих сенсорів (люксметрів) ускладнює апаратну реалізацію системи формування відеопотоку. Тому в роботі запропоновано виконувати автоматичне налаштування параметрів «Яскравість» і «Контраст» відеокамер на основі тільки зчитаних зображень за допомогою попередньо навченої штучної нейронної мережі (ШНМ).
Програма для автоматичного налаштування параметрів відеокамер розроблена на мові Python із використанням бібліотеки комп’ютерного зору OpenCV. Значення параметра «Яскравість» (Brightness) відеокамери встановлюється функцією set(10, Brightness), а параметра «Контраст» (Contrast) – функцією set(11, Contrast). Значення параметрів «Яскравість» і «Контраст» відеокамери вимірюються у відносних одиницях і знаходяться у певних діапазонах. Наприклад, для відеокамери «Logitech HD Webcam C270» значення параметра «Яскравість» знаходяться в діапазоні від 0 до 350, а значення параметра «Контраст» – у діапазоні від 0 до 250 (рис. 1).
Налаштування параметрів відеокамер виконується за допомогою тришарового перцептрона [2]. На входи ШНМ подаються нормовані гістограми зображень (рис. 2 – рис. 4), а виходами є оцінки значень параметрів «Яскравість» та «Контраст» (які нормуються в діапазоні від 0 до 1, а найкращим вважається значення 0.5). Навчання ШНМ виконується методом зворотного поширення помилки з використанням навчальної (train) вибірки, а для запобігання перенавчання застосовується контрольна (valid) вибірка.
Рис. 1. Фрагмент серії зображень пристрою Arduino UNO, отриманих відеокамерою «Logitech HD Webcam C270» для високої освітленості об’єктів (660 люкс); значення параметру «Яскравість» рівне 180; значення параметру «Контраст» змінюється від 5 до 59
Рис. 2. Зчитане з відеокамери зображення f (у відтінках сірого) та його гістограма h; значення параметра «Контраст» рівне 5 (низький контраст)
Рис. 3. Зчитане з відеокамери зображення f (у відтінках сірого) та його гістограма h; значення параметра «Контраст» рівне 35 (яскравість і контраст близькі до оптимальних)
Рис. 4. Зчитане з відеокамери зображення f (у відтінках сірого) та його гістограма h; значення параметра «Контраст» рівне 49 (надто високий контраст)
Після навчання ШНМ програма виконує автоматичне налаштовування параметрів «Яскравість» та «Контраст» відеокамер. У ході ітераційного процесу (до 20 ітерацій) зчитуються зображення з відеокамер, обчислюються їх гістограми і подаються на входи ШНМ. З виходів ШНМ отримуються оцінки параметрів відеокамер. Якщо отримані оцінки параметрів відрізняються від оптимальних (0.5), то параметри відеокамер змінюються на заданий крок. Наприклад, якщо оцінка параметра «Яскравість» менша 0.5, то значення параметра «Яскравість» відеокамери збільшується. Таке налаштування параметрів відеокамер доцільне при зміні умов освітлення.
Література
1.Setting Camera Parameters in OpenCV/Python. URL: https://stackoverflow.com/questions/11420748/setting-camera-parameters-in-opencv-python
2.Субботін С. О. Нейронні мережі : теорія та практика: навч. посіб. – Житомир : Вид. О.О. Євенок, 2020. – 184 с.