Abstract

  为神经形态视觉任务传建一个数据集是一项有挑战的任务。Neuromorphic Vision传感器缺少可用的记录,这意味着通常必须专门为创建数据集记录数据,而不是收集和标记现有数据。由于希望同时提供传统的基于帧的记录以允许与传统的计算机视觉算法进行直接比较,因此使任务更加复杂。在这里,我们提出了一种使用促动的云台摄像机平台将现有计算机视觉静态图像数据集转换为神经形态视觉数据集的方法。在计算机上模拟运动时,移动传感器而不是场景或图像是一种生物学上更现实的方法,可以消除由监视器更新引入的定时伪像。我们介绍了两个流行的图像数据集(MNIST 和 Caltech101)的转换,这些数据集在计算机视觉的发展中发挥了重要作用,并使用基于spiking的识别算法为这些数据集提供了性能指标。这项工作有助于将来在该领域中使用的数据集,以及基于spiking的算法的结果,可以与未来的工作进行比较。此外,通过转换已经在Computer Vision中流行的数据集,我们可以与基于框架的方法进行更直接的比较。

1. Introduction

  基准、挑战和数据集在基于框架的计算机视觉的成熟中发挥了重要作用。 对通用数据集上的算法进行定量评估,并使用通用指标,可以在作品之间进行公正、直接的比较。 通过直接比较结果,可以让研究人员和该数据集上的最好结果进行比较,从而促进竞争并激励研究人员。(数据集的重要性不仅限于评估和比较算法, 数据集还为研究人员提供了开源的数据。)没有这些数据集,他们需要收集和标记自己的数据,这是一项繁琐且耗时的任务。收集数据的任务对于Neuromorphic Vision研究人员而言尤其繁琐。 缺乏公开可用的数据意味着neuromorphic研究人员必须记录自己的数据,这与基于框架的计算机视觉相反。在计算机视觉中,可以通过从大量可公开访问的图像中组合样本来构建数据集。 尽管最近iniLabs传感器的商业化已大大降低了获取Neuromorphic Vision传感器的应用门槛,但仍然缺乏公开可用的Neuromorphic Vision数据和数据集。

  社区已经很好地认识到了神经形态视觉的良好数据集的短缺,并且在一定程度上促使了本文的出现。 在同一主题的另一篇文章中,我们讨论了良好数据集的特征,它们在基于框架的计算机视觉中扮演的角色,以及在计算机视觉中获得的经验教训如何帮助指导Neuromorphic Vision的发展。 在本文中,我们专注于创建用于目标检测的Neuromorphic Vision数据集。

  好的数据集的一个重要特征是它应该足够、足够难,尽量使算法“失败”(准确度尽可能的低于100%)。在数据集上达到100%的准确性听起来令人印象深刻,但是它不能充分描述算法的准确性,仅提供了一个下限(最低标准)。在同一数据集上,更精确的算法也将达到100%,因此需要一个更困难的数据集来区分这两种算法。为了确保数据集的寿命,即使面对性能明显提升的算法,也应充分防止其达到100%的准确性。

  但是,现有的许多Neuromorphic Vision数据集,都并不是以长周期为目的的数据集。而是将它们作为描述新算法的论文的次要部分。这些数据集是引入论文仅仅是作为次要目的,即展示算法的性能,随后的改进算法很快将数据集的准确性提高到100%。

  在本文中,我们的主要目标是介绍两个新的Neuromorphic Vision数据集,这些数据集的目标是“它们在未来几年内仍将对Neuromorphic社区有用”。尽管我们提供了现有算法在该数据集上的的识别准确性,但我们这样做只是为了给将来的算法提供一个比较的基准点。在本文中,我们不关心修改或改进算法。

  我们不是从头创建我们自己的数据集,而是要利用完善的Computer Vision数据集。通过将Computer Vision数据集转换为Neuromorphic Vision数据集,我们节省了选择和收集主题的大量时间和精力。此外,正如我们在第2节中所示,可以使用Neuromorphic传感器自动记录实时转换过程。使用Computer Vision领域众所周知的数据集还可以确保社区之间的比较更容易。我们选择的两个计算机视觉数据集是MNISTCaltech101。我们使用名称“ MNIST”和“ Caltech101”来指代原始Computer Vision数据集,使用名称“ N-MNIST”和“ N-Caltech101”来指代我们的Neuromorphic版本。

  MNIST仅包含10个不同的类别,数字0—9。数据库中的样本都很小(28×28像素),因此可以轻松下载,复制和分发。较小的尺寸还减少了处理时间,从而可以在对新创意进行原型设计时进行快速测试和算法迭代。我们打算让N-MNIST在Neuromorphic Vision中扮演类似的角色,因此有意将记录的数据样本仍然保持在28×28像素的大小。

   Caltech101是一个难度更大的数据集,包含100个不同的对象类以及一个背景类。图像本身要大得多,平均高度为245像素,宽度为302像素。虽然MNIST可以看作是构想原型的草稿本,但Caltech101却提出了更为困难的挑战。我们承认,由于Computer Vision算法已经提出很多先进的算法,Caltech101现在已经被视为Computer Vision的简单数据集。但是我们可以预见,它对不成熟的euromorphic Vision领域将会构成重大挑战。

  其他的一些已经提出的Computer Vision数据集包括:4 class card pip dataset;4 class silhouette orientation dataset;3 class posture dataset;这些数据集上的精度已经非常高了,并且每个数据集都上超过100个测试案例。

  也有其他人尝试将静态图像转换为Neuromorphic数据,但是转换图像非常困难,因为 Neuromorphic传感器的基本原理是它们仅对场景的变化做出响应。有些人已经通过仿真解决了这个问题。假设峰值时间与静态图像的局部图像对比度成正比,而模拟图像运动以创建尖峰序列。但是,模拟并不能现实地逼近录音中出现的噪声,噪声可以采取虚假事件,遗漏事件和事件等待时间变化的形式。

  可以说,迄今为止创建的最完整的数据集是“ MNIST-DVS”数据集。这个数据及是这样产生的:首先它是真实传感器记录的,然后查看在计算机监视器上移动的MNIST示例。但是,此方法也存在问题,因为监视器上的运动是不连续的:每次监视器刷新时(格手翻补充:摄像机也是有帧率的,每秒钟会刷新固定的帧率,所以当我们用超高帧率摄像机拍摄物体时,我们就能看到物体的运动过程,这种过程显然是不连续的),位置的变化就会形成不连续的记录结果。这些不连续性在数据在Fig.1中清晰可见。此外,MNIST-DVS数据集仅转换了MNIST里70,000个样本中的10,000个样本子集,这阻碍了Neuromorphic研究人员使用直接将其算法与Computer Vision进行比较,因为他们有着不同规模的训练集和测试集。MNIST-DVS示例也已升级到3种不同的数据规模,但是与我们目前提供的较小规模相比,其处理计算量更大。

  我们的图像转换方法使用计算机监视器上的静态图像,而不是移动传感器本身。我们的方法与在灵长类动物和人体实验中观察到的视网膜运动相似。这些运动是潜意识的,甚至在试图固定在一个点上时也会出现,并且这些运动被认为在灵长类视觉系统的识别中起着重要的作用。

  在本文的其余部分,我们将在第2节中描述图像转换过程,并使用它来转换MNIST和Caltech101数据集。在第3节中,我们将显示记录示例,并描述记录数据集的某些属性。在第4节中,我们将使用现在已有的算法简要介绍数据集上的识别准确性,然后在第5节中进行讨论。

2. 将静态图像转换为神经形态数据

  在本节中,我们将描述我们的图像转换技术背后的原理,实现该技术的系统的硬件和软件设计,系统用于MNIST和Caltech101转换的参数,以及有关如何获取和使用所得数据集的信息。

2. 1 静态数据转换的方法

  如上一节所述,从现有的基于框架的数据集中创建Neuromorphic数据库可以节省我们收集数据的时间;同时,创建基于框架的计算机视觉研究人员熟悉的数据集,从而可以在不同领域之间之间进行更直接的比较。但是,如何执行转换,这仍然是个问题。下面,我们讨论执行转换的几种可能方法,并提供导致我们进行最终转换过程的推理。

  Neuromorphic Vision传感器经过特殊设计,每个像素仅对像素强度的变化做出反应。这些变化可能来自现实场景中照明的变化,也可能来自图像运动和图像空间梯度的组合。尽管可以想象修改场景照明以引起像素响应(例如,打开灯)的方案,但这种过程在现实世界中是不自然的,在明亮的室外条件下(我们希望性能最好)是不可行的。因此,我们选择使用图像运动作为引发像素亮度变化的机制。

  即使对于亮度恒定的场景,由于传感器或物体的运动导致同一像素查看场景的不同部分,因此单个像素观察到的亮度也会随着时间而变化。可以从图像恒定性约束中得出描述图像平面上单个点的亮度变化的规范光学流约束为:
I t = − I x V x − I y V y ( 1 ) \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad I_{t}= -I_{x}V_{x}-I_{y}V_{y} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad (1) It=IxVxIyVy1
其中 I t , I x , I y I_{t},I_{x},I_{y} ItIxIy分别是图像强度在时间上的导数,x,y都是像素点在图像上的坐标, V x 和 V y V_{x}和V_{y} VxVy图像x和y方向上的速度。这个方程描述了:图像在x和y方向的移动还有图像的空间梯度,使像素亮度如何改变。公式(1)中的图像移动是由传感器和物体的移动共同造成的。图像的移动可以描述为:
V x = T z x − T x z − ω y + ω z y + ω x x y − ω y x 2 ( 2 ) \quad \quad\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad V_{x}=\frac{^{T_{z}x-^{}T_{x}}}{z}-\omega _{y}+\omega _{z}y+\omega _{x}xy-\omega _{y}x^{2} \quad\quad\quad \quad \quad \quad \quad \quad (2) Vx=zTzxTxωy+ωzy+ωxxyωyx2(2)
V y = T z y − T y z + ω x − ω z x − ω y x y + ω x y 2 ( 3 ) \quad \quad\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad V_{y}=\frac{^{T_{z}y-^{}T_{y}}}{z}+\omega _{x}-\omega _{z}x-\omega _{y}xy+\omega _{x}y^{2} \quad\quad\quad \quad \quad \quad \quad \quad (3) Vy=zTzyTy+ωxωzxωyxy+ωxy2(3)
其中 T x , T Y 和 T z T_{x},T_{Y}和T_{z} Tx,TYTz是传感器相对于场景的转换速度, ω x , ω y 和 ω z \omega _{x},\omega _{y}和\omega _{z} ωx,ωyωz是围绕传感器转动轴的角速度,x,y和z是传感器在场景中的位置(格手翻补充:就是传感器的三维空间中的定位坐标啦)。

  由传感器和物体之间的相对平移产生的图像运动,取决于场景深度 z。但是对于要查看静态2D图像的传感器,图像中的所有点具有相同的深度(假设2D图像平行于传感器图像平面)。因此,在查看静态2D图像时平移传感器的时间,与在查看捕获图像的原始3D场景时平移传感器时的响应不同。另一方面,由于相机围绕其原点旋转而引起的图像运动 ω x , ω y 和 ω z \omega _{x},\omega _{y}和\omega _{z} ωx,ωyωz与场景深度无关。因此,我们决定图像和相机之间的相对运动应采取绕相机原点纯旋转的形式。

  我们选择使用真实的传感器在循环中进行记录,而不是使用纯模拟。通过使用真实的传感器记录,可以通过固有地包含于现实世界中预期的传感器噪声,为数据集提供更高的可信度。我们选择物理旋转传感器本身,而不是围绕摄像机原点旋转图像,因为这么操作对于现实世界的场景既好操作又更真实。可以想象这样一种情况:在PC监视器上模拟传感器周围的图像旋转,但是监视器上的运动是不连续的,并且清楚地显示在记录中。
FIgure 1.
  图1显示了在监视器上模拟运动如何影响记录结果。该图显示了来自MNIST-DVS数据集的数据的离散快速傅立叶变换(DFFT)情况。为了获得更准确的DFFT,随机选择结果数据并进行连接,直到记录到长度 2 27 2^{27} 227微秒的结果。创建一个 2 27 2^{27} 227长度的零向量,即其包含 2 27 2^{27} 227个timesteps,有event发生的timestep,就要增加。然后减去向量的平均值以去除直流(0 Hz)分量,并将向量中的能量归一化为1 时间步长。

  低频分量(<5Hz)能够明显的被看到,是因为屏幕上物体的缓慢移动造成的。在75Hz部分有一个明显的peak,这是由于 我们的传感器有一个75Hz的刷新率,所以会造成在检测运动时候出现不连续的现象。其次50Hz和25Hz处也能看到较为明显的peak。

2. 2 静态数据转换系统的设计

2.2.1 硬件设计

2.2.2 软件设计

2.3 记录参数

  TODO:

Abstract

为神经形态视觉任务传建一个数据集是一项有挑战的任务。Neuromorphic Vision传感器缺少可用的记录,这意味着通常必须专门为创建数据集记录数据,而不是收集和标记现有数据。由于希望同时提供传统的基于帧的记录以允许与传统的计算机视觉算法进行直接比较,因此使任务更加复杂。在这里,我们提出了一种使用促动的云台摄像机平台将现有计算机视觉静态图像数据集转换为神经形态视觉数据集的方法。在计算机上模拟运动时,移动传感器而不是场景或图像是一种生物学上更现实的方法,可以消除并消除由监视器更新引入的定时伪像。我们介绍了两个流行的图像数据集(MNIST和Caltech101)的转换,这些数据集在计算机视觉的发展中发挥了重要作用,并使用基于尖峰的识别算法为这些数据集提供了性能指标。这项工作有助于将来在该领域中使用的数据集,以及基于峰值的算法的结果,可以与未来的工作进行比较。此外,通过转换已经在Computer Vision中流行的数据集,我们可以与基于框架的方法进行更直接的比较。

Introduction

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

![FIgure 1.]
(https://img-blog.csdnimg.cn/2020071015415796.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzM0NDUwMjA0,size_16,color_FFFFFF,t_70#pic_cente =100×100)
链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

Logo

更多推荐