Как алгоритмы считывают эмоции по лицу
Компьютерное зрение опирается на классификацию движений лицевых мышц. Ещё в 1978 году психологи Пол Экман и Уоллес Фризен разработали систему кодирования лицевых движений FACS (Facial Action Coding System). Они разбили мимику человека на отдельные двигательные единицы, которые называются Action Units. Каждое микроскопическое движение лица получило свой цифровой код.
Современная веб-камера фиксирует изображение, а сверточная нейросеть мгновенно находит на кадре ключевые точки лица. Обычно алгоритм строит сетку из 68 или 468 опорных координат: контуры глаз, изгибы бровей, границы носа и уголки губ. Когда человек испытывает грусть, на лице активируются конкретные двигательные единицы. В системе FACS это обычно комбинация AU 1 (поднятие внутренних уголков бровей), AU 4 (сведение бровей к центру) и AU 15 (опускание уголков рта вниз).
Компьютер вычисляет евклидово расстояние между этими ключевыми точками во времени. Если координаты уголков губ сместились относительно нейтрального положения вниз на несколько пикселей, а внутренние углы бровей поднялись вверх в форме характерного домика, алгоритм регистрирует паттерн. Математическая модель выдаёт вероятность того, что текущее состояние лица совпадает с классом грусти в базе данных.
Анализ текста и тональности речи
Если ты не пользуешься камерой, программа ориентируется на текст твоих сообщений или поисковых запросов. За эту задачу отвечает область искусственного интеллекта под названием обработка естественного языка (Natural Language Processing, или NLP).
В простейшем варианте алгоритмы используют тональные словари вроде SentiWordNet, где каждому слову заранее присвоена эмоциональная окраска от минус единицы до плюс единицы. Слово «одиночество» получает отрицательный вес, а «радость» — положительный. Программа суммирует значения всех слов в предложении и делает вывод об общей окраске фразы.
Современные языковые модели на архитектуре Transformer, такие как BERT, действуют тоньше. Они анализируют контекст и семантические связи через плотные векторные представления, известные как эмбеддинги. Слова переводятся в массивы чисел в многомерном пространстве. Нейросеть вычисляет косинусное сходство между вектором твоего высказывания и векторами фраз, выражающих подавленность или усталость. Модель учитывает знаки препинания, многоточия, употребление местоимений от первого лица и общий синтаксический строй.
Распознавание грусти по голосу и движениям
Акустический анализ речи опирается на спектрограммы звука. Когда человек расстроен, меняется тонус голосовых связок, замедляется дыхание и снижается давление под голосовой щелью. Программа раскладывает аудиосигнал на составляющие через быстрое преобразование Фурье.
- Падение фундаментальной частоты основного тона речи F0, из-за чего голос звучит монотонно и глухо.
- Снижение общей энергии сигнала и падение уровня громкости на концах предложений.
- Увеличение длительности пауз между отдельными словами и замедление общего темпа речи.
- Изменение мел-частотных кепстральных коэффициентов (MFCC), описывающих форму речевого тракта.
Существует ещё один незаметный канал получения данных — поведенческая биометрия. Сенсоры смартфона и клавиатура компьютера передают огромный массив сведений о физической активности. Анализируется так называемая динамика нажатия клавиш (Keystroke Dynamics). Печальный или уставший пользователь дольше удерживает клавиши нажатыми (параметр Dwell Time) и делает более длинные паузы между ударами по кнопкам (Flight Time). На смартфонах алгоритмы фиксируют уменьшение силы нажатия на сенсорный экран и снижение скорости скроллинга ленты.
Мультимодальные системы объединения данных
Наиболее точный результат дают мультимодальные модели, которые анализируют все каналы информации одновременно. Данный подход называют аффективными вычислениями (Affective Computing). Направление зародилось в Массачусетском технологическом институте благодаря работам профессора Розалинд Пикард в конце 1990-х годов.
Мультимодальная система собирает вектор координат лица с камеры, спектрограмму голоса с микрофона и текстовые эмбеддинги. Все эти разнородные числовые потоки подаются на вход классификатора высокой точности. Если визуальные маркеры дают вероятность грусти 0.75, звуковые — 0.80, а текст окрашен нейтрально, система с высокой долей уверенности делает вывод об угнетённом состоянии человека.
Частые вопросы
Зачем программам и сервисам распознавать грусть пользователя?
В службах поддержки алгоритмы выявляют расстроенных клиентов, чтобы перевести диалог на старшего оператора. Умные колонки подстраивают интонацию и музыку под настроение владельца, а образовательные платформы снижают сложность заданий, если ученик теряет мотивацию.
Можно ли обмануть систему распознавания эмоций по лицу?
Да, базовые модели легко обмануть наигранной улыбкой или специальным освещением. Продвинутые системы отслеживают микромимику длительностью в доли секунды и вегетативные реакции, например незаметное изменение цвета кожи из-за пульса (метод фотоплетизмографии), поэтому их обмануть значительно сложнее.
Одинаково ли проявляется грусть у людей разных культур?
Эксперименты показывают существенные различия. В западных культурах эмоции чаще выражаются внешней мимикой рта и бровей, тогда как представители азиатских культур передают эмоциональные оттенки преимущественно движением глаз. Разработчики вынуждены обучать нейросети на разнообразных датасетах с учётом национальных и возрастных групп.