(Модель загружена, но вы можете обучить её лучше самостоятельно, если у вас есть время и оборудование или если вы изучаете TensorFlow/ML. Пожалуйста, имейте в виду, что вам потребуется прочитать и адаптировать некоторые части кода к вашим нуждам. Откройте проблему, если вам требуется помощь. Я попробую обновить README и прокомментировать код.)
Эта реализация основана на алгоритме от Redmon и Angelova, описанном в arXiv:1412.3128v2.
Метод использует RGB-изображение для поиска одного захвата. Глубокая свёрточная нейронная сеть применяется к изображению объекта, и как результат получаются координаты, размеры и ориентация одного возможного захвата.
Изображения, использованные для обучения сети, взяты из Cornell Grasping Dataset.
Предполагая параллельный зажим перед его закрытием, простым и естественным способом представления положения захвата в изображении будет прямоугольник (см. фигура 1).
Один из способов уникального представления этого прямоугольника — это
g = {x, y, θ, h, w}
где (x, y) — центр прямоугольника, θ — ориентация прямоугольника относительно горизонтальной оси изображения, h и w — высота и ширина прямоугольника соответственно.
Основной целью этой небольшой библиотеки является обучение сети, которая, получив RGB-изображение, сможет (с некоторой точностью) предсказать один возможный захват g.
Процедура состоит из следующих шагов:
Перед запуском скрипта вам потребуется скачать и преобразовать данные ImageNet в нативный формат TFRecord. Проверьте этот ссылку из модели Inception от Google. Я нашёл всю модель Inception на GitHub очень полезной.
Запуск 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 занимает около двух дней (я не замерял время). Убедитесь, что модель сохраняет/восстанавливает веса в начале процесса.
После загрузки и распаковки запустите build_cgd_dataset.py
. Убедитесь, что вы адаптировали Python-файл под свои нужды, например: - Установите указатель dataset
в правильное место
filename[:49]
измените число 49 (вы можете внести свой вклад, либо я сделаю это позже)Просто запустите grasp_det.py
для обучения, или передайте некоторые аргументы как при обучении ImageNet. Эти данные состоят примерно из 1000 примеров (изображений с захватами) и могут быть обучены очень быстро. Будьте осторожны, чтобы не переобучиться.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )