Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26으로 주차 관리 시스템 구축하기 🚀#

Link to this section주차 관리 시스템이란 무엇인가요?#

Ultralytics YOLO26으로 구축된 주차 관리 시스템은 실시간으로 차량을 감지하여 주차 공간의 점유 또는 사용 가능 여부를 추적하고, 현재 주차장 점유율을 보고합니다. 이 시스템은 YOLO26의 객체 탐지 기능과 JSON으로 정의된 주차장 레이아웃을 결합하여 단일 비디오 스트림이나 카메라 피드만으로 전체 주차장을 모니터링할 수 있게 합니다.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

Link to this section주차 관리 시스템의 장점#

  • 효율성: 주차 공간 활용을 최적화하고 주차장 전체의 혼잡도를 감소시킵니다.
  • 안전 및 보안: 지속적인 감시를 통해 사람과 차량의 안전을 향상시킵니다.
  • 배출가스 감소: 교통 흐름을 관리하여 주차장 내 차량 공회전 시간과 배출가스를 최소화합니다.

Link to this section실제 세계에서의 활용 사례#

주차 관리 시스템주차 관리 시스템
Ultralytics YOLO26을 사용한 주차장 분석Ultralytics YOLO26을 사용한 주차 관리 상단 뷰
Ultralytics YOLO26을 활용한 주차 관리 항공 뷰Ultralytics YOLO26을 활용한 주차 관리 상단 뷰

Link to this section주차 관리 시스템 코드 워크플로우#

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

주차 포인트 선택은 주차 관리 시스템에서 중요하고 복잡한 작업입니다. 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

Link to this sectionParkingManagement 인수#

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

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

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

인수유형기본값설명
trackerstr'botsort.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일 경우, 선 굵기가 이미지 크기에 따라 자동으로 조정됩니다. 명확성을 위해 시각적 커스터마이징을 제공합니다.

Link to this sectionFAQ#

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

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

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

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

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

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

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

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

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

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

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

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

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

댓글