← 프로젝트 목록
인턴 · 소프트온넷2026.09 — 진행 중

작전도 부대 부호 인식 모델

탐지·분류 2단계 파이프라인 · 합성 데이터 · 단독 담당

작전 지도 이미지에서 부대 부호를 찾아 피아·병과·제대를 판정합니다. 방책 생성 에이전트가 쓸 입력 데이터를 만드는 단계입니다.

PythonPyTorchRF-DETRYOLO11FastAPI
98.6%부대 검출 재현율
97.3%검출 정밀도
94%병과 정확도 (206종)
92%제대 정확도 (23종)

학습에 쓰지 않은 실제 작전도 19장, 부호 213개를 사람이 판독한 정답표와 대조

프로젝트 목적

방책 생성 에이전트는 작전 지도에 그려진 부대 배치를 입력으로 받아야 합니다. 지금까지는 사람이 지도를 보고 부호를 하나씩 읽어 입력해야 했습니다. 지도 이미지 한 장을 넣으면 부호마다 위치·피아·병과·제대를 JSON으로 돌려주는 모델을 만드는 것이 목표였습니다.

기간2026.09 — 진행 중
인원인턴 4명 중 단독 담당
링크사내 과제로 코드·지도 이미지 비공개

담당 역할

  • 탐지·분류를 나눈 2단계 파이프라인 설계 (VLM 대비 비용·데이터 검토)
  • 표준 부호 SVG 기반 합성 데이터 생성 도구 개발
  • RF-DETR Large 미세조정, YOLO11 병과·제대 분류기 학습 (사내 GPU 서버)
  • 오답 분석과 데이터 재구성, 후처리 규칙 실험
  • FastAPI 추론 서버와 팀원용 설치 패키지 배포

시스템 구조

부대 부호 인식 파이프라인
① 합성 데이터 생성 · ② 추론 파이프라인원본 보기 ↗
이렇게 나눈 이유부대 부호는 피아·병과·제대가 조합된 기호라, 조합 전부를 탐지 클래스로 두면 클래스가 수천 개로 늘고 조합마다 데이터가 거의 없습니다. VLM은 비용과 규모가 과제 범위를 넘었습니다. 그래서 탐지는 아군/적군 2클래스로 단순하게 두고, 병과와 제대는 잘라낸 부호만 보고 따로 판정하게 나눴습니다.

주요 구현

1. SVG 변형·합성→2. 탐지 학습→3. 분류 학습→4. 오답 분석→5. API 배포
  • 표준 부호 SVG 원본을 크기·선 두께·색상·회전·화질 저하로 변형해 실제 지도 배경의 임의 위치에 합성하고, COCO 형식 라벨을 자동으로 만들었습니다. 부호는 좌우를 뒤집으면 다른 기호가 되므로 반전은 뺐습니다.
  • 병과 분류 10,186장, 제대 분류 19,838장, 탐지용 합성 작전도 100장(부호 1,292개)을 만들었습니다.
  • 잘라낸 부호는 학습 데이터와 같은 흰 여백(8%) 정사각형으로 맞춰 분류기에 넣습니다.
  • 추론 서버는 단건·배치(최대 20장)·zip 엔드포인트를 두고, 장치를 CUDA, Apple Silicon, CPU 순으로 자동 선택합니다. GPU 기준 장당 0.2~1.3초입니다.

해결 과제

1. 데이터를 늘려도 오르지 않던 정확도

오답 분석 · 데이터 재구성

과제
적군 기계화보병을 보병전투차량으로 읽고, 태스크포스 부호의 제대를 계속 틀렸습니다. 증강 데이터를 늘려도 줄지 않았습니다.
원인
틀린 부호를 잘라 같은 부호의 합성 이미지와 비교했습니다. 증강 코드가 아군(사각형) 프레임 기준으로만 부호 안 구분선을 찾아, 적군(마름모) 부호에는 변형이 적용되지 않았습니다. 태스크포스 부호는 박스를 실제 지도보다 좁게 그려 제대 막대가 뭉개진 채 학습되고 있었습니다.
접근
잘못 만든 3,098장을 따로 보관하고 3,500장을 새로 만들었습니다. 빈 프레임 안 글자 변형을 추가하고, 글자가 특정 병과의 단서가 되지 않도록 주요 병과 7종에도 같은 변형을 넣었습니다.
오답 사례수정 전수정 후
태스크포스 제대10 / 2724 / 27
빈 프레임 부호7 / 1717 / 17
적군 기계화보병22 / 2827 / 28

2026.09.23 평가 기준

이후 모델까지 병과 정확도 83.4% → 93.8%, 제대 정확도 77.0% → 92.3%

2. 박스 위에서 잘리는 제대 표시

후처리 · 실험으로 기각한 대안

과제
제대 표시는 프레임 위에 붙는데, 검출 박스가 프레임에 딱 맞으면 표시가 잘려 '제대 없음'으로 나왔습니다.
접근
박스 전체를 넓혀 보니 주변 부호가 섞여 오히려 틀렸습니다. 그래서 결과가 '없음'이거나 확신도가 0.45 미만일 때만 박스 위쪽을 10% 넓혀 한 번 더 분류하게 했습니다.

평가셋 제대 판정 +6건 / −1건

남은 한계

  • 점선으로 그린 계획 부대도 검출되어 방책 입력에 섞입니다(3건). 검출 단계에서 걸러야 합니다.
  • 깃대(본부 표시)나 바퀴가 붙은 부호는 그 선을 제대 표시로 읽습니다(6건). 제대 학습 데이터에 해당 변형을 넣을 예정입니다.
  • 부대 번호(예: 1-66)는 아직 읽지 못합니다. OCR과 부호–글자 짝짓기 방식을 검토 중입니다.