用于更智能停车管理系统的 Ultralytics YOLOv8
Ultralytics YOLOv8 模型可以让停车管理系统变得更智能。学习如何实时管理停车位,从而创建你自己的智能停车解决方案。

开车兜圈寻找停车位可能会让人感到压力,尤其是在你赶时间的时候。寻找停车位的传统方式既枯燥又耗时。然而,由人工智能(AI)和计算机视觉驱动的停车管理系统可以简化这一过程。它能让停车位的可用性更具可预测性,并减少交通拥堵。
在本文中,我们将学习如何利用人工智能和计算机视觉升级停车管理系统。我们还将通过一个逐步编码示例,向你展示如何使用 Ultralytics YOLOv8 模型来创建支持计算机视觉的 停车管理系统。让我们直接开始吧!
Link to this section传统停车场管理的问题#
在讨论人工智能增强的智能停车管理系统之前,让我们先看看传统停车管理系统存在的问题。
传统系统的一个主要问题是停车位过度拥挤;停车场里的车辆数量超过了可用车位。除了浪费时间寻找车位外,过度拥挤还会导致额外的燃油消耗和空气污染。另一个问题是司机的压力。据一项调查显示,约 27% 的人花费至少 30 分钟寻找停车位。此外,43% 的人承认曾因停车位问题与陌生人发生口角。

图 1. 一位压力很大的司机。图片来源:Envato Elements。
Link to this section人工智能让停车场管理更轻松#
集成人工智能的停车场旨在解决传统停车管理系统所面临的问题。诸如 Ultralytics YOLOv8 模型 和高清摄像头之类的计算机视觉模型可以监控停车场,并实时获取有关可用车位和已占用车位的更新信息。
这是如何工作的? 计算机视觉模型可以分析高清摄像头的画面,以检测车辆、跟踪其移动并识别可用的停车位。Ultralytics YOLOv8 模型支持 object detection 和 object tracking 等计算机视觉任务,能够准确识别并分类视频流中的车辆。通过将检测到的车辆位置与预定义的停车位进行比较,系统可以确定某个停车位是否已被占用。

图 2. YOLOv8 检测停车位。
来自视觉系统的停车位可用性信息可以集成并扩展到各种应用程序中:
- 移动应用: 移动应用程序可以显示实时的停车可用性,帮助司机快速轻松地找到空位。
- 数字标牌: 停车场入口处的数字标志可以显示可用车位的数量,并引导司机前往最近的空位。
- 自动停车系统: 数据可用于控制自动栏杆和闸门,仅在有车位时允许进入,并将司机引导至最近的空位。
Link to this section停车管理系统的优势#
对停车位可用性的洞察可以提供诸多优势。实时更新有助于司机直接前往空位,从而使交通流更顺畅,并减轻寻找停车位的压力。对于运营商而言,了解车位的使用情况意味着他们可以更好地管理停车场,通过实时监控提高安全性,并快速应对任何突发事件。
自动化停车功能通过减少对人工的需求来降低成本。人工智能系统使通过移动或网络应用预留停车位变得更加容易,让司机能够接收关于可用性的通知,从而节省时间和金钱。城市规划者可以使用这些数据来设计更好的道路布局,执行有效的停车法规,并开发新的停车设施,使城市更高效、更易于导航。

图 3. 通过移动应用预留停车位。
Link to this section亲自尝试:使用 YOLOv8 进行停车管理#
既然我们已经清楚了解了停车管理及其优势,现在让我们深入探讨如何构建一个基于视觉的停车管理系统。我们将使用YOLOv8模型来检测车辆、监控停车位并确定其占用状态。
在此示例中,你可以使用摄像头的实时流或停车场的视频文件。请注意,此示例支持的最大图像尺寸为 1920 * 1080。在开始之前,请记住该系统依赖于准确的车辆检测和预定义的停车位坐标。
摄像头校准和环境因素会影响车位检测和占用状态的准确性。处理速度和准确性也可能根据你 GPU 的性能而有所不同。
第 1 步: 让我们先安装 Ultralytics 软件包。打开你的命令提示符或终端,执行以下命令。
pip install ultralytics有关安装过程的详细说明和最佳实践,请参阅我们的 Ultralytics 安装指南。如果你在安装 YOLOv8 所需的软件包时遇到任何问题,我们的 常见问题指南 提供了解决方案和有用的建议。
第 2 步: 我们需要预选停车位,以便标记出你视频画面中感兴趣的区域。运行此代码以打开用于预选停车位的用户界面。
from ultralytics import solutions
solutions.ParkingPtsSelection()如下所示,运行此代码时将打开一个用户界面。截取停车场输入视频的一帧或截图并上传。在停车位周围绘制边界框后,点击保存选项。你所选的停车位信息将保存在一个名为 ‘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:
break第 9 步: 在循环内部,我们将从 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自动化停车场管理系统的挑战#
智能停车系统为司机和企业都提供了许多优势。然而,它们也带来了一些挑战,在实施此类解决方案之前应予以考虑。让我们看看其中的一些挑战。
- 隐私问题: 这些系统会收集信息,例如个人的汽车品牌和型号、车牌号码、进入和离开的时间等。
- 高额安装成本: 传感器、摄像头、自动售票机和人工智能软件的安装成本可能很高。
- 维护要求: 维护频率取决于人工智能系统,但大多数系统都需要每月进行维护。
Link to this section智能停车系统的未来#
未来的创新停车管理将围绕利用人工智能、自动驾驶汽车和虚拟现实等尖端技术来改善整体停车体验并支持可持续性。与这些系统集成后,自动驾驶汽车 将能够在无人干预的情况下导航到停车位并完成泊车。这些系统还有助于企业填补更多的停车位,并在多个应用和网站上推广其服务。它们还减少了司机因兜圈寻找停车位而产生的碳排放。
Link to this section终结停车烦恼#
像 Ultralytics YOLOv8 这样的人工智能模型和计算机视觉技术可以改变你的停车场。它们极大地减少了为了寻找车位而兜圈的情况,为你节省时间并降低排放。这些智能停车管理系统解决了拥堵、违章停车和司机挫败感等常见问题。虽然有初始投资,但长期利益显著。投资智能停车是创建可持续城市并为每个人提供更顺畅停车体验的关键。
想了解更多关于人工智能的内容吗?加入我们的 社区!浏览我们的 GitHub 仓库,了解更多关于我们如何利用人工智能在 医疗 和 农业 等各个行业中创造创新解决方案的信息。与我们一起合作、创新和学习吧! 🚀






