En
Проекты Вакансии Блог
22 июля 2022

Как использовать нейросеть для контроля допуска на территорию

Предположим, у вас есть задача – настроить систему автоматического допуска транспортных средств на территорию. Принцип работы следующий: как только автомобиль подъезжает к шлагбауму, считывается его госномер и, если он есть в базе данных, шлагбаум открывается.

Поскольку мы делали этот проект для себя, готовые системы покупать не стали. Во-первых, так мы смогли протестировать технологии для последующего применения в работе в коммерческих проектах. Например, нейронную сеть YOLOv5 использовали для обозначения области захвата, автомобиля и номера, определения его выезда или въезда, а Pytesseract – для перевода изображения в текст и последующей работы с ним. Во-вторых, это позволило нам автоматизировать процесс допуска автомобилей на парковку компании, а также избежать расходов на обслуживание системы.

Рассказываем, как можно решить задачу по контролю доступа с помощью нейросетей.

Этап 1 – детекция объекта внутри области захвата

На первом этапе необходимо детектировать приезжающий и уезжающий автомобиль: по фотографии с камеры система должна определить местоположение объекта. Для решения задачи использовали нейронную сеть, например, YOLOv5. Причем важно различать, транспортное средство приезжает или уезжает. Камера следит за его движением и в случае, если автомобиль уезжает, передается сигнал на открытие шлагбаума. В противном случае переходим ко второму этапу.

Этап 2 – определение госномера транспортного средства

На этом шаге мы локализируем госномер подъезжающего автомобиля. Вот здесь можно почитать, как мы создавали модель распознавания в Catalyst. Но это немного другая история. Вернемся к нейросетям.

Фотографии собираем непосредственно с камеры. Дальше идет обучение той же нейронной сети YOLOv5 на основе полученных данных и для каждого транспортного средства детектируется bounding box (прямоугольник, ограничивающий номер).

Но автомобиль может быть расположен под углом к камере, а граница номера – параллелограммом. Это не очень удобно для дальнейшего распознавания текста. С помощью инструментов OpenCV можно выделить границы параллелограмма и провести аффинное преобразование, которое переводит его в прямоугольник.

После того как номер обнаружен, переходим к третьему этапу.

Этап 3 – работа с распознанным номером, обеспечение допуска автомобиля на территории

Далее переводим картинку в текст. Для этого можно использовать Pytesseract – нейронную сеть, которая решает задачу оптического распознавания символов. Она принимает на вход картинку, а на выходе выдает изображенный на ней текст в виде строки. В нашем случае мы разбиваем госномер на 4 части – первая буква, три цифры, следующие две буквы и регион. Это необходимо для более точного распознавания. Во-первых, относительные размеры букв и цифр номера отличаются от обычного текста. Во-вторых, так мы можем указать сети, какой тип символа нужно распознавать – буквы или цифры.

Если номер есть в базе, шлагбаум открывается и автомобиль заезжает на территорию.

Вот так, в 3 этапа, можно настроить автоматический доступ транспортных средств на территорию.

Весь процесс работы компьютерного зрения – от получения фотографии с камеры до распознавания номера – занимает порядка 1 секунды без использования графических ускорителей.

Какие задачи решают с помощью нейросетей

Этот метод можно также использовать для решения широкого круга задач, в частности:

  • детекции объектов: например, контролировать соблюдение сотрудниками техники безопасности; 
  • измерения объектов, их присутствия в определенной области, например, для подсчета посетителей; 
  • оцифровки документов, перевода картинки в текст, создания электронного каталога; 
  • анализа данных по фотографиям товара и пр; 
  • обработки речи, применению голосовых команд и даже распознаванию настроения человека по отправленному тексту и т.п.

Здесь можете посмотреть, как мы используем Data Science для решения задач клиентов.

Другие статьи

Компьютерное зрение в сельском хозяйстве: кейсы, рекомендации
21 ноября 2024
Компьютерное зрение в медицине: как бизнесу применять технологию. Кейсы
19 ноября 2024
SimbirSoft поделится актуальными кейсами в области HR-практики
15 ноября 2024
Понравилась статья?
Подпишитесь на рассылку SimbirSoft! Пришлём письма о лайфхаках в разработке, поделимся опытом управления командами и компанией, а также расскажем о новых ивентах SimbirSoft.
Написать нам
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
Прикрепить резюме, до 10 Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Написать нам
Расскажите, какие задачи сейчас на вашем проекте.
Проконсультируем и предложим подходящих специалистов, а также сориентируем по ставкам на аутстаф.
Направление
Количество специалистов
Middle
TeamLead
Senior
TechLead
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Экспресс-консультация
Заполните все поля формы.
Эксперт свяжется с вами в течение рабочего дня.
Тематика
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Порекомендуйте друга — получите вознаграждение!
  • Angular-разработчик
  • Node.js-разработчик
  • Middle Vue.js / Frontend-разработчик
  • Системный аналитик
  • iOS-разработчик
  • QA Engineer Fullstack (Python)
  • Android-разработчик
  • Инженер по нагрузочному тестированию
  • DevOps-инженер
  • 1С-аналитик
  • Юрист
  • UI/UX дизайнер
  • 1С-разработчик
  • Менеджер по сопровождению бизнес-процессов
  • Data Scientist (NLP)
  • SDET (Python)
  • Аналитик DWH
  • Менеджер проектов 1С
  • SDET (Java)
  • DBA
  • Специалист по кадровому делопроизводству
  • QA с опытом в автоматизиции Java
  • Менеджер продуктовых продаж
  • Коммуникационный/графический дизайнер
  • Ассистент руководителя
  • MLOps инженер
  • Архитектор ML и AI проектов
  • Бухгалтер по расчету заработной платы
  • SDET разработчик C#
  • Руководитель отдела 1С
  • Pre-sale инженер
  • SDET (Swift)
  • Разработчик С++ (Embedded)
  • Руководитель отдела направления DevOps
  • PLC разработчик
  • Дата-аналитик
Прикрепить резюме, до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Будь в курсе новостей SimbirSoft