요약
컨베이어 벨트 위 오렌지를 Roboflow로 라벨링하고 YOLOv8s 인스턴스 분할 모델을 학습한 뒤, ByteTrack으로 추적하며 가상 카운팅 라인을 통과하는 개수를 실시간으로 집계하는 과정을 단계별로 보여 줍니다. 데이터 준비, 학습 평가 지표 해석, 추론과 카운팅 코드 작성까지 다룹니다.
⏱ 00:001. 튜토리얼 개요와 목표
⏱ 00:00이 영상은 컨베이어 벨트 위를 지나가는 오렌지를 자동으로 감지하고 분할하며 추적해 개수를 세는 컴퓨터 비전 애플리케이션을 만드는 튜토리얼입니다. 각 오렌지에 고유 ID를 부여하고, 가상의 카운팅 라인을 통과할 때마다 합계를 실시간으로 갱신해 수동 계산 없이 정확하게 집계하는 것이 목표입니다.
⏱ 00:362. Roboflow 프로젝트 생성과 프레임 추출
⏱ 00:36Roboflow에서 새 프로젝트를 만들고 이름을 orange segmentation으로 정한 뒤, 작업 유형을 인스턴스 분할로 선택합니다. 입력 비디오를 업로드하면 약 171개의 프레임이 추출되며, 프레임 추출이 끝나면 원본 비디오는 더 이상 필요하지 않습니다. 계정 생성과 작업 공간 설정은 이전 영상에서 다룬 내용이라 여기서는 생략됩니다.
클래스 이름은 orange 하나로 지정합니다. 계정을 만들면 매달 10 크레딧이 제공되며, 이 크레딧으로 자동 라벨링이나 모델 학습을 진행할 수 있다고 설명합니다.
⏱ 02:413. SAM 3 자동 라벨링과 데이터셋 구성
⏱ 02:41추출한 이미지에 SAM 3 폴리곤 모델로 자동 라벨링을 실행합니다. 171장 전체 작업의 비용은 0.171 크레딧으로 안내되며, 완료까지 3~4분 정도 걸립니다. 결과 검토에서는 여러 프레임의 오렌지가 빠짐없이 폴리곤으로 주석 처리됐는지 확인하고, 이상이 없어 보여 모든 주석을 승인합니다.
데이터셋은 이미지의 70%를 학습용, 20%를 검증용, 10%를 테스트용으로 나눠 구성합니다. 단일 클래스이며 각 오렌지 주변에 폴리곤 주석을 그린 것이 인스턴스 분할 데이터의 핵심입니다.
⏱ 06:024. YOLOv8s 학습과 평가 지표 해석
⏱ 06:02커스텀 학습에서 YOLOv8s 모델을 선택하고 해당 데이터셋을 불러옵니다. 하이퍼파라미터는 에폭 수를 120에서 100으로 조정해 100 에폭으로 학습을 시작하며, 약 13분이 걸리고 0.42 크레딧이 차감된다고 안내합니다. 학습 데이터는 120장, 검증 데이터는 34장, 테스트 데이터는 17장입니다.
평가 결과 IoU 0.5 기준 mAP는 82.3%, IoU 0.5에서 0.95까지의 평균 mAP는 0.374로 확인됩니다. 최적 신뢰도 임계값은 0.28로 보았고, 이 지점에서 정밀도 85.3%, 재현율 79.2%, F1 점수 82.1%가 나왔습니다. 정밀도는 모델이 낸 감지 중 맞은 비율, 재현율은 실제 객체 중 찾아낸 비율이라고 쉽게 풀어 설명합니다. 테스트 세트 주석 1,133개 중 897개를 맞혔고, 236개는 놓쳤으며, 155개는 잘못 감지했습니다.
모델 보기 기능으로 임의의 테스트 이미지에 적용해 보고, 놓친 오렌지가 있으면 신뢰도 임계값을 낮춰 조정할 수 있다고 보여 줍니다. 손실이 계속 줄고 있어 에폭을 늘리면 성능이 더 오를 수 있다고 언급한 뒤 가중치 파일을 다운로드합니다.






