第1篇 目标检测概述 —(2)目标检测算法介绍

前言:Hello大家好,我是小哥谈。目标检测算法是一种计算机视觉算法,用于在图像或视频中识别和定位特定的目标物体。常见的目标检测算法包括传统的基于特征的方法(如Haar特征和HOG特征)以及基于深度学习的方法(如Faster R-CNN、YOLO和SSD)。本节课就给大家重点介绍下基于深度学习的目标检测算法,希望大家学习之后能够有所收获!🌈 

前期回顾:

             第1篇 目标检测概述 —(1)目标检测基础知识

            目录

🚀1.目标检测算法介绍

🚀2.两阶段目标检测算法

💥💥2.1 R-CNN

💥💥2.2 Fast R-CNN

💥💥2.3 Faster R-CNN

💥💥2.4 Mask R-CNN

🚀3.一阶段目标检测算法

💥💥3.1 SSD

💥💥3.2 YOLO算法

🚀1.目标检测算法介绍

目标检测算法是一种计算机视觉算法,用于在图像或视频中识别和定位特定的目标物体。常见的目标检测算法包括传统的基于特征的方法(如Haar特征和HOG特征)以及基于深度学习的方法(如Faster R-CNN、YOLO和SSD)。

传统的基于特征的目标检测算法通常是基于手工设计的特征和机器学习分类器的组合。这些算法通常包括以下步骤:提取图像特征、选择目标检测窗口、应用分类器进行目标判别和定位。而基于深度学习的目标检测算法则使用深度神经网络来自动学习图像特征和目标位置。这些算法通常由两个主要部分组成:卷积神经网络(如VGG、ResNet等)用于提取图像特征,以及用于目标检测的后处理步骤(如边界框回归和非极大值抑制)。

近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN、Fast R-CNN、Faster R-CNN等),它们是two-stage的。而另一类是YOLO、SSD这类one-stage算法。第一类方法是准确度高一些,但是速度慢,但是第二类算法是速度快,但是准确性要低一些。

计算机视觉中关于图像识别有四大类任务

📗分类-Classification:解决“是什么?”的问题,即给定⼀张图⽚或⼀段视频判断里面包含什么类别的目标。

📗定位-Location:解决“在哪里?”的问题,即定位出这个目标的的位置。

📗检测-Detection:解决“是什么?在哪里?”的问题,即定位出这个⽬标的的位置并且知道目标物是什么。

📗分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每⼀个像素属于哪个目标物或场景”的问题。


🚀2.两阶段目标检测算法

💥💥2.1 R-CNN

R-CNN(Region-based Convolutional Neural Network)是一种目标检测算法,它在2014年由Girshick等人提出。R-CNN的主要思想是首先生成一组候选区域,然后对每个候选区域进行特征提取和分类,最后对分类结果进行边界框回归,以获得最终的目标检测结果。

具体流程如下:

  1. 输入图像被划分为多个候选区域,这些候选区域可以通过选择性搜索(Selective Search)等算法生成。
  2. 对每个候选区域,使用预训练的卷积神经网络(如AlexNet、VGG等)提取特征。
  3. 将提取的特征输入到一个支持向量机(SVM)进行分类,判断该区域是否包含目标物体。
  4. 对于被分类为包含目标物体的区域,使用线性回归模型进行边界框回归,以获得更准确的目标位置。

R-CNN算法虽然能够取得较好的检测结果,但其缺点也比较明显,如候选区域生成速度慢、训练和测试过程繁琐等。后续的改进算法(如Fast R-CNN、Faster R-CNN等)都是在R-CNN的基础上进行优化和改进。

R-CNN作为R-CNN系列的第⼀代算法,其实没有过多的使⽤“深度学习”思想,⽽是将“深度学习”和传统的“计算机视觉”的知识相结合。⽐如R-CNN pipeline中的第⼆步和第四步其实就属于传统的“计算机视觉”技术。使⽤ selective search提取region proposals,使⽤SVM实现分类。📚

比如对于猫的检测,如下图所示: 

在原论⽂中,R-CNN pipeline只有4个步骤,光看下图⽆法深刻理解R-CNN处理机制,下⾯结合图⽰补充相应⽂字。

🍀(1)预训练模型。选择⼀个预训练 (pre-trained)神经⽹络(如AlexNet、VGG)。

🍀(2)重新训练全连接层。使⽤需要检测的⽬标重新训练(re-train)最后全连接层(connected layer)。

🍀(3)提取proposals并计算CNN 特征。利⽤选择性搜索(Selective Search)算法提取所有proposals(⼤约 2000幅images),调整(resize/warp)它们成固定⼤⼩,以满⾜CNN输⼊要求(因为全连接层的限制),然后将feature map保存到本地磁盘。

🍀(4)训练SVM。利⽤feature map 训练SVM来对⽬标和背景进⾏分类(每个类⼀个⼆进制SVM)

🍀(5)边界框回归(Bounding boxes Regression)。训练将输出⼀些校正因⼦的线性回归分类器。

R-CNN创新点:

🍀(1)使⽤CNN(ConvNet)对 region proposals 计算 feature vectors。从经验驱动特征(SIFT、HOG)到数据驱动特征(CNN feature map),提⾼特征对样本的表⽰能⼒。

🍀(2)采⽤⼤样本下(ILSVRC)有监督预训练和⼩样本(PASCAL)微调(fine-tuning)的⽅法解决⼩样本难以训练甚⾄过拟合等问题。

说明:♨️♨️♨️

ILSVRC其实就是众所周知的ImageNet的挑战赛,数据量极⼤;PASCAL数据集(包含⽬标检测和图像分割等),相对较⼩。

R-CNN 实验结果:

R-CNN在VOC 2007测试集上mAP达到58.5%,打败当时所有的⽬标检测算法。

说明:♨️♨️♨️

论文题目:《Rich feature hierarchies for accurate object detection and semantic segmentation》 

论文地址:  https://openaccess.thecvf.com/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf

💥💥2.2 Fast R-CNN

Fast R-CNN是一种目标检测算法,它在深度学习中被广泛应用。它是R-CNN系列算法中的一员,相比于前几个版本,Fast R-CNN在速度和准确性上都有明显的提升。

Fast R-CNN的工作流程如下:

  1. 输入一张图片和它对应的ground truth边界框。
  2. 使用预训练的卷积神经网络(CNN)提取图片的特征。
  3. 将特征图和ground truth边界框送入RoI (Region of Interest)池化层,将不同尺寸的RoIs映射到固定大小的特征图上。
  4. 把RoIs映射后的特征通过全连接层进行分类和回归,得到每个RoI的类别概率和边界框坐标调整值。
  5. 使用非最大抑制(NMS)来排除重叠的边界框,最终输出检测结果。

这种算法的优点是能够共享卷积特征提取过程,因此在处理多个RoIs时可以节省计算时间。此外,Fast R-CNN还引入了RoI池化层,解决了原始R-CNN中不同大小的RoI输入固定大小CNN的问题,提高了模型的准确性。

Fast R-CNN是基于R-CNN和SPPnets进⾏的改进。SPPnets,其创新点在于计算整幅图像的the shared feature map,然后根据object proposal在shared feature map上映射到对应的feature vector(就是不⽤重复计算 feature map了)。当然,SPPnets也有缺点:和R-CNN⼀样,训练是多阶段(multiple-stage pipeline)的,速度还是不够"快",特征还要保存到本地磁盘中。📚

以下是Fast R-CNN的流程图:

解析1:RoI Pooling层详解:

因为Fast R-CNN使⽤全连接层,所以应⽤RoI Pooling将不同⼤⼩的ROI转换为固定⼤⼩。RoI Pooling 是Pooling层的⼀种,⽽且是针对RoI的Pooling,其特点是输⼊特征图尺⼨不固定,但是输出特征图尺⼨固定(如7x7)。

解析2:什么是RoI呢?

RoI是Region of Interest的简写,⼀般是指图像上的区域框,但这⾥指的是由Selective Search提取的候选框。

 RoI的具体操作:

  1. 根据输⼊image,将ROI映射到feature map对应位置 。注:映射规则⽐较简单,就是把各个坐标除以“输⼊图⽚与feature map的⼤⼩的⽐值”,得到了feature map上的box坐标。
  2. 将映射后的区域划分为相同⼤⼩的sections(sections数量与输出的维度相同)。
  3. 对每个sections进⾏max pooling操作。

这样我们就可以从不同⼤⼩的⽅框得到固定⼤⼩的相应的feature maps。值得⼀提的是,输出的feature maps的⼤⼩不取决于ROI和卷积feature maps⼤⼩。RoI Pooling 最⼤的好处就在于极⼤地提⾼了处理速度。

Fast R-CNN创新点:

🍀(1)只对整幅图像进⾏⼀次特征提取,避免R-CNN中的冗余特征提取。

🍀(2)⽤RoI pooling层替换最后⼀层的max pooling层,同时引⼊建议框数据,提取相应建议框特征。

🍀(3)Fast R-CNN⽹络末尾采⽤并⾏的不同的全连接层,可同时输出分类结果和窗⼝回归结果,实现了end-to-end的多任务训练(建议框提取除外),也不需要额外的特征存储空间(R-CNN中的特征需要保持到本地,来供SVM和Bounding-box regression进⾏训练)。

🍀(4)采⽤SVD对Fast R-CNN⽹络末尾并⾏的全连接层进⾏分解,减少计算复杂度,加快检测速度。

说明:♨️♨️♨️

论文题目:《Fast R-CNN》

论文地址:  https://arxiv.org/abs/1504.08083

💥💥2.3 Faster R-CNN

Faster R-CNN是一种目标检测算法,它是在R-CNN(Region-based Convolutional Neural Networks)的基础上进行改进而来的。它的主要创新点是引入了候选区域生成网络(Region Proposal Network,简称RPN),将候选区域的生成和目标检测两个任务合并在一个网络中,从而实现了端到端的目标检测。

Faster R-CNN的工作流程如下:

  1. 输入图像经过卷积神经网络(CNN)提取特征。
  2. RPN网络在特征图上滑动窗口,并输出一系列候选区域和对应的边界框偏移信息。
  3. 对于每个候选区域,通过RoI池化层将其转化为固定大小的特征图。
  4. 将特征图输入全连接层进行分类和回归,得到目标的类别和位置信息。

以下是Faster R-CNN的网络结构图:

Faster R-CNN的优点是:

🍀(1)相较于R-CNN,它引入了共享卷积特征提取部分,从而大大减少了计算量。

🍀(2)候选区域生成和目标检测任务在同一个网络中进行,使得整个模型可以端到端地训练,提高了效率和准确性。

说明:♨️♨️♨️

论文题目:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》

论文地址:  https://arxiv.org/pdf/1506.01497.pdf

💥💥2.4 Mask R-CNN

Mask R-CNN是一种用于物体检测和语义分割的深度学习模型。它是基于Faster R-CNN模型的扩展,通过添加一个额外的分支来生成每个检测到的物体的精确掩码。Mask R-CNN模型通常由两个主要组件组成:区域建议网络(Region Proposal Network,RPN)和掩码预测分支。RPN负责生成候选目标区域,它会从输入图像中提取特征,并预测每个区域是前景还是背景。然后,这些候选区域会传递给掩码预测分支。掩码预测分支负责为每个检测到的物体生成精确的掩码。它会在每个候选区域上进行卷积操作,并输出一个与输入区域大小相匹配的二进制掩码图像。

通过结合目标检测和语义分割,Mask R-CNN可以准确地识别图像中的每个物体,并为它们生成精确的掩码。这使得Mask R-CNN成为许多计算机视觉任务(如实例分割、姿态估计等)的重要基础。

Mask R-CNN算法步骤:

  1. 输⼊⼀幅你想处理的图⽚,然后进⾏对应的预处理操作,或者预处理后的图⽚;
  2. 将其输⼊到⼀个预训练好的神经⽹络中(ResNeXt等)获得对应的feature map;
  3. 对这个feature map中的每⼀点设定预定个的RoI,从⽽获得多个候选RoI;
  4. 将这些候选的RoI送⼊RPN⽹络进⾏⼆值分类(前景或背景)和BB回归,过滤掉⼀部分候选的RoI;
  5. 对这些剩下的RoI进⾏RoI Align操作(即先将原图和feature map的pixel对应起来,然后将feature map和 固定的feature对应起来);
  6. 对这些RoI进⾏分类(N类别分类)、BB回归和MASK⽣成(在每⼀个RoI⾥⾯进⾏FCN操作)。

说明:♨️♨️♨️

论文题目:《Mask R-CNN》

论文地址:  https://arxiv.org/abs/1703.06870


🚀3.一阶段目标检测算法

💥💥3.1 SSD

SSD(Single Shot MultiBox Detector)是一种基于深度学习的目标检测算法,它能够同时进行目标的位置定位和类别预测。相比于其他目标检测算法,SSD具有快速、准确和端到端的优势。它采用了多层特征图来检测不同尺度的目标,并且通过预定义的一系列锚框(anchor boxes)来进行目标定位和分类。

SSD主要由两个部分组成:基础网络和特征提取网络常用的基础网络包括VGG16、ResNet等,用于提取原始图像的特征。特征提取网络由多个卷积层和池化层组成,用于生成一系列特征图。每个特征图都负责检测不同大小的目标。

在SSD中,每个锚框都与一个特定的尺度和长宽比相关联。对于每个锚框,SSD会计算其与真实目标框之间的IoU(Intersection over Union),并将其分为正样本和负样本。然后,SSD通过卷积操作对每个锚框进行类别预测和边界框调整,得到最终的检测结果。

不同于前⾯的R-CNN系列,SSD属于one-stage⽅法。SSD使⽤ VGG16 ⽹络作为特征提取器(和 Faster R-CNN 中使⽤的 CNN ⼀样),将后⾯的全连接层替换成卷积层,并在之后添加⾃定义卷积层,并在最后直接采⽤卷 积进⾏检测。在多个特征图上设置不同缩放⽐例和不同宽⾼⽐的先验框以融合多尺度特征图进⾏检测,靠前的⼤尺度特征图可以捕捉到⼩物体的信息,⽽靠后的⼩尺度特征图能捕捉到⼤物体的信息,从⽽提⾼检测的准确 性和定位的准确性。

下图是SSD的⽹络结构图。

SSD创新点:

🍀(1)基于Faster R-CNN中的Anchor,提出了相似的先验框(Prior box)

🍀(2)从不同⽐例的特征图(多尺度特征)中产⽣不同⽐例的预测,并明确地按长宽⽐分离预测。 

说明:♨️♨️♨️

论文题目:《SSD single shot multibox detector》

论文地址:  https://arxiv.org/abs/1512.02325

💥💥3.2 YOLO算法

YOLO(you only look once),将物体检测任务当做回归问题(regression problem)来处理,直接通过整张图片的所有像素得到bounding box的坐标、box中包含物体的置信度和 class probabilities。通过YOLO,每张图像只需要看一眼就能得出图像中都有哪些物体和这些物体的位置。

YOLO划分网格:

具体来说,YOLO的CNN网络将输入的图片分割成S×S网格,然后每个单元格负责去检测那些中心点落在该格子内的目标,如图所示,可以看到狗这个目标的中心落在左下角一个单元格内,那么该单元格负责预测这个狗。每个单元格会预测B个边界框(bounding box)以及边界框的置信度(confidence score)。所谓置信度其实包含两个方面,一是这个边界框含有目标的可能性大小,二是这个边界框的准确度。前者记为,当该边界框是背景时(即不包含目标),此时Pr(object)=0。而当该边界框包含目标时,Pr(object)=1。边界框的准确度可以用预测框与实际框(ground truth)的IoU(intersection over union,交并比)来表征。

使用YOLO来检测物体,其流程是非常简单明了的:

  1. 将图像resize到448 * 448作为神经网络的输入;
  2. 运行神经网络,得到一些bounding box坐标、box中包含物体的置信度和class probabilities;
  3. 进行非极大值抑制,筛选Boxes。

YOLO对每个bounding box有5个predictions:x, y, w, h, confidence:

🍀(1)坐标x,y代表了预测的bounding box的中心与栅格边界的相对值。

🍀(2)坐标w,h代表了预测的bounding box的width、height相对于整幅图像width,height的比例。

🍀(3)confidence就是预测的bounding box和ground truth box的IoU值。

Yolo算法开创了one-stage检测的先河,它将物体分类和物体检测网络合二为一, 都在全连接层完成。故它大大降低了目标检测的耗时,提高了实时性;但是,它的缺点也十分明显:

🍀(1)每个网格只对应两个bounding box,当物体的长宽比不常见(也就是训练数据集覆盖不到时),效果很差。

🍀(2)原始图片只划分为7x7的网格,当两个物体靠的很近时,效果很差。

🍀(3)最终每个网格只对应一个类别,容易出现漏检(物体没有被识别到)。

🍀(4)对于图片中比较小的物体,效果很差。这其实是所有目标检测算法的通病,SSD对它有些优化。


参考文献名:

【1】Rich feature hierarchies for accurate object detection and semantic segmentation;

【2】Fast R-CNN;

【3】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks;

【4】You Only Look Once: Unfied,Real-Time Object Detection;

【5】SSD:Single Shot MultiBox Detector;

【6】Selective Search for Object Recognition;

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

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

相关文章

Docker(三)、Dockerfile探究

Dockerfile探究 一、镜像层概念1、通过执行命令显化docker的机制 二、Dockerfile基础命令1、FROM 基于基准镜像【即构建镜像的时候,依托原有镜像做拓展】2、LABEL & MAINTAINER -说明信息3、WORKDIR 设置工作目录4、ADD & COPY 复制文件5、ENV 设置环境常量…

crypto:Alice与Bob

题目 根据题目描述,将98554799767分解成两个素数 得到两个素数101999和966233。根据题目提示把它们拼接起来进行md5的32位小写哈希

提升您的Mac文件拖拽体验——Dropzone 4 for mac

大家都知道,在Mac上进行文件拖拽是一件非常方便的事情。然而,随着我们在工作和生活中越来越多地使用电脑,我们对于这个简单操作的需求也越来越高。为了让您的文件拖拽体验更加高效和便捷,今天我们向大家介绍一款强大的工具——Dro…

[plugin:vite:css] [sass] Undefined mixin.

前言: vite vue3 TypeScript环境 scss报错: [plugin:vite:css] [sass] Undefined mixin. 解决方案: 在vite.config.ts文件添加配置 css: {preprocessorOptions: {// 导入scss预编译程序scss: {additionalData: use "/resources/_ha…

8章:scrapy框架

文章目录 scrapy框架如何学习框架?什么是scarpy?scrapy的使用步骤1.先转到想创建工程的目录下:cd ...2.创建一个工程3.创建之后要转到工程目录下4.在spiders子目录中创建一个爬虫文件5.执行工程setting文件中的参数 scrapy数据解析scrapy持久…

计算机视觉与深度学习-循环神经网络与注意力机制-RNN(Recurrent Neural Network)、LSTM-【北邮鲁鹏】

目录 举例应用槽填充(Slot Filling)解决思路方案使用前馈神经网络输入1-of-N encoding(One-hot)(独热编码) 输出 问题 循环神经网络(Recurrent Neural Network,RNN)定义如何工作学习目标深度Elm…

uniapp ssr发行后一直Hydration completed but contains mismatches Cannot find module

最开始我用前端网页托管的地址访问一直是 Hydration completed but contains mismatches 解决方案 要从云函数的地址访问项目。 先绑定域名,否则用uniapp自带地址访问一直是下载文件 设置路径 最后效果 uniapp ssr 云函数访问 MODULE_NOT_FOUND:Cannot fin…

2023 年 Bitget Wallet 测评

对Bitget Wallet钱包的看法 Bitget Wallet在安全性、产品实力和使用体验方面可与Metamask媲美,甚至有所超越,唯一稍显不足的是知名度稍逊一筹。在众多钱包中,Bitget Wallet是拥有最全面的钱包之一,尤其适合那些希望一步到位&…

最小生成树 | 市政道路拓宽预算的优化 (Minimum Spanning Tree)

任务描述: 市政投资拓宽市区道路,本着执政为民,节省纳税人钱的目的,论证是否有必要对每一条路都施工拓宽? 这是一个连问带答的好问题。项目制学习可以上下半场,上半场头脑风暴节省投资的所有可行的思路&a…

web:[极客大挑战 2019]Upload

题目 页面显示为一个上传&#xff0c;猜测上传一句话木马文件 先查看源代码看一下有没有有用的信息&#xff0c;说明要先上传图片&#xff0c;先尝试上传含有一句话木马的图片 构造payload <?php eval($_POST[123]);?> 上传后页面显示为&#xff0c;不能包含<&…

“益路同行”栏目专访第11期——柳州市雨花敬老服务中心陈勇梅

中国善网在本届&#xff08;第十届&#xff09;慈展会上特别推出了《益路同行》采访栏目&#xff0c;《益路同行》栏目旨在寻觅公益之路上同行者的故事&#xff0c;挖掘公益更深层次的内涵&#xff0c;探索新时代公益发展道路。希望公益企业、人物、故事被更多人看到&#xff0…

2.物联网射频识别,RFID通信原理,RFID读写器与标签无线交互方式、数据反馈方式,RFID调制与解调、编码方式,不同RFID标签与读写器

一。RFID无线识别的原理 1.RFID系统无线通信基本原理 如下图所示&#xff0c;左边是读写器&#xff08;刷卡器&#xff09;&#xff0c;右边是标签&#xff08;卡&#xff09;&#xff0c;中间通过无线通信方式。 标签&#xff1a;&#xff08;卡&#xff09; 读写器&#xff…

实战项目:VB实现小鸟快跑小游戏

文章目录&#xff1a; 一&#xff1a;效果演示 二&#xff1a;实现思路 三&#xff1a;代码实现 form1 效果图 代码 form2 效果图 代码 一&#xff1a;效果演示 效果图◕‿◕✌✌✌ 代码下载 二&#xff1a;实现思路 窗口1 就是实现窗口的跳转和关闭窗口2 1.先添加背…

CSS详细基础(三)复合选择器

前两章介绍了CSS中的基础属性&#xff0c;以及一些基础的选择器&#xff0c;本贴开始介绍复合选择器的内容~ ​ 在 CSS 中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基本选择器进行组合形…

ElementUI之动态树+数据表格+分页

目录 前言 一.ElementUI之动态树 1.前端模板演示 2.数据绑定 2.1 通过链接获取后台数据 2.2 对链接进行绑定 2.3添加动态路由 2.4 配置路由 3.效果演示 二.数据表格动态分页 1.前端模板 2.通过JS交互获取后端数据 3 效果演示 前言 Element UI 是一个基于 Vue.js 的开…

IDEA Debug技巧大全,看完就能提升工作效率

作者简介 目录 1.行断点 2.方法断点 3.异常断点 4.字段断点 5.条件表达式 1.行断点 行断点就是平时我们在代码行旁边单击鼠标打上的断点&#xff0c;这个没有什么好说的。关键点在于很多人不知道的&#xff0c;行断点其实是可以右击选择是对改行的全部调用都生效&#xf…

缓存一致性(cache coherency)解决方案:MESI 协议状态转换详解

MESI 协议 一&#xff0c;MESI状态释义二&#xff0c;MESI状态转换1 Invalid after Reset2, Invalid > Exclusive3, Exclusive > Modified4 Modified > Shared, Invalid > Shared5 Shared > Invalid, Shared > Modified 三&#xff0c;状态转换场景总结Inval…

最新影视视频微信小程序源码-带支付和采集功能/微信小程序影视源码PHP(更新)

源码简介&#xff1a; 这个影视视频微信小程序源码&#xff0c;新更新的&#xff0c;它还带支付和采集功能&#xff0c;作为微信小程序影视源码&#xff0c;它可以为用户 提供丰富的影视资源&#xff0c;包括电影、电视剧、综艺节目等。 这个小程序影视源码&#xff0c;还带有…

Vue之ElementUI实现登陆及注册

目录 ​编辑 前言 一、ElementUI简介 1. 什么是ElementUI 2. 使用ElementUI的优势 3. ElementUI的应用场景 二、登陆注册前端界面开发 1. 修改端口号 2. 下载ElementUI所需的js依赖 2.1 添加Element-UI模块 2.2 导入Element-UI模块 2.3 测试Element-UI是否能用 3.编…

IOTE 2023盛况回顾,美格智能聚连接之力促数字新生长

9月20~22日&#xff0c;IOTE国际物联网展深圳站在深圳国际会展中心正式召开。本届展会以“IoT构建数字经济底座”为主题&#xff0c;聚焦物联网技术助推数字经济发展的核心动力。美格智能携前沿技术成果亮相展会&#xff0c;与参展观众深入交流。 展会上&#xff0c;美格智能带…