Видео и микропроцессорные системы (Молодяков С.А., Круглов С.А., Сараджишвили С.Э.)

Руководители: профессор, д.т.н. Молодяков Сергей Александрович   molod@ics2.ecd.spbstu.ru ;  доцент, к.т.н. Круглов Сергей Константинович kruglovsk@gmail.com; Сараджишвили Сергей Эрикович SSaradg@yandex.ru

Основные направления научных исследований:

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

Научное направление «Методы распределенной обработки сигналов и проектирование видео и микропроцессорных систем», а затем и научная группа сформировались в конце 80-х годов 20 века. Основой послужили совместные с кафедрой радиофизики работы, проводимые в рамках научно-образовательного центра «Оптоэлектронные проблемы информатики». За прошедшее время выполнено несколько крупных проектов и исследований.

Некоторые результаты исследований и разработок:

  1. Широкополосный анализатор спектра для исследования газового состава атмосферы. В системе обработки изображений использовался линейный фотоприемник на приборе с зарядовой связью (ПЗС).
  2. Оптоэлектронная система для обработки сигналов (формирования диаграммы направленности) для Сибирского солнечного радиотелескопа (ССРТ) г. Иркутск, ур. Бадары. Применен матричный ПЗС-фотоприемник в специальном режиме синхронного накопления.
  3. Макет гибридной микросхемы (микросборки) вектор-матричного оптоэлектронного процессора. Особенность микросборки заключается в использовании сэндвич-структуры с линейкой светодиодов, волоконной шайбой и матричным ПЗС-фотоприемником, работающим в режиме временной задержки и накопления.
  4. Система сбора и обработки данных для Института Прикладной Астрономии РАН. Система построена с применением цифрового сигнального процессора, программируемой логики и волоконнооптических линий связи.
  5. Оптоэлектронная система для наблюдений радиоизлучения пульсаров. Система включает акустооптический Фурье-процессор, линейный CCD-фотоприемник, цифровой сигнальный процессор и ЭВМ. Она обеспечивает регистрацию радиоизлучения пульсаров с компенсацией их дисперсионных искажений в реальном времени в широкой полосе приема, синхронное сложение сигналов с периодом повторения импульсов пульсаров, а также регулярную с периодом 10 минут калибровку системы.

Основные публикации:

За 5 лет опубликовано более 30 печатных работ, в их числе две монографии:

  1. Молодяков С.А. Проектирование специализированных цифровых видеокамер. / СПб. : Изд-во Политехн. ун-та, 2016 .— 286 с. — ISBN 978-5-7422-5334-1
  2. Молодяков С.А. Фотоприемники в системах потоковой обработки сигналов и изображений. / С. А. Молодяков; Санкт-Петербургский государственный политехнический университет .— СПб. : Изд-во Политехн. ун-та, 2014 .— 134 с.
  3. Молодяков С.А. Системное проектирование оптоэлектронных процессоров обработки сигналов. СПб.: Изд-во Политехн. ун-та, 2011.- 226 с., ISBN 978-5-7422-3016-8
  4. Сараджишвили С. Э., Хромов В. В. Цифровая обработка и передача многомерных сигналов : учебное пособие для вузов по направлению подготовки магистров «Системный анализ и управление» /; Санкт-Петербургский государственный политехнический университет .— Санкт-Петербург : Изд-во Политехн. ун-та, 2013 .— 187 с. ISBN 978-5-7422-4003-7.

и статьи:

  1. Молодяков С.А. Специализированная видеокамера режима временной задержки и накопления для обработки сигналов. // Вопросы радиоэлектроники. Серия: Техника телевидения.- 2017.- № 1.- С. 31-38.
  2. Лавров А.П. Молодяков С.А. Оптоэлектронный процессор для регистрации радиоизлучения пульсаров. // Приборы и техника эксперимента.- 2015.- №1.- С.136–145. DOI: 10.7868/S0032816214060081
  3. И. Г. Бронштейн, Ф. М. Иночкин, С. К. Круглов, Т. А. Компан, С. В. Кондратьев, А. С. Коренев, Н. Ф. Пухов. Оптико-электронная измерительная система высокотемпературного дилатометра // Измерительная техника. 2015. № 12. С. 38
  4. Молодяков С.А. Применение ПЗС-фотоприемников для предварительной обработки сигналов //Датчики и системы. 2014.- № 5 (180).- С. 2-10.
  5. Молодяков С.А. Методика использования в цифровых камерах пульсарных процессоров кадровых ПЗС-фотоприемников в режиме временной задержки и накопления // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2013.- № 5.- С.163-182 DOI: http://dx.doi.org/10.7463/0513.0577481
  6. Rozanov S.B., Kruglov S.K., Saenko I.I., et all TRANSPORTABLE MILLIMETER-WAVE SPECTROMETER FOR MONITORING OF THE ATMOSPHERIC OZONE // Proceedings — 2013 International Kharkov Symposium on Physics and Engineering of Microwaves, Millimeter and Submillimeter Waves, MSMW 2013. С. 483-485
  7. МолодяковС.А. Особенности и алгоритмы цифровой обработки сигналов в оптоэлектронных процессорах // Цифровая обработка сигналов. 2013. №3. С. 61-66.
  8. Лавров А.П., Молодяков С.А. Метод калибровки частотной шкалы пульсарного оптоэлектронного процессора и его реализация с применением ЦСП // Цифровая обработка сигналов. 2013. №3. С. 67-73.
  9. Сараджишвили С.Э., Кононов Н.А. МЕТОДИКА ВЫДЕЛЕНИЯ ЦВЕТОВЫХ СЛОЕВ НА ОТСКАНИРОВАННЫХ ИЗОБРАЖЕНИЯХ ТОПОГРАФИЧЕСКИХ КАРТ Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Информатика. Телекоммуникации. Управление. 2009. Т. 6. № 91. С. 35-40.

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

 

Список задач для НИР студентов, представленный НИИАС в 2018 году по четырем темам

Тема 1. Обработка стерео изображений.

  1. Реализация алгоритма визуальной одометрии. Цель: описать траекторию движения локомотива.

Входные данные:

  • Синхронизированные кадры стереопары.
  • Матрицы внутренних и внешних параметров камеры.

Выходные данные:

  • Данные о смещении локомотива в пространстве между кадрами.

            Ссылка на статьи и результаты тестирования алгоритмов на датасете Kitti: http://www.cvlibs.net/datasets/kitti/eval_odometry.php

  1. Определение поворота камер относительно рельсовой колеи. Цель: вычислить угол поворота камеры по трём осям относительно рельсовой колеи

Входные данные:

  • Синхронизированные кадры стереопары.
  • Матрицы внутренних и внешних параметров камеры.

Выходные данные:

  • Значения углов поворота по осям OX, OY, OZ
  1. Фильтрация карты диспаратности, полученной с помощью версии алгоритма на графическом ускорителе. Цель: оптимально с точки зрения качества и производительности отфильтровать карту диспаратности, полученную с помощью алгоритма BlockMatching’a.  (Важно! Необходимо использовать реализацию алгоритма на графическом ускорителе (CUDA) из библиотеки OpenCV версии не ниже 3.3.0.)

Входные данные:

  • Синхронизированные кадры стереопары.
  • Матрицы внутренних и внешних параметров камеры.

Выходные данные:

  • Карта диспаратности, отфильтрованная от случайных выбросов, с уменьшенным количеством “пропущенных” зон.
  1. Автоматическая калибровка камер. Цель: получить наиболее приближенные относительные параметры стереокамеры, заведомо игнорируя априорную информацию(за исключением матрицы внутренних параметров и матрицы дисторсии).

Входные данные:

  • Синхронизированные кадры стереопары.
  • Матрицы внутренних и параметров камеры.

Выходные данные:

  • Матрицы относительного поворота и смещения правой камеры от левой.
  1. Стабилизация видео. Цель: реализовать алгоритм стабилизации видео по камерам, минимально исказив трехмерную геометрию сцены.

Входные данные:

  • Синхронизированные кадры стереопары.
  • Матрицы внутренних и внешних параметров камеры.

Выходные данные:

  • Стабилизированные кадры стереопары.
  • Полученная карта диспаратности.

Для реализации всех задач можно использовать библиотеку OpenCV, однако, версии не ниже 3.3.0. Применение других библиотек (распространяемых на условиях лицензий, не запрещающих эксплуатацию кода в коммерческих продуктах) не возбраняется.  Сайт открытой библиотеки по компьютерному зрению (с подробной докумментацией и обучающей литературой): www.opencv.org  Рекомендуемые языки программирования: C++, Python. Категорически не рекомендуемые языки программирования: Matlab.

Полезные курсы по компьютерному зрению:

  1. Достаточно популярный и бесплатный курс на Udacity: https://www.udacity.com/course/introduction-to-computer-vision--ud810
  2. Открытые лекции Университета Штата Пенсильвании: http://www.cse.psu.edu/~rtc12/CSE486/

Рекомендуемая литература для решения данных задач:Multiple View Geometry in Computer Vision | Richard Hartley

Тема 2. Задачи по нейронным сетям и классическим подходам детекции.

  1. Реализация модели нейронной сети для детекциии определения показаний светофоров
    • На входе изображение с камеры локомотива, установленной на крыше, на выходе координаты светофоров и их показания
      • Создание датасета светофоров и литер.
      • Выбор и реализация архитектуры нейронной сети для достижения наилучших результатов.
      • Использование фреймворков Keras, Tensorflow, PyTorch на выбор.
      • Визуализация результатов.
  2. Реализация алгоритмов классического компьютерного зрения для детекции светофоров и литер на основе “скользящего окна”, HOG+ML алгоритмов и других подходов
    • На входе изображение с камеры локомотива, установленной на крыше, на выходе координаты светофоров и их показаний
      • Изучение материалов курсов по компьютерному зрению
      • Выбор технологии для детекции объектов
      • Реализация на ЯП Python+openCV
      • Визуализация результатов
  3. Реализация алгоритмов классического компьютерного зрения для детекции людей на основе “скользящего окна”, HOG+ML алгоритмов и других подходов
    • На входе изображение с камеры локомотива, установленной на крыше, на выходе координаты объектов людей.
      • Изучение материалов курсов по компьютерному зрению
      • Выбор технологии для детекции объектов
      • Реализация на ЯП Python+openCV
      • Визуализация результатов
  4. Реализация модели нейронной сети для подсчета количества пассажиров в вагоне ласточки.
    • На входе изображение с камеры, установленной внутри вагона электропоезда ласточка, на выходе количество пассажиров в вагоне и координаты bounding box’ов людей
      • Использование датасетов различных открытых источников
      • Выбор и реализация архитектуры нейронной сети для достижения наилучших результатов.
      • Использование фреймворков Keras, Tensorflow, PyTorch на выбор.
      • Визуализация результатов.
  5. Реализация модели нейронной сети для детекции драк в вагоне, определения типов движения людей.
    • На входе видеозаписи чрезвычайных ситуаций, произошедших в ходе эксплуатации поездов ласточки, на выходе описание этих ситуаций.
      • Использование датасетов различных открытых источников
      • Выбор и реализация архитектуры нейронной сети для достижения наилучших результатов.
      • Использование фреймворков Keras, Tensorflow, PyTorch на выбор.
      • Визуализация результатов.
  6. Разработка модели нейронной сети для фьюзинга данных с лидара и камер с целью поиска и классификации объектов.
    • На входе записи данных с камер и лидаров, на выходе объединенные результаты с bounding box’ами объектов и их классами.
      • Использование датасетов различных открытых источников и подготовка своих
      • Выбор и реализация архитектуры нейронной сети для достижения наилучших результатов.

Тема 3. Задачи по встраиваемому ПО

Задачи для студентов от отдела разработки встраиваемых систем

  1. Передача видеопотока с использованием gstreamer и dds фреймворка в реальном времени с управляющей обратной связью.
    1. На стороне отправителя:
      1. Захват потока данных от камеры (web камера ноутбука) с помощью gstreamer
      2. Передача захваченного потока в соответствии со стандартом dds. Использование real-time режима передачи.
      3. Получение настроек потока данных от получателя и их применение. Частота кадров. Разрешение. Максимальный битрейт.
    2. На стороне получателя:
      • Получение потока данных от отправителя и вывод на дисплей
      • Установка параметров передачи и отправка их отправителю
    3. Оценка временных задержек передачи видеопотока при использовании технологии передачи LAN, WiFi,LTE

 

Описание фреймворков, стандарты, открытые источники кода и примеры реализации: Gstreamer: https://gstreamer.freedesktop.org DDS: https://www.omgwiki.org/dds/ 

Open source: https://github.com/objectcomputing/OpenDDS, https://github.com/ADLINK-IST/opensplice

Пример реализации базовых функций: https://www.s2e-systems.com/our-projects/videooverdds/, https://gstconf.ubicast.tv/videos/video-over-the-data-distribution-service-dds-using-gstreamer

Требования к разработке: Операционная система Linux Язык программирования c++ Использование аппаратных ускорителей для кодирования/декодирования видео

  1. Запуск контейнеров с разделением ресурсов аппаратного ускорителя CUDA (вычислительных ядер и графической оперативной памяти)
    1. Создание тестовых приложений использующих ресурсы графического ускорителя
    2. Запуск на Intel платформе с графическим ускорителем Nvidia
    3. Определение накладных расходов при контейнеризации
    4. Определение особенностей оркестровки контейнеров при разделении ресурсов графического ускорителя

Описание фреймворков, стандарты, открытые источники кода и примеры реализации: nvidia-docker: https://github.com/NVIDIA/nvidia-docker/wiki Docker CE: https://docs.docker.com/

Требования к разработке: Операционная система Linux Язык программирования c++, bash? python

 

Тема 4. Задачи обработки и комплексирования данных.

  1. Обработка облака точек с лидара IBEO Scala или IBEO LUX. Реализация алгоритма кластеризации (Adaptive Break Point detection) и другие. Сравнение алгоритмов кластеризации по производительности. Выделение простейших примитивов из кластеров (прямоугольник, эллипс, прямая). Нахождение прямоугольника наименьшей площади, описывающего все точки в кластере. (список литературы/статей при заинтересованности предоставлю).
  2. Обработка данных с радара ARS-408 (Continental) или MRR (BOSCH). Фильтрация данных радара для выделения подвижных объектов.
  3. Знакомство с Фреймворком ROS (Robot Operational System). Построение архитектуры системы технического зрения на основе готовых драйверов для лидаров IBEO, радара Continental ARS-408.
  4. Определение местоположения локомотива на основе навигационных данных и модели движения с применением фильтра Калмана.

Усложнения: - добавление к входным данным одометра;

- использование карты пути.

  1. Анализ существующих форматов карт для беспилотного транспорта, железнодорожного транспорта. NDS – navigation data standard

(https://en.wikipedia.org/wiki/Navigation_Data_Standard)

  1. Разработка формата карты для беспилотного железнодорожного транспорта.На основе данных лидаров и радаров и информации о местоположении локомотива определение свободности пути с применением grid подхода (разбиение пространства на решетку, определение наилучшего размера ячейки). Формирование grid карты свободности/занятости пути перед беспилотным транспортом
  2. Реализация алгоритма SLAM (непрерывной локализации и обновления карт) для железнодорожного подвижного состава.

Входные данные:

– координаты столбов (карта столбов)
- зашумленное местоположение локомотива от навигатора
- данные измерений лидара (набор кластеров)

Выходные данные:

- уточненное местоположение локомотива

Темы научно-исследовательских работ для студентов:

  1. Разработка алгоритмов и программного обеспечения для системы управления сцепкой вагонов.
  2. Исследование параллельно-конвейерных алгоритмов обработки видеоизображений.
  3. Экспериментальное исследование возможностей обработки видео в системе на кристалле.
  4. Исследование возможностей реализации алгоритмов обработки видеоданных библиотеки OpenCV в системе на кристалле.
  5. Система сбора данных для акустооптического анализатора спектра.
  6. Разработка алгоритмов и программ обработки изображений.

Иллюстрации к работам, которые были связанны с радиоастрономией

Радиотелескоп РТ-64 (г.Калязин) Пущинской радиоастрономической обсерватории Астрокосмического центра Физического института   им.П.Н.Лебедева РАН. Радиотелескоп РТ-64  с диаметром антенны 64 м является одним из крупнейших отечественных полноповоротных радиотелескопов. Приемный комплекс  радиотелескопа позволяет вести одновременный прием радиосигналов на четырех частотах.

РТ-64-2

SSRT

Сибирский солнечный радиотелескоп (ССРТ) института солнечно-земной физики СО РАН предназначен для исследования солнечной активности. ССРТ представляет собой многоэлементный корреляционный интерферометр типа креста Миллса. Он состоит из 256 антенн диаметром 2,5 м, расположенных по линии Север-Юг (С-Ю) и Восток — Запад (В-З) при расстоянии между антеннами 4,9 м. Синхронное сопровождение Солнца всеми антеннами обеспечивает общая система управления.

РТ22

Радиотелескоп РТ-22 (п.Симеиз, Крым)  Крымской астрономической обсерватории Радиотелескоп представляет собой двухзеркальную антенную систему с высокоточной поверхностью главного зеркала диаметром 22 метра, позволяющую принимать излучение в диапазоне от дециметровых до миллиметровых длин волн.

Ратан600​​​​​​​

Радиотелескоп РАТАН-600 Специальной астрофизической обсерватории РАН является крупнейшим в мире радиотелескопом с рефлекторным зеркалом диаметром около 600 метров. Основными преимуществами телескопа является высокая чувствительность по яркостной температуре и многочастотность. Радиотелескоп расположен в Карачаево-Черкесии, недалеко от станицы Зеленчукская, на высоте 970 метров над уровнем моря

РОТ

Зеркальный радиооптический телескоп диаметром 54 м (ROT-54/2.6) (институт радиофизических измерений Арм.АН сейчас ЗАО «Национальный институт метрологии» Армении). Расположен в горах Армении.

PSR2

Профиль одиночного импульса пульсара 0329+54 и профиль, усредненный по 200 импульсам

PSR-Okno

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