├── HowToUseGPU.mlx ├── Img └── highway.jpg ├── MaskRCNN_inference.mlx ├── README.md ├── RTMDet_inference.mlx ├── Rabbit_myself_416.zip ├── Rabbit_myself_608 ├── Rabbit_001.jpg ├── Rabbit_002.jpg ├── Rabbit_003.jpg ├── Rabbit_004.jpg ├── Rabbit_005.jpg ├── Rabbit_006.jpg ├── Rabbit_007.jpg ├── Rabbit_008.jpg ├── Rabbit_010.jpg ├── Rabbit_0100.jpg ├── Rabbit_0101.jpg ├── Rabbit_0102.jpg ├── Rabbit_0103.jpg ├── Rabbit_0104.jpg ├── Rabbit_0105.jpg ├── Rabbit_0106.jpg ├── Rabbit_0107.jpg ├── Rabbit_0108.jpg ├── Rabbit_0109.jpg ├── Rabbit_011.jpg ├── Rabbit_0110.jpg ├── Rabbit_0111.jpg ├── Rabbit_0112.jpg ├── Rabbit_0113.jpg ├── Rabbit_0114.jpg ├── Rabbit_0115.jpg ├── Rabbit_0116.jpg ├── Rabbit_0117.jpg ├── Rabbit_0118.jpg ├── Rabbit_0119.jpg ├── Rabbit_012.jpg ├── Rabbit_0120.jpg ├── Rabbit_0121.jpg ├── Rabbit_0122.jpg ├── Rabbit_0123.jpg ├── Rabbit_0124.jpg ├── Rabbit_0125.jpg ├── Rabbit_013.jpg ├── Rabbit_014.jpg ├── Rabbit_015.jpg ├── Rabbit_016.jpg ├── Rabbit_017.jpg ├── Rabbit_018.jpg ├── Rabbit_019.jpg ├── Rabbit_020.jpg ├── Rabbit_021.jpg ├── Rabbit_022.jpg ├── Rabbit_023.jpg ├── Rabbit_024.jpg ├── Rabbit_025.jpg ├── Rabbit_026.jpg ├── Rabbit_027.jpg ├── Rabbit_028.jpg ├── Rabbit_029.jpg ├── Rabbit_030.jpg ├── Rabbit_031.jpg ├── Rabbit_032.jpg ├── Rabbit_033.jpg ├── Rabbit_034.jpg ├── Rabbit_035.jpg ├── Rabbit_036.jpg ├── Rabbit_037.jpg ├── Rabbit_038.jpg ├── Rabbit_039.jpg ├── Rabbit_040.jpg ├── Rabbit_041.jpg ├── Rabbit_042.jpg ├── Rabbit_043.jpg ├── Rabbit_044.jpg ├── Rabbit_045.jpg ├── Rabbit_046.jpg ├── Rabbit_047.jpg ├── Rabbit_048.jpg ├── Rabbit_049.jpg ├── Rabbit_050.jpg ├── Rabbit_051.jpg ├── Rabbit_052.jpg ├── Rabbit_053.jpg ├── Rabbit_054.jpg ├── Rabbit_055.jpg ├── Rabbit_056.jpg ├── Rabbit_057.jpg ├── Rabbit_058.jpg ├── Rabbit_059.jpg ├── Rabbit_060.jpg ├── Rabbit_061.jpg ├── Rabbit_062.jpg ├── Rabbit_063.jpg ├── Rabbit_064.jpg ├── Rabbit_065.jpg ├── Rabbit_066.jpg ├── Rabbit_067.jpg ├── Rabbit_068.jpg ├── Rabbit_069.jpg ├── Rabbit_070.jpg ├── Rabbit_071.jpg ├── Rabbit_072.jpg ├── Rabbit_073.jpg ├── Rabbit_074.jpg ├── Rabbit_075.jpg ├── Rabbit_076.jpg ├── Rabbit_077.jpg ├── Rabbit_078.jpg ├── Rabbit_079.jpg ├── Rabbit_080.jpg ├── Rabbit_081.jpg ├── Rabbit_082.jpg ├── Rabbit_083.jpg ├── Rabbit_084.jpg ├── Rabbit_085.jpg ├── Rabbit_086.jpg ├── Rabbit_087.jpg ├── Rabbit_088.jpg ├── Rabbit_089.jpg ├── Rabbit_090.jpg ├── Rabbit_091.jpg ├── Rabbit_092.jpg ├── Rabbit_093.jpg ├── Rabbit_094.jpg ├── Rabbit_095.jpg ├── Rabbit_096.jpg ├── Rabbit_097.jpg ├── Rabbit_098.jpg └── Rabbit_099.jpg ├── SOLOv2_inference.mlx ├── YOLOX_inference.mlx ├── YOLOv4_bulid.mlx ├── YOLOv4_inference.mlx ├── autoLabel └── YOLOXAutomationAlgorithm_v1.m ├── label ├── PixelLabelData │ ├── Label_1.png │ ├── Label_10.png │ ├── Label_100.png │ ├── Label_101.png │ ├── Label_102.png │ ├── Label_103.png │ ├── Label_104.png │ ├── Label_105.png │ ├── Label_106.png │ ├── Label_107.png │ ├── Label_108.png │ ├── Label_109.png │ ├── Label_11.png │ ├── Label_110.png │ ├── Label_111.png │ ├── Label_112.png │ ├── Label_113.png │ ├── Label_114.png │ ├── Label_115.png │ ├── Label_116.png │ ├── Label_117.png │ ├── Label_118.png │ ├── Label_119.png │ ├── Label_12.png │ ├── Label_120.png │ ├── Label_121.png │ ├── Label_122.png │ ├── Label_123.png │ ├── Label_124.png │ ├── Label_13.png │ ├── Label_14.png │ ├── Label_15.png │ ├── Label_16.png │ ├── Label_17.png │ ├── Label_18.png │ ├── Label_19.png │ ├── Label_2.png │ ├── Label_20.png │ ├── Label_21.png │ ├── Label_22.png │ ├── Label_23.png │ ├── Label_24.png │ ├── Label_25.png │ ├── Label_26.png │ ├── Label_27.png │ ├── Label_28.png │ ├── Label_29.png │ ├── Label_3.png │ ├── Label_30.png │ ├── Label_31.png │ ├── Label_32.png │ ├── Label_33.png │ ├── Label_34.png │ ├── Label_35.png │ ├── Label_36.png │ ├── Label_37.png │ ├── Label_38.png │ ├── Label_39.png │ ├── Label_4.png │ ├── Label_40.png │ ├── Label_41.png │ ├── Label_42.png │ ├── Label_43.png │ ├── Label_44.png │ ├── Label_45.png │ ├── Label_46.png │ ├── Label_47.png │ ├── Label_48.png │ ├── Label_49.png │ ├── Label_5.png │ ├── Label_50.png │ ├── Label_51.png │ ├── Label_52.png │ ├── Label_53.png │ ├── Label_54.png │ ├── Label_55.png │ ├── Label_56.png │ ├── Label_57.png │ ├── Label_58.png │ ├── Label_59.png │ ├── Label_6.png │ ├── Label_60.png │ ├── Label_61.png │ ├── Label_62.png │ ├── Label_63.png │ ├── Label_64.png │ ├── Label_65.png │ ├── Label_66.png │ ├── Label_67.png │ ├── Label_68.png │ ├── Label_69.png │ ├── Label_7.png │ ├── Label_70.png │ ├── Label_71.png │ ├── Label_72.png │ ├── Label_73.png │ ├── Label_74.png │ ├── Label_75.png │ ├── Label_76.png │ ├── Label_77.png │ ├── Label_78.png │ ├── Label_79.png │ ├── Label_8.png │ ├── Label_80.png │ ├── Label_81.png │ ├── Label_82.png │ ├── Label_83.png │ ├── Label_84.png │ ├── Label_85.png │ ├── Label_86.png │ ├── Label_87.png │ ├── Label_88.png │ ├── Label_89.png │ ├── Label_9.png │ ├── Label_90.png │ ├── Label_91.png │ ├── Label_92.png │ ├── Label_93.png │ ├── Label_94.png │ ├── Label_95.png │ ├── Label_96.png │ ├── Label_97.png │ ├── Label_98.png │ └── Label_99.png ├── PixelLabelData_2 │ ├── Label_1.png │ ├── Label_10.png │ ├── Label_100.png │ ├── Label_101.png │ ├── Label_102.png │ ├── Label_103.png │ ├── Label_104.png │ ├── Label_105.png │ ├── Label_106.png │ ├── Label_107.png │ ├── Label_108.png │ ├── Label_109.png │ ├── Label_11.png │ ├── Label_110.png │ ├── Label_111.png │ ├── Label_112.png │ ├── Label_113.png │ ├── Label_114.png │ ├── Label_115.png │ ├── Label_116.png │ ├── Label_117.png │ ├── Label_118.png │ ├── Label_119.png │ ├── Label_12.png │ ├── Label_120.png │ ├── Label_121.png │ ├── Label_122.png │ ├── Label_123.png │ ├── Label_124.png │ ├── Label_13.png │ ├── Label_14.png │ ├── Label_15.png │ ├── Label_16.png │ ├── Label_17.png │ ├── Label_18.png │ ├── Label_19.png │ ├── Label_2.png │ ├── Label_20.png │ ├── Label_21.png │ ├── Label_22.png │ ├── Label_23.png │ ├── Label_24.png │ ├── Label_25.png │ ├── Label_26.png │ ├── Label_27.png │ ├── Label_28.png │ ├── Label_29.png │ ├── Label_3.png │ ├── Label_30.png │ ├── Label_31.png │ ├── Label_32.png │ ├── Label_33.png │ ├── Label_34.png │ ├── Label_35.png │ ├── Label_36.png │ ├── Label_37.png │ ├── Label_38.png │ ├── Label_39.png │ ├── Label_4.png │ ├── Label_40.png │ ├── Label_41.png │ ├── Label_42.png │ ├── Label_43.png │ ├── Label_44.png │ ├── Label_45.png │ ├── Label_46.png │ ├── Label_47.png │ ├── Label_48.png │ ├── Label_49.png │ ├── Label_5.png │ ├── Label_50.png │ ├── Label_51.png │ ├── Label_52.png │ ├── Label_53.png │ ├── Label_54.png │ ├── Label_55.png │ ├── Label_56.png │ ├── Label_57.png │ ├── Label_58.png │ ├── Label_59.png │ ├── Label_6.png │ ├── Label_60.png │ ├── Label_61.png │ ├── Label_62.png │ ├── Label_63.png │ ├── Label_64.png │ ├── Label_65.png │ ├── Label_66.png │ ├── Label_67.png │ ├── Label_68.png │ ├── Label_69.png │ ├── Label_7.png │ ├── Label_70.png │ ├── Label_71.png │ ├── Label_72.png │ ├── Label_73.png │ ├── Label_74.png │ ├── Label_75.png │ ├── Label_76.png │ ├── Label_77.png │ ├── Label_78.png │ ├── Label_79.png │ ├── Label_8.png │ ├── Label_80.png │ ├── Label_81.png │ ├── Label_82.png │ ├── Label_83.png │ ├── Label_84.png │ ├── Label_85.png │ ├── Label_86.png │ ├── Label_87.png │ ├── Label_88.png │ ├── Label_89.png │ ├── Label_9.png │ ├── Label_90.png │ ├── Label_91.png │ ├── Label_92.png │ ├── Label_93.png │ ├── Label_94.png │ ├── Label_95.png │ ├── Label_96.png │ ├── Label_97.png │ ├── Label_98.png │ └── Label_99.png ├── Rabbit_myself_608.mat ├── gTruth_Instance.mat ├── gTruth_Pixel_2.mat ├── gTruth_Seg.mat └── gTruth_Seg2.mat ├── model ├── Modeldownload └── YOLOX_231207.mat ├── rabbitLog_label.jpg ├── setup_readme.m ├── src_fun ├── Change_gTruthPath.m ├── Change_gTruthPath_Seg.m ├── ResizeRabbit.m ├── applyActivations.m ├── applyAnchorBoxOffsets.m ├── camvidColorMap.m ├── camvidPixelLabelIDs.m ├── extractPredictions.m ├── generateTargets.m ├── generateTiledAnchors.m ├── generateYOLOv3DetectionsForCodegen.m ├── partitionCamVidData.m └── preprocessData.m ├── src_input ├── JsonSegInput.m ├── Jsoninput.m ├── Polygon2mask_bbox.m ├── XMLinput.m ├── preprocessImg.m ├── readFcn.m └── readFcn2.m └── src_main ├── SP_DeepLabv3.m ├── SP_FasterRCNN.m ├── SP_MaskRCNN.m ├── SP_SOLOv2(test).m ├── SP_SOLOv2.m ├── SP_SSD.m ├── SP_YOLOX.m ├── SP_YOLOv2.m ├── SP_YOLOv3.m └── SP_YOLOv4.m /HowToUseGPU.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/HowToUseGPU.mlx -------------------------------------------------------------------------------- /Img/highway.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Img/highway.jpg -------------------------------------------------------------------------------- /MaskRCNN_inference.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/MaskRCNN_inference.mlx -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RabbitDetect 2 | Bulit on 2022/02 by Fred Liu 3 | Major update 2023.05.17 4 | New update 2023.12.07(YOLOX,SOLOv2) 5 | [Youtube Link](https://www.youtube.com/channel/UCnUuSyqkkXaFy57qL7aURAA) 6 | 7 | 版本:MATALB: update to 2023b,minimum vervion 2022a. 8 | 需要工具箱: Deeplearning , Image Processing, Computer Vision, Parallel Computing 9 | 需要支援包: YOLOX,YOLOv3,YOLOv4 Package & pretrain modle Package 10 | [Computer Vision Toolbox Model for YOLO v3 Object Detection](https://www.mathworks.com/matlabcentral/fileexchange/87959-computer-vision-toolbox-model-for-yolo-v3-object-detection?s_tid=srchtitle) 11 | [Computer Vision Toolbox Model for YOLO v4 Object Detection](https://www.mathworks.com/matlabcentral/fileexchange/107969-computer-vision-toolbox-model-for-yolo-v4-object-detection?s_tid=srchtitle) 12 | YOLOX: 13 | [Computer Vision Toolbox Automated Visual Inspection Library](https://www.mathworks.com/matlabcentral/fileexchange/116555-computer-vision-toolbox-automated-visual-inspection-library?s_tid=ta_fx_results) 14 | MASK-RCNN 15 | [Computer Vision Toolbox Model for Mask R-CNN Instance Segmentation](https://www.mathworks.com/matlabcentral/fileexchange/98554-computer-vision-toolbox-model-for-mask-r-cnn-instance-segmentation?s_tid=prof_contriblnk) 16 | SOLOv2 17 | [Computer Vision Toolbox Model for SOLOv2 Instance Segmentation](https://www.mathworks.com/matlabcentral/fileexchange/131144-computer-vision-toolbox-model-for-solov2-instance-segmentation?s_tid=srchtitle) 18 | 19 | --------------------------------------- 20 | 21 | 22 | 首先請閱讀setup_readme.m (First to read setup_readme ) 23 | 24 | 因為內建資料庫資料較少,因此在訓練一些模型上效果可能較差,範例提供整體流程,但實作請換較大型的資料庫使用。 25 | Due to the limited amount of data in the built-in database, the performance of some models may 26 | be poorer during training. The example provides the overall process, but for implementation, 27 | it is recommended to use a larger database. 28 | 29 | ![image](https://github.com/MoonUsagi/RabbitDetect/blob/main/rabbitLog_label.jpg) 30 | --------------------------------------- 31 | 32 | 33 | 基於MATLAB 物件偵測於rabbit dataset 34 | (MATLAB Object Detection with rabbit dataset) 35 | --------------------------------------- 36 | - - - 37 | 38 | 1.資料請下載(data download):Rabbit_myself_416.zip or Rabbit_myself_608.zip 39 | 2.已訓練模型(Pretain_model):model\Modeldownload 40 | 3.演算法(algorithm):src_main\FasterRCNN,SSD,YLOLv2,YOLOv3,YOLOv4,YOLOX 41 | 4.標記檔案(label data):Rabbit_myself_608.mat 42 | 5.src_input: XMLinput , Jsoninput 43 | 44 | 45 | 46 | - - - 47 | 使用流程(Use the process): 48 | --------------------------------------- 49 | - - - 50 | 51 | 52 | 1.首先請閱讀setup_readme.m (First to read setup_readme ) 53 | 54 | 2.標記影像:可使用image labeler標記 or 載入Rabbit_myselft_608標記資料(可使用Change_gTruthPath.m) 55 | (Label Image:use image labeler to label or download "Rabbit_myselft_608" label dataset. 56 | It can use "Change_gTruthPath.m" to change path.) 57 | 58 | 3.模型:可以自行透過演算法訓練(src_main),也使用Pre-trained進行測試(model) 59 | (Model:you can train through the algorithm by yourself, and also use Pre-trained for testing) 60 | 61 | 62 | - - - 63 | 基於MATLAB 語意分割於rabbit dataset 64 | (MATLAB semantic segmentation with rabbit dataset) 65 | --------------------------------------- 66 | - - - 67 | 1.資料請下載(data download):Rabbit_myself_416 or Rabbit_myself_608 68 | 2.已訓練模型(Pretain_model):model\Modeldownload 69 | 3.演算法(algorithm): SP_DeepLabv3 70 | 4.標記檔案(label data):gTruth_Pixel_2.mat 71 | 5.src_input:JsonSegInput.m,readFcn.m,readFcn2.m 72 | 73 | - - - 74 | 基於MATLAB 實例分割於coco dataset 75 | --------------------------------------- 76 | - - - 77 | 1.資料請下載(data download):https://github.com/cocodataset/cocoapi 78 | Download:"2014 Train images" and "2014 Train/Val annotations" links 79 | 80 | 2.已訓練模型(Pretain_model): NaN 81 | 3.演算法(algorithm): SP_MaskRCNN,SP_SOLOv2 82 | 4.標記檔案(label data):Using coco dataset/ gTruth_Instance.mat 83 | 5.src_input:Polygon2mask_bbox.m 84 | 85 | -------------------------------------------------------------------------------- /RTMDet_inference.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/RTMDet_inference.mlx -------------------------------------------------------------------------------- /Rabbit_myself_416.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_416.zip -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_001.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_002.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_003.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_004.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_005.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_006.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_007.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_008.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_010.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0100.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0101.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0101.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0102.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0102.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0103.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0104.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0104.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0105.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0105.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0106.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0106.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0107.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0107.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0108.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0108.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0109.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0109.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_011.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0110.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0110.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0111.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0111.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0112.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0112.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0113.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0113.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0114.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0114.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0115.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0115.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0116.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0116.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0117.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0117.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0118.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0118.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0119.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0119.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_012.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0120.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0120.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0121.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0121.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0122.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0122.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0123.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0123.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0124.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0124.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_0125.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_0125.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_013.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_014.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_015.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_016.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_017.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_018.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_019.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_020.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_021.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_022.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_023.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_024.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_025.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_026.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_027.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_028.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_029.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_030.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_031.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_032.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_033.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_034.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_035.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_036.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_037.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_038.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_039.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_040.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_041.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_042.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_043.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_044.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_045.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_046.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_047.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_048.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_049.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_050.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_051.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_052.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_052.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_053.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_053.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_054.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_054.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_055.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_055.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_056.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_057.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_057.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_058.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_058.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_059.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_059.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_060.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_060.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_061.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_061.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_062.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_062.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_063.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_063.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_064.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_064.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_065.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_065.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_066.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_066.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_067.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_067.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_068.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_068.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_069.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_069.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_070.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_070.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_071.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_071.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_072.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_072.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_073.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_073.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_074.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_074.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_075.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_075.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_076.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_076.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_077.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_077.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_078.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_078.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_079.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_079.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_080.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_080.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_081.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_081.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_082.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_082.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_083.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_083.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_084.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_084.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_085.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_085.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_086.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_086.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_087.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_087.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_088.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_088.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_089.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_089.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_090.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_090.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_091.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_091.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_092.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_092.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_093.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_093.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_094.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_094.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_095.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_095.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_096.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_096.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_097.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_097.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_098.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_098.jpg -------------------------------------------------------------------------------- /Rabbit_myself_608/Rabbit_099.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/Rabbit_myself_608/Rabbit_099.jpg -------------------------------------------------------------------------------- /SOLOv2_inference.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/SOLOv2_inference.mlx -------------------------------------------------------------------------------- /YOLOX_inference.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/YOLOX_inference.mlx -------------------------------------------------------------------------------- /YOLOv4_bulid.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/YOLOv4_bulid.mlx -------------------------------------------------------------------------------- /YOLOv4_inference.mlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/YOLOv4_inference.mlx -------------------------------------------------------------------------------- /autoLabel/YOLOXAutomationAlgorithm_v1.m: -------------------------------------------------------------------------------- 1 | classdef YOLOXAutomationAlgorithm_v1 < vision.labeler.AutomationAlgorithm 2 | 3 | % Copyright 2017-2022 The MathWorks, Inc. 4 | properties(Constant) 5 | 6 | % Name: Character vector specifying the name of the algoritm. 7 | Name = 'YOLOX Object Detection Automation v1'; 8 | 9 | % Description: One-line description of the algorithm. 10 | Description = ['This example uses pre-trained YOLOX ' ... 11 | 'detector to perform object labelling.']; 12 | 13 | UserDirections = {... 14 | ['This AutomationAlgorithm automatically creates bounding box ', ... 15 | 'labels for 1 object categories.'], ... 16 | ['Review and Modify: Review automated labels over the interval ', ... 17 | 'using playback controls. Modify/delete/add ROIs that were not ' ... 18 | 'satisfactorily automated at this stage. If the results are ' ... 19 | 'satisfactory, click Accept to accept the automated labels.'], ... 20 | ['Accept/Cancel: If results of automation are satisfactory, ' ... 21 | 'click Accept to accept all automated labels and return to ' ... 22 | 'manual labeling. If results of automation are not ' ... 23 | 'satisfactory, click Cancel to return to manual labeling ' ... 24 | 'without saving automated labels.']}; 25 | 26 | end 27 | 28 | properties 29 | 30 | Model 31 | 32 | % Threshold for the object detection score 33 | Threshold = 0.5 34 | 35 | % Label class names (super-classes) 36 | Labels = {'person','other'}; 37 | 38 | % IDs corresponding to the labels. Note that be group together 39 | % similar classes into superclasses defined below: 40 | 41 | % ["person"] = person 42 | % ["bicycle", "car", "motorbike", "aeroplane", "bus", "train", "truck", "boat"] = vehicle 43 | % ["traffic light", "fire hydrant", "stop sign", "parking meter", "bench"] = outdoor 44 | % ["bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe"] = animal 45 | % ["backpack", "umbrella", "handbag", "tie", "suitcase"]; = accessory 46 | % ["frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket"] = sports 47 | % ["bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl"] = kitchen 48 | % ["banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake"] = food 49 | % ["chair", "sofa", "pottedplant", "bed", "diningtable", "toilet"] = furniture 50 | % ["tvmonitor", "laptop", "mouse", "remote" , "keyboard", "cell phone"] = electronic 51 | % ["microwave", "oven", "toaster", "sink", "refrigerator"] =appliance 52 | % ["book", "clock", "vase", "scissors", "teddy bear", "hair drier", "toothbrush"] = indoor 53 | 54 | LabelIDs = {1,2:80}; 55 | 56 | % Dictionary containing LabelID to Label mapping. 57 | Map = dictionary; 58 | 59 | 60 | end 61 | 62 | 63 | methods 64 | 65 | function isValid = checkLabelDefinition(algObj, labelDef) 66 | 67 | isValid = false; 68 | 69 | % We turn on only those labels whose name matches the list 70 | if any(strcmp(algObj.Labels,labelDef.Name)) 71 | isValid = true; 72 | end 73 | 74 | end 75 | 76 | function isReady = checkSetup(algObj) 77 | 78 | isReady = 0; 79 | if ~isempty(algObj.ValidLabelDefinitions) 80 | isReady = 1; 81 | end 82 | 83 | 84 | end 85 | 86 | 87 | end 88 | 89 | 90 | methods 91 | 92 | function initialize(algObj, ~) 93 | 94 | % Load the detector. 95 | algObj.Model = yoloxObjectDetector("small-coco"); 96 | 97 | % Populate the dictionary for mapping label IDs with label names. 98 | for i=1:80 99 | idx = find(cellfun(@(x) ismember(i,x),algObj.LabelIDs)); 100 | algObj.Map(i) = algObj.Labels(idx); 101 | end 102 | 103 | end 104 | 105 | 106 | function autoLabels = run(algObj, I) 107 | 108 | % Perform detection. 109 | [bboxes, scores, labels] = detect(algObj.Model,I , Threshold=algObj.Threshold); 110 | 111 | autoLabels = struct('Name', cell(1, size(bboxes, 1) ), ... 112 | 'Type', cell(1, size(bboxes, 1) ),'Position',zeros([1 4])); 113 | 114 | disp(size(bboxes)) 115 | 116 | for i=1:size(bboxes, 1) 117 | % Add the predicted label to outputs 118 | currentLabel = algObj.Map(double(labels(i))); 119 | autoLabels(i).Name = currentLabel{:}; 120 | autoLabels(i).Type = labelType.Rectangle; 121 | autoLabels(i).Position = bboxes(i,:); 122 | 123 | end 124 | 125 | 126 | end 127 | 128 | 129 | end 130 | end 131 | -------------------------------------------------------------------------------- /label/PixelLabelData/Label_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_1.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_10.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_100.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_101.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_102.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_103.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_104.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_105.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_106.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_107.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_108.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_109.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_11.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_110.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_111.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_112.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_113.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_114.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_115.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_116.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_117.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_118.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_119.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_119.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_12.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_120.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_121.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_122.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_123.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_124.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_13.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_14.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_15.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_16.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_17.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_18.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_19.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_2.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_20.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_21.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_22.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_23.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_24.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_25.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_26.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_27.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_28.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_29.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_3.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_30.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_31.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_32.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_33.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_34.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_35.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_36.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_37.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_38.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_39.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_4.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_40.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_41.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_42.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_43.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_44.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_45.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_46.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_47.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_48.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_49.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_5.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_50.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_51.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_52.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_53.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_54.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_55.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_56.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_57.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_58.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_59.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_6.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_60.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_61.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_62.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_63.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_64.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_65.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_66.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_67.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_68.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_69.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_7.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_70.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_71.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_72.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_73.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_74.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_75.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_76.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_77.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_78.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_79.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_8.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_80.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_81.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_82.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_83.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_84.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_85.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_86.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_87.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_88.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_89.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_9.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_90.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_91.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_92.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_93.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_94.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_95.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_96.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_97.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_98.png -------------------------------------------------------------------------------- /label/PixelLabelData/Label_99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData/Label_99.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_1.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_10.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_100.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_101.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_102.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_103.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_104.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_105.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_106.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_107.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_108.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_109.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_11.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_110.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_111.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_112.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_113.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_114.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_115.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_116.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_117.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_118.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_119.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_119.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_12.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_120.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_121.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_122.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_123.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_124.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_13.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_14.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_15.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_16.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_17.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_18.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_19.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_2.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_20.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_21.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_22.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_23.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_24.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_25.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_26.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_27.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_28.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_29.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_3.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_30.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_31.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_32.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_33.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_34.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_35.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_36.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_37.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_38.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_39.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_4.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_40.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_41.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_42.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_43.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_44.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_45.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_46.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_47.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_48.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_49.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_5.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_50.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_51.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_52.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_53.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_54.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_55.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_56.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_57.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_58.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_59.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_6.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_60.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_61.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_62.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_63.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_64.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_65.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_66.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_67.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_68.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_69.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_7.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_70.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_71.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_72.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_73.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_74.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_75.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_76.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_77.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_78.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_79.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_8.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_80.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_81.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_82.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_83.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_84.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_85.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_86.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_87.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_88.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_89.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_9.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_90.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_91.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_92.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_93.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_94.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_95.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_96.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_97.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_98.png -------------------------------------------------------------------------------- /label/PixelLabelData_2/Label_99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/PixelLabelData_2/Label_99.png -------------------------------------------------------------------------------- /label/Rabbit_myself_608.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/Rabbit_myself_608.mat -------------------------------------------------------------------------------- /label/gTruth_Instance.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/gTruth_Instance.mat -------------------------------------------------------------------------------- /label/gTruth_Pixel_2.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/gTruth_Pixel_2.mat -------------------------------------------------------------------------------- /label/gTruth_Seg.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/gTruth_Seg.mat -------------------------------------------------------------------------------- /label/gTruth_Seg2.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/label/gTruth_Seg2.mat -------------------------------------------------------------------------------- /model/Modeldownload: -------------------------------------------------------------------------------- 1 | URL: https://terasoft01-my.sharepoint.com/:f:/g/personal/fred_liu_terasoft_com_tw/Emnj40HI55dBuW2judZLnvIBnE62AV2IeRCqLSOkon9HBw?e=wAgqf1 2 | -------------------------------------------------------------------------------- /model/YOLOX_231207.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/model/YOLOX_231207.mat -------------------------------------------------------------------------------- /rabbitLog_label.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MoonUsagi/DL_Advanced_RabbitDetect/3c1b4c49fb022f05b72998287fc3dd48cf827d42/rabbitLog_label.jpg -------------------------------------------------------------------------------- /setup_readme.m: -------------------------------------------------------------------------------- 1 | %% ALL Setup 2 | % Fred liu 2022.03.01 3 | % 2022.05.17 update 4 | % 2023.03.08 major update(Instance Segmentation) 5 | % 2023.12.07 update(YOLOX,SOLOv2,Autolabel by YOLOX) 6 | 7 | %% 使用流程 Manual 8 | % 1.先使用此份檔案做Setup的路徑載入,以及gTruth檔案的載入 9 | % (Load the path for Setup using this file first, and load the gTruth file.) 10 | 11 | % 2.選擇 num =1 > 物件偵測 num = 2 > 語意分割 12 | %(Select num = 1 for object detection, and num = 2 for semantic segmentation.) 13 | 14 | % 3.更改你的資料路徑(NewPath or Source,Label) 15 | %(Change your data path.) 16 | 17 | %% 教學Live Script 18 | % HowToUseGPU.mlx : GPU使用教學 19 | % YOLOv4_inference.mlx : 進行YOLOv4推理(使用內建模型) 20 | % YOLOv4_bulid.mlx : 客製化YOLOv4架構 21 | % MaskRCNN_inference.mlx : 進行Mask R-CNN推理(使用內建模型) 22 | %% Setup 23 | addpath('src_main'); %主程式main funcion 24 | addpath('src_input'); %格式載入input function 25 | addpath('src_fun'); %副程式function list 26 | addpath('label'); %標記資料Label 27 | addpath('model'); %模型Model 28 | addpath('Img'); %範例影像Example Image 29 | 30 | %% Load gTruth and change path 31 | % 選擇要載入的標記檔案,可以使用物件偵測與語意分割 32 | % (You can select the tag file to load and use object detection and semantic segmentation) 33 | 34 | num = 1; 35 | switch(num) 36 | 37 | %(NewPath) 這裡更改你的資料路徑Change your data path 38 | case 1 % Object Detection(物件偵測) 39 | NewPath = 'D:\Fred\MATLAB_Library(Github)\RabbitDetect\Rabbit_myself_608\'; 40 | T_gTruth = Change_gTruthPath(NewPath); 41 | 42 | %(SourceData) 這裡更改你的資料路徑Change your data path 43 | %(LabelData) 這裡更改你的資料路徑Change your data path 44 | case 2 % Semantic segmentation(語意分割) 45 | SourceData = 'D:\Fred\MATLAB_Library(Github)\RabbitDetect\Rabbit_myself_608\'; 46 | LabelData = 'D:\Fred\MATLAB_Library(Github)\RabbitDetect\label\PixelLabelData_2\'; 47 | FileData ='label\gTruth_Pixel_2.mat'; 48 | [imds,pxds] = Change_gTruthPath_Seg(SourceData,LabelData,FileData); 49 | 50 | case 3 % Instance Segmentation(實例分割) 51 | NewPath = 'D:\Fred\MATLAB_Library(Github)\RabbitDetect\Rabbit_myself_608\'; 52 | T_gTruth = Change_gTruthPath(NewPath); 53 | 54 | SourceData = 'D:\Fred\MATLAB_Library(Github)\RabbitDetect\Rabbit_myself_608\'; 55 | LabelData = 'D:\Fred\MATLAB_Library(Github)\RabbitDetect\label\PixelLabelData_2\'; 56 | FileData ='label\gTruth_Pixel_2.mat'; 57 | [imds,pxds] = Change_gTruthPath_Seg(SourceData,LabelData,FileData); 58 | 59 | end 60 | %% readme 61 | 62 | % DataSet : Rabbit_myself_608.zip , Rabbit_myself_416.zip 63 | % Label Data : label/Rabbit_myself_608.mat 64 | % Model : models/Modeldownload 65 | % Json Label input : src_input/Jsoninput.m 66 | % XML Label input : src_input/XMLinput.m 67 | % Polygon to Msk : src_input/Polygon2mask_bbox.m 68 | % Algorithm : src_main\~~~ 69 | 70 | % ==================================================== 71 | % Object Detection algorithm 72 | % FasterRCNN: SP_FasterRCNN.m 73 | % SSD: SP_SSD.m 74 | % YOLOv2: SP_YOLOv2.m 75 | % YOLOv3: SP_YOLOv3.m 76 | % YOLOv4: SP_YOLOv4.m 77 | % YOLOX: SP_YOLOX.m 78 | % ==================================================== 79 | 80 | % ==================================================== 81 | % Semantic Segmentation algorithm 82 | % DeepLabv3+: SP_DeepLabv3.m 83 | % ==================================================== 84 | 85 | % ==================================================== 86 | % instance Segmentation algorithm 87 | % MaskRCNN: SP_MaskRCNN.m 88 | % SOLOv2: SP_SOLOv2.m 89 | % ==================================================== 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /src_fun/Change_gTruthPath.m: -------------------------------------------------------------------------------- 1 | %% GTruth 2 | % Fred liu 2022.4.27 3 | % Change GTruth Data Path for RabbitData 4 | 5 | %% 6 | function T_gTruth = Change_gTruthPath_Seg(NewPath) 7 | 8 | FileData ='label\Rabbit_myself_608.mat'; 9 | load(FileData) 10 | 11 | imgfile = T_gTruth.imageFilename; 12 | [fPath, fName, fExt] = fileparts(imgfile); 13 | 14 | C = {NewPath,fName,fExt}; 15 | Newpath = strcat({NewPath},fName,fExt); 16 | T_gTruth.imageFilename = Newpath; 17 | 18 | end -------------------------------------------------------------------------------- /src_fun/Change_gTruthPath_Seg.m: -------------------------------------------------------------------------------- 1 | %% GTruth 2 | % Fred liu 2022.7.7 3 | % Change GTruth Data Path for Segmentation RabbitData 4 | 5 | %% 6 | function [imds,pxds] = Change_gTruthPath_Seg(dataPath,labelPath,FileData) 7 | 8 | 9 | load(FileData); 10 | %需更改兩處path,原始資料+標記資料 11 | 12 | % image datastore 13 | imgfile = gTruth_Pixel.DataSource.Source; 14 | [PfPath, PfName, PfExt] = fileparts(imgfile); 15 | ImgNewPath = strcat({dataPath},PfName,PfExt); 16 | imds = imageDatastore(ImgNewPath); 17 | 18 | % label datastore 19 | Labelfile = gTruth_Pixel.LabelData.PixelLabelData; 20 | [LfPath, LfName, LfExt] = fileparts(Labelfile); 21 | LabelNewPath = strcat({labelPath},LfName,LfExt); 22 | 23 | labelIDs = gTruth_Pixel.LabelDefinitions.PixelLabelID; 24 | classes = gTruth_Pixel.LabelDefinitions.Name; 25 | 26 | pxds = pixelLabelDatastore(LabelNewPath,classes,labelIDs); 27 | 28 | end -------------------------------------------------------------------------------- /src_fun/ResizeRabbit.m: -------------------------------------------------------------------------------- 1 | %% Resize Rabbit Dataset 2 | % Fred liu 2022.2.15 3 | % Resize image size for rabbit dataset 4 | 5 | %% 6 | Path = 'D:\Fred\MATLAB_Library(Github)\SpeedTrain\Rabbit_myself_608\'; 7 | srcFiles = dir([Path,'*.jpg']); 8 | imgInputSize = [608 608] 9 | 10 | for i = 1 : length(srcFiles) 11 | 12 | filename = strcat(Path,srcFiles(i).name); 13 | im = imread(filename); 14 | k=imresize(im,imgInputSize); 15 | if i <9 16 | newfilename=strcat(Path,'Rabbit_00',num2str(i),'.jpg'); 17 | elseif i >= 10 18 | newfilename=strcat(Path,'Rabbit_0',num2str(i),'.jpg'); 19 | end 20 | imwrite(k,newfilename,'jpg'); 21 | end 22 | -------------------------------------------------------------------------------- /src_fun/applyActivations.m: -------------------------------------------------------------------------------- 1 | function YPredCell = applyActivations(YPredCell) %#codegen 2 | 3 | % Copyright 2020-2021 The MathWorks, Inc. 4 | 5 | 6 | numCells = size(YPredCell, 1); 7 | for iCell = 1:numCells 8 | for idx = 1:3 9 | YPredCell{iCell, idx} = sigmoidActivation(YPredCell{iCell,idx}); 10 | end 11 | end 12 | for iCell = 1:numCells 13 | for idx = 4:5 14 | YPredCell{iCell, idx} = exp(YPredCell{iCell, idx}); 15 | end 16 | end 17 | for iCell = 1:numCells 18 | YPredCell{iCell, 6} = sigmoidActivation(YPredCell{iCell, 6}); 19 | end 20 | end 21 | 22 | function out = sigmoidActivation(x) 23 | out = 1./(1+exp(-x)); 24 | end -------------------------------------------------------------------------------- /src_fun/applyAnchorBoxOffsets.m: -------------------------------------------------------------------------------- 1 | function YPredCell = applyAnchorBoxOffsets(tiledAnchors,YPredCell,... 2 | inputImageSize,anchorIndex) %#codegen 3 | % Convert the predictions from the YOLO v3 grid cell coordinates to 4 | % bounding box coordinates 5 | 6 | % Copyright 2020-2021 The MathWorks, Inc. 7 | 8 | for i = 1:size(YPredCell,1) 9 | [h,w,~,~] = size(YPredCell{i,1}); 10 | YPredCell{i,anchorIndex(1)} = (tiledAnchors{i,1}+... 11 | YPredCell{i,anchorIndex(1)})./w; 12 | YPredCell{i,anchorIndex(2)} = (tiledAnchors{i,2}+... 13 | YPredCell{i,anchorIndex(2)})./h; 14 | YPredCell{i,anchorIndex(3)} = (tiledAnchors{i,3}.*... 15 | YPredCell{i,anchorIndex(3)})./inputImageSize(2); 16 | YPredCell{i,anchorIndex(4)} = (tiledAnchors{i,4}.*... 17 | YPredCell{i,anchorIndex(4)})./inputImageSize(1); 18 | end 19 | end -------------------------------------------------------------------------------- /src_fun/camvidColorMap.m: -------------------------------------------------------------------------------- 1 | function cmap = camvidColorMap() 2 | % Define the colormap used by CamVid dataset. 3 | 4 | cmap = [ 5 | 128 220 128 % 6 | 0 128 220 % 7 | ]; 8 | 9 | % Normalize between [0 1]. 10 | cmap = cmap ./ 255; 11 | end -------------------------------------------------------------------------------- /src_fun/camvidPixelLabelIDs.m: -------------------------------------------------------------------------------- 1 | function labelIDs = camvidPixelLabelIDs() 2 | 3 | labelIDs = { 4 | 0,...%兔子 5 | 1,...%背景 6 | }; 7 | 8 | % labelIDs = { ... 9 | % 10 | % % "Bicyclist" 11 | % [ 12 | % 000 128 192; ... % "Bicyclist" 13 | % ] 14 | % [ 15 | % 128 128 128; ... % 16 | % ] 17 | % [ 18 | % 128 192 192; % 19 | % ] 20 | % }; 21 | % end -------------------------------------------------------------------------------- /src_fun/extractPredictions.m: -------------------------------------------------------------------------------- 1 | function predictions = extractPredictions(YPredictions, anchorBoxMask) 2 | %#codegen 3 | 4 | % Copyright 2020-2021 The MathWorks, Inc. 5 | 6 | numPredictionHeads = size(YPredictions, 1); 7 | predictions = cell(numPredictionHeads,6); 8 | for ii = 1:numPredictionHeads 9 | % Get the required info on feature size. 10 | numChannelsPred = size(YPredictions{ii},3); 11 | numAnchors = size(anchorBoxMask{ii},2); 12 | numPredElemsPerAnchors = numChannelsPred/numAnchors; 13 | allIds = (1:numChannelsPred); 14 | 15 | stride = numPredElemsPerAnchors; 16 | endIdx = numChannelsPred; 17 | 18 | YPredictionsData = extractdata(YPredictions{ii}); 19 | 20 | % X positions. 21 | startIdx = 1; 22 | predictions{ii,2} = YPredictionsData(:,:,startIdx:stride:endIdx,:); 23 | xIds = startIdx:stride:endIdx; 24 | 25 | % Y positions. 26 | startIdx = 2; 27 | predictions{ii,3} = YPredictionsData(:,:,startIdx:stride:endIdx,:); 28 | yIds = startIdx:stride:endIdx; 29 | 30 | % Width. 31 | startIdx = 3; 32 | predictions{ii,4} = YPredictionsData(:,:,startIdx:stride:endIdx,:); 33 | wIds = startIdx:stride:endIdx; 34 | 35 | % Height. 36 | startIdx = 4; 37 | predictions{ii,5} = YPredictionsData(:,:,startIdx:stride:endIdx,:); 38 | hIds = startIdx:stride:endIdx; 39 | 40 | % Confidence scores. 41 | startIdx = 5; 42 | predictions{ii,1} = YPredictionsData(:,:,startIdx:stride:endIdx,:); 43 | confIds = startIdx:stride:endIdx; 44 | 45 | % Accumulate all the non-class indexes 46 | nonClassIds = [xIds yIds wIds hIds confIds]; 47 | 48 | % Class probabilities. 49 | % Get the indexes which do not belong to the nonClassIds 50 | classIdx = setdiff(allIds, nonClassIds, 'stable'); 51 | predictions{ii,6} = YPredictionsData(:,:,classIdx,:); 52 | end 53 | end -------------------------------------------------------------------------------- /src_fun/generateTargets.m: -------------------------------------------------------------------------------- 1 | function [boxDeltaTarget, objectnessTarget, classTarget, maskTarget, boxErrorScaleTarget] = generateTargets(YPredCellGathered, groundTruth,... 2 | inputImageSize, anchorBoxes, penaltyThreshold) 3 | % generateTargets creates target array for every prediction element 4 | % x, y, width, height, confidence scores and class probabilities. 5 | 6 | boxDeltaTarget = cell(size(YPredCellGathered,1),4); 7 | objectnessTarget = cell(size(YPredCellGathered,1),1); 8 | classTarget = cell(size(YPredCellGathered,1),1); 9 | maskTarget = cell(size(YPredCellGathered,1),3); 10 | boxErrorScaleTarget = cell(size(YPredCellGathered,1),1); 11 | 12 | % Normalize the ground truth boxes w.r.t image input size. 13 | gtScale = [inputImageSize(2) inputImageSize(1) inputImageSize(2) inputImageSize(1)]; 14 | groundTruth(:,1:4,:,:) = groundTruth(:,1:4,:,:)./gtScale; 15 | 16 | anchorBoxesSet = cell2mat(anchorBoxes); 17 | 18 | maskIdx = 1:size(anchorBoxesSet,1); 19 | cellsz = cellfun(@size,anchorBoxes,'uni',false); 20 | convMask = cellfun(@(v)v(1),cellsz); 21 | anchorBoxMask = mat2cell(maskIdx,1,convMask)'; 22 | 23 | for numPred = 1:size(YPredCellGathered,1) 24 | 25 | % Select anchor boxes based on anchor box mask indices. 26 | anchors = anchorBoxes{numPred, :}; 27 | 28 | bx = YPredCellGathered{numPred,2}; 29 | by = YPredCellGathered{numPred,3}; 30 | bw = YPredCellGathered{numPred,4}; 31 | bh = YPredCellGathered{numPred,5}; 32 | predClasses = YPredCellGathered{numPred,6}; 33 | 34 | gridSize = size(bx); 35 | if numel(gridSize)== 3 36 | gridSize(4) = 1; 37 | end 38 | numClasses = size(predClasses,3)./size(anchors,1); 39 | 40 | % Initialize the required variables. 41 | mask = single(zeros(size(bx))); 42 | confMask = single(ones(size(bx))); 43 | classMask = single(zeros(size(predClasses))); 44 | tx = single(zeros(size(bx))); 45 | ty = single(zeros(size(by))); 46 | tw = single(zeros(size(bw))); 47 | th = single(zeros(size(bh))); 48 | tconf = single(zeros(size(bx))); 49 | tclass = single(zeros(size(predClasses))); 50 | boxErrorScale = single(ones(size(bx))); 51 | 52 | % Get the IOU of predictions with groundtruth. 53 | iou = getMaxIOUPredictedWithGroundTruth(bx,by,bw,bh,groundTruth); 54 | 55 | % Donot penalize the predictions which has iou greater than penalty 56 | % threshold. 57 | confMask(iou > penaltyThreshold) = 0; 58 | 59 | for batch = 1:gridSize(4) 60 | truthBatch = groundTruth(:,1:5,:,batch); 61 | truthBatch = truthBatch(all(truthBatch,2),:); 62 | 63 | % Get boxes with center as 0. 64 | gtPred = [0-truthBatch(:,3)/2,0-truthBatch(:,4)/2,truthBatch(:,3),truthBatch(:,4)]; 65 | anchorPrior = [0-anchorBoxesSet(:,2)/(2*inputImageSize(2)),0-anchorBoxesSet(:,1)/(2*inputImageSize(1)),anchorBoxesSet(:,2)/inputImageSize(2),anchorBoxesSet(:,1)/inputImageSize(1)]; 66 | 67 | % Get the iou of best matching anchor box. 68 | overLap = bboxOverlapRatio(gtPred,anchorPrior); 69 | [~,bestAnchorIdx] = max(overLap,[],2); 70 | 71 | % Select gt that are within the mask. 72 | index = ismember(bestAnchorIdx,anchorBoxMask{numPred}); 73 | truthBatch = truthBatch(index,:); 74 | bestAnchorIdx = bestAnchorIdx(index,:); 75 | bestAnchorIdx = bestAnchorIdx - anchorBoxMask{numPred}(1,1) + 1; 76 | 77 | if ~isempty(truthBatch) 78 | % Convert top left position of ground-truth to centre coordinates. 79 | truthBatch = [truthBatch(:,1)+truthBatch(:,3)./2,truthBatch(:,2)+truthBatch(:,4)./2,truthBatch(:,3),truthBatch(:,4),truthBatch(:,5)]; 80 | 81 | errorScale = 2 - truthBatch(:,3).*truthBatch(:,4); 82 | truthBatch = [truthBatch(:,1)*gridSize(2),truthBatch(:,2)*gridSize(1),truthBatch(:,3)*inputImageSize(2),truthBatch(:,4)*inputImageSize(1),truthBatch(:,5)]; 83 | for t = 1:size(truthBatch,1) 84 | 85 | % Get the position of ground-truth box in the grid. 86 | colIdx = ceil(truthBatch(t,1)); 87 | colIdx(colIdx<1) = 1; 88 | colIdx(colIdx>gridSize(2)) = gridSize(2); 89 | rowIdx = ceil(truthBatch(t,2)); 90 | rowIdx(rowIdx<1) = 1; 91 | rowIdx(rowIdx>gridSize(1)) = gridSize(1); 92 | pos = [rowIdx,colIdx]; 93 | anchorIdx = bestAnchorIdx(t,1); 94 | 95 | mask(pos(1,1),pos(1,2),anchorIdx,batch) = 1; 96 | confMask(pos(1,1),pos(1,2),anchorIdx,batch) = 1; 97 | 98 | % Calculate the shift in ground-truth boxes. 99 | tShiftX = truthBatch(t,1)-pos(1,2)+1; 100 | tShiftY = truthBatch(t,2)-pos(1,1)+1; 101 | tShiftW = log(truthBatch(t,3)/anchors(anchorIdx,2)); 102 | tShiftH = log(truthBatch(t,4)/anchors(anchorIdx,1)); 103 | 104 | % Update the target box. 105 | tx(pos(1,1),pos(1,2),anchorIdx,batch) = tShiftX; 106 | ty(pos(1,1),pos(1,2),anchorIdx,batch) = tShiftY; 107 | tw(pos(1,1),pos(1,2),anchorIdx,batch) = tShiftW; 108 | th(pos(1,1),pos(1,2),anchorIdx,batch) = tShiftH; 109 | boxErrorScale(pos(1,1),pos(1,2),anchorIdx,batch) = errorScale(t); 110 | tconf(rowIdx,colIdx,anchorIdx,batch) = 1; 111 | classIdx = (numClasses*(anchorIdx-1))+truthBatch(t,5); 112 | tclass(rowIdx,colIdx,classIdx,batch) = 1; 113 | classMask(rowIdx,colIdx,(numClasses*(anchorIdx-1))+(1:numClasses),batch) = 1; 114 | end 115 | end 116 | end 117 | boxDeltaTarget(numPred,:) = [{tx} {ty} {tw} {th}]; 118 | objectnessTarget{numPred,1} = tconf; 119 | classTarget{numPred,1} = tclass; 120 | maskTarget(numPred,:) = [{mask} {confMask} {classMask}]; 121 | boxErrorScaleTarget{numPred,:} = boxErrorScale; 122 | end 123 | end 124 | 125 | function iou = getMaxIOUPredictedWithGroundTruth(predx,predy,predw,predh,truth) 126 | % getMaxIOUPredictedWithGroundTruth computes the maximum intersection over 127 | % union scores for every pair of predictions and ground-truth boxes. 128 | 129 | [h,w,c,n] = size(predx); 130 | iou = zeros([h w c n],'like',predx); 131 | 132 | % For each batch prepare the predictions and ground-truth. 133 | for batchSize = 1:n 134 | truthBatch = truth(:,1:4,1,batchSize); 135 | truthBatch = truthBatch(all(truthBatch,2),:); 136 | predxb = predx(:,:,:,batchSize); 137 | predyb = predy(:,:,:,batchSize); 138 | predwb = predw(:,:,:,batchSize); 139 | predhb = predh(:,:,:,batchSize); 140 | predb = [predxb(:),predyb(:),predwb(:),predhb(:)]; 141 | 142 | % Convert from center xy coordinate to topleft xy coordinate. 143 | predb = [predb(:,1)-predb(:,3)./2, predb(:,2)-predb(:,4)./2, predb(:,3), predb(:,4)]; 144 | 145 | % Compute and extract the maximum IOU of predictions with ground-truth. 146 | try 147 | overlap = bboxOverlapRatio(predb, truthBatch); 148 | catch me 149 | if(any(isnan(predb(:)))) 150 | error(me.message + " NaN/Inf has been detected during training. Try reducing the learning rate."); 151 | else 152 | error(me.message + " Invalid groundtruth. Check that your ground truth boxes are not empty and finite, are fully contained within the image boundary, and have positive width and height."); 153 | end 154 | end 155 | 156 | maxOverlap = max(overlap,[],2); 157 | iou(:,:,:,batchSize) = reshape(maxOverlap,h,w,c); 158 | end 159 | end -------------------------------------------------------------------------------- /src_fun/generateTiledAnchors.m: -------------------------------------------------------------------------------- 1 | function tiledAnchors = generateTiledAnchors(YPredCell,anchorBoxes,... 2 | anchorBoxMask,anchorIndex) 3 | % Generate tiled anchor offset for converting the predictions from the YOLO 4 | % v3 grid cell coordinates to bounding box coordinates 5 | %#codegen 6 | 7 | % Copyright 2020-2021 The MathWorks, Inc. 8 | 9 | numPredictionHeads = size(YPredCell,1); 10 | tiledAnchors = cell(numPredictionHeads, size(anchorIndex, 2)); 11 | for i = 1:numPredictionHeads 12 | anchors = anchorBoxes(anchorBoxMask{i}, :); 13 | [h,w,~,n] = size(YPredCell{i,1}); 14 | [tiledAnchors{i,2},tiledAnchors{i,1}] = ndgrid(0:h-1,0:w-1,... 15 | 1:size(anchors,1),1:n); 16 | [~,~,tiledAnchors{i,3}] = ndgrid(0:h-1,0:w-1,anchors(:,2),1:n); 17 | [~,~,tiledAnchors{i,4}] = ndgrid(0:h-1,0:w-1,anchors(:,1),1:n); 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /src_fun/generateYOLOv3DetectionsForCodegen.m: -------------------------------------------------------------------------------- 1 | function [bboxes,scores,labelsIndex] = generateYOLOv3DetectionsForCodegen(detectionsCell,... 2 | confidenceThreshold,overlapThreshold,imageSize,classes) 3 | % Apply following post processing steps to filter the detections: 4 | % * Filter detections based on threshold. 5 | % * Convert bboxes from spatial to pixel dimension. 6 | %#codegen 7 | 8 | % Copyright 2020-2021 The MathWorks, Inc. 9 | 10 | % Combine the prediction from different heads. 11 | numCells = size(detectionsCell, 1); 12 | detectionSize = zeros(1, numCells); 13 | for iCell = 1:numCells 14 | detectionSize(iCell) = numel(detectionsCell{iCell,1}); 15 | end 16 | detectionSizeIndx = [0 cumsum(detectionSize)]; 17 | detections = zeros(detectionSizeIndx(end), 6,'single'); 18 | for iCell = 1:numCells 19 | for iCol = 1:5 20 | detections(detectionSizeIndx(iCell)+1:detectionSizeIndx(iCell+1),iCol) = reshapePredictions(detectionsCell{iCell,iCol}); 21 | end 22 | detections(detectionSizeIndx(iCell)+1:detectionSizeIndx(iCell+1),6) = reshapeClasses(detectionsCell{iCell,6},numel(classes)); 23 | end 24 | 25 | % Keep detections whose objectness score is greater than thresh. 26 | confidenceTmp = detections(:,1); 27 | detections = detections(confidenceTmp>confidenceThreshold,:); 28 | 29 | % Initialize bboxes,scores,labels. 30 | bboxes = zeros(0,'single'); 31 | scores = zeros(0,'single'); 32 | labelsIndex = zeros(0,'single'); 33 | 34 | % Filter the classes based on (confidence score * class probability). 35 | if ~isempty(detections) 36 | [classProbs, classIdx] = max(detections(:,6:end),[],2); 37 | detections(:,1) = detections(:,1).*classProbs; 38 | detections(:,6) = classIdx; 39 | detections = detections(detections(:,1)>=confidenceThreshold,:); 40 | if ~isempty(detections) 41 | 42 | bboxes = detections(:,2:5); 43 | scale = [imageSize(2) imageSize(1) imageSize(2) imageSize(1)]; 44 | bboxes = bsxfun(@times, bboxes, scale); 45 | 46 | % Convert x and y position of detections from center to top-left. 47 | % Resize boxes to image size. 48 | bboxes = convertCenterToTopLeft(bboxes); 49 | 50 | scores = detections(:,1); 51 | labelsIndex = detections(:,6); 52 | 53 | % Apply suppression to the detections to filter out multiple 54 | % overlapping detections. 55 | if ~isempty(scores) 56 | [bboxes,scores,labelsIndex] = selectStrongestBboxMulticlass(bboxes,scores,labelsIndex ,... 57 | 'RatioType','Union','OverlapThreshold',overlapThreshold); 58 | end 59 | end 60 | end 61 | end 62 | 63 | % Convert x and y position of detections from center to top-left. 64 | function bboxes = convertCenterToTopLeft(bboxes) 65 | bboxes(:,1) = bboxes(:,1)- bboxes(:,3)/2 + 0.5; 66 | bboxes(:,2) = bboxes(:,2)- bboxes(:,4)/2 + 0.5; 67 | bboxes = floor(bboxes); 68 | bboxes(bboxes<1) = 1; 69 | end 70 | 71 | function x = reshapePredictions(pred) 72 | [h,w,c,n] = size(pred); 73 | x = reshape(pred,h*w*c,1,n); 74 | end 75 | 76 | function x = reshapeClasses(pred,numclasses) 77 | [h,w,c,n] = size(pred); 78 | numanchors = c/numclasses; 79 | x = reshape(pred,h*w,numclasses,numanchors,n); 80 | x = permute(x,[1,3,2,4]); 81 | [h,w,c,n] = size(x); 82 | x = reshape(x,h*w,c,n); 83 | end -------------------------------------------------------------------------------- /src_fun/partitionCamVidData.m: -------------------------------------------------------------------------------- 1 | function [imdsTrain, imdsVal, imdsTest, pxdsTrain, pxdsVal, pxdsTest] = partitionCamVidData(imds,pxds) 2 | % Partition CamVid data by randomly selecting 60% of the data for training. The 3 | % rest is used for testing. 4 | 5 | % Set initial random state for example reproducibility. 6 | rng(0); 7 | numFiles = numel(imds.Files); 8 | shuffledIndices = randperm(numFiles); 9 | 10 | % Use 90% of the images for training. 11 | numTrain = round(0.90 * numFiles); 12 | trainingIdx = shuffledIndices(1:numTrain); 13 | 14 | % Use 5% of the images for validation 15 | numVal = round(0.05 * numFiles); 16 | valIdx = shuffledIndices(numTrain+1:numTrain+numVal); 17 | 18 | % Use the rest for testing. 19 | testIdx = shuffledIndices(numTrain+numVal+1:end); 20 | 21 | % Create image datastores for training and test. 22 | trainingImages = imds.Files(trainingIdx); 23 | valImages = imds.Files(valIdx); 24 | testImages = imds.Files(testIdx); 25 | 26 | imdsTrain = imageDatastore(trainingImages); 27 | imdsVal = imageDatastore(valImages); 28 | imdsTest = imageDatastore(testImages); 29 | 30 | % Extract class and label IDs info. 31 | classes = pxds.ClassNames; 32 | labelIDs = camvidPixelLabelIDs(); 33 | 34 | % Create pixel label datastores for training and test. 35 | trainingLabels = pxds.Files(trainingIdx); 36 | valLabels = pxds.Files(valIdx); 37 | testLabels = pxds.Files(testIdx); 38 | 39 | pxdsTrain = pixelLabelDatastore(trainingLabels, classes, labelIDs); 40 | pxdsVal = pixelLabelDatastore(valLabels, classes, labelIDs); 41 | pxdsTest = pixelLabelDatastore(testLabels, classes, labelIDs); 42 | end 43 | function data = augmentImageAndLabel(data, xTrans, yTrans) 44 | % Augment images and pixel label images using random reflection and 45 | % translation. 46 | 47 | for i = 1:size(data,1) 48 | 49 | tform = randomAffine2d(... 50 | 'XReflection',true,... 51 | 'XTranslation', xTrans, ... 52 | 'YTranslation', yTrans); 53 | 54 | % Center the view at the center of image in the output space while 55 | % allowing translation to move the output image out of view. 56 | rout = affineOutputView(size(data{i,1}), tform, 'BoundsStyle', 'centerOutput'); 57 | 58 | % Warp the image and pixel labels using the same transform. 59 | data{i,1} = imwarp(data{i,1}, tform, 'OutputView', rout); 60 | data{i,2} = imwarp(data{i,2}, tform, 'OutputView', rout); 61 | 62 | end 63 | end -------------------------------------------------------------------------------- /src_fun/preprocessData.m: -------------------------------------------------------------------------------- 1 | function image = preprocessData(image, targetSize) 2 | % Resize the images and scale the pixels to between 0 and 1. 3 | %#codegen 4 | 5 | % Copyright 2020-2021 The MathWorks, Inc. 6 | 7 | 8 | imgSize = size(image); 9 | 10 | % Convert an input image with single channel to 3 channels. 11 | if numel(imgSize) < 1 12 | image = repmat(image,1,1,3); 13 | end 14 | 15 | image = im2single(rescale(image)); 16 | 17 | image = iLetterBoxImage(image,coder.const(targetSize(1:2))); 18 | 19 | end 20 | 21 | 22 | function Inew = iLetterBoxImage(I,targetSize) 23 | % LetterBoxImage returns a resized image by preserving the width and height 24 | % aspect ratio of input Image I. 'targetSize' is a 1-by-2 vector consisting 25 | % the target dimension. 26 | % 27 | % Input I can be uint8, uint16, int16, double, single, or logical, and must 28 | % be real and non-sparse. 29 | 30 | [Irow,Icol,Ichannels] = size(I); 31 | 32 | % Compute aspect Ratio. 33 | arI = Irow./Icol; 34 | 35 | % Preserve the maximum dimension based on the aspect ratio. 36 | if arI<1 37 | IcolFin = targetSize(1,2); 38 | IrowFin = floor(IcolFin.*arI); 39 | else 40 | IrowFin = targetSize(1,1); 41 | IcolFin = floor(IrowFin./arI); 42 | end 43 | 44 | % Resize the input image. 45 | Itmp = imresize(I,[IrowFin,IcolFin]); 46 | 47 | % Initialize Inew with gray values. 48 | Inew = ones([targetSize,Ichannels],'like',I).*0.5; 49 | 50 | % Compute the offset. 51 | if arI<1 52 | buff = targetSize(1,1)-IrowFin; 53 | else 54 | buff = targetSize(1,2)-IcolFin; 55 | end 56 | 57 | % Place the resized image on the canvas image. 58 | if (buff==0) 59 | Inew = Itmp; 60 | else 61 | buffVal = floor(buff/2); 62 | if arI<1 63 | Inew(buffVal:buffVal+IrowFin-1,:,:) = Itmp; 64 | else 65 | Inew(:,buffVal:buffVal+IcolFin-1,:) = Itmp; 66 | end 67 | end 68 | 69 | end -------------------------------------------------------------------------------- /src_input/JsonSegInput.m: -------------------------------------------------------------------------------- 1 | %% Json Image Segmetation Label File Read 2 | % Fred liu 2022.7.11 3 | % Simple Cdoe For Label Transfer 4 | 5 | %% Load Json and Decode to MATLAB Label 6 | filename = " "; 7 | strData = fileread(filename); 8 | DecodeData = jsondecode(strData); 9 | 10 | imgPath = DecodeData.imagePath; 11 | FilePath = " "; 12 | FilePath = [FilePath,'\',imgPath]; 13 | img = imread(FilePath); 14 | Points = DecodeData.shapes(1).points; 15 | Points2 = DecodeData.shapes(2).points; 16 | 17 | BW = poly2mask(Points(:,1),Points(:,2),DecodeData.imageHeight,DecodeData.imagewidth); 18 | BW2 = poly2mask(Points2(:,1),Points2(:,2),DecodeData.imageHeight,DecodeData.imagewidth); 19 | BW3 = BW + BW2; 20 | -------------------------------------------------------------------------------- /src_input/Jsoninput.m: -------------------------------------------------------------------------------- 1 | %% Json Label File Read 2 | % Fred liu 2022.3.1 3 | 4 | %% Json Read(載入Json標記資訊 & 字串正規化) 5 | % Train 6 | filename = 'D:\Fred\MATLAB Library(Github)\ObjectDetection\DataSet\Cottontail-Rabbits.v1-augmented-data.coco\train\_annotations.coco.json'; 7 | strData = fileread(filename); 8 | DecodeData = jsondecode(strData); 9 | % 10 | idx = findgroups([DecodeData.annotations.image_id]); 11 | T_bbox = splitapply(@(x){x},[DecodeData.annotations.bbox],idx)'; 12 | T_file = {DecodeData.images.file_name}'; 13 | % arrayfun(@(x)getfield(x,'file_name'),DecodeData.images,'UniformOutput',false); 14 | gTruth_labeler = table(T_file,T_bbox); 15 | 16 | % Test 17 | filename2 = 'D:\Fred\MATLAB Library(Github)\ObjectDetection\DataSet\Cottontail-Rabbits.v1-augmented-data.coco\test\_annotations.coco.json'; 18 | strData2 = fileread(filename2); 19 | DecodeData2 = jsondecode(strData2); 20 | % 21 | idx2 = findgroups([DecodeData2.annotations.image_id]); 22 | T_bbox2 = splitapply(@(x){x},[DecodeData2.annotations.bbox],idx2)'; 23 | T_file2 = {DecodeData2.images.file_name}'; 24 | % arrayfun(@(x)getfield(x,'file_name'),DecodeData.images,'UniformOutput',false); 25 | gTruth_labeler2 = table(T_file2,T_bbox2); 26 | 27 | %% String Normalization(字串正規化) 28 | PathTrain = 'D:\Fred\MATLAB Library(Github)\ObjectDetection\DataSet\Cottontail-Rabbits.v1-augmented-data.coco\train'; 29 | PathTrain2 = [PathTrain,'\']; 30 | TrainImg = strcat(PathTrain2,string(gTruth_labeler.T_file)); 31 | 32 | PathTest = 'D:\Fred\MATLAB Library(Github)\ObjectDetection\DataSet\Cottontail-Rabbits.v1-augmented-data.coco\test'; 33 | PathTest2 = [PathTest,'\']; 34 | TestImg = strcat(PathTest2,string(gTruth_labeler2.T_file2)); 35 | 36 | 37 | -------------------------------------------------------------------------------- /src_input/Polygon2mask_bbox.m: -------------------------------------------------------------------------------- 1 | %% Instance Segmantic Labeler Transfer 2 | % Fred liu 2023.4.28 3 | % 此範例介紹如何對單張的影像進行標記格式的轉換 4 | % This example demonstrates how to convert the annotation format for a single image. 5 | % 將Polygon的標記格式,轉成可以讓Instance Segmantic所需的mask與bboxes 6 | % Converting the Polygon annotation format into masks and bboxes required for Instance Segmentation. 7 | %% Use the gatherLabelData property and store the output. 8 | % 從標記資料中拿出Polygon資訊 9 | load("label/gTruth_Instance.mat") 10 | out = gatherLabelData(gTruth,[labelType.Polygon],'GroupLabelData','LabelType'); 11 | 12 | % Show the contents of the table. 13 | out{1}.PolygonData 14 | 15 | %% Preallocate a mask stack for instance segmentation 16 | polygons = out{1}.PolygonData{1}(:,1); 17 | numPolygons = size(polygons,1); 18 | 19 | imageSize = [608 608]; % size(boats_im) 20 | maskStack = false([imageSize(1:2) numPolygons]); 21 | 22 | %% Convert polygons to instance masks 23 | for i = 1:numPolygons 24 | maskStack(:,:,i) = poly2mask(polygons{i}(:,1), ... 25 | polygons{i}(:,2),imageSize(1),imageSize(2)); 26 | end 27 | 28 | figure,imshow(maskStack) 29 | %% Polygons to Boundingbox 30 | x1 = polygons{1}(:,1); 31 | y1 = polygons{1}(:,2); 32 | poyin = polyshape({x1},{y1}); 33 | [xlim,ylim] = boundingbox(poyin); 34 | 35 | bboxes = round([xlim(1,1),ylim(1,1),xlim(1,2)-xlim(1,1),ylim(1,2)-ylim(1,1)]); 36 | %% Show Image 37 | % Read Image (請更換資料路徑或使用自己的資料|Change data path or using self data 38 | img = imread(gTruth.DataSource.Source{1}); 39 | % Load Label 40 | label = gTruth.LabelData.Properties.VariableNames; 41 | 42 | imOverlay = insertObjectMask(img,maskStack); 43 | figure,imshow(imOverlay) 44 | showShape("rectangle",bboxes,Label=label,Color="red"); 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src_input/XMLinput.m: -------------------------------------------------------------------------------- 1 | %% XML Label File Read 2 | % Fred liu 2022.3.1 3 | 4 | %% Load XML File & String Normalization(載入XML標記資訊 & 字串正規化) 5 | ds = fileDatastore('Train_Dataset\Train_Labels','ReadFcn',@readFcn); 6 | T_bbox= readall(ds); 7 | ds2 = fileDatastore('Train_Dataset\Train_Labels','ReadFcn',@readFcn2); 8 | T_file= readall(ds2); 9 | 10 | gTruth_labeler = table(T_file,T_bbox); 11 | 12 | % Test============================================== 13 | dsTest = fileDatastore('Test_Dataset\Test_Labels','ReadFcn',@readFcn); 14 | dsTest_bbox= readall(dsTest); 15 | dsTest2 = fileDatastore('Test_Dataset\Test_Labels','ReadFcn',@readFcn2); 16 | dsTest_file= readall(dsTest2); 17 | 18 | Test_gTruth_labeler = table(dsTest_file,dsTest_bbox); -------------------------------------------------------------------------------- /src_input/preprocessImg.m: -------------------------------------------------------------------------------- 1 | function Iout= preprocessImg(filename,inputSize) 2 | 3 | I= imread(filename); 4 | 5 | Iout = imresize(I,inputSize); 6 | 7 | end 8 | 9 | -------------------------------------------------------------------------------- /src_input/readFcn.m: -------------------------------------------------------------------------------- 1 | function [bboxList,objectFile] = readFcn(x) 2 | 3 | xmltxt = readstruct(x); 4 | 5 | objectPos = xmltxt.object; 6 | 7 | t= [objectPos.bndbox]; 8 | 9 | outputlist = reshape(struct2array(t),[],size(t,2))'; 10 | W = abs(outputlist(:,3) - outputlist(:,1)); 11 | H = abs(outputlist(:,4) - outputlist(:,2)); 12 | xmin = outputlist(:,1); 13 | ymin = outputlist(:,2); 14 | bboxList = [xmin,ymin,W,H]; 15 | objectFile = xmltxt.filename; 16 | -------------------------------------------------------------------------------- /src_input/readFcn2.m: -------------------------------------------------------------------------------- 1 | function objectFile = readFcn2(x) 2 | % DOMnode = xmlread(xml_01); 3 | 4 | xmltxt = readstruct(x); 5 | 6 | objectFile = xmltxt.filename; 7 | 8 | -------------------------------------------------------------------------------- /src_main/SP_DeepLabv3.m: -------------------------------------------------------------------------------- 1 | %% SP_DeepLabv3 2 | % Fred liu 2022.7.11 3 | % DeepLabv3 Demno for RabbitData 4 | 5 | % 2022.10.07 bug update 6 | % class numer and class name error 7 | %% Build Datasotre 8 | % you can get labeldata from gtruth or using define label(setup_readme) 9 | %imds = imageDatastore(gTruth.DataSource.Source); 10 | num = 15; 11 | % Display one of the image 12 | img = readimage(imds,num); 13 | img = histeq(img); 14 | figure,imshow(img) 15 | 16 | %% Load Labeled Image 17 | % you can get labeldata from gtruth or using define label(setup_readme) 18 | %classes = ["rabbit","zero"]; 19 | %labelIDs = [1 2]; 20 | %pxds = pixelLabelDatastore(gTruth.LabelData.PixelLabelData,classes,labelIDs); 21 | 22 | %% 影像與標記資料預檢視 23 | %C = readimage(pxds,5); 24 | pixelImg = imread(pxds.Files{num}); 25 | %pixelImg = readimage(pxds,num); 26 | 27 | cmap = camvidColorMap; 28 | layImg = labeloverlay(img,pixelImg,'ColorMap',cmap); 29 | figure,imshow(layImg) 30 | pixelLabelColorbar(cmap,[pxds.ClassNames;'other']); 31 | 32 | 33 | %% 分割資料 34 | [imdsTrain, imdsVal, imdsTest, pxdsTrain, pxdsVal, pxdsTest] = partitionCamVidData(imds,pxds); 35 | numTrainingImages = numel(imdsTrain.Files); 36 | numValImages = numel(imdsVal.Files); 37 | numTestingImages = numel(imdsTest.Files); 38 | 39 | %% 建立Network 40 | imageSize = [608 608 3]; 41 | 42 | % Specify the number of classes. 43 | numClasses = numel(pxds.ClassNames); 44 | 45 | 46 | % Create DeepLab v3+. 47 | lgraph = deeplabv3plusLayers(imageSize, numClasses, "resnet50"); 48 | % Semantic Segmentation With Deep Learning 49 | 50 | %% 平衡分類權重 Balance Classes Using Class Weighting 51 | tbl = countEachLabel(pxds) 52 | imageFreq = tbl.PixelCount ./ tbl.ImagePixelCount; 53 | classWeights = median(imageFreq) ./ imageFreq; 54 | 55 | pxLayer = pixelClassificationLayer('Name','labels','Classes',tbl.Name,'ClassWeights',classWeights); 56 | lgraph = replaceLayer(lgraph,"classification",pxLayer); 57 | 58 | %% Training Options 59 | % Define validation data. 60 | dsVal = combine(imdsVal,pxdsVal); 61 | 62 | % Define training options. 63 | options = trainingOptions('sgdm', ... 64 | 'LearnRateSchedule','piecewise',... 65 | 'LearnRateDropPeriod',10,... 66 | 'LearnRateDropFactor',0.3,... 67 | 'Momentum',0.9, ... 68 | 'InitialLearnRate',1e-3, ... 69 | 'L2Regularization',0.005, ... 70 | 'MaxEpochs',100, ... 71 | 'MiniBatchSize',16, ... 72 | 'Shuffle','every-epoch', ... 73 | 'CheckpointPath', tempdir, ... 74 | 'VerboseFrequency',10,... 75 | 'ValidationData',dsVal,... 76 | 'ValidationPatience', 10,... 77 | 'Plots','training-progress'); 78 | 79 | %% Data Augmentation 80 | dsTrain = combine(imdsTrain, pxdsTrain); 81 | 82 | xTrans = [-10 10]; 83 | yTrans = [-10 10]; 84 | dsTrain = transform(dsTrain, @(data)augmentImageAndLabel(data,xTrans,yTrans)); 85 | 86 | %% Start Training 87 | [DeepLabv3net, info] = trainNetwork(dsTrain,lgraph,options); 88 | 89 | %% Test Single Image 90 | I = readimage(imdsVal,2); 91 | C = semanticseg(I, DeepLabv3net); 92 | 93 | B = labeloverlay(I,C,'Colormap',cmap,'Transparency',0.4); 94 | figure,imshow(B) 95 | pixelLabelColorbar(cmap, pxds.ClassNames); 96 | 97 | %% Test Dataset 98 | expectedResult = readimage(pxdsTest,5); 99 | actual = uint8(C); 100 | expected = uint8(expectedResult); 101 | imshowpair(actual, expected) 102 | 103 | iou = jaccard(C,expectedResult); 104 | table(pxds.ClassNames,iou) 105 | 106 | pxdsResults = semanticseg(imdsTest,DeepLabv3net, ... 107 | 'MiniBatchSize',4, ... 108 | 'WriteLocation',tempdir, ... 109 | 'Verbose',false); 110 | 111 | metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTest,'Verbose',false); 112 | metrics.DataSetMetrics 113 | metrics.ClassMetrics 114 | 115 | %% Supporting Functions 116 | % 輔助函式 117 | 118 | function pixelLabelColorbar(cmap, classNames) 119 | % Add a colorbar to the current axis. The colorbar is formatted 120 | % to display the class names with the color. 121 | 122 | colormap(gca,cmap) 123 | 124 | % Add colorbar to current figure. 125 | c = colorbar('peer', gca); 126 | 127 | % Use class names for tick marks. 128 | c.TickLabels = classNames; 129 | numClasses = size(cmap,1); 130 | 131 | % Center tick labels. 132 | c.Ticks = 1/(numClasses*2):1/numClasses:1; 133 | 134 | % Remove tick mark. 135 | c.TickLength = 0; 136 | end 137 | 138 | 139 | 140 | function data = augmentImageAndLabel(data, xTrans, yTrans) 141 | % Augment images and pixel label images using random reflection and 142 | % translation. 143 | 144 | for i = 1:size(data,1) 145 | 146 | tform = randomAffine2d(... 147 | 'XReflection',true,... 148 | 'XTranslation', xTrans, ... 149 | 'YTranslation', yTrans); 150 | 151 | % Center the view at the center of image in the output space while 152 | % allowing translation to move the output image out of view. 153 | rout = affineOutputView(size(data{i,1}), tform, 'BoundsStyle', 'centerOutput'); 154 | 155 | % Warp the image and pixel labels using the same transform. 156 | data{i,1} = imwarp(data{i,1}, tform, 'OutputView', rout); 157 | data{i,2} = imwarp(data{i,2}, tform, 'OutputView', rout); 158 | 159 | end 160 | end -------------------------------------------------------------------------------- /src_main/SP_FasterRCNN.m: -------------------------------------------------------------------------------- 1 | %% SP_FasterRCNN 2 | % Fred liu 2022.2.15 3 | % 2022.5.16 updata Augmentation function using MATLAB 2022a version 4 | % FasterRCNN Demno for RabbitData 5 | 6 | %% DataSet Split 7 | % 切割資料 8 | %rng(0) 9 | shuffledIndices = randperm(height(T_gTruth)); 10 | idx = floor(0.8 * height(T_gTruth)); 11 | 12 | trainingIdx = 1:idx; 13 | trainingDataTbl = T_gTruth(shuffledIndices(trainingIdx),:); 14 | 15 | testIdx = trainingIdx(end)+1 : length(shuffledIndices); 16 | testDataTbl = T_gTruth(shuffledIndices(testIdx),:); 17 | %% Build Datasotre 18 | % 建立資料庫 19 | % Train 20 | imdsTrain = imageDatastore(trainingDataTbl.imageFilename); 21 | bldsTrain = boxLabelDatastore(trainingDataTbl(:,2:end)); 22 | 23 | % Test 24 | imdsTest = imageDatastore(testDataTbl.imageFilename); 25 | bldsTest = boxLabelDatastore(testDataTbl(:,2:end)); 26 | 27 | %% Combine Datastore 28 | % 整併資料庫 29 | trainingData = combine(imdsTrain,bldsTrain); 30 | testData = combine(imdsTest,bldsTest); 31 | 32 | %% Data Augmentation 33 | % 資料增量 34 | augmentedTrainingData = transform(trainingData,@augmentData); 35 | 36 | augmentedData = cell(4,1); 37 | for k = 1:4 38 | data = read(augmentedTrainingData); 39 | augmentedData{k} = insertShape(data{1},'Rectangle',data{2}); 40 | reset(augmentedTrainingData); 41 | end 42 | figure 43 | montage(augmentedData,'BorderSize',10) 44 | 45 | %% Build Network 46 | % 建置網路架構 FasterRCNN + mobilenetv2 47 | inputSize = [224 224 3]; 48 | numClasses = 1; 49 | network = 'mobilenetv2'; 50 | featureLayer = 'out_relu'; 51 | anchorBoxes = [64,64; 128,128; 192,192]; 52 | lgraph = fasterRCNNLayers(inputSize ,numClasses,anchorBoxes, ... 53 | network,featureLayer); 54 | %analyzeNetwork(lgraph) 55 | 56 | %% Preprocess Training Data 57 | % 流程前處理 資料Size校正 58 | trainingData = transform(augmentedTrainingData,@(data)FasterRCNNpreprocessData(data,inputSize)); 59 | data = read(trainingData); 60 | 61 | I = data{1}; 62 | bbox = data{2}; 63 | annotatedImage = insertShape(I,'Rectangle',bbox); 64 | annotatedImage = imresize(annotatedImage,2); 65 | figure 66 | imshow(annotatedImage) 67 | 68 | %% Train Options 69 | % 資料參數 70 | options = trainingOptions('sgdm',... 71 | 'MaxEpochs',50,... 72 | 'MiniBatchSize',16,... 73 | 'InitialLearnRate',0.001,... 74 | 'CheckpointPath',tempdir,... 75 | 'ValidationData',testData); 76 | %% Training 77 | [FasterRCNNdetector, info] = trainFasterRCNNObjectDetector(trainingData,lgraph,options, ... 78 | 'NegativeOverlapRange',[0 0.3], ... 79 | 'PositiveOverlapRange',[0.6 1]); 80 | 81 | %% Test Single Image 82 | % 測試單張影像 83 | data = read(testData); 84 | I = data{1,1}; 85 | I = imresize(I,inputSize(1:2)); 86 | [bboxes,scores] = detect(FasterRCNNdetector,I,'Threshold',0.3); 87 | 88 | I = insertObjectAnnotation(I,'rectangle',bboxes,scores); 89 | figure 90 | imshow(I) 91 | 92 | %% Test Dataset 93 | % 測試完整資料集 94 | preprocessedTestData = transform(testData,@(data)FasterRCNNpreprocessData(data,inputSize)); 95 | detectionResults = detect(FasterRCNNdetector, preprocessedTestData, 'Threshold', 0.4); 96 | [ap,recall,precision] = evaluateDetectionPrecision(detectionResults, preprocessedTestData); 97 | 98 | figure 99 | plot(recall,precision) 100 | xlabel('Recall') 101 | ylabel('Precision') 102 | grid on 103 | title(sprintf('Average Precision = %.2f',ap)) 104 | %% Supporting Functions 105 | % 輔助函式 106 | 107 | function B = augmentData(A) 108 | % Apply random horizontal flipping, and random X/Y scaling. Boxes that get 109 | % scaled outside the bounds are clipped if the overlap is above 0.25. Also, 110 | % jitter image color. 111 | 112 | B = cell(size(A)); 113 | 114 | I = A{1}; 115 | sz = size(I); 116 | if numel(sz)==3 && sz(3) == 3 117 | I = jitterColorHSV(I,... 118 | 'Contrast',0.2,... 119 | 'Hue',0,... 120 | 'Saturation',0.1,... 121 | 'Brightness',0.2); 122 | end 123 | 124 | % Randomly flip and scale image. 125 | tform = randomAffine2d('XReflection',true,'Scale',[1 1.1]); 126 | rout = affineOutputView(sz,tform,'BoundsStyle','CenterOutput'); 127 | B{1} = imwarp(I,tform,'OutputView',rout); 128 | 129 | % Sanitize box data, if needed. 130 | A{2} = helperSanitizeBoxes(A{2}, sz); 131 | 132 | % Apply same transform to boxes. 133 | [B{2},indices] = bboxwarp(A{2},tform,rout,'OverlapThreshold',0.25); 134 | B{3} = A{3}(indices); 135 | 136 | % Return original data only when all boxes are removed by warping. 137 | if isempty(indices) 138 | B = A; 139 | end 140 | end 141 | 142 | 143 | function data = FasterRCNNpreprocessData(data,targetSize) 144 | % Resize image and bounding boxes to targetSize. 145 | sz = size(data{1},[1 2]); 146 | scale = targetSize(1:2)./sz; 147 | data{1} = imresize(data{1},targetSize(1:2)); 148 | 149 | % Sanitize box data, if needed. 150 | data{2} = helperSanitizeBoxes(data{2}, sz); 151 | 152 | % Resize boxes. 153 | data{2} = bboxresize(data{2},scale); 154 | end 155 | 156 | 157 | function boxes = helperSanitizeBoxes(boxes, imageSize) 158 | persistent hasInvalidBoxes 159 | valid = all(boxes > 0, 2); 160 | if any(valid) 161 | if ~all(valid) && isempty(hasInvalidBoxes) 162 | % Issue one-time warning about removing invalid boxes. 163 | hasInvalidBoxes = true; 164 | warning('Removing ground truth bouding box data with values <= 0.') 165 | end 166 | boxes = boxes(valid,:); 167 | boxes = roundFractionalBoxes(boxes, imageSize); 168 | end 169 | 170 | end 171 | 172 | function boxes = roundFractionalBoxes(boxes, imageSize) 173 | % If fractional data is present, issue one-time warning and round data and 174 | % clip to image size. 175 | persistent hasIssuedWarning 176 | 177 | allPixelCoordinates = isequal(floor(boxes), boxes); 178 | if ~allPixelCoordinates 179 | 180 | if isempty(hasIssuedWarning) 181 | hasIssuedWarning = true; 182 | warning('Rounding ground truth bounding box data to integer values.') 183 | end 184 | 185 | boxes = round(boxes); 186 | boxes(:,1:2) = max(boxes(:,1:2), 1); 187 | boxes(:,3:4) = min(boxes(:,3:4), imageSize([2 1])); 188 | end 189 | end -------------------------------------------------------------------------------- /src_main/SP_MaskRCNN.m: -------------------------------------------------------------------------------- 1 | %% Train MaskRCNN 2 | % 因為資料量需求較大,因此請大家直接參考以下範例 3 | % Due to the large amount of data required, please refer to the following examples directly 4 | 5 | % Doc:Perform Instance Segmentation Using Mask R-CNN 6 | % Getting Started with Mask R-CNN for Instance Segmentation 7 | 8 | %% Show Image 9 | num = 15; 10 | img = readimage(imds,num); 11 | pixelImg = imread(pxds.Files{num}); 12 | pixelImg 13 | 14 | figure,imshow(img) 15 | 16 | %% 影像與標記資料預檢視 17 | %C = readimage(pxds,5); 18 | pixelImg = imread(pxds.Files{num}); 19 | %pixelImg = readimage(pxds,num); 20 | 21 | cmap = camvidColorMap; 22 | layImg = labeloverlay(img,pixelImg,'ColorMap',cmap); 23 | figure,imshow(layImg) 24 | pixelLabelColorbar(cmap,[pxds.ClassNames;'other']); 25 | 26 | %% 27 | overlayedImage = insertObjectMask(img,masks); 28 | figure,imshow(overlayedImage) 29 | boxes = getBoxFromMask(masks); 30 | showShape("rectangle",boxes,Label="Scores: "+num2str(scores),LabelOpacity=0.2) 31 | 32 | %% Bulid Datastore 33 | 34 | 35 | 36 | %% 37 | -------------------------------------------------------------------------------- /src_main/SP_SOLOv2(test).m: -------------------------------------------------------------------------------- 1 | %% SP_SOLOv2 2 | % Fred liu 2023.12.07 3 | % SOLOv2 Demno for RabbitData 4 | 5 | %% Build Datasotre 6 | % you can get labeldata from gtruth or using define label(setup_readme) 7 | %imds = imageDatastore(gTruth.DataSource.Source); 8 | num = 15; 9 | % Display one of the image 10 | img = readimage(imds,num); 11 | img = histeq(img); 12 | figure,imshow(img) 13 | 14 | %% Load Labeled Image 15 | % you can get labeldata from gtruth or using define label(setup_readme) 16 | %classes = ["rabbit","zero"]; 17 | %labelIDs = [1 2]; 18 | %pxds = pixelLabelDatastore(gTruth.LabelData.PixelLabelData,classes,labelIDs); 19 | 20 | %% 影像與標記資料預檢視 21 | %C = readimage(pxds,5); 22 | pixelImg = imread(pxds.Files{num}); 23 | %pixelImg = readimage(pxds,num); 24 | 25 | cmap = camvidColorMap; 26 | layImg = labeloverlay(img,pixelImg,'ColorMap',cmap); 27 | figure,imshow(layImg) 28 | pixelLabelColorbar(cmap,[pxds.ClassNames;'other']); 29 | 30 | 31 | %% 分割資料 32 | [imdsTrain, imdsVal, imdsTest, pxdsTrain, pxdsVal, pxdsTest] = partitionCamVidData(imds,pxds); 33 | numTrainingImages = numel(imdsTrain.Files); 34 | numValImages = numel(imdsVal.Files); 35 | numTestingImages = numel(imdsTest.Files); 36 | 37 | %% 建立Network 38 | % Create SOLOv2 39 | networkToTrain = solov2("resnet50-coco","Object",InputSize=[608 608 3]); 40 | 41 | %% Training Options 42 | % Define validation data. 43 | dsVal = combine(imdsVal,pxdsVal); 44 | 45 | % Define training options. 46 | options = trainingOptions("sgdm", ... 47 | InitialLearnRate=0.0005, ... 48 | LearnRateSchedule="piecewise", ... 49 | LearnRateDropPeriod=1, ... 50 | LearnRateDropFactor=0.99, ... 51 | Momentum=0.9, ... 52 | MaxEpochs=10, ... 53 | MiniBatchSize=4, ... 54 | BatchNormalizationStatistics="moving", ... 55 | ExecutionEnvironment="auto", ... 56 | VerboseFrequency=5, ... 57 | Plots="training-progress", ... 58 | ResetInputNormalization=false, ... 59 | ValidationData=dsVal, ... 60 | ValidationFrequency=25, ... 61 | GradientThreshold=35, ... 62 | OutputNetwork="best-validation-loss"); 63 | 64 | %% Data Augmentation 65 | dsTrain = combine(imdsTrain, pxdsTrain); 66 | 67 | %xTrans = [-10 10]; 68 | %yTrans = [-10 10]; 69 | %dsTrain = transform(dsTrain, @(data)augmentImageAndLabel(data,xTrans,yTrans)); 70 | 71 | %% Start Training 72 | net = trainSOLOV2(dsTrain,networkToTrain,options,FreezeSubNetwork="backbone"); 73 | 74 | %% Test Single Image 75 | I = readimage(imdsVal,2); 76 | C = semanticseg(I, DeepLabv3net); 77 | 78 | B = labeloverlay(I,C,'Colormap',cmap,'Transparency',0.4); 79 | figure,imshow(B) 80 | pixelLabelColorbar(cmap, pxds.ClassNames); 81 | 82 | %% Test Dataset 83 | expectedResult = readimage(pxdsTest,5); 84 | actual = uint8(C); 85 | expected = uint8(expectedResult); 86 | imshowpair(actual, expected) 87 | 88 | iou = jaccard(C,expectedResult); 89 | table(pxds.ClassNames,iou) 90 | 91 | pxdsResults = semanticseg(imdsTest,DeepLabv3net, ... 92 | 'MiniBatchSize',4, ... 93 | 'WriteLocation',tempdir, ... 94 | 'Verbose',false); 95 | 96 | metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTest,'Verbose',false); 97 | metrics.DataSetMetrics 98 | metrics.ClassMetrics 99 | 100 | %% Supporting Functions 101 | % 輔助函式 102 | 103 | function pixelLabelColorbar(cmap, classNames) 104 | % Add a colorbar to the current axis. The colorbar is formatted 105 | % to display the class names with the color. 106 | 107 | colormap(gca,cmap) 108 | 109 | % Add colorbar to current figure. 110 | c = colorbar('peer', gca); 111 | 112 | % Use class names for tick marks. 113 | c.TickLabels = classNames; 114 | numClasses = size(cmap,1); 115 | 116 | % Center tick labels. 117 | c.Ticks = 1/(numClasses*2):1/numClasses:1; 118 | 119 | % Remove tick mark. 120 | c.TickLength = 0; 121 | end 122 | 123 | 124 | 125 | function data = augmentImageAndLabel(data, xTrans, yTrans) 126 | % Augment images and pixel label images using random reflection and 127 | % translation. 128 | 129 | for i = 1:size(data,1) 130 | 131 | tform = randomAffine2d(... 132 | 'XReflection',true,... 133 | 'XTranslation', xTrans, ... 134 | 'YTranslation', yTrans); 135 | 136 | % Center the view at the center of image in the output space while 137 | % allowing translation to move the output image out of view. 138 | rout = affineOutputView(size(data{i,1}), tform, 'BoundsStyle', 'centerOutput'); 139 | 140 | % Warp the image and pixel labels using the same transform. 141 | data{i,1} = imwarp(data{i,1}, tform, 'OutputView', rout); 142 | data{i,2} = imwarp(data{i,2}, tform, 'OutputView', rout); 143 | 144 | end 145 | end -------------------------------------------------------------------------------- /src_main/SP_SOLOv2.m: -------------------------------------------------------------------------------- 1 | %% Train SOLOv2 2 | % Fred Liu 2023.12.07 3 | % 因為SOLOv2是屬於instance segmentation,所以需要吃四個資訊,目前所使用的資料這四項 4 | % 資訊室分開來的,所以還需要做整理,所以請先暫時使用原廠範例 5 | openExample('deeplearning_shared/PerformInstanceSegmentationUsingSOLOv2Example') -------------------------------------------------------------------------------- /src_main/SP_SSD.m: -------------------------------------------------------------------------------- 1 | %% SP_SSD 2 | % Fred liu 2022.2.16 3 | % 2022.5.16 updata Augmentation function using MATLAB 2022a version 4 | % 2023.03.08 update ssdObjectDetector 5 | % SSD Demno for RabbitData 6 | 7 | %% DataSet Split 8 | % 切割資料 9 | rng(0) 10 | shuffledIndices = randperm(height(T_gTruth)); 11 | idx = floor(0.8 * height(T_gTruth)); 12 | 13 | trainingIdx = 1:idx; 14 | trainingDataTbl = T_gTruth(shuffledIndices(trainingIdx),:); 15 | 16 | testIdx = trainingIdx(end)+1 : length(shuffledIndices); 17 | testDataTbl = T_gTruth(shuffledIndices(testIdx),:); 18 | %% Build Datasotre 19 | % 建立資料庫 20 | % Train 21 | imdsTrain = imageDatastore(trainingDataTbl.imageFilename); 22 | bldsTrain = boxLabelDatastore(trainingDataTbl(:,2:end)); 23 | 24 | % Test 25 | imdsTest = imageDatastore(testDataTbl.imageFilename); 26 | bldsTest = boxLabelDatastore(testDataTbl(:,2:end)); 27 | 28 | %% Combine Datastore 29 | % 整併資料庫 30 | trainingData = combine(imdsTrain,bldsTrain); 31 | testData = combine(imdsTest,bldsTest); 32 | 33 | %% Data Augmentation 34 | % 資料增量 35 | augmentedTrainingData = transform(trainingData,@augmentData); 36 | 37 | augmentedData = cell(4,1); 38 | for k = 1:4 39 | data = read(augmentedTrainingData); 40 | augmentedData{k} = insertShape(data{1},'Rectangle',data{2}); 41 | reset(augmentedTrainingData); 42 | end 43 | figure 44 | montage(augmentedData,'BorderSize',10) 45 | 46 | %% Build Network 47 | 48 | basenet = resnet50; 49 | classNames = "rabbit"; 50 | anchorBoxes = {[30 60;60 30;50 50;100 100], ... 51 | [40 70;70 40;60 60;120 120], ... 52 | [50 80;80 60;70 70;140 140]}; 53 | featureExtractionLayers = ["activation_11_relu" "activation_22_relu" "activation_40_relu"]; 54 | basenet = layerGraph(basenet); 55 | detector = ssdObjectDetector(basenet,classNames,anchorBoxes,DetectionNetworkSource=featureExtractionLayers); 56 | 57 | 58 | %% Preprocess Training Data 59 | % 流程前處理 資料Size校正 60 | preprocessedTrainingData = transform(augmentedTrainingData,@(data)SSDpreprocessData(data,inputSize)); 61 | 62 | data = read(preprocessedTrainingData); 63 | 64 | I = data{1}; 65 | bbox = data{2}; 66 | annotatedImage = insertShape(I,'Rectangle',bbox); 67 | annotatedImage = imresize(annotatedImage,2); 68 | figure 69 | imshow(annotatedImage) 70 | 71 | %% Train Options 72 | % 資料參數 73 | options = trainingOptions('sgdm', ... 74 | 'MiniBatchSize', 16, .... 75 | 'InitialLearnRate',1e-1, ... 76 | 'LearnRateSchedule', 'piecewise', ... 77 | 'LearnRateDropPeriod', 30, ... 78 | 'LearnRateDropFactor', 0.8, ... 79 | 'MaxEpochs', 50, ... 80 | 'VerboseFrequency', 50, ... 81 | 'CheckpointPath', tempdir, ... 82 | 'Shuffle','every-epoch'); 83 | 84 | %% Train 85 | SSDdetector = trainSSDObjectDetector(preprocessedTrainingData,detector,options); 86 | 87 | %% Test Single Image 88 | 89 | data = read(testData); 90 | I = data{1,1}; 91 | I = imresize(I,inputSize(1:2)); 92 | [bboxes,scores] = detect(SSDdetector,I, 'Threshold', 0.5); 93 | 94 | I = insertObjectAnnotation(I,'rectangle',bboxes,scores); 95 | figure 96 | imshow(I) 97 | 98 | %% Test Dataset 99 | preprocessedTestData = transform(testData,@(data)SSDpreprocessData(data,inputSize)); 100 | detectionResults = detect(SSDdetector, preprocessedTestData, 'Threshold', 0.4); 101 | [ap,recall,precision] = evaluateDetectionPrecision(detectionResults, preprocessedTestData); 102 | 103 | figure 104 | plot(recall,precision) 105 | xlabel('Recall') 106 | ylabel('Precision') 107 | grid on 108 | title(sprintf('Average Precision = %.2f',ap)) 109 | 110 | %% Supporting Functions 111 | % 輔助函式 112 | 113 | function B = augmentData(A) 114 | % Apply random horizontal flipping, and random X/Y scaling. Boxes that get 115 | % scaled outside the bounds are clipped if the overlap is above 0.25. Also, 116 | % jitter image color. 117 | 118 | B = cell(size(A)); 119 | 120 | I = A{1}; 121 | sz = size(I); 122 | if numel(sz)==3 && sz(3) == 3 123 | I = jitterColorHSV(I,... 124 | 'Contrast',0.2,... 125 | 'Hue',0,... 126 | 'Saturation',0.1,... 127 | 'Brightness',0.2); 128 | end 129 | 130 | % Randomly flip and scale image. 131 | tform = randomAffine2d('XReflection',true,'Scale',[1 1.1]); 132 | rout = affineOutputView(sz,tform,'BoundsStyle','CenterOutput'); 133 | B{1} = imwarp(I,tform,'OutputView',rout); 134 | 135 | % Sanitize box data, if needed. 136 | A{2} = helperSanitizeBoxes(A{2}, sz); 137 | 138 | % Apply same transform to boxes. 139 | [B{2},indices] = bboxwarp(A{2},tform,rout,'OverlapThreshold',0.25); 140 | B{3} = A{3}(indices); 141 | 142 | % Return original data only when all boxes are removed by warping. 143 | if isempty(indices) 144 | B = A; 145 | end 146 | end 147 | 148 | 149 | function data = SSDpreprocessData(data,targetSize) 150 | % Resize image and bounding boxes to the targetSize. 151 | sz = size(data{1},[1 2]); 152 | scale = targetSize(1:2)./sz; 153 | data{1} = imresize(data{1},targetSize(1:2)); 154 | 155 | % Sanitize box data, if needed. 156 | data{2} = helperSanitizeBoxes(data{2},sz); 157 | 158 | % Resize boxes to new image size. 159 | data{2} = bboxresize(data{2},scale); 160 | end 161 | 162 | function boxes = helperSanitizeBoxes(boxes, ~) 163 | persistent hasInvalidBoxes 164 | valid = all(boxes > 0, 2); 165 | if any(valid) 166 | if ~all(valid) && isempty(hasInvalidBoxes) 167 | % Issue one-time warning about removing invalid boxes. 168 | hasInvalidBoxes = true; 169 | warning('Removing ground truth bouding box data with values <= 0.') 170 | end 171 | boxes = boxes(valid,:); 172 | end 173 | end 174 | 175 | -------------------------------------------------------------------------------- /src_main/SP_YOLOX.m: -------------------------------------------------------------------------------- 1 | %% SP_YOLOX 2 | % Fred liu 2023.12.07 3 | % YOLOX Demno for RabbitData 4 | 5 | %% DataSet Split 6 | % 切割資料 7 | rng(0) 8 | shuffledIndices = randperm(height(T_gTruth)); 9 | idx = floor(0.8 * height(T_gTruth)); 10 | 11 | trainingIdx = 1:idx; 12 | trainingDataTbl = T_gTruth(shuffledIndices(trainingIdx),:); 13 | 14 | testIdx = trainingIdx(end)+1 : length(shuffledIndices); 15 | testDataTbl = T_gTruth(shuffledIndices(testIdx),:); 16 | 17 | %% Build Datasotre 18 | % 建立資料庫 19 | % Train 20 | imdsTrain = imageDatastore(trainingDataTbl.imageFilename); 21 | bldsTrain = boxLabelDatastore(trainingDataTbl(:,2:end)); 22 | 23 | % Test 24 | imdsTest = imageDatastore(testDataTbl.imageFilename); 25 | bldsTest = boxLabelDatastore(testDataTbl(:,2:end)); 26 | 27 | %% Combine Datastore 28 | % 整併資料庫 29 | trainingData = combine(imdsTrain,bldsTrain); 30 | testData = combine(imdsTest,bldsTest); 31 | 32 | %% Data Augmentation 33 | % 資料增量 34 | augmentedTrainingData = transform(trainingData,@augmentData); 35 | 36 | augmentedData = cell(4,1); 37 | for k = 1:4 38 | data = read(augmentedTrainingData); 39 | augmentedData{k} = insertShape(data{1},'Rectangle',data{2}); 40 | reset(augmentedTrainingData); 41 | end 42 | figure 43 | montage(augmentedData,'BorderSize',10) 44 | 45 | %% Build Network(Define YOLOX Object Detector) 46 | %(定義YOLOX物件偵測演算法) 47 | type = 1; 48 | 49 | classNames = {'rabbit',}; 50 | inputSize = [800 800 3]; 51 | switch type 52 | case 1 53 | detectorIn = yoloxObjectDetector("tiny-coco",classNames,InputSize=inputSize); 54 | case 2 55 | detectorIn = yoloxObjectDetector("small-coco",classNames,InputSize=inputSize); 56 | case 3 57 | detectorIn = yoloxObjectDetector("uninitialized",classNames,InputSize=inputSize); 58 | end 59 | 60 | %% Train Options 61 | % 資料參數 62 | options = trainingOptions("sgdm", ... 63 | InitialLearnRate=5e-4, ... 64 | LearnRateSchedule="piecewise", ... 65 | LearnRateDropFactor=0.99, ... 66 | LearnRateDropPeriod=1, ... 67 | MiniBatchSize=20, ... 68 | MaxEpochs=100, ... 69 | BatchNormalizationStatistics="moving", ... 70 | ExecutionEnvironment="auto", ... 71 | Shuffle="every-epoch", ... 72 | VerboseFrequency=25, ... 73 | ValidationFrequency=100, ... 74 | ValidationData=testData, ... 75 | ResetInputNormalization=false, ... 76 | OutputNetwork="best-validation-loss", ... 77 | GradientThreshold=30, ... 78 | L2Regularization=5e-4); 79 | %% Train 80 | % 訓練 81 | [detector,info] = trainYOLOXObjectDetector(augmentedTrainingData,detectorIn,options,"FreezeSubNetwork","none"); 82 | 83 | %% Test Single Image 84 | % 測試單張影像 85 | data = read(testData); 86 | I = data{1,1}; 87 | I = imresize(I,inputSize(1:2)); 88 | [bboxes, scores, labels] = detect(detector,I,'Threshold', 0.1); 89 | 90 | I = insertObjectAnnotation(I,'rectangle',bboxes,scores); 91 | figure,imshow(I) 92 | 93 | %% Test Dataset 94 | detectionResults = detect(detector,testData); 95 | 96 | % Evaluate the object detector using Average Precision metric. 97 | [ap,recall,precision] = evaluateDetectionPrecision(detectionResults,testData); 98 | 99 | figure 100 | plot(recall,precision) 101 | xlabel("Recall") 102 | ylabel("Precision") 103 | grid on 104 | title(sprintf("Average Precision = %.2f",ap)) 105 | 106 | 107 | %% Supporting Functions 108 | % 輔助函式 109 | 110 | function data = augmentData(A) 111 | % Apply random horizontal flipping, and random X/Y scaling. Boxes that get 112 | % scaled outside the bounds are clipped if the overlap is above 0.25. Also, 113 | % jitter image color. 114 | 115 | data = cell(size(A)); 116 | for ii = 1:size(A,1) 117 | I = A{ii,1}; 118 | bboxes = A{ii,2}; 119 | labels = A{ii,3}; 120 | sz = size(I); 121 | 122 | if numel(sz) == 3 && sz(3) == 3 123 | I = jitterColorHSV(I,... 124 | contrast=0.0,... 125 | Hue=0.1,... 126 | Saturation=0.2,... 127 | Brightness=0.2); 128 | end 129 | 130 | % Randomly flip image. 131 | tform = randomAffine2d(XReflection=true,Scale=[1 1.1]); 132 | rout = affineOutputView(sz,tform,BoundsStyle="centerOutput"); 133 | I = imwarp(I,tform,OutputView=rout); 134 | 135 | % Apply same transform to boxes. 136 | [bboxes,indices] = bboxwarp(bboxes,tform,rout,OverlapThreshold=0.25); 137 | labels = labels(indices); 138 | 139 | % Return original data only when all boxes are removed by warping. 140 | if isempty(indices) 141 | data(ii,:) = A(ii,:); 142 | else 143 | data(ii,:) = {I,bboxes,labels}; 144 | end 145 | end 146 | end 147 | 148 | function data = preprocessData(data,targetSize) 149 | % Resize the images and scale the pixels to between 0 and 1. Also scale the 150 | % corresponding bounding boxes. 151 | 152 | for ii = 1:size(data,1) 153 | I = data{ii,1}; 154 | imgSize = size(I); 155 | 156 | bboxes = data{ii,2}; 157 | 158 | I = im2single(imresize(I,targetSize(1:2))); 159 | scale = targetSize(1:2)./imgSize(1:2); 160 | bboxes = bboxresize(bboxes,scale); 161 | 162 | data(ii,1:2) = {I,bboxes}; 163 | end 164 | end 165 | 166 | -------------------------------------------------------------------------------- /src_main/SP_YOLOv2.m: -------------------------------------------------------------------------------- 1 | %% SP_YOLOv2 2 | % Fred liu 2022.2.16 3 | % 2022.5.16 updata Augmentation function using MATLAB 2022a version 4 | % YOLOv2 Demno for RabbitData 5 | 6 | %% DataSet Split 7 | % 切割資料 8 | rng(0) 9 | shuffledIndices = randperm(height(T_gTruth)); 10 | idx = floor(0.8 * height(T_gTruth)); 11 | 12 | trainingIdx = 1:idx; 13 | trainingDataTbl = T_gTruth(shuffledIndices(trainingIdx),:); 14 | 15 | testIdx = trainingIdx(end)+1 : length(shuffledIndices); 16 | testDataTbl = T_gTruth(shuffledIndices(testIdx),:); 17 | %% Build Datasotre 18 | % 建立資料庫 19 | % Train 20 | imdsTrain = imageDatastore(trainingDataTbl.imageFilename); 21 | bldsTrain = boxLabelDatastore(trainingDataTbl(:,2:end)); 22 | 23 | % Test 24 | imdsTest = imageDatastore(testDataTbl.imageFilename); 25 | bldsTest = boxLabelDatastore(testDataTbl(:,2:end)); 26 | 27 | %% Combine Datastore 28 | % 整併資料庫 29 | trainingData = combine(imdsTrain,bldsTrain); 30 | testData = combine(imdsTest,bldsTest); 31 | 32 | %% Data Augmentation 33 | % 資料增量 34 | augmentedTrainingData = transform(trainingData,@augmentData); 35 | 36 | augmentedData = cell(4,1); 37 | for k = 1:4 38 | data = read(augmentedTrainingData); 39 | augmentedData{k} = insertShape(data{1},'Rectangle',data{2}); 40 | reset(augmentedTrainingData); 41 | end 42 | figure 43 | montage(augmentedData,'BorderSize',10) 44 | 45 | %% Build Network 46 | % 建置網路架構 YOLOv2 47 | inputSize = [224 224 3]; 48 | numClasses = 1; 49 | 50 | trainingDataForEstimation = transform(trainingData,@(data)YOLOv2preprocessData(data,inputSize)); 51 | numAnchors = 8; 52 | [anchorBoxes, meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors) 53 | 54 | featureExtractionNetwork = resnet50; 55 | featureLayer = 'activation_40_relu'; 56 | lgraph = yolov2Layers(inputSize,numClasses,anchorBoxes,featureExtractionNetwork,featureLayer); 57 | 58 | %% Preprocess Training Data 59 | % 流程前處理 資料Size校正 60 | preprocessedTrainingData = transform(augmentedTrainingData,@(data)YOLOv2preprocessData(data,inputSize)); 61 | data = read(preprocessedTrainingData); 62 | 63 | I = data{1}; 64 | bbox = data{2}; 65 | annotatedImage = insertShape(I,'Rectangle',bbox); 66 | annotatedImage = imresize(annotatedImage,2); 67 | figure 68 | imshow(annotatedImage) 69 | 70 | %% Train Options 71 | % 資料參數 72 | options = trainingOptions('sgdm', ... 73 | 'MiniBatchSize', 32, .... 74 | 'InitialLearnRate',1e-3, ... 75 | 'LearnRateSchedule', 'piecewise', ... 76 | 'LearnRateDropPeriod', 30, ... 77 | 'LearnRateDropFactor', 0.8, ... 78 | 'MaxEpochs', 100, ... 79 | 'VerboseFrequency', 50, ... 80 | 'CheckpointPath', tempdir, ... 81 | 'Shuffle','every-epoch'); 82 | 83 | %% Train 84 | [Yolov2detector,info] = trainYOLOv2ObjectDetector(preprocessedTrainingData,lgraph,options); 85 | 86 | %% Test Single Image 87 | 88 | data = read(testData); 89 | I = data{1,1}; 90 | I = imresize(I,inputSize(1:2)); 91 | [bboxes,scores] = detect(Yolov2detector,I, 'Threshold', 0.2); 92 | 93 | I = insertObjectAnnotation(I,'rectangle',bboxes,scores); 94 | figure 95 | imshow(I) 96 | 97 | %% Test Dataset 98 | preprocessedTestData = transform(testData,@(data)YOLOv2preprocessData(data,inputSize)); 99 | detectionResults = detect(Yolov2detector, preprocessedTestData, 'Threshold', 0.2); 100 | [ap,recall,precision] = evaluateDetectionPrecision(detectionResults, preprocessedTestData); 101 | 102 | figure 103 | plot(recall,precision) 104 | xlabel('Recall') 105 | ylabel('Precision') 106 | grid on 107 | title(sprintf('Average Precision = %.2f',ap)) 108 | 109 | %% Supporting Functions 110 | % 輔助函式 111 | 112 | function B = augmentData(A) 113 | % Apply random horizontal flipping, and random X/Y scaling. Boxes that get 114 | % scaled outside the bounds are clipped if the overlap is above 0.25. Also, 115 | % jitter image color. 116 | 117 | B = cell(size(A)); 118 | 119 | I = A{1}; 120 | sz = size(I); 121 | if numel(sz)==3 && sz(3) == 3 122 | I = jitterColorHSV(I,... 123 | 'Contrast',0.2,... 124 | 'Hue',0,... 125 | 'Saturation',0.1,... 126 | 'Brightness',0.2); 127 | end 128 | 129 | % Randomly flip and scale image. 130 | tform = randomAffine2d('XReflection',true,'Scale',[1 1.1]); 131 | rout = affineOutputView(sz,tform,'BoundsStyle','CenterOutput'); 132 | B{1} = imwarp(I,tform,'OutputView',rout); 133 | 134 | % Sanitize box data, if needed. 135 | A{2} = helperSanitizeBoxes(A{2}, sz); 136 | 137 | % Apply same transform to boxes. 138 | [B{2},indices] = bboxwarp(A{2},tform,rout,'OverlapThreshold',0.25); 139 | B{3} = A{3}(indices); 140 | 141 | % Return original data only when all boxes are removed by warping. 142 | if isempty(indices) 143 | B = A; 144 | end 145 | end 146 | 147 | 148 | function data = YOLOv2preprocessData(data,targetSize) 149 | % Resize image and bounding boxes to the targetSize. 150 | sz = size(data{1},[1 2]); 151 | scale = targetSize(1:2)./sz; 152 | data{1} = imresize(data{1},targetSize(1:2)); 153 | 154 | % Sanitize box data, if needed. 155 | data{2} = helperSanitizeBoxes(data{2},sz); 156 | 157 | % Resize boxes to new image size. 158 | data{2} = bboxresize(data{2},scale); 159 | end 160 | 161 | 162 | 163 | function boxes = helperSanitizeBoxes(boxes, ~) 164 | persistent hasInvalidBoxes 165 | valid = all(boxes > 0, 2); 166 | if any(valid) 167 | if ~all(valid) && isempty(hasInvalidBoxes) 168 | % Issue one-time warning about removing invalid boxes. 169 | hasInvalidBoxes = true; 170 | warning('Removing ground truth bouding box data with values <= 0.') 171 | end 172 | boxes = boxes(valid,:); 173 | end 174 | end 175 | 176 | function boxes = roundFractionalBoxes(boxes, imageSize) 177 | % If fractional data is present, issue one-time warning and round data and 178 | % clip to image size. 179 | persistent hasIssuedWarning 180 | 181 | allPixelCoordinates = isequal(floor(boxes), boxes); 182 | if ~allPixelCoordinates 183 | 184 | if isempty(hasIssuedWarning) 185 | hasIssuedWarning = true; 186 | warning('Rounding ground truth bounding box data to integer values.') 187 | end 188 | 189 | boxes = round(boxes); 190 | boxes(:,1:2) = max(boxes(:,1:2), 1); 191 | boxes(:,3:4) = min(boxes(:,3:4), imageSize([2 1])); 192 | end 193 | end -------------------------------------------------------------------------------- /src_main/SP_YOLOv3.m: -------------------------------------------------------------------------------- 1 | %% SP_YOLOv3 2 | % Fred liu 2022.2.17 3 | % YOLOv3 Demno for RabbitData 4 | 5 | %% DataSet Split 6 | % 切割資料 7 | rng(0) 8 | shuffledIndices = randperm(height(T_gTruth)); 9 | idx = floor(0.8 * height(T_gTruth)); 10 | 11 | trainingIdx = 1:idx; 12 | trainingDataTbl = T_gTruth(shuffledIndices(trainingIdx),:); 13 | 14 | testIdx = trainingIdx(end)+1 : length(shuffledIndices); 15 | testDataTbl = T_gTruth(shuffledIndices(testIdx),:); 16 | %% Build Datasotre 17 | % 建立資料庫 18 | % Train 19 | imdsTrain = imageDatastore(trainingDataTbl.imageFilename); 20 | bldsTrain = boxLabelDatastore(trainingDataTbl(:,2:end)); 21 | 22 | % Test 23 | imdsTest = imageDatastore(testDataTbl.imageFilename); 24 | bldsTest = boxLabelDatastore(testDataTbl(:,2:end)); 25 | 26 | %% Combine Datastore 27 | % 整併資料庫 28 | trainingData = combine(imdsTrain,bldsTrain); 29 | testData = combine(imdsTest,bldsTest); 30 | 31 | %% Data Augmentation 32 | % 資料增量 33 | augmentedTrainingData = transform(trainingData,@augmentData); 34 | 35 | augmentedData = cell(4,1); 36 | for k = 1:4 37 | data = read(augmentedTrainingData); 38 | augmentedData{k} = insertShape(data{1},'Rectangle',data{2}); 39 | reset(augmentedTrainingData); 40 | end 41 | figure 42 | montage(augmentedData,'BorderSize',10) 43 | 44 | %% Build Network(Define YOLO v3 Object Detector) 45 | %(定義YOLOv3物件偵測演算法) 46 | 47 | % Load Pre-Train Model 48 | model = 1; 49 | switch model 50 | case 1 51 | name = 'tiny-yolov3-coco'; 52 | networkInputSize = [416 416]; 53 | numAnchors = 6; 54 | case 2 55 | name = 'darknet53-coco'; 56 | networkInputSize = [608 608]; 57 | numAnchors = 9; 58 | end 59 | %analyzeNetwork(net) 60 | classNames = {'rabbit',}; 61 | 62 | %% Anchors Box Design 63 | % User Defined 64 | % aboxes = {[90,116;198,156;326,373];[61,30;45,62;119,59];[13,10;30,16;23,33]}; 65 | 66 | trainingDataForEstimation = transform(trainingData, @(data)preprocessData(data, networkInputSize)); 67 | [anchors, meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors) 68 | 69 | area = anchors(:, 1).*anchors(:, 2); 70 | [~, idx] = sort(area, 'descend'); 71 | anchors = anchors(idx, :); 72 | 73 | if numAnchors == 9 74 | anchorBoxes = {anchors(1:3,:) 75 | anchors(4:6,:) 76 | anchors(7:9,:) 77 | }; 78 | 79 | elseif numAnchors == 6 80 | anchorBoxes = {anchors(1:3,:) 81 | anchors(4:6,:) 82 | }; 83 | end 84 | %% Combined network architecture(組合網路架構) 85 | %layer = {'conv52','conv51'}; 86 | %detector = yolov3ObjectDetector(net,classes,aboxes,'ModelName','Custom YOLO v3','DetectionNetworkSource',layer); 87 | yolov3Detector = yolov3ObjectDetector(name,classNames,anchorBoxes); 88 | 89 | 90 | 91 | %% Preprocess Training Data 92 | % 流程前處理 資料Size校正 93 | preprocessedTrainingData = transform(augmentedTrainingData,@(data)preprocessData(data,networkInputSize)); 94 | data = read(trainingData); 95 | data = read(preprocessedTrainingData); 96 | 97 | I = data{1}; 98 | bbox = data{2}; 99 | annotatedImage = insertShape(I,'Rectangle',bbox); 100 | annotatedImage = imresize(annotatedImage,2); 101 | figure 102 | imshow(annotatedImage) 103 | 104 | %% Train Options 105 | % 資料參數 106 | 107 | numEpochs = 50; 108 | miniBatchSize = 16; 109 | learningRate = 0.01; 110 | warmupPeriod = 1000; 111 | l2Regularization = 0.0005; 112 | penaltyThreshold = 0.5; 113 | velocity = []; 114 | 115 | 116 | %% Setting Minibatchqueue 117 | if canUseParallelPool 118 | dispatchInBackground = true; 119 | else 120 | dispatchInBackground = false; 121 | end 122 | 123 | mbqTrain = minibatchqueue(preprocessedTrainingData, 2,... 124 | "MiniBatchSize", miniBatchSize,... 125 | "MiniBatchFcn", @(images, boxes, labels) createBatchData(images, boxes, labels, classNames), ... 126 | "MiniBatchFormat", ["SSCB", ""],... 127 | "DispatchInBackground", dispatchInBackground,... 128 | "OutputEnvironment","gpu",... 129 | "OutputCast", ["", "double"]); 130 | 131 | 132 | %% Train 133 | doTraining = 1; 134 | if doTraining 135 | 136 | % Create subplots for the learning rate and mini-batch loss. 137 | fig = figure; 138 | [lossPlotter, learningRatePlotter] = configureTrainingProgressPlotter(fig); 139 | 140 | iteration = 0; 141 | % Custom training loop. 142 | for epoch = 1:numEpochs 143 | 144 | reset(mbqTrain); 145 | shuffle(mbqTrain); 146 | 147 | while(hasdata(mbqTrain)) 148 | iteration = iteration + 1; 149 | 150 | [XTrain, YTrain] = next(mbqTrain); 151 | 152 | % Evaluate the model gradients and loss using dlfeval and the 153 | % modelGradients function. 154 | [gradients, state, lossInfo] = dlfeval(@modelGradients, yolov3Detector, XTrain, YTrain, penaltyThreshold); 155 | 156 | % Apply L2 regularization. 157 | gradients = dlupdate(@(g,w) g + l2Regularization*w, gradients, yolov3Detector.Learnables); 158 | 159 | % Determine the current learning rate value. 160 | currentLR = piecewiseLearningRateWithWarmup(iteration, epoch, learningRate, warmupPeriod, numEpochs); 161 | 162 | % Update the detector learnable parameters using the SGDM optimizer. 163 | [yolov3Detector.Learnables, velocity] = sgdmupdate(yolov3Detector.Learnables, gradients, velocity, currentLR); 164 | 165 | % Update the state parameters of dlnetwork. 166 | yolov3Detector.State = state; 167 | 168 | % Display progress. 169 | displayLossInfo(epoch, iteration, currentLR, lossInfo); 170 | 171 | % Update training plot with new points. 172 | updatePlots(lossPlotter, learningRatePlotter, iteration, currentLR, lossInfo.totalLoss); 173 | end 174 | end 175 | else 176 | yolov3Detector = preTrainedDetector; 177 | end 178 | 179 | %% Test Single Image 180 | 181 | data = read(testData); 182 | I = data{1,1}; 183 | I = imresize(I,inputSize(1:2)); 184 | [bboxes,scores] = detect(yolov3Detector,I, 'Threshold', 0.1); 185 | 186 | I = insertObjectAnnotation(I,'rectangle',bboxes,scores); 187 | figure 188 | imshow(I) 189 | 190 | %% Test Dataset 191 | results = detect(yolov3Detector,testData,'MiniBatchSize',8,'Threshold', 0.2); 192 | 193 | % Evaluate the object detector using Average Precision metric. 194 | [ap,recall,precision] = evaluateDetectionPrecision(results,testData); 195 | 196 | figure 197 | plot(recall,precision) 198 | xlabel('Recall') 199 | ylabel('Precision') 200 | grid on 201 | title(sprintf('Average Precision = %.2f', ap)) 202 | 203 | %% Supporting Functions 204 | % 輔助函式 205 | 206 | function data = augmentData(A) 207 | % Apply random horizontal flipping, and random X/Y scaling. Boxes that get 208 | % scaled outside the bounds are clipped if the overlap is above 0.25. Also, 209 | % jitter image color. 210 | 211 | data = cell(size(A)); 212 | for ii = 1:size(A,1) 213 | I = A{ii,1}; 214 | bboxes = A{ii,2}; 215 | labels = A{ii,3}; 216 | sz = size(I); 217 | 218 | if numel(sz) == 3 && sz(3) == 3 219 | I = jitterColorHSV(I,... 220 | 'Contrast',0.0,... 221 | 'Hue',0.1,... 222 | 'Saturation',0.2,... 223 | 'Brightness',0.2); 224 | end 225 | 226 | % Randomly flip image. 227 | tform = randomAffine2d('XReflection',true,'Scale',[1 1.1]); 228 | rout = affineOutputView(sz,tform,'BoundsStyle','centerOutput'); 229 | I = imwarp(I,tform,'OutputView',rout); 230 | 231 | % Apply same transform to boxes. 232 | [bboxes,indices] = bboxwarp(bboxes,tform,rout,'OverlapThreshold',0.25); 233 | labels = labels(indices); 234 | 235 | % Return original data only when all boxes are removed by warping. 236 | if isempty(indices) 237 | data(ii,:) = A(ii,:); 238 | else 239 | data(ii,:) = {I, bboxes, labels}; 240 | end 241 | end 242 | end 243 | 244 | 245 | function data = preprocessData(data, targetSize) 246 | % Resize the images and scale the pixels to between 0 and 1. Also scale the 247 | % corresponding bounding boxes. 248 | 249 | for ii = 1:size(data,1) 250 | I = data{ii,1}; 251 | imgSize = size(I); 252 | 253 | % Convert an input image with single channel to 3 channels. 254 | if numel(imgSize) < 3 255 | I = repmat(I,1,1,3); 256 | end 257 | bboxes = data{ii,2}; 258 | 259 | I = im2single(imresize(I,targetSize(1:2))); 260 | scale = targetSize(1:2)./imgSize(1:2); 261 | bboxes = bboxresize(bboxes,scale); 262 | 263 | data(ii, 1:2) = {I, bboxes}; 264 | end 265 | end 266 | 267 | function [XTrain, YTrain] = createBatchData(data, groundTruthBoxes, groundTruthClasses, classNames) 268 | % Returns images combined along the batch dimension in XTrain and 269 | % normalized bounding boxes concatenated with classIDs in YTrain 270 | 271 | % Concatenate images along the batch dimension. 272 | XTrain = cat(4, data{:,1}); 273 | 274 | % Get class IDs from the class names. 275 | classNames = repmat({categorical(classNames')}, size(groundTruthClasses)); 276 | [~, classIndices] = cellfun(@(a,b)ismember(a,b), groundTruthClasses, classNames, 'UniformOutput', false); 277 | 278 | % Append the label indexes and training image size to scaled bounding boxes 279 | % and create a single cell array of responses. 280 | combinedResponses = cellfun(@(bbox, classid)[bbox, classid], groundTruthBoxes, classIndices, 'UniformOutput', false); 281 | len = max( cellfun(@(x)size(x,1), combinedResponses ) ); 282 | paddedBBoxes = cellfun( @(v) padarray(v,[len-size(v,1),0],0,'post'), combinedResponses, 'UniformOutput',false); 283 | YTrain = cat(4, paddedBBoxes{:,1}); 284 | end 285 | 286 | 287 | %% Model Gradients Function 288 | 289 | function [gradients, state, info] = modelGradients(detector, XTrain, YTrain, penaltyThreshold) 290 | inputImageSize = size(XTrain,1:2); 291 | 292 | % Gather the ground truths in the CPU for post processing 293 | YTrain = gather(extractdata(YTrain)); 294 | 295 | % Extract the predictions from the detector. 296 | [gatheredPredictions, YPredCell, state] = forward(detector, XTrain); 297 | 298 | % Generate target for predictions from the ground truth data. 299 | [boxTarget, objectnessTarget, classTarget, objectMaskTarget, boxErrorScale] = generateTargets(gatheredPredictions,... 300 | YTrain, inputImageSize, detector.AnchorBoxes, penaltyThreshold); 301 | 302 | % Compute the loss. 303 | boxLoss = bboxOffsetLoss(YPredCell(:,[2 3 7 8]),boxTarget,objectMaskTarget,boxErrorScale); 304 | objLoss = objectnessLoss(YPredCell(:,1),objectnessTarget,objectMaskTarget); 305 | clsLoss = classConfidenceLoss(YPredCell(:,6),classTarget,objectMaskTarget); 306 | totalLoss = boxLoss + objLoss + clsLoss; 307 | 308 | info.boxLoss = boxLoss; 309 | info.objLoss = objLoss; 310 | info.clsLoss = clsLoss; 311 | info.totalLoss = totalLoss; 312 | 313 | % Compute gradients of learnables with regard to loss. 314 | gradients = dlgradient(totalLoss, detector.Learnables); 315 | end 316 | 317 | function boxLoss = bboxOffsetLoss(boxPredCell, boxDeltaTarget, boxMaskTarget, boxErrorScaleTarget) 318 | % Mean squared error for bounding box position. 319 | lossX = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,1),boxDeltaTarget(:,1),boxMaskTarget(:,1),boxErrorScaleTarget)); 320 | lossY = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,2),boxDeltaTarget(:,2),boxMaskTarget(:,1),boxErrorScaleTarget)); 321 | lossW = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,3),boxDeltaTarget(:,3),boxMaskTarget(:,1),boxErrorScaleTarget)); 322 | lossH = sum(cellfun(@(a,b,c,d) mse(a.*c.*d,b.*c.*d),boxPredCell(:,4),boxDeltaTarget(:,4),boxMaskTarget(:,1),boxErrorScaleTarget)); 323 | boxLoss = lossX+lossY+lossW+lossH; 324 | end 325 | 326 | function objLoss = objectnessLoss(objectnessPredCell, objectnessDeltaTarget, boxMaskTarget) 327 | % Binary cross-entropy loss for objectness score. 328 | objLoss = sum(cellfun(@(a,b,c) crossentropy(a.*c,b.*c,'TargetCategories','independent'),objectnessPredCell,objectnessDeltaTarget,boxMaskTarget(:,2))); 329 | end 330 | 331 | function clsLoss = classConfidenceLoss(classPredCell, classTarget, boxMaskTarget) 332 | % Binary cross-entropy loss for class confidence score. 333 | clsLoss = sum(cellfun(@(a,b,c) crossentropy(a.*c,b.*c,'TargetCategories','independent'),classPredCell,classTarget,boxMaskTarget(:,3))); 334 | end 335 | 336 | %% Learning Rate Schedule Function 337 | 338 | function currentLR = piecewiseLearningRateWithWarmup(iteration, epoch, learningRate, warmupPeriod, numEpochs) 339 | % The piecewiseLearningRateWithWarmup function computes the current 340 | % learning rate based on the iteration number. 341 | persistent warmUpEpoch; 342 | 343 | if iteration <= warmupPeriod 344 | % Increase the learning rate for number of iterations in warmup period. 345 | currentLR = learningRate * ((iteration/warmupPeriod)^4); 346 | warmUpEpoch = epoch; 347 | elseif iteration >= warmupPeriod && epoch < warmUpEpoch+floor(0.6*(numEpochs-warmUpEpoch)) 348 | % After warm up period, keep the learning rate constant if the remaining number of epochs is less than 60 percent. 349 | currentLR = learningRate; 350 | 351 | elseif epoch >= warmUpEpoch + floor(0.6*(numEpochs-warmUpEpoch)) && epoch < warmUpEpoch+floor(0.9*(numEpochs-warmUpEpoch)) 352 | % If the remaining number of epochs is more than 60 percent but less 353 | % than 90 percent multiply the learning rate by 0.1. 354 | currentLR = learningRate*0.1; 355 | 356 | else 357 | % If remaining epochs are more than 90 percent multiply the learning 358 | % rate by 0.01. 359 | currentLR = learningRate*0.01; 360 | end 361 | 362 | end 363 | 364 | %% Utility Functions 365 | 366 | function [lossPlotter, learningRatePlotter] = configureTrainingProgressPlotter(f) 367 | % Create the subplots to display the loss and learning rate. 368 | figure(f); 369 | clf 370 | subplot(2,1,1); 371 | ylabel('Learning Rate'); 372 | xlabel('Iteration'); 373 | learningRatePlotter = animatedline; 374 | subplot(2,1,2); 375 | ylabel('Total Loss'); 376 | xlabel('Iteration'); 377 | lossPlotter = animatedline; 378 | end 379 | 380 | function displayLossInfo(epoch, iteration, currentLR, lossInfo) 381 | % Display loss information for each iteration. 382 | disp("Epoch : " + epoch + " | Iteration : " + iteration + " | Learning Rate : " + currentLR + ... 383 | " | Total Loss : " + double(gather(extractdata(lossInfo.totalLoss))) + ... 384 | " | Box Loss : " + double(gather(extractdata(lossInfo.boxLoss))) + ... 385 | " | Object Loss : " + double(gather(extractdata(lossInfo.objLoss))) + ... 386 | " | Class Loss : " + double(gather(extractdata(lossInfo.clsLoss)))); 387 | end 388 | 389 | function updatePlots(lossPlotter, learningRatePlotter, iteration, currentLR, totalLoss) 390 | % Update loss and learning rate plots. 391 | addpoints(lossPlotter, iteration, double(extractdata(gather(totalLoss)))); 392 | addpoints(learningRatePlotter, iteration, currentLR); 393 | drawnow 394 | end 395 | 396 | 397 | -------------------------------------------------------------------------------- /src_main/SP_YOLOv4.m: -------------------------------------------------------------------------------- 1 | %% SP_YOLOv4 2 | % Fred liu 2022.4.20 3 | % YOLOv4 Demno for RabbitData 4 | 5 | %% DataSet Split 6 | % 切割資料 7 | rng(0) 8 | shuffledIndices = randperm(height(T_gTruth)); 9 | idx = floor(0.8 * height(T_gTruth)); 10 | 11 | trainingIdx = 1:idx; 12 | trainingDataTbl = T_gTruth(shuffledIndices(trainingIdx),:); 13 | 14 | testIdx = trainingIdx(end)+1 : length(shuffledIndices); 15 | testDataTbl = T_gTruth(shuffledIndices(testIdx),:); 16 | 17 | %% Build Datasotre 18 | % 建立資料庫 19 | % Train 20 | imdsTrain = imageDatastore(trainingDataTbl.imageFilename); 21 | bldsTrain = boxLabelDatastore(trainingDataTbl(:,2:end)); 22 | 23 | % Test 24 | imdsTest = imageDatastore(testDataTbl.imageFilename); 25 | bldsTest = boxLabelDatastore(testDataTbl(:,2:end)); 26 | 27 | %% Combine Datastore 28 | % 整併資料庫 29 | trainingData = combine(imdsTrain,bldsTrain); 30 | testData = combine(imdsTest,bldsTest); 31 | 32 | %% Data Augmentation 33 | % 資料增量 34 | augmentedTrainingData = transform(trainingData,@augmentData); 35 | 36 | augmentedData = cell(4,1); 37 | for k = 1:4 38 | data = read(augmentedTrainingData); 39 | augmentedData{k} = insertShape(data{1},'Rectangle',data{2}); 40 | reset(augmentedTrainingData); 41 | end 42 | figure 43 | montage(augmentedData,'BorderSize',10) 44 | 45 | %% Build Network(Define YOLO v4 Object Detector) 46 | %(定義YOLOv4物件偵測演算法) 47 | 48 | % Load Pre-Train Model 49 | model = 1; 50 | switch model 51 | case 1 52 | name = 'tiny-yolov4-coco'; 53 | networkInputSize = [416 416 3]; 54 | numAnchors = 6; 55 | case 2 56 | name = 'csp-darknet53-coco'; 57 | networkInputSize = [608 608 3]; 58 | numAnchors = 9; 59 | end 60 | %analyzeNetwork(net) 61 | classNames = {'rabbit',}; 62 | 63 | %% Anchors Box Design 64 | 65 | trainingDataForEstimation = transform(trainingData, @(data)preprocessData(data, networkInputSize)); 66 | [anchors, meanIoU] = estimateAnchorBoxes(trainingDataForEstimation, numAnchors) 67 | 68 | area = anchors(:, 1).*anchors(:, 2); 69 | [~, idx] = sort(area, 'descend'); 70 | anchors = anchors(idx, :); 71 | 72 | if numAnchors == 9 73 | anchorBoxes = {anchors(1:3,:) 74 | anchors(4:6,:) 75 | anchors(7:9,:) 76 | }; 77 | 78 | elseif numAnchors == 6 79 | anchorBoxes = {anchors(1:3,:) 80 | anchors(4:6,:) 81 | }; 82 | end 83 | 84 | %% Combined network architecture(組合網路架構) 85 | detector = yolov4ObjectDetector(name,classNames,anchorBoxes,InputSize=networkInputSize); 86 | 87 | 88 | %% Train Options 89 | % 資料參數 90 | 91 | options = trainingOptions("adam",... 92 | GradientDecayFactor=0.9,... 93 | SquaredGradientDecayFactor=0.999,... 94 | InitialLearnRate=0.0001,... 95 | LearnRateSchedule="none",... 96 | MiniBatchSize=8,... 97 | L2Regularization=0.0005,... 98 | MaxEpochs=50,... 99 | BatchNormalizationStatistics="moving",... 100 | DispatchInBackground= true,... 101 | ResetInputNormalization=false,... 102 | Shuffle="never",... 103 | VerboseFrequency=20,... 104 | CheckpointPath=tempdir,... 105 | ValidationData=testData); 106 | % 107 | %% Train 108 | % 訓練 109 | [detector,info] = trainYOLOv4ObjectDetector(augmentedTrainingData,detector,options); 110 | 111 | %% Test Single Image 112 | % 測試單張影像 113 | data = read(testData); 114 | I = data{1,1}; 115 | I = imresize(I,networkInputSize(1:2)); 116 | [bboxes, scores, labels] = detect(detector,I,'Threshold', 0.1); 117 | 118 | I = insertObjectAnnotation(I,'rectangle',bboxes,scores); 119 | figure 120 | imshow(I) 121 | 122 | %% Test Dataset 123 | detectionResults = detect(detector,testData); 124 | 125 | % Evaluate the object detector using Average Precision metric. 126 | [ap,recall,precision] = evaluateDetectionPrecision(detectionResults,testData); 127 | 128 | figure 129 | plot(recall,precision) 130 | xlabel("Recall") 131 | ylabel("Precision") 132 | grid on 133 | title(sprintf("Average Precision = %.2f",ap)) 134 | 135 | 136 | %% Supporting Functions 137 | % 輔助函式 138 | 139 | function data = augmentData(A) 140 | % Apply random horizontal flipping, and random X/Y scaling. Boxes that get 141 | % scaled outside the bounds are clipped if the overlap is above 0.25. Also, 142 | % jitter image color. 143 | 144 | data = cell(size(A)); 145 | for ii = 1:size(A,1) 146 | I = A{ii,1}; 147 | bboxes = A{ii,2}; 148 | labels = A{ii,3}; 149 | sz = size(I); 150 | 151 | if numel(sz) == 3 && sz(3) == 3 152 | I = jitterColorHSV(I,... 153 | contrast=0.0,... 154 | Hue=0.1,... 155 | Saturation=0.2,... 156 | Brightness=0.2); 157 | end 158 | 159 | % Randomly flip image. 160 | tform = randomAffine2d(XReflection=true,Scale=[1 1.1]); 161 | rout = affineOutputView(sz,tform,BoundsStyle="centerOutput"); 162 | I = imwarp(I,tform,OutputView=rout); 163 | 164 | % Apply same transform to boxes. 165 | [bboxes,indices] = bboxwarp(bboxes,tform,rout,OverlapThreshold=0.25); 166 | labels = labels(indices); 167 | 168 | % Return original data only when all boxes are removed by warping. 169 | if isempty(indices) 170 | data(ii,:) = A(ii,:); 171 | else 172 | data(ii,:) = {I,bboxes,labels}; 173 | end 174 | end 175 | end 176 | 177 | function data = preprocessData(data,targetSize) 178 | % Resize the images and scale the pixels to between 0 and 1. Also scale the 179 | % corresponding bounding boxes. 180 | 181 | for ii = 1:size(data,1) 182 | I = data{ii,1}; 183 | imgSize = size(I); 184 | 185 | bboxes = data{ii,2}; 186 | 187 | I = im2single(imresize(I,targetSize(1:2))); 188 | scale = targetSize(1:2)./imgSize(1:2); 189 | bboxes = bboxresize(bboxes,scale); 190 | 191 | data(ii,1:2) = {I,bboxes}; 192 | end 193 | end 194 | 195 | --------------------------------------------------------------------------------