点击下方卡片,关注「集智书童」公众号
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
图像信号处理器(ISPs)将原始传感器信号转换为数字图像,这极大地影响了图像质量和下游计算机视觉任务的性能。
设计ISP流水线和调整ISP参数是构建成像和视觉系统的两个关键步骤。为了找到最优的ISP配置, recent works 使用深度神经网络作为 Agent 来搜索ISP参数或ISP流水线。
然而,这些方法主要是设计用于最大化图像质量,这在如检测、识别和跟踪等高级计算机视觉任务中的性能是次优的。此外,经过训练的ISP流水线在推理时间之后大部分是固定的,而在动态场景中性能会降低。
为了同时优化ISP结构和参数,作者提出了自适应ISP(AdaptiveISP),一种任务驱动和场景自适应的ISP。
一个关键的观察是,对于大多数输入图像,只需要几个处理模块来提高下游识别任务的性能,并且只需要几个输入需要更多的处理。基于这一点,自适应ISP利用深度强化学习自动生成一个最优的ISP流水线和相关ISP参数,以最大化检测性能。
实验结果显示,自适应ISP不仅超越了先前的最先进方法在目标检测方面,而且动态管理检测性能和计算成本之间的权衡,尤其是对于动态范围变化大的场景。
项目网站:https://openimaginglab.github.io/AdaptiveISP/。
1 Introduction
图像信号处理器(ISP)在摄像系统中起着重要的作用。最初,ISP旨在提高感知质量,专注于摄影相关应用。最近,机器视觉相机也优化了ISP流水线,用于下游识别任务。对于识别任务,研究表明,专门设计的ISP可以显著提高它们的性能。然而,大多数机器视觉相机[13]仍然更喜欢静态的手设计ISP和手动调优的参数,这使得它们在下游识别任务上效果不佳,并且在动态场景下也不灵活。另一种解决方案是直接训练将原始文件作为输入的检测网络,跳过整个ISP处理。然而,这可能需要为每个相机传感器重新训练检测网络,因为相机的原始格式不同,并且研究表明,原始检测网络的性能仍然不如在ISP处理过的图像上的检测网络运行。因此,对于下游识别任务,经过良好调优的ISP非常重要。
在本研究中,作者致力于设计一种ISP(图像传感器和处理模块)能够动态调整其流水线和参数,以适应不同输入,从而针对给定的高级计算机视觉任务进行定制。这个问题面临两个挑战:复杂性和效率。首先,它是一个复杂的优化问题,需要同时重新组织ISP模块、更新其参数,并提高下游识别模块的性能。由于这种复杂性,以前的工作仅更新了参数。一些最近的工作同时优化了ISP流水线和参数[10, 27],但它们并不是为下游识别任务设计的。其次,ISP优化必须足够高效,以适应动态变化的场景,这在实时应用中尤为重要,如自动驾驶和机器人。大多数ISP流水线优化方法使用搜索策略,如神经架构搜索(NAS)方法[38]和多目标优化搜索方法[33],这通常需要几个小时,对于在动态变化的场景中实时应用来说不可行。
为了应对这个挑战,作者观察到,大部分输入图像仅需要进行少量ISP操作就能提高下游识别准确率。如图1所示,ISP的前两个阶段已经将检测准确率(mAP)从67.8提高到70.9,其余的三个阶段仅将其进一步提高到71.4。只有具有挑战性的例子需要更复杂的流水线。因此,作者可以将ISP配置过程建模为马尔可夫决策过程[28],如图1左所示,作者的自适应ISP在每个阶段只选择一个ISP模块。这大大降低了推理时的搜索空间,并允许自适应地改变ISP的长度,从而在处理容易的输入时节省时间。
基于这一理念,作者提出了一种名为自适应ISP(Instant Scene-aware Processor)的实时可重构ISP(图像处理器),基于强化学习(RL)。如图1所示,自适应ISP将线性图像作为输入,并生成一个最优的ISP流水线及其相关参数,这些参数最适合该图像进行目标检测。与先前的神经架构搜索(NAS)[38]不同,自适应ISP采取贪心法,仅在每次迭代中生成一个模块,从而大大减少了搜索时间。在每个迭代中,一个轻量级的RL Agent 将前一个阶段的处理输出作为输入,并找到下一个迭代的最优模块。由于其高效性,自适应ISP只需要1毫秒来预测一个阶段,并可以在实时、飞行中为不同的场景生成不同的流水线,如图1所示。
此外,作者设计了一种针对ISP配置的强化学习方案。首先,作者将一个预训练的固定目标检测网络YOLO-v3 [31]集成到优化系统中,作为损失函数,指导作者的模型优先处理特定的高级计算机视觉任务。其次,作者注意到许多后期ISP模块对检测的改进可能很小,因此作者引入了一种新的成本惩罚机制,使得自适应ISP能够动态地权衡检测准确性和ISP延迟。
提出的自适应ISP与典型的ISP在视觉质量方面具有几个显著的特点。首先,检测ISP可以比传统ISP更加简单。如图1右侧所示,仅需4个阶段,就能实现最佳的检测精度,而传统ISP可能需要超过10个阶段来提高图像质量。其次,虽然两种类型的ISP在检测和观看时的颜色处理都很重要,但它们的行为有所不同。例如,检测ISP在低光场景下通常会完全去色以提高检测率,如图1的第二行所示,这在传统ISP中很少发生。第三,一个简单的锐化或模糊模块可能极大地提高检测精度,而传统ISP中更广泛使用的去噪模块对检测并不十分有益。
作者在LOD [9],OnePlus [38]和合成raw COCO [19]数据集上评估了提出的自适应ISP方法,结果表明在不同的挑战条件和不同的下游任务下,它都超过了先前的最先进方法。实验结果还表明,该方法能够动态地从高准确度的ISP流水线切换到低延迟的流水线。
2 Related Work
ISP参数调优。 近年来,许多研究探讨了优化图像信号处理(ISP)超参数的各种方法,特别是那些基于手工设计和针对下游评估指标的需求进行定制的方法。其中一类方法关注于无导数优化技术。Nishimura等人[25]提出了一种自动图像质量调优方法,该方法利用非线性优化和自动参考生成算法。另一类方法利用基于梯度的优化技术。Tseng等人[34]提出了一种依赖可微近似的方法,允许在推理阶段进行高效的超参数调优,但ISP参数在此期间保持固定。随后,一些研究行人 Aware 到一组参数并不一定适用于不同的场景。Qin等人[29]提出了一种基于注意力的CNN方法,但未考虑序列特定先验知识。接着,Qin等人[30]提出了一种连续ISP超参数预测框架,通过利用连续关系和参数相似性来优化ISP参数。此外,Yoshimura等人[37]提出了_DynamicISP_,该方法可以根据前一帧的识别结果, causally 和平滑地控制当前帧的参数。
从近似方法出发,Mosleh等人[24]提出了硬件在环方法。这种方法直接优化基于硬件的图像处理 Pipeline ,以满足特定端到端目标,通过使用一种新颖的0阶随机解算器实现。此外,Kosugi等人[16]提出了一种基于强化学习的图像增强方法,该方法利用强化学习技术以无配对方式优化超参数。
ISP Pipeline 设计。传统的 ISP Pipeline 旨在遵循人类视觉感知,这种对齐并不总是有利于满足下游高级任务的 demands。以前的研究工作 [33; 38] 已经证明,自定义的 ISP 配置不一定有利于下游高级视觉任务。ReconfigISP [38] 提出了一种新型的可重构 ISP,其架构和参数可以通过神经架构搜索(Darts)[20] 自动定制到特定数据和任务。RefactoringISP [33] 通过多目标优化算法(NSGA-II)[4] 同时优化 ISP 结构和参数以及特定任务损失和 ISP 计算预算。然而,这些方法在推理过程中保持 ISP Pipeline 和参数固定,而不管输入的显著特性。
创新性的研究利用深度学习在无配对数据上解决照片修饰的挑战,使用户能够模拟他们首选的修饰风格[10]。
此外,近年来,一些研究探讨了用深度学习模型替代传统ISP Pipeline 或模块来提高图像质量。PyNET [11] 提出了一种统一的模型,直接学习RAW到RGB映射,以改善移动摄影,而CycleISP [39] 引入了一种噪声感知去噪方法。ParamISP [14] 开发了基于相机参数的前向和反向ISP模型,使得可以更准确地模拟真实世界ISP的行为,从而提高图像处理性能。DualDn [17] 进一步利用可微分的ISP来提高去噪能力。尽管这些方法可以提高图像质量,但它们并没有始终转化为更好的性能,以应对下游的高层次视觉任务。
3 Our Method
图像信号处理器(ISP)通常由一个将原始传感器像素数据转换为适合人类观察的RGB图像的图像处理模块组成的流水线[2]。典型的相机ISP流水线包括两部分:原始域和RGB域。与原始域处理相比,RGB域处理通常依赖于图像,需要更多的专用设计和调整工作。ISP流水线和模块的详细信息可以在_附录_中找到。
在这项工作中,作者关注RGB域处理。作者假设捕获的原始传感器数据已经通过简单的静态原始域处理转换为线性RGB图像,而作者的调优主要集中在sRGB域处理,类似于[9, 37]。
Problem Formulation of AdaptiveISP
给定一个输入的线性RGB图像I,自适应ISP的目标是找到一个最优的ISP流水线和参数,使得处理后的输出图像在目标检测方面具有高性能。用表示一个ISP模块,其中是ISP模块的类型,是该模块的参数集。ISP流水线由一系列ISP模块组成,其中表示ISP处理的阶段数,这些模块将输入图像I变换为输出图像,共经过次ISP处理。
适应性ISP的目标是预测一个最优的ISP流水线(有T个阶段)及其参数,即对于输入图像,在给定计算机视觉任务(例如目标检测)下最大化其性能。这可以表述为
因此,作者可以将这个问题建模为马尔可夫决策过程(Markov Decision Process)[28],并可以通过深度强化学习有效地解决。
Optimization Objectives
作者的公式类似于[5, 6, 10, 27]。作者将这个问题表示为,其中是状态空间,是动作空间。具体来说,在作者的任务中,是图像空间,包括输入图像和ISP过程中的所有中间结果,而是所有ISP模块的集合。由于每个动作包括选择ISP模块和预测ISP模块参数,作者可以将动作空间分解为两部分:离散的ISP模块选择和连续的ISP模块参数预测。在第阶段,选择一个ISP模块及其参数,输入图像在状态上映射到状态。对输入图像应用一系列个选择的ISP模块对应于状态和动作的轨迹:
作者的目标是寻找一个策略π,在决策过程中最大化累积奖励。策略π由两个子策略(π^M和π^Θ)组成,其中π^M接受一个状态并返回ISP模块的概率分布,π^Θ预测选定ISP模块的参数a^Θ。在这篇论文中,具有i个动作(即对应ISP处理的i个阶段)的奖励函数因此被写为:
因此,作者可以将状态函数的值定义为:
其中是一个折扣因子,它使得近期的奖励更重要。因此,作者定义状态函数的值为:
并且动作函数 的值为:
作者的目标是选择一个策略 ,在决策过程中最大化期望累计奖励:
表示整个图像数据集。
Implementation Details
为了确保ISP Pipeline 和参数预测的稳定有效的强化学习,作者增强了网络输入并实现了几个惩罚函数,以更好地约束训练过程。具体而言,作者将奖励函数 Equation 4 修改为:
其中, 代表以下所述的惩罚项。
利用与探索。为了避免策略网络连续多次选择相同的ISP模块,作者在网络输入中增加模块使用记录(用N个通道表示,N是ISP模块池的大小)和额外的"阶段"通道。在每个阶段,如果正在使用ISP模块,相应的"使用"通道和重复使用的惩罚将设置为1和0,否则设置为0。阶段通道设置为阶段的索引。在训练过程中,这些额外的输入和重复使用的惩罚限制策略网络不再选择相同的ISP模块,这可以有效地缩小解空间并提高性能。网络输入的详细信息见附录。
此外,作者旨在鼓励策略网络 探索不同的 ISP 模块,以防止参数预测网络学习不足。具体而言,作者在策略网络 的输出熵上引入一个惩罚项 ,以确保动作分布不过于集中。
软max 输出中的ISP模块m的概率为,是一个惩罚系数,随着训练过程的进行,它逐渐从1减小到0。
计算时间代价。ISP流水线通常包括多个模块,负责特定的图像处理任务,如去噪、锐化、白平衡等。这些模块具有不同的计算成本,有的更快,有的更慢,如表4所示。因此,在设计ISP流水线时,必须考虑这些模块的特定计算成本。特别是在需要快速响应的场景,如自动驾驶,优化ISP流水线的计算效率变得至关重要。为了使作者的方法自动选择合适的模块及其顺序,在ISP流水线的设计中,应考虑每个模块的计算时间。具体而言,作者收集所有模块的运行时间, Token 为,如表4所示,并将成本的惩罚定义为:
表示模块 是否被使用的 one-hot 编码, 是惩罚系数。
4 Experiments
数据集遵循先前的研究,作者在广泛使用的实际低光检测数据集和合成正常光数据集上训练和评估作者的模型,包括:
LOD数据集[9]是一个真实的低光目标检测数据集,其中包含2,230张14位低光原始图像,包含8种物体类别。该数据集旨在系统性地评估低光检测性能。其中,有1,830个数据对用于训练,400个数据对用于验证。此外,它还提供了相应的元数据,包括ISO、快门速度、光圈设置等,极大地方便了作者的实验分析。
OnePlus. OnePlus Dataset [38] 是一个由OnePlus 6T A6010 智能手机在驾驶场景下收集的真实世界低光目标检测数据集,该数据集中包含在街景中的141张原始图像以及三个类别的物体。训练数据有50对,验证数据有91对。由于数据集的大小有限,作者在实验中使用了所有原始图像作为验证集。
原始COCO数据集。COCO [19]是一个大规模的目标检测、分割和标注数据集。为了评估作者的方法的一般化能力,作者使用UPI [1]将COCO验证集(5,000张图像)转换为一个类似于原始数据集的合成数据集作为评估数据集,类似于[9; 37; 29; 30]。
实验细节: 与[38]类似,YOLOv3 [31] 作为所有方法中的检测模型,除非另有说明。YOLOv3 是一种健壮且快速的目标检测算法。其实时适用性、速度和高性能特性使其成为许多经典目标检测算法的多种应用的强大选择。在反向传播方面,YOLOv3 将梯度反向传播至作者的方法以优化结构和参数。需要注意的是,预训练的 YOLOv3 模型在训练过程中始终保持不变。在训练和推理阶段,作者遵循[9]使用固定输入分辨率 。此外,除非另有说明,作者的方法及比较方法都是在自制的 ISP 上进行的实验。
评估指标。作者使用所有交并比(IoU)阈值下的平均精确率(mAP)来评估作者的方法性能,采用与目标检测算法中使用的方法相似。
Results
LOD数据集上的结果。LOD数据集提供了带有元数据的JPEG图像,这为作者分析实验结果提供了便利。在这个数据集上,作者选择了几个 Baseline 方法进行评估。
首先,作者选择了两种基于网络的ISP方法,分别是Crafting[9]和NeuralAE[26]。此外,作者还评估了作者的方法与静态手工艺流程和参数方法进行比较,具体为Hyperparameter Optimization[34]。此外,作者还比较了作者的方法与静态手工艺流程与动态参数技术相结合的方法,例如Attention-aware Learning[29]和DynamicISP[37]。
最后,作者比较了作者的方法与ISP Pipeline 和参数优化方法,例如ReconfigISP[38]和Refactoring ISP[33]。ReconfigISP使用了神经架构搜索算法(Darts)[20],而Refactoring ISP基于非支配排序遗传算法II(NSGA-II)[4]。
如图1第一列所示,作者的方法在LOD数据集上实现了所有目标检测指标的最佳性能。请注意,具有动态参数方法的静态 Pipeline 优于静态 Pipeline 和参数方法,动态 Pipeline 和参数方法在所有方法中表现出优越的结果。作者进一步在图3中展示了作者的方法检测结果,展示了在与其他方法相比的优越的检测效果,无论是误检还是漏检。
跨数据集测试。 为了评估作者的方法在不同数据集上的泛化能力,作者使用在LOD数据集上训练的模型,并在OnePlus和原始COCO数据集上进行测试。如表1中心及最右侧列所示,作者的方法取得了最佳性能,这证实了作者的方法在最佳泛化能力方面也表现最好。在mAP@0.75评估指标方面,作者的方法在OnePlus和原始COCO数据集上与替代方法相比分别提高了约1个点。此外,作者的方法在原始COCO数据集上比Refactoring ISP [33]和ReconfigISP [38]提高了2个点的mAP@0.5:0.95评估指标,在OnePlus数据集上比Refactoring ISP [33]和ReconfigISP [38]提高了4个点的mAP@0.5:0.95评估指标。
交叉检测器测试。 为了评估作者的方法在不同检测器上的泛化能力,作者使用现有的ISP(RGB)的检测结果作为基准,并在DDQ [40](基于Transformer的方法)和YOLOX [7](基于CNN的方法)上进行比较实验。如表3所示,作者使用的自适应ISP的所有检测器都表现出改进的检测性能,这表明作者的方法不会过度拟合一个检测器,而是适用于其他检测器。需要注意的是,DDQ [40]和YOLOX [7]在训练过程中并未使用,但作者的ISP在测试时仍能泛化到这些检测器。
图像分割的结果。为了证明作者的方法可以泛化到其他任务,在表2中,作者还进行了一个使用图像分割作为下游任务的实验。请注意,所有模型都是在LOD数据集上使用预训练的YOLOv3检测器进行训练,并在使用预训练的YOLO-v5分割器评估的合成原始COCO数据集上进行评估。作者的方法在所有 Baseline 之上表现更好,进一步展示了其对不同下游任务和算法的泛化能力。作者在图4中进一步呈现了作者的方法分割结果,突显了与其他方法相比在漏检方面的优越性能。
准确性与效率权衡。作者的方法可以控制 来调节优化过程是否考虑每个ISP模块的计算时间,其中 是计算成本权重。通过调整 ,作者可以在识别准确率略微降低的情况下生成更高效的ISP。
作者在LOD数据集上进行了分析实验,其中表示以准确性为导向的结果,表示以效率为导向的结果。作者计算了测试结果中每个模块出现的比例。如表4所示,以效率为导向的方法对每个样本的平均运行时间有显著减少,同时性能略有降低。此外,计算时间较长(如锐化/模糊和色调映射)的模块出现频率减少了超过50%。相反,计算时间较短(如曝光和白平衡)的模块选择频率显著增加。
运行时间。为了验证作者方法的实际性,作者使用NVIDIA GTX 1660 Ti GPU进行了速度测试,该GPU的计算能力为11 TOPS,远低于NVIDIA DRIVE Orin TM SoC的254 TOPS。在推理过程中,作者的方法每个阶段只需要1.2毫秒,这一效率归功于只需要利用轻量级策略网络在推理过程中预测模块和参数。
Ablation Study and Analysis
自适应ISP。作者进行了一项研究,以表明不同的数据需要不同的ISP流水线才能实现最佳性能。为了实现这一目标,作者首先收集了方法在LOD数据集上预测的各种ISP流水线。接下来,作者选择了三个最具代表性的ISP流水线及其对应的输入原始图像,形成了LOD数据集的三个子集。这三个不同的ISP流水线的具体信息可以在图5中找到。最后,作者使用作者方法生成的三个ISP流水线子集对它们进行交叉测试,如图5所示。通过分析实验结果,作者可以看到只有最匹配的流水线才能实现最佳结果,否则,会导致不同程度的性能退化,这也证明了在不同场景下有不同的流水线需求。
不同的图像模块偏好。此外,作者分析了为什么对于各种场景需要不同的ISP流水线。LOD数据集提供了带有相关元数据的JPEG图像,这为作者的实验结果分析带来了便利。
观察到在三个ISP流水线的第一个阶段有两种不同的选择:CCM和去色。ISO6400(ISO3200)和高噪声水平的情况倾向于支持去色模块,而ISO800(ISO1600)和低噪声水平的情况则倾向于选择CCM模块,如图5所示。因为去色可以减少颜色噪声和饱和度,所以ISO6400(ISO3200)和高噪声水平的高 Level 噪声图像更倾向于选择去色模块。CCM可以消除颜色偏移并增强颜色饱和度。因此,对于低ISO图像,最佳选择是CCM。
随后,在第三阶段,作者观察到第二和第三ISP Pipeline 之间存在分歧。尽管第二ISP Pipeline 选择Tone Mapping模块,但第三ISP Pipeline 则偏爱White Balance模块。在分析第二阶段后的图像后,作者发现存在明显的色彩偏差问题,尤其是在整体亮度相对较高的情况下。在这种场景下,最合适的选择是采用White Balance模块。相反,在处理具有高动态范围(如包含电灯或直接阳光的图像)时,显然选用Tone Mapping模块更为优秀。
最后,在总结三种ISP Pipeline 之间的共性时,得出几个关键结论:i) 色彩校正模块显著提高了检测性能(与图像质量任务中的色彩校正不同)。然而,对于亮度和噪声水平不同的图像,最佳选择各异。ii) 锐化/模糊模块具有重要地位,可以增强或模糊图像,以与检测网络对齐。iii) 色调映射也起着关键作用,如图5所示:不同ISP Pipeline 及其子集在LOD数据集上的交叉验证结果。只有最匹配的 Pipeline 才能获得最佳结果,这证明了需要不同的 Pipeline 。
提高检测精度通过调整整体颜色和亮度。iv) 去噪,与以前的研究结论相反,认为去噪并非至关重要。这一发现为ISP节省了大量的计算成本。这些分析和结论为未来针对特定下游任务的ISP的设计提供了有价值的洞察。
为了证明作者的模型在推理阶段能够实现效率和准确度的自适应权衡,作者使用阶段来表示ISP模块的数量。 recall,之前没有一个算法支持动态效率-准确度权衡。超参数优化 [34] 和自注意力学习 [29] 是基于人工制作的ISP进行优化的,因此推理阶段的时间消耗无法改变。
尽管ReconfigISP [38]和Refactoring ISP [33]已经针对特定任务优化了ISP流水线和参数,但在推理过程中,ISP流水线和参数仍然是固定的。如表5所示,作者的方法只需要3个阶段就能在LOD数据集上实现最佳性能,同时实现了效率和准确率之间的良好权衡。此外,这种权衡在推理时发生,无需重新训练,并且支持权衡策略的动态更新。
5 Conclusion
在本文中,作者提出了AdaptiveISP,一种利用深度强化学习自动生成优化ISP流水线和相关参数的新颖方法,利用预训练的目标检测网络最大化检测性能。作者的方法包含几个关键创新。
首先,作者将ISP配置过程建模为马尔可夫决策过程,允许强化学习自主发现特定高级计算机视觉任务的最优流水线和参数。
其次,为了考虑不同ISP模块的计算成本,作者引入了计算时间的惩罚。全面的实验表明,AdaptiveISP超过了现有最先进的方法,动态管理性能与计算成本之间的权衡。
此外,作者对ISP配置中的单个模块进行了详细分析,为未来针对特定下游任务定制的ISP设计提供了宝贵的见解。当前方法依赖于可微分ISP模块的研究,未来的努力将致力于探索非可微分ISP方法。
参考文献
[0]. AdaptiveISP: Learning an Adaptive Image Signal Processor for Object Detection.
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)