Practical.kr

실용적인 소프트웨어를 만듭니다.

OpenCV 기반으로 농구 코트 찾기

배경 농구 경기를 분석하여 선수의 움직임을 추출하기 위해서는 우선 농구 코트를 ROI(Region of Interest)로 설정해야 한다. 그래야만 관중과 선수들을 구분할 수 있기 때문이다. AI 분석 방법이 많은 GPU를 요구하고 느린 관계로 OpenCV를 이용하여 기본적인 ROI를 구현하는 부분을 테스트했다. 고정된 카메라에서는 정해진 ROI를 사용할 수 있지만, 방송 중계 화면은 카메라 이동이 빈번히 일어나고 선수들이 움직여 코트의

SAM과 YOLOv8을 활용한 객체 세그멘테이션

지난번 글에서 Supervision과 ByteTrack을 이용해서 도로에서 차량을 찾고(Yolo) 트래킹(ByteTracking) 하는 예제를 만들어 봤는데, 이글은 그 연장선에서 목표를 찾아서 찾아서 박스만 두르는 것이 아니고 정확한 형상을 추출(세그멘테이션)하는 기능을 구현하기 위하여 Segment Anything Model (SAM)과 YOLOv8을 결합하여 사람과 공(sports ball) 객체를 정확하게 탐지하고 세그멘테이션하는 시스템을 구현해봤다. UI는 Streamlit을 활용했다. 셈플 이미지는 어제 축구 경기의 한장면. 5-0 이라니…

차량 추적 시스템: Supervision과 ByteTracker 활용

개요 그동안 opencv를 이용하서 여러가지 방법으로 Object Tracking을 구현해봤었는데, 며칠전 아래 이미지를 보고 Supervision과 ByteTracker에 관심이 생겨서 차량 도로의 ROI와 차량 트래킹을 구현해봤다. 결론적으로 결과가 매우 훌륭하여 정리했다. 시스템 아키텍처 핵심 구성 요소 주요 특징 핵심 구현 분석 1. 다중 폴리곤 존 설정 핵심 포인트: 2. ByteTracker 초기화 및 최적화 최적화 전략: 3. 다중 존