Task2: 시방준수
ktt.module.install_compliance.Inferencer
랜케이블 커넥터의 연결 상태 및 결함을 검출하고 시방준수 상태를 평가하는 파이프라인을 제공합니다.
주요 기능
- RJ45 커넥터 자동 탐지
- 디바이스 연결 상태 분류 (연결됨/연결 안됨)
- 케이블 결함 검출 (정상/결함 있음)
- 시방준수 상태 평가 및 보고
Usage
demo/demo_install_compliance_inference.py 참고
build(config)
classmethod
API 인스턴스를 생성합니다.
Parameters:
Returns:
| Name | Type | Description |
|---|---|---|
Inferencer |
Inferencer
|
빌드 완료된 시방준수 추론 핸들러 인스턴스. |
infer(images)
입력 이미지들에 대해 시방준수 검사를 수행합니다.
2단계 파이프라인을 실행합니다: 1) RJ45 커넥터 객체 탐지 (DET) 2) 탐지된 영역의 디바이스 연결 상태 및 결함 분류 (MLC) 각 탐지된 객체는 패딩과 함께 크롭되어 개별적으로 분류됩니다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
images |
list[ndarray]
|
입력 이미지 리스트 (RGB, shape: (H, W, 3)). 각 이미지는 numpy 배열이며 0-255 범위의 uint8 값을 가져야 합니다. |
required |
Returns:
Note
- 탐지 관련 필드들이 빈 리스트인 경우 케이블 커넥터가 탐지되지 않았음을 의미합니다.
- 모든 타이밍 정보는 배치 처리로 인해 배치 내 이미지들에 균등 분배됩니다.
- 리스트 필드들의 길이는 모두 동일하며, 각 인덱스는 동일한 탐지 객체를 참조합니다.
- compliance_status_list의 각 요소별 의미:
- "compliance": 디바이스가 정상적으로 연결되고 결함이 없는 상태 (적합)
- "no_connector_detected": 이미지에서 케이블 커넥터가 전혀 탐지되지 않은 상태 (부적합)
- "no_connector_inserted": 케이블은 탐지되었으나 디바이스가 연결되지 않은 상태 (부적합)
- "connetor_defect_detected": 디바이스는 연결되었으나 케이블에 결함이 발견된 상태 (부적합)
get_default_inference_option(key)
특정 추론 옵션의 기본값을 조회합니다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key |
str
|
옵션 key. |
required |
Keys
사용 가능한 key와 value 목록
Returns:
| Name | Type | Description |
|---|---|---|
Any |
Any
|
옵션 value. |
Raises:
| Type | Description |
|---|---|
InferenceOptionKeyError
|
지정된 키가 존재하지 않는 경우. |
InferenceOptionValueError
|
값의 형식이 잘못되었거나 임계값이 유효 범위(0-100)를 벗어난 경우. |
get_inference_option(key)
현재 설정된 추론 옵션 값을 조회합니다. Args: key (str): 옵션 key.
Returns:
| Name | Type | Description |
|---|---|---|
Any |
Any
|
옵션 value. |
Keys
get_default_inference_option과 동일합니다.
Raises:
| Type | Description |
|---|---|
InferenceOptionKeyError
|
지정된 키가 존재하지 않는 경우. |
set_inference_option(key, value)
추론 옵션을 설정합니다. Args: key (str): 설정할 옵션의 점으로 구분된 경로. value (Any): 설정할 새로운 값.
Keys
get_default_inference_option과 동일합니다.
Raises:
| Type | Description |
|---|---|
InferenceOptionKeyError
|
지정된 키가 존재하지 않는 경우. |
InferenceOptionValueError
|
값의 형식이 잘못되었거나 임계값이 유효 범위(0-100)를 벗어난 경우. |
Note
설정 변경은 즉시 적용되며 다음 추론부터 새로운 임계값이 사용됩니다. 임계값은 0과 100 사이의 값이어야 하며, 이를 벗어나면 InferenceOptionValueError가 발생합니다.