读一下这篇文献 并复现代码
作成日: 2026年1月10日
作成日: 2026年1月10日
读一下这篇文献 并复现代码
当然可以!🙂
不过我现在还没看到你说的“这篇文献”和对应的代码/链接,所以需要你先把材料发我,我才能 阅读文献 + 复现代码。
请你任选一种方式提供:
如果不方便上传,你可以把:
收到材料后,我可以帮你完成:
你把论文(PDF/链接)发我就行,我马上开始读并给出复现计划,然后一步步把代码跑通。
可以,我先按你上传的这篇论文把“能复现的部分”直接落成一套可跑的基线代码(CNN–GRU 预测 GNSS 增量 + IRAKF 自适应量测噪声 + 15 状态误差卡尔曼的接口)。但要做到“复现到论文表 II/III/VI/VII 那种数值”,还必须有原始路测数据(IMU+GNSS+参考轨迹),论文里没有公开数据与完整实现细节,所以我这里给的是结构严格对齐论文流程的复现骨架,你把数据对上字段就能训练/跑通并对比。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
论文核心闭环是:
{f^b_ib, ω^b_ib, v^n, yaw},输出是 GNSS 位置增量 ΔP_GNSS(用增量而不是 GNSS-INS 差值,论文论证增量噪声更小)。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)Z_k = r̂_gnss - r_ins(位置量测)。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)R̂_k,再按论文的 trace 比例构造自适应因子 α_k,得到 R_k = α_k R_predict(只在 outage 期间)。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)你至少要有(按时间对齐):
f_bib (ax,ay,az) 与角速度或角增量 w_bib (gx,gy,gz),频率 100/200 Hz 都行v_n(vn,ve,vd) 与航向角 yaw(论文说 roll/pitch 变化小,关键是 yaw)(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)P_gnss(最好 ENU 或 NED 平面 + 高程,或经纬高也行但你得统一坐标)构造样本方式(论文图 5):每个 GNSS 周期(1 秒)取这一秒内 N 条 IMU/SINS 序列,拼成 N × 10:
[f(3), w(3), v(3), yaw(1)] => 10 维,输出是 ΔP_gnss(k)=P_gnss(k)-P_gnss(k-1)(通常 3 维)。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
下面代码能直接保存成一个小工程跑;你只需要把
load_your_data()换成你自己的读数逻辑,并确保对齐成我约定的张量形状即可。
bashpip install torch numpy
python# model.py import torch import torch.nn as nn class CNNGRU(nn.Module): """ Input: (B, N, 10) where N = IMU samples per GNSS second Output: (B, 3) GNSS position increment ΔP (e.g., ENU or NED) """ def __init__(self, in_feats=10, conv_channels=32, gru_hidden=64, gru_layers=2, dropout=0.1, out_dim=3): super().__init__() # Conv1d expects (B, C, L) => treat features as channels, time as length self.conv = nn.Conv1d(in_channels=in_feats, out_channels=conv_channels, kernel_size=2, stride=1) self.relu = nn.ReLU() self.pool = nn.MaxPool1d(kernel_size=3) self.gru = nn.GRU( input_size=conv_channels, hidden_size=gru_hidden, num_layers=gru_layers, batch_first=True, dropout=dropout if gru_layers > 1 else 0.0, ) self.fc = nn.Sequential( nn.Linear(gru_hidden, gru_hidden), nn.ReLU(), nn.Linear(gru_hidden, out_dim), ) def forward(self, x): # x: (B, N, 10) -> (B, 10, N) x = x.transpose(1, 2) x = self.pool(self.relu(self.conv(x))) # (B, conv_channels, L') x = x.transpose(1, 2) # (B, L', conv_channels) out, _ = self.gru(x) # (B, L', gru_hidden) y = self.fc(out[:, -1, :]) # last step return y
python# irakf.py import numpy as np from collections import deque class IRAKF_R_Estimator: """ Measurement noise covariance estimator for GNSS pseudo-measurements during outages. Implements the paper's idea: V_k = Z_k - H X̂_{k|k-1} R̂_k = (1/m) Σ V V^T - H P_{k|k-1} H^T α_k = 1 if tr(R̂_k) <= tr(R_predict) else tr(R̂_k)/tr(R_predict) R_k = α_k * R_predict """ def __init__(self, m_window: int, R_predict: np.ndarray): self.m = int(m_window) self.R_predict = R_predict.copy() self.buf = deque(maxlen=self.m) def update(self, v_k: np.ndarray, H: np.ndarray, P_pred: np.ndarray) -> np.ndarray: """ v_k: residual (z - H x_pred), shape (meas_dim,) H: measurement matrix, shape (meas_dim, state_dim) P_pred: predicted covariance, shape (state_dim, state_dim) """ v_k = v_k.reshape(-1, 1) self.buf.append(v_k) # Not enough window yet: fall back to R_predict if len(self.buf) < 2: return self.R_predict.copy() # (1/m) Σ v v^T S = np.zeros((v_k.shape[0], v_k.shape[0]), dtype=float) for vv in self.buf: S += (vv @ vv.T) S /= len(self.buf) R_hat = S - (H @ P_pred @ H.T) tr_Rhat = float(np.trace(R_hat)) tr_Rpred = float(np.trace(self.R_predict)) # Guard: if trace is non-positive (numerical / model mismatch), don't shrink too aggressively if tr_Rpred <= 1e-12: return self.R_predict.copy() alpha = 1.0 if tr_Rhat <= tr_Rpred else (tr_Rhat / tr_Rpred) # Ensure alpha >= 1 to avoid over-trusting noisy pseudo-measurements alpha = max(1.0, alpha) return alpha * self.R_predict
python# kf15.py import numpy as np def kf_predict(x, P, Phi, Q, G=None): """ x_k|k-1 = Phi x_{k-1|k-1} P_k|k-1 = Phi P Phi^T + (G Q G^T) or + Q """ x_pred = Phi @ x if G is None: P_pred = Phi @ P @ Phi.T + Q else: P_pred = Phi @ P @ Phi.T + G @ Q @ G.T return x_pred, P_pred def kf_update(x_pred, P_pred, z, H, R): """ Standard KF update. """ z = z.reshape(-1, 1) y = z - (H @ x_pred) # residual S = H @ P_pred @ H.T + R K = P_pred @ H.T @ np.linalg.inv(S) x_upd = x_pred + K @ y I = np.eye(P_pred.shape[0]) P_upd = (I - K @ H) @ P_pred return x_upd, P_upd, y
python# train_and_run.py import numpy as np import torch from torch.utils.data import Dataset, DataLoader from model import CNNGRU from irakf import IRAKF_R_Estimator from kf15 import kf_predict, kf_update class IMUGNSSDataset(Dataset): def __init__(self, X, Y): """ X: (M, N, 10) Y: (M, 3) ΔP_gnss """ self.X = torch.tensor(X, dtype=torch.float32) self.Y = torch.tensor(Y, dtype=torch.float32) def __len__(self): return self.X.shape[0] def __getitem__(self, i): return self.X[i], self.Y[i] def load_your_data(): """ TODO: Implement this. Return: X_train: (M, N, 10) Y_train: (M, 3) X_test_outage: (T, N, 10) # outage segment inputs P_gnss_init: (3,) # last valid GNSS position before outage P_ins_outage: (T, 3) # INS position during outage (for z = p_gnss_hat - p_ins) (optional) ref positions for evaluation """ raise NotImplementedError def train_model(X_train, Y_train, device="cpu", epochs=20, batch_size=64, lr=1e-3): ds = IMUGNSSDataset(X_train, Y_train) dl = DataLoader(ds, batch_size=batch_size, shuffle=True, drop_last=False) model = CNNGRU() model.to(device) opt = torch.optim.Adam(model.parameters(), lr=lr) loss_fn = torch.nn.MSELoss() model.train() for ep in range(1, epochs+1): total = 0.0 for xb, yb in dl: xb, yb = xb.to(device), yb.to(device) pred = model(xb) loss = loss_fn(pred, yb) opt.zero_grad() loss.backward() opt.step() total += float(loss.item()) * xb.size(0) print(f"epoch {ep:02d} loss={total/len(ds):.6f}") return model @torch.no_grad() def predict_gnss_positions(model, X_outage, P_gnss_init, device="cpu"): """ Predict ΔP each second then accumulate to positions. X_outage: (T, N, 10) returns P_hat: (T, 3) """ model.eval() X = torch.tensor(X_outage, dtype=torch.float32).to(device) dP = model(X).cpu().numpy() # (T, 3) P = np.zeros_like(dP) p = P_gnss_init.astype(float).copy() for t in range(dP.shape[0]): p = p + dP[t] P[t] = p return P def run_fusion(P_hat_gnss, P_ins, use_irakf=True, m_window=10, sigma_predict=5.0): """ Minimal fusion loop with position measurement only. state: 15x1 error-state z_k: (3,1) = P_hat_gnss - P_ins H: selects position error: [I3, 0...] """ T = P_hat_gnss.shape[0] state_dim = 15 meas_dim = 3 # Placeholder dynamics (you should replace Phi,Q with your SINS error model discretization) Phi = np.eye(state_dim) Q = np.eye(state_dim) * 1e-4 H = np.zeros((meas_dim, state_dim)) H[:, 0:3] = np.eye(3) x = np.zeros((state_dim, 1)) P = np.eye(state_dim) * 1.0 R_predict = np.eye(3) * (sigma_predict ** 2) irakf = IRAKF_R_Estimator(m_window=m_window, R_predict=R_predict) xs = [] for k in range(T): # Predict x_pred, P_pred = kf_predict(x, P, Phi, Q) # Measurement z = (P_hat_gnss[k] - P_ins[k]).reshape(3, 1) # Residual for IRAKF v = (z - H @ x_pred).reshape(3,) Rk = R_predict if use_irakf: Rk = irakf.update(v_k=v, H=H, P_pred=P_pred) # Update x, P, _ = kf_update(x_pred, P_pred, z, H, Rk) xs.append(x.copy()) return np.stack(xs, axis=0) # (T, 15, 1) def main(): device = "cuda" if torch.cuda.is_available() else "cpu" X_train, Y_train, X_outage, P_gnss_init, P_ins_outage = load_your_data() model = train_model(X_train, Y_train, device=device, epochs=30) P_hat = predict_gnss_positions(model, X_outage, P_gnss_init, device=device) # KF vs IRAKF对比 x_kf = run_fusion(P_hat, P_ins_outage, use_irakf=False) x_irakf = run_fusion(P_hat, P_ins_outage, use_irakf=True) print("done") if __name__ == "__main__": main()
论文的数值复现主要差在这几块(论文没给出全部工程细节):
Φ_k,k-1 / Q / G 的具体离散化、IMU 标定、初始对准等会强烈影响融合结果。论文只给了框架与 15 状态形式,没有把完整实现展开到可逐行照抄。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)把下面任意一种给我,我就能继续把骨架补齐到“可复现实验图/表”:
我会把:
N×10)直接给你跑通的脚本和结果。
你看一下这个cnn-gru模型 我想在此基础上做个改进 使得更有创新性 你有何意见
当然可以。我先基于你这篇论文里 CNN–GRU 的原始设计(Conv1D kernel=2、stride=1 + MaxPool1D size=3 + 多层 GRU + FC)和它在系统中的角色(预测 GNSS 位置增量 ΔP,再累加得到伪 GNSS 位置,最后进 IRAKF/KF 融合)来给你一套**“更有创新性、且容易写成论文点”的改进方向**。下面每个方向我都会说明:为什么有价值、怎么改、怎么验证。
(模型结构和输入输出设定来自论文第 II-C 与 Fig.2、Fig.5:输入是 1 秒内的 {f_bib, ω_bib, v_n, yaw} 序列特征,输出 ΔP_GNSS,并在 outage 期生成伪量测;并且 IRAKF 用残差窗口估计 R 并用 trace 缩放。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf))
论文用 CNN 做局部特征提取 + GRU 做时序建模,这个结构本身已经是一个比较标准的时序回归组合(论文也引用了类似 CNN-GRU 的导航应用工作)。它的主要不足(也是你可以“创新”的入口):
把输出从 “只预测 GNSS 位置增量” 扩展为同时预测:
论文自己就指出:速度误差不够好,是因为训练目标只关注位置。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
所以你做多任务学习,是非常“顺理成章 + 有理论依据”的创新延伸。
head_P, head_V, head_yaw现在 IRAKF 是在滤波端用残差窗口估计 R 并做 trace 缩放(算法 1)。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
你可以让网络直接输出:
也就是“网络预测 + 置信度”,让 KF 的 R 来自网络输出,而 IRAKF 只作为 safety net 或做二次调整。
让网络输出 μ 和 log σ²,用高斯负对数似然做损失:
这样网络会学会:困难样本(转弯、多路径)自动给更大的 σ²。
原模型的 Conv1D kernel=2 很浅,感受野很小。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
而 outage 时预测误差往往来自 一段时间内动作模式(加减速、转向),所以更大的感受野有帮助。
GRU 主要靠隐状态记忆,但转弯瞬间的关键片段可能被稀释。论文也强调转弯对误差影响大。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
你可以在 GRU 输出上加:
论文其实提示你“转弯/直行两类行为误差分布不同”。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
你可以:
创新点非常明确:
“面向运动模式的条件化预测,提高复杂场景泛化”
✅ 多任务学习 + 网络不确定性输出
✅ TCN/多尺度卷积 + Attention
✅ MoE / 运动状态条件化
你只要告诉我你更想走哪条路线(比如 MTL+uncertainty 或 TCN+attention),我可以直接给你:
你回答后,我会给你最合适、最能“写成创新贡献”的改进方案和代码框架。
找一下有没有类似的近三年的文献 也是GNSS-imu神经网络辅助预测的 最好列出文献引用
下面我按“近三年(以现在 2026-01 往回约 3 年 ≈ 2023–2025)+ GNSS-IMU/INS + 神经网络辅助(预测伪量测/增量/轨迹)”这个范围,给你整理一批相似路线的论文,并尽量给出可直接引用的文献信息(含 DOI/期刊/年份)。
另外,你这篇 CNN–GRU + IRAKF 论文在引言里也点名了几篇典型的“用 GRU/LSTM 预测 GNSS 伪量测 +(自适应)滤波融合”的工作(例如 Tang 2022、Zhao 2022、Zhao 2023、Xu 2023 等),我也会顺带标注出来,便于你写 related work。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
Zhao, L.; Li, J.; Feng, K.; Wei, X.; Song, J.; Jiao, Y.
A hybrid optimization algorithm for GWO fine-tuning GRU-aided AKF during GPS outage. Measurement, 2023. (Article no. 112302) (ScienceDirect)
Xu, Y. et al.
Motion-constrained GNSS/INS integrated navigation method based on BP neural network. Remote Sensing, 2023. (Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
(Applied Sciences 2024)
A Method for Assisting GNSS/INS Integrated Navigation System during GNSS Outages… Applied Sciences, 2024. (MDPI)
(Agriculture 2025)
GRU–Transformer Hybrid Model for GNSS/INS Integration… Agriculture, 2025. (MDPI)
Zhuang, X. et al.
Assisted Integrated Navigation System Based on CNN-BiGRU Model During GNSS Outage. In ICGNC 2024 (Lecture Notes in Electrical Engineering), 2025 (online). (Springer)
这些虽然略早于 3 年窗口,但它们是这条路线的“常用 baseline / related work”,你写论文基本绕不开:
Tang, Y. A. et al.
A GRU and AKF-Based Hybrid Algorithm for Improving INS/GNSS Navigation Accuracy during GNSS Outage. Remote Sensing, 2022, 14(3), 752. DOI: 10.3390/rs14030752 (MDPI)
Zhao, S.; Zhou, Y.; Huang, T.
A Novel Method for AI-Assisted INS/GNSS Navigation System Based on CNN-GRU and CKF during GNSS Outage. Remote Sensing, 2022, 14(18), 4494. DOI: 10.3390/rs14184494 (MDPI)
为了让你后续能找到更多 2023–2025 的类似文章(尤其是 IEEE/Elsevier/MDPI),你可以用下面这些组合去搜(中英都行):
如果你愿意,我也可以按你的目标进一步“精筛”成一页 related-work 表格(输入/输出是什么、网络结构、融合方法、数据集、outage 时长、指标),并标注你这篇 CNN–GRU+IRAKF 放在图谱里的位置。你更关心的是车辆路测还是 UAV/农业机械 场景?
我是说用别的神经网络模型的 我看有lstm gru等 请您慢慢检索出来 并给我一个答复
我按“GNSS–IMU/INS 在 GNSS outage/遮挡 时,用神经网络预测伪量测/增量/速度再与滤波/因子图融合”的口径,把近三年里不止 LSTM/GRU(含 LSTM 变体、TCN、Attention、ELM 等)的工作先检索出一批,给你做 related work 够用了。你这篇 TIM 2024 论文在引言里也点了不少代表性方向(BP、LSTM、GRU、ELM 等),我也结合它的参考文献脉络一起整理(见你上传论文第 I–II 节和参考文献列表)。(Meng 等 - 2024 - A GNSSINS integrated navigation compensation method based on CNN–GRU + IRAKF hybrid model during GN.pdf)
PSO–LSTM(粒子群优化 + LSTM)用于 GNSS/INS(抗失锁/干扰)
An GNSS/INS Integrated Navigation Algorithm Based on PSO-LSTM… Electronics, 2023. (MDPI)
Cascade-LSTM:预测伪速度/位置增量,用于 GNSS outage 桥接
A Low-Cost GNSS/INS integration method aided by Cascade-LSTM Pseudo …(Elsevier 期刊页面显示为 2024 左右)(ScienceDirect)
LSTM + Factor Graph(把“预测 GNSS 信息”作为因子图约束/量测)
A Hybrid Algorithm of LSTM and Factor Graph for Improving Combined GNSS/INS Localization during GNSS outages Sensors, 2024. (MDPI)
这三篇能覆盖:LSTM 结构创新(级联/优化)、输出从位置到速度/增量、以及滤波→因子图融合框架。
TCN-BiLSTM:用 TCN 提特征 + 双向 LSTM 生成伪 GNSS 量测,再配自适应滤波
(页面显示为 Sensors 2026 刚发表,略超“2023–2025”,但非常贴你要的“非 GRU/LSTM 传统单体”的趋势;如果你严格只要 2023–2025 我就不把它算进统计里,但建议你读。)(MDPI)
(提醒)TCN 在 GNSS 领域近年也常用于“GNSS 时间序列预测”(如钟差/高程),很多文章会把 TCN 作为 LSTM/GRU 的替代基线
例如:SSA-TCN 做卫星钟差 outage 预测(偏 PPP/钟差,不是 IMU 融合,但可以当“TCN 在 GNSS 序列预测里有效”的旁证)。(Springer)
CNN-BiLSTM-Attention:把注意力引入综合导航/高精度融合(related work 很好写)
Enhanced CNN-BiLSTM-Attention Model for High-Precision Integrated … Remote Sensing, 2025 左右(页面显示为 2024/2025 区间)。(MDPI)
Attention-based 架构用于 INS/GNSS(偏 GPS Solutions 方向的融合讨论)
An integrated INS/GNSS system with an attention-based …(Springer / GPS Solutions,发布时间接近 2023)(Springer)
你的论文在引言把“静态网络(BP/ELM/SVM/ANFIS 等)→ RNN(LSTM/GRU)→ 结合自适应滤波”的演进写得很清楚,并且点名了:
你如果要的是最像你现在这篇(预测伪 GNSS/增量 → 与 INS 滤波融合 → outage 对比),我建议用下面这些关键词组合去扩展(每组都能搜到一串 2023–2025 的论文):
"GNSS outage" AND ("pseudo-measurement" OR "pseudo GNSS") AND (Transformer OR Attention OR TCN OR "temporal convolution")"GNSS/INS" AND ("deep learning aided" OR "neural network aided") AND (EKF OR IEKF OR factor graph)"pseudo velocity" AND "GNSS/INS" AND LSTM如果你愿意,我可以把上面这些论文进一步“去重 + 精筛”成一个 related-work 表(列:输入/输出、网络结构、是否输出不确定性、融合方式KF/EKF/因子图、outage 时长、数据类型(车/UAV))。你更想对标车载路测还是 UAV/低成本 MEMS 场景?
找一下 北京交通大学 连丽蓉的公开论文
我帮你检索了 “北京交通大学 连丽蓉(也可能写作:连丽容 / Lirong Lian)” 的公开论文信息。需要先说明一点:公开数据库里更常见的英文拼写是 Lirong Lian,中文姓名在不同平台有时会出现 “连丽容/连丽蓉” 的写法差异,所以我同时用中英文都检索了。
目前能稳定检索到、并能直接引用的公开论文列表,主要来自 DBLP(计算机/工程方向最可靠的公开文献索引之一),它给出了 Lirong Lian 的近年论文清单和 DOI。 (DBLP)
另外有一个“专家库”页面也能确认她确实隶属于 北京交通大学。 (Imaibj)
A Continuous Autonomous Train Positioning Method Using Stereo Vision and Object Tracking
Lirong Lian, Yong Qin, Zhiwei Cao, Yang Gao, Jie Bai, Xuanyu Ge, Baoqing Guo.
IEEE Intelligent Transportation Systems Magazine, 17(2): 6–22, 2025. (DBLP)
RAE3D: Multiscale Aggregation-Enhanced 3D Object Detection for Rail Transit Obstacle Perception
Lirong Lian, Zhiwei Cao, Yong Qin, Yang Gao, Wei Li, Jie Bai, Xuanyu Ge, Tangwen Yang.
IEEE Transactions on Industrial Informatics, 21(5): 4221–4232, 2025. (DBLP)
Segmented-Aggregated Framework With Internal-External Constraint Mechanism for Unsupervised Track Anomaly Detection
Yang Gao, Zhiwei Cao, Yong Qin, Lirong Lian, et al.
IEEE Transactions on Instrumentation and Measurement, 74: 1–12, 2025. (DBLP)
An Anomaly Detection Method for Railway Track Using Semisupervised Learning and Vision-Lidar Decision Fusion
Xuanyu Ge, Zhiwei Cao, Yong Qin, Yang Gao, Lirong Lian, et al.
IEEE Transactions on Instrumentation and Measurement, 73: 1–15, 2024. (DBLP)
Densely Multiscale Fusion Network for Lightweight and Accurate Semantic Segmentation of Railway Scenes
Lirong Lian, Zhiwei Cao, Yong Qin, Yang Gao, Jie Bai, et al.
IEEE Transactions on Instrumentation and Measurement, 73: 1–11, 2024. (DBLP)
目前我这里能直接打开并结构化提取的公开来源里,DBLP 覆盖的是英文论文为主。
如果你还希望我把她在 CNKI(知网)、万方、维普、BJTU 个人主页等渠道的论文也整理出来(通常会包含更多中文论文),你可以:
我就能继续把:
✅ 中文论文题目 + 期刊/会议 + 年份 + DOI/链接(如有)
✅ 研究方向归类(轨道交通感知/视觉定位/异常检测等)
✅ 近三年代表作与引用格式(GB/T 7714 & BibTeX)
整理成一份你可以直接放到论文 related work 或简历里的列表。
如果你愿意,我还可以把上面 2023–2025 的论文 统一生成 BibTeX/GB7714 引用格式,你更想要哪一种格式?