基于知识蒸馏的夜间低照度图像增强及目标检测
源自:应用光学
作者:苗德邻, 刘磊, 莫涌超, 胡朝龙, 张益军, 钱芸生.
“人工智能技术与咨询” 发布
摘要
为了实现夜间低照度图像的增强,提高目标检测模型在夜间低照度条件下的检测精度并减小模型的计算成本,提出了一种基于知识蒸馏和数据增强的夜间低照度图像增强以及目标检测多任务模型,基于高质量图像模型进行知识蒸馏,利用高质量图像的特征信息指导模型训练,从而使模型在夜间低照度图像中提取到与高质量图像类似的特征信息。利用这些特征信息可以实现图像的对比度增强、去噪以及目标检测。实验结果表明,提出的蒸馏方法可以提升16.58%的夜间低照度目标检测精度,且用该方法增强的图像可以达到主流的基于深度学习的图像增强的效果。
关键词
低照度图像 增强目标检测 深度学习 知识蒸馏
引 言
近些年来随着深度学习理论的发展以及计算机计算性能的提升,目标检测和追踪技术已经广泛应用于智能监控、自动及辅助驾驶、信息安全系统等诸多领域;但是这些技术在现实环境下仍然面临很多问题,由于图像通常无法在最优的光条件下获取,往往会受到不可避免的环境因素如背光、非均匀照明、夜间微光等,以及技术限制如不足的曝光时间和过低的增益等影响,这类图像的视觉质量较差,目标检测和识别的精度远低于高质量图像。考虑到大多数目标检测模型都是基于高质量图像数据进行训练和测试的,如RCNN(region convolutional neural network)[1]、 YOLO(you only look once)[2]、SSD(single shot multi-box detector)[3]等,采用先对原始低照度图像进行图像增强的方式提高目标检测的精度是一种最简便的方式。LLNet(low-light net)[4]、MBLLEN(multi-branch low-light enhancement network)[5]等端到端的低照度图像增强工作已经证明了利用神经网络提升低照度图像质量的可能性。同时,学者们也注意到Retinex模型在传统的低照度图像增强以及图像去雾中有着不俗的表现,由此出现了基于利用神经网络来估计Retinex中的照明分量以及反射分量的方法,如Retinex-Net[6]、LightenNet[7]等,都能起到很好的增强效果以及自适应性。为了实现神经网络的泛用性,很多研究者采集构建了一系列低照度场景数据集,包括SID(see-in-the-dark)[8]、 LOL(low-light)[9]等。除此之外,基于非匹配数据和非监督学习的方法也被应用在低照度图像增强中,如EnlightenGAN(enlighten generative adversarial networks)[10],还有一些基于零样本学习的方法,例如Zero-DCE(zero-reference deep curve estimation) [11]等,这种方法具有很低的数据成本以及极高的训练和推理速度。
上述低照度图像增强模型主要以人为的标准进行优化,即使在一些图像评价指标上表现出色,也很难对下游的目标检测任务起到很好的精度提升效果。不仅如此,先增强后检测的方法还会增加在边缘设备上部署的计算力需求。受到KRUTHIVENTI S S S等人[12]和QI L等人[13]的启发,本文提出了一种新的基于知识蒸馏的目标检测网络训练方法,不同于一些典型的知识蒸馏算法通过蒸馏大模型的知识来训练小模型[14],该方法通过构建一组像素级对齐的高质量和低照度图像对数据集,利用高质量图像的特征信息指导网络模型学习从相应的低照度图像中提取类似的信息,可以有效提高在夜间低照度环境或其他复杂条件下的低质量图像的目标检测精度。为了便于人眼对目标检测结果进行观察,本文创新性地在原有的目标检测网络模型框架上,引入了用于图像增强的增强解码器,其主要作用是利用目标检测主干网络的特征恢复出高质量图像,最终可以在一个模型上同时实现图像的增强和目标检测。
1. 基于知识蒸馏的低照度图像增强和目标检测算法
本文设计了一种结合目标检测和低照度图像增强的神经网络结构,可以巧妙地将目标检测和图像增强的算法集合在同一个卷积神经网络模型中。模型整体可以分为3部分:负责提取图像特征信息的主干网络;通过提取的多尺度特征进行图像重建的低照度增强解码器;识别图像特征信息并判断图像中目标位置和类别的目标检测模块。图1展示了教师网络和学生网络的网络结构以及蒸馏的位置,其中教师网络的输入为高质量图像,通过预训练使教师网络学习利用高质量图像的特征信息进行目标检测;学生网络的输入为低照度图像,通过蒸馏教师网络提取的高质量图像的特征信息进行训练,使学生网络可以在低照度图像上提取出类似于教师网络在高质量图像上提取的信息,并利用这些信息进行后续的目标检测和图像增强。由于目标检测和图像增强都需要利用主干网络所提取的特征信息,类似于文献[13]在特征金字塔上进行蒸馏的方法无法使学生网络直接学习到教师网络更浅层的特征信息,而这些浅层的信息对图像的增强有很大作用[10],故为了通过知识蒸馏来实现多任务模型的训练,最终选择了在目标检测主干网络上进行蒸馏。

1.1 主干网络结构
在目标检测中,主干网络通常用于提取输入图像的特征,而这一部分功能和上游的图像分类网络功能相近,往往会选择成熟的图像分类模型作为主干网络。同时在底层视觉任务如图像降噪,图像超分辨率以及图像复原等网络模型中,往往会采用一种编码器-解码器的结构,即先对输入图像进行特征提取或者称为编码过程,然后根据各级特征进行恢复或者称为解码过程。其中编码器往往会采用与图像分类模型类似的结构,因此在目标检测和图像增强任务中使用同一个主干提取网络是具有可行性的。
如图1所示,主干特征提取网络框架基于CSPDarknet主干网络实现,并采用了 YoloX[15]对CSPDarknet做出的一些改进,诸如采用聚焦(Focus)来对输入图像进行降采样,通过调整CSPDarknet的卷积层深度和宽度实现更轻量化的网络模型等。
CSPDarknet可以分成5个阶段,每个阶段分别提取出不同尺度的特征信息,对于一个分辨率为W×H 的输入图像而言,5个阶段的输出尺寸分别为W/2×H/2、W/4×H/4、W/8×H/8、W/16×H/16、W/32×H/32 。在目标检测网络中,最后3个阶段的输出会作为目标特征进行多尺度特征金字塔融合,而对于图像增强,我们并不需要远小于原始分别率的图像特征,通常只会利用前3个阶段的输出结果进行解码恢复。综合而言,只需要保证学生网络第3阶段的输出与教师网络相似,就可以很大程度上实现对教师网络的蒸馏。
1.2 低照度增强解码器
与目标检测不同,图像复原模型并不是一个概率模型,所需要的特征信息相较于目标检测任务也更多,仅通过一个尺度的特征信息生成的图像无法满足需求。基于U-net[16]架构的图像增强模型在各个底层视觉任务中都有优秀的表现,因此基于U-net的结构设计了低照度增强解码器。
如图2所示,图像增强模块利用了主干网络中的前3个阶段的特征图,其尺寸分别为W/2×H/2 、W/4×H/4 和W/8×H/8 。整体采用了类似U-net的网络结构,通过跳跃连接将不同尺度的特征信息进行融合,并通3个上采样以及卷积层将图像的重建为W×H×3 的RGB(red-green-blue)图像。其中上采样操作由若干个残差块以及一个反卷积构成,具体结构如图2(b)所示,残差块的主体部分由两个3×3卷积层构成,残差边不做任何处理,直接将残差块的输入和输出相加得到结果。经过若干次残差块后,经过一次3×3的反卷积进行上采样,得到分辨率翻倍、通道数减半的输出结果。在经过上采样块处理后,输出结果与主干网络中尺度相对应的特征层进行相加,作为下一个上采样块的输入。经过3次上采样后,特征张量通过一次3×3卷积输出一个通道数为3的RGB图像。

1.3 目标检测网络结构
目标检测结构由空间金字塔网络(SPN) [17]、特征金字塔网络和解耦目标检测头构成。空间金字塔用于在低尺度下生成并融合不同尺度的特征,特征金字塔主要用于融合主干特征提取网络不同尺度的特征,使目标检测头能从多尺度多语义层次的信息中进行检测,以达到更好的检测精度。不同于标准YoloX模型的FPN(feature pyramid network)特征金字塔网络,本文采用了PAN(path aggregation network)特征金字塔[18],不仅通过低尺度特征信息上采样融合到高尺度特征上,还通过下采样将高尺度信息往低尺度上融合。
检测部分采用无锚点的目标检测方法,且将分类和回归的任务进行解耦,不再通过先验知识设定锚点框输出预测框相对于锚点框的位置和形状偏移,而是直接预测相对于每个网格的位置偏移以及预测框的高度和宽度。
1.4 多任务训练的损失函数
本文方法涉及到的损失函数包含3部分,目标检测损失、图像增强损失以及知识蒸馏损失。其中目标检测部分和YoloX一样由3个部分组成,预测框区域损失、目标置信度损失以及目标类别损失。
预测框区域损失,即获取到每个框对应的特征点后,取出该特征点的预测框,利用真实框和预测框计算IoU(intersection over union)损失:
(1)
(2)
式中Bpre和Bgt 分别代表预测框和真实框的区域。
目标置信度损失和目标类别损失的表示形式是相同的,即:
(3)
式中:Ppre 和Pgt 分别代表预测的概率和真实的概率;w 为每个类别损失函数的权重。
对于图像增强等底层视觉任务,最常使用的是L1 距离或者L2 距离损失。L1 损失在对于输入和输出差距较大时不会有过大的梯度,在图像降噪任务中应用广泛,而L2 损失常出现在图像超分辨率以及图像复原任务中。低照度图像增强既要进行图像信息的恢复,也要想办法去除图像中的噪声,因此本文采用结合两种损失函数优点的smoothL1损失作为图像增强目标的损失函数,即:
(4)
式中:y为参考图像;x为模型增强后的图像。由于学生网络和和教师网络采用的是完全相同的网络结构,对于两个网络而言,每一层对应的特征层输出的尺度是完全相同的。因此,无需对两个网络的特征层进行任何其他处理,只需要求两个特征层输出的距离即可。最小化教师网络和学生网络特征层差异可以表示为最小化以下函数:
(5)
式中
和
分别代表教师网络和学生网络特征金字塔的输出特征张量。通过这种简单的损失函数可以使学生网络和教师网络在不同尺度的特征层都以相同的程度趋于一致,然而考虑到教师网络和学生网络输入图像特性的差异,本文采用了一种针对不同尺度特征进行调整的损失函数进行优化,对于靠近输入端的特征层,采用更低的优化权重,即:
(6)
最终的损失函数可以表示为
(7)
2. 实验评估
2.1 数据集的构建
若想实现高质量正常照度目标检测知识向低照度低信噪比目标检测的迁移,就必须获得完全对齐的高质量正常照度目标图像和低信噪比低照度目标图像对。本文采用生成对抗网络以及低照度下均匀面真实噪声叠加的方式进行数据对的构造。
通常可以认为一幅图像是由图像信号和无关的噪声组成的,即:
(8)
式中:Ii,j 为图像;si,j 为信号;ni,j 为噪声。一般情况下,信号的大小是大于噪声的大小的。但对于低照度下的均匀面而言,相比一个频率很低的低频信号,图像可以看作是以信号为均值上下波动的一个随机过程。这种情况下,si,j 可以通过均值滤波提取低频的方式得到,然后将噪声的均值调整为0,最终提取出来的噪声可以表示为
(9)
最后利用非匹配的低照度图像数据集以及正常高质量图像数据集对循环生成对抗神经网络(cycle generative adversarial networks,CycleGAN)[19]进行训练,得到一个能够将正常照度图像转换为具有夜间低照度特性的图像的生成器G(x) 。将从均匀面上提取出来的噪声叠加在生成的低照度特性图像上就得到了训练所需要的低照度-高质量目标检测图像对数据集。
(10)
2.2 训练环境
CycleGAN具有独特的循环训练机制,可以实现非匹配的数据集之间的相互转换。为了训练出可以将正常高质量图像转换为具有夜间低照度特性的图像,本文采集了1 550张包含行人、车辆等目标的真实夜间低照度图像,同时在ImageNet[20]和COCO数据集中收集了大量高质量的正常照度图像2 480张。利用这些夜间低质量图像数据集和收集到的高质量图像组成非匹配的数据集,对CycleGAN网络进行训练。利用训练得到的高质量图像-夜间低照度图像转换模型和公开的PASCAL VOC目标检测数据集,生成了共9 963组带标签的夜间低照度-正常高质量图像对。
同时,为了降低图像的信噪比,对夜间的地面、墙体等均匀面场景进行采集,构建了共10组不同照度分辨率为1 920×1 080像素的均匀面图像视频序列,然后从这些视频中随机提取噪声叠加到生成的9 963组图像对中,将这9963组数据中的三分之一即共2 989对图像划分为验证集,其余6 974对图像划分为训练集。
训练过程分为3步,首先利用原始高质量的PASCAL VOC数据集训练教师网络,然后利用知识蒸馏的方式对学生网络的主干网络和目标检测网络进行200轮的训练,学习率为2×10−4,且采用余弦退火法进行学习率的下降。随后冻结主干网络,利用图像对对低照度图像增强解码器进行训练50轮,学习率为1×10−4 ,然后进行学习率线性下降至0的方法再次训练50轮。本次实验基于Nvidia RTX 2080Ti GPU进行训练。
2.3 图像增强效果
本文通过在真实低照度数据集LOL数据集上的峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似度(structural similarity,SSIM)指标来验证网络模型在低照度图像增强任务上的效果,同时利用自然图像质量评价器(natural image quality evaluator,NIQE) [21]对比验证模型在真实低照度场景下的增强效果,其中NIQE值越低代表图像质量评价越高,PSNR和SSIM值越高代表图像越接近参考图像。进行对比的方法包括EnlightenGAN、Zero-DCE以及CycleGAN,结果如表1所示。

从对比结果来看,本文的方法在NIQE指标上接近EnlightenGAN的水平,且明显超过了Zero-DCE和CycleGAN的效果,同时该方法在PSNR和SSIM指标上均优于EnlightenGAN。证明了该方法在低照度图像增强上具有可行性。
本文还对4种方法处理的图像质量进行了对比和主观判断,对比结果如图3所示。其中第1列展示了原始的低照度夜间图像,第2~5列分别为EnlightenGAN、Zero-DCE、CycleGAN以及本文方法处理的结果。

可以看出,本文方法对夜间低照度图像具有明显的对比度和动态范围增强以及降噪的效果。通过对比可以发现,其余3种方法处理的结果都有较为明显的噪声残留,而本文在构造的训练数据集中叠加了真实的噪声,可以使神经网络模型具有一定的降噪效果。
2.4 检测精度
为了验证知识蒸馏对夜间低照度场景下的目标检测精度提升的效果,采用本文所构建的验证集中2 989张图像以及公开的夜间低照度目标检测数据集ExDark[22]中的2 194张夜间低照度图像的平均精确度(mean of average precision, mAP)作为检测精度的评估指标,并与正常照度下的精度以及未采用知识蒸馏的精度进行对比,其中mAP计算的IoU阈值为50%。结果如表2、图4~图5所示。



从测试结果整体上来看,采用知识蒸馏的方式可将在构造数据集下的夜间低照度目标的检测精度提高16.58%,在真实数据集下的目标检测精度提高18.15%,且对每一种目标的精度都有所提升,尤其是对车辆等交通工具的识别精度提升最大。在真实低照度图像的测试中还发现,一些小目标以及在光源附近的目标很容易出现漏检的情况,这可能是由于训练数据对中缺少真实灯光,尤其是多个光源场景下的数据所导致的。
3. 结论
本文设计了一种可以同时进行夜间低照度图像增强以及目标检测任务的神经网络模型,合成构造了具有夜间低照度特性的图像数据集,利用特征知识蒸馏的方式对网络模型训练。在数据集上的实验表明,本文的方法具有可行性,能够有效提升夜间低照度下的目标检测精度,图像增强效果也能够达到甚至优于一些主流方法。此外该方法还可以有效提升高噪声低照度图像的信噪比,产生对人眼视觉友好的增强图像,多任务共享主干的结构还有效降低了计算成本。未来的工作将探索实现在利用高质量图像训练的大模型上进行低照度、小模型的蒸馏。利用对抗模型进行无监督训练也是进一步提升图像质量的探索方向。
声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。
“人工智能技术与咨询” 发布
相关文章:

基于知识蒸馏的夜间低照度图像增强及目标检测
源自:应用光学 作者:苗德邻, 刘磊, 莫涌超, 胡朝龙, 张益军, 钱芸生. “人工智能技术与咨询” 发布 摘要 为了实现夜间低照度图像的增强,提高目标检测模型在夜间低照度条件下的检测精度并减小模型的计算成本,提出了一种基…...

4、ARM异常处理
一、异常处理 1、异常 概念 处理器在正常执行程序的过程中可能会遇到一些不正常的的事件发生,这时处理器就要将当前的程序暂停下来转去处理这个异常的事件,异常事件完成后再返回到之前被异常打断的点继续执行 2、异常处理机制 不同的处理器对异常的…...

【Element-UI】CUD(增删改)及form 表单验证(附源码)
目录 一、导言 1、引言 2、作用 二、CUD 1、增加修改 1.1、添加弹窗 1.2、定义变量 1.3、定义方法 1.4、完整代码 2、删除 2.1、定义方法 三、表单验证 1、添加规则 2、定义规则 3、提交事件 4、前端完整代码 一、导言 1、引言 增删改是计算机编程和数据库管理…...
2024年高新技术企业认定标准
1高新技术企业认定八大条件是什么 (1)企业申请认定时须注册成立一年以上。 (2)企业通过自主研发、受让、受赠、并购等方式,获得对其主要产品(服务)在技术上发挥核心支持作用的知识产权的所有权。 (3)对企业主要产品(服务)发挥核心支持作用的技术属于《国家重点支持的…...
励磁工作原理
励磁工作原理是指在电磁设备中通过外加电流或磁场来增强设备中的磁场强度的过程。在电磁设备中,励磁是非常重要的步骤,它能够保证设备正常运行,并实现设备的预期功能。本文将从基本概念、工作原理和应用方面介绍励磁工作原理。 我们来了解…...
【JAVA】获取当前项目的classpath路径
在Java中可以通过以下几种方式获取classpath路径: ClassLoader的getResource方法 String classpath ClassLoader.getSystemResource("").getPath();Web项目 ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext(); String classpath c…...
Sulfo CY3-DBCO蛋白质标记实验-星戈瑞
Sulfo CY3-DBCO是一种荧光标记剂,可以通过点击化学方法将其与蛋白质特异性地标记。以下是一种常见的Sulfo CY3-DBCO蛋白质标记的方法: 实验步骤: 制备目标蛋白质:准备并提取您感兴趣的蛋白质。这可以通过细胞培养、细胞溶解、组织…...
【不规范bug注意】2023.9.26
eigen库的矩阵操作 mn 点乘 n*m 才可以得到一个数。前后大小不满足转置相等关系的有可能可以进行运算而不报错,但结果没有任何意义?多次运行会报段错误 segmentation fault ! 因为访问了未知区域内存? 错误例子 (m * 1) * ( m * 1…...

it端到端运维监控
公司的运维监控已成为确保业务顺利运行的关键。特别是对于IT部门,端到端运维监控不仅可以帮助企业及时发现和解决问题,还可以提高业务效率,优化客户体验。本文将详细介绍端到端运维监控的概念、重要性及其实施方法。 端到端操作监控的概念 端…...
Vue3根组件设置Transition失效的问题
🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家,51CTO明日之星 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:…...

2023-2024年最新大数据学习路线
文章目录 2023-2024年最新大数据学习路线大数据开发入门*01*阶段案例实战 大数据核心基础*02*阶段案例实战 千亿级数仓技术*03*阶段项目实战 PB级内存计算04阶段项目实战 亚秒级实时计算*05*阶段项目实战 大厂面试*06* 2023-2024年最新大数据学习路线 新路线图在Spark一章不再…...

Cocos Creator3.8 实战问题(三)去除scrollview背景色和label 对齐方式设置无效问题
1、 scrollview 默认背景是白色的, 我们不想要 scrollview 默认的背景颜色,怎么办? 设置 scrollview的color为透明吗? 不对,这会导致 view节点完全透明。 解决方法:直接删除scrollview 的Spritre frame就…...

以太坊代币标准ERC20、ERC165、ERC721
两个概念 ERC(Ethereum Request for Comment) 以太坊意见征集稿EIP(Ethereum Improvement Proposals)以太坊改进提案 ERC和EIP用于使得以太坊更加完善;在ERC中提出了很多标准,用的最多的标准就是它的Token标准; 有哪些标准详细见https://eips.ethereum…...
spring cloud gateway谓词工厂 Predicate Factory
Predicate Factory 称为谓词工厂或断言工厂 默认的工厂类都位于 org.springframework.cloud.gateway.handler.predicate 包下 根据版本不同有多有少 本文spring-cloud.version2021.0.5 spring-cloud-gateway3.1.4 官方文档:https://docs.spring.io/spring-cloud-gat…...
美丽塔O(n)解法单调栈
题目 见上一篇: 较难算法美丽塔时间复杂度O(n)-CSDN博客 时间复杂度 O(n) 分析 接着上篇。从左向右依次处理Left,处理Left[i]时,从右向左寻找第一个符合maxHeights[j]<maxHeights[i]的j。如果j1<j2,且maxHeights[j1]&g…...

的PDF文件压缩软件PDF Squeezer mac中文版软件特点
PDF Squeezer mac是一款macOS平台上的PDF文件压缩软件,可以帮助用户快速地压缩PDF文件,从而减小文件大小,使其更容易共享、存储和传输。PDF Squeezer使用先进的压缩算法,可以在不影响文件质量的情况下减小文件大小。 PDF Squeezer…...

JS Ajax 封装
ajax 封装 一、 什么是Ajax?二、 Ajax的优缺点?2.1 优点2.2 缺点 三、 Ajax的使用3.1 状态码3.2 xhr的基本使用3.3 ajax原生封装:3.3.1 触发GET请求:3.3.2 调用POST请求: 四、Ajax的约束 一、 什么是Ajax? …...

观测云产品更新 | 优化日志数据转发、索引绑定、基础设施自定义等
观测云更新 日志 数据转发:新增外部存储转发规则数据查询;支持启用/禁用转发规则;绑定索引:日志易新增标签绑定,从而实现更细颗粒度的数据范围查询授权能力。 基础设施 > 自定义 【默认属性】这一概念更改为【必…...
trio ValueEvent
class AsyncValue(Generic[T]): 值包装器,提供等待值或过渡的能力。 概要: >>> a AsyncValue(0) # 注意:可以包装任何类型(枚举,元组,...) >>> ... >>> a.valu…...
js 新学一招,点击出现弹框,点击其他地方关闭弹框
文章目录 需求分析 需求 鼠标点击菜单,出现二级菜单,当点击其他地方时,二级菜单自动关闭 分析 <template><el-popoverv-model"visible"></el-popover> </template> <script> export default {dat…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...