Ultralytics YOLO26으로 주차 관리 시스템 구축하기 🚀#
주차 관리 시스템이란 무엇인가요?#
Ultralytics YOLO26을 사용하여 구축된 주차 관리 시스템은 실시간으로 차량을 감지하여 어떤 주차 공간이 점유되었거나 비어 있는지 추적한 다음, 라이브 주차장 점유 상태를 보고합니다. YOLO26 객체 감지와 JSON으로 정의된 주차 레이아웃을 결합하여 단일 비디오 스트림이나 카메라 피드에서 전체 주차장을 모니터링할 수 있습니다.
Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗
주차 관리 시스템의 장점#
- 효율성: 주차 공간 활용을 최적화하고 주차장 전체의 혼잡도를 감소시킵니다.
- 안전 및 보안: 지속적인 감시를 통해 사람과 차량의 안전을 향상시킵니다.
- 배출가스 감소: 교통 흐름을 관리하여 주차장 내 차량 공회전 시간과 배출가스를 최소화합니다.
실제 세계에서의 활용 사례#
| 주차 관리 시스템 | 주차 관리 시스템 |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26을 활용한 주차 관리 항공 뷰 | Ultralytics YOLO26을 활용한 주차 관리 상단 뷰 |
주차 관리 시스템 코드 워크플로우#
포인트 선택이 이제 간편해졌습니다
주차 포인트 선택은 주차 관리 시스템에서 중요하고 복잡한 작업입니다. Ultralytics는 주차장 영역을 정의할 수 있는 "Parking slots annotator" 도구를 제공하여 이 과정을 간소화하며, 이렇게 정의된 영역은 나중에 추가 처리에 활용할 수 있습니다.
1단계: 주차장을 관리하려는 영상 또는 카메라 스트림에서 프레임을 캡처합니다.
2단계: 제공된 코드를 사용하여 그래픽 인터페이스를 실행합니다. 여기서 이미지를 선택하고 마우스 클릭으로 다각형을 그려 주차 구역을 지정할 수 있습니다.
`tkinter` 설치를 위한 추가 단계
일반적으로 tkinter은(는) Python에 미리 포함되어 있습니다. 그러나 포함되어 있지 않은 경우, 강조 표시된 단계에 따라 설치할 수 있습니다.
- Linux (Debian/Ubuntu):
sudo apt install python3-tk - Fedora:
sudo dnf install python3-tkinter - Arch:
sudo pacman -S tk - Windows: Python을 다시 설치하고 설치 중 Optional Features에서
tcl/tk and IDLE체크박스를 활성화하세요. - MacOS: https://www.python.org/downloads/macos/ 또는
brew install python-tk에서 Python을 다시 설치하세요.
from ultralytics import solutions
solutions.ParkingPtsSelection()Step-3: 다각형으로 주차 구역을 정의한 후, save을(를) 클릭하여 데이터를 작업 디렉터리에 bounding_boxes.json(으)로 저장합니다. 이는 아래 관리 스크립트가 로드하는 파일 이름과 동일합니다.

Step-4: 이제 아래 코드를 사용하여 주차 관리 솔루션을 실행할 수 있습니다.
import cv2
from ultralytics import solutions
# Video capture
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
model="yolo26n.pt", # path to model file
json_file="bounding_boxes.json", # path to parking annotations file
)
while cap.isOpened():
ret, im0 = cap.read()
if not ret:
break
results = parkingmanager(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsParkingManagement 인수#
다음은 ParkingManagement 인수가 포함된 표입니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 모델 파일 경로입니다. |
json_file | str | None | 모든 주차 좌표 데이터가 포함된 JSON 파일 경로입니다. |
line_width | int | 2 | 솔루션이 그리는 상자, 키포인트 및 카운트의 선 두께입니다. |
verbose | bool | True | 입력 형태, 클래스 카운트 및 처리 속도에 대한 솔루션의 프레임별 로그를 활성화합니다. 트래킹 호출 자체는 항상 침묵 상태를 유지합니다. |
ParkingManagement 솔루션은 여러 track 매개변수의 사용을 허용합니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 사용할 추적 알고리즘을 지정합니다. 기본 제공 옵션: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | 탐지에 대한 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체가 추적되지만 잘못된 긍정 탐지(false positives)가 포함될 수 있습니다. |
iou | float | 0.7 | 겹치는 감지를 필터링하기 위한 Intersection over Union (IoU) 임계값을 설정합니다. |
classes | list | None | 클래스 인덱스로 결과를 필터링합니다. 예를 들어 classes=[0, 2, 3]은 지정된 클래스만 추적합니다. |
device | str | None | 추론용 장치를 지정합니다(예: cpu, cuda:0 또는 0). 사용자가 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치 중에서 선택할 수 있도록 합니다. |
또한, 다음과 같은 시각화 옵션이 지원됩니다:
| 인수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
show | bool | False | True인 경우, 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백에 유용합니다. |
FAQ#
Ultralytics YOLO26은 주차 시스템을 위한 실시간 차량 감지 및 모니터링을 제공하여 주차 공간의 사용을 최적화하고, 혼잡을 줄이며, 지속적인 감시를 통해 안전을 향상시킵니다. 라이브 카메라 피드에서 실행하면 교통 흐름을 관리하고 차량 공회전 시간을 최소화하는 데도 도움이 됩니다. 전체 설정에 대해서는 주차 관리 코드 워크플로를 참조하세요.
스마트 주차에 Ultralytics YOLO26을 사용하면 다음과 같은 많은 이점이 있습니다:
- 효율성: 주차 공간 활용을 최적화하고 혼잡을 줄입니다.
- 안전 및 보안: 감시 기능을 강화하고 차량과 보행자의 안전을 보장합니다.
- 환경적 영향: 차량 공회전 시간을 최소화하여 배출가스를 줄이는 데 도움을 줍니다. 주차 관리 시스템의 장점 섹션에서 더 많은 이점을 살펴보세요.
Ultralytics YOLO26을 사용하면 주차 공간을 간편하게 정의할 수 있습니다:
- 비디오 또는 카메라 스트림에서 프레임을 캡처합니다.
- 제공된 코드를 사용하여 GUI를 실행하고, 이미지를 선택한 뒤 다각형을 그려 주차 공간을 정의합니다.
- 라벨링된 데이터를 JSON 형식으로 저장하여 추가 처리를 수행합니다. 자세한 지침은 위의 포인트 선택 섹션을 확인하십시오.
가장 주차장 특화된 설정은
json_file입니다. 새 레이아웃에 솔루션을 맞추려면 포인트 주석 도구로 생성한 주차 영역 JSON을 가리키도록 하세요. 다른 인수를 통해 추가로 맞춤화할 수 있습니다.model을(를) 사용자 지정 학습된 감지기로 설정하고, 감지를 특정 차량classes(으)로 제한하고,conf및iou임계값을 조정하고,tracker을(를) 전환하고,line_width을(를) 사용하여 프레임 내 레이블과 점유 판독값의 크기를 조절하거나, 추론device을(를) 선택합니다. 관련 구역 기반 모니터링에 대해서는 객체 카운팅 가이드를 참조하세요.Ultralytics YOLO26은 주차장 관리를 위한 다양한 실제 애플리케이션에 활용되며, 여기에는 다음이 포함됩니다:
- 주차 공간 감지: 사용 가능한 공간과 점유된 공간을 정확하게 식별합니다.
- 감시: 실시간 모니터링을 통해 보안을 강화합니다.
- 교통 흐름 관리: 효율적인 교통 처리를 통해 공회전 시간과 혼잡을 줄입니다. 이러한 응용 프로그램을 보여주는 이미지는 실제 응용 프로그램에서 찾을 수 있습니다.

