더 스마트한 주차 관리 시스템을 위한 Ultralytics YOLOv8
Ultralytics YOLOv8 모델은 주차 관리 시스템을 더 스마트하게 만들 수 있습니다. 실시간으로 주차 공간을 관리하여 나만의 스마트 주차 솔루션을 구축하는 방법을 배워보십시오.

특히 시간에 쫓기는 상황에서 주차 공간을 찾기 위해 주위를 맴도는 일은 큰 스트레스가 될 수 있습니다. 주차 장소를 찾는 전통적인 방식은 지루하고 시간이 많이 소요됩니다. 하지만 인공지능(AI)과 컴퓨터 비전으로 구동되는 주차 관리 시스템은 이러한 문제를 훨씬 간단하게 해결할 수 있습니다. 주차 가능 여부를 보다 예측 가능하게 만들고 교통 혼잡을 줄일 수 있기 때문입니다.
이번 글에서는 인공지능과 컴퓨터 비전을 활용하여 주차 관리 시스템을 업그레이드하는 방법을 알아봅니다. 또한 단계별 코딩 예제를 통해 Ultralytics YOLOv8 모델을 사용하여 컴퓨터 비전 기반의 주차 관리 시스템을 구축하는 방법을 살펴보겠습니다. 바로 시작해 보겠습니다!
Link to this section전통적인 주차장 관리의 문제점#
AI 기반의 스마트 주차 관리 시스템에 대해 논의하기 전에, 전통적인 주차 관리 시스템이 가진 문제점들을 먼저 살펴보겠습니다.
전통적인 시스템의 주요 문제점은 주차 공간의 과밀화입니다. 즉, 이용 가능한 공간보다 더 많은 차량이 주차장에 몰리는 현상입니다. 공간을 찾느라 시간을 낭비할 뿐만 아니라, 과밀화는 불필요한 연료 소비와 대기 오염을 유발합니다. 또 다른 문제는 운전자의 스트레스입니다. 한 조사에 따르면, 약 27%의 사람들이 주차 공간을 찾는 데 최소 30분을 소비한다고 합니다. 또한 43%의 사람들이 주차 문제로 낯선 사람과 말다툼을 벌인 적이 있다고 인정했습니다.

그림 1. 스트레스를 받는 운전자. 이미지 출처: Envato Elements.
Link to this sectionAI를 통한 더 쉬운 주차장 관리#
AI가 통합된 주차장은 전통적인 주차 관리 시스템이 직면한 문제들을 해결하는 것을 목표로 합니다. Ultralytics YOLOv8 모델과 같은 컴퓨터 비전 모델과 고화질 카메라를 사용하면 주차장을 모니터링하고 실시간으로 주차 가능 공간과 점유 공간에 대한 정보를 업데이트할 수 있습니다.
작동 원리는 무엇일까요? 컴퓨터 비전 모델은 고화질 카메라의 영상을 분석하여 차량을 감지하고, 움직임을 추적하며, 이용 가능한 주차 공간을 식별할 수 있습니다. Ultralytics YOLOv8 모델은 객체 탐지 및 객체 추적과 같은 컴퓨터 비전 작업을 지원하며, 영상 내에서 차량을 정확하게 식별하고 분류할 수 있습니다. 탐지된 차량의 위치를 사전에 정의된 주차 공간과 비교함으로써, 시스템은 해당 주차 공간이 점유되었는지 여부를 판단할 수 있습니다.

그림 2. 주차 공간을 탐지하는 YOLOv8.
비전 기반 시스템에서 얻은 주차 가능 정보는 다음과 같은 다양한 애플리케이션으로 통합 및 확장될 수 있습니다:
- 모바일 앱: 모바일 애플리케이션은 실시간 주차 가능 정보를 표시하여 운전자가 빠르고 쉽게 이용 가능한 공간을 찾도록 도울 수 있습니다.
- 디지털 사이니지: 주차장 입구에 설치된 디지털 표지판은 이용 가능한 주차 공간 수를 표시하고 운전자에게 가장 가까운 빈 공간으로 안내할 수 있습니다.
- 자동 주차 시스템: 데이터를 활용하여 자동 차단기와 게이트를 제어함으로써, 공간이 있을 때만 진입을 허용하고 운전자를 가장 가까운 빈 공간으로 유도할 수 있습니다.
Link to this section주차 관리 시스템의 장점#
주차 가능 여부에 대한 통찰력은 많은 이점을 제공합니다. 실시간 업데이트는 운전자가 빈 공간으로 바로 이동하도록 도와 교통 흐름을 원활하게 하고 주차를 찾는 스트레스를 줄여줍니다. 운영자 입장에서는 공간 사용 방식을 파악하여 주차장을 더 효율적으로 관리하고, 실시간 모니터링으로 보안을 강화하며, 사건 발생 시 신속하게 대응할 수 있습니다.
주차 기능을 자동화하면 인력 수요를 줄여 비용을 절감할 수 있습니다. AI 시스템을 사용하면 모바일이나 웹 앱을 통해 주차 공간을 더 쉽게 예약할 수 있어, 운전자는 이용 가능 여부에 대한 알림을 받고 시간과 비용을 절약할 수 있습니다. 도시 계획가는 이 데이터를 사용하여 더 나은 도로 레이아웃을 설계하고, 효과적인 주차 규정을 시행하며, 도시를 더 효율적이고 이동하기 쉽게 만드는 새로운 주차 시설을 개발할 수 있습니다.

그림 3. 모바일 앱을 통해 주차 슬롯을 예약합니다.
Link to this section직접 해보기: YOLOv8을 이용한 주차 관리#
주차 관리와 그 이점에 대해 명확히 이해했으므로, 이제 비전 기반 주차 관리 시스템을 구축하는 방법을 살펴보겠습니다. YOLOv8 모델을 사용하여 차량을 감지하고, 주차 공간을 모니터링하며, 점유 상태를 파악할 것입니다.
이 예제에서는 주차장의 비디오 또는 카메라 스트림을 사용할 수 있습니다. 이 예제에서 지원하는 최대 이미지 크기는 1920 * 1080입니다. 시작하기 전에, 이 시스템은 정확한 차량 탐지와 사전에 정의된 주차 공간 좌표에 의존한다는 점을 기억하십시오.
카메라 보정 및 환경 요인은 공간 탐지와 점유 상태의 정확도에 영향을 줄 수 있습니다. 처리 속도와 정확도는 GPU 성능에 따라 달라질 수 있습니다.
1단계: 먼저 Ultralytics 패키지를 설치하겠습니다. 명령 프롬프트나 터미널을 열고 다음 명령을 실행하십시오.
pip install ultralytics설치 과정에 대한 자세한 안내와 모범 사례는 Ultralytics 설치 가이드를 참조하십시오. YOLOv8에 필요한 패키지를 설치하는 동안 문제가 발생하면 일반 문제 가이드에서 해결 방법과 유용한 팁을 확인할 수 있습니다.
2단계: 영상에서 관심 영역을 표시할 수 있도록 주차 공간을 미리 선택해야 합니다. 이 코드를 실행하여 주차 공간을 사전 선택하는 사용자 인터페이스를 엽니다.
from ultralytics import solutions
solutions.ParkingPtsSelection()아래와 같이 코드를 실행하면 사용자 인터페이스가 열립니다. 주차장 입력 영상의 프레임이나 스크린샷을 찍어 업로드하십시오. 주차 공간 주위에 경계 상자(BBox)를 그린 후 저장 옵션을 클릭합니다. 선택한 주차 공간 정보는 **'bounding_boxes.json'**이라는 JSON 파일로 저장됩니다.

그림 4. 영상에서 주차 공간을 선택합니다.
3단계: 이제 주차 관리를 위한 메인 코드를 작성하겠습니다. 필요한 모든 라이브러리를 임포트하고 2단계에서 생성한 JSON 파일을 초기화하는 것으로 시작합니다.
import cv2
from ultralytics import solutions
polygon_json_path = "bounding_boxes.json"4단계: 비디오 파일을 읽기 위해 VideoCapture 객체를 생성하고 비디오 파일이 성공적으로 열리는지 확인합니다.
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"5단계: 너비, 높이, 초당 프레임 수와 같이 필요한 모든 비디오 속성을 초기화합니다.
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))6단계: 다음으로, 최종 처리된 비디오 파일을 저장하기 위한 VideoWriter 객체를 생성합니다.
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))7단계: 여기서 주차 공간 탐지를 위해 Ultralytics YOLOv8 모델을 사용하는 주차 관리 시스템을 초기화합니다.
management = solutions.ParkingManagement(model_path="yolov8n.pt")8단계: 이제 처리를 위해 비디오 파일을 프레임 단위로 읽습니다. 읽어올 프레임이 없으면 루프가 종료됩니다.
while cap.isOpened():
ret, im0 = cap.read()
if not ret:
break9단계: 루프 안에서 JSON 파일로부터 사전 선택된 주차 영역을 추출하고 YOLOv8 모델을 사용하여 프레임 내 객체를 추적합니다.
json_data = management.parking_regions_extraction(polygon_json_path)
results = management.model.track(im0, persist=True, show=False)10단계: 루프의 이 부분에서는 추적 결과를 처리하여 탐지된 객체의 경계 상자 좌표와 클래스 라벨을 얻습니다.
if results[0].boxes.id is not None:
boxes = results[0].boxes.xyxy.cpu().tolist()
clss = results[0].boxes.cls.cpu().tolist()
management.process_data(json_data, im0, boxes, clss)11단계: 루프의 마지막 부분은 주석이 포함된 현재 프레임을 표시하고 처리된 프레임을 'parking management.avi'라는 이름의 출력 비디오 파일로 쓰는 작업을 포함합니다.
management.display_frames(im0)
video_writer.write(im0)12단계: 마지막으로, VideoCapture 및 VideoWriter 객체를 해제하고 모든 창을 닫습니다.
cap.release()
video_writer.release()
cv2.destroyAllWindows()13단계: 스크립트를 저장합니다. 터미널이나 명령 프롬프트에서 작업 중이라면 다음 명령을 사용하여 스크립트를 실행하십시오.
python your_script_name.py코드에 대해 자세히 알고 싶으시면 Ultralytics 공식 문서를 확인해 보시기 바랍니다.
Link to this section자동화된 주차장 관리 시스템의 과제#
지능형 주차 시스템은 운전자와 기업 모두에게 많은 이점을 제공합니다. 하지만 이러한 솔루션을 구현하기 전에 고려해야 할 몇 가지 과제도 존재합니다. 그중 일부를 살펴보겠습니다.
- 개인정보 보호 우려: 이러한 시스템은 차량의 제조사 및 모델, 번호판 번호, 진입 및 퇴장 시간 등의 정보를 수집합니다.
- 높은 설치 비용: 센서, 카메라, 자동 발권기, AI 소프트웨어 설치에는 많은 비용이 들 수 있습니다.
- 유지보수 요구 사항: 유지보수 빈도는 AI 시스템에 따라 다르지만, 대부분의 시스템은 매월 유지보수가 필요합니다.
Link to this section스마트 주차 시스템의 미래#
미래의 혁신적인 주차 관리는 AI, 자율주행 자동차, 가상 현실과 같은 최첨단 기술을 활용하여 전반적인 주차 경험을 향상하고 지속 가능성을 지원하는 방향으로 나아갈 것입니다. 이러한 시스템과 통합되면 자율주행 자동차는 인간의 개입 없이 주차 장소로 이동하여 주차할 수 있게 됩니다. 또한 이러한 시스템은 기업이 더 많은 주차 공간을 채우고 여러 앱과 웹사이트를 통해 서비스를 광고하도록 돕습니다. 또한 주차 공간을 찾기 위해 주변을 배회하는 차량으로 인해 발생하는 탄소 배출량을 줄여줍니다.
Link to this section주차 불편 해소#
Ultralytics YOLOv8과 같은 AI 모델과 컴퓨터 비전은 주차장을 변화시킬 수 있습니다. 주차 공간을 찾기 위한 배회를 획기적으로 줄여 시간을 절약하고 배출량을 감소시킵니다. 이러한 스마트 주차 관리 시스템은 혼잡, 불법 주차, 운전자의 좌절감과 같은 일반적인 문제들을 해결합니다. 초기 투자가 필요하지만 장기적인 이점은 상당합니다. 스마트 주차에 대한 투자는 지속 가능한 도시를 만들고 모두를 위해 더 원활한 주차 경험을 제공하는 핵심입니다.
AI에 대해 더 알고 싶으신가요? 저희 커뮤니티와 소통해 보세요! GitHub 저장소를 탐색하여 저희가 헬스케어 및 농업과 같은 다양한 산업에서 AI를 사용하여 어떻게 혁신적인 솔루션을 만들고 있는지 알아보세요. 함께 협력하고, 혁신하며, 배워봅시다! 🚀






