Revolutionary-Technology-Company/NVIDIA-Rendering-for-Genetec

GitHub: Revolutionary-Technology-Company/NVIDIA-Rendering-for-Genetec

基于 NVIDIA DeepStream、Triton 和 Numba JIT 构建的多 GPU 计算机视觉 pipeline,用于对 Genetec 4K 安防视频流执行实时目标跟踪、武器威胁评估与车牌识别。

Stars: 0 | Forks: 1

# 🛡️ Genetec + NVIDIA 统一威胁矩阵与遥测 Pipeline 这是一个企业级、边缘优化的计算机视觉 pipeline,旨在从 Genetec Media Gateway 拉取高保真 4K 安防视频流。该系统执行实时多目标跟踪、武器接近风险缩放、车牌识别 (LPR) 以及建筑蓝图处理。 通过统一的 runtime 切换,优化后在企业级 **NVIDIA RTX 6000 Pro (Ada Lovelace)** 和消费级 **ASUS TUF RTX 50 系列** 架构上均可无缝运行。 ## 🏗️ 架构生态系统概述 该平台采用解耦的非阻塞 pipeline 方法,即使在峰值分析负载下,也能将帧率稳定保持在 30+ FPS: 1. **推理后端层 (`pipeline.py`)**:通过 Python DeepStream (`pyds`) 绑定编写。在原生 `nvinfer` (RTX 6000) 和 `nvinferserver` (RTX 50 Triton Backend) 之间动态切换,以绕过硬件 SM 架构限制。 2. **矩阵 QuickMath 核心 (`yolov8_triton_parser.py`)**:使用多核 CPU 线程和 **Numba JIT (`@njit`)** 执行,在微秒内解析数千个原始候选框,并评估威胁与人体坐标的接近程度。 3. **结构化文本提取器 (`ocr_layer.py` / `blueprint_reader.py`)**:零拷贝 GPU 内存映射直接在 VRAM 中裁剪目标边界。文本处理使用 **PaddleOCR Layout Analysis** 进行管理,无需将帧移回主机 RAM 即可解析数据。 4. **遥测与可视化 (`telemetry_producer.py` / `dashboard.py`)**:异步后台 MQTT 客户端将安全 JSON 数据点转发到多线程 **Streamlit** 仪表板。 ## 📂 仓库结构 ``` ├── Dockerfile.app # Consolidated container construction layer ├── docker-compose.yml # Multi-container multi-architecture orchestrator ├── pipeline.py # Primary GStreamer entry loop application ├── yolov8_triton_parser.py # JIT-compiled NMS and weapon distance calculations ├── ocr_layer.py # In-GPU memory License Plate OCR processor ├── blueprint_reader.py # Technical Wall Blueprint layout analyst ├── telemetry_producer.py # Async multi-threaded MQTT messaging client ├── dashboard.py # Streamlit-powered local telemetry interface ├── config_infer_rtx6000.txt # Native TensorRT configuration parameters ├── config_infer_rtx50_triton.txt # Triton server Blackwell integration rules ├── config_tracker_nvdcft.txt # NVTracker object association parameters └── triton_model_repo/ # Triton specific local model hierarchy └── yolov8x_blackwell/ ├── config.pbtxt # Blackwell optimization mapping structure └── 1/ └── model.trt # Hardware-compiled Blackwell engine binary ``` ## ⚙️ 主机前置条件 在启动容器之前,请确保您的主机工作站已安装正确的硬件通信桥接: 1. **NVIDIA 显示驱动程序**:版本 `550.x` 或更高。 2. **Docker Engine & Compose**:原生 Docker runtime 设置。 3. **NVIDIA Container Toolkit**:将您的 GPU 暴露给容器空间的强制层。 ``` # 验证 driver 集成和计算可用性 nvidia-smi # 验证 Docker 有权访问物理 GPU 层 docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi ``` ## 🚀 快速生产部署 整个系统已容器化,便于在不同的监控室和摄像设备组中进行分发部署。 ### 1. 模型引擎编译 TensorRT 引擎文件 (`.engine` / `.trt`) 依赖于特定硬件。您必须在每台不同的机器类型上分别编译原始的 ONNX 模型。 ``` # 在你的目标工作站 terminal 中运行此命令以编译你的 YOLO engine trtexec --onnx=yolov8x.onnx --saveEngine=yolov8x_optimized.engine --fp16 ``` * 重命名已编译的引擎文件,并将其放置在根目录(适用于 RTX 6000)或 `triton_model_repo/yolov8x_blackwell/1/model.trt`(适用于 ASUS TUF RTX 50)中。 ### 2. 配置环境参数 打开 `pipeline.py` 并配置您的网络参数: ``` # 第 77 行:插入你活跃的 Genetec Media Gateway stream URL source.set_property("location", "rtsp://GENETEC_SERVER_IP:554/LiveOS/Cameras/YOUR_CAMERA_ID") ``` ### 3. 启动容器栈 打开 `docker-compose.yml` 并验证与您当前部署机房环境匹配的硬件命令字符串: ``` # 在 docker-compose.yml 内部 -> camera-pipeline service command: ["--gpu-type", "rtx6000"] # Swap to "rtx50" for ASUS TUF Blackwell nodes ``` 现在在后台构建并运行这些服务: ``` # 在本地构建 images docker compose build # 启动 telemetry broker、pipeline engine 和 analytical dashboard docker compose up -d ``` ### 4. 查看监控界面 当容器状态显示为活跃状态时,在您网络上的任意浏览器中打开并导航至以下地址,即可访问您的实时跟踪指标仪表板: ``` http://:8501 ``` ## 📡 分析遥测 Schema 该 pipeline 跨不同的 MQTT 主题传输高优先级警报。下游应用程序可以订阅这些数据层: ### 威胁警报 (`security/analytics/threats`) ``` { "timestamp": 1718873452.124, "camera": "ENGINEERING_ROOM_CAM_01", "alert": "ARMED_INDIVIDUAL", "person_id": 42 } ``` ### 车辆 LPR 数据 (`security/analytics/lpr`) ``` { "timestamp": 1718873455.589, "camera_id": "ENGINEERING_ROOM_CAM_01", "event_type": "LICENSE_PLATE_DETECTION", "data": { "plate_number": "7XYZ89", "confidence_score": 0.9421 } } ``` ## 🛠️ 操作诊断与开发 ### 查看实时日志 Pipeline: ``` docker logs -f security_deepstream_core ``` ### 清理系统重置: ``` docker compose down -v ``` **由 Revolutionary Technology Company 工程团队开发。** 如需协助调整 Numba 线程分配边界或自定义 YOLO 类的 fine-tuning,请在此仓库中提交官方 issue。
标签:Kubernetes, NVIDIA DeepStream, OCR, 安防监控, 目标检测与追踪, 视频流分析, 计算机视觉, 请求拦截, 边缘计算, 逆向工具