使用目标之间的先验关系提升目标检测器性能

news2025/3/13 17:35:46

今天跟大家分享阿姆斯特丹大学等提出的用于提升目标检测和实例分割性能的新方法RP-FEM,该方法将目标之间位置的先验关系融入到feature中。

  • 论文标题:Relational Prior Knowledge Graphs for Detection and Instance Segmentation
  • 机构:阿姆斯特丹大学、TomTom
  • 论文地址:https://arxiv.org/pdf/2310.07573.pdf
  • 开源代码(即将开源):https://github.com/ozzyou/RP-FEM
  • 关键词:目标检测、实例分割

1.动机

在认知心理学中,人类通过理解物体之间的关系来感知世界。通过认识物体之间的关联,建立对环境的心理表征,对可能的行为进行推断,实现对这些行为结果的预测。从简单的日常活动(如过马路)到更复杂的任务(如理解自然语言、计划和决策)。

同样,在计算机视觉领域,物体之间的关系已经成为一个重要的研究方向。利用对象间的关系,计算机视觉系统可以增强图像中目标检测和分割的能力,推理它们之间的关系,构建更复杂的应用程序实现对视觉信息的深入理解。

作者提出通过建模目标之间的关系增强目标检测性能。作者引入了一个基于关系先验的特征增强模型(Relational Prior-based Feature Enhancement Model,简称RP-FEM),使用了多头注意机制来选择相关的先验,使用graph transformer model对其进行聚合。图像被表示为场景图(scene graph),使用图节点表示proposal的特征,目标关系的先验知识构成图的边。使用RPKG(Relational Prior Knowledge Graph)描述目标之间的关系,RPKG可从场景图数据集Visual Genome中获取。

将RP-FEM应用于目标检测中,可以从目标关系的角度滤除不合理的目标检测框,还能减少小目标的重复检测框。

2.方法

总体结构如下:

Relation Head通过关注场景图中的相邻节点(表示proposal)和RPKG(表示类嵌入)的相邻节点,用关系先验知识更新场景图中的每条边。原始proposal特征和预测的边输入 Graph Transformer,得到更新的场景图,从更新后的场景图中预测box和mask。

2.1 Relational Prior Knowledge Graph(RPKG)

作者利用Visual Genome数据集构造了3个不同的Relational Prior Knowledge Graph(RPKG)。将训练好的Faster R-CNN模型中倒数第二层的特征(记作 d d d)作为RPKG的节点,使用Visual Genome数据集中的场景图标注统计目标之间的关系,将其作为RPKG的边。作者统计了3种目标之间的关系:

(1)共同出现(Co-occurrence):两个类别的目标在整个数据集中一起出现的频率。

(2)相对位置(Relative Orientation):两个类别目标的相对位置,比如A在B的中间、上侧、下侧、左侧、右侧。可以存在多个选项同时出现,比如A在B的左侧和上侧。

(3)相对距离(Relative Distance):图片中同时出现的两个目标之间的平均距离和平均标准差。

综上可构造RPKG,记作 R = ⟨ D , K ⟩ \mathbf{R}=\langle\mathbf{D}, \mathbf{K}\rangle R=D,K,其中 K ∈ R C × C × R \mathbf{K} \in \mathbb{R}^{C \times C \times R} KRC×C×R R R R的值取决于构造RPKG时要使用的关系。

当Visual Genome数据集中的类别与COCO数据集类别名字不一致时,需要手动构造两个数据集中类别名的映射关系。

2.2 使用RPKG增强特征

利用RPKG中的先验知识增强特征,基于潜在目标的特征,从 R \mathbf{R} R中检索目标的关联信息,使得关联信息在proposal特征空间中表达。

首先构造场景图 S = ⟨ P , E ⟩ \mathbf{S}=\langle\mathbf{P}, \mathbf{E}\rangle S=P,E,使用proposal特征表示节点,即 { p i , … , p N } = P ∈ R N × F p \left\{p_i, \ldots, p_{\mathcal{N}}\right\}=\mathbf{P} \in \mathbb{R}^{\mathcal{N} \times \mathcal{F}_{\mathrm{p}}} {pi,,pN}=PRN×Fp,图的边表示为 { e i i , e i j , … , e N N } = E ∈ R N × N × F e \left\{e_{i i}, e_{i j}, \ldots, e_{\mathcal{N N}}\right\}=\mathbf{E} \in \mathbb{R}^{\mathcal{N} \times \mathcal{N} \times \mathcal{F}_{\mathrm{e}}} {eii,eij,,eNN}=ERN×N×Fe

然后使用 P \mathbf{P} P R \mathbf{R} R的值计算 E \mathbf{E} E,即计算 S \mathbf{S} S中节点特征对和 R \mathbf{R} R中节点特征对的相似度。根据两个相邻节点之间的相似度进行加权,对 R \mathbf{R} R中的边值进行聚合。使用 S \mathbf{S} S中的每对儿节点 [ p i , p j ] ∈ P \left[p_i, p_j\right] \in \mathbf{P} [pi,pj]P作为query, R \mathbf{R} R中所有的节点 [ d u , d v ] ∈ D \left[d_u, d_v\right] \in \mathbf{D} [du,dv]D作为key,计算注意力系数 α ( i j ) , ( u v ) \alpha_{(i j),(u v)} α(ij),(uv)。对节点邻域的特征进行堆叠,利用共享权重矩阵进行线性变换,分别为 S \mathbf{S} S R \mathbf{R} R构造局部潜在邻域表示 p ^ i j ∈ R F p + F p \hat{p}_{i j} \in \mathbb{R}^{\mathcal{F}_{\mathrm{p}}+\mathcal{F}_{\mathrm{p}}} p^ijRFp+Fp d ^ u v ∈ R F r + F r \hat{d}_{u v} \in \mathbb{R}^{\mathcal{F}_{\mathrm{r}}+\mathcal{F}_{\mathrm{r}}} d^uvRFr+Fr。为计算 S \mathbf{S} S中的边 E \mathbf{E} E,对 R \mathbf{R} R中经过线性变换的边(作为value)乘以相应的注意权值。公式表示如下:

α ( i j ) , ( u v ) = exp ⁡ ( att ⁡ ( W q [ p i , p j ] , W k [ d u , d v ] ) ) ∑ u = 0 C ∑ v = 0 C exp ⁡ ( att ⁡ ( W q [ p i , p j ] , W k [ d u , d v ] ) ) \alpha_{(i j),(u v)}=\frac{\exp \left(\operatorname{att}\left(\mathbf{W}_q\left[p_i, p_j\right], \mathbf{W}_k\left[d_u, d_v\right]\right)\right)}{\sum_{u=0}^C \sum_{v=0}^C \exp \left(\operatorname{att}\left(\mathbf{W}_q\left[p_i, p_j\right], \mathbf{W}_k\left[d_u, d_v\right]\right)\right)} α(ij),(uv)=u=0Cv=0Cexp(att(Wq[pi,pj],Wk[du,dv]))exp(att(Wq[pi,pj],Wk[du,dv]))

= exp ⁡ ( att ⁡ ( p ^ i j , d ^ u v ) ) ∑ u = 0 C ∑ v = 0 C exp ⁡ ( att ⁡ ( p ^ i j , d ^ u v ) ) =\frac{\exp \left(\operatorname{att}\left(\hat{p}_{i j}, \hat{d}_{u v}\right)\right)}{\sum_{u=0}^C \sum_{v=0}^C \exp \left(\operatorname{att}\left(\hat{p}_{i j}, \hat{d}_{u v}\right)\right)} =u=0Cv=0Cexp(att(p^ij,d^uv))exp(att(p^ij,d^uv))

e ( i j ) , ( k l ) = α ( i j ) , ( k l ) ) W v R k l \left.e_{(i j),(k l)}=\alpha_{(i j),(k l)}\right) \mathbf{W}_v \mathbf{R}_{k l} e(ij),(kl)=α(ij),(kl))WvRkl

E i j = W E ∑ k = 0 C ∑ l = 0 C e ( i j ) , ( k l ) \mathbf{E}_{i j}=\mathbf{W}_{\mathrm{E}} \sum_{k=0}^C \sum_{l=0}^C e_{(i j),(k l)} Eij=WEk=0Cl=0Ce(ij),(kl)

上式中 W q \mathbf{W}_q Wq W k \mathbf{W}_k Wk W v \mathbf{W}_v Wv W E \mathbf{W}_{\mathbf{E}} WE为计算query、key、value和边的值时用到的的权重。矩阵 E \mathbf{E} E根据先验知识图中出现的目标组合关系的先验知识来权衡proposal目标对场景图中其他目标的重要性。

2.3 上下文更新

在得到了场景图 S \mathbf{S} S的边 E \mathbf{E} E的值以后,作者使用multi-layered Graph Transformer实现上下文更新操作。上下文更新确保 S \mathbf{S} S中的节点特征在图中聚合,为每个节点提供更多关于整个场景的上下文以及与上下文中其他节点之间基于先验知识的关系。

在此过程中,每个节点通过消息 m m m获得其相邻节点的信息,并通过边矩阵 E \mathbf{E} E进行加权,得到上下文感知的节点 { z i , … , z N } = Z ∈ R N × F z \left\{\mathbf{z}_i, \ldots, \mathbf{z}_{\mathcal{N}}\right\}=\mathbf{Z} \in \mathbb{R}^{\mathcal{N} \times \mathcal{F}_{\mathrm{z}}} {zi,,zN}=ZRN×Fz。表示如下:

f i j ( l ) = E ( δ i j ) ) δ i j = { E i j  if  l = 0 A i j ( l − 1 )  if  l > 0 \left.\mathbf{f}_{i j}^{(l)}=\mathcal{E}\left(\delta_{i j}\right)\right) \quad \quad \delta_{i j}= \begin{cases}\mathbf{E}_{i j} & \text { if } l=0 \\ \mathbf{A}_{i j}^{(l-1)} & \text { if } l>0\end{cases} fij(l)=E(δij))δij={EijAij(l1) if l=0 if l>0

n i ( l ) = γ i j γ i j = { p i  if  l = 0 z i ( l − 1 )  if  l > 0 \mathbf{n}_i^{(l)}=\gamma_{i j} \quad \quad \gamma_{i j}= \begin{cases}p_i & \text { if } l=0 \\ \mathbf{z}_i^{(l-1)} & \text { if } l>0\end{cases} ni(l)=γijγij={pizi(l1) if l=0 if l>0

α i j ( l ) = σ ( LReLU ⁡ ( [ f i j ( l ) ⊕ n i ( l ) ] ) ) \alpha_{i j}^{(l)}=\sigma\left(\operatorname{LReLU}\left(\left[\mathbf{f}_{i j}^{(l)} \oplus \mathbf{n}_i^{(l)}\right]\right)\right) αij(l)=σ(LReLU([fij(l)ni(l)]))

m i ( l ) = ∑ j ∈ I α i j ( l ) f i j ( l ) \mathbf{m}_i^{(l)}=\sum_{j \in \mathcal{I}} \alpha_{i j}^{(l)} \mathbf{f}_{i j}^{(l)} mi(l)=jIαij(l)fij(l)

z ^ i ( l ) = L N ( n i ( l ) + m i ( l ) ,  head  + m i ( l ) ,  tail  ) \hat{\mathbf{z}}_i^{(l)}=\mathbf{L N}\left(\mathbf{n}_i^{(l)}+\mathbf{m}_i^{(l), \text { head }}+\mathbf{m}_i^{(l), \text { tail }}\right) z^i(l)=LN(ni(l)+mi(l), head +mi(l), tail )

z i ( l ) = L N ( z ^ i ( l ) + f ( z ^ i ( l ) ) ) \mathbf{z}_i^{(l)}=\mathbf{L} \mathbf{N}\left(\hat{\mathbf{z}}_i^{(l)}+f\left(\hat{\mathbf{z}}_i^{(l)}\right)\right) zi(l)=LN(z^i(l)+f(z^i(l)))

上式中 F z \mathcal{F}_{\mathrm{z}} Fz表示输出特征的维度, l l l表示第 l l l个Graph Transformer层, E \mathcal{E} E为应用于边特征的transformer function, σ ( ⋅ ) \sigma(\cdot) σ()表示softmax函数,LReLU表示Leaky ReLU激活函数, ⊕ \oplus 表示concat操作,LN表示LayerNorm, f ( ⋅ ) f(\cdot) f()表示2个包含Leaky ReLU的线性层。

第一个Graph Transformer使用了原始的边矩阵 E \mathbf{E} E,在后面的层中边矩阵会更新为 A \mathbf{A} A:

h i ( l ) ,  head  = H ( n i ( l ) ) h i ( l ) ,  tail  = T ( n i ( l ) ) \mathbf{h}_i^{(l), \text { head }}=\mathcal{H}\left(\mathbf{n}_i^{(l)}\right) \quad \mathbf{h}_i^{(l), \text { tail }}=\mathcal{T}\left(\mathbf{n}_i^{(l)}\right) hi(l), head =H(ni(l))hi(l), tail =T(ni(l))

α i ( l ) ,  head  = LReLU ⁡ ( A ( [ δ i head  ⊕ h i ( l ) ,  head  ] ) ) α i ( l ) ,  tail  = LReLU ⁡ ( A ( [ δ i tail  ⊕ h i ( l ) ,  tail  ] ) ) \begin{aligned} \alpha_i^{(l), \text { head }} & =\operatorname{LReLU}\left(\mathcal{A}\left(\left[\delta_i^{\text {head }} \oplus \mathbf{h}_i^{(l), \text { head }}\right]\right)\right) \\ \alpha_i^{(l), \text { tail }} & =\operatorname{LReLU}\left(\mathcal{A}\left(\left[\delta_i^{\text {tail }} \oplus \mathbf{h}_i^{(l), \text { tail }}\right]\right)\right) \end{aligned} αi(l), head αi(l), tail =LReLU(A([δihead hi(l), head ]))=LReLU(A([δitail hi(l), tail ]))

δ i = { E i  if  l = 0 A i ( l − 1 )  if  l > 0 \quad \delta_i= \begin{cases}\mathbf{E}_i & \text { if } l=0 \\ \mathbf{A}_i^{(l-1)} & \text { if } l>0\end{cases} δi={EiAi(l1) if l=0 if l>0

α i ( l ) ,  head+tail  = σ ( [ α i ( l ) ,  head  ⊕ α i ( l ) ,  tail  ] ) \alpha_i^{(l), \text { head+tail }}=\sigma\left(\left[\alpha_i^{(l), \text { head }} \oplus \alpha_i^{(l), \text { tail }}\right]\right) αi(l), head+tail =σ([αi(l), head αi(l), tail ])

A i ( l ) = α i ( l ) ,  head+tail  ⊙ [ h i ( l ) ,  head  ⊕ h i ( l ) ,  tail  ] \mathbf{A}_i^{(l)}=\alpha_i^{(l), \text { head+tail }} \odot\left[\mathbf{h}_i^{(l), \text { head }} \oplus \mathbf{h}_i^{(l), \text { tail }}\right] Ai(l)=αi(l), head+tail [hi(l), head hi(l), tail ]

上式中的 H \mathcal{H} H T \mathcal{T} T为分别应用于head indices或tail indices的proposal特征的transformer function, A \mathcal{A} A为应用于concat后的节点和边特征的transformer function, ⊙ \odot 表示元素乘法。

2.4 mask的预测

经过上下文更新的 L L L次迭代后,丢弃边矩阵,将最终第 L L L个节点特征 Z ( L ) \mathbf{Z}^{(L)} Z(L)与原始proposal特征 P b o x P^{box} Pbox进行concat得到用于box预测的输出特征 O b o x O^{box} Obox。用于掩码预测的输出特征 O m a s k O^{mask} Omask通过包含前景目标的proposal特征 P m a s k P^{mask} Pmask Z ( L ) \mathbf{Z}^{(L)} Z(L)进行concat得到的。表示如下:

O b o x = [ P b o x ⊕ Z ] O mask  = [ P B ( O b b ) mask  ⊕ Z ] = [ P f g mask  ⊕ Z ] \begin{aligned} & \mathbf{O}^{b o x}=\left[\mathbf{P}^{b o x} \oplus \mathbf{Z}\right] \\ & \mathbf{O}^{\text {mask }}=\left[\mathbf{P}_{\mathcal{B}\left(\mathbf{O}_{b b}\right)}^{\text {mask }} \oplus \mathbf{Z}\right]=\left[\mathbf{P}_{f g}^{\text {mask }} \oplus \mathbf{Z}\right] \\ & \end{aligned} Obox=[PboxZ]Omask =[PB(Obb)mask Z]=[Pfgmask Z]

通过调整box head和mask head的输入大小,确保Mask R-CNN适应由于连接而导致的形状的增加。由于先验知识图是固定的,所以它没有梯度,因此没有经过训练,只需要单独对图像数据(COCO)进行训练。最终的预测结果由MaskR-CNN的原始损失函数监督,总体损失函数为:

L = L c l s + L box  + L mask  \mathcal{L}=\mathcal{L}_{c l s}+\mathcal{L}_{\text {box }}+\mathcal{L}_{\text {mask }} L=Lcls+Lbox +Lmask 

3.实验

(1)实验设置

(2)实验结果

推荐阅读:

如何优雅地读取网络的中间特征?

港科大提出适用于夜间场景语义分割的无监督域自适应新方法

EViT:借鉴鹰眼视觉结构,南开大学等提出ViT新骨干架构,在多个任务上涨点

HSN:微调预训练ViT用于目标检测和语义分割,华南理工和阿里巴巴联合提出

CV计算机视觉每日开源代码Paper with code速览-2023.10.17

CV计算机视觉每日开源代码Paper with code速览-2023.10.16

CV计算机视觉每日开源代码Paper with code速览-2023.10.13

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1104949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

统计学习方法 EM 算法

文章目录 统计学习方法 EM 算法引入EM 算法EM 算法的导出EM 算法的收敛性三硬币模型 统计学习方法 EM 算法 学习李航《统计学习方法》时关于 EM 算法的笔记 引入 概率模型中有时候同时包含观测变量(observable variable)和隐变量(潜在变量…

Spring Boot项目中使用 TrueLicense 生成和验证License(附源码)

1、Linux 在客户linux上新建layman目录,导入license.sh文件, [rootlocalhost layman]# mkdir -p /laymanlicense.sh文件内容: #!/bin/bash # 1.获取要监控的本地服务器IP地址 IPifconfig | grep inet | grep -vE inet6|127.0.0.1 | awk {p…

人脸写真FaceChain的简单部署记录(一)

由【让你拥有专属且万能的AI摄影师AI修图师——FaceChain迎来最大版本更新】这篇文章开始出发进行人脸写真的尝试,笔者之前modelscope申请过免费额度,这里有适配的GPU环境可以提供测试。 但是很难抢到GPU资源,需要等待很久,可能才…

路由侠内网穿透:轻松访问公司内部OA、ERP等系统,提高工作效率

前言: 本文介绍如何通过路由侠内网穿透,从外部网络环境(比如异地和家中网络)访问公司内网的 OA、ERP 等系统。 公司内网的 OA、ERP 以及其他类型的办公系统, 通常有两种形态,一种是网站形态,一种是单独的应…

开源IT资产管理系统Snipe-IT

本文完成于 8 月初,正好网友 chenlit 在找用于管理固定资产容器和套件,不知道 Snipe-IT 是否能满足他的需求; 什么是 Snipe-IT ? Snipe-IT 是一个用 PHP 编写的免费开源 IT 资产管理系统。Snipe-IT 专为 IT 资产管理而设计&#x…

Spring后置处理器之AutowiredAnnotationBeanPostProcessor

抽象类InstantiationAwareBeanPostProcessorAdapter没有实现的接口方法,其子类必须实现。 抽象类InstantiationAwareBeanPostProcessorAdapter可以使得类InstantiationAwareBeanPostProcessorAdapter选择性实现接口部分抽象方法。

新年学新语言Go之二

一、前言 上文 新年学新语言Go之一讲了Go的牛逼之处,给自己找一个学习的理由,但是学任何一门语言基础语法还是要先掌握,虽然这是一件很枯燥的事。 二、环境搭建与HelloWorld 1、配置环境 从https://golang.google.cn/dl/下载Mac环境Go最新…

干洗店小程序,上门洗鞋洗衣下单算软件开发;

干洗店小程序,上门洗鞋洗衣软件; 有多个小程序开发案例 洗衣店小程序 是一款适用于洗衣店、干洗店等洗鞋店小程序; 干洗店小程序功能有: 1.(支持上门取送、送货到店、寄存网点、智能衣柜四种下单方式) 用户下单-上门取货拍照-送达门店工厂-入…

页面的动静分离

动静分离概念: 访问静态()和动态页面(tomcat)分开静态页面,由nginx提供服务,静态页面由tomcat提供服务。实现动态和静态页面负载均衡。 实验需求: 1台nginx代理 192.168.10.10 四层代理 2台nginx 提供静态页面 192.168.10.2…

四维轻云主要功能介绍

《四维轻云》是一款轻量化的地理空间数据管理云平台,支持地理空间数据的在线管理、编辑以及分享。平台有项目管理、数据上传、场景搭建、发布分享、素材库等功能模块,支持多用户在线协作管理,实现了轻量化、便捷化的空间数据应用。 一、发布…

详解使用sklearn实现一元线性回归和多元线性回归

[Open In Colab] 文章目录 1. 线性回归简介2. 使用sklearn进行一元线性回归3. 线性回归的coef_参数和intercept_参数4. 使用sklearn实现多元线性回归4.1 利用PolynomialFeatures构造输入4.2 进行多元线性回归 5. 总结 import numpy as np import matplotlib.pyplot as plt1. 线…

基于SSM的洗衣店管理系统

基于SSM的洗衣店管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 管理员界面 预约列表 种类管理 用户界面 摘要 洗衣店管理系统是一种利用现代技…

java 通过Tess4j 读取图片中的文字

Maven依赖导入Tess4j <!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j --><dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>4.5.4</version></de…

UI设计师岗位的基本职责八篇(合集)

UI设计师岗位的基本职责1 职责&#xff1a; 1. 负责公司互联网产品app、web、h5等的用户界面设计工作; 2. 负责运营活动相关的平面及视频设计支持; 3. 负责完成产品相关的界面、图标、动画等的图形界面设计&#xff0c;并参与制定、编写产品视觉设计规范文档; 4. 整理和分…

音频抓取代码示例

以下是一个使用DefaultsKit库的简单爬虫程序&#xff0c;用于爬取音频。代码中使用了https://www.duoip.cn/get_proxy的API获取代理服务器。 import Foundation import DefaultsKit ​ let url "https://www.douban.com/music" // 目标网站URL let proxyUrl "…

代码随想录算法训练营第二十五天丨 回溯算法part03

39. 组合总和 思路 题目中的无限制重复被选取&#xff0c;提示&#xff1a;1 < candidates[i] < 200。 本题和77.组合 (opens new window)&#xff0c;216.组合总和III (opens new window)的区别是&#xff1a;本题没有数量要求&#xff0c;可以无限重复&#xff0c;但…

【二层环路】交换机二次原路排查思路

以太网交换网络中为了提高网络可靠性&#xff0c;通常会采用冗余设备和冗余链路&#xff0c;然而现网中由于组网调整、配置修改、升级割接等原因&#xff0c;经常会造成数据或协议报文环形转发&#xff0c;不可避免的形成环路。如图1所示&#xff0c;三台设备两两相连就会形成环…

[解决]修复 win 32/64 位操作系统上的 PyAudio pip 安装错误

一、说明 Python3.7 无法安装pyaudio&#xff0c;度娘的结果基本都是这个&#xff0c;pip install pyaudio.....然而十有八九你的电脑不买账&#xff0c;会报错。本篇将介绍如何在win10anaconda安装pyaudio。 二、过程叙述 我有一台 Windows 10 电脑&#xff0c;我想安装 pyau…

本地jar打包成maven依赖,上传到私服

本地打包jar成maven依赖 mvn install:install-file -Dfile“\oss\xmlBeans\rvdMsgWrapper.jar” -DgroupId“hk.gov.xmlBeans” -DartifactId“noNamespace” -Dversion“1.0.0” -Dpackaging“jar” 上传到私服 登录进入到Upload 页面 上传 上传完成&#xff0c;到仓库查看…

LED路灯浪涌保护器行业应用解决方案

LED路灯是一种利用LED发光二极管作为光源的节能环保的城市道路照明设备。LED路灯具有寿命长、光效高、色温可调、无污染等优点&#xff0c;已经成为城市道路照明的主流选择。 然而&#xff0c;LED路灯也面临着一些问题&#xff0c;其中之一就是雷击浪涌的威胁。雷击浪涌是指由…