Thyroid-TIRADS-Seg.yaml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. # 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, ..]
  2. path: Thyroid-TIRADS-Seg # dataset root dir
  3. train: images/train # train images (relative to 'path') 128 images
  4. val: images/val # val images (relative to 'path') 128 images
  5. test: # test images (optional)
  6. # 平台训练需要给到下面的参数
  7. platform_data_args:
  8. token: 4925EC4929684AA0ABB0173B03CFC8FF # 39829c10d79745c6aaac35df80811966 4925EC4929684AA0ABB0173B03CFC8FF
  9. # 错误文件
  10. wrong_file: 'vinno_files/wrongfile/thyroid_tirads/wrongname.txt'
  11. # "segment"生成分割的数据 "detection"生成检测的数据
  12. data_type: "segment"
  13. # 有些项目需要裁图,给到相应的裁图参数,
  14. # 如果不需要裁图,直接给 "" 即可
  15. extra_contours_args: ""
  16. # 所需的图像标签字典,从0开始,都是背景
  17. # 如果为空,给 "" 即可
  18. needed_image_results_dict:
  19. "甲状腺":
  20. "未见明显异常": 0
  21. "无可标项": 0
  22. "桥本甲状腺炎声像图改变": 0
  23. "甲亢声像图改变": 0
  24. "亚急性甲状腺炎声像图改变": 0
  25. # 所需的ROI标签字典,从1开始都是需要的标签(取到的标签最终都会减1,yolo那边默认从0开始作为第一类)
  26. # 从部位标签开始取,如果不同部位标签内,相同名字的作为一类,则给相同的数字;不作为一类,则给不同的数字
  27. needed_rois_dict:
  28. "甲状腺":
  29. "TIRADS 2": 1
  30. "TIRADS 3": 2
  31. "TIRADS 4A": 3
  32. "TIRADS 4B": 4
  33. "TIRADS 4C": 5
  34. "TIRADS 5": 6
  35. # 一张图有多个ROI标签和图像标签时,后续采用谁的类别作为该图的扩充比例,给到相应的强弱等级
  36. # 该等级只用来比较多标签时,选择哪个作为扩充比例
  37. # 如果有多个相同的强弱等级的话,则按最后一个取到的标签的强弱等级计算
  38. # 该参数的键跟 needed_image_results_dict 和 needed_rois_dict一致
  39. label_aug_level :
  40. "甲状腺":
  41. "未见明显异常": 0
  42. "无可标项": 0
  43. "桥本甲状腺炎声像图改变": 0
  44. "甲亢声像图改变": 0
  45. "亚急性甲状腺炎声像图改变": 0
  46. "TIRADS 2": 1
  47. "TIRADS 3": 2
  48. "TIRADS 4A": 3
  49. "TIRADS 4B": 4
  50. "TIRADS 4C": 5
  51. "TIRADS 5": 6
  52. # 所需标签在训练时的扩充比例,根据原有的数量*扩充比例
  53. # 所需标签的扩充比例都来自于needed_image_results_dict 和 needed_rois_dict
  54. # 额外添加了一个空字符:如果出现一张图有roi标签,但是没有所需的roi标签,则该图像也会作为背景进行训练,该图像的扩充比例即为空字符对应的数字
  55. # 需要注意:1.不裁图时,如果出现一张图只有图像标签,没有roi标签,但是没有所需的图像标签,则该图像直接舍弃。
  56. # 需要注意:2.裁图时,如果出现一张图没有额外轮廓,则该图像直接舍弃。
  57. class_aug_times:
  58. "": 1
  59. "甲状腺":
  60. "未见明显异常": 1
  61. "无可标项": 1
  62. "桥本甲状腺炎声像图改变": 1
  63. "甲亢声像图改变": 1
  64. "亚急性甲状腺炎声像图改变": 1
  65. "TIRADS 2": 1
  66. "TIRADS 3": 1
  67. "TIRADS 4A": 1
  68. "TIRADS 4B": 1
  69. "TIRADS 4C": 1
  70. "TIRADS 5": 1
  71. # 评价指标计算时,各类别最终输出计算的标签字典
  72. # 可能设置多种参数,比如:甲状腺、乳腺疾病,计算分级、良恶性、检出病灶 三种输出的评价指标
  73. # 0为背景,其他都是类别
  74. class_id_map_list: [
  75. {0: 0, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1},
  76. {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6},
  77. ]
  78. # c++后处理的dll
  79. dll_file: 'vinno_files/depends/YOLOInstanceSegOutputPostProcessUtil.dll'
  80. # 该resize方式只针对后续调用c++后处理时,图像的resize方式,不影响yolo本身训练的resize方式
  81. # resize方式跟c#中EnumResizeMode一致,会影响MoldedImageMetas的数值,从而影响c++后处理时返回原图的坐标
  82. # FitLargeSizeAndPad:以长边为准,将原始图像等比例缩放,短边用固定灰度值填充,暂时固定灰度值没有给到参数设置,默认给的128,128,128,后续需要改成和c#那边一致
  83. # FitSmallSizeAndCrop:以短边为准,将原始图像等比例缩放,长边直接裁切掉不要
  84. # Warp:非等比例缩放,长短边各自伸缩到模型所需的尺寸
  85. resize_mode: Warp
  86. # yolo后处理需要的参数
  87. yolo_inst_seg_metas:
  88. yolo_type: yolov8
  89. box_conf_thres: 0.3
  90. cls_conf_thres: 0.3
  91. batch_size: 1
  92. max_det: 10
  93. min_box_ratio: 0.001
  94. post_process_top_k: 6400
  95. iou_fltth: 0.3
  96. ios_fltth: 0.5
  97. enable_iou_filt: true
  98. enable_ios_filt: true
  99. iou_fltth_diff_cls: 0.3
  100. ios_fltth_diff_cls: 0.3
  101. enable_iou_filt_diff_cls: true
  102. enable_ios_filt_diff_cls: true
  103. mask_thres: 0.5
  104. # 用于c++的后处理参数,跟c#那边一致即可
  105. seg_post_process_param:
  106. 1:
  107. max_lesion_count: 5
  108. lesion_area_requirements:
  109. # NoneType (不设面积阈值)
  110. # PixelInMask(面积阈值是在mask上的像素数)
  111. # RatioInMask(面积阈值是病灶面积占mask的比例)
  112. # PixelInOrigImg(面积阈值是在原图上的像素数)
  113. # RatioInOrigImg(面积阈值是病灶面积占原图的比例)
  114. - lesion_area_threshold_type: RatioInMask
  115. lesion_min_area: 0.001
  116. lesion_max_area: 1.0
  117. - lesion_area_threshold_type: PixelInOrigImg
  118. lesion_min_area: 0
  119. lesion_max_area: 500000
  120. 2:
  121. max_lesion_count: 5
  122. lesion_area_requirements:
  123. - lesion_area_threshold_type: RatioInMask
  124. lesion_min_area: 0.001
  125. lesion_max_area: 1.0
  126. 3:
  127. max_lesion_count: 5
  128. lesion_area_requirements:
  129. - lesion_area_threshold_type: RatioInMask
  130. lesion_min_area: 0.001
  131. lesion_max_area: 1.0
  132. 4:
  133. max_lesion_count: 5
  134. lesion_area_requirements:
  135. - lesion_area_threshold_type: RatioInMask
  136. lesion_min_area: 0.001
  137. lesion_max_area: 1.0
  138. 5:
  139. max_lesion_count: 5
  140. lesion_area_requirements:
  141. - lesion_area_threshold_type: RatioInMask
  142. lesion_min_area: 0.001
  143. lesion_max_area: 1.0
  144. 6:
  145. max_lesion_count: 5
  146. lesion_area_requirements:
  147. - lesion_area_threshold_type: RatioInMask
  148. lesion_min_area: 0.001
  149. lesion_max_area: 1.0
  150. # 评价指标
  151. metrics_type:
  152. - pascal:
  153. iou_threshold: 0.5
  154. method_average_precision: EVERY_POINT_INTERPOLATION # EVERY_POINT_INTERPOLATION 或者 ELEVEN_POINT_INTERPOLATION
  155. generate_table: false
  156. # fn错误的有两种,一种是iou低于设置(也就是fp),一种是没有检测出来,为了方便查看,此时统计的fn将fp排除
  157. generate_fp_fn_image_names: true # 是否记录fp和fn所在图像的名称,用于可能后续画gt和dt看结果
  158. - coco:
  159. # coco默认计算0.5-0.95的mAP,这边给到值可以设置,所需要的范围
  160. lower_iou_threshold_limit: 0.50
  161. upper_iou_threshold_limit: 0.95
  162. # 默认前100个检测的结果,可以进行设置
  163. max_dets: 100
  164. # 根据面积区分 small medium large,计算时取 值的平方 作为界限
  165. lower_area_limit: 32
  166. upper_area_limit: 96
  167. # 最终训练的类别,目标从零开始,背景没有标签,对应的名称只是为了最终结果的显示
  168. names:
  169. 0: TIRADS 2
  170. 1: TIRADS 3
  171. 2: TIRADS 4A
  172. 3: TIRADS 4B
  173. 4: TIRADS 4C
  174. 5: TIRADS 5