1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/soldatjiang-robot-grasp-detection

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Определение позиций захвата с помощью глубинных нейронных сетей на основе RGB-изображений

(Модель загружена, но вы можете обучить её лучше самостоятельно, если у вас есть время и оборудование или если вы изучаете TensorFlow/ML. Пожалуйста, имейте в виду, что вам потребуется прочитать и адаптировать некоторые части кода к вашим нуждам. Откройте проблему, если вам требуется помощь. Я попробую обновить README и прокомментировать код.)

Эта реализация основана на алгоритме от Redmon и Angelova, описанном в arXiv:1412.3128v2.

Метод использует RGB-изображение для поиска одного захвата. Глубокая свёрточная нейронная сеть применяется к изображению объекта, и как результат получаются координаты, размеры и ориентация одного возможного захвата.

Изображения, использованные для обучения сети, взяты из Cornell Grasping Dataset.

Описание задачи

Предполагая параллельный зажим перед его закрытием, простым и естественным способом представления положения захвата в изображении будет прямоугольник (см. фигура 1).

Один из способов уникального представления этого прямоугольника — это

g = {x, y, θ, h, w}

где (x, y) — центр прямоугольника, θ — ориентация прямоугольника относительно горизонтальной оси изображения, h и w — высота и ширина прямоугольника соответственно.alt текст

Основной целью этой небольшой библиотеки является обучение сети, которая, получив RGB-изображение, сможет (с некоторой точностью) предсказать один возможный захват g.

Как обучить с нуля

Процедура состоит из следующих шагов:

  • преобразование ImageNet в формат TFRecord
  • обучение модели на ImageNet
  • преобразование набора данных захвата в TFRecords
  • обучение на наборе данных захвата с использованием предварительно обученных весов

Подготовка ImageNet

Перед запуском скрипта вам потребуется скачать и преобразовать данные ImageNet в нативный формат TFRecord. Проверьте этот ссылку из модели Inception от Google. Я нашёл всю модель Inception на GitHub очень полезной.

Обучение на ImageNet

Запуск imagenet_classifier.py сделает всё необходимое. Но сначала измените каталог по умолчанию для базового набора данных (у меня он лежит в /root/imagenet-data). Проверьте также в конце файла доступные вам опции, например:

./imagenet_classifier.py --batch_size=128 --model_path=./models/imagenet/m1/m1.ckpt --train_or_validation=train

Запуск на GTX 980 и очень^2 хорошем Xeon занимает около двух дней (я не замерял время). Убедитесь, что модель сохраняет/восстанавливает веса в начале процесса.

Подготовка набора данных Cornell Grasping

После загрузки и распаковки запустите build_cgd_dataset.py. Убедитесь, что вы адаптировали Python-файл под свои нужды, например: - Установите указатель dataset в правильное место

  • В filename[:49] измените число 49 (вы можете внести свой вклад, либо я сделаю это позже)

Обучение на наборе данных Cornell Grasping

Просто запустите grasp_det.py для обучения, или передайте некоторые аргументы как при обучении ImageNet. Эти данные состоят примерно из 1000 примеров (изображений с захватами) и могут быть обучены очень быстро. Будьте осторожны, чтобы не переобучиться.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/soldatjiang-robot-grasp-detection.git
git@api.gitlife.ru:oschina-mirror/soldatjiang-robot-grasp-detection.git
oschina-mirror
soldatjiang-robot-grasp-detection
soldatjiang-robot-grasp-detection
master