본문으로 건너뛰기

PPE 모드로 보호구 미착용 탐지를 더 정확하게

· 약 5분
Jisu Kang
Jisu Kang
AI Specialist
Seongwoo Kong
Seongwoo Kong
AI Specialist
Gyulim Gu
Gyulim Gu
Tech Leader

EVA v.3.0 신규 기능: PPE 모드로 보호구 미착용 탐지를 더 정확하게

EVA v.3.0에서는 보호구 미착용 탐지의 오탐을 줄이기 위해, VLM 추론 방식을 단계적으로 재설계한 PPE 모드를 새롭게 추가했습니다. 핵심은 "사용자 질의에 바로 답하게 하는 방식"에서 벗어나, 모델이 먼저 장면을 설명하고 그 설명을 기반으로 판단하도록 에이전트 구조를 고도화한 것입니다.




1. 왜 기존 방식에서 오탐이 많이 발생했나: VLM의 질의 편향과 할루시네이션

보호구 미착용 탐지에서 사용자 질의가 "안전모를 안 쓴 사람 찾아줘"처럼 직접적일수록, 일부 VLM은 질의 의도에 맞춰 긍정(동의) 성향의 답변을 생성하는 경향을 보입니다. 이때 실제 이미지 근거가 충분하지 않아도 "미착용"으로 답해 오탐(False Positive)이 늘어날 수 있습니다.

이 문제는 VLM/LLM 영역에서 보고되는 할루시네이션(hallucination)시코팬시(sycophancy, 사용자 견해에 과도하게 맞추는 경향)와 맞닿아 있습니다.123

반대로, 같은 이미지에 대해 "무엇이 보이는지 설명해줘"처럼 설명 중심 프롬프트를 사용할 때는 사용자 의도를 맞추려는 압력이 줄어들어, 객체 상태를 더 사실적으로 표현하는 경향을 확인했습니다.




2. EVA v.3.0 에이전트 고도화: "질의에 답변"이 아니라 "설명 후 판단"으로

EVA v.3.0의 PPE 모드는 VLM이 사용자 의도에 직접 끌려가지 않도록, 탐지 과정을 3단계 파이프라인으로 분리했습니다.

기존 방식이 "사용자 질의 -> 즉시 판정"에 가까웠다면, PPE 모드는 "대상 선별 -> 영역 확인 -> 상태 설명 -> 규칙 매칭"으로 판단 근거를 분리해 오탐을 줄입니다.

핵심 원칙

  • 작업 맥락을 먼저 확인: 사람 단위 박스 정보와 함께, 고소 작업처럼 전체 이미지 맥락이 필요한 상황까지 반영해 작업 대상을 선별합니다.
  • 착용 여부와 확인 가능성을 분리: "무엇을 착용했는가"와 "판단에 필요한 신체 부위가 실제로 보이는가"를 분리해 검증합니다.
  • 최종 판단은 규칙으로 일관되게: 탐지 항목, 유사어, required area 확인 결과를 함께 매칭해 알람 발생 기준을 표준화합니다.

3-Stage 처리 흐름

Stage 1. 작업 대상 선별 및 요구 영역 정의

  • Enrich Required Equipments
    • 탐지 항목에 대해 유사어를 추출합니다.
  • Find Worker
    • 객체 탐지 모델이 찾은 대상에 대해 박스를 표시하고, VLM이 작업 상황에 해당하는 사람인지 판단합니다.
    • 고소 작업자처럼 이미지 전체 맥락을 통해 확인 가능한 작업 상황도 있으므로, 전체 이미지를 기반으로 판단합니다.
    • 대상이 여러 명인 경우 병렬로 판단합니다.
    • ℹ️ 대상이 5명 이상인 경우 바운딩 박스 크기가 가장 큰 5개에 대해서만 판단합니다.
    • 작업 상황에 해당하는 사람이 있는 경우 Stage 2로 넘어갑니다.
  • Required Body Parts
    • 탐지 항목을 확인하기 위한 신체 부위를 추출합니다.
    • 예시: 마스크 -> 얼굴 정면/측면, 헬멧 -> 머리

Stage 2. 착용 아이템 및 영역 확인

  • Explain Worker
    • Stage 1에서 탐지된 사람을 대상으로 착용 아이템(안전모, 마스크 등)을 추출합니다.
    • 대상이 여러 명인 경우 병렬로 실행합니다.
  • Check Body Parts
    • Stage 1에서 탐지된 사람을 대상으로 required body parts가 실제로 확인되는지 점검합니다.
    • 대상이 여러 명인 경우 병렬로 실행합니다.

Stage 3. 규칙 매칭, 알람, 설명 생성

  • Matching Equipments
    • 탐지된 아이템이 탐지 항목의 유사어에 없고, required body parts가 확인되는 경우 알람을 발생합니다.
    • 알람 메시지에 미충족된 탐지 항목을 표시합니다.
    • 예시: 보호 장비 미착용 탐지 (안전모, 마스크)
  • Image Description
    • 알람과 함께 이미지 설명을 생성합니다.

이 구조를 통해 PPE 모드는 "VLM의 즉시 단정"이 아니라 "대상 선별 + 영역 확인 + 아이템 추출 + 규칙 매칭"으로 최종 결론을 내리며, 현장 운영에서 필요한 재현성과 신뢰도를 높입니다.




3. 성능 리뷰

PPE 모드는 단순히 "정답/오답"만 보는 방식이 아니라, 에이전트가 중간 근거를 생성하고 이를 시나리오 규칙과 매칭하는 구조로 동작합니다. 아래 사례에서처럼 먼저 착용 아이템과 확인 가능한 신체 부위를 각각 추론한 뒤, 최종적으로 사용자 시나리오와 비교해 알람 여부를 결정합니다.

예를 들어 위와 같은 이미지에 대해 Agent는 다음과 같은 중간 결과를 생성합니다.

# 착용 아이템
"worn_items" = ["mask", "gloves", "pants", "shoes"]
"evidence" = "The person is wearing a mask, gloves, pants, and shoes."

# 착용 부위 확인
"target_region": "upper head and crown area",
"visible": true,
"evidence": "The top of the person's head and crown are clearly visible from the front."

이후 PPE 모드는 위 설명 결과를 사용자 시나리오(예: 마스크와 안전모 미착용 탐지)와 매칭하여, 탐지 항목 미검출 + 착용 부위 확인 조건이 충족될 때 알람을 발생시킵니다. 특히 이 사례에서는 착용 아이템에 마스크는 포함되어 있지만 헬멧이 없고, 머리가 확인되었기 때문에 헬멧 미착용 알람이 발생합니다.


그 결과, 전체적으로 PPE 관련 7개 시나리오 데이터셋에서 다음과 같은 성능 향상이 확인되었습니다.

ModeAccuracyPrecisionRecallF1 Score
PPE 모드0.78500.86940.40100.5488
기본 모드0.71160.61930.40790.4918

수치 기준으로 보면 PPE 모드는 기본 모드 대비 탐지 신뢰도가 뚜렷하게 개선되었습니다.

운영 관점에서는 특히 Precision의 큰 상승이 의미가 큽니다. 즉, "미착용"으로 울린 알람이 실제 위반일 확률이 높아져, 불필요한 확인 업무와 알람 피로를 줄이는 데 직접적으로 기여합니다.




4. 사용성: 시나리오 추가 없이 탐지 항목만 바꿔서 운영

PPE 모드에서는 아래와 같은 형식으로 탐지 시나리오가 생성되므로, 사용자는 별도 시나리오를 새로 만들지 않고도 원하는 보호구 미착용 탐지를 간단하게 변경할 수 있습니다.

## 💡 PPE 모드로 탐지를 수행합니다.
사람이 탐지되면 설정된 탐지 간격에 따라 에이전트가 작업 상황에 해당하는 사람을 확인하며,
탐지 항목 중 하나라도 충족되지 않는 경우 알람이 발생합니다.

> ⚠️ 정확한 안전 장비 착용 확인을 위해 탐지 대상은 사람의 전신을 박스 표시하도록 설정해주세요.

> 예시: "person" 또는 "worker"

> 사람이 5명 이상인 경우 박스 표시가 큰 순서로 5명에 대해서만 탐지를 수행합니다.

### 작업 상황(한 가지 작업 상황만 작성 가능)
탐지하려는 사람의 작업 상태 또는 행동을 작성해주세요.
- 의자에 앉아서 납땜 작업 중


### 탐지 항목 (최대 3개까지 지원)
사람이 반드시 착용하고 있어야 하는 보호 장비 또는 항목을 작성해주세요.
- 마스크
- 헬멧



맺음말

PPE 모드의 핵심은 "질문에 바로 답하게 하는 구조"에서 "근거를 설명한 뒤 판단하는 구조"로 전환한 데 있습니다. 이를 통해 보호구 미착용 탐지에서 오탐을 줄이고, 현장 운영자가 신뢰할 수 있는 알람 품질을 만드는 데 집중했습니다.




Footnotes

  1. Wang et al., "Evaluating Object Hallucination in Large Vision-Language Models" (EMNLP 2023), https://arxiv.org/abs/2305.10355

  2. Bai et al., "A Survey on Hallucination in Large Vision-Language Models" (2024), https://arxiv.org/abs/2402.00253

  3. Anthropic, "Towards Understanding Sycophancy in Language Models" (2023), https://www.anthropic.com/research/towards-understanding-sycophancy-in-language-models