From 35223a1af1d367e63d31a8c65dcb3cb9283cd845 Mon Sep 17 00:00:00 2001 From: shalenikol Date: Tue, 21 Feb 2023 14:41:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D0=B4=D1=83=D1=80=D1=8B=20Obj?= =?UTF-8?q?ectDetection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ObjectDetection/README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ObjectDetection/README.md diff --git a/ObjectDetection/README.md b/ObjectDetection/README.md new file mode 100644 index 0000000..a8a2c53 --- /dev/null +++ b/ObjectDetection/README.md @@ -0,0 +1,37 @@ +# Инструкция для запуска + +Должен быть установлен пакет [BlenderProc](https://github.com/DLR-RM/BlenderProc) + +## Создание датасета в формате YoloV4 для заданного объекта + +Команда для запуска: + blenderproc run obj2Yolov4dataset.py [obj] [output_dir] [--imgs 1] + +- obj: файл описания объекта *.obj +- output_dir: выходной каталог +- --imgs 1: количество изображений на выходе + +## Создание датасета в формате YoloV4 для серии заданных объектов в заданной сцене + +Команда для запуска: + blenderproc run objs2Yolov4dataset.py [scene] [obj_path] [output_dir] [vhacd_path] [--imgs 1] +- scene: путь к файлу описания сцены (*.blend) +- obj_path: путь к каталогу с файлами описания детектируемых объектов *.obj +- output_dir: выходной каталог +- vhacd_path: каталог, в котором должен быть установлен или уже установлен vhacd (по умолчанию blenderproc_resources/vhacd) +- --imgs 1: количество серий рендеринга (по 15 изображений каждая) на выходе (например, если imgs=100, то будет получено 1500 изображений) + +Файл описания сцены обязательно должен содержать плоскость (с именем 'floor'), на которую будут сэмплированы объекты для обнаружения. + +Должен быть собран пакет [darknet](https://github.com/AlexeyAB/darknet) для работы на заданном ПО и оборудовании (CPU, GPU ...) + +## Обучение нейросети и получение файла с её весами + +Команда для запуска: + darknet datector train [data] [cfg] [weight] +- data: файл с описанием датасета (*.data) +- cfg: файл с описанием нейросети +- weight: файл весов нейросети + +Для обучения нужно загрузить файл с предобученными весами (162 MB): [yolov4.conv.137](https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.conv.137) +Для разного количества детектируемых объектов в выборке нужны свои файлы [data](https://gitlab.com/robossembler/framework/-/blob/master/ObjectDetection/yolov4_objs2.data) и [cfg](https://gitlab.com/robossembler/framework/-/blob/master/ObjectDetection/yolov4_objs2.cfg).