В статье решается задача разработки и использования программы для извлечения числовых данных из видеопотока и определения состояния сонливости человека по динамике выражения лица. Для ее разработки используется технология компьютерного зрения, в частности библиотека MediaPipe, предоставляющая алгоритмы для распознавания лиц и рук на изображениях. Библиотека также включает модуль Face Mesh для выделения до 468 ключевых точек лица на изображении. Это позволяет автоматизировать и упростить анализ мимики и выражения лица человека для определения состояния сонливости. Разработанная на языке Python 3.8 программа позволяет извлекать из видеопотока такие количественные данные, как среднее значение EAR (Eye Aspect Ratio), среднее значение MAR (Mouth Aspect Ratio), количество морганий, наличие зеваний, длительность одного моргания, частота морганий, а также среднее количество кадров, в течение которых фиксируется одно моргание. Представлен алгоритм обработки кадров из видеопотока, а также результаты его работы. Для определения корректности извлекаемых данных и возможности на их основе определять состояние сонливости человека по динамике выражения лица произведено обучение нейросетевой модели. Для обучения модели выбран набор исходных данных SUST Driver Drowsiness Dataset из общедоступного источника Kaggle. Набор содержит около 2200 видеофайлов, в которых запечатлены водители в состоянии бодрствования и сонливости. В рамках первичного исследования из набора данных экспертным путем отобрано 200 видеофайлов, из которых 100 соответствовали состоянию сонливости человека, а 100 - бодрствованию. С использованием разработанной программы из каждого видеофайла были извлечены числовые данные и сохранены в единый CSV-файл. Для построения нейросетевой модели полученные данные были разделены на обучающую выборку (80%) и тестовую (20%). Итоговая точность нейросетевой классификации составила 80.49%. Следовательно, числовые данные, извлекаемые из видеопотока с помощью разработанной программы, являются информативными и позволяют строить адекватные модели для определения состояния сонливости человека. Использование параметров EAR, MAR, количество морганий, наличие зеваний, длительность одного моргания, частота морганий, а также среднее количество кадров для одного моргания обеспечивает надежное определение сонливости человека по динамике выражения лица. Таким образом, программа представляет собой эффективный инструмент для получения данных, обучения интеллектуальных моделей и разработки систем автоматизированного мониторинга состояния сонливости человека.
ВИДЕОПОТОК, СОСТОЯНИЕ СОНЛИВОСТИ ЧЕЛОВЕКА, ДИНАМИКА ВЫРАЖЕНИЯ ЛИЦА, MEDIAPIPE, MAR, EAR, ПРОГРАММА ИЗВЛЕЧЕНИЯ ПРИЗНАКОВ, НЕЙРОННАЯ СЕТЬ