(EN)
Сервис 3D-реконструкции.Содержание
1 . Краткое описание проекта
2 . Описание требований
3 . Описание зависимостей
4 . Описание модулей проекта
5 . Инструкция по развёртыванию
6 . Конфигурирование
7 . Использование
1. Краткое описание проекта
Данный проект представляет из себя сервис по посторению 3D модели объекта по нескольким видам. Входные данные сервис получает посредством Kafka-сообщений, в которых хранятся изображения объекта с разных сторон.
2. Описание требований
3. Описание зависимостей
Данный проект использует следующие зависимости:
-
OpenCV 4.5.1 с использованием дополнительных модулей
Подробное описание зависимостей и функционала, для которого данные зависимости используются, можно прочитать здесь.
4. Описание модулей проекта
5. Инструкция по развёртыванию
5.1 Локальное развёртывание
5.1.1 Локальное развёртывание на ОС Windows
Локальное развёртывание на ОС Windows в данный момент не поддерживается.
5.1.2 Локальное развёртывание на ОС Linux
5.2 Развёртывание с использованием Docker
5.2.1 Развёртывание с использованием Docker на ОС Windows
В данный момент Nvidia docker не поддерживается на ОС Windows, из-за чего развёртывание с ис использованием Docker на ОС Windows в данный момент не возможно.
5.2.2 Развёртывание с использованием Docker на ОС Linux
Для развёртывания проекта через Docker необходимо установить пакет nvidia-docker2
.
Для этого необходимо выполнить следующие команды:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list \
&& sudo apt install nvidia-docker2 \
&& sudo systemctl restart docker
Так же для работы сервиса требуется Nvidia драйвер версии 455.28 и выше.
Установку драйвера можно выполнить несколькими путями.
- Зайти на этот сайт.
- Выбрать свою видеокарту.
- Скачать драйвер.
- Выполнить установку.
Так же драйвер можно установить используя apt репозиторий. Для этого необходимо выполнить следующие команды:
sudo apt-add-repository ppa:graphics-drivers/ppa \
sudo apt update \
sudo apt install nvidia-driver-455
Чтобы убедиться в корректности работы драйвера для видеокарты, можно использовать команду:
nvidia-smi
При корректной работе драйвера будет выведена информация о видеокартах в системе. Пример:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01 Driver Version: 460.73.01 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 3080 On | 00000000:01:00.0 On | N/A |
| 0% 28C P8 17W / 340W | 91MiB / 10010MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1193 G /usr/lib/xorg/Xorg 57MiB |
| 0 N/A N/A 1429 G /usr/bin/gnome-shell 31MiB |
+-----------------------------------------------------------------------------+
- Клонировать данный репозиторий командой:
git clone https://github.com/klyavolta/3D-reconstruction.git
-
Войти в директорию клонированного репозитория, затем по относительному пути ./docker/app
-
Создать директорию 3D-reconstruction и поместить в неё директории src, test, python, web, а так же файл CMakeLists.txt.
-
Пройти по относительному пути ./docker из директории клонированного репозитория.
-
Запустить сборку Docker контейнера, используя команду:
sudo docker-compose build reconstruction_service
6. Конфигурирование
Для конфигурирования сервиса используются конфигурационные файлы в формате JSON.