Task3: 침입관제
ktt.module.intrusion_monitoring.Inferencer
영상 침입 모니터링 시스템을 위한 추론 파이프라인을 제공합니다.
주요 기능
- 비디오 클립에서 움직임 탐지 및 분석
- 프레임별 모션 점수 계산 및 히트맵 생성
- 최대 모션 프레임 추출 및 시각화
- 객체 탐지 기반 침입 확인 (미구현)
Usage
demo/demo_intrusion_monitoring_inference.py 참고
build(config)
classmethod
API 인스턴스를 생성합니다.
Parameters:
Returns:
| Name | Type | Description |
|---|---|---|
Inferencer |
Inferencer
|
빌드 완료된 침입 모니터링 추론 핸들러 인스턴스. |
infer(video_paths)
입력 비디오 클립들에 대해 침입 모니터링 추론을 수행합니다.
4단계 파이프라인을 실행합니다: 1) 비디오 로딩 및 전처리 (리사이징, 정규화) 2) 프레임 차이 기반 모션 감지 3) 모션 임계값 초과 시 객체 탐지 (미구현) 4) 결과 후처리 및 시각화 데이터 생성
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
video_paths |
list[str]
|
입력 비디오 파일 경로 리스트. 각 경로는 절대 경로 또는 상대 경로 문자열이어야 합니다. |
required |
Returns:
Note
- video_score가 motion_threshold를 초과하는 비디오만 객체 탐지를 수행합니다 (미구현).
- frame_scores의 길이는 (전체 프레임 수 - 1)입니다 (인접 프레임 차이 계산).
- best_frame_idx는 frame_scores 기준 인덱스이므로, 실제 프레임 번호는 best_frame_idx + 1입니다.
- motion_heatmap은 모든 프레임의 모션을 누적한 결과로, 모션이 빈번한 영역을 파악할 수 있습니다.
- best_frame_overlay는 numpy array → list 변환된 형태로 반환되며, 저장/전송이 용이합니다.
- 모든 모션 관련 값은 0-1 정규화되어 있으며, 임계값과 직접 비교 가능합니다.
Raises:
| Type | Description |
|---|---|
ValueError
|
video_paths가 비어있는 경우. |
RuntimeError
|
모든 비디오의 유효 프레임 수가 0인 경우. |
FileNotFoundError
|
비디오 파일을 찾을 수 없는 경우. |
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
|
지정된 키가 존재하지 않는 경우. |
get_inference_option(key)
현재 설정된 추론 옵션 값을 조회합니다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key |
str
|
옵션 key (점으로 구분된 경로). |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Any |
Any
|
옵션 value. |
Keys
get_default_inference_option과 동일합니다.
Raises:
| Type | Description |
|---|---|
InferenceOptionKeyError
|
지정된 키가 존재하지 않는 경우. |
set_inference_option(key, value)
추론 옵션을 설정합니다.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key |
str
|
설정할 옵션의 점으로 구분된 경로. |
required |
value |
Any
|
설정할 새로운 값. |
required |
Keys
get_default_inference_option과 동일합니다.