Task #6748
openТон кожи и подглазья в динамике
0%
Description
Наблюдаемые по патчам кожи, которые ядро уже берёт для пульса: покраснение log R - log G, синева log B - log G, бледность по яркости, разница щека-лоб и лево-право, затемнение и синева подглазья к щеке. Нормировка на фоновый патч (тот же автобаланс камеры) и хроматичность; дрейф от базовой линии первых двух минут сессии. Тесты: индекс держится на девяти освещённостях одного портрета и следует за подкраской области лица.
Updated by Redmine Admin about 1 month ago
- Status changed from New to In Progress
Готово, коммит d72d8cb.
Ядро (crates/core/src/sensing/complexion.rs): краснота ln R − ln G, синева ln B − ln G, яркость Rec.601, relative() делит пробу кожи на пробу комнаты. ToneBaseline: медиана первых 120 с сессии, дальше отклонение.
Нативный слой (crates/native/src/domain/complexion.rs): щёки и подглазничная область (точки 118 и 347), полуширина участка 0.12 расстояния между уголками глаз. Участок комнаты выбирается по сетке 8×6 — самый яркий свободный от лиц с отступом 15% ширины лица и яркостью канала от 40; переизбирается при перекрытии или потере света.
Измерено на poses/sign-alphabet.mp4, poses/head-shake.mp4, clip-talking.mp4 с фильтрами камеры (усиление 0.8/1.2, баланс ±10%): сырой разброс красноты 0.20, после деления на комнату 0.006–0.033, темнота под глазами в пределах 0.05.
Журнал метрик: поле skin с краснотой, темнотой под глазами и обоими отклонениями.
Тесты: 7 в ядре (sensing_complexion), 7 в домене (domain_complexion), 1 на клипах (app_complexion). Все 15 проверок tools/check.sh проходят.