Создание системы обнаружения сонливости водителей с использованием Raspberry Pi
Создание системы обнаружения сонливости водителей с использованием Raspberry Pi
Сегодня мы собираемся создать интеллектуальную систему обнаружения сонливости водителя, используя Raspberry Pi, который будет отслеживать движение глаз водителя. Если он обнаруживает, что водитель может заснуть или находится в сонном состоянии, то срабатывает оповещение в виде звука, чтобы вернуть этого человека в сознание.
При перевозке грузов и тяжелых материалов на большие расстояния (особенно в ночное время) на грузовых автомобилях последствия недостаточного сна становятся серьезной проблемой для водителей транспортных средств, ведущих непрерывное вождение, что приводит к несчастным случаям со смертельным исходом.
Согласно исследованию Фонда безопасности дорожного движения AAA, проведенному в 2014 году, было установлено, что 37 процентов водителей засыпали во время вождения. Из 21 процента аварий со смертельным исходом 13 процентов стали причиной тяжелых травм – и все это по вине сонливого водителя, которому приходится непрерывно вести машину в течение длительного времени и при этом следить за дорогой.
Мы также разработали схему для устройства анти-спящего будильника, которое вы можете проверить.
Как работает система определения сонливости водителя?
Модуль камеры, подключенный к модулю RPi, непрерывно записывает видео с места водителя. Затем скрипт Python распознает лицо водителя, и при обнаружении глаза человека фиксируются и передаются в другой модуль с именем eyegame, который затем обрабатывает захваченный видеокадр и обнаруживает движение глаз. Если глаз водителя остается в том же положении, не двигаясь и не моргая, сработает звуковой сигнал, предлагающий водителю не спать и продолжать движение.
Спецификация
Необходимые компоненты
Нам также понадобится SD-карта для настройки Raspbian OS.
Система обнаружения сонливости водителя – код
Прежде всего нам нужно настроить библиотеку и модули в нашем RPi. Для этого откройте терминал Linux и установите необходимые модули, используя следующий синтаксис и команды.
sudo pip3 install install opencv
sudo pip3 установить распознавание лиц
sudo pip3 install espeak
sudo pip3 установить Eyegame
sudo pip3 install delib
sudo pip3 установить numpy
После успешной установки модулей создайте код Python. Я назвал его eyetrack.py. Импортируем в код все необходимые модули.
Далее укажите имя файла и путь. Это необходимо, поскольку мы хотим захватить и вырезать определенный кадр из видео и сохранить его по этому пути, который будет передан в eyegame для обнаружения движения глаз.
Далее мы зададим лицо и имя водителя грузовика и создадим функцию while, которая будет выполняться в цикле до тех пор, пока утверждение не станет истинным.
Теперь мы будем захватывать видео с камеры с помощью OpenCV и покадрово обрезать видео. Затем он будет передан в модуль распознавания лиц для обнаружения лица.
Если распознанное лицо совпадает с лицом водителя, то его изображение будет сохранено по ранее созданному нами пути. Затем мы вызовем модуль eyegame для анализа движения глаз и глазных яблок.
Успешно обнаружив лицо водителя и движение глазного яблока, устройство затем неоднократно анализирует положение глазного яблока. Если движение глаз не обнаружено, устройство подождет 30 секунд.
Даже после этого if движения глаз не обнаружено, тогда будет включен звук, предупреждающий и разбудящий водителя. Когда водитель просыпается и обнаруживается движение глаз, процесс оповещения автоматически прекращается.
После написания всего кода подключите модуль камеры к Raspberry Pi, который затем подключается к динамику через аудиоразъем. Теперь запустите скрипт и подождите несколько секунд. На экране появится окно, в котором будет отображаться прямая видеозапись с камеры. Когда вы находитесь перед камерой, ваше лицо, движение глаз и их положение будут определяться терминалом Python. Если он обнаружит отсутствие движения глаз, он начнет считать. Через 30 секунд прозвучит голосовое оповещение: «Вы спите, начните водить машину».
Вот как можно создать собственную систему определения сонливости водителя.
Если у вас возникнут какие-либо проблемы while при работе над этим проектом, задайте их в комментариях ниже.
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба