计算机视觉基础知识(十六)--图像识别
图像识别
- 信息时代的一门重要技术;
- 目的是让计算机代替人类处理大量的物理信息;
- 随着计算机技术的发展,人类对图像识别技术的认识越来越深刻;
- 图像识别技术利用计算机对图像进行处理\分析\理解,识别不同模式的目标和对象;
- 过程分为信息的获取\预处理\特征抽取和选择\分类器设计\分类决策;
模式识别
- 是人工智能和信息科学的重要组成部分;
- 指对表示事物或现象的不同形式的信息做分析和处理,得到对事物或现象描述\辨认和分类的过程;
- 计算机图像识别技术是模拟人类的图像识别过程;
- 在图像识别的过程中进行模式识别是必不可少的;
- 模式识别是人类的一项基本智能;
- 随着计算机的发展和人工智能的兴起;
- 人类本身的模式识别满足不了生活的需要;
- 希望用计算机代替或扩展人类的部分脑力劳动,于是产生了计算机模式识别;
- 模式识别就是对数据进行分类,与数学紧密结合,所用思想大部分是概率与统计;
图像识别的过程
- 信息的获取;
- 预处理;
- 特征抽取和选择;
- 分类器设计;
信息的获取
- 通过传感器,将光或声音等信息转化为电信号;
- 通过某种方法将其转变为机器能够认识的信息;
预处理
- 指图像处理中的去噪\平滑\变换等操作;
- 加强图像的重要特征;
- 图像增强;
特征抽取和选择
- 模式识别中,需要进行特征抽取和选择;
- 是图像识别过程中非常关键的技术;
分类器设计
- 通过训练得到一种识别规则;
- 通过该识别规则得到一种特征分类;
- 使得图像识别技术可以得到高德识别率;
- 分类决策时在特征空间中对被识别对象进行分类;
- 从而更好的识别所研究的对象;
图像识别的应用
- 图像分类
- 网络搜索
- 以图搜图
- 智能家居
- 拍照识别/扫描识别
- 农林:森林调查;
- 金融
- 安防
- 医疗
- 娱乐监管
机器学习方法的发展
分类与检测
- 分类是识别图片内容,并进行归类的过程;
- 检测是知道了图片的内容,在图片中将其框选出来的过程;
- 分类与检测在很多领域广泛应用;
分类与检测的应用领域
- 人脸识别
- 行人检测
- 智能视频分析
- 行人跟踪
- 交通场景物体识别
- 车辆计数
- 逆行检测
- 车牌检测与识别;
- 基于内容的图像检索
- 相册自动归类
常见的卷积神经网络
VGG
- VGG的经典之处在首次将深度学习做的非常"深",达到16-19层;
- 同时使用了非常小的卷积核(3x3);
VGG16
- 一张原始图片,resize到(224,224,3);
- conv1两次[3,3]卷积,输出特征层64,形状为(224,224,64),2x2最大池化,输出net(112,112,64);
- conv2两次[3,3]卷积,输出特征层128,形状为(112,112,128),2x2最大池化,输出net(56,56,128);
- conv3三次[3,3]卷积,输出特征层256,形状为(56,56,256),2x2最大池化,输出net(28,28,256);
- conv3三次[3,3]卷积,输出特征层256,形状为(28,28,512),2x2最大池化,输出net(14,14,512);
- conv3三次[3,3]卷积,输出特征层256,形状为(14,14,512),2x2最大池化,输出net(7,7,512);
- 卷积模拟全链接层,效果等同,输出net(1,1,4096),进行两次;
- 卷积模拟全链接层,效果等同,输出net(1,1,1000);
卷积层与全链接层的区别
- 卷积层为局部链接;
- 全链接层使用图像的全局信息;
- 最大的局部等于全局;
- 说明全链接层使用卷积层替代可行;
卷积层代替全链接层
- 卷积层和全链接层都进行了一个点乘操作;
- 他们的函数形式相同;
- 全链接层可以转化为对应的卷积层;
- 只需要把卷积核的尺寸变为和输入的feature map大小一致,为(h,w);
- 这样卷积和全链接层的参数一样多;
1X1卷积的作用
- 实现特征通道的升维和降维;
- 控制卷积核的数量,从而控制通道数;
- 池化层只改变尺寸,无法改变通道数;
Residual net(残差网络)
- 将靠前若干层的某一层数输出直接跳过多层引入到后面数据层的输入;
残差神经单元
- 某段神经网络的输入为x;
- 期望输出为H(x);
- 如果我们直接将输入x传到输出作为初始结果;
- 需要学习的目标为:
;
- 这就是一个残差神经单元;
- 相当于改变了学习目标;
- 不再是学习一个完整的输出
;
- 而是学习输出和输入的差别:
,即残差;
直连卷积神经网络与ResNet的区别
- ResNet有很多旁路的支线将输入直连到后面的层;
- 后面的层可以直接学习残差;
- 这种结构也被称为shortcut或skip connections;
- 传统卷积层或全连接层在信息传递时会存在信息丢失\损耗等问题;
- ResNet直接将输入信息绕道传到输出,保护信息的完整性;
- 整个网络只学习输入\输出差别的那部分,简化了学习目标和难度;
ResNet50
- ResNet50有两个基本的模块;
- 分别是Conv Block和Identity Block;
- Conv Block的输入和输出维度不一样,不能连续串联;
- 其作用是改变网络的维度;
- Identity Block输入维度和输出维度相同,可串联,用于加深网络;
BatchNormalization
- 所有输出保证在0~1之间;
- 所有输出数据的均值接近0;
- 标准差接近1的正态分布;
- 这样能够使数据落入激活函数的敏感区,避免梯度消失,加快收敛;
- 加快模型收敛速度,并具有一定的泛化能力;
- 可减少dropout的使用;
卷积神经网络迁移学习-fine tuning
- 实践中,由于数据集不够大,很少有人从头开始训练网络;
- 常见的做法是使用预训练的网络;
- 对预训练的网络来重新fine-tuning;
- 或者使用预训练网络作为特征提取器;
- 迁移学习就是将训练好的模型,通过简单的调整快速移动到另一个数据集上;
- 随模型层数及复杂度的增加,错误率不断降低;
- 训练复杂的神经网络需要非常多的标注信息;
- 也需要长至几天甚至几周的训练时间;
- 为了解决上述问题可以使用迁移学习;
常见的两类迁移学习场景
- 卷积网络当做特征提取器;
- Fine-tuning卷积网络;
卷积网络当做特征提取器
- 使用在ImageNet上预训练的网络;
- 去掉最后的全连接层;
- 剩余部分当做特征提取器;
- 这样提取的特征称为CNN节点;
- 可以使用线性分类器来分类图像;
Fine-tuning卷积网络
- 替换网络的输入层;
- 使用新的数据来训练;
- 可以选择fine-tune全部曾或部分层;
- 通常前面的层提取图像的通用特征(generic features);
- 通用特征对许多任务都有用;
- 后面的层提取与特定类别有关的特征;
- Fine-tuning常常只需要微调后面的层;
Inception
- Inception网络是CNN发展史上的一个重要里程碑;
- Inception出现之前的CNN仅是堆叠卷积层,网络越来越深;
- 以期得到更好的性能;
多层卷积网络深度存在的问题
- 图像中突出部分的大小差别很大;
- 由于信息位置的巨大差异,卷积操作选择合适大小的卷积核比较困难;
- 信息分布更全局的图像偏好较大的卷积核;
- 信息分布较局部的图像偏好较小的卷积核;
- 非常深的网络更容易过拟合;
- 将梯度更新传到整个网络是困难的;
- 简单堆叠卷积层非常消耗计算资源;
Inception module解决方案
- 鉴于多层卷积神经网络具有的以上问题;
- 为什么不在同一层上运行多个尺寸的滤波器呢?
- 那么网络本质上变得宽一些,而不是更深一些;
Inception模块
- 使用三个不同尺寸的滤波器:1X1,3x3,5x5,以及最大池化;
- 对输入执行卷积操作;
- 所有子层的输出最后被级联起来;
- 传送至下一个模块;
- 一方面增加了网络的宽度;
- 另一方面增加了网络的尺度适应性;
降维Inception模块
- 如前,深度神经网络耗费大量资源;
- 为了降低算力成本,在3x3,5x5卷积层之前添加额外的1x1卷积层;
- 以此来限制输入通道的数量;
- 尽管添加额外的卷积操作反直觉;
- 但是1x1的卷积较5x5的卷积廉价许多;
- 输入通道数量的减少有利于降低计算成本;
1x1卷积降低运算成本比较
Inception V1
- Googlenet出品
- 采用了Inception 模块化结构;
- 共计9个模块,22层;
- 避免梯度消失,增加2个辅助softmax;
- 用于前向传导梯度;
Inception V2
- 输入增加了BatchNormalization;
- 用两个连续的3x3卷积层(stride=1)组成的小网络代替单个5x5卷积;
- 5x5卷积核参数是3x3卷积核参数的25/9=2.78倍;
- 此外,作者将 nxn的卷积核尺寸分解为1xn和nx1的两个卷积;
- 前面三个原则用来构建三种不同类型的Inception模块;
type | patch size/stride | input size |
conv | 3x3/2 | 299x299x3 |
conv | 3x3/1 | 149x149x32 |
conv padded | 3x3/1 | 147x147x32 |
pool | 3x3/2 | 147x147x64 |
conv | 3x3/1 | 73x73x64 |
conv | 3x3/2 | 71x71x80 |
conv | 3x3/1 | 35x35x192 |
3 X Inception | ![]() | 35x35x288 |
5 X Inception | ![]() | 17x17x768 |
2 x Inception | ![]() | 8x8x1280 |
pool | 8x8 | 8x8x2048 |
linear | logits | 1x1x2048 |
softmax | classifier | 1x1x1000 |
Inception V3
- 整合了InceptionV2的所有升级,使用了7X7卷积
type | patch size/stride | input size |
conv | 3x3/2 | 299x299x3 |
conv | 3x3/1 | 149x149x32 |
conv | 3x3/1 | 147x147x32 |
pool | 3x3/2 | 147x147x64 |
conv | 3x3/1 | 73x73x64 |
conv | 3x3/2 | 71x71x80 |
conv | 3x3/1 | 35x35x192 |
3 X Inception | ![]() | 35x35x288 |
3 X Inception | ![]() | 17x17x768 |
3 x Inception | ![]() | 8x8x1280 |
pool | 8x8 | 8x8x2048 |
linear | logits | 1x1x2048 |
softmax | classifier | 1x1x1000 |
Inception V3 设计思想
- 分解成小卷积很有效;
- 可以降低参数量,减轻过拟合;
- 增加网络非线性的表达能力;
- 卷积网络从输入到输出;
- 应该让图片尺寸逐渐减小;
- 输出通道数逐渐增加;
- 让空间结构化,将空间信息转化为高阶抽象的特征信息;
- Inception Module使用多个分支;
- 提取不同抽象程度的高阶特征;
- 丰富网络的表达能力;
Inception V4
- 图中1为基本的Inception V2/V3模块;
- 使用两个3x3卷积代替5x5卷积;
- 并且使用average pooling;
- 该模块主要处理尺寸为35x35的feature map;
- 图2中模块使用1xn和nx1卷积代替nxn卷积;
- 同样使用average pooling;
- 该模块主要处理尺寸为17x17的feature map;
- 图3将3x3卷积用1x3卷积和3x1卷积代替;
- Inception V4中基本的Inception module沿袭了Inception V2/V3的结构;
- 不同的是结构看起来更为简洁统一;
- 且使用更多的Inception module,实验效果更好;
Inception模型优势
- 采用1x1卷积核,性价比高;
- 很少的计算量可增加一层特征变换和非线性变换;
- 提出Batch Normalization;
- 通过一定手段,将每层神经元的输入分布拉到均值0方差1的正态分布;
- 使其落入激活函数的敏感区;
- 避免梯度消失,加快收敛;
- 引入Inception module 4个分支结合的结构;
卷积神经网络迁移学习
- 现在工程中最常用的是vgg\resnet\Inception这几种结构;
- 设计者通常先直接套用原版模型;
- 对数据进行一次训练;
- 选择较好的模型进行微调与模型缩减;
- 工程上使用的模型必须高进度和高速度;
- 常用模型缩减的方法是减少卷积个数与减少resnet的模块数;
卷积神经网络迁移学习-Inception
- 据相关论文,保留训练好的Inception模型所有卷积层的参数;
- 只替换最后一层全链接层;
- 最后全链接层之前的网络称为瓶颈层;
- 瓶颈层输出的节点向量可作为任何图像的一个具有表达能力的特征向量;
- 在新的数据集上,利用训练好的网络对图像进行特征提取;
- 提取的特征向量作为输入训练一个全新的单层全连接神经网络;
- 处理新的分类问题;
- 在数据量足够的情况下;
- 迁移学习的效果不如完全重新训练的效果;
- 迁移学习所需的训练时间和样本远小于完整模型的训练;
- Inception模型与Alexnet结构完全不同;
- Alexnet模型中,不同卷积层串联连接;
- Inception模型中Inception结构并联不同的卷积层;
Mobilenet
- google针对手机等嵌入式设备提出;
- 一种轻量级的深层神经网络;
- 其核心思想为深度可分离卷积;
- depthwise separable convolution;
- 3x3卷积核厚度只有一层;
- 卷积核在输入张量上一层层的滑动;
- 每一次卷积生成一个输出通道;
- 卷积完成后,利用1x1的卷积调整厚度;
- 对于一个卷积点;
- 假设有一个3x3大小的卷积层;
- 其输入通道为16,输出通道为32;
- 32个3x3大小的卷积核会遍历16个通道中的每个数据;
- 可得所需的32个输出通道;
- 所需参数为16x32x3x3=4608个;
- 应用深度可分离卷积;
- 用16个3x3大小的卷积核遍历16通道的数据;
- 得到16个特征图谱;
- 接着用32个1x1大小的卷积核遍历16个特征图谱;
- 所需参数为16x3x3+16x32x1x1=656个;
- 可以看出,depression separable convolution 可减少模型的参数;
卷积神经网络设计的问题背景
- 熟练掌握训练神经网络的能力并不容易;
- 与机器学习的思维一样,细节决定成败;
- 训练神经网络需要处理更多的技术细节;
- 应该了解数据和硬件;
- 知道从何种网络开始;
- 了解需要建立多少卷积层;
- 熟悉激励函数的设置;
- 学习速率是调整神经网络训练的最重要超参数;
- 也是最难优化的参数之一;
- 学习率太小,可能永远不会得到一个解决方案;
- 学习率太大,可能会错过最优解;
- 自适应的匹配学习率,可能需要花费代价在硬件资源上;
- 设计选择和超参数的设置极大影响了CNN训练和性能;
- 资源的稀缺和分散对深度学习的新进者,可能更有利于架构设计的直觉培养;
卷积神经网络的设计技巧
1.架构遵循应用
- Google Brain 或者Deep Mind 实验室有许多耀眼的新模型;
- 但其中很多是不可实现,或于你的需求不适用;
- 应该使用对特定的应用最有意义的模型;
- 这种模型或许非常简单,但仍然强大,比如VGG;
2.路径激增
- 每年ImageNet Challenge的冠军都比上一年使用更加深层的网络;
- 从AlexNet到Inception再到Resnets;
- 网络路径的数量有成倍增长的趋势;
3.追求简约
- 更大的不一定是更好的
4.增加对称性
- 对称性是质量和工艺的标志;
5.金字塔形状
- 总是在表征能力和减少冗余或者无用信息之间权衡;
- CNNs通常会降低激活函数的采样;
- 增加从输入层到最终层之间的连接通道;
6.过度训练
- 训练准确度和泛化能力是衡量模型的另一个标准;
- 可使用drop-out或dro-path提升泛化能力;
- 这是神经网络的重要优势;
- 用比实际用例更难的问题训练网络,以提高泛化能力;
7.覆盖问题的空间
- 为了扩大训练数据和提升泛化能力;
- 使用噪声和人工增加训练集的大小;
- 比如随机旋转\裁剪和一些图像增强操作;
8.递增的功能结构
- 成功的结构会简化每一层的工作;
- 在非常深的神经网络中,每层会递增的修改输入;
- 在ResNet中,每一层的输出可能类似于输入;
- 在实践中,请在ResNet中使用短的跳过长度;
9.标准化层的输入
- 标准化是可以使计算层的工作变得更加容易的一条捷径;
- 在实际中可以提升训练的准确性;
- 标准化 把所有曾的输入样本放在了一个平等的基础上;
- 允许反向传播可以更有效的训练;
10.使用微调过的预训练网络(fine tuning)
- 如果你的视觉数据和ImageNet相似;
- 可用预训练网络使得模型学习的更快;
- 低水平的CNN通常可被重复使用;
- 他们大多能够检测线条和边缘这些常见的模式;
- 比如用自己的层替换分类层,用特定的数据训练最后几层;
11.使用循环的学习率
- 学习率的实验会消耗大量时间;
- 且中间会遇到错误;
- 自适应学习率在计算上可能是非常昂贵的;
- 循环学习率不会大量消耗计算资源;
- 使用循环学习率,可设置一组最大最小边界;
- 并在最大最小范围内改变;
相关文章:

计算机视觉基础知识(十六)--图像识别
图像识别 信息时代的一门重要技术;目的是让计算机代替人类处理大量的物理信息;随着计算机技术的发展,人类对图像识别技术的认识越来越深刻;图像识别技术利用计算机对图像进行处理\分析\理解,识别不同模式的目标和对象;过程分为信息的获取\预处理\特征抽取和选择\分类器设计\分…...
数仓开发-2023/2/29
1.简单自我介绍 2.介绍下之前的公司离线数仓项目 3.sql和hivesql区别? 4.sql的执行顺序? 5.hive的优化 6.说下你之前公司来,你的技能层次在每个公司?你怎么评价你的技能? 7.你的之前业务主要是做什么?我说了…...

ipv6过渡技术-IPv4 over IPv6隧道示例
实验拓扑如下: 环境概述: PC1和PC2与路由器之间为IPv4网络。两台路由器之间为IPv6网络,通过配置,要求是PC1与PC2能互通。即使IPv4可以在IPv6网络中通信。 配置方法: AR1: # ipv6 # interface Gigabi…...

SpringBoot约定大于配置
什么是约定大于配置 "约定大于配置"(Convention Over Configuration)是一种理念,旨在通过默认约定和规则来减少开发人员需要做的配置工作。在Spring Boot框架中,这一原则得到了充分应用,帮助开发者更快地构…...

DHCP自动获取IP地址实验(华为)
思科设备参考:DHCP自动获取IP地址实验(思科) 一,实验目的 路由器搭载DHCP,让PC通过DHCP自动获取IP地址 二,不划分vlan--全局地址池 实验拓扑 配置命令 Router <Huawei>system-view [Huawei]ip po…...
探索Terraform实践:优化基础设施管理
Terraform 是管理基础设施及代码(IaC)最常用的工具之一,它能使我们安全且可预测地对基础设施应用更改。 Terraform作为一个强大的基础设施即代码工具,为开发人员和运维团队提供了一种简单而强大的方式来定义、部署和管理基础设施。…...
MYSQL高级_目录
2024持续更新中… MYSQL01高级_Linux版安装、各级别字符集、字符集与比较规则、SQL大小写规范 MYSQL02高级_目录结构、默认数据库、表文件、系统独立表空间 MYSQL03高级_新增用户、授予权限、授权底层表结构、角色理解 MYSQL04高级_逻辑架构剖析、查询缓存、解析器、优化器、执…...

MongoDB获评2023年Gartner®云数据库管理系统“领导者”
MongoDB 很荣幸在《2023 年 Gartner 云数据库管理系统 (CDBMS) 魔力象限》报告中被评为领导者。我们相信这一成就让 MongoDB 成为唯一一家连续两年斩获“领导者”称号的纯应用程序数据库服务提供商。 社区及开发者数据平台用户的需求一向是 MongoDB 关注的重点,而这…...

基于FastAPI构造一个AI模型部署应用
前言 fastapi是目前一个比较流行的python web框架,在大模型日益流行的今天,其云端部署和应用大多数都是基于fastapi框架。所以掌握和理解fastapi框架基本代码和用法尤显重要。 需要注意的是,fastapi主要是通过app对象提供了web服务端的实现代…...

【Unity】使用ScriptableObject存储数据
1.为什么要用ScriptableObject? 在游戏开发中,有大量的配置数据需要存储,这个时候就需要ScriptableObject来存储数据了。 很多人会说我可以用json、xml、txt,excel等等 但是你们有没有想过,假设你使用的是json&#x…...
ChatGPT聊天机器人数据隐私和安全问题
ChatGPT是否安全使用? 是的,ChatGPT是安全的,因为它无法对你或你的计算机造成任何直接损害。由于网页浏览器和智能手机操作系统都使用了沙箱技术,因此ChatGPT无法访问你设备的其余部分。换句话说,当你使用ChatGPT应用程…...
MyBatis三个经典问题
1. Mybatis的执行流程 MyBatis 是一个流行的 Java 持久化框架,提供了对象关系映射 (ORM) 和 SQL 映射的功能,使开发者能够更加方便地与数据库交互。MyBatis 的执行流程大致如下: 配置阶段: 加载配置文件: MyBatis 通过读取配置文件ÿ…...

JavaEE+springboot教学仪器设备管理系统o9b00-springmvc
本文旨在设计一款基于Java技术的教学仪器设备销售网站,以提高网站性能、功能完善、用户体验等方面的优势,解决现有教学仪器设备销售网站的问题,并为广大教育工作者和学生提供便捷的教学仪器设备销售渠道。本文首先介绍了Java技术的相关基础知…...

Java项目:37 springboot003图书个性化推荐系统的设计与实现
作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 springboot003图书个性化推荐系统的设计与实现 管理员:首页、个人中心、学生管理、图书分类管理、图书信息管理、图书预约管理、退…...
mysql 8 修改账号密码
一 进入Mysql bin目录 cmd 运行(跳过密码),运行完不要关闭 mysqld --console --skip-grant-tables --shared-memory 二 新打开一个cmd mysql bin 目录下登录,密码输入时,直接回车 mysql -uroot -p 三 修改密码 m…...
拜占庭将军问题与区块链
文章目录 拜占庭将军问题问题背景问题的现实意义将军-副官模型三将军问题四将军问题3m将军问题 口头消息算法基本假设方法介绍正确性证明 签名消息算法 区块链区块链是什么区块链对于拜占庭将军问题的解决方法工作量证明奖励机制最长链原则小结 区块链的意义 总结 拜占庭将军问…...

字节跳动热门的前端开源项目
字节跳动开源官网 Arco Dsign Arco Design 是一套设计系统,主要服务于字节跳动旗下中后台产品的体验设计和技术实现。它的目标在于帮助设计师与开发者解放双手、提升工作效率,并高质量地打造符合业务规范的中后台应用。它拥有系统的设计规范和资源&…...

uniapp+vue基于Android的图书馆借阅系统qb4y3-nodejs-php-pyton
uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 框架支持:springboot/django/php/Ssm/flask/express均支持 前端开发:vue 语言:pythonjavanode.jsphp均支持 运行软件:idea/eclip…...

RabbitMQ如何实现延迟消息?
RabbitMQ中是可以实现延迟消息的,一般有两种方式,分别是通过死信队列以及通过延迟消息插件来实现。 扩展: 死信队列 当rabbitMQ中的一条正常的消息,因为过了存活时间(TTL过期),队列长度超限&a…...

Svg Flow Editor 原生svg流程图编辑器(一)
效果展示 项目概述 svg flow editor 是一款流程图编辑器,提供了一系列流程图交互、编辑所必需的功能,支持前端研发自定义开发各种逻辑编排场景,如流程图、ER 图、BPMN 流程等。 目前也有比较好的流程图设计框架,但是还是难满足项目…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

【threejs】每天一个小案例讲解:创建基本的3D场景
代码仓 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone,无需安装依赖,直接liver-server运行/直接打开chapter01中的html文件 运行效果图 知识要点 核心三要素 场景(Scene) 使用 THREE.Scene(…...

安宝特案例丨寻医不再长途跋涉?Vuzix再次以AR技术智能驱动远程医疗
加拿大领先科技公司TeleVU基于Vuzix智能眼镜打造远程医疗生态系统,彻底革新患者护理模式。 安宝特合作伙伴TeleVU成立30余年,沉淀医疗技术、计算机科学与人工智能经验,聚焦医疗保健领域,提供AR、AI、IoT解决方案。 该方案使医疗…...

第2篇:BLE 广播与扫描机制详解
本文是《BLE 协议从入门到专家》专栏第二篇,专注于解析 BLE 广播(Advertising)与扫描(Scanning)机制。我们将从协议层结构、广播包格式、设备发现流程、控制器行为、开发者 API、广播冲突与多设备调度等方面,全面拆解这一 BLE 最基础也是最关键的通信机制。 一、什么是 B…...
【中间件】Web服务、消息队列、缓存与微服务治理:Nginx、Kafka、Redis、Nacos 详解
Nginx 是什么:高性能的HTTP和反向代理Web服务器。怎么用:通过配置文件定义代理规则、负载均衡、静态资源服务等。为什么用:提升Web服务性能、高并发处理、负载均衡和反向代理。优缺点:轻量高效,但动态处理能力较弱&am…...

Python 解释器安装全攻略(适用于 Linux / Windows / macOS)
目录 一、Windows安装Python解释器1.1 下载并安装Python解释1.2 测试安装是否成功1.3 设置pip的国内镜像------永久配置 二、macOS安装Python解释器三、Linux下安装Python解释器3.1 Rocky8.10/Rocky9.5安装Python解释器3.2 Ubuntu2204/Ubuntu2404安装Python解释器3.3 设置pip的…...