Files
pbl02/scenario_md/ISR03-정보·감시·정찰(ISR)_드론 정보 분석-드론 비행로그 패턴 이상 탐지와 운용 주체 단정 방지/ISR03-정보·감시·정찰(ISR)_드론 정보 분석-드론 비행로그 패턴 이상 탐지와 운용 주체 단정 방지.md
T
2026-10-08 16:43:48 +09:00

98 lines
16 KiB
Markdown

**드론 비행로그 패턴 이상 탐지와 운용 주체 단정 방지**
난 이 도 **고급**
| **프로젝트 목표** | 러시아-우크라이나 전쟁에서는 상용 드론이 정찰과 공격에 폭넓게 쓰이면서, 노획하거나 수집한 드론 비행로그를 분석해 이상 비행을 찾아내는 일이 중요해졌다. 그러나 같은 상용 기체를 아군·민간·적대 세력이 모두 쓰기 때문에, 비행 특성만 보고 운용 주체를 성급하게 단정하면 오판으로 이어질 수 있다. 본 프로젝트에서는 교육용 가상 비행로그를 코드로 직접 만들어 스키마 정의, GPS 스푸핑 보정 전처리, 규칙 기반 Baseline, 군집·비지도 학습 기반 이상 탐지, 불확실성을 반영한 운용 주체 신뢰도 엔진, 분석 대시보드, 정보분석관 심층 검토(HITL), 대량 로그 부하 시험, AAR 재보정, 최종 통합까지 단계별로 구현한다. 최종 목표는 이상 비행을 놓치지 않으면서 오탐을 줄이고, 운용 주체에 관한 판단은 항상 확률·불확실성·근거와 함께 사람의 검토를 거쳐 보고되도록 설계하는 것이다. |
| --- | --- |
| **유의사항** | 모든 비행로그·좌표·기체 정보·운용 주체 라벨은 코드 안에서 만든 교육용 가상 자료이며 실제 노획 장비, 부대명, 위치, 장비 제원은 사용하지 않는다. 노획 장비는 분해·조작하지 않고 격리·보고 후 전문기관에 인계하는 것을 전제로 하며, 부대 내 촬영이나 부대 자료의 외부 AI 서비스 입력은 금지한다. 엔진이 산출하는 '적대 가능성 등급'은 검토 우선순위를 정하는 판단 보조 정보일 뿐 운용 주체 결론이 아니며, 특정 국가·부대로의 귀속 판단은 정보분석관 검토와 지휘계통을 따른다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. |
| --- | --- |
**1단계. 비행로그 데이터 정의 및 텔레메트리 전처리**
| **미션 1. 상용 및 군용 드론 비행로그(GPS, 속도, 고도, RC제어) 데이터 스키마 및 수집 환경 분석** [초급 · 1.5시간] | **미션 1. 상용 및 군용 드론 비행로그(GPS, 속도, 고도, RC제어) 데이터 스키마 및 수집 환경 분석** [초급 · 1.5시간] |
| --- | --- |
| **목표** | 노획·수집된 상용/군용 드론 비행로그(GPS 위치, 속도, 고도, RC 조종 신호)의 구조를 분석하고, 수집 경위와 전술 파라미터까지 포함한 데이터 스키마와 검증기를 만든다. |
| **수행** | 1초 단위 비행 기록(위치·고도·속도·방위·조종신호 품질·위성 수·HDOP), 수집 경위(수집 방식·수집자·원본 해시), 기체 구분, 전술 파라미터(기상·위치오차·통신지연) 필드를 정의한다. 수집 단계에서는 운용 주체를 'unassessed'로만 기록하게 해 성급한 단정을 막는다. 가상 샘플 20건을 검증하고 형식·범위·누락·단정 기재 오류와 해시 불일치를 일부러 넣어 검출되는지 확인한 뒤 명세서로 정리한다. |
| **산출물** | data/schema/isr03_input_schema.json, docs/isr03_data_spec.md |
| **평가** | **[필수] 데이터 구조화·검증** — 스키마 필드 정의 완성도 100%, 정상 샘플 검증 오류 0건, 주입한 오류 5종과 해시 불일치를 모두 검출하고 누락된 전술 파라미터를 보완했는가. |
| **미션 2. 비행로그 내 GPS 스푸핑 왜곡값 보정 및 시계열 텔레메트리 전처리 모듈 구현** [초급~중급 · 2시간] | **미션 2. 비행로그 내 GPS 스푸핑 왜곡값 보정 및 시계열 텔레메트리 전처리 모듈 구현** [초급~중급 · 2시간] |
| --- | --- |
| **목표** | GPS 스푸핑·전자기 간섭·센서 단절로 왜곡된 비행로그를 보정하고 시계열을 1초 간격으로 표준화·정규화하는 전처리 모듈을 구현한다. |
| **수행** | 중복 기록 제거와 1초 재표본화, 결측 보간, 이동 중간값 기반 고도 스파이크 제거를 구현한다. GPS 이동량과 보고 속도·방위로 계산한 추측항법 이동량이 물리적으로 맞지 않는 구간을 스푸핑으로 보고 추측항법 위치로 대체한다. 처리 속도, 보정 전후 위치 오차, 스푸핑 구간 검출률, 결측 보정율을 측정하고, 기상(강풍·강우)별로 불일치 허용치를 달리했을 때 오표시율이 줄어드는지 비교한다. |
| **산출물** | src/preprocess/isr03_preprocessor.py, 전처리 전후 비교표, 단위 테스트 결과 |
| **평가** | **[필수] 전처리 구현·효과 검증** — 처리 속도 1,000건/초 이상, 전처리 오류율 0%, 단위 테스트 5종 통과, 보정 후 위치 오차가 뚜렷하게 줄었는가. |
**2단계. 이상 비행 탐지 Baseline 구현 및 비지도 학습 고도화**
| **미션 3. 드론 통상 비행 패턴 정의 및 규칙 기반 이상 비행(급선회·호버링) 탐지 Baseline 구현** [중급 · 2.5시간] | **미션 3. 드론 통상 비행 패턴 정의 및 규칙 기반 이상 비행(급선회·호버링) 탐지 Baseline 구현** [중급 · 2.5시간] |
| --- | --- |
| **목표** | 통상 정찰 비행 패턴을 수치 기준으로 정의하고 급선회·호버링·급강하·경로 이탈·비인가 구역 진입을 1차 식별하는 규칙 기반 Baseline을 구현한다. |
| **수행** | 선회율, 저속 정지 지속시간, 5초간 고도 하강량, 계획 경로 대비 이탈 거리, 비인가 구역 진입 여부를 규칙으로 만들어 기록 단위로 판정하고 비행 단위로 모은다. 정상 비행과 기본 이상 5종으로 이루어진 기본 데이터셋에서 정확도와 판단 지연시간을 측정하고, 선회율 임계값을 바꿔 가며 측량 비행의 U턴 같은 정상 패턴 오탐과의 균형을 조정한다. 저고도·조종신호 두절 같은 은밀 비행에는 규칙이 반응하지 않는 한계도 확인한다. |
| **산출물** | src/models/isr03_baseline_model.py, 기본 추론 결과 보고서(유형별 탐지율·임계값 민감도표) |
| **평가** | **[필수] Baseline 구현·성능 측정** — 기본 데이터셋 비행 단위 탐지 정확도 75% 이상, 판단 기준을 수치로 공개하고 Baseline의 한계를 설명했는가. |
| **미션 4. 비행 패턴 클러스터링 및 머신러닝 기반 은밀 침투 드론 이상 궤적 탐지 모델 고도화** [중급 · 3시간] | **미션 4. 비행 패턴 클러스터링 및 머신러닝 기반 은밀 침투 드론 이상 궤적 탐지 모델 고도화** [중급 · 3시간] |
| --- | --- |
| **목표** | 평시 비행 패턴 군집화와 비지도 이상 탐지를 적용해 규칙으로 잡기 어려운 은밀 침투·저고도·조종신호 무응답·선회 체류 등 복합 이상 비행을 탐지하도록 고도화한다. |
| **수행** | 30초 창 단위로 고도·속도·선회·직진성·조종신호·비인가 구역 접근·경로 이탈 특징을 계산하고, 라벨 없는 평시 로그로 KMeans 통상 패턴 군집과 IsolationForest를 학습한다. 두 점수를 결합해 규칙과 함께 쓰고 복합 위협 시나리오 10종별 재현율, 정상 비행 오경보율, 창당 처리 지연을 측정한다. 오경보를 일으킨 정상 비행의 튀는 특징을 찾아 특징 공간 재설계 방향을 정리한다. |
| **산출물** | src/models/isr03_advanced_detector.py, 시나리오 10종 탐지 시험 결과 |
| **평가** | **[선택] 복합 이상 탐지 고도화** — 복합 위협 탐지 재현율 85% 이상, 처리 지연 200ms 이하, 시나리오 10종 탐지 시험을 통과하고 오경보 원인을 제시했는가. |
**3단계. 운용 주체 단정 방지 신뢰도 엔진 및 분석 가시화**
| **미션 5. 운용 주체(적/아군/민간) 성급한 단정 방지를 위한 불확실성 지표 및 신뢰도 엔진 개발** [중급~고급 · 3시간] | **미션 5. 운용 주체(적/아군/민간) 성급한 단정 방지를 위한 불확실성 지표 및 신뢰도 엔진 개발** [중급~고급 · 3시간] |
| --- | --- |
| **목표** | 비행 특성만으로 운용 주체(아군·민간·적대)를 단정하지 않도록 주체별 확률, 불확실성, 데이터 품질을 함께 반영한 신뢰도 엔진을 개발한다. |
| **수행** | 과거 검토가 끝난 가상 사례로 주체별 확률 모델을 학습하고, 정규화 엔트로피로 불확실성을, 스푸핑·결측 정도로 로그 품질을 계산한다. 적대 확률이 높고 불확실성이 낮으며 품질이 양호할 때만 High(우선 검토), 애매하면 Medium(판단 보류), 근거가 약하면 Low로 둔다. '이상 비행이면 적'으로 보는 단정형 규칙과 오경보율을 비교하고, ROC-AUC와 임계값 민감도, 입력 잡음에 대한 등급 일관성을 확인한다. 분석 의견 문구에는 확률·불확실성·근거·검토 필요를 함께 적고 '확정' 표현을 쓰지 않는다. |
| **산출물** | src/verification/isr03_confidence_engine.py, 단정형 규칙 대비 오경보 비교표, 분석 의견 문구 예시 |
| **평가** | **[필수] 단정 방지·신뢰도 일관성** — 오경보율(FAR) 40% 이상 감축, 신뢰도 등급 산출 일관성 90% 이상, 등급 기준과 불확실성 표시가 성급한 단정을 막도록 설계되었는가. |
| **미션 6. 드론 비행 궤적 시각화 및 이상 패턴 하이라이트 분석 대시보드 구현** [중급 · 2.5시간] | **미션 6. 드론 비행 궤적 시각화 및 이상 패턴 하이라이트 분석 대시보드 구현** [중급 · 2.5시간] |
| --- | --- |
| **목표** | 드론의 3D 비행 궤적, 조종신호 이상 구간, 의심 구역 체류 시간, 비인가 구역 접근을 한 화면에 보여 주는 드론 정보 분석 대시보드를 구축한다. |
| **수행** | 여러 기체의 비행로그를 1초 주기로 받아 최근 10초 창으로 경보 상태를 갱신하는 흐름을 모의하고 처리시간을 잰다. 3D 궤적(이상 구간 강조), 지도(가상 비인가·관심 구역), 조종신호 품질 시계열, 체류 시간 막대의 4개 구성요소를 야간 운용용 어두운 화면으로 그리고 렌더링 시간을 측정한다. '긴급' 표시는 분석 우선순위이며 운용 주체 판단이 아님을 화면과 출력에 명시한다. |
| **산출물** | src/ui/isr03_dashboard.py, 대시보드 화면, 이상 현황표 |
| **평가** | **[선택] 분석 가시화** — 화면 갱신 1초 이내·데이터 처리 100ms 이내, 시각화 구성요소 4종 이상, 긴급 항목이 직관적으로 구분되는가. |
**4단계. 정보분석관 심층 검토 체계 및 대량 처리 검증**
| **미션 7. 운용 주체 최종 판정을 위한 정보분석관 심층 검토(HITL) 워크플로우 설계** [고급 · 3시간] | **미션 7. 운용 주체 최종 판정을 위한 정보분석관 심층 검토(HITL) 워크플로우 설계** [고급 · 3시간] |
| --- | --- |
| **목표** | 이상 징후 분석 결과를 정보분석관이 출처와 로그 무결성을 확인한 뒤 채택·보류·반려하는 인간 개입(HITL) 심층 검토 워크플로우를 설계한다. |
| **수행** | 엔진 결과는 모두 검토 대기로 등록하고 등급·확률 순으로 검토 순서를 정한다. 출처 확인과 원본 해시 비교를 마치지 않으면 채택할 수 없게 하고, 운용 주체 관련 의견은 서로 다른 분석관 2인이 교차 검토해야 채택되도록 한다. 사람 분석관 ID와 근거 기록을 강제하고, 보류 기한을 넘기면 자동 채택 대신 선임 분석관에게 상신한다. 지휘관 피드백을 포함한 모든 이벤트를 해시 체인 감사 로그에 남기고 위·변조를 검출해 본다. |
| **산출물** | src/hitl/isr03_approval_workflow.py, docs/isr03_hitl_guide.md |
| **평가** | **[필수] 인간 검토·책임 추적** — 자동 채택 0건, 규칙 위반 결정(자동 결정·무결성 미확인 채택·1인 채택) 차단, 대기시간과 채택/반려 로깅 성공률 100%, 감사 로그 위·변조를 검출했는가. |
| **미션 8. 장거리 전술 비행 대량 로그 주입 시뮬레이션 및 이상 탐지 처리 성능 테스트** [고급 · 3.5시간] | **미션 8. 장거리 전술 비행 대량 로그 주입 시뮬레이션 및 이상 탐지 처리 성능 테스트** [고급 · 3.5시간] |
| --- | --- |
| **목표** | 대량 비행로그를 배치로 주입해 이상 탐지 처리량, 메모리 안정성, 병목 구간, 기능 축소 작동을 검증한다. |
| **수행** | 평시 부하 대비 500% 증가한 비행로그, 손상·잡음 로그 혼입, 처리 시간 예산 부족 상황을 가상으로 주입한다. 수신·처리·격리 건수를 대조해 유실 여부를 확인하고, 같은 배치를 반복 처리하며 메모리 증가를 추적한다. 단계별 누적 처리시간으로 병목을 찾고 ML 점수 일괄 계산으로 개선하며, 예산이 부족하면 규칙 판정만 먼저 내고 ML은 재처리 대기로 넘기는 기능 축소 모드를 확인한다. 측정 처리량으로 1만 비행시간 분량의 처리 시간을 환산한다. |
| **산출물** | tests/isr03_stress_test.py, 스트레스 테스트 분석 보고서 |
| **평가** | **[선택] 대량 처리 복원력** — 평시 대비 500% 부하에서 시스템 다운 0건, 데이터 유실률 0%(손상 로그는 격리 보관), 메모리 누수 없음, 성능저하 모드가 정상 표시되는가. |
**5단계. 사후검토 재보정 및 최종 통합**
| **미션 9. AAR 기반 비행 이상 오탐·미탐 사례 분석 및 이상 탐지 임계치 최적화** [고급 · 3시간] | **미션 9. AAR 기반 비행 이상 오탐·미탐 사례 분석 및 이상 탐지 임계치 최적화** [고급 · 3시간] |
| --- | --- |
| **목표** | AAR 사후검토로 비행 이상 오탐·미탐 사례의 원인을 분석하고 정상 비행과 의심 비행의 경계 파라미터를 재보정한다. |
| **수행** | '놓치지 않기'를 우선한 초기 설정으로 모의 운용한 뒤 오탐은 원인(측량 U턴, 강풍 돌풍 하강, 드문 정상 패턴)별로, 미탐은 시나리오별로 분류한 AAR 일지를 만든다. 원인이 된 정상 패턴 로그를 평시 학습 자료에 보강해 ML을 재학습하고, 재현율 95% 이상 제약 안에서 선회율·급강하·ML 점수 임계값을 격자 탐색한다. 재보정 전후 종합 정확도를 비교하고, 별도 자료로 회귀 시험을 해 재발 오류를 확인한다. |
| **산출물** | docs/isr03_aar_report.md, configs/isr03_tuned_params.yaml |
| **평가** | **[필수] AAR 원인 분석·재보정** — 원인별 오류 분류 완료, 재보정 후 종합 정확도 10%p 이상 향상, 회귀 시험에서 성능 유지, 반복 오류를 확인하고 대책을 제시했는가. |
| **미션 10. 드론 비행로그 이상 탐지 시스템 통합 검증 및 ISR 정보판단 브리핑 패키지 완성** [최고급 · 3.5시간] | **미션 10. 드론 비행로그 이상 탐지 시스템 통합 검증 및 ISR 정보판단 브리핑 패키지 완성** [최고급 · 3.5시간] |
| --- | --- |
| **목표** | 로그 검증부터 전처리, 규칙·ML 탐지, 신뢰도 엔진, 검토 대기열, 대시보드까지 전체 시스템을 통합하고 ISR 정보판단 브리핑 패키지를 완성한다. |
| **수행** | 재보정 파라미터로 전체 과정을 한 번에 실행하는 통합 코드를 완성하고 손상 로그가 자동 차단되는지 확인한다. 정확도·재현율·자동 채택 여부·단정 표현·감사 로그 무결성·처리 지연·기능 커버리지 등 자체 점검 항목을 모두 통과시키고, 처리 현황·성능·검토 대기·운용 주체 판단의 한계를 담은 브리핑 요약과 사용자 가이드, 인접 체계 연동 확장 방안을 작성한다. |
| **산출물** | src/main_isr03.py, README.md, docs/isr03_final_report.pdf(md) |
| **평가** | **[필수] 통합·브리핑** — 통합 파이프라인 실행 성공률 100%, 자체 점검 항목 전부 통과(기능 커버리지 85% 이상), 브리핑 수치가 실행 결과와 일치하는가. |
**최종 판정**
**판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다.
최종 판정 결과 : ( PASS / FAIL )
평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)