Разработка ПО на языке программирования С++
День 1. Общие понятия работы с изображениями
- Работа с видео (работа с видео и камерой)
- Выделение линейная фильтрация, выделения линий - преобразование хаффа, lsd, пороговые преобразования, вычитание фона + детектор движения
Варианты задач:
-
- Очки Бэтмэна
- Выделение коробки хлопьев
- Дверь
День 2. Сравнение объектов + Carla
- Гистограммы
- Алгоритмы выделения особых точек SURF, ORB
- Оптический поток
Варианты задач:
-
- Трэкинг чего-то из предыдущего пункта
- По-новому находить что-то из предыдущего пункта
День 3. 3D преобразования и landmark
- homography
- pose estimation
- pnp
- calibration
Варианты задач:
-
- Задача на AR
- Оценку 3D положения
- Наложение видео на дверь
День 4. Нейронные сети
- Общие понятия
- Пример обучения классификатора
- Детектирование
- Построение сложных моделей
Варианты задач:
Научить нейронную сеть находить что-то из предыдущего пункта
День 5. ROS
- простой датчик в ros
- Carla как модуль ROS (получить данные камеры)
Варианты задач:
-
- Сделать датчик предыдущего детектора для работы с Carla (через ros)
- Датчик подсчета машин
Варианты работ для получения зачета:
- Разработать склад в carla. Карту склада
- Сделать модель камеры 360 в Carla
Разработка ПО на языке программирования Python
День 1. Python и фреймворк для веб-приложений Django
Python
- Введение
- Основные особенности
- ООП и паттерны проектирования
- Инструменты разработки
Django
- Назначение и возможности
- Обработка запросов
- Работа с шаблонами
- Интерфейс администратора
День 2. Базы данных
СУБД
- Реляционные базы данных
- Проектирование базы данных
- Язык запросов SQL
- Индексы
- Транзакции
- NoSQL
Django-ORM
- Подключение и создание базы данных
- Миграции
- Работа с данными
День 3. Работа с API
Введение
- Что такое API?
- XML, JSON
- Типы API
Удаленный вызов процедур (RPC)
Простой протокол доступа к объектам (SOAP)
- WSDL
Передача состояния представления (REST)
День 4. Асинхронное программирование в Python
Введение
- Потоки и процессы
- Global Interpreter Lock (GIL)
Tornado
Asyncio
Celary
День 5. Обеспечение качества
Обеспечение качества (Quality Assurance)
- Методология
- Проектная документация, требования
- Техники тест-дизайна
- Документирование процесса тестирования
- Инструменты
DevOps
- Инфраструктура разработки
- Непрерывная поставка ПО (Continuous Integration & Continuous Delivery)
- Непрерывный сбор метрик (мониторинг и логирование)
- Виртуализация
- Контейнеризация