Practical.kr

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

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. 다중 존

Velodyne 라이다와 파이썬 연결

최근 Velodyne 라이다 VLP-16을 사용해 볼 기회가 생겼다. 이 라이다는 자율주행 자동차에 많이 사용되고 있지만 나는 라이다를 고정하고 특정 목표물의 시간에 따른 위치변화(변이)를 확인하고자 테스트를 시작했고 결과물로 파이썬에서 라이다 데이터를 실시간으로 읽어서 파일 혹은 데이터 베이스에 저장할 목적으로 테스트를 했다. ROS 라이다를 구입할 때 받은 VeloView라는 프로그램으로 라이다가 정상적으로 작동하고 PCAP 또는 CSV 형태의 파일로

코로나 집콕 프로젝트 #1

의도 2020년은 코로나의 해였다. 년초에 시작한 코로나는 년말을 지나도록 잡히지 않았고 나는 하반기 내내 외부 프로젝트를 줄이고 집에 박혀서 더 많은 삽질을 했다. 이유없는 삽질에 결론을 만들기는 어렵긴 하지만 무언가 결과가 있어야겠다고 생각한게 12월이니… 오래도 결렸다. 하반기에 주로 많이한 일들이 IoT 디바이스를 가지고 놀아본거였고 거기에 Flutter를 이용해서 앱을 두어개 만들어 스토어에 업로드 해본 경험으로 IoT

Jetson Nano, PCA9685, L298N, DC-Motor 4륜구동 자동차

Jetson Nano를 충동적으로 구입하고 (http://practical.kr/?p=125) 테스트를 해본 후 뭘 만들까 고민을 하다가 자동차를 만들어 볼까? 생각을 했다. 전년도에 라즈베리파이를 이용해서 자동차를 만들려고 구매해 두었던 4륜 자동차 바디가 그대로 있어서 여기에 젯슨나노를 얹어 보기로 했다. 실패한이유 근데 생각해 보니 그때 라즈베리 기반의 자동차를 만들다 그만둔 이유가 라즈베리파이의 Digital I/O 의 숫자가 부족하다는걸 알고 나서였다. 바퀴하나를 구동하려면

ESP32, MicroPython, MQTT

아래와 같은 삽질을 했다. 삽질은 기록이라고… 대충 정리함 ESP32에서 MicroPython을 언젠가 한번 사용해봐야지 하고 있었는데 기왕 하는 김에 MQTT까지 연결해봤다. ESP32 에 MicroPython을 설치한다. ESP32에서 MicroPython으로 MQTT Client를 만든다 맥북에 MQTT 서버를 설치한다 맥북에서 Python을 이용해서 MQTT Client를 만든다. ESP32 – 맥북사이의 MQTT Client와 데이터를 주고 받기 테스트 ESP32에 MicroPython 설치하기 ESP32에 MicroPython을 설치하려면 firmware를