雷达信号处理:FPGA还是GPU?

FPGA和CPU一直是雷达信号处理不可分割的组成部分。传统上FPGA用于前端处理,CPU用于后端处理。随着雷达系统的处理能力越来越强,越来越复杂,对信息处理的需求也急剧增长。为此,FPGA不断在提高处理能力和吞吐量,CPU也在发展以满足下一代雷达的信号处理性能需求。这种努力发展的趋势导致越来越多的使用CPU加速器,如图形处理单元(GPU)等,以支持较重的处理负载。

本文对比了FPGA和GPU浮点性能和设计流程。最近几年,GPU已经不仅能完成图形处理功能,而且成为强大的浮点处理平台,被称之为GP-GPU,具有很高的峰值FLOP指标。FPGA传统上用于定点数字信号处理器(DSP),而现在足以竞争完成浮点处理功能,也成为后端雷达处理加速功能的有力竞争者。

在FPGA前端,40nm和28nm均报道了很多可验证的浮点基准测试结果。Altera的下一代高性能FPGA将采用Intel的14nm三栅极技术,性能至少达到5TFLOP.使用这种先进的半导体工艺,性能可实现100GFLOPs/W.而且,AlteraFPGA现在支持OpenCL,这是GPU使用的一款优秀的编程语言。

峰值GFLOPS指标

目前的FPGA性能可达到1TFLOP以上峰值,AMD和Nvidia最新的GPU甚至更高,接近4TFLOP.但在某些应用中,峰值GFLOP,即TFLOP,提供的器件性能信息有限。它只表示了每秒能完成的理论浮点加法或乘法总数。这一分析表示,在雷达应用中,很多情况下,FPGA在算法和数据规模上超过了GPU吞吐量。

一种中等复杂且常用的算法是快速傅里叶变换(FFT)。大部分雷达系统由于在频域完成大量处理工作,因此会经常用到FFT算法。例如,使用单精度浮点处理实现一个4,096点FFT.它能在每个时钟周期输入输出四个复数采样。每个FFT内核运行速度超过80GFLOP,大容量28nmFPGA的资源支持实现7个此类内核。

但如图1所示,该FPGA的FFT算法接近400GFLOP.这一结果基于“按键式”OpenCL编译,无需FPGA专业知识。使用逻辑锁定和设计空间管理器(DSE)进行优化,7内核设计接近单内核设计的fMAX,使用28nmFPGA,将其提升至500GFLOP,超过了10GFLOPs/W.

图1.StratixV5SGSD8FPGA浮点FFT性能

这一GFLOPs/W结果要比CPU或者GPU功效高很多。对比GPU,GPU在这些FFT长度上效率并不高,因此没有进行基准测试。当FFT长度达到几十万个点时,GPU效率才比较高,能够为CPU提供有效的加速功能。但是,雷达处理应用一般是长度较短的FFT,FFT长度通常在512至8,192之间。

总之,实际的GFLOP一般只达到峰值或者理论GFLOP的一小部分。出于这一原因,更好的方法是采用算法来对比性能,这种算法能够合理的表示典型应用的特性。随着基准测试算法复杂度的提高,其更能代表实际雷达系统性能。

算法基准测试

Cholesky算法在数值上非常复杂,要获得合理的结果总是要求浮点数值表示。计算需求与N3成正比,N是矩阵维度,因此,一般对处理要求很高。雷达系统一般是实时工作,因此,要求有较高的吞吐量。结果取决于矩阵大小以及所要求的矩阵处理吞吐量,通常会超过100GFLOP.

表1显示了基于NvidiaGPU指标1.35TFLOP的基准测试结果,使用了各种库,以及XilinxVirtex6XC6VSX475T,其密度达到475KLC,这种FPGA针对DSP处理进行了优化。用于Cholesky基准测试时,这些器件在密度上与AlteraFPGA相似。LAPACK和MAGMA是商用库,而GPUGFLOP则是采用田纳西州大学开发的OpenCL实现的(2)。对于小规模矩阵,后者更优化一些。

表1.GPU和XilinxFPGACholesky基准测试(2)

Altera测试了容量中等的AlteraStratixVFPGA(460K逻辑单元(LE)),使用了单精度浮点处理的Cholesky算法。如表2所示,在StratixVFPGA上进行Cholesky算法的性能要比Xilinx结果高很多。Altera基准测试还包括QR分解,这是不太复杂的另一矩阵处理算法。Altera以可参数赋值内核的形式提供Cholesky和QRD算法。

表2.AlteraFPGACholesky和QR基准测试

应指出,基准测试的矩阵大小并不相同。田纳西州大学的结果来自[512×512]的矩阵,而Altera基准测试的Cholesky是[360x360],QRD则高达[450x450]。原因是,矩阵规模较小时,GPU效率非常低,因此,在这些应用中,不应该使用它们来加速CPU.作为对比,在规模较小的矩阵时,FPGA的工作效率非常高。雷达系统对吞吐量的要求很高,每秒数千个矩阵,因此,效率非常关键。采用了小矩阵,甚至要求把大矩阵分解成小矩阵以便进行处理。

而且,Altera基准测试是基于每个Cholesky内核的。每个可参数赋值的Cholesky内核支持选择矩阵大小,矢量大小和通道数量。矢量大小大致决定了FPGA资源。较大的[360×360]矩阵使用了较长的矢量,支持FPGA中实现一个内核,达到91GFLOP.较小的[60×60]矩阵使用的资源更少,因此,可以实现两个内核,总共是2×42=84GFLOP.最小的[30×30]矩阵支持实现三个内核,总共是3×25=75GFLOP.

FPGA看起来更适合解决数据规模较小的问题,很多雷达系统都是这种情况。GPU之所以效率低,是因为计算负载随N3而增大,数据I/O随N2增大,最终,随着数据的增加,GPU的I/O瓶颈不再是问题。此外,随着矩阵规模的增大,由于每个矩阵的处理量增大,矩阵每秒吞吐量会大幅度下降。在某些点,吞吐量变得非常低,以至于无法满足雷达系统的实时要求。

对于FFT,计算负载增加至Nlog2N,而数据I/O随N增大而增大。对于规模较大的数据,GPU是高效的计算引擎。作为对比,对于所有规模的数据,FPGA都是高效的计算引擎,更适合大部分雷达应用,这些应用中,FFT长度适中,但是吞吐量很大。

GPU和FPGA设计方法

GPU可以通过使用Nvidia专用CUDA语言或开放标准OpenCL语言来编程。这些语言在能力上非常相似,最大的不同在于CUDA只能用在NvidiaGPU上。

FPGA通常使用HDL语言Verilog或VHDL进行编程。这些语言的最新版虽然采用了浮点数定义,但都不太适合支持浮点设计。例如,在SystemVerilog中,短实数变量对应于IEEE单精度(浮点),实数变量对应于IEEE双精度。

DSPBuilder高级模块库

使用传统的方法将浮点数据通路综合到FPGA的效率非常低,如XilinxFPGA在Cholesky算法上使用了Xilinx浮点内核产生函数的低性能显示,。而Altera采两种不同的方法。首先是使用DSPBuilder高级模块库,这是基于Mathworks的设计输入方法。这一工具支持定点和浮点数,支持7种不同精度的浮点处理,包括IEEE半、单和双精度实现。它还支持矢量化,这是高效实现线性代数所需要的。最重要的是,它能够将浮点电路高效的映射到目前的定点FPGA体系结构中,如基准测试所示,规模中等的28nmFPGA,Cholesky算法接近了100GFLOP.作为对比,在不具有综合能力的规模相似的XilinxFPGA上,实现Cholesky相同算法,性能只有20GFLOP.

面向FPGA的OpenCL

GPU编程人员较为熟悉OpenCL.面向FPGA的OpenCL编译意味着,面向AMD或NvidiaGPU编写的OpenCL代码可以编译到FPGA中。而且,Altera的OpenCL编译器支持GPU程序使用FPGA,无需具备典型的FPGA设计技巧。

使用支持FPGA的OpenCL,相对于GPU有几个关键优势。首先,GPU的I/O是有限制的。所有输入和输出数据必须由主CPU通过PCIExpress(PCIe)接口进行传输。结果延时会让GPU处理引擎暂停,因此,降低了性能。

面向FPGA的OpenCL扩展

FPGA以各种宽带I/O功能而知名。这些功能支持数据通过千兆以太网(GbE)和SerialRapidIO(SRIO),或直接从模数转换器(ADC)和数模转换器(DAC)输入输出FPGA.Altera定义了OpenCL标准的供应商专用扩展,以支持流操作。这种扩展对于雷达系统非常关键,数据能够从定点前端波束成形直接输出,支持浮点处理阶段的数字下变频处理,实现脉冲压缩,多普勒,STAP,动目标显示(MTI),以及图2所示的其他功能。通过这种方法,数据流在通过GPU加速器之前,避免了CPU瓶颈问题,从而降低了总处理延时。

图2.通用雷达信号处理图

即使与I/O瓶颈无关,FPGA的处理延时也要比GPU低很多。众所周知,GPU必须有数千个线程才能高效工作,这是由于存储器读取很长的延时,以及GPU大量的处理内核之间的延时。实际上,GPU必须有很多任务才能使得处理内核不会暂停等待数据,否则会导致任务很长的延时。

而FPGA使用了“粗粒度并行”体系结构。它建立了多个经过优化的并行数据通路,每一通路在每个时钟周期输出一个结果。数据通路的例化数取决于FPGA资源,但一般要比GPU内核数少很多。但是,每一数据通路例化的吞吐量要比GPU内核高得多。这一方法的主要优势是低延时,这在很多应用中都是关键的性能优势。

FPGA的另一优势是很低的功耗,极大的降低了GFLOPs/W.使用开发板测量FPGA功耗,表明Cholesky和QRD等算法是5-6GFLOPs/W,而FFT等简单算法则是10GFLOPs/W.一般很难进行GPU能效测量,但是,Cholesky的GPU性能达到50GFLOP,典型功耗是200W,得到的结果是0.25GFLOPs/W,单位FLOP的功率比FPGA高20倍。

当需要进行归一化和去归一化时,另一种可以避免低性能和过度布线的方法是使用乘法器。对于一个24位单精度尾数(包括符号位),24×24乘法器通过乘以2n对输入移位。27×27和36×36硬核乘法器支持单精度扩展尾数,可以用于构建双精度乘法器。

在很多线性代数算法中,矢量点乘是占用大量FLOP的底层运算。单精度实现长度是64的长矢量点乘需要64个浮点乘法器,以及随后由63个浮点加法器构成的加法树。这类实现需要很多桶形移位电路。

相反,可以对64个乘法器的输出进行去归一化,成为公共指数,最大是64位指数。可以使用定点加法器电路对这些64路输出求和,在加法树的最后进行最终的归一化。如图4所示,这一本地模块浮点处理过程省掉了每一加法器所需要的中间归一化和去归一化。即使是IEEE754浮点处理,最大指数决定了最终的指数,因此,这种改变只是在计算早期进行指数调整。

图4.矢量点乘优化

但进行信号处理时,在计算最后尽可能以高精度来截断结果才能获得最佳结果。这种方法传递除单精度浮点处理所需要尾数位宽之外的额外的尾数位宽,一般从27位到36位补偿了单精度浮点处理所需要的早期去归一化这种次优方法,。采用浮点乘法器进行尾数扩展,因此,在每一步消除了对乘积进行归一化的要求。

这一方法每个时钟周期也会产生一个结果。GPU体系结构可以并行产生所有浮点乘法,但不能高效并行进行加法。原因是因为不同的内核必须通过本地存储器传输数据实现通信,因此缺乏FPGA架构的连接的灵活特性。

融合数据通路方法产生的结果比传统IEEE754浮点结果更加精确,如表3所示。

表3.Cholesky分解准确性(单精度)

使用Cholesky分解算法,实现大规模矩阵求逆,获得了这些结果。相同的算法以三种不同的方法实现:

n在MATLAB/Simulink中,采用IEEE754单精度浮点处理。

n在RTL单精度浮点处理中,使用融合数据通路方法。

n在MATLAB中,采用双精度浮点处理。

双精度实现要比单精度实现精度高十亿倍(109)。

MATLAB单精度误差、RTL单精度误差和MATLAB双精度误差对比确认了融合数据通路方法的完整性。采用了这一方法来获得输出矩阵中所有复数元素的归一化误差以及矩阵元素的最大误差。使用Frobenius范数计算了总误差:

由于范数包括了所有元素的误差,因此比单一误差大很多。

此外,DSPBuilder高级模块库和OpenCL工具流程都针对下一代FPGA体系结构,支持并优化目前的设计。由于体系结构创新和工艺技术创新,性能可以达到100峰值GFLOPs/W.

结论

高性能雷达系统现在有新的处理平台选择。除了更好的SWaP,与基于处理器的解决方案相比,FPGA能提供低延时和高GFLOP.随着下一代高性能计算优化FPGA的推出,这种优势会更明显。

Altera的OpenCL编译器为GPU编程人员提供了几乎无缝的通路来评估这一新处理体系结构的指标。AlteraOpenCL符合1.2规范,提供全面的数学库支持。它解决了传统FPGA遇到的时序收敛、DDR存储器管理以及PCIe主处理器接口等难题。

对于非GPU开发人员,Altera提供DSPBuilder高级模块库工具流程,支持开发人员开发高fMAX定点或浮点DSP设计,同时保持基于Mathworks的仿真和开发环境的优点。使用FPGA的雷达开发人员多年以来一直使用该产品,实现更高效的工作流程和仿真,其fMAX性能与手动编码HDL相同。

融合数据通路

OpenCL和DSPBuilder都依靠“融合数据通路”这种技术(图3),以这种技术实现浮点处理,能大幅度减少桶形移位电路,支持使用FPGA开发大规模高性能浮点设计。

图3.采用融合数据通路实现浮点处理

为降低桶形移位频率,综合过程尽可能使用较大的尾数宽度,从而不需要频率归一化和去归一化。27×27和36×36硬核乘法器支持比单精度实现所要求的23位更大的乘法计算,54×54和72×72结构的乘法器支持比52位更大的双精度计算,这通常是双精度实现所要求的。FPGA逻辑已经针对大规模定点加法器电路进行了优化,包括了内置进位超前电路。

THE END
1.《机器学习实战指南:CSDN经验集成》腾讯云开发者社区自然语言处理是机器学习的一个重要应用领域,涵盖文本分类、情感分析和聊天机器人等。在文本分类方面,机器学习算法如支持向量机、朴素贝叶斯等被广泛应用于文本分类任务,如新闻文章分类、垃圾邮件过滤等。情感分析中,递归神经网络、长短期记忆网络等在处理情感分析任务时表现出色,能够准确识别出文本中的情感倾向。信息检索领https://cloud.tencent.com/developer/article/2478542
2.提升人工智能性能的三种关键的LLM压缩策略在当今快节奏的数字环境中,依赖人工智能的企业面临着新的挑战:运行人工智能模型的延迟、内存使用和计算能力成本。随着人工智能快速发展,幕后推动这些创新的模型变得越来越复杂、资源密集。虽然这些大模型在处理各种任务中取得了出色的性能,但它们通常伴随着很高的计算和内存需求。 https://xxhjs.nuc.edu.cn/info/1010/8671.htm
3.腾讯云智能结构化OCR实战:从图片到结构化数据的高效转换借助多模态大模型技术构建键值对应关系,支持客户个性化模板定制,提升数据提取录入效率,适用于政务处理、票据核销、行业表单填写、国际物流管理、人寿保险理赔、AI在线问诊、律师事务所合同审查及供应链合同审核等多种应用场景。 字面意义上来说可以理解为普通ocr加上多模态模型,模型把ocr识别的结果进行了结构化的处理。可能https://cloud.tencent.com.cn/developer/article/2477716?policyId=20240000
4.人工智能算法的分类与应用人工智能 (AI) 是当前科技领域的热门话题,其核心是各种算法的灵活运用。AI算法不仅实现了智能预测、分类,还在数据挖掘、自然语言处理和推荐系统等领域发挥着重要作用。接下来,我们将以科普的视角,带您深入了解 AI 的主要算法及其广泛应用。 一、监督学习 https://mp.weixin.qq.com/s?__biz=MzI3MzQ1NjMwOA==&mid=2247549220&idx=4&sn=25aa18da4b1e2824371e552b0ca3c8e6&chksm=eb214cffdc56c5e9303367ae4087102996613151dfa3c11fafe88950b683dbc8dadedd63bcaa&scene=27
5.提升数学问题解决能力:ProcessBench工具,评估模型在复杂推理中的表现【方法】:作者通过将Transformer架构与Masked Autoregressive Flows (MAFs)结合,设计了一种新的TarFlow模型,该模型使用堆叠的自动回归Transformer块来处理图像块,并在层之间交替自动回归方向。 【实验】:实验使用了多个标准数据集,通过引入高斯噪声增强、训练后的去噪处理和有效的指导方法,TarFlow在图像似然估计任务上大幅超https://zhuanlan.zhihu.com/p/11955987988
6.腾讯云计算取得一种可视化数据转换方法专利知名企业数据库产品腾讯云计算取得一种可视化数据转换方法专利,专利,腾讯,云计算,数据转换,知名企业,数据库产品,国家知识产权局https://www.163.com/dy/article/JJM76GED0519QIKK.html
7.在线处理算法最大连续子数列和最大和子数列在线处理拓展,找出最大和同时记录序列左右下标。 在线处理算法:每输入一个数,都加进cursum中,并与summax对比,如果cursum比summax大,那么就更新maxsum以及对应的起始下标和终止下标。当tempsum小于零时,那么就可以放弃这一组,(从这一组中任意其他位置到当前i也是负数)从下一个数重新来过了,(此时left并不是最终的左下标https://blog.csdn.net/vi1988/article/details/87375010
8.图片处理算法图片黑白滤镜算法老照片算法图片反相算法图片通道混合算法图片旋转算法图片透明度算法图片简单镜像算法图片浮雕效果算法图片高斯模糊算法 图层算法 图层差值算法图层颜色减淡算法图片素描算法图片重叠(覆盖)算法 常用在线开发工具-图片处理算法效果集合: 原图: 黑白滤镜效果图: http://www.tbfl.store/pic/index.html
9.数据结构1.3案例应用路漫漫兮其修远1.分而治之发没有看明白 2.第四个算法真的太巧妙了 3.在线处理算法:每得到一个数,终止输入的化都能得到当前状态下的结果 分而治之法C代码 intDivideAndConquer(intList[],intleft,intright ) {/*分治法求List[left]到List[right]的最大子列和*/intMaxLeftSum, MaxRightSum;/*存放左右子问题的解*/inthttps://www.cnblogs.com/raising/p/12856625.html
10.基于KFBE算法的在线磨粒图像处理方法1.本发明属于油液健康状态监测技术领域,具体涉及一种基于kfbe算法的在线磨粒图像处理方法。 背景技术: 2.油液监测技术目前是主流的一种健康状态监测方法,主要包括在线监测和离线监测。离线油液监测是在实验过程中采集样品后进行分析,在这个过程中存在大量人为因素,将导致实时性较差。在线油液监测将传感器或传感探头安装https://www.xjishu.com/zhuanli/55/202111174172.html
11.快手ios版sig3算法快手算法mob64ca13f8b166的技术博客二、算法细节 要点一:如何处理物品特征冗余问题? 由于物品的特征信息可以从不同潜在方面描述该物品的特性,基于解耦的思想,我们可以将这些特征,根据所描述物品的不同方面分解为不同的表示。我们将称之为对应于物品不同方面的细粒度特征感知表示,后统称为分离表征。 https://blog.51cto.com/u_16213585/8875323
12.了白条怎么去水印现在有很多在线工具提供图片去水印功能,这些工具通常提供了简单易用的界面和强大的功能。使用这些工具可以快速去除图片中的水印,无需掌握复杂的图像处理技术。 总的来说,去除白条和水印的方法有很多种,选择哪种方法取决于具体的情况。对于简单的任务,手动编辑可能就足够了;对于复杂的任务,可以使用图像处理算法或在线工具https://tool.a5.cn/article/show/113758.html
13.永川这15家企业招人,找工作的看过来!澎湃号·政务澎湃新闻1.在线处理客户有关业务的咨询、查询及投诉等客户服务工作,解决客户所提出的问题,并跟踪、反馈处理结果 2.负责客户所反应问题的归类、统计、分析等工作 3.对服务中发现的热点、难点问题及其他有可能造成越级投诉的服务质量隐患,及时上报公司领导 4.负责满意度回访,针对用户不满意问题,合理并积极协调公司内部资源为客户https://www.thepaper.cn/newsDetail_forward_8515765
14.3分钟理财加拿大凤凰预测算法在线预测(2024排行榜加拿大凤凰预测算法在线预测 众赢精准全天免费计划 结合加拿大凤凰预测算法在线预测历史开奖趋势和数据,本网站利用大数据平台的分析能力,提供专业预测,始终为用户提供实用的服务如期 预期 周期:三个词看中国经济 12月11日至12日,一年一度的中央经济工作会议在北京举行。https://m.dslyy.com/teeq77DtEsV01QUN1216.html
15.2022年度陕西省重点研发计划项目申报指南目录研究内容:基于增强现实头盔系统中新一代光学目标检测的需求,研究多光谱图像的人工智能处理技术及其先进应用;基于增强现实头盔系统中声增强现实的需求,研究基于双耳渲染的虚拟立体声技术和采用麦克风阵列及骨传导传感器的语音增强方法;针对工业场景,进行智能算法边缘部署、硬件平台设计与集成,增强现实交互等综合系统研发。 http://www.kt180.com/html/sxs/9889.html
16.清图模糊图片秒变清晰,多功能在线图像处理平台清图是一个基于深度学习技术的在线图像处理平台,提供模糊图片清晰化、动漫图片处理、证件照制作等多种功能,满足用户在不同场景下的图像处理需求。https://hao.archcookie.com/sites/4440.html
17.电力系统低频振荡稳定监测分析方法综述AET2.3 预处理算法 (1)随机减量法 随机减量法是利用样本平均的方法,去掉响应中的随机成分,从而获得一定初始激励下的自由响应[53]。由于很多传统的实验模态识别方法要求系统的响应数据为自由振动响应数据,故可以先用随机减量法将脉动时域响应处理为自由振动响应,然后根据自由响应的数学模型建立特征方程,求出特征根后再估算各http://www.chinaaet.com/article/3000017794
18.es,redis等)+机器学习库+算法库+游戏库+开源框架+自然语言处理bild 纯Go中图像处理算法的集合。 bimg 使用libvips进行快速有效的图像处理的小包装。 cameron Go的头像生成器。 canvas 将矢量图形转换为PDF,SVG或光栅图像。 darkroom 具有可变存储后端的图像代理和侧重于速度和弹性的图像处理引擎。 geopattern 从字符串创建漂亮的生成图像图案。 gg 纯Go中的2D渲染。 gift 图像处理https://github.com/guaiwolou/golangFamily/
19.在线教育平台智能推荐系统建设方案(1)需求分析:对在线教育平台用户需求进行深入分析,明确推荐系统的功能需求。 (2)系统设计:设计推荐系统的架构,包括数据采集、数据处理、推荐算法等模块。 (3)算法研究与实现:研究并实现适用于在线教育平台的推荐算法,提高推荐效果。 (4)系统集成与测试:将推荐系统与在线教育平台进行集成,并进行功能测试和功能测试。 https://wenku.baidu.com/view/176d4f3d80d049649b6648d7c1c708a1294a0a64.html
20.《光谱学与光谱分析》2022年,第42卷,第01期以225个红岭矽卡岩型铁矿测试样本的可见光-近红外光谱数据及化学分析数据为数据源,首先对原始数据进行了平滑处理,并分析了矽卡岩型铁矿可见光-近红外光谱特征,然后利用倒数对数、多元散射校正(MSC)两种预处理方法对平滑后的光谱数据进行处理,再分别以主成分分析法(PCA)、遗传算法(GA)两种降维算法对预处理前后的光谱http://www.sinospectroscopy.org.cn/readnews.php?nid=96845
21.艾为推出笔记本电脑音效解决方案—国民神仙算法awinicSKTune基于低音增强算法处理,能够有效提升低频的厚实度,提升男声的磁性,女声的甜美度。可以将微型喇叭的低频响应提升到40Hz,低频动态范围提升60%。 2 非线性补偿算法-提升清晰度 扬声器作为实际输出声信号的设备,其播音能力的好坏直接影响了最终的音频品质。当前,用户更加青睐具有大音量、高音质的音频设备。然而,扬声器在低频https://www.elecfans.com/d/2827351.html
22.这4个技巧,提升PPT的图片质量我们以下方图片为例,勾选4倍放大和高度消除处理后,便可看到处理前、处理后的图片有着显著的差距,处理过后的图片在清晰度上得到了翻倍提升! 2)Bigjpg 在线图片处理网站 Bigjpg 是一个采用深度卷积神经网络算法的在线图片放大服务,它可以将噪点和锯齿的部分进行补充,实现图片的无损放大。 https://www.wps.cn/learning/article/detail/id/14194.html
23.基于DEAP库的Python进化算法从入门到入土这一节我想要探讨一下如何在遗传算法中处理约束。 这部分内容主要是对Coello Coello大神的经典文章《Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art》的再加工以及代码实现。想要更加深入了解的同学,强烈推荐阅读一下这篇文章。 https://www.jianshu.com/p/8e16fe258337
24.bilibiliAVIF图片格式落地B 站图片服务底层使用 ImageMagick 作为核心的图片处理库,ImageMagick 设计上是针对桌面场景手动处理图片,着眼于功能的丰富性。我们在落地服务端的过程中,修改了部分代码,以适配在线服务的性能与稳定性需求,因定制化较强,遗憾未能回馈上游。在 AVIF 处理方面,我们使用 libheif 集成 libaom 编码 AVIF。 https://blog.itpub.net/70027824/viewspace-2940957/