边缘AI(端侧AI)的重要性
1. 端侧化能够有效降低计算资源的消耗,减轻云计算中心或服务器端的压力。
2. 端侧化能够减少数据传输延迟。尤其在实时性要求较高的场景中,如自动驾驶、实时翻译等,数据传输延迟可能会严重影响用户体验。
3. 端侧化有助于保护用户隐私。在涉及敏感数据的场景中,如医疗健康、金融交易等,用户隐私保护尤为重要。
4. 端侧化还可以促进大模型的个性化和定制化。根据场景需求进行定制化,实现更精准的预测和决策。
5. 大模型部署到终端设备上,还可以促进大模型与终端设备的深度融合,激发新的应用场景和创新点。结合终端设备的传感器和摄像头,大模型可以实现更精准的环境感知和目标检测;结合终端设备的语音识别和自然语言处理能力,大模型可以实现更智能的人机交互和智能助手。
n剪枝
模型剪枝是一种模型压缩技术,旨在减小模型规模、降低计算量和内存占用,同时尽量保持原始模型的性能。
其基本原理是将模型中的权重或其他参数进行逐个检查,如果某个参数对模型的性能影响很小,则将其设置为0,从而使得模型更加稀疏。
n蒸馏
知识蒸馏是一种机器学习技术,旨在将大型、复杂的模型(通常称为教师模型)的知识传递给小型、高效的模型(通常称为学生模型)。
知识蒸馏的核心思想是,通过将教师模型的输出(通常包括类概率)转化为软化后的概率分布,作为学生模型的训练目标。
n量化
大模型量化是一种将大型神经网络模型中的权重和激活从浮点数(FP32)转换为低比特宽度的整数(如INT8、INT4等)的技术。这种技术的目的是减少模型的存储需求和计算成本,同时尽量减少模型的性能损失,使得这些模型能够在资源受限的设备上运行。
1.小目标检测
定义:当目标在图像中的像素占比非常小时,即为小目标。这类目标通常难以被检测到,因为它们提供的特征信息较少,容易被背景噪声掩盖。
例子:远处的人或车辆,在航拍图像中的小型动物等。
2.遮挡目标检测
定义:当目标部分或全部被其他物体遮挡时,称为遮挡目标。
挑战:遮挡会减少可用于识别目标的信息量,使得目标的形状、颜色等特征发生改变,增加识别难度。
3.模糊目标检测
定义:当目标处于运动状态或相机移动时,可能会导致目标在图像中呈现模糊效果。
挑战:模糊会导致目标边界不清晰,纹理特征丧失,进而影响检测精度。
4.其他困难情况
低对比度目标:目标与背景之间的颜色或亮度差异很小。
光照变化:不同光照条件下,同一目标的外观会发生变化。
视角变化:从不同角度观察同一目标可能导致其外观形态的变化。
密集目标检测:当多个目标紧密排列在一起时,分离个体变得困难。
目标检测流程
1.两阶段检测器(如Faster R-CNN):首先生成候选区域,然后对每个区域进行特征提取、分类和边界框回归。
2.单阶段检测器(如YOLO、SSD):直接在全图上进行检测,省略了候选区域生成的过程,从而提高了检测速度。
n候选区域生成
使用候选区域生成网络(如Selective Search、EdgeBoxes或RPN等)来生成一系列可能包含目标的区域。
在一些现代框架中,如YOLO(You Only Look Once),直接在整张图片上进行预测,跳过了候选区域生成这一步骤。
n特征提取
利用卷积神经网络(CNN)从候选区域中提取特征。
特征图会捕捉到图像的不同层次信息,包括边缘、纹理等。
n分类与定位
使用分类器对每个候选区域进行分类,判断是否包含特定类别的目标。
同时,计算边界框回归,调整候选区域的位置和大小,使其更贴近真实目标。
n后处理
运行非极大值抑制(NMS),移除那些重叠的边界框,保留得分最 高的检测结果。
根据设定的阈值过滤掉低置信度的检测结果。
n输出结果
最终输出每个检测到的目标类别、位置(以边界框的形式给出)以及相应的置信度评分。
主流目标检测算法框架
nR-CNN系列
R-CNN (Regions with CNN features):这是最早使用深度学习进行目标检测的工作之一。它首先使用选择性搜索(Selective Search)来生成候选区域,然后对每个区域分别提取CNN特征,并进行分类和边界框回归。由于其计算量较大,处理速度较慢。
Fast R-CNN:改进了R-CNN,通过共享所有候选区域的卷积计算,加快了检测速度。
Faster R-CNN:引入了区域提议网络(Region Proposal Network, RPN),使用卷积网络自动生成候选区域,进一步提升了效率。
Mask R-CNN:在Faster R-CNN基础上增加了分割模块,能够同时完成目标检测和实例分割任务。
nYOLO (You Only Look Once)
YOLO v1:提出了一种端到端的单阶段检测方法,将检测问题视为一个回归问题,直接从输入图像到边界框坐标和类别概率。YOLO v1以其速度优势著称,但早期版本的准确率相对较低。
YOLO v2/v3/v4/v5:后续版本不断改进了网络架构、特征融合策略、模块化设计、数据增强技术等,提升了检测精度和速度。
YOLO v6/v7:继续优化模型结构,加入无锚框(Anchor-Free)的设计,更高效的训练方法,提高实时检测性能的同时保持高准确率。
YOLOv8/v9::提供SOTA目标检测,支持多尺度模型适应不同需求,采用高效网络模块提升特征提取能力,优化正样本分配及损失函数以增强检测精度与速度。
YOLOv10:采用双重标签分配和一致匹配度量,实现无NMS的YOLO训练,提升推理效率,并通过轻量级设计、解耦下采样、排名引导块、大核卷积及自注意力提升整体效率与准确性
nSSD (Single Shot MultiBox Detector)
SSD:类似于YOLO,SSD也是单阶段的检测器,但它利用不同尺度的特征图来检测不同大小的目标。通过在不同层添加额外的卷积层来产生默认框(default boxes),并在这些框上进行分类和定位。
n其他值得注意的框架
RetinaNet:针对类别不平衡的问题提出了焦点损失(Focal Loss),改善了小目标检测的效果。
EfficientDet:结合了网络结构设计、尺度缩放技术和复合损失函数,实现了高效且准确的目标检测。
CenterNet:基于中心点的检测方法,简化了检测流程,提高了检测速度。
Deformable DETR:基于Transformer的端到端目标检测模型,具有良好的泛化能力。
l传统的封闭域目标检测(Closed-DomainObjectDetection)
传统的封闭域目标检测通常在特定的数据集上进行训练,例如COCO或PascalVOC,这些数据集包含预定义的类别列表。另外传统封闭域目标检测模型被设计为只识别这些预定义类别的对象,并且假设测试图像中只会出现这些已知类别。
封闭域目标检测中,评价模型性能的主要指标包括:
l平均精度(AveragePrecision,AP):用于评估模型对某一类别的检测精度,通常通过绘制精 确率-召回率曲线(Precision-RecallCurve)来计算。
l平均平均精度(MeanAveragePrecision,mAP):计算所有类别AP的平均值,是衡量整体性能的重要指标。
l开放域目标检测(Open-DomainObjectDetection):
目标是在未知类别的存在下进行检测,即模型需要能够处理在训练时未见过的新类别。它要求模型具备一定的泛化能力,能够在面对新类别时做出合理的响应,如识别出这是一个未知类别,而不是错误地将其归类为一个已知类别。开放域检测通常使用更复杂的数据集,这些数据集可能包含大量的未知类别样本。
除了传统的AP和mAP指标之外,还需要考虑以下指标来全面评估模型的表现:
l拒绝率(RejectionRate,RR):衡量模型在面对未知类别时拒绝做出分类的能力。拒绝率越高,表示模型越能够识别出未知类别。
l开放域精度(Open-DomainAccuracy,ODA):结合了对已知类别的识别准确性和对未知类别的拒绝能力。
l异常检测能力(AnomalyDetectionAbility,ADA):评估模型识别未知类别或异常情况的能力。
l未知类别识别率(UnknownClassRecognitionRate,UCRR):衡量模型能够正确识别未知类别并将其归类为未知的能力。
开放域目标检测的难点
泛化能力:泛化能力是指机器学习模型在未见过的数据上表现的能力。在一个开放域的场景下,模型经常需要处理各种未知类别的情况,这就要求模型不仅要能够准确地识别和分类已知类别中的数据,还要能够在遇到未知类别时做出合理的响应。
数据不平衡:开放域数据集往往包含大量未知类别实例,这可能导致模型偏向于预测未知类别。数据不平衡是指在训练数据集中,不同类别的样本数量存在显著差异的现象。在开放域数据集中,这种不平衡问题尤为突出,因为这类数据集通常包含了大量不属于已知分类的未知类别实例。这种不平衡会导致机器学习模型倾向于预测那些更为常见的类别,包括未知类别,从而影响了模型对已知类别的识别准确率。
评估标准:确定一个合适的评估方法来衡量模型对未知类别的处理能力是一个挑战性的问题。在开放域分类任务中,模型不仅要能够准确地识别和分类已知类别的实例,还需要能够合理地处理未知类别的实例。由于未知类别的多样性和不可预知性,传统的评估指标(如准确率、精 确率、召回率和F1分数)可能不足以全面评估模型在这方面的性能。评估模型对未知类别处理能力时需要考虑异常检测性能、分类性能、综合性能、不确定性估计、鲁棒性测试等多种关键因素。
计算资源:计算资源对于开放域目标检测任务来说至关重要,因为在训练和使用过程中都会涉及到处理大规模的数据集。为了进一步加快训练速度和处理更大的数据集,通常采用分布式训练方法,这要求有专门的分布式计算框架(如TensorFlow的DistributionStrategies、PyTorch的DistributedDataParallel等)和相应的网络基础设施支持。在推理阶段,对于某些场景,比如自动驾驶汽车中的实时目标检测,可能需要在设备端(边缘侧)进行处理,这就要求设备具备一定的计算能力,或者通过边缘计算服务来提供额外的支持。
异常检测:异常检测在开放域目标检测任务中是一项重要的挑战,特别是在面对未知类别或罕见情况时。在开放域目标检测任务中,模型不仅要识别出常见的已知类别,还要能够区分正常与异常的情况。这是因为开放域场景往往包含了多样化的背景和未知对象,而这些对象可能并未出现在训练数据集中。例如,在一个监控摄像头系统中,除了识别行人、车辆等常见对象外,还可能需要检测到突然出现的非典型物体,如动物、遗弃物品或其他异常事件。由于模型训练时只接触到了有限数量的已知类别,当遇到未知类别时,模型可能会将它们误分类为已知类别之一,或者无法给出任何有意义的预测结果。
模型设计:在开放域目标检测任务中,设计既能识别已知类别又能识别未知类别的模型架构是一项具有挑战性的任务。开放域目标检测任务要求模型不仅能够准确地识别训练数据中出现过的已知类别,而且还需要具备识别未知类别或异常情况的能力。
无人机机载端侧AI
1. 开放式目标检测(比如道路的交通事故检测、高架大货车检测等)
2. 困难目标检测(小目标、模糊、多角度等)
3. 实时性要求高、需要和定位、飞行、拍照形成业务闭环
4. 轻量模型,小于6T
公众号 扫码咨询
![]() |
上海市闵行区中春路4999号莘庄商务楼1326室 |
![]() |
service@covond.com |
![]() |
www.covond.com |
![]() |
交换机:18017588179(孙经理) 无人机:13311882358(孙总) |