当前位置:首页>python>红外小目标跟踪python完整Pipeline实现

红外小目标跟踪python完整Pipeline实现

  • 2026-08-21 08:04:50
红外小目标跟踪python完整Pipeline实现

下面给出一套可直接运行的 Python 原型实现,覆盖预处理增强、传统小目标检测、纯运动跟踪、简易TBD、分级Pipeline全流程,基于 OpenCV + NumPy + SciPy 实现,适合快速验证红外极小目标的跟踪效果。

一、环境依赖安装

bashpip   install opencv-python numpy scipy

二、模块 1:红外图像预处理与小目标检测

对应方案中的「传统算法兜底检测」,实现顶帽变换背景抑制 + LCM 局部对比度检测,专门提取 3~10 像素的高亮小目标。

pythonimport   cv2   import numpy as np   from scipy.optimize import linear_sum_assignment   # ======================   # 1. 红外图像预处理   # ======================   def preprocess_infrared(img):"""红外图像预处理:灰度化+背景抑制+噪声过滤"""if len(img.shape) == 3:gray = cv2.cvtColor(img,   cv2.COLOR_BGR2GRAY)else:gray = img.copy()高斯滤波去除椒盐噪声gray = cv2.GaussianBlur(gray, (3,   3), 0)return gray   # ======================   # 2. 顶帽变换提取高亮小目标   # ======================   def tophat_detect(gray, kernel_size=9):"""形态学顶帽变换:提取比背景亮的小目标,抑制大尺度背景"""kernel =   cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (kernel_size, kernel_size))tophat = cv2.morphologyEx(gray,   cv2.MORPH_TOPHAT, kernel)阈值分割得到二值图_, binary = cv2.threshold(tophat,   0, 255, cv2.THRESH_OTSU)return binary   # ======================   # 3. LCM局部对比度检测(红外小目标经典算法)   # ======================   def lcm_detect(gray, win_size=5, bg_win_size=15, threshold=2.0):"""局部对比度度量LCM:计算每个像素与周围背景的对比度亮目标对比度高,噪声/背景对比度低"""gray_float =   gray.astype(np.float32)计算局部背景均值和标准差bg_mean = cv2.blur(gray_float,   (bg_win_size, bg_win_size))bg_sq_mean = cv2.blur(gray_float **   2, (bg_win_size, bg_win_size))bg_std =   np.sqrt(np.maximum(bg_sq_mean - bg_mean ** 2, 1e-6))计算局部对比度图lcm_map = (gray_float - bg_mean) /   bg_stdlcm_map[lcm_map < threshold] =   0低于阈值的背景置零非极大值抑制,提取局部峰值点lcm_map = cv2.dilate(lcm_map,   np.ones((3,3), np.uint8))binary = np.uint8(lcm_map > 0) *   255return binary   # ======================   # 4. 从二值图提取候选目标框   # ======================   def get_detections(binary, min_area=2, max_area=100):"""提取连通域,返回检测框列表 [x,y,w,h]"""contours, _ =   cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)detections = []for cnt in contours:area = cv2.contourArea(cnt)if min_area < area <   max_area:x, y, w, h =   cv2.boundingRect(cnt)detections.append([x, y, w,   h])return np.array(detections) if   len(detections) > 0 else np.empty((0, 4))

三、模块 2:纯运动驱动跟踪器(卡尔曼 + 匈牙利)

对应方案中的「纯运动跟踪」,完全放弃表观特征,只用位置 / 速度建模,是极小目标跟踪的核心。实现简化版 SORT 算法,仅依赖卡尔曼滤波运动预测 + 匈牙利算法帧间匹配。

python#   ======================   # 单个轨迹的卡尔曼滤波器   # ======================   class KalmanTrack:def __init__(self, bbox):状态向量:[x,   y, vx, vy]中心坐标+速度self.kf = cv2.KalmanFilter(4,   2)状态转移矩阵(匀速模型)self.kf.transitionMatrix =   np.array([[1, 0, 1, 0],[0, 1, 0, 1],[0, 0, 1, 0],[0, 0, 0, 1]], np.float32)测量矩阵self.kf.measurementMatrix =   np.array([[1, 0, 0, 0],[0, 1, 0, 0]], np.float32)初始化状态x, y, w, h = bboxself.kf.statePost =   np.array([[x + w/2], [y + h/2], [0], [0]], np.float32)过程噪声协方差self.kf.processNoiseCov =   np.eye(4, dtype=np.float32) * 0.03测量噪声协方差self.kf.measurementNoiseCov =   np.eye(2, dtype=np.float32) * 1.0self.time_since_update = 0未更新帧数self.id = 0self.hits = 0匹配成功次数self.is_confirmed = False是否为有效轨迹def predict(self):"""预测下一帧位置"""pred = self.kf.predict()self.time_since_update += 1return pred[:2].flatten()返回预测的中心坐标 [x, y]def update(self, bbox):"""用检测结果更新"""x, y, w, h = bboxmeasurement = np.array([[x +   w/2], [y + h/2]], np.float32)self.kf.correct(measurement)self.time_since_update = 0self.hits += 1连续匹配3帧以上确认为有效轨迹if self.hits >= 3:self.is_confirmed = Truedef get_bbox(self, default_size=6):"""获取当前目标框(极小目标默认固定尺寸)"""x, y =   self.kf.statePost[:2].flatten()return [int(x -   default_size/2), int(y - default_size/2), default_size, default_size]   # ======================   # 计算IOU(用于匹配代价)   # ======================   def bbox_iou(box1, box2):x1, y1, w1, h1 = box1x2, y2, w2, h2 = box2inter_x1 = max(x1, x2)inter_y1 = max(y1, y2)inter_x2 = min(x1 + w1, x2 + w2)inter_y2 = min(y1 + h1, y2 + h2)inter_area = max(0, inter_x2 -   inter_x1) * max(0, inter_y2 - inter_y1)union_area = w1 * h1 + w2 * h2 -   inter_areareturn inter_area / (union_area +   1e-6)   # ======================   # 纯运动跟踪器主类   # ======================   class MotionTracker:def __init__(self, max_age=10,   min_hits=3, iou_threshold=0.1):self.tracks = []self.next_id = 1self.max_age = max_age最大丢失帧数self.min_hits = min_hits确认轨迹最小匹配次数self.iou_threshold =   iou_thresholddef update(self, detections):# 1. 所有轨迹先做预测for track in self.tracks:track.predict()# 2. 计算代价矩阵(IOU越大代价越小)pred_boxes = [t.get_bbox() for   t in self.tracks]det_boxes = detections.tolist()   if len(detections) > 0 else []if len(pred_boxes) > 0 and   len(det_boxes) > 0:cost_matrix =   np.zeros((len(pred_boxes), len(det_boxes)))for i, pred in   enumerate(pred_boxes):for j, det in   enumerate(det_boxes):cost_matrix[i, j] =   1 - bbox_iou(pred, det)匈牙利算法匹配row_ind, col_ind =   linear_sum_assignment(cost_matrix)matched_trks = set()matched_dets = set()for i, j in zip(row_ind,   col_ind):if cost_matrix[i, j]   < (1 - self.iou_threshold):self.tracks[i].update(det_boxes[j])matched_trks.add(i)matched_dets.add(j)unmatched_dets = [j for j   in range(len(det_boxes)) if j not in matched_dets]else:unmatched_dets =   list(range(len(det_boxes)))# 3. 未匹配的检测新建轨迹for j in unmatched_dets:new_track =   KalmanTrack(det_boxes[j])new_track.id = self.next_idself.next_id += 1self.tracks.append(new_track)# 4. 删除长时间丢失的轨迹self.tracks = [t for t in   self.tracks if t.time_since_update < self.max_age]# 5. 返回已确认的轨迹return [t.get_bbox() + [t.id]   for t in self.tracks if t.is_confirmed]

四、模块 3:简易版检测前跟踪(TBD

对应方案中的「多帧能量累积」,通过滑动窗口时域加权累加提升极弱目标的信噪比,适合单帧完全看不见的 2~5 像素目标。

pythonclass   SimpleTBD:def __init__(self, frame_num=12,   decay=0.88):""":param frame_num: 累积帧数:param decay: 历史帧衰减系数,越新的帧权重越高"""self.frame_num = frame_numself.decay = decayself.frame_buffer = []def update(self, gray_frame):"""输入单帧灰度图,输出多帧累积增强图"""self.frame_buffer.append(gray_frame.astype(np.float32))if len(self.frame_buffer) >   self.frame_num:self.frame_buffer.pop(0)加权累积,越新的帧权重越高acc_map =   np.zeros_like(gray_frame, dtype=np.float32)total_weight = 0.0for idx, frame in   enumerate(reversed(self.frame_buffer)):weight = self.decay ** idxacc_map += frame * weighttotal_weight += weightacc_map = acc_map /   total_weight归一化到0-255acc_map =   cv2.normalize(acc_map, None, 0, 255, cv2.NORM_MINMAX).astype(np.uint8)return acc_map

五、模块 4:分级跟踪完整 Pipeline

整合上述所有模块,实现「超远发现中距跟稳近距识别」的三级策略。

pythonclass   InfraredSmallTargetPipeline:def __init__(self):self.tbd =   SimpleTBD(frame_num=12, decay=0.88)self.tracker =   MotionTracker(max_age=10, min_hits=3, iou_threshold=0.1)分级阈值(单位:像素)self.super_far_thresh = 10超远距离:<10像素self.mid_thresh = 30中距离:10~30像素近距离可接入YOLOAI检测模型,此处用传统检测代替演示def process_frame(self, img):"""处理单帧图像:param img: 输入红外图像:return: 可视化图像、跟踪结果"""# 1. 预处理gray = preprocess_infrared(img)# 2. 超远距离:TBD多帧累积 + LCM检测acc_map = self.tbd.update(gray)lcm_bin = lcm_detect(acc_map,   win_size=5, bg_win_size=15, threshold=1.8)detections =   get_detections(lcm_bin, min_area=2, max_area=200)# 3. 运动跟踪tracks =   self.tracker.update(detections)# 4. 可视化vis = cv2.cvtColor(gray,   cv2.COLOR_GRAY2BGR)画检测框(黄色)for x, y, w, h in detections:cv2.rectangle(vis, (x, y), (x+w, y+h), (0,   255, 255), 1)画跟踪轨迹(绿色,带IDfor x, y, w, h, track_id in   tracks:cv2.rectangle(vis, (x, y),   (x+w, y+h), (0, 255, 0), 2)cv2.putText(vis,   f"ID:{track_id}", (x, y-5), cv2.FONT_HERSHEY_SIMPLEX,   0.4, (0, 255, 0), 1)return vis, tracks   # ======================   # 运行示例:处理视频/摄像头   # ======================   if __name__ == "__main__":替换为你的红外视频路径,0表示调用摄像头cap = cv2.VideoCapture("infrared_video.mp4")pipeline =   InfraredSmallTargetPipeline()while True:ret, frame = cap.read()if not ret:breakvis_frame, tracks =   pipeline.process_frame(frame)cv2.imshow("Infrared Small   Target Tracking", vis_frame)if cv2.waitKey(1) & 0xFF ==   ord('q'):breakcap.release()cv2.destroyAllWindows()

六、关键调参与工程化优化

1. 核心参数调优

LCM 阈值:场景越暗、目标越弱,阈值越低,建议1.5~3.0 之间调整

TBD 累积帧数:目标越弱、帧数越多,延迟越高,建议 8~16 

卡尔曼过程噪声:无人机机动越强,噪声系数越大,建议 0.01~0.1

轨迹确认帧数:误检多就调高(3~5 帧),要求响应快就调低

2. 工程落地优化方向

1.性能加速:传统算法用 CUDA 重写,TBD 动态规划优化,嵌入式端可移植到 FPGA/NPU

2.严格 TBD 实现:当前是时域累加简化版,正式落地可替换为动态规划TBD,沿速度维度搜索最优轨迹,检测灵敏度更高

3.运动约束过滤:叠加速度、加速度阈值,过滤飞鸟、昆虫等不规则运动的假目标

4.AI 模型接入:近距离(>30 像素)接入 YOLO 等检测模型,替换传统检测,输出目标类别

5.多目标交叉优化:目标密集时加入马氏距离匹配、轨迹平滑处理,减少跟丢跟错

最新文章

随机文章

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