当前位置:首页>学习笔记>多模态大模型学习笔记(三十八)——传统OCR技术机制:从DBNet到CRNN:吃透传统OCR两阶段范式的底层逻辑

多模态大模型学习笔记(三十八)——传统OCR技术机制:从DBNet到CRNN:吃透传统OCR两阶段范式的底层逻辑

  • 2026-04-29 18:26:46
多模态大模型学习笔记(三十八)——传统OCR技术机制:从DBNet到CRNN:吃透传统OCR两阶段范式的底层逻辑

从DBNet到CRNN:传统深度学习

OCR两阶段范式底层原理全解

点击下方卡片,关注“人工智能陈小白

视觉/大模型/图像重磅干货,第一时间送达!

摘要

OCR(光学字符识别)是现实世界与数字世界的“文字解封器”,是文档数字化、金融票据处理、工业质检、政务档案管理等场景的核心基础技术。深度学习技术的普及,让OCR从传统五阶段串行流水线,彻底演进为**“文本检测+文本识别”**的两阶段端到端范式。其中,DBNet是文本检测领域的工业级标杆,解决了复杂场景下的文字精准定位难题;CRNN是文本识别的经典架构,实现了无需字符切分的端到端序列识别。本文将从底层原理、公式推导、架构设计、流程可视化四个维度,完整拆解这套经典范式的全部逻辑,同时还原算法演进的底层原因与技术边界。


目录

  1. 1. OCR的本质与技术范式演进
  2. 2. 文本检测算法底层原理全解(从CTPN到DBNet++)
  3. 3. 文本识别CRNN算法底层原理全解
  4. 4. DBNet+CRNN工业级OCR全链路整合
  5. 5. 两阶段经典范式的核心局限性
  6. 6. 总结与技术演进方向

1 OCR的本质与技术范式演进

1.1 OCR的核心定义与本质

OCR(Optical Character Recognition,光学字符识别)的核心本质,是从视觉信号中恢复语言符号的跨模态任务

  • • 底层属性:计算机视觉任务,输入为图像信号,输出为文本符号序列;
  • • 上层目标:视觉与语言的跨模态映射,将像素级的视觉特征,映射到可计算的语言空间;
  • • 完整信息转化链路:像素(Pixel) → 字符(Character) → 结构化可读文本(Text) → 语义理解(Meaning)

在数字化时代,OCR的不可替代性体现在:现实世界中绝大多数文字信息,仍以非结构化的视觉形式封装在扫描件、PDF、发票、手写批注、设备铭牌、证件、课件截图中,OCR是让计算机能够读取、计算、理解这些信息的核心前置入口,是连接物理世界与数字世界的关键桥梁。

1.2 传统OCR五阶段串行流水线(深度学习前)

在深度学习技术普及前,传统OCR采用纯规则+统计学习的五阶段串行架构,核心缺陷是环节间强耦合、误差层层传递,每个环节完全依赖人工设定规则,泛化能力极差。
完整流程流程图

输入图像/扫描件
成像与预处理
版面分析与文字区域定位
文本行/字符切分
字符分类识别
语言后处理
输出可编辑文本

每个模块的底层逻辑与核心缺陷:

  1. 1. 成像与预处理:核心操作包括灰度化、去噪、固定阈值二值化、页面纠偏、透视校正,所有规则均为人工设定,无法自适应模糊、光照不均、脏污的复杂场景;
  2. 2. 版面分析:基于连通域分析、水平/垂直投影法,定位页面中的文字区域,区分文本块与图片、表格区域,仅能适配规则横版印刷文档,对倾斜、多列排版、复杂布局的文档适配性极差;
  3. 3. 文本行/字符切分:通过水平+垂直投影,将文本块切分为单行,再将单行切分为单个字符,是整个流水线的核心瓶颈——一旦出现字符粘连、模糊、倾斜,切分就会出错,且误差会直接传递到后续识别环节;
  4. 4. 字符分类识别:提取单个字符的几何特征(笔画、线段角度、交叉点、环、Hu矩/Zernike矩),通过kNN、SVM、HMM等统计学习器,将字符映射为Unicode编码,仅能适配固定字体,对艺术字、手写体、模糊字体的泛化能力极弱;
  5. 5. 语言后处理:通过固定词典、n-gram规则、简单语言模型做纠错、拼写检查、字形混淆消歧,无全局语义理解能力,无法解决上下文相关的识别错误。

1.3 深度学习两阶段OCR经典范式确立

深度学习技术的引入,彻底重构了OCR的技术架构,将传统五阶段串行流程,简化为**“文本检测+文本识别”**的两阶段端到端可训练架构,彻底解决了误差层层传递、字符切分瓶颈的核心问题,是目前工业级OCR的标准范式。
两阶段范式核心流程图

输入原始图像
文本检测模块
输出文本区域边界框坐标
文本区域裁剪与归一化
文本识别模块
输出文本序列

两个核心模块的分工:

  1. 1. 文本检测:核心解决「图像里哪里有文字」的问题,输入为原始图像,输出为所有文字区域的精准边界框,代表算法包括CTPN、EAST、DBNet、DBNet++;
  2. 2. 文本识别:核心解决「这些文字是什么」的问题,输入为裁剪后的文本区域图像,输出为对应的文本序列,代表算法为CRNN。

2 文本检测算法底层原理全解(从CTPN到DBNet++)

文本检测的核心任务,是完成文字的精准定位,从CTPN到EAST再到DBNet,算法演进的核心目标始终是:适配任意形状的文本、提升边界定位精度、降低复杂场景的误检/漏检、实现端到端可训练

2.1 CTPN:基于Anchor+RNN的水平文本检测开山之作

CTPN(Connectionist Text Proposal Network)于2016年提出,是深度学习文本检测的开山之作,核心思想借鉴Faster R-CNN的目标检测框架,针对文本行的序列特性做了专属优化。

2.1.1 核心原理与公式

  1. 1. 核心创新:将文本检测转化为「细粒度文本提议框(Anchor)的序列建模与连接」问题,首次将Bi-LSTM引入文本检测,学习文本行的横向序列上下文特征,解决了单Anchor无法判断文本连续性的问题。
  2. 2. 核心公式
    • • Anchor文本/非文本分类概率:

      其中为Bi-LSTM输出的隐藏状态,为sigmoid激活函数,为可学习权重与偏置。
    • • 垂直坐标与高度回归偏移:

      其中为真实文本框的中心y坐标与高度,为Anchor的中心y坐标与高度。

2.1.2 完整算法流程图

输入图像
VGG16特征提取
Anchor序列生成
Bi-LSTM序列上下文建模
多任务预测头
候选框过滤与合并
输出水平文本行边界框

2.1.3 算法特性

维度
核心特性
年份
2016年
关键思想
基于anchor + RNN连接文本提议框
核心优点
检测精准、稳定性强,对票据、扫描件等水平印刷体场景适配性极佳
核心缺点
只能检测水平文本,对倾斜、弯曲文本无适配能力,实用性受限
适合场景
标准化扫描件、固定版式票据、横版印刷文档

2.2 EAST:Anchor-Free像素级预测的多方向文本检测方案

EAST(Efficient and Accurate Scene Text Detector)于2017年CVPR会议发布,彻底抛弃了Anchor与提案生成的冗余流程,采用全卷积网络直接在像素级预测文本区域的几何形状,首次实现了任意方向倾斜文本的端到端检测。

2.2.1 核心原理与公式

  1. 1. 核心创新:消除所有冗余中间步骤,单网络直接输出文本区域的分数图与几何特征图,仅需一次NMS即可得到最终结果,推理速度大幅提升,同时支持任意方向的倾斜文本。
  2. 2. 核心输出与公式
    • • 分数图(Score Map):单通道特征图,每个像素值,代表该像素属于文本区域的概率;
    • • 几何图(Geometry Map):支持两种输出格式,RBOX(4个边界距离+1个旋转角度θ)、QUAD(4个顶点坐标),适配任意方向文本;
    • • 损失函数:

      其中为分类交叉熵损失,为IoU损失+角度损失,完整公式为:

      其中为预测与真实文本框,为预测与真实旋转角度。

2.2.2 完整算法流程图

输入图像
卷积骨干多尺度特征提取
FPN特征融合
双分支输出头
分数图+几何特征图
阈值过滤与NMS
输出多方向文本边界框

2.2.3 算法特性

维度
核心特性
年份
2017年
关键思想
FCN全卷积网络直接预测像素级文本几何边界
核心优点
检测速度快,支持旋转、多方向文本,对自然场景、摄像头拍摄图像适配性强
核心缺点
固定阈值二值化,模糊边界易粘连,低对比度场景漏检率高
适合场景
自然场景文本、手机拍摄文档、倾斜文本、非标准化场景

2.3 DBNet:可微二值化的通用文本检测标杆算法

DBNet(Differentiable Binarization Network)于2020年AAAI会议发布,针对EAST固定阈值二值化的致命缺陷,提出了可微二值化(DB)模块,将原本不可微的二值化操作融入网络端到端训练,是目前工业界通用OCR检测的标杆方案。

2.3.1 核心原理与公式

  1. 1. 核心痛点解决
    传统文本检测的二值化,采用固定阈值的阶跃函数,该函数不可微,无法融入网络训练,只能放在后处理环节,固定阈值对复杂场景的适配性极差:

    其中为分割网络输出的概率图,为人工设定的固定阈值。DBNet的核心突破,是设计了一个与阶跃函数高度近似的可微sigmoid函数,实现了端到端的二值化学习:

    其中:

    该函数与标准二值化的输出高度近似,但全程可微,可与分割网络联合优化,让网络自动学习每个像素的最优二值化阈值,彻底解决了固定阈值的边界模糊、字符粘连、漏检问题。

    • • :网络预测的文本概率图;
    • • :网络自适应学习的像素级阈值图,每个像素都有专属阈值,无需人工设定;
    • • :梯度放大系数,默认取值50,用于放大函数梯度,加速网络收敛。
  2. 2. 训练与推理逻辑
    • • 训练阶段:对概率图、阈值图、近似二值图同时做监督训练,共享相同的二值化标签;
    • • 推理阶段:仅需概率图经过简单阈值二值化即可得到文本区域,无需阈值图,无额外推理耗时。

2.3.2 完整算法流程图

输入图像
ResNet+FPN多尺度特征提取
特征融合
双分支预测头
概率图P + 阈值图T
可微二值化DB模块
训练:三分支联合监督
推理:概率图二值化+后处理
输出任意形状文本边界框

2.3.3 算法特性

维度
核心特性
年份
2019年
关键思想
可微二值化DB模块,将二值化转为可学习环节
核心优点
检测精度高,端到端可训练,支持任意形状(水平/倾斜/弯曲)文本,复杂场景、小文本、模糊文本适配性极强
核心缺点
模型参数较多,初次加载速度慢,对边缘设备算力有一定要求
适合场景
通用OCR全场景、复杂文档、弯曲文本、密集小文本、低质量扫描件

2.4 DBNet++:复杂场景自适应优化升级方案

DBNet++于2022年发布,是DBNet的官方升级版本,针对极端复杂场景的核心痛点做了两大关键优化:

  1. 1. 自适应多尺度融合(ASF模块):抛弃DBNet简单的特征加权求和,采用自适应门控机制动态学习不同尺度特征的权重,公式为:

    实现了不同字体大小下的自适应感受野选择,解决了小文字与大文字的尺度不一致问题,大幅提升了极小文本、密集文本的检测召回率。
  2. 2. 像素级自适应阈值学习:将DBNet的全局共享阈值,优化为逐像素的阈值学习,公式为:

    每个像素都能根据自身纹理、背景、光照情况自适应调整阈值,进一步解决了边界模糊、厚边框、漏边框的问题。

2.5 三大核心检测算法对比

算法
CTPN
EAST
DBNet
年份
2016
2017
2019
关键思想
基于anchor + RNN连接proposal
FCN直接预测几何边界
可微二值化DB模块
优点
精准、稳定
快、支持旋转
精度高、端到端
缺点
只能水平文本,实用性差
模糊边界易粘连
初次加载慢、参数多
适合场景
票据、扫描件
摄像头、自然场景
复杂场景、通用检测

3 文本识别CRNN算法底层原理全解

文本识别的核心任务,是将检测到的文本区域图像,转化为有序的文本序列,解决「文字是什么」的问题。CRNN(Convolutional Recurrent Neural Network)是首个将CNN、RNN、CTC三者结合的端到端文本识别模型,彻底解决了传统OCR字符切分的瓶颈问题,是工业界文本识别的经典标杆。

其核心架构可概括为:CRNN = CNN视觉特征提取 + RNN序列上下文建模 + CTC序列对齐解码,三大模块各司其职,共同实现了可变长度输入、无需字符切分、端到端训练的文本识别。

3.1 CRNN整体架构与端到端设计逻辑

CRNN的核心设计,是针对文本的「图像+序列」双重特性,将视觉特征提取、序列上下文建模、序列对齐解码三大环节有机整合,整个模型无需对文本图像做字符级位置标注,仅需整行文本的标注即可完成训练,彻底摆脱了传统OCR的字符切分依赖。

CRNN完整端到端流程图

输入文本区域图像
CNN视觉特征提取
特征转换为时序序列
Bi-LSTM上下文建模
字符概率分布输出
CTC序列对齐与解码
输出最终文本序列

3.2 CNN卷积层:视觉特征提取模块

3.2.1 核心目标

将二维的文本图像,转化为符合RNN输入要求的一维时序特征序列,同时保留文本的笔画、形状、边缘等关键视觉特征,为后续序列建模提供基础。

3.2.2 标准结构设计

层序号
层类型
卷积核
步长
填充
输出尺寸(输入为3×32×100)
1
卷积+ReLU
3×3
1
1
64×32×100
2
最大池化
2×2
2
0
64×16×50
3
卷积+ReLU
3×3
1
1
128×16×50
4
最大池化
2×2
2
0
128×8×25
5
卷积+ReLU
3×3
1
1
256×8×25
6
卷积+ReLU
3×3
1
1
256×8×25
7
最大池化
2×2
1
0
256×8×25
8
卷积+ReLU
3×3
1
1
512×8×25
9
批量归一化
-
-
-
512×8×25
10
卷积+ReLU
3×3
1
1
512×8×25
11
批量归一化
-
-
-
512×8×25
12
最大池化
2×2
1
0
512×8×25
13
卷积+ReLU
2×2
1
0
512×1×25

3.2.3 核心设计细节

  1. 1. 输入规范:默认输入图像的高度固定为32px,宽度可任意变化,无需提前统一宽度,完美适配不同长度的文本行;
  2. 2. 池化策略:所有池化层仅在高度方向做下采样,宽度方向尽可能保留序列信息,避免文本的横向特征丢失;
  3. 3. 特征转换:经过上述卷积层后,输出特征图尺寸为「512×1×25」,在高度维度展平后,得到25个时间步、每个时间步512维的时序特征序列,每个时间步对应原图中4px宽度的横向区域,完美适配文本从左到右的序列特性。

3.3 Bi-LSTM循环层:序列上下文建模模块

3.3.1 核心目标

捕捉文本序列的上下文依赖,解决仅靠CNN局部视觉特征无法区分形近字、模糊字符的问题。例如单独一个模糊的字符“0”,无法判断是数字0还是字母O,但结合上下文“2024”,就能明确是数字0,这就是上下文建模的核心价值。

3.3.2 结构设计与原理

  1. 1. 网络选型:采用2层双向LSTM(Bi-LSTM)结构,隐藏层维度为256。相比单向LSTM,双向LSTM会同时从左到右、从右到左扫描特征序列,同时捕捉前文和后文的上下文信息,建模能力更强,尤其适合长文本识别;
  2. 2. 输出逻辑:Bi-LSTM接收CNN输出的时序特征序列后,输出每个时间步的上下文特征表示,再经过全连接层,最终输出维度为「时间步长度×字符集大小」的概率分布;
  3. 3. 字符集定义:字符集包含所有需要识别的汉字、字母、数字、标点符号,以及CTC专用的blank空白符,空白符是实现序列对齐的核心。

3.4 CTC转录层:序列对齐与端到端训练核心

CTC(Connectionist Temporal Classification,连接时序分类)是CRNN实现端到端训练的核心,其核心作用是解决输入特征序列与输出标签序列长度不匹配的问题,无需字符级位置标注,彻底摆脱了传统OCR的字符切分环节。

3.4.1 核心痛点

输入一张包含“hello”的文本图像,经过CNN后输出的特征序列长度为25,而真实标签序列的长度仅为5,两者长度不匹配,无法直接计算损失函数。传统方案需要提前对字符做切分,给每个字符标注位置,标注成本极高,且切分误差会直接影响识别效果。

3.4.2 核心规则与原理

CTC的核心创新,是引入了blank空白符,通过两条固定规则,实现了不定长序列的自动对齐,无需提前标注字符位置:

  1. 1. 规则1:连续重复的字符,仅保留一个;
  2. 2. 规则2:去除所有blank空白符。

示例:模型输出的序列为「- h h _ e e l _ l o o -」,其中「-」和「_」是blank空白符,经过CTC规则解码后,最终输出「hello」,完美实现了长输入序列到短标签序列的映射。

3.4.3 核心损失函数

CTC损失通过前向-后向算法,计算所有可能的对齐路径的概率和,最大化真实标签序列的对数似然概率,公式为:

其中为输入文本图像,为真实标签序列,为所有能映射到的对齐路径的概率和。

3.5 CRNN算法特性

维度
核心特性
核心优点
端到端训练,无需字符切分,支持可变长度文本,对印刷体识别精度极高,部署成熟度高,推理速度快
核心缺点
仅依赖局部序列特征,全局语义理解能力弱,形近字区分能力差,多语言泛化能力不足,手写体适配性差
适合场景
印刷体文本识别、票据识别、文档数字化、标准化场景文本识别

4 DBNet+CRNN工业级OCR全链路整合

DBNet+CRNN是传统深度学习OCR的工业级标杆组合,完整覆盖从图像输入到结构化文本输出的全流程,是目前绝大多数企业级OCR系统的核心架构。

工业级全链路流程图

输入原始图像
图像预处理
DBNet文本检测
文本区域裁剪与校正
CRNN文本识别
文本拼接与结构化输出

5 两阶段经典范式的核心局限性

DBNet+CRNN的两阶段架构,虽为工业界主流方案,但仍存在四大天然的核心局限性,也是后续生成式OCR的核心优化方向:

  1. 1. 结构割裂,误差无法联合优化:DBNet和CRNN独立训练,视觉特征无法共享,存在计算冗余;检测环节的误差会直接传递到识别环节,两个模块无法联合优化,无法实现端到端的全局误差修正。
  2. 2. 复杂版面适配能力差:对嵌套图片、表格、竖排文字、多列排版的复杂文档,检测框容易错位、漏检;需要额外增加版面分析模块,导致处理管线更长,错误累积更多。
  3. 3. 多语言与跨字体泛化能力不足:每种语言、字体都需要单独微调训练,对艺术字、手写体、低资源小语种的适配能力差,字体变化容易导致识别率大幅度下降。
  4. 4. 全局上下文理解能力弱:CRNN仅依赖局部序列特征,无法真正理解全局语义,对形近字(O与0、I与1、l与1)的区分能力差,缺少基于语义的自动校正机制,无法解决上下文相关的识别错误。

6 总结与技术演进方向

DBNet+CRNN的两阶段范式,彻底重构了传统OCR的技术架构,用端到端的深度学习方案,解决了传统五阶段流水线的误差传递、字符切分瓶颈、场景适配性差等核心问题,是OCR技术发展史上的里程碑。即便在多模态大模型普及的今天,这套方案依然是绝大多数企业OCR落地的首选,也是理解OCR底层逻辑的最佳入口。

随着Transformer和多模态大模型的发展,OCR技术正在从「纯字符识别」,向「识别+理解」的生成式范式演进:

  • • TrOCR采用ViT Encoder+文本Decoder的纯Transformer架构,将检测与识别合并为单阶段端到端流程,识别精度大幅超越CRNN;
  • • LayoutLMv3融合视觉、文本、位置三模态特征,实现了从「识字」到「理解文档版式与语义」的跨越;
  • • Donut实现了从图像直接到JSON结构化数据的生成,彻底摆脱了传统OCR的检测-识别两阶段架构。

但无论技术如何演进,DBNet的可微二值化思想、CRNN的序列建模与CTC对齐逻辑,依然是OCR技术的核心底层基础,是所有从事OCR相关开发的工程师必须吃透的核心知识点。


参考文献

  1. 1. 《Connectionist Text Proposal Network for Scene Text Detection》(2016)
  2. 2. 《EAST: An Efficient and Accurate Scene Text Detector》(2017)
  3. 3. 《Real-time Scene Text Detection with Differentiable Binarization》(2020)
  4. 4. 《An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition》(2015)

—THE END—

欢迎同学添加小助手,加入人工智能圈交流群

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-29 20:39:14 HTTP/2.0 GET : https://67808.cn/a/484957.html
  2. 运行时间 : 0.101900s [ 吞吐率:9.81req/s ] 内存消耗:4,408.05kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=31ad32300c250309b2e9a7a1fda5b9ed
  1. /yingpanguazai/ssd/ssd1/www/no.67808.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/no.67808.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/no.67808.cn/runtime/temp/6df755f970a38e704c5414acbc6e8bcd.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000709s ] mysql:host=127.0.0.1;port=3306;dbname=no_67808;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001033s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000354s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000288s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000657s ]
  6. SELECT * FROM `set` [ RunTime:0.000275s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000690s ]
  8. SELECT * FROM `article` WHERE `id` = 484957 LIMIT 1 [ RunTime:0.000578s ]
  9. UPDATE `article` SET `lasttime` = 1777466354 WHERE `id` = 484957 [ RunTime:0.013282s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000335s ]
  11. SELECT * FROM `article` WHERE `id` < 484957 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000638s ]
  12. SELECT * FROM `article` WHERE `id` > 484957 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000467s ]
  13. SELECT * FROM `article` WHERE `id` < 484957 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005371s ]
  14. SELECT * FROM `article` WHERE `id` < 484957 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007054s ]
  15. SELECT * FROM `article` WHERE `id` < 484957 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002707s ]
0.103558s