Newer
Older
TIASJudgeModel / configs / seg / eval_synthetic.yaml
# 手元確認用: 合成データ(scripts/make_synthetic_segmentation.py)とダミーの ONNX(scripts/make_dummy_seg_models.py)で tias-seg eval を通す設定
# 相対パスはカレントディレクトリ(リポジトリのルート)基準.ダミーのモデルなので IoU の値に意味は無い.
# 環境変数 TIAS_SEG_DATA_ROOT・TIAS_SEG_MODEL_ROOT が設定されていれば data.root・models.root より優先される
# (tias-remote run が渡す TIAS_DATA_ROOT は判定モデルのデータを指すため使わない).
data:
  root: data/synthetic_seg/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: data/synthetic_seg/models
  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 がこれ未満の件数を数える