发明内容
本申请实施例提供了一种入侵检测方法和装置。
根据第一方面,提供了一种入侵检测方法。该入侵检测方法包括:从LiDAR传感器获得第一点云;通过对该第一点云应用第一感知处理,获得第一物体信息;修改该第一点云以获得第二点云;通过对该第二点云应用第二感知处理,获得第二物体信息;以及基于该第一物体信息与该第二物体信息之间的比较,提供入侵结果。
在本申请实施例提供的技术方案中,可以通过比较初始物体信息和修改后的物体信息识别对抗性攻击。换句话说,可以识别出攻击者造成的点云异常。因此,本申请实施例的方法可以提高物体检测的可靠性,有利于为后续的控制策略提供更准确的感知结果。
另外,本申请实施例提供的技术方案可以以物体点云为单位检测入侵,而不是以每个点为单位检测入侵。换句话说,该技术方案可以对每个物体区域逐个起作用,而不是检测整个点云。该技术方案针对物体区域,因此比分析场景中的全部的点更快。
例如,第一点云属于来自LiDAR传感器的原始点云。第一点云包括物体的一组点云。换句话说,可以通过感知第一点云识别物体。
例如,物体信息包括以下中的至少一项:物体的位置(x,y,z)、物体的体积(宽度,高度,长度)或客观性得分。
第一物体信息可以是识别的物体信息,也可以是不确定的物体信息。识别的物体信息是指具有高置信度分数的物体信息。不确定的物体信息是指具有低置信度分数的物体信息。
可选地,修改该第一点云以获得第二点云包括随机修改该第一点云以获得该第二点云。
在一种可选的实现方式中,该第一感知处理和该第二感知处理使用相同的感知算法。
通过这种方式,不需要额外的感知算法,减少了对存储空间的需求,即不需要为其他感知算法提供额外的存储空间。
在一种可选的实现方式中,修改该第一点云以获得第二点云包括以下中的至少一项:向该第一点云添加一个或多个点,或从该第一点云移除一个或多个点。
应注意,将该第一点云修改为该第二点云的操作可以包括一个或多个修改。
在一种可选的实现方式中,修改该第一点云以获得第二点云包括:从以下动作中选择一个动作:添加,移除,移除和添加的组合,重置和添加的组合,重置和移除的组合,或重置、添加和移除的组合;定位将执行该动作的一个或多个点;并对该一个或多个点执行选定的操作。
可选地,从以下动作中选择一个动作包括:通过深度强化学习选择一个动作。
通过这种方式,可以分别确定动作和位置,有利于获得更合适的修改,从而尽快获得检测结果。
在一种可选的实现方式中,该方法还包括通过深度强化学习定位该一个或多个点。
在一种可选的实现方式中,基于该第一物体信息与该第二物体信息之间的比较,提供入侵结果包括:当该第一物体信息与该第二物体信息之间的比较等于或大于第一阈值时,将该第一物体信息分类为入侵。
在一种可选的实现方式中,该方法还包括以下中的至少一项:丢弃该第一物体信息,或将校正后的物体信息发送给规划模块,其中该校正后的物体信息是基于该第二物体信息获得的。
发送校正后的物体信息可以看作是一种警告入侵的形式。
例如,当第一信息对应的物体是攻击者添加的物体时,丢弃第一物体信息。
例如,当第一信息对应的物体是攻击者移除的物体时,将校正后的物体信息提供给规划模块。
校正后的物体信息可以是第二物体信息。
当该方法应用于自动驾驶系统时,可以提高驾驶的安全性和用户体验。例如,当应识别的物体被攻击者隐藏时,本申请实施例提供的技术方案可以识别出隐藏的物体,并警告入侵以避免事故,包括车祸。例如,当攻击者创建了不应被识别的物体时,本申请实施例提供的技术方案可以识别创建的物体并丢弃该物体信息,以避免冻结车辆或触发紧急制动。
在一种可选的实现方式中,基于该第一物体信息与该第二物体信息之间的比较,提供入侵结果包括:当该第一物体信息与该第二物体信息之间的比较小于该第一阈值时,将该第一物体信息分类为良性。
在一种可选的实现方式中,该方法还包括:将该第一物体信息发送给规划模块。
通过这种方式,将分类为良性的物体信息传递给规划模块,有利于规划模块做出正确的决策。
根据第二方面,提供了一种入侵检测装置。该入侵检测装置包括:获取单元,用于:从LiDAR传感器获得第一点云;和通过对该第一点云应用第一感知处理,获得第一物体信息;以及处理单元,用于修改该第一点云以获得第二点云;其中该获取单元还用于:通过对该第二点云应用第二感知处理,获得第二物体信息;和该处理单元还用于基于该第一物体信息和该第二物体信息之间的比较,提供入侵结果。
在本申请实施例提供的技术方案中,可以通过比较初始物体信息和修改后的物体信息识别对抗性攻击。换句话说,可以识别出攻击者造成的点云异常。因此,本申请实施例的装置可以提高物体检测的可靠性,有利于为后续的控制策略提供更准确的感知结果。
另外,本申请实施例提供的技术方案可以以物体点云为单位检测入侵,而不是以每个点为单位检测入侵。换句话说,该技术方案可以对每个物体区域逐个起作用,而不是检测整个点云。该技术方案针对物体区域,因此比分析场景中的全部的点更快。
在一种可选的实现方式中,该处理单元具体用于向该第一点云添加一个或多个点,或从该第一点云移除一个或多个点。
在一种可选的实现方式中,该处理单元还用于通过深度强化学习定位该一个或多个点。
在一种可选的实现方式中,该处理单元具体用于:当该第一物体信息与该第二物体信息之间的比较等于或大于第一阈值时,将该第一物体信息分类为入侵。
在一种可选的实现方式中,该处理单元还用于执行以下中的至少一项:丢弃该第一物体信息,或将校正后的物体信息发送给规划模块,其中该校正后的物体信息是基于该第二物体信息获得的。
在一种可选的实现方式中,该处理单元具体用于:当该第一物体信息与该第二物体信息之间的比较小于该第一阈值时,将该第一物体信息分类为良性。
在一种可选的实现方式中,该处理单元还用于:将该第一物体信息发送给规划模块。
根据第三方面,提供了一种入侵检测装置。该入侵检测装置包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于执行该存储器中存储的计算机程序,并执行根据第一方面或第一方面的可能实现方式中任一项所述的方法。
根据第四方面,提供了一种计算机可读存储介质,其中该计算机可读存储介质存储计算机程序。当该计算机程序被处理器执行时,实现根据第一方面或第一方面的可能实现方式中任一项所述的方法。
根据第五方面,提供了一种包括指令的计算机程序产品。当该指令在计算机上运行时,使得该计算机执行根据第一方面或第一方面的可能实现方式中任一项所述的方法。
根据第六方面,提供了一种芯片。该芯片包括至少一个处理器和接口电路。至少一个处理器通过该接口电路获得存储在存储器中的指令,并执行根据第一方面或第一方面的可能实现方式中任一项所述的方法。
可选地,该芯片还可以包括存储指令的存储器,并且该处理器用于执行存储在该存储器中的指令。当该指令被执行时,该处理器用于执行根据第一方面或第一方面的可能实现方式中任一项所述的方法。
根据第七方面,提供了一种终端。该终端包括根据第二方面或第二方面的可能实现方式中任一项所述的入侵检测装置。
例如,终端可以是车辆、机器人或无人机。
在一种可选的实现方式中,该终端包括LiDAR传感器。
具体实施方式
下面结合附图和实施例对本申请的技术方案作进一步详细说明。
本申请的技术方案可应用于自动驾驶、机器人导航、无人机导航、虚拟/增强现实等需要入侵检测的领域。下面主要介绍自动驾驶的场景。
图1描绘了感知周围环境、制定计划和控制车辆所需的数据流。在一些实施例中,车辆被设置为完全或部分自动的。车辆依靠各种传感器和感知以识别附近环境,分析驾驶环境并做出决策。
如图1所示,自动驾驶车辆包括传感器、感知模块220、规划模块230、控制模块240和致动器250。汽车中使用的主要传感器之一是LiDAR传感器210。当嵌入LiDAR传感器的车辆行驶时,LiDAR传感器识别周围的车辆或障碍物,以确保车辆的安全。
LiDAR传感器利用IR脉冲信号测量物体的距离、速度、方向和各种特征。此外,LiDAR传感器识别环境中的物体。
更详细地说,LiDAR传感器将IR脉冲信号发送到周围的物体。周围的物体反射来自LiDAR传感器的IR脉冲信号,反射的IR脉冲信号返回到LiDAR传感器中的接收器。根据反射的IR脉冲信号,可以获得点云。
如图1所示,感知模块220将感知处理应用于点云,以获得物体的信息,例如物体的位置(x,y,z)、体积(宽度,高度,长度)、以及客观性分数。然后规划模块230根据物体信息制定控制策略。例如,规划模块230制定控制策略以避免或以其他方式规避车辆环境中的潜在障碍。又例如,规划模块230制定控制策略以确定行驶路径。然后根据来自规划模块230的命令,控制模块240向致动器250发送模拟信号。
在驾驶时,物体信息的准确性对于规划模块230的控制策略很重要。
然而,攻击者可以利用LiDAR传感器的原理造成对周围物体的错误识别。例如,由于没有考虑攻击威胁,LiDAR传感器接收到的IR脉冲信号可能是攻击信号。结果,基于攻击信号的点云数据将成为攻击性点云数据,从而造成对周围物体的错误识别。
换句话说,攻击者可以注入或修改点云以导致虚假的感知结果,例如隐藏现有物体或放置虚假物体。
图2示出了此类攻击的两个示例。如图2(a)所示,在道路场景中,当对抗性网格放置在周围的车辆上时,感知模块将无法识别周围的车辆。换句话说,无法检测到周围的车辆。攻击者可以通过在目标车辆上投射对抗性网格实现成功隐藏目标车辆。如图2(b)所示,攻击模型可以修改点云以隐藏物体或放置物体。例如,攻击者通过修改真实点云产生的欺骗性点云T可能会引起真实物体被隐藏。攻击者通过修改真实点云产生的对抗性点云T’可能会引起欺骗性障碍物被检测到。攻击者隐藏的物体会导致严重的事件,包括车祸。攻击者放置的虚假物体会冻结车辆或触发紧急制动。
修改后的点云可能会影响感知结果的准确性,从而引起异常行为,因而降低车辆的可靠性。
先前感知虚假物体的方法包括感知算法的对抗训练。只有在获取各种对抗示例时才有可能。
本申请的技术方案提供入侵检测,以保护嵌入LiDAR传感器的车辆免受点云修改攻击,即对抗性攻击。结果,提高了自动驾驶的可靠性,这意味着提高了安全性和用户体验。
图1中的一个或多个组件可以单独安装或与车辆相关联。组件可以在通信中以有线和/或无线方式耦合在一起。
可选地,上述组件只是一个示例,在实际应用中,可以根据需要增加或去除这些组件。图1不应被解释为对本申请实施例的限制。
本申请实施例提供的入侵检测模块可以设置在车辆、机器人或无人机等嵌入有LiDAR传感器的设备中。应理解,入侵检测模块可以是入侵检测装置。
例如,入侵检测模块位于图2中的感知模块220和规划模块230之间。感知模块220将感知结果发送给入侵检测模块而不是规划模块230。
本申请实施例中的入侵检测模块也可以称为PointWiper。
如图3所示,入侵检测模块接收感知结果和点云。
感知结果包括物体信息。例如,物体信息包括物体的位置(x,y,z)、物体的体积(宽度,高度,长度)或客观性分数。客观性分数也称为置信度分数,用于表示物体被准确识别的概率。如图3所示,物体信息可以表示为(x,y,z,w,h,l,分数…)。其中,x,y,和z表示物体的坐标。W表示物体的宽度。H表示物体的高度。L表示物体的长度。分数表示物体的客观性分数。
可选地,感知结果包括识别的物体信息以及置信度分数较低的不确定的物体信息。识别的物体信息可以指具有高置信度分数的物体信息。
例如,点云可以是来自LiDAR传感器210的原始点云。点云可以通过感知模块220传递给入侵检测模块,或者点云可以直接从LiDAR传感器210传递给入侵检测模块300。
入侵检测模块300包括修改单元310和检测单元320。
修改单元310用于修改来自LiDAR传感器的物体的点云,以获得修改后的点云。
例如,修改单元310用于执行以下中的至少一项:向该点云添加一个或多个点,或从该点云移除一个或多个点。具体描述请参见下文中的方法400,在此不再赘述。
可选地,入侵检测模块300还包括感知单元330。在这种情况下,感知单元330可以感知修改后的点云。
可替代地,入侵检测模块300可以将修改后的点云发送给其他设备,以获得修改后的点云的感知结果。例如,入侵检测模块300可以将修改后的点云发送给图1中的感知模块220。并且感知模块220可以重新感知修改后的点云并返回修改后的点云的感知结果。
在一些可能的实施例中,用于识别来自LiDAR传感器的点云的感知算法和用于识别修改后的点云的感知算法可以不同。
在其他替代实施例中,用于识别来自LiDAR传感器的点云的感知算法和用于识别修改后的点云的感知算法可以相同。
检测单元320用于基于来自LiDAR传感器的点云的感知结果与修改后的点云的感知结果之间的比较,提供入侵结果。
换句话说,检测单元320用于检测物体是良性还是入侵。
可选地,入侵检测模块300还包括推断单元340。
推断单元340用于确定是否需要进一步的进展,即是否需要对当前修改的点云进行进一步的修改。
例如,如果没有检测到入侵,则可以通知推断单元340,并且推断单元340可以确定是否需要进一步的进展。如果推断单元340确定需要进一步的进展,则推断单元340可以通知修改单元310。如果推断单元340确定不需要进一步的进展,也就是说,物体被分类为良性,则推断单元340可以将来自LiDAR传感器的物体的点云提供给其他设备,例如图1中的规划模块230。
具体描述请参见下文中的方法400,在此不再赘述。
图4是本申请实施例的入侵检测方法400的示意图。
在一些可能的实现方式中,方法400可以应用于嵌入在诸如车辆或机器人的电子设备中的LiDAR的入侵检测。方法400可以由入侵检测模块执行。例如,图3所示的入侵检测模块可以执行方法400。也就是说,方法400可以应用在图3中的感知模块和规划模块之间。
方法400包括以下步骤。
S410,从LiDAR传感器获得第一点云。
在一些可能的实现方式中,步骤S410可以由图3中的修改单元310执行。
在一些可能的实现方式中,第一点云属于来自LiDAR传感器的原始点云,这意味着第一点云是初始点云。
第一点云包括物体的一组点云。换句话说,可以通过感知第一点云识别物体。
本申请实施例仅以一个物体为例说明入侵检测方法。应理解,场景中其他物体的入侵检测也可以使用相同的方法进行实现,这意味着对于每个物体,方法400可以用于检测攻击者是否有意修改该物体。
S420,通过对该第一点云应用第一感知处理,获得第一物体信息。
在一些可能的实现方式中,步骤S420可以由图3中的检测单元320执行。在这种情况下,第一感知处理可以由图3中的感知模块220执行。
例如,感知模块220对来自LiDAR传感器的原始点云应用感知处理以得到物体信息。原始点云包括第一点云。物体信息包括第一物体信息。通过感知原始点云获得的物体信息可以称为初始物体信息。第一物体信息可以看作是初始信息。
例如,物体信息包括以下中的至少一项:物体的位置(x,y,z)、物体的体积(宽度,高度,长度)或客观性分数。客观性分数也称为置信度分数,用于表示物体被感知处理准确识别的概率。如图3所示,物体信息可以表示为(x,y,z,w,h,l,分数…)。
第一物体信息可以是识别的物体信息,也可以是不确定的物体信息。识别的物体信息是指具有高置信度分数的物体信息。不确定的物体信息是指具有低置信度分数的物体信息。
通过处理不确定的物体信息,也就是说,将不确定的物体信息用作第一点云信息,使得在攻击者修改点云后,不会遗漏未检测到的物体。
S430,修改该第一点云以获得第二点云。
在一些可能的实现方式中,步骤S430可以由图3中的修改单元310执行。
为便于对本申请实施例中的技术方案进行清楚的描述,本申请实施例中使用“第一”、“第二”等词语进行区分相同的物体或相似的物体,其功能和目的基本相同。本领域技术人员可以理解,“第一”、“第二”等术语不构成对数量或执行顺序的限制,并且“第一”、“第二”等术语不表示确定的区别。
例如,“第一点云”和“第二点云”仅用于区分修改前物体的点云和修改后物体的点云。在一些可能的实现方式中,第一点云可以理解为物体的初始点云。物体的初始点云属于来自LiDAR传感器的原始点云。第二点云可以理解为同一物体当前修改后的点云。
应理解,修改物体的点云也可以称为修改物体。换句话说,修改后的点云也可以称为修改后的物体。
可选地,步骤S430包括以下中的至少一项:向该第一点云添加一个或多个点,或从该第一点云移除一个或多个点。
换句话说,在步骤S430中计算经受移除或需要创建的点。
应注意,将第一点云修改为第二点云的操作可以包括一个或多个修改。
例如,一种修改包括步骤S431至步骤S433(图4中未示出)。
S431,从以下动作中选择一个动作:添加,移除,移除和添加的组合,重置和添加的组合,重置和移除的组合,或重置、添加和移除的组合。
重置是指清除之前的一项或多项修改。
例如,当重置是指清除上一次修改时,重置可以理解为将当前点云恢复到上一次修改前的点云。
例如,当重置是指清除之前的所有修改时,重置可以理解为将当前点云恢复到第一点云。
在重置和其他动作的组合中,首先执行重置,然后对重置后获得的点云执行其他动作。
例如,在重置、添加和移除的组合中,首先进行重置,然后对重置后获得的点云进行添加和移除。添加和移除可以同时进行,也可以一个接一个地进行。
如前所述,将第一点云修改为第二点云的操作可以包括更多的修改。例如,步骤S430可以由修改模块执行。如果修改不改变感知结果,修改单元知道何时重置点云。
S432,定位要执行该动作的一个或多个点。
在包括移除和添加的组合中,可以分开定位将被添加的一个或多个点和将被移除的一个或多个点。
S433,对一个或多个点执行选择的动作。
应理解,S431至S433不限制步骤的执行顺序。例如,可以按照从S431到S433的顺序执行。或者,可以按照S432、S431以及S433的顺序执行。或者,可以同时执行S431和S432。
通过这种方式,可以分别确定动作和位置,有利于获得更合适的修改,从而尽快获得检测结果。
在一些可能的实现方式中,步骤S430可以通过深度强化学习执行。
可选地,步骤S431包括:通过深度强化学习选择动作。
可选地,步骤S432包括:通过深度强化学习定位需要进行修改的一个或多个点。
还应理解,上述步骤仅为示例,还可以通过其他方式对第一点云进行修改。本申请实施例对此不做限定。例如,步骤S430包括:随机修改该第一点云以获得该第二点云。
S440,通过对该第二点云应用第二感知处理,获得第二物体信息。
在一些可能的实现方式中,步骤S440可以由图3中的检测单元320执行。在这种情况下,第二感知处理可以由图3中的感知模块220执行,或图3中的感知单元330执行。
例如,当第二感知处理由图3中的感知模块220执行时,入侵检测模块300可以访问感知模块220中的感知进展。
可选地,第一感知处理和第二感知处理使用相同的感知算法。
通过这种方式,就不需要额外的感知算法,减少了对存储空间的需求,即不需要为其他感知算法提供额外的存储空间。
S450,基于该第一物体信息与该第二物体信息之间的比较,提供入侵结果。
在一些可能的实现方式中,步骤S450可以由图3中的检测单元320执行。
可选地,步骤S450包括:当该第一物体信息与该第二物体信息之间的比较等于或大于第一阈值时,将该第一物体信息分类为入侵。
第一物体信息被分类为入侵。也可以说,第一物体信息对应的物体是入侵,这意味着第一物体点云是由攻击者修改的点云。
换句话说,与修改前的物体信息相比,如果修改后的物体信息发生较大变化,则可以认为该物体为入侵。
可选地,步骤S450包括:当该第一物体信息与该第二物体信息之间的比较小于第一阈值时,将该第一物体信息分类为良性。
换句话说,如果修改前后的两个物体信息相似,则可以认为该物体是良性。
对抗样本是不稳定的。因此,仅仅是对精心设计的对抗样本进行的轻微修改都将导致物体结果(即物体信息)发生相当大的变化。相比之下,那些良性的样本会导致一点变化。对抗样本是指由攻击者修改的物体的点云。良性样本是指点云,真正的点云。
可选地,步骤S450包括:当该第一物体信息与该第二物体信息之间的比较小于该第一阈值时,修改该第二点云,将修改后的第二点云用作步骤S440至S450中的第二点云,并执行步骤S440至S450。
换句话说,如果修改前后的两个物体信息相似,则可以进一步修改当前修改的点云。
可选地,步骤S450包括:当该第一物体信息与该第二物体信息之间的比较小于第一阈值时,从以下动作中选择一个动作:将该第一物体信息分类为良性,或者修改该第二点云,将修改后的第二点云用作步骤S440至S450中的第二点云,并执行步骤S440至S450。
换句话说,如果修改前后的两个物体信息相似,则步骤S450可以判定是否需要进一步进展。
换句话说,如果没有检测到入侵,即如果确定物体不是入侵,则步骤S450可以判定是否需要对物体的当前修改点云进行进一步的进展。
例如,如果没有检测到入侵,则可以通知推断单元340,并且推断单元340可以确定是否需要进一步的进展,这意味着当前修改的点云是否需要进一步修改。
例如,步骤S450包括:当该第一物体信息与该第二物体信息之间的比较小于该第一阈值时,基于当前修改点云经历的修改次数选择一个动作。
步骤S450可以在当前修改的点云经历的修改次数较少时判定需要进一步进展,而当当前修改的点云经历的修改次数较多时判定为不需要进一步进展。
例如,步骤S450包括:当该第一物体信息与该第二物体信息之间的比较小于该第一阈值时,根据当前修改点云被修改的程度选择一个动作。
步骤S450可以在当前修改点云与初始点云之间的差异较小时判定需要进一步进展,而当当前修改点云与初始点云之间的差异较大时判定不需要进一步进展。
可选地,步骤S450包括:当该第一物体信息和该第二物体信息之间的比较等于或大于第一阈值时,将该第一物体信息分类为入侵,当比较等于或小于第二阈值时,将该第一物体信息分类为良性,并且当比较大于该第二阈值且小于该第一阈值时,修改该第二点云,将修改后的第二点云用作步骤S440至S450中的第二点云,并执行步骤S440至S450。
应理解,上述等号的位置只是一个示例。例如,步骤S450还可以包括:当该第一物体信息与该第二物体信息之间的比较大于第一阈值时,将该第一物体信息分类为入侵。
在具体实现过程中,可以根据需要进行调整,本申请实施例对此不做限定。
可选地,方法400还包括步骤S460。
S460,当该第一物体信息被分类为入侵时,丢弃该第一物体信息。
在一些可能的实现方式中,步骤S460可以由图3中的检测单元320执行。
例如,当第一信息对应的物体是攻击者添加的物体时,丢弃第一物体信息。
攻击者添加的物体是指环境中实际不存在但由于攻击者对点云的修改而被感知模块识别的物体。
可选地,方法400还包括步骤S470。
S470,当该第一物体信息被分类为入侵时,向该入侵进行警告。
例如,检测模块320可以通知规划模块该入侵。
例如,当第一信息对应的物体是由攻击者移除的物体时,提供校正后的物体信息。
攻击者移除的物体是指环境中实际存在但由于攻击者对点云的修改而无法被感知模块识别的物体。
校正后的物体信息可以根据第二物体信息获得。
可选地,方法400还包括步骤S480。
S480,当该第一物体信息被分类为良性时,将该第一物体信息发送给规划模块。
在一些可能的实现方式中,步骤S480可以由图3中的检测单元320执行。或者步骤S480可以由图3中的推断单元340执行。
本申请实施例提供的入侵检测方法可以看作是一种点云级别的入侵检测。
在本申请实施例提供的技术方案中,可以通过比较初始物体信息和修改后的物体信息识别对抗性攻击。换句话说,可以识别出攻击者造成的点云异常。因此,本申请实施例的方法可以提高物体检测的可靠性,有利于为后续的控制策略提供更准确的感知结果。例如,当方法400应用于自动驾驶系统时,可以提高驾驶的安全性和用户体验。
例如,当应识别的物体由攻击者隐藏时,本申请实施例提供的技术方案可以识别出隐藏的物体,并警告入侵以避免事故,包括车祸。例如,当攻击者创建了不应被识别的物体时,本申请实施例提供的技术方案可以识别创建的物体并丢弃该物体信息,以避免冻结车辆或触发紧急制动。
另外,本申请实施例提供的技术方案可以以物体点云为单位检测入侵,而不是以每个点为单位检测入侵。换句话说,该技术方案可以对每个物体区域逐个起作用,而不是检测整个点云。该技术方案针对物体区域,因此比分析场景中的全部的点更快。
图5示出了本申请实施例提供的应用于自动驾驶系统的入侵检测过程的流程图。下面对上述方法实施例对应的入侵检测过程进行说明。应理解,入侵检测过程的说明与方法实施例的说明相对应。因此,对于未详述的内容,请参考上述方法400。为了简洁,在此不再赘述。
入侵检测过程可以由入侵模块300执行。入侵模块300适用于感知模块220和规划模块230之间。图5描绘了整个过程。入侵检测方法包括以下步骤。
S510,接收来自LiDAR的原始点云和来自感知模块230的感知结果。
也就是说,感知模块220并不将感知结果发送给如图1所示的规划模块230,而是将感知结果发送给入侵检测模块300。基于来自LiDAR的原始点云的感知结果也可以称为初始感知结果。
感知模块220将感知处理应用于来自LiDAR的原始点云,并返回感知结果。
原始点云包括一组或多组点云。一组点云是指一个物体的点云。第一点云属于原始点云。
相应地,感知结果包括一个或多个物体信息。例如,感知结果由识别的物体信息和不确定的物体组成。原始感知结果中的物体信息也可以称为初始物体信息。第一物体信息属于原始感知结果。
如图5所示,一个物体信息可以表示为(x,y,z,w,h,l,分数…)。
S520,修改点云(第一点云的一个示例),以获得修改后的点云(第二点云的一个示例)。
如图5所示,修改单元310对一组点云进行修改,以获得一组修改后的点云。
例如,渲染器生成一组新的点云并将其传递给感知模块。该组新的点云可以理解为修改后的点云。第二点云属于修改后的点云。
步骤S520包括步骤S521至步骤S523。
S521,修改单元选择以下动作之一:
1)添加一个或多个点。
2)移除一个或多个点。
3)重置以前的修改和添加/移除点。
动作选项3)也可以理解为重置修改,然后从动作选项1)和动作选项2)中选择一个动作。
换句话说,如果修改不改变感知结果,修改单元知道何时重置点云。
S522,修改单元定位目标3D位置。
目标3D位置是指将被修改的一个或多个点的位置。
例如,步骤S521和步骤S522可以通过深度强化实现。
S523,修改单元将动作应用于目标3D位置。
S530,感知修改后的点云,以获得更新的物体信息(第二物体信息的示例)。
应理解,图5仅以入侵检测模块300中的感知单元330执行的点云识别为例进行说明。在实际应用中,入侵检测模块300可以接入感知模块220以感知修改后的点云。
例如,感知模块220重新感知稍作修改的点云,这意味着应用于修改后点云的感知处理和应用于原始点云的感知处理使用相同的感知算法。
S540,根据更新后的物体信息和初始物体信息提供入侵检测结果。
例如,如果物体信息被分类为入侵,也就是说,检测到入侵,则入侵检测模块300可以执行以下中的至少一项:警告入侵或丢弃物体信息。
丢弃物体信息可以指不将攻击者添加的物体的信息发送给规划模块。
警告入侵可以指通知规划模块存在由攻击者移除的物体。例如,提供攻击者移除的物体的校正信息。
或者,警告入侵可以指通知规划模块存在入侵。
如果物体信息未被分类为入侵,也就是说,没有检测到入侵,则推断单元340判定是否需要进一步进展。
如果推断单元340将物体信息分类为良性,则它将初始物体信息发送给规划模块。如果推断单元340判定需要进一步进展,也就是说,物体不可判定,则推断单元340可通知修改单元310应用进一步修改过程,然后重复步骤S520至S540。
对于感知模块识别的每个物体,检测模块可以识别攻击者是否故意修改该物体。为了简洁起见,在步骤S520至S540中仅以一个物体作为示例。
在本申请实施例提供的技术方案中,可以通过比较初始物体信息和修改后的物体信息识别对抗性攻击。换句话说,可以识别出攻击者造成的点云异常。因此,本申请实施例的方法可以提高物体检测的可靠性,有利于为后续的控制策略提供更准确的感知结果。例如,当方法400应用于自动驾驶系统时,可以提高驾驶的安全性和用户体验。
另外,本申请实施例提供的技术方案可以以物体点云为单位检测入侵,而不是以每个点为单位检测入侵。换句话说,该技术方案可以对每个物体区域逐个起作用,而不是检测整个点云。该技术方案针对物体区域,因此比分析场景中的全部的点更快。
应理解,本申请实施例的技术方案可以应用于各种电子设备,例如机器人、无人机、虚拟/增强现实设备等,但本申请实施例不限于此。
以上介绍了本申请的方法实施例,下面介绍与上述方法实施例对应的装置实施例。应理解,装置实施例的描述与方法实施例的描述相对应。因此,对于未详述的内容,请参见上述方法实施例。为了简洁,在此不再赘述。
如图6所示,本申请实施例提供了一种入侵检测装置600。
入侵检测装置600包括以下单元。
获取单元610,用于从LiDAR传感器获得第一点云;和通过对该第一点云应用第一感知处理,获得第一物体信息。
处理单元620,用于修改该第一点云以获得第二点云。
获取单元610还用于:通过对该第二点云应用第二感知处理,获得第二物体信息。
处理单元620还用于基于该第一物体信息和该第二物体信息之间的比较,提供入侵结果。
可选地,在一些实施例中,处理单元620具体用于向该第一点云添加一个或多个点,或从该第一点云移除一个或多个点。
可选地,在一些实施例中,处理单元620还用于通过深度强化学习定位该一个或多个点。
可选地,在一些实施例中,处理单元620具体用于:当该第一物体信息与该第二物体信息之间的比较等于或大于第一阈值时,将该第一物体信息分类为入侵。
可选地,在一些实施例中,处理单元620还用于执行以下中的至少一项:丢弃该第一物体信息,或将校正后的物体信息发送给规划模块,其中该校正后的物体信息是基于该第二物体信息获得的。
可选地,在一些实施例中,处理单元620具体用于:当该第一物体信息与该第二物体信息之间的比较小于该第一阈值时,将该第一物体信息分类为良性。
可选地,在一些实施例中,处理单元620还用于:将该第一物体信息发送给规划模块。
如图7所示,本申请实施例还提供了一种入侵检测装置700。
装置700包括至少一个处理器720和通信接口730。
可选地,装置700还可以包括存储器710和总线740中的至少一种。存储器710、处理器720和通信接口730中的任意两项或所有三项都可以通过总线740相互连接。
可选地,存储器710可以是只读存储器(read only memory,ROM)、静态存储设备、动态存储设备或随机存取存储器(random access memory,RAM)。存储器710可以存储程序。当处理器720执行存储器710中存储的程序时,处理器720和通信接口730用于执行本申请实施例的入侵检测方法的各个步骤。换句话说,处理器720可以通过通信接口730从存储器710中获得存储的指令,以执行本申请实施例的入侵检测方法的各个步骤。
可选地,处理器720可以采用通用CPU、微处理器、ASIC、图形处理单元(graphicprocessing unit,GPU)或者一个或多个集成电路以执行相关程序,从而实现装置中各单元需要执行的功能、或执行本申请实施例的入侵检测方法的每个步骤。
可选地,处理器720也可以是具有信号处理能力的集成电路芯片。在实现过程中,本申请实施例的入侵检测方法的每个步骤都可以通过处理器中的硬件集成逻辑电路或者软件形式的指令完成。
可选地,处理器720还可以是通用处理器、数字信号处理(digital signalprocessing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成的现场可编程门阵列(field programmable gate array,FPGA)或其他编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件。本申请实施例所公开的方法、步骤和逻辑框图可以得到实现或执行。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器。本申请实施例公开的方法的步骤可以直接体现为由硬件解码处理器执行和完成,或者由解码处理器中的硬件和软件模块的组合执行和完成。软件模块可以位于本领域成熟的存储介质中,如随机存取存储器、闪存、只读存储器、可编程只读存储器或电可擦除可编程存储器、寄存器等。存储介质位于存储器中,处理器读取存储器中的信息,并结合其硬件完成本申请实施例的入侵检测装置中包括的单元所需的功能,或者执行本申请实施例的入侵检测方法中的每个入侵检测方法。
可选地,通信接口730可以使用收发设备(例如但不限于收发器)以实现装置与其他设备或通信网络之间的通信。例如,通信接口730也可以是接口电路。
总线740可以包括用于在装置的各种组件(例如,存储器、处理器和通信接口)之间传输信息的路径。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括指令。当该指令在计算机上运行时,使该计算机执行上述方法实施例中的方法。
本申请实施例还提供了一种计算机可读存储介质,其中该计算机可读存储介质存储计算机程序。当该计算机程序由处理器执行时,实现上述方法实施例中的方法。
本申请实施例还提供了一种芯片。该芯片包括至少一个处理器和接口电路。至少一个处理器通过接口电路获得存储在存储器中的指令,并执行上述方法实施例中的方法。
可选地,该芯片还可以包括存储指令的存储器,该处理器用于执行存储在该存储器中的指令。当执行该指令时,该处理器用于执行上述方法实施例中的方法。
本申请实施例还提供了一种终端。终端设备包括上述装置实施例中的入侵检测装置,例如图6或图7所示的装置。
示例性的,终端可以是车辆、机器人或无人机。
上述入侵检测装置可以安装在目标车辆上,也可以独立于目标车辆。
在一种可选的实现方式中,该终端包括LiDAR传感器。
对于以上提供的任一入侵检测装置的相关内容的解释和有益效果,请参见上文提供的相应方法实施例,在此不再赘述。
还应理解,本说明书中的“第一”、“第二”、“第三”、“第四”以及各种数字仅是为了便于描述的区分,并不用于限制本申请实施例的范围。
应理解,本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),也可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路ASIC、现场可编程门阵列FPGA或其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
可以理解的是,本申请实施例中提到的存储器可以是易失性存储器或非易失性存储器,或可以包括易失性存储器和非易失性存储器两者。非易失性存储器可以是只读存储器ROM、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是用作外部高速缓存的随机存取存储器RAM。通过示例但不是限制性的说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)以及直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
应注意,当处理器为通用处理器、DSP、ASIC、FPGA或其他可编程逻辑器件、分立门或晶体管逻辑器件、或分立硬件组件时,存储器(存储模块)集成到处理器中。
应注意,本说明书中描述的存储器意在包括但不限于这些存储器以及任何其他适当类型的存储器。
本领域普通技术人员可以意识到,结合本说明书中所公开的实施例描述的示例,单元和算法步骤可以通过电子硬件或者计算机软件和电子硬件的结合实现。这些功能究竟以利用硬件还是软件方式执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以针对每个特定应用使用不同的方法实现所描述的功能,但不应认为这种实现超出了本申请的范围。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,对于上述系统、装置和单元的具体工作过程,请参见上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的若干实施例中,应理解,所公开的系统、装置和方法可以通过其它方式实现。例如,所描述的装置实施例仅仅是示例。例如,单元划分仅仅是逻辑功能划分,在实际实现中可以是其他划分。例如,多个单元或组件可以组合或者集成到另一个系统中,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以通过使用一些接口实现。装置或单元之间的间接耦合或通信连接可以以电气、机械或其它形式实现。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,具体地,其可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部单元,以实现本实施例方案的目的。
另外,本申请各实施例中的各功能单元可以集成到一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成到一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机-可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出。该软件产品存储在存储介质中,包括若干指令用以指示计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质包括USB闪存驱动、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁盘或者光盘等各种可以存储程序代码的介质。
以上描述仅为本申请的具体实现方式,并非用于限定本申请的保护范围。凡本领域技术人员在本申请所公开的技术范围内所容易想到的变化或替换,均应落入本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。