GAN (generative adversarial network) - генеративно-состязательная сеть. По сути - это способ получить универсальный и очень мощный алгоритм сэмплирования(генератор), моделируя некоторое распределение вероятностей. Пользуясь имеющимся датасетом человеческих лиц, обучил GAN генерировать новые лица. Программа написана на языке c++ с использованием библиотеки машинного обучения mxnet.

Адрес репозитория на github: https://github.com/DeliriumV01D/beGAN

Реализован распределенный алгоритм имитации отжига. Имитация отжига - универсальный и общий алгоритм предназначенный для поиска минимума функции. Так как сам алгоритм плохо параллелится и является случайным и стохастическим, то улучшения результата можно добиться выполнив его много раз и выбрав наилучшее найденное решение. С использованием этого факта и реализована его распределенная версия в приложении к задаче коммивояжера. Язык с++, библиотека параллельных вычислений MPI.

Гитхаб репозиторий: https://github.com/DeliriumV01D/DistributedSimulatedAnnealing

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

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

 

 

Работа основана на исследованиях проводимых в 2007 - 2016 гг в НИИ Прикладной Физики Иркутского Государственного Университета.

По мере сил о-о-чень неторопливо причесываю материал и использую эту тему для отработки интересующих меня техник. Например: использование глубинного обучения для физических вычислений.

Github проекта: https://github.com/DeliriumV01D/AREUHEN

Разработка ведется на языке c++ с использованием библиотек Root и TorchLib(PyTorch c++ API)

 

 

 

 

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

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

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

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

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

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