Skip to main content

视频车位占用检测方案:选型、部署与实测数据

使用须知

车位要在摄像头画面里看得见:被相邻车辆完全挡住的车位、画面里很远很小的车位判不准。

这套方案是干什么的​

不在每个车位装地磁或超声波检测器,直接用场内已有的 IP 摄像头:一路摄像头看得到几个车位,就同时检测几个。你在网页上给每个车位画框、命名,边缘主机持续判断框里有没有车,把每个车位「占用 / 空闲 / 未知」发到你的系统,用于余位屏、车位引导或专用车位管理。

  • 视频不出场地

    画面在现场的边缘主机上分析,对外只发车位状态。

  • 一台主机多路

    reComputer J30 系列实测 6 路同时运行 620 秒,每路无丢帧,见「性能与实测数据」。

  • 车位自己画

    网页上对着实时画面画框、命名,保存后立刻生效,重启后保留。

  • 断流能看出来

    某路摄像头断流约 10 秒后,它下面的车位标为「未知」,不继续报旧状态。

真机演示​

边缘主机自带的车位编辑页:画面上的框就是车位,红色占用、绿色空闲,右侧是合计和车位列表。

reComputer J30 系列上的车位编辑页:6 个车位,4 个占用、2 个空闲

截图里 P01、P02、P04、P06 占用,P03、P05 空闲。输入是一张地面停车场静图循环播放,不是现场录像。

需要哪些硬件​

现场需要三样东西:场内 IP 摄像头、一台边缘主机、一台 MQTT 服务器(例如现场已有的 Mosquitto)。

① IP 摄像头:现有摄像头即可,输出 H.264 编码的 RTSP 视频流,用子码流就够。

② 边缘主机:四选一,一台接多路摄像头,每路每秒分析 1 帧。

边缘主机实测什么时候选它
reComputer J3011reComputer J30 系列(J3011)
Jetson Orin Nano,JetPack 6.2
6 路无丢帧,单帧 p50 6.5 ms一台接多路,默认选择
reComputer J4012reComputer J40 系列(J4012)
Jetson Orin NX,JetPack 6.2
与 J30 同一应用包这台主机还要跑别的模型
reComputer RK3588reComputer RK3588 系列
板载 NPU
单路,单帧 p50 36.6 ms现场统一用瑞芯微平台
reComputer RK3576reComputer RK3576 系列
板载 NPU
单路,每秒 1 帧,无丢帧路数少、成本优先

RK 主机接多路时逐路增加,确认每路都在更新状态。

边缘主机、摄像头和 MQTT 服务器在同一局域网,主机能访问摄像头的 RTSP 地址(通常是 554 端口)。部署时需要联网下载运行程序和模型,之后可断网运行。

现场怎么部署​

一、确认摄像头视角​

从高处斜向下拍

每个车位在画面里能看清,不被相邻车辆完全挡住。一个框只框一个车位:车停进去后车身要占到框面积的约三分之一才判为占用,框住好几个车位的大框不会判为占用。

二、装软件:三步​

逐设备的操作步骤在可部署方案页,这里只讲轮廓。


  1. 部署边缘主机:填各路摄像头的 RTSP 地址和 MQTT 服务器后部署。
  2. 画车位:浏览器打开 8080 端口的车位编辑页,选择摄像头,空白处拖出矩形新建车位、拖角点贴合,填车位编号(如 B1-023)后保存。
  3. 验证:车位状态变化时,编辑页颜色随之变化,MQTT 上收到该路摄像头的状态消息。

有哪些接口​

车位状态经 MQTT 发到你的服务器,每路摄像头一个主题。

  • 余位屏 / 车位引导:订阅各路车位主题,用消息里的占用、空闲、未知数汇总。
  • 专用车位管理:给充电桩、访客车位单独画框,按车位编号判断。
  • Home Assistant 或自建系统:同一主题,按车位编号取状态。
主题 / 端口内容
MQTT <site>/parking/<camera>/slots这路摄像头下每个车位的状态(occupied / free / unknown)及三类数量;任何车位变化时发送
HTTP 8080 /slots/editor车位编辑页:画框、命名、查看实时状态
HTTP 8099 /healthz服务运行状态

状态有保持时间,不随单帧抖动:车停稳约 3 秒后标为占用,车离开约 5 秒后标为空闲;摄像头断流约 10 秒后标为未知。

性能与实测数据​

多路与单路运行​

设备输入结果
reComputer J30 系列(Orin Nano)6 路,每路每秒 1 帧,620 秒每路丢帧 0,约每秒 1.0 帧(实测)
reComputer J30 系列(Orin Nano)单路0.988 fps,单帧 p50 6.5 ms,每个车位上报 15 次状态切换(实测)
reComputer RK3588 系列单路单帧 p50 36.6 ms,上报 17 次状态切换(实测)
reComputer RK3576 系列单路1.0 fps,收到车位状态消息 21 条,丢帧 0(实测)

单路输入为地面停车场静图与暗帧交替循环,用来制造占用与空闲切换。

复现:sensecraft-solutions/solutions/edge_parking_occupancy(部署包)+ 输入视频 slots-occ20-empty20-400s.mp4

摄像头断流​

设备结果
reComputer RK3576 系列推流停止后 9.98 秒车位变为 unknown,最后一帧之后约 11 秒(实测)

模型与运行时​

设备车辆检测运行时
reComputer J30 / J40 系列YOLOX,640×640,FP16TensorRT
reComputer RK3588 / RK3576 系列YOLOX,640×640,INT8(w8a8)RKNN,MPP 硬件解码

影响判定的参数(部署包 config/slots*.json):

  • slot_coverage.occupied_ratio / free_ratio:车身占框面积 0.3 以上判占用,低于 0.2 判空闲。
  • slot_coverage.hold_s / free_hold_s:状态保持 3 秒 / 5 秒才切换。
  • unknown_after_s:断流 10 秒后标为未知。

已知退化​

  • 广角边缘畸变与相邻遮挡:广角相机画面边缘的车位存在透视拉伸,高大车辆(如大型 SUV、厢式货车)停在前景时容易遮挡相邻后排车位,建议单路相机划定车位不超过 30 个。
  • 跨线停放与临界比例:车辆严重压线或斜停跨越两个车位时,若两边车位覆盖率均在 0.2–0.3 的过渡区间,可能触发短时间状态抖动;可通过调大 hold_s 平抑。
  • 地面强反光与阴影:雨后积水反光、立柱或树木的强烈动态阴影可能干扰边缘检测置信度;夜间需确保停车场具备基础功能照明(地表照度 ≥ 30 Lux)。

数据与素材出处​

  • 截图与单路结果的输入为地面停车场静图,图片原始来源待确认。
  • 检测模型代码 YOLOX:Apache-2.0。
Loading Comments...