AI 视觉枪支检测 - 1

AI 视觉枪支检测

使用 Frigate NVR 在边缘设备上实时检测枪支,支持多种 AI 加速硬件

入门10min安防
安防gun-detectionfrigatenvrai

这个方案能帮你做什么

监控摄像头装了很多,但要靠人 24 小时盯着才能发现危险。这个方案给你的摄像头加上 AI 枪支检测能力——系统自动分析每一帧画面,一旦发现枪支立即报警。

核心价值

好处具体说明
即时检测AI 实时扫描每帧画面,不会疲劳、不会走神
完全离线在本地硬件上运行,不依赖云服务,数据不出内网
开箱即用一键部署,自带演示视频,部署完成立即看到效果
硬件灵活支持 NVIDIA Jetson(GPU 加速)和 reComputer R2000 + Hailo(NPU 加速)

适用场景

场景怎么用
校园安防在出入口安装摄像头,检测到枪支立即告警
零售安保24 小时监控店内摄像头,自动标记枪支事件并录像
办公大楼在现有监控系统上增加枪支检测,通过 MQTT 接入报警系统
公共场馆多摄像头实时监控,通过 Web 仪表盘集中管理

使用须知

接入方式

  • IP 摄像头:通过 RTSP URL 接入(rtsp://user:pass@ip/stream
  • USB 摄像头:设备直接识别,插上即用

输出对接

  • MQTT:配置 broker 地址 + topic
  • Webhook:配置回调 URL
  • 截图保存:配置本地目录

摄像头安装建议

  • 架在出入口、通道等关键位置
  • 视野覆盖目标区域,保持稳定

方案对比

方案加速方式推荐路数设备价格每路成本
reComputer R2000 + HailoHailo NPU约 2 路$350$175/路
reComputer J3011(Jetson 入门)TensorRT GPU约 2 路$630$315/路
reComputer J4012(Jetson 多路) ⭐TensorRT GPU约 6 路$1000$150/路(性价比最优)
reComputer J5012(Jetson 高配)TensorRT GPU约 9 路$2500$300/路

按场景路数需求选择:少量摄像头选 R2000+Hailo 或 J3011;多路高性价比选 J4012;高帧率/多路选 J5012。

使用说明

rtsp

用于监控的 IP 摄像头 RTSP 视频流

部署方案

下载与安装

套餐: NVIDIA Jetson {#jetson}

使用 Frigate NVR 在 NVIDIA Jetson 上进行实时枪支检测,搭配 TensorRT GPU 加速。

设备用途
NVIDIA Jetson (reComputer)支持 TensorRT GPU 加速的边缘 AI 设备
网络摄像头(可选)RTSP 监控视频源

部署完成后你可以:

  • 实时检测画面中的枪支,显示检测框和置信度
  • 通过 Web 仪表盘查看实时监控和事件回放
  • 检测到枪支时自动录像和截图
  • 通过 MQTT 集成报警和自动化系统

前提条件: 目标设备已安装 Docker + NVIDIA Container Toolkit

步骤 1: 初始化摄像头 {#init_cameras_jetson type=manual required=false}

设置网络摄像头并获取 RTSP 视频流地址。

接线

  1. 将网络摄像头连接到与部署设备相同的网络
  2. 查找摄像头 IP 地址(查看路由器 DHCP 客户端列表,或使用厂商搜索工具)
  3. 访问摄像头 Web 管理界面(通常为 http://<摄像头IP>
  4. 在摄像头设置中启用 RTSP 串流(通常默认已启用)
  5. 记录摄像头的 RTSP 地址

常见 RTSP 地址格式:

  • 海康威视: rtsp://admin:password@<ip>:554/Streaming/Channels/101(主码流)或 /102(子码流)
  • 大华: rtsp://admin:password@<ip>:554/cam/realmonitor?channel=1&subtype=0(主码流)或 &subtype=1(子码流)
  • 通用 ONVIF: 使用摄像头的 ONVIF 发现工具获取流地址

提示: 建议使用子码流(低分辨率)做检测以减少 CPU/GPU 负载,主码流用于录像。

可使用 VLC 测试 RTSP 地址:媒体 > 打开网络串流 > 粘贴地址

故障排查

问题解决方法
无法访问摄像头管理界面ping <摄像头IP> 验证连通性。检查摄像头与电脑是否在同一子网
RTSP 流无法播放确认摄像头设置中已启用 RTSP。先用 VLC 测试。检查用户名和密码
网络上找不到摄像头重启摄像头电源。检查网线连接。尝试使用厂商搜索工具(如海康 SADP、大华 ConfigTool)

步骤 2: 部署 Frigate {#deploy_frigate_jetson type=docker_deploy required=true config=devices/jetson.yaml}

将 Frigate NVR 和 TensorRT 加速的枪支检测 AI 部署到 NVIDIA Jetson。

部署目标: 远程部署 {#jetson_remote type=remote config=devices/jetson.yaml default=true}

通过 SSH 部署到远程 NVIDIA Jetson 设备。

接线

  1. 将 Jetson 连接到与电脑相同的网络
  2. 输入 Jetson 的 IP 地址和 SSH 凭据
  3. 可选填写 RTSP 摄像头地址(最多 2 个)
  4. 点击 部署 开始安装

提示: 首次启动需要 5-10 分钟——系统会下载并编译枪支检测模型以进行 TensorRT 优化。

部署完成

  1. 在浏览器打开 http://<设备IP>:5000
  2. 你将看到两个演示摄像头正在检测枪支
  3. 如果填写了 RTSP 地址,你的摄像头也会出现并启用枪支检测

后续修改摄像头配置,SSH 登录设备并编辑:

cd ~/gun-detection-frigate
nano config/config.yml
docker compose restart

故障排查

问题解决方法
找不到 NVIDIA 运行时安装 NVIDIA Container Toolkit:sudo apt install nvidia-container-toolkit && sudo systemctl restart docker
端口 5000 被占用停止占用服务:docker stop $(docker ps -q --filter publish=5000)
模型编译很慢首次启动需 5-10 分钟进行 TensorRT 优化,后续启动秒开
容器反复重启查看日志:docker logs frigate——可能是 GPU 内存或驱动问题
RTSP 摄像头未显示用 VLC 验证 RTSP 地址是否可用。编辑设备上的 config/config.yml 后重启:docker compose restart

部署目标: 本机部署 {#jetson_local type=local config=devices/jetson_local.yaml}

直接在当前机器上部署(需要 NVIDIA GPU)。

接线

  1. 确保已安装 Docker 和 NVIDIA Container Toolkit
  2. 点击 部署 开始安装

提示: 首次启动需要 5-10 分钟进行 TensorRT 模型编译。

部署完成

  1. 在浏览器打开 http://localhost:5000
  2. 你将看到两个演示摄像头正在检测枪支

添加 RTSP 摄像头,编辑配置文件后重启:

cd ~/gun-detection-frigate
nano config/config.yml
docker compose restart

故障排查

问题解决方法
找不到 NVIDIA 运行时安装 NVIDIA Container Toolkit:sudo apt install nvidia-container-toolkit && sudo systemctl restart docker
端口 5000 被占用停止占用服务:docker stop $(docker ps -q --filter publish=5000)
容器反复重启查看日志:docker logs frigate——可能是 GPU 内存或驱动问题

套餐: reComputer R2000 + Hailo {#r2000_hailo}

使用 Frigate NVR 在 reComputer R2000 上进行实时枪支检测,搭配 Hailo AI 加速器。

设备用途
reComputer R2000 + Hailo搭载 Hailo NPU 加速的边缘 AI 设备
网络摄像头(可选)RTSP 监控视频源

部署完成后你可以:

  • 实时检测画面中的枪支,显示检测框和置信度
  • 通过 Web 仪表盘查看实时监控和事件回放
  • 检测到枪支时自动录像和截图
  • 通过 MQTT 集成报警和自动化系统

前提条件: 目标设备已安装 Docker · 已安装 Hailo AI 加速器

步骤 1: 初始化摄像头 {#init_cameras_r2000 type=manual required=false}

设置网络摄像头并获取 RTSP 视频流地址。

接线

  1. 将网络摄像头连接到与部署设备相同的网络
  2. 查找摄像头 IP 地址(查看路由器 DHCP 客户端列表,或使用厂商搜索工具)
  3. 访问摄像头 Web 管理界面(通常为 http://<摄像头IP>
  4. 在摄像头设置中启用 RTSP 串流(通常默认已启用)
  5. 记录摄像头的 RTSP 地址

常见 RTSP 地址格式:

  • 海康威视: rtsp://admin:password@<ip>:554/Streaming/Channels/101(主码流)或 /102(子码流)
  • 大华: rtsp://admin:password@<ip>:554/cam/realmonitor?channel=1&subtype=0(主码流)或 &subtype=1(子码流)
  • 通用 ONVIF: 使用摄像头的 ONVIF 发现工具获取流地址

提示: 建议使用子码流(低分辨率)做检测以减少 CPU/GPU 负载,主码流用于录像。

可使用 VLC 测试 RTSP 地址:媒体 > 打开网络串流 > 粘贴地址

故障排查

问题解决方法
无法访问摄像头管理界面ping <摄像头IP> 验证连通性。检查摄像头与电脑是否在同一子网
RTSP 流无法播放确认摄像头设置中已启用 RTSP。先用 VLC 测试。检查用户名和密码
网络上找不到摄像头重启摄像头电源。检查网线连接。尝试使用厂商搜索工具(如海康 SADP、大华 ConfigTool)

步骤 2: 部署 Frigate {#deploy_frigate_r2000 type=docker_deploy required=true config=devices/r2000_hailo.yaml}

将 Frigate NVR 和 Hailo 加速的枪支检测 AI 部署到 reComputer R2000。

部署目标: 远程部署 {#r2000_remote type=remote config=devices/r2000_hailo.yaml default=true}

通过 SSH 部署到远程 reComputer R2000。

接线

  1. 确保设备已安装 Hailo AI Kit(运行 ls /dev/hailo* 检查)
  2. 将设备连接到与电脑相同的网络
  3. 输入设备的 IP 地址和 SSH 凭据
  4. 可选填写 RTSP 摄像头地址(最多 2 个)
  5. 点击 部署 开始安装

提示: 部署时会自动检测并安装所需的 HailoRT 4.21.0 驱动(首次安装约需 5-10 分钟)。至少需要 4 GB 可用磁盘空间。

部署完成

  1. 在浏览器打开 http://<设备IP>:5000
  2. 你将看到两个演示摄像头正在检测枪支
  3. 如果填写了 RTSP 地址,你的摄像头也会出现并启用枪支检测

后续修改摄像头配置,SSH 登录设备并编辑:

cd ~/gun-detection-frigate
nano config/config.yml
docker compose restart

故障排查

问题解决方法
找不到 Hailo 设备检查 Hailo 是否正确安装在 M.2 插槽:ls /dev/hailo* 应显示 /dev/hailo0
HailoRT 版本不匹配Frigate 需要 HailoRT 4.21.0。查看版本:dpkg -l hailort。安装正确驱动:curl -sfL https://raw.githubusercontent.com/blakeblackshear/frigate/dev/docker/hailo8l/user_installation.sh | sudo bash,然后重启
磁盘空间不足至少需要 4 GB 可用空间。运行 docker system prune -asudo apt clean 释放空间
端口 5000 被占用停止占用服务:docker stop $(docker ps -q --filter publish=5000)
容器反复重启查看日志:docker logs frigate-hailo——可能是 Hailo 驱动问题
RTSP 摄像头未显示用 VLC 验证 RTSP 地址是否可用。编辑设备上的 config/config.yml 后重启:docker compose restart

部署目标: 本机部署 {#r2000_local type=local config=devices/r2000_hailo_local.yaml}

直接在当前机器上部署(需要 Hailo AI 加速器)。

接线

  1. 确保已安装 Docker 且 Hailo 设备可访问(ls /dev/hailo*
  2. 点击 部署 开始安装

提示: Frigate Docker 镜像约需 4 GB 磁盘空间。

部署完成

  1. 在浏览器打开 http://localhost:5000
  2. 你将看到两个演示摄像头正在检测枪支

添加 RTSP 摄像头,编辑配置文件后重启:

nano config/config.yml
docker compose restart

故障排查

问题解决方法
找不到 Hailo 设备检查 Hailo 是否正确安装:ls /dev/hailo* 应显示 /dev/hailo0
端口 5000 被占用停止占用服务:docker stop $(docker ps -q --filter publish=5000)
容器反复重启查看日志:docker logs frigate-hailo——可能是 Hailo 驱动问题

部署完成

恭喜!Frigate 枪支检测系统已部署成功。

快速验证

  1. 在浏览器打开 Frigate 仪表盘(部署完成后显示的地址)
  2. 查看 Birdseye 视图概览所有摄像头
  3. 确认演示视频上出现枪支检测框
  4. 点击事件查看带时间戳的录像截图

添加或修改摄像头

要添加更多 RTSP 摄像头或修改现有配置,SSH 登录设备并编辑:

cd ~/gun-detection-frigate
nano config/config.yml

cameras: 下添加摄像头:

  my_camera:
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://admin:password@192.168.1.100:554/Streaming/Channels/101
          roles:
            - detect
            - record
    detect:
      width: 1920
      height: 1080
      fps: 5
    objects:
      track:
        - gun

常见 RTSP 地址格式:

  • 海康威视: rtsp://admin:password@<ip>:554/Streaming/Channels/101
  • 大华: rtsp://admin:password@<ip>:554/cam/realmonitor?channel=1&subtype=0

然后重启 Frigate:

docker compose restart

后续步骤

  • 通过 MQTT 配置告警通知(MQTT Broker 运行在端口 1883)
  • config/config.yml 中调整检测阈值(objects.filters.gun.threshold
  • 设置录像保留策略(record.retain.days
  • Frigate 官方文档
联系我们
获取方案参考设计与产品选型支持。
您是否使用过我们的产品?