# Python 版セグメンテーション(DeepTIAS 2.7 の再現)の評価(tias-seg eval): 計算サーバ上の正解マスク付きデータで IoU を測る
# 臨床データはサーバ上にのみ置く.手元ではこの設定で実行しない.GPU は使わない(tias-remote run --cpu).
# 環境変数 TIAS_SEG_DATA_ROOT・TIAS_SEG_MODEL_ROOT が設定されていれば data.root・models.root より優先される
# (tias-remote run が渡す TIAS_DATA_ROOT は判定モデルのデータを指すため使わない).
data:
root: ~/data/TongueSegmentation/input
sample_dirname: sample # 評価セット内の入力画像のディレクトリ
label_dirname: label # 正解マスク(入力画像と同じ stem)
label_threshold: 128 # 正解マスク(JPEG)のこの値以上を前景とする
sets:
- name: test_cropped
dir: test/cropped
kind: cropped # 切り出し済み: 画像全体に ResUNet(学習時と同じ条件)
- name: test_extra_cropped
dir: test_extra/cropped
kind: cropped
- name: train
dir: train
kind: cropped
- name: test_fullsize
dir: test/fullsize
kind: fullsize # 撮影画像: 検出なし・正解の外接矩形・検出モデル(ある場合)を比べる
models:
root: ~/models/TongueSegmentation
resunet: ResUNet.onnx
# scripts/convert_detection_to_onnx.py で変換したもの.ファイルが無ければ detector の方式を省いて続ける
detection: Detection_Normal.onnx
resunet:
input_size: 256
foreground_channel: 0 # DeepTIAS はチャンネル 0 にシグモイドを掛ける
postprocess:
min_area: 500 # 輪郭が 0 個または 2 個超のとき,前景・背景とも面積これ未満の領域を除く
mask_threshold: 127 # 枠のサイズに線形補間で戻したマスクのこの値より大きい画素を前景とする
detection:
score_threshold: 0.5 # これを超える中で最高の枠を採用する(DeepTIAS と同じ)
input_color: rgb # 検出モデルへ渡す色の順(TF の物体検出 API の既定は RGB)
input_name: image_tensor
boxes_name: detection_boxes
scores_name: detection_scores
evaluation:
iou_threshold: 0.8 # IoU がこれ未満の件数を数える