自然场景图像中的文本检测综述

摘 要

本文对自然场景文本检测问题及其方法的研究进展进行了综述. 首先, 论述了自然场景文本的特点、自然场景文本检测技术的研究背景、现状以及主要技术路线. 其次, 从传统文本检测以及深度学习文本检测的视角出发, 梳理、分析并比较了各类自然场景文本检测方法的优缺点, 并介绍了端对端文本识别技术. 再次, 论述了自然场景文本检测技术所面临的挑战, 探讨了相应的解决方案. 最后, 本文列举了测试基准数据集、评估方法, 将最具代表性的自然场景文本检测方法的性能进行了比较, 本文还展望了本领域的发展趋势.

研究背景和意义

自然场景文本检测技术在智能交通系统、视障人导航、图像/视频检索以及可穿戴/便携式视觉系统等领域具有重要应用。随着互联网技术和移动设备的发展,越来越多的应用场景需要利用图像中的文本信息。

  • 国际研究热点:自然场景文本检测已成为计算机视觉与模式识别、文档分析与识别领域的研究热点。国际学术会议如CVPR、ICCV、ECCV将其列为重要主题,并定期组织自然场景文本检测竞赛。
  • 国内外研究团队: 牛津大学、捷克理工大学、日本九州大学、微软亚洲研究院等国外研究团队在该领域取得了一些重要研究成果。国内团队如中科院自动化所、华中科技大学、北京科技大学、华南理工大学等在国际竞赛中表现活跃,获得了显著成绩。
  • 国内研究现状: 国内学者在自然场景文本检测领域发表了大量论文,参与了ICDAR组织的活动,并在竞赛中取得了令人瞩目的成绩。一些团队在页面目标检测、中世纪文档版面分析、视频阿拉伯文本检测与识别、中文场景文本阅读等任务中取得了第一名。
  • 中文综述的缺失: 尽管国内学者在该领域取得了重要成果,但在中文期刊数据库中,关于自然场景文本检测的中文综述几近空白。因此,有必要对该领域的研究进行全面综述,以推动相关技术的发展。
  • 研究方法和挑战: 文中介绍了自然场景文本检测方法的动机、原理、优势与不足,还讨论了端对端文本识别技术、文本显著性、视觉上下文等其他领域知识在该领域的应用。同时,指出了该技术所面临的挑战,并提出了一些解决方案。
  • 性能评估: 文中列举了一些测试基准数据集和评估方法,并对最具代表性的自然场景文本检测方法的性能进行了比较。
  • 发展思考: 最后,文中给出了对该领域未来发展的一些思考,鼓励研究人员深入研究自然场景文本检测,并拓展其应用领域,期望能够激发更多创新性工作。

研究现状

这一部分提到了ICDAR 2017的技术竞赛和一些相关的竞赛结果,以及自然场景文本检测技术的发展趋势和特点。以下是对文本的主要内容的总结:

ICDAR 2017竞赛结果: 文中提供了ICDAR 2017竞赛的链接,并指出了一些竞赛冠军在自然场景文本识别竞赛(RCTW-17)中取得的结果,包括准确率、召回率和综合指标。结果表明自然场景文本检测技术在近几年取得了显著的发展。

自然场景文本检测的发展历程: 文中提到ICDAR定期举办的技术竞赛对该领域的发展起到了推动作用。通过比较2011年和2017年的ICDAR自然场景文本检测竞赛的结果,可以看出技术性能在这几年间有了显著提升。

研究方向和趋势: 对2017年CVPR、ICCV、NIPS、IJCAI、AAAI、ICDAR等顶级会议上的论文进行分析,发现超过80%的自然场景文本检测论文主要关注多方向排列的文本检测问题。大部分文献主要处理英文文本,较少涉及自然场景文本识别以及端对端自然场景文本检测与识别问题。

技术发展阶段: 自然场景文本检测技术经历了从水平方向排列到多方向排列,从单一英文文本到多语种文本的演进。在描述特征方面,首先是基于传统手工设计的特征,然后在2014年前后出现了基于深度学习的方法,其中卷积神经网络(CNN)和递归神经网络(RNN)等深度学习技术得到了广泛应用。

自然场景文本的特点: 文中指出自然场景文本与叠加文本的区别,重点描述了自然场景文本的对比度、梯度、边缘、灰度、颜色、笔画宽度、几何大小、视觉上下文和空间分布等视觉特性。这些特性使得自然场景文本检测面临更大的挑战。

挑战与前景: 尽管在特定数据集上取得了良好的性能,如ICDAR 2011和ICDAR 2015,但在最近的ICDAR 2017自然场景中的中文文本识别竞赛中,性能仍然受到语种、排列方向、数据集规模等因素的限制。因此,该技术在成熟度和鲁棒性方面仍有进一步发展的空间。

3 自然场景文本的特点

这一部分详细描述了自然场景文本的特点,特别是与叠加文本相比,自然场景文本在多个方面具有更大的复杂性。以下是对每个特点的总结:

对比度属性: 自然场景文本相对于其背景区域具有明显的对比度。文本作为信息的传递媒介,其可读性是存在意义的基本要求。因此,文本的灰度和颜色信息通常与背景形成明显的对比。

梯度、边缘属性: 由于文本通常具有复杂的空间结构,文本区域往往包含相对密集的边缘和明显的梯度信息。这些特征有助于区分文本与背景。

灰度、颜色属性: 为了提高视觉舒适性,文本往往选择与背景有明显反差的颜色进行书写,并且文本的颜色与灰度分布通常均匀。

笔画宽度属性: 即使文本由不同的笔画组成,同一个文本中的笔画宽度通常是近似相等的。这有助于保持文本的一致性。

几何大小属性: 自然场景文本可以具有任意的尺寸大小,但为了满足人眼的视觉需求,自然场景文本的尺寸通常在一定范围内变化。

视觉上下文属性: 在同一个文本行区域内,相邻文本之间具有相近的笔画宽度、颜色、高度以及像素灰度值等特点。这些属性有助于理解文本的上下文关系。

空间分布属性: 文本在图像中通常以文本行的形式存在,相邻文本之间的排列方式是任意的,并且它们的间隔距离通常满足一定的规律。这种排列方式增加了文本检测的复杂性。

通过对这些属性的分析,可以看出自然场景文本的多样性和复杂性,这也是自然场景文本检测技术面临的挑战之一。

4 自然场景文本检测所面临的挑战

自然场景文本检测面临着多方面的挑战,这些挑战使得这一领域的研究相对复杂。以下是一些主要挑战的概述:

文本的种类多样性: 自然场景文本涵盖了不同的语种,每一种语种又包含了数量规模不等的文本类型。例如,英文和中文在字符种类和结构上存在很大差异。不同语种或者相同语种的不同文本类型之间的视觉特征具有显著差异,增加了文本检测的难度。

文本排列方向的多样性: 相邻自然场景文本之间的排列是沿任意方向的,而不像一般性物体检测问题那样固定。这使得寻找合适的描述特征与边界框来表示文本区域变得更加困难。

文本行的多样性: 自然场景文本行通常呈现出杂乱的视觉特征。由于不同文本行之间的结构共性较少,难以找到一个区分性好的描述特征来表达文本行区域。

文本行的大小及长宽比的不确定性: 自然场景文本行的大小不一,且其长度与宽度的比值也不确定。这导致在文本行检测时需要考虑尺度大小问题,并增加了对文本行长宽比问题的处理难度。

文本行检测结果的复杂性: 文本行检测通常需要检测整个文本序列。根据算法性能评测要求,所有的自然场景文本检测算法需要得到以单词为单元的检测结果。由于不同单词包括的字符数不同,单词之间的间隔距离也受到单个文本检测结果的影响,因此自然场景文本检测相较于传统的独立目标检测更具挑战性。

5 自然场景文本检测方法

5.1.1 传统的自然场景文本检测方法

基于连通域分析的方法

边缘检测方法:

文献 [38, 53−57] 等采用了一些边缘检测算子(如 Sobel、Canny 等)检测图像的边缘信息,然后对边缘图像进行形态学处理,剔除伪文本区域。
文献 [55] 提取水平、垂直、左上、右上方向边缘图像,然后利用 K 均值聚类方法获得初始的文本区域检测结果,最后通过规则和投影分析验证。
文献 [57] 首先提取边缘,然后通过候选边缘重组以及识别的方法获得文本区域。
最大稳定极值区域(MSER)方法:

MSER 方法基于分水岭的概念,通过对图像进行二值化处理,获得最大稳定极值区域。这些区域能够描述文本内部颜色的一致性,克服噪声和仿射变换等因素的影响。
文献 [60] 中将 MSER 方法应用于自然场景文本检测,通过检测最大稳定极值区域获得文本候选区域。一些变体如 Edge-preserving MSER 算子也被提出,用于增强 MSER。
文献 [82] 提出了对比极值区域(Contrasting extremal region, CER)方法,用于处理低对比度图像,提高鲁棒性。
文本行级检测方法:

一些文献 [84−87] 利用文本行上下边缘近似平行或文本行的上下部分近似对称的性质,实现对文本行候选区域的检测处理。
文献 [87] 利用自然场景文本行上下结构相似的特点,设计了一个具有对称性的模板,并使用卷积神经网络(CNN)进行后续处理。
基于滑动检测窗的方法

传统的滑动检测窗方法首先获得文本候选区域,然后采用手工设计的特征对候选区域进行验证,最终获得文本位置信息。

5.1.2 基于滑动检测窗的方法

段的内容主要介绍了基于滑动检测窗的自然场景文本检测方法。以下是主要内容的总结:

方法概述: 该方法采用自顶向下的策略,通过滑动检测窗口的方式对整幅自然场景图像进行扫描,将每个检测窗口所覆盖的图像区域视为文本候选区域。

特征提取与分类: 对于每个文本候选区域,手工设计的特征被提取,并结合已训练好的分类器获得该文本候选区域的置信度值。通过比较置信度值与设定的阈值,将文本候选区域分类为文本区域或背景区域。

多尺度处理: 为了适应文本大小和文本行长度的变化,采用了多尺度滑动窗口的方式来获取文本候选区域。

分类器选择: 该方法探讨了两种技术途径:一般性滑窗方法和基于特定单词的方法。在分类器选择上,引入了级联自适应增强算法(Cascaded Adaboost),并结合类哈尔特征等传统特征。

特征选择: 传统的自然场景文本检测技术主要选择了手工设计的特征,如梯度边缘特征、局部二值模式(LBP)、方向梯度直方图(HOG)等。

问题与挑战: 方法面临的问题包括如何找到区分度好的描述特征,以及如何选择滑动窗口的大小和步长。此外,该方法在处理文本尺度较小或对比度欠佳等情况时具有优势,但在一些竞赛中效果相对较差。

限制: 一些方法仅能检测事先给定列表中的单词,对于列表之外的单词则无法处理。在应对新的语种文本时,需要重新设计字符模板以及标注文本部件。

总结: 尽管基于滑动检测窗口的方法在其他物体检测问题上取得了好的结果,但在自然场景文本检测领域,特别是在比赛中,其效果相对逊色于基于连通区域分析的方法,而且对于训练样本和标注的要求较为严格。

5.2 基于深度学习的自然场景文本检测方法

这一部分描述了基于深度学习的自然场景文本检测方法的发展和应用。以下是对文本的主要观点和方法的总结:

深度学习的优势: 深度学习采用多隐藏层的神经网络结构,与传统的手工设计特征分类相比,通过组合低层特征形成更加抽象的高层来表示属性类别。这使计算机能够自动学习数据的有效特征表示,避免了繁琐低效的人工特征工程。

早期应用和模型: 90年代,深度学习先驱Lecun等人早早地使用神经网络解决文本识别问题。其中,LeNet5模型在MNIST数据集上表现出色。后续,不同的深度学习结构被提出,包括深度置信网络(DBN)、卷积神经网络(CNN)以及递归神经网络(RNN)等。

自然场景文本检测方法的发展历程: 从水平方向排列的文本检测到任意方向排列的文本检测,以及最近少数文献涉及的弧形排列方向的文本检测。方法的发展经历了基于区域建议的方法和基于图像分割的方法。

基于区域建议的文本检测方法: 这些方法通常遵循目标检测的框架,使用回归文本框的方式获取文本区域信息。一些方法包括使用CNN提取特征,然后根据这些特征定位文本区域,采用随机森林结合文本行的上下文信息分类文本候选区域等。

一些代表性方法: 提到了一系列基于深度学习的自然场景文本检测方法,包括但不限于Textboxes、Textboxes++、垂直回归建议网络(VRPN)、旋转区域候选网络(RRPN)等。这些方法在文本检测方面取得了显著的成果。

多方向文本检测问题的解决: 针对多方向文本检测问题,一些方法引入了方向信息,创新性地使用四边形窗口(非矩形)表示文本区域。其他方法提出了旋转区域候选网络和滑动线点回归等方法。

端到端模型和综合方法: 一些方法采用端到端的场景文本识别研究,结合目标候选区域的文本检测和卷积神经网络的文本识别。此外,还提到了一些综合多信息属性来获得文本候选区域的方法。

数据集的贡献: 文献提到了一些研究者推出的新数据集,如SCUT-CTW1500,其中包含弧度方向排列文本,为解决该问题提供了基准。

5.2.2 基于图像分割的文本检测方法

Text-Block FCN:

使用全卷积网络(FCN)进行像素级别的文本/背景标注。
通过Text-Block FCN进行像素级标定,得到每个像素属于文本的概率。
基于概率生成文本区域显著图(Salient map),然后提取文本候选区域。
Cascaded Convolutional Text Network (CCTN):

采用级联的方式检测文本,包括Coarse-CNN和Fine-CNN。
Coarse-CNN用于检测粗略的文本区域,然后Fine-CNN用于得到更细致的文本线。
FCN with Non-maximum Suppression (NMS):

使用全卷积神经网络(FCN)和非最大抑制算法(NMS)的文本检测框架。
FCN输出文本区域像素级检测结果,然后通过NMS获得文本区域。
Multi-Direction Scene Text Detection with Deep Direct Regression:

基于深度直接回归的多方向场景文本检测方法。
对全卷积神经网络进行端对端优化,双任务输出,其中一个任务是直接回归文本边界的顶点坐标。
DCNN and RNN for Irregular Text:

使用深度卷积神经网络(DCNN)学习文本的高级视觉表示。
通过循环神经网络(RNN)处理不规则文本序列。
使用FCN网络完成密集的文本检测任务。
PixelLink Method:

受SegLink方法启发,提出PixelLink方法,使用深度神经网络(DNN)进行文本/非文本和连接预测。
将文本实例中的像素标注并形成连通区域,最后直接提取文本边界框。
Methods Based on Text Region Proposals:

该类方法通常遵循目标检测的框架,采用回归文本框的方式获得文本区域的位置信息。
Challenges and Considerations:

基于图像分割的文本检测方法能够较好地避免文本排列方向和长宽比的变化。
由于标注数据集的困难,后续处理通常比较复杂。
Synthetic Data for Training:

由于标注数据的不足,一些方法采用合成数据的方式生成含有文本信息的样本,以扩充训练集的规模。
Integration with Other Knowledge:

指出深度学习方法虽然在文本分类上表现出色,但整个自然场景文本检测系统中的每个环节都会影响最终性能。
建议将深度学习方法与其他领域知识或技巧相结合来设计文本检测系统。

6 端对端文本识别方法

端到端文本识别任务:

输入为自然场景图像,输出为图像中的文本内容。
文本检测和文本识别同属于模式分类问题,其中文本检测是一个粗略的二分类问题,而文本识别需要完成更精细的分类任务。
研究趋势:

大部分工作将文本检测和文本识别作为两个独立的内容进行研究。
少数工作将文本检测与文本识别融合到一个框架中,执行粗略检测和精细分类两个任务,以同时进行文本检测和文本识别。
早期端到端文本识别系统:

一些早期系统主要关注文本检测部分,而文本的识别则依赖于已有的光学字符识别引擎。
其他系统主要关注文本识别部分,使用先进的目标检测方法进行文本检测。
深度学习方法的出现:

2014 年前后,深度学习方法为端到端文本识别问题提供了新的解决方案。
文献中介绍了一些基于深度学习的端到端文本识别框架,包括使用卷积神经网络(CNN)和循环神经网络(RNN)的方法。
具有挑战性的任务:

端到端文本识别任务在非受限环境下的自然场景文本中的表现仍然具有挑战性,最好的识别率仅为34.96%。
传统方法难以取得突破,直到深度学习方法的出现。
一些端到端文本识别方法的例子:

包括基于区域建议的方法、Convolutional Recurrent Neural Network (CRNN) 方法、结合 CNN 和 HMM 的方法、SSD 框架的改进、端到端场景文本检测和识别框架等。
对抗性训练和半监督学习:

一些方法采用了对抗性训练和半监督学习方法进行训练,以提高模型的性能。
处理任意方向文本的方法:

一些方法专注于处理自然场景中任意方向的文本,通过设计新的框架和纠错策略来提高文本识别的准确性。
最新趋势:

一些最新方法集成了多个卷积神经网络,有效地实现了自然场景文本检测、识别以及文种分类等任务。
这些方法考虑到多语言场景,并采用了半监督学习等技术。
对于单个文本和多个文本构成的单词的识别:

对于单个文本的识别,采用了传统方法和CNN。
对于由多个文本构成的单词,主要使用CNN+LSTM 结构,首先提取图像特征,然后使用LSTM 学习上下文关系。

7 性能评估

7.1 测试数据集
常见的自然场景文本检测数据集包括:

ICDAR 系列数据集(ICDAR 03, ICDAR 11, ICDAR 13, ICDAR 15):

包含英文水平方向的文本。
ICDAR 2015 数据库包含多语种且文本排列方向任意。
其他数据集:

SVT, MSRA-TD500, KIST, OSTD, NEOCR, USTB-SV1K, COCO-Text, RCTW-17, SCUT-CTW1500。
7.2 评估方法
为了客观评估自然场景文本检测方法的性能,采用了几种测评方法,主要关注以下三个性能参数:

准确率 §:表示检测得到的真实文本与所有检测结果之间的比率。
召回率 ®:表示检测得到的真实文本和所有手工标注的真实文本之间的比值。
综合评价指标 (F):是准确率与召回率的调和平均值,是评价文本检测方法性能的综合指标。
7.2.1 ICDAR 2003/2005 评估方法
通过比较检测结果的最小外接矩形与手工标注的文本区域矩形,计算文本检测召回率、精确率以及综合评价指标。采用匹配度定义来评估矩形之间的匹配情况。

7.2.2 ICDAR 2011/2013 评估方法
考虑了一对一、一对多和多对一的匹配情形,采用召回率约束项和精确率约束项来定义准确率和召回率。

7.2.3 ICDAR 2015 评估方法
采用目标检测评价方法,通过比较检测结果矩形框与 Ground-truth 矩形框之间的公共区域与并集区域之间的比值来进行评估。

7.2.4 MSRA-TD500 评估方法
采用最小面积矩形框进行标记,考虑了倾斜角之差和面积覆盖率,定义了准确率、召回率和综合评价指标。

7.3 测试结果
代表性的文本检测方法在各类公开数据集上进行测试,综合标价指标在不同数据库上有显著提升,表明自然场景文本检测技术在近几年取得了长足发展。

8 自然场景文本检测方法存在的问题

端到端场景文本识别问题: 目前端到端场景文本识别研究相对单薄,大部分工作将文本检测与文本识别作为独立任务处理,而端到端场景文本识别的性能有提升空间。
多方向与形变文本检测问题: 大多数自然场景文本检测方法主要针对直线方向排列的文本,而实际场景中文本可能以多种方向排列,且存在形变,这给文本检测带来挑战。
少语种与混合语种文本检测问题: 大多数方法只能检测单一语种文本或者极少数混合语种文本,而全球存在大量语言,对于混合语种文本检测存在挑战,包括文本种类繁多、空间结构多样等问题。
文本检测结果评价方法问题: 目前的评价方法主要采用IoU指标,但该指标不能很好地反映文本检测方法的性能,特别是不能保证高IoU的检测结果一定能在后续的文本识别与语义理解中表现良好。
文本检测研究内容与创新性问题: 大多数文本检测方法主要关注多方向排列的场景文本检测问题,缺乏对自然场景文本识别与端到端自然场景文本检测与识别问题的深入研究。此外,一些方法在追求性能时缺乏创新和深度思考。

9 发展趋势及应用

9.1 任务实施步骤层面的几点思考
提出了三个关键问题:如何获得文本候选区域、如何验证文本候选区域以及如何得到以单词为分割单元的检测结果。
建议综合使用自顶向下和自底向上检测方法,利用文本的聚集性和视觉上下文信息提高检测效率和召回率。
探讨了基于深度学习的目标检测方法在文本检测中的应用,强调融入文本上下文信息的重要性。
9.2 任务整体层面的思考
指出绝大部分文本检测方法主要针对直线排列文本,对包含弧形排列的文本检测的研究相对较少。
讨论了对任意方向排列文本进行检测面临的问题,包括文本区域描述和文本行的形成。
9.3 领域知识对文本检测性能影响的几点思考
强调自然场景文本检测是一个典型的二分类模式识别问题,可以借鉴其他目标检测方法的思路。
讨论了视觉注意机制和视觉上下文对文本检测性能的影响,提出了合理设计视觉显著性模型和融入文本上下文信息的方法。
9.4 应用层面的几点思考
探讨了自然场景文本检测技术在智能交通系统、基于内容的视频检索系统、可穿戴/便携式视觉系统等领域的应用。
提出了将文本检测技术与其他领域结合,如在无人驾驶汽车、图像理解、文种识别等方面的应用。
9.5 其他问题的思考
提出了一些未来可能的研究方向,如大脑是否存在专门处理文本识别的机构、深度学习网络深度规模选择的问题、多语种文本检测的通用描述特征等。

10 结束语

总结了自然场景文本检测的研究背景、发展现状,介绍了端对端文本识别技术和领域内的新发展对该技术的影响。
对自然场景文本检测技术的未来发展方向和潜在应用领域进行了分析与展望,强调该技术在各种应用需求下将不断拓展和成熟。

王润民 (WANG Run-Min)

职位:国防科技大学博士后,湖南师范大学物理与信息科学学院讲师。
学历:2015年获得华中科技大学博士学位。
研究方向:计算机视觉与模式识别。
桑农 (SANG Nong)

职位:华中科学技术大学自动化学院教授。
学历:2000年获得华中科技大学博士学位。
研究方向:计算机视觉与模式识别。
丁丁 (DING Ding)

职位:国防科技大学教研保障中心讲师。
学历:2010年获得国防科技大学博士学位。
研究方向:计算机视觉与模式识别。
陈杰 (CHEN Jie)

职位:芬兰奥卢大学电气与信息工程系资深教授。
学历:2007年获得哈尔滨工业大学博士学位。
研究方向:计算机视觉与模式识别。
叶齐祥 (YE Qi-Xiang)

职位:中国科学院大学电子电气与通信工程学院教授。
学历:2006年获得中国科学院计算技术研究所博士学位。
研究方向:机器学习与视觉目标感知。
高常鑫 (GAO Chang-Xin)

职位:华中科学技术大学自动化学院副教授。
学历:2010年获得华中科技大学博士学位。
研究方向:计算机视觉与模式识别。
刘丽 (LIU Li)

职位:国防科技大学信息系统与管理学院副教授。
学历:2012年获得国防科技大学博士学位。
研究方向:图像理解,计算机视觉,模式识别。
通信作者。

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

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

相关文章

体系化学习运筹学基础算法的实践和总结

文章目录 引言目标设计目标实践文章汇总经验总结一则预告 引言 眨眼间已经12月了,眼看着2023年马上要过完了。 女朋友最近总说,工作以后感觉时间过的好快。事实上,我也是这么认为的。年纪越大,越会担心35岁危机的降临。所以&…

Xubuntu16.04系统中使用EDIMAX EW-7822UAC无线网卡开启5G自发AP

目录 1.关于 EDIMAX EW-7822UAC2.驱动安装3.查看无线网卡信息3.通过create_ap配置5G自发AP 1.关于 EDIMAX EW-7822UAC 官网介绍 https://www.edimax.com/edimax/merchandise/merchandise_detail/data/edimax/global/wireless_adapters_ac1200_dual-band/ew-7822uac/ 详细参数…

Python开发运维:Python项目发布到K8S集群

目录 一、实验 1.Python项目发布到K8S集群 一、实验 1.Python项目发布到K8S集群 (1)获取应用程序代码 #把hello-python.tar.gz压缩包上传到k8s控制节点master1的root下,手动解压 tar zxvf hello-python.tar.gz (2&#xff0…

【Linux】进程周边001之进程概念

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.基本概念 2.描述进程-PCB…

LeetCode5.最长回文子串

昨天和之前打比赛的队友聊天,他说他面百度面到这道算法题,然后他用暴力法解的,面试官让他优化他没优化出来,这道题我之前没写过,我就想看看我能不能用效率高一点的方法把它做出来,我一开始就在想用递归或者…

springboot(ssm滁州市特产销售系统 特产商城系统Java系统

springboot(ssm滁州市特产销售系统 特产商城系统Java系统 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0) …

解决错误:sudo debtap -u curl: (22) The requested URL returned error: 404

具体错误 $ sudo debtap -u > Synchronizing pkgfile database... :: Updating 2 repos...core is up to dateextra is up to date > Synchronizing debtap database...% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload …

设计CPU功能的数字电路

实验目的(1)熟悉Multisim 电路仿真软件的操作界面和功能; (2)掌握逻辑电路综合设计,并采用仿真软件进行仿真。 实验内容1.试设计一个简易CPU功能的数字电路,实验至少要求采用4个74HC/HCT194作为4个存储单元(可以预先对存储单元存储数据),74HC283作为计算单元。请实现…

用相似对角矩阵加速矩阵的幂,以斐波那契数列为例

《用相似对角矩阵加速矩阵的幂,以斐波那契数列为例》 在计算机科学和线性代数领域,矩阵的幂是一个常见而重要的问题。特别是对于大型矩阵,直接计算幂可能会变得十分耗时。然而,通过相似对角矩阵的方法,我们能够以更为…

多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现RIME-CNN-…

python字符串格式化--数字精度控制和快速写法与表达式格式化

数字精度控制 我们可以使用m.n来控制数字的宽度和精度: m是宽度,设置必须为数字,且如果设置的数字小于本身,则不生效n控制小数点精度,必须为数字,会进行四舍五入 示例: 5d:是将宽…

idea本地调试hadoop 遇到的几个问题

1.DEA对MapReduce的toString调用报错:Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc 解决方法:关闭 IDEA 中的启用“ tostring() ”对象视图 2.代码和hdfs路径都对的情况下,程序…

架构设计系列之基础:初探软件架构设计

11 月开始突发奇想,想把自己在公司内部做的技术培训、平时的技术总结等等的内容分享出来,于是就开通了一个 Wechat 订阅号(灸哥漫谈),开始同步发送内容。 今天(12 月 10 日)也同步在 CSDN 上开通…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《面向微电网群的云储能经济-低碳-可靠多目标优化配置方法》

这篇文章的标题涵盖了以下关键信息: 面向微电网群:研究的重点是微电网群,这可能指的是多个微电网系统的集合,而不仅仅是一个单独的微电网。微电网是指由分布式能源资源、储能系统和智能控制组成的小型电力系统,通常能够…

记录每日LeetCode 406.根据身高重建队列 Java实现

题目描述: 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构…

《C++新经典设计模式》之附录A 类和对象

《C新经典设计模式》之附录A 类和对象 A.1 静态对象的探讨与全局对象的构造顺序A.1.1 静态对象的探讨A.1.1.cpp A.1.2 全局对象的构造顺序问题A.1.2.cpp A.2 拷贝构造函数和拷贝赋值运算符A.2.1 拷贝构造函数和拷贝赋值运算符的书写A.2.1.cpp A.2.2 对象自我赋值产生的问题A.2.…

实现加盐加密方法以及java nio中基于MappedByteBuffer操作大文件

自己实现 传统MD5可通过彩虹表暴力破解, 加盐加密算法是一种常用的密码保护方法,它将一个随机字符串(盐)添加到原始密码中,然后再进行加密处理。 1. 每次调用方法产生一个唯一盐值(UUID )密码…

UDS诊断 10服务

文章目录 简介诊断会话切换请求和响应1、请求2、子功能3、肯定响应4、否定响应5、特殊的NRC 为什么划分不同会话报文示例UDS中常用 NRC参考 简介 10服务,即 Diagnostic Session Control(诊断会话控制)服务用于启用服务器中的不同诊断会话&am…

(四) python门面模式

文章目录 4.1 结构型设计模式4.1.1 简介4.1.2 常见的几种结构型设计模式 4.2 理解门面设计模式4.2.1 门面设计模式概述4.2.2 门面设计模式的作用 4.3 UML类图4.3.1 门面4.3.2 系统4.3.3 客户端 4.4 门面模式的代码实现4.4.1 场景:4.4.2 python实现 4.5 原理&#xf…

Compose for iOS:kotlin 与 swift 互操作

前言 类似于 Android 上的 compose,在 iOS 上的 compose 同样支持嵌套显示 compose UI 和 swiftUI 或是 uikit 。 但是不同于 Android 原生就是使用 kotlin 作为开发语言,iOS 的开发语言是 swift 或者 object-c 。虽然大多数业务逻辑都可以直接使用 ko…