| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # LICENSE HEADER MANAGED BY add-license-header
- #
- # Copyright 2018 Kornia Team
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- from dataclasses import dataclass, field
- @dataclass
- class HeatMapRefineCfg:
- mode: str = "local"
- ratio: float = 0.2
- valid_thresh: float = 0.001
- num_blocks: int = 20
- overlap_ratio: float = 0.5
- @dataclass
- class JunctionRefineCfg:
- num_perturbs: int = 9
- perturb_interval: float = 0.25
- @dataclass
- class LineDetectorCfg:
- detect_thresh: float = 0.5
- num_samples: int = 64
- inlier_thresh: float = 0.99
- use_candidate_suppression: bool = True
- nms_dist_tolerance: float = 3.0
- heatmap_low_thresh: float = 0.15
- heatmap_high_thresh: float = 0.2
- max_local_patch_radius: float = 3
- lambda_radius: float = 2.0
- use_heatmap_refinement: bool = True
- heatmap_refine_cfg: HeatMapRefineCfg = field(default_factory=HeatMapRefineCfg)
- use_junction_refinement: bool = True
- junction_refine_cfg: JunctionRefineCfg = field(default_factory=JunctionRefineCfg)
- @dataclass
- class LineMatcherCfg:
- cross_check: bool = True
- num_samples: int = 5
- min_dist_pts: int = 8
- top_k_candidates: int = 10
- grid_size: int = 4
- line_score: bool = False # True to compute saliency on a line
- @dataclass
- class BackboneCfg:
- input_channel: int = 1
- depth: int = 4
- num_stacks: int = 2
- num_blocks: int = 1
- num_classes: int = 5
- @dataclass
- class DetectorCfg:
- backbone_cfg: BackboneCfg = field(default_factory=BackboneCfg)
- use_descriptor: bool = False
- grid_size: int = 8
- keep_border_valid: bool = True
- detection_thresh: float = 0.0153846 # = 1/65: threshold of junction detection
- max_num_junctions: int = 500 # maximum number of junctions per image
- line_detector_cfg: LineDetectorCfg = field(default_factory=LineDetectorCfg)
- line_matcher_cfg: LineMatcherCfg = field(default_factory=LineMatcherCfg)
|