文档目录
AI 识别
Rerinku View 的 AI 识别全部在运行 Rerinku View 的这台机器上完成,画面和识别结果都不会上传。它包括两部分:
- 物体检测:识别人、车辆(小汽车、卡车、公交车、摩托车、自行车)和宠物(狗、猫、鸟);模型支持 COCO 的 80 个类别,常用的 9 类可以直接勾选。
- 人脸识别:在检测到人的基础上,认出人脸库里登记过的人,其余的标为「陌生人」或「待确认」。
识别出的结果会生成事件:带画面截图、标出目标位置,并从第一次看到目标前 5 秒开始录一段视频,见事件与通知。
开启
- 打开 设置 → 智能检测。第一次使用时,按提示下载检测模型。模型来自 Hugging Face;在中国大陆可以把「模型下载源」切换为「国内镜像」。
- 在摄像头列表里,给要识别的摄像头打开「物体检测」,需要认人的再打开「人脸识别」。
- 每台摄像头的细节在 设备详情 → 设置 → 智能检测 里调:用哪一路码流检测、识别哪些类别、只在哪些区域检测,还可以打开「查看检测画面」实时看到识别框。
人脸识别建立在物体检测之上:打开人脸识别时,会自动打开这台摄像头的物体检测并勾选「人」;人脸识别开着的时候关闭物体检测或取消「人」,会先请你确认,确认后两者一起关闭。
模型
| 模型 | 大小 | 用途 |
|---|---|---|
| YOLOX-Nano | 3.5 MB | 物体检测,最省资源 |
| YOLOX-Tiny | 19 MB | 物体检测,推荐 |
| YOLOX-S | 34 MB | 物体检测,更准,占用更高 |
| YuNet + ArcFace | 约 250 MB | 人脸检测与识别,开启人脸识别时下载 |
模型保存在数据目录的 models/ 下(可用 MODELS_PATH 修改)。正在使用的模型不能删除,关掉对应功能后可以删。也可以上传自己导出的 YOLOX ONNX 模型。
什么时候会产生事件
- 只关心动起来的东西。 Rerinku View 先做运动检测,只在画面有变化的区域运行推理;另外每 10 秒会完整扫描一次整幅画面。
- 静止的目标不报。 一个目标大约 10 秒不动就视为静止;从开始检测起就没动过的目标(比如一直停着的车)不会产生事件。
- 一次连续出现算一个事件。 同一时间出现的多个目标会合并成一条事件;目标离开后事件结束。
- 默认阈值:每秒分析 5 帧(可设 1–15),单帧置信度 0.5,确认一个目标需要 0.7。默认检测「人」和「小汽车」。这些都可以在 设置 → 智能检测 → 高级设置 里调,单台摄像头也可以单独覆盖。
- 运动遮罩:画面里总在动但不需要关心的区域(树、马路),可以在摄像头的检测区域里排除。
控制事件的频率
在 设置 → 智能检测 → 高级设置 里有两个节流选项,默认都关闭,单台摄像头可以单独设置:
- 事件间隔:一条事件结束后,这台摄像头暂停检测多久(最长 24 小时)。暂停期间画面照常录制,但不运行推理,状态会显示「事件间隔中,HH:MM 恢复检测」。重启 Rerinku View 后立即恢复检测。
- 事件最长时长:一条事件最多持续多久(10 秒到 24 小时),到时就结束这一条。
识别页
侧栏的 识别 页集中查看结果:
- 物体:按类别(人、车辆、宠物)、摄像头和时间筛选检测到的目标。
- 人员:
- 检测记录:每一张抓到的人脸,分为「已识别」「待确认」「陌生人」。可以把待确认的人脸归到某个人名下。
- 人脸库:登记要认的人,每人最多 5 张照片,可以分组(家人、亲友、常客),也可以合并重复的人、测试识别效果。
认出的人名会写进事件里,手机通知和 MQTT 里也能看到。
支持的平台
识别组件随程序一起分发,Rerinku View 启动时自动解压,不需要单独安装。
| 平台 | AI 识别 |
|---|---|
| Linux(x86-64) | 支持,需要 glibc 2.34 或更高 |
| Linux(ARM64) | 支持,需要 glibc 2.34 或更高 |
| Windows 10 / 11(x64) | 支持,无需另装运行库;有显卡时尝试用显卡加速(DirectML) |
| Windows(ARM64) | 暂不支持 |
| macOS(Apple 芯片) | 支持,需要 macOS 14 Sonoma 或更高 |
| macOS(Intel 芯片) | 不支持 |
| Docker 镜像(x86-64) | 支持,识别组件和 Intel / AMD 显卡驱动都已内置 |
不支持 AI 识别的平台上,实时查看、录像、回放等其余功能都照常可用。识别相关的入口不会被隐藏:识别 页和 设置 → 智能检测 顶部会说明原因,相关开关置灰。
Linux
需要 glibc 2.34 或更高。近几年的主流发行版都满足,例如 Debian 12+、Ubuntu 22.04+、Fedora 35+、RHEL 9 系,以及基于 Debian 12 的 Raspberry Pi OS(Bookworm);Alpine 等使用 musl 的发行版不满足。不确定时可以查看:
ldd --version
第一行末尾的数字就是 glibc 版本。Linux 上推理目前在 CPU 上运行。
Docker 镜像(x86-64)同样内置识别组件,不需要另外安装,见快速开始。
Windows
适用于 Windows 10 / 11(x64)。识别组件已内置,不需要另外安装任何运行库。
Windows 版会尝试用显卡运行物体检测和人脸识别:通过 DirectML,支持 Direct3D 12 的显卡都可以用,包括 NVIDIA、AMD 和 Intel(含核显)。显卡用不了时(没有显卡、虚拟机、驱动有问题),会自动回到 CPU,识别照常工作。
- 在 设置 → 智能检测 → 高级设置 → 检测参数 里,「推理设备」可以选「自动(优先显卡)」(默认)或「仅 CPU」,保存后立即生效。
- 想确认是否用上了显卡,看 设置 → 智能检测 底部的「性能」:「推理设备」一项会显示显卡名称;没有用上时会说明原因。
- 显卡加速需要较新的显卡驱动,没有用上显卡时先更新驱动再试。
macOS
需要 Apple 芯片(M1 及更新) 的 Mac,并且系统为 macOS 14 Sonoma 或更高。识别组件已内置,无需额外安装;目前推理在 CPU 上运行。
- Intel 芯片的 Mac 不支持 AI 识别:推理运行库 ONNX Runtime 从 1.24 起不再提供 Intel 版。其余功能正常。
- 在 Apple 芯片的 Mac 上运行了 Intel 版(经 Rosetta 转译):改用 Apple 芯片(arm64)版即可使用。
- macOS 13 及更早版本:升级到 macOS 14 或更高后即可使用。
想确认芯片和系统版本,点屏幕左上角的苹果菜单 → 关于本机:Apple 芯片的 Mac 会显示「芯片」一项(如 Apple M1),Intel 芯片的 Mac 显示的是「处理器」;同一窗口里也能看到 macOS 版本。
视频解码
识别要看画面内容,得先把摄像头的视频解码成图片。实时查看和录像直接转发摄像头的原始码流,不需要解码;只有做识别的摄像头才会解码。
Rerinku View 优先用显卡的视频解码单元(硬件解码,几乎不占 CPU),显卡解不了的格式或显卡出错时,才交给 CPU(软件解码):
| 平台 | 硬件解码 |
|---|---|
| Linux(x86-64) | VA-API(Intel、AMD)、NVDEC(NVIDIA) |
| Linux(ARM64) | 暂不支持,使用软件解码 |
| Windows | D3D11VA(NVIDIA、AMD、Intel) |
| macOS | VideoToolbox |
Rerinku View 启动时会用一小段内置视频在每块显卡上实际试解 H.264 和 H.265,只把解得出来的格式交给显卡。在 设置 → 视频解码 里可以看到每一路摄像头此刻用的是硬件还是软件解码、没用硬件的原因,以及找到了哪些显卡、各自能解哪些格式。
Linux 原生安装使用硬件解码需要:
- 显卡驱动:Intel 装
intel-media-va-driver(老显卡用i965-va-driver),AMD 装mesa-va-drivers,NVIDIA 用官方驱动 470 或更新(开源的 nouveau 驱动不行); - 运行 Rerinku View 的用户在
render和video组里:sudo usermod -aG render,video 用户名,重新登录或重启服务后,在 设置 → 视频解码 里点「重新检测」。
Docker 镜像里已经带好了 Intel、AMD 的显卡驱动,宿主机不用装驱动、也不用管用户组:启动容器时加上 --device /dev/dri(Compose 里写在 devices: 下)就能用显卡解码,容器会自动获得显卡的访问权限。NVIDIA 显卡需要宿主机装好 NVIDIA 驱动和 NVIDIA Container Toolkit,启动时加 --gpus all。
如果某块显卡一解码就出问题,可以设环境变量 VIDEO_HW_DECODE=false,强制只用软件解码。
要多少算力
没有统一的配置要求,取决于摄像头数量、分辨率和模型。参考数据:在一台 Ryzen 7 5825U 笔记本的 CPU 上,YOLOX-Tiny 每次推理约 22 毫秒,每秒分析 5 帧时大约能带 8 路;解码一路 1080p 视频约占 0.35–0.6 个 CPU 核心。
最准确的办法是看 设置 → 智能检测 底部的「性能」:它会实测推理速度,并估算这台机器还能再开几路识别。