1.Intro to Deep Learning and Computer Vision

Intro

这是Kaggle深度学习教育课程的第一课。

在本课程结束后,您将了解卷积。 卷积是计算机视觉(以及许多其他应用程序)中深度学习模型的基本构建块。

之后,我们将很快开始使用世界一流的深度学习模型。

Lesson

[1]

from IPython.display import YouTubeVideo

YouTubeVideo('OVbiVIChkVY', width=800, height=450)

Your Turn

看完视频后,进行一些关于卷积的动手实践。

 

Exercise:Convolutions for Computer Vision

Exercise Introductin

为了构建和测试你对卷积的直觉,你将设计一个垂直线检测器。 我们将它应用于图像的每个部分,以创建一个新的张量,显示有垂直线的位置。

1.Intro to Deep Learning and Computer Vision

执行以下4步:

  1.  复制这篇笔记;
  2. 运行完此笔记并向下滚动以查看输出,您将看到原始图像,以及我们将水平线检测器应用于图像时获得的图像示例。
  3.  填写vertical_line_conv的代码单元格。 您将不得不考虑列表中的哪些数字将创建垂直线检测器。 运行此单元格。
  4.  将vertical_line_conv添加到conv_list。 运行该单元格。 您将在水平线过滤器下方看到垂直线过滤器的输出。 您还将看到一个打印提示,表明您是否正确。

一旦完成,您就可以了解深度卷积模型,这是现代计算机视觉突破的关键。

 

Import Utility Functions

我们将使用一些小的实用程序函数来加载原始图像数据,使结果可视化并给出你的回答等提示。不要担心这些,但执行下一个单元格来加载实用程序函数。

【1】

from learntools.deep_learning.exercise_1 import load_my_image, apply_conv_to_image, show, print_hints

 

Example Convolution:Horizontal Line Detector

这里有一个你在视频里看到的卷积例子,你不需要去修改它。

【2】

# Detects bright pixels over dark pixels. 
horizontal_line_conv = [[1, 1], 
                        [-1, -1]]

 

Your Turn:Vertical Line Detector

用数字替换问号标记以形成垂直线检测器,并取消注释下面单元格中的两行代码。

【3】

#vertical_line_conv = [[?, -?], 
#                      [?, ?]]

一旦你在代码单元创建了vertical_line_conv,把它作为一个附加单元加到conv_list,然后执行以下代码单元:

【4】

conv_list = [horizontal_line_conv]

original_image = load_my_image()
print("Original image")
show(original_image)
for conv in conv_list:
    filtered_image = apply_conv_to_image(conv, original_image)
    print("Output: ")
    show(filtered_image)
Original image

1.Intro to Deep Learning and Computer Vision

----------------------------
Filter: 
[[ 1  1]
 [-1 -1]]
Output: 

1.Intro to Deep Learning and Computer Vision

在上方,您将看到水平线过滤器的输出以及您添加的过滤器。 如果你做对了,过滤器的输出将如下所示。

1.Intro to Deep Learning and Computer Vision

Keep Going

现在,您已准备好将卷积结合到强大的模型中。 这些模型很有趣,所以继续前进。

 

;