integrate-and-fire neurons fi
视网膜功能启发的边缘检测层级模型
视网膜功能启发的边缘检测层级模型郑程驰 1范影乐1摘 要 基于视网膜对视觉信息的处理方式, 提出一种视网膜功能启发的边缘检测层级模型. 针对视网膜神经元在周期性光刺激下产生适应的特性, 构建具有自适应阈值的Izhikevich 神经元模型; 模拟光感受器中视锥细胞、视杆细胞对亮度的感知能力, 构建亮度感知编码层; 引入双极细胞对给光−撤光刺激的分离能力, 并结合神经节细胞对运动方向敏感的特性, 构建双通路边缘提取层; 另外根据神经节细胞神经元在多特征调控下延迟激活的现象, 构建具有脉冲延时特性的纹理抑制层; 最后将双通路边缘提取的结果与延时抑制量相融合, 得到最终边缘检测结果. 以150张来自实验室采集和AGAR 数据集中的菌落图像为实验对象对所提方法进行验证, 检测结果的重建图像相似度、边缘置信度、边缘连续性和综合指标分别达到0.9629、0.3111、0.9159和0.7870, 表明所提方法能更有效地进行边缘定位、抑制冗余纹理、保持主体边缘完整性. 本文面向边缘检测任务, 构建了模拟视网膜对视觉信息处理方式的边缘检测模型, 也为后续构建由视觉机制启发的图像计算模型提供了新思路.关键词 边缘检测, 视网膜, Izhikevich 模型, 神经编码, 方向选择性神经节细胞引用格式 郑程驰, 范影乐. 视网膜功能启发的边缘检测层级模型. 自动化学报, 2023, 49(8): 1771−1784DOI 10.16383/j.aas.c220574Multi-layer Edge Detection Model Inspired by Retinal FunctionZHENG Cheng-Chi 1 FAN Ying-Le 1Abstract Based on the processing of visual information by the retina, this paper proposes a multi-layer model of edge detection inspired by retinal functions. Aiming at the adaptive characteristics of retinal neurons under periodic light stimulation, an Izhikevich neuron model with adaptive threshold is established; By simulating the perception ability of cones and rods for luminance and color in photoreceptors, the luminance perception coding layer is con-structed; By introducing the ability of bipolar cells for separating light stimulation, and combining with the charac-teristics of ganglion cells sensitive to the direction of movement, a multi-pathway edge extraction layer is constructed;In addition, according to the phenomenon of delayed activation of ganglion cell neurons under multi-feature regula-tion, a texture inhibition layer with pulse delay characteristics is constructed; Finally, by fusing the result of multi-pathway edge extraction with the delay suppression amount, the final edge detection result is obtained. The 150colony images from laboratory collection and AGAR dataset are used as experimental objects to test the proposed method. The reconstruction image similarity, edge confidence, edge continuity and comprehensive indicators of the detection results are 0.9629, 0.3111, 0.9159 and 0.7870, respectively. The results show that the proposed method can better localize edges, suppress redundant textures, and maintain the integrity of subject edges. This research is oriented to the task of edge detection, constructs an edge detection model that simulates the processing of visual information by the retina, and also provides new ideas for the construction of image computing model inspired by visual mechanism.Key words Edge detection, retina, Izhikevich model, neural coding, direction-selective ganglion cells (DSGCs)Citation Zheng Cheng-Chi, Fan Ying-Le. Multi-layer edge detection model inspired by retinal function. Acta Automatica Sinica , 2023, 49(8): 1771−1784边缘检测作为目标分析和识别等高级视觉任务的前级环节, 在图像处理和工程应用领域中有重要地位. 以Sobel 和Canny 为代表的传统方法大多根据相邻像素间的灰度跃变进行边缘定位, 再设定阈值调整边缘强度和冗余细节[1]. 虽然易于计算且快速, 但无法兼顾弱边缘感知与纹理抑制之间的有效性, 难以满足复杂环境下的应用需要. 随着对生物视觉系统研究的进展, 人们对视觉认知的过程和视觉组织的功能有了更深刻的了解. 许多国内外学者在这些视觉组织宏观作用的基础上, 进一步考虑神经编码方式与神经元之间的相互作用, 并应用于边缘检测中. 这些检测方法大多首先会选择合适的神经元模型模拟视觉组织细胞的群体放电特性, 再关联例如视觉感受野和方向选择性等视觉机制, 以不收稿日期 2022-07-14 录用日期 2022-11-29Manuscript received July 14, 2022; accepted November 29,2022国家自然科学基金(61501154)资助Supported by National Natural Science Foundation of China (61501154)本文责任编委 张道强Recommended by Associate Editor ZHANG Dao-Qiang1. 杭州电子科技大学模式识别与图像处理实验室 杭州 3100181. Laboratory of Pattern Recognition and Image Processing,Hangzhou Dianzi University, Hangzhou 310018第 49 卷 第 8 期自 动 化 学 报Vol. 49, No. 82023 年 8 月ACTA AUTOMATICA SINICAAugust, 2023同的编码方式将输入的图像转化为脉冲信号, 经过多级功能区块处理和传递后提取出图像的边缘. 其中, 频率编码和时间编码是视觉系统编码光刺激的重要方式, 在一些计算模型中被广泛使用. 例如,文献[2]以HH (Hodgkin-Huxley)神经元模型为基础, 使用多方向Gabor滤波器模拟神经元感受野的方向选择性, 实现神经元间连接强度关联边缘方向,将每个神经元的脉冲发放频率作为边缘检测的结果输出, 实验结果表明其比传统方法更有效; 文献[3]在 LIF (Leaky integrate-and-fire) 神经元模型的基础上进行改进, 引入根据神经元响应对外界输入进行调整的权值, 在编码的过程中将空间的脉冲发放转化为时序上的激励强度, 实现强弱边缘分类, 对梯度变化幅度小的弱边缘具有良好的检测能力. 除此之外, 也有关注神经元突触间的相互作用, 通过引入使突触的连接权值产生自适应调节的机制来提取边缘信息的计算方法. 例如, 文献 [4] 构建具有STDP (Spike-timing-dependent plasticity) 性质的神经元模型, 根据突触前后神经元首次脉冲发放时间顺序来增强或减弱突触连接, 对真伪边缘具有较强的辨别能力; 文献 [5] 则在构建神经元模型时考虑了具有时间不对称性的STDP机制, 再融合方向特征和侧抑制机制重建图像的主要边缘信息, 其计算过程对神经元突触间的动态特性描述更加准确.更进一步, 神经编码也被应用于实际的工程需要.例如, 文献 [6]针对现有的红外图像边缘检测算法中存在的缺陷, 构建一种新式的脉冲神经网络, 增强了对红外图像中弱边缘的感知; 文献 [7] 则通过模拟视皮层的处理机制, 使用包含左侧、右侧和前向3条并行处理支路的脉冲神经网络模型提取脑核磁共振图像的边缘, 并将提取的结果用于异常检测,同样具有较好的效果. 上述方法都在一定程度上考虑了视觉组织中神经元的编码特性以及视觉机制,与传统方法相比, 在对复杂环境的适应性更强的同时也有较高的计算效率. 但这些方法都未能考虑到神经元自身也会随着外界刺激产生适应, 从而使活动特性发生改变. 此外, 上述方法大多也只选择了频率编码、时间编码等编码方式中的一种, 并不能完整地体现视觉组织中多种编码方式的共同作用.事实上, 在对神经生理实验和理论的持续探索中发现, 视觉组织(以视网膜为例)在对视觉刺激的加工中就存在着丰富的动态特性和编码机制[8−9]. 视网膜作为视觉系统中的初级组织结构, 由多种不同类型的细胞构成, 共同组成一个纵横相连、具有层级结构的复杂网络, 能够针对不同类型的刺激性选择相应的编码方式进行有效处理. 因此, 本文面向图像的边缘检测任务, 以菌落图像处理为例, 模拟视网膜中各成分对视觉信息的处理方式, 构建基于视网膜动态编码机制的多层边缘检测模型, 以适应具有多种形态结构差异的菌落图像边缘检测任务.1 材料和方法本文提出的算法流程如图1所示. 首先, 根据视网膜神经元在周期性光刺激下脉冲发放频率发生改变的特性, 构建具有自适应阈值特性的Izhikevich 神经元模型, 改善神经元的同步发放能力; 其次, 考虑光感受器对强弱光和颜色信息的不同处理方式编码亮度信息, 实现不同亮度水平目标与背景的区分;然后, 引入固视微动机制, 结合神经节细胞的方向选择性和给光−撤光通路的传递特性, 将首发脉冲时间编码的结果作为双通路的初级边缘响应输出;随后, 模拟神经节细胞的延迟发放特性, 融入对比度和突触前后偏好方向差异, 计算各神经元的延时抑制量, 对双通路的计算结果进行纹理抑制; 最后,整合双通路边缘信息, 将二者融合为最终的边缘检测结果.1.1 亮度感知编码层构建神经元模型时, 本文综合考虑对神经元生理特性模拟的合理性和进行仿真计算的高效性, 以Izhikevich模型[10]为基础构建神经元模型. Izhike-vich模型由Izhikevich在HH模型的基础上简化而来, 在保留原模型对神经元放电模式描述的准确性的同时, 也具有较低的时间复杂度, 适合神经元群体计算时应用, 其表达式如下式所示v thv th 其中, v为神经元的膜电位, 其初始值设置为 −70; u为细胞膜恢复变量, 设置为14; I为接收的图像亮度刺激; 为神经元脉冲发放的阈值, 设置为30; a描述恢复变量u的时间尺度, b描述恢复变量u 对膜电位在阈值下波动的敏感性, c和d分别描述产生脉冲发放后膜电位v的重置值和恢复变量u的增加程度, a, b, c, d这4个模型参数的典型值分别为0.02、0.2、−65和6. 若某时刻膜电位v达到,则进行一次脉冲发放, 同时该神经元对应的v被重置为c, u被重置为u + d.适应是神经系统中广泛存在的现象, 具体表现为神经元会根据外界的刺激不断地调节自身的性质. 其中, 视网膜能够适应昼夜环境中万亿倍范围的光照变化, 这种适应能够帮助其在避免饱和的同时保持对光照的敏感性[11]. 研究表明, 视网膜持续1772自 动 化 学 报49 卷接受外界周期性光刺激时, 光感受器会使神经元细胞的活动特性发生改变, 导致单个神经元的发放阈值上升, 放电频率下降; 没有脉冲发放时, 对应阈值又会以指数形式衰减, 同时放电频率逐渐恢复[12].因此, 本文在Izhikevich 模型的基础上作出改进,加入根据脉冲发放频率对阈值进行自适应调节的机制, 如下式所示τ1τ2τ1τ2v th τ1v th τ2其中, 和 分别为脉冲发放和未发放时阈值变化的时间常数, 其值越小, 阈值变化的幅度越大, 神经元敏感性变化的过程越快; 反之, 则表示阈值变化的幅度越小, 神经元敏感性变化的过程也就越慢.生理学实验表明, 在外界持续光刺激下, 神经元对刺激产生适应导致放电频率降低后, 这种适应衰退的过程比产生适应的过程通常要长数倍[13]. 因此,为了在准确模拟生理特性的同时保证计算模型的性能, 本文将 和 分别设置为20和40. 这样, 当某时刻某个神经元产生脉冲发放时, 则对应阈值 根据 的值升高, 神经元产生适应, 活跃度降低; 反之, 对应阈值 根据 的值下降, 神经元的适应衰退, 活跃度提升. 实现限制活跃神经元的脉冲发放频率, 促进不活跃神经元的脉冲发放, 改善神经元群体的同步发放能力, 减少检测目标内部冗余. 图2边缘检测结果图 1 边缘检测算法原理图Fig. 1 Principle of edge detection algorithm8 期郑程驰等: 视网膜功能启发的边缘检测层级模型1773显示了改进前后的Izhikevich 模型对图像进行处理后目标内部冗余情况.0∼255为了规范检测目标图像的亮度范围, 本文将输入的彩色图像Img 各通路的亮度映射到 区间内, 如下式所示Img (;i )I (;i )其中, 和 表示经亮度映射前和映射后的R 、G 、B 三种颜色分量图像; max(·) 和min(·)分别计算对应分量图像中的最大和最小像素值.光感受器分两类, 分别为视锥细胞和视杆细胞[14], 都能将接收到的视觉刺激转化为电信号, 实现信息的编码和传递. 其中, 视锥细胞能够根据外界光刺激的波长来分解为三个不同的颜色通道[15].考虑到人眼对颜色信息的敏感性能有效区分离散目标与背景, 令图像中的每个像素点对应一个神经元,将R 、G 、B 三种颜色分量图像分别输入上文构建的神经元模型中, 在一定时间范围内进行脉冲发放,如下式所示fires (x,y ;i )其中, 为每个神经元的脉冲发放次数,函数Izhikevich(·)表示式(2)给出的神经元模型.视杆细胞对光线敏感, 主要负责弱光环境下的外界刺激感知. 当光刺激足够强时, 视杆细胞的感知能力达到饱和, 视觉系统转为使用视锥细胞负责亮度信息的处理[16]. 因此, 除了对颜色信息敏感外,视锥细胞对强光也有高度辨别能力. 考虑到作为检测对象的图像中, 目标与背景具有不同的亮度水平,本文构建一种综合视锥细胞和视杆细胞亮度感知能力的编码方法, 以适应目标与背景不同亮度对比的多种情况, 如下式所示I base I base (x,y )fires Res (x,y )其中, var(·) 计算图像亮度方差; ave(·) 计算图像亮度均值. 本文取三种颜色分量图像中方差最大的一幅作为基准图像 , 对于其中的像素值 ,将其中亮度低于平均亮度的部分设置为三种颜色分量脉冲发放结果的最小值, 反之设置为最大值, 最终得到模型的亮度编码结果 , 实现在图像局部亮度相对较低的区域由视杆细胞进行弱光感知, 亮度较高区域由视锥细胞处理, 强化计算模型对不同亮度目标和背景的区分能力, 凸显具有弱边缘的对象. 图3显示了亮度感知编码对存在弱边缘的对象的感知能力.1.2 基于固视微动的多方向双通路边缘提取层Img gray 人眼注视目标时, 接收的图像并非是静止的,而是眼球以每秒2至3次的微动使投射在视网膜上的图像发生持续运动, 不断地改变照射在光感受器上的光刺激[17]. 本文考虑人眼的固视微动机制,在原图像的灰度图像 上构建大小为3×3的微动作用窗口temp , 使窗口接收到的亮度信息朝8个方向进行微动, 如下式所示p i q i θi temp θi d x d y 其中, 和 是用于决定微动方向 的参数, 其值被设置为 −1、0或1, 通过计算反正切函数能够得到以45° 为单位、从0° 到315° 的8个角度的微动方向, 对应8个微动结果窗口 ; 和 分别表示水平和竖直方向的微动尺度; Dir 为计算得到(a) 原图(a) Original image (b) Izhikevich 模型(b) Izhikevich model (c) 改进的 Izhikevich 模型(c) Improved Izhikevich model图 2 改进前后的Izhikevich 模型对图像进行脉冲发放的结果对比图Fig. 2 Comparison of the image processing results of the Izhikevich model before and after improvement1774自 动 化 学 报49 卷Dir (x,y )的微动方向矩阵, 其中每个像素点的值为 ;sum(·) 计算窗口中像素值的和. 本文取每个微动窗口前后差异最大的方向作为该点的偏好方向, 分别用数字1 ~ 8表示.视网膜存在一类负责对运动刺激编码、具有方向选择性的神经节细胞 (Direction-selective gangli-on cells, DSGCs)[18]. 经过光感受器处理, 转化为电信号的视觉信息, 通过双极细胞处理后传递给神经节细胞. 双极细胞可分为由光照增强 (ON) 激发的细胞和由光照减弱 (OFF) 激发的细胞[19], 分别将信号输入给光通路 (ON-pathway)和撤光通路 (OFF-pathways) 两条并行通路[20], 传递给光运动和撤光运动产生的刺激. 而神经节细胞同样包括ON 和OFF 两种, 会对给光和撤光所产生的运动方向做出反应[21]. 因此, 本文构造5×5大小的对特定方向微动敏感的神经节细胞感受野窗口, 将其对偏好方向和反方向微动所产生的响应分别作为给光通路和撤光通路的输入. 以偏好方向为45° 的方向选择性神θi fires Res S xy ∗通过上述定义, 可以形成以45° 为单位、从0°到315° 的8个方向的感受野窗口, 与上文 的8个方向对应. 之后本文在亮度编码结果 上构筑与感受野相同大小的局部窗口 , 根据最优方向矩阵Dir 对应窗口中心点的方向, 取与其相同和相反方向的感受野窗口和亮度编码结果进行卷积运算 (本文用符号 表示卷积运算), 分别作为ON 和OFF 通道的输入, 如下式所示T ON T OFF 考虑到眼球微动能够将静止的空间场景转变为视网膜上的时间信息流, 激活视网膜神经元的发放,同时ON 和OFF 两通路也只在光刺激的呈现和撤去的瞬时产生电位发放, 因此本文采用首发脉冲时间作为编码方式, 将 和 定义为两通路首次脉冲发放时间构成的时间矩阵, 并作为初级边缘响应的结果. 将1个单位的发放时间设置为0.25, 当总发放时间大于30时停止计算, 此时还未进行发放的神经元即被判断为非边缘.1.3 多特征脉冲延时纹理抑制层视网膜神经节细胞在对光刺激编码的过程中,外界刺激特征的变化会显著影响神经元的反应时间. 研究发现, 当刺激对比度增大时, 神经元反应延时会减小, 更快速地进行脉冲发放; 反之, 则反应延时增大, 抑制神经元的活性[22]. 除此之外, 方向差异也会影响神经元活动, 突触前后偏好方向相似的神经元更倾向于优先连接, 在受到外界刺激时能够更快被同步激活[23]. 因此, 本文引入视网膜的神经元延时发放机制, 考虑方向和对比度对神经元敏感性的影响, 构造脉冲延时抑制模型. 首先结合局部窗口权重函数计算图像对比度, 如下式所示ω(x i ,y i )其中, 为窗口权重函数, L 为亮度图像, Con(a) 原图(a) Original image (b) Izhikevich 模型(b) Izhikevich model (c) 改进的 Izhikevich 模型(c) Improved Izhikevich model (d) 亮度感知编码(d) Luminance perception coding图 3 不同方式对存在弱边缘的菌落图像的处理结果Fig. 3 Different ways to process the image of colonies with weak edges8 期郑程驰等: 视网膜功能启发的边缘检测层级模型1775S xy x i y i µ=∑x i ,y i ∈S xy ω(x i ,y i )为对比度图像, 为以(x , y )为中心的局部窗口,( , ) 为方窗中除中心外的周边像素, ws 为局部方窗的窗长, . 之后考虑局部方窗中心神经元和周边神经元方向差异, 同时用高斯函数模拟对比度大小与延时作用强度之间的关系, 构建脉冲延时抑制模型, 如下式所示D Dir (x,y )D Con (x,y )D (x,y )∆Dir (x i ,y i )min {|θ(x i ,y i )−θ(x,y )|,2π−|θ(x i ,y i )−θ(x,y )|}δ其中, 和 分别表示方向延时抑制量和对比度延时抑制量; 为计算得到的综合延时抑制量; 为突触前后神经元微动方向的差异, 被定义为 ; 用于调节对比度延时抑制量.T ON T OFFRes ON Res OFF 将上文计算得到的两个时间矩阵 和 中进行过脉冲发放的神经元与综合延时抑制量相加, 同样设置1个单位的发放时间为0.25, 将经延时作用后总发放时间大于30的神经元设置为不发放, 即判定为非边缘, 反之则判定为边缘. 根据式(19)和式(20) 得到两通道边缘检测结果 和. 最后, 将两通道得到的结果融合, 得到最终边缘响应结果Res ,如下式所示2 算法流程基于视网膜对视觉信息的处理顺序和编码特性, 本文构建图4所示的算法流程, 具体步骤如下:1) 根据视网膜在外界持续周期性光刺激下产生的适应现象, 在式(1)所示的Izhikevich 模型上作出改进, 构建如式(2)所示的具有自适应阈值的Izhikevich 模型.2) 根据式(3)将作为检测目标的图像映射到0 ~ 255区间规范亮度范围, 接着分离3种通道的颜色分量, 根据式(4)输入到改进的Izhikevich 模型中进行脉冲发放.3) 根据式(5)的方差计算提取出基准图像, 再结合基准图像根据式(6)对三通道脉冲发放的结果进行亮度感知编码, 得到亮度编码结果.4) 考虑人眼的固视微动机制, 根据式(7)和式(8)通过原图的灰度图像提取每个神经元的偏好方向, 得到微动方向矩阵, 接着根据式(9)和式(10)构筑8个方向的方向选择性神经节细胞感受野窗口.5) 根据式(11)和式(12), 将感受野窗口与亮度编码图像作卷积运算, 并输入Izhikevich 模型中得到ON 和OFF 通路的首发脉冲时间矩阵, 作为两通道的初级边缘响应.6) 根据式(13) ~ 式 (15), 结合局部窗口权重计算图像对比度.7) 考虑对比度和突触前后偏好方向对脉冲发放的延时作用, 根据式(16) ~ 式 (18)构建延时纹理抑制模型, 并根据式(19)和式(20)将纹理抑制模型和两通道的初级边缘响应相融合.8) 根据式(21)将两通路纹理抑制后的结果在神经节细胞处进行整合, 得到最终边缘响应结果.3 结果为了验证本文方法用于菌落边缘检测的有效性, 本文选择Canny 方法和其他3种同样基于神经元编码的边缘检测方法作为横向对比, 并进行定性、定量分析. 首先, 选择文献[4]提出的基于神经元突触可塑性的边缘检测方法(Synaptic plasticity model, SPM), 用于对比本文方法对弱边缘的增强效果; 其次, 选择文献[24]提出的基于抑制性突触的多层神经元群放电编码的边缘检测方法 (Inhibit-ory synapse model, ISM), 验证本文的延时抑制层在抑制冗余纹理方面的有效性; 然后, 选择文献[25]提出的基于突触连接视通路方向敏感的分级边缘检测方法(Orientation sensitivity model, OSM), 对比本文方法在抑制冗余纹理的同时保持边缘提取完整性上的优势; 最后, 还以本文方法为基础, 选择去除亮度感知编码后的方法(No luminance coding,NLC)作为消融实验, 以验证本文方法模拟光感受器功能的亮度感知编码模块的有效性.本文使用实验室在微生物学实验中采集的菌落图像和AGAR 数据集[26]作为实验对象. 前者具有丰富的颜色和形态结构, 用于检验算法对复杂检测环境的适应性; 后者则存在更多层次强度的边缘信息, 菌落本身与背景的颜色和亮度水平也较为相近,用于检测算法对颜色、亮度特征和弱边缘的敏感性.本文通过局部采样生成150张512×512像素大小的测试图像, 其中38张来自实验室采集, 112张来自AGAR 数据集. 然后分别使用上文的6种边缘1776自 动 化 学 报49 卷检测算法提取图像边缘, 使每种算法得到150张边缘检测结果, 其中部分检测结果如图5所示.定性分析图5可知, Canny 、SPM 和ISM 方法在Colony4和Colony5等存在弱边缘的图像中往往会出现大面积的边缘丢失. OSM 方法对弱边缘的敏感性强于以上3种方法, 但仍然会出现不同程度的边缘断裂, 且在调整阈值时难以均衡边缘连续性和目标菌落内部冗余. NLC 方法同样丢失了Colony4和Colony5中几乎所有的边缘, 对于Colony3也只能检出其中亮度较低的菌落内部, 对于梯度变化不明显的边缘辨别力差. 与其他方法相比, 本文方法检出的边缘更加显著且完整性更高, 对于弱边缘也有很强的检测能力, 在Colony3、Colony4和Colony5等存在多层次水平强弱边缘的菌落图像中能够取得较好的检测结果. 为了对检测结果进行定量分析并客观评价各方法的优劣, 计算边缘图像重建相似度MSSIM [27]对检测结果进行重建, 并计算重建图像与原图像的相似度作为边缘定位的准确性RGfires (R)fires (G)亮度编码结果Luminance codingresult方差计算Variance1 2 3ON-result对比度Contrast脉冲延时抑制量Neuron spiking delay感受野窗口感受野窗口DSGC templateOFF-通路输出OFF-result 5)6)7)图 4 边缘检测算法流程图Fig. 4 The procedure of edge detection algorithm8 期郑程驰等: 视网膜功能启发的边缘检测层级模型1777图 5 Colony1 ~ Colony5的边缘检测结果(第1行为原图; 第2行为Canny 检测的结果; 第3行为SPM 检测的结果; 第4行为ISM 检测的结果; 第5行为OSM 检测的结果; 第6行为NLC 检测的结果; 第7行为本文方法检测的结果)Fig. 5 Edge detection results of Colony1 to Colony5 (The first line is original images; The second line is the results of Canny; The third line is the results of SPM; The fourth line is the results of ISM; The fifth line is the results of OSM;The sixth line is the results of NLC; The seventh line is the results of the proposed method)1778自 动 化 学 报49 卷指标. 首先对检测出的边缘图像做膨胀处理, 之后将原图像上的像素值赋给膨胀后边缘的对应位置,得到的图像记为ET , 则边缘重建如下式所示T k ET d k 其中, 为图像 上3×3窗口中8个方向的周边像素, 为窗口中心像素点与周边像素的距离, 计算得到重建图像R . 重建图像的相似度指标如下式所示µA µB σA σB σAB 其中, 和 为原图像和重建图像的灰度均值, 和 为其各自的标准差, 为原图像与重建图像之间的协方差. 将原图像和重建图像各自分为N 个子图, 并分别计算相似度指标SSIM , 得到平均相似度指标MSSIM . 除此之外, 为了验证边缘检测方法检出边缘的真实性和对菌落内部冗余纹理的抑制能力, 本文计算边缘置信度BIdx [28], 根据边缘两侧灰度值的跃变程度判断边缘的真伪. 边缘置信度指标如下式所示σij E (x i k ,y ik )(x i ,y i )d i其中, 为边缘像素在原图像对应位置的邻域标准差, EdgeNum 为边缘像素数量. 另外, 本文进一步计算边缘连续性 CIdx [29]来验证检出目标的边缘完整性. 首先将得到的边缘图像E 分割为m 个区域, 分别计算每个区域中的边缘像素 到其空间中心 的距离 ,则连续性指标如下式所示c i k C i n i 其中, 为边缘连续性的贡献值, D 为阈值, 为第i 个区域的像素点的连续性贡献值之和,为第i 个区域边缘像素点数量. 最后, 将计算得到的3个指标根据下式融合, 得到综合评价指标EIdx [21]其中, row 和col 分别为原图像的行数和列数. 于是, 检测图像的各项性能指标如表1 ~ 表5所示, 图像重建的结果如图6所示.表 1 不同检测方法下的重建相似度MSSIM Table 1 MSSIM of different methodsSerial number MSSIMCanny SPMISMOSMNLC本文方法Colony10.74520.77250.83570.92650.91750.9371Colony20.79510.79710.84900.95280.94470.9725Colony30.85760.86620.83140.91490.83370.9278Colony40.96900.98270.98380.98870.98930.9972Colony50.96340.97580.97800.97710.98830.9933表 2 不同检测方法下的边缘置信度BIdx Table 2 BIdx of different methodsSerial number BIdxCanny SPMISMOSMNLC本文方法Colony10.49880.46180.43070.58010.50580.6026Colony20.18210.15370.15530.33650.46150.4479Colony30.19830.15100.16100.26340.12630.3257Colony40.16310.14880.19060.14370.15210.2016Colony50.16200.18960.19020.18820.17350.1654表 3 不同检测方法下的边缘连续性CIdxTable 3 CIdx of different methodsSerial numberCIdxCanny SPMISMOSMNLC本文方法Colony10.83770.85300.86010.86760.97490.9652Colony20.80690.86550.85330.82930.91770.9518Colony30.80640.74080.72930.82690.77640.9406Colony40.81430.86110.90440.84300.90150.9776Colony50.90470.84480.86320.85920.87090.95718 期郑程驰等: 视网膜功能启发的边缘检测层级模型1779。
integrate and fire modle
The Integrate-and-Fire ModelName: Zhang HonggangStudent ID:2014223030088 The integrate-and-fire neuron is one of the simplest models of a neuron’s electrical properties and probably the most commonly used in the field of neuroscience. The essence of the model is to divide the voltage changes of the neuron into two parts:1) Below threshold, it is assumed that the membrane behaves passively (i.e. has no voltage-dependent ion channels) and acts as a leaky capacitor whose voltage, in the absence of injected current, decays (or “leaks”) toa resting level E L (short for “E Leak”).2) When the voltage reaches the action potential threshold (due to injected currents charging up the membrane), the model assumes that the voltage spikes immediately to a level V spike and is then immediately reset to a hyperpolarized level V reset. There is no explicit modeling of the ion channel kinetics responsible for this spiking. Rather, it is simply assumed (a reasonable assumption…) that once the cell reaches its threshold it will rapidly produce an action potential and reset itself. The reason we can get away with this assumption is that we don’t really care about the exact shape of the action potential: since all action potentials sent down the axon are to a good approximation identical, the only informative feature of a neuron’s spiking is the times at which the action potentials occur.Now the lab is divided into the following three parts.Step 1: Model the subthreshold voltage dynamicsThe code is as follows:% Lab 2: Build an integrate-and-fire model neuron and observe its spiking% for various levels of injected currentclear all; %clear all variablesclose all; %close all open figures%DEFINE PARAMETERSdt = 0.1; %time step [ms]t_end = 500; %total time of run [ms]t_StimStart = 100; %time to start injecting current [ms]t_StimEnd = 400; %time to end injecting current [ms]E_L = -70; %resting membrane potential [mV]V_th = -55; %spike threshold [mV]V_reset = -75; %value to reset voltage to after a spike [mV]V_spike = 20; %value to draw a spike to, when cell spikes [mV]R_m = 10; %membrane resistance [MOhm]tau = 10; %membrane time constant [ms]%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code%run faster!i = 1; % index denoting which element of V is being assignedV_vect(i)=E_L; %first element of V, i.e. value of V at t=0%INTEGRATE THE EQUATION tau*dV/dt = -V + E_L + I_e*R_mI_Stim = 1; %magnitude of pulse of injected current [nA]I_e_vect = zeros(1,t_StimStart/dt); %portion of I_e_vect from t=0 to t=t_StimStartI_e_vect = [I_e_vect I_Stim*ones(1,1+((t_StimEnd-t_StimStart)/dt))]; %add portion from % t=t_StimStart to t=t_StimEndI_e_vect = [I_e_vect zeros(1,(t_end-t_StimEnd)/dt)]; %add portion from% t=t_StimEnd to t=t_endfor t=dt:dt:t_end %loop through values of t in steps of dt msV_inf = E_L + I_e_vect(i)*R_m; %value that V_vect is exponentially%decaying towards at this time step%next line does the integration update ruleV_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau);i = i + 1; %add 1 to index, corresponding to moving forward 1 time stepend%MAKE PLOTSfigure(1)plot(t_vect, V_vect);title('V oltage vs. time');xlabel('Time in ms');ylabel('V oltage in mV');The matlab operating results as shown below:Step 2: Add the spiking to the model and calculate the firing rateThe code is as follows:% Lab 2: Build an integrate-and-fire model neuron and observe its spiking% for various levels of injected currentclear all; %clear all variablesclose all; %close all open figures%DEFINE PARAMETERSdt = 0.1; %time step [ms]t_end = 500; %total time of run [ms]t_StimStart = 100; %time to start injecting current [ms]t_StimEnd = 400; %time to end injecting current [ms]E_L = -70; %resting membrane potential [mV]V_th = -55; %spike threshold [mV]V_reset = -75; %value to reset voltage to after a spike [mV]V_spike = 20; %value to draw a spike to, when cell spikes [mV]R_m = 10; %membrane resistance [MOhm]tau = 10; %membrane time constant [ms]%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code run faster!V_plot_vect = zeros(1,length(t_vect)); %pretty version of V_vect to be plotted, that displays a spike % whenever voltage reaches thresholdi = 1; % index denoting which element of V is being assignedV_vect(i)= E_L; %first element of V, i.e. value of V at t=0V_plot_vect(i) = V_vect(i); %if no spike, then just plot the actual voltage V%INTEGRATE THE EQUATION tau*dV/dt = -V + E_L + I_e*R_mI_Stim = 1.55; %magnitude of pulse of injected current [nA]I_e_vect = zeros(1,t_StimStart/dt); %portion of I_e_vect from t=0 to t=t_StimStartI_e_vect = [I_e_vect I_Stim*ones(1,1+((t_StimEnd-t_StimStart)/dt))]; %add portion from% t=t_StimStart to t=t_StimEndI_e_vect = [I_e_vect zeros(1,(t_end-t_StimEnd)/dt)]; %add portion from% t=t_StimEnd to t=t_endNumSpikes = 0; %holds number of spikes that have occurredfor t=dt:dt:t_end %loop through values of t in steps of dt msV_inf = E_L + I_e_vect(i)*R_m; %value that V_vect is exponentially%decaying towards at this time step%next line does the integration update ruleV_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau);%if statement below says what to do if voltage crosses thresholdif (V_vect(i+1) > V_th) %cell spikedV_vect(i+1) = V_reset; %set voltage back to V_resetV_plot_vect(i+1) = V_spike; %set vector that will be plotted to show a spike hereNumSpikes = NumSpikes + 1; %add 1 to the total spike countelse %voltage didn't cross threshold so cell does not spikeV_plot_vect(i+1) = V_vect(i+1); %plot the actual voltageendi = i + 1; %add 1 to index, corresponding to moving forward 1 time stependAveRate = 1000*NumSpikes/(t_StimEnd - t_StimStart) %gives average firing rate in [#/sec = Hz] %MAKE PLOTSfigure(1)plot(t_vect, V_plot_vect);title('V oltage vs. time');xlabel('Time in ms');ylabel('V oltage in mV');The matlab operating results as shown below:Step 3: Compare r isi,theory to r aveThe code is as follows:The final code from this lab should be:% Lab 2: Build an integrate-and-fire model neuron and observe its spiking% for various levels of injected currentclear all; %clear all variablesclose all; %close all open figures%DEFINE PARAMETERSdt = 0.1; %time step [ms]t_end = 500; %total time of run [ms]t_StimStart = 100; %time to start injecting current [ms]t_StimEnd = 400; %time to end injecting current [ms]E_L = -70; %resting membrane potential [mV]V_th = -55; %spike threshold [mV]V_reset = -75; %value to reset voltage to after a spike [mV]V_spike = 20; %value to draw a spike to, when cell spikes [mV]R_m = 10; %membrane resistance [MOhm]tau = 10; %membrane time constant [ms]%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code run faster!V_plot_vect = zeros(1,length(t_vect)); %pretty version of V_vect to be plotted, that displays a spike % whenever voltage reaches threshold%INTEGRATE THE EQUATION tau*dV/dt = -V + E_L + I_e*R_mPlotNum=0;I_Stim_vect = 1.43:0.04:1.63; %magnitudes of pulse of injected current [nA]for I_Stim = I_Stim_vect; %loop over different I_Stim valuesPlotNum = PlotNum + 1;i = 1; % index denoting which element of V is being assignedV_vect(i)= E_L; %first element of V, i.e. value of V at t=0V_plot_vect(i) = V_vect(i); %if no spike, then just plot the actual voltage VI_e_vect = zeros(1,t_StimStart/dt); %portion of I_e_vect from t=0 to t=t_StimStartI_e_vect = [I_e_vect I_Stim*ones(1,1+((t_StimEnd-t_StimStart)/dt))]; %add portion from% t=t_StimStart to t=t_StimEndI_e_vect = [I_e_vect zeros(1,(t_end-t_StimEnd)/dt)]; %add portion from% t=t_StimEnd to t=t_endNumSpikes = 0; %holds number of spikes that have occurredfor t=dt:dt:t_end %loop through values of t in steps of dt msV_inf = E_L + I_e_vect(i)*R_m; %value that V_vect is exponentially%decaying towards at this time step%next line does the integration update ruleV_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau);%if statement below says what to do if voltage crosses thresholdif (V_vect(i+1) > V_th) %cell spikedV_vect(i+1) = V_reset; %set voltage back to V_resetV_plot_vect(i+1) = V_spike; %set vector that will be plotted to show a spike hereNumSpikes = NumSpikes + 1; %add 1 to the total spike countelse %voltage didn't cross threshold so cell does not spikeV_plot_vect(i+1) = V_vect(i+1); %plot the actual voltageendi = i + 1; %add 1 to index, corresponding to moving forward 1 time stependAveRate_vect(PlotNum) = 1000*NumSpikes/(t_StimEnd - t_StimStart) %gives average firing%rate in [#/sec = Hz]%MAKE PLOTSfigure(1)subplot(length(I_Stim_vect),1,PlotNum)plot(t_vect, V_plot_vect);if (PlotNum == 1)title('Voltage vs. time');endif (PlotNum == length(I_Stim_vect))xlabel('Time in ms');endylabel('Voltage in mV');end %for I_Stim%COMPARE R_AVE TO R_ISII_threshold = (V_th - E_L)/R_m; %current below which cell does not fireI_vect_long = (I_threshold+0.001):0.001:1.8; %vector of injected current for producing theory plot r_isi = 1000./(tau*log((V_reset - E_L - I_vect_long*R_m)./(V_th - E_L - I_vect_long*R_m))); figure(2)plot(I_vect_long,r_isi)hold onplot(I_Stim_vect,AveRate_vect,'ro')title('Comparison of r_{isi} vs. I_e and r_{ave} vs. I_e')xlabel('Injected current (nA)')ylabel('r_{isi} or r_{ave} (Hz)')hold off %to ensure that doesn't keep this data the next time you want to plot somethingThe matlab operating results as shown below:( Explanation: The above test may have many ambiguities,For in-depth interpretation,please refer to the following link address, thanks~~~/goldman/Tutorials_files/Integrate&Fire.pdf)。
纳米管制作皮肤感应器 翻译 中英
最后译文:纳米管弹性制作出皮肤般的感应器美国斯坦福大学的研究者发现了一种富有弹性且透明的导电性能非常好的薄膜,这种薄膜由极易感触的碳纳米管组成,可被作为电极材料用在轻微触压和拉伸方面的传感器上。
“这种装置也许有一天可以被用在被截肢者、受伤的士兵、烧伤方面接触和压迫的敏感性的恢复上,也可以被应用于机器人和触屏电脑方面”,这个小组如是说。
鲍哲南和他的同事们在他们的弹透薄膜的顶部和底部喷上一种碳纳米管的溶液形成平坦的硅板,覆盖之后,研究人员拉伸这个胶片,当胶片被放松后,纳米管很自然地形成波浪般的结构,这种结构作为电极可以精准的检测出作用在这个材料上的力量总数。
事实上,这种装配行为上很像一个电容器,用硅树脂层来存储电荷,像一个电池一样,当压力被作用到这个感应器上的时候,硅树脂层就收紧,并且不会改变它所储存的电荷总量。
这个电荷是被位于顶部和底部的硅树脂上的纳米碳管测量到的。
当这个复合膜被再次拉伸的时候,纳米管会自动理顺被拉伸的方向。
薄膜的导电性不会改变只要材料没有超出最初的拉伸量。
事实上,这种薄膜可以被拉伸到它原始长度的2.5倍,并且无论哪种方向不会使它受到损害的拉伸它都会重新回到原始的尺寸,甚至在多次被拉伸之后。
当被充分的拉伸后,它的导电性喂2200S/cm,能检测50KPA的压力,类似于一个“坚定的手指捏”的力度,研究者说。
“我们所制作的这个纳米管很可能是首次可被拉伸的,透明的,肤质般感应的,有或者没有碳的纳米管”小组成员之一Darren Lipomi.说。
这种薄膜也可在很多领域得到应用,包括移动设备的屏幕可以感应到一定范围的压力而不仅限于触摸;可拉伸和折叠的几乎不会毁坏的触屏感应器;太阳能电池的透明电极;可包裹而不会起皱的车辆或建筑物的曲面;机器人感应装置和人工智能系统。
其他应用程序“其他系统也可以从中受益—例如那种需要生物反馈的—举个例子,智能方向盘可以感应到,如果司机睡着了,”Lipomi补充说。
神经科学热点 神经元的分类
神经科学热点神经元的分类Neurons are the basic building blocks of the nervous system. They play a crucial role in transmitting information throughout the body, allowing us to think, feel, move, and perform various functions. Despite their inherent complexity, neurons can be classified based on different criteria, including their structure, function, and neurotransmitter type.神经元是神经系统的基本组成部分。
它们在整个身体中传递信息起着关键作用,使我们能够思考、感受、运动和执行各种功能。
尽管神经元本身非常复杂,但可以根据结构、功能和神经递质类型等不同的标准对其进行分类。
One common way to classify neurons is based on their structure. Neurons can be broadly divided into three categories: multipolar neurons, bipolar neurons, andunipolar neurons.根据结构将神经元进行分类是一种常见的方法。
神经元可以大致分为三类:多极神经元、双极神经元和单极神经元。
Multipolar neurons are the most common type of neuron. They have multiple processes or extensions called dendrites that receive signals from other neurons and one long axon that transmits signals away from the cell body to other neurons or muscles.多极神经元是最常见的一种类型。
基于FPGA的脉冲神经网络加速器设计
基于FPGA的脉冲神经网络加速器设计沈阳靖;沈君成;叶俊;马琪【摘要】脉冲神经网络是一种基于离散神经脉冲原理进行信息处理的人工神经网络,文中提出了一种基于FPGA的灵活可配的脉冲神经网络加速器架构,能够支持神经网络拓扑结构、连接权值的灵活配置.该设计首先在算法层对LIF神经元模型进行公式分解和浮点转定点两个层次的优化,并在硬件实现中采用时分复用技术将硬件中实现的8个物理神经元复用为256个逻辑神经元.神经元模电压计算采用三级流水线架构,以提高神经元数据处理效率.通过采用Xilinx XC6SLX45 FPGA实现整个神经网络加速器,工作频率可达50 MHz,并基于该加速器构建手写数字识别网络架构,实验结果表明,采用MNIST数据集作为测试样例,该网络架构准确率可达93%.【期刊名称】《电子科技》【年(卷),期】2017(030)010【总页数】5页(P89-92,96)【关键词】脉冲神经网络;LIF模型;时分复用;分类【作者】沈阳靖;沈君成;叶俊;马琪【作者单位】杭州电子科技大学微电子CAD研究所,浙江杭州310018;浙江大学超大规模集成电路研究所,浙江杭州310007;杭州士兰微电子股份有限公司,浙江杭州310007;杭州电子科技大学微电子CAD研究所,浙江杭州310018【正文语种】中文【中图分类】TN912.11;TP183Abstract Spiking neural network is a kind of biologically-inspired neural networks that perform information processing based on discrete-time spikes. This paper proposes a FPGA based hardware accelerator, which supports the flexible configuration of topology and synapse weights. First, LIF(Leaky Integrate-and- Fire, LIF) model is optimized for hardware implementation, and then 8 physical LIF neurons are implemented, which could be extended to 256 neurons by using time-multiplexing technology. To improve the data processing efficiency of the spiking neuron, the design adopts three-stage pipeline architecture to calculate the neuron voltage. At last, the design is implemented on XC6SLX45 FPGA running over 50 MHz operation frequency. MINST database is used as an application example to demonstrate the configurability and efficiency of the proposed implementation. The experimental results show the accuracy of handwritten number classification could be achieved as high as 93%. Keywords spiking neuron network; LIF model; time-multiplexing technology; classification.脉冲神经网络[1](Spiking Neuron Network,SNN)是一种基于离散神经脉冲进行信息处理的人工神经网络,采用可塑的突触和基于脉冲模式的编码,能够同时模拟神经网络的时空特性,具有更高的生物真实性, 可达到更好的性能功耗比,被称为第三代人工神经网络[3]。
计算神经科学讲义
ENa = 61.54 log10 ECa =
[Na+ ]o [Na+ ]i [Ca2+ ]o 30.77 log10 [Ca2+ ] i
mV mV
Goldman Equation and Reversal Potential
Example Calculate the longitudinal resistance of a segment 100 µm long with a radius of 2 µm): RL = rL L 1kΩmm × 100µm = ≈ 8MΩ. 2 πa π × 4µm2
Example Calculate a single channel’s conductance (6 nm long with a cross-sectional area 0.15 nm2 ): g= πa2 0.15nm2 = ≈ 25 × 10−12 S = 25pS. rL L 1kΩmm × 6nm
dV = −V + EL + Rm Ie dt where Rm = rm /A is the total membrane resistance and τm is the time constant. τm
Firing Rate w.r.t Constant Input
The subthreshold potential V (t) is obtained by solving the basic model as V (t) = EL + Rm Ie + (V (0) − EL − Rm Ie ) exp(−t/τm ) Suppose V (0) = Vreset and the neuron will fire an action potential at time t = tisi again, then V (tisi ) = Vth = EL + Rm Ie + (Vreset − EL − Rm Ie ) exp(−tisi /τm ) 1 = ⇒risi = tisi
The Leaky Integrate-and-fire Neuron
[2] D.V. Buonomano and M.M. Merzenich. Temporal information transformed into a spatial code by a neural network with realistic properties. Science, 267:1028-1030
Movement Generation and Control with Generic Neural Microcircuits
Prashant Joshi and Wolfgang Maass
Institute for Theoretical Computer Science, Graz University of Technology, Austria.
[4] W. Maass, T. Natschläger and H. Markram. Computational models for generic cortical microcircuits. In J. Feng, editor, Computational Neuroscience: A Comprehensive Approach, chap. 18. CRC-Press.
• Multiple combinations of joint motions at shoulder, elbow and wrist for each trajectory.
• Multiple muscle combinations can result in same joint torques.
Overview Task:
• 2-joint robot arm control with generic spiking neural microcircuits.
Integrate&Fire
The Integrate-and-Fire ModelThe integrate-and-fire neuron is one of the simplest models of a neuron’s electrical properties and probably the most commonly used in the field of neuroscience. The essence of the model is to divide the voltage changes of the neuron into two parts:1) Below threshold, it is assumed that the membrane behaves passively (i.e. has no voltage-dependent ion channels) and acts as a leaky capacitor whose voltage, in the absence of injected current, decays (or “leaks”) to a resting level E L (short for “E Leak ”).2) When the voltage reaches the action potential threshold (due to injected currents charging up the membrane), the model assumes that the voltage spikes immediately to a level V spike and is then immediately reset to a hyperpolarized level V reset . There is no explicitmodeling of the ion channel kinetics responsible for this spiking. Rather, it is simply assumed (a reasonable assumption…) that once the cell reaches its threshold it will rapidly produce an action potential and reset itself. The reason we can get away with this assumption is that we don’treally care about the exact shape of the action potential: since all action potentials sent down the axon are to a good approximation identical, the only informative feature of a neuron’s spiking is the times at which the action potentials occur.I. Mathematics of the integrate-and-fire neuronConsider a neuron modeled as a leaky capacitor with membrane resistance R m , time constant τm =R m C m (where C m is the membrane’s capacitance), and resting potential E L . Below the action potential threshold, the equation for the voltage of this cell when it receives current injection I e is: m L dV E V R I dtτ=−+m e (1)Exercise: When the current injection I e is constant over time, verify(i) that the solution to this equation is:()0()(())exp ()/L m e L m e o m V t E R I V t E R I t t τ=++−−−− (2)where the constant t 0 is any reference time. (Do this by inserting the solution on both sides of equation (1). Recall that ()()()()f t f t d d e e dt dt=f t e ).(ii) that when t=t 0, the left and right sides of equation (2) agree (and both equal what value?), and(iii) that when t → ∞, V(t) → .L m V E R I ∞≡+Setting t 0 equal to the current time in a computer simulation and t equal to the time a single time-step Δt later gives the one-time-step update rule we will use for simulating theintegrate-and-fire neuron (and which we will use more generally for simulating any equation of the form of equation (1) above, e.g. in your homework for the spike-rate-adaptation conductance if we substitute g sra for V and set E L =I e =0):()()exp L m e L m e m V E R I V E R I t /τ→++−−−Δ,where this notation means that, in the time step Δt, the voltage gets updated from its old value to the value on the right of the arrow, i.e. (in mathematics notation, in terms of the actual time t) ()()()(()())exp /L m e L m e m V t t E R I t V t E R I t t τ+Δ=++−−−Δ (3) or (in MATLAB notation, in terms of values at time step i)()(1)()(()())exp /L m e L m e m V i E R I i V i E R I i t τ+=++−−−Δ (4)Now let’s see how to implement this…II. Today’s model: the integrate-and-fire neuronIn the following sections, our goal will be to verify the firing rate r vs. (constant) injected current relationship for the integrate-and-fire model neuron: 10000ln ,if 1 0, if m L reset th L m threshold m L th m theory isi th L threshold m R I E V V E I I R I E V R r t V E I I R τ−⎧⎡⎤⎛⎞+−−⎪>=⎢⎥⎜⎟+−⎪⎝⎠⎣⎦==⎨−⎪≤=⎪⎩(5) where t isi is the interspike interval for an integrate-and-fire neuron receiving constant current input I e =I 0=constant and I threshold is the minimum level of current injection needed to make the neuron fire.To confirm this relation, we will build a model integrate-and-fire neuron that obeys the equation (equation (1)) m L dV E V R I dtτ=−+m e for voltages below the action potential threshold and spikes whenever it reaches the action potential threshold. For concreteness, we will use parameter values E L = -70 mV, R m = 10 M Ω, and τm =10 ms. We will assume that, initially (i.e. at t=0), V = E L .To model the spiking of the neuron when it reaches threshold, we will assume that when the membrane potential reaches V th = -55 mV, the neuron fires a spike and then resets its membrane potential to V reset = -75 mV.We will inject various levels of current I e into the neuron and, to calculate the firing rate, we will count the number of action potentials in a fixed amount of time. For starters, we will assume that the neuron receives a 300-ms-long current pulse of magnitude I 0 beginning at time t pulse =100 ms and plot several representative values of I e that produce firing rates between 1 and 100 Hz. We will run our our simulations for 500 ms total (i.e. 100 ms with I e =0; 300 ms with I e =I 0 > 0; and another 100 ms with I e =0). We will run our simulation with a time step dt = 0.1 ms.As the final output, we will produce graphs of voltage vs. time for several levels of I 0 and a summary graph comparing r theory to the average firing rate r ave of the neuron over ameasurement time T, defined as: # of AP's in time T T Tave N r == (6)III. Step 1: Model the subthreshold voltage dynamicsAs a first step, we will model just the subthreshold dynamics of the model governed by equation (1). In the next section, we will add the spiking. Our general overall strategy is to break our code into the following sections:1. Define the parameters in the model2. Define the vectors that will hold our final results such as the time, voltage, and current;and assign their initial values corresponding to t=0.3. Integrate the equation(s) of the model to obtain the values of the above vectors at latertimes by updating the values at the previous time step with the update rule.4. Make pretty plots of our results.First, let’s open a new m-file and name it something memorable like “IntAndFire1.m”.Let’s put a comment right at the top:% Lab 2: Build an integrate-and-fire model neuron and observe its spiking% for various levels of injected currentNow let’s ensure (as we should always do) that all variables are cleared and figures are closed by adding:clear all; %clear all variablesclose all; %close all open figuresIt is good programming style to next assign values to all model parameters in a well-marked section of your code. We need to assign values to the following parameters (type this code):%DEFINE PARAMETERSdt = 0.1; %time step [ms]t_end = 500; %total time of run [ms]t_StimStart = 100; %time to start injecting current [ms]t_StimEnd = 400; %time to end injecting current [ms]E_L = -70; %resting membrane potential [mV]V_th = -55; %spike threshold [mV]V_reset = -75; %value to reset voltage to after a spike [mV]V_spike = 20; %value to draw a spike to, when cell spikes [mV]R_m = 10; %membrane resistance [MOhm]tau = 10; %membrane time constant [ms]Notice that we have made a comment describing each parameter and noting its units. Checking that your units make sense (i.e. that both sides of any equation have the same units) is very important and a good way to find errors.Next, it is good to set up the initial conditions for the run (i.e. specify what the values of the relevant variables will be at time t=0) and to define and initialize variables (often vectors) that will hold all of the information we eventually might want to plot or use for other purposes. In our case, we are certainly going to plot voltage vs. time so let’s define a time vector running from t=0 to t=t_end in time steps of size dt; and a corresponding voltage vector that will hold the voltage at each of these times. As a placeholder, let’s initially assign the voltage vector to be all zeros. Note below that I put “_vect” on the end of the names of all vector variables – this notation helps to keep track of which variables are simply numbers (scalars) versus vectors.%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code%run faster!Aside: this initial setting up of the voltage vector to be the correct size is not strictly necessary but makes your code run faster. This is because it takes MATLAB a long time to create new vectors or change the size of old vectors (for the computer science whizzes, this is because creating or changing the size of vectors requires MATLAB to ask the computer for memory in which to store the vector, which is a slow and complicated process).One more thing to add to the above section: We said that we initially want V = E_L so let’s set the first element of V to this value (recall that the first element of the t_vector is t=0). It will be useful to have a variable corresponding to the index of the array so let’s also define the variable i as the current element of V being assigned:i = 1; % index denoting which element of V is being assignedV_vect(i)=E_L; %first element of V, i.e. value of V at t=0Good! Now we’re ready to integrate equation (1). First, let’s define the current injected at all times as I_e_vect. For now, set I_e_vect=zeros for all time. We’ll try a few more interesting values soon. (Note: you may wonder why we didn’t define I_e_vect in the parameters section. We could and maybe even should have, but here I am anticipating that we will later do a loop over various I_e_vect values. Stay tuned…).%INTEGRATE THE EQUATION tau*dV/dt = -V + E_L + I_e*R_mI_e_vect = zeros(1,length(t_vect)); %injected current [nA]To do this integration, we now use the rule described in equation (3). We’re clearly going to need to iterate this rule many times. That should be a clear signal to us that it’s time to use a for loop that iterates over the values of t. Let’s set that up and then fill in the inside of the loop later: for t=dt:dt:t_end % loop through values of t in steps of dt msendNote that we start the loop at time dt because we already have the initial values t=0 andV(t=0)=E_L defined. Now let’s fill in the inside of the loop. We need to first denote which element of V_vect is being updated (this should be one more than the last time through the loop, i.e. set i = i + 1) and then run our update rule to assign the appropriate value of V to this element of V_vect. The loop should read:for t=dt:dt:t_end %loop through values of t in steps of dt msV_inf = E_L + I_e_vect(i)*R_m; %value that V_vect is exponentially%decaying towards at this time step%next line does the integration update ruleV_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau);i = i + 1; %add 1 to index, corresponding to moving forward 1 time stependGreat! Now that we’ve assigned v, we’re ready to plot. Add some plotting code next:%MAKE PLOTSfigure(1)plot(t_vect, V_vect);title('Voltage vs. time');xlabel('Time in ms');ylabel('Voltage in mV');Now go to your MATLAB command window and run your file. You should see a solid trace at -70 mV (if you don’t, peek ahead and the code you should have typed will be summarized). This is exactly right: you assigned the voltage to start at rest and then didn’t inject any current so the voltage stayed at rest. If you like, try playing with changing your initial voltage and see what happens (please remember to set it back to E_L before continuing on!).Next, we said that we wanted to start stimulating at time t_StimStart = 100 ms and end at timet_StimEnd = 400 ms. Between 100 and 400 ms, let’s set the elements of I_e_vect = I_StimPulse where I_StimPulse is the amplitude of the injected current during the stimulation. Let’s set this to a value I_StimPulse = 1 nA. We could do this in 2 ways:1) Within the loop use an if statement that says: if (t<100 || t>400) then assign the elements of I_e_vect = 0; else assign I_e_vect = I_StimPulse. (Note: || is MATLAB’s symbol for the logical word OR; MATLAB’s symbol for the logic word AND is &&). This is the most conceptually straightforward way but is not particularly efficient.2) The more efficient way of doing the assignment is just to replace the line I_e_vect = zeros(1,length(t_vect)); by an appropriate line defining the vector. Since dt=0.1 ms, we really want the first 1000 elements (from t=0.0 to t=99.9 ms) to equal zero; the next 3001 elements (from t=100.0 to t=400.0 ms) to equal I_StimPulse; and the final 1000 elements (from t=400.1 to t=500 ms) to equal zero.We can do the latter by the following lines (replace the previous I_e_vect line by this, and see next paragraph for detailed explanation):I_Stim = 1; %magnitude of pulse of injected current [nA]I_e_vect = zeros(1,t_StimStart/dt); %portion of I_e_vect from t=0 to t=t_StimStartI_e_vect = [I_e_vect I_Stim*ones(1,1+((t_StimEnd-t_StimStart)/dt))]; %add portion from% t=t_StimStart to t=t_StimEndI_e_vect = [I_e_vect zeros(1,(t_end-t_StimEnd)/dt)]; %add portion from% t=t_StimEnd to t=t_endIn the second line, we set up the first portion of the vector as a row of zeros with the number of elements equal to t_StimStart/dt, which is the number of time points between zero and the stimulus start time. In the next line, we append to this vector a row of values I_Stim for all time point between t_StimStart and t_StimEnd (including the points t=tStimStart and the pointt=tStimEnd. The “1+” covers this. For example, if tStimStart = 10, tStimEnd = 11, and dt = 0.1, then there would be eleven 5’s appended to I_e_vector here.). In the final line above, we append to I_e_vect another row of zeros corresponding to times from t=tStimEnd to t=t_end. We couldactually have done this all in one line but it would have made our code harder to read without a major savings in efficiency. If you want to see the vector output from any of these lines, just remove the semicolon and see the print out (Warning: there are a lot of entries here! Use Control-C, which makes MATLAB stop whatever it is doing and return to the Command Prompt, to stop the output if you get tired of it scrolling across your screen). You could also type a length() statement to just check the lengths of these vectors. Checking lengths of vectors and size’s of arrays is a very useful tool in debugging your code.Now run your code. It should rise exponentially towards -60mV starting at t = 100, then decay back down exponentially at t = 400 (both rise and decay with time constants τ = 10 ms) as shown below. Try out some other values of I_Stim on your own to get a feeling for how big a voltage change you get for different values of I_Stim.To summarize, your code at this stage should read:% Lab 2: Build an integrate-and-fire model neuron and observe its spiking% for various levels of injected currentclear all; %clear all variablesclose all; %close all open figures%DEFINE PARAMETERSdt = 0.1; %time step [ms]t_end = 500; %total time of run [ms]t_StimStart = 100; %time to start injecting current [ms]t_StimEnd = 400; %time to end injecting current [ms]E_L = -70; %resting membrane potential [mV]V_th = -55; %spike threshold [mV]V_reset = -75; %value to reset voltage to after a spike [mV]V_spike = 20; %value to draw a spike to, when cell spikes [mV]R_m = 10; %membrane resistance [MOhm]tau = 10; %membrane time constant [ms]%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code%run faster!i = 1; % index denoting which element of V is being assignedV_vect(i)=E_L; %first element of V, i.e. value of V at t=0%INTEGRATE THE EQUATION tau*dV/dt = -V + E_L + I_e*R_mI_Stim = 1; %magnitude of pulse of injected current [nA]I_e_vect = zeros(1,t_StimStart/dt); %portion of I_e_vect from t=0 to t=t_StimStartI_e_vect = [I_e_vect I_Stim*ones(1,1+((t_StimEnd-t_StimStart)/dt))]; %add portion from% t=t_StimStart to t=t_StimEndI_e_vect = [I_e_vect zeros(1,(t_end-t_StimEnd)/dt)]; %add portion from% t=t_StimEnd to t=t_endfor t=dt:dt:t_end %loop through values of t in steps of dt msV_inf = E_L + I_e_vect(i)*R_m; %value that V_vect is exponentially%decaying towards at this time step%next line does the integration update ruleV_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau);i = i + 1; %add 1 to index, corresponding to moving forward 1 time stepend%MAKE PLOTSfigure(1)plot(t_vect, V_vect);title('Voltage vs. time');xlabel('Time in ms');ylabel('Voltage in mV');IV. Step 2: Add the spiking to the model and calculate the firing rate Hopefully you noticed that, no matter how large you made I_Stim, your neuron did not spike. Next, we will add the code to make the neuron spike and then reset each time its voltage reaches the threshold value V_th. To do this, we need an if statement to detect when the voltage reaches V_th, and if so, we need to then reset the voltage back to V_reset. This can be done by adding the following immediately after the assignment V_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau); %if statement below says what to do if voltage crosses thresholdif (V_vect(i+1) > V_th) %cell spikedV_vect(i+1) = V_reset; %set voltage back to V_resetendTry running this code with I_Stim = 1.55. You should see the neuron reset its voltage each time it reaches V_th = -55 mV. This should occur 8 times. However, you are probably wondering, “Where are the beautiful spikes going up to some high voltage?” Well, in truth, the integrate-and-fire model never really assigns a voltage above V_th. Every time threshold is reached, it immediately resets the voltage to V_reset (which is our signal that a spike occurred at this time, if we were trying to count the number of spikes).Well, we certainly want to make our plots prettier than that so let’s “by hand” (well, aided by the computer…) assign a new vector we’ll call V_plot_vect which replaces the first time point after threshold by a beautiful point at a voltage V=V_spike = 20 mV (or whatever value you find to be aesthetically appealing). We can do this by creating this vector in the “Define initial values…” section and also there assigning its first value to be equal to the value of the Voltage vector. Do this by modifying that section of the code to read:%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code run faster!V_plot_vect = zeros(1,length(t_vect)); %pretty version of V_vect to be plotted, that displays a spike% whenever voltage reaches thresholdi = 1; % index denoting which element of V is being assignedV_vect(i)= E_L; %first element of V, i.e. value of V at t=0V_plot_vect(i) = V_vect(i); %if no spike, then just plot the actual voltage VThen modify the integration loop to assign this vector by replacing the if statement above by:if (V_vect(i+1) > V_th) %cell spikedV_vect(i+1) = V_reset; %set voltage back to V_resetV_plot_vect(i+1) = V_spike; %set vector that will be plotted to show a spike hereelse %voltage didn't cross threshold so cell does not spikeV_plot_vect(i+1) = V_vect(i+1); %plot the actual voltageendNow also change your plotting command to plot V_plot_vect rather than V_vect and run your program. You should see 8 beautiful spikes(!) like the following:Finally, we would like to compute the average firing rate of the cell during the time of stimulation. A cell’s average firing rate over a specified period of time is the number of spikesproduced over the specified time period: r ave=(# of spikes)/(time period). A special situation is when we choose the period of time to be from immediately after one spike’s occurrence to immediately after the next spike’s occurrence. This time period between spikes is known as the interspike interval and is denoted by t isi. The corresponding firing rate is r isi = 1/t isi, and this is what we calculated exactly in class for the integrate-and-fire model neuron receiving a constant stimulating current. Here, we will more simply calculate r ave by counting the number of spikes that occurred during the stimulation period and then dividing by this time period. In the next section, we compare this value to the value of r isi that we calculated in class.To count the number of spikes, we add a new variable to our code called NumSpikes that we set initially to zero (since no spikes have occurred at the beginning of the simulation) and that we increase in value by 1 every time a spike occurs. We then divide this number by the duration of stimulation to get the firing rate in # spikes/ms. To convert from # spikes/ms to # spikes/sec we then multiply by 1000.To do this, add just before your for loop the line:NumSpikes = 0 %holds number of spikes that have occurredThen add the following code within the if statement that identifies a spike:NumSpikes = NumSpikes + 1 %add 1 to the total spike countFinally, just after the end of your for loop add the line defining the average firing rate:AveRate = 1000*NumSpikes/(t_StimEnd - t_StimStart) %gives average firing rate in [#/sec = Hz]Leave off the semicolons so that the values output to your screen. Try this for a few values of I_Stim (to be realistic try to keep the firing rate between 0 and 100 Hz). For IStim=1.55 you should get a rate of 26.6667 Hz. [After trying this, add semicolons after the first 2 lines you assigned above so that NumSpikes doesn’t keep printing to your screen.]Your code for this section should now read:% Lab 2: Build an integrate-and-fire model neuron and observe its spiking% for various levels of injected currentclear all; %clear all variablesclose all; %close all open figures%DEFINE PARAMETERSdt = 0.1; %time step [ms]t_end = 500; %total time of run [ms]t_StimStart = 100; %time to start injecting current [ms]t_StimEnd = 400; %time to end injecting current [ms]E_L = -70; %resting membrane potential [mV]V_th = -55; %spike threshold [mV]V_reset = -75; %value to reset voltage to after a spike [mV]V_spike = 20; %value to draw a spike to, when cell spikes [mV]R_m = 10; %membrane resistance [MOhm]tau = 10; %membrane time constant [ms]%DEFINE INITIAL VALUES AND VECTORS TO HOLD RESULTSt_vect = 0:dt:t_end; %will hold vector of timesV_vect = zeros(1,length(t_vect)); %initialize the voltage vector%initializing vectors makes your code run faster!V_plot_vect = zeros(1,length(t_vect)); %pretty version of V_vect to be plotted, that displays a spike % whenever voltage reaches thresholdi = 1; % index denoting which element of V is being assignedV_vect(i)= E_L; %first element of V, i.e. value of V at t=0V_plot_vect(i) = V_vect(i); %if no spike, then just plot the actual voltage V%INTEGRATE THE EQUATION tau*dV/dt = -V + E_L + I_e*R_mI_Stim = 1.55; %magnitude of pulse of injected current [nA]I_e_vect = zeros(1,t_StimStart/dt); %portion of I_e_vect from t=0 to t=t_StimStartI_e_vect = [I_e_vect I_Stim*ones(1,1+((t_StimEnd-t_StimStart)/dt))]; %add portion from% t=t_StimStart to t=t_StimEndI_e_vect = [I_e_vect zeros(1,(t_end-t_StimEnd)/dt)]; %add portion from% t=t_StimEnd to t=t_endNumSpikes = 0; %holds number of spikes that have occurredfor t=dt:dt:t_end %loop through values of t in steps of dt msV_inf = E_L + I_e_vect(i)*R_m; %value that V_vect is exponentially%decaying towards at this time step%next line does the integration update ruleV_vect(i+1) = V_inf + (V_vect(i) - V_inf)*exp(-dt/tau);%if statement below says what to do if voltage crosses thresholdif (V_vect(i+1) > V_th) %cell spikedV_vect(i+1) = V_reset; %set voltage back to V_resetV_plot_vect(i+1) = V_spike; %set vector that will be plotted to show a spike hereNumSpikes = NumSpikes + 1; %add 1 to the total spike countelse%voltage didn't cross threshold so cell does not spikeV_plot_vect(i+1) = V_vect(i+1); %plot the actual voltageendi = i + 1; %add 1 to index, corresponding to moving forward 1 time stependAveRate = 1000*NumSpikes/(t_StimEnd - t_StimStart) %gives average firing rate in [#/sec = Hz]%MAKE PLOTSfigure(1)plot(t_vect, V_plot_vect);title('Voltage vs. time');xlabel('Time in ms');ylabel('Voltage in mV');V. Step 3: Compare r isi,theory to r aveSave your work from the last section and then use Save As… to rename the file you are working on to something new (e.g. to IntAndFire3.m).Next we’d like to compare the theoretical value for the firing rate of the integrate-and-fire neuron r isi=1/t isi (equation (5)) to the value of r ave we calculated above. We’ll do this for several values of I_Stim (i.e. of I_e in equation (5)). How are we going to efficiently run our code for several different values of I_Stim? You guessed it…use another for loop!First, take a moment to indent all the lines below (but not including) I_Stim = 1.55 by selecting them and then clicking Text >> Increase Indent. This will make the following code more readable.Now let’s turn our code into a for loop by defining a vector of stimuli and then looping over it. Erase the I_Stim = 1.55 line and replace it by:I_Stim_vect = 1.43:0.04:1.63; %magnitudes of pulse of injected current [nA]for I_Stim = I_Stim_vect; %loop over different I_Stim valuesAlso add as the last line of your entire code:end %for I_StimThis is needed to finish the for loop. The code you just added will allow you to loop over 6 values of I_Stim from 1.43 to 1.63. Each time we loop we’re going to want to re-initialize the voltage vector and voltage plotting vector so cut and paste your previously typed lines:i = 1; % index denoting which element of V is being assignedV_vect(i)= E_L; %first element of V, i.e. value of V at t=0V_plot_vect(i) = V_vect(i); %if no spike, then just plot the actual voltage Vto be the first lines of your new for loop. Now we’re also going to want to make separate plots for each run so let’s define a variable PlotNum corresponding to the number of plots. Initialize PlotNum to zero above the for loop, and then have it increase by 1 every time we step through the for loop. Your %INTEGRATE THE EQUATION code should now start with:PlotNum=0;I_Stim_vect = 1.43:0.04:1.63;for I_Stim = I_Stim_vect; %magnitude of pulse of injected current [nA]PlotNum = PlotNum + 1;i = 1; % index denoting which element of V is being assignedV_vect(i)= E_L; %first element of V, i.e. value of V at t=0V_plot_vect(i) = V_vect(i); %if no spike, then just plot the actual voltage VNow let’s set up to make an array of plots: Below the command figure(1), make your code now read:subplot(length(I_Stim_vect),1,PlotNum)plot(t_vect, V_plot_vect);if (PlotNum == 1)title('Voltage vs. time');endif (PlotNum == length(I_Stim_vect))xlabel('Time in ms');endylabel('Voltage in mV');end %for I_StimThe subplot command sets up an array of plots with length(I_Stim_vect) rows and 1 column. The if statements make the title only plot above the first subplot and the x-axis label only plot below the last plot. Try running your code now. This should produce the following panels, the first 2 with no spikes and the latter ones with increasing numbers of spikes:This should look like the effect of increasing light intensity on the spiking of neurons of the eye in Hartline’s paper! In this context, we are assuming that the effect of increasing light is simply to increase the current injected into the neuron and thereby to increase its firing rate.Now let’s add another figure that plots the theoretical firing rate vs. I_e curve for values of I_e above firing rate threshold I_threshold = (V_th - E_L)/R_m. This is easily done by defining a vector of injected currents (let’s call it I_vect_long since it will contain many points) and then typing in the ugly formula for r isi from equation (5)). If we want to plot from just aboveI_threshold to I_e = 1.8 in fine steps of 0.001, the code is (add to end of your code):%COMPARE R_AVE TO R_ISII_threshold = (V_th - E_L)/R_m; %current below which cell does not fireI_vect_long = (I_threshold+0.001):0.001:1.8; %vector of injected current for producing theory plotr_isi = 1000./(tau*log((V_reset - E_L - I_vect_long*R_m)./(V_th - E_L - I_vect_long*R_m)));figure(2)plot(I_vect_long,r_isi)title('Comparison of r_{isi} vs. I_e and r_{ave} vs. I_e')xlabel('Injected current (nA)')ylabel('r_{isi} or r_{ave} (Hz)')。
纹理物体缺陷的视觉检测算法研究--优秀毕业论文
摘 要
在竞争激烈的工业自动化生产过程中,机器视觉对产品质量的把关起着举足 轻重的作用,机器视觉在缺陷检测技术方面的应用也逐渐普遍起来。与常规的检 测技术相比,自动化的视觉检测系统更加经济、快捷、高效与 安全。纹理物体在 工业生产中广泛存在,像用于半导体装配和封装底板和发光二极管,现代 化电子 系统中的印制电路板,以及纺织行业中的布匹和织物等都可认为是含有纹理特征 的物体。本论文主要致力于纹理物体的缺陷检测技术研究,为纹理物体的自动化 检测提供高效而可靠的检测算法。 纹理是描述图像内容的重要特征,纹理分析也已经被成功的应用与纹理分割 和纹理分类当中。本研究提出了一种基于纹理分析技术和参考比较方式的缺陷检 测算法。这种算法能容忍物体变形引起的图像配准误差,对纹理的影响也具有鲁 棒性。本算法旨在为检测出的缺陷区域提供丰富而重要的物理意义,如缺陷区域 的大小、形状、亮度对比度及空间分布等。同时,在参考图像可行的情况下,本 算法可用于同质纹理物体和非同质纹理物体的检测,对非纹理物体 的检测也可取 得不错的效果。 在整个检测过程中,我们采用了可调控金字塔的纹理分析和重构技术。与传 统的小波纹理分析技术不同,我们在小波域中加入处理物体变形和纹理影响的容 忍度控制算法,来实现容忍物体变形和对纹理影响鲁棒的目的。最后可调控金字 塔的重构保证了缺陷区域物理意义恢复的准确性。实验阶段,我们检测了一系列 具有实际应用价值的图像。实验结果表明 本文提出的纹理物体缺陷检测算法具有 高效性和易于实现性。 关键字: 缺陷检测;纹理;物体变形;可调控金字塔;重构
Keywords: defect detection, texture, object distortion, steerable pyramid, reconstruction
II
电感耦合等离子体原子发射光谱法的英文
电感耦合等离子体原子发射光谱法的英文Inductively coupled plasma atomic emission spectroscopy (ICP-AES) is a powerful analytical technique that is widely used for the determination of trace elements in various samples. It is based on the principle of inductively coupled plasma, in which a high-frequency electromagnetic field is used to create a plasma from a sample gas. This plasma is then used to excite the atoms of the elements in the sample, causing them to emit characteristic light that can be detected and quantified.ICP-AES offers several advantages over other analytical techniques, such as high sensitivity, multi-element analysis capability, and the ability to analyze a wide range of sample types. It is commonly used in environmental, pharmaceutical, food, and materials analysis, as well as in research and industrial applications.The instrumentation for ICP-AES consists of a sample introduction system, an inductively coupled plasma source, a spectrometer, and a detector. The sample is typically introduced into the plasma using a nebulizer or an ICP torch, where it is atomized and excited by the plasma. The light emitted by the excited atoms is then dispersed by the spectrometer and detected by the detector.One of the key advantages of ICP-AES is its high sensitivity, which allows for the detection of trace elements at levels as low as parts per billion. This makes it an ideal technique for the analysis of samples with low concentrations of elements, such as environmental samples or biological fluids.In addition to its high sensitivity, ICP-AES also offers a high level of precision and accuracy in elemental analysis. The technique is capable of analyzing multiple elements simultaneously, which reduces the time and cost associated with analysis compared to traditional methods that require separate analyses for each element.ICP-AES is also a versatile technique that can be used to analyze a wide range of sample types, including liquids, solids, and gases. It is commonly used in conjunction with sample preparation techniques such as digestion, extraction, and dilution to analyze complex samples.Overall, ICP-AES is a powerful and versatile analytical technique that is widely used for the determination of trace elements in various samples. Its high sensitivity, precision, and multi-element analysis capability make it an indispensable tool for researchers and analysts in a wide range of fields.。
天地一体化信息网络频谱共享技术的综述与展望(上)
观察Industry ObservationI G I T C W 产业26DIGITCW2021.050 引言地面通信网与卫星通信网分别在各自擅长的服务范围内发挥着巨大的作用。
尽管地面移动通信技术已经发展到5G ,但覆盖范围受限的短板仍不能解决,而另一面具有广覆盖特性的卫星通信却因成本过高等因素无法普及。
随着人们对通信需求向多空间、多方位的不断扩展,融合天、地通信技术优势,构建覆盖全球的天地一体化信息网络是未来通信发展的重要趋势,通过融合设计而构建的多维立体、全方位和全天候的信息网络,可为空、天、地、海等不同应用场景的用户提供全球泛在的通信服务[1]。
在天地一体化信息网络中,大部分通信节点依赖于有限的无线电频谱资源进行传输,信道开放、频率需求大、涉及无线电业务多是其主要特点。
以往,地基网络或天基网络对于无线电频谱资源的使用,均采用独占授权的静态规划方式,对于所授权频谱的使用,存在着部分时间过度浪费或过度拥挤的情况。
此外,对于那些尤为适用于天地一体化卫星宽带接入要求的Ka 和Q/V 等频段,天基网络或地基网络都出现了避无可避的状态[2]。
因此,设计天地一体化信息网络无线频谱动态共享方案,提高频谱资源利用效率,是网络建设中需要重点关注的问题之一[3]。
20年来,人们对于地基网络频谱共享的研究较为广泛,提出了大量的动态频谱共享技术。
但天地一体化信息网络与地基网络的存在诸多差异,不能直接使用地基网络的频谱共享技术,需根据其特点重新设计或适当改进。
但地基网络中的用于干扰规避的功率控制、波束赋形、跳波束及频谱数据库等技术,为天地一体化信息网络频谱共享提供重要的研究思路。
因此,近来学者从不同角度、针对多种场景提出了一些天地一体化信息网频谱共享的算法和方案。
从是否需要空口技术及核心网统一设计的角度可将现有研究分成两大类:一是基于干扰规避的星地频谱共存,研究对象是分立的天基和地基通信系统,通过设计天地一体化信息网络频谱共享技术的综述与展望(上)孙永林(海装重大专项装备项目管理中心,北京 100000)摘要:天地一体化信息网络是未来突破地面网络限制,实现空、天、地、海等多空间无缝覆盖和泛在连接的重要网络架构。
fail-safedetecti...
Fail-safe detection of threshold crossings of linear integrate-and-fire neuron models in time-driven simulationsSusanne Kunkel 1,2*,Moritz Helias 3,Markus Diesmann 3,4,5,Abigail Morrison 1,2,3From Twentieth Annual Computational Neuroscience Meeting:CNS*2011Stockholm,Sweden.23-28July 2011The characteristics of time-driven simulation are a fixed-size simulation step and a fixed-size communica-tion interval [1].The former defines update-and-check points,which are the discrete points in time when all neurons update their state variables and check for a super-threshold membrane potential.The latter defines the discrete points in time when all neurons communi-cate their spikes.The communication interval is a multi-ple of the simulation step size and limited only by the minimum synaptic transmission delay in the network.The time-driven environment of the simulator NEST [2]provides an ‘on-grid ’and an ‘off-grid ’framework that handle spikes differently.In the on-grid framework,spikes are incorporated,detected and emitted only at the pre-defined update-and-check points.In the off-grid framework,spikes can be incorporated and emitted at any point in time [3].For each neuron the arrival times of incoming spikes introduce additional update-and-check points.Hence,the simulation step can be increased up to the size of the communication interval.The detection of a threshold crossing can only take place at a check point,but the timing of the referring spike is estimated with precision limited only by the limits of double representation.In general,a time-driven simulator that supports the off-grid framework performs neural network simulations with the same precision and faster than an event-driven simulator [4].However,time-driven simulation still bears the risk of missing a threshold crossing as a very brief excursion of the membrane potential above thresh-old may not be detected at the next check point.In theoff-grid framework,this problem is more pronounced in networks with low connectivity and strong coupling as well as in the case of low firing rates.The on-grid framework is even more affected due to fewer check points and the synchronized arrival of spikes.Here,we present algorithms which are guaranteed to detect all threshold crossings by supplementing the stan-dard test for a super-threshold membrane potential at each check point and that exploit the information about the neuronal state at nearby check points.These addi-tional tests need to be invoked whenever the membrane potential is sub-threshold,which means at virtually all check points.We develop sub-tests of increasing complexity and specificity,starting with simple sifting methods and ending up with a complex expression that faithfully indicates the existence of a threshold crossing between the last and the current check point.An analysis of the test specificities and computational costs results in a cascade of tests which locates all threshold crossings at a low computational cost.AcknowledgementsPartially funded by BMBF Grant 01GQ0420to BCCN Freiburg,EU Grant 15879(FACETS),EU Grant 269921(BrainScaleS),the Helmholtz Alliance on Systems Biology (Germany),the Next-Generation Supercomputer Project of MEXT (Japan),Neurex,and the Junior Professor Program of Baden-Württemberg.Author details 1Functional Neural Circuits Group,Faculty of Biology,Albert-LudwigUniversity of Freiburg,Germany.2Bernstein Center Freiburg,Albert-Ludwig University of Freiburg,Germany.3RIKEN Brain Science Institute,Wako,Japan.4Institute of Neuroscience and Medicine (INM-6),Computational and Systems Neuroscience,Research Center Jülich,Germany.5RIKEN Computational Science Research Program,Wako,Japan.Published:18July 2011*Correspondence:***********************.de 1Functional Neural Circuits Group,Faculty of Biology,Albert-Ludwig University of Freiburg,GermanyFull list of author information is available at the end of the articleKunkel et al .BMC Neuroscience 2011,12(Suppl 1):P229/1471-2202/12/S1/P229©2011Kunkel et al;licensee BioMed Central Ltd.This is an open access article distributed under the terms of the Creative Commons Attribution License (/licenses/by/2.0),which permits unrestricted use,distribution,and reproduction in any medium,provided the original work is properly cited.References1.Morrison A,Mehring C,Geisel T,Aertsen AD,Diesmann M:Advancing theboundaries of high-connectivity network simulation with distributed computing.Neural Comput 2005,17(8):1776-1801.2.Gewaltig M-O,Diesmann M:NEST (Neural Simulation Tool).Scholarpedia2007,2(4):1430.3.Morrison A,Straube S,Plesser HE,Diesmann M:Exact subthresholdintegration with continuous spike times in discrete-time neural network simulations.Neural Comput 2007,19(1):47-79.4.Hanuschkin A,Kunkel S,Helias M,Morrison A,Diesmann M:A general andefficient method for incorporating precise spike times in globally time-driven simulations.Front.Neuroinform 2010,4:113.Kunkel et al .BMC Neuroscience 2011,12(Suppl 1):P229/1471-2202/12/S1/P229Page 2of 2。
理论神经生物学的神经元模型
理论神经生物学的神经元模型引言理论神经生物学是研究神经系统基本原理以及神经元如何处理信息的学科。
在神经科学中,神经元模型是理论神经生物学中的关键概念之一。
神经元模型是对神经元结构和功能的数学描述,可以帮助我们理解神经元是如何产生和传导信号的。
本文将探讨理论神经生物学中的神经元模型,并介绍一些常用的神经元模型。
神经元的基本结构神经元是组成神经系统的基本单位。
它由细胞体、树突、轴突和突触等主要部分组成。
神经元通过突触与其他神经元进行连接,并通过电信号和化学信号与其他神经元进行信息传递。
传统的神经元模型传统的神经元模型是从动物实验和观察中得出的。
其中最为经典的是Hodgkin-Huxley模型,它是对神经元内离子通道动力学的数学描述。
Hodgkin-Huxley模型重点关注离子通道的开放和关闭对神经元电活动的影响。
这个模型在解释神经元的兴奋性以及动作电位的产生方面取得了重大突破。
简化的神经元模型传统的神经元模型虽然能够重现神经元的电活动,但模型过于复杂,参数繁多,不适合大规模的仿真和计算。
为了简化模型和降低计算复杂度,研究者们提出了许多简化的神经元模型,如McCulloch-Pitts模型、LIF模型、IF模型等。
这些模型忽略了神经元内部复杂的离子通道动力学过程,着重研究神经元产生特定的脉冲行为。
Hodgkin-Huxley模型Hodgkin-Huxley模型是理论神经生物学中最著名的神经元模型之一。
它基于神经元内的离子通道动力学,能够精确地模拟神经元的电活动。
Hodgkin-Huxley模型涉及多个离子通道,包括钠通道、钾通道和漏电流等。
通过调整模型中不同通道的参数,可以模拟不同类型的神经元行为,例如产生动作电位或产生周期性脉冲。
McCulloch-Pitts模型McCulloch-Pitts模型是一个二值神经元模型,它将神经元的电活动简化为0和1两个状态。
在这个模型中,神经元接收到来自其他神经元的输入,通过累加这些输入并经过阈值判断产生输出。
Neurocomputing
Intracortical vs thalamocortical processing ofspatial working memoryYoshinori Tabuchi, Shoji Tanaka*Department of Electrical and Electronics Engineering, Sophia University7-1 Kioicho, Chiyoda-ku, Tokyo 102, JapanOctober 2002Neurocomputing___________________________________________________________________________ AbstractWorking memory processes contain not only maintenance but manipulation of the working memory contents. The system of the mediodorsal (MD) nucleus and the prefrontal cortex is considered to contribute to some aspects of the working memory processes. This article studies computationally the characteristics of the integrated cortical and thalamocortical system. The model circuit is operated in the “thalamocortical mode”, in which the thalamocortical inputs can control the cortical working memory representation. Our simulation shows that transient excitatory inputs to the MD relay cells can erase the working memory representation through the intracortical processes, especially the cross-directional inhibition.Keywords: Corticothalamic; Delay-period activity; Intracortical; Spatial working memory; Thalamocortical___________________________________________________________________________* Tel: +81-3-3238-3331, Fax: +81-3-3238-3321E-mail address: tanaka-s@sophia.ac.jp1. IntroductionThe characteristics of the prefrontal cortical (PFC) circuits for working memory have been investigated intensively [1-3,8-12,14]. However, working memory would not be processed only in the PFC circuits; other cortical areas and subcortical structures are also considered to be involved in working memory processing. Among these, the cortico-thalamocortical system of the PFC and the mediodorsal nucleus (MD) would be important because these areas are reciprocally connected [4]. It is, therefore, interesting to investigate how this system contributes to working memory. To do so, we have constructed a model cortico-thalamocortical system. This model contains the intracortical circuits, the corticothalamic feedback connections, the intrathalamic local circuits, and the thalamocortical feedforward connections. In this article, the characteristics of these circuits are investigated by computer simulation of the model circuit. This article focuses on spatial working memory, so that neuronal activities in the model have selectivity in the directional space.2. ModelThe cortical model has three layers (the superficial, intermediate, and deep layers) and contains 1080 pyramidal cells (360 in each layer) and 240 interneurons [5,7,8-12,15]. The MD model contains 36 relay cells and 36 interneurons. The architecture of the model is shown in Fig. 1. The pyramidal cells in the deep layer send feedback projections to the MD relay cells and interneurons. The interneurons have local inhibitory connections with the relay cells. The relay cells, in turn, send the thalamocortical projections to the pyramidal cells in the intermediate layer of the PFC. The neurons are described by a leaky integrate-and-fire neuron model. The ion channels include: AMPA, NMDA, Nap, GABA A, K(Ca), and leak. The ratio of the NMDA conductance to the AMPA conductance is g NMDA/g AMPA = 0.05 and the ratio of the cross-directional inhibition to the isodirectional inhibition [10-12] is g GABAA,cross/g GABAA,iso= 0.36./ Fig. 1 /3. ResultsOmni-directional inputs to MD cellsWe tested four types of transient, omni-directional inputs to the MD cells: (1) an excitatory input to the MD relay cells, (2) an inhibitory input to the MD relay cells, (3) an excitatory input to the MD interneurons, and (4) an inhibitory input to the MD interneurons. Because of the local connections in the MD, inputs to the MD interneurons influence the activity of the MD relay cells. For example, the inhibitory input to the MD interneurons disinhibits the MD relay cells. In general, both the excitatory and inhibitory inputs tend to terminate the sustained activity in the PFC. But the dynamics responding to the thalamocortical inputs are significantly different. We report, in the following, the case of (1) because it contains interesting but somewhat paradoxical results.Cortical and thalamic activityThe MD relay cells respond to the transient input (Fig. 2). The activity of the MD relay cells is transmitted to the cortical pyramidal cells in the superficial layer. As a result, the working memory representation changes significantly by receiving the input. The excitatory input to the MD relay cells increases briefly the activity of all the cortical neurons that receive the inputs. That is, the intermediate layer exhibits omnidirectional activity by reflecting the thalamocortical input. This activity turns off the sustained activities in the superficial and the deep layers. This is due to the intracortical inhibition, because the cortical interneurons show transient increase in the firing rates during the thalamocortical-input period (1200-1300 ms). The activity profiles of the model neurons are shown in Fig. 3./ Fig. 2 // Fig. 3 /4. DiscussionThalamocortical modeThis cortical model has strong excitatory projections from the intermediate layer to the superficial layer [8-13]. These projections amplify the activity, by which the transient activity in the intermediate layer is converted to the sustained activity in the superficial layer. This study suggests two interesting features in the processing of the cortical neuronal activity. First, the thalamocortical inputs assist the sustainment of the delay-period activity. We call this mode of operation the “thalamocortical mode”. In this mode, the thalamic neurons, receiving sustained inputs from the cortical neurons in the deep layer, are activated tonically and forward the tonic inputs to the intermediate layer of the cortex. Although the firing rates of the neurons in the intermediate layer are fairly low during the first delay period, there is transmission of signals from the intermediate to the superficial layer. When blocked the thalamocortical inputs, the activity of the cortical neurons does not sustain any longer.Intracortical inhibitionThe second interesting feature is that the intracortical inhibition works effectively when the cortex receives omni-directional excitatory inputs. In this model, the thalamocortical projections terminate on the pyramidal cells in the intermediate layer and the interneurons. Then, the thalamocortical inputs activate both the excitatory and inhibitory circuits. Note, however, that the strength of the thalamocortical projections to the interneurons is 0.21 relative to that to the pyramidal cell. Nevertheless, the intracortical inhibition terminates the sustained activity. Slight change in the strength of the intracortical inhibition alters thecortical dynamics significantly (not shown). This suggests that the regulation of the intracortical inhibition is critical to the control of the cortical dynamics [6,10-13]. In the case presented here, the cross-directional inhibition plays more important roles in the termination of the sustained activity because many neurons activated during the MD-input period exert inhibitory influences through the cross-directional inhibitory circuits. The intracortical inhibition and the intrathalamic inhibition contributing to multi-target spatial working memory processes are argued by Miyashita et al. [6].AcknowledgementThis work was supported by the Grants-in-Aid for Scientific Research on Priority Areas (#13210123 and #14017083) from the Japanese Ministry of Education, Science, and Technology. The authors acknowledge valuable discussions with S. Funahashi at Kyoto University and H. Barbas at Boston Univeristy.References[1] N. Brunel, X.-J. Wang, Effects of neuromodulation in a cortical network model ofobject working memory dominated by recurrent inhibition, J Comput Neurosci 11(2001) 63-85.[2] A. Compte, N. Brunel, P.S. Goldman-Rakic, X.-J. Wang, Synaptic Mechanisms andNetwork Dynamics Underlying Spatial Working Memory in a Cortical Network Model., Cereb Cortex 10 (2000) 910-923.[3] D. Durstewitz, J.K. Seamans, T.J. Sejnowski, Neurocomputational models of workingmemory, Nature Neurosci. 3 (2000) 1184-1191.[4] M. Giguere, P.S. Goldman-Rakic, Mediodorsal nucleus: areal, laminar, and tangentialdistribution of afferents and efferents in the frontal lobe of rhesus monkeys, J Comp.Neurol. 277 (1988) 195-213.[5] M. Iida, S. Tanaka, Postsynaptic current analysis of a model prefrontal cortical circuitfor multi-target spatial working memory, Neurocomputing 44-46 (2002) 855-861. [6] S. Miyashita, Y. Tabuchi, S. Tanaka, Cortico-thalamocortical operations of multi-targetspatial working memory, Neurocomputing, this issue.[7] K. Morooka, S. Tanaka, Correlation analysis of signal flow in a model prefrontalcortical circuit representing multiple target locations, Neurocomputing 44-46 (2002)541-548.[8] S. Tanaka, Architecture and dynamics of the primate prefrontal cortical circuit forspatial working memory, Neural Networks 12 (1999) 1007-1020.[9] S. Tanaka, Post-cue activity of prefrontal cortical neurons controlled by local inhibition,Neurocomputing 32-33 (2000) 563-572.[10] S. Tanaka, Computational approaches to the architecture and operations of theprefrontal cortical circuit for working memory [Review], Prog. Neuro-Psychopharm.Biol. Psychiat. 25 (2001) 259-281.[11] S. Tanaka, Multi-directional representation of spatial working memory in a modelprefrontal cortical circuit, Neurocomputing, 44-46 (2002) 1001-1008.[12] S. Tanaka, Dopamine controls fundamental cognitive operations of multi-target spatialworking memory, Neural Networks, 15 (2002) 573-582.[13] S. Tanaka, A. Yoshida, Signal flow in a prefrontal cortical circuit model for workingmemory loading, Neurocomputing 38-40 (2001) 957-964.[14] X.-J. Wang, Synaptic reverberation underlying mnemonic persistent activity, TrendsNeurosci. 24 (2001) 455-463.[15] K. Yamashita, S. Tanaka, Circuit simulation of memory field modulation by dopamineD1 receptor activation, Neurocomputing 44-46 (2002) 1035-1042.Figure legendsFig. 1. Model architecture with the spatio-temporal profiles of the neuronal activities. The pyramidal cells in the deep layer of the PFC send feedback projections to the MD cells (both the relay cells and the interneurons). The MD relay cells send feedforward projections to the pyramidal cells in the intermediate layer and the inhibitory interneurons of the PFC. The thalamocortical projections to the interneurons is weaker than those to the pyramidal cells (the ratio is 0.21). The input, cueing the target location, is given to the pyramidal cells in the intermediate layer of the PFC. A transient, omnidirectional input is given to the MD relay cells.Fig. 2. Raster plots and the population activities of the neurons in the PFC and the MD. A: the pyramidal cells in the superficial layer of the PFC, B: the pyramidal cells in the intermediate layer of the PFC, C: the pyramidal cells in the deep layer of the PFC, D: the isodirectional inhibitory interneurons, E: the cross-directional inhibitory interneurons, F: the MD relay cells, G: the MD inhibitory interneurons. The input, cueing the target location, is given to the pyramidal cells in the intermediate layer of the PFC during 200-300 ms. The MD relay cells receive a transient omnidirectional during 1200-1300 ms. The time bin for the population activity is 10 ms. The figure shows transient activity at the beginning of the simulation (0 < t < 30 ms), whish is irrelevant to the processes studied here.Fig. 3. Activity profiles of the neurons in the PFC and the MD. A: the pyramidal cells in the superficial layer of the PFC, B: the pyramidal cells in the intermediate layer of the PFC, C: the pyramidal cells in the deep layer of the PFC, D: the isodirectional inhibitory interneurons, E: the cross-directional inhibitory interneurons, F: the MD relay cells, G: the MD inhibitory interneurons. Thick solid lines: the activity profiles averaged over the first delay period (300-1200 ms), thin solid lines: the activity profiles averaged over the MD-input period (1200-1300 ms), broken lines: the activity profiles averaged over the second delay period (1300-2000 ms).Author biosketchYoshinori Tabuchireceived B.E. from Sophia University, Tokyo, in 2002. He is a graduate student at Sophia University. He is currently studying neuroscience and electrical engineering.Shoji Tanakareceived B.E., M.E., and Ph.D. degrees from Nagoya University, Japan. He is Professor at Department of Electrical and Electronics Engineering, Sophia University. During 1998-1999, he was a Visiting Science at the Section of Neurobiology, Yale University School of Medicine, USA.-18018050010002000AD -180018050010002000BCE -18001800100010002000100010002000FTime [ms]Time [ms]Fig.2. Tabuchi & Tanaka (full width)S p /s020*********200001000-1800180020020010*******G S p /sS p /sS p /sP r e f e r r e d d i r . [ ]o P r e f e r r e d d i r . [ ]oP r e f e r r e d d i r . [ ]oP r e f e r r e d d i r . [ ]o100A v e r a g e f i r i n g r a t e [s p /s ]010*********01000100-180-90090180-180-90090180-180-90090180-180-90090180-180-900901805050505050Fig.3. Tabuchi & Tanaka (full width)A v e r a g e f i r i n g r a t e [s p /s ]A v e r a g e f i r i n g r a t e [s p /s ]A v e r a g e f i r i n g r a t e [s p /s ]050100-180-900901800C F GE D A B -180-9009018050o P referred dir. [ ]o P referred dir. [ ]。
lif神经元物理意义
lif神经元物理意义The Leaky Integrate-and-Fire (LIF) neuron is asimplified mathematical model used to study the behavior of neurons in computational neuroscience. While it may not capture the full complexity of biological neurons, it provides valuable insights into the fundamental principles underlying neural activity. Understanding the physical significance of LIF neurons requires exploring theirvarious aspects, including their structure, function, and role in neural networks.At a basic level, the LIF neuron consists of three main components: a membrane potential, a threshold potential,and a reset mechanism. The membrane potential representsthe electrical charge across the neuron's cell membrane, which changes over time due to the flow of ions. The threshold potential is the minimum membrane potential required to trigger an action potential or spike. When the membrane potential exceeds this threshold, the neuron fires, and its potential is reset to a resting state.The physical significance of the LIF neuron lies in its ability to simulate the firing behavior of real neurons. By incorporating parameters such as membrane resistance and capacitance, the LIF model can replicate the integrationand transmission of electrical signals observed inbiological neurons. This allows researchers to study how neurons process and transmit information in neural networks, which is crucial for understanding brain function.From a broader perspective, the LIF neuron serves as a building block for more complex neural network models. By connecting multiple LIF neurons together, researchers can simulate the behavior of larger-scale neural circuits. This enables the study of emergent properties, such as synchronization, oscillations, and information processing, that arise from the collective behavior of interconnected neurons.Another important aspect of the LIF neuron's physical significance is its computational efficiency. Compared to more detailed neuron models, the LIF model iscomputationally lightweight, making it suitable for large-scale simulations. This efficiency allows researchers to investigate neural phenomena at different levels of abstraction, from individual neurons to entire brain regions.Furthermore, the LIF neuron has been used in practical applications, such as artificial neural networks and neuromorphic engineering. Its simplicity and efficiency make it an attractive choice for implementing neural networks in hardware or software systems. By emulating the behavior of LIF neurons, these systems can perform tasks such as pattern recognition, classification, and control, with potential applications in robotics, machine learning, and brain-computer interfaces.In conclusion, the LIF neuron has significant physical significance in the field of computational neuroscience. It provides a simplified yet valuable tool for studying the behavior of neurons and neural networks. By capturing essential aspects of real neurons, the LIF model enables researchers to explore fundamental principles, simulatelarge-scale networks, and develop practical applications. Its physical significance lies in its ability to bridge the gap between theoretical understanding and practical implementation in the study of neural systems.。
呼吁大家运动的英语作文
呼吁大家运动的英语作文英文回答:Call to Action: Embracing the Power of Physical Activity.Regular physical activity is an essential pillar of a healthy and fulfilling life. It offers countless benefits, not only for our physical well-being, but also for our mental, emotional, and cognitive health. Yet, despite its overwhelming importance, many individuals struggle to incorporate sufficient physical activity into their daily routines.This dire situation calls for a collective awakening, a rallying cry to embrace the transformative power of movement. We must recognize the irrefutable evidencelinking regular exercise to improved physical health outcomes. Exercise strengthens our muscles, bones, and joints, reducing the risk of chronic diseases such ascardiovascular disease, obesity, and type 2 diabetes. It also enhances our immune system, making us more resilient to illness and infection.Beyond its physical benefits, exercise has a profound impact on our mental and emotional well-being. It releases endorphins, which have mood-boosting effects and alleviate symptoms of depression and anxiety. Physical activity also reduces stress levels, promotes relaxation, and improves sleep quality. Furthermore, exercise fosters social connections, as it provides opportunities for interaction with others in recreational activities or fitness classes.For our cognitive health, exercise has been shown to improve brain function, memory, and attention span. It promotes the growth of new neurons and strengthens neural connections, enhancing our ability to learn and problem-solve. Regular physical activity has even been linked to a reduced risk of age-related cognitive decline, such as Alzheimer's disease.The benefits of physical activity are undeniable. Yet,many individuals find it challenging to maintain an active lifestyle. Time constraints, lack of motivation, and physical limitations can all be barriers to regular exercise. However, it is crucial to overcome these obstacles and prioritize our physical well-being.To make exercise a part of our lives, we must find activities that we enjoy and integrate them into our daily routines. Whether it's brisk walking, cycling, swimming, or dancing, choosing an activity that aligns with ourinterests will make it more sustainable. It is also helpful to set realistic goals and gradually increase the intensity and duration of our workouts over time.Finding a workout buddy or joining a fitness group can provide support and accountability, making it easier to stay motivated. Technology can also play a role, with fitness trackers and apps providing reminders, tracking progress, and offering incentives. Ultimately, the key to success is consistency. Even small amounts of physical activity throughout the day can make a significant difference.中文回答:运动的号召。
对大脑的了解英语作文
对大脑的了解英语作文Exploring the Intricate Landscape of the Human Brain: A Journey into the Nexus of Consciousness, Memory, and Emotion.Concealed beneath the intricate tapestry of bone that forms our skull lies a marvel of biological engineering, a complex organ that orchestrates the symphony of human life – the brain. Weighing approximately 3 pounds and composed of an astounding 100 billion neurons, it is the seat of our consciousness, the repository of our memories, and the crucible of our emotions.The Cerebral Cortex: The Control Center.At the core of the brain's intricate architecture lies the cerebral cortex, a wrinkled mantle of neural tissuethat envelops the cerebrum, the largest part of the brain. Its surface area, if unfolded, would span roughly 2,500 square centimeters – equivalent to the size of a standardsheet of paper. This highly convoluted topography provides a vast expanse for neuronal connections, enabling the brain to process and integrate information from a multitude of sources.The cerebral cortex is divided into two hemispheres, each further subdivided into four lobes: the frontal lobe, parietal lobe, temporal lobe, and occipital lobe. Each lobe possesses specialized functions, contributing to a diverse array of cognitive processes. The frontal lobe governs higher-order functions such as planning, decision-making, and language production. The parietal lobe processes sensory information related to touch, temperature, and spatial orientation. The temporal lobe plays a crucial role in memory formation and retrieval, as well as auditory processing. Finally, the occipital lobe is responsible for visual perception.Beneath the Surface: The Subcortical Structures.Beneath the cerebral cortex lies a labyrinth of subcortical structures, each with distinct roles insupporting the brain's operations. The thalamus, a relay station for sensory information, acts as a gatekeeper, filtering and directing sensory signals to the appropriate cortical areas. The hypothalamus, a small but mighty structure nestled at the base of the brain, regulates vital bodily functions such as hunger, thirst, and sleep-wake cycles. The amygdala, often referred to as the brain's emotional center, processes and responds to emotional stimuli, particularly those related to fear and anxiety.Neurons: The Building Blocks of the Brain.The fundamental units of the brain are neurons, specialized cells responsible for transmitting information throughout the nervous system. Each neuron consists of a cell body, dendrites, and an axon. Dendrites receive signals from other neurons, while the axon transmits signals away from the cell body to other neurons, muscles, or glands.Neurons communicate with each other through the release of neurotransmitters, chemical messengers that bind toreceptors on the receiving neuron, triggering an electrical or chemical response. This intricate network of communication allows for the rapid and efficient transmission of information throughout the brain.Plasticity: The Brain's Remarkable Adaptability.One of the most remarkable features of the brain is its plasticity, its ability to modify its structure andfunction in response to new experiences and learning. This remarkable capacity underlies our ability to learn new skills, adapt to changing environments, and recover from brain injuries.Conclusion.The human brain is a marvel of biological complexity, a finely tuned instrument that orchestrates our thoughts, feelings, and actions. Its intricate architecture and dynamic processes allow us to experience the richness of consciousness, the depths of emotion, and the boundless possibilities of human cognition. As we continue to unravelthe mysteries of this extraordinary organ, we gain a deeper appreciation for its profound influence on our lives and the immense potential it holds for shaping our future.。
深度脉冲神经网络及其应用研究
摘要深度神经网络(Deep Neural Networks, DNNs)作为机器学习(Machine Learning, ML)领域内的研究热点,借鉴生物视觉认知系统的分区机制,将数据表征为一系列的矢量进行特征学习,DNNs在计算机视觉领域取得了巨大成就。
脉冲神经网络(Spiking Neural Networks, SNNs)是一种具有生物可塑性(Biological Plasticity)的神经网络,它利用随时间变化的脉冲序列(Spike Train)在神经元之间进行信息传递,能更好地融入时空信息,是“类脑计算”的主要工具。
结合了DNNs和SNNs各自的优势,分析了现有深度脉冲神经网络(Deep Spiking Neural Networks, DSNNs)的模型特点,开展了脉冲编码、基于DSNNs的学习方法的研究,并针对基于DSNNs的机械臂故障诊断方法进行了研究,具体内容如下:首先,介绍了DSNNs的研究背景和意义,综述了DSNNs的国内外研究现状,阐述了论文的研究内容和技术路线。
其次,介绍了深度卷积神经网络(Deep Convolutional Neural Networks, DCNNs)、深度置信神经网络(Deep Belief Networks, DBNs)以及SNNs的发展、模型结构、现阶段DSNNs模型的实现方法及学习算法等相关内容,为后续研究提供理论支撑。
第三,提出了基于DCNNs的机械臂故障分类方法,重点介绍了UCI机械臂传感数据的预处理技术,分析了DCNNs处理一维时序信号的能力。
将采集到的机械臂力及力矩传感数据在时间和数据两个维度进行结合,并采用1D和2D卷积方法在CPU(Intel Core i5-7200U)和GPU(GFX NVIDIA GeForce GTX1060 3G)进行实验验证。
实验结果表明:对于机械臂一维时序信号数据的处理方式能够很好的拟合DCNNs模型,分类准确率优于传统的分类方法。
神经形态器件发展年表
神经形态器件发展年表英文回答:Timeline of Neuromorphic Device Development.Early 1990s:Concept of neuromorphic computing introduced by Carver Mead.First spiking neural network (SNN) on silicon demonstrated by Carver Mead and Misha Mahowald.Mid-1990s to Early 2000s:Development of integrate-and-fire (I&F) neuron models and learning algorithms for SNNs.Invention of the memristor, a non-volatile memory device with potential applications in neuromorphiccomputing.First demonstrations of SNNs with on-chip learning and adaptation.Mid-2000s to Early 2010s:Emergence of neuromorphic hardware accelerators based on field-programmable gate arrays (FPGAs) and graphics processing units (GPUs).Development of novel neuron models and learning algorithms inspired by biological neural systems.First demonstration of large-scale SNNs with over a million neurons.Mid-2010s to Present:Rapid growth in research on neuromorphic devices and systems.Development of new materials and device architectures for neuromorphic computing, including memristors, phase-change materials, and spintronic devices.Emergence of specialized neuromorphic hardware platforms, such as neuromorphic chips and neuromorphic computing systems.Applications of neuromorphic devices in artificial intelligence, robotics, and edge computing.中文回答:神经形态器件发展年表。
做梦的英语作文范文
做梦的英语作文范文The Enigma of Dreams.In the realm of unconsciousness, where our minds roam freely and unhindered, dreams unfold. They are a window to our innermost thoughts and desires, a reflection of our waking life filtered through the lens of our subconscious. Dreams have fascinated mankind for centuries, sparking curiosity and inspiring countless theories about theirorigin and purpose.The origin of dreams is often traced back to theancient Greeks, who believed that dreams were messages from the gods. Since then, various cultures and religions have attributed different meanings and interpretations to dreams. In the East, dreams are often seen as omens or predictionsof future events, while in the West, they are often associated with psychological states and emotional experiences.In modern times, scientific research has begun to shed light on the mechanism of dreams. It is now understood that dreams occur during the Rapid Eye Movement (REM) sleep cycle, a stage of sleep that is crucial for memory consolidation and emotional regulation. During REM sleep, the brain becomes more active, and our senses become heightened, often leading to vivid and emotional dream experiences.Dreams are known to be highly personal and subjective experiences. What one person dreams about could be entirely different from another's. This is because dreams are shaped by our unique life experiences, beliefs, and emotional states. For instance, someone who has recently lost a loved one might dream about them frequently, while someone else might dream about their upcoming vacation.Despite their subjective nature, dreams often contain universal themes and symbols. These symbols can be interpreted in various ways, depending on the context and the individual's life situation. For instance, the dream of flying can symbolize freedom or a desire to escape fromreal-life constraints. A dream about a snake couldrepresent fear or a hidden danger, or it could also symbolize transformation and rebirth.The interpretation of dreams has been a subject of much debate and speculation. Some believe that dreams are adirect communication from our subconscious, revealinghidden desires and fears. Others suggest that dreams are simply random firings of neurons in the brain, without any deeper meaning. However, most experts agree that while some dreams might be meaningless, many others carry significant psychological and emotional value.The function of dreams remains a mystery. Sometheorists suggest that dreams serve a physiological purpose, helping to regulate our sleep cycles and maintain mental health. Others propose that dreams play a role in memory consolidation, helping us to integrate new information and experiences into our long-term memory. Additionally, dreams may also serve as a form of emotional regulation, allowing us to process and digest our emotions in a safe and controlled environment.In conclusion, dreams remain an enigmatic andfascinating aspect of human existence. They are a window to our inner world, revealing our thoughts, desires, and fears. While we may never fully understand the origin and purposeof dreams, their power to captivate and inspire us remains undiminished. As we continue to explore the realm of dreams, we might just discover more about ourselves and the mysterious workings of our minds.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Abstract
The response of model neurons driven by a periodic current coi~vergesonto mode-locked attractors. Reliability, defined as the noise stability of the attractor, was studied as a function of the drive frequency and noise strength. For weak noise, the neuron remained on one attractor and reliability was high. For intermediate noise strength, transitioas between attractors occurred. For strong noise, mode locking became unstable. The attractor was most stable for frequencies for which the neuron produced one spike on each cycle. The prediction of a reliability resonance as a function of drive frequency has been observed in vitro in cortical neurons. @ 2002 Published by Elsevier Science B.V.
+
+
0925-2312/02/$-see front matter @ 2002 Published by Elsevier Science B.V. Pll: S O 9 2 5 - 2 3 1 2 ( 0 2 ) 0 0 3 9 0 - 9
If a feature is present in the spike train response to one stiinulus across multiple trials it can fo1-111 the basis of a neuroi~alcode. Spike-time reliability is a measure for the reproducibility of individual spike times [6]. Neurons produce a reliable sequence of spike times in response to some inputs and respond uixeliably to others. In vitro, neurons fire reliably when injected with a raildoin current containing high-frequency components, but they fire unreliably when driven with a low-pass or constant current [2,6]. Sinusoidally driven neurons show resonances in reliability as a fuilction of drive frequency [3,4]. Our aim is to understand these experimental results within the framework of noise stability of attractors.
+ +
+
3. Results
The paraineters of an integrate-adfire neuron driven by a sinusoidal current were chosen such that the neuron produced on average one spike per two cycles of the driving current (Fig. 1). From different initial voltages the neuron converged to one of the two different voltage trajectories (Fig. IA and B), yielding two different sequences of spike times (not shown). The two solutioils are related: when one solution is shifted by one cycle, the other solution is obtained. There were two attractors. Attractor 1, when the neuron spikes on odd cycles, was obtained starting from 0.78 d Knit < 0.98, here Villit was the voltage at the start of the simulation. Attractor 2, when the neuron spikes on even cycles, was obtained starting from 0.0 < Vinit < 0.78 and 0.98 d 6,it < 1.0.
ELSEVIER
Spike-time reliability of periodically driven integrate-and-fire neurons fi
P.H.E. Tiesinga*, J.-M. Fellous, T.J. Sejnowski
Sloun-Swurtz Center jor Theoreticul Neurobiology, Conzpututionul Neurobiology Lub, und Ho~vurd Hughes Medicul Institute, The Sulk Institute, 10010 N. Torrey Pines Rd, Lu Jollu, CA 92037, USA
Kejwords: Neural code; Oscillation; Phase locking; Precisiou
1. Introduction
Although spike trains in the cerebral cortex are highly variable (for a review see [lo]), neurons can fire with high temporal precision and reliability in vitro [1,5,8]. Precision is defined here as the inverse of the temporal jitter in the spike time and reliability as the reprod~~cibility spikes across trials. Infoimation-theoretical analyses of of the neuronal spike trains in the lateral geniculate nucleus indicate that precise spike times contain more infomation about the input than firing ratห้องสมุดไป่ตู้ alone [9]. It is u11know11 how these precise spike times are used in the cortex.
2. Methods
The membrane potential V of an integrate-aidfire neuron driven by a fluctuating current satisfied dV/dt = -V I f (t) t(t), where I was the time-independent driving cussent, f (t) the fluctuating current and t was a white noise current, wit11 zero mean and variance D, that represented the effects of intrinsic noise. When the voltage V reached tllreshold, V(t) = 1, a spike was emitted and the voltage was reset to zero. Diinensioilless units were used: 1 voltage unit was the distance between resting membrane potential and action potential threshold, approximately 20 inV; one time unit corresponded to the membrane tiine constant, approximately 10-40 ins. The periodic current was either sinusoidal, f (t) = A sin o t , or a periodic piecewise coilstant current equal to f ( t ) = -A when 0 < inod(t, T) < T/2 and f(t)=A otherwise. Here, A was the amplitude of the diive, T the period, and the frequency w = 2nlT. For the sinusoidal cussent, the differential equation was integrated directly using the fourth-order RungeKutta algorithm [7] with step size dt = 0.01. For the piecewise constant current an ai~alytical spike-time map, t' =M(t), was derived [ll], here t and t' were the previous and new spike time, respectively. Spike times were generated by iterating this map. The spike phase of the nth spike tiine t,, was $,, = inod(t,,, T)/T. The mean phase, Y,,, = ( / ,~!:~ pN) r!was deternilled for periodic (!,, time series, here p was the period, nz = 1, . . ., y , and N, was the total number of spikes.