首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【短道速滑十一】标准的Gabor滤波器及Log_Gabor滤波器的实现、解析、速度优化及其和Halcon中gen_gabor的比较。

最近有朋友在研究Halcon中gen_gabor的函数,和我探讨,因为我之前也没有怎么去关注这个函数,因此,前前后后大概也折腾了有一个星期去模拟实现这个东西,虽然最终没有实现这个函数,但是也是有所收获...1、Gabor滤波器   首先总是度娘出场,关键词Gabor滤波器,一大堆东西出来了,里面最多的肯定是关于OpenCv的getGaborKernel函数,这个函数的具体代码如下: /* Gabor filters...在搜索Gabor滤波器时,也看到了一些文章讲LogGabor滤波器,其中有一篇文章有提到 Log-Gabor函数并不能在空间域中得到表达式,滤波器的构造须在频域中进行,这个和gen_gabor的描述非常相似...通过搜索LogGabor,我们得到了一下几个比较有用的参考链接和代码: Python OpenCV实现Log Gabor滤波器(由LGHD描述符扩展) 以及 Github中一篇 PhaseCongruency...Gaussian组合而成,在Python那篇文章中,则有这更为明确的公式:   原文描述如下:       一个二维的L-Gaborj波器可以分解为径向滤波器和角度滤波器两部分,对应极坐标公式为:

50020

2017年历史文章汇总|深度学习

1 深度学习基础 深度学习入门 入门|详解机器学习中的梯度消失、爆炸原因及其解决方法 深度学习必备---用Keras和直方图均衡化---数据增强 Batchnorm原理详解 AI从业者搞懂---这10...Tensorflow快速入门 全面直观认识深度神经网络 RNN入门与实践 机器学习之——自动求导 趣谈深度学习核心----激活函数 TensorFlow模拟简单线性模型小栗子 梯度是如何计算的...2 计算机视觉 1)图像识别 Tensorflow实战:Discuz验证码识别 CNN模型之SqueezeNet CNN模型之ShuffleNet CNN模型之MobileNet 你必须要知道CNN...---检测及分割图像的目标区域 从傅立叶变换到Gabor滤波器 Histogram of Oriented Gridients(HOG) 方向梯度直方图 人脸Haar特征与快速计算神器:积分图 3 自然语言处理...当前研究综述和未来趋势 浅析深度学习在实体识别和关系抽取中的应用 基于word2vec的词语相似度计算

56420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python实现gabor滤波器提取纹理特征 提取指静脉纹理特征 指静脉切割代码

    xue_wenyuan/article/details/51533953 https://blog.csdn.net/jinshengtao/article/details/17797641 傅里叶变换是一种信号处理中的有力工具...但是经过傅里叶变换后,   图像在不同位置的频度特征往往混合在一起,但是Gabor滤波器却可以抽取空间局部频度特征,是一种有效的纹理检测工具。...在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。...在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。 gabor核函数的表达式:   复数表达式: ?   可以拆解:实部: ?        虚部: ? 其中: ? 和 ?...带宽(b):Gabor滤波器的半响应空间频率带宽b和σ/ λ的比率有关,其中σ表示Gabor函数的高斯因子的标准差,如下: ? σ的值不能直接设置,它仅随着带宽b变化。

    2.8K51

    python实现gabor滤波器提取纹理特征 提取指静脉纹理特征 指静脉切割代码

    xue_wenyuan/article/details/51533953 https://blog.csdn.net/jinshengtao/article/details/17797641 傅里叶变换是一种信号处理中的有力工具...但是经过傅里叶变换后,   图像在不同位置的频度特征往往混合在一起,但是Gabor滤波器却可以抽取空间局部频度特征,是一种有效的纹理检测工具。...在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。...在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。 gabor核函数的表达式:   复数表达式: ?   可以拆解:实部: ?        虚部: ? 其中: ? 和 ?...带宽(b):Gabor滤波器的半响应空间频率带宽b和σ/ λ的比率有关,其中σ表示Gabor函数的高斯因子的标准差,如下: ? σ的值不能直接设置,它仅随着带宽b变化。

    2.4K50

    TensorFlow实战:CNN构建MNIST识别(Python完整源码)

    在文章(TensorFlow实战:SoftMax手写体MNIST识别(Python完整源码))中,我们MNIST手写体识别数据集,使用TensorFlow构建了一个softMAX多分类器,达到了91%的正确率...下面让我们一步步的实现该模型,具体的Python源码已上传至我的GitHub:https://github.com/ml365/softmax_mnist/blob/master/cnn.py,点击文末的阅读原文直接跳转下载页面...权重初始化 为了创建这个模型,我们需要创建大量的权重和偏置项。这个模型中的权重在初始化时应该加入少量的噪声来打破对称性以及避免0梯度。...第二层中,每个5x5的patch会得到64个特征。...我们用一个placeholder来代表一个神经元的输出在dropout中保持不变的概率。这样我们可以在训练过程中启用dropout,在测试过程中关闭dropout。

    2.9K90

    【TensorFlow】TensorFlow 的卷积神经网络 CNN - TensorBoard版

    前面 写了一篇用 TensorFlow 实现 CNN 的文章,没有实现 TensorBoard,这篇来加上 TensorBoard 的实现,代码可以从 这里 下载。...上面是引用了官网的介绍,意思就是说 TensorBoard 就是一个方便你理解、调试、优化 TensorFlow 程序的可视化工具,你可以可视化你的 TensorFlow graph、学习参数以及其他数据比如图像...启动你的 TensorBoard 并在浏览器中打开后应该是类似下面这样的: ? CNN 结构 CNN 的结构和 上篇 一样,数据集仍为 CIFAR10 数据集。...×32×32×64 (由于这个图不能放大导致重叠,在浏览器中是可以放大的),? 表示 batch 的大小。.../log/without-saver 使用 tf.train.Saver() 的: tensorboard --logdir=tensorboard/log/with-saver 按照提示,在浏览器中打开地址就可以看到可视化结果了

    1.3K60

    【TensorFlow】TensorFlow 的卷积神经网络 CNN - TensorBoard 版

    前面 写了一篇用 TensorFlow 实现 CNN 的文章,没有实现 TensorBoard,这篇来加上 TensorBoard 的实现,代码可以从 这里 下载。...上面是引用了官网的介绍,意思就是说 TensorBoard 就是一个方便你理解、调试、优化 TensorFlow 程序的可视化工具,你可以可视化你的 TensorFlow graph、学习参数以及其他数据比如图像...启动你的 TensorBoard 并在浏览器中打开后应该是类似下面这样的: ? ---- CNN 结构 CNN 的结构和 上篇 一样,数据集仍为 CIFAR10 数据集。...×32×32×64 (由于这个图不能放大导致重叠,在浏览器中是可以放大的),? 表示 batch 的大小。...按照提示,在浏览器中打开地址就可以看到可视化结果了。

    62510

    keras中文文档之:CNN眼中的世界:利用Keras解释CNN的滤波器

    本文有代码; 本文作者:Francois Chollet 使用Keras探索卷积网络的滤波器 本文中我们将利用Keras观察CNN到底在学些什么,它是如何理解我们送入的训练图片的。...现在我们使用Keras的后端来完成这个损失函数,这样这份代码不用修改就可以在TensorFlow和Theano之间切换了。...TensorFlow在CPU上进行卷积要块的多,而目前为止Theano在GPU上进行卷积要快一些。...可视化所有的滤波器 下面我们系统的可视化一下各个层的各个滤波器结果,看看CNN是如何对输入进行逐层分解的。...这意味着我们可以通过使得卷积滤波器具有旋转不变性而显著减少滤波器的数目,这是一个有趣的研究方向。 令人震惊的是,这种旋转的性质在高层的滤波器中仍然可以被观察到。

    79420

    TensorFlow中CNN的两种padding方式“SAME”和“VALID”

    在用tensorflow写CNN的时候,调用卷积核api的时候,会有填padding方式的参数,找到源码中的函数定义如下(max pooling也是一样): def conv2d(input, filter..., strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None) 源码中对于padding参数的说明如下...这里用Stack Overflow中的一份代码来简单说明一下,代码如下: x = tf.constant([[1., 2., 3.], [4., 5., 6.]])...在CNN用在文本中时,一般卷积层设置卷积核的大小为n×k,其中k为输入向量的维度(即[n,k,input_channel_num,output_channel_num]),这时候我们就需要选择“VALID...我们设计网络结构时需要设置输入输出的shape,源码nn_ops.py中的convolution函数和pool函数给出的计算公式如下: If padding == "SAME": output_spatial_shape

    2.5K50

    使用Python+Tensorflow的CNN技术快速识别验证码

    目前,在图像识别和视觉分析研究中,卷积神经网络(CNN)技术的使用越来越多。Tensorflow 是由 Google 团队开发的神经网络模块,短短几年间, 就已经有很多次版本的更新。...接下来我将介绍如何使用Python+Tensorflow的CNN技术快速识别验证码。在此之前,介绍我们用到的工具: 1....PyCharm社区版(python的IDE):写代码非常方便,安装第三方库(tensorflow 1.2.1)操作简单。 2....Python3:当我还在犹豫py2还是py3的时候,tensorflow已能支持windows、py3了,并且python3代表未来,建议使用Python3。 3....如果调低keep_prob的值,增加样本量,增加卷积层,最后的预测效果应该会更好。 希望大家以后在tensorflow的学习道路中少点阻碍!!!

    1.4K60

    使用Python+Tensorflow的CNN技术快速识别验证码

    目前,在图像识别和视觉分析研究中,卷积神经网络(CNN)技术的使用越来越多。Tensorflow 是由 Google 团队开发的神经网络模块,短短几年间, 就已经有很多次版本的更新。...接下来我将介绍如何使用Python+Tensorflow的CNN技术快速识别验证码。在此之前,介绍我们用到的工具: 1....PyCharm社区版(python的IDE):写代码非常方便,安装第三方库(tensorflow 1.2.1)操作简单。 2....Python3:当我还在犹豫py2还是py3的时候,tensorflow已能支持windows、py3了,并且python3代表未来,建议使用Python3。 3....需要注意的是在全连接层中,我们的图片114*450已经经过了3层池化层,也就是长宽都压缩了8倍,得到15*57大小。 ?

    1.6K60

    南开提出全新ViT | Focal ViT融会贯通Gabor滤波器,实现ResNet18相同参数,精度超8.6%

    为了解决上述问题,作者重新审视了将视觉 Transformer 与Gabor滤波器结合的潜在益处,并提出了一种通过卷积可学习的Gabor滤波器(LGF)。...主要贡献如下: 作为自注意力机制的替代方案,作者提出了一种基于卷积的高效可学习Gabor滤波器(LGF),用以模拟生物视觉系统中的简单细胞对输入图像的响应,促使模型关注从各种尺度与方向的目标的判别性特征表示...作为工程中实用的数学工具,二维Gabor滤波器在图像处理领域得到了广泛的应用。其实质是设计一组二维Gabor函数来处理图像特征表示。...近年来,一些研究试图将Gabor滤波器作为调制过程整合到深度卷积神经网络中,旨在更好地从图像中提取不变性信息,并提高深度神经网络在图像分析任务中的可解释性。...FViTs的核心设计是用卷积设计的可学习Gabor滤波器(LGF)替换视觉 Transformer 中的自注意力子层。 此外,从神经科学获得灵感,作者引入了多路径前馈网络(MPFFN)。

    66510

    【TensorFlow】TensorFlow 的卷积神经网络 CNN - 无TensorBoard版

    本文代码基于 TensorFlow 的官方文档 做了些许修改,完整代码及结果图片可从 这里 下载。...这篇文章是对本文的一个升级,增加了 TensorBoard 的实现,可以在浏览器中查看可视化结果,包括准确率、损失、计算图、训练时间和内存信息等。 更新 这里我会列出对本文的更新。...还是和以前一样,我在这里简单说下 CNN 的原理。首先来看下一个典型的 CNN - LeNet5 的结构图, ?...这几个文件都是用 cPickle 打包好的,所以载入数据也要用 cPickle 来载入。注意 Python2 和 Python3 的载入方式稍微有些不同,具体见代码,我使用的是 Python3。...,上图是最好的结果的时候,其他结果图的下载链接和上面一样,测试准确率大约为 60%,其实这个准确率并不高,和 TensorFlow 的官方文档 所得到的 86% 还差一段距离,和官方文档的差距在于我并没有对数据进行更多的预处理

    86370

    Python人工智能 | 九.卷积神经网络CNN原理详解及TensorFlow编写CNN

    前一篇文章介绍什么是过拟合,并采用droput解决神经网络中过拟合的问题,以TensorFlow和sklearn的load_digits为案例讲解;本篇文章详细讲解了卷积神经网络CNN原理,并通过TensorFlow.../ AI-for-TensorFlow https://github.com/eastmountyxz/ AI-for-Keras 学Python近八年,认识了很多大佬和朋友,感恩。...关于TensorFlow中的CNN,Google公司也出了一个非常精彩的视频教程,也推荐大家去学习。...另一个你需要知道的概念是——步幅(STRIDE)。它是当你移动滤波器或抽离时平移的像素的数量,每一次跨多少步去抽离图片中的像素点。...---- 二.TensorFlow实现CNN 接着我们讲解如何在TensorFlow代码中编写CNN。之前我们用一般的神经网络来预测MNIST手写数字时,其准确率能达到87.78%。

    86320

    译:Tensorflow实现的CNN文本分类

    翻译自博客:IMPLEMENTING A CNN FOR TEXT CLASSIFICATION IN TENSORFLOW 原博文:http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow.../ github:https://github.com/dennybritz/cnn-text-classification-tf 在这篇文章中,我们将实现一个类似于Kim Yoon的卷积神经网络语句分类的模型...这里,W是我们的滤波器矩阵,h是将非线性应用于卷积输出的结果。 每个过滤器在整个嵌入中滑动,但是它涵盖的字数有所不同。...在TensorFlow中, Session是正在执行graph 操作的环境,它包含有关变量和队列的状态。每个 Session都在单个graph上运行。...3.8 INSTANTIATING THE CNN AND MINIMIZING THE LOSS 当我们实例化我们的TextCNN模型时,所有定义的变量和操作将被放置在上面创建的默认图和会话中。

    1.3K50

    Gabor 滤波

    Gabor 变换是一种短时加窗Fourier变换(简单理解起来就是在特定时间窗内做Fourier变换),是短时傅里叶变换中窗函数取为高斯函数时的一种特殊情况。...因此,Gabor滤波器可以在频域上不同尺度、不同方向上提取相关的特征。另外,Gabor函数与人眼的作用相仿,所以经常用作纹理识别上,并取得了较好的效果。...函数支持的椭圆度 提取图像特征 一组具有不同频率和方向的 Gabor 滤波器可能有助于从图像中提取有用的特征。...二维 Gabor 滤波器在图像处理中有着广泛的应用,特别是在纹理分析和分割的特征提取方面。 参数说明 参数 含义 $f$ 定义在纹理中查找的频率。...theta Gabor 函数法向平行条纹的方向。 lambd 正弦因子波长。 gamma 空间长宽比,表示椭圆形状。 psi 相位偏移。 ktype 滤波器系数的类型。

    1.1K30

    大会 | AAAI 2018论文:视频语义理解的类脑智能

    右边的运动信息滤波器学到了一些类似 Gabor 滤波器的滤波器,这样的滤波器对运动信息更加敏感,实现对运动信息进行良好的提取。 ? ?...图 3 NOASSOM 中基向量的可视化结果 NOASSOM 中训练得到的基向量的可视化结果如图 2 所示,左边是表观信息滤波器,右边是运动信息滤波器。...右边的运动信息滤波器学到了一些类似 Gabor 滤波器学到的信息,这样的滤波器对运动信息更加敏感,实现对运动信息地鲁棒性提取。...上超过 iDT+MBH 的基准方法 3.2% 以及基于 3D CNN 的方法 8.0%。...公开数据集上的实验结果表明,这种方法优于之前基于手工特征的方法和大多基于深度特征的方法。此外,在小数据库上,性能更加优于基于 CNN 的方法。更多的技术细节和实验结果请参考原始论文。

    1.4K70

    TensorFlow从1到2 | 第五章 非专家莫入!TensorFlow实现CNN

    上一篇TensorFlow从1到2 | 第四章: 拆解CNN架构 准备好了CNN的理论基础,本篇从代码层面,来看看TensorFlow如何搞定CNN,使识别精度达到99%以上。 ?...所以“Python必知必会”、“TensorFlow必知必会”将是首先出现的章节。...; 代码运行环境: 1、Python 3.6.2; 2、TensorFlow 1.3.0 CPU version; python必知必会 with在本篇所分析的代码中,用到了大量的With,值得一说。...,Python层面的节点引用变量则不是,后者可以随时更改为对其他节点的引用; 如果在Python层面失去了对某一节点的引用,节点并没有消失,也不会被自动回收,找回方法见玩具代码倒数第2行; 有关TensorFlow...TensorFlow官方《Deep MNIST for Experts》(https://tensorflow.google.cn/get_started/mnist/pros)中构建的CNN与LeNet

    1K80

    纹理分析及其在医学成像中的应用

    局部相位量化方法与LBP方法有效结合,为人脸识别提供了增强的纹理特征。 在一种独特的方法中,Gabor滤波器在纹理表示和识别方面非常有效。Gabor滤波器是由正弦平面波调制的高斯核函数。...通过一组不同尺度和方向的Gabor滤波器实现多通道滤波。Gabor滤波器组执行稳健的多分辨率分解,允许计算频率和方向信息。Gabor纹理特征是根据Gabor幅度响应的统计分布计算出来的。...Gabor特征对光度干扰(如照明变化和噪声)具有鲁棒性。同时,在存在旋转、缩放和仿射变化的情况下,它们无法达到预期的性能水平。Gabor滤波器与LBP的结合产生了具有合理鲁棒性的纹理特征[146]。...ScatNet中的卷积滤波器是简单的Gabor或Haar小波,不需要学习。ScatNet计算保留高频信息的平移不变纹理特征。在[271]中,ScatNet被扩展以计算尺度、变形和旋转不变的纹理特征。...接下来最流行的方法是频谱方法,如小波变换和Gabor滤波器。

    1K70
    领券