# 一般训练需要给到路径,平台训练无需给到 # 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, ..] path: thyroid-tirads-obj # dataset root dir train: images/train # train images (relative to 'path') 128 images val: images/val # val images (relative to 'path') 128 images test: # test images (optional) # 平台训练需要给到下面的参数 platform_data_args: token: 4925EC4929684AA0ABB0173B03CFC8FF #39829c10d79745c6aaac35df80811966 4925EC4929684AA0ABB0173B03CFC8FF # 错误文件 wrong_file: 'vinno_files/wrongfile/thyroid_tirads/wrongname_delete_LZU.txt' # "segment"生成分割的数据 "detection"生成检测的数据 data_type: "detection" # 有些项目需要裁图,给到相应的裁图参数, # 如果不需要裁图,直接给 "" 即可 extra_contours_args: "" # 所需的图像标签字典,从0开始,都是背景 # 如果为空,给 "" 即可 needed_image_results_dict: "甲状腺": "未见明显异常": 0 "无可标项": 0 "桥本甲状腺炎声像图改变": 0 "甲亢声像图改变": 0 "亚急性甲状腺炎声像图改变": 0 # 所需的ROI标签字典,从1开始都是需要的标签(取到的标签最终都会减1,yolo那边默认从0开始作为第一类) # 从部位标签开始取,如果不同部位标签内,相同名字的作为一类,则给相同的数字;不作为一类,则给不同的数字 needed_rois_dict: "甲状腺": "TIRADS 2": 1 "TIRADS 3": 2 "TIRADS 4A": 3 "TIRADS 4B": 4 "TIRADS 4C": 5 "TIRADS 5": 6 # 一张图有多个ROI标签和图像标签时,后续采用谁的类别作为该图的扩充比例,给到相应的强弱等级 # 该等级只用来比较多标签时,选择哪个作为扩充比例 # 如果有多个相同的强弱等级的话,则按最后一个取到的标签的强弱等级计算 # 该参数的键跟 needed_image_results_dict 和 needed_rois_dict一致 label_aug_level: "甲状腺": "未见明显异常": 0 "无可标项": 0 "桥本甲状腺炎声像图改变": 0 "甲亢声像图改变": 0 "亚急性甲状腺炎声像图改变": 0 "TIRADS 2": 1 "TIRADS 3": 2 "TIRADS 4A": 3 "TIRADS 4B": 4 "TIRADS 4C": 5 "TIRADS 5": 6 # 所需标签在训练时的扩充比例,根据原有的数量*扩充比例 # 所需标签的扩充比例都来自于needed_image_results_dict 和 needed_rois_dict # 额外添加了一个空字符:如果出现一张图有roi标签,但是没有所需的roi标签,则该图像也会作为背景进行训练,该图像的扩充比例即为空字符对应的数字 # 需要注意:1.不裁图时,如果出现一张图只有图像标签,没有roi标签,但是没有所需的图像标签,则该图像直接舍弃。 # 需要注意:2.裁图时,如果出现一张图没有额外轮廓,则该图像直接舍弃。 class_aug_times: "": 1 "甲状腺": "未见明显异常": 1 "无可标项": 4 "桥本甲状腺炎声像图改变": 2 "甲亢声像图改变": 3 "亚急性甲状腺炎声像图改变": 5 "TIRADS 2": 8 "TIRADS 3": 3 "TIRADS 4A": 3 "TIRADS 4B": 6 "TIRADS 4C": 10 "TIRADS 5": 20 # 评价指标计算时,各类别最终输出计算的标签字典 # 可能设置多种参数,比如:甲状腺、乳腺疾病,计算分级、良恶性、检出病灶 三种输出的评价指标 # 0为背景,其他都是类别 class_id_map_list: [ {0: 0, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}, {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}, ] # c++后处理的dll dll_file: 'vinno_files/depends/YOLOOutputPostProcessUtil.dll' # yolo后处理所需要的参数 yolo_metas: yolotype: yolov8 # yolov5 或者 yolov8 confthres: 0.65 clsconfthres: 0.65 batchsize: 1 maxdet: 10 minboxratio: 0.001 postprocesstopk: 640 enableioufilt: true enableiosfilt: true ioufltth: 0.3 iosfltth: 0.3 enableunion: false unioniouth: 1.0 unioniosth: 1.0 unionuobth: 1.0 enableioufiltdiffcls: true enableiosfiltdiffcls: true ioufltthdiffcls: 0.3 iosfltthdiffcls: 0.9 # 评价指标 metrics_type: - pascal: iou_threshold: 0.5 method_average_precision: EVERY_POINT_INTERPOLATION # EVERY_POINT_INTERPOLATION 或者 ELEVEN_POINT_INTERPOLATION generate_table: false # fn错误的有两种,一种是iou低于设置(也就是fp),一种是没有检测出来,为了方便查看,此时统计的fn将fp排除 generate_fp_fn_image_names: true # 是否记录fp和fn所在图像的名称,用于可能后续画gt和dt看结果 - coco: # coco默认计算0.5-0.95的mAP,这边给到值可以设置,所需要的范围 lower_iou_threshold_limit: 0.50 upper_iou_threshold_limit: 0.95 # 默认前100个检测的结果,可以进行设置 max_dets: 100 # 根据面积区分 small medium large,计算时取 值的平方 作为界限 lower_area_limit: 32 upper_area_limit: 96 # 最终训练的类别,目标从零开始,背景没有标签,对应的名称只是为了最终结果的显示 names: 0: TIRADS 2 1: TIRADS 3 2: TIRADS 4A 3: TIRADS 4B 4: TIRADS 4C 5: TIRADS 5