Модуль разработан на языке с++ с использованием библиотеки компьютерного зрения opencv и библиотеки анализа данных dlib. 

Детектирование осуществляется каскадным детектором, который, в числе прочих, использует метод опорных векторов с гистограммами ориентированных градиентов. Ректификация номера и сегментация символов осуществляются сверточными нейронными сетями. Распознавание символов реализовано методом опорных векторов. Существенное увеличение точности алгоритмов возможно за счет увеличения обучающей выборки.

Checkpoint (кодовое название "начальник шлагбаума") разрабатываемый мной программный комплекс объединяющий в себе функционал видеонаблюдения с функциями видеоаналитики. Что планируется сделать в первую очередь: 

  • Серверная программа, обеспечивающая одновременную работу с несколькими источниками видео потока и несколькими клиентскими программами
  • Обеспечение возможности даже неподготовленному человеку запустить и настроить сервер видеонаблюдения в том числе на обычном персональном компьютере под управлением ОС Windows, Linux
  • Возможность подключения ip/web камер
  • Клиентские программы для Windows и Android
  • Простая организация хранения архива видео, удобный поиск в архиве
  • Настройка зон и времени срабатывания детекторов и фильтров
  • Распознавание автомобильных номерных знаков
  • Распознавание лиц
  • Детектирование движения
  • Подсчет объектов, построение карты активности (тепловые карты)
  • Возможность настройки действий при наступлении события: 
    • SMS с заданным текстом на номер
    • Сетевой пакет заданной структуры на адрес
    • Посылка данных в серийный порт
    • Запись видео при наступлении события
  • Автоматическое обновление
  • Накопление аналитики по событиям и построение отчетов
  • Удаленная работа с программой, в том числе со смартфона

Видео тестирования алгоритмов распознавания лиц и автомобильных номеров

Модуль распознавания лиц

Модуль распознавания автомобильных номерных знаков

Журнал разработки Checkpoint

Приветствуются любые виды сотрудничества! В одиночку мне трудно будет вытянуть этот проект.

 

Модуль распознавания лиц разработан с использованием сверточных нейронных сетей, библиотеки компьютерного зрения opencv и библиотеки анализа данных dlib на языке c++. Качество распознавание существенно зависит от освещения и ориентации лица относительно камеры и источников освещения, разрешения изображения. Для фронтальных изображений лиц размером 100 на 100 пикселей при фронтальном освещении точность распознавания может достигать 95%. 

Детектирование осуществляется композицией детекторов на комбинации гистограммы ориентированных градиентов и метода опорных векторов. Экстракция фич производится посредством сверточной нейронной сети. Конечная классификация осуществляется линейным классификатором. Существенную часть текущих ограничений алгоритма планируется снять, обучив нейросетевой single shot detector(SSD). Большую точность можно достичь при увеличении количества обучающих примеров.