섹션별 상세
건설 현장 안전 사고 예방을 위해 작업자의 PPE 착용 여부를 자동으로 감지하는 시스템이 필요하다. 수동 점검은 시간과 비용이 많이 들고 확장이 어렵다.
Roboflow Universe에서 PPE 탐지용 데이터셋을 포크(Fork)하여 학습 데이터로 활용한다. 데이터셋에는 사람, 헬멧, 조끼 등 핵심 클래스만 포함하여 불필요한 노이즈를 제거한다.
RF-DETR 모델을 사용하여 객체를 탐지한다. DINOv2 백본 기반의 이 모델은 앵커 박스 없이 직접 바운딩 박스를 예측하여 복잡한 환경에서도 높은 정확도를 보인다.
데이터셋 생성 시 Auto-Orient, 리사이징, 회전, 밝기 조절 등 다양한 증강 기법을 적용한다. 이를 통해 모델이 다양한 조명과 환경에서도 강건하게 작동하도록 학습시킨다.
Roboflow Workflows를 사용하여 파이프라인을 구축한다. 모델 추론, 클래스 필터링, ByteTrack을 통한 작업자 추적, 안전 상태 집계, 결과 시각화 단계를 순차적으로 연결한다.

커스텀 Python 블록을 통해 안전 로직을 구현한다. 작업자의 바운딩 박스 내부에 헬멧과 조끼의 중심점이 존재하는지 확인하여 안전 여부를 판단하고 실시간으로 카운트한다.
python
def run(self, predictions): if predictions is None or not hasattr(predictions, 'data') or predictions.data is None: return {'safe_count': 0, 'unsafe_count': 0} class_names = predictions.data.get('class_name', []) if hasattr(predictions, 'xyxy'): bboxes = predictions.xyxy else: bboxes = [] if len(bboxes) == 0 or len(class_names) == 0: return {'safe_count': 0, 'unsafe_count': 0} persons = [] helmets = [] vests = [] for i in range(min(len(class_names), len(bboxes))): cls = str(class_names[i]).strip().lower() bbox = bboxes[i] if cls == 'person': persons.append(bbox) elif cls == 'helmet': helmets.append(bbox) elif cls == 'vest': vests.append(bbox) def center_in(boxA, boxB): cx = (boxA[0] + boxA[2]) / 2 cy = (boxA[1] + boxA[3]) / 2 return (boxB[0] <= cx <= boxB[2]) and (boxB[1] <= cy <= boxB[3]) safe = 0 unsafe = 0 for person in persons: has_helmet = any(center_in(h, person) for h in helmets) has_vest = any(center_in(v, person) for v in vests) if has_helmet and has_vest: safe += 1 else: unsafe += 1 return {'safe_count': safe, 'unsafe_count': unsafe}작업자의 헬멧과 안전 조끼 착용 여부를 판단하여 안전 상태를 집계하는 커스텀 Python 로직
이미지 분석

Screenshot
작업자의 헬멧과 안전 조끼를 탐지하고 바운딩 박스를 표시한 결과 화면이다. 실시간으로 안전 상태를 모니터링하는 시스템의 최종 출력을 보여준다.
PPE 탐지 시스템의 결과 화면 예시
용어 해설
- RF-DETR
- — Roboflow에서 개발한 실시간 객체 탐지 모델로, DINOv2 백본을 사용하여 앵커 박스 없이 직접 바운딩 박스를 예측하는 구조를 가진다. 복잡한 환경에서 객체 탐지 성능이 뛰어나다.
- 바이트트랙(ByteTrack)
- — 객체 추적 알고리즘으로, 프레임 간 객체에 고유 ID를 할당하여 동일 인물을 지속적으로 추적한다. 작업자가 프레임에서 잠시 사라져도 추적을 유지하여 안전 집계의 정확도를 높인다.
- 평균 정밀도(mAP)
- — Mean Average Precision의 약자로, 객체 탐지 모델의 성능을 평가하는 지표이다. 탐지된 객체의 정확도와 재현율을 종합적으로 고려하여 모델의 전반적인 탐지 능력을 나타낸다.
- 데이터 증강(Data Augmentation)
- — 학습 데이터셋의 크기와 다양성을 인위적으로 늘리는 기법이다. 회전, 크기 조절, 밝기 변경 등을 통해 모델이 다양한 환경에서도 강건하게 작동하도록 돕는다.
기술
- Roboflow
- RF-DETR
- ByteTrack
- Python
활용 사례
- 건설 현장 안전 모니터링
- PPE 착용 준수 확인
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 05. 19.수집 2026. 05. 19.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.