Архив автора: sv

CMake projects in Visual Studio — Quick start

Tags: CMake  CMakeLists.txt  Visual Studio Введение  Компиляция и запуск CMake проекта «Hello world» в командной строке Windows Запуск CMake проекта из Visual Studio Компиляция и запуск CMake проекта в Visual Studio Полезные ссылки Введение Проект CMake стартовал в 1999 году, когда компании-разработчику Kitware было поручено разработать набор новых инструментов для настройки, сборки, тестирования и развертывания проектов… Читать далее »

От регрессии к нейронным сетям (From regression to neural networks)

Tags: Регрессия модель нейрона функция активации архитектура сети алгоритм обучения оптимизация функции потерь Введение  Модель нейрона Функции активации Архитектуры НС Обучение НС Проблемы с оптимизацией функции потерь Полезные ссылки Введение Известна функциональная зависимость между температурой по Цельсию (C )и Фаренгейту (F ): F = 1.8* C + 32. Определить параметры этой зависимости и, затем, предсказать результат можно по данным на входе и… Читать далее »

Основы калибровки (Calibration Basics)

Tags: Калибровка регрессия градуировка аппроксимация экстраполяция outliers MSE оптимизация Введение  Синонимы калибровки Выбор аппроксимирующей функции Подготовка данных Определение параметров функции Метрики качества регрессии Калибровка и проверка Задача калибровки в общем виде Оптимизация модели От регрессии к нейронным сетям Рекомендации Полезные ссылки Введение Калибровка — это процедура установления зависимости между входом (эталонные данные) и выходом (измеренные данные). Калибровка — это процедура… Читать далее »

Гомография в примерах (Homography in examples)

Tags: Homography examples rectification матрица Введение  Матрица гомографии Вычисление матрицы гомографии и генерация обновленного изображения по заданным точкам Автоматическая коррекция искажений с использованием угловых детекторов и гомографии Полезные ссылки Введение Гомография — перспективное преобразование плоскости. Применение: Выравнивание изображений (rectification) Построение панорам (panorama stitching) Определение положения камеры по точкам объекта и их проекциям (camera pose estimation) Двухкамерное сопоставление.… Читать далее »

Аппроксимация линии по точкам контура через преобразования Хафа (Line approximation by contour points through Hough transforms)

Tags: Преобразования Хафа Line approximation Введение Аппроксимация прямой Обобщение преобразований Хафа Аппроксимация эллипса Полезные ссылки Введение При автоматизированном анализе цифровых изображений очень часто возникает проблема идентификации простых линий, таких как прямые, круги или эллипсы. Во многих случаях используется алгоритм поиска контуров в качестве предобработки для получения точек, находящихся на кривой в изображении. Контуры в Python — это… Читать далее »

Преобразование координат при калибровке роботов (Coordinate transformation when calibrating robots)

Tags: Калибровка робот манипулятор TCP Введение Преобразования ЛСК относительно осей ГСК Вращение ЛСК относительно собственных осей Тестирование алгоритмов вращения относительно осей ГСК и ЛСК Задача совмещения 2-х ЛСК Тестирование алгоритма совмещения 2-х ЛСК Полезные ссылки Введение Цель калибровки — обеспечение точного перемещения элементов робота к заданному положению. Обычно программа робота управляет последовательностью позиций, в которые должен прийти манипулятор робота и… Читать далее »

Start на GitHub

Tags: GitHub СКВ VCS Git Bash репозиторий Введение Создание аккаунта GitHub Cоздание репозитория Полезные ссылки   Введение Системы контроля версий (СКВ, VCS, Version Control Systems) позволяют разработчикам сохранять все изменения, внесённые в код. Поэтому они могут просто откатить код до рабочего состояния вместо того, чтобы тратить часы на поиски ошибок, ломающих весь код. Существует три типа СКВ: локальная, централизованная… Читать далее »

Раздел: Web

Машинное обучение в примерах (Machine learning by example)

Введение Прежде, чем переходить к машинному обучению, рекомендуется ознакомиться с основами построения нейронных сетей на Python (numpy) в Visual Studio.  Рекомендуется использовать один из 2-х примеров структурированных программ работы нейронной сети на основе библиотеки  numpy как шаблон для создания собственных приложений. Модель персептрона в настоящий момент представляет больше историческую ценность, чем практическую. Но именно на его примере удается… Читать далее »

Оценка глубины по 360-градусному изображению (Depth estimation from a 360-degree image)

Tags: Data Fusion Depth estimation проекция панорама Equirectangular Projection Кубическая проекция Введение Проекции панорамных изображений  Параллакс. Нодальная точка Карты глубины в дополнение к двумерному изображению BiFuse: оценка глубины для монокуляра на 360° с помощью Bi-Projection Fusion (перевод статьи) Аннотация 1. Введение 2. Ссылки на похожие работы (Related Work) 3. Наш подход 3.1. Введение 3.2 Предлагаемая процедура сферического наполнения (Proposed Spherical Padding… Читать далее »

Алгоритмы регистрации облаков точек (Point cloud registration algorithms)

Tags: Point cloud registration RANSAC ICP MaskNet  TEASER++ Введение Алгоритм RANSAC для регистрации облаков точек Алгоритм итерации ближайшей точки (ICP) Выделение плоскостей в облаке точек Регистрация облаков точек через преобразование  в 2D-изображения Нейронная сеть MaskNet для маскировки  точек-выбросов 3D-регистрация облаков точек по алгоритму TEASER++ Классификация алгоритмов регистрации облаков точек Полезные ссылки Введение Регистрация облаков точек – процесс совмещения нескольких облаков… Читать далее »

Регистрация облаков точек с оценкой соответствия. Основы (Compliance-Assessed Point Cloud Registration. The basics)

Tags: Регистрация облаков точек SVD Евклидово расстояние Введение Евклидово расстояние Определение минимального расстояния между парами из множества точек Регистрация облаков точек. Постановка задачи Оценка соответствия особых точек Регистрация 3D облаков точек, используя SVD Полезные ссылки Введение Регистрация облаков точек – процесс совмещения нескольких облаков точек одного объекта в единую систему координат. Цель регистрации — найти преобразование, которое оптимально позиционирует… Читать далее »

Cемантическая сегментация, панорама и фотограмметрия (Semantic segmentation, panorama and photogrammetry)

Tags: 3D семантическая сегментация панорама AtlantaNet HorizonNet сканер Введение 2D и 3D сегментация Примеры семантической 3D сегментации сцены Панорамное фото Фотограмметрия 3D сканеры Полезные ссылки Введение В компьютерном зрении, сегментация — это процесс разделения цифрового изображения на несколько сегментов (множество пикселей). Семантическая сегментация изображений — это разделение изображения на отдельные группы пикселей, области, соответствующие одному объекту с одновременным определением… Читать далее »

Калибровка камеры (Camera Calibration)

Tags: Калибровка камера матрица внешние внутренние параметры вращение перенос OpenCV искажения объектива шахматная доска Python Введение Матрица внешних параметров камеры Матрица внутренних параметров камеры Коэффициенты радиальных и тангенциальных искажений объектива Особенности калибровки камеры с помощью шахматной доски Подготовка изображений для калибровки Выполнение калибровки Точность калибровки Сохранение результатов калибровки Полезные ссылки Введение Калибровка — это процедура установления зависимости между входом… Читать далее »

Преобразование mesh-модели в модель B-rep (Conversion mesh-model в B-rep model)

Tags: Преобразование mesh-модель B-rep STL Fusion САПР Введение Существует два основных типа форматов геометрических данных: сеточные (STL, OBJ) и граничные (B-Rep, от англ. Boundary Representation). Сеточные представляют собой не что иное, как набор треугольников (или полигонов в общем случае). В САПР они используются для 3D-печати . Форматы B-Rep содержат в себе куда больше данных. Они состоят из точек,… Читать далее »

Фотограмметрия (Photogrammetry)

Tags: Photogrammetry 3DF Zephyr 3D реконструкция Введение Пример реконструкции 3D-объекта Алгоритм 3D реконструкции по набору изображений Описание технологии работы программных продуктов по трехмерной фотограмметрии Полезные ссылки Введение Фотограмметрия — реконструкция поверхности 3D объекта с помощью фотографий (по одному или нескольким изображениям). В статье 3D-реконструкция по двум изображениям была представлена простая математическая модель восстановления облака точек. Пример реконструкции 3D-объекта Ниже рассмотрен пример… Читать далее »

От облака точек к поверхности (From point cloud to surface)

Tags: PyVista point cloud фотограмметрия PLY PCD mesh Введение Классификация алгоритмов перехода от облака точек к поверхности Этапы перехода от облака точек к поверхности Пакеты для 3D-визуализации сетей. Модуль PyVista Примеры, демонстрирующие возможности PyVista Форматы файлов облака точек Визуализация данных из PLY и PCD файлов Полезные ссылки Введение Облако точек (англ. point cloud) — набор вершин в трёхмерной… Читать далее »

Пример организации экзамена в ZOOM (ZOOM exam organization example)

Введение Выбор билета и формирование заданий Порядок проведения работы Введение Экзамен подготовлен для курса 2D/3D преобразования, составленного из следующих тем: 2D графика на основе WinApi C++ 3D графика на основе WinApi C++ 3D графика на основе OpenGL WinApi C++ Имитация полета крылатой ракеты на OpenGL WinApi C++ Определение ориентации 3D объекта по изображению 3D-реконструкция по… Читать далее »

Основы программирования Arduino (Arduino programming basics)

Tags:  Основы Arduino UNO Начало работы с Ардуино на Windows Основы работы с Arduino. Оглавление Полезные ссылки Начало работы с Ардуино на Windows Покупаю через интернет Стартовый набор с платой UNO R3 для начинающих (350грн) Недостаток этого набора — отсутствие проводов с разъемами «мама-папа» и «мама-мама». Есть только провода с разъемами «папа-папа». Потому, рекомендую еще заказать недостающие… Читать далее »

Кратко об Arduino и Raspberry Pi (Briefly about Arduino and Raspberry Pi)

Tags:  Микроконтроллер Arduino UNO Микрокомпьютер Raspberry Pi Введение Сравнение Arduino и Raspberry Pi Основные элементы Arduino UNO Основные элементы Raspberry Pi 4 Model B Полезные ссылки Введение Изначально компьютер создавался как чисто аппаратное устройство (без программирования) для решения конкретных задач. Прыжком в развитии компьютера послужила идея программного способа реализации задач (см. От машинного кода до API систем). Достоинство этого… Читать далее »

Подключение Raspberry Pi камеры и инсталляция OpenCV (Connecting a Raspberry Pi camera and OpenCV installing )

Tags:  Микрокомпьютер Raspberry Pi камера инсталляция OpenCV программирование Python Подключение камеры к Raspberry Pi Примеры подключения камеры через Python Инсталляция  OpenCV Запуск OpenCV программ на Python Полезные ссылки Подключение камеры к Raspberry Pi Приобретаю недорогую камеру для Raspberry Pi OV5647 через интернет.  Подключаю камеру к ранее установленному микрокомпьютеру Raspberry Pi B4Gb. Для испытания использую встроенные утилиты raspistill и raspivid, которые вводятся в командной… Читать далее »

Основы программирования на Raspberry Pi (Raspberry Pi programming basics)

Tags:  Инсталляция Raspbian микрокомпьютер Raspberry Pi  Hello world  Python C++ Введение Комплектация Raspberry Pi Инсталляция ОС Raspbian «Hello world!» на Python «Hello world!» на Си Пример проекта: мигание светодиодов Полезные ссылки Введение Raspberry Pi может делать одну вещь гораздо более эффективнее, чем любой домашний компьютер — он может управлять внешними устройствами. Устройства могут быть абсолютно любыми, от обычной лампочки, до… Читать далее »

Face recognition. Python, DLIB

Tags:  Верификация лица dlib  Работа Face recognition-девелопером                      Введение Верификация лица с dlib Полезные ссылки Введение В статье Распознавание лиц на основе OpenCV для C++  рассматривается подход к распознаванию на основе признаков, в качестве которых используются расстояния между характерными точками лица. Альтернативный метод распознавания лиц. Изображение… Читать далее »

Распознавание лиц с IP камер. Выбор, хранение и обработка данных для принятия решения (Face recognition from IP cameras. Selection, storage and processing of data for decision making)

Tags:  IP камера RTSP R-FCNN распознавание лиц видео-поток landmarks Python DLIB Введение Подключение IP камеры и доступ к видео-потоку Решение проблемы торможения видео-потока от IP камеры Цикличное переключение видеопотоков от разных камер Детекция лиц с landmarks точками Формализация задачи распознавания лица Выбор из видео-потока корректных изображений лиц Выбор признаков лица Принятие решения при распознавании лица Чтение и запись данных Полезные ссылки Введение… Читать далее »

Адекватность и оптимальность нейронной сети на примере распознавания поворота головы (Adequacy and optimality of the neural network for detecting head rotation)

Tags: нейронная сеть адекватность поворот головы Введение Постановка задачи Проверка нейронной сети на адекватность Выбор архитектуры сети Парадокс нейронной сети Наклон сигмоидальной функции Размер и соотношение разнотипных сигналов в обучающей выборке Линия размежевания разнотипных сигналов в обучающей выборке Обучение сети положительному (YES) и отрицательному (NO) жестам головой Анализ и выбор данных Общие выводы Программный код для… Читать далее »

Машинное обучение распознавать поворот лица (Machine learning to recognize face turn)

Tags: нейронная сеть распознавать поворот головы Введение Постановка задачи Оценка возможностей распознавать поворот лица через машинное обучение Программный код (вариант 1) Программный код (вариант 2) Адекватность и оптимальность нейронной сети для распознавания поворота головы Полезные ссылки Введение Как не зная алгоритм, а просто имея данные и ответ, получить из них алгоритм?  Альтернатива традиционному алгоритмическому подходу – нейронная… Читать далее »

Introduction to AI and references

Tags: Introduction AI DL ML нейронная сеть   Artificial Intelligance (AI) — это широкое понятие, которое включает в себя все: от обычной алгоритмической классификации, по введенным непосредственно в код условий с признаками, до технологий, таких как Deep Learning (DL). Простыми словами — все, что выполняется на основе алгоритма, можно назвать искусственным интеллектом. Примеры: Алгоритмы распознавания геометрических фигур Программа… Читать далее »

Tensorflow, Python, Visual Studio. Quick start

Tags:  Tensorflow Python Visual Studio Quick start Линейная регрессия Введение Создание проекта и установка пакетов Предсказание результата по выборке для обучения Линейная регрессия Полезные ссылки Введение TensorFlow – популярнейший инструмент для машинного обучения нейросетей. В качестве упрощенного варианта понимания машинного обучения вы можете представить себе алгоритмы машинного обучения как функции, которые подбирают значения внутренних переменных таким… Читать далее »

AI based on Unity ML Agents. Quick start

Tags:  Инсталляция Unity ML Agents NPC-агент Tensorboard Введение Инсталляция плагина ML Agents Создание среды для обучения NPC-агента Запуск процесса обучения Вывод результатов обучения через  Tensorboard Полезные ссылки Введение ML Agents — это плагин, который обеспечивает обучение NPC-агентов в Unity. NPC (от англ. Non-Player Character) — персонаж в играх, который не находится под контролем игрока. Любую задачу можно решить алгоритмически… Читать далее »

Модификация простой игры на Unity (Modification of a simple game on Unity)

Tags:  Unity простая игра модификация Введение Исходная игра Сюжет модификации игры Полезные ссылки Введение Решение любой задачи определяется целью и возможностями реализации. В первом приближении возможности Unity для создания игр  были рассмотрены в статьях: Основы Unity3D Игра “Snake” на Unity3D Unity3D симулятор «Умная змейка со стереозрением» Ознакомившись с ними, попробуйте создать собственную простую игру. Благо,… Читать далее »

WEB на Python с Django в Visual Studio

Tags:  Hello Django Web Project Visual Studio Python Введение Базовый проект на основе шаблона «Blank Django Web Project» Создание своего приложения в базовом проекте Использование шаблонов страниц Обслуживание статических файлов Добавление страницы в приложение Использование элемента в нескольких шаблонах Полезные ссылки Введение Python в Visual Studio поддерживает разработку веб-проектов в frameworks: Bottle, Django и Flask. Ниже… Читать далее »

Раздел: Web

WEB на Python с Flask в Visual Studio

Tags:  Hello Flask Web Project Visual Studio Python Введение Flask веб-сайт  с нуля Веб-сайт на основе Flask шаблона Полезные ссылки Введение Python в Visual Studio поддерживает разработку веб-проектов в frameworks Bottle, Django и Flask. Ниже рассмотрен процесс создания веб-сайта на основе Flask framework Перед началом разработки приложения убедитесь, что  для Visual Studio установлена поддержка «Разработка на Python». Она устанавливается через Visual Studio… Читать далее »

Раздел: Web

Обнаружение лица и выделение характерных точек (Face Detection in Python)

Tags:  OpenCV Face Detection keypoints landmarks Python MTCNN DLIB Введение Обнаружение лица через OpenCV Обнаружение лица в реальном времени (с помощью веб-камеры) Обнаружение лица через MTCNN Извлечение изображений лиц из фото Выделение 5 характерных точек лица через MTCNN Обнаружение лица и выделение 5 характерных точек  в реальном времени через MTCNN Обнаружение лица и выделение 68 характерных точек через DLIB Полезные… Читать далее »