<?xml version="1.0"?>
<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">Herald of Technological University</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">Herald of Technological University</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>ВЕСТНИК ТЕХНОЛОГИЧЕСКОГО УНИВЕРСИТЕТА</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="print">3034-4689</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">102971</article-id>
   <article-id pub-id-type="doi">10.55421/3034-4689_2025_28_5_105</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>3. Информатика, вычислительная техника и управление</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject>3. Information teory, computer technology and control</subject>
    </subj-group>
    <subj-group>
     <subject>3. Информатика, вычислительная техника и управление</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">PROGRAM FOR EXTRACTING NUMERICAL DATA FROM A VIDEO STREAM TO DETERMINE THE STATE OF HUMAN DROPPINESS BY THE DYNAMICS OF FACIAL EXPRESSION</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>ПРОГРАММА ИЗВЛЕЧЕНИЯ ЧИСЛОВЫХ ДАННЫХ ИЗ ВИДЕОПОТОКА ДЛЯ ОПРЕДЕЛЕНИЯ СОСТОЯНИЯ СОНЛИВОСТИ ЧЕЛОВЕКА ПО ДИНАМИКЕ ВЫРАЖЕНИЯ ЛИЦА</trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Курбанов</surname>
       <given-names>Б. </given-names>
      </name>
      <name xml:lang="en">
       <surname>Kurbanov</surname>
       <given-names>B. </given-names>
      </name>
     </name-alternatives>
     <xref ref-type="aff" rid="aff-1"/>
    </contrib>
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Катасёв</surname>
       <given-names>А С</given-names>
      </name>
      <name xml:lang="en">
       <surname>Катасёв</surname>
       <given-names>А С</given-names>
      </name>
     </name-alternatives>
     <email>kat_726@mail.ru</email>
     <xref ref-type="aff" rid="aff-2"/>
    </contrib>
   </contrib-group>
   <aff-alternatives id="aff-1">
    <aff>
     <institution xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева</institution>
    </aff>
    <aff>
     <institution xml:lang="en">Kazan National Research Technical University named after A.N. Tupolev</institution>
    </aff>
   </aff-alternatives>
   <aff-alternatives id="aff-2">
    <aff>
     <institution xml:lang="ru">КНИТУ-КАИ</institution>
     <country>ru</country>
    </aff>
    <aff>
     <institution xml:lang="en">КНИТУ-КАИ</institution>
     <country>ru</country>
    </aff>
   </aff-alternatives>
   <pub-date publication-format="print" date-type="pub" iso-8601-date="2025-08-07T21:34:53+03:00">
    <day>07</day>
    <month>08</month>
    <year>2025</year>
   </pub-date>
   <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2025-08-07T21:34:53+03:00">
    <day>07</day>
    <month>08</month>
    <year>2025</year>
   </pub-date>
   <volume>28</volume>
   <issue>5</issue>
   <fpage>105</fpage>
   <lpage>109</lpage>
   <history>
    <date date-type="received" iso-8601-date="2025-08-04T00:00:00+03:00">
     <day>04</day>
     <month>08</month>
     <year>2025</year>
    </date>
   </history>
   <self-uri xlink:href="https://www.elibrary.ru/item.asp?id=82356347">https://www.elibrary.ru/item.asp?id=82356347</self-uri>
   <abstract xml:lang="ru">
    <p>В статье решается задача разработки и использования программы для извлечения числовых данных из видеопотока и определения состояния сонливости человека по динамике выражения лица. Для ее разработки используется технология компьютерного зрения, в частности библиотека 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, количество морганий, наличие зеваний, длительность одного моргания, частота морганий, а также среднее количество кадров для одного моргания обеспечивает надежное определение сонливости человека по динамике выражения лица. Таким образом, программа представляет собой эффективный инструмент для получения данных, обучения интеллектуальных моделей и разработки систем автоматизированного мониторинга состояния сонливости человека.</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>The article solves the problem of developing and using a program for extracting numerical data from a video stream and determining a person’s sleepiness based on the dynamics of their facial expressions. Computer vision technology is used for its development, in particular the MediaPipe library, which provides algorithms for recognizing faces and hands in images. The library also includes a Face Mesh module for extracting up to 468 key facial points in an image. This allows automating and simplifying the analysis of facial expressions and facial expressions to determine a person’s sleepiness. The program, developed in Python 3.8, allows extracting such quantitative data from a video stream as the average EAR (Eye Aspect Ratio) value, the average MAR (Mouth Aspect Ratio) value, the number of blinks, the presence of yawns, the duration of one blink, the frequency of blinks, and the average number of frames during which one blink is recorded. An algorithm for processing frames from a video stream and the results of its operation are presented. To determine the correctness of the extracted data and the possibility of using them to determine a person’s drowsiness state based on the dynamics of facial expressions, a neural network model was trained. The SUST Driver Drowsiness Dataset from the publicly available Kaggle source was selected for training the model. The dataset contains about 2,200 video files that capture drivers in a state of wakefulness and drowsiness. As part of the primary study, 200 video files were selected from the dataset by experts, 100 of which corresponded to a person’s drowsiness state, and 100 to wakefulness. Using the developed program, numerical data were extracted from each video file and saved in a single CSV file. To build a neural network model, the obtained data were divided into a training set (80%) and a test set (20%). The final accuracy of the neural network classification was 80.49%. Therefore, the numerical data extracted from the video stream using the developed program are informative and allow building adequate models for determining the state of human drowsiness. Using the parameters EAR, MAR, the number of blinks, the presence of yawns, the duration of one blink, the frequency of blinks, and the average number of frames for one blink ensures reliable determination of human drowsiness based on the dynamics of facial expression. Thus, the program is an effective tool for obtaining data, training intelligent models and developing automated monitoring systems for human drowsiness.</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>ВИДЕОПОТОК</kwd>
    <kwd>СОСТОЯНИЕ СОНЛИВОСТИ ЧЕЛОВЕКА</kwd>
    <kwd>ДИНАМИКА ВЫРАЖЕНИЯ ЛИЦА</kwd>
    <kwd>MEDIAPIPE</kwd>
    <kwd>MAR</kwd>
    <kwd>EAR</kwd>
    <kwd>ПРОГРАММА ИЗВЛЕЧЕНИЯ ПРИЗНАКОВ</kwd>
    <kwd>НЕЙРОННАЯ СЕТЬ</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>VIDEO STREAM</kwd>
    <kwd>HUMAN SLEEPINESS STATE</kwd>
    <kwd>FACIAL EXPRESSION DYNAMICS</kwd>
    <kwd>MEDIAPIPE</kwd>
    <kwd>MAR</kwd>
    <kwd>EAR</kwd>
    <kwd>FEATURE EXTRACTION PROGRAM</kwd>
    <kwd>NEURAL NETWORK</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p></p>
 </body>
 <back>
  <ref-list/>
 </back>
</article>
