Skip to content
This repository has been archived by the owner on Sep 18, 2023. It is now read-only.

Хакатон "Определи своё место на Физтехе"

License

Notifications You must be signed in to change notification settings

alexmelekhin/iprofihack2023_place_recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Хакатон "Определи своё место на Физтехе"

Данный репозиторий содержит базовое решение и вспомогательные скрипты для задачи "Распознай своё место на Физтехе" хакатона образовательного форума по искусственному интеллекту, математике и физике 2023.

Презентация задачи доступна по ссылке.

Датасеты

ITLP-Campus

Датасет записан на робототехнической платформе Husky на территории кампуса МФТИ и состоит из 5 треков, записанных в разное время суток (день/сумерки/ночь) и разные времена года (зима/весна).

Для обучения предлагается использовать зимние треки (день/сумерки/ночь), а весенние (день/ночь) будут выданы для финального тестирования.

Данные разделены по трекам, длина одного трека порядка 3 км, каждый трек включает в себя порядка $600$ фреймов. Расстояние между соседними фреймами ~5 м. Каждый фрейм включает в себя:

  • LiDAR -ный скан
  • RGB изобрадения для 2х камер (front/back)
  • Семантические маски для изображений каждой камеры
  • Текстовое описание для изображений каждой камеры
  • 6 DoF позу робота

Подробнее про формат данных и структуру датасета см. itlp_campus_dataset.md.

Данные можно найти/использовать на следующих ресурсах:

sha256: f59cf87bb0ea380431c9dc889cc49d32dd1e985b8c4700b7155629cca34d5da6 public.zip

Видео-демонстрации треков датасета (публичная часть):

Oxford RobotCar

Данные можно найти/использовать на следующих ресурсах:

sha256: 25c45eed9ce77a3a4ab9828754fb1945c358c34d67cc241d47ea0c61d236a620 pnvlad_oxford_robotcar.zip

NCLT

Данные можно найти/использовать на следующих ресурсах:

sha256: 6ca5dc27d4928b1cbe6c1959b87a539f1dd9bc1764220c53b6d5e406e8cef310 NCLT_preprocessed_small.zip

Базовое решение

Установка

Базовое решение использует библиотеку Open Place Recognition, в которой на текущий момент реализована модель MinkLoc++ и классы для работы с датасетами Oxford RobotCar, NCLT и ITLP-Campus.

Предлагаемые варианты установки зависимостей для работы с кодом:

  • Воспользоваться предложенным ноутбуком, в котором продемонстрирован процесс установки зависимостей в Google Colab;
  • Воспользоваться docker-образом и инструкциями из репозитория библиотеки Open Place Recognition.
  • Установить зависимости в свое окружение вручную, воспользовавшись рекомендациями ниже.

Ручная установка

Код базового решения разрабатывался и тестировался на Ubuntu 20.04 с CUDA 11.6, PyTorch 1.13.1 и MinkowskiEngine 0.5.4

  1. Установите PyTorch ~= 1.13.1, воспользовавшись официальными инструкциями

  2. Установите MinkowskiEngine (https://github.com/NVIDIA/MinkowskiEngine):

    # необходимые библиотеки
    sudo apt install build-essential python3-dev libopenblas-dev
    pip install ninja
    
    # Библиотека MinkowskiEngine должна собираться из исходников с github:
    pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps \
                           --install-option="--force_cuda" \
                           --install-option="--blas=openblas"

    Если последняя команда возвращает ошибку, то у вас новая версия pip, где --install-option необходимо заменить на --global-option:

    pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps \
                           --global-option="--force_cuda" \
                           --global-option="--blas=openblas"
  3. Склонируйте и установите Open Place Recognition:

    git clone https://github.com/alexmelekhin/OpenPlaceRecognition
    cd OpenPlaceRecognition
    pip install -e .  # флаг -e необходим для возможности редактировать код уже установленной библиотеки

После этого вам станет доступен импорт кода из библиотеки opr:

from opr.models import minkloc_multimodal

baseline_model = minkloc_multimodal(weights="path_to_checkpoint")

Запуск

Демонстрация работы с базовым кодом приведена в ноутбуке baseline_demo.ipynb.

Презентация с семинара-демонстрации доступна по ссылке.

About

Хакатон "Определи своё место на Физтехе"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published