| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 数据安全--30--联邦学习在视觉处理业务中的实践(上) -> 正文阅读 |
|
[人工智能]数据安全--30--联邦学习在视觉处理业务中的实践(上) |
一、传统视觉处理存在的问题传统的视觉处理任务主要由下面几个步骤: 1、首先是将收集来的数据集都集中存放在中心数据库中,并进行集中的图片数据预处理,包括图片数据清理、标注等; 在实践中,中心化训练模式使得视觉的落地和部署面临许多困难和挑战,主要有以下影响因素: ● 数据隐私:视觉数据具有很强的隐私性,这些敏感数据通常不能被上传和使用。 而通过联邦学习构建的分布式训练网络,能让分散在各地的摄像头数据不需要上传,就可以协同训练目标检测模型,这样一方面确保用户的隐私数据不会泄露,另一方面充分利用各参与方的训练数据,提升机器视觉模型的识别效果。 二、目标检测算法目标检测算法是一种视觉算法。在摄像头图片数据中找到指定的物体,并能够正确定位位置,这就是典型的目标检测任务。 目标检测被广泛应用于多个领域,例如无人驾驶领域,通过识别拍摄到的图像里的车辆、行人、道路等目标,来帮助我们规划行进路线;在机器人领域,需要利用目标检测算法来进行路径规划;在安防领域,可以利用目标检测算法识别出恐怖分子等特殊人群。 2.1、边界框与锚框边界框:在目标检测领域,我们通常使用边界框来描述目标位置,边界框是一个矩形框,由左上角坐标(x1,y1)和右下角坐标(x2,y2)来共同确定。 锚框:在运行目标检测算法时,通常会在图像中采样多个候选区域,即候选边界框,不同的目标检测算法所使用的采样算法也不一样,锚框是指以每一个像素为中心,生成多个大小和宽高比不同的边界框集合。 2.2、交并比当有多个边界框覆盖了图像中的物体时,如果该物体的真实的边界框已知,那么需要有一个衡量预测边界框好坏的指标,这个指标就是交并比,交并比是多个边界框相交面积与相并面积的比例。比例越大(越接近1),说明越精确。 2.3、基于候选区域的目标检测算法R-CNN:该算法先对图像提取大约2000个的候选区域,然后将候选框输入CNN网络中,提取每一个候选框的特征数据,每一个候选框的特征数据与其类别一起构成一个样本,训练多个支持向量机对目标分类,其中每一个支持向量机用来判断样本是否属于同一个类别;利用每一个候选框的特征数据与其边界框一起构成一个样本,用来训练线性回归模型,并预测真实的边界框。 算法图示: Fast R-CNN:由于R-CNN需要对每一个候选区域单独提取特征,但由于候选区域大量重叠,因此单独提取特征导致大量重复计算。Fast R-CNN对此做了一个重要的改进,即先将图片输入CNN网络得到特征图,在特征图上执行候选区域选取的工作,并且采用softmax分类代替原来的支持向量机,从而加快训练速度。 算法图示: Faster R-CNN:Fast R-CNN的候选区域提取与目标检测仍然是两个独立的过程,因此Faster R-CNN在此基础上,提出了候选区域网络的概念,其余部分没有变化,这样将候选区域的提取与目标检测作为同一个网络进行端到端的训练。 算法图示: 2.4、单阶段目标检测算法单阶段目标检测算法与候选区域目标检测算法不同,在效果上,基于候选区域的目标检测算法要比单阶段算法准确度高,但速度较慢;相反的,单阶段算法比基于候选区域的目标检测算法速度快,但准确性要低。典型的单阶段目标检测算法包括SSD、YOLO系算法等。 YOLO算法的主要处理步骤包括(以下数据均为举例,不具有一般性): ● 步骤一: 假定,将图片裁剪为448×448×3大小作为输入,并且将图片分割得到7×7网格,模型的输出是一个7×7×30维的向量,也就是每一个网格都会对应一个30维向量,这个30维的向量中每一个网格会负责一个物体的预测,当一个物体的中心点在网格内时,我们就说这个网格负责预测这个物体。每一个网格会生成2个边界框来预测这个物体,每一个边界框由一个5元组确定(x,y,w,h,c),其中(x,y)代表边界框的中心坐标,w 代表边界框的宽,h 代表边界框的高,c 代表边界框的物体属于哪一个类别。 ● 步骤二: 对标签进行转化。由上一步可知,每一个边界框用一个5元组来表示,而每一个网格会生成2个边界框,每一幅图片被分割为7×7的网格,如果数据集中共有20种不同类别的标注物体,那么每一个网格需要一个20维大小的额外向量,来存放该网格预测不同类别输出的概率。因此,得到模型输出的维度大小为7×7×(2×5+20) = 7×7×30 ● 步骤三: 构建损失函数,利用梯度下降来求解网络。YOLO损失函数主要由下面三部分构成: 1、类别预测损失:?表示方格 i 属于类别 c 的真实概率 2、边界框坐标值损失:?表示该损失值占总损失值的权重 3、置信度分数的预测损失:?属于超参数 三、联邦学习目标检测的优势传统的集中式目标检测训练主要存在的问题是安全威胁,这些安全威胁主要来自数据层面,包括: ● 数据提供方的数据源离开本地后,数据提供方就没办法跟踪这部分数据的用途了,也无法保证数据离开本地后不被其他人窃取。 ● 一般来说,数据从离开数据提供方,到上传至中心数据库,会经过多个中转地,这就进一步增加了数据泄露的风险和问题排查的难度。 基于联邦学习构建的目标检测视觉模型,相比于集中式的目标检测模型,有下面的优势和好处: ● 隐私性:从隐私角度,联邦学习确保数据的产生、数据的处理都在本地进行。相比集中式训练,数据的隐私安全大为提高。 ●效率:从效率上来说,传统的集中式训练,需要等待所有数据提供方的数据上传后,才进行统一的数据处理,再进行集中式的模型训练和模型评估,最后部署新模型,这个流程的等待时间比较长。而联邦学习的训练,由于每一个客户参与方从数据收集到数据处理都独立完成,且都有发起联邦学习的权力,只要发起联邦学习请求,就能进行模型训练,因此每一个客户方部署新模型的速度都加快了许多。 ● 费用:在集中式训练中,将原始数据(图像、视频)上传到服务端会消耗非常多的网络带宽资源。而联邦视觉模型上传的是模型参数,模型参数的传输量要比数据传输量小得多,从而能有效节省网络带宽,节约费用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 11:44:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |