Open Source 6D Pose Estimation подборка ссылок
This commit is contained in:
parent
36881d5ae8
commit
62267174ac
1 changed files with 79 additions and 7 deletions
|
@ -44,19 +44,79 @@ $VSD$ рассчитывается только по видимой части
|
|||
[2] Hinterstoisser et al.: [Model based training, detection and pose estimation of texture-less 3d objects in heavily cluttered scenes](http://cmp.felk.cvut.cz/~hodanto2/data/hodan2016evaluation.pdf), ACCV 2012.
|
||||
|
||||
|
||||
## Метод оценки 6D позиций объектов Megapose
|
||||
## Методы оценки 6D позиций объектов
|
||||
|
||||
- Исходный код [MegaPose](https://github.com/megapose6d/megapose6d) на Github
|
||||
Преимущественно с открытым исходным кодом или подходящие под сценарии Робосборщика (априори известная CAD-модель объекта).
|
||||
|
||||
### [Gen6D](https://github.com/liuyuan-pal/Gen6D) '2022
|
||||
Алгоритм безмодельной оценки положения объекта с 6 степенями свободы на основе изображений RGB.
|
||||
Интересный алгоритм, для которого требуется относительно небольшая предварительная подготовка объекта для оценки положения. На отдельных кадрах из реальной видеосъёмки объекта помечается область объекта и указываются оси положения. Затем, с помощью открытого ПО для обработки облаков точек [CloudCompare](https://www.cloudcompare.org/) формируется облако точек объекта (файл *.ply) для алгоритма оценки положения.
|
||||
|
||||
### [RADet](https://github.com/YangHai-1218/RADet) '2023
|
||||
Стратегия выборки, ориентированная на видимую часть объекта, по версии разработчиков даёт более точную оценку положения объектов особенно в сильно загромождённых сценах.
|
||||
|
||||
### [SCFlow](https://github.com/YangHai-1218/SCFlow) '2023
|
||||
Проект, основанный на оптимизации метода уточнения позы объекта, за счёт ограничения области сопоставления трёхмерной формой объекта на следующем шаге в потоке изображений.
|
||||
|
||||
### [RCVPose 3D](https://github.com/aaronWool/rcvpose3d) '2022
|
||||
Оценка положения на основе облака точек методом каскадного выбора по ключевым точкам.
|
||||
|
||||
### [ZebraPose](https://github.com/suyz526/ZebraPose) '2022
|
||||
В этой работе предлагается дискретный дескриптор поверхности объекта, который эффективно кодирует эту поверхность. И представлена стратегия обучения от грубой до точной, которая позволяет прогнозировать точное соответствие. Затем, сопоставляя предсказанные коды с поверхностью объекта на изображении и используя решатель PnP, оценивается положение 6DoF.
|
||||
|
||||
### [SINGLESHOTPOSE](https://github.com/microsoft/singleshotpose) '2018
|
||||
Бесшовное прогнозирование положения объекта в режиме одиночного 6D-снимка в реальном времени. Здесь предлагается однократный подход для одновременного обнаружения объекта на изображении RGB и прогнозирования его 6D-позиции, не требуя нескольких этапов или проверки нескольких гипотез.
|
||||
|
||||
### [Pix2Pose](https://github.com/kirumang/Pix2Pose) '2022
|
||||
Метод оценки позы, который предсказывает 3D-координаты каждого пикселя объекта без текстурированных моделей. Метод устойчив к окклюзии, для чего используются последние достижения в области генеративно-состязательного обучения для точного восстановления закрытых частей.
|
||||
|
||||
Есть реализация detection и 6D pose estimation для ROS.
|
||||
|
||||
### [GDR-Net](https://github.com/THU-DA-6D-Pose-Group/GDR-Net) '2023
|
||||
Сеть прямой регрессии на основе геометрии для монокулярной оценки положения объекта 6D. В этой работе проведено углубленное исследование как прямых, так и косвенных методов регрессии позы, и предложена простая, но эффективная сеть прямой регрессии, управляемая геометрией (GDR-Net), для сквозного изучения позы 6D из промежуточных геометрических представлений на основе плотного соответствия.
|
||||
|
||||
### [DeepIM](https://github.com/liyi14/mx-DeepIM) '2019
|
||||
Глубокое итеративное сопоставление для оценки позы 6D. В этой работе предлагается глубокая нейронная сеть для сопоставления поз 6D под названием DeepIM. Учитывая начальную оценку позы, эта сеть может итеративно уточнять позу, сопоставляя визуализированное изображение с наблюдаемым изображением.
|
||||
|
||||
### [DenseFusion](https://github.com/j96w/DenseFusion) '2019
|
||||
Основная техническая задача при оценке положения 6D-объекта по изображению RGB-D заключается в том, чтобы полностью использовать два взаимодополняющих источника данных. DenseFusion — это гетерогенная архитектура, которая обрабатывает два источника данных по отдельности и использует новую плотную сеть слияния для извлечения встраивания плотных объектов по пикселям, по которым оценивается поза.
|
||||
|
||||
### [FS6D](https://github.com/ethnhe/FS6D-PyTorch) '2023
|
||||
Здесь изучается новая задача оценки позы 6D-объекта с несколькими кадрами в открытом наборе: оценка 6D-позы неизвестного объекта с помощью нескольких вспомогательных видов без моделей САПР и дополнительного обучения.
|
||||
|
||||
Код на данный момент недоступен
|
||||
|
||||
### [6-PACK](https://github.com/j96w/6-PACK) '2020
|
||||
|
||||
[Сайт проекта](https://sites.google.com/view/6packtracking)
|
||||
|
||||
6-PACK - подход глубокого обучения к отслеживанию положения 6D-объекта на уровне категории на основе данных RGB-D. Метод отслеживает в режиме реального времени экземпляры новых объектов известных категорий объектов, таких как миски, ноутбуки и кружки. 6-PACK учит компактно представлять объект с помощью нескольких ключевых точек 3D, на основе которых можно оценить межкадровое движение экземпляра объекта посредством сопоставления ключевых точек.
|
||||
|
||||
### [DoUnseen](https://github.com/AnasIbrahim/image_agnostic_segmentation) '2023
|
||||
|
||||
[dataset DoPose](https://zenodo.org/record/6103779)
|
||||
|
||||
Классификация объектов с нулевым выстрелом для роботизированного захвата. Эта библиотека содержит конвейер для обнаружения объекта без обучения.
|
||||
Большинство современных исследований сегментации объектов для роботизированного захвата сосредоточено на сегментации объектов на уровне класса (например, коробка, чашка, бутылка), закрытых наборах (конкретных объектах набора данных, например, наборе данных YCB) или сопоставлении шаблонов на основе глубокого обучения. В данной работе рассматриваются открытые множества, в которых количество классов неизвестно, варьируется и без предварительного знания о типах объектов. Каждый конкретный объект обозначается как свой отдельный класс. Цель этой работы — разработать детектор объектов с нулевым выстрелом, который не требует обучения и может добавить любой объект в качестве класса, просто сделав несколько изображений объекта.
|
||||
|
||||
### [NOPE](https://github.com/nv-nguyen/nope): Novel Object Pose Estimation from a Single Image '2023
|
||||
|
||||
Оценка позы нового объекта по одному изображению. Предлагается подход, который использует одно изображение нового объекта в качестве входных данных и предсказывает относительное положение этого объекта на новых изображениях без предварительного знания 3D-модели объекта и без необходимости обучения новым объектам и категориям.
|
||||
|
||||
### [PIZZA](https://github.com/nv-nguyen/pizza) '2023
|
||||
Мощный подход Zero-Shot Zero-CAD к отслеживанию 6 DoF только по изображениям. Метод отслеживания 6D-перемещений объектов в видео-последовательностях RGB, когда ни обучающие изображения, ни 3D-геометрия объектов недоступны. Таким образом, в отличие от предыдущих работ, этот метод может мгновенно рассматривать неизвестные объекты в открытом мире, не требуя какой-либо предварительной информации или определенного этапа обучения. Рассматриваются две архитектуры, одна из которых основана на двух кадрах, а другая опирается на кодировщик Transformer, который может использовать произвольное количество прошлых кадров.
|
||||
|
||||
### [Megapose](https://github.com/megapose6d/megapose6d) '2022
|
||||
|
||||
Идея метода заключается в том, что модель объекта передаётся в режиме исполнения вместе с RGB-изображением с выделенной областью, содержащей данный объект, которая получена на этапе обнаружения объекта (ObjectDetection).
|
||||
|
||||
|
||||
Для запуска проекта создается среда выполнения под управлением conda.
|
||||
Должны быть установлены две переменные окружения:
|
||||
|
||||
* MEGAPOSE_DIR: Корневой каталог проекта.
|
||||
* MEGAPOSE_DATA_DIR: Корневой каталог для входных и выходных данных.
|
||||
|
||||
### Структура входных данных
|
||||
#### Структура входных данных
|
||||
```
|
||||
$MEGAPOSE_DATA_DIR/examples/my_object/
|
||||
inputs/object_data.json
|
||||
|
@ -77,13 +137,13 @@ $MEGAPOSE_DATA_DIR/examples/my_object/
|
|||
```
|
||||
- `meshes/my_object` это каталог, содержащий mesh объекта. Ожидается, что единицы mesh будут в миллиметрах. В этом примере используется mesh в .ply формате. Код также поддерживает объекты в формате .obj.
|
||||
|
||||
### Запуск оценки положения объекта производится с помощью следующей команды:
|
||||
#### Запуск оценки положения объекта производится с помощью следующей команды:
|
||||
```
|
||||
python -m megapose.scripts.run_inference_on_example my_object --run-inference
|
||||
```
|
||||
По умолчанию используется только RGB-изображение без карты глубины.
|
||||
|
||||
### Предыдущая команда создаст следующий файл:
|
||||
#### Предыдущая команда создаст следующий файл:
|
||||
```
|
||||
$MEGAPOSE_DATA_DIR/examples/my_object/
|
||||
outputs/object_data.json
|
||||
|
@ -91,4 +151,16 @@ $MEGAPOSE_DATA_DIR/examples/my_object/
|
|||
Этот файл содержит список объектов с их предполагаемыми позами. Для каждого объекта отмечается предполагаемая поза TWO (кадр мировых координат соответствует кадру камеры). Она состоит из кватерниона(3D-вращение) плюс 3D-смещение:
|
||||
```json
|
||||
[{"label": "my_object", "TWO": [[0.5453961536730983, 0.6226545207599095, -0.43295293693197473, 0.35692612413663855], [0.10723329335451126, 0.07313819974660873, 0.45735278725624084]]}]
|
||||
```
|
||||
```
|
||||
|
||||
## Методы сегментации
|
||||
|
||||
### [CNOS](https://github.com/nv-nguyen/cnos) '2023
|
||||
|
||||
Надежная основа для сегментации новых объектов на основе CAD, Segmenting Anything и DINOv2
|
||||
|
||||
|
||||
## Вспомогательные инструменты
|
||||
|
||||
### [6DPoseAnnotator](https://github.com/sakizuki/6DPoseAnnotator) (2021)
|
||||
Интерактивный инструмент аннотации позы с 6 степенями свободы (DoF) с использованием обработки облака точек.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue