51c自动驾驶~合集35

news2024/11/29 9:23:26

我自己的原文哦~  https://blog.51cto.com/whaosoft/12206500

#纯视觉方案的智驾在大雾天还能用吗?

碰上大雾天气,纯视觉方案是如何识别车辆和障碍物的呢?

如果真的是纯纯的,特头铁的那种纯视觉方案的话。

可以简单粗暴的理解为:人眼不行的,机器也不行。

但是,现下,应该还没有如此100%纯度的纯视觉。

即便头铁如特斯拉,虽然取消的了雷达和超声波传感器。

但是在视觉传感器上疯狂做假发,而且依然保留的一定的冗余,来补上视觉的局限。

更准确的说,不应该叫纯视觉,而应该叫视觉优先。

这样,在大雾天。如果非得开,还能开一开。

优先级最大的摄像头系统,料堆得最满。

  • 前置主摄像头:

负责捕捉前方远距离的视野,识别车辆、道路标志和路况。

  • 广角摄像头:

捕捉前方的广角视野,尤其适合识别近距离的物体,比如停靠车辆和交叉路口的动态情况。

  • 侧面摄像头:

布置在车辆两侧,用于监控车道变换、盲区检测和周围车辆的动态。后视摄像头:负责监控车辆后方的状况,辅助倒车以及识别后方来车。

基本上,覆盖了所有该看的地方和角度。

然后,在某些瞬间失明或者视力下降的时候,还有一些传感能够暂时提供参考信息。

  • GPS和高精度地图(GPS & High-Precision Maps):

GPS结合高精度地图数据,车辆能够确定自己的定位,识别出所在道路的限速、地形和路线结构。

  • 惯性测量单元(IMU):

用来感知车辆的姿态、加速度和转向等信息。

这些数据帮助车辆在复杂的驾驶条件下保持平衡,并提供精确的动态反馈。

视觉优先,其实也更接近人类驾驶是的感知-规划-决策-执行的模式。

人虽然大部分的信息摄入来自于眼睛。

但是对于行动的决策判断,还有耳朵听到的,身体发肤感受到的,以及莫名其妙的第六感。

综合起来构筑起一个立体的信息。

视觉优先,今后的路应该不是走摄像头这一根独木桥。应该是如何接近

更像一个人的感知系统

把视觉之外的,哪些信息。

尽量通过不做加法的方式,给逆向仿生出来。

也许,有一天AI真的可以把驾驶这件事也给“暴力破解”了吧。

先问个问题,作为一名老司机的您,正常情况下敢在大雾天开车吗?

而纯视觉方案的智能驾驶也是一样的!

最近看到国外媒体做了一个有趣的试验:

用一辆洒水车在前面向跟在后面的车猛烈洒水,干扰其摄像头,然后突然闪开,露出车道上的模拟障碍物。而特斯拉发生了碰撞,这就证实了纯视觉系统的局限性。即确实存在看不见导致来不及反应的时候。

常规遇到这种情形,比如进入雾区或雨区,能见度变差,系统通常会先根据视觉所能观察到的距离适配行驶速度,也就是减速,并提示驾驶者接管车辆。

如果超出报警时间仍无人接管,处理方式与驾驶者长时间方向盘脱手一样————激烈报警和逐渐停车。这是在当前法规仅允许智能驾驶起辅助作用,且厂家不为辅助驾驶时发生的事故承担交通安全的主要法律责任,责任主体依然在驾驶者的情况下。

系统所做的一切操作都旨在尽量保证安全并免除厂商潜在的民事责任。

纯视觉方案,其实更接近人类驾驶是的感知-规划-决策-执行的模式。

人虽然大部分的信息摄入来自于眼睛。

但是对于行动的决策判断,还有耳朵听到的,身体发肤感受到的,以及莫名其妙的第六感。

综合起来构筑起一个立体的信息。

而纯视觉方案今后的路应该也不是走摄像头这一根独木桥。应该是如何接近,更像一个人的感知系统。

目前在纯视觉方案里面,特斯拉的体验是最好的。那么看看特斯拉是如何做的

特斯拉在智能驾驶方面遵循的是一种底线思维模式,也就是试探硬件少得不能再少的底线在哪里。

这就反过来促使研发团队在测试和软件开发上竭尽全力,让软件能力最大化地把硬件的作用发挥出来。

而一些十分特殊的场景,则可以用概率算法去压缩它发生的范围。只要不遇到极端情况,其使用体验就是好的,而且可以保证单车低成本、高利润率。

但这并没有消除“看不见”这个局限性,只是把因此而导致系统完全不能发挥作用的场景压缩到极致的、极少的场景。

对整车厂来说,智能驾驶竞争在软件,不在硬件。因为硬件都是供应商制造的,只要花钱采购都能得到。

而如何应用这些硬件,决定了竞争胜负。

比如击剑比赛,比的不是剑,而是运动员的剑术。特斯拉的策略就是把剑术练到家,方法就是用尽量少,尽量简单的硬件去修炼软件功夫。

当它达到高水平时,再升级装备就会更加显著地体现出竞争优势。而且,可尽量保持硬件上相对更低的成本。

这里要避免一个误解,就是认为特斯拉的智能驾驶就是最强的,放在哪里都最强。事实不是这样的。它在中国的体验效果就不如在美国。

自动驾驶系统非常依赖在使用当地的训练。特斯拉在美国本土的训练要比在中国相对完备得多,因此体验更好,开放使用的功能更深。

能用,但是不好用。

纯视觉方案的先天不足就是在应对恶劣环境时不好用,在当下智能驾驶只是作为辅助驾驶时,这种缺陷尚且可以克服。但是随着智能驾驶技术成熟,在未来走向无人驾驶的终极目标时,纯视觉的这种先天不足将会成为难以跨越的天堑。这也是我不看好特斯拉FSD的最主要原因。

余承东曾经点评过FSD,认为其“上限很高,下限很低。”我觉得这说到了纯视觉方案的根本缺陷。美国发生的很多FSD导致人员伤亡的案例,也证明了其安全性能不足的问题很严重。

就拿大雾天来说,这是很正常的一种气象,早晚时段都可能起雾。人类在大雾中可以谨慎缓慢行驶来克服,智能驾驶遇到大雾天气,采用谨慎缓行的策略也可以通行,其表现并不会比人类司机更好。人类驾驶员在这种大雾天气容易出现交通事故,纯视觉方案也容易出现交通事故,这就是纯视觉方案下限很低的重要原因。

而加上了激光雷达和毫米波雷达的智能驾驶可以更好地了解周边道路环境,可以看得更远,看得更清楚,即使在大雾中也可以挥洒自如,而且安全性能好得多,其高下优劣一眼可辨。这就是激光雷达方案的智能驾驶下限很高的主要原因。

更何况,智能驾驶要面对的恶劣环境还有很多,暴雨,暴雪,雾霍,烟雾,沙尘暴等恶劣天气都是纯视觉方案难以克服的缺陷,纯视觉方案很难真正摆脱人类驾驶员做到无人驾驶,注定是没有出路的。

大雾天开车,简直是雾里看花,花里胡哨,让人心里没底。不过,随着技术的发展,特别是自动驾驶技术的进步,即便是在这样的天气条件下,我们的车辆也能做到眼观六路,耳听八方,这背后靠的就是一些高科技的视觉方案。今天咱们就聊聊,这些纯视觉方案是怎么在大雾天识别车辆和障碍物的。

说到底,现在的自动驾驶汽车,特别是那些号称纯视觉方案的家伙,它们就像是拥有了“火眼金晴的孙悟空,即使是在雾气蒙蒙的情况下,也能准确地识别出前方的车辆和其他障碍物。这得归功于一系列先进的算法和技术,比如深度学习、图像处理以及多传感器融合等,它们就像是一套组合拳,让车辆能在复杂环境中稳操胜券。

拿图像去雾算法来说吧,这玩意儿就像是给相机装上了吸尘器,能把图像里的“灰尘”一也就是那些因雾气造成的模糊感,清除得干干净净。这样一来,即使是在大雾弥漫的路上,摄像头捕捉到的画面也会清晰许多,使得后续的目标检测变得更加容易。

当然,图像去雾只是第一步,接下来就是让这些处理过的图像派上用场了。这时候,就得说到YOLO这样的目标检测算法了。YOLO,全名You Only Look Once,听着就像是在说:“看一眼就够了!”这种算法能够一次性处理整张图片,而不是像传统方法那样,先选出可能含有目标的区域再逐一检查。这样不仅速度快,而且在处理动态变化的环境时也更加灵活。举个例子,当一辆车在雾中快速驶来,YOLO能够迅速识别出它的位置,并及时做出反应,确保安全。

不过,话说回来,虽然YOLO等算法在正常天气下已经相当厉害了,但在恶劣天气中,比如大雾,它们也会遇到挑战。这时候,就轮到多模式传感器融合登场了。简单来说,就是把不同类型的传感器,比如激光雷达(LiDAR)和雷达(RADAR),以及摄像头的信息结合起来,相当于给车辆配备了一套全方位的“感官系统”。激光雷达在短距离内能够提供非常精确的三维信息,而雷达则在远距离探测方面表现出色,尤其是穿透力强,不易受天气影响。这样一来,即便是在大雾中,车辆也能通过这些传感器获取到周围环境的详细信息,再结合视觉数据,使得检测更加准确可靠。

当然,除了硬件设备外,软件算法也在不断进化。比如说,有些团队就在尝试通过深度学习的方法,让车辆学会在不同天气条件下调整自己的'视力”。这就像是给我们的眼睛加上了智能调光功能,无论是在晴天还是雾天,都能自动调节到最佳状态。这样一来,即便是突然遭遇浓雾,车辆也能迅速调整策略,确保行驶安全。

还有一些挺创新的技术,就比如说VESY传感器。它把雾天图像帧的显著性映射和目标检测算法YOLO 的输出融合到了一起,给实时应用提供了一种可行的办法。这种做法就好像是给车辆装上了“夜视仪”似的,就算是在能见度特别低的情况下,也能看清前方的障碍物。

在大雾天气下,纯视觉方案并不是孤立作战,而是通过一系列的算法优化、多传感器信息融合以及硬件升级等多种手段,共同保障了车辆的安全行驶。这就好比是一支乐队,只有各个乐器协调一致,才能演奏出美妙的音乐。同样,只有各项技术紧密配合,才能在复杂环境中确保车辆平稳前行。当然了,尽管技术越来越先进,但毕竟人命关天,在恶劣天气条件下,我们还是要保持警惕,毕竟技术再好,也不能完全替代人的判断力和应急反应能力!

下次遇到大雾天开车,虽然咱们心里可能还是会有些志忑,但至少知道背后有一整套强大的技术支持,让我们的出行更加安心。当然了,安全第一,任何时候都不能放松警惕,毕竟技术虽好,但最终还是人为本!

#Manipulate-Anything

操控一切! VLM实现真实世界机器人自动化

原标题:Manipulate-Anything:  Automating Real-World Robots using Vision-Language Models

论文链接:https://robot-ma.github.io/MA_paper.pdf

项目链接:https://robot-ma.github.io/

作者单位:华盛顿大学 圣巴勃罗天主教大学 艾伦人工智能研究所 NVIDIA

MANIPULATE-ANYTHING解决了什么?

大规模项目如RT-1以及社区广泛参与的项目如Open-X-Embodiment已经为扩展机器人演示数据的规模做出了贡献。然而,仍然存在提升机器人演示数据质量、数量和多样性的机会。尽管视觉-语言模型已经被证明可以自动生成演示数据,但它们的应用仅限于具有特权(privileged)状态信息的环境中,并且需要手工设计的技能,同时只限于与少量物体实例的交互。本文提出了MANIPULATE-ANYTHING,一种用于真实世界机器人操作的可扩展自动生成(scalable automated generation)方法。与以往的工作不同,本文的方法无需特权(privileged)状态信息或手工设计的技能,能够在真实环境中操作任何静态物体。在两个设置下对本文的方法进行了评估。首先,MANIPULATE-ANYTHING 成功生成了所有7个真实世界任务和14个仿真任务的轨迹,显著优于现有方法如VoxPoser。其次,MANIPULATE-ANYTHING生成的演示数据相比人类演示数据或VoxPoser、Scaling-up以及Code-As-Policies生成的数据,能够训练出更稳健的行为克隆策略。我们相信,MANIPULATE-ANYTHING 可以成为一种可扩展的方法,既能为机器人生成数据,也能在零样本环境下解决新任务。

MANIPULATE-ANYTHING的设计

现代机器学习系统的成功从根本上依赖于其训练数据的数量、质量和多样性。大规模互联网数据的可用性使视觉和语言领域取得了显著进展。然而,数据匮乏阻碍了机器人领域的类似进展。人类演示数据的收集方法难以扩展到足够的数量或多样性。像RT-1这样的项目展示了收集了17个月的高质量人类数据的实用性。其他研究则开发了用于数据收集的低成本硬件。然而,这些方法都依赖于昂贵的人类数据收集过程。

自动化数据收集方法在多样性上难以实现足够的扩展。随着视觉-语言模型(VLMS)的出现,机器人领域涌现了许多利用VLMS来指导机器人行为的新系统。在这些系统中,VLMS将任务分解为语言计划或生成代码以执行预定义技能。尽管这些方法在仿真中取得了一定成功,但在现实世界中的表现不佳。有些方法依赖于仅在仿真中可用的特权(privileged)状态信息,需要手工设计的技能,或者仅限于操作已知几何形状的固定物体实例。

随着视觉-语言模型(VLMs)性能的提升,以及它们展示出的广泛常识知识,我们是否能够利用它们的能力来完成多样化任务并实现可扩展的数据生成?答案是肯定的——通过精心的系统设计以及正确的输入和输出形式,我们不仅可以利用VLMs以零样本的方式成功执行多样化任务,还可以生成大量高质量的数据,用于训练行为克隆策略。

本文提出了MANIPULATE-ANYTHING,一种可扩展的自动化演示生成方法,用于真实世界中的机器人操作。MANIPULATE-ANYTHING能够生成高质量、大规模的数据,并且能够操作多种物体来执行多样化的任务。当被置于现实环境中并给定任务时(例如,图2中的“打开上层抽屉”),MANIPULATE-ANYTHING能够有效利用视觉-语言模型(VLMS)来指导机械臂完成任务。与之前的方法不同的是,它不需要特权(privileged)状态信息、手工设计的技能,也不局限于特定的物体实例。不依赖特权(privileged)信息使得MANIPULATE-ANYTHING能够适应各种环境。MANIPULATE-ANYTHING会规划一系列子目标,并生成相应的动作来执行这些子目标。它还可以使用验证器检查机器人是否成功完成了子目标,如有需要可以从当前状态重新规划。这种错误恢复机制使得系统能够识别错误、重新规划并从失败中恢复,并且将恢复行为注入到收集的演示数据中。本文还通过引入多视角推理,进一步增强了VLM的能力,显著提升了性能。

通过两个评估设置展示了MANIPULATE-ANYTHING的实用性。首先展示了它可以应对一个全新的、前所未见的任务,并以零样本的方式完成任务。本文在7个真实世界任务和14个RLBench仿真任务中进行了量化评估,并展示了在多个日常现实任务中的能力(详见补充材料)。在零样本评估中,本文的方法在14个仿真任务中的10个任务上显著优于VoxPoser。它还能推广到VoxPoser因物体实例限制而完全失败的任务中。此外,本文展示了该方法能够以零样本方式解决真实世界中的操作任务,任务平均成功率达到38.57%。其次展示了MANIPULATE-ANYTHING可以生成有用的训练数据,用于行为克隆策略的训练。将MANIPULATE-ANYTHING生成的数据与人工收集的真实演示数据以及VoxPoser、Scaling-up和 Code-As-Policies生成的数据进行比较。令人惊讶的是,基于本文数据训练的策略在12个任务中的5个任务上表现优于人工收集数据,并且在另外4个任务中表现相当(通过RVT-2评估)。与此同时,基准方法在某些任务上无法生成训练数据。MANIPULATE-ANYTHING展示了在非结构化的现实环境中大规模部署机器人的广泛可能性,同时也突显了其作为训练数据生成器的实用性,有助于实现扩大机器人演示数据规模这一关键目标。

图1:MANIPULATE-ANYTHING 是一种用于真实世界环境中机器人操作的自动化方法。与之前的方法不同,它不需要特权(privileged)状态信息、手工设计的技能,也不局限于操作固定数量的物体实例。它能够引导机器人完成多样化的未见任务,操纵不同的物体。此外,生成的数据可以用于训练行为克隆策略,其效果优于使用人类演示数据进行的训练。

图2:MANIPULATE-ANYTHING 框架。该过程首先将场景表示和自然语言任务指令输入到视觉-语言模型(VLM),模型识别出物体并确定子任务。对于每个子任务,本文提供多视角图像、验证条件和任务目标给动作生成模块,生成与任务相关的抓取姿势或动作代码。随后达到一个临时目标状态,子任务验证模块对其进行评估以进行错误恢复。当所有子任务完成后,本文对轨迹进行筛选,获得成功的演示数据,用于后续策略训练。

图3:MANIPULATE-ANYTHING 是一个开放词汇的自主机器人演示生成系统。本文展示了14个仿真任务和7个真实世界任务的零样本演示。

实验结果分析:

图4:扩展实验。随着训练演示数据量的增加,模型性能的扩展效果。

图5:生成数据的动作分布:本文比较了不同方法生成的数据与通过RLBench在人类生成的同一组任务演示中的动作分布。本文观察到本文生成的数据与人类生成的数据在分布上具有高度相似性。这一点也通过本文方法与RLBench数据之间计算出的CD得到支持,结果显示本文的方法的CD值最低(CD=0.056)。

图6:错误分解。来自仿真中三个任务的错误分解。

表1:零样本评估的任务平均成功率百分比。MANIPULATE-ANYTHING 在RLBench的14个仿真任务中有10个任务的表现优于其他基线方法。每个任务通过3个种子进行评估,得出任务平均成功率和标准差。

表2:使用不同生成数据的行为克隆。与其他自动数据生成基线相比,基于MANIPULATE-ANYTHING生成数据训练的行为克隆策略在12个任务中的10个任务上表现最佳。本文报告了使用VoxPoser 和 Code as Policies生成的数据训练的行为克隆策略的成功率百分比作为对比。需要注意的是,RLBench 基线使用的是人类专家演示数据,且被视为行为克隆的上限。

表3:真实世界结果。使用本文模型生成的真实世界数据(无专家介入)训练的模型,展示出与基于人类专家收集数据训练的模型相当的结果。本文展示了零样本任务完成成功率的比较(Code as Policies 和 MANIPULATE-ANYTHING),以及使用MANIPULATE-ANYTHING数据和人类专家数据训练的策略的成功率对比。whaoの开发板商城物联网设备测试

总结:

MANIPULATE-ANYTHING 是一种可扩展且环境无关的方法,用于生成无需特权(privileged)环境信息的零样本机器人任务演示。MANIPULATE-ANYTHING 利用视觉-语言模型(VLMs)进行高层次规划和场景理解,并具备错误恢复能力。这使其能够生成高质量的数据,用于行为克隆训练,且性能优于使用人类数据的训练结果。

#车圈大变天!激光雷达即将被判死刑?

昔日称霸车圈的智驾供应商Mobileye,近日宣布了一则重大决定——

今年内就要立刻关闭激光雷达研发部门,并且终止下一代激光雷达的研发工作!

抛弃激光雷达的原因,总结起来就是六个字:没必要,不挣钱。

Mobileye经过仔细评估过后,认为激光雷达对下一代智驾技术来说并没有那么重要;而且能省下每年6000万美元的研发成本,可以说是赢麻了。

无独有偶,2021年8月,Waymo宣布停止商业激光雷达业务;去年9月,博世也官宣放弃研发用于智驾的激光雷达……

激光雷达对于自动驾驶来说,到底是鸡肋还是必需?一直是个热门的争议话题。

“反对派”的代表人物,自然是世界首富马斯克。他曾多次公开diss:“只有傻子才会把激光雷达装在车上,这些自动驾驶公司都注定失败!”

马斯克这几年也确实没有动摇,FSD一直坚持纯视觉路线走到黑。不仅从来没用过激光雷达,甚至最近几年都把毫米波雷达给砍没了,能力上却越来越强。

除了特斯拉以外,搭载了百度Apollo智驾方案的极越,同样依靠纯视觉方案,就实现了城市领航辅助功能。

极越CEO夏一平,在最近也放出了类似的豪言:

华为一定会放弃激光雷达转投视觉方案,只是余承东太狡猾。一边在宣传激光雷达方案,同时背地里也一直在砸钱开发纯视觉方案,等纯视觉成熟就无缝切换,一点空档都不留给其他对手。”

图片

另一边,“支持派”的玩家也同样不少。包括小鹏、蔚来、理想、华为等等一线智驾玩家,纷纷选择了“摄像头视觉+雷达”融合感知方案。

他们一致认为,激光雷达是实现高阶智驾最不可或缺的关键零部件。

比如极氪智能科技副总裁林金文表示:“不用激光雷达,是在为降本找理由!”

图片

不过最近一段时间,风向开始出现了一些变化——

“端到端”技术浪潮来了!

随着今年特斯拉FSD推出了基于“端到端架构”的V12版本,删掉原本30万行C++代码,替换为3000行神经网络之后,系统决策准确度和执行速度都有了质的飞跃。

不依赖激光雷达、不依赖高精地图,仅仅依靠纯视觉都能把智驾做到如此流畅,难怪会让远赴美国试驾FSD的何小鹏都称赞不已。

图片

回国之后,何小鹏曾多次承认“端到端”技术的优越性,建议友商们“别犹豫,赶紧改”。

紧接着,小鹏就对激光雷达“动刀”了!

在小鹏MONA M03发布会上,何小鹏表示将推出“AI鹰眼视觉方案”,不搭载激光雷达,摄像头精度、可视距离大幅升级,同样可以有能力实现城市领航辅助驾驶,预计今年四季度将首次搭载在新款小鹏P7i上。

要知道,4年前车企们在智驾上搞军备竞赛的时候,卷激光雷达是非常疯狂的。

长城机甲龙甚至放出了“四颗以下别说话”这种豪言,威马M7也干脆直接上了3颗激光雷达……

不过这两款车都最终没能落地就是了。

到现在来看,只有阿维塔采用了3颗激光雷达的方案,其他的车型要么是大灯周围的双激光雷达方案,要么是车顶“犄角”式的单激光雷达方案。

而最近成都车展前后亮相的几款新车型,比如问界M7 pro、深蓝S7乾崑智驾版等等,都开始向纯视觉智驾的方案上倾斜。

要知道,同一款车型带激光雷达与不带激光雷达的,价格差距基本上都在1-4万元不等

于是这段时间,车圈出现了不少 “花高价买激光雷达的车主或将成大冤种”“激光雷达割韭菜”的声音。

图片

资本对于这种悲观的氛围是相当敏感的,导致今年下半年,禾赛、速腾聚创等等激光雷达公司的股价出现暴跌,市值缩水超过80%。

图片

要知道,在2年多前,同样是在智驾圈子里,高精地图曾经也被誉为智驾路线上的“香饽饽”。

但随着一线智驾玩家为了突破智驾的使用范围,纷纷开发无图方案高精地图沦为了被抛弃的对象。

这让图商四维图新一年爆亏了13亿,气得其CEO直接在公开场合Diss无图方案:“毫无安全敬畏!”

图片

既然无图智驾抛弃了高精地图,那么问题来了:

端到端技术的普及,会让激光雷达也面临被抛弃的厄运吗?

对于这个问题,首先要看看目前激光雷达在智驾系统中的重要性如何。

其实有个比较简单粗暴的判断方法——故意把激光雷达遮住再去测智驾功能不就OK了?

网上能找到不少这么测试的案例。

有的车型中的一些智驾功能,即使遮住激光雷达影响也比较小,甚至察觉不出影响。

比如,去年有一位B站UP主录了一段视频,他把阿维塔上的3颗激光雷达都拿纸壳糊上,然后在路上摆放障碍物进行自动紧急避障测试。

结果发现,时速跑到120km/h自动避障只是出现了轻微延迟,功能并没有受到影响。

同样的,有人把问界M7的激光雷达遮住测AEB,也能顺利刹停。

图片

把理想L8激光雷达遮住,会发现辅助驾驶仍然能正常开启,车道线识别和拨杆变道功能均可用。

但中控屏上会触发提示,激光雷达表面脏污,请及时清理,不能识别静止物体,和车辆、人以外的非标准物体。

图片

但,也有遮住激光雷达影响比较大的。

在市面上首款搭载激光雷达的车型小鹏P5刚刚上市那段时间,我们公社也曾做过类似的测试。在测试跨楼层泊车功能时,故意把P5的激光雷达用A4纸拿双面胶糊上。

结果发现,只遮挡一颗激光雷达的时候,跨楼层泊车功能仍然可用,对于车位和行人的识别并没有受到影响,仍然可以丝滑的执行避让动作。

但两颗激光雷达都被遮挡时,就不能顺利执行避让和泊车动作了。

图片

还有蔚来ET7,遮住激光雷达之后会显示辅助驾驶系统故障,无法激活。

图片

不同的车型遮住激光雷达,却出现了不同的结果。

这说明,不同车型、不同智驾功能,对于激光雷达的依赖度都是不同的,有的优先级比较高,一旦遮挡就无法启用;有的则优先级较低,不会影响功能使用。

总体上来说,目前激光雷达在智驾系统中扮演的角色,更多的是为了安全冗余考量。

但鉴于目前大多数融合感知智驾,采用的都是传统的BEV鸟瞰图+OCC占用网络+Transformer大模型的架构,而并没有完全切换到公认更前沿的“端到端”架构。

所以要讨论激光雷达会不会被抛弃,还要看要看它与端到端架构的兼容度如何。

图片

首先,目前传统的智驾架构逻辑,本质上就是将视觉图像做2D转3D,实时建立高精地图。

如果有激光雷达的话,就可以通过扫描物体轮廓,将扫描出来的周围环境更清晰和准确。

图片

不过,端到端架构完全是另一个路子!

端到端智驾不需要做2D转3D,直接根据图像输出加减速信号和转向幅度,流程上大幅简化,响应速度更快,更接近人类开车的方式。

但相对的,就需要投喂大量图像与驾驶操作的对应关系数据,才能让端到端模型的决策变得更准确。

对端到端技术感兴趣的朋友,可以再回顾一下这篇:​​太疯狂了!特斯拉删除99%代码,FSD却更好用了!智驾的终极答案竟然是它?​​

图片

简单来说就是,传统智驾靠的是感知信号与算法堆叠下的缜密逻辑,而端到端靠的是类似“肌肉记忆”的经验。

这也是为什么,有不少人认为端到端时代,激光雷达就不再那么重要了。

理由是,端到端智驾是在模仿人类的驾驶行为,本质上就是视觉感知下的经验判断,而激光雷达用的是多普勒效应,跟人类驾驶行为不搭边,所以激光雷达信号无法融入到端到端模型之中。

图片

个人认为这种说法有些欠妥,因为即使是激光雷达作为感知信号源,也能找到与加减速转向等数据的对应关系。

将激光雷达信号加入端到端大模型的训练,实际是可行的。

但存在两个难点需要克服:

一是目前市面上带激光雷达的车相对较少,导致可供端到端训练用的激光雷达信号非常有限;

二是加入激光雷达信号意味着变量的增加,这对于整车乃至云端训练算力的需求,将会指数级增加,以现在的硬件水平未必能hold住。

换句话来说,基于纯视觉的端到端架构,真的是未来智驾的终极答案吗?我看未必。

端到端是通过人类经验行为训练出来的,那么它理论上的能力极限,会无限接近于人类极限,但很难做到超越人类驾驶。

更何况,一旦雨雾等条件下便很难发挥作用,因此纯视觉端到端更像是为L2级自动驾驶服务的。

想要达到“人机共驾”L3,以及“无人驾驶”L4,必须要有更深层次的安全冗余,这时激光雷达的价值就体现出来了。

举个例子,有个词叫“空间感”,指的是人对于自身所处方位,与其他物体距离判断的能力。

有的人空间感强,有的人空间感弱。

但即使空间感再强的人,也很难直接通过视觉效果,用近大远小和透视关系精确推断出前车距离自己到底有多远。就算“我的眼睛就是尺”的王濛来了,也精确不到毫米级。

这也是为什么,早年间特斯拉出过很多起,因为识别不出静止的白色大货车而撞车的事故的原因之一。

但激光雷达不一样,可以通过激光反射及频率,测得非常准确的距离数值,达到厘米级甚至毫米级是可以实现的。

远高于摄像头感知的精确性,恰恰就是激光雷达不可或缺的关键。

图片

 写在最后

在当下这个时间节点,“纯视觉VS激光雷达”再次成为争论的话题,并不是因为激光雷达没有未来,而是因为现在的激光雷达还不够强。

就拿像素来个举例子——

问界M9上搭载的华为192线激光雷达,折合约为210万像素,而前置摄像头为800万像素。

目前,激光雷达的像素普遍不及摄像头。像素低了,扫描模型就会变“糊”,影响信息传递的准确性。

除此之外,激光雷达探测距离、扫描频率、抗环境干扰能力、体积、功耗等方面,还有许多优化空间。

图片

再有就是对车企来说无比重要的:成本

虽然近几年激光雷达降本非常迅速,从动辄5万元一颗到后来的2万元左右,到现在一颗在5000元左右,已经到了车企和用户都能支付得起的地步。

但跟数百元价位的摄像头相比,降本空间还很大。

几年前,车载激光雷达市场几乎完全被外资企业垄断,而最近几年,禾赛、速腾聚创等国产激光雷达已经在悄然间崛起,已经将占据了90%以上的市场份额。

图片

与此同时,国产激光雷达厂商们的研发脚步,并未停滞不前,而是在自身所处的产业链细分领域中,不断探索着智驾的终极答案。

智驾的终极答案究竟为何物?我们未曾可知。

但可预见的是,我们会努力成为第一个得到答案的人。

#UCLA提出全新可解释决策规划框架

完美发挥LLM和规则的双重魔力!

对于自动驾驶车辆要无缝融入为人类设计的交通系统,它们首先要“安全”,也就是作者常说的"Safty first!",但是同时也还会有一个关键要求就是“遵守交通规则(交通法规、法律和社会规范)”。但是交通规则是多样且复杂的,涵盖了来自不同地区法律、驾驶规范的数千条法规。在这些交通规则中,自车必须考虑各种因素,比如其他道路参与者的行为、当前道路状况和环境背景,来识别与特定场景相关的规则。这些因素的任何变化可能需要不同的规则或重新优先考虑现有规则。

  • 论文链接:https://arxiv.org/pdf/2410.04759

之前的一些工作集中在选择关键规则和人工写的决策规则上,然而,这种手动编码方法难以处理大量交通规则,并且不能轻易适应不同地区的法规。另外,交通规则的语义复杂性和上下文依赖性也是做决策的另一个难点。交通规则从标准解释到特定驾驶行为都有涵盖,需要以不同的方式整合到决策过程中。例如,法律的约束是严格的,而当地规范和安全条款可能需要根据场景灵活应用。因此,智能地理解和将人工写的的规则纳入决策系统对于自动驾驶车辆无缝融入人类交通系统至关重要。

对于为特定任务训练的传统AI系统来说,这是一个挑战,但具有强大理解和推理能力的大型语言模型(LLMs),可以做到!本文介绍了一个新的可解释的遵守交通规则的决策者,它结合了一个基于检索增强生成(Retrieval-Augmented Generation,RAG)构建的交通规则检索智能体和使用LLM(GPT-4o)的推理模块。推理模块会从两个层面上来评估行动:

  • 行动是否合规,即它是否遵循所有强制性交通规则;
  • 行动是否被认为是安全行为,即它是否既遵守强制性交通规则又遵循安全指南。

这种双重层面的评估确保了对合法合规和遵守安全驾驶实践的全面评估和决策。此外,为了增强可解释性,中间推理信息,如推理过程中使用交通规则,也会被输出,提供了评估者决策过程的透明度。​

相关工作

自动驾驶中的交通规则

为了将交通规则集成到自动驾驶系统中,已经有过很多的方法。早期的方法包括基于规则的系统和有限状态机,这些系统通过显式的if-then规则或状态转换来编码交通法律。为了处理复杂场景,出现了更复杂的方法:行为树创建了能够表示和执行交通规则的分层决策结构,以及使用LTL或MTL等时间逻辑的形式方法为指定和验证遵守交通法律提供了严格的框架。然而,这些方法通常难以应对现实世界交通规则的模糊性和地域差异,导致在创建能够适应不同监管环境的自动驾驶车辆时面临挑战。最近,大型语言模型(LLMs)在理解自然语言和解释复杂场景方面展现出了显著的能力。利用这些能力,LLMs可以以更灵活和上下文感知的方式处理和整合交通规则,无需基于规则的编码。例如,LLaDA利用LLMs从当地手册中解释交通规则,使自动驾驶车辆能够相应地调整任务和运动计划。同样,AgentDriver将交通规则纳入基于LLM的认知框架中,在规划期间存储和参考这些规则。然而,确保LLMs准确应用相关交通规则而不产生幻觉或误解仍然是一个关键挑战。

检索增强生成

检索增强生成(Retrieval-Augmented Generation,RAG)通过结合神经检索和sequence-tosequence生成器,解决LLM幻觉问题并提高信息检索的准确性,最近的一些研究已经证明了RAG在提高LLM在当前事件、语言建模和开放领域问答等领域的准确性和事实正确性方面的有效性。这些发现引发了RAG在提高基于LLM的自动驾驶系统的交通规则合规性方面的潜力。其动态检索能力使实时访问特定地区的交通规则成为可能,解决了适应不同监管环境的挑战。RAG提供的事实增强可以减少LLM中的幻觉,降低编造或误用交通规则的风险。RAG处理复杂和上下文信息的能力也非常适合解释具有多个条件或例外的微妙交通规则。此外,RAG的检索过程中固有的透明度可以提高自动驾驶系统中决策的可解释性,这是法规合规性和公众信任的一个关键因素。

自动驾驶的决策

自动驾驶的决策方法已经从基于规则的发展到基于学习的方法。基于学习的方法在动态驾驶环境中比前者表现出更大的适应性,使自动驾驶车辆摆脱了复杂手工规则的约束。两种典型的学习方法是模仿学习(imitation learning, IL)和强化学习(reinforcement learning, RL)。IL专注于模仿专家的决策,但面临在线部署中的不同分布问题。相反,RL在在线交互中探索和学习,但这种试错方法效率低下。此外,另一篇论文GPT-Driver引入了GPT到自动驾驶车辆中,将规划重新构想为语言建模问题。然而,在由交通规则构建的人类驾驶环境中,自动驾驶车辆不仅需要确保安全,还需要在驾驶过程中遵循这些规则,同时与人类驾驶的车辆一起驾驶。使用统一模型将不同的语义交通规则整合到决策中仍然是一个未充分探索的领域。​

提出的方法

作者提出的方法,如图1所示,包含两个主要组件:

  • 一个交通规则检索智能体(Traffic Rules Retrieval Agent),它使用检索查询从法规文档中检索相关交通规则;
  • 一个推理智能体(Reasoning Agent),它基于环境信息、自车的状态和检索到的交通规则来评估行动集(action set)中每个行动的交通规则依从性。

图片

作者首先做环境分析,为交通规则检索智能体生成检索查询,并为推理智能体提供环境信息输入。为了提取超出常见感知输出的更多法规相关特征,作者使用视觉语言模型(Vision Language Model,VLM)GPT-4o,基于自车的摄像头图像分析环境。分析遵循精心设计的“思考链”(Chain-of-Thought,CoT)流程:VLM首先进行广泛的环境概览并检查一般道路信息,然后进行详细分析,重点关注关键要素,如其他道路使用者、交通元素和车道标记,特别是与车辆全局规划输出相关的元素(例如,“右”、“左”或“向前”)。然后VLM生成一个简洁的检索查询,总结当前场景的情况,供交通规则检索智能体使用。

图片

图3展示了环境分析的一个示例输出。作者从基于全局规划输出的行动空间(Action Space)中提取一个行动集,该行动集包含所有可能的行动。为了简单起见,作者将行动空间仅包含一组预定义的行动:右转、左转、向前行驶(以当前速度、加速或减速)、向左变道和向右变道。提取过程选择与全局规划输出一致的行动。例如,如果全局规划输出是“左”,行动集将包括以当前速度、加速或减速左转。

交通法规的检索增强生成

为了增强模型对本地交通规则和规范的理解,并充分考虑所有可用来源的相关规则,作者开发了交通规则检索(Traffic Regulation Retrieval, TRR)智能体,如图2所示。

图片

由于不同地区有不同的交通规则来源,作者以美国为例来展示TRR智能体如何充分考虑可用来源。由于宪法原因,美国的交通规则由各州而不是联邦政府制定。城市还建立了本地规则以管理交通并确保安全。为确保全面覆盖,TRR包括州和地方法规。此外,为美国司法系统提供参考的案例法和提供额外安全指南的驾驶手册也被视为重要来源,并被纳入TRR。因此,作者设计的TRR包含以下综合法规文档集合:

  • 州级交通法律:由州立法机构制定并在整个州执行的,规范车辆运营并确保道路安全的法律。
  • 州级驾驶手册:由各州DMV出版,详细说明州交通法律和安全驾驶实践。它包括以文本和插图形式呈现的驾驶安全指南。
  • 市级交通规则:由地方政府制定,用于解决特定需求(如停车、速度限制和车道使用)的规则,以管理本地交通并确保安全。
  • 州级法院案例:对交通相关案例的司法裁决澄清法律并影响执法。
  • 交通规范:被广泛认可的驾驶员遵循的行为,以确保顺畅和安全的道路互动。这些规范对于自动驾驶车辆与人类驾驶行为和社会期望保持一致至关重要。本文不专注于为这些规范建立记录库,但作者将使用示例来说明作者的框架仍然适用。

在评估了基于传统倒排索引的检索方法(依赖于关键词输入,如BM25和Taily)的检索性能后,作者发现基于嵌入的算法(利用信息丰富的长查询并根据段落相似性检索)在完整性和效率方面显著优于前者。集成到TRR智能体中,基于嵌入的方法更有效地处理驾驶场景的复杂性。

每个文档或记录都被重新格式化为带有层次标题的markdown,以提高清晰度,使随后的推理智能体更好地解释。除了文本内容,尤其是在州级手册中广泛使用,用视觉示例澄清法规的图表,也被集成到TRR智能体中。这种集成特别重要,因为有些法规细节嵌入在图像中,但并未在相应的文本中明确描述。所以,图表被转换为文本标签,并附在相关段落的末尾,并在检索过程结束时适当恢复。

在检索过程中,作者首先为法规文档和先前生成的交通规则检索查询生成向量嵌入,然后应用FAISS相似性搜索来确定它们之间的相关性。从段落级到句子级的级联检索pipeline有助于确保结果既全面又简洁。在对整个数据源进行段落级嵌入后,应用top-k选择来选择最相关的段落,形成一个新颖的细分数据库。为解决由于大型标记化交通手册的规模而可能影响搜索准确性的稀疏性问题,作者对选定的段落进行了句子级重新嵌入。这第二级嵌入通过专注于最相关的部分,提供了更好的索引和搜索能力。这种方法允许动态适应,通过优先考虑可用法规的相关性。最终,TRR智能体汇总了从交通法规和州级法律中选定的句子、城市法规的规则以及法院案例,以及属性图像,以产生一个全面的结果,提供给推理智能体。

推理智能体

推理智能体利用带有CoT提示方法的LLM(GPT-4o),来负责确定行动集中的每个行动是否符合交通规则。推理智能体接收三个关键输入:

  • 来自环境分析的当前环境信息
  • 自车的行动集
  • 从TRR智能体检索到的一组交通规则。

在推理过程中,智能体首先过滤检索到的交通规则,以识别最适用于当前情况和自车预期行动的规则。然后,这些规则被归类为强制性规则(必须遵循以确保合法合规)或安全指南(代表最佳实践,虽然不具有法律要求,但建议采取以实现最佳驾驶行为)。推理智能体接着检查是否符合强制性规则。如果当前行动违反任何强制性规则,智能体得出行动不合规的结论;否则,它被标记为合规。然后模型通过检查强制性规则和安全指南(如果有检索到)来评估安全性,如果行动同时符合两者,它被标记为安全;否则,被标记为不安全。推理智能体为行动集中的每个行动输出一个二元合规性和安全性决策,并清晰地引用每个适用规则,详细说明行动为何合规或不合规,以提高推理过程的可解释性。然后框架选择被标记为既合规又安全的行动作为决策的最终输出。图3最右侧则展示了推理智能体的一个示例输出。​

实验结果

为了验证提出的方法以及其在利用法规进行决策制定方面的有效性,作者开发了一个全面的基准,其中包含了假设的和现实世界场景,如图3所示。假设场景提供了更大的多样性,而现实世界数据实验展示了框架在真实驾驶条件下的实际性能。作者主要在波士顿地区评估了这些场景。

交通规则检索(TRR)智能体和RAG

作者在TRR智能体中使用的文档集合遵循图2所示的架构,包括以下内容:

图片

作者使用了OpenAI的“text-embedding-ada-002”模型进行段落级检索,阈值设定为0.28,以及SentenceTransformers的“paraphrase-MiniLM-L6-v2”进行句子级检索,并收集了top-5检索到的句子。

假设场景

假设场景以文本格式描述,包括30种情况,涵盖了从转弯或通过交叉口等常见场景,到在分隔道路上超过停止的学校巴士或让从后方接近的紧急车辆等罕见案例,这些通常不被真实世界数据集所涵盖。这些场景由研究人员通过审查波士顿的法规代码和驾驶手册手动识别,因为它们对人类或自动驾驶驾驶员来说可能具有挑战性。作者评估了框架在30个假设场景中的性能,包括使用和不使用TRR智能体的数据,如图4所示。

图片

在缺乏特定本地法规或依赖交通规范的场景中,LLM有效地使用其广泛的预训练知识做出正确的决策。然而,在需要遵守详细的市级或州级法规或司法先例的场景中,仅LLM不足以确保安全。整合了包括本地法规和司法决定的TRR智能体,将场景-行动推理精度从82%提高到100%,决策制定精度从76%提高到100%。这突出了将全面的法律和司法信息整合到LLM框架中,以有效应对复杂的现实世界驾驶情况的重要性。

现实世界场景

为了评估框架在现实世界数据上的性能,作者在nuScenes数据集上对其进行了测试。由于它不是为与交通规则相关的任务设计的,因此不包含交通规则注释。为此,作者手动审查了摄像头图像,并选择了与交通规则强相关的样本,其中行动更多地受到交通规则的约束或影响。对于每个样本,作者为行动集中的行动标注了合规性和安全性标签,确定合规和安全的行动作为决策输出的基准真实值。为确保有意义的评估并避免由于重复或过于相似的场景导致的不平衡,作者仔细选择了适用不同交通规则的样本,或者由于与法规直接相关的场景特定因素导致相同规则的应用存在变化。因此,作者从验证集中识别出了17个多样化的样本进行评估,作者的模型为其中的15个样本产生了正确的输出和准确的推理。

图片

在图5(a)和(b)中,作者展示了两个场景:一个是没有行人的斑马线,一个是有行人的斑马线。对于没有行人的斑马线,模型在自车加速向前时输出“合规但不安全”,这符合常识。在有行人的场景中,加速向前不符合交通规则,作者的框架正确地识别了这一点,输出了正确的合规判断。这两个例子展示了模型根据环境因素的变化,准确地调整其评估的能力。在(c)中,作者进一步展示了一个需要同时考虑多个交通元素和规则的案例。在这个场景中,车辆在没有“禁止红灯右转”标志的红灯处右转,这使得右转在法律上是允许的。然而,有一个行人正在车辆前方的斑马线上过马路,要求车辆让行。因此,不礼让的右转是不遵守交通规则的。如最终输出所示,作者的模型成功识别了这一点,并输出了“不合规”。在(d)中,作者展示了一个自车接近施工区域并应减速的案例,作者的模型成功识别了这一点,输出了行动“以减速向前行驶”。这是以前基于规则的方法难以处理的场景,因为它们通常由于需要手工制定规则,通常只选择关键规则,经常省略特定案例,如施工区域的法规。

图片

在图6中,作者展示了新加坡的一个案例,以展示作者的模型可以轻松适应不同地区。在这个场景中,自车试图在红灯处右转。虽然在波士顿右转是合法的,但在新加坡是非法的。如图所示,作者的模型正确地输出了“不合规”,符合新加坡的交通规则。与以前需要为每个新地区重新制定规则的基于规则的方法不同,作者的模型只需简单地将交通规则文件从波士顿的切换到新加坡的,就可以无缝地适应新场景。

写在最后

本文介绍了一个可解释的、由LLM驱动的、重视交通规则的决策框架,该框架集成了交通规则检索(TRR)智能体和推理智能体。在假设的和现实世界场景上进行的实验证实了作者方法的强大性能及其对不同地区的无缝适应性。作者相信,该框架将显著提高自动驾驶系统的安全性和可靠性,增强监管机构和公众的信任。未来的工作将扩展框架的测试到更多地区,并多样化作者的测试场景。此外,开发一个全面的现实世界数据集,用于与交通规则相关的任务,对于该领域的未来研究和进步至关重要。

#RealMotion

连续自动驾驶中的运动预测

标题:Motion Forecasting in Continuous Driving

作者:Nan Song, Bozhou Zhang, Xiatian Zhu, Li Zhang

机构:Fudan University、University of Surrey

原文链接:https://arxiv.org/abs/2410.06007

  1. 导读
  2. 引言

运动预测是当代自动驾驶系统中的关键要素,它使自动驾驶车辆能够预测周围主体(agent)的运动模式。这一预测对于确保驾驶的安全性和可靠性至关重要。然而,众多复杂因素,包括随机的道路状况和交通参与者多样化的运动模式,使得解决这一任务颇具挑战性。近期的研究聚焦于表征和建模的研究,同时越来越重视精确的轨迹预测。此外,该领域还越来越关注多主体预测这一更具挑战性但更有价值的子任务。这些进展共同推动了近年来运动预测领域的显著进步。推荐课程:​​面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)​​。

  1. 效果展示

  1. 主要贡献
  2. 方法

鉴于现有基准测试与实际应用之间的差异,我们的首要步骤是对这些数据集进行重新组织,将每个样本场景转换为连续序列,以模拟连续的真实驾驶场景。具体而言,我们通过将智能体轨迹均匀分割为较短的片段并采样局部地图元素(参见图2),来回顾性地检查每个独立场景。具体来说,我们首先沿着历史帧步骤选择几个分割点Ti。然后,从这些点分别向过去和未来延伸,生成等长的轨迹片段。历史和未来步骤的数量分别由最小分割点和真实轨迹的长度决定。此外,在每个分割点,我们为感兴趣的智能体聚合一定范围内的周围智能体和局部地图,形成一系列子场景。这种重新组织方式能够自由利用原始元素,从而在场景层面为模型优化提供有价值的环境信息和渐进见解。因此,现有方法也可以引入这种新型数据结构并从中受益。

  1. 实验结果

7. 总结 & 局限性

在本文中,我们计划从更贴近实际的连续驾驶角度出发来解决运动预测任务。这本质上相较于之前的设定,将运动预测功能置于了一个更广泛的场景背景中。我们进一步提出了RealMotion,这是一个专为支持在时空上连续进行预测动作而设计的通用框架。我们框架的关键组件包括场景上下文流和代理轨迹流,这两者都以序列化的方式工作,并逐步捕捉时间关系。我们在多种设定下进行了广泛的实验,全面证明了RealMotion超越了当前最先进的性能水平,从而为快速发展的自动驾驶领域中的安全可靠运动预测提供了一个有前景的方向。

我们数据处理方法的一个明显限制是需要足够数量的历史帧来进行序列化。因此,它不适用于如Waymo Open Dataset等仅提供10帧历史轨迹的短期基准测试。此外,现有的数据集通常提供的历史信息与真实世界场景差异较大且有限,这阻碍了我们的序列化设计充分发挥其优势。因此,我们期望在未来的工作中将我们的框架集成到序列化的自动驾驶系统中,以最大化流式设计的效益。

#DIKI

基于残差的可控持续学习方案,完美保持预训练知识

本研究解决了领域-类别增量学习问题,这是一个现实但富有挑战性的持续学习场景,其中领域分布和目标类别在不同任务中变化。为应对这些多样化的任务,引入了预训练的视觉-语言模型(VLMs),因为它们具有很强的泛化能力。然而,这也引发了一个新问题:在适应新任务时,预训练VLMs中编码的知识可能会受到干扰,从而损害它们固有的零样本能力。现有方法通过在额外数据集上对VLMs进行知识蒸馏来解决此问题,但这需要较大的计算开销。为了高效地解决此问题,论文提出了分布感知无干扰知识集成(DIKI)框架,从避免信息干扰的角度保留VLMs的预训练知识。具体而言,设计了一个完全残差机制,将新学习的知识注入到一个冻结的主干网络中,同时对预训练知识产生最小的不利影响。此外,这种残差特性使分布感知集成校准方案成为可能,明确控制来自未知分布的测试数据的信息植入过程。实验表明,DIKI超过了当前最先进的方法,仅使用0.86%的训练参数,并且所需的训练时间大幅减少。
来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: Mind the Interference: Retaining Pre-trained Knowledge in Parameter Efficient Continual Learning of Vision-Language Models

  • 论文地址:https://arxiv.org/abs/2407.05342
  • 论文代码:https://github.com/lloongx/DIKI

Introduction

监督学习技术在对所有数据完全访问的情况下训练网络,这可能导致在扩展网络以获取新任务知识时缺乏灵活性。持续学习(CL)作为一种解决方案应运而生,使得模型能够在陆续到达的数据上进行持续训练,同时保留所学的信息。传统的CL设置一般考虑的只新引入的类别或领域分布的变化,这称为类别增量学习和领域增量学习。然而,只考虑一种增量的现有工作限制了它们在复杂现实场景中的适用性。

考虑一个更具挑战性的领域-类别增量学习(​​DCIL​​​)设置,在该设置中,领域数据分布和待分类的类别在所有任务中可能不断变化,如图1(a)所示。在这种情况下,基于传统图像编码器的技术由于其不可扩展的分类头设计而无法实现。最近,对比训练的视觉-语言模型(​​VLMs​​​)如​​CLIP​​​的出现,使得解决这一要求高但实际的问题成为可能。​​VLMs​​是在大规模的图像-文本对上训练的,具有强大的零样本泛化能力,可以识别几乎无限的类别,应对这种严重的任务变化场景。

然而,使用视觉-语言模型引入了增量训练的新挑战。传统的持续学习方案旨在防止模型遗忘先前学习的知识,这被称为向后遗忘(忘记微调的知识)。现有的研究探讨了正则化机制、复习缓冲区和架构设计在减轻向后遗忘方面的潜力,并取得了令人鼓舞的成果。然而,当这些方法应用于视觉-语言模型时,出现了一种不同形式的灾难性遗忘:模型往往会遗忘在预训练阶段所学的知识,从而妨碍其强大的零样本泛化能力。这个问题被称为向前遗忘(忘记预训练的知识),因为它发生在​​VLMs​​对未知分布数据进行“向前”预测时。图1(a)展示了这两种遗忘类型。

最近的工作​​ZSCL​​​尝试解决​​CLIP​​上的向前遗忘问题,引入了一个大规模的参考数据集来进行知识蒸馏,并结合了权重集成方案。然而,这种方法需要大量的计算和外部数据,在实际场景中可能不可行。同时,现有的基于VLM的参数高效持续学习方法主要利用提示调整机制,未能保留预训练知识,并导致零样本能力下降,如图1(b)所示。论文将这个问题归因于信息干扰:新引入的任务特定参数可能会干扰预训练知识。这些方法的示意图如图1(c)所示。

为了以计算和参数高效的方式缓解​​VLMs​​​的向前遗忘问题,论文引入了分布感知无干扰知识融合(​​DIKI​​​)框架。具体而言,将任务特定信息注入到冻结的​​VLM​​中,以便为每个任务高效地存储已学习的知识。

论文的贡献总结为三点:

  1. 引入了参数高效的DIKI,以在DCIL设置下保留VLM中的预训练知识。它解决了信息干扰问题,降低了对大量计算和外部数据的需求。
  2. 为了缓解向前遗忘,DIKI以完全残差的方式植入新知识,保持预训练知识不受干扰。凭借这种残差特性,进一步集成了分布感知融合校准,以提高在未见任务上的性能。
  3. 综合实验表明,与以前的方法相比,DIKI以仅0.86%的训练参数和显著更少的训练时间实现了最先进的性能。

Preliminaries

  • Continual learning protocol

图片

图片

  • Vision-language models

图片

  • Task-specific prompt learning

一系列研究开始探索在持续学习中参数高效微调的潜力,常见的做法是为每个任务学习和存储一组轻量级提示,在持续学习阶段形成一个“提示池”,表示为:

图片

其中N是任务编号,l和d分别是提示的长度和特征嵌入的维度。

图片

图片

图片

图片

图片

通过最相关的键,选择相应的提示并将其附加到冻结模型上,执行推理过程。​

Methodology

Interference-free Knowledge Integration

  • Is prepending the best choice?

尽管将提示预先添加到输入​​tokens​​的方法因其实现简单而被广泛使用,但论文发现它们面临两个方面的问题。

  1. 将提示与输入tokens进行连接会导致它们在注意力过程中相互作用,从而影响预训练知识的提取。当测试样本来自模型学习提示时的分布时,适应后的模型可以保持相对令人满意的结果。然而,一旦遇到分布发生改变的样本,这种干扰可能导致模型性能下降,并损失其重要的零样本泛化能力,造成前向遗忘问题。
  2. 简单地预先添加提示不可避免地增加了所有Transformer块的token长度,这在许多有token长度限制的场景中并不理想。另外,它的可扩展性有限:较长的提示上下文可能会使文本编码器忽视重要的类别名称,从而导致文本嵌入表示不佳。

上述问题的存在表明,基于提示调优的方法并不满足“残差属性”:期望学习到的参数应该是与冻结主干并行的残差路径,补充新的知识而不影响关键的预训练知识。因此,论文提出了一种无干扰知识整合(​​Interference-free Knowledge Integration​​​,​​IKI​​)方案,以最小化噪声的方式将新学习的知识注入到预训练的VLM中。

  • IKI mechanism

图片

图片

图片

图片

图片

为了解决这个问题,论文分别计算输入​​tokens​​​内的自注意力和提示与输入​​tokens​​之间的交叉注意力,如图2(b)所示。换句话说,只训练一个残差注意力分支,保持现有的注意力分数不变。通过新引入的键和值,残差注意力分支的输出可以表示为:

图片

图片

理想情况下,一个理想的残差块在未在下游数据集上进行训练之前,应该不会影响原始分支,比如在初始化时。广泛使用的方式用均匀或正态分布初始化提示,这会在没有学习到任何知识的情况下向预训练的​​VLMs​​中注入随机噪声。具体而言,通过将参数初始化为零,强制残差注意力加法成为一个恒等函数:

图片

注意,论文仅在开始时将值限制为零,同时保持随机初始化。这是因为将和都初始化为零矩阵会阻止通过梯度更新,从而使陷入到具有相同值的向量中。

由于零初始化更像是一种选择而非技术,一些研究在各种任务中采用了它。然而,这些工作利用零初始化来确保稳定和渐进的训练机制,而在DCIL场景中并不存在这一顾虑。论文认为,零初始化对于残差注意力设计是至关重要的,它可以以最小的噪声将新知识注入到预训练的VLMs中。​

Distribution-aware Integration Calibration

  • Observations 在推理时,会执行公式3中描述的查询-键匹配机制,以检索适合当前测试样本的学习提示。这种方法是针对传统的持续学习设置而设计的,仅考虑了向后遗忘。然而,当面对来自未见领域的数据时,这种简单的匹配设计被强制执行,从而为测试样本分配一个相对相似的任务,尽管它们之间存在显著的分布差距。

得益于​​IKI​​​的残差设计,与之前的方法相比,现在可以在这种不匹配的场景中引入更少的噪声。然而,当训练和测试分布之间的差异增加时,模型在某种程度上的性能下降是不可避免的,这会损害​​VLMs​​在预训练阶段所学到的零样本能力。

​ZSCL​​​通过蒸馏来解决这个问题。他们构建了一个包含来自ImageNet的100,000张图像的参考数据集,以在每个训练步骤中将原始​​CLIP​​的预训练知识蒸馏到当前模型中,明确进行复习以避免遗忘。这种方法可能有效,但它依赖于大规模存储和高计算资源,从而在实际环境中显得不切实际。

一个直观的解决方案是控制知识植入模型的程度。然而,之前基于前置的提示调整技术只有两个选择:要么追加学习到的提示,要么不对原始CLIP模型进行任何修改。得益于IKI的优雅残差特性,现在可以控制这一并行分支的能力。

  • DIKI: calibrate the integration with distribution

图片

图片

图片

图片

图片

图片

#Poison-splat

首个3DGS重大安全漏洞研究!首个研究如何攻击3DGS计算复杂性的工作

3DGS由Kerbl等人在2023年提出,迅速改变了3D视觉领域,获得了压倒性的欢迎。与NeRF不同,3DGS并非由神经网络驱动,而是通过学习一组3D高斯来捕捉场景,并使用光栅化同时渲染多个对象。这使得3DGS在渲染速度、照片逼真度和可解释性方面具有显著优势,成为该领域的游戏规则改变者。

高斯点云的一个有趣特性是其模型复杂度的灵活性。不同于NeRF或其他基于神经网络的算法,这些算法的计算复杂性通常由网络超参数预先确定并保持固定,3DGS可以根据输入数据动态调整其复杂性。在3DGS的训练过程中,可学习参数的数量,即3D高斯的数量,随着场景复杂度的变化而动态调整。具体来说,3DGS算法采用自适应密度控制策略,通过增加或减少高斯数量来优化重建,从而导致GPU内存占用和训练时间成本的可变性。

该设计的灵活性旨在为训练提供优势。然而,这种灵活性也可能成为一个漏洞。在本文中,我们揭示了一个严重且未被注意到的攻击向量:3DGS复杂性的灵活性可能被滥用,从而过度消耗计算资源(如GPU内存),并显著拖慢高斯点云系统的训练速度,将训练过程推向其最糟糕的计算复杂性。

本文介绍Poison-splat[1]是计算成本攻击方法,作为这种新型攻击向量的概念验证。Poison-splat以训练数据污染的形式出现(Tian等人,2022年),攻击者通过操纵输入数据来攻击受害者的3DGS系统。这在现实世界中具有实际操作性,因为像Kiri (KIRI)、Polycam (Polycam) 和Spline (Spline) 这样的商业3D服务提供商接收来自用户上传的图像或视频以生成3D捕获。攻击者可以伪装成普通用户提交污染数据,隐秘地发起攻击,甚至可以秘密篡改其他用户上传的数据。在高峰使用期,这种攻击会与合法用户争夺计算资源,降低服务响应速度,可能导致严重的后果,如服务崩溃,进而导致服务提供商的财务损失。

Poison-splat攻击被建模为一个最大最小问题。内部优化是3D高斯点云的学习过程,即在给定输入图像和相机姿态的情况下,最小化重建损失,而外部优化问题则是最大化解决内部问题的计算成本。

  • 虽然准确解决这个双层优化问题往往是不可行的,但我们发现攻击者可以使用代理模型来近似内部最小化过程,并专注于优化外部最大化目标。
  • 此外,我们观察到内存消耗和渲染延迟与训练中3D高斯数量呈现出显著的正相关关系。因此,攻击者可以在代理模型训练中使用高斯数量作为外部优化中的计算成本指标。

基于这些见解,Poison-splat攻击采用图像总变分损失作为先验来引导3D高斯的过度密集化,并能够以较低的成本近似解决这一双层优化问题。

主要贡献可概括为:

  • 揭示了3DGS模型复杂性的灵活性可以成为一个安全后门,使其容易受到计算成本攻击。这一漏洞在3D视觉和机器学习社区中基本上被忽视了。该研究表明,这类攻击是可行的,可能给3D服务提供商带来严重的财务损失。
  • 将对3D高斯点云的攻击建模为数据污染攻击问题。据我们所知,之前没有任何工作研究如何通过污染训练数据来增加机器学习系统的计算成本。
  • 提出了一种新的攻击算法,名为Poison-splat,它显著增加了GPU内存消耗并减缓了3DGS的训练过程。我们希望社区能够认识到这一漏洞,并开发更为健壮的3D高斯点云算法或防御方法,以减轻此类攻击的影响。

资源针对型攻击

在计算机安全领域,一个类似的概念是拒绝服务攻击(DoS攻击)。DoS攻击的目标是通过过度消耗系统资源或网络来使其无法为合法用户提供服务。常见的方法包括通过大量请求使系统负载过高,或通过恶意输入触发系统崩溃。这类攻击给现实中的服务提供商带来了严重风险,可能导致广泛的业务中断和经济损失。例如,生成式AI平台Midjourney曾经历了一次持续24小时的重大系统中断,可能是由于另一家生成式AI公司的员工试图抓取数据,导致拒绝服务。

在机器学习领域,类似的概念很少被提及。这可能是因为大多数机器学习模型在设置超参数后,其计算复杂性保持固定。无论输入数据内容如何,大多数机器学习算法的计算成本和资源消耗几乎是恒定的。然而,只有少数研究关注在推理阶段的资源针对型攻击。例如,Shumailov等人(2021年)首次发现了触发过度神经元激活的样本,这些样本能够最大化能量消耗和延迟。后续研究还探讨了其他针对动态神经网络和语言模型的推理阶段攻击。然而,据我们所知,之前的工作尚未针对机器学习系统的训练阶段的计算成本进行攻击。该工作首次通过高斯点云建模,提出了这一研究方向,该方法具有自适应的计算复杂性。​

POISON-SPLAT攻击​

问题表述

在数据投毒框架下对攻击进行表述。受害者是3D高斯点云(3DGS)的服务提供商,他们通常使用多视图图像和相机姿态的数据集 

攻击者。攻击者从干净数据集  开始,通过操作这些数据生成投毒训练数据 ,其中攻击者并不修改相机姿态配置文件。每幅投毒图像  是从原始干净图像 

受害者。另一方面,受害者从攻击者处接收了这个投毒数据集 ,并不知道数据已被投毒。受害者使用这些数据训练高斯点云模型 ,其目标是最小化重建损失(见公式1)。受害者的目标是尽可能实现最低的损失,从而确保高斯点云模型的质量。

优化问题。总结来说,攻击者的计算成本攻击可以表述为如下最大-最小双层优化问题:

其中,计算成本度量 ​

提出的方法

为了实施攻击,直接求解上述优化问题是不现实的,因为计算成本不可微。因此,我们试图为该目标找到一个近似解。

使用高斯数量作为近似。3DGS的一个主要优势是其根据输入数据的复杂性动态调整模型复杂性(即高斯的数量)的能力。这种适应性增强了模型在渲染复杂场景时的效率和逼真度。然而,这一特性也可能成为潜在的攻击后门。为了探索这一点,我们分析了高斯数量如何影响计算成本,包括内存消耗和训练时间。我们的研究结果(图2(a-b))揭示了计算成本与使用的高斯数量之间的显著正相关性。基于这一见解,使用高斯的数量 ∥G∥ 来近似内部优化中涉及的计算成本函数是直观的:

通过锐化3D物体最大化高斯数量。即使有了上述近似,解决优化问题仍然困难,因为3DGS中的高斯增密操作不可微。因此,攻击者不可能使用基于梯度的方法来优化高斯的数量。为了规避这一问题,我们探索了一种策略性替代方法。如图2(c)所示,我们发现3DGS倾向于为那些具有更复杂结构和非平滑纹理的物体分配更多的高斯,且这种复杂性可以通过总变分(Total Variation,TV)得分来量化,即评估图像锐度的度量标准。直观上,3D物体表面越不平滑,模型需要更多的高斯来从其2D图像投影中恢复所有细节。因此,非平滑性可以作为高斯复杂性的一个良好描述符,即 ∥G∥ ∝ STV(D)。受此启发,我们通过优化渲染图像的总变分得分 STV(Ṽk) 来最大化计算成本:

通过可选的约束优化平衡攻击强度与隐蔽性。上述策略使攻击能够显著增加计算成本。然而,这可能会导致图像的无限制更改,进而导致生成的视图图像在语义上的完整性丧失(参见图4(b)),使得攻击容易被检测到。考虑到攻击者可能希望在保持图像语义的同时隐秘地发起攻击,我们引入了一种可选的约束优化策略。受对抗性攻击的启发,我们在扰动上施加了L∞范数的ϵ球约束:

ϵ

其中,ϵ 表示将渲染的投毒图像限制在原始干净图像 Vk 周围的L∞范数的ϵ球内,即 ϵ。通过调整ϵ,攻击者可以在攻击的破坏性和隐蔽性之间进行权衡,实现所需的结果。如果ϵ设置为∞,则约束实际上被移除,返回到其原始的无约束形式。

通过代理模型确保多视图图像的一致性。我们研究中的一个有趣发现是,仅通过最大化每个视图图像的总变分得分来独立优化扰动,并不能有效增强攻击效果。如图3(b)所示,这种基于图像级别的总变分最大化攻击的效果显著低于我们的Poison-splat策略。这主要是因为图像级别的优化会导致不同视图之间的投毒图像出现不一致,从而削弱了攻击的整体有效性。

我们的解决方案受到了3DGS模型渲染函数的视图一致性特性的启发,该函数有效地保持了从3D高斯空间生成的多视图图像之间的一致性。基于此,我们提出训练一个代理3DGS模型来生成投毒数据。在每次迭代中,攻击者将当前的代理模型投影到相机姿态上,获得渲染图像 。此图像随后作为优化的起点,攻击者在干净图像  的 ϵ 范围内,搜索一个目标 ,以最大化总变分得分。接着,攻击者通过一个优化步骤更新代理模型,以模仿受害者的行为。在随后的迭代中,投毒图像的生成从更新后的代理模型的渲染输出开始。通过这种方式,攻击者通过迭代展开外部和内部优化,近似解决了这个双层优化问题,同时保持了视图之间的一致性,从而增强了攻击的有效性。我们在算法1中总结了Poison-splat的流程。​

实验效果

总结一下

Poison-splat揭示了3D高斯点云(3DGS)中的一个重大且此前未被重视的安全漏洞,该方法显著增加了3DGS的计算需求,甚至可以触发拒绝服务(如服务器中断),从而给3DGS服务提供商造成重大财务损失。通过采用复杂的双层优化框架和一系列策略,如攻击目标近似、代理模型渲染和可选的约束优化,该方法证明了此类攻击的可行性,并强调了简单防御措施难以应对这一问题。这是首个研究如何攻击3DGS计算复杂性的工作,首次探讨了机器学习系统训练阶段的计算复杂性攻击。希望3DGS领域的研究人员和实践者能够认识到这一安全漏洞,并共同努力开发更加健壮的算法和防御策略,以应对此类威胁。

局限性与未来方向

  1. 更好的外部最大化优化近似。在本研究中,通过高斯的数量来近似外部最大化目标(即计算成本)。尽管高斯的数量与GPU内存占用和渲染延迟有很强的相关性,但仍然可能存在更好的优化度量。例如,高斯的“密度”,即在相同平铺中参与alpha混合的高斯数量,可能是实现更好优化结果的一个更好的度量标准。
  2. 更好的防御方法。主要关注开发攻击方法,而没有深入探讨防御策略。我们希望未来的研究可以提出更健壮的3DGS算法,或者开发出更有效的防御技术来应对此类攻击。这一方向的研究将显著增强3DGS系统在实际应用中的安全性和可靠性。

社会影响
尽管我们的方法可能会被恶意行为者滥用,扰乱3DGS服务提供商并造成经济损失,但我们的目标并不是促成这样的行为。相反,我们的目的是揭示3DGS系统中存在的重大安全漏洞,并促使研究人员、从业者和服务提供商共同认识和解决这些问题。我们希望通过我们的研究,激励开发出更健壮的算法和防御策略,从而增强3DGS系统在实际应用中的安全性和可靠性。我们承诺坚持伦理研究,不支持利用我们的研究结果对社会造成伤害。

#扩散模型去伪求真,Straightness Is Not Your Need?

这篇文章探讨了基于rectified flow和flow-matching的扩散模型在生成领域的应用,并指出了对这些模型的常见误解。文章通过对比不同的扩散模型形式,如variance preserving (VP)、variance exploding (VE)和flow-matching,阐明了flow-matching只是一般扩散模型的一个特例,并非本质上更优越。

23年以来,基于rectified flow[1]和flow-matching[2]的扩散模型在生成领域大展异彩,许多基于flow-matching的模型和文章如雨后春笋般涌现,仿佛“直线”已经成为一种政治正确。

该blog的动机,是源于网络平台,诸如知乎,小红书,乃至许多论文中都出现了很多对于rectified flow (flow-matching) 的错误理解和解读。本文希望能够提供一个相对合理的视角来重新思考关于rectified flow相关的话题, 抛砖引玉。

该blog基于最近的论文:

Rectified Diffusion: Straightness is Not Your Need

单位: MMLab-CUHK, Peking University, Princeton University

​​https://arxiv.org/pdf/2410.07303​​

​​https://github.com/G-U-N/Rectified-Diffusion/tree/master​​

​​https://huggingface.co/wangfuyun/Rectified-Diffusion​​​

直观对比,FMs和一般的DMs有本质区别吗?

早在21年,Variational Diffusion Models[3] 就已经使用了一种general的扩散模型表达式 其中 

这种表达式的好处,在于他提供了一个统一的form来看待很多diffusion的形式。下面我们举几个例子:

  •  的表达式,也被称为variance preserving (VP)[6]的表达式。其只需要满足  。在这种情况下,我们很容易看到  ,这也是该表达式被称为 variance preserving的原因。所以,我们这样理解DDPM就会发现他的form也并不复杂,之所以 DDPM论文的原始推导显得如此复杂,就在于他额外引入了一个  序列,然后用  序列的累乘来计算得到 
  • variance exploding (VE) [6]的表达式,也常常被认为是EDM[7]的form,只要满足  即可。这个时候,  的值域就不会仅仅限制在0-1之间,而是会有 
  • 我们以同样的视角来看flow-matching的表达式,只要设置  就可以了。要说这种form的优点,大概就是他简单,不过从笔者的视角看,他也并不比variance exploding (VE) 的form简单, 因为VE中甚至只需要考虑唯一的变量 

以这种视角我们看到,flow-matching,它只是general 扩散模型表达式的一种特例,他并不比其他的形式包括VP, VE, Sub-VP更加特殊。要说为什么有很多文章诸如sd3,flow-matching等文章中的效果要比其他form好,我个人认为更多是超参数导致的问题,例如如何分配时间的采样,时间的weigthing,还有prediction type的差异等等。论文中通常为了表现自己方法的优越性,都会对自己的方法进行比较精细的超参数搜索。而对于一种diffusion form的最优超参数设置,未必适用于其他的diffusion forms。​

FMs的轨迹真的直吗?

关于这点的误解是最多的,其实所有的diffusion模型训练结束后,它们的采样轨迹几乎必然是curved。我们来看flow- matching的形式

因此

从上面的式子可能会误认为,  永远都是,因此是一条直线。但是由于我们diffusion的训练,  和  都是随机配对的,所以实际上  的最终的收敛目标会是

并且注意到, 对于不同时间刻, 这种期望并不相同, 因此不同时间刻  对应的 

我们用下面一张图更加形象的说明这个例子, 红色的点, 代表离散采样过程中每一步的 , 虽然每步模型denoise都是走直线, 但是由于 ​

Rectified Flow是怎么让轨迹变直的?

通读rectified flow[1] [8] [9]的相关文章,我们可以看到rectified flow相较于一般的DDPM,主要有三点核心的观点:

  1. Flow-matching。Rectified Flow提出上述的的扩散形式。中间的噪声状态  定义为 , 其中  为干净数据, 
  2. -Prediction。Rectified Flow提出采用 -预测, 即模型学习预测  。这使得去噪形式变得简单。例如, 可以基于  预测 , 公式为 , 其中  表示模型参数,^表示预测值。此外, 它避免了在  时使用 -预测时出现的数值问题。例如, , 这是invalid的。
  3. Rectification。Rectification(也称为Reflow)是Rectified Flow中提出的重要技术。它是一种渐进式的重训练方法, 能够显著提高低步长下的生成质量, 并保持标准扩散模型的多步预测的灵活性。具体来说, 它将标准扩散训练中采用的任意塊合  (真实数据) 和  (噪声)转变为一个新的确定性塊合  (生成数据) 和  (预先收集的噪声)。简单来说,它将  替换为 , 其中  是真实数据,  是由预训练扩散模型  生成的数据,  是随机采样的噪声,  是生成 

Rectified flow的采样轨迹,只有在执行了多次(一次)的rectification的操作之后,才会慢慢的变为直线,这也正是rectified flow中实现单步生成的重要操作。

Rectified flow包括后续的诸多工作,都强调Rectification这个操作,仅适用于flow-matching形式的diffusion模型。也就是说他们认为前两点~(1和2)是采用Rectification并实现采样加速的的基础,并强调修正过程(Rectification)将ODE路径“拉直”。如果是其他的diffusion forms,如VP, VE, sub-VP[6]等,则无法采用rectification的操作来实现加速。

这就导致,在InstaFlow[10]中 (Rectified Flow的后续工作,其作者尝试将rectified flow拓展到stable diffusion上的文生图任务),rectified flow的作者使用stable diffusion的原始权重初始化,但是将SD转变为flow-matching的form,并采用-prediction来进行重新训练。

所以,rectified flow中的这种观点真的正确吗?在加速sd的过程中,真的有必要首先将其转化为flow-matching的形式和-prediction吗? Flow-matching的diffusion form真的显著比别的形式好吗?​

Recfified Diffusion: 本质是使用配对的噪声样本对重训练。

Rectification实现采样加速的成功之处在于使用成对的噪声-样本进行训练。 为了清晰地展示差异,我们可视化了标准的flow matching训练和rectified flow的rectification训练的过程,分别对应算法1和算法2。差异部分以红色标出。一个关键的观察点是,在标准流匹配训练中,表示从训练集中随机采样的真实数据,而噪声 是从高斯分布中随机采样的。这导致了噪声和样本之间的随机配对。相对的,在rectification的训练中,噪声是预先从高斯分布中采样的,图像则是通过预先采样的噪声由前一轮重整(预训练模型)生成的,形成了确定性的噪声与样本的配对。

Flow-matching Training是标准diffusion training的子集。此外,算法2 可视化了更一般的扩散模型的训练过程,与算法1的差异以蓝色和橙色标出。值得注意的是,流匹配是我们讨论的扩散形式的一个特殊情况。从算法中可以看出,它们之间的唯一区别在于扩散形式和预测类型。因此,流匹配训练只是特定扩散形式和预测类型下的标准扩散训练的特殊情况。

通过比较算法2 和算法3 与算法1,可以自然而然的推导出算法4。本质上,通过引入预训练模型来收集噪声-样本对,并在标准的扩散训练中用这些预先收集的配对替换随机采样的噪声和真实样本,我们就得到了Rectified Diffusion的训练算法。

以此为基础,我们提出rectified diffusion。如图下图所示,我们的总体设计非常简单。我们保留了预训练扩散模型的所有内容,包括噪声调度器、预测类型、网络架构,甚至训练和推理代码。唯一的不同在于用于训练的噪声  和数据 ​

训练目标是轨迹一阶化

对于上述讨论的通用扩散形式 ,存在一个精确的ODE解形式[4],

图片

其中,  是  的反函数。左侧项  是一个预定义的确定性缩放。右侧项是关于  预测的指数加权积分。如果满足一阶ODE,上述任意  和 

图片

在文章中, 我们证明了任意  和  的上述两个方程等价当且仅当ODE轨迹上的 ​

一阶ODE与预定义扩散形式具有相同的形式

简而言之, 我们假设ODE轨迹是一阶ODE, 且存在一个解点  。因此, ODE轨迹上解点  对应的  预测是常数, 我们将其记作  。将  和 

这与预定义的前向过程形式完全相同。因此, 我们可以得出一阶ODE正是数据和噪声按预定义的前向扩散形式进行加权插值。唯一的区别在于, 上述方程中的  和  是在同一ODE轨迹上的确定性对, 而在标准扩散训练中,  和  是随机采样的。这意味着, 如果我们在训练中实现了数据 和噪声  的完美塊合, 并且不同路径之间不存在交叉 (否则  预测可能是不同路径的 ​

一阶化轨迹可能是弯曲的

对于一阶ODE, 虽然基于流匹配的方法的轨迹是直线, 但其他形式的扩散模型的轨迹可以本质上是弯曲的。但如果我们定义 , 我们将从方程

得到  。我们可以很容易地观察到  的轨迹是一条从初始点  朝向  方向的直线(即一阶轨迹可以转换为直线)。我们在下图中展示了我们的发现:我们选择  和  。图 (a) 和图 (b) 展示了流匹配和EDM的一阶轨迹, 它们都是直线, 但EDM的一阶轨迹和flowmatching完全不同。图 (c) 和图 (d) 展示了DDPM和Sub-VP的一阶轨迹, 它们的一阶轨迹本质上是弯曲的。图 (e) 展示了 ​

实验验证

我们进行了广泛的实验验证和方法对比,我们的方法取得了一致超越rectified flow相关方法的性能,并且与最先进的蒸馏加速算法[11] [12]也取得了comparable的结果。

最后欢迎大家关注我们的论文:

参考

  1. ^abFlow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow https://arxiv.org/abs/2209.03003
  2. ^Flow Matching for Generative Modeling https://arxiv.org/abs/2210.02747
  3. ^Variational Diffusion Models https://arxiv.org/abs/2107.00630
  4. ^abDPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps https://arxiv.org/abs/2206.00927
  5. ^Denoising Diffusion Probabilistic Models https://arxiv.org/abs/2006.11239
  6. ^abcdScore-Based Generative Modeling through Stochastic Differential Equations https://arxiv.org/abs/2011.13456
  7. ^Elucidating the Design Space of Diffusion-Based Generative Models https://arxiv.org/abs/2206.00364
  8. ^PeRFlow: Piecewise Rectified Flow as Universal Plug-and-Play Accelerator https://arxiv.org/abs/2405.07510
  9. ^Improving the Training of Rectified Flows https://arxiv.org/abs/2405.20320
  10. ^InstaFlow: One Step is Enough for High-Quality Diffusion-Based Text-to-Image Generation https://arxiv.org/abs/2309.06380
  11. ^Phased Consistency Model https://arxiv.org/abs/2405.18407
  12. ^Score identity Distillation: Exponentially Fast Distillation of Pretrained Diffusion Models for One-Step Generation https://arxiv.org/abs/2404.04057

#RoboGSim

Real2Sim2Real范式的数据合成器和闭环仿真器

随着具身智能的高速发展,真实环境下的高效数据获取变得愈发重要。然而,通过遥操捕获或真机现场采集的数据收集往往成本极高,且难以高效扩展数据规模。在仿真环境中采集任务序列是一种实现大规模数据采集的有前景方案,但现有模拟器在纹理和物理建模的高保真度上存在不足。为了解决这些问题,我们结合了 3D 高斯泼溅技术(3DGS)和物理引擎提出了 RoboGSim,一个基于 Real2Sim2Real 的机器人模拟器。RoboGSim 主要包括四个模块:高斯重建器、数字孪生生成器、场景组合器和交互引擎。它能够生成包含新视角、新物体、新轨迹和新场景的合成数据。此外,RoboGSim 提供了一种在线的、可重复的、安全的评估方式,用于不同抓取策略的评测。Real2Sim 和 Sim2Real 的交叉验证实验表明,RoboGSim 在纹理和物理表现上具有高度一致性。此外,我们在真实世界的抓取任务中验证了合成数据的有效性。我们希望 RoboGSim 能成为一个闭环模拟器,为策略学习的公平比较提供支持。项目页面:https://robogsim.github.io/

一些介绍

收集大规模的抓取数据对于有效的策略学习至关重要。一些方法建议通过遥操来捕获演示和动作信息。这样的操作虽然相对提高了采集效率,但随着数据规模的增大,往往会带来极大的成本。为了解决这个问题,另有一些工作尝试在仿真环境下合成数据,进一步用于学习抓取策略。然而,这些 Sim2Real 方法受到模拟环境和现实环境之间巨大域差距的影响,使得学习到的策略无效。

最近,一些工作引入了用于机器人学习的 Real2Sim2Real (R2S2R) 范式。核心思想是通过神经辐射场方法执行真实重建,并将学习到的表示插入模拟器中。在这些方法中,典型的方法 Robo-GS 提出了 Real2Sim 管道,并引入了混合表示来生成支持高保真模拟的数字资产。然而,它缺乏对新场景、视图和物体的演示综合,以及模型学习数据的验证。此外,由于潜在表示、仿真环境和真实世界之间的不一致,它无法对不同的策略进行闭环评估。

在本文中,我们提出一个名为 RoboGSim 的 Real2Sim2Real 模拟器,用于高保真演示综合和物理一致的闭环评估。主要包括四个部分:高斯重建器、数字孪生生成器、场景组合器和交互引擎。给定多视图的 RGB 图像序列和机械臂的 MDH 参数,高斯重建器基于 3DGS 构建,对场景和物体进行重建;数字孪生生成器执行网格重建并在 Isaac Sim 中创建数字孪生,同时我们提出布局对齐模块来对齐仿真环境、现实世界和 3DGS 表示之间的空间;之后,场景合成器将仿真器中的场景、机械臂和物体结合起来,并从新视角渲染图像;在交互引擎中,RoboGSim 作为合成器和评估器来执行演示合成和闭环策略评估。

与现有的 (Real2)Sim2Real 框架相比,RoboGSim 带来了许多优势。它是第一个将演示合成和闭环评测相结合的辐射场模拟器。RoboGSim 可以生成具有新场景、新视角和新物体的真实操纵演示,用以进行策略学习。它还可以对不同的策略网络进行闭环评测,确保现实环境下的公平比较。总之,我们的核心贡献可以总结为:

  • 基于 3DGS 的真实模拟器:我们开发了基于 3DGS 的模拟器,可以从多视图 RGB 视频中重建具有真实纹理的场景和物体。RoboGSim 针对一些具有挑战性的条件进行了优化,例如弱纹理、弱光和反射表面。
  • 数字孪生系统:我们在系统中引入了布局对齐模块。通过布局对齐的 Isaac Sim,RoboGSim 从 Real2Sim 空间映射物体和机械臂之间的物理交互。
  • 合成器和评估器:RoboGSim 可以将真实的操纵演示与新颖的场景、视图和物体进行合成,以进行策略学习。它还可以充当评估器,以物理一致的方式执行模型评估。

RoboGsim方法说明整体架构

如图 2 所示,RoboGSim 主要包括四个部分:高斯重建器、数字孪生生成器、场景组合器 和交互引擎。对于多视角图像和机器人臂的 MDH 参数,高斯重建器使用 3DGS 重建场景和物体,同时对机械臂进行分割,并构建 MDH 运动学驱动图结构,以实现机械臂的精确运动建模。数字孪生构建器负责场景和物体的网格重建,通过布局对齐,资产数据流可以互联,从而促进交互引擎的后续评估。场景合成器实现了新物体、新场景和新视角的合成。交互引擎可合成新视角/场景/物体的图像,并用于策略学习。同时,它还能以闭环方式评估策略网络。此外,我们还可以通过 VR/Xbox 等现实世界设备,在仿真中收集操作数据。​

高斯重建器

我们采用 3DGS 对静态场景进行重建,并对机器人臂关节的点云进行分割。随后,利用 MDH 动力学模型控制对应每个关节的高斯点,从而实现机器人臂的动态渲染。

3DGS 使用多视角图像作为输入,完成高保真场景重建。3DGS 将场景表示为一组高斯分布,并采用可微分的光栅化渲染方法以实现实时渲染。具体来说,对于由  个高斯点表示的场景 ,每个高斯点可以表示为 。其中, 表示均值, 表示协方差矩阵, 表示不透明度, 表示通过球谐系数表示的颜色因子。

在渲染过程中,像素的最终颜色值  可以通过类似于 alpha 混合的渲染方法计算得到。它利用了与该像素重叠的  个有序高斯点的序列。此过程可以表示为:

其中  表示第  个高斯点对于当前像素的不透明度,  表示 2D 高斯点中心和像素中心的位移量, 表示 2D 协方差矩阵。

MDH是一种参数化模型,用于描述机械臂的运动链。运动链中的每个关节和连杆都由一组参数表征。在 MDH 模型中,可以为每个连杆构造一个变换矩阵,从而实现机械臂在运动过程中每个阶段姿态的精确表示。设  表示第  个关节的原点坐标。对于一个机械臂,第  个关节的配置可以表示为:

图片

其中, 表示扭转角,即从第  个关节到第  个关节绕  轴的旋转角度。 表示连杆长度,是从  到  沿  轴的距离。 是连杆偏移,表示从  到  沿  轴的位移。 表示关节角,是从  到  绕  轴的旋转角度。

使用 MDH 参数构造的每个连杆的变换矩阵  可以写为:

通过依次相乘这些变换矩阵,可以得到从基座到末端执行器的最终变换矩阵。

我们对每个关节进行分割,并将关节内的所有高斯点视为一个质点。随后,根据  对每个关节内的所有高斯点进行移动,从而实现对高斯点的运动学驱动控制。​

数字孪生生成器

数字孪生不仅应映射现实世界资产,还需要进行坐标对齐。通过 Real2Sim 布局对齐和 Sim2GS 稀疏关键点对齐,我们能够将真实世界的数字化,实现真实、仿真和 3DGS 表示之间的数字资产流动。这种方法促进了数字资产在各方向的转换,实现全面的资产整合。

3D 资产生成

我们采用两种方法生成 3D 物体资产。对于现实世界中的物体,我们通过旋转台捕获物体的高质量多视角图像,并使用 GIM 提取匹配特征,以解决纹理缺乏和反射等问题。随后,我们集成 COLMAP 管道,获得初始的 SFM 点云,并使用 3DGS 对其进行重建。此外,对于来自网络的新颖物体,我们首先使用 Wonder3D 获得几何一致的法向量和纹理网格,然后利用 GaussianEditor 中基于扩散模型的方法,在 3DGS 中完成物体重建。

布局对齐

如图 2 所示,由于我们遵循机械臂的局部坐标系统,因此世界坐标系与 Isaac Sim 仿真器间已经轴对齐。我们首先测量真实世界的场景,并对 Isaac Sim 中导入的桌面场景进行尺寸对齐。为实现坐标对齐,我们在 3DGS场景和 Isaac Sim 场景中同时在基座关节上方 1.6 米处放置向下的摄像机,通过比较从 BEV 视图渲染的场景,正面和侧面分割视图中渲染的场景,我们在 Isaac Sim 中调整偏移量以实现布局对齐。

Sim2GS 对齐

对于基于 MDH 的变换矩阵  和仿真变换矩阵 ,存在一个变换矩阵  满足以下关系:

图片

为了计算平均变换矩阵 ,我们采用加权求和并进行归一化:

图片

其中, 为每个关节的权重。

对于 Isaac Sim 中的目标物体 ,可以使用以下公式将其转换为 3DGS 坐标系:

图片

相机定位

为了将现实世界的坐标系转换到 3DGS 坐标系,我们采用 GS-SLAM 中的定位方法。对于一个预训练的 3DGS 模型  ,我们冻结 3DGS 的属性,并优化外部相机参数 。

在相机定位过程中,仅优化当前相机的姿态,而不更新地图表示。对于单目情况,我们最小化以下光度残差:

图片

其中,  表示通过高斯点  和像机参数  渲染的新视角图像, 是观测到的图像。​

场景组合器

为了将点云合并到机械臂场景中,首先计算标记点的变换矩阵 。然后,基于该变换矩阵将新场景中的点云坐标投影到机器人臂的坐标系中。通过以下公式将 3DGS 中的 3D 协方差  展开为缩放因子  和旋转四元数 :

图片

变换的比例因子  可以被分离并提取为一个独立分量:

图片

进一步使用  对旋转矩阵  进行归一化:

图片

调整高斯点的缩放属性 :

图片

将变换  应用于高斯点的坐标:

图片

物体编辑

此处的变换可以扩展自上述场景编辑的变换。不同之处在于目标物体的坐标中心由 (1) 给出。高斯点的坐标变换可以表示为:

图片

交互引擎

我们的交互引擎可以作为数据生成器模型评估器使用。作为数据生成器,它可以以低成本生成大量数据用于下游策略学习;作为评估器,它可以进行安全、实时且可重复的评估。

数据生成器

我们使用引擎生成多种训练轨迹,包括机器人臂运动轨迹和目标轨迹。这些轨迹驱动 3DGS 生成大规模、高度真实的模拟数据集,用于策略学习。这些多样化的数据集包括新视角渲染、场景组合和对象替换。

模型评估器

对于已训练的模型,直接在物理设备上测试可能存在安全风险或带来高昂的复现成本。因此,我们将预测的轨迹转换为 3DGS 渲染结果,以高效、快速地评估模型的预测质量。具体来说,Isaac Sim 输出目标对象和机器人臂的初始状态,3DGS 根据状态进行渲染。渲染图像被输入到策略网络中,预测下一帧的动作。预测的动作被传递到仿真环境中,用于运动学反解析、碰撞检测和其他物理交互。随后,Isaac Sim 将解析得到的六轴相对位姿发送至 3DGS 渲染器,渲染器将渲染结果作为反馈返回给策略网络。这一过程为预测下一步动作提供了视觉反馈,持续迭代直到任务完成。

实验

由于目前尚无 Real2Sim2Real 的基准,我们构建了以下四组代理实验,全面评估 RoboGSim 在模拟和现实场景中的性能。所有实验均使用 UR5 机械臂进行。机械臂的渲染部分基于 Robo-GS  的代码库实现。

Real2Sim 新位姿合成:验证从现实世界采集的机械臂位姿是否可以有效用于实现模拟器中的精准控制。

Sim2Real 轨迹重现:检查在模拟器中收集的轨迹是否能够被真实世界中的机械臂准确复现。

RoboGSim 作为数据生成器:展示 RoboGSim 生成具有新场景、新视角和新对象的高保真演示能力,并与现实世界对齐。

RoboGSim 作为评估器:展示 RoboGSim 能够高效执行策略网络的闭环评估。​

Real2Sim 新位姿合成

新位姿合成的目标是验证 Real2Sim 重建的性能,特别是机械臂运动的准确性和图像纹理的逼真度。静态场景使用机械臂初始姿态的第一帧 GT 进行重建。真实机械臂采集的轨迹作为驱动力,并通过运动学控制实现新位姿的渲染。

如图 3 所示,实验结果表明,我们的重建能够准确捕捉机械臂的纹理和物理动态,突显了 RoboGSim 实现的高保真度。与真实机械臂在新视点下的视频序列对比,RoboGSim 在渲染中达到了 31.3 的 PSNR 和 0.79 的 SSIM,同时保证了每秒 10 帧的实时渲染速度。​

Sim2Real 轨迹重现

为了验证 Isaac Sim 中的轨迹是否能够与真实机械臂和 RoboGSim 有效对齐,我们设计了一项实验:首先在 Isaac Sim 中采集轨迹,然后利用该轨迹驱动 GS 渲染一个抓取可乐的场景,同时将相同的轨迹用于驱动真实机械臂抓取可乐罐。

如图 4 所示,实验结果显示,模拟策略与机械臂的实际物理行为之间具有较强的对齐效果,突出体现了我们系统中 Sim2Real 迁移的有效性。这些结果表明,我们的模拟可以可靠地建模现实世界的动态,促进策略从模拟到现实的成功迁移。​

RoboGSim 作为数据生成器

在本部分,我们使用视觉-语言-动作 (VLA) 模型验证 RoboGSim 生成数据的有效性。我们使用 LLAMA3-8B 作为大语言模型 (LLM),CLIP 作为视觉编码器,并采用两层 MLP 作为投影网络。VLA 模型在 8xA100 (80GB) 上训练 1 个 epoch,训练过程分为三个阶段:(1)预训练阶段:仅启用连接器,使用 LAION-558K 数据集。(2)训练阶段:解冻 LLM,使用 LLaVA665K 数据集。(3) 监督微调 (SFT):使用机器人图像-动作数据进行训练,同时冻结 CLIP 权重。

我们在具有挑战性的套圈任务上进行实验(见图6),该任务分为两个子任务:拾取套环和将其投放至目标。对于真实世界数据,人工采集了 1,000 个样本。为了公平比较,我们使用 RoboGSim 生成了 1,000 个合成样本。在测试阶段,每个模型测试 10 次,每次允许 3 次尝试。如果 3 次尝试均失败,则该次测试标记为失败。

如表 1 所示,使用 RoboGSim 合成数据训练的 VLA 模型实现了 40% 的抓取成功率和 50% 的投放成功率。相比之下,使用真实数据训练的 VLA 模型抓取成功率为 90%,投放成功率为 70%。需要注意的是,人工采集数据耗时 40 小时,而 RoboGSim 的数据生成仅需 4 小时。进一步扩展合成数据规模有望提升模型性能。图 6 展示了一些成功和失败案例的可视化结果。此外,我们还提供了更多关于新场景合成的定性分析。如图 5 所示,我们展示了 UR5 机械臂在新场景中的物理迁移结果,包括工厂、货架以及两个室外环境。高保真的多视图渲染表明,RoboGSim 能够使机械臂在多样化场景中无缝操作。​

RoboGSim 作为评估器

逼真的闭环评估对于验证和比较策略网络至关重要。本部分主要探索 RoboGSim 作为评估器的有效性,以展示其与现实推理的高度一致性。

在实验中,我们将训练良好的 VLA 模型分别部署到真实机器人和 RoboGSim 模拟环境中。如图 7 所示,我们的闭环模拟器 RoboGSim 可以再现与现实世界类似的结果。对于相似的错误案例,RoboGSim 能够避免现实中存在的问题,例如越界和碰撞。因此,RoboGSim 提供了一个公平、安全且高效的策略评估平台。

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

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

相关文章

计算分数的浮点数值

计算分数的浮点数值 C语言代码C 代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点…

戴尔电脑安装centos7系统遇到的问题

1,找不到启动盘(Operation System Loader signature found in SecureBoot exclusion database(‘dbx’).All bootable devices failed secure Boot Verification) 关闭 Secure Boot(推荐): 进入 BIOS/UEFI…

简单获取json预览

data: JSON 数据。 collapsedNodeLength: 对象或数组的长度超过此阈值时会折叠 deep: json路径深度超过此值时会折叠 showLineNumber: 显示左侧行号 showIcon: 显示图标。 virtual: 使用虚拟滚动 height: 使用虚拟滚动时列表的高度 itemHeight: 使用虚拟滚动时节点的高…

ChatGPT/AI辅助网络安全运营之-数据解压缩

在网络安全的世界中,经常会遇到各种压缩的数据,比如zip压缩,比如bzip2压缩,gzip压缩,xz压缩,7z压缩等。网络安全运营中需要对这些不同的压缩数据进行解压缩,解读其本意,本文将探索一…

Cookie概念和API

Cookie概念 Cookie在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。 Cookie是由服务器…

qt音频实战

一、Qt音频基础知识 1、QT multimedia 2、QMediaPlayer类:媒体播放器,主要用于播放歌曲、网络收音机等功能。 3、QMediaPlaylist类:专用于播放媒体内容的列表。 二、界面设计 三、代码 #include "mainwindow.h" #include "…

GDPU Android移动应用 数据存储

又是学到了数据持久化。 登录界面 题外话:有无动画大佬带带呀,前端移动端可免( •̀ .̫ •́ ),合作可私信哦。 1.用户登陆和“记住我”功能 该内容拥有两个Activity活动视图: (1)LoginActivity&#x…

Java算法OJ(11)双指针练习

目录 1.前言 2.正文 2.1存在重复数字 2.1.1题目 2.1.2解法一代码 解析: 2.1.3解法二代码 解析: 2.2存在重复数字plus 2.2.1题目 2.2.2代码 2.2.3解析 3.小结 1.前言 哈喽大家好吖,今天来给大家分享双指针算法的相关练习&…

天锐绿盾加密软件与Ping32联合打造企业级安全保护系统,确保敏感数据防泄密与加密管理

随着信息技术的飞速发展,企业在日常经营过程中产生和处理的大量敏感数据,面临着越来越复杂的安全威胁。尤其是在金融、医疗、法律等领域,数据泄漏不仅会造成企业巨大的经济损失,还可能破坏企业的信誉和客户信任。因此,…

Git上传本地项目到远程仓库(gitee/github)

目录 序言一、创建git本地版本库二、连接远程仓库(以gitee为例)三、将项目提交到git(本地)版本库1.由工作区添加到暂存区2.由暂存区添加到版本库 四、将代码由本地仓库上传到 gitee远程仓库1.获取远程库与本地同步2.把当前分支 ma…

C7.【C++ Cont】范围for的使用和auto关键字

目录 1.知识回顾 2.范围for 格式 使用 运行结果 运行过程 范围for的本意 作用 注意 3.底层分析范围for的执行过程 反汇编代码 分析 4.auto关键字 格式 基本用法 在范围for中使用auto 1.知识回顾 for循环的使用参见25.【C语言】循环结构之for文章 2.范围for C…

【仓颉学习02】编译后运行报错:“由于找不到libcanjie-runtime.dll,无法继续执行代码。重新安装程序可能会解决此问题。”

敲了段《仓颉语言实践》(张磊著)书上的代码,如下: package test //coding:utf-8struct Employee{var name:Stringprivate var realSalary:Float64public Employee(name:String,realSalary:Float64){this.namenamethis.realSalary…

AI智算-正式上架GPU资源监控概览 Grafana Dashboard

下载链接 https://grafana.com/grafana/dashboards/22424-ai-gpu-20241127/

LINUX2.4.x网络安全框架

在分析LINUX2.4.x网络安全的实现之前先简介一下它里面包括的几个重要概念:netfilter、iptables、match、target、nf_sockopt_ops、网络安全功能点的实现。详解会在后面的分析中讲到。 首先是netfilter,它定义了协议栈中的检查点和在检查点上引用的数据结…

【博主推荐】C# Winform 拼图小游戏源码详解(附源码)

文章目录 前言摘要1.设计来源拼图小游戏讲解1.1 拼图主界面设计1.2 一般难度拼图效果1.3 普通难度拼图效果1.4 困难难度拼图效果1.5 地域难度拼图效果1.6 内置五种拼图效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载结束语 前言 在数字浪潮汹涌澎湃的时代,程序开…

pytorch错误: 找不到指定的模块 Error loading “torch_python.dll“ or one of its dependencies

省流:python(3.12.7) 和 pytorch(2.4.0)版本不配套 问题 起因是看到了这本书《Build a Large Language Model (From Scratch) 》,是2024年9月新出的, 作者 Sebastian Raschka,想要按照作者给出的步骤来手搓一个大语言模型&#…

渗透测试学习笔记(一)渗透测试方法论

一.渗透测试方法论 渗透测试方法论是制定实施信息安全审计方案时,需要遵循的规则,惯例和过程。人们在评估网络,应用,系统或者三者组合的安全状态时,不断摸索各种实务的理念和成熟的做法,并总结了一套理论-…

【论文阅读】如何高效阅读和理解学术论文

【论文阅读】如何高效阅读和理解学术论文 写在最前面一、为什么需要系统的阅读方法?二、阅读论文的11步方法三、实践示例四、常见问题解答五、结语 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持…

Java 基础面试 题(Java Basic Interview Questions)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

HCIE IGP双栈综合实验

实验拓扑 实验需求及解法 本实验模拟ISP网络结构,R1/2组成国家骨干网,R3/4组成省级网络,R5/6/7组成数据中 心网络。 配置所有ipv4地址,请自行测试直连。 R1 sysname R1 interface GigabitEthernet0/0/0ip address 12.1.1.1 255.…