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

Технологии машинного обучения на простом примере

Введение Шпаргалка к описанию программы Программный код Полезные ссылки Введение Машинное обучение — это алгоритм обучения, реализующий постепенное улучшение исполнения поставленной задачи. Важно знать типы и технологии машинного обучения, чтобы создать правильную среду обучения. Обучение с учителем (Supervised). Данные в виде примеров с метками подаются компьютерной программе, которая при выполнении учится приближаться к точному предсказанию отношений между примерами… Читать далее »

Введение в Unsupervised learning

Введение  Обзор методов кластеризации Пример секционной кластеризации (K-Means и K-Nearest Neighbors) Пример иерархической кластеризации (агломеративная и разделительная) Пример кластеризации на основе плотности (DBSCAN) Метод главных компонент Полезные ссылки Введение Неконтролируемое обучение (Unsupervised) — это класс методов машинного обучения (ML), используемых для поиска закономерностей в данных. Как правило, это пригодно только для задач, в которых известны… Читать далее »

Введение в Deep Q-Learning Network

Введение  Пример DQN программы Алгоритм обучения нейросети в методе DQN Полезные ссылки Введение Прежде, чем переходить к освоению Deep Q-learning Network (DQN) ознакомьтесь с методом Q-Learning. Разницу между методами Q-Learning и DQN можно проиллюстрировать следующим образом: Заменив таблицу значений Q table на нейронную сеть (Neural network, NN), мы получаем метод DQN. В DQN на вход нейросети подается текущее состояние (state, s), а на… Читать далее »

Введение в Q-Learning

Введение  Пример простой программы, демонстрирующей Q-Learning Вербальная модель Q-Learning Марковский процесс принятия решений Формальная модель Q-Learning Алгоритм обновления Q-value Выбор гиперпараметров Введение в Deep Q-Learning Полезные ссылки Введение Среди алгоритмов машинного обучения особое место занимают такие, где алгоритм учится решать поставленную задачу самостоятельно без участия человека, напрямую взаимодействуя со средой в которой он обучается. Такие алгоритмы… Читать далее »

Keras API models (Sequential, Functional, and Model Subclassing)

Введение Простейшие примеры Keras API models Исходник для тестирования Keras API models Functional API model с двумя ветвями Полезные ссылки Введение При использовании Sequential API мы создаем модель слой за слоем. Это очень просто и удобно. Но Functional API более мощный, чем Sequential API, в том смысле, что здесь разрешено ветвление или совместное использование слоев. А также у него… Читать далее »

Введение в Google Colab (Introduction to Google Colab)

Tags: Google Colab, Jupyter Notebook, iPython, ML, Cloud Введение  Jupyter-ноутбук Google Colab Полезные ссылки Введение Облачные вычисления определяются как хранение и доступ к данным и вычислительным услугам через интернет. Для создания корпоративных систем машинного обучения используют  одну из облачных платформ — Google Cloud Platform (GCP),  Amazon Web Services (AWS), Microsoft Azure,  Kubernetes, IBM Cloud и другие. Для обучения ML рекомендуется  использовать бесплатный облачный… Читать далее »

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 было поручено разработать набор новых инструментов для настройки, сборки, тестирования и развертывания проектов… Читать далее »

Аппроксимация линии по точкам контура через преобразования Хафа (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 via neural networks)

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

Оценка глубины по 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 сканеры Полезные ссылки Введение В компьютерном зрении, сегментация — это процесс разделения цифрового изображения на несколько сегментов (множество пикселей). Семантическая сегментация изображений — это разделение изображения на отдельные группы пикселей, области, соответствующие одному объекту с одновременным определением… Читать далее »

Преобразование 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 Введение Верификация лица с dlib Полезные ссылки Введение В статье Распознавание лиц на основе OpenCV для C++  рассматривается подход к распознаванию на основе признаков, в качестве которых используются расстояния между характерными точками лица. Альтернативный метод распознавания лиц. Изображение каждого лица обрабатывается уже обученной сверточной нейронной сетью (см. ссылку  или  ссылку), которая выдает на… Читать далее »