Files
pbl02/scenario_md/WEL03-장병 복지·지원_건강 지원-가상 수질검사 데이터 위험 신호 대시보드/WEL03-장병 복지·지원_건강 지원-가상 수질검사 데이터 위험 신호 대시보드.md
2026-10-08 16:43:48 +09:00

16 KiB

가상 수질검사 데이터 위험 신호 대시보드

난 이 도 중급

프로젝트 목표 전장에서는 급수차, 정수 장비, 우물, 하천 취수원 등 급수원의 수질 이상을 빨리 알아채지 못하면 장병의 건강과 부대 활동에 바로 영향을 주지만, 센서 값은 잡음과 고장이 많아 오경보로 불필요하게 급수를 끊는 일도 생긴다. 러시아-우크라이나 전쟁 사례에서 학습 초점으로 삼은 전장 위생·건강 위험 관리를 반영해, 본 프로젝트는 가상 수질검사 데이터를 분석해 위험 신호를 데이터로 판단하는 과제를 다룬다. 교육용 가상 급수원 8곳의 pH, 탁도, 잔류염소, 중금속, 대장균 측정 자료를 코드로 만들어 스키마 정의, 센서 결측·이상치 정제, 기준치 Baseline 판정, 복합 오염 징후 분류 모델, 신뢰도 지수와 오경보 감축, 상황판 대시보드, 급수 중단 HITL 결재선, 대량 오염 부하 시험, AAR 임계치 재조정, 통합 패키지까지 단계별로 구현한다. 최종 목표는 수질 위험 신호를 근거와 함께 빠르게 제시하되, 실제 음용 판정과 급수 중단은 공식 기준과 의무(예방의학) 담당 확인, 지휘관 결심에 따르도록 지원하는 도구를 완성하는 것이다.
유의사항 모든 급수원·측정값·오염 사건·시각은 코드 안에서 만든 교육용 가상 자료이며 실제 부대, 위치, 급수 시설, 검사 결과는 사용하지 않는다. 코드의 기준치는 교육용 가정값이며 실제 음용 적합 판정은 공식 수질 기준과 의무(예방의학)·환경 담당 확인에 따른다. 부대 자료의 외부 AI 서비스 입력과 부대 내 촬영은 금지한다. 위험 신호와 신뢰도 등급은 판단 보조 정보이며 급수 중단·재개와 재검사 지시는 지휘관이 결정한다. 센서 교란 시나리오는 방어(탐지) 측 평가에만 사용하고 교란을 만드는 기법은 다루지 않는다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다.

1단계. 수질검사 데이터 정의 및 센서 전처리

미션 1. 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균) 데이터셋 정의 [초급 · 1.5시간] 미션 1. 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균) 데이터셋 정의 [초급 · 1.5시간]
목표 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균)과 센서·전술 환경 정보의 스키마와 데이터 명세를 정의한다.
수행 측정 레코드를 급수원 정보, 수질 5항목, 센서 상태, 전술 파라미터(기상, 위치 오차, 통신 지연) 네 묶음 15개 필드로 정의하고 자료형·단위·허용 범위·형식 규칙을 둔다. 가상 센서 자료에서 샘플 20건을 뽑아 JSON으로 변환·검증하고, 형식·허용값·범위·자료형·필수 누락 오류 5종을 일부러 넣어 모두 검출되는지 확인한다. 검증 결과를 바탕으로 데이터 명세 요약표를 만든다.
산출물 data/schema/wel03_input_schema.json 및 docs/wel03_data_spec.md
평가 [필수] 수질 데이터셋 정의 — 스키마 필드 정의 완성도 100%, 샘플 20건 검증 오류 0건, 주입 오류 5종 검출, 장병 복지·지원 실무와 야전 급수 환경에 맞는 항목 구성인가.
미션 2. 수질 센서 결측치 대체 및 시계열 센서 이상치 정제 전처리 모듈 구현 [초급~중급 · 2시간] 미션 2. 수질 센서 결측치 대체 및 시계열 센서 이상치 정제 전처리 모듈 구현 [초급~중급 · 2시간]
목표 수질 센서의 결측치를 보정하고 시계열 이상치를 정제하는 전처리 모듈을 구현해 속도와 정확도를 확인한다.
수행 급수원별 시계열에서 물리 범위 밖 값, 같은 값이 반복되는 고정값(stuck), 튀었다가 바로 돌아오는 단발 스파이크를 표시·제거하고 짧은 결측은 선형 보간, 긴 결측은 표시한다. 정상 변동(하수 유입 같은 지속 상승)은 지우지 않아야 하므로 주간·야간·악천후별 판정 배수와 항목별 최소 변화폭을 둔다. 처리 속도, 오류율, 일부러 지운 값의 복원 오차를 측정하고 단위 테스트 5종과 동적 임계값 효과를 확인한다.
산출물 src/preprocess/wel03_preprocessor.py 및 전처리 전후 데이터셋
평가 [필수] 센서 전처리 모듈 — 정제 처리 속도 1,000건/초 이상, 전처리 오류율 0%, 센서 고장 유형별 처리 내역과 정상 변동 보존의 타당성을 확인했는가.

2단계. 기준치 Baseline 판정 및 복합 오염 분류 모델

미션 3. 음용 적합/부적합 판정 1차 기준치 필터링 Baseline 알고리즘 구현 [중급 · 2.5시간] 미션 3. 음용 적합/부적합 판정 1차 기준치 필터링 Baseline 알고리즘 구현 [중급 · 2.5시간]
목표 음용 적합·부적합 판정의 1차 기준치 필터링 Baseline 알고리즘을 구현하고 정확도를 측정한다.
수행 전처리한 자료에 pH, 탁도, 잔류염소, 중금속, 대장균의 주의·위험 가정 기준을 적용해 안전·주의·위험 3등급을 판정한다. 전처리 없이(결측을 0으로 둔 경우)와 전처리 후 정확도를 비교하고 혼동행렬에서 놓친 위험과 오경보의 원인(오염 사건 유형, 센서 고장 유형)을 분석한다. 위험 판정마다 초과한 항목을 근거로 보이고, 즉시 판정과 2시간 연속 확인 방식을 비교해 놓침과 오경보의 균형을 논의한다.
산출물 src/models/wel03_baseline_model.py 및 기본 추론 결과 보고서
평가 [필수] 기준치 Baseline 판정 — 벤치마크 데이터에서 판정 정확도 75% 이상, 판정 근거(초과 항목) 제시, 놓친 위험과 오경보 원인 분석, 기준치가 교육용 가정값임을 명시했는가.
미션 4. 복합 오염원 유입 징후 및 급수 안전도 위험 등급 분류 머신러닝 모델 고도화 [중급 · 3시간] 미션 4. 복합 오염원 유입 징후 및 급수 안전도 위험 등급 분류 머신러닝 모델 고도화 [중급 · 3시간]
목표 복합 오염원 유입 징후와 급수 안전도 위험 등급을 분류하는 머신러닝 모델을 고도화하고 방어 로직을 검증한다.
수행 변화량, 24시간 기준선 대비 편차, 6시간 변동성, 대장균 누적, 센서 처리 표시 등 29개 특징으로 랜덤 포레스트를 학습하고 Baseline과 비교한다. 하수 유입, 중금속 급증, 소독 실패, 화학 오염, 서서히 증가하는 중금속, 복합 오염 등 오염 시나리오 7종과 센서 드리프트·단발 스파이크·통신 단절 같은 센서 교란 3종으로 재현율, 탐지 지연, 위험 오경보를 점검한다. 처리 지연을 측정하고 모델이 놓치거나 오경보하는 유형을 정리한다.
산출물 src/models/wel03_advanced_detector.py 및 예외 탐지 테스트 결과
평가 [선택] 복합 오염 분류 모델 — 복합 위협 재현율 85% 이상, 처리 지연 200ms 이하, 센서 교란 시나리오에 대한 방어 로직의 한계와 보완 방안을 현실적으로 설명하는가.

3단계. 신뢰도 지수·오경보 방지 및 상황판 대시보드

미션 5. 센서 오류에 의한 단수 오경보 방지 및 수질 안전 신뢰도 지수 산출 모듈 개발 [중급~고급 · 3시간] 미션 5. 센서 오류에 의한 단수 오경보 방지 및 수질 안전 신뢰도 지수 산출 모듈 개발 [중급~고급 · 3시간]
목표 센서 오류로 인한 급수 중단 오경보를 줄이는 수질 안전 신뢰도 지수와 High·Med·Low 등급 모듈을 개발한다.
수행 위험 경보마다 항목별 편차의 일치도, 경보 지속 시간, 센서 이상 표시, 드리프트 의심 여부를 점수화해 0~100점 신뢰도를 만들고 High·Med·Low로 나눈다. High만 급수 중단 검토 요청, Med는 재채수·현장 키트 검사, Low는 센서 점검·재측정으로 조치를 나눠 신뢰도 적용 전후의 오경보율을 비교한다. 임계값 민감도를 표로 보고, 센서 잡음을 바꿔 5회 재현했을 때 등급이 얼마나 일관된지 측정한다.
산출물 src/verification/wel03_confidence_engine.py
평가 [필수] 신뢰도 지수·오경보 방지 — 오경보율(FAR) 40% 이상 감축, 잡음 재현 5회 등급 일치율 90% 이상, High·Med·Low 기준과 조치의 군사적 타당성을 설명하는가.
미션 6. 야전 급수차 및 정수 시설별 수질 상태 실시간 시각화 대시보드 구현 [중급 · 2.5시간] 미션 6. 야전 급수차 및 정수 시설별 수질 상태 실시간 시각화 대시보드 구현 [중급 · 2.5시간]
목표 야전 급수차와 정수 시설별 수질 상태를 실시간처럼 갱신해 보여 주는 상황판 대시보드를 구현한다.
수행 가상 급수원 8곳의 측정 스트림을 1시간 단위로 갱신하며 급수원 상태 지도, 항목별 기준 대비 비율 히트맵, 경보 급수원 추이, 상태 현황판, 긴급 경보 목록 5종 컴포넌트를 그린다. 갱신 1회당 처리 시간과 급수원 상세 조회 응답 시간을 측정하고, 야간 모드와 경보 강조로 인지 부하를 줄이는 방법을 확인한다. 위험 표시는 가정 기준치 기반 판단 보조임을 화면에 명시한다.
산출물 src/ui/wel03_dashboard.py (또는 웹 UI 컴포넌트)
평가 [선택] 수질 상황판 대시보드 — 화면 갱신 처리 1초 이내, 상세 조회 응답 100ms 이내, 상황판으로서 경보 급수원을 한눈에 구분할 수 있는가.

4단계. 급수 중단 HITL 결재선 및 대량 오염 부하 시험

미션 7. 수질 위험 경보 발생 시 급수관 긴급 채수 검사 및 급수 중단 HITL 결재선 설계 [고급 · 3시간] 미션 7. 수질 위험 경보 발생 시 급수관 긴급 채수 검사 및 급수 중단 HITL 결재선 설계 [고급 · 3시간]
목표 수질 위험 경보 발생 시 긴급 채수 검사와 급수 중단을 사람이 결정하는 HITL 결재선을 설계한다.
수행 경보 사건을 검토 큐에 우선순위로 등록하고 측정병 채수, 예방의학 담당 검토, 지휘관 결심의 순서로 급수 중단 또는 유지를 결정하는 상태 기계를 구현한다. 시스템이 자동으로 급수를 중단하지 못하게 권한을 분리하고 각 단계에 사유·근거를 필수로 한다. 측정병의 직접 중단, 시스템 자동 확정, 검토 없이 승인, 미등록 사용자, 사유 없는 반려 등 우회·위반 시도 6종 차단과 해시 체인 감사 로그의 변조 탐지를 확인한다.
산출물 src/hitl/wel03_approval_workflow.py 및 docs/wel03_hitl_guide.md
평가 [필수] 급수 중단 HITL 결재선 — 검토 큐 대기시간과 승인·반려 처리 로깅 성공률 100%, 자동 급수 중단 0건, 지휘 책임 분계가 명확하고 성급한 자동 단정을 막는 구조인가.
미션 8. 오염물질 대량 유입 가상 시나리오 부하 테스트 및 경보 반응 시간 검증 [고급 · 3.5시간] 미션 8. 오염물질 대량 유입 가상 시나리오 부하 테스트 및 경보 반응 시간 검증 [고급 · 3.5시간]
목표 오염물질이 대량 유입되는 가상 시나리오에서 파이프라인 부하 시험을 하고 경보 반응 시간과 Fail-safe 동작을 검증한다.
수행 급수원을 8곳에서 48곳으로 늘려 트래픽을 500% 키우고 30곳에 오염이 동시에 유입되는 상황에서 수집·정제·판정 주기의 처리 시간, 시스템 중단, 데이터 유실, 메모리 증가, 경보 탐지와 반응 시간을 평시와 비교한다. 손상 레코드는 버리지 않고 격리 보관하며, 처리 시간 예산을 넘으면 정제·특징 계산을 줄이는 기능 축소(lite) 모드로 전환하되 경보 판정은 유지한다. 기능 축소를 적용하지 않았을 때와 병목 구간도 비교한다.
산출물 tests/wel03_stress_test.py 및 스트레스 테스트 분석 보고서
평가 [선택] 대량 유입 부하 시험 — 동시 트래픽 500% 증가 시 시스템 중단 0건, 데이터 유실률 0%, 경보 반응 시간 제시, 극단 상황에서 Fail-safe와 기능 축소 동작이 적절한가.

5단계. AAR 임계치 재조정 및 통합 패키지 완성

미션 9. AAR 기반 수질 이상 오판 사례 분석 및 수질 위험 판단 임계치 재조정 [고급 · 3시간] 미션 9. AAR 기반 수질 이상 오판 사례 분석 및 수질 위험 판단 임계치 재조정 [고급 · 3시간]
목표 AAR로 수질 이상 오판 사례를 분석하고 판단 임계치를 재조정해 효과를 별도 검증 세트로 확인한다.
수행 튜닝용 가상 자료에서 Baseline 오판을 오경보(센서 드리프트, 단발 대장균), 경계 혼동, 놓침(화학, 중금속 완만 증가) 등 원인별로 분류한다. 대장균 3시간 누적 기준과 중금속 기준선 편차 기준을 재조정하고 YAML 설정으로 정리한다. 튜닝·검증·벤치마크 세트에서 정확도와 위험 재현율, 새로 틀린 건을 회귀 테스트로 비교하고 재발한 오류와 남은 원인을 기록한다.
산출물 docs/wel03_aar_report.md 및 configs/wel03_tuned_params.yaml
평가 [필수] AAR·임계치 재조정 — AAR 적용 후 정확도 향상(목표 10%p)과 재발 오류 0건 달성 여부를 검증 세트에서 정직하게 보고하고, 오류 원인 규명과 개선 조치의 논리를 설명하는가.
미션 10. 가상 수질검사 데이터 위험 신호 대시보드 시스템 통합 패키지 완성 [최고급 · 3.5시간] 미션 10. 가상 수질검사 데이터 위험 신호 대시보드 시스템 통합 패키지 완성 [최고급 · 3.5시간]
목표 가상 수질검사 데이터 위험 신호 대시보드를 하나의 통합 패키지로 완성한다.
수행 입력 검증, 전처리, 재조정 기준치 판정, 랜덤 포레스트 위험 분류, 신뢰도 등급, 사람 검토 큐 등록, 상황판 요약을 한 파일의 파이프라인으로 묶는다. 서로 다른 가상 시나리오 5종으로 End-to-End 실행 성공률을 확인하고, 자체 점검 8항목과 함수 호출 추적 기반 커버리지를 측정한다. 운영 문서(README) 7개 장을 점검하고 지휘관 브리핑 요약을 출력하며, 실제 판정은 공식 기준과 담당 확인에 따른다는 점을 명시한다.
산출물 src/main_wel03.py, README.md, docs/wel03_final_report.pdf(md)
평가 [필수] 통합 패키지 완성 — End-to-End 통합 실행 성공률 100%, 자체 점검과 테스트 커버리지 85% 이상, 군 실무 도입 시 한계와 운용 신뢰도를 설명하는가.

최종 판정

판정 기준 : 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다.

최종 판정 결과 : ( PASS / FAIL )

평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)