自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 前端摄像头到远端平台的实现过程

设备上线:摄像头/NVR/网关通过互联网连接到云端平台,进行身份认证和注册。建立连接:设备通过RTMP或GB/T28181协议,与云端的流媒体接入服务建立稳定连接,并开始推送视频流。流媒体处理:云端接收流,可能进行转码、AI分析,并转换为HLS/FLV等格式,通过CDN进行分发。用户观看:用户登录Web或App,业务逻辑服务验证权限后,返回一个视频播放地址(如HLS URL)。视频播放:用户端的播放器根据地址从CDN/流媒体服务拉取视频流并解码播放。存储与回放:视频流同时被录制到对象存储中,供用户后续回放。

2025-10-31 17:12:38 652

原创 NVR(网络视频录像机)和视频网关的工作方式

特性NVR(网络视频录像机)视频网关核心功能集中管理、存储、回放协议转换、数据汇聚、上行工作模式“拉流”,作为客户端拉取摄像头流“推流”,作为客户端向云端推送流存储核心功能,内置硬盘进行录像非核心功能,通常无内置硬盘,或仅用于临时缓存与云关系通过P2P/云联被动连接,为远程访问提供通道主动、持续地向云端推送视频流硬件连接中心化,摄像头-NVR-显示器呈星型拓扑旁路式,网关与摄像头并行接入网络系统角色安防系统的本地大脑和仓库连接本地与云端的智能桥梁典型应用。

2025-10-31 17:07:01 1215

原创 普通园区摄像头如何将视频传输至云端平台

传输模式实现方式优点缺点NVR云联NVR与云端保持长连接,按需转发流。充分利用现有安防架构,本地存储可靠,断网不影响本地录像。云端观看延迟稍高,对NVR性能有要求。视频网关直推网关主动将摄像头的RTSP流转换为RTMP推至云端。架构更云化,灵活性强,延迟更低,便于与第三方系统集成。需要额外部署网关设备/软件,本地存储通常需单独配置。

2025-10-31 17:04:58 989

原创 物联网卡摄像头从前端至后台的实现过程

和。

2025-10-31 17:03:34 910

原创 图像处理算法三种运行位置(前端、后端和云端)的优缺点、成本和适用场景

目前最主流的趋势是“云-边-端”协同的混合架构前端:负责最底层的、对实时性要求极高的感知和识别(如“发现一个人”)。后端:负责区域性的、更复杂的分析(如“这个人是黑名单上的谁?”以及多路视频的关联分析)。云端:负责宏观的数据汇聚、大数据研判和全局管理(如“全城100个路口的人流车流态势分析”)。这种架构平衡了实时性、成本、带宽和算力,是构建大规模、智能化视频感知系统的最优解。

2025-09-28 10:34:41 1077

原创 摄像头,硬盘录像机,网络平台,图像处理算法之间的联系和工作方式

组件核心功能类比摄像头看(采集、编码)眼睛硬盘录像机记(存储、回放、管理)大脑记忆层网络平台管(远程访问、集中控制)指挥部图像处理算法懂(分析、识别、预警)思维能力这四者共同演进,推动安防系统从传统的“被动监控”向现代的“主动预警、智能研判”方向发展。选择哪种部署方式(如前端智能还是后端智能),取决于具体的应用场景、成本预算和对带宽、实时性的要求。

2025-09-28 10:33:38 651

原创 NVR和DVR如何将视频流推送到网络平台

特性P2P穿透端口转发云平台中转易用性极高(即插即用)低(需手动配置)高(扫码或添加)稳定性较好(依赖厂商服务)好(依赖自身网络)极高(专业云服务)成本设备价格通常已包含免费(除带宽费)需支付服务费安全性较高(加密通道)较低(暴露端口)高(专业防护)适用场景家用、中小企业有公网IP的专业用户需要集中管理、云存储的用户目前,P2P穿透是消费级市场绝对的主流,因为它完美平衡了易用性和功能性。而云平台中转则是智慧城市、大型连锁店等专业领域的发展方向。端口转发。

2025-09-28 10:22:57 938

原创 摄像头与硬盘录像机通信方式

特性模拟系统(摄像头 + DVR)数字网络系统(网络摄像头 + NVR)信号类型模拟信号(传输中)数字IP信号(全程)核心设备DVR(负责编码)NVR(负责管理/存储)编码位置在DVR端完成在摄像头端完成线缆同轴电缆+电源线一根网线(可支持PoE供电)连接拓扑点对点,星型集中到DVR所有设备接入局域网,布局灵活通信协议各厂商私有协议ONVIF等标准网络协议画质/扩展性受限,扩展需布线高,易于扩展,支持高分辨率简单来说,模拟通信好比是寄送一封手写的实体信,而数字网络通信则像是在发送电子邮件。

2025-09-28 10:21:39 678

原创 摄像头和DVR/NVR的关系

组件角色存储关系中的职责摄像头数据采集端(眼睛)产生需要存储的原始视频数据流。硬盘录像机(DVR/NVR)数据处理与存储中心(大脑+记事本)接收、压缩摄像头数据,并写入内置硬盘进行长期、稳定的存储。硬盘存储介质(记事本的纸张)物理上承载录像数据的载体。简单来说,摄像头是内容的产生者,硬盘录像机是内容的存储和管理者。两者协同工作,构成了安防监控系统中可靠且可回溯的存储解决方案。

2025-09-28 10:20:31 837

原创 IaaS、PaaS 和 SaaS

三种云计算服务模型

2025-09-26 11:00:00 664

原创 手机MAC地址

特性MAC地址中文名媒体访问控制地址 / 物理地址作用在局域网中唯一标识一个网络设备特点全球唯一、出厂固化(硬件层面)比喻设备的“身份证号码”隐私保护现代系统默认开启“MAC地址随机化”希望这个解释能帮助您完全理解手机的MAC地址!

2025-09-03 11:44:35 1606

原创 5G-A技术

5G-Advanced(简称5G-A),又被称为5.5G,是基于第五代移动通信网络(5G)演进和增强而来的网络通信技术,其在时延、带宽、速率、可靠性等关键指标上的表现介于5G和6G之间。

2025-08-25 10:58:31 906

原创 云服务器类型

计算型云服务器专注于高计算性能,适合需要大量计算能力的任务。其特点是 CPU 与内存比例通常为 1:2,适用于高性能计算、科学模拟、机器学习和视频编码等场景。内存型云服务器提供大容量内存,适合需要大量内存操作的应用。其特点是 CPU 与内存比例通常为 1:8 或更高,适用于数据库、内存缓存和大数据分析等场景。适用于深度学习训练、图像识别和科学计算等场景。通用型云服务器性能均衡,适合需要平衡计算、内存和网络资源的场景。其特点是 CPU 与内存比例通常为 1:4,适合中型数据库、企业级应用和开发测试环境。

2025-08-08 12:02:31 201

原创 云上服务器常见的存储方式和类型

云上服务器常见的等。

2025-07-31 15:49:07 719

原创 云服务器数据库

云服务器上常用的数据库种类很多,主要可以分为和两大类。

2025-07-31 15:45:37 406

原创 大数据笔记1

通过以上方法,可以有效地将物理CPU核数换算为vCPU,并合理分配资源以满足虚拟化环境的需求。在虚拟化场景中,1个vCPU通常对应1个物理线程(Thread)。:vCPU的分配应根据实际工作负载需求进行,避免过度分配导致性能下降。:虚拟化技术会引入一定的性能开销,需根据应用场景合理规划vCPU数量。:可以通过设置CPU预留、上限和份额来优化虚拟机的性能和资源利用率。:每个核心支持的线程数,通常由超线程技术决定。2 × 8 × 2 = 32个vCPU。:每颗物理CPU的核心数。:表示物理CPU的数量。

2025-07-29 15:20:34 587

原创 python中的多种下划线命名方式

Python 中的下划线命名约定提供了一种简单而有效的方式来传达代码的意图和作用。遵循这些约定有助于提高代码的**可读性**、**可维护性**和**可靠性**。- **单下划线前缀 (`_var`)**:表示受保护的属性或方法,提示不应在类外部使用。- **单下划线后缀 (`var_`)**:用于避免与关键字冲突。- **双下划线前缀 (`__var`)**:触发名称改写机制,提供一种私有属性的实现方式。

2024-09-01 14:52:47 1208

原创 `torch`, `torch.nn`, 和 `torch.nn.functional`

在 PyTorch 中,`torch`, `torch.nn`, 和 `torch.nn.functional` 是三个非常重要的模块,它们分别提供了深度学习所需的基本构件、层次结构、以及功能函数。

2024-08-30 10:51:28 570

原创 pytorch的继承方法

**在 `class` 括号中继承**: 这是声明性的,表示子类继承了哪些父类,它是静态地定义类的层次结构。- **`super()`**: 是动态调用的,用于在子类中显式调用父类的方法,特别是在重写方法时,用来扩展而不是完全取代父类的方法。两者紧密相关,定义时的继承提供了结构,`super()` 则提供了灵活性,使得子类可以更好地控制继承的行为。

2024-08-28 14:57:42 590

原创 pytorch中的__init__()与super__init__()方法

super(MyModel, self).__init__() # 调用 nn.Module 的 __init__ 方法return x。

2024-08-28 14:52:53 978

原创 深度学习中的超参管理方法:argparse模块

在深度学习方法中我们不可避免地会遇到大量超参数如(batch_size、learning_rate等)。不同的超参数组合可以得到不同的训练/测试结果。所以在训练和测试过程中我们需要不断调整超参数获得理想的结果(炼丹),如果每一次去找分布在不同的函数里的超参数是一个及其麻烦的过程,为了管理大量的超参数提高炼丹效率,出现了许多超参数管理方法,我将自己遇到的朝参管理方法在此记录,方便自己回顾。

2024-07-11 15:04:42 774

原创 CMake基础

总结一下:静态链接库与动态链接库的主要区别在于:代码链接的阶段不一样,静态库的链接发生在编译环节,生成的可执行文件中包含静态库的可执行文件内容,虽然输出的执行文件占用内存比较大,但是运行文件的时候不再需要库文件;相反,动态库的链接发生在执行阶段,链接动态库的可执行文件不包含数据库的可执行文件内容,但是需要在执行的时候调用相关库文件,节约了内存。而动态链接库(shared library)的链接发生在程序的执行过程中,其在编译环节仅执行链接检查,而不进行真正的链接,这样可以节省系统的开销。

2024-07-02 15:57:26 711

原创 深度学习中的Path问题

在深度学习中涉及到诸多的模块与代码之间的相互调用,如果使用基础的os.path来进行路径管理非常繁琐,所以在python3中一般使用自带的pathlib管理路径问题使得路径管理更加简单高效,下面介绍一些常用的Path方法,基本满足日常使用。

2024-06-28 17:03:35 354

原创 深度学习常见损失函数

在深度学习中,大致分为回顾任务与分类任务,回归任务常用均方误差损失(MSE)和平均绝对误差损失(MAE);分类任务常用交叉熵损失。数学公式表达为:特点:MSE 对于离群点(outliers)非常敏感,因为误差被平方了,所以大的误差会对整体的 MSE 产生更大的影响;MSE 是凸函数(convex function),在很多优化问题中,尤其是使用梯度下降法时,非常有用,因为凸函数的局部最小值就是全局最小值。平均绝对误差(Mean Absolute Error, MAE)是一种衡量回归模型预测准确性的重要指标。

2024-06-23 10:27:00 579

原创 vscode+ssh远程开发环境搭建

vs code安装方法网上诸多就不在记录了,这里只记录使用过过程以及相关问题。1.1 首先安装ssh插件:左侧出现小图标说明安装成功可正常使用:1.2 配置远程地址:输入:ssh @即可连接。想要修改远程名称或者添加新的远程都可以在config文件修改:配置之后即可连接到远程服务器中,进行编程调试了。

2024-06-22 16:42:41 18828 2

原创 深度学习之目标检测yolo系列

是指bounding box的预测框的中心坐标相较于该bounding box归属的grid cell左上角的偏移量,在0-1之间。在上图中,绿色虚线框代表grid cell,绿点表示该grid cell的左上角坐标,为(0,0);红色和蓝色框代表该grid cell包含的两个bounding box,红点和蓝点表示这两个bounding box的中心坐标。有一点很重要,bounding box的中心坐标一定在该grid cell内部,因此,红点和蓝点的坐标可以归一化在0-1之间。

2024-06-21 13:35:46 2187

原创 深度学习之目标检测基础

1.1 交并比IOUIoU 的全称为交并比(Intersection over Union),在目标检测中即计算预测边界框与真实边界框的重叠程度,重叠程度越高,说明越接近真实框。

2024-06-19 13:56:00 915

原创 深度学习之VIT

详解Transformer中Self-Attention以及Multi-Head Attention_transformer multi head-优快云博客Vision Transformer详解-优快云博客

2024-06-17 18:05:19 291 1

原创 深度学习基础

它。

2024-06-17 15:06:32 510

原创 刷题笔记之数据结构

其中,LS 代表广义表的名称,an 表示广义表存储的数据,广义表中每个 ai 既可以代表单个元素,也可以代表另一个广义表。:若广义表不空,则广义表所包含的元素的个数,叫广义表的长度,数第一层括号内的逗号数目。:广义表中括号的最大层数叫广义表的深度。:当广义表不是空表时,称。

2024-06-12 12:59:54 192

原创 刷题笔记之深度学习

每一层输出的特征图(feature map)上的像素点在输入图片上映射的区域大小。再通俗点的解释是,特征图上的一个点对应输入图上的区域。感受野(Receptive Field)的定义是卷积。Lk-1:表示第k-1层的感受野;Fk:表示第k层卷积核的大小;Lk:表示第k层的感受野;Si:表示第i层的步长。

2024-06-12 11:51:24 464

原创 Ubuntu远程部署docker问题记录

解决:重启网络服务即可。

2024-05-22 16:43:20 251 1

原创 pytorch学习3

Loss损失函数一方面计算实际输出和目标之间的差距。Loss损失函数另一方面为我们更新输出提供一定的依据。

2024-05-14 13:50:57 1149 1

原创 pytorch学习2

我们的神经网络是继承nn.Module这个类,即nn.Module为父类,nn.Module为所有神经网络提供一个模板,对其中一些我们不满意的部分进行修改。

2024-05-10 15:13:55 861

原创 pytorch学习1

torchvision中有很多数据集,当我们写代码时指定相应的数据集指定一些参数,它就可以自行下载。CIFAR-10数据集包含60000张32×32的彩色图片,一共10个类别,其中50000张训练图片,10000张测试图片。

2024-05-09 14:43:26 639

原创 数据结构day3

哈希表可以理解为一个加强版的数组。数组可以通过索引(非负整数)在O(1)的时间复杂度内查找到对应元素。哈希表是类似的,可以通过key在O(1)的时间复杂度内查找到这个key对应的value。key的类型可以是数字、字符串等多种类型。怎么做的?特别简单,哈希表的底层实现就是一个数组(我们不妨称之为table它先把这个key通过一个哈希函数(我们不妨称之为hash。

2024-05-08 16:20:55 450

原创 数据结构day2

前面实现的数组和链表,增删查改的 API 都实现过了,你可以对任意一个索引元素进行增删查改,只要索引不越界,就可以进行任意操作。计算机的两种存储方式,顺序存储(数组)和链式存储(链表)在之前的文章有详细介绍,可以去主页查看。图中把栈竖着画,队列横着画,只是为了更形象,但实际上它们底层都是数组和链表实现的。不同编程语言中,队列和栈提供的方法名称可能不一样,但每个方法的效果肯定是一样的。链表作为底层实现链表和栈是比较简单的,直接调用双链表的API即可。说它操作受限,主要是和基本的数组和链表相比,

2024-05-08 14:59:11 413

原创 嵌入式学习路线

嵌入式的模板类、基础控件、布局、对话框、主窗体、绘图、图形化视图框架、Qt文件编程、网络编程、数据库、事件处理、多线程、QML、最后的移植等等。基础特性(类、对象、派生、继承、运算符重载、友元、虚函数、多态、模板、STL的使用)指针、位操作、结构体的字节对齐、位段、宏的高级应用。掌握mysql按章、部署、设计、访问、增删改查。【嵌入式底层开发可以跳过第5个模块】重点:C++的面向对象的构建能力。路线记录一下,方便自己以后学习。了解sqlite轻量级数据库。7、嵌入式Linux开发。9、嵌入式上位机开发。

2024-04-29 14:17:54 462

原创 数据结构day1

静态数组在创建的时候就要确定数组的元素类型和元素数量。只有在 C++、Java、Golang 这类语言中才提供了创建静态数组的方式,类似 Python、JavaScript 这类语言并没有提供静态数组的定义方式。静态数组的用法比较原始,实际软件开发中很少用到,写算法题也没必要用,我们一般直接用动态数组。// 定义一个大小为 10 的静态数组// 用 memset 函数把数组的值初始化为 0// 使用索引赋值arr[0] = 1;arr[1] = 2;// 使用索引取值。

2024-04-23 16:50:14 1135

原创 c++学习day2

三种结构:顺序结构、选择结构、循环结构。

2024-04-22 13:40:16 747 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除