Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【OpenCV】Chapter7.图像噪声与滤波器

【OpenCV】Chapter7.图像噪声与滤波器

作者头像
zstar
发布于 2022-09-26 11:03:49
发布于 2022-09-26 11:03:49
1K00
代码可运行
举报
文章被收录于专栏:往期博文往期博文
运行总次数:0
代码可运行

最近想对OpenCV进行系统学习,看到网上这份教程写得不错,于是跟着来学习实践一下。 【youcans@qq.com, youcans 的 OpenCV 例程, https://youcans.blog.csdn.net/article/details/125112487】 程序仓库:https://github.com/zstar1003/OpenCV-Learning

添加噪声

高斯噪声

高斯噪声的概率密度函数为:

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
高斯噪声
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np


img = cv2.imread("../img/lena.jpg", 1)

mu, sigma = 0.0, 20.0
noiseGause = np.random.normal(mu, sigma, img.shape)
imgGaussNoise = img + noiseGause
imgGaussNoise = np.uint8(cv2.normalize(imgGaussNoise, None, 0, 255, cv2.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("GaussNoise"), plt.axis('off')
plt.imshow(imgGaussNoise, 'gray')
plt.subplot(133), plt.title("Gray Hist")
histNP, bins = np.histogram(imgGaussNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

瑞利噪声

瑞利噪声的概率密度函数为

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
瑞利噪声
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np


img = cv2.imread("../img/lena.jpg", 0)

a = 30.0
noiseRayleigh = np.random.rayleigh(a, size=img.shape)
imgRayleighNoise = img + noiseRayleigh
imgRayleighNoise = np.uint8(cv2.normalize(imgRayleighNoise, None, 0, 255, cv2.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("RayleighNoise"), plt.axis('off')
plt.imshow(imgRayleighNoise, 'gray')
plt.subplot(133), plt.title("Gray Hist")
histNP, bins = np.histogram(imgRayleighNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

伽马噪声

伽马噪声又称爱尔兰噪声,其概率密度函数为

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
伽马噪声
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np


img = cv2.imread("../img/lena.jpg", 0)

a, b = 10.0, 2.5
noiseGamma = np.random.gamma(shape=b, scale=a, size=img.shape)
imgGammaNoise = img + noiseGamma
imgGammaNoise = np.uint8(cv2.normalize(imgGammaNoise, None, 0, 255, cv2.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("Gamma noise"), plt.axis('off')
plt.imshow(imgGammaNoise, 'gray')
plt.subplot(133), plt.title("Gray hist")
histNP, bins = np.histogram(imgGammaNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

指数噪声

指数噪声的概率密度函数为

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
指数噪声
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np


img = cv2.imread("../img/lena.jpg", 0)

a = 10.0
noiseExponent = np.random.exponential(scale=a, size=img.shape)
imgExponentNoise = img + noiseExponent
imgExponentNoise = np.uint8(cv2.normalize(imgExponentNoise, None, 0, 255, cv2.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("Exponential noise"), plt.axis('off')
plt.imshow(imgExponentNoise, 'gray')
plt.subplot(133), plt.title("Gray hist")
histNP, bins = np.histogram(imgExponentNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

均匀噪声

均匀噪声的概率密度函数为

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
均匀噪声
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np


img = cv2.imread("../img/lena.jpg", 0)

mean, sigma = 10, 100
a = 2 * mean - np.sqrt(12 * sigma)  # a = -14.64
b = 2 * mean + np.sqrt(12 * sigma)  # b = 54.64
noiseUniform = np.random.uniform(a, b, img.shape)
imgUniformNoise = img + noiseUniform
imgUniformNoise = np.uint8(cv2.normalize(imgUniformNoise, None, 0, 255, cv2.NORM_MINMAX))  # 归一化为 [0,255]

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("Uniform noise"), plt.axis('off')
plt.imshow(imgUniformNoise, 'gray')
plt.subplot(133), plt.title("Gray hist")
histNP, bins = np.histogram(imgUniformNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

椒盐噪声

椒盐噪声的概率密度函数为

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
椒盐噪声
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np


img = cv2.imread("../img/lena.jpg", 0)

ps, pp = 0.05, 0.02
mask = np.random.choice((0, 0.5, 1), size=img.shape[:2], p=[pp, (1 - ps - pp), ps])
imgChoiceNoise = img.copy()
imgChoiceNoise[mask == 1] = 255
imgChoiceNoise[mask == 0] = 0

plt.figure(figsize=(9, 3))
plt.subplot(131), plt.title("Origin"), plt.axis('off')
plt.imshow(img, 'gray', vmin=0, vmax=255)
plt.subplot(132), plt.title("Choice noise"), plt.axis('off')
plt.imshow(imgChoiceNoise, 'gray')
plt.subplot(133), plt.title("Gray hist")
histNP, bins = np.histogram(imgChoiceNoise.flatten(), bins=255, range=[0, 255], density=True)
plt.bar(bins[:-1], histNP[:])
plt.tight_layout()
plt.show()

滤波器

当图片中含有噪声时,可以采用滤波器来进行滤除。

算术平均滤波器

算术平均滤波器是最简单的均值滤波器,与空间域滤波中的盒式滤波器相同。 计算公式如下:

简单理解,就是将一个盒子中的每一个像素点以整个盒子的平均值替代。盒子尺寸越大就越模糊。 在OpenCV中可以用cv2.filter2Dcv2.boxFilter两种方式实现。

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
算术平均滤波器
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("../img/lena_noise.jpg", 0)

kSize = (3, 3)
kernalMean = np.ones(kSize, np.float32) / (kSize[0] * kSize[1])  # 生成归一化盒式核
imgConv1 = cv2.filter2D(img, -1, kernalMean)  # cv2.filter2D 方法

kSize = (20, 20)
imgConv3 = cv2.boxFilter(img, -1, kSize)  # cv2.boxFilter 方法 (默认normalize=True)

plt.figure(figsize=(9, 6))
plt.subplot(131), plt.axis('off'), plt.title("Original")
plt.imshow(img, cmap='gray', vmin=0, vmax=255)
plt.subplot(132), plt.axis('off'), plt.title("filter2D(kSize=[3,3])")
plt.imshow(imgConv1, cmap='gray', vmin=0, vmax=255)
plt.subplot(133), plt.axis('off'), plt.title("boxFilter(kSize=[20,20])")
plt.imshow(imgConv3, cmap='gray', vmin=0, vmax=255)
plt.tight_layout()
plt.show()

几何均值滤波器

几何均值滤波器计算公式如下:

这里和算术平均滤波器进行对比:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
几何均值滤波器
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("../img/lena_noise.jpg", 0)


img_h = img.shape[0]
img_w = img.shape[1]

# 算术平均滤波 (Arithmentic mean filter)
kSize = (3, 3)
kernalMean = np.ones(kSize, np.float32) / (kSize[0] * kSize[1])  # 生成归一化盒式核
imgAriMean = cv2.filter2D(img, -1, kernalMean)

# 几何均值滤波器 (Geometric mean filter)
m, n = 3, 3
order = 1 / (m * n)
kernalMean = np.ones((m, n), np.float32)  # 生成盒式核

hPad = int((m - 1) / 2)
wPad = int((n - 1) / 2)
imgPad = np.pad(img.copy(), ((hPad, m - hPad - 1), (wPad, n - wPad - 1)), mode="edge")

imgGeoMean = img.copy()
for i in range(hPad, img_h + hPad):
    for j in range(wPad, img_w + wPad):
        prod = np.prod(imgPad[i - hPad:i + hPad + 1, j - wPad:j + wPad + 1] * 1.0)
        imgGeoMean[i - hPad][j - wPad] = np.power(prod, order)

plt.figure(figsize=(9, 6))
plt.subplot(131), plt.axis('off'), plt.title("Original")
plt.imshow(img, cmap='gray', vmin=0, vmax=255)
plt.subplot(132), plt.axis('off'), plt.title("Arithmentic mean filter")
plt.imshow(imgAriMean, cmap='gray', vmin=0, vmax=255)
plt.subplot(133), plt.axis('off'), plt.title("Geometric mean filter")
plt.imshow(imgGeoMean, cmap='gray', vmin=0, vmax=255)
plt.tight_layout()
plt.show()

谐波平均滤波器

谐波平均滤波器计算公式如下:

谐波平均滤波器既能处理盐粒噪声(白色噪点),又能处理类似于高斯噪声的其他噪声,但不能处理胡椒噪声(黑色噪点)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
谐波平均滤波器
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("../img/lena_noise.jpg", 0)

img_h = img.shape[0]
img_w = img.shape[1]

# 算术平均滤波 (Arithmentic mean filter)
kSize = (3, 3)
kernalMean = np.ones(kSize, np.float32) / (kSize[0] * kSize[1])  # 生成归一化盒式核
imgAriMean = cv2.filter2D(img, -1, kernalMean)

# 谐波平均滤波器 (Harmonic mean filter)
m, n = 3, 3
order = m * n
kernalMean = np.ones((m, n), np.float32)  # 生成盒式核

hPad = int((m - 1) / 2)
wPad = int((n - 1) / 2)
imgPad = np.pad(img.copy(), ((hPad, m - hPad - 1), (wPad, n - wPad - 1)), mode="edge")

epsilon = 1e-8
imgHarMean = img.copy()
for i in range(hPad, img_h + hPad):
    for j in range(wPad, img_w + wPad):
        sumTemp = np.sum(1.0 / (imgPad[i - hPad:i + hPad + 1, j - wPad:j + wPad + 1] + epsilon))
        imgHarMean[i - hPad][j - wPad] = order / sumTemp

plt.figure(figsize=(9, 6))
plt.subplot(131), plt.axis('off'), plt.title("Original")
plt.imshow(img, cmap='gray', vmin=0, vmax=255)
plt.subplot(132), plt.axis('off'), plt.title("Arithmentic mean filter")
plt.imshow(imgAriMean, cmap='gray', vmin=0, vmax=255)
plt.subplot(133), plt.axis('off'), plt.title("Harmonic mean filter")
plt.imshow(imgHarMean, cmap='gray', vmin=0, vmax=255)
plt.tight_layout()
plt.show()

反谐波平均滤波器

反谐波平均滤波器适用于降低或消除椒盐噪声,计算公式如下:

Q 称为滤波器的阶数,Q 取正整数时可以消除胡椒噪声,Q 取负整数时可以消除盐粒噪声,但不能同时消除这两种噪声。

反谐波平均滤波器当 Q=0 时简化为算术平均滤波器;当 Q=−1时简化为谐波平均滤波器。

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
反谐波平均滤波器
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("../img/lena_noise.jpg", 0)

img_h = img.shape[0]
img_w = img.shape[1]

m, n = 3, 3
order = m * n
kernalMean = np.ones((m, n), np.float32)  # 生成盒式核

hPad = int((m - 1) / 2)
wPad = int((n - 1) / 2)
imgPad = np.pad(img.copy(), ((hPad, m - hPad - 1), (wPad, n - wPad - 1)), mode="edge")

Q = 1.5  # 反谐波平均滤波器 阶数
epsilon = 1e-8
imgHarMean = img.copy()
imgInvHarMean = img.copy()
for i in range(hPad, img_h + hPad):
    for j in range(wPad, img_w + wPad):
        # 谐波平均滤波器 (Harmonic mean filter)
        sumTemp = np.sum(1.0 / (imgPad[i - hPad:i + hPad + 1, j - wPad:j + wPad + 1] + epsilon))
        imgHarMean[i - hPad][j - wPad] = order / sumTemp

        # 反谐波平均滤波器 (Inv-harmonic mean filter)
        temp = imgPad[i - hPad:i + hPad + 1, j - wPad:j + wPad + 1] + epsilon
        imgInvHarMean[i - hPad][j - wPad] = np.sum(np.power(temp, (Q + 1))) / np.sum(np.power(temp, Q) + epsilon)

plt.figure(figsize=(9, 6))
plt.subplot(131), plt.axis('off'), plt.title("Original")
plt.imshow(img, cmap='gray', vmin=0, vmax=255)
plt.subplot(132), plt.axis('off'), plt.title("Harmonic mean filter")
plt.imshow(imgHarMean, cmap='gray', vmin=0, vmax=255)
plt.subplot(133), plt.axis('off'), plt.title("Invert harmonic mean")
plt.imshow(imgInvHarMean, cmap='gray', vmin=0, vmax=255)
plt.tight_layout()
plt.show()

统计排序滤波器

统计排序滤波器是空间滤波器,其响应是基于滤波器邻域中的像素值的顺序,排序结果决定了滤波器的输出。 统计排序包括中值滤波器、最大值滤波器、最小值滤波器、中点滤波器和修正阿尔法均值滤波器。

  • 中值滤波器:用预定义的像素邻域中的灰度中值来代替像素的值,与线性平滑滤波器相比能有效地降低某些随机噪声,且模糊度要小得多。
  • 最大值滤波器:用预定义的像素邻域中的灰度最大值来代替像素的值,可用于找到图像中的最亮点,或用于消弱与明亮区域相邻的暗色区域,也可以用来降低胡椒噪声。
  • 最小值滤波器:用预定义的像素邻域中的灰度最小值来代替像素的值,可用于找到图像中的最暗点,或用于削弱与暗色区域相邻的明亮区域,也可以用来降低盐粒噪声。
  • 中点滤波器:用预定义的像素邻域中的灰度的最大值与最小值的均值来代替像素的值,注意中点的取值与中值常常是不同的。中点滤波器是统计排序滤波器与平均滤波器的结合,适合处理随机分布的噪声,例如高斯噪声、均匀噪声。

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
统计排序滤波器
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("../img/lena_noise.jpg", 0)

img_h = img.shape[0]
img_w = img.shape[1]

m, n = 3, 3
kernalMean = np.ones((m, n), np.float32)  # 生成盒式核

# 边缘填充
hPad = int((m - 1) / 2)
wPad = int((n - 1) / 2)
imgPad = np.pad(img.copy(), ((hPad, m - hPad - 1), (wPad, n - wPad - 1)), mode="edge")

imgMedianFilter = np.zeros(img.shape)  # 中值滤波器
imgMaxFilter = np.zeros(img.shape)  # 最大值滤波器
imgMinFilter = np.zeros(img.shape)  # 最小值滤波器
imgMiddleFilter = np.zeros(img.shape)  # 中点滤波器
for i in range(img_h):
    for j in range(img_w):
        # # 1. 中值滤波器 (median filter)
        pad = imgPad[i:i + m, j:j + n]
        imgMedianFilter[i, j] = np.median(pad)

        # # 2. 最大值滤波器 (maximum filter)
        pad = imgPad[i:i + m, j:j + n]
        imgMaxFilter[i, j] = np.max(pad)

        # # 3. 最小值滤波器 (minimum filter)
        pad = imgPad[i:i + m, j:j + n]
        imgMinFilter[i, j] = np.min(pad)

        # # 4. 中点滤波器 (middle filter)
        pad = imgPad[i:i + m, j:j + n]
        imgMiddleFilter[i, j] = int(pad.max() / 2 + pad.min() / 2)

plt.figure(figsize=(9, 7))
plt.subplot(221), plt.axis('off'), plt.title("median filter")
plt.imshow(imgMedianFilter, cmap='gray', vmin=0, vmax=255)
plt.subplot(222), plt.axis('off'), plt.title("maximum filter")
plt.imshow(imgMaxFilter, cmap='gray', vmin=0, vmax=255)
plt.subplot(223), plt.axis('off'), plt.title("minimum filter")
plt.imshow(imgMinFilter, cmap='gray', vmin=0, vmax=255)
plt.subplot(224), plt.axis('off'), plt.title("middle filter")
plt.imshow(imgMiddleFilter, cmap='gray', vmin=0, vmax=255)
plt.tight_layout()
plt.show()

原图添加的椒盐噪声,可以看到中值滤波滤除得较好。

修正阿尔法均值滤波器

修正阿尔法均值滤波器也属于统计排序滤波器,其思想类似于比赛中去掉最高分和最低分后计算平均分。 其计算公式为:

d表示d个最低灰度值和d个最高灰度值,d 的取值范围是[0,mn/2−1]。选择d的大小对图像处理的效果影响很大,当 d=0 时简化为算术平均滤波器,当 d=mn/2−1 简化为中值滤波器。

示例程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"""
修正阿尔法均值滤波器
"""
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread("../img/lena_noise.jpg", 0)

img_h = img.shape[0]
img_w = img.shape[1]

m, n = 5, 5
kernalMean = np.ones((m, n), np.float32)  # 生成盒式核

# 边缘填充
hPad = int((m - 1) / 2)
wPad = int((n - 1) / 2)
imgPad = np.pad(img.copy(), ((hPad, m - hPad - 1), (wPad, n - wPad - 1)), mode="edge")

imgAlphaFilter0 = np.zeros(img.shape)
imgAlphaFilter1 = np.zeros(img.shape)
imgAlphaFilter2 = np.zeros(img.shape)
for i in range(img_h):
    for j in range(img_w):
        # 邻域 m * n
        pad = imgPad[i:i + m, j:j + n]
        padSort = np.sort(pad.flatten())  # 对邻域像素按灰度值排序

        d = 1
        sumAlpha = np.sum(padSort[d:m * n - d - 1])  # 删除 d 个最大灰度值, d 个最小灰度值
        imgAlphaFilter0[i, j] = sumAlpha / (m * n - 2 * d)  # 对剩余像素进行算术平均

        d = 2
        sumAlpha = np.sum(padSort[d:m * n - d - 1])
        imgAlphaFilter1[i, j] = sumAlpha / (m * n - 2 * d)

        d = 4
        sumAlpha = np.sum(padSort[d:m * n - d - 1])
        imgAlphaFilter2[i, j] = sumAlpha / (m * n - 2 * d)

plt.figure(figsize=(9, 7))
plt.subplot(221), plt.axis('off'), plt.title("Original")
plt.imshow(img, cmap='gray', vmin=0, vmax=255)
plt.subplot(222), plt.axis('off'), plt.title("Modified alpha-mean(d=1)")
plt.imshow(imgAlphaFilter0, cmap='gray', vmin=0, vmax=255)
plt.subplot(223), plt.axis('off'), plt.title("Modified alpha-mean(d=2)")
plt.imshow(imgAlphaFilter1, cmap='gray', vmin=0, vmax=255)
plt.subplot(224), plt.axis('off'), plt.title("Modified alpha-mean(d=4)")
plt.imshow(imgAlphaFilter2, cmap='gray', vmin=0, vmax=255)
plt.tight_layout()
plt.show()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python猫荐书之六:文也深度学习,理也深度学习
1、中国队在第 11 界罗马尼亚数学大师赛(RMM)中无缘金牌。该项赛事是三大国际赛事之一,被誉为中学奥数的最高难度。其中一道题,令中国队全军覆没。
Python猫
2019/04/09
6080
Python猫荐书之六:文也深度学习,理也深度学习
读书笔记之卷积神经网络之父杨立昆的《科学之路》
《科学之路——人、机器与未来》(原作名: Quand la machine apprend)是法国人杨立昆(Yann LeCun)的自传体科普作品,详细记录了他在人工智能领域的研究历程和对未来发展的深刻见解。
AIGC部落
2024/12/20
1670
读书笔记之卷积神经网络之父杨立昆的《科学之路》
2018图灵奖公布!Hinton、Bengio、LeCun深度学习三巨头共享
据官方公告介绍,因三位巨头在深度神经网络概念和工程上的突破,使得 DNN 成为计算的一个重要构成,从而成为 2018 年图灵奖得主。
机器之心
2019/04/29
9140
2018图灵奖公布!Hinton、Bengio、LeCun深度学习三巨头共享
深度学习“奠基人”科伦斯:人脑中的一片黑暗才是“黑匣子”
如果说谁有资格谈论目前正在进行的人工智能革命,特伦斯·谢诺夫斯基(Terry Sejnowski)无疑是其中一个,特伦斯是20世纪80年代挑战构建人工智能主流方法的重要研究人员之一。
科技云报道
2022/04/15
3380
深度学习“奠基人”科伦斯:人脑中的一片黑暗才是“黑匣子”
大咖 | 《深度学习革命》作者:人们对AI概念的理解存在偏差
对基本概念的误解必然导致对人工智能的错误解读。因此“杀手AI”、“机器人使我们过时”等话题便应运而生。
大数据文摘
2018/12/05
3820
大咖 | 《深度学习革命》作者:人们对AI概念的理解存在偏差
Deep Learning(深度学习)学习笔记整理系列之(一)
1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献。
bear_fish
2018/09/19
5870
Deep Learning(深度学习)学习笔记整理系列之(一)
万言谈 | 智能时代、深度学习与未来:人类与人工智能的博弈之道
近期刚刚读完吴军博士所著《智能时代:大数据与智能革命重新定义未来》以及特伦斯·谢诺夫斯基所著《深度学习:智能时代的核心驱动力量》两本书。这两本书前后间隔接近三年,而所讲内容从吴博士对智能的大众科普,到谢诺夫斯基对于人工智能重点领域之一的深度学习发展的历程介绍,令读者对当下科技变迁有一个由浅入深的认知。
ZNing
2020/05/13
6940
万言谈 | 智能时代、深度学习与未来:人类与人工智能的博弈之道
【深度学习】五个问题迅速了解“深度学习”
深度学习领域是计算机科学一个新兴领域,通俗说来就是构建像人脑一样处理数据的计算机程序。深度学习首先发起于学术界,目前各大互联网巨头也纷纷投入研究,随着媒体的报道增多,“深度学习”也成为近期热词。例如,
陆勤_数据人网
2018/02/27
8970
【深度学习】五个问题迅速了解“深度学习”
【深度】浅析Geoffrey Hinton最近提出的Capsule计划
【导读】本文全面介绍了深度学习的来龙去脉以及Hinton最近提出的Capsule计划。希望做物理的、做数学的、做生物的、做化学的、做计算机、包括做科幻的都能看的很开心。 专知公众号转载已获知乎作者SIY.Z授权。 原文地址:https://zhuanlan.zhihu.com/p/29435406 Geoffrey Hinton 以「深度学习之父」和「神经网络先驱」闻名于世,其对深度学习及神经网络的诸多核心算法和结构(包括「深度学习」这个名称本身,反向传播算法,受限玻尔兹曼机,深度置信网络,对比散度算法,R
WZEARW
2018/04/08
8980
【深度】浅析Geoffrey Hinton最近提出的Capsule计划
AI教父Hinton:AI 系统将走向无监督,我们需要真正理解大脑
最新一届图灵奖得主、多伦多大学教授兼谷歌大脑高级研究员 Geoffrey Hinton 今天在谷歌 I/O 开发者大会的炉边聊天上发表了演讲。
新智元
2019/05/17
4600
《深度学习革命》作者:GAN令我惊艳,现在的人们对AI操之过急了
近日,计算神经科学家、《深度学习革命》一书作者Terrence Sejnowski在接受采访时表示,现在像“深度学习”和“神经网络”这样的流行语无处不在,但是大多数对这些词语的理解都被误导了。
新智元
2018/11/08
4140
深度学习鼻祖Geoffrey Hinton带你入门机器学习(36页干货PPT)
雷锋网注:Geoffrey Everest Hinton(杰弗里·埃弗里斯特·辛顿 )是一位英国出生的计算机学家和心理学家,以其在神经网络方面的贡献闻名。辛顿是反向传播算法和对比散度算法的发明人之一,
AI科技评论
2018/03/07
3K0
深度学习鼻祖Geoffrey Hinton带你入门机器学习(36页干货PPT)
说说图灵奖的深度学习「三教父」惊世贡献
2019年3月27日 ——ACM 宣布,深度学习之父 Yoshua Bengio , Yann LeCun 以及 Geoffrey Hinton 获得了2018年的图灵奖,被称为“计算机领域的诺贝尔奖”。
用户1737318
2019/04/30
7550
说说图灵奖的深度学习「三教父」惊世贡献
深度学习架构的设计模式:介绍
深度学习架构可以被描述为建立机器学习系统的新方法或风格。深度学习更有可能导致更先进的人工智能形式。这方面的证据是自十年来以来发生的巨大突破。在新的乐观的氛围中,我们现在又在一个新的AI春天。不幸的是,目前的深度学习状态似乎有太多的类似于炼金术的方式。每个人似乎都有自己的黑魔法设计架构的方法。因此,该领域需要向前迈进,争取化学,或者甚至可以进行深度学习的周期表。虽然深入学习仍处于发展初期阶段,但本书力求在深入学习中形成一些统一的思想。它利用称为模式语言的描述方法。 模式语言是从称为模式的实体衍生而来的语言,当
架构师研究会
2018/04/09
1.6K0
深度学习架构的设计模式:介绍
超越美国?加拿大何以培育出人工智能的新边疆
前两天,加拿大政府推动人工智能发展的财政预算正式出炉,用1.25亿加元来支持人工智能领域的新研究与人才战略。 其中的关键,是资助多伦多新成立的人工智能研究机构 Vector Institute。该机
AI科技大本营
2018/04/26
6790
超越美国?加拿大何以培育出人工智能的新边疆
理解计算:从根号2到AlphaGo第8季 深度学习发展简史
在本系列的2,3,4季中,我们分别介绍了神经网络的生物学背景,最早的关于神经元的数学模型,以及具有学习功能的感知机。我们现在已经知道,如何学习神经网络的参数是最为关键的问题,这个问题从宏观上看实际上跟求解2的平方根并没有本质不同,即需要一个迭代过程(梯度下降)不断更新模型的参数。在一个著名的Adaline模型(第4季)的基础上,我们首次看到了激活函数、代价函数,梯度(导数)这些概念在求解模型参数中的核心作用,梯度下降法首次被运用到神经元模型中。接下来的第5季则专门介绍了导数的概念以及求解方法。逆向求导由于其极高的性能,看起来极具吸引力。从现在的眼光来看,在上个世纪80年代的时候,所有的基础几乎已经准备妥当,只是在等一个适当的机会,一些零星的在当时并不那么惹眼的研究,逐渐将神经网络以一种更加高大上外表包裹起来,深度学习开始了它的统治时代。本主要介绍从神经网络到深度学习发展过程中的几个重要的模型及其人物的简单历史,希望能帮助大家宏观上了解深度学习发展的基本脉络。
SIGAI学习与实践平台
2019/08/29
7410
理解计算:从根号2到AlphaGo第8季  深度学习发展简史
【深度学习下一大突破】吴恩达对话 Hinton、Bengio、Goodfellow(视频)
【新智元导读】吴恩达深度学习系列课程 Deeplearning.ai 上线,专设对话部分,用视频的形式将他对 7 位深度学习领袖的采访呈现出来,分别是 Geoffrey Hinton、Yoshua Bengio、Ian Goodfellow、Andrej Karpathy、林元庆、Ruslan Salakhutdinov、Pieter Abbeel。新智元重点整理了深度学习先驱 Hinton、Bengio 和新秀 Goodfellow 的访谈。他们如何进入深度学习领域,如何看深度学习发展?他们曾犯过哪些错误
新智元
2018/03/22
8050
【深度学习下一大突破】吴恩达对话 Hinton、Bengio、Goodfellow(视频)
主流的深度学习模型有哪些?
作者:阿萨姆 | 普华永道 数据科学家 量子位 已获授权编辑发布 转载请联系原作者 深度学习大热以后各种模型层出不穷,很多朋友都在问到底什么是DNN、CNN和RNN,这么多个网络到底有什么不同,作用各是什么? 趁着回答《深度学习的主要分类是什么呀?这些网络cnn dbn dnm rnn是怎样的关系?》这个问题的机会,我也想介绍一下主流的神经网络模型。因为格式问题和传播原因,我把原回答内容在这篇文章中再次向大家介绍。 在更详细的介绍各种网络前,首先说明: 大部分神经网络都可以用深度(depth)和连接结构(c
量子位
2018/03/26
2.7K0
主流的深度学习模型有哪些?
【干货】神经网络和深度学习简史
作者:机器之心 深度学习掀起海啸 如今,深度学习浪潮拍打计算机语言的海岸已有好几年,但是,2015年似乎才是这场海啸全力冲击自然语言处理(NLP)会议的一年。——Dr. Christopher D. Manning, Dec 2015 整个研究领域的成熟方法已经迅速被新发现超越,这句话听起来有些夸大其词,就像是说它被「海啸」袭击了一样。但是,这种灾难性的形容的确可以用来描述深度学习在过去几年中的异军突起——显著改善人们对解决人工智能最难问题方法的驾驭能力,吸引工业巨人(比如谷歌等)的大量投资,研究论文的指数
钱塘数据
2018/03/06
1.2K0
【干货】神经网络和深度学习简史
深度学习进化编年大事记
安妮 编译自 Import.io官方博客 量子位出品 | 公众号 QbitAI 本文作者Andrew Fogg,可视化网页抓取网站Import.io的联合创始人。这篇文章阐明了人工智能、机器学习与深度
量子位
2018/03/28
1.3K0
深度学习进化编年大事记
推荐阅读
相关推荐
Python猫荐书之六:文也深度学习,理也深度学习
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验