图像信号处理器(ISP,Image Signal Processor)详解

news2024/11/26 2:43:50

简介:个人学习分享,如有错误,欢迎批评指正。

图像信号处理器(ISP,Image Signal Processor) 是专门用于处理图像信号的硬件或处理单元,广泛应用于图像传感器(如 CMOS 或 CCD 传感器)与显示设备之间的信号转换过程中。它的核心作用是从传感器输出的原始数据中提取并优化图像信息,最终输出可以供显示、存储或进一步处理的图像
在这里插入图片描述

一. ISP的基本架构和工作原理

ISP通常集成在图像处理的整个链路中,它的功能包括从图像传感器获取信号开始,到输出最终可用的图像或视频信号的过程。一个典型的ISP架构通常包括以下几个主要部分:

  • 输入接口:用于与图像传感器连接,获取传感器的原始数据。这些数据通常是未经处理的数字或模拟信号

  • 数字信号处理单元(DSP):ISP内部核心部分,负责执行各种图像处理算法,如噪声去除、白平衡、锐化等。

  • 图像处理模块:包括去马赛克、色彩调整、图像增强等模块。

  • 输出接口:将处理后的图像信号输出给显示屏、存储器或其他设备。输出的图像信号可能需要根据显示设备进行适配和转换。

ISP的控制结构

如图所示,lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer 格式的原始图像送给ISP,ISP 经过算法处理,输出RGB空间域的图像给后端的视频采集单元。在这个过程中,ISP通过运行在其上的firmware(固件)对ISP逻辑,从而对lens 和sensor 进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中,firmware的运转靠视频采集单元的中断驱动。PQ Tools 工具通过网口或者串口完成对ISP 的在线图像质量调节。

ISP 由ISP逻辑运行在其上的Firmware组成,逻辑单元除了完成一部分算法处理外,还可以统计出当前图像的实时信息。Firmware 通过获取ISP 逻辑的图像统计信息,重新计算,反馈控制lens、sensor 和ISP 逻辑,以达到自动调节图像质量的目的。

在这里插入图片描述

图像产生过程

景物通过 Lens 生成的光学图像投射到 sensor 表面上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变为数字图像信号, 再送到数字信号处理芯片( DSP) 中加工处理

所以,从 sensor 端过来的图像是 Bayer 图像,经过黑电平补偿 (black level compensation)、镜头矫正(lens shading correction)、坏像素矫正(bad pixel correction)、颜色插值 (demosaic)、Bayer 噪声去除、 白平衡(awb) 矫正、 色彩矫正(color correction)、gamma 矫正、色彩空间转换(RGB 转换为 YUV)、在YUV 色彩空间上彩噪去除与边缘加强、色彩与对比度加强,中间还要进行自动曝光控制等, 然后输出 YUV(或者RGB) 格式的数据, 再通过 I/O 接口传输到 CPU 中处理。
在这里插入图片描述

ISP的工作原理大致如下:

  1. 从传感器获取原始数据:图像传感器(通常为CMOS传感器)首先捕捉图像的原始数据。这些数据通常是带有噪声、缺少颜色信息和对比度较低的RAW图像数据

  2. 数据预处理:原始图像数据经过初步的处理步骤,如信号放大、模数转换等,以准备进入后续的图像处理阶段。

  3. 图像处理:ISP对原始数据进行复杂的处理,步骤包括去噪、色彩校正、去马赛克、动态范围优化、锐化等,最终得到一张视觉效果优化的图像。

  4. 输出和显示:经过处理后的图像可以传输到显示屏,或者存储到存储介质中。

二. ISP的主要功能模块

ISP的设计涉及多种图像处理算法,涵盖从信号采集到最终输出的各个方面。下面详细介绍几个主要的功能模块:

0.图像中的低频内容和高频内容

0.1.低频内容:

  • 定义:低频内容指的是图像中变化较为平缓、较为连续的部分。它通常对应于图像中的大致形状或背景,变化幅度小。
  • 特点:在图像中,低频内容通常呈现为较为平滑的区域,没有明显的边缘或细节变化。例如,天空、大面积的墙面或地面等。
  • 在图像处理中的作用:低频信息在图像中的整体轮廓和结构上起着重要作用,常常用来表示图像的宏观特征。

0.2.高频内容:

  • 定义:高频内容指的是图像中变化剧烈的部分,通常对应图像中的细节或边缘区域。它具有较高的变化频率。
  • 特点:高频内容在图像中表现为细节、纹理、边缘或噪点等。例如,图像中的细微纹理、物体的轮廓或边缘都属于高频部分。
  • 在图像处理中的作用:高频内容包含了图像的细节和清晰度,通常用来增强图像的细节或进行边缘检测。

0.3.低频与高频的对比:

  • 视觉效果:低频内容通常让图像看起来较模糊或柔和,而高频内容则使图像更为清晰、锐利。
  • 处理技术:在一些图像处理技术中(如滤波器、图像压缩和锐化),我们常使用低频滤波来去除背景噪声,而高频滤波则用于增强图像的细节。

1.噪声抑制(Noise Reduction,NR)

噪声抑制(Noise Reduction,NR)是图像信号处理中的一个重要任务,旨在减少或消除图像中的噪声成分,使得最终输出的图像更加清晰、细节更加丰富。在图像采集过程中,噪声通常由多个因素引起,比如传感器的固有噪声、环境光照不足导致的噪声、信号传输过程中的干扰等。噪声的存在不仅影响图像的质量,还会干扰后续的图像分析和处理(如对象识别、分割等)。

噪声抑制是ISP中的核心功能之一,常见的噪声类型包括高斯噪声、盐和胡椒噪声、斑点噪声等。噪声抑制技术需要有效地从图像中去除噪声,同时尽量保留图像的边缘、纹理和细节信息。

1.1. 噪声的来源和类型

在处理图像时,了解噪声的来源及其特性是非常重要的。常见的图像噪声类型包括:

  • 高斯噪声(Gaussian Noise):通常由传感器的电子噪声、低光环境、热噪声等引起。高斯噪声是最常见的一种噪声类型,其特点是像素值的分布符合正态分布。它会使图像像素随机波动,导致图像变得模糊。

  • 盐和胡椒噪声(Salt-and-Pepper Noise):这类噪声是由于信号传输错误或者设备故障造成的,表现为图像中的黑白斑点。盐和胡椒噪声的特征是像素值极高或极低,常出现在图像的某些位置。

  • 斑点噪声(Speckle Noise):这种噪声通常出现在图像的纹理区域,常见于图像采集过程中由光源不均、运动模糊等因素引起。斑点噪声的特征是呈现局部区域的强烈波动,影响细节部分。

  • 泊松噪声(Poisson Noise):主要由图像传感器的电流响应产生,通常在低光照条件下较为明显。泊松噪声表现为图像中局部区域的亮度波动。

1.2. 噪声抑制的目标

噪声抑制的目标是通过算法去除图像中的噪声,同时保留尽可能多的图像细节,尤其是边缘和纹理信息。噪声抑制算法的设计要面临两个挑战:

  • 去噪与保细节的平衡:去噪处理可能会导致图像细节的损失,尤其是锐利的边缘和微小的纹理。理想的去噪方法应该既能去除噪声,又能保持细节。

  • 不同噪声的处理:不同类型的噪声需要不同的去噪技术。例如,高斯噪声通常通过平滑滤波器去除,而盐和胡椒噪声则需要特殊的去噪策略。

1.3. 常见的噪声抑制方法

噪声抑制技术有许多种,以下是一些常见的噪声抑制方法:

1.3.1 空间滤波法

空间滤波法通过调整每个像素的值,使其更符合周围像素的均值,从而去除噪声。这类方法的主要优点是简单易实现,且计算开销较小。

  • 均值滤波(Mean Filtering):均值滤波是最简单的噪声抑制方法。它通过计算每个像素邻域的平均值来替换原像素值,从而平滑图像并减少噪声。均值滤波在去噪的同时,可能会模糊图像细节,尤其是图像的边缘。

  • 中值滤波(Median Filtering):中值滤波通过取邻域像素的中值来代替中心像素值,对于去除“盐和胡椒噪声”特别有效。中值滤波能够有效保留边缘信息,且不会产生像均值滤波那样的模糊效应。

  • 高斯滤波(Gaussian Filtering):高斯滤波是一种加权平均滤波,其权重由高斯函数决定,离中心像素越近的像素权重越小。高斯滤波能够平滑图像,去除高斯噪声,但也会导致边缘的模糊。

1.3.2 频域滤波法

频域滤波法通过将图像从空间域转换到频域,操作频域中的高频分量,从而实现噪声抑制。频域滤波通常通过傅里叶变换实现。

  • 低通滤波(Low-pass Filtering):低通滤波器通过保留低频信息并抑制高频信息来平滑图像,适用于去除高频噪声。通过对图像进行傅里叶变换,低通滤波器能有效去除频域中的高频噪声成分。

  • 带通滤波(Band-pass Filtering):带通滤波器能够抑制低频和高频的噪声,保留图像的中频信息,适用于去除具有特定频率特征的噪声。

1.3.3 小波变换(Wavelet Transform)

小波变换是一种基于多分辨率分析的去噪方法。通过将图像分解成不同尺度的子图像,小波变换能够在不同的分辨率层次上提取图像的细节,从而更有效地抑制噪声。

  • 离散小波变换(DWT):DWT可以将图像分解为多个频带,分别表示低频和高频信息。在去噪过程中,可以对高频部分进行去噪处理,而不影响低频信息,避免图像的模糊。

  • 小波阈值去噪:在小波域中,将小波系数的值在特定与噪声成正比。通过对小波系数进行阈值处理,可以有效抑制噪声,同时保留图像的边缘信息。

1.3.4 非局部均值法(Non-Local Means, NLM)

非局部均值法是一种基于图像自相似性的去噪方法。NLM算法通过寻找图像中相似的区域,将这些区域的信息融合到当前像素的值中,从而减少噪声。该方法能有效去除噪声并保留图像细节,尤其适用于去除随机噪声。

  • 算法步骤:对于每个像素,NLM算法会计算其与所有其他像素的相似度,基于这种相似度加权平均周围像素的值。通过这种方式,原像素将被替换为周围相似区域的像素替代。
1.3.5 深度学习去噪(Deep Learning-based Denoising)

近年来,深度学习广泛应用于图像处理领域,包括噪声抑制。深度学习模型,尤其是卷积神经网络(CNN),在去噪任务中表现出了显著的效果。

  • 卷积神经网络(CNN)去噪:CNN可以通过训练来学习图像中的噪声模式,并从中提取特征,自动去除噪声。相比传统方法,深度学习方法可以更好地保留细节,特别是在处理复杂噪声时表现优异。

  • 生成对抗网络(GAN)去噪:生成对抗网络通过对抗训练的方式生成去噪图像,能够更好地灵活去除不同类型的噪声,保留更多细节。

1.4. 噪声抑制的挑战与未来发展

尽管目前存在多种噪声抑制方法,但噪声抑制仍然面临许多挑战,主要包括:

  • 细节保持与噪声去除的平衡:噪声抑制需要在去除噪声和保留图像细节之间找到合适的平衡。

  • 不同噪声类型的处理:不同类型的噪声需要不同的去噪方法。如何有效区分噪声和图像内容,并分别处理,是一个关键问题。

  • 实时性和计算开销:特别是在移动设备和嵌入式系统中,噪声抑制算法需要平衡效果和实时处理能力,以确保在低功耗情况下也能进行高效的噪声去除。

2.去马赛克(Demosaicing)

去马赛克(Demosaicing) 是图像处理中的一项核心任务,特别是在数字图像采集过程中,用于将图像传感器(如CMOS传感器)捕获的原始数据转换为完整的彩色图像由于图像传感器使用的颜色滤光阵列(CFA,Color Filter Array)通常是单一的,每个像素只采集一种颜色(红、绿或蓝),因此需要进行去马赛克处理来重建每个像素的RGB值

2.1. 去马赛克的背景与挑战

在大多数图像传感器中,像素阵列由不同颜色的滤光片组成,例如 拜耳滤色阵列(Bayer CFA)它按照一定的排列模式将红、绿、蓝三种颜色的滤光片分配到相邻像素上。这样,每个像素只能捕获其中一种颜色的亮度信息。因此,图像传感器采集到的原始图像数据是一个只有亮度信息的单通道图像(通常为绿色、红色、蓝色的单独亮度值),而我们需要通过去马赛克恢复到完整的彩色图像

去马赛克的主要挑战就是在每个像素点上,利用周围邻域的信息推测出丢失的颜色值,同时尽量保留图像的细节、避免颜色失真和避免过度平滑。去马赛克算法需要在去噪、锐化、细节保留等方面找到平衡。

2.2. 图像传感器的拜耳滤色阵列(Bayer CFA)

在大多数常见的CMOS图像传感器中,采用的色彩滤光阵列通常是 拜耳滤色阵列(Bayer CFA),其像素排列方式如下:

G R G R
B G B G
G R G R

在此阵列中,绿色滤光片占据了大约一半的像素,因为人眼对绿色的敏感度较高,而红色和蓝色的滤光片则占据了剩下的像素。对于每个像素,传感器只捕捉到对应颜色的亮度信息,其他颜色的信息需要通过去马赛克算法来推测

2.3. 去马赛克的工作原理

去马赛克的目的是根据每个像素的颜色值和邻域像素的已知颜色,推算出完整的RGB值。由于原始数据缺失了一些颜色信息,去马赛克算法需要通过插值、平滑和边缘保持等技术重建其他的颜色。

去马赛克的基本思路如下:

  1. 获取原始数据:图像传感器输出的是未经处理的RAW数据(通常是单通道的)。例如,绿色通道包含绿色像素的亮度值,红色通道和蓝色通道则为缺失值

  2. 推测缺失的颜色信息:对于每个像素,使用周围像素的颜色信息来推测它缺失的颜色值。不同颜色的像素之间存在空间相关性,因此,去马赛克算法需要利用周围已知颜色像素的信息进行插值。

  3. 恢复RGB图像:通过插值完成每个像素的RGB值填充,最终生成完整的彩色图像。

2.4. 去马赛克的常见算法

去马赛克算法可以分为两类:线性插值方法非线性插值方法。根据不同的策略,算法的复杂性和效果会有所不同。

2.4.1 线性插值方法

线性插值方法通过对邻域像素进行加权平均来推算缺失的颜色值,通常简单且计算速度较快。

  • 最邻近插值法(Nearest Neighbor Interpolation):对于每个缺失的颜色值,直接使用距离它最近的已知像素的值来填充。虽然该方法计算量小,但会导致图像中出现明显的块效应,尤其在图像细节和边缘部分。

  • 双线性插值法(Bilinear Interpolation):双线性插值不仅考虑横向邻域,还考虑纵向邻域,通过加权平均周围四个像素的值来填充缺失的颜色。这种方法比最邻近插值更平滑,但在处理对比度边缘时可能出现模糊。

  • 三次插值法(Cubic Interpolation):通过周围16个像素的加权平均值来估算每个像素的缺失颜色。三次插值比双线性插值具有更高的精度,能够减少图像模糊,但计算开销较大。

2.4.2 非线性插值方法

非线性插值方法通过更复杂的算法推算缺失的颜色值,这些方法能够在去噪、锐化和细节保留方面表现得更好。

  • 高阶插值法(Higher Order Interpolation):采用高阶的数学模型,通过非线性的插值函数来推测每个像素的缺失颜色。这类方法能够提高重建质量,尤其是在图像细节部分,但计算复杂度较高。

  • 边缘保持插值(Edge-preserving Interpolation):这种方法利用图像中的边缘信息,在去马赛克的过程中保留边缘细节。常见的算法包括基于梯度的插值方法、导向滤波等。这些方法能够减少在边缘部分的模糊,保持图像的锐利度。

2.4.3 基于学习的去马赛克算法

近年来,深度学习方法在图像去马赛克中取得了显著的进展。通过训练深度神经网络(DNN)来学习去马赛克的过程,能够更好地重建缺失的颜色信息。

  • 卷积神经网络(CNN):通过卷积神经网络,模型能够学习到不同颜色间的空间相关性,并从复杂的图像特征中推测出丢失的颜色信息。CNN方法通常能提供较好的去噪效果,同时保留细节。

  • 生成对抗网络(GAN):生成对抗网络(GAN)能够通过对抗学习的方式生成更自然、更高质量的去马赛克图像。GAN的生成器通过训练生成高质量的RGB图像,判别器则帮助评估生成图像的真实性。

  • 自监督学习:在没有大量标注数据的情况下,可以使用自监督学习方法进行去马赛克训练,通过对比输入图像和去马赛克后的输出图像之间的差异进行学习。

2.5. 去马赛克算法的优缺点

不同的去马赛克算法在处理效果、计算复杂度、细节保留方面有不同的表现,具体来说:

优点:
  • 简单的插值方法(如双线性插值),计算速度快,适用于实时应用。
  • 高阶插值法(如三次插值),能够提供更高的精度,适合对图像质量要求较高的应用。
  • 基于边缘保持的插值方法,能够更好地处理图像中的细节,避免边缘模糊。
缺点:
  • 简单插值方法可能会导致图像细节的丢失,特别是在高对比度区域,图像可能出现模糊。
  • 高阶插值方法计算复杂度高、处理速度慢,尤其是在实时处理和嵌入式设备中应用时。
  • 基于学习的去马赛克方法需要大量训练数据,并且计算资源要求较高。

2.6. 去马赛克的应用

去马赛克技术不仅应用于传统的数字摄影和图像处理领域,还广泛应用于以下领域:

  • 数码相机和手机摄像头:现代手机和数码相机中的图像传感器大多采用拜耳滤色阵列,去马赛克技术是这些设备图像处理链中的关键步骤。

  • 视频监控:许多监控摄像头也使用CMOS传感器,去马赛克技术用于将原始传感器数据转换为清晰的视频图像。

  • 医学成像:例如,内窥镜图像、X射线成像等也常涉及图像传感采集的数据需要去马赛克处理。

  • 计算机视觉:在自动驾驶、面部识别等应用中,去马赛克技术为图像分析提供了高质量的输入数据。

2.7. 未来发展

随着深度学习和硬件加速的发展,去马赛克技术将继续朝着高质量、高效能的方向发展。尤其是基于深度学习的去马赛克算法,随着训练数据的增长和模型架构的优化,能够生成更贴真和细节丰富的图像。在高帧率和实时应用中,如何在确保速度和图像质量之间仍然是一个挑战。

3.自动白平衡(Auto White Balance, AWB)

自动白平衡(Auto White Balance, AWB) 是一种常见的图像处理技术,广泛应用于数字图像采集、视频处理和图像编辑中。其目的是在不同的光照条件下,自动调整图像的颜色,以使得图像中的白色物体呈现出真实的白色,从而改善图像的色彩表现,使色彩看起来更加自然和准确

3.1. 白平衡的基本概念

白平衡是指调整图像中的颜色,使白色物体在不同的光照条件下呈现出真实的白色。在不同的照明环境下,光源的色温不同,导致拍摄的图像呈现出不同的色偏。例如:

  • 白色光源:白色光(如日光、白炽灯光)应该不带任何颜色偏差。
  • 暖色光源:如白炽灯或烛光,通常呈现出偏黄色、橙色或红色的色偏。
  • 冷色光源:如荧光灯或阴天的自然光,通常呈现出蓝色或青色的色偏。

在没有合适的白平衡调整时,拍摄的图像会显得偏黄、偏蓝或偏红,影响视觉效果。AWB通过对图像进行色温调整,消除这些色偏,使图像中的白色区域呈现为白色,进而恢复其他颜色的自然性。

3.2. 自动白平衡的工作原理

AWB算法的基本思想是根据图像中的光照条件动态调整红色、绿色和蓝色通道的增益(增益指的是对颜色通道的增强或弱),使得图像中的白色区域显示为白色。为实现这一目标,AWB通常涉及以下几个步骤:

3.2.1 白平衡的色温

色温是衡量光源颜色的一种方式,通常以开尔文(K)为单位。低色温(如1000K-3000K)通常表示较暖的光源(红黄偏多),而高色温(如6000K-10000K)则表示较冷的光源(蓝绿偏多)。

AWB的核心任务是通过计算判断当前光源的色温,并根据色温调整图像的色彩。通常,AWB系统会选择图像中某些区域(如白色或灰色区域)来估算色温,然后计算出一个合适的增益值来补偿图像中的色偏

3.2.2 色彩增益的调整

在AWB的调整过程中,最常见的做法是调整图像的RGB通道增益(或亮度),使得图像的整体色温达到中性色温。具体来说,对于每个通道(R,G,B):

  • 绿色通道通常不需要调整,因为人眼对绿色最为敏感且绿色在白平衡的调整中通常占有重要的中性色调作用。
  • 红色和蓝色通道会根据图像的色温调整增益。若图像偏冷(偏蓝),则增加红色通道的增益,减少蓝色通道的增益;若图像偏暖(偏红),则增加蓝色通道的增益,减少红色通道的增益
3.2.3 图像中的参考区域

在AWB的计算中,系统通常会选择图像中的一部分区域作为“参考区域”,用于估算图像整体的色温。这些参考区域的选择至关重要,选择不当可能会导致错误的白平衡调整。

  • 白色区域:通常被假定为白色或接近白色的区域,例如雪地或白墙等。这些区域的RGB值可以作为色温推测的依据。

  • 灰色区域:灰色物体在不同的光照条件下,反射的红、绿、蓝光的比例较相等,也是进行白平衡调整的有效依据。

  • 无偏色区域:通常通过某些算法自动寻找图像中没有明显色偏的区域作为参考。

3.2.4 算法模型

AWB常用的算法模型包括:

  • 灰世界假设(Gray World Assumption, GWA):该假设认为,图像中所有颜色通道的平均值应当相等。通过计算图像所有颜色通道的平均值,并调整颜色增益,使得所有通道的平均值一致,进而实现白平衡。

  • 完美反射假设(Perfect Reflector Assumption, PRA):该假设认为图像中的某些区域应该是白色或灰色的(如白色墙面、灰色物体等),通过推测这些区域的色彩偏差来计算白平衡。

  • 白点检测法(White-Patch Detection):该方法选择图像中的一个区域,该区域被假设为反射最强的区域(通常是白色区域)。通过测量该区域的颜色并推算整个图像的白平衡。

  • 统计方法:现代AWB系统常常结合图像的统计特征,运用统计模型来推算白平衡参数。该方法通过计算图像中像素的色彩分布,确定合适的白平衡增益

3.3. 自动白平衡的实现

AWB通常在以下两个阶段进行:

  1. 光源色温估计:根据参考区域的颜色特征,推测图像当前的光源色温。常用的方法有色温直方图、基于图像颜色分布的模型等。

  2. 白平衡增益计算与应用根据估算的色温,计算RGB增益值,并将增益应用到图像的每个像素,从而消除色偏,达到白平衡效果。

3.4. AWB算法的优缺点

自动白平衡算法虽然可以在大多数情况下很好地校正图像的色温,但在某些特定条件下仍然存在一些挑战和局限性。

3.4.1 优点
  • 自动化:AWB能够自动调整图像色温,用户无需手动干预,方便快捷。
  • 适应性强:可以适应多种光照环境,如日光、荧光灯、白炽灯等,且能够实时调整,保证图像色彩自然。
  • 图像增强:通过自动调整,AWB可以显著改善拍摄图像的色彩表现,使色彩更加真实和生动。
3.4.2 缺点
  • 复杂光照条件下的失效:在一些特殊的光照环境下,AWB算法可能会失效,尤其是在光源色温不均匀或存在多个光源的情况下。例如,灯光混合环境(同时存在日光和人工照明)可能导致AWB系统难以选择合适的参考区域,从而造成色彩失真。

  • 过度调整问题:在某些情况下,AWB算法可能会对图像进行过度调整,导致原始颜色的失真或偏差,尤其是在自动检测到的色区域不够准确的。

  • 不适用于所有场景:对于某些定片效果或特定情境(如光线特效),AWB的自动调整可能并不符合需求,此时需要手动调整。

3.5. 现代AWB算法的进展

随着深度学习和计算机视觉技术的发展,传统的基于规则的AWB算法逐渐被基于深度学习的方法所取代。基于深度学习的AWB方法通过训练神经网络来自动作学习色温估计和白平衡调整的最佳策略,从而更好地处理复杂光照环境下的色偏问题。

  • 卷积神经网络(CNN):通过训练CNN模型,系统能够自动识别图像的光照条件,并做出最优的白平衡调整。这些方法能够更准确地处理图像中的细节,且对各种光照条件具有较好的鲁棒性。

  • 生成对抗网络(GAN):GAN能够通过对抗学习方式生成高质量的图像,尤其在光照条件复杂时,能够提高图像的颜色还原度。

3.6. 自动白平衡的应用

AWB技术广泛应用于各类图像采集和视频处理设备中:

  • 数码相机和智能手机:在日常拍摄中,AWB自动调整图像的色温,保证色彩真实还原。
  • 视频监控:AWB技术帮助视频监控系统适应不同光照环境,确保视频图像的清晰度和色彩准确性。
  • 医学影像:在医学成像中,白平衡的调整能够使图像的颜色更加准确,帮助医生做出更精准的判断。
  • 自动驾驶:在自动驾驶的视觉系统中,AWB帮助摄像头在不同光照条件下提供准确的视觉信息。

总结:自动白平衡(AWB)通过自动检测和调整图像中的色偏,旨在恢复图像中的颜色真实性,使其看起来更加自然。传统AWB算法的基础上,深度学习技术为其带来了更多的创新与改进,能够更准确地应对各种复杂光照条件。

4.自动曝光(Auto Exposure, AE)

自动曝光(Auto Exposure, AE) 是数字图像处理和摄影中的一个关键技术,主要用于自动调整摄像机或摄影设备的曝光设置,以确保图像的亮度达到理想的水平。曝光是指在拍摄过程中,光线照射到图像传感器或胶片的时间和强度AE通过自动调整曝光时间、光圈和ISO值来控制图像的亮度,从而避免过曝(曝光过度,图像过亮)或欠曝(曝光不足,图像过暗)。

4.1. 自动曝光的基本概念

曝光的三个主要控制参数包括:

  • 快门速度(Shutter Speed):控制传感器或胶片暴露在光线下的时间长短,快门打开的时间越长,传感器接收到的光线越多,图像越亮

  • 光圈(Aperture):控制镜头中光圈的开口大小,光圈越大(小f值),进入的光线越多,图像越亮;光圈越小(大f值),进入的光线越少,图像越暗

  • ISO感光度(ISO Sensitivity):控制图像传感器对光线的敏感度,ISO值越高,传感器对光线的敏感度越强,图像越亮。但高ISO会引入更多噪点,降低图像质量

自动曝光技术的目标是通过调整这三个参数中的一个或多个,确保拍摄的图像在光线不足或过强的环境下仍然保持良好的曝光效果。

4.2. 自动曝光的工作原理

自动曝光的基本思路是:通过分析当前场景的亮度,自动计算出合适的曝光设置。AE通常通过以下步骤实现:

4.2.1 场景亮度评估

AE系统首先会通过图像传感器捕捉当前场景的亮度信息。通常使用图像传感器的亮度数据(即亮度值或光强)来评估场景的曝光需求。为实现这一点,AE算法需要对图像进行区域划分并计算每个区域的亮度值。

  • 测光模式:不同的测光模式用于不同的场景评估。常见的测光模式有:

    • 矩阵测光(Matrix Metering):将整个画面划分为多个区域,综合各区域的亮度信息来估算全局的曝光值。这种模式适合各种复杂场景,能够均衡考虑图像的亮度。

    • 中央重点测光(Center-weighted Metering):将重点放在图像中央区域的亮度,适合拍摄主体位于画面中心的场景。

    • 点测光(Spot Metering):只测量图像中心或某个特定区域的亮度,适用于拍摄特定区域的曝光。

4.2.2 曝光计算

AE系统根据场景的亮度信息计算合适的曝光设置。计算时,会考虑以下几个因素:

  • 目标亮度:AE系统通过预设的“目标亮度”来推算理想的曝光水平。目标亮度通常是一个预定义的标准值,用于调整整体曝光,确保图像的亮度看起来自然。

  • 动态范围:图像的动态范围是指同一图像中,最亮与最暗区域之间的亮度差。AE算法需要确保图像在不失真或出现过曝的情况下,能够覆盖场景的动态范围。

4.2.3 曝光调整

一旦曝光计算完成,AE系统就会自动调整快门速度、光圈和ISO感光度,以确保最终图像的亮度达到所需水平。

  • 快门速度调整:如果图像过暗,AE会选择较慢的快门速度,允许更多的光线进入。如果图像过亮,则会选择较快的快门速度,减少光线的进入。

  • 光圈调整:如果快门速度无法完全解决问题,AE还可以调整光圈大小来进一步控制曝光。大光圈(小f值)会让更多的光线进入,适合低光环境;小光圈(大f值)会减少光线的进入,适合强光环境。

  • ISO感光度调整:在低光条件下,AE可能会选择增加ISO值,提高图像传感器的灵敏度,从而使图像变亮。然而,过高的ISO值可能会带来噪点,影响图像质量。

4.3. 自动曝光的算法

自动曝光算法通常包括几个步骤:场景亮度估算、曝光计算和最终的曝光设置调整。常见的自动曝光算法有:

4.3.1 曝光环路算法(Exposure Loop Algorithm)

这是最常见的自动曝光算法。该算法通常通过一个闭环控制系统来实现,其中包括:

  • 初始曝光估值计算:根据当前场景的亮度,通过传感器采集图像数据来估算初始曝光值。
  • 曝光调整:根据初始估值结果调整快门速度、光圈和ISO设置。
  • 反馈:拍摄一张图像并计算其亮度,反馈到算法中,进行曝光调整。

该算法通常采用增量调整的方式,每次调整一个曝光参数,直到获得合适的曝光

4.3.2 基于亮度分布的自适应算法

该算法根据图像的亮度分布自动调整曝光值。例如,通过分析图像的直方图,AE系统可以推测图像的整体曝光情况。若图像中大量区域过亮或过暗,系统会自动地出调整。

4.3.3 基于场景内容的曝光算法

现代的AE系统不仅根据图像的亮度分布来调整曝光,还可以利用图像中的内容信息进行优化。例如,对于包含高对比度区域的场景(如直射阳光或强烈的阴影),AE系统会采取智能调整策略,使得亮部不过曝,暗部又能保留细节。

4.4. 自动曝光的类型

自动曝光系统通常具有多种模式或类型,以适应不同的拍摄需求:

4.4.1 曝光锁定(AE Lock)

当用户按下快门按钮半按或触摸屏幕上的一个区域时,AE系统会暂时锁定当前的曝光设置,直到用户拍摄下一张照片。这种方式特别适用于拍摄具有复杂光照条件的场景。

4.4.2 连续自动曝光(Continuous AE)

在一些动态场景中,AE系统可能需要持续调整曝光。例如,在拍摄运动物体或环境变化较大的场景时,AE系统会实时调整曝光,以保持图像的亮度平衡。

4.4.3 手动曝光(Manual Exposure)

虽然自动曝光非常方便,但在一些特定的创意场景下,摄影师可能需要手动控制曝光设置。这时可以关闭AE系统,手动调整光圈、快门速度和ISO,以获得最佳的曝光效果。

4.5. 自动曝光的挑战

尽管AE在大多数场景中非常有效,但它在一些极端或复杂场景下可能会遇到问题:

4.5.1 高对比度场景

在高对比度场景中,AE系统可能会出现过曝或欠曝的问题。例如,在拍摄日出、日落或强烈逆光的情况下,系统可能无法正确估计亮度,导致重要细节丢失。

4.5.2 多种光源

在一个场景中,如果存在多种不同色温的光源(例如,阳光和室内灯光),AE系统可能会难以决定最佳的曝光设置,因为不同光源可能导致不同的曝光需求。

4.5.3 快速变化的光线

在拍摄快速变化的光场景时,例如,进入或离开光线强度变化较大的区域,AE系统可能无法实时响应,导致图像的曝光不一致。

4.6. 现代AE技术的进展

随着深度学习和计算机视觉技术的进步,现代AE系统已经从传统基于规则的算法变为智能。例如,深度学习算法可以通过学习大量的图像数据来推测调整策略,使得系统在各种复杂场景下能够做出更准确的曝光决定。此外,基于图像内容的AE(如局部亮度调整等)也逐渐成为主流。

4.7. 自动曝光的应用

自动曝光技术广泛应用于各种图像采集设备中,尤其是在以下领域:

  • 数码相机和智能手机:AE帮助用户在不同光照条件下拍摄出合适曝光的照片,避免过曝或欠曝。

  • 视频监控:在复杂的光照环境下,AE系统能够确保视频监控画面亮度稳定,确保监控画面的可视性。

  • 自动驾驶:AE帮助自动驾驶系统获取清晰的图像和视频,从而更好地识别道路和障碍物。


总结:自动曝光(AE)技术在图像处理和摄影中至关重要。它通过智能算法自动调整图像的曝光参数,使得在不同光照条件下拍摄的图像质量更趋向自然,避免过曝或欠曝问题。随着AI和深度学习的进步,现代的自动曝光系统正变得更加智能和精准。

5.锐化(Sharpening)

锐化(Sharpening) 是一种图像处理技术,旨在增强图像中的细节和边缘,使图像看起来更加清晰和锐利。锐化的核心目的是通过强调图像中的高频细节,改善图像的视觉效果。锐化通常应用于模糊或不够清晰的图像,使其边缘更加突出,从而提高图像的分辨率和清晰度。

5.1. 锐化的基本原理

锐化的过程通过强调图像中的边缘和细节来增加清晰度。它通过增强图像的高频部分,通常是图像的边缘区域,从而使图像看起来更具层次感和立体感。锐化处理的本质是对图像进行滤波操作,突出局部变化较大的区域。

锐化操作通常使用“高通滤波”或“梯度增强”的方法,这些方法主要是通过增加像素间的亮度差异,使边缘更加突出

5.1.1 锐化的基本原理:高通滤波

图像的频率可以分为两部分:低频和高频。低频部分包含的是图像的平滑区域和大致形状,而高频部分则包含图像中的细节、边缘和质感。锐化通常通过“高通滤波器”来增强图像中的高频部分。

  • 低通滤波器:将图像中的细节和噪点去除,主要保留图像的平滑区域。

  • 高通滤波器:增强图像的边缘和细节,去除平滑区域的模糊,使得图像更锐利。

高通滤波通过计算图像像素的局部差异,强调边缘区域,使边缘更明显。这种滤波器通常由一个“卷积核”(convolution kernel)实现。

5.1.2 锐化的实现:卷积操作

锐化滤波器的实现通常是通过“卷积”操作来进行的。卷积操作使用一个卷积核(通常是一个矩阵),将其应用于图像的每个像素,以增强图像中某些特定的特征(例如边缘)。常见的锐化卷积核包括 Sobel 算子、Laplacian 算子、Unsharp Mask 等。

5.2. 锐化的常见方法

锐化可以通过多种方法实现,其中最常见的包括以下几种:

5.2.1 Unsharp Mask(反锐化掩蔽)

反锐化掩蔽(Unsharp Mask, USM)是最常见的锐化技术之一。它的工作原理是:首先对图像进行模糊处理,然后将模糊图像与原图进行差分,再将差分结果加回原图。这个差分部分通常是图像的高频部分,包含了细节和边缘

步骤:

  1. 模糊处理:首先对图像应用高斯模糊(Gaussian Blur),产生一个模糊图像。

  2. 差分计算:将模糊图像从原图中减去,得到一个细节图像。这个细节图包含了图像的高频部分。

  3. 加回差分:将细节图像加回原图,从而增强边缘细节。

公式:假设原始图像为 I I I,模糊图像为 G G G,那么锐化后的图像 I ′ I' I 为:

I ′ = I + α ( I − G ) I' = I + \alpha (I - G) I=I+α(IG)

其中, α \alpha α 是一个增幅系数,决定了锐化的强度。

5.2.2 Laplacian锐化

Laplacian锐化通过计算图像的二阶梯度(即二次变化)来突出图像的边缘。Laplacian算子可以检测到图像中像素的变化,并且强调这些变化。

Laplacian算子使用一个卷积核,通常是一个 3x3 的矩阵,如下所示:

[ 0 1 0 1 − 4 1 0 1 0 ] \begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \\ \end{bmatrix} 010141010

Laplacian算子会计算图像中每个像素的二阶梯度,并突出边缘。当卷积结果为负值时,表示图像中的某部分是边缘,锐化算法会加强这些区域

5.2.3 Sobel算子锐化

Sobel算子是一种边缘检测滤波器,广泛用于图像的锐化处理。它通过计算图像的梯度来突出图像中的边缘。Sobel算子通常由两个 3x3 的卷积核组成,一个检测水平边缘,另一个检测垂直边缘

水平Sobel算子

[ − 1 0 1 − 2 0 2 − 1 0 1 ] \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \\ \end{bmatrix} 121000121

垂直Sobel算子

[ − 1 − 2 − 1 0 0 0 1 2 1 ] \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \\ \end{bmatrix} 101202101

通过对图像应用这些卷积核,Sobel算子能够检测图像中的边缘,并加强图像的细节和结构。最终通过将水平和垂直方向的梯度结合,锐化效果得以增强。

5.2.4 高通滤波锐化

高通滤波通过计算图像中各像素与周围像素的差异来实现锐化。高通滤波器只保留图像中的高频成分,去除低频成分,从而突出边缘和细节。

高通滤波器的应用步骤包括:

  1. 对图像进行傅里叶变换,转换到频域。
  2. 在频域中增强高频部分,去除低频部分。
  3. 进行逆傅里叶变换,将图像还原到空间域。

这种方法常用于图像的整体锐化,尤其是在增强图像细节时具有优势。

5.3. 锐化的参数和控制

锐化的强度和效果通常通过控制以下几个参数来调节:

5.3.1 锐化强度

锐化强度决定了增强细节的程度。过度锐化会导致图像出现过多的伪影或噪点,使图像失真。因此,在应用锐化时,需要根据图像的特性调节锐化强度,避免过度处理。

5.3.2 半径(Radius)

半径是指锐化效果在图像中扩展的范围。较小的半径(例如1-2像素)将只增强图像中的细节,适合用于增强质感较大的半径(例如5-10像素)则会加强较大的边缘,适合用于改善整体图像的清晰度。半径控制了锐化的“广度”,较大的半径可能会使细节变得模糊。

5.3.3 阈值(Threshold)

阈值用于控制哪些区域需要锐化。在有些情况下,图像中的噪点和纹理可能也会被锐化。通过设置阈值,锐化过程只会应用于图像中变化较大的区域(如边缘),而不会影响到平滑或均匀的区域。阈值可以帮助避免不必要的噪点和伪影。

5.4. 锐化的应用场景

锐化技术在图像处理中有着广泛的应用,尤其是在以下几个领域:

5.4.1 摄影和视频

锐化技术广泛应用于摄影和视频后期制作中,通过改善图像的细节和清晰度,使拍摄的照片或视频更加清晰。

5.4.2 医学影像

在医学影像中,锐化可以帮助医生更清楚地看到图像中的细节,尤其是对于CT、MRI等扫描图像,锐化有助于提升病变区域的可视性。

5.4.3 卫星遥感

卫星图像通常具有较低的分辨率和模糊效果,通过锐化可以提高图像的清晰度,帮助更精确地分析地表特征。

5.4.4 显微成像

显微镜拍摄的图像常具有较低的分辨率,通过锐化可以增强细胞或微观物体的细节,使其更加清晰可见。

5.5. 锐化的挑战与注意事项

尽管锐化能增强图像的清晰度,但过度锐化会带来一些副作用,如:

  • 噪点增强:锐化可能会使图像中的噪点更加明显,尤其是在低光环境下拍摄的图像中。
  • 伪影:过度锐化可能会引入一些伪影(如不真实的光晕),使图像出现不自然的效果。
  • 失真:过度锐化可能会导致图像中丢失或失真,尤其是在高频区域过度处理时。

因此,在锐化图像时需要小心调整参数,避免产生不良效果。

总结

锐化是图像处理中的一种重要技术,通过增强图像的边缘和细节,改善图像的视觉效果。常见的锐化方法包括反锐化掩蔽、Laplacian锐化、Sobel锐化和高通滤波锐化。锐化的关键在于合理调整锐化强度、半径和阈值,以避免过度锐化造成的副作用。在实际应用中,锐化技术能够在多个领域提升图像质量,使其更加清晰和鲜明。

6.图像合成与融合(Image Fusion)

图像合成与融合(Image Fusion) 是一种将多个图像或图像数据源组合成一个图像的技术,目的是利用多个图像的互补信息,生成一个更加清晰、有用和综合的信息图像。这一过程通过将不同来源、不同角度或不同时间拍摄的图像进行融合,合成一个能够提供更多视觉或数据信息的图像

6.1. 图像融合的定义与目的

图像融合的主要目的是整合多个图像的数据和信息,以增强图像的质量,突出图像中的关键特征,减少噪声或模糊。常见的应用包括:

  • 多模态图像融合:将不同类型图像(如可见光图像、红外图像、雷达图像等)融合,获取更加全面的信息。

  • 多视角图像融合:从不同视角拍摄的图像进行融合,增强目标的三维信息。

  • 多时序图像融合:对同一场景在不同时间拍摄的图像进行融合,增强图像中动态变化的信息。

图像融合可以提高图像的质量,提升物体检测和识别的准确性,在医学成像、遥感影像处理、安防监控、工业检测等领域具有广泛的应用。

6.2. 图像融合的原理

图像融合的基本原理是:通过结合来自不同图像的信息(例如颜色、纹理、边缘等),去除噪声并突出有用特征,生成一个“更优”的图像。实现这一点的方法可以从图像的不同层次进行,包括像素层次特征层次决策层次

  • 像素级融合:直接基于图像的像素值进行融合,常用的方式有加权平均法、小波变换等。

  • 特征级融合:首先提取图像的特征(如边缘、角点等),然后对特征进行融合,最后重建图像。

  • 决策级融合:不同传感器或不同图像源分别对图像进行处理和分析,然后将各自的分析结果进行综合和决策。

6.3. 图像融合的分类

根据融合的层次和方法,图像融合可以分为几类:

6.3.1 基于像素的图像融合

这种方法直接对图像的像素值进行处理,并根据某些准则或算法将多幅图像融合为一幅图像。

  • 加权平均法:这种方法对不同图像的像素进行加权平均,常用于同一场景在不同传感器或不同时间拍摄的图像融合。例如,可以使用每个图像的权重来决定它对最终结果的贡献。 F ( x , y ) = ∑ i = 1 n w i I i ( x , y ) F(x, y) = \sum_{i=1}^{n} w_i I_i(x, y) F(x,y)=i=1nwiIi(x,y)
    其中, F ( x , y ) F(x, y) F(x,y) 是融合后的图像, I i ( x , y ) I_i(x, y) Ii(x,y) 是第 i i i 张图像在像素 ( x , y ) (x, y) (x,y) 位置的像素值, w i w_i wi 是每张图像的权重。

  • 最大/最小值融合:在该方法中,选择不同图像在每个像素位置的最大值或最小值作为融合后的值。例如,在红外图像与可见光图像融合时,常常使用最大值融合来保留图像中的重要特征。
    F ( x , y ) = max ⁡ ( I 1 ( x , y ) , I 2 ( x , y ) , . . . , I n ( x , y ) ) F(x, y) = \max (I_1(x, y), I_2(x, y), ..., I_n(x, y)) F(x,y)=max(I1(x,y),I2(x,y),...,In(x,y))

6.3.2 基于变换的图像融合

这种方法通过对图像进行变换(如小波变换、傅里叶变换等),提取图像的特征(如频率分量、波动等),然后对变换后的结果进行融合。

  • 小波变换(Wavelet Transform):小波变换是一种多分辨率分析工具,能够有效地处理图像中的高频和低频部分。通过将多个图像的小波变换结果进行融合,可以提取出图像中的不同细节

    • 图像通过小波变换分解成不同的频带(低频部分和高频部分)。
    • 对每个频带进行融合,最后进行逆变换得到融合后的图像。小波变换的优点在于能够在多个尺度上捕捉图像的信号,同时在空间和频率上提供更好的灵活性。
  • 拉普拉斯变换(Laplacian Transform):拉普拉斯变换也是一种频率分解技术,常用于图像细节提取。它可以通过对图像进行高频部分和低频部分的分解,增强细节,减少冗余信息

6.3.3 基于特征的图像融合

在特征级图像融合中,图像首先会经过特征提取过程,得到一些关键特征(如边缘、角点、纹理等),然后将不同图像的特征进行融合。这种方法通常用于目标检测、物体识别等场景。

  • 边缘检测与融合:通过边缘检测(如Sobel算子、Canny算子等)提取图像中的重要边缘信息,然后将不同图像中的边缘信息进行融合。

  • 角点检测与融合:使用角点检测算法(如Harris角点检测)提取图像中的角点信息,并将多个图像中的角点数据进行融合。

6.3.4 基于决策的图像融合

这种方法一般是对图像进行分析处理后,基于某些规则或算法的判断,对图像进行融合。此方法常用于自动化图像分类、医学影像诊断、目标识别等领域。

  • 决策融合:将来自不同传感器或不同时间拍摄的图像进行分类、分析后,汇总决策结果,以输出最终的判别。决策融合常见于遥感图像、安防监控等领域。

6.4. 图像融合的应用

图像融合广泛应用于多个领域,下面列举了几个典型应用:

6.4.1 医学影像

在医学影像中,图像融合技术可以将来自不同成像设备(如CT、MRI、PET等)的图像进行融合,从而提供更为全面的诊断信息。例如,将CT图像和PET图像融合,可以同时显示肿瘤的位置和其代谢情况,帮助医生进行更精确的诊断。

6.4.2 遥感影像

遥感图像通常来自不同的传感器,如多光谱、超光谱和高分辨率图像。图像融合技术可以将这些不同来源的遥感图像进行融合,提供更全面的地面信息,用于环境监测、资源管理、灾害预警等领域。

6.4.3 安防监控

在安防监控领域,图像融合技术常用于将可见光图像与红外图像融合,从而实现全天候的监控。红外图像能够提供在低光环境下的目标信息,而可见光图像则能提供更多的细节,融合后的图像能够提高目标检测的准确性。

6.4.4 机器人视觉

在机器人视觉中,图像融合技术常用于合成多视角图像,以生成具有更高精度的三维模型。通过融合多个摄像头或传感器采集到的图像,机器人能够更准确地识别和定位物体。

6.4.5 自动驾驶

自动驾驶系统需要利用多种传感器(如相机、雷达、激光雷达等)来识别道路、障碍物、行人等。图像融合技术能够将不同传感器的图像进行有效融合,提供更全面、精确的环境感知。

6.5. 图像融合的挑战

尽管图像融合技术有很多应用,但在实际操作中也面临着一些挑战:

  • 对齐问题:不同图像之间的对齐精度至关重要,若图像未精确对齐,融合后可能会产生晕变或不一致的结果。

  • 信息丢失:融合过程中可能会丢失一些原始图像中的关键信息,尤其是在多模态图像融合时。

  • 计算复杂度:一些高级的图像融合算法(如小波变换、大规模数据融合等)可能会导致较高的计算复杂度,需更强大的计算资源。

  • 噪声与伪影:在融合过程中,噪声和伪影可能会影响最终图像的质量,因此需要采取适当的去噪和伪影抑制措施。

总结
图像融合是通过将多个来源的图像信息合成一个更全面、准确的图像的技术。它可以通过多种方法实现,包括基于像素、特征和决策的融合,广泛应用于医学、遥感、安防、机器人等领域。图像融合技术的核心目标是通过综合多个图像的优点,提高图像质量,增强目标检测、图像分析等任务的表现。

三. 未来发展方向

随着图像处理技术的发展,ISP也在不断进步,以下是其未来发展的一些方向:

  • AI集成:将深度学习、神经网络等人工智能技术集成到ISP中,进一步提高图像处理的智能化水平,尤其是在自动曝光、自动白平衡、图像增强等方面。

  • 更高的图像质量:支持更高分辨率和动态范围的图像处理,特别是在4K、8K视频和HDR图像的处理上。

  • 低功耗设计:特别是在移动设备中,ISP需要在提高性能的同时保持低功耗,延长设备的电池寿命。

  • 集成化与模块化:随着集成电路技术的发展,ISP将更加集成化,与其他功能单元(如图像传感器、显示驱动等)集成,形成一体化解决方案。

总结,图像信号处理器在现代化图像技术中起着至关重要的作用,其发展趋势将进一步推动图像质量的提升和新型应用的出现。

参考文献:

ISP(图像信号处理)算法概述、工作原理、架构、处理流程


结~~~

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

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

相关文章

js基础篇笔记 (万字速通)

此笔记来自于黑马程序员,仅供笔者复习 JavaScript 基础 - 第1天 了解变量、数据类型、运算符等基础概念,能够实现数据类型的转换,结合四则运算体会如何编程。 体会现实世界中的事物与计算机的关系理解什么是数据并知道数据的分类理解变量存储数据的“容…

【GPTs】EmojiAI:轻松生成趣味表情翻译

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 💯GPTs指令💯前言💯EmojiAI主要功能适用场景优点缺点 💯小结 💯GPTs指令 中文翻译: 此 GPT 的主要角色是为英文文本提供幽默…

H.264/H.265播放器EasyPlayer.js无插件H5播放器关于WASM的压缩优化

在当今的Web开发领域,流媒体播放器的性能和效率至关重要,尤其是在处理大型视频文件和高分辨率视频流时。EasyPlayer.js RTSP播放器作为一款先进的流媒体播放器,它在WebAssembly(WASM)的压缩优化方面表现出色&#xff0…

Unity Shader分段式血条

Unity Shader分段式血条 前言项目ASE连线 前言 要给单位加一个类似LOL的分段式血条,用ASE实现并记录一下。里面加了旋转和颜色的渐变。 项目 ASE连线

基于 STM32 的天气时钟项目中添加天气数据的网络获取功能

基于 STM32 的天气时钟项目中添加天气数据的网络获取功能,您需要确保您的开发环境具备网络连接能力。这里以 ESP8266 Wi-Fi 模块为例,详细说明如何实现网络获取天气数据的功能。 1. 硬件连接 连接 ESP8266 模块 请参考以下连接方式,将 ESP82…

element-plus按需引入报错AutoImport is not a function

官网文档:快速开始 | Element Plus webpack配置 // webpack.config.js const AutoImport require(unplugin-auto-import/webpack) const Components require(unplugin-vue-components/webpack) const { ElementPlusResolver } require(unplugin-vue-components…

MatSci-LLM ——潜力和挑战以及大规模语言模型在材料科学中的应用

概述 大规模语言模型的出现正在从根本上改变技术开发和研究的方式。大规模语言模型不仅对自然语言处理领域产生了重大影响,而且对许多相关领域也产生了重大影响,例如从文本生成图像的计算机视觉(Zhang 等人,2023 年)。…

【系统架构设计师(第2版)】五、软件工程基础知识

5.1 软件工程 20世纪60年代,为了解决软件危机,提出了软件工程的概念。 软件危机的具体表现: 软件开发进度难以预测;软件开发成本难以控制;软件功能难以满足用户期望;软件质量无法保证;软件难以…

C++builder中的人工智能(17):神经网络中的自我规则非单调(Mish)激活函数

在这篇文章中,我们将探讨自我规则非单调激活函数——Mish在神经网络中的应用。了解Mish函数的工作原理,将有助于您在使用C IDE构建C应用程序时更加得心应手。 目录 神经网络中的激活函数是什么?能在C中创建激活函数吗?自我规则非…

华为eNSP实验:IP Source Guard

一:IP Source Guard: IP Source Guard(简称IPSG)是一种基于二层接口的源IP地址过滤技术,用于防止恶意主机伪造合法主机的IP地址进行网络攻击。以下是对IP Source Guard的详细解析: 基本概念: IP Source Gu…

Git进阶(十八):git rebase详解

文章目录 一、前言二、rebase 图解三、应用示例四、重建提交历史五、rebase VS merge六、拓展阅读 一、前言 rebase 使用方法 git rebase [基节点] git rebase [基节点] [待变基节点]rebase后面的参数可以是两个,也可以是一个,当rebase为一个参数的时…

【笔记】扩散模型(九):Imagen 理论与实现

论文链接:Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding 非官方实现:lucidrains/imagen-pytorch Imagen 是 Google Research 的文生图工作,这个工作并没有沿用 Stable Diffusion 的架构,而是级…

华夏风物 3.2.0 | 中国风物志,记录各地特产、美食、风景,旅游吃货必备

华夏风物是一款记录中国各地风物的App,类似于一本中国“风物志”。它记录了各地的特产、美食、风景,为用户提供了一个了解和探索中国文化的窗口。该应用的社区氛围非常真实,用户可以发现许多家乡的特色小吃和传统手艺。许多帖子由当地人发布&…

BIST(Built-in Self-Test,内建自测试)学习笔记

参考资料: 内建自测试(Built-in Self-Test,简称BIST)详解_built in self test-CSDN博客 芯片测试术语 ,片内测试(BIST),ATE测试-CSDN博客 可能是DFT最全面的介绍--BIST - 知乎 (zhihu.com) 汽车功能安全--TC3xx LB…

【Ubuntu24.04】从双系统到虚拟机再到单系统的故事

故事 在大学前期,我使用Ubuntu系统都是为了学习一些命令或者其它Linux的东西,对性能的要求不高,所以选择了虚拟机,后来为了做毕设,选择安装了Ubuntu20.04双系统,因为虚拟机实在带不动,那时我的主…

AntFlow一款开源免费且自主可控的仿钉钉工作流引擎

在现代企业管理中,流程审批的高效性直接影响到工作的流畅度与生产力。最近,我发现了一个非常有趣的项目——AntFlow。这个项目不仅提供了一个灵活且可定制的工作流平台,还能让用户以可视化的方式创建和管理审批流程。 如果你寻找一个快速集成…

科学计算服务器:如何计算算力?如何提升科学研究效率?

在现代科学研究的舞台上,科学计算服务器犹如一位强大的幕后英雄,为复杂科学计算任务的攻克提供着坚实支撑。准确计算其算力并充分发挥优势,对提升科学研究效率意义非凡。 服务器的中央处理器(CPU)计算力。在科学计算服…

Java String字符串

Java字符串通常被视为一种数据类型,但由于它们按顺序存储字符类型的元素,类似于数组,因此也常被视为数据结构。在本文中,我们将通过以下大纲简明地了解有关Java字符串的所有内容。 什么是Java字符串?如何创建Java字符…

leetcode25:k个一组链表反转

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值…

《⼆叉搜索树》

《⼆叉搜索树》 1. ⼆叉搜索树的概念2. ⼆叉搜索树的性能分析3 二叉树的功能说明及实现3.1 ⼆叉搜索树的插⼊3.2 ⼆叉搜索树的查找3.3 ⼆叉搜索树的删除 4二叉搜索树的实现代码5 ⼆叉搜索树key和key/value使⽤场景5.1 key搜索场景:5.2 key/value搜索场景&#xff1a…