From 34f2ae1e67b67416977b8f451153b75f012c873f Mon Sep 17 00:00:00 2001 From: SamSamhuns Date: Sun, 19 May 2024 15:36:47 +0400 Subject: [PATCH] FIx cfg weight path & add more info --- README.md | 15 +++++++++------ adv_patch_gen/configs/base.json | 8 ++++---- adv_patch_gen/conv_visdrone_2_yolo/README.md | 4 ++-- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 191649d6982e..2325605ac022 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ https://github.com/SamSamhuns/yolov5_adversarial/assets/13418507/b389449f-98a4-4 | :----------------------------------------------------------: | :--------------------------------------------------------: | | | | -## Setup +## 1. Setup Note: Install all required dependencies as mentioned in the main YOLOv5 repository and install additional yolov5 adversarial dependency as follows: @@ -29,23 +29,26 @@ pip install -r adv_patch_gen/requirements.txt Detailed instructions for setup and docker use at [adv_patch_gen/README.md](adv_patch_gen/README.md) -## Download VisDrone Dataset +## 2. Download VisDrone Dataset Download Task 1 trainset, valset, and testset-dev sets from . Place data under `data/visdrone_data`. -## Convert VisDrone Dataset to YOLO format +## 3. Convert VisDrone Dataset to YOLO format Refer to [adv_patch_gen/conv_visdrone_2_yolo/README.md](adv_patch_gen/conv_visdrone_2_yolo/README.md) -## Download YOLOv5 4 Class (Car,Van,Truck,Bus) detection weights trained on VisDrone-2019 +## 4. Download YOLOv5 4 Class (Car,Van,Truck,Bus) detection weights trained on VisDrone-2019 ```shell # inside a python virtual environment pip install gdown gdown 1Nw71j_zw_TUrXjR6VRvgp5wJmDePZMoS +# unzip models into runs/train directory +mkdir -p runs/train +unzip coco_e300_4Class_Vehicle.zip -d runs/train ``` -## Train an adversarial patch against the detector +## 5. Train an adversarial patch against the detector Dataset paths should be correctly set in the config json file. @@ -55,7 +58,7 @@ python train_patch.py --cfg adv_patch_gen/configs/base.json Instructions in creating the config json file present at [adv_patch_gen/configs/README.md](adv_patch_gen/configs/README.md). -## Test the performance of the adversarial patch +## 6. Test the performance of the adversarial patch ```shell python test_patch.py --cfg CONFIG_JSON_FILE -w YOLOV5_TARGET_MODEL_WEIGHTS_PATH -p PATCH_IMG_FILE_PATH --id IMG_DIR_PATH_FOR_TESTING --sd SAVE_DIR_PATH diff --git a/adv_patch_gen/configs/base.json b/adv_patch_gen/configs/base.json index 2ed7c5b4764a..b8864269d54f 100644 --- a/adv_patch_gen/configs/base.json +++ b/adv_patch_gen/configs/base.json @@ -1,12 +1,12 @@ { - "image_dir": "data/visdrone_data/Custom_4Class_labels_vehicles/VisDrone2019-DET-train/images", - "label_dir": "data/visdrone_data/Custom_4Class_labels_vehicles/VisDrone2019-DET-train/labels", - "val_image_dir": "data/visdrone_data/Custom_4Class_labels_vehicles/VisDrone2019-DET-val/images", + "image_dir": "data/visdrone_data/VisDrone2019-DET-train/images", + "label_dir": "data/visdrone_data/VisDrone2019-DET-train/labels", + "val_image_dir": "data/visdrone_data/VisDrone2019-DET-val/images", "use_even_odd_images": "all", "log_dir": "runs/train_adversarial", "tensorboard_port": 8994, "tensorboard_batch_log_interval": 15, - "weights_file": "runs/train/s_coco_e100_4Class_Vehicle/weights/best.pt", + "weights_file": "runs/train/s_coco_e300_4Class_Vehicle/weights/best.pt", "triplet_printfile": "adv_patch_gen/utils/30_rgb_triplets.csv", "device": "cuda:0", "use_amp": true, diff --git a/adv_patch_gen/conv_visdrone_2_yolo/README.md b/adv_patch_gen/conv_visdrone_2_yolo/README.md index 345cbe546194..0346951d8311 100644 --- a/adv_patch_gen/conv_visdrone_2_yolo/README.md +++ b/adv_patch_gen/conv_visdrone_2_yolo/README.md @@ -7,9 +7,9 @@ Tested with python 3.8 ```shell python -m venv venv source venv/bin/activate -pip install tqdm==4.65.0 +pip install tqdm==4.66.4 pip install imagesize==1.4.1 -pip install opencv-python==4.7.0.72 +pip install opencv-python==4.9.0.80 ``` ## VisDrone Dataset Format