赞
踩
【论文笔记】Forging Vision Foundation Models for Autonomous Driving: Challenges, Methodologies, and Opportunities
原文链接:https://arxiv.org/pdf/2401.08045.pdf
传统的自动驾驶(AD)感知系统使用模块化结构和精心设计的算法处理专门的任务,但这些被划分的组件优先考虑单个任务的性能,而牺牲了更广泛的上下文理解和数据关系。
大型基石模型通常在大量而丰富的数据集上训练,也会使用自监督技术。一旦训练完成,可以通过微调来处理各类特定任务。目前的大参数模型可以进行少样本学习,从而可以处理分布外的AD数据(如未知物体)。此外,其固有的推理能力使其高度适应逻辑处理和知情决策任务。
但是,目前基石模型对AD的影响较小。直接在AD任务中使用其它领域在2D数据或文本模态上训练的视觉基石模型(VFM)以被证明是不够的,因为它们缺少处理对AD关键的3D信息的能力(如深度估计)。
AD中阻碍了VFM发展的因素有二:
尽管如此,目前,连续的数据收集和先进的仿真技术发展有潜力解决数据稀缺的问题;统一的BEV和占用表达提供了通用表达与结构的潜在解决方案。
大型语言模型(LLM):LLM能以类似人类的流利程度理解和生成语言,完成多种语言任务(如文本补全和翻译、对话、问题回答)。GPT-3/4、PalM、LLaMA/LLaMA2等均属于LLM。
视觉基石模型:
- ViT;
- DINO/DINOv2:自监督学习 + 知识蒸馏,学习到的特征包含场景布局和物体边界的显式信息;
- MAE、BEIT、CAE:masked modeling + 自监督学习,能学到通用视觉表达;
- 分割一切模型(SAM)能泛化到多种分割任务上,而不需显式地微调,展示出出色的零样本能力。
多模态基石模型:多模态视觉-语言模型(VLM)。
- 包括CLIP与BLIP等。这些模型擅长捕获文本与图像信息之间的关系,使其可以进行零样本图像分类与实例级别的对齐。
此外,还有多种基石模型的组合模型:
- SAMText:通过生成像素掩膜并利用现有检测器信息进行文本分割;
- CaptionAnything:为图像加标题,可对图像与文本进行交互式操作;
- SAM+ChatGPT:使用各种提示(如指出或绘制边界框)动态细化图像;
- GPT-4V(ision):更深层次地理解和分析用户提供的图像。
生成基石模型:视觉生成模型。
- DELL-E/DELL-E2:由文本-图像对训练,能通过文本描述生成图像;
- Stable Diffusion;
- Inpaint Anything:LaMa + Stable Diffusion,能修复掩膜区域、利用文本提示填充图像空洞;
- Edit Everything:SAM + CLIP + Stable Diffusion,利用视觉线索和文本提示精确操作图像。
图像作为表达:单目RGB图像有丰富的纹理信息,但无法直接感知深度。使用立体相机系统,协同利用空间与时间线索可以减轻这一问题。
点云作为表达:激光雷达能感知深度,其数据有丰富的3D几何信息。其表达包括基于点的、基于体素的、基于投影的和基于混合的表达。基于点的表达不使用量化降低数据保真度,使用排列不变的操作捕捉局部结构和细粒度模式。基于体素的表达将不规则点云转化为紧凑的3D网格,可使用卷积高效处理。基于投影的方法将点云投影为2D像素,使用2D CNN的强大能力处理。基于混合的方法组合了各表达的优势。
此外,点云表达可以作为多传感器融合的中间表达(如PointPainting)。
鸟瞰图(BEV):与透视图相比,BEV视图无遮挡和物体的尺度变化。
基于激光雷达的方法可以通过压缩高度维度来得到BEV特征图。基于相机的方法需要额外步骤,如基于深度或查询的提升。一旦得到了统一的BEV表达,可以使用任务头处理或进行多模态融合。
场景表达为占用:占用感知将3D场景表达为3D体素,能在垂直方向上检测障碍,在悬挂结构(如桥、隧道和树枝)的感知上更加鲁棒。此外,占用表达还可结合语义信息或速度估计。
深度估计:目标是为输入图像生成密集深度图。可分为基于立体的和基于单目的方法。前者利用三角测量,需要精确的相机校准;后者设置更简单,对校准的要求也更低。
目标检测:目标是预测物体的位置、大小和类别。可分为2D目标检测和3D目标检测。前者只需要图像上的2D边界框,后者则需要真实的距离信息。
地图建设:高清(HD)地图包含对道路元素丰富的语义理解,对导航和路径规划非常关键。传统的离线建图方法需要大量的人力;最近的在线语义地图建设使用相机、激光雷达或多传感器输入生成道路布局的丰富信息。
语义分割:可分为2D语义分割和3D语义分割。前者为每个像素分配语义标签,后者为点云中的每个3D点分配语义标签。
目标跟踪:目标是随时间连续估计物体的位置和运动,为每个物体分配独一无二的ID,在外观变化和临时遮挡下进行一致的跟踪。
占用预测:联合估计每个体素的占用状态和语义标签。与边界框表达物体相比,占用表达能表达一般物体、背景和不规则形状的物体。
自动驾驶系统需要有效处理不同环境,如参与者、光照、天气和路况。但获取包含所有场景的数据集是不现实的。由于数据分布的不同,使用仿真数据训练的模型可能会导致对真实世界的泛化能力较差。因此,问题的核心在于生成真实而可控的数据。最近,扩散模型和NeRF的发展模糊了真实与机器生成图像的界限,有望解决数据稀缺的问题。
绝大多数数据集包含单目或环视RGB图像数据,大部分数据集包括精确的激光雷达点云数据;只有很少部分数据集包含雷达数据,尽管雷达能测量速度并适应各种天气条件。这可能是雷达数据复杂的回波信号和非平凡的冗余信息会给深度学习带来挑战。
对于合成数据集,其天气调整有灵活性,但与真实数据之间存在域间隙。
生成对抗网络(GAN)包含两部分,生成器与判别器。生成器的目标是生成与真实数据尽可能相似的样本,判别器的目标是区分真实样本与生成样本。通过类似博弈的方式优化两个网络,生成器可以合成真实图像。本文主要关注GAN作为数据增广技术合成真实的驾驶场景数据集。
图像到图像的变换:
- pix2pix/pix2pixHD:可根据语义图或边缘图作为条件输入;训练时需要图像对输入。
- CycleGAN:训练时无需图像对输入;可以通过将CG转化为真实图像、将白天转化为夜晚、将夏天转化为冬天来进行数据增广。
视频到视频的变换:可以生成时间一致的视频帧。
- DeepRoad;
- DriveGAN:基于GAN的高质量神经仿真器,可控制天气与背景物体的位置;
- SufelGAN:提出生成驾驶场景的数据驱动方法,可对图像进行重建,生成自车或其它运动物体在不同位置和朝向下的图像。
激光雷达点云的生成:
- LiDARGAN:使用CycleGAN从模拟激光雷达生成真实激光雷达,或从低分辨率激光雷达生成高分辨率激光雷达。
- 还有方法提出激光雷达到激光雷达的方法,可以模拟不同极端天气下的激光雷达点云。
缺点:生成的图像或激光雷达数据分辨率相对较低。此外,难以生成保证多传感器一致性的数据。
扩散模型在图像合成方面超过了GAN的性能。其一个优势在于可以使用分类器在噪声图像上训练。这个过程提取的梯度可以指导扩散模型朝着特定类别标签采样,同时保留保真度和丰富性的平衡。基于扩散的数据生成方法如下图所示。
多帧数据生成方法:
- MCVD:使用基于概率条件分数的去噪扩散模型,以窗口自回归的方式掩蔽过去帧 和/或 未来帧;
- Align your Latents:进一步使用时间层来强迫模型时间一致地对齐视频生成器的图像;
- FDM:通过元学习,可以以任意帧数的视频为条件;提出时间注意力机制,带有位置编码网络,用于生成长视频;
- GeoDiffusion:考虑多视图和边界框平移的几何信息,将其作为提示。
单帧数据生成方法:
- DatasetDM:结合LLM的提示,为下游任务生成高质量合成数据。
多视图图像序列生成方法:
- DriveDreamer:两阶段训练,第一阶段关注理解交通结构信息,第二阶段进行视频预测。该方法可以进行遵循交通约束的可控生成;
- Drive-WM:使用多视图时序建模联合生成多视图多帧数据,通过以相邻视图为条件生成中间视图,提高多视图一致性;
- DrivingDiffusion:组合了多视图单帧生成模型、单帧时序生成模型和能延长视频并加强多帧多视图一致性的后处理模块。
- MagicDrive:使用单一模型和3D几何控制生成多视图图像。使用跨视图注意力保证多视图一致性。
缺点:从头训练困难,严重依赖预训练的Stable Diffusion Models;缺少重建3D几何的能力。
由于缺少3D约束,GAN与扩散模型难以进行新视图合成。传统的3D重建技术使用显式表达(如点云、体素和网格),而神经辐射场(NeRF)不同,沿射线采样点和视线方向,输入神经网络确定采样点的密度与颜色。NeRF创建了由MLP参数化的场,以连续优化参数和重建场景,从而进行高质量新视图合成。
- 将NeRF用于大尺度场景的方法:NeRF++、NeRF in the Wild、Mip-NeRF等。
- 少视图训练方法:Pixel-NeRF、Behind the Scenes等。
模拟自动驾驶场景的方法:
- READ:使用神经描述符缝合和编辑驾驶场景。
- MapNeRF:考虑到沿驾驶轨迹的图像相似,会导致驾驶轨迹外的相机图像作为输入时的结果较差,在采样中使用地图先验(如地面与车道线信息)。这可以指导训练,并增强轨迹外视图合成的语义一致性。
- UniSim:如下图所示,使用传感器采集的数据建立可操作的数字对象,其中动态参与者与静态场景分开表示;能生成时间一致的激光雷达与图像的新视图数据(可同时增减参与者)。
- MARS:基于NeRF的、用于自动驾驶仿真的开源模块化框架。
- 还有S-NeRF、RoMe、StreetSurf等。
激光雷达数据生成方法:
- LiDAR-NeRF:使用NeRF联合学习3D点的属性和几何,无需显式3D重建或游戏引擎模拟。
- NeRF-LiDAR:使用图像与点云学习3D场景表达,生成点云并渲染标签。
NeRF可保证多传感器一致性,但其难以保证实时生成高分辨率数据。
在3D高斯溅射(3DGS)中,场景通过3D高斯表达,能够在最小化存储代价的情况下实现基于栅格化的实时渲染。
- PVG:引入周期振动高斯进行大尺度动态场景的重建,将周期振动、不透明度衰减、基于场景流的时间平滑机制整合到3D高斯溅射技术中,在渲染质量和速度方面均能超过NeRF。
- DrivingGaussian:如下图所示。使用多传感器时序数据层次性建模复杂驾驶场景。增量静态3D高斯和混合动态高斯图模块分开重建静态背景与动态物体;可以在重建高斯场中插入任意动态物体,同时保证时间一致性。
- Street Gaussians:使用跟踪姿态优化策略和4D球面谐波外表模型处理运动车辆的动态;可以方便地组合背景与物体,实现场景编辑与实时渲染。
缺点:缺乏全面的场景表达能力。
得到大量数据后,需要有效的训练方法来提取通用信息,建立视觉基石模型。
自监督学习可以在大量无标签数据上训练。VFM的自监督训练方法可以分为基于对比的、基于重建的、基于蒸馏的、基于渲染的和基于世界模型的。
对比学习可以通过判断图像与其增广之间的相似性来学习图像表达。
场景级别的方法:
- PointContrast和DepthContrast对点云使用基于视图的对比学习,对齐两个增广点云的特征,如下图所示。但这些方法缺乏语义信息。
- GCC-3D:整合几何感知的对比和聚类协调,通过相近体素有相似局部几何结构的先验,GCC-3D使用几何距离来指导逐体素特征学习,减轻了硬标签策略中的“类冲突”问题。
- SimIPU:使用多模态对比学习,包含模态内空间感知组件和模态间特征交互模块,可学习空间感知的视觉表达。
- AD-PT:将点云预训练视为半监督学习问题,使用少量有标签样本和大量无标签样本,生成统一主干表达。该方法解耦了预训练与下游的微调,可之间应用于基线模型和基准。
区域级别的方法:场景级别的方法擅长捕捉全局上下文,但会导致局部细节的丢失。基于区域的方法寻求全局与局部上下文的平衡,适用于3D目标检测和语义分割任务。
- SegContrast: 从点云提取类别无关的段,并计算各段与其增广对的对比损失,促进上下文信息的学习,用于语义分割任务。
- ProposalContrast:两阶段提案级别的自监督学习方法,使用区域提案作为学习单元,使网络学习到目标检测任务适用的信息。
- BEVContrast:将特征投影到BEV,在2D网格内局部池化,以节省计算。
基于重建的预训练方法通过从掩蔽或损坏的表达重建输入数据,如下图所示。
基于相机的重建:使用掩蔽自编码器(MAE)。
- MAE、SimMIM、MCMAE、MixMAE和SparK从掩蔽的图像patch重建,编码潜在的图像模式与场景组件之间的关系,实现泛化能力。
应用于自动驾驶中:
- GeoMIM:使用MAE,在训练时利用来自预训练模型的激光雷达BEV特征。与蒸馏策略相似。
基于点云的重建:
- Point-MAE:使用集合到集合的Chamfer距离损失恢复掩蔽点,在保留3D几何的同时保证精确重建。
- VoxelMAE:关注通过区分占用体素来恢复潜在的几何。
- GeoMAE:引入额外的中心、法线和曲率预测任务,从点云捕捉几何信息。
- MaskPoint:使用占用点的二元分类预训练编码器。
应用于自动驾驶中:
- MAELi:利用激光雷达的稀疏性,区分空体素与非空体素;使用适应激光雷达球面投影的掩蔽策略,利于有效重建和表达学习。
- GD-MAE:使用生成解码器,自动层次性地混合环境信息,恢复遮挡区域的几何并增强场景的整体表达。
- BEV-MAE:引入BEV策略指导3D编码器从BEV视图学习表达,以简化预训练。
- Occupancy-MAE、ALSO、SPOT:通过3D占用重建来预训练点云主干。
多模态重建:
- PiMAE:提出自监督训练方法,促进掩膜token的2D-3D交互,可大幅提高2D与3D检测器的性能。
目前的方法使用多阶段预训练,复杂的流程会增加训练的不确定性和不稳定性。
- M3I:提出通用的多模态互信息公式,作为统一优化目标,并证明所有现有方法均为其特例。
- M3AE:通过掩蔽token预测,使用统一编码器处理视觉和语言数据,以学习能迁移到下游任务的通用表达。
基于蒸馏的方法使用训练好的教师主干收集的知识,增强学生主干的性能,如下图所示。一些方法利用图像感知的优势(数据和模型多),提高激光雷达感知(数据少、表达复杂)模型的性能。
- SLidR、S2M2-SSD:提出2D到3D、融合到3D的表达蒸馏,用于在大规模点云上进行跨模态自监督学习。
- SLidR的后续方法:通过引入语义容忍的对比约束和类平衡损失,进一步增加性能。
- SEAL:基于SLidR,提出使用视觉基石模型SAM建立跨模态对比目标,利用VFM学到的强大表达处理跨模态表达学习。
基于渲染的自训练方法首先将来自多视图图像或点云的视觉特征映射到统一的体积空间。需要相机内外参计算射线。MLP用于预测射线上采样点的有符号距离函数(SDF)和RGB值,从而使用可微体渲染重建深度图与图像,如下图所示。
渲染用于预训练:
- Ponder:首个方法,但仅应用于室内环境。其后续增强版本利用稀疏体素表达,将其扩展到室外自动驾驶任务。
- PRED:使用预训练语义分割模型为渲染结果生成伪标签,进行基于激光雷达的主干预训练。
- UniPAD:网络可同时接收多视图图像与点云输入,使用掩膜生成器掩蔽部分输入,使网络关注相关信息。
自监督占用:基于渲染的方法也用于监督占用预测任务。
- RenderOcc:仅依靠2D监督(深度图与语义图)进行占用预测。该方法跨帧生成3D射线,选择穿过运动物体的射线并使用类平衡采样,最终渲染深度与语义图。
- SelfOcc:使用类似的训练过程,加上RGB监督,并利用预训练模型生成的伪深度和语义图。
- OccNeRF:使用时间光度一致性损失监督渲染的深度图,以消除深度监督的需要。
基于渲染的方法展示出使用2D标签进行3D感知的优势。
世界模型通常被定义为基于行动和过去的观测预测未来状态。
在自动驾驶场景中,自动驾驶汽车在动态变化的场景中行驶,这需要感知环境的变化。世界模型有为端到端自动驾驶铺路的潜力,也可帮助建立视觉基石模型。世界模型通常使用自监督训练,学习世界的泛化表达,使得代理容易适应新任务和挑战。
基于图像的世界模型:
- GAIA-1:提出将文本、视频与行为输入编码为token的生成世界模型。其为自回归Transformer,基于所有过去的编码token,预测下一个图像token。使用视频扩散模型作为解码器,将预测的图像token映射到像素空间,提高输出视频的时间一致性。其更像驾驶场景的生成模型,因其忽视了控制信号预测。
- ADriver-I:通过统一控制信号预测和未来场景生成,提出无限驾驶的概念。给定历史视觉-行动对和当前的视觉token,模型可以直接输出低级控制信号和近未来帧。其中,多模态大型语言模型(MLLM)基于输入推理当前帧控制信号,再将预测的控制信号作为提示,和输入token一起输入到视频扩散模型(VDM)中预测未来帧。
- DriveDreamer:两阶段方法,首先学习理解交通结构,建立场景的“地图”,第二阶段使用该知识预测未来视频帧,使得能可控地生成严格遵守交通规则的驾驶场景。
- Drive-WM:通过联合建模多视图和多帧,解决多视图和多帧一致性的挑战。使用联合模型的分解,以相邻视图为条件预测中间视图。该方法能极大提高生成视图的视觉一致性。
3D世界模型:
- OccWorld:在3D占用空间预测自车运动和周围场景变化。首先使用VQVAE细化高级概念,以自监督方式获取离散场景token。然后使用生成预训练Transformer(GPT)结构,提出时空生成Transformer预测后续场景token和自车token,从而预测未来占用与自车轨迹。
- 有方法使用VQVAE token化传感器观测,并通过离散扩散预测未来。为了并行进行解码与去噪,将掩蔽生成图像Transformer(MaskGIT)重塑为离散扩散框架。
- MUVO:使用相机和激光雷达数据学习世界的几何体素表达,可同时预测在行动条件下未来多步的原始图像、激光雷达数据与3D占用表达。
用于预训练的世界模型:
- UniWorld:使用大量图像-激光雷达数据对进行预训练,将多视图图像表达在统一的BEV空间,并通过世界模型的头部预测未来帧的占用。BEV特征也可迁移到其余下游任务,而无需显式标签。
- ViDAR:基于过去的视觉信息预测未来的点云,如下图所示。首先将历史帧编码为嵌入向量,通过隐式渲染操作投影到3D几何空间,再预测未来点云。
虽然现在缺少自动驾驶的视觉基石模型,但可以分析已有的基石模型(VFM、LLM、多模态基石模型)的应用。通过检查现有方案的局限性,可以提取关键见解并提出自动驾驶专用的视觉基石模型。
一些方法直接使用视觉基石模型生成结果:
- Calib-Anything:使用SAM设计激光雷达-相机校准方法,不需要额外训练就能适应通常的场景。
- SPINO:使用DINOv2产生的任务无关图像特征,进行少样本全景分割。
一些方法在训练时使用VFM加强模型:
- SEAL:使用类似SAM的模型进行大规模点云的自监督表达学习,如下图所示。
- 有方法使用VFM生成的实例掩膜提高3D语义分割无监督域自适应的性能。
- RadOcc:使用SAM提供的形状先验,进行段指导的亲和性蒸馏;使用跨模态知识迁移增强3D占用的特征表达。
缺点:在捕捉3D信息方面有局限性;此外,整合图像外的模态(如激光雷达点)作为输入很困难。
规划:LLM被用于生成控制信号并解释驾驶策略。
- GPT-Driver:使用GPT3.5作为运动规划器生成轨迹,如下图所示。
- Drive Like a Human:使用GPT3.5关注类似人类的推理、解释,以及长尾情况下的问题解决。
- LanguageMPC:将LLM与模型预测控制结合进行决策。
- DiLu:使用GPT3.5/4得到知识驱动的系统,关注推理、反应与记忆。
缺点:目前的LLM被认为对复杂驾驶任务来说是不充分的,主要是因为它们不能完全理解3D空间。
感知:LLM也可作为基于视觉的自动驾驶系统的组件。LLM擅长适应不同的视觉任务,特别是在数据稀缺的情况下,因其少样本学习能力可以进行快速而精确的推理。
- PromptTrack:通过提示推理分支,融合跨模态特征,预测物体的3D位置与运动。它使用语言提示中嵌入的语义线索,将LLM与现存的3D检测与跟踪算法有效组合。
- HiLM-D:使用高分辨率多模态LLM结构,进行风险目标定位以及意向与建议预测。通过整合细粒度视觉信息与LLM框架,可以定位潜在危险并预测驾驶场景中其余代理的意向与潜在的行为。
- DriveGPT4:关注建立视觉问答能力,由场景相关的问题(包括车辆状态、导航指导、交通状况理解)训练模型,从而提供可解释的、上下文感知的回复。
- LiDAR-LLM:使用LLM进行3D激光雷达的理解。将3D户外场景理解重塑为语言建模任务,从而进行3D问答与零样本规划任务。在这些应用中,LLM不直接影响下游任务。
CLIP:对比语言-图像预训练(CLIP)基于Transformer建立,包含独立处理输入图像与标题的视觉和文本编码器,通过图文匹配进行图像表达学习。基于CLIP,很多下游任务得到了探索,如回归、检索、生成、分割等。
开放词汇语义分割对自动驾驶是一个挑战,因模型需要识别新来物体。一些方法使用CLIP的预训练文本嵌入解决这一问题。
CLIP用于2D感知:
- LSeg:使用文本嵌入学习逐像素特征,进行有效的分割。
- MaskCLIP:绕过自注意池化层,生成像素级特征图,使用文本预测生成最终的分割掩膜。
- FC-CLIP:使用冻结的卷积CLIP预测类别无关的掩膜,并使用掩膜池化的特征进行分类。
- ODISE:使用文本到图像的扩散模型提出掩膜候选对象,并进行分类。为进一步增加开放词汇性能,使用预训练CLIP的裁剪特征分类掩膜。
CLIP用于3D感知:
- CLIP2Scene:引入2D-3D校准矩阵,使得可以使用MaskCLIP进行3D场景理解。
- OVO:进行任意类别的语义占用预测,在训练时无需3D标签。使用从2D开放词汇分割模型到3D占用网络的知识蒸馏,并进行像素-体素过滤,以生成高质量训练数据。
- POP-3D:从2D图像预测开放词汇3D语义体素占用图。
VLM:其余VLM也被证明有不错的感知能力,且有应用于端到端自动驾驶的潜力。
- Dolphins:使用OpenFlamingo来扩大自动驾驶系统的推理性和交互性,表明VLM有超越图像/文本对齐的能力。可以将高级认知功能纳入决策。
- On the Road with GPT-4V:测试了VLM在自动驾驶关键任务下的能力,如罕见物体检测、因果推理,和不确定场景下的决策。
VLM用于AD的问答任务:
- DriveLM:认识到人类的驾驶决策是多步骤的,而非单一轮次的视觉问答(VQA)。引入图视觉问答(GVQA)模拟人类推理过程。还为该任务提出了DriveLM-nuScenes、DriveLM-CARLA数据集和基准。
- Reason2Drive:从开源数据集中收集感知、预测和推理步骤的链式问答对,提出可解释的、基于链式的推理自动驾驶系统。
自动驾驶数据集可分为两代:第一代由KITTI代表,传感器模态有限、数据量少、关注感知任务;第二代由nuScenes和Waymo代表,传感器复杂性、数据尺度和丰富性、任务范围均增大,包含预测与控制任务。未来的自动驾驶数据集可能会使用来自网络或自动驾驶车辆的大量无标签数据。
目前的数据生成算法正朝向多方面数据合成发展。早期算法关注生成单一数据模态,如激光雷达或图像。最新的方法则有下列能力:
未来的数据生成可能会朝着人工智能生成计算(AIGC)发展。AIGC不仅可以生成新数据,还可以修改和增广现有数据集,从而实现更高效的数据扩充和自定义。
发展趋势:
未来的研究可以关注加强多模态数据交互、实现跨传感器的无缝信息交换和联合推理。还可从强大的基石模型进行知识蒸馏。
自动驾驶领域的视觉基石模型仍然处于初期,需要其余领域现有的FM进行适应。适应形式有三种:
AD中VFM发展的挑战和机遇:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。