1. 程式人生 > >1.Intro to Deep Learning and Computer Vision

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

為了構建和測試你對卷積的直覺,你將設計一個垂直線檢測器。 我們將它應用於影象的每個部分,以建立一個新的張量,顯示有垂直線的位置。

Imgur

執行以下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

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

在上方,您將看到水平線過濾器的輸出以及您新增的過濾器。 如果你做對了,過濾器的輸出將如下所示。

Imgur

Keep Going

現在,您已準備好將卷積結合到強大的模型中。 這些模型很有趣,所以繼續前進。