Ultralytics YOLOv8에서 출력 추출하기
Ultralytics YOLOv8 Results 객체에서 바운딩 박스, 마스크, 키포인트, 클래스 확률을 추출해 자체 Python 코드에서 사용하는 방법을 알아보세요.
Nuvola Ladi3 분 읽기
Ultralytics YOLOv8은 객체 탐지, 세그멘테이션, 추적과 같은 작업에 널리 사용되는 컴퓨터 비전 모델입니다. 숙련된 개발자든 인공지능(AI)을 처음 접하는 초보자든 YOLOv8에서 출력을 효과적으로 추출하는 방법을 이해하면 프로젝트를 크게 향상할 수 있습니다. 이 블로그 게시물에서는 YOLOv8 모델에서 결과를 추출하고 활용하는 실용적인 단계를 안내합니다.
Ultralytics YOLOv8 설정#
결과 추출을 시작하기 전에 Ultralytics YOLOv8 모델을 실행할 수 있도록 준비하는 것이 중요합니다. 처음 시작하신다면 컴퓨터 비전의 다양한 작업에 YOLO 모델을 사용하고 설정하는 기본 사항을 다룬 이전 동영상을 시청해 보세요. 결과를 추출하려면 모델이 올바르게 구성되어 있는지 확인하세요.
- 모델 초기화: Ultralytics YOLOv8 모델을 적절히 초기화하고, 객체 감지부터 포즈 추정과 같은 더 복잡한 작업까지 구체적인 요구 사항에 맞는 모델 구성을 선택합니다.
- 추론 실행: 모델에 데이터를 입력해 추론을 수행합니다. 이 과정에서 이미지나 프레임마다 하나씩 Results 객체 목록이 생성되며, 이 객체를 통해 모든 탐지 데이터에 접근할 수 있습니다.
결과 객체 이해하기#
Ultralytics YOLOv8의 각 Results 객체에는 다음을 비롯해 프로젝트를 진행하는 데 필요한 모든 탐지 데이터가 포함되어 있습니다.
- 바운딩 박스: 감지된 객체의 좌표에 접근하려면
result.boxes을 사용합니다. - 마스크 및 키포인트:
result.masks과result.keypoints을 각각 사용하여 포즈 추정에 필요한 세그멘테이션 마스크와 키포인트에 접근합니다. - 클래스 확률:
result.probs에는 분류 모델의 클래스 확률이 저장되고,result.boxes.conf에는 탐지된 각 박스의 신뢰도 점수가 저장되어 탐지 결과를 필터링하는 데 유용합니다.
사용자 지정 목적으로 데이터 추출하기#
애플리케이션에서 이러한 출력을 사용하려면 다음 단계를 따릅니다.
- 처리를 위한 데이터 변환: GPU에서 모델을 실행하는 경우 추가 조작을 위해
.cpu()을 사용해 출력을 CPU 형식으로 변환합니다. - 바운딩 박스 좌표에 접근하기: results 객체에서 바운딩 박스 좌표를 직접 가져와 조작합니다. 정규화된 좌표나 너비, 높이와 같은 특정 속성에도 접근할 수 있습니다.
- 분류 결과 처리: 상위 분류 결과를 추출하여 클래스 ID와 신뢰도 점수를 효과적으로 활용합니다.
코드로 구현하는 실제 응용#
이론을 실제로 옮기기 위해 Nicolai Nielsen은 Visual Studio Code에서 사용자 지정 Python 스크립트로 이러한 개념을 구현하는 방법을 설명합니다. 스크립트는 다음을 포함합니다.
- 감지 클래스 설정: 클래스 구조 내에서 Ultralytics YOLOv8 모델을 초기화하고 구성하여 실시간 데이터 입력에 사용할 수 있도록 준비합니다.
- 결과 추출: 감지를 실행하고 results 객체에서 바운딩 박스, 마스크, 분류 결과를 직접 추출합니다.
- 출력 활용: 결과를 JSON이나 CSV와 같이 사용할 수 있는 형식으로 변환하거나, 이미지 또는 비디오 스트림에 바운딩 박스를 그리는 데 직접 사용합니다.
시각화와 그 이상의 활용#
원시 데이터를 추출하는 것도 중요하지만, 감지 결과를 시각화하면 모델 성능을 즉시 파악하는 데 도움이 됩니다.
- 사각형 그리기: 바운딩 박스 데이터를 사용하여 이미지 또는 비디오 출력에서 감지된 객체 주위에 사각형을 그립니다.
- 직접 시각화: 기본 제공되는
result.plot()메서드를 사용하면 추가 코드를 작성하지 않고도 탐지 결과를 시각화할 수 있습니다.
Ultralytics YOLOv8로 AI 도구 확장하기#
Ultralytics YOLOv8의 출력 추출 방법을 익히면 프로젝트의 기능이 향상될 뿐만 아니라 객체 감지 시스템에 대한 이해도 깊어집니다.
이러한 단계를 따르면 고급 AI 기반 애플리케이션을 개발하든 강력한 데이터 분석을 수행하든 특정 요구에 맞게 Ultralytics YOLOv8 탐지 결과를 조정할 수 있습니다.
Ultralytics YOLOv8 및 기타 AI 기술에 관한 튜토리얼을 계속 확인해 주세요. 최신 개발 동향을 파악하려면 커뮤니티에 참여하고, 더 알아보려면 문서를 확인하세요!
작성자
댓글
질문하거나 결과를 공유하거나 다른 사람을 도와주세요.










