论文阅读集合【1】
- 目标检测
- 缺陷检测
- 神经网络结构设计
-
- On the Integration of Self-Attention and Convolution
- DeltaCNN: End-to-End CNN Inference of Sparse Frame Differences in Videos
- An Image Patch is a Wave: Quantum Inspired Vision MLP
- Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
- A Survey on 3D Skeleton-Based Action Recognition Using Learning Method
目标检测
Object Detection in 20 Years: A Survey
本节参考Object Detection in 20 Years: A Survey Zhengxia Zou, Zhenwei Shi, Member, IEEE, Yuhong Guo, and Jieping Ye, Senior Member, IEEE 对其中的部分内容进行介绍,以便加深理解和记忆
论文介绍
此篇综述参考了400多篇目标检测相关的论文,全面介绍了目标检测20年来(1990-2019)的发展,包括目标检测发展的里程碑、数据集、性能度量指标、加速技术、近三年来最先进的检测方法、重要应用。
相比于同类型的综述,此篇综述有如下优点:更加全面(时间跨度、参考文献量、涉及方面)、对关键技术和新技术的深度探究、对加速技术的全面分析、对目标检测困难和挑战的分析。
1.目标检测
-
定义:目标检测是一种重要的计算机视觉任务,用于检测特定种类的物体并确定它们的位置,即What objects are where?
-
定位:目标检测是计算机视觉的一个基础性问题,是其他一些计算机视觉任务的基础,如实例分割、图像标注、目标追踪
-
研究主题:目标检测被分为两类研究主题:一般目标检测(旨在探索基于统一框架下不同类型物体的检测方法)和检测应用(旨在基于特定场景下的检测方法,如行人检测、脸部检测、文本检测)
-
应用:目标检测近年来被广泛用于真实世界,如自动驾驶、机器人视觉、视频监控
2.目标检测的里程碑
目标检测的发展可以被分为两个阶段:传统目标检测阶段(2014年以前)和基于深度学习的目标检测阶段(2014年以后)
- 传统目标检测
多数传统目标检测算法是基于手工设计特征构建的,其不足在于:①需要手工设计特征;②识别效果不够好,准确率不高;③计算量较大,运算速度慢;④可能产生多个正确识别的结果
①Viola Jones Detectors
Viola Jones Detectors第一次实现了在无约束的条件下(如肤色分割)实时检测人脸。
其遵循了一个朴素的思想与方法:滑动窗口sliding windows,即通过一个滑动窗口在图像上遍历所有可能的位置和尺寸,看看这个窗口是否包含了目标(人脸)
尽管这一方法是朴素的,但它使用了三个当时先进的加速技术:
积分图像 Integral image:Haar小波 Haar wavelet被用作图像的特征。积分图像使得每个窗口的计算复杂度依赖于其独立的窗口大小,从而加速计算。
特征选择 Feature selcetion:使用Adaboost算法从一大组随机特征池中选择一小组最有利于面部检测的特征来代替基于手工选择的Haar滤波特征。
级联检测 Detection cascades:一种高效的分类策略,通过在背景框中花费更少的计算,而在脸部目标中花费更多的计算来降低计算复杂度。
②HOG Detector
方向梯度直方图 Histogram of Oriented Gradients,HOG是一种特征描述子,在2005年被N. Dalal and B. Triggs提出,最初用于行人检测,可用于不同种类物体的识别,是许多目标检测器和近年来许多计算机视觉应用的基础。
HOG可被视为一种尺度不变特征转换SIFT和形状上下文的改进。为了平衡特征不变性(平移、放缩、放射)和非线性变换,HOG特征描述子在均匀间隔单元的稠密网格上计算,并使用重叠的局部对比度归一化来提高精度,因此它是基于局部像素块进行特征直方图提取的一种算法,在目标局部变形和局部受光影响下都有很好的稳定性。
HOG为了适应检测物体的不同尺寸,通过多次放缩输入图像的大小来使得窗体的大小无需改变。
③Deformable Part-based Model (DPM)
DPM是VOC 07-09年目标检测任务的获奖者,是传统目标检测方法的顶峰,最早由P. Felzenszwalb在2008年提出,被视为对HOG检测器的扩展,然后又经过 R. Girshick进行了一系列的提高,许多当今的目标检测方法都深受其影响。
DPM遵循检测哲学“分而治之”,可将训练视为对分解物体的正确方法的学习,推理视为对不同物体部分的检测,如将检测一辆车视为检测它的车窗、车身和轮子。这部分工作被称为星形模型star-model,由P. Felzenszwalb完成,后由 R. Girshick扩展为混合模型mixture-model,来解决真实世界中具有更多变化的物体。
一个典型的DMP检测器由一个主滤波器root-filter和一些辅助滤波器part-filters组成。DMP通过一种弱监督学习方法,即所有辅助滤波器的配置可以通过潜变量自动地学习,来替代手工设置辅助滤波器的配置。
精度を向上させるために、ハード ネガティブ マイニング、バウンディング ボックス回帰、コンテキスト プライミングなどの他の重要なテクニックも適用されます。
検出を高速化するために、R. Girshick は、精度を損なうことなく 10 倍高速化できる、カスケード フレームワークを実装したより高速なモデルにモデルを「コンパイル」できる手法も提案しました。
DPM方式は、従来の物体検出アルゴリズムのSOTA(最新技術)であり、演算速度が速く、物体の変形にも適応できるが、大規模な回転には適応できないため、安定性が低い。
- CNN ベースの物体検出器
従来の検出器が飽和状態に達したため、2010 年頃に物体検出がボトルネックに達しました。CNN は 2012 年に生まれ変わり、RCNN は 2014 年にターゲット検出タスクに導入されました。それ以来、ターゲット検出は前例のないスピードで発展してきました。ディープラーニングの分野では、物標の検出は2段階検出と1段階検出の2つに分類され、前者は対象検出を「粗いものから細かいものまで」のプロセスとして捉え、後者は物標の検出を「1つの段階」として捉えます。 -stepプロセス」のプロセス。
- CNN ベースの 2 次検出器
2次検出器は、ターゲットの検出を候補領域検出(ターゲットが存在する可能性のある領域を見つける)+分類(ターゲットを分類する)、つまり候補検出+検証の2段階に分けます。
①RCNN _
基本思想:通过选择性搜索selective search提取一组目标候选框 → 将每个目标候选框缩放大小为同一图像丢入AlexNet提取特征 →通过线性SVM分类器预测每个区域是否存在物体以及物体的种类
RCNN在VOC07目标检测任务上在平均精度mean Average Precision指标上大幅优于DPM-V5,但它的缺点也很明显:在重叠目标候选框上的重复特征计算导致其检测速度很慢。
②SPPNet
SPPNet在2014年被提出,其主要贡献在于:提供了空间金字塔池层 Spatial Pyramid Pooling(SPP) layer,可以产生固定长度的特征而不用考虑输入图像的尺寸并不做缩放。
另外,SPPNet的特征只需被计算一次,任意区域的固定长度的特征可以被生成来训练模型,避免了卷积特征的重复计算。在不损失精度的情况下,比RCNN快20倍。
不足:训练仍是多阶段的;SPPNet仅对全连接层进行微调,对之前的层没有进行改进。
③Fast RCNN
Fast RCNN在2015年被提出,能够在网络配置不变的情况下同时训练目标检测器和边框回归器。
Fast RCNN在平均准确率和速度方面大幅超过RCNN和SPPNet,但它的检测速度仍受限于候选框的检测。
④Faster RCNN
Faster RCNN は 2015 年に提案され、初のエンドツーエンドのほぼリアルタイムの検出器です。
その主な貢献は次のとおりです:領域提案ネットワーク (RPN)が提案され、候補領域でほぼゼロコストを達成できる領域提案ネットワーク (RPN) は、ほとんどの独立したモジュール (候補領域検出、特徴抽出、フレーム回帰など) を 1 つのモジュールに統合します。統合されたエンドツーエンドの学習フレームワーク。
Faster RCNN は Fast RCNN の検出速度のボトルネックを克服しますが、二次検出段階では依然として計算が繰り返されます。
⑤機能ピラミッドネットワーク
フィーチャ ピラミッド ネットワークは、Faster RCNN に基づいて 2017 年に提案されました。
以前は、ほとんどの深層学習ベースの検出器はネットワークの最上位層でのみ検出を行っていましたが、ネットワークの深さは分類には有益ですが、位置特定には影響しませんでした。この目的を達成するために、Feature Pyramid Networks は、横方向の接続を水平に接続して、さまざまなサイズの画像のより高いレベルのセマンティクスを構築するトップダウン アーキテクチャを開発しました。
通常、順伝播によって特徴ピラミッドネットワーク構造を構築する CNN と比較して、FPN はターゲット検出においてさまざまなサイズのネットワーク構造の利点を示します。
FPN ターゲットは、多くの最先端の検出器の基本的な構成要素となっています。
- CNN ベースの一次検出器
① You Only Look Once(YOLO)
YOLO在2015年被提出,是基于深度学习的第一个一阶检测器。相比于二阶检测器,检测速度得到了大幅提升,但牺牲了一定精度,尤其对于小目标问题。
通过一个单独的神经网络定位并分类图像。该网络将图像划分成不同区域,并同时预测边框盒子以及各区域存在物体的可能性。
②Single Shot MultiBox Detector (SSD)
SSD在2015年被提出,其主要贡献是:提出了多参考 multi-reference和多分辨率 multi-resolution检测技术,能够显著提高一阶检测器的准确率,尤其针对小目标,达到了速度和准确率的双高。
SSD与之前任何检测器的主要不同在于:SSD对于不同尺寸的图像使用不同层数的网络,其他检测器只在网络顶层进行检测。
③RetinaNet
作者提出:一阶检测器的精度低于二阶检测器精度的主要原因在于:训练稠密检测器时遇到极端的前景、背景类的不平衡。
一种新的损失函数焦点损失focal loss被提出,用于修改标准的交叉熵损失函数以便检测器能够在训练中将更多精力放在困难的、分类错误的样本。
RetianNet达到了同二阶检测器相当的精度,同时保持很高的检测速度。
3.数据集
- Pascal VOC (2005-2012):VOC07、VOC12最常用,现在已经不用
- ILSVRC(2010-2017)
- MS-COCO(2015-)
- Open Images(2018-)
- Other Datasets in specific areas
4.性能度量
- FPPW、FPPI
目标检测早期没有被广泛接受的评价指标,在早期行人检测任务中先后使用FPPW(miss rate vs false positives per-window)和FPPI(false positives vs per-image)作为性能度量指标。
①FPPW:横轴:miss rate=FN / P;纵轴:false positive per-window=FP / number of window
②FPPI:横轴:miss rate=FN / P;纵轴:false positive per-image=FP / number of image
- IoU(Intesection over Union)、AP(Average Precision)、mAP(mean Average Precision
最初由VOC07提出,多年来成为目标检测的性能度量标准
①IoU:交并比
②AP:对PR曲线的纵轴Precision求平均,由于Recall∈[0,1],则对于PR曲线而言,AP即PR曲线与横轴所成图形的面积,实际计算不对PR曲线求积分,而通过平滑近似(具体的近似计算方法)
③mAP:AP是计算单个类别检测的指标,mAP将所有类别物体的AP取平均
- MS-COCO AP
COCO的AP不再考虑单个种类目标检测的AP,它只考虑全部类别的mAP,COCO的AP实际是mAP。另外,COCO AP计算时,不再使用固定阈值0.5的IoU,而是从0.5-0.95每隔0.05计算一次(共10次)的mAP并取平均。
- 其他性能度量指标
近年来一些新的性能度量指标也被提出,如localization recall precision等,但VOC/COCO-based mAP仍是主流的性能度量指标
A Dual Weighting Label Assignment Scheme for Object Detection
本节对CVPR2022年收录的A Dual Weighting Label Assignment Scheme for Object Detection进行简要总结,以便加深理解和记忆。
1.摘要
标签分配(LA)旨在为每个训练样本分配正(pos)和负(neg)损失权重,在目标检测中起着重要作用。现有的LA方法主要集中于正权重函数的设计,而负权重直接从正权重中导出。这种机制限制了检测器的学习能力。在本文中,我们探索了一种新的加权范式,称为双重加权(DW),以分别指定正负权重。我们首先通过分析目标检测中的评估指标来确定正负权重的关键影响因素,然后基于它们设计正负权重函数。具体而言,样本的正权重取决于其分类和定位分数之间的一致性程度,而负权重被分解为两个项:它是负类样本的概率和它的重要性取决于它是一个负类样本。这种加权策略提供了更大的灵活性来区分重要和不太重要的样本,从而产生了更有效的目标检测器。使用所提出的DW方法,单个FCOS-ResNet-50检测器在1×调度下可在COCO上达到41.5%mAP,优于其他现有LA方法。它一致地在没有附加功能的各种主干下大幅度地改进了COCO的基线。代码见: https://github.com/strongwolf/DW
.
2.介绍
目标检测作为一项基本的视觉任务,几十年来一直受到研究者的广泛关注。最近,随着卷积神经网络(cnn)[13-15,34-37]和Visual Transformer(ViTs)[4,6,8,10,27,39,40,42,50]的发展,社区见证了检测器的快速发展。目前最先进的检测器[1,22,24,29 - 31,38,46,48,49]主要通过使用一组预定义的锚点预测类别标签和回归偏移来执行密集检测。作为检测器训练的基本单元,锚需要分配适当的分类(cls)和回归(reg)标签,以监督训练过程。这样的标签分配(LA)过程可以被视为向每个锚分配损失重量的任务。锚的cls损失(reg损失可以类似地定义)通常可以表示为:
L c l s = − w p o s × l n ( s ) − w n e g × l n ( 1 − s ) L_{cls} = −w_{pos }× ln (s) − w_{neg} × ln (1 − s) Lcls=−wpos×ln(s)−wneg×ln(1−s)
其中, w p o s w_{pos} wpos和 w n e g w_{neg} wneg分别为正类和负类权重,s为预测分类得分。根据 w p o s w_{pos} wpos和 w n e g w_{neg} wneg的设计,LA方法可以大致分为两类:硬LA和软LA。
Hard LA假设每个锚为正或负,这意味着, w p o s w_{pos} wpos, w n e g w_{neg} wneg∈{0,1},, w p o s w_{pos} wpos+ w n e g w_{neg} wneg=1。该策略的核心思想是找到一个合适的分割边界,将锚点分割为正集合和负集合。沿着这条研究路线的划分规则可以进一步分为静态和动态两类。静态规则[18,24,32,38]采用预定义的度量,例如IoU或从锚点中心到ground truth(GT)中心的距离,以将目标或背景相互匹配。这样的静态分配规则忽略了这样一个事实,即具有不同大小和形状的目标的分割边界可能不同。最近,已经提出了许多动态分配规则[12,26]。例如,TSS[44]根据对象的IoU分布分割对象的训练锚点。预测感知分配策略[4,17,19]将预测的置信度分数视为估计锚质量的可靠指标。静态和动态赋值方法都忽略了样本并不同等重要的事实。目标检测中的评估度量表明,最佳预测不仅应该具有高分类分数,而且应该具有准确的定位,这意味着cls-head和reg head之间具有更高一致性的锚点在训练期间应该具有更大的重要性。
基于上述动机,研究人员选择为锚定器分配软权重。GFL[21]和VFL[43]是两种典型的方法,它们基于IoU定义软标记目标,然后通过乘以调制因子将其转换为损失权重。其他一些工作[9,11]通过联合考虑reg分数和cls分数来计算样本权重。现有的方法主要集中于正类加权函数的设计,而负类权重简单地从正类权重导出,这可能会由于付类权重提供的很少新的监督信息而限制检测器的学习能力。我们认为,这种耦合加权机制不能在更精细的水平上区分每个训练样本。
图1显示了一个示例,四个锚具有不同的预测结果。然而,GFL和VFL分别为(B,D)和(C,D)分配几乎相同的(正,负)权重对。GFL还将零位和负位权重分配给锚A和C,因为每个锚都具有相同的cls分数和IoU。
图1.所提出的DW方法与现有标签分配方法(例如GFL[21]和VFL[43])之间的差异说明。对于不明确的锚B、C和D,GFL和VFL将分别为{B、D}和{C、D}分配几乎相同的正负权重。相反,我们的DW为每个锚点分配一个不同的(正,负)对
由于在现有的软LA方法中,负权重函数与正权重函数高度相关,因此有时可以为具有不同属性的锚点分配几乎相同的(正,负)权重,这可能会削弱训练的检测器的有效性。
より識別力のある監視信号を検出器に提供するために、異なる観点から正と負の重みを割り当て、相互に補完する二重重み付け (DW) と呼ばれる新しい LA スキームを提案します。具体的には、正のクラスの重みは、信頼スコア (cls ヘッダーから取得) と負のクラス スコア (reg ヘッダーから取得) の組み合わせによって動的に決定されます。各アンカーの負の重みは、それが負のサンプルである確率と、負のサンプルであることを条件とする重要性の 2 つの項に分解されます。正のクラスの重みは、cls ヘッドと reg ヘッドの間の一貫性の度合いを反映し、より一貫性の高いアンカーを押してアンカー リスト内で前に進みます。一方、負の重みは、不一致の度合いを反映し、より一貫性の高いアンカーを押します。アンカー リストを前方に移動します。ポイントをリストの後方に押します。このようにして、推論の際、cls スコアが高く、位置がより正確な境界ボックスは NMS 後に生き残る可能性が高くなりますが、位置が不正確な境界ボックスは遅れて除外されます。図 1 を参照すると、DW は、異なる (pos、neg) 重みペアを割り当てることによって 4 つの異なるアンカーを区別します。これにより、検出器に対してよりきめの細かい教師付きトレーニング信号を提供できます。
重み関数のより正確な reg スコアを提供するために、ボックス改良操作をさらに提案します。具体的には、粗い回帰マップから 4 つの境界位置を生成し、それらの予測を集約して現在のアンカーの更新された境界ボックスを取得する学習予測モジュールを設計します。この軽量モジュールにより、適度な計算オーバーヘッドを導入することで、より正確な reg スコアを DW に提供できるようになります。
この方法の優位性は、MS COCO の包括的な実験によって実証されています [23]。特に、ResNet50 [13] バックボーンを備えた FCOS [38] 検出器を、一般的な 1x トレーニング スキームに基づく COCO 検証セットのボックス改良なしで 41.5/42.2 AP に改善し、他の LA 手法を上回ります。
3. 関連作品
ハードラベルの割り当て各アンカーを陽性サンプルまたは陰性サンプルとしてラベル付けすることは、検出器をトレーニングする際の重要なステップです。古典的なアンカーベースのオブジェクト検出器 [24、32] は、GT オブジェクトで IoU を測定することによってアンカーのラベルを設定します。近年、アンカーフリー検出器は、そのすっきりとしたデザインと同等の性能により多くの注目を集めています。FCOS [38] と Foveabox [18] は両方とも、中心サンプリング戦略によって位置サンプルを選択します。トレーニング中、GT の中心に近いアンカーはポジティブ クラスとしてサンプリングされ、他のアンカーはネガティブ クラスとしてサンプリングされるか無視されます。上記の LA メソッドは、さまざまな形状やサイズの GT ビンに固定ルールを採用していますが、これは最適ではありません。
いくつかの高度な LA 戦略 [12、16、17、25、28、44] は、GT ごとに pos サンプルを動的に選択するために提案されています。TSS [44] は、機能ピラミッドの各層から上位 k 個のアンカーを選択し、これらの上位アンカー + 標準 IoU の平均値を pos/neg 分割しきい値として使用します。PAA [17] は、cls と reg loss の結合状態に基づいて、確率論的な方法でアンカーを pos/neg に適応的に分離します。OTA [12] は、グローバルな観点から LA 問題に対処し、割り当てプロセスを最適なトランスポート問題として定式化します。トランスベースの検出器 [4、6、27、50] は、1 対 1 の割り当てスキームを採用して、各 GT の最適な位置サンプルを見つけます。ハード LA はすべてのサンプルを同等に扱いますが、物体検出の評価メトリクスとの互換性が低くなります。
ソフトラベルの割り当て予測ボックスの評価品質が異なるため、トレーニング中にサンプルを異なる方法で処理する必要があります。トレーニングサンプルの不平等に対処するために、多くの研究 [3、20–22、43] が提案されています。焦点損失 [22] は、クロスエントロピー損失に変調係数を追加して、適切に分類されたサンプルに割り当てられる損失の重みを軽減します。これにより、検出器は硬いサンプルに焦点を合わせるようになります。cls スコアと定位品質の両方を総合的に考慮して、一般化焦点損失 [21] は各アンカーにソフトな重みを割り当てます。Varifocal loss [43] は、IOU を認識する cls ラベルを利用して cls ヘッドをトレーニングします。上記のメソッドのほとんどは pos の重みの計算に焦点を当てており、単に負の重みを1 − wpos 1 - w_{pos}として定義します。1−wpos _関数。このペーパーでは、このプロセスを分離し、正および負の損失重みを各アンカーに個別に割り当てます。ほとんどのソフト LA メソッドは損失に重みを割り当てます。重みが分数に割り当てられる特殊なケースがあり、次のように定式化できます。L cls = − ln ( wpos × s ) − ln ( 1 − wneg × s ) L_{cls} = − ln (w_{pos} × s) − ln (1 − w_{neg} × s)Lクラス_ _=− l n ( wpos _×s )−l n ( 1−wいいえ_ _×s )。代表的な方法としては、FreeAnchor [45] や Autoassign [47] などがあります。私たちのアプローチは彼らのアプローチとは異なることに注意してください。まったく異なる方法でアンカーを照合するには、自動割り当てでwpos w_{pos}wpos _和 w n e g w_{neg} wいいえ_ _グラデーションは引き続き受け入れられます。ただし、私たちの方法では、損失の重みは慎重に設計されており、ネットワークから完全に切り離されています。これは重み付き損失の一般的な方法です。
4. 提案手法
1) 動機と枠組み
为了与NMS兼容,一个好的密集检测器应该能够预测具有高分类分数和精确位置的一致边界框。但是,如果所有的训练样本都被同等对待,那么两个头部之间就会出现错位:类别得分最高的位置通常不是回归对象边界的最佳位置。这种失准会降低检测器的性能,尤其是在高IoU度量下。软LA通过加权损失以软方式处理训练样本,旨在增强cls和reg头之间的一致性。对于软LA,锚的损失可以表示为:
L c l s = − w p o s × l n ( s ) − w n e g × l n ( 1 − s ) L r e g = w r e g × ℓ r e g ( b , b ′ ) L_{cls} = −w_{pos} × ln(s) − w_{neg} × ln(1 − s) \\ L_{reg} = w_{reg} × ℓ_{reg} (b, b′) Lcls=−wpos×ln(s)−wneg×ln(1−s)Lreg=wreg×ℓreg(b,b ' )
ここで、 s は予測された cls スコア、b と b' はそれぞれ予測されたバウンディング ボックスと GT オブジェクトの位置、およびℓ reg ℓ_{reg}ℓ規則_は、スムーズ L1 損失 [32]、IoU 損失 [41]、GioU 損失 [33] などの回帰損失です。より大きなwpos w_{pos}を追加することでwpos _日本語wreg w_{reg}w規則_より一貫性の高いアンカーに割り当てると、cls ヘッダーと reg ヘッダー間の不整合の問題を軽減できます。したがって、これらのよく訓練されたアンカーは、推論時に高い cls スコアと正確な位置を同時に予測できます。
既存の作品は通常w_{reg} を破壊しますw規則_wpos w_{pos}と等しく設定しますwpos _、一貫性を定義し、それを減量に統合する方法に主に焦点を当てています。表 1 は、最近の代表的な手法のうち pos アンカーのwpos w_{pos}をまとめたものですwpos _和 w n e g w_{neg} wいいえ_ _図式。
現在の方法では、通常、アンカー レベルの 2 つのヘッド間の一貫性の度合いを表すメトリック t を定義し、その後、不一致メトリックを 1 − t の関数として設計していることがわかります。一貫性のあるメトリクスと一貫性のないメトリクスは、最終的にスケーリング係数 ( ( s − t ) 2 (s−t)^2 をそれぞれ追加することでスケーリングされます。( s−t )2 ,s 2 s^2s2または t) 正および負の損失ウェイトに統合されます。
上記のwpos w_{pos}とwpos _和 w n e g w_{neg} wいいえ_ _相関性の高い方法とは異なり、予測を意識した方法で正と負の重みを個別に設定することを提案します。このうち、pos Weight 関数は、予測された cls スコア s と、予測されたボックスと GT オブジェクト間の IOU を入力として受け取り、cls ヘッダーと reg ヘッダー間の一貫性の度合いを推定することで pos 重みを設定します。負の重み関数は、pos 重み関数と同じ入力を受け取りますが、負の重みを 2 つの項 (アンカーが負である確率と負のアンカーの重要度) の乗算として表します。このようにして、類似の位置重みを持つファジーアンカーは、既存の方法では達成できない、よりきめの細かい異なる負の重みを持つ監視信号を受信できます。
DW フレームワークのパイプラインを図 2 に示します。
図 2 DW パイプライン。左側は、バックボーン、FPN、検出ヘッドで構成される全体的な検出モデルです。分類ブランチ (H × W × C) と中心性ブランチ (H × W × 1) の出力は、最終的な cls スコアとして乗算されます。ボックス改良モジュールは、4 つの予測境界点 (H × W × 8) を利用して、粗い予測 (H × W × 4) をより細かい位置に調整します。右側の部分は重み付けのプロセスを示しています。オブジェクトが与えられると、まずオブジェクトの中心に近いアンカーを選択して、候補アンカーのバッグを構築します。次に、各アンカーには、さまざまな側面から正の重みと負の重みが割り当てられます。
一般的な方法 [9、11、12、38] として、まず GT の中心に近いアンカー (事前中心) を選択することによって、各 GT オブジェクトの候補となるポジティブ クラスのセットを構築します。候補バッグの外側にあるアンカーは、ネガティブ サンプルとみなされ、その統計 (IoU、cls スコアなど) がトレーニングの初期段階で非常にノイズが多いため、重み付け関数の設計プロセスには参加しません。候補パッケージ内のアンカーはwpos w_{pos}に割り当てられますwpos _、wneg w_{neg}wいいえ_ _日本語wreg w_{reg}w規則_トレーニング プロセスをより効果的に監視するための 3 つの重み。
2) 正の重み付け関数
サンプルの位置重みは、分類と位置特定における正確な物体検出に対するその重要性を反映する必要があります。私たちは、物体検出の評価指標を分析することによって、何がこの重要性に影響を与えるかを明らかにしようとしています。COCO でのテスト中、クラスのすべての予測はランキング メトリックに従って適切にランク付けされる必要があります。既存の方法では、通常、cls スコア [32] または cls スコアと予測 IOU [44] の組み合わせをランキング指標として使用します。ランク付けされたリストから開始して、各境界ボックスが正確であるかどうかがチェックされます。予測は、次の場合にのみ正しく予測されたと定義されます。
a) 予測されたバウンディング ボックスとその最も近い GT オブジェクトの間の IoU がしきい値 θ より大きい。
b) 上記の条件を満たすボックスは、現在のボックスの前にはランクされません。
全体として、予測リスト内の IoU が θ より大きい最初の境界ボックスのみが pos 検出として定義され、他の境界ボックスは同じ GT の偽陽性とみなされます。より高いランキング スコアとより高い IoU は両方とも、pos 予測の十分かつ必要な条件であることがわかります。これは、両方の条件を満たすアンカーはテストで位置予測として定義される可能性が高いため、トレーニングではより重要性が高いことを意味します。この観点から、pos 重みwpos w_{pos}wpos _IoU およびランク スコアと正の相関がある必要があります。つまり、wpos w_{pos}wpos _∝IoU和 w p o s w_{pos} wpos _∝s。pos 関数を指定するには、まず、2 つの条件間の整合性を測定するために、t で示される一貫性尺度を定義します。
t = s × IoU β t = s × IoU^βt=s×アイ・オー・ユーβ
ここで、β は 2 つの条件のバランスをとるために使用されます。異なるアンカー間の pos の重みの差を大きくするために、指数変調係数を追加します:
wpos = e µ t × t w_{pos} = e^{µt} × twpos _=et_ _×t
ここで、μ は、異なる位置の重み間の相対ギャップを制御するハイパーパラメータです。最後に、各インスタンスの各アンカーの pos 重みは、候補バッグ内のすべての pos 重みの合計によって正規化されます。
3) 負の重み付け関数
pos の重みを使用すると、一貫したアンカーに高い cls スコアと大きな IoU の両方を持たせることができますが、一貫性のないアンカーの重要性を pos の重みによって区別することはできません。図 1 を参照すると、アンカー D の位置は細かくなります (IoU が θ より大きい) が、cls スコアは低くなります。一方、アンカー B の位置は粗くなります (IoU が θ より小さい) が、cls スコアは高くなります。それらは同じ度合いの一致 t を持っている可能性があるため、違いを反映していない同じ強さで前進することになります。より識別的な監視情報を検出器に提供するために、次の 2 つの項の積として定義される、より明確な負の重みを検出器に割り当てることで、その重要性を忠実に示すことを提案します。
a) 陰性サンプルである確率
COCO の評価指標によれば、IoU が θ より小さいことは、誤った予測の十分条件となります。これは、IoU メトリクスを満たさない予測されたバウンディング ボックスは、cls スコアが高い場合でも陰性検出とみなされます。つまり、IoU は、Pneg で表される陰性サンプルの確率を決定する唯一の要素です。COCO は 0.5 ~ 0.95 の範囲の IoU 間隔を使用して AP を推定するため、境界ボックスの確率 Pneg は次のルールを満たす必要があります。
区間 [0.5,0.95] で定義された単調減少関数はP neg P_{neg}を満たします。Pいいえ_ _。为简单起见,我们将 P n e g P_{neg} Pneg实例化为以下函数:
P n e g = − k × I o U γ 1 + b , i f I o U ∈ [ 0.5 , 0.95 ] P_{neg} = −k × IoU ^{γ1} + b, \; if \;IoU ∈ [0.5,0.95] Pneg=−k×IoUγ1+b,ifIoU∈[0.5,0.95]
它经过点(0.5,1)和(0.95,0).一旦确定了γ1,就可以用待定系数法得到参数k和b。图3绘制了不同γ1值下 P n e g P_{neg} Pneg与IoU的曲线。
在推理时,排名表中的阴性预测不会影响查全率,但会降低查准率。为了延迟这一过程,负包围框的排名应该尽可能地靠后,即它们的排名分数应该尽可能地小。基于这一点,排名分数大的负预测比排名分数小的负预测更重要,因为它们是网络优化的更难的例子。因此,负类样本的重要性,用 I n e g I_{neg} Ineg表示,应该是排名得分的函数。为简单起见,我们设它为:
I n e g = s γ 2 I_{neg} = s^{γ2} Ineg=sγ2
ここで、γ2 は重要な陰性サンプルをどの程度優先するかを示す係数です。
最後に負の重みを取得します。wneg = P neg × I neg w_{neg} = P_{neg} × I_{neg}wいいえ_ _=Pいいえ_ _×私いいえ_ _
IoU と負の相関があり、s と正の相関があります。同じ pos 重みを持つ 2 つのアンカーの場合、IOU が小さいアンカーの負の重みが大きくなることがわかります。wneg w_{neg}wいいえ_ _の定義は推論プロセスとよく互換性があり、ほぼ同じ位置重みを持つファジーアンカーをさらに区別できます。例については図 1 を参照してください
4) ボックスの改良
正の重み付け関数と負の重み付け関数は両方とも IOU を入力として受け取るため、より正確な IOU はより高品質のサンプルを誘導でき、より強力な特徴を学習するのに有益です。予測されたオフセット マップ O∈RH×W×4 に基づいて、境界ボックスのボックス改良演算を提案します。ここで、O(j, i) = {∆l,∆t,∆r,∆b} は、からの予測距離を示します。 GT オブジェクトの左端の l、上端の t、右端の r、および下端の b 面までの点の中心を図 4 に示します。
図4. ボックス改良操作の説明。4 つの距離 = {∆l, ∆t, ∆r, ∆b} を予測することにより、位置 (j,i) に固定された粗い境界ボックス (オレンジ色のボックス) が最初に生成されます。次に、4 つの境界点 (オレンジ色の点) が 4 つのエッジ点 (緑色の点) に対して予測されます。最後に、4 つの境界点の予測結果が集約されて、より詳細な境界ボックス (緑色のボックス) が得られます。オブジェクトの境界に近い点は正確な位置を予測する可能性が高いという事実に基づいて、粗い境界ボックスに基づいて各辺の境界点を生成する学習可能な予測モジュールを設計します。
図 4 から、4 つの境界点の座標が次のように定義されていることがわかります。
このうち、∆ lx 、 ∆ ly 、 ∆ tx 、 ∆ ty 、 ∆ rx 、 ∆ ry 、 ∆ bx 、 ∆ by {∆^x_l、∆^y_l、∆^x_t、∆^y_t、∆^x_r、∆^y_r、 Δ^x_b,Δ^y_b}Δ私×,Δ私はい,Δt×,Δtはい,Δr×,Δrはい,Δb×,Δbはいは改良モジュールの出力です。
改良されたオフセット マップ O' は次のように更新されます。
5) 損失関数
提案された DW スキームは、ほとんどの既存の高密度検出器に適用できます。本稿では、代表的な高密度検出器 FCOS [38] を採用して DW を実現します。図 2 に示すように、ネットワーク全体の構造はバックボーン ネットワーク、FPN、検出ヘッドで構成されます。規則 [11、38、47] に従って、中心性ブランチと分類ブランチの出力を最終的な cls スコアとして乗算します。ネットワークの最終的な損失は次のとおりです:
L det = L cls + β L reg L_{det} = L_{cls} + βL_{reg}Lデット_ _=Lクラス_ _+βL _規則_
式中の β はバランス係数であり、式 3 のバランス係数と同じです。
ここで、N と M は候補バッグの内側と外側のアンカーの総数、FL は焦点損失 [22]、GIoU は回帰損失 [33]、s は予測された cls スコア、b と b' は次の位置です。それぞれ、予測されたボックスと GT オブジェクトです。
5. 実験
6 結論
我们提出了一种自适应标签分配方案,称为双加权(DW),以训练精确的密集目标检测器。DW打破了以往密集检测器耦合加权的惯例,通过从不同方面估计一致性和不一致性指标,为每个锚点动态分配单个pos和negg权重。还开发了一种新的框细化操作,以直接细化回归图上的框。DW与评价指标高度兼容。在MS COCO基准上的实验验证了不同骨干网下DW的有效性。无论是否进行盒子改进,ResNet-50的DW分别达到了41.5 AP和42.2 AP,记录了最新的技术水平。作为一种新的标签分配策略,DW对不同的检测头也表现出良好的泛化性能。
目标检测对社会的负面影响主要来自于军事应用的滥用和隐私问题,在将该技术应用于现实生活之前需要仔细考虑。
缺陷检测
基于深度学习的钢铁瑕疵检测算法研究
本节参考电子科技大学2022年的工程硕士学位论文基于深度学习的钢铁瑕疵检测算法研究,以便学习论文撰写结构和方法、了解工业缺陷检测、积累改进点。
1.介绍
1.1钢铁瑕疵检测
1)钢铁表面可能存在裂纹、斑块、划痕、夹杂等缺陷,瑕疵缺陷检测是保证钢铁产品质量的重要一环
2)具体任务分类
①判断图像表面是否存在瑕疵缺陷
②检测图像中的缺陷位置,但不对瑕疵类别做进一步区分
③检测缺陷位置的同时,对瑕疵类别进行进一步区分
④缺陷分割
3)传统方法:漏磁检测、红外检测、涡流检测
4)难点:背景复杂、小目标问题突出、边界模糊、大量标签数据难获取、数据分布不平衡、图像采集环境不理想
5)实验数据集
东北大学开源的 NEU_DET数据集;Kaggle平台的KSSD钢铁数据集
1.2目标检测
1)任务:分类、位置回归
2)传统方法:基于模板匹配技术、基于组件的检测方法、基于几何表示的方法、基于统计分类器的方法等
3)典型的单阶检测方法:YOLO、SSD等
4)典型的二阶检测方法:Fast R-CNN、Faster R-CNN、Mask R-CNN等
1.3迁移学习
1)训练数据和测试数据在相同的特征空间中,不一定拥有着相同的数据分布;当面对一个新的数据分布时,如何减少模型训练对标注数据的依赖是一个非常值得关注的问题。
2)通过在不同的任务领域之间进行知识的迁移,来降低重新收集训练数据所需要的成本:即将不同但是跟目标域相关的源领域的知识进行迁移,来提高在目标域上的效果,从而减少构建目标域模型时对大量目标域有标签数据的依赖。
知识迁移的两个领域必须有着一定的相关性,否则可能无效甚至产生负迁移现象。
3)方法:基于差异的(通过微调的方法来减小域差异的问题)、基于对抗的(利用域鉴别器来对源域和目标域进行区分,然后利用对抗训练的方法对域进行混淆)、基于重建的(通过重构源域或者目标域图像来提 升在目标域上的效果)、混合的等
1.4Faster R-CNN
共享的底层卷积神经网络(提取特征)、区域生成网络RPN(获得检测目标的候选位置区域)、ROIPooling及ROIAlign、ROI分类及回归网络、非极大值抑制NMS
2.方法应用|改进点
2.1COPY-PASTE方法
将瑕疵区域从所有图像中裁剪下来,然后将这些瑕疵随机地粘贴到图像上,从而生成更多的训练数据,同时增加了图片中物体数量和瑕疵区域的占比大小。
2.2标签尺度抖动
对于非刚性的检测目标,对物体标注的真实标签做一个小 范围内的尺度随机抖动,从而减缓标注误差带来的影响,且能够提高模型的泛化能力。
2.3多尺度的特征金字塔FPN
多尺度训练的方法能够使得模型能够在不同尺度输入上都有较好的泛化性
①ボトムアップ経路:高レベルの意味情報を取得します。
②トップダウン経路:高レベルの意味情報と低レベルの画像情報を結合し、得られる特徴マップの解像度が高く、強力な意味情報を持ちます。
③水平接続パス:異なるサイズの複数レベルの特徴マップを使用して同時に予測し、異なるスケールのオブジェクトを効果的に検出できます
2.4 変形可能な畳み込み DCN モジュール
1) 動機: 通常の畳み込み構造は、固定された幾何学的位置でデータのみをサンプリングするため、モデルの幾何学的変換能力が制限され、多様な欠陥に対する特徴抽出能力が十分ではありません。
2) 変形可能な畳み込みモジュール DCN は入力データから追加の位置オフセット情報を学習し、その位置オフセット情報を使用してサンプリングするため、DCN は入力データに従って適応サンプリングを実行し、さまざまな形式を含む畳み込み計算に適応できます。スケール変更、アスペクト比変更、回転などの変形を行います。
2.5 ROIAlign とコンテキストセマンティック情報の組み合わせ
一部のタスクでは、候補エリア周辺の環境情報も ROI の回帰と分類にとって非常に重要です。
コンテキスト意味情報と組み合わせた改良された方法は次のとおりです。ROI 位置合わせ操作中に、後続のネットワークに入力された ROI 領域が拡大されます。つまり、ROI 位置合わせ操作の入力は拡大された領域の位置であり、 ROI エリアと周囲のコンテキスト エリア その中の情報は、ROI の分類と回帰に役立ちます。
2.6 回帰と分岐のデカップリング
画像分類と境界ボックス回帰を分離します。研究によると、分類ブランチと回帰ブランチの間に矛盾があることがわかっています。畳み込みヘッドと比較して、全結合ヘッドは不完全なオブジェクト領域をより堅牢に分類できますが、回帰サブタスクの効果が低いため、分類により適しています。畳み込み層ヘッドはその逆で、より正確な位置情報を提供できますが、分類タスクでは効果が低いため、回帰タスクにより適しています。
2.7 クロスドメインシナリオにおけるドメイン適応型検出アルゴリズム
さまざまな鉄鋼欠陥データセット上の欠陥フィーチャは行 t-SNE によって視覚化され、図内の各点は欠陥ターゲットを表します。異なるフィールドの欠陥のあるデータには明らかな違いがあります。この違いにより、異なるフィールドのデータから学習した知識を相互に直接適用することができなくなります。多くの場合、各フィールドはモデルのトレーニングのために対応するラベル付きデータを取得する必要があります。
DA Faster R-CNNモデル: 確率の観点から、クロスドメイン シーンのドメイン シフト問題が理論的に分析され、ソース ドメイン画像とターゲット ドメイン画像の分布の差が H 発散によって測定され、 H divergence Adversarial training はこのモデルを提案しており、ドメイン不変の特徴を抽出することにより、この適応手法はターゲット ドメイン データがラベル付けされていない場合に非常に効果的であり、現実世界のシナリオでのトレーニング データ不足の問題を軽減できます。元の構造、イメージレベルの適応特徴配置ブランチ、インスタンスレベルの適応特徴配置ブランチ、一貫性制約コンポーネントを保持します。
2.8 スケールマッチング位置合わせ法
スケール差もドメイン差の一種であり、この差の発生は照明等によるドメイン差と同様である。
① 対象領域内の物体のスケールサイズ分布を計算する グラウンドトゥルースラベルによれば、両端の極値を除去した後、スケール分布区間を数十の小さな区間に分割し、その領域におけるオブジェクトの分布確率を計算します。小さな間隔ごとのターゲット ドメイン
②ソースドメインの検出対象のサイズをターゲットドメインの確率分布に従って分割します。つまり、区間の終点におけるソースドメインオブジェクトの対応する確率のスケールサイズを計算し、上限と対応する分布確率におけるソース ドメイン画像の各区間の下限
③ モデルのトレーニング プロセス中に、ソース ドメイン画像ごとに、グラウンドトゥルース ラベルに従って画像上のすべてのターゲットの平均サイズ s を計算します。
④検出された物体の平均サイズsに基づいて、物体サイズsに対応する物体サイズ分布間隔nを取得し、ターゲットドメインサイズ分布のn番目の間隔で一様分布サンプリングを実行して、対応する物体サイズsを取得します。ターゲット ドメイン ∗ でソース ドメイン イメージを s ∗/s 倍スケーリングします。
⑤画像のスケールスケーリングが完了したら、後続のトレーニングタスクのために、データをターゲットドメインデータとともにドメイン適応モデルに入力できます。
2.9 疑似ラベルベースのカテゴリ加重位置合わせモジュール
ニューラルネットワーク構造の設計
セルフアテンションとコンボリューションの統合について
このセクションでは、2022 年の CVPR に含まれる清華大学、ファーウェイ、北京人工知能研究所が共同で出版した『自注意と畳み込みの統合について』を参照し、理解と記憶を深めるために主な内容を要約します。
論文: [2111.14556] 自己注意と畳み込みの統合について (arxiv.org)
コード: github、gitee
1. 研究背景と関連研究
1.1 畳み込み 畳み込み
ニューラル ネットワーク [27、28] は、畳み込みカーネルを使用して局所特徴を抽出します。これは、画像認識 [20、24]、セマンティック セグメンテーション [9]、オブジェクト検出 [39] で広く使用されており、さまざまなベンチマークでテストされています。 [25,40] では最先端のパフォーマンスが実現されています。
1.2 セルフアテンション
① セルフアテンションは、自然言語処理 [1, 43] で初めて導入され、BERT や GPT3 などの幅広い言語タスクでも強力な能力を示しています [4, 14, 37]。
②理論分析 [11] は、自己注意が十分に大きな容量を持っている場合、任意の畳み込み層の関数クラスを表現できることを示しています。したがって、一連の最近の研究では、視覚タスクに自己注意メカニズムを適用する可能性が検討されています [16、23]。
③ 最近、ビジョン トランスフォーマー [7、16、38] の出現により、注意ベースのモジュールは、多くのビジョン タスクで CNN と同等、またはそれ以上のパフォーマンスを達成しました。
④ 自己注意は、画像生成と超解像度の分野でも大きな可能性を示しています [10, 35]。
現在主流の方法は 2 つあり、1 つはネットワーク内のモジュールとしてセルフ アテンションを使用する方法 [7,33,55]、もう 1 つはセルフ アテンションと畳み込みを補完的な部分とみなす方法です [6,29,45]。
1) 自意識のみを使用する
① 長期的な依存関係における自己注意の表現力 [14, 43] に触発された一連の作品は、視覚タスク モデルを構築するための基本的な構成要素として自己注意のみを使用することを試みています [2, 7, 16] 。
② いくつかの研究 [38, 54] は、自己注意が視覚モデルの独立した単位となり、畳み込み演算を完全に置き換えることができることを示しています。
③ 最近、Vision Transformer [16] は、十分なデータがあれば、画像を 256 個のトークンのシーケンスとして扱い、Transformer モデル [43] を利用して画像認識で競争力のある結果を達成できることを示しました。
④ さらに、トランスは検出 [2、7、57]、セグメンテーション [46、53、55]、点群認識 [18、33]、その他の視覚タスク [8、35] に使用されます。
2) アテンション強化コンボリューション
以前に提案されたさまざまな画像アテンション メカニズムは、アテンション メカニズムが畳み込みネットワークの局所性の制限を克服できることを示しています。したがって、多くの研究者は、畳み込みネットワークの機能を強化するために、アテンション モジュールを使用したり、より多くのリレーショナル情報を利用したりする可能性を検討してきました。
① スクイーズ アンド エキサイト (SE) [23] およびギャザー エキサイト (GE) [22] は、各チャネルのマップの重み付けを変更します。
② BAM [34] と CBAM [47] は、チャネルと空間位置を独立して再重み付けして、特徴マップをより詳細に調整します。
③ AA-Resnet [3] は、別の独立したセルフ アテンション パイプラインからのアテンション マップを連結することにより、特定の畳み込み層を強化します。
④ BoTNet [41] は、モデルの後段で畳み込みをセルフアテンション モジュールに置き換えます。
いくつかの研究は、より広範囲のピクセルから情報を集約することにより、より柔軟な特徴抽出器を設計することを目的としています。
⑤ Hu et al. [21] は、局所的なピクセルの構成関係に基づいて集約重みを適応的に決定する局所的な関係法を提案しました。
⑥Wang らは、グローバルピクセル間の類似性を比較する非ローカルブロックを導入することで受容野を増大させる非ローカルネットワーク [45] を提案した。
3) 畳み込みが注意力を高める
Vision Transformer [16] の出現により、多くの Transformer ベースのバリアントが提案され、コンピュータ ビジョン タスクの大幅な改善を達成しました。
①CvT[48]在标记化过程中采用卷积,并利用步长卷积来降低自注意的计算复杂度
②具有卷积茎的ViT[50]提出在早期阶段添加卷积,以实现更稳定的训练。
③CSwin Transformer[15]采用了基于卷积的位置编码技术,并对下游任务进行了改进。
④Conformer[36]将Transformer与独立的CNN模型相结合,以集成这两个功能。
2.ACmix:整合卷积和自注意力
2.1将卷积和自注意力拆分为两个阶段
1)卷积
阶段①:对输入特征映射进行线性变换,与标准的1 × 1卷积相同
阶段②:线性变换后的特征根据内核位置进行移位,最后进行聚合
按阶段推导后的公式如下图所示(具体推导过程见原论文)
2)自注意力
与传统的卷积相比,注意力使模型能够关注更大范围内的重要区域
阶段①:进行1 × 1卷积,将输入特征投影为查询、键和值
阶段②:注意力权重的计算和值矩阵的聚集,即局部特征的聚集
按阶段推导后的公式如下图所示(具体推导过程见原论文)
2.2计算复杂度的考量
卷积和自注意力在阶段①的理论FLOPs和参数的复杂度与通道数呈二次幂关系,而阶段②的计算复杂度与通道数C呈线性关系,且不需要额外的训练参数。
2.3将卷积和自注意力联系起来
自注意力模块和卷积模块的分解揭示了它们之间更深层次的关系。首先,这两个阶段的作用非常相似:阶段①是一个特征学习模块,其中两种方法通过执行1×1卷积将特征投射到更深的空间来共享相同的操作。阶段②对应于特征聚合的过程,尽管他们的学习模式不同。
从计算角度来看:卷积模块和自注意力模块在阶段I进行的1 × 1卷积对理论FLOPs和参数的复杂度要求为通道数C的二次幂。在阶段②,两个模块都是轻量级的。
2.4整合卷积和自注意力
2.3的观察结果自然地促使卷积和自注意力完美地结合。由于两个模块共享相同的1 × 1卷积运算,所以我们只进行一次投影,并将这些中间特征映射分别用于不同的聚合运算,形成我们提出的模块:ACmix。
ACmix包括两个阶段:
阶段①:输入特征通过三个1×1卷积进行投影,并分别重塑为N个分片。由此获得了包含3×N特征映射的丰富的中间特征集。
阶段②:这些特征集按照两种不同的路径使用:
对于自注意路径,将中间特征收集N组,其中每组包含3个1 × 1的卷积核。对应的3个特征映射作为查询、键和值,遵循传统的多头自注意模块。
对于卷积路径,采用轻全连通层,生成 k 2 个 k^2个 k2个特征映射。因此,通过移动和聚合生成的特征我们以卷积方式处理输入特征,并像传统的那样从感受野收集信息。
最后,将两条路径的输出加在一起,强度由两个可学习标量α、β控制:
F o u t = α F a t t + β F c o n v F_{out} = αF_{att} + βF_{conv} Fout=αFatt+βFconv
2.5卷积位移和求和阶段的改进
卷积路径中的中间特征遵循传统卷积模块中的移位和求和操作,该过程尽管理论上是轻量级的,但将张量向不同方向移动实际上打破了数据的局部性,并且难以实现向量化实现。这可能会大大削弱我们的模块在推理时的实际效率。
このため、著者は、適切に設計された畳み込みカーネル グループを使用する、学習可能なカーネルとマルチ畳み込みグループを使用する、改良された方法を提案します。
2.6 ACmix の計算量の分析
段階①の計算コストと学習パラメータは自己注意と同じであり、従来の畳み込みよりも軽量です。段階②では、ACmix は光完全接続層とグループ畳み込みを使用して追加の計算オーバーヘッドを導入します。その計算複雑さはチャネル数 C に線形関係があり、段階①よりも小さくなります。
2.7 他の注意モダリティへの一般化
セルフ アテンション メカニズムの開発に伴い、モデルのパフォーマンスをさらに向上させるために、アテンション オペレーターのバリアントを探索することに多くの研究が焦点を当ててきました。
① [54] によって提案された Patchwise tention は、元のソフトマックス演算を置き換えて、局所領域内のすべての特徴の情報を注意の重みとして使用します。
② Swing-Transformer [32] で採用されているウィンドウ アテンションは、同じローカル ウィンドウ内のトークンの同じ受容野を維持するため、計算コストが節約され、より高速な推論速度が実現されます。
③ ViT と DeiT [16, 42] は、単一レイヤーで長期的な依存関係を維持するために世界的な注目を考慮しています。これらの変更は、特定のモデル アーキテクチャ下で効果的であることが証明されています。
この場合、著者が提案した ACmix はセルフアテンションの定式化から独立しており、上記のバリアントに簡単に採用できます。具体的には、注意の重みは次のように要約できます (特定のシンボルについては元の論文を参照してください)。
2.8 パスバイアス
ACmix は、2 つのパスからの出力を結合するために 2 つの学習可能なスカラー α、β を導入します。α と β は、実際には、異なる深さでの畳み込みまたは自己注意に対するモデルのバイアスを反映しています。
実験結果:
① 異なる実験における α と β の速度変化は、特に深層では比較的小さい。この観察は、ディープ モデルがさまざまなネットワーク設計に対して安定した優先順位を持っていることを示唆しています。
②畳み込みは、Transformer モデルの初期段階で優れた特徴抽出器として使用できます。ネットワークの中間段階では、モデルは 2 つのパスを混合して利用する傾向があり、畳み込みが優先されます。最後の段階では、自己注意が畳み込みよりも優れたパフォーマンスを発揮することが示されています。
3. 実験
1) ACmix は、ImageNet 分類、セマンティック セグメンテーション、およびオブジェクト検出タスクで経験的に検証され、最先端のモデルと比較されます。 2) 実際の推論速度: MindSpore を使用した、Ascend 910 環境での実際の推論速度
。エッジおよびクラウド シーン向けのモバイルの深層学習コンピューティング フレームワークです。
3) アブレーション実験: ① 2 つのパスの出力を結合します。 ② コンボリューション カーネル グループ
4) パス バイアス
DeltaCNN: ビデオ内のスパースフレーム差分のエンドツーエンド CNN 推論
このセクションでは、2022 年の CVPR に含まれるグラーツ工科大学のメタリアリティ研究所が発表した論文「DeltaCNN: End-to-End CNN Inference of Sparse Frame Differences in Videos 」を参照し、内容を深めるためにその主な内容を要約します。理解と記憶。
论文:[2203.03996] DeltaCNN: ビデオ内のスパースフレーム差分のエンドツーエンド CNN 推論 (arxiv.org)
コード: facebookresearch/DeltaCNN: DeltaCNN ビデオ内のスパース フレーム差異に対するエンドツーエンド CNN 推論 (github.com)
1. 畳み込み層の学習コストを削減する方法
1)通用方法
① 深さ方向の分離可能なコンボリューション [28]
② ピクセル、チャネル、レイヤー間の比率の最適化 [30]
③ 量子化 [14,20,22]
④ プルーニング [13,18]
⑤ 専用ハードウェア [5,6,12]
2) ビデオフレーム間の時間的類似性
① ビデオフレームに共通する時間的類似点 [1, 3, 9, 11, 16, 19, 23, 24, 27, 33, 34]
これらのアプリケーションは通常、固定カメラからのビデオ入力で CNN を使用します。この場合、フレーム間の類似性が高いため、直交方向が得られ、計算の複雑さが軽減されます。CNN フレームワークは各フレームを個別に処理するため、フレーム間の類似性を利用できません。不変領域で前のフレームの結果を再利用することで、理論上、計算コストを大幅に削減できます [1, 3, 11, 24]。精度の低下。
②小さく重要でない更新は切り捨てられ、 CNN のすべての層で高度な活性化の希薄性を維持し、最終的な出力にはわずかな違いしか生じません [11、24]
研究者らは、小さな変更を切り捨てるとスパース性が高まり、理論的には FLOPS が低下することを示していますが、データ スパース性を効果的に活用して実際のハードウェアでの推論を高速化することは未解決の課題のままです。
2. ビデオフレーム間の類似性
1) 最適化されたモデル アーキテクチャ: 効率的なビデオ CNN アーキテクチャ
①ネットワークの最も高価な部分(基幹ネットワーク)の処理頻度を下げる。どちらのパス モデルも、キーフレームにはきめの細かい特徴生成を使用し、中間フレームにはきめの細かい更新パスを使用します [9、23]。
②ネットワーク入力からのオプティカル フローを使用するなど、きめの細かい機能を直接適応させることができます[16、34]。私たちのアプローチでは、ネットワーク アーキテクチャを変更する必要はなく、必要に応じてきめ細かい更新を自動的に実行します。
2) 機能の希薄性を利用するために重要でない更新を切り詰める
CNN のデータ スパース性は、特徴マップのゼロ値の特徴として理解できます。ReLU のような活性化関数はすでにある程度の特徴の疎性をもたらしますが、ビデオの疎性は、現在のフレームと前のフレームの差を入力として使用することで強化できることがよくあります(図 1 を参照)。このようにして、背景および静的な特徴はゼロになり、スキップすることができます。
この特性は、2D [1、3、11、24] と 3D [25] CNN の両方で活用されています。
图1 视频空间稀疏卷积的工作原理。计算当前输入与之前输入的差值,卷积输入的很大一部分变为零(白色)。由于零值输入对输出没有贡献,因此可以跳过这些值以减少操作的数量
- 更新截断
①循环残差模块(RRM)[24]和CBinfer[3]表明,可以通过截断不重要的更新来进一步提高稀疏性,而不会显著损失精度。
②Skip-Convolution[11]不截断输入特征,而是截断输出特征。这可能导致更高的稀疏性,但需要定期进行密集更新(4-8帧)。
③作者将这些想法结合起来使用。像Skip-Convolution和CBInfer一样,使用空间(每像素)稀疏性,因为结构化稀疏性比每值稀疏性更适合SIMD架构。
像RRM一样,作者决定每个输入像素是否需要更新。虽然与Skip-Convolution相比,单个输入像素触发多个输出像素的更新可能会增加FLOPs,但它对于在稀疏模式下实现连续推理而不会随着时间的推移而积累错误至关重要。
- 缓存之前的状态
①RRM、CBInfer和SkipConvolution在每个卷积层缓存前一帧的输入和输出特征映射,以处理差异,增加稀疏性,然后将输出与前一帧的密集输出一起累积。所有卷积之间的运算(激活、池化)都被密集处理。虽然这种策略减少了FLOP,但它增加了内存传输。
②为了减少内存开销,[1]建议只在关键卷积层上存储输入和输出缓冲区,并且只在两者之间使用帧差。这种方法对于池化或激活函数等非线性层无效,并可能导致重大错误(见第3.1节)。
③DeltaCNN は、入力フィーチャ (カメラ画像) を以前の完全な入力と比較することにより、スパースなフィーチャ更新をすべてのレイヤに伝播します。これにより、すべての操作がスパースに実行され、密な結果は最後のレイヤにのみ蓄積されます。
④上記に基づいて、プーリング、アップサンプリング、アクティベーションなどの非畳み込み層も高速化しました。
さらに、著者らはスパース計算とデンス計算の切り替えを回避し、非線形層の累積値をキャッシュするだけでよいため、精度を損なうことなく[3, 11, 24]と比較してキャッシュの数を削減できます。
3.デルタCNN
著者らが提案したエンドツーエンドのスパース CNN フレームワークである DeltaCNN は、フレーム間の類似性を利用してビデオ推論を高速化します。DeltaCNN は、更新マスクを使用してどのピクセルを処理するかを追跡し、すべての密なテンソル演算を疎な演算に置き換えます。DeltaCNN は、ネットワーク出力の変更を最小限に抑えてスパース性を高め、各層でスパース フレームの更新のみを処理します。
1) 増分値の伝播
DeltaCNN の中心的な機能は、次の図に示すように、スパース フレームの更新をネットワークを通じてエンドツーエンドに伝播することです。
畳み込み層、アクティベーション層、プーリング層、およびアップサンプリング層で構成される単純なネットワークに DeltaCNN を使用した 3 フレーム推論の図: ① 最初のフレーム I1 は集中的に処理され、密に蓄積された V 値のバッファを初期化するために使用されます
。
②後続のフレームでは、デルタ生成は現在の入力から前の入力を減算して、更新マスクと、重要なピクセル更新のみを含む疎なデルタ特徴マップを生成します。
③ スパース畳み込みの後、更新マスク拡張、スパース アクティベーション、およびスパース性を高めるために小さな値を切り捨てるトランケーションにつながります。最後の層の後、疎なデルタ出力は前の出力バッファに蓄積され、フレーム Ii の密な出力O i O_iが生成されます。○私は
更新テンソルを追加して前のフレームからの計算を再利用するために、CNN では線形 (例: 畳み込み) 層と非線形 (例: 活性化) 層の両方がサポートされています。
① 畳み込みは線形演算子です:
c ( x + δ x ) = c ( x ) + c ( δ x ) c(x + δx) = c(x) + c(δx)c ( x+δ x )=c ( x )+c ( δx )
これにより、デルタと呼ばれる 2 つの画像の差を畳み込みへの入力として使用できるようになります。デルタ出力は、複数のフレームにわたってデルタ更新を蓄積することなく、連続畳み込みへの入力として使用できます。
②非線形層
ほとんどの活性化関数は非線形であり、活性化関数の非線形性により、増分更新で以前の結果を更新することが困難になります。例:
f Re e LU ( − 1 ) + f Re e LU ( 2 ) ≠ f Re e LU ( 1 ) f_{ReLU}(−1) + f_{ReLU}(2) ≠ f_{ReLU}(1)fRはLUです( − 1 )+fRはLUです( 2 )=fRはLUです( 1 )
この課題に対処するために、著者らは非線形層の累積入力を追跡しています。与えられた活性化関数またはプーリング関数 f について、δ 出力 δy は次のように定義されます。
δ y = f ( x + δ x ) − f ( x ) δy = f(x + δx) − f(x)y=f ( x+δ x )−f(x)
δx是输入。差值δy被用作后续各层的δ输入。每个非线性层都存储自己的缓冲区,保存先前累积的输入。缓冲区在执行密集推理的第一帧期间初始化,并使用后续帧的增量保持最新。先前累积的输入隐含地包含了之前应用的所有偏差。因此,卷积和批归一层的偏差仅应用于第一帧。
③截断小更新
由于激活函数适用于大多数卷积层,并且需要对特征图中的每个像素进行操作,因此将激活和截断合并为一个操作有助于最小化开销。关于哪些值可以被截断的决定是在每个像素级别上做出的;我们截断一个给定的像素(将所有通道设置为0),如果 m a x k ∣ δ y k ∣ < ε max_k |δ_{y_k}| < ε maxk∣δyk∣<ε 如果任意 ∣ δ y k ∣ > ε |δ_{y_k}| > ε ∣δyk∣>ε,则像素被标记为已更新,我们使用一个累积值缓冲区 x A x^A xA来存储帧i的当前值:
x i A = x i − 1 A + δ x x^A_i = x^A_{i−1} + δx xiA=xi−1A+δx
ただし、時間の経過とともに小さな切り捨てが増加し、フレームごとの精度の損失につながります。たとえば、太陽がゆっくりと昇ってきて屋外のシーンを照らしている場合、フレーム間の差異が小さすぎるため更新をトリガーできず、蓄積されたエラーを一度除去すると修正できません。この問題を解決するために、2 番目のバッファx T x^TバツT、最後の更新以降に蓄積された切り捨てが含まれます。カットオフx T x^TバツT与δ值δ x δ_xd×および活性化関数の累積値x A x^AバツA一使用:
δ y = f ( x A + x T + δ x ) − f ( x A ) δy = f(x^A + x^T + δx) − f(x^A)y=f ( xあ+バツT+δ x )−f ( xA )
ピクセルが切り捨てられると、δx が切り捨てられた値バッファx T x^TバツTで。ピクセルが更新済みとしてマークされると、x A x^AバツAを使用します:
xi A = xi − 1 A + xi − 1 T + δ xx^A_i = x^A_{i−1} + x^T_{i−1} + δxバツ私あ=バツi − 1あ+バツi − 1T+次の図に示すように、 δ x
と切り捨てバッファ xTi はゼロに設定されます。
アクティベーション関数と切り捨て関数の説明: 累積値を使用してアクティベーションを実行し、δ δx 出力を切り捨て、累積 xA および切り捨てられた xT 値のバッファーを更新します。この例では、活性化関数 f として ReLU が使用され、打ち切り閾値 ε は 1.5 に設定されます。色付きのタイルは、入力、更新された状態、出力値の間の関係を表します。
この手法を使用すると、DeltaCNN は高密度の初期フレームのみを必要とし、時間の経過とともにエラーが蓄積されることなく、スパースな更新を無期限に適用できます。
2) GPU 設計の考慮事項
汎用 GPU では、多くのコアを備えたデバイス上で任意のコードを実行できますが、理論上の命令削減が効率的な GPU コードに変換されないことがよくあります。
一貫性のない実行パスや一貫性のないメモリ アクセスは大幅な速度低下を引き起こす可能性があり、GPU で高いコンボリューション パフォーマンスを実現する鍵は、メモリ アクセスを最適化し、ローカルで一貫した制御フローを生成することです。
①マスクの更新
前の層のスパース出力を入力として受け取ると、各層はどのピクセルが更新されたかを知る必要があります。これを達成する 1 つの方法は、以前の研究 [3、11、24] で行ったように、各層の先頭で増分入力のすべての値をゼロチェックすることです。
入力全体を読み込んで更新を確認することを避けるために、作成者は、更新されたかどうかを示す各ピクセルの値を含む空間更新マスクを (デルタ特徴マップとともに) 伝播します。
各レイヤーについて、他のデータをロードする前に、作成者はまずすべての入力ピクセルの更新マスクをチェックし、タイル全体 (タイル化畳み込み) についてすべてのメモリ操作と計算をスキップするかどうかを決定します。
タイリングがスキップされるかどうかに関係なく、作成者は後続のレイヤーの更新マスクを作成します。更新マスクを使用すると、機能マップの未処理の値が読み取られることがないため、ゼロに初期化する必要がなく、メモリ帯域幅がさらに削減されます。
②メモリの考慮事項とタイル畳み込み
2D 畳み込みにおけるメモリの再利用と局所性を最適化する一般的なアプローチは、画像をタイルで処理することです。このようにして、入力特徴とフィルター パラメーターをローカルに保持し、何度も再利用できます。タイル サイズは、メモリ アクセスと並列処理の間のトレードオフのバランスを取るように選択されます。タイルを大きくするとメモリ アクセスが減りますが、より多くのリソースが必要になります。
③ タイル単位のスパース性とサブタイルのスパース性
作者在tiled层面上使用稀疏度,而不是细粒度条件。在仅更新tiled的一个像素的情况下,成本几乎与更新所有像素时一样高,因为需要加载所有滤波器参数,并且需要处理和写入多个输出像素。
④控制流程简化
为了避免细粒度的条件跳转,作者提出了一种混合内核,在三种处理模式之间进行选择:跳过、密集和非常稀疏。
3)截断更新与截断阈值选择
①DeltaCNN将像素的最大范数与阈值进行比较ε以确定像素更新是否可以被截断。
②通常,理想情况是ε将在网络甚至层之间变化。作者以从前到后的方式在子训练集上自动调整每个层的ε。作者迭代地增加ε,保持损失在预定义的误差阈值下,即,允许每个截断层对输出误差的贡献相等。
一旦找到低于此界限的最高阈值,将冻结该层的ε并按执行下一个。实验表明,*调整阈值时,还需要限制精度的提高,以避免在训练集的子集上过度拟合。
4.评估
人体姿态估计(Human3.6M[15]);目标检测(MOT16[7]和WildTrack[4])
速度;准确率;提高稳定性;阈值分析
5.讨论
平铺卷积;限制(固定相机;内存开销)
An Image Patch is a Wave: Quantum Inspired Vision MLP
本节参考2022年CVPR收录的An Image Patch is a Wave: Quantum Inspired Vision MLP,对其主要内容进行总结,以便加深理解和记忆。
论文:[2111.12294] An Image Patch is a Wave: Phase-Aware Vision MLP (arxiv.org)
代码:github 、gitee
1.视觉领域的几种研究架构
1.1 CNN
畳み込みニューラル ネットワーク (CNN) は、コンピュータ ビジョンの分野で長い間主流でした。文書認識タスクの CNN モデル プロトタイプは [24] に示されており、畳み込みが中心的な操作です。ILSVRC 2012 での AlexNet[23] の大成功を皮切りに、GoogleNet[36]、VGGNet[34]、ResNet[17]、RegNet[32] などのさまざまなアーキテクチャが開発されました。高性能を追求するためにモデル アーキテクチャはますます複雑になってきていますが、核となる演算は常に畳み込みとその変形です。
1.2 トランスフォーマー
トランスフォーマー [42] はもともと、言語モデリングや機械翻訳などの自然言語処理 (NLP) タスクのために提案されました。
1) Dosovitskiy et al. [9] は、これをコンピュータ ビジョンに導入し、特にトレーニング データが非常に十分な場合に、画像分類タスクで優れたパフォーマンスを達成しました。
2) Touvron ら [41] はトレーニング方法を改良し、ImageNet 上でゼロからトレーニングして競争力のある Transformer モデルを作成する、Transformer 固有の教師と生徒の戦略を提案しました。
その後の多くの研究では、ビジョン トランスフォーマーのアーキテクチャ設計が検討されています [5、12、15、37、38、44、45]。
3) Han et al. [15] は、グローバル情報とローカル情報を同時に取得するためのネストされたトランスフォーマー アーキテクチャを提案しました。
4) オブジェクト検出やセマンティックセグメンテーションなどの高密度予測タスクと互換性を持たせるために、[9、19、43] は階層構造を採用し、全体の構造を複数のステージに分割し、空間解像度ステージを合理的に削減します。
5) Swin Transformer [29] は、移動ウィンドウを含む表現を抽出し、局所領域への自己注意を制限します。層内のすべてのトークンを接続する [9] の自己注意と比較して、シフト ウィンドウ操作はより効率的です。
1.3MLP
近年、全結合層と非線形活性化関数で構成される MLP のようなアーキテクチャが大きな注目を集めています [6、13、39]。これらのアーキテクチャはより単純で、誘導性バイアスの導入が少なくなりますが、パフォーマンスは依然として SOTA モデルに匹敵します。
1) MLP ミキサー モデル [39] は、チャネル ミキシング MLP とトークン ミキシング MLP という 2 種類の MLP レイヤーを使用します。チャネル MLP は各トークンの特徴を抽出しますが、トークンハイブリッド MLP はさまざまなトークンから情報を集約して空間情報を取得しようとします。これら 2 種類の MLP ブロックを交互にスタックすることにより、シンプルな MLP アーキテクチャは、特徴を抽出し、ビジョン タスクで優れたパフォーマンスを達成するのに十分強力になります。
2) Touvron ら [40] も同様のアーキテクチャを提案し、層正規化 [2] をより単純なアフィン変換に置き換えました。
3) Liu et al. [28] は、言語および視覚タスクにおいて、ゲートを備えた MLP アーキテクチャが Transformer と同様のパフォーマンスを達成できることを経験的に検証しました。
入力画像の位置情報を保存するため
4) Hou et al. [20] は、入力画像の 2D 形状を保存し、幅と高さをそれぞれ調整することで特徴を抽出します。
5) MLP ミキサーに基づいて、Yu et al. [46] は、トークン混合 MLP を、局所的な空間情報を捕捉し、高い計算効率を持つ空間シフト演算に置き換えました。
6) 現在、Lian et al. [25] は、軸方向の受容野を得るために、2 つの直交する方向に沿ってマーカーを移動させることを提案しています。
7) Chen et al. [6] は、空間次元とチャネル次元の両方で情報を混合し、可変入力画像スケールに対処できるリカレント全結合層を提案しました。
2. ビジュアル MLP アーキテクチャ
MLP のようなモデルは、主に全結合層と非線形活性化関数で構成される神経構造です。ビジュアル MLP の場合、まず画像を複数の画像パッチ (トークンとも呼ばれます) にセグメント化し、次に 2 つのコンポーネント、Channel-FC と Token-FC を使用してそれらの特徴を抽出します。
1) n 個のトークンを含む中間特徴をZ = [ z 1 , z 2 , ⋅ ⋅ ⋅ , zn ] Z = [z_1, z_2, ..., z_n] として表現します。Z=[ z1、z2,⋅⋅⋅、zん]、ここで、各トークン zj は d 次元ベクトルです。チャネル FC は次のように表されます。
C チャネル − FC ( zj , W c ) = W czj , j = 1 , 2 , ⋅ ⋅ ⋅ n チャネル FC(z_j, W^c) = W^cz_j, j = 1, 2、・・・nチャンネル_ _ _−FC (からj、Wc )=Wcz _j、j=1 、2 、⋅⋅⋅n
其中 W c W_c Wc学習可能なパラメータを持つ重みです。Channel-FC は各トークンに対して独立して動作し、その特徴を抽出します。変換能力を向上させるために、通常、複数のチャネル FC 層が非線形活性化関数とともにスタックされ、チャネル ミキシング MLP が構築されます。
2) さまざまなトークンからの情報を集約するには、トークン fc 操作を実行する必要があります:
Token − FC ( Z , W t ) j = ∑ W jkt ⊙ zk , j = 1 , 2 , ... n Token - FC(Z, W^t)_j = \sum W^t_{jk} ⊙ z_k, j = 1, 2, ... nトークン_ _ _ _−FC ( Z 、Wt )j=∑Wjkた⊙zk、j=1 、2 、...n
其中 W t W_t Wたはトークン混合重み、⊙は要素の乗算を意味し、添え字jはJ番目のJ_thを意味しますJたh出力トークン。token-fc 操作は、さまざまなトークンの特徴を混合することで空間情報を取得しようとします。
問題: MLPMixer [39]、ResMLP [40] などの既存の MLP のようなモデルでは、トークン混合 MLP もトークン fc 層と活性化関数を積み重ねることによって構築されます。この単純な固定重みトークン ハイブリッド MLP は、MLP のようなアーキテクチャの表現能力を制限するボトルネックである、さまざまな入力イメージ内のトークン セマンティック コンテンツの変動を無視します。
3.ウェーブMLP
貢献: 新しいビジュアル MLP アーキテクチャ (Wave-MLP と呼ばれる) の提案
3.1 インスピレーション
1) Transformer [9, 42] は、アテンション メカニズムによって動的に調整された重みを使用してラベルを集約していることを思い出してください。異なるトークン間の内積を計算し、類似性が高いほど、互いの集計プロセスにおけるトークンの重みが大きくなります。
2) 量子力学では、実体 (電子、光子など) は通常、振幅と位相を含む波動関数 (ドブロイ波など) によって表されます [1,11,18]。振幅部分は波の最大強度を測定し、位相部分は波の周期内の点の位置を示すことによって強度を調整します。量子力学にインスピレーションを得て、各トークンを波として記述し、トークンの動的な集合プロセスを実現します。
3.2 フェーズアウェアトークンミキシングモジュール (PATM)
PATM模块将每个令牌作为一个具有振幅和相位的波。振幅是表示每个令牌内容的实值特征,而相位是调制MLP中令牌与固定权重之间关系的单位复数,通过同时考虑振幅和相位来聚合它们。这些波状令牌之间的相位差会影响它们的聚合输出,相位接近的令牌往往会相互增强。
1)波表示
在wave - mlp中,一个令牌被表示为具有振幅和相位信息的波~ zj,即:
z ^ j = ∣ z j ∣ ⊙ e i θ j , j = 1 , 2 , . . . , n \hat z_j = |zj| ⊙ e^{iθ_j} , j = 1, 2,... , n z^j=∣zj∣⊙eiθj,j=1,2,...,n
其中i是满足 i 2 = − 1 i^2 =−1 i2=−1的虚数单位。|·|表示绝对值运算,⊙是逐元素的乘法。振幅 ∣ z j ∣ |z_j| ∣zj∣是表示每个令牌内容的实值特征。 e i θ j e^{iθ_j} eiθj是一个周期函数,其元素总是有单位范数。 θ j θ_j θjフェーズを示します。これは、1 つのウェーブ サイクル内のトークンの現在位置です。振幅と位相については、各トークンz^j \hat z_jz^j複素体で表現されます。
異なるマーカーを集約する場合、位相θ j θ_j私jオーバーレイ モードを調整します。z ^ r = z ^ 1 + z ^ 2 \hat z_r= \hat z_1+\hat z_2 とします。z^r=z^1+z^2は波のようなトークンz^1 \hat z_1z^1,z ^ 1 \hat z_1z^1、その振幅∣ z ^ r ∣ |\hat z_r|∣z^r∣と位相θ j θ_j私j次のように計算できます。
其中 a t a n 2 ( x , y ) atan2(x, y) a t an 2 ( x ,y )は 2 パラメーターの arctan 関数です。上式に示すように、2 つのトークン間の位相差∣ θ j − θ i ∣ |θ_j − θ_i|∣ θj−私私は∣集計結果zr z_rzr振幅の影響が大きくなります。
图3显示了一个直观的图表。左边是两个波在复值域的叠加,而右边显示了它们沿实轴的投影随w.r.t的变化阶段。当两个符号具有相同的相位 ( θ j = θ i + 2 π ∗ m , m ∈ [ 0 , ± 2 , ± 4 , ⋅ ⋅ ⋅ ] ) (θj = θi + 2π * m, m∈[0,±2,±4,···]) (θj=θi+2π∗m,m∈[0,±2,±4,⋅⋅⋅])时,它们将相互增强,即 ∣ z r ∣ = ∣ z i ∣ + ∣ z j ∣ |z_r| = |z_i| + |z_j| ∣zr∣=∣zi∣+∣zj∣(图3 (b))。对于相反的相 ( θ j = θ i + π ∗ m , m ∈ [ ± 1 , ± 3 , ⋅ ⋅ ⋅ ] ) (θ_j = θ_i+π∗m, m∈[±1,±3,···]) (θj=θi+π∗m,m∈[±1,±3,⋅⋅⋅])の場合、合成波は減衰します (∣ zr ∣ = ∣ ∣ zi ∣ − ∣ zj ∣ ∣ |zr| = ||zi|−|zj||∣ zr ∣=∣∣ z i ∣−∣ z j ∣∣ )。他の場合には、それらの相互作用はより複雑ですが、それらが強化されるか弱まるかは位相差にも依存します(図3(a))。実数値の特徴のみを使用する古典的な表現戦略は、位相θ j θ_j私jπの整数倍のみ。
2) 振幅
式 3 の波形の符号を取得するには、振幅と位相の両方の情報が必要です。振幅∣ zi ∣ |z_i|∣z _私は∣ は、絶対演算があることを除いて、従来のモデルの実数値特徴と似ています。実際、要素の絶対演算は位相項、つまり ∣zj , t ∣ ei θ j , t = zj , rei θ j |z_{j,t}| e^{i θ_{ に吸収できます。 j,t} } = z_{j,t}e^{iθ_j}∣z _j 、 t∣ eiθ _j 、 t=zj 、 teiθ _j,t if zj , t > 0 z_{j,t} > 0zj 、 t>0,∣ zj , t ∣ ei θ j , t = zj , rei ( θ j , t + π ) |z_{j,t}| e^{i θ_{j,t}} = z_{j,t}e^{i(θ_{j,t}+π)}∣z _j 、 t∣ eiθ _j 、 t=zj 、 tei ( θj 、 t+π),其中 z j , t z_{j,t} zj 、 tおよびθ j 、t θ_{j,t}私j 、 tzj {z_j}を意味しますzjとθ j θ_j私jの t 番目の要素。
したがって、簡単にするために実際の実装では絶対演算を削除します。は、X = [ x 1 , x 2 , … , xn ] X = [x_1, x_2, …, x_n] を意味します。バツ=[ ×1、バツ2,…,×ん]作为块的输入,我们通过简单的channel-FC运算得到令牌的幅值zj,即:
z j = C h a n n e l − F C ( x j , W c ) , j = 1 , 2 , ⋅ ⋅ ⋅ , n z_j = Channel-FC(x_j, W^c), j = 1, 2, · · · , n zj=Channel−FC(xj,Wc),j=1,2,⋅⋅⋅,n
3)相位
回顾阶段表示在一段波动期间令牌的当前位置,我们讨论以下生成阶段的不同策略。最简单的策略(“静态相位”)是用固定的参数来表示每个标记的相位 θ j θ_j θj,这可以在训练过程中学习。虽然静态阶段可以区分不同的标记,但它也忽略了不同输入图像的多样性。
为了分别捕获每个输入的特定属性,我们使用估计模块 Θ Θ Θ根据输入特征 x j x_j xj生成相位信息,即 Θ j = Θ ( x j , W Θ ) Θ_j = Θ(x_j, W^Θ) Θj=Θ(xj,WΘ),其中 W Θ W^Θ WΘは学習可能なパラメータを示します。シンプルさが MLP のようなアーキテクチャの重要な特徴であることを考慮すると、複雑な操作は望ましくありません。したがって、式 1 の単純なチャネル fc も位相推定モジュールとして採用します。
4) トークンアグリゲーション
式 3 では、波動記法が複素領域で表されます。これを一般的な mlp のようなアーキテクチャに埋め込むには、オイラーの公式を使用して拡張し、実数部と虚数部で表します。つまり、
zj = ∣ zj ∣ ⊙ cos θ j + i ∣ zj ∣ ⊙ sin θ j , j = 1 , 2 , ⋅ ⋅ ⋅ , n z_j = |z_j| ⊙ cos θ_j + i|z_j| ⊙ sin θ_j, j = 1, 2, · · · , nzj=∣z _j∣⊙cosθ _j+i ∣ zj∣⊙θのsj、j=1 、2 、⋅⋅⋅、n
上の式では、複素数値のトークンは、実数部と虚数部をそれぞれ表す 2 つの実数値ベクトルとして表されます。次に、token-fc 演算 (式 2) を使用して、さまざまなトークンz ^ j \hat z_jz^j、つまり:
o ^ j = トークン − FC ( Z ^ , W t ) j , j = 1 , 2 , ⋅ ⋅ ⋅ , n \hat o_j = トークン-FC(\hat Z, W^t)_j, j = 1、2、...、nああ^j=トークン_ _ _ _−FC (Z^、Wt )j、j=1 、2 、⋅⋅⋅、n
其中Z ^ = [ ^ z 1 , ^ z 2 , ⋅ ⋅ ⋅ , ^ zn ] \hat Z = [\hat ~ z_1, \hat ~ z_2,··,\hat ~ z_n]Z^=[ ^ z1, ^ z2,⋅⋅⋅, ^ zん] は、レイヤー内のすべての波線シンボルを表します。式 8 では、振幅情報と位相情報の両方を考慮して、さまざまなトークンが相互作用します。出力o^j \hat o_jああ^jは、集約された特徴の複素数値表現です。複素数値表現を持つ量子状態を実数値のオブザーバブルに投影するための一般的な量子測定法 [3, 21] に従って、oj o_jを渡します。ああjの実数部と虚数部が重みに追加されて、実数値出力oj o_jが得られます。ああj。式 8 と組み合わせると、出力oj o_jが得られます。ああjFrom:
oj = ∑ W jktzk ⊙ cos θ k + W jkizk ⊙ sin θ k , j = 1 , 2 , ⋅ ⋅ ⋅ , n , o_j =\sum W^t_{jk}z_k ⊙ cos θ_k + W^i_{ jk}z_k ⊙ sinθ_k, j = 1, 2, · · · , n,ああj=∑Wjkたzk⊙cosθ _k+Wjk私はzk⊙θのsk、j=1 、2 、⋅⋅⋅、n,
其中 W t W_t Wた和 W i W_i W私は学習可能な重みです。上式において、位相θ k θ_k私k入力データの意味内容に基づいて動的に調整します。固定の重みに加えて、ステージはさまざまなトークンの集約プロセスも規制します。
3.3 ネットワークアーキテクチャ
Wave-MLP アーキテクチャ全体は、PATM モジュールとチャネル ミキシング MLP 層および正規化層を交互に積み重ねることによって形成されます。チャネル ミキシング MLP は、各トークンの特徴を抽出するための非線形活性化関数がスタックされた 2 つのチャネル fc 層で構成されます。トークン混合ブロックは、振幅と位相情報を考慮してさまざまなトークンを集約する提案された PATM モジュールで構成されます。
3.4 成功する実践
为了更好地兼容计算机视觉任务,我们使用形状为H × W × C的特征映射来保留输入图像的二维空间形状,其中H、W、C分别为高度、宽度和通道数。这是一种成功的实践,广泛应用于最近的视觉转换器架构(例如,PVT [43], SwinTransformer[29])。有两个并行的PATM模块,分别沿高维和宽维聚合空间信息。与[6,20]类似,不同分支用一个重加权模块进行求和。在传统的MLP-Mixer[39]中,每个令牌fc层将所有令牌连接在一起,令牌的维度取决于特定的输入大小。因此,它不兼容输入图像大小不同的密集预测任务(例如,目标检测和语义分割)。为了解决这个问题,我们使用了一个简单的策略,限制FC层只连接本地窗口内的令牌。窗口大小的实证研究见章节4.4的表7。除了PA TM模块外,还使用另一个通道fc直接连接输入和输出,以保存原始信息。块的最终输出是这三个分支的和。
3.5具体模型
Wave-MLP-T、Wave-MLP-S、Wave-MLP-M、Wave-MLP-B
4.实验
1)Wave MLP首先与ImageNet上现有的视觉MLP、视觉变换器和神经网络进行了比较[8],用于图像分类。
2)Wave MLP被用作两个检测器(RetinaNet[26]和Mask R-CNN[16])的主干,用于COCO数据集上的对象检测和实例分割[27]。
3)对于语义分割,采用了ADE20K[50]上广泛使用的语义FPN[22]。
4)消融实验:相位信息、相位估计模块、用于聚合令牌的窗口大小、可视化
Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
このセクションでは、「Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNscollected by CVPR in 2022」を参照し、理解と記憶を深めるためにその内容を簡単に要約します。
なぜ簡単な要約なのか?金曜日なので準備万端です。
CNN での大規模畳み込みカーネル設計の再検討: 畳み込みカーネルを 31x31 に拡張する
論文: [2203.06717] カーネルを 31x31 にスケールアップ: CNN での大規模カーネル設計の再検討 (arxiv.org)
コード: github
1. ViT を通じて CNN を調べる
CNN の立場は、Vision Transformer [33, 59, 84, 93] によって大きく挑戦されており、ViT は、画像分類 [33, 104] や表現学習 [3, 9、15、100]などのほか、オブジェクト検出[23、59]、セマンティックセグメンテーション[93、98]、画像復元[10、54]などの下流タスクも含まれます。
なぜ ViT はこれほど強力なのでしょうか?
1)マルチヘッドセルフアテンション (MHSA) メカニズムが ViT において重要な役割を果たしていると広く信じられています。たとえば、これまでの研究では、畳み込みと比較して、MHSA はより柔軟で [50]、誘導性バイアスが少なく [19]、歪みに対してより堅牢で [66,98]、長期的な依存関係をモデル化できることが示されています [69] 、88]ら。
しかし、最近の研究の中には、MHSA [115] の必要性を疑問視しており、ViT の高いパフォーマンスは適切な構成要素 [32]、動的スパース重み [38、110] などによるものであると考えられています。
2) 著者は、CNN と Transformer のもう 1 つの違い、つまり大規模な空間接続の確立に焦点を当てています。
ViT では、MHSA は通常、グローバル [33、75、93]、または大きなローカル受容野 [59、70、87] (例 ≥7×7) を持つように設計されているため、単一の MHSA 層の各出力が比較的広い範囲から情報を収集します。
大規模な畳み込みカーネルは CNN では一般的に使用されません (最初の層 [40] を除く)。通常は多くの小さな空間畳み込み [40、44、47、68、74、79、108] (例: 3×3) のスタックです。 CNNの受容野を広げるため。AlexNet [53]、インセプション [76-78]、およびニューラル アーキテクチャ検索 [37、43、56、116] などの一部の従来のネットワークのみが、主要部分として大規模な畳み込みカーネル (5 より大きい) を採用しています。
このことから、著者は次のような疑問を提起します: 従来の CNN にいくつかの大規模なコンボリューション カーネルが導入されたらどうなるでしょうか? 大規模なコンボリューション カーネルはパフォーマンスのギャップを埋める鍵となるのでしょうか?
2. 関連研究
1) 大規模な畳み込みカーネルを備えたモデル
前述したように、inception [76-78] などのいくつかの伝統的なモデルを除いて、大規模なカーネル モデルは VGG-Net [74] 以降人気がなくなりました。
①グローバル畳み込みネットワーク、GCN [67] は、セマンティック セグメンテーション タスクを改善するために 1×K および K×1 の非常に大規模な畳み込みを使用します。
② 研究によると、大きなカーネルは ImageNet のパフォーマンスに悪影響を与える可能性があります。LRNet [45] は、標準の畳み込みを置き換える空間集約演算子 (LRLayer) を提案しました。これは、動的畳み込みとみなすことができます。LR-Net は 7×7 のカーネル サイズから恩恵を受けることができますが、9×9 を使用するとパフォーマンスが低下します。カーネル サイズが特徴マップと同じくらい大きい場合、トップ 1 の精度は 75.7% から 68.4% に大幅に低下します。
③最近、Swin トランスフォーマー [59] は、空間パターンを捕捉するために移動ウィンドウ アテンションを使用することを提案しており、ウィンドウ サイズは 7 から 12 まで変化します。これもラージ カーネルの変形とみなすことができます。
④ [31、58] などのその後の研究では、より優れたパフォーマンスを達成するために、より大きなウィンドウ サイズが採用されました。
⑤ これらの変換器の成功に触発されて、最近の研究 [38] では、同等の結果を維持しながら、[59] の MHSA 層を静的または動的な 7×7 の深さ方向の畳み込みに置き換えています。
[38] は、大規模コンボリューション カーネルとパフォーマンスの関係を調査しておらず、ViT の優れたパフォーマンスは疎な接続、共有パラメータ、および動的メカニズムによるものであると考えています。
⑥另一项代表性工作是Global Filter Networks, GFNets[71]。GFNet优化了傅里叶域中的空间连接权值,相当于空间域中的圆形全局卷积。尽管GFNet隐式地引入了非常大的卷积核(与整个特征映射一样大),但与传统的CNN相比,它并没有探索更多的属性。
此外,[38]和[71]都没有在baseline上评估他们的模型,因此,目前尚不清楚大卷积核CNN是否能像ViTs一样扩展。
⑦ConvMixer[85]使用高达9×9的卷积来取代ViTs[33]的“混合器”组件或MLP[82,83]。
⑧MetaF ormer[103]建议用池化层代替自注意力模块。
⑨ConvNeXt[60]采用7×7深度卷积来设计强大的架构,突破了CNN性能的极限。
尽管这些研究表现出了出色的性能,但它们并没有说明更大卷积(例如,31×31)的好处。
2)模型缩放技术
对于一个小型模型,通常的做法是将其扩展以获得更好的性能,因此扩展策略在最终的精度-效率权衡中发挥着至关重要的作用。对于CNN,现有的缩放方法通常关注模型深度、宽度、输入分辨率[30,68,79]、bottleneck ratio和group width[30,68]。
然而,卷积核大小常常被忽略。作者表示卷积核大小也是CNN中一个重要的缩放维度,特别是对于下游任务。
3) Structural Re-parameterization
Structural Re-parameterization[25-29]是一种通过转换参数等价地转换模型结构的方法。
①例如,RepVGG针对的是一个深度推理时类VGG(无分支)模型,并在训练过程中构建了额外的RestNet风格的shortcut与3×3层卷积并行地进行训练。这样的shortcut方式帮助模型达到了令人满意的性能。训练结束后,通过一系列线性变换将shortcut合并到并行的3×3内核中。
著者らはこのアプローチを使用して、比較的小さなカーネル (例: 3×3 または 5×5) を非常に大きなカーネルに追加します。このようにして、非常に大規模な畳み込みカーネルが狭い範囲のパターンをキャプチャできるようになり、モデルのパフォーマンスが向上します。
3. 大規模コンボリューション カーネルを適用するためのガイドライン
CNN に単純に大規模な畳み込みを適用すると、パフォーマンスや速度が低下することがよくあります。大粒カーネルを効果的に利用するための5つの指針を著者が要約し、実験を通じて解説しています(詳細は原文を参照してください)。
1) 大規模なカーネルの深さ方向の畳み込みは実際に効果的です
著者は、コンボリューションカーネルが大きくなっても、実際の計算時間は理論上のFLOPほど増加せず、計算量の増加は許容範囲内であり、深層学習フレームワークと密接に関連していることを実験を通じて示しています。
2) ID ショートカット方法は、特に大規模なコンボリューション カーネルを備えたネットワークにとって非常に重要です。
3) 小さなカーネルによる再パラメータ化 [29] は、最適化の問題を補うのに役立ちます。
4) 大規模な畳み込みにより、下流のタスクがより容易になる
5) 大きな畳み込みカーネル (13×13 など) は、小さな特徴マップ (7×7 など) にも役立ちます。
4.RepLKNet: 大規模な畳み込みカーネル アーキテクチャ
RepLKNet はバックボーン、ステム、トランジションで構成されます。(DW) ラージ コンボリューション カーネルに加えて、他のコンポーネントには DW 3x3、高密度 1x1 コンボリューション、およびバッチ正規化 BN が含まれます。各畳み込み層の後には BN が続きます。ショートカット法に加えて、このタイプの Conv-BN シーケンスでは、活性化関数として ReLU が使用されます。(特定のネットワークの各層の設計動機については、原文を参照してください)
5. 実験
1) 3×3 から 31×31 までのより大きなコンボリューション カーネルを使用する
2) ImageNet 分類
3) セマンティック セグメンテーション
4) ターゲット検出
6. 考察
1) 大規模カーネル ニューラル ネットワークは DW カーネル モデルよりも大きなERFSを有する
2) ラージコアモデルの形状の好みは人間の形状の好みと質感の好みに近い
3) 拡張畳み込み
扩展卷积作为实现大核卷积的一种替代方法,是增加感受野的常用组件。实验表明,尽管深度扩张卷积具有与深度密集卷积相同的最大RF,但其表示能力要低得多,因为扩张卷积数学上等同于稀疏大核卷积。[92,98]进一步表明,扩张卷积可能存在网格化问题。作者认为扩张卷积的缺点可以通过不同扩张卷积的混合来克服,这将在未来进行研究。
4)局限性
大卷积核设计提高了CNN在ImageNet和下游任务上的性能,但是实验表明,随着数据和模型规模的增加,模型精度会有所下降,下降的原因未知需进一步研究。
A Survey on 3D Skeleton-Based Action Recognition Using Learning Method
本节参考CVPR2022年发布的基于深度学习的3D骨架行为识别综述:A Survey on 3D Skeleton-Based Action Recognition Using Learning Method,对其主要内容进行总结,以便加深理解和记忆。
1.概念
1.1行为识别
1)行为识别背景
行为识别是CV领域重要的组成部分和最活跃的研究课题,已被研究了几十年。
2)为何进行行为识别
由于行为可以被人类用来处理事务和表达情感,因此识别某种行为可以被广泛应用于近年来尚未完全解决的应用领域,如智能监控系统、人机交互、虚拟现实、机器人技术等。
3)如何进行行为识别(通过什么样结构的数据进行学习)
①通常,图像序列、深度图像序列、视频、某种特定形式的光流,或这些模态的某种融合形式(如图像序列 + 光流)在行为识别任务中应用,并通过多种技术取得了良好的效果
②基于骨架序列的行为识别
①相较于②而言的计算量较大,当面对复杂的背景、随着身体尺度、视点和移动速度变化时也不那么健壮
1.2 3Dスケルトンシーケンス
1) スケルトンシーケンスとは
スケルトン シーケンスは、関節と骨を含む人体のトポロジカルな表現です。
2) スケルトンシーケンスの利点
① 空間情報に関しては、関節ノードとその隣接ノードとの間に強い相関があり、骨格シーケンスにおいてフレーム単位で豊富な身体構造情報が得られる ② 時間情報はフレーム間であり、強い相関がある
時間的相関関係
③ 関節や骨格を考慮した場合の空間的・時間的共起
3) 骨格配列に基づく従来の研究手法
スケルトン シーケンスに基づくアクション認識は主にタイミングの問題であり、従来のスケルトン ベースの方法では通常、特定のスケルトン シーケンスからモーション パターンを抽出することを目的としています。これにより、さまざまな関節や身体部分間の相対的な 3D 回転や平行移動が頻繁に使用される、手作りのフィーチャに関する広範な研究が行われるようになりました。
しかし、手作りの特徴は一部の特定のデータセットでしかうまく機能しないことが証明されています。つまり、あるデータセット用に手作りされた特徴は別のデータセットに転送できない可能性があり、この問題により、アクション認識アルゴリズムを一般化したり、より広範囲に適用したりすることが困難になります。アプリケーション。
2. 関連研究
既存のレビュー研究のほとんどは、画像または深度画像データの深層学習手法に基づく従来の技術または手法のみに焦点を当てており、違いや動機は無視されています。
1) Ronald Poppe [32] は、まずこの分野の基本的な課題と特徴を説明し、次に直接分類の基本的な分類方法と時空間状態モデルの基本的な動作分類方法について詳しく説明しました。
2) ダニエルとレミは、空間と時間の領域のみでの行動表現の包括的な概要を示しました [33]
3) 最近、深層学習ベースのビデオ分類とキャプションタスクが [34] と [35] によってまとめられ、CNN と RNN の基本構造が紹介され、後者は共通の深層アーキテクチャと定量的分析を明らかにしました。
4) 私たちの知る限り、[36] は 3D スケルトンベースの動作認識に関する詳細な研究を行った最初の最近の研究であり、UCF、MHAD、MSR 日常活動 3D などの一般的に使用されるデータセットがいくつかあります。 [37]–[39]。ただし、新興の GCN ベースの手法はカバーしていません。
5)最后,[27]提出了一个基于Kinect数据集的动作识别算法的新综述,该综述组织了基于Kinect的技术与各种数据类型(包括图像、深度、图像+深度和骨架序列)的彻底比较
3.基于深度学习的3D骨架行为识别
3.1一般流程
1)如何获取3D骨架数据:直接通过深度传感器获取、通过姿态估计算法获得
2)3D骨架数据被送入RNN、CNN、GCN网络
3)进行行为分类
3.2基于RNN的方法
对于基于RNN的方法,骨架序列是关节坐标位置的自然时间序列,可以看作序列向量,而RNN本身由于其独特的结构适合于处理时间序列数据。此外,为了进一步改进骨架序列的时间上下文学习,已经采用了一些其他基于RNN的方法,如长短期记忆(LSTM)和门控递归单元(GRU)来进行基于骨架的行为识别。
角度Ⅰ:时空建模
时空建模是行为识别的首要任务,由于基于RNN的架构的空间建模能力较弱,一些相关方法的性能一般无法获得具有很好的结果。
1)最近,Hong和Liang[44]提出了一种新的双流RNN体系结构,对骨架数据的时间动态和空间配置进行建模。交换骨架轴用于空间域学习的数据级预处理。
①两个流框架,通过添加一个新流来增强空间信息:
2)与[44]不同,Jun和Amir[45]采用了给定骨架序列的遍历方法来获取两个域(时空)的隐藏关系。
与一般方法将关节按简单链排列而忽略相邻关节间的动力学依赖关系相比,其提出的基于树结构的遍历方法不会在关节间关系不够强的情况下增加错误的连接。
然后,使用LSTM对输入进行判别处理,如果输入单元是可靠的,则通过导入输入潜在空间信息来更新存储单元。受CNN特性的启发,它非常适合空间建模。
3)Chun yu和Bao chang[46]采用了注意RNN和CNN模型,便于复杂时空建模。首先在剩余学习模块中引入时间注意模块,对骨架序列中的帧进行时间注意校正,然后在剩余学习模块中引入时空卷积模块,将校正后的关节序列作为图像处理。
4)此外,[47]采用了一种注意循环关系LSTM网络,利用循环关系网络获取空间特征,采用多层LSTM学习骨架序列中的时间特征。
角度Ⅱ:网络结构
网络结构可以看作是RNN的一个弱点驱动方面。虽然RNN的性质适合于序列数据,众所周知的梯度爆炸和消失问题是不可避免的。
1)为此,提出了几种新型RNN体系结构[48] - [50], Shuai和Wanqing[50]提出了一种独立的递归神经网络,可以解决梯度爆炸和消失的问题,通过它可以更鲁棒地构建更长的、更深入的高语义特征学习RNN。
这种改进不仅可以应用于基于骨架的动作识别,还可以应用于语言建模等其他领域。在这种结构中,一层神经元彼此独立,因此它可以用于处理更长的序列。
角度Ⅲ:数据驱动
1)考虑到动作分析中并非所有关节都是有信息的,[51]在LSTM网络中添加了全局上下文感知关注,该网络选择性地关注骨架序列中的有信息的关节。
下图展示了所提出方法的可视化效果,从图中我们可以得出结论,信息更丰富的关节用红色圈的颜色区域表示,这表明这些关节对该特殊动作更重要。
图(a)表示不同关节对于给定骨骼动作的不同重要性
图(b)给出a特征的表示过程,从左到右分别为原始输入骨架帧、变换后的输入帧和提取的显著运动特征
此外,由于数据集或深度传感器提供的骨架并不完美,这将影响动作识别任务的结果,因此[52]首先将骨架转换为另一个坐标系,使其具有缩放、旋转和平移的鲁棒性,然后从转换后的数据中提取显著的运动特征,而不是将原始骨架数据发送给LSTM。
3.3 CNN ベースの手法
畳み込みニューラル ネットワークは、スケルトンベースの動作認識にも適用されています。RNN とは異なり、CNN モデルは本質的に優れた高度な情報抽出能力を備えており、高度な意味論的手がかりを効率的かつ簡単に学習できます。
CNN ベースの手法は通常、スケルトン シーケンスを画像として表し、時間ダイナミクスとスケルトン ジョイントをそれぞれ行と列として単純にエンコードするため、コンボリューション カーネル内の隣接するジョイントのみが共起特徴を学習するとみなされます。すべての関節に関連する潜在的な相関関係は無視される可能性があるため、CNN は対応する有用な特徴を学習できません。
CNN は一般に画像ベースのタスクに焦点を当てており、スケルトン シーケンスに基づくアクション認識タスクは間違いなく時間に依存する深刻な問題です。したがって、CNN ベースのアーキテクチャで空間情報と時間情報のバランスを取り、より完全に活用する方法は依然として課題です。
CNN ベースの技術には、3D スケルトン シーケンスの表現に加えて、モデルのサイズと速度 [3]、CNN のアーキテクチャ (2 ストリームまたは 3 ストリーム [62]) など、他にもいくつかの問題があります。 、オクルージョン、視点変更など [2]、[3]。したがって、スケルトンベースの動作認識に CNN を使用することは、研究者にとってまだ詳細に研究すべき未解決の問題です。
1) 通常、CNN 入力のニーズを満たすために、3D スケルトン シーケンス データはベクトル シーケンスから擬似画像に変換されます。ただし、空間情報と時間情報の両方を含む関連表現は容易ではないことが多いため、多くの研究者は骨格関節を複数の 2D 擬似画像としてエンコードし、それを CNN に入力して有用な特徴を学習します [53]、[54] 。
2) Wang[55]は、関節軌道の空間構成とダイナミクスを色分けにより 3 枚のテクスチャ画像として表現する関節軌道マップ (JTM) を提案した。ただし、この方法はより複雑であり、マッピング プロセスではその重要性が失われます。
3) 欠点 2) を克服するために、Bo と Mingyi [56] は並進スケール不変画像マッピング戦略を採用しました。これは、まず人体の物理的構造に従って人体の骨格関節の各フレームを 5 つの主要な部分に分割し、次にマッピングします。これらのパーツを 2D フォームに変換します。
この方法により、スケルトン画像には時間情報と空間情報の両方が含まれます。ただし、パフォーマンスが向上したとはいえ、骨格関節を孤立点と考える必要はありません。なぜなら、現実世界では、私たちの体は密接につながっており、たとえば手を振るとき、手に直接だけでなく、かなりの数の体が密接に接続されているからです。関節、肩、脚の他の部分。
4) Yanshan と Rongjie [57] は、関節と骨の重要性を考慮しながら、骨列によって提供される情報を最大限に活用する幾何代数に基づく形状運動表現方法を提案しました。同様に、[2] では強化された骨の視覚化を使用して骨データを表現しています。
5) Carlos と Jessica [58] は、SkeleMotion と呼ばれる運動情報に基づく新しい表現も提案しました。これは、骨格関節の大きさと向きの値を明示的に計算することで時間的ダイナミクスをエンコードします。
図 5(a): [57] によって提案された形状動作表現
図 5(b): SkeleMotion 表現
6) Chao と Qiaoyong [61] は、エンドツーエンドのフレームワークを利用して、さまざまなレベルのコンテキスト情報が徐々に集約される階層的アプローチで共通の色の特徴を学習しました。ポイントレベルの情報は、最初に独立してエンコードされ、次にポイントレベルの情報が時間領域および空間領域の意味表現に結合されます。
3.4 GCN ベースの手法
GCN ベースのアプローチは、人間の 3D スケルトンのシーケンスが、RNN ベースまたは CNN ベースの方法で処理されたシーケンス ベクトルや疑似画像ではなく、自然なトポロジカル グラフであるという事実に触発されています。近年、グラフ構造データを効率的に表現できるため、グラフ畳み込みネットワークがこのタスクに広く使用されています。
現在、グラフに関連するニューラル ネットワークには、グラフリカレント ニューラル ネットワーク (GNN) とグラフ畳み込みニューラル ネットワーク (GCN) の 2 種類があり、本レビューでは主に後者に焦点を当てます。
スケルトンの観点から見ると、単にスケルトン シーケンスをシーケンス ベクトルまたは 2D グリッドに内部化するだけでは、関連するノード間の依存関係を完全に表現することはできません。CNN の一般化された形式として、グラフ畳み込みニューラル ネットワークはスケルトン グラフを含む任意の構造に適用できます。
GCN 技術に基づく最も重要な問題は依然としてスケルトン データの表現、つまり生データを特定のグラフに編成する方法に関連しています。
1) Sijie と Yuanjun [31] は、骨ベースの動作認識の新しいモデルである時空間グラフ畳み込みネットワーク (ST-GCN) を初めて提案し、グラフのエッジに対して時空間グラフが構築されます。
その後、ST-GCN からグラフへの上位レベルの特徴マップは、標準の Softmax 分類子によって相互応答カテゴリに分類されます。これに基づいて、GCN を使用したスケルトンベースの行動認識が大きな注目を集めており、近年多くの関連研究が行われています。
2) 最も一般的な研究は、スケルトン データ [68]、[78]、Maosen と Siheng [68] が提案したアクション構造グラフ畳み込みネットワーク (AS-GCN) は、人間のアクションを識別するだけでなく、被験者の次の可能なポーズの予測を出力するマルチタスク学習戦略。
この研究で構築されたグラフは、「アクション リンク」と「構造リンク」と呼ばれる 2 つのモジュールを通じて、関節間のより豊富な相関関係を捉えることができます。
以下の図は、AS-GCN の機能学習とその一般化されたスケルトン図を示しています。
4. 最新のデータセットとパフォーマンス
スケルトン シーケンス データ (MSRAAction3D[79]、3D アクション ペア[80]、MSR Daily Activity3D[39]) など)。これらのデータはすべて、多数のレビューで分析されています [27]、[35]、[36]。
したがって、このレビューでは主に次の 2 つのデータセットについて説明します: NTURB+D[22] と NTU-RGB+D120[81]
1 はじめに
2016 年に提案された NTU-RBG+D データセットには、Microsoft Kinect v2 によって収集された 56,880 のビデオ サンプルが含まれており、スケルトン ベースのアクション認識のための最大のデータセットの 1 つです。1回の動作で各人25個の関節の3次元空間座標を提供します。
提案手法の評価を得るために、CS と CV の 2 つのスキームが提案されています。
① CS の場合、トレーニングと評価には 40320 サンプルと 16560 サンプルが含まれ、40 人の被験者がトレーニング グループと評価グループに均等に分割されます。
② CV の場合、37920 と 18960 のサンプルが含まれており、カメラ 2 とカメラ 3 をトレーニングに使用し、カメラ 1 を評価に使用します。
最近では、オリジナルの NTU-RGB+D の拡張バージョンである NTU-RGB+D120 も提案されています。これには、120 個のアクション クラスと 114480 個のスケルトン シーケンスが含まれており、視点も 155 です。
2) トップ 10 の行動認識手法
既存のアルゴリズムは生のデータセットでは優れたパフォーマンスを達成しますが、NTU-RGB+D120 では克服するのが依然として課題です。