시나리오 내용 반영

This commit is contained in:
KIM SU BO committed 2026-10-08 16:43:48 +09:00
1 parent d9287de729
commit 350bb92bf9
270 files changed
+198867

No files matched your search

@@ -0,0 +1,267 @@
**WEL01 실습가이드 - 더미 생체신호 기반 열·한랭 스트레스 경보 프로토타입**
구 분 **실습가이드 [교육용가상자료]**
**1. 실습 개요**
본 실습은 코드로 만든 교육용 더미 생체신호(심박수, 체온, 피부전도도)와 기상으로 열·한랭 스트레스 경보 프로토타입을 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(WEL01_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다. 모든 결과는 진단이 아닌 학습용 경보 단계이며, 실제 이상 징후는 의무대·군의관에게 연계한다.
| **과제** | WEL01 더미 생체신호 기반 열·한랭 스트레스 경보 프로토타입 |
| --- | --- |
| **난이도·유형** | 중급 / 코딩형 |
| --- | --- |
| **예상 소요시간** | 미션 10개, 총 27.5시간 |
| --- | --- |
| **준비물** | WEL01_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
| --- | --- |
**2. 진행 방법**
- 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 병사 생성 함수가 빠져 오류가 난다).
- 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 있어 같은 값이 나와야 하며, 처리 시간(ms)만 실행 환경에 따라 달라진다.
- 도전 과제는 코드 상단의 파라미터(체온 기준, 지속 시간, 경보 임계값 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
- 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
- 실제 장병의 건강 정보나 부대 자료를 입력하지 않는다. 병사 ID는 가상 가명이며, 경보 단계와 조치 절차는 학습용 모의로 진단·처방이 아니다. 실제 건강 이상은 의무대·군의관의 판단과 지휘계통에 따른다.
**3. 미션 진행 요약**
| **미션** | **난이도·시간** | **핵심 확인 결과** |
| --- | --- | --- |
| **M1. 전투원 착용 웨어러블 더미 생체신호(심박수, 체온, 피부전도도) 데이터 규격 정의** | 초급
1.5시간 | 정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 |
| **M2. 야전 활동 중 발생하는 생체신호 결측치 보정 및 센서 노이즈 필터링 전처리 구현** | 초급~중급
2시간 | 처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 |
| **M3. 체온-심박수 상관관계 기반 1차 열사병/저체온증 경보 Baseline 모델 구현** | 중급
2.5시간 | 경보 유형 분류 정확도 75% 이상(예시 86.9%) |
| **M4. 기상 데이터(온·습도, 풍속) 결합 온열/한랭 스트레스 복합 위험도 예측 모델 고도화** | 중급
3시간 | 복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 |
| **M5. 전투원 신체 조건별 개인화 위험 지수 산출 및 오경보 방지 신뢰도 엔진 개발** | 중급~고급
3시간 | FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) |
| **M6. 소대장/의무관용 장병 생체 위험 신호 모니터링 및 긴급 경보 대시보드 구현** | 중급
2.5시간 | 갱신 평균 1초 이내(예시 약 74ms) |
| **M7. 위험 장병 발생 시 군의관 원격 검토 및 임무 배제/휴식 명령 HITL 절차 설계** | 고급
3시간 | 자동 조치 0건, 규칙 위반 5건 차단 |
| **M8. 폭염/혹한 야전 기동훈련 모의 대량 생체 데이터 유입 스트레스 부하 테스트** | 고급
3.5시간 | 다운 0건, 최대 유실률 0%(120명 기준) |
| **M9. AAR 기반 오경보 유발 생체 패턴 분석 및 위험 임계값 파라미터 재보정** | 고급
3시간 | F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) |
| **M10. 더미 생체신호 기반 온열·한랭 스트레스 경보 시스템 통합 패키지 완성** | 최고급
3.5시간 | 자체 점검 10/10 통과, 실행 라인 커버리지 92.7% |
**미션 1. 전투원 착용 웨어러블 더미 생체신호(심박수, 체온, 피부전도도) 데이터 규격 정의**
| **난이도·시간** | 초급 · 1.5시간 |
| --- | --- |
| **진행 순서** | 1) M1 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다.
2) 오류 주입 결과 5건이 어떤 규칙(형식·허용값·누락·범위·개수 불일치)에 걸렸는지 표로 정리한다.
3) 데이터 명세 요약표에서 기상(기온·습도·풍속)과 기기 상태 필드가 정의되었는지 검토한다. |
| --- | --- |
| **확인할 결과** | 정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출
필드 17개가 명세서에 정리됨 |
| --- | --- |
| **도전 과제** | SCHEMA의 sample에 혈중산소(spo2, 70~100) 필드를 추가하고, 범위를 벗어난 값을 넣어 검출되는지 확인해 본다. |
| --- | --- |
| **제출물** | 스키마 정의 코드, 데이터 명세서(필드·규칙·단위 정의표) |
| --- | --- |
**미션 2. 야전 활동 중 발생하는 생체신호 결측치 보정 및 센서 노이즈 필터링 전처리 구현**
| **난이도·시간** | 초급~중급 · 2시간 |
| --- | --- |
| **진행 순서** | 1) M2 코드를 실행해 처리 속도와 단위 테스트 5종 결과를 확인한다.
2) 보정 전후 비교표에서 체온 RMSE가 줄어든 상황(폭염·혹한)을 찾아 이유를 설명한다.
3) 경보 F1 변화가 작은 이유를 임계값 기준과 연결해 적는다. |
| --- | --- |
| **확인할 결과** | 처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과
폭염 체온 RMSE 0.146 → 0.104로 감소 |
| --- | --- |
| **도전 과제** | flatline의 run 값을 8에서 4로 바꿔 정상 변화가 고착으로 오탐되는지 확인하고, 적절한 run 값의 근거를 적는다. |
| --- | --- |
| **제출물** | 전처리 코드, 전처리 전후 비교표, 센서 고착 보정 그림 |
| --- | --- |
**미션 3. 체온-심박수 상관관계 기반 1차 열사병/저체온증 경보 Baseline 모델 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M3 코드를 실행해 유형별 판정표와 정확도를 확인한다.
2) 온열 재현율이 한랭보다 낮은 이유를 판정표의 오분류 칸에서 찾는다.
3) 온열 체온 기준 민감도 표에서 재현율과 오경보가 반대로 움직이는 구간을 찾는다. |
| --- | --- |
| **확인할 결과** | 경보 유형 분류 정확도 75% 이상(예시 86.9%)
온열 재현율 75.5%, 한랭 재현율 99.1% |
| --- | --- |
| **도전 과제** | HR_GATE를 95에서 0으로 바꿔 심박 조건이 없을 때 온열 재현율과 오경보가 어떻게 변하는지 비교하고 심박 조건의 의미를 설명한다. |
| --- | --- |
| **제출물** | Baseline 코드, 판단 규칙 요약, 유형별 성능표와 한계 분석 |
| --- | --- |
**미션 4. 기상 데이터(온·습도, 풍속) 결합 온열/한랭 스트레스 복합 위험도 예측 모델 고도화**
| **난이도·시간** | 중급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M4 코드를 실행해 일반·복합 교란 시험셋의 재현율과 오경보 수를 확인한다.
2) 특징 중요도 상위 항목이 무엇인지 확인하고 의미를 설명한다.
3) 센서 이상 탐지 10종이 어떤 플래그로 걸렸는지 표로 정리한다. |
| --- | --- |
| **확인할 결과** | 복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하
오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과 |
| --- | --- |
| **도전 과제** | ADV_FEATS에서 hr_rel과 acclim을 빼고 다시 실행해 재현율과 오경보가 어떻게 달라지는지 확인한다. |
| --- | --- |
| **제출물** | 고도화 모델 코드, 시험셋별 비교표, 센서 이상 탐지 시험 결과 |
| --- | --- |
**미션 5. 전투원 신체 조건별 개인화 위험 지수 산출 및 오경보 방지 신뢰도 엔진 개발**
| **난이도·시간** | 중급~고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M5 코드를 실행해 고정 임계값 방식과 신뢰도 엔진의 오경보율을 비교한다.
2) 단계별 등급 분포 표에서 정상 구간이 High로 분류된 경우가 있는지 확인한다.
3) 개인화 예시에서 체력·순응 여부에 따라 점수가 달라지는 이유를 설명한다. |
| --- | --- |
| **확인할 결과** | FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%)
ROC-AUC 0.986 |
| --- | --- |
| **도전 과제** | 엔진 임계값을 0.5에서 0.8로 올릴 때 오경보율 감소와 미탐 증가를 표로 정리하고, 건강 보호 목적에서 어느 쪽 실패가 더 위험한지 토의한다. |
| --- | --- |
| **제출물** | 신뢰도 엔진 코드, 등급 부여 기준표, FAR 감축 비교표 |
| --- | --- |
**미션 6. 소대장/의무관용 장병 생체 위험 신호 모니터링 및 긴급 경보 대시보드 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M6 코드를 실행해 갱신 처리시간과 소대 현황 요약을 확인한다.
2) 우선 확인 목록에서 신호두절이 정상이 아닌 확인 필요로 먼저 표시되는 이유를 설명한다.
3) 그림의 체온 추이를 보고 소대장이 가장 먼저 확인할 병사를 정한다. |
| --- | --- |
| **확인할 결과** | 갱신 평균 1초 이내(예시 약 74ms)
24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨 |
| --- | --- |
| **도전 과제** | squad의 병사 수를 48명으로 늘려 갱신 시간이 어떻게 변하는지 측정하고, 1초 안에 처리 가능한 최대 인원을 추정한다. |
| --- | --- |
| **제출물** | 상황판 코드, 병사 상태표, 상황판 캡처 및 인지 부하 감소 설명 |
| --- | --- |
**미션 7. 위험 장병 발생 시 군의관 원격 검토 및 임무 배제/휴식 명령 HITL 절차 설계**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M7 코드를 실행해 검토 순서와 차단된 규칙 위반 5건을 확인한다.
2) 임무 배제가 군의관 요청과 지휘관 승인의 두 단계로 나뉘는 로그를 확인한다.
3) 감사 로그 변조 후 검증 결과가 어떻게 바뀌는지 본다. |
| --- | --- |
| **확인할 결과** | 자동 조치 0건, 규칙 위반 5건 차단
결정 5건 로깅 성공률 100%, 변조 위치(8번째) 검출 |
| --- | --- |
| **도전 과제** | HOLD_LIMIT_S를 30초로 줄이고 보류 기한 초과 시 자동으로 휴식을 명령하도록 바꾸면 어떤 위험이 생기는지 토의한다(코드 수정 없이 토의만 해도 됨). |
| --- | --- |
| **제출물** | HITL 워크플로우 코드, 절차 요약(조치별 권한 역할, 근거 기록 요건, 상신 기준) |
| --- | --- |
**미션 8. 폭염/혹한 야전 기동훈련 모의 대량 생체 데이터 유입 스트레스 부하 테스트**
| **난이도·시간** | 고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M8 코드를 실행해 평시부터 120명까지 시나리오별 결과표를 확인한다.
2) 기기 두절 8명 상황에서 신호두절 경보 수와 위험 재현율 변화를 확인한다.
3) 정밀 모드와 축소 모드의 오경보율·재현율 차이를 정리한다. |
| --- | --- |
| **확인할 결과** | 다운 0건, 최대 유실률 0%(120명 기준)
축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7% |
| --- | --- |
| **도전 과제** | FULL_CAPACITY를 30으로 낮춰 축소 모드 병사가 늘 때 오경보와 재현율이 어떻게 달라지는지 비교한다. |
| --- | --- |
| **제출물** | 스트레스 테스트 코드, 시나리오별 결과표, 안전 실패 설계 요약 |
| --- | --- |
**미션 9. AAR 기반 오경보 유발 생체 패턴 분석 및 위험 임계값 파라미터 재보정**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M9 코드를 실행해 초기 설정의 오경보 원인별 건수를 확인한다.
2) 격자 탐색 상위 조합의 F1과 재발 건수를 비교해 최종 설정이 선택된 이유를 설명한다.
3) 재보정 후에도 남은 재발 오류의 원인을 일지에서 찾아 적는다. |
| --- | --- |
| **확인할 결과** | F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p)
재발 오류 20건 남음(목표 0건 미달) |
| --- | --- |
| **도전 과제** | 재보정 제약의 재현율 하한을 0.90에서 0.95로 올리면 선택 조합과 오경보율이 어떻게 바뀌는지 확인하고, 건강 보호 관점에서 하한 설정의 의미를 적는다. |
| --- | --- |
| **제출물** | AAR 일지 표, 재보정 파라미터 yaml, 개선 전후 비교표, 재발 오류 분석 |
| --- | --- |
**미션 10. 더미 생체신호 기반 온열·한랭 스트레스 경보 시스템 통합 패키지 완성**
| **난이도·시간** | 최고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M10 코드를 실행해 자체 점검 10개 항목의 PASS 여부를 확인한다.
2) 주입한 손상 데이터와 기기 두절 병사가 어떻게 처리되었는지 확인한다.
3) 브리핑 요약의 수치를 실행 결과와 대조하고 한계·의무대 연계 문구를 점검한다. |
| --- | --- |
| **확인할 결과** | 자체 점검 10/10 통과, 실행 라인 커버리지 92.7%
위험 구간 재현율 85.6%, 오경보율 8.3%, 경보 40건 전량 검토 대기 |
| --- | --- |
| **도전 과제** | CONFIG의 min_persist를 1로 줄이면 어떤 자체 점검 항목이 영향을 받는지 확인하고, 지속 시간 설정 근거를 브리핑에 한 문단으로 적는다. |
| --- | --- |
| **제출물** | 통합 실행 코드, 자체 점검 결과, 브리핑 요약(진단 아님·의무대 연계 명시) |
| --- | --- |
**4. 최종 점검표**
| **점검 항목** | **확인** |
| --- | --- |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 | ( ) |
| 각 미션의 확인할 결과를 기록했다 | ( ) |
| 도전 과제 결과와 이유를 기록했다 | ( ) |
| 브리핑 수치가 실행 결과와 일치한다 | ( ) |
| 실제 장병 건강 정보·부대 자료를 사용하지 않았다 | ( ) |
| 경보는 진단이 아니며 의무대·군의관 연계와 지휘계통 판단에 따름을 명시했다 | ( ) |