2026-01-08 16:03:39 +08:00
2026-01-08 16:03:39 +08:00
2025-12-26 10:02:00 +08:00
2025-12-20 10:10:10 +08:00
2025-12-20 10:10:10 +08:00
2026-01-08 16:03:39 +08:00
2025-12-23 09:18:32 +08:00
2026-01-08 16:03:39 +08:00
2026-01-08 16:03:39 +08:00
2025-12-26 10:02:00 +08:00
2026-01-08 16:03:39 +08:00
2025-12-23 09:18:32 +08:00
2025-12-12 09:49:13 +08:00
2025-12-26 10:02:00 +08:00
2025-12-12 09:49:13 +08:00
2026-01-08 16:03:39 +08:00
2025-12-26 10:53:32 +08:00
2025-12-12 09:49:13 +08:00
2025-12-12 09:49:13 +08:00
2025-12-19 17:08:28 +08:00
2025-12-19 08:56:58 +08:00
2025-12-19 08:56:58 +08:00
2025-12-23 09:18:32 +08:00
2025-12-26 10:02:00 +08:00
2025-12-23 09:18:32 +08:00
2025-12-12 09:49:13 +08:00
2025-12-20 10:10:10 +08:00
2025-12-26 10:02:00 +08:00
2025-12-12 09:49:13 +08:00
2025-12-20 10:10:10 +08:00

LJ360 - 360全景人员接近预警系统

LJ360是一个基于OpenCV开发的360度全景人员接近预警系统支持多摄像头拼接、雷达距离检测和人体检测、web配置等功能。

更新

  • 2025-12-25: CPP版本360环视成功运行
  • 2025-12-23: 增加Flask框架支持WEB预览
  • 2025-12-20: 增加YOLOv5模型支持人员检测
  • 2025-12-19: Python版本360环视成功运行
  • 2025-12-16: 单路摄像头投影生成
  • 2025-12-15: 加载V4L2后端 移除gstreamer
  • 2025-12-12模拟摄像头内参矩阵和畸变系数计算

  • 2025-12-02: 本地视频360合成
  • 2025-11-03YOLO融合 雷达预警
  • 2025-11-01网络摄像头四分屏
  • 2025-10-30初始版本发布

功能

  • 多摄像头拼接支持4个鱼眼摄像头实时拼接成360度全景视图
  • 图像校正:自动对鱼眼镜头的畸变进行校正
  • 雷达检测:支持串口雷达距离检测,实时显示障碍物距离
  • 人体检测集成YOLO目标检测算法实时检测行人
  • Web界面提供Web界面查看全景视频流
  • 硬件加速支持RKNN神经网络加速和OpenCL GPU加速

系统要求

  • Python 3.8
  • OpenCV 4.0+
  • NumPy
  • RKNN Toolkit Lite (用于神经网络加速)
  • Serial (用于雷达通信)
  • Flask (用于Web界面)

硬件要求

  • 4个鱼眼摄像头 (1920*1080@25fps)
  • 4路AHD转MIPI TP2815接口板
  • 摄像头映射关系video0(前)、video1(左)、video2(后)、video3(右)
  • 雷达模块 (支持串口通信)
  • RK3588平台 (用于RKNN加速和系统主控)

安装步骤

  1. 克隆项目代码:
git clone <repository_url>
cd LJ360
  1. 安装依赖:
NULL
  1. 配置摄像头参数:

    • yaml/目录下为每个摄像头创建配置文件
    • 配置文件包含摄像头的内参、外参和畸变参数
  2. 配置雷达参数:

    • web.py中修改雷达串口配置
    • 调整距离阈值参数

使用方法

1. 主要运行文件 (推荐)

python3 web.py

该脚本是系统的主要运行文件,同时实现:

  • 4个摄像头的实时图像捕获
  • 鱼眼图像校正和拼接
  • 360度全景视图生成
  • Web服务器启动提供全景视频流访问

启动后,在浏览器中访问http://localhost:5000查看全景视频流。 显示器同步显示360度全景视图和YOLO检测结果。

2. 运行摄像头校准

python run_calibrate_camera.py

用于校准摄像头参数生成yaml配置文件。

3. 生成投影映射

python run_get_projection_maps.py

生成图像投影映射,用于提高拼接效率。

4. 生成权重矩阵

python run_get_weight_matrices.py

生成图像拼接的权重矩阵,用于平滑过渡。

项目结构

LJ360/
├── cpp/                    # C++实现的相关功能 开发中
│   └── AdasSourrondView/   # 360度全景视图C++实现
├── py_utils/               # Python工具模块
│   ├── rknn_executor.py    # RKNN模型执行器
│   └── coco_utils.py       # COCO数据集工具
├── surround_view/          # 全景视图核心模块
│   ├── birdview.py         # 鸟瞰图生成
│   ├── fisheye_camera.py   # 鱼眼相机模型
│   ├── capture_thread.py   # 图像捕获线程
│   └── process_thread.py   # 图像处理线程
├── yaml/                   # 摄像头配置文件
├── model/                  # 深度学习模型
├── images/                 # 静态图像资源
├── web.py                  # 主程序
├── run_live_demo.py        # 实时演示脚本
├── run_calibrate_camera.py # 摄像头校准脚本
├── run_get_projection_maps.py # 生成投影映射脚本
├── run_get_weight_matrices.py # 生成权重矩阵脚本
└── README.md               # 项目说明文档

配置文件说明

摄像头配置文件 (yaml/*.yaml)

每个摄像头需要一个yaml配置文件包含以下参数

  • camera_matrix: 相机内参矩阵
  • dist_coeffs: 畸变系数
  • rotation_vector: 旋转向量
  • translation_vector: 平移向量
  • projection_matrix: 投影矩阵

雷达配置

web.py中配置雷达参数:

  • RADAR_SERIAL_PORT: 雷达串口
  • RADAR_BAUDRATE: 波特率
  • DISTANCE_THRESHOLD: 距离阈值

YOLO配置

web.py中配置YOLO目标检测参数

  • YOLO_MODEL_PATH: YOLO模型路径
  • OBJ_THRESH: 目标检测阈值
  • NMS_THRESH: 非极大值抑制阈值
  • IMG_SIZE: 输入图像大小

注意事项

  1. 确保所有摄像头的分辨率设置一致
  2. 摄像头校准需要使用棋盘格进行
  3. 雷达模块需要正确连接到串口
  4. RKNN模型需要使用RKNN Toolkit转换生成
  5. 运行前请确保所有依赖已正确安装

故障排除

摄像头无法连接

  • 检查摄像头ID是否正确
  • 确保摄驱动框架V4L2已安装
  • 检查MIPI接口连接

图像拼接异常

  • 检查摄像头校准参数
  • 确保所有摄像头的视角重叠区域足够
  • 调整权重矩阵参数

雷达无数据

  • 检查串口连接
  • 检查雷达波特率设置
  • 确保雷达模块正常工作

更新日志

v1.0.0

  • 初始版本发布
  • 支持4摄像头拼接
  • 集成雷达距离检测
  • 支持人体检测
  • 提供Web界面

许可证

本项目采用MIT许可证详见LICENSE文件。

联系方式

如有问题或建议,请联系项目维护者。

Description
No description provided
Readme MIT 97 MiB
2025-12-26 10:55:03 +08:00
Languages
Python 81.4%
Shell 13%
HTML 5.6%