YOLO Vision 2026:

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 YOLO26을 활용한 주차 관리 항공 뷰Ultralytics YOLO26을 활용한 주차 관리 상단 뷰

주차 관리 시스템 코드 워크플로우#

포인트 선택이 이제 간편해졌습니다

주차 포인트 선택은 주차 관리 시스템에서 중요하고 복잡한 작업입니다. Ultralytics는 주차장 영역을 정의할 수 있는 "Parking slots annotator" 도구를 제공하여 이 과정을 간소화하며, 이렇게 정의된 영역은 나중에 추가 처리에 활용할 수 있습니다.

1단계: 주차장을 관리하려는 영상 또는 카메라 스트림에서 프레임을 캡처합니다.

2단계: 제공된 코드를 사용하여 그래픽 인터페이스를 실행합니다. 여기서 이미지를 선택하고 마우스 클릭으로 다각형을 그려 주차 구역을 지정할 수 있습니다.

Ultralytics YOLO 주차 슬롯 주석 도구
`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/에서 Python을 재설치하거나 brew install python-tk를 실행합니다.
from ultralytics import solutions

solutions.ParkingPtsSelection()

3단계: 다각형으로 주차 구역을 정의한 후, save를 클릭하여 데이터를 작업 디렉토리에 bounding_boxes.json으로 저장합니다. 이 파일명은 아래에서 로드할 관리 스크립트가 사용하는 이름과 동일해야 합니다.

Ultralytics YOLO26 포인트 선택 데모

4단계: 이제 아래 코드를 사용하여 주차 관리 솔루션을 실행할 수 있습니다.

Ultralytics YOLO를 활용한 주차 관리
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 windows

ParkingManagement 인수#

다음은 ParkingManagement 인수가 정리된 표입니다:

인수유형기본값설명
modelstrNoneUltralytics YOLO 모델 파일 경로입니다.
json_filestrNone모든 주차 좌표 데이터가 포함된 JSON 파일 경로입니다.

ParkingManagement 솔루션은 여러 track 매개변수 사용을 지원합니다:

인수유형기본값설명
trackerstr'tracktrack.yaml'사용할 추적 알고리즘을 지정합니다. 기본 옵션은 다음과 같습니다: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1탐지에 대한 신뢰도 임계값을 설정합니다. 값이 낮을수록 더 많은 객체가 추적되지만 잘못된 긍정 탐지(false positives)가 포함될 수 있습니다.
ioufloat0.7겹치는 탐지를 필터링하기 위한 Intersection over Union (IoU) 임계값을 설정합니다.
classeslistNone클래스 인덱스로 결과를 필터링합니다. 예를 들어, classes=[0, 2, 3]은 지정된 클래스만 추적합니다.
verboseboolTrue추적 결과 표시를 제어하여 추적된 객체의 시각적 출력을 제공합니다.
devicestrNone추론을 위한 장치(예: cpu, cuda:0 또는 0)를 지정합니다. 사용자가 모델 실행을 위해 CPU, 특정 GPU 또는 기타 컴퓨팅 장치를 선택할 수 있도록 합니다.

또한, 다음과 같은 시각화 옵션이 지원됩니다:

인수유형기본값설명
showboolFalseTrue일 경우, 주석이 달린 이미지나 비디오를 창에 표시합니다. 개발 또는 테스트 중 즉각적인 시각적 피드백을 확인하는 데 유용합니다.
line_widthint or NoneNone바운딩 박스의 선 굵기를 지정합니다. None일 경우, 선 굵기가 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 커스터마이징을 제공합니다.

FAQ#

Ultralytics YOLO26은 주차 관리 시스템을 어떻게 향상합니까?#

Ultralytics YOLO26은 주차 시스템을 위한 실시간 차량 탐지 및 모니터링 기능을 제공하며, 이를 통해 주차 공간 활용 최적화, 혼잡 감소, 지속적인 감시를 통한 안전 향상을 도모합니다. 실시간 카메라 피드에서 이 시스템을 실행하면 교통 흐름을 관리하고 차량 공회전 시간을 최소화하는 데에도 도움이 됩니다. 전체 설정 방법은 주차 관리 코드 워크플로우를 참조하십시오.

스마트 주차를 위해 Ultralytics YOLO26을 사용할 때의 이점은 무엇입니까?#

스마트 주차에 Ultralytics YOLO26을 사용하면 다음과 같은 많은 이점이 있습니다:

  • 효율성: 주차 공간 활용을 최적화하고 혼잡을 줄입니다.
  • 안전 및 보안: 감시 기능을 강화하고 차량과 보행자의 안전을 보장합니다.
  • 환경 영향: 차량 공회전 시간을 최소화하여 배기가스를 줄이는 데 도움을 줍니다. 주차 관리 시스템의 장점 섹션에서 더 많은 이점을 확인하십시오.

Ultralytics YOLO26을 사용하여 주차 공간을 어떻게 정의할 수 있습니까?#

Ultralytics YOLO26을 사용하면 주차 공간을 간편하게 정의할 수 있습니다:

  1. 비디오 또는 카메라 스트림에서 프레임을 캡처합니다.
  2. 제공된 코드를 사용하여 GUI를 실행하고, 이미지를 선택한 뒤 다각형을 그려 주차 공간을 정의합니다.
  3. 라벨링된 데이터를 JSON 형식으로 저장하여 추가 처리를 수행합니다. 자세한 지침은 위의 포인트 선택 섹션을 확인하십시오.

주차 관리 솔루션(ParkingManagement)을 제 주차장에 맞게 사용자 정의하려면 어떻게 해야 하나요?#

가장 주차장별 설정이 필요한 항목은 json_file입니다. 포인트 주석 도구로 생성한 주차 구역 JSON을 지정하여 새로운 레이아웃에 맞게 솔루션을 조정하십시오. 그 외 인수를 통해 추가로 맞춤화할 수 있습니다. model을 사용자 학습 탐지기로 설정하고, 특정 차량 classes로 탐지 대상을 제한하며, confiou 임계값을 조정하고, tracker를 변경하거나, line_width를 사용하여 프레임 내 레이블과 점유 상태 표시 크기를 조절하거나, 추론용 device를 선택할 수 있습니다. 관련 구역 기반 모니터링은 객체 카운팅 가이드를 참조하십시오.

주차장 관리에서 Ultralytics YOLO26의 실제 적용 사례는 무엇입니까?#

Ultralytics YOLO26은 주차장 관리를 위한 다양한 실제 애플리케이션에 활용되며, 여기에는 다음이 포함됩니다:

  • 주차 공간 감지: 사용 가능한 공간과 점유된 공간을 정확하게 식별합니다.
  • 감시: 실시간 모니터링을 통해 보안을 강화합니다.
  • 교통 흐름 관리: 효율적인 교통 처리를 통해 공회전 시간과 혼잡을 줄입니다. 이러한 애플리케이션을 보여주는 이미지는 실제 적용 사례에서 찾을 수 있습니다.

댓글