Назад
Розробник створив «достатньо добрий» колірний простір для відтінків шкіри
SiTech Team2 წთ. საკითხავი

Розробник створив «достатньо добрий» колірний простір для відтінків шкіри

Проєкт визначає тривісний колірний простір для правдоподібних відтінків шкіри на основі вручну розмічених зразків RGB, аналізу головних компонент і власноруч підібраних рівнянь.

Розробник, відомий на GitHub як ToneyAlexander, опублікував колірний простір, покликаний представити широкий діапазон відтінків шкіри. Проєкт, описаний на сторінці What Colors Are We?, має спростити створення інклюзивних колірних інструментів — наприклад, редакторів персонажів чи цифрового мистецтва — і включає пікер кольору на JavaScript та приклад коду Python для процедурної генерації.

Чому фіксовані палітри не працюють

Відправна точка автора — кілька готових кольорів ніколи не охоплюють реального різноманіття. Як зазначає сторінка, емодзі пропонують п'ять відтінків (або мультяшно-жовтий), косметичний бренд може запропонувати 50, а редактор персонажа просто вказує на всі 16 777 216 кольорів RGB. Робота намагається знайти місце між «кількома» та «кількома мільйонами»: компактний набір рівнянь, що окреслює область RGB, яка відповідає правдоподібним спрощеним відтінкам шкіри.

Як будувався простір

Метод навмисно прагматичний і, як визнає автор, «ненауковий». Спершу була марудна ручна робота: розмітка кольорів RGB як правдоподібних чи ні за допомогою невеликого вебінструменту, який показував колір на намальованому обличчі. Розмічені дані утворили в просторі RGB хмару, схожу на банан. Аналіз головних компонент (PCA) з трьома компонентами повернув і масштабував цю хмару, після чого автор вручну підібрав у Desmos 3D рівняння, що відображають сферу в новому просторі TUV на дані — методом проб і помилок, без регресії. Обернені співвідношення дають перерахунок назад у RGB.

Що означають три осі

Отриманий пікер має три незалежні значення. Вісь T рухається між темними та світлими тонами, U — між почервонілим і вохристим, V — між холодним і теплим. Автора здивувало те, що ці значення виникли з самого аналізу: напрямки не обиралися наперед, і він дізнався, чим керує кожен контрол, лише після створення пікера — це добре показує, як PCA обертає дані, максимізуючи значущість кожної осі. На його думку, простір на вигляд нагадує HSL чи HSV, але осі не збігаються з яскравістю, тоном і насиченістю.

Обмеження та подальша робота

Автор наголошує, що результат — корисна відправна точка, а не авторитетне джерело. Шкіра ніколи не буває одним кольором: її змінюють кровообіг, концентрація меланіну, розсіювання світла, ластовиння, вітиліго, гіперпігментація та рубці, а такі стани, як аргірія чи підвищений білірубін, виводять людей далеко за межі «правдоподібного» діапазону. Кольори також виглядають по-різному на різних екранах і за різного освітлення, а розмітку робила одна суб'єктивна людина, не дослідницька команда. Серед запланованих покращень — залучити більше людей, бажано експертів, до розмітки, змоделювати стани шкіри як модифікації базових тонів і замінити рівняння, підібрані на око, символічною регресією на кращих даних. Код опубліковано на GitHub, а відгуки автор просить надсилати через сторінку issues репозиторію.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.