首页> 中国专利> 角点检测方法和角点检测装置

角点检测方法和角点检测装置

摘要

本公开关于一种角点检测方法和角点检测装置。所述角点检测方法包括:获取动态视觉传感器DVS事件帧,其中,所述DVS事件帧被预先划分为多个区域;确定所述多个区域中的每个区域的事件数;基于所述多个区域中的每个区域的事件数以及预设最大角点数,检测所述多个区域中的每个区域中的角点,以获得所述DVS事件帧的角点。

著录项

  • 公开/公告号CN113066104A

    专利类型发明专利

  • 公开/公告日2021-07-02

    原文格式PDF

  • 申请/专利号CN202110319031.3

  • 发明设计人 周腾飞;

    申请日2021-03-25

  • 分类号G06T7/246(20170101);

  • 代理机构11286 北京铭硕知识产权代理有限公司;

  • 代理人苏银虹;王兆赓

  • 地址 710000 陕西省西安市高新区洨河北路1999号

  • 入库时间 2023-06-19 11:42:32

说明书

技术领域

本公开涉及视频技术领域,更具体地说,涉及一种角点检测方法和角点 检测装置。

背景技术

现有DVS(Dynamic Vision Sensor,动态视觉传感器)事件帧的角点检测 算法,会先将一个事件帧的所有事件绘制成一帧位图图像,然后再用传统的 基于位图图像的算法提取其中的所有角点的像素信息,之后用提取到的角点 像素信息来作为光流算法的输入。这样的角点检测算法需要先将DVS事件帧 转换为位图图像,再通过位图查信息来计算角点,其计算非常耗时,也没有 充分发挥DVS特有的事件驱动的硬件优势。此外,这样的角点检测算法基于 静态图像(位图图像)执行角点检测,没有考虑DVS事件的时间先后顺序, 选取的角点无法反映运动目标的准确信息。

发明内容

本公开提供一种角点检测方法和角点检测装置,以至少解决上述相关技 术中的问题,也可不解决任何上述问题。

根据本公开实施例的第一方面,提供一种角点检测方法,包括:获取动 态视觉传感器DVS事件帧,其中,所述DVS事件帧被预先划分为多个区域; 确定所述多个区域中的每个区域的事件数;基于所述多个区域中的每个区域 的事件数以及预设最大角点数,检测所述多个区域中的每个区域中的角点, 以获得所述DVS事件帧的角点。

因此,根据本公开的角点检测方法,可直接在DVS事件帧中找到最合适 的点作为角点进行光流计算,避免了将DVS事件帧转换为位图图像,然后再 从该位图图像中通过现有的角点检测算法选取角点的操作,从而摆脱了DVS 事件帧角点检测对于位图图像的依赖,充分发挥了DVS基于事件的这一硬件 优势,使得应用本公开的角点检测方法后的光流算法在DVS事件帧上达到精 度相近的同时处理性能大幅提高。

可选地,所述确定所述多个区域中的每个区域的事件数,可包括:根据 所述DVS事件帧中的每个事件的位置信息和所述多个区域中的每个区域的 位置信息,统计所述多个区域中的每个区域的事件数。

可选地,所述基于所述多个区域中的每个区域的事件数以及预设最大角 点数,检测所述多个区域中的每个区域中的角点,可包括:从所述多个区域 中确定角点可分布到的至少一个区域;根据所述至少一个区域中的每个区域 的事件数以及预设最大角点数,检测所述至少一个区域中的每个区域中的角 点。

可选地,所述从所述多个区域中确定角点可分布到的至少一个区域,可 包括:将所述多个区域确定为角点可分布到的所述至少一个区域。

可选地,所述从所述多个区域中确定角点可分布到的至少一个区域,可 包括:对所述多个区域中的每个区域的事件数求和,获得所述DVS事件帧的 总事件数;按照每个区域的事件数从大到小的顺序,从所述多个区域中依次 选择至少一个区域,直到选择的至少一个区域的事件数累加总和占所述DVS 事件帧的总事件数的比例等于或大于预设区域提取百分比为止,将选择的至 少一个区域作为角点可分布到的所述至少一个区域。

可选地,所述根据所述至少一个区域中的每个区域的事件数以及预设最 大角点数,检测所述至少一个区域中的每个区域中的角点,可包括:对所述 至少一个区域中的事件数求和,确定第一总事件数;基于第一总事件数和所 述至少一个区域中的每个区域的事件数,确定所述至少一个区域中的每个区 域的角点分布权重;基于所述预设最大角点数和所述至少一个区域中的每个 区域的角点分布权重,确定所述至少一个区域中的每个区域的角点数;基于 所述至少一个区域中的每个区域的角点数,确定所述至少一个区域中的每个 区域中分布的角点。

可选地,所述基于第一总事件数和所述至少一个区域中的每个区域的事 件数,确定所述至少一个区域中的每个区域的角点分布权重,可包括:根据 所述至少一个区域中的每个区域的事件数占第一总事件数的比例,确定所述 至少一个区域中的每个区域的角点分布权重。

可选地,所述基于所述至少一个区域中的每个区域的角点数,确定所述 至少一个区域中的每个区域中分布的角点,可包括:针对所述至少一个区域 中的每个区域执行以下操作:将当前区域中时间上最新的N个事件点确定为 当前区域中分布的角点,其中,N为确定的当前区域的角点数。

因此,根据本公开的角点检测方法,在角点选取方面考虑到了DVS事件 的时间先后顺序,选择在时间上最新的事件点集合,使得角点选取更能反映 运动目标的准确信息。

根据本公开实施例的第二方面,提供一种角点检测装置,包括:获取单 元,被配置为:获取动态视觉传感器DVS事件帧,其中,所述DVS事件帧 被预先划分为多个区域;事件数确定单元,被配置为:确定所述多个区域中 的每个区域的事件数;检测单元,被配置为:基于所述多个区域中的每个区 域的事件数以及预设最大角点数,检测所述多个区域中的每个区域中的角点, 以获得所述DVS事件帧的角点。

因此,根据本公开的角点检测装置,可直接在DVS事件帧中找到最合适 的点作为角点进行光流计算,避免了将DVS事件帧转换为位图图像,然后再 从该位图图像中通过现有的角点检测算法选取角点的操作,从而摆脱了DVS 事件帧角点检测对于位图图像的依赖,充分发挥了DVS基于事件的这一硬件 优势,使得应用本公开的角点检测方法后的光流算法在DVS事件帧上达到精 度相近的同时处理性能大幅提高。

可选地,事件数确定单元可被配置为:根据所述DVS事件帧中的每个事 件的位置信息和所述多个区域中的每个区域的位置信息,统计所述多个区域 中的每个区域的事件数。

可选地,检测单元可被配置为:从所述多个区域中确定角点可分布到的 至少一个区域;根据所述至少一个区域中的每个区域的事件数以及预设最大 角点数,检测所述至少一个区域中的每个区域中的角点。

可选地,检测单元可被配置为:将所述多个区域确定为角点可分布到的 所述至少一个区域。

可选地,检测单元可被配置为:对所述多个区域中的每个区域的事件数 求和,获得所述DVS事件帧的总事件数;按照每个区域的事件数从大到小的 顺序从所述多个区域中依次选择至少一个区域,直到选择的至少一个区域的 事件数累加总和占所述DVS事件帧的总事件数的比例等于或大于预设区域 提取百分比为止,将选择的至少一个区域作为角点可分布到的所述至少一个 区域。

可选地,检测单元可被配置为:对所述至少一个区域中的事件数求和, 确定第一总事件数;基于第一总事件数和所述至少一个区域中的每个区域的 事件数,确定所述至少一个区域中的每个区域的角点分布权重;基于所述预 设最大角点数和所述至少一个区域中的每个区域的角点分布权重,确定所述 至少一个区域中的每个区域的角点数;基于所述至少一个区域中的每个区域 的角点数,确定所述至少一个区域中的每个区域中分布的角点。

可选地,检测单元可被配置为:根据所述至少一个区域中的每个区域的 事件数占第一总事件数的比例,确定所述至少一个区域中的每个区域的角点 分布权重。

可选地,检测单元可被配置为:针对所述至少一个区域中的每个区域执 行以下操作:将当前区域中时间上最新的N个事件点确定为当前区域中分布 的角点,其中,N为确定的当前区域的角点数。

因此,根据本公开的角点检测装置,在角点选取方面考虑到了DVS事件 的时间先后顺序,选择在时间上最新的事件点集合,使得角点选取更能反映 运动目标的准确信息。

根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处 理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行 指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本 公开的角点检测方法。

根据本公开实施例的第四方面,提供一种存储指令的计算机可读存储介 质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个 处理器执行根据本公开的角点检测方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

根据本公开的角点检测方法和角点检测装置,可直接在DVS事件帧中找 到最合适的点作为角点进行光流计算,避免了将DVS事件帧转换为位图图像, 然后再从该位图图像中通过现有的角点检测算法选取角点的操作,从而摆脱 了DVS事件帧角点检测对于位图图像的依赖,充分发挥了DVS基于事件的 这一硬件优势,使得应用本公开的角点检测方法后的光流算法在DVS事件帧 上达到精度相近的同时处理性能大幅提高。此外,在角点选取方面考虑到了 DVS事件的时间先后顺序,选择在时间上最新的事件点集合,使得角点选取 更能反映运动目标的准确信息。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性 的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公 开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的 不当限定。

图1是示出现有的DVS事件帧的角点检测方法的示意图。

图2是示出根据本公开的示例性实施例的DVS事件帧的角点检测方法的 示意图。

图3是示出根据本公开的示例性实施例的角点检测方法的流程图。

图4是示出根据本公开的示例性实施例的角点检测装置的框图。

图5是根据本公开的示例性实施例的电子设备500的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图, 对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次 序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公 开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施 例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它 们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和 方法的例子。

在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示 包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项 的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下 三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行 步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步 骤一;(2)执行步骤二;(3)执行步骤一和步骤二。

近年来,在计算机视觉、人工智能和机器人等领域,动态视觉传感器(DVS) 相机逐渐广为人知。DVS相机的成像过程是异步的,其每个像素均可以自主 地根据场景光照变化强度大小来产生事件。具体地说,在t

然而,对于DVS事件帧,现有方法通过位图查信息来计算角点,其计算 非常耗时,并且也没有充分发挥DVS特有的事件驱动的硬件优势。图1是示 出现有的DVS事件帧的角点检测方法的示意图。如图1所示,现有的DVS 事件帧的角点检测方法采用类似传统的CIS传感器图像的处理方式,先将 DVS事件帧转换为一帧位图图像,然后再从该位图图像中通过现有的角点检 测算法选取角点集合,最后用该角点集合进行光流计算的思路来计算DVS光流。现有的角点检测算法有Moravec角点检测算法,Harris角点检测算法, Shi-Tomasi角点检测算法和FAST角点检测算法等,而所有的这些现有的角 点检测算法都是基于位图图像的算法。因此,现有的DVS事件帧的角点检测 方法的计算非常耗时,使得DVS相机的处理性能大大降低。此外,现有的 DVS事件帧的角点检测方法是基于静态图像的角点检测,没有考虑DVS事 件的时间先后顺序,无法反映运动目标的准确信息。

为了解决上述问题,本公开提出了一种符合DVS硬件特性的更加合理的 角点检测方法和角点检测装置,具体地说,可直接在DVS事件帧中找到最合 适的点作为角点进行光流计算,避免了将DVS事件帧转换为位图图像,然后 再从该位图图像中通过现有的角点检测算法选取角点的操作,从而摆脱了 DVS事件帧角点检测对于位图图像的依赖,充分发挥了DVS基于事件的这 一硬件优势,使得应用本公开的角点检测方法后的光流算法在DVS事件帧上 达到精度相近的同时处理性能大幅提高;此外,在角点选取方面考虑到了DVS 事件的时间先后顺序,选择在时间上最新的事件点集合,使得角点选取更能 反映运动目标的准确信息。下面,将参照图2至图5来详细描述根据本公开 的角点检测方法和角点检测装置。

图2是示出根据本公开的示例性实施例的DVS事件帧的角点检测方法的 示意图。

参照图2,首先,可将DVS事件帧根据事件坐标划分为多个区域(例如, M×N个区域)的DVS事件帧的原始事件集。例如,如图2所示,可将一个 DVS事件帧划分为4×3个区域,每个区域上的数字表示该区域原始事件集 中事件数。随后,可根据区域事件数降序排序原始事件集的M×N个区域得 到排序后的含有M×N个区域的事件集A。随后,可提取事件集A中事件数 总和占比超过预设百分比P的前部分区域事件集B。随后,可根据集件集B 中各区域事件数来计算各区域的权重的权重集合W。随后,可根据权重集合 W中各区域的权重以及预设最大角点数K,按权重比例计算各区域的最终角 点数,使得各区域的最终角点数总和不超过预设最大角点数K。随后,可根 据各区域的最终角点数在各区域中选择相应数量的最新事件点,得到最终角 点集合S,如下面的公式(1)所示。

S={s

其中,最终角点集合S中的角点数小于或等于K,w

下面的表1示出根据本公开的两个预设参数P和K的信息。

【表1】

因此,根据本公开的示例性实施例的DVS事件帧的角点检测方法,可直 接基于DVS事件帧(不需要转换成位图图像)执行角点检测,减少时间损耗, 提高了性能;此外,可考虑DVS事件的时间先后顺序,选择最新事件点集合 作为角点集合,更能反映运动目标的准确信息。

图3是示出根据本公开的示例性实施例的角点检测方法的流程图。

参照图3,在步骤301,可获取动态视觉传感器DVS事件帧,其中,DVS 事件帧可被预先划分为多个区域,例如,M×N个区域,M和N的取值范围 分别是1到DVS事件帧的宽和高的最大分辨率。

根据本公开的示例性实施例,可根据预定时间获取一个DVS事件帧,例 如,每隔10ms获得一个DVS事件帧,该DVS事件帧中包括DVS在当前10ms 间隔内感测到的所有事件。在这种情况下,可预先确定DVS事件帧的划分区 域,也可在获得DVS事件帧后,确定划分区域。

根据本公开的另一示例性实施例,可根据M、N以及分帧事件数E获取 一个DVS事件帧。具体地说,当DVS事件帧被预先确定划分成M×N个区 域后,对各区域事件数计数,只要有一个区域的事件数达到E,则认为获取 到一帧DVS事件帧。在这种情况下,需要预先确定DVS事件帧的划分区域。 可见,M、N和E共同决定了一个DVS事件帧的数据量,当现有光流算法应 用该DVS事件帧可以获得最佳效果时(即,精度和性能的最佳匹配),M、N 和E也就得到了最佳取值。例如,但不限于,可取M=4、N=3、E=200,即, 将DVS事件帧划分为M×N=12个区域,当有区域的事件数达到200,则认 为形成一个DVS事件帧。

在步骤302,可确定多个区域中的每个区域的事件数。根据本公开的示 例性实施例,可根据DVS事件帧中的每个事件的位置信息和多个区域中的每 个区域的位置信息,统计多个区域中的每个区域的事件数。这里,位置信息 可以是坐标信息。一个事件e

在步骤303,可基于多个区域中的每个区域的事件数以及预设最大角点 数,检测多个区域中的每个区域中的角点,以获得DVS事件帧的角点。

根据本公开的示例性实施例,可从多个区域中确定角点可分布到的至少 一个区域,并根据至少一个区域中的每个区域的事件数以及预设最大角点数, 检测至少一个区域中的每个区域中的角点。

下面,将具体介绍根据本公开的如何确定角点可分布到的至少一个区域 的示例性实施例。

根据本公开的示例性实施例,可从DVS事件帧的所有区域获取角点。因 此,可将划分出的多个区域的所有区域确定为角点可分布到的至少一个区域。

根据本公开的另一示例性实施例,可从DVS事件帧的一部分区域获取角 点。因此,可根据每个区域的事件数来确定从DVS事件帧的哪些区域获取角 点。例如,可对划分出的多个区域的每个区域的事件数求和,获得DVS事件 帧的总事件数;按照每个区域的事件数从大到小的顺序,从所述多个区域中 依次选择至少一个区域,直到所述至少一个区域的事件数累加总和占所述 DVS事件帧的总事件数的比例等于或大于预设区域提取百分比P为止,将选 择的至少一个区域作为角点可分布到的所述至少一个区域。这里,区域提取 百分比P是指提取区域的事件数累加总和占比值。参数P是精度参数,其取 值范围可以是除0以外的任意百分比,可根据不同的场景精度需求设置不同 的值。例如,对于接近整幅画面的目标运动场景,参数P的取值越大算法效 果越好,最高取值可为100%(即,从DVS事件帧的所有区域获取角点),因 为更高的百分比更能反映整幅画面的运动信息。又例如,运动目标越小,参 数P越小越好,但不能为0,因为运动事件信息更集中于一小部分区域。

下面,将具体介绍根据本公开的如何在确定的至少一个区域上检测角点 的示例性实施例。

根据本公开的示例性实施例,首先,可对至少一个区域中的事件数求和, 确定第一总事件数。

随后,可基于第一总事件数和至少一个区域中的每个区域的事件数,确 定至少一个区域中的每个区域的角点分布权重。例如,可根据至少一个区域 中的每个区域的事件数占第一总事件数的比例,确定至少一个区域中的每个 区域的角点分布权重。

随后,可基于预设最大角点数和至少一个区域中的每个区域的角点分布 权重,确定至少一个区域中的每个区域的角点数。例如,可通过将至少一个 区域中的每个区域的角点分布权重与预定最大角点数相乘,获得对至少一个 区域中的每个区域分配的角点数,其中,至少一个区域中的每个区域分配到 的角点数的总和不大于预设最大角点数。这里,预设最大角点数K是指预先 设置的一个DVS事件帧中的最大角点个数。参数K是性能参数也是精度参 数,其取值范围可以是不超过DVS事件帧分辨率的任意正整数,在不同的场 景可设置不同的值。对于K的取值在任何场景下都是K越大精度越高,但是 性能会越来越低。然而,随着K的增大,精度不会线性的增长,但是性能却 会线性的降低。因此,在固定P参数后,通过测量当前场景下不同的K值所 对应的精度曲线和性能值曲线,可以找到精度最优且性能最佳的K参数取值。

随后,可基于至少一个区域中的每个区域的角点数,确定至少一个区域 中的每个区域中分布的角点。例如,可针对至少一个区域中的每个区域执行 以下操作:将当前区域中时间上最新的N个事件点确定为当前区域中分布的 角点,其中,N为确定的当前区域的角点数。例如,可根据当前区域中的每 个事件的时间信息,对当前区域中的每个事件按从新到旧进行排序;将排在 前N个事件所在的像素点确定为当前区域中分布的角点。如上所述,一个事 件e

下面,将以图2中的示例数据为例,详细描述根据本公开的示例性实施 例的角点检测方法。在图2中,假设P=90%,K=55。

如图2所示,DVS事件帧可被划分为4*3=12个网格区域,统计每个区 域的事件数,例如,10、5、33、21、80、200、150、50、20、120、100、65, 该DVS事件帧的事件总数可为854。

可将这12个网格区域根据网格区域中的事件数进行类似图中的网格排 序。例如,按事件数从大到小对12个网格区域排序,即,200、150、120、 100、80、65、50、33、21、20、10、5。

可选择事件数累加总和占DVS事件帧的总事件数(854)的比例大于或 等于90%的区域,即,事件数为200、150、120、100、80、65、50、33的区 域,选择区域的事件总数为798。

可根据选择的每个区域的事件数占事件总数(798)的比例,确定选择的 每个区域的角点分布权重,即,角点分布权重为200/798=25.06%、 150/798=18.8%、120/798=15.04%、100/798=12.53%、80/798=10.03%、 65/798=8.15%、50/798=6.27%、330/798=4.14%。

可根据确定的每个区域的角点分布权重,对每个区域分配角点数,使得 选择区域的角点数总和不大于55,即,根据角点分布权重的比例,角点数分 布为14、10、8、7、6、4、3、2。

根据确定的每个区域的角点数,将每个区域最新的确定角点数的事件点 确定为角点。例如,对于角点数为14的区域,可选择时间上最新的14个事 件点作为该区域的角点,依此类推。这样就可获得该DVS事件帧的角点集合, 可作为目标追踪算法的后续输入。

图4是示出根据本公开的示例性实施例的角点检测装置的框图。

参照图4,根据本公开的示例性实施例的角点检测装置400可包括获取 单元401、事件数确定单元402和检测单元403。

获取单元401可获取动态视觉传感器DVS事件帧,其中,DVS事件帧 被预先划分为多个区域。例如,M×N个区域,M和N的取值范围分别是1 到DVS事件帧的宽和高的最大分辨率。

根据本公开的示例性实施例,获取单元401可根据预定时间获取一个 DVS事件帧,例如,每隔10ms获得一个DVS事件帧,该DVS事件帧中包 括DVS在当前10ms间隔内感测到的所有事件。在这种情况下,可预先确定 DVS事件帧的划分区域,也可在获得DVS事件帧后,确定划分区域。

根据本公开的另一示例性实施例,获取单元401可根据M、N以及分帧 事件数E获取一个DVS事件帧。具体地说,当DVS事件帧被预先确定划分 成M×N个区域后,对各区域事件数计数,只要有一个区域的事件数达到E, 则认为获取到一帧DVS事件帧。在这种情况下,需要预先确定DVS事件帧 的划分区域。可见,M、N和E共同决定了一个DVS事件帧的数据量,当现 有光流算法应用该DVS事件帧可以获得最佳效果时(即,精度和性能的最佳 匹配),M、N和E也就得到了最佳取值。例如,但不限于,可取M=4、N=3、 E=200,即,将DVS事件帧划分为M×N=12个区域,当有区域的事件数达 到200,则认为形成一个DVS事件帧。

事件数确定单元402可确定多个区域中的每个区域的事件数。根据本公 开的示例性实施例,事件数确定单元402可根据DVS事件帧中的每个事件的 位置信息和多个区域中的每个区域的位置信息,统计多个区域中的每个区域 的事件数。这里,位置信息可以是坐标信息。一个事件e

检测单元403可基于多个区域中的每个区域的事件数以及预设最大角点 数,检测多个区域中的每个区域中的角点,以获得DVS事件帧的角点。

根据本公开的示例性实施例,检测单元403可从多个区域中确定角点可 分布到的至少一个区域,并根据至少一个区域中的每个区域的事件数以及预 设最大角点数,检测至少一个区域中的每个区域中的角点。

下面,将具体介绍根据本公开的检测单元403如何确定角点可分布到的 至少一个区域的示例性实施例。

根据本公开的示例性实施例,检测单元403可从DVS事件帧的所有区域 获取角点。因此,检测单元403可将划分出的多个区域的所有区域确定为角 点可分布到的至少一个区域。

根据本公开的另一示例性实施例,检测单元403可从DVS事件帧的一部 分区域获取角点。因此,检测单元403可根据每个区域的事件数来确定从DVS 事件帧的哪些区域获取角点。例如,检测单元403可对划分出的多个区域的 每个区域的事件数求和,获得DVS事件帧的总事件数;按照每个区域的事件 数从大到小的顺序,依次从所述多个区域中选择至少一个区域,直到选择的 至少一个区域的事件数累加总和占所述DVS事件帧的总事件数的比例等于 或大于预设区域提取百分比P为止,将选择的至少一个区域作为角点可分布 到的所述至少一个区域。这里,区域提取百分比P是指提取区域的事件数累 加总和占比值。参数P是精度参数,其取值范围可以是除0以外的任意百分 比,可根据不同的场景精度需求设置不同的值。例如,对于接近整幅画面的 目标运动场景,参数P的取值越大算法效果越好,最高取值可为100%(即, 从DVS事件帧的所有区域获取角点),因为更高的百分比更能反映整幅画面 的运动信息。又例如,运动目标越小,参数P越小越好,但不能为0,因为 运动事件信息更集中于一小部分区域。

下面,将具体介绍根据本公开的检测单元403如何在确定的至少一个区 域上检测角点的示例性实施例。

根据本公开的示例性实施例,首先,检测单元403可对至少一个区域中 的事件数求和,确定第一总事件数。

随后,检测单元403可基于第一总事件数和至少一个区域中的每个区域 的事件数,确定至少一个区域中的每个区域的角点分布权重。例如,检测单 元403可根据至少一个区域中的每个区域的事件数占第一总事件数的比例, 确定至少一个区域中的每个区域的角点分布权重。

随后,检测单元403可基于预设最大角点数和至少一个区域中的每个区 域的角点分布权重,确定至少一个区域中的每个区域的角点数。例如,检测 单元403可通过将至少一个区域中的每个区域的角点分布权重与预定最大角 点数相乘,获得对至少一个区域中的每个区域分配的角点数,其中,至少一 个区域中的每个区域分配到的角点数的总和不大于预设最大角点数。这里, 预设最大角点数K是指预先设置的一个DVS事件帧中的最大角点个数。参 数K是性能参数也是精度参数,其取值范围可以是不超过DVS事件帧分辨 率的任意正整数,在不同的场景可设置不同的值。对于K的取值在任何场景 下都是K越大精度越高,但是性能会越来越低。然而,随着K的增大,精度 不会线性的增长,但是性能却会线性的降低。因此,在固定P参数后,通过 测量当前场景下不同的K值所对应的精度曲线和性能值曲线,可以找到精度 最优且性能最佳的K参数取值。

随后,检测单元403可基于至少一个区域中的每个区域的角点数,确定 至少一个区域中的每个区域中分布的角点。例如,检测单元403可针对至少 一个区域中的每个区域执行以下操作:将当前区域中时间上最新的N个事件 点确定为当前区域中分布的角点,其中,N为确定的当前区域的角点数。例 如,检测单元403可根据当前区域中的每个事件的时间信息,对当前区域中 的每个事件按从新到旧进行排序;将排在前N个事件所在的像素点确定为当 前区域中分布的角点。如上所述,一个事件e

图5是根据本公开的示例性实施例的电子设备500的框图。

参照图5,电子设备500包括至少一个存储器501和至少一个处理器502, 所述至少一个存储器501中存储有计算机可执行指令集合,当计算机可执行 指令集合被至少一个处理器502执行时,执行根据本公开的示例性实施例的 角点检测方法。

作为示例,电子设备500可以是PC计算机、平板装置、个人数字助理、 智能手机、或其他能够执行上述指令集合的装置。这里,电子设备500并非 必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指 令集)的装置或电路的集合体。电子设备500还可以是集成控制系统或系统 管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以 接口互联的便携式电子设备。

在电子设备500中,处理器502可包括中央处理器(CPU)、图形处理器 (GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示 例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处 理器、处理器阵列、网络处理器等。

处理器502可运行存储在存储器501中的指令或代码,其中,存储器601 还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接 收,其中,网络接口装置可采用任何已知的传输协议。

存储器501可与处理器502集成为一体,例如,将RAM或闪存布置在 集成电路微处理器等之内。此外,存储器501可包括独立的装置,诸如,外 部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器501 和处理器502可在操作上进行耦合,或者可例如通过I/O端口、网络连接等 互相通信,使得处理器502能够读取存储在存储器中的文件。

此外,电子设备500还可包括视频显示器(诸如,液晶显示器)和用户 交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备500的所有组件 可经由总线和/或网络而彼此连接。

根据本公开的示例性实施例,还可提供一种计算机可读存储介质,其中, 当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处 理器执行根据本公开的角点检测方法。这里的计算机可读存储介质的示例包 括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除 可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存 储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、 CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、 DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、 蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸 如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁 光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所 述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的 数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数 据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计 算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、 代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算 机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通 过一个或多个处理器或计算机以分布式方式存储、访问和执行。

根据本公开的角点检测方法和角点检测装置,可直接在DVS事件帧中找 到最合适的点作为角点进行光流计算,避免了将DVS事件帧转换为位图图像, 然后再从该位图图像中通过现有的角点检测算法选取角点的操作,从而摆脱 了DVS事件帧角点检测对于位图图像的依赖,充分发挥了DVS基于事件的 这一硬件优势,使得应用本公开的角点检测方法后的光流算法在DVS事件帧 上达到精度相近的同时处理性能大幅提高。此外,在角点选取方面考虑到了 DVS事件的时间先后顺序,选择在时间上最新的事件点集合,使得角点选取 更能反映运动目标的准确信息。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本 公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性 变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公 开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被 视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确 结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所 附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号