2016-11-18 12:10:50 wangleiwavesharp 阅读数 2951
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

深度学习有趣的应用


       参考:http://36kr.com/p/5055788.html

       深度学习技术可以应用于许多领域,不仅在机器翻译、自然语言处理、目标检测识别、视觉跟踪等方面显示出优异的性能,还有很多有趣的应用。

1、模糊图像清晰化;

        Image super-resolution through deep learning,

        https://github.com/david-gpu/srez

2、文字转语音;

        WaveNet: A Generative Model for Raw Audio

        http://www.tuicool.com/articles/ZNZbUfu

3、创作乐曲;

4、图片转为画作风格;

        http://www.jianshu.com/p/bd3c015f51e3

        http://m.linuxeden.com/wap.php?action=article&id=164333

5、新型字体的生成;

        汉字风格迁移项目Rewrite:利用神经网络学习设计汉字新字体

        http://wr21c3c522.dedeadmin.com/ddafitc620161104c6n472295152.shtml

6、补缺失的画像;

        如何在TensorFlow中用深度学习修复图像?

        http://www.jiqizhixin.com/article/1417?utm_source=tuicool&utm_medium=referral

7、训练机器人行走抓取物体;

        http://techcrunch.cn/2016/03/10/what-could-go-wrong/

8、理解并为图片添加描述;

       Generation and Comprehension of Unambiguous Object Descriptions

       https://arxiv.org/abs/1511.02283

       https://github.com/mjhucla/Google_Refexp_toolbox

       http://www.leiphone.com/news/201607/5OwIfo68ONcsXHD0.html

9、无人驾驶

       http://www.leiphone.com/news/201606/TGfD5qmbrNH4nFxU.html

       End to End Learning for Self-Driving Cars

       http://images.nvidia.com/content/tegra/automotive/images/2016/solutions/pdf/end-to-end-dl-using-px.pdf


2019-05-17 11:18:52 hgy413 阅读数 61
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

风格迁移

windows安装

1.下载Miniconda,并安装。

2.打开Anaconda Prompt,并输入以下命令:

conda create -n style-transfer python=2.7.9
source activate style-transfer
pip install tensorflow
conda install scipy pillow

第一行创建一个新的环境,其中存储了格式迁移代码所需的程序包。第二行 (source activate style-transfer) 进入该环境,你应该会在提示符窗口的开头看到环境名称。接下来的两行负责安装 TensorFlow、Scipy 和 Pillow(一种图像处理库)。

安装时间有点久。

迁移风格

1.从fast-style-transfer资源库中下载 Zip 归档文件并解压。你可以通过点击右侧的亮绿色按钮进行下载。
2.从此处下载 Rain Princess 检查点,将其放在 fast-style-transfer 文件夹中。检查点文件是已经调谐参数的模型。使用此检查点文件后我们不需要再训练该模型,可以直接使用。
3.将你要调整格式的图片放到 fast-style-transfer 文件夹,就叫input.jpg
4.进入你之前创建的 Conda 环境(如果不在里面的话)。
5.在终端里,转到 fast-style-transfer 文件夹并输入:

python evaluate.py --checkpoint ./rain-princess.ckpt --in-path ./input.jpg --out-path ./output_image.jpg

如果提示No module named 'scipy'错误,就先运行一下pip install scipy安装即可,最终效果图如下:

在这里插入图片描述

特别注意:输入图片的大小不能太大,不然会花费相当长的时间

DeepTraffic

使用神经网络的交通模拟游戏:https://selfdrivingcars.mit.edu/deeptraffic/:
在这里插入图片描述
在这里插入图片描述

Flappy Bird

1.打开Anaconda Prompt,并输入以下命令:

conda create --name=flappybird python=3.5
activate flappybird
conda install -c menpo opencv3
pip install pygame
pip install tensorflow
git clone https://github.com/yenchenlin/DeepLearningFlappyBird.git
cd DeepLearningFlappyBird
python deep_q_network.py

其中git clone https://github.com/yenchenlin/DeepLearningFlappyBird.git 如果报错,你可以单独使用git bash下载
我在运行时,还遇到一个错误,就是Check failed: PyBfloat16_Type.tp_base != nullptr,解决方案是升级numpy:

python -m pip install --upgrade numpy

如果一切正常,你应该会看到一个基于深度学习的代理在玩 Flappy Bird!最终效果如下:
在这里插入图片描述

2019-04-16 13:01:27 u013538542 阅读数 1738
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

计算机视觉领域正在从统计方法转向深度学习神经网络方法。

计算机视觉中仍有许多具有挑战性的问题需要解决。然而,深度学习方法正在针对某些特定问题取得最新成果。

在最基本的问题上,最有趣的不仅仅是深度学习模型的表现;事实上,单个模型可以从图像中学习意义并执行视觉任务,从而无需使用专门的手工制作方法。

在这篇文章中,您将发现九个有趣的计算机视觉任务,其中深度学习方法取得了一些进展。

让我们开始吧。

概观

在这篇文章中,我们将研究以下使用深度学习的计算机视觉问题:

  1. 图像分类
  2. 具有本地化的图像分类
  3. 物体检测
  4. 对象分割
  5. 图像样式转移
  6. 图像着色
  7. 影像重建
  8. 图像超分辨率
  9. 图像合成
  10. 其他问题

注意,当涉及图像分类(识别)任务时,已采用ILSVRC的命名约定。虽然任务集中在图像上,但它们可以推广到视频帧。

我试图关注您可能感兴趣的最终用户问题的类型,而不是深度学习能够做得更好的学术问题。

每个示例都提供了问题的描述,示例以及对演示方法和结果的论文的引用。

您是否有最喜欢的深度学习计算机视觉应用程序未列出?
请在下面的评论中告诉我。

图像分类

图像分类涉及为整个图像或照片分配标签。

该问题也被称为“对象分类”,并且可能更一般地称为“图像识别”,尽管后一任务可以应用于与分类图像内容相关的更广泛的任务集。

图像分类的一些示例包括:

1、将X射线标记为癌症与否(二元分类)。
2、对手写数字进行分类(多类分类)。
3、为脸部照片指定名称(多类别分类)。

用作基准问题的图像分类的流行示例是MNIST数据集。
在这里插入图片描述
分类数字照片的流行真实版本是街景房号(SVHN)数据集。

有许多图像分类任务涉及对象的照片。 两个流行的例子包括CIFAR-10和CIFAR-100数据集,这些数据集的照片分别分为10类和100类。

大规模视觉识别挑战赛(ILSVRC)是一项年度竞赛,其中团队在从ImageNet数据库中提取的数据上竞争一系列计算机视觉任务的最佳性能。图像分类方面的许多重要进步来自于发布在该挑战或来自该挑战的任务的论文,最值得注意的是关于图像分类任务的早期论文。例如:

  1. 使用深度卷积神经网络的ImageNet分类,2012。
  2. 用于大规模图像识别的非常深的卷积网络,2014。
  3. 围绕卷积更深入,2015年。
  4. 图像识别的深度残留学习,2015年。

具有本地化的图像分类

具有本地化的图像分类涉及为图像分配类标签并通过边界框(在对象周围绘制框)来显示图像中对象的位置。

这是一个更具挑战性的图像分类版本。

本地化图像分类的一些示例包括:

1.将X射线标记为癌症或在癌症区域周围画一个盒子。
2.在每个场景中对动物的照片进行分类并在动物周围画一个盒子。
用于具有定位的图像分类的经典数据集是PASCAL视觉对象类数据集,或简称为PASCAL VOC(例如VOC 2012)。这些是多年来在计算机视觉挑战中使用的数据集。
在这里插入图片描述
该任务可以涉及在图像中的同一对象的多个示例周围添加边界框。 因此,该任务有时可称为“对象检测”。
在这里插入图片描述
用于本地化图像分类的ILSVRC2016数据集是一个流行的数据集,包含150,000张照片和1000种对象。

关于本地化图像分类的论文的一些例子包括:

  1. 选择性搜索对象识别,2013年。
  2. 用于精确对象检测和语义分割的丰富特征层次结构,2014年。
  3. 快速R-CNN,2015年。

物体检测

物体检测是具有定位的图像分类的任务,尽管图像可能包含需要定位和分类的多个对象。

与简单的图像分类或具有定位的图像分类相比,这是一项更具挑战性的任务,因为在不同类型的图像中通常存在多个对象。

通常,使用并展示用于具有定位的图像分类的技术用于对象检测。

对象检测的一些示例包括:

绘制边界框并标记街道场景中的每个对象。
绘制边界框并在室内照片中标记每个对象。
绘制边界框并在横向中标记每个对象。
PASCAL Visual Object Classes数据集或简称PASCAL VOC(例如VOC 2012)是用于对象检测的常见数据集。

用于多个计算机视觉任务的另一个数据集是Microsoft的上下文数据集中的公共对象,通常称为MS COCO。
在这里插入图片描述
关于物体检测的论文的一些例子包括:

  1. OverFeat:使用卷积网络的集成识别,本地化和检测,2014年。
  2. 更快的R-CNN:利用区域提案网络实现实时目标检测,2015年。
  3. 您只看一次:统一,实时对象检测,2015年。

对象分割

对象分割或语义分割是对象检测的任务,其中在图像中检测到的每个对象周围绘制线。图像分割是将图像分成段的更普遍的问题。

对象检测有时也称为对象分割。

与涉及使用边界框来识别对象的对象检测不同,对象分割识别图像中属于对象的特定像素。这就像一个细粒度的本地化。

更一般地,“图像分割”可以指将图像中的所有像素分割成不同类别的对象。

同样,VOC 2012和MS COCO数据集可用于对象分割。
在这里插入图片描述
KITTI Vision Benchmark Suite是另一种流行的对象分割数据集,提供用于自动驾驶车辆训练模型的街道图像。

关于对象分割的一些示例论文包括:

  1. 同步检测和分割,2014年。
  2. 用于语义分割的完全卷积网络,2015。
  3. 用于对象分割和细粒度本地化的超级列,2015。
  4. SegNet:用于图像分割的深度卷积编码器 - 解码器架构,2016。
  5. Mask R-CNN,2017年。

风格转移

风格转移或神经风格转移是从一个或多个图像学习风格并将该风格应用于新图像的任务。

该任务可以被认为是一种可能没有客观评价的照片滤波器或变换。

例子包括将特定着名艺术品(例如Pablo Picasso或Vincent van Gogh)的风格应用于新照片。

数据集通常涉及使用公共领域的着名艺术作品和标准计算机视觉数据集中的照片。
在这里插入图片描述
一些论文包括:

  1. 艺术风格的神经算法,2015。
  2. 使用卷积神经网络的图像样式转移,2016。

图像着色

图像着色或神经着色涉及将灰度图像转换为全色图像。

该任务可以被认为是一种可能没有客观评价的照片滤波器或变换。

例子包括着色旧的黑白照片和电影。

数据集通常涉及使用现有的照片数据集并创建模型必须学习着色的照片的灰度版本。
在这里插入图片描述
一些论文包括:

  1. 彩色图像着色,2016年。
  2. 让我们有颜色:全球和本地图像的联合端到端学习,用于同步分类的自动图像着色,2016。
  3. 深色着色,2016。

影像重建

图像重建和图像修复是填充图像的缺失或损坏部分的任务。

该任务可以被认为是一种可能没有客观评价的照片滤波器或变换。

示例包括重建旧的,损坏的黑白照片和电影(例如照片恢复)。

数据集通常涉及使用现有的照片数据集并创建模型必须学会修复的损坏版本的照片。
在这里插入图片描述
一些论文包括:

  1. 像素回归神经网络,2016年。
  2. 使用部分卷积的图像修复不规则孔,2018年。
  3. 使用具有带通滤波的深度神经网络进行高度可扩展的图像重建,2018年。

图像超分辨率

图像超分辨率是生成具有比原始图像更高分辨率和细节的图像的新版本的任务。

通常为图像超分辨率开发的模型可用于图像恢复和修复,因为它们解决了相关问题。

数据集通常涉及使用现有的照片数据集并创建缩小版照片,模型必须学会创建超分辨率版本。
在这里插入图片描述
一些论文包括:

  1. 使用生成对抗网络的照片真实单图像超分辨率,2017。
  2. 深拉普拉斯金字塔网络,快速准确的超分辨率,2017。
  3. Deep Image Prior,2017。

图像合成

图像合成是生成现有图像或全新图像的目标修改的任务。

这是一个非常广泛的领域,正在迅速发展。

它可能包括图像和视频的小修改(例如图像到图像的翻译),例如:

更改场景中对象的样式。
将对象添加到场景中。
将面添加到场景中。
在这里插入图片描述
它还可能包括生成全新的图像,例如:

1、生成面孔。
2、生成浴室。
3、生成衣服。
在这里插入图片描述
一些论文包括:

  1. 用深度卷积生成对抗网络学习无监督表示,2015。 使用PixelCNN解码器生成条件图像,2016。
  2. 使用周期一致的对抗网络进行不成对的图像到图像转换,2017。

其他问题
还有其他重要且有趣的问题我没有涉及,因为它们不是纯粹的计算机视觉任务。

值得注意的例子是图像到文本和文本到图像:

1、图像字幕:生成图像的文本描述。
Show and Tell:神经图像标题生成器,2014。
2、图像描述:生成图像中每个对象的文本描述。
用于生成图像描述的深层视觉语义对齐,2015。
3、文本到图像:基于文本描述合成图像。
AttnGAN:使用注意生成对抗网络生成细粒度文本到图像,2017。

据推测,人们学会在其他模态和图像之间进行映射,例如音频。

总结

在这篇文章中,您发现了九种深度学习应用于计算机视觉任务。

您最喜欢的计算机视觉深度学习的例子是否错过了?
请在评论中告诉我。

你有任何问题吗?
在下面的评论中提出您的问题。

2017-09-20 09:59:32 kwame211 阅读数 2442
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

图片来自dribbble.com by Justin Mezzell

本系列文章目前已经更新两期,分别是: 机器学习原来如此有趣!全世界最简单的机器学习入门指南、 机器学习原来如此有趣:如何故意欺骗神经网络机器学习原来如此有趣:用深度学习识别人脸

语音识别正在「入侵」我们的生活。我们的手机、游戏主机和智能手表都内置了语音识别。他甚至在自动化我们的房子。只需50美元,你就可以买到一个Amazon Echo Dot,这是一个可以让你订外卖、收听天气预报、甚至是买垃圾袋的魔术盒,而这一切你只需要大声说出:


Aleax,给我订一个pizza!


Echo Dot 在2015年的圣诞假期一经推出就大受欢迎,在亚马逊上面立刻售罄。


但其实语音识别已经存在很多年了,那为什么现在才成为主流呢?因为深度识别终于将语音识别在非受控环境下的准确度提高到了一个足以投入实用的高度。


吴恩达教授曾经预言过,当语音识别的准确度从95%提升到99%的时候,它将成为与电脑交互的首要方式。


下面就让我们来学习与深度学习进行语音室识别吧!


机器学习并不总是一个黑盒

如果你想知道神经机器翻译是如何工作的,你应该猜到了我们可以简单地将一些声音送入神经网络,然后训练它使之生成文本:



这是使用深度学习进行语音识别的最高追求,但是很遗憾我们现在还没有完全做到这一点(至少在笔者写下这一篇文章的时候还没有--我敢打赌,再过几年我们可以做到)


一个大问题是语速不同。一个人可能会很快的说出''Hello!'',而另一个人可能非常缓慢的说''heeeelllllllllllllooooo'!',产生了一个拥有更多数据也更长的声音文件。这两个文件都应该被识别为同一个文本--“Hello!”。而事实证明,把各种长度的音频文件自动对齐到一个固定长度的文本是很难的一件事情。

为了解决这个问题,我们必须使用一些特殊的技巧,并进行一些深度神经网络以外的特殊处理。让我们看看它是如何工作的吧!



将声音转换为比特(Bit)


显然,语音识别的第一步是--我们需要将声波输入到电脑中。


我们应该怎么将声波转换为数字呢?让我们使用我说的「hello」这个声音片段举个例子:


声波是一维的,它在每个时刻都有一个基于其高度的值。让我们把声波的一小部分放大看看:

为了将这个声波转换成数字,我们只记录声波在等距点的高度:



这被称为采样(sampling)。我们每秒读取数千次,并把声波在该时间点的高度用一个数字记录下来。这基本上就是一个未压缩的 .wav 音频文件。


“CD 音质”的音频是以 44.1khz(每秒 44100 个读数)进行采样的。但对于语音识别,16khz(每秒 16000 个采样)的采样率就足以覆盖人类语音的频率范围了。


让我们把“Hello”的声波每秒采样 16000 次。这是前 100 个采样:

每个数字代表声波在一秒钟的16000分之一处的振幅。


数字采样小助手


因为声波采样只是间歇性的读取,你可能认为它只是对原始声波进行粗略的近似估计。我们的读数之间有间距,所以我们必然会丢失数据,对吧?


但是,由于采样定理(Nyquist theorem),我们知道我们可以利用数学,从间隔的采样中完美重建原始声波——只要我们的采样频率比期望得到的最高频率快至少两倍就行。


我提这一点,是因为几乎每个人都会犯这个错误,并误认为使用更高的采样率总是会获得更好的音频质量。其实并不是。


预处理我们的采样声音数据


我们现在有一个数列,其中每个数字代表 1/16000 秒的声波振幅。


我们可以把这些数字输入到神经网络中,但是试图直接分析这些采样来进行语音识别仍然很困难。相反,我们可以通过对音频数据进行一些预处理来使问题变得更容易。


让我们开始吧,首先将我们的采样音频分成每份 20 毫秒长的音频块。这是我们第一个 20 毫秒的音频(即我们的前 320 个采样):


将这些数字绘制为简单的折线图,我们就得到了这 20 毫秒内原始声波的大致形状:


虽然这段录音只有 1/50 秒的长度,但即使是这样短暂的录音,也是由不同频率的声音复杂地组合在一起的。其中有一些低音,一些中音,甚至有几处高音。但总的来说,就是这些不同频率的声音混合在一起,才组成了人类的语音。


为了使这个数据更容易被神经网络处理,我们将把这个复杂的声波分解成一个个组成部分。我们将分离低音部分,再分离下一个最低音的部分,以此类推。然后将(从低到高)每个频段(frequency band)中的能量相加,我们就为各个类别的音频片段创建了一个指纹(fingerprint)。


想象你有一段某人在钢琴上演奏 C 大调和弦的录音。这个声音是由三个音符组合而成的:C、E 和 G。它们混合在一起组成了一个复杂的声音。我们想把这个复杂的声音分解成单独的音符,以此来分辨 C、E 和 G。这和语音识别是一样的道理。


我们需要傅里叶变换(Fourier Transform)来做到这一点。它将复杂的声波分解为简单的声波。一旦我们有了这些单独的声波,我们就将每一份频段所包含的能量加在一起。


最终得到的结果便是从低音(即低音音符)到高音,每个频率范围的重要程度。以每 50hz 为一个频段的话,我们这 20 毫秒的音频所含有的能量从低频到高频就可以表示为下面的列表:



但是把它们画成图表时会更容易理解:

你可以看到,在我们的 20 毫秒声音片段中有很多低频能量,然而在更高的频率中并没有太多的能量。这是典型「男性」的声音。


如果我们对每个20毫秒的音频块都重复这个过程,我们最后会得到一个频谱图(从左到右每一列都是一个29毫秒的音频块)

频谱图很酷,因为你可以在音频数据中实实在在地看到音符和其他音高模式。对于神经网络来说,相比于原始声波,从这种数据中寻找规律要容易得多。因此,这就是我们将要实际输入到神经网络中去的数据表示方式。


从短音频中识别字符


现在我们已经让音频转变为一个易于处理的格式了,现在我们将要把它输入深度神经网络。神经网络的输入将会是 20 毫秒的音频块。对于每个小的音频切片(audio slice),神经网络都将尝试找出当前正在说的声音所对应的字母。

我们将使用一个循环神经网络——即一个拥有记忆,能影响未来预测的神经网络。这是因为它预测的每个字母都应该能够影响它对下一个字母的预测。例如,如果我们到目前为止已经说了「HEL」,那么很有可能我们接下来会说「LO」来完成「Hello」。我们不太可能会说「XYZ」之类根本读不出来的东西。因此,具有先前预测的记忆有助于神经网络对未来进行更准确的预测。


当通过神经网络跑完我们的整个音频剪辑(一次一块)之后,我们将最终得到一份映射(mapping),其中标明了每个音频块和其最有可能对应的字母。这是我说那句「Hello」所对应的映射的大致图案:


我们的神经网络正在预测我说的那个词很有可能是「HHHEE_LL_LLLOOO」。但它同时认为我说的也可能是「HHHUU_LL_LLLOOO」,或者甚至是「AAAUU_LL_LLLOOO」。


我们可以遵循一些步骤来整理这个输出。首先,我们将用单个字符替换任何重复的字符:


· HHHEE_LL_LLLOOO 变为 HE_L_LO


· HHHUU_LL_LLLOOO 变为 HU_L_LO


· AAAUU_LL_LLLOOO 变为 AU_L_LO


然后,我们将删除所有空白:


· HE_L_LO 变为 HELLO


· HU_L_LO 变为 HULLO


· AU_L_LO 变为 AULLO


这让我们得到三种可能的转写——「Hello」、「Hullo」和「Aullo」。如果你大声说出这些词,所有这些声音都类似于「Hello」。因为神经网络每次只预测一个字符,所以它会得出一些纯粹表示发音的转写。例如,如果你说「He would not go」,它可能会给出一个「He wud net go」的转写。


解决问题的诀窍是将这些基于发音的预测与基于书面文本(书籍、新闻文章等)大数据库的可能性得分相结合。扔掉最不可能的结果,留下最实际的结果。


在我们可能的转写「Hello」、「Hullo」和「Aullo」中,显然「Hello」将更频繁地出现在文本数据库中(更不用说在我们原始的基于音频的训练数据中了),因此它可能就是正解。所以我们会选择「Hello」作为我们的最终结果,而不是其他的转写。搞定!


稍等一下!


你可能会想「但是如果有人说Hullo」怎么办?这个词的确存在。也许「Hello」是错误的转写!



当然可能有人实际上说的是「Hullo」而不是「Hello」。但是这样的语音识别系统(基于美国英语训练)基本上不会产生「Hullo」这样的转写结果。用户说「Hullo」,它总是会认为你在说「Hello」,无论你发「U」的声音有多重。


试试看!如果你的手机被设置为美式英语,尝试让你的手机助手识别单词「Hullo」。这不行!它掀桌子不干了,它总是会理解为「Hello」。


不识别「Hullo」是一个合理的行为,但有时你会碰到令人讨厌的情况:你的手机就是不能理解你说的有效的语句。这就是为什么这些语音识别模型总是处于再训练状态的原因,它们需要更多的数据来修复这些少数情况。


我能建立自己的语音识别系统吗?


机器学习最酷炫的事情之一就是它有时看起来十分简单。你得到一堆数据,把它输入到机器学习算法当中去,然后就能神奇地得到一个运行在你游戏本显卡上的世界级 AI 系统...对吧?


这在某些情况下是真实的,但对于语音识别并不成立。语音识别是一个困难的问题。你得克服几乎无穷无尽的挑战:劣质麦克风、背景噪音、混响和回声、口音差异等等。你的训练数据需要囊括这所有的一切,才能确保神经网络可以应对它们。


这里有另外一个例子:你知不知道,当你在一个嘈杂的房间里说话时,你会不自觉地提高你的音调,来盖过噪音。人类在什么情况下都可以理解你,但神经网络需要训练才能处理这种特殊情况。所以你需要人们在噪音中大声讲话的训练数据!


要构建一个能在 Siri、Google Now! 或 Alexa 等平台上运行的语音识别系统,你将需要大量的训练数据 。如果你不雇上数百人为你录制的话,它需要的训练数据比你自己能够获得的数据要多得多。由于用户对低质量语音识别系统的容忍度很低,因此你不能吝啬。没有人想要一个只有八成时间有效的语音识别系统。


对于像谷歌或亚马逊这样的公司,在现实生活中记录的成千上万小时的人声语音就是黄金。这就是将他们世界级语音识别系统与你自己的系统拉开差距的地方。让你免费使用 Google Now!或 Siri,或是只要 50 美元购买 Alexa 而没有订阅费的意义就是:让你尽可能多地使用它们。你对这些系统所说的每一句话都会被永远记录下来,并用作未来版本语音识别算法的训练数据。这才是他们的真实目的!


不相信我?如果你有一部安装了 Google Now! 的 Android 手机,请点击这里收听你自己对它说过的每一句话:


你可以通过 Alexa 在 Amazon 上找到相同的东西。然而,不幸的是,苹果并不让你访问你的 Siri 语音数据。


因此,如果你正在寻找一个创业的想法,我不建议你尝试建立自己的语音识别系统来与 Google 竞争。相反,你应该想个办法,让人们把自己讲了几个小时的录音交给你。这种数据可以是你的产品。

2020-01-11 13:21:41 Tecsae 阅读数 163
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21448 人正在学习 去看看 AI100讲师

计算机视觉的领域正从统计方法转变为深度学习神经网络方法。在计算机视觉中仍然需要解决许多具有挑战性的问题。 尽管如此,深度学习方法仍在某些特定问题上取得了最新的成果。有趣的不仅仅是深度学习模型在基准问题上的表现。 事实是,单个模型可以从图像中学习含义并执行视觉任务,从而不需要专门的手工方法。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

在本文中,你将发现九个有趣的计算机视觉任务,其中深度学习方法正在取得进展。注意,在图像分类(识别)任务时,采用了ILSVRC的命名约定。 尽管这些任务集中在图像上,但是它们可以推广到视频帧。

我试图将重点放在你可能感兴趣的最终用户问题的类型上,而不是在深度学习方面做得很好的更多学术子问题上。

每个示例都提供了对该问题的描述以及一个示例。是否有未列出的最喜欢的用于深度学习的计算机视觉应用程序?

1、图像分类

图像分类涉及为整个图像或照片分配标签。这个问题也被称为“对象分类”,并且可能更普遍地被称为“图像识别”,尽管后者的任务可能适用于与图像内容分类有关的更广泛的任务集。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

 

图像分类的一些示例包括:

是否将X射线标记为癌症(二进制分类)。

对手写数字进行分类(多类分类)。

为面部照片分配名称(多类分类)。

用作基准问题的图像分类的一个流行示例是MNIST数据集。

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

街景房门号码(SVHN)数据集是对数字照片进行分类的一种流行的现实版本。

该图像的类别是什么?

有许多涉及对象照片的图像分类任务。 两个受欢迎的示例包括CIFAR-10和CIFAR-100数据集,这些数据集的照片分别分为10类和100类。

大规模视觉识别挑战赛(ILSVRC)是一项年度竞赛,在该竞赛中,团队将根据ImageNet数据库中提取的数据,在一系列计算机视觉任务中争夺最佳性能。 图像分类的许多重要进步来自有关此挑战的任务或有关此任务的论文,其中最著名的是有关图像分类任务的早期论文。

2、具有本地化的图像分类

具有本地化的图像分类涉及为图像分配类别标签,并通过边界框(在对象周围绘制一个框)显示对象在图像中的位置。

这是图像分类的更具挑战性的版本。

具有本地化的图像分类的一些示例包括:

标记X射线是否为癌症,并在癌变区域周围画一个方框。

在每个场景中对动物的照片进行分类并在动物周围画一个方框。用于本地化图像分类的经典数据集是PASCAL视觉对象类数据集,或简称为PASCAL VOC(例如VOC 2012)。 这些是多年来在计算机视觉挑战中使用的数据集。

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

该任务可能涉及在图像中同一对象的多个示例周围添加边界框。 这样,有时将该任务称为“对象检测”。用于本地化图像分类的ILSVRC2016数据集是一个受欢迎的数据集,包含150,000张照片和1,000个对象类别。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

3、物体检测

尽管图像可能包含需要定位和分类的多个对象,但是对象检测是通过定位对图像进行分类的任务。与简单的图像分类或具有定位的图像分类相比,这是一个更具挑战性的任务,因为通常在不同类型的图像中存在多个对象。通常,针对本地化图像分类而开发的技术已被使用并证明用于物体检测。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

对象检测的一些示例包括:

绘制边界框并标记街道场景中的每个对象。

绘制边界框并标记室内照片中的每个对象。

绘制边界框并标记景观中的每个对象。

PASCAL视觉对象类数据集或简称PASCAL VOC(例如VOC 2012)是用于对象检测的常见数据集。另一个用于执行多个计算机视觉任务的数据集是Microsoft的“上下文数据集中的通用对象”,通常称为MS COCO。

4、对象分割

对象分割或语义分割是对象检测的任务,其中在图像中检测到的每个对象周围画一条线。 图像分割是将图像分割成多个部分的更普遍的问题。对象检测有时也称为对象分割。

与涉及使用边界框识别对象的对象检测不同,对象分割可识别图像中属于该对象的特定像素。 这就像一个细粒度的本地化。一般而言,“图像分割”可能是指将图像中的所有像素分割为不同类别的对象。

同样,VOC 2012和MS COCO数据集可用于对象分割。KITTI Vision Benchmark Suite是另一个受欢迎的对象细分数据集,它提供用于自动驾驶汽车训练模型的街道图像。

5、样式转移

样式转移或神经样式转移是从一个或多个图像中学习样式并将该样式应用于新图像的任务。可以将此任务视为可能没有客观评估的一种照片滤镜或变换。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

例如,将特定的著名艺术品(例如帕勃罗·毕加索(Pablo Picasso)或文森特·梵高(Vincent van Gogh))的风格应用于新照片。数据集通常涉及使用公共领域的著名艺术品和来自标准计算机视觉数据集的照片。

6、图像着色

图像着色或神经着色涉及将灰度图像转换为全色图像。可以将此任务视为可能没有客观评估的一种照片滤镜或变换。示例包括为旧的黑白照片和电影着色。

数据集通常涉及使用现有的照片数据集并创建模型必须学会着色的照片的灰度版本。

7、影像重建

图像重建和图像修复是填充图像缺失或损坏的部分的任务。可以将此任务视为可能没有客观评估的一种照片滤镜或变换。例如,重建旧的,损坏的黑白照片和电影(例如,照片恢复)。数据集通常涉及使用现有照片数据集并创建模型必须学习修复的照片的损坏版本。

8、图像超分辨率

图像超分辨率是生成比原始图像具有更高分辨率和细节的图像新版本的任务。通常,为图像超分辨率开发的模型可以解决相关问题,因此可以用于图像恢复和修复。数据集通常涉及使用现有照片数据集并创建照片的缩小版本,而模型必须学习这些缩小版本的模型才能创建超分辨率版本。

9、图像合成

图像合成是生成现有图像或全新图像的目标修改的任务。这是一个非常广阔的领域,正在迅速发展。它可能包括对图像和视频的少量修改(例如,图像到图像的翻译),例如:

更改场景中对象的样式。

将对象添加到场景。

在场景中添加面孔。

 

计算机视觉9大常见应用,深度学习的这些名词你听过几个?

 

它还可能包括生成全新的图像,例如:

生成面孔。

生成浴室。

产生服饰。

其他问题

我没有涉及其他重要而有趣的问题,因为它们不是纯粹的计算机视觉任务。据推测,人们学会了在其他形式和图像(例如音频)之间进行映射。

计算机视觉与语音识别的应用示例

Gravitylink推出钛灵AIX是一款集计算机视觉与智能语音交互两大核心功能为一体的人工智能硬件,Model Play是面向全球开发者的AI模型资源平台,内置多样化AI模型,与钛灵AIX结合,基于Google开源神经网络架构及算法,构建自主迁移学习功能,无需写代码,通过选择图片、定义模型和类别名称即可完成AI模型训练。

没有更多推荐了,返回首页