Breast-BIRADS-Obj.yaml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. # 一般训练需要给到路径,平台训练无需给到
  2. # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
  3. path: breast-obj # dataset root dir
  4. train: images/train # train images
  5. val: images/val # val images
  6. test: # test images (optional)
  7. # 平台训练需要给到下面的参数
  8. platform_data_args:
  9. token: 4925EC4929684AA0ABB0173B03CFC8FF # 39829c10d79745c6aaac35df80811966 4925EC4929684AA0ABB0173B03CFC8FF
  10. # 错误文件
  11. wrong_file: 'vinno_files/wrongfile/breast_birads/wrongname.txt'
  12. # "segment"生成分割的数据 "detection"生成检测的数据
  13. data_type: "detection"
  14. # 有些项目需要裁图,给到相应的裁图参数,
  15. # 如果不需要裁图,直接给 "" 即可
  16. extra_contours_args: ""
  17. # 所需的图像标签字典,从0开始,都是背景
  18. # 如果为空,给 "" 即可
  19. needed_image_results_dict:
  20. "乳腺":
  21. '未见明显异常': 0
  22. # 所需的ROI标签字典,从1开始都是需要的标签(取到的标签最终都会减1,yolo那边默认从0开始作为第一类)
  23. # 从部位标签开始取,如果不同部位标签内,相同名字的作为一类,则给相同的数字;不作为一类,则给不同的数字
  24. needed_rois_dict:
  25. "乳腺":
  26. '脂肪瘤': 1
  27. 'BI-RADS 2': 2
  28. 'BI-RADS 3': 3
  29. 'BI-RADS 4a': 4
  30. 'BI-RADS 4b': 5
  31. 'BI-RADS 4c': 6
  32. 'BI-RADS 5': 7
  33. # 一张图有多个ROI标签和图像标签时,后续采用谁的类别作为该图的扩充比例,给到相应的强弱等级
  34. # 该等级只用来比较多标签时,选择哪个作为扩充比例
  35. # 如果有多个相同的强弱等级的话,则按最后一个取到的标签的强弱等级计算
  36. # 该参数的键跟 needed_image_results_dict 和 needed_rois_dict一致
  37. label_aug_level:
  38. "乳腺":
  39. '未见明显异常': 0
  40. '脂肪瘤': 1
  41. 'BI-RADS 2': 2
  42. 'BI-RADS 3': 3
  43. 'BI-RADS 4a': 4
  44. 'BI-RADS 4b': 5
  45. 'BI-RADS 4c': 6
  46. 'BI-RADS 5': 7
  47. # 所需标签在训练时的扩充比例,根据原有的数量*扩充比例
  48. # 所需标签的扩充比例都来自于needed_image_results_dict 和 needed_rois_dict
  49. # 额外添加了一个空字符:如果出现一张图有roi标签,但是没有所需的roi标签,则该图像也会作为背景进行训练,该图像的扩充比例即为空字符对应的数字
  50. # 需要注意:1.不裁图时,如果出现一张图只有图像标签,没有roi标签,但是没有所需的图像标签,则该图像直接舍弃。
  51. # 需要注意:2.裁图时,如果出现一张图没有额外轮廓,则该图像直接舍弃。
  52. class_aug_times:
  53. "": 1
  54. "乳腺":
  55. '未见明显异常': 1
  56. '脂肪瘤': 100
  57. 'BI-RADS 2': 6
  58. 'BI-RADS 3': 2.5
  59. 'BI-RADS 4a': 10
  60. 'BI-RADS 4b': 25
  61. 'BI-RADS 4c': 30
  62. 'BI-RADS 5': 100
  63. # 评价指标计算时,各类别最终输出计算的标签字典
  64. # 可能设置多种参数,比如:甲状腺、乳腺疾病,计算分级、良恶性、检出病灶 三种输出的评价指标
  65. # 0为背景,其他都是类别
  66. class_id_map_list: [
  67. {0: 0, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1},
  68. {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7},
  69. ]
  70. # c++后处理的dll
  71. dll_file: 'vinno_files/depends/YOLOOutputPostProcessUtil.dll'
  72. # yolo后处理所需要的参数
  73. yolo_metas:
  74. yolotype: yolov8 # yolov5 或者 yolov8
  75. confthres: 0.5
  76. clsconfthres: 0.5
  77. batchsize: 1
  78. maxdet: 10
  79. minboxratio: 0.001
  80. postprocesstopk: 160
  81. enableioufilt: true
  82. enableiosfilt: true
  83. ioufltth: 0.3
  84. iosfltth: 0.3
  85. enableunion: false
  86. unioniouth: 1.0
  87. unioniosth: 1.0
  88. unionuobth: 1.0
  89. enableioufiltdiffcls: true
  90. enableiosfiltdiffcls: true
  91. ioufltthdiffcls: 0.3
  92. iosfltthdiffcls: 0.3
  93. metrics_type:
  94. - pascal:
  95. iou_threshold: 0.5
  96. method_average_precision: EVERY_POINT_INTERPOLATION # EVERY_POINT_INTERPOLATION 或者 ELEVEN_POINT_INTERPOLATION
  97. generate_table: false
  98. # fn错误的有两种,一种是iou低于设置(也就是fp),一种是没有检测出来,为了方便查看,此时统计的fn将fp排除
  99. generate_fp_fn_image_names: true # 是否记录fp和fn所在图像的名称,用于可能后续画gt和dt看结果
  100. - coco:
  101. # coco默认计算0.5-0.95的mAP,这边给到值可以设置,所需要的范围
  102. lower_iou_threshold_limit: 0.50
  103. upper_iou_threshold_limit: 0.95
  104. # 默认前100个检测的结果,可以进行设置
  105. max_dets: 100
  106. # 根据面积区分 small medium large,计算时取 值的平方 作为界限
  107. lower_area_limit: 32
  108. upper_area_limit: 96
  109. # 最终训练的类别,目标从零开始,背景没有标签,对应的名称只是为了最终结果的显示
  110. names:
  111. 0: lipomyoma
  112. 1: BIRADS2
  113. 2: BIRADS3
  114. 3: BIRADS4a
  115. 4: BIRADS4b
  116. 5: BIRADS4c
  117. 6: BIRADS5