欧美日韩在线第一页-欧美日韩在线观看精品-欧美日韩在线观看一区二区-欧美日韩在线免费看-欧美日韩在线视频不卡一区二区三区

圖像處理
新聞詳情

卷積運算和圖像處理

發布時間:2020-12-30 14:13:32 最后更新:2020-12-30 14:48:28 瀏覽次數:4341

圖1.使用在線提供的默認圖像過濾器

最近,我對圖像核和卷積運算在圖像處理中的應用產生了興趣。誠然,這是因為它在社交媒體網站和Snapchat和Instagram等應用程序上很受歡迎。在一些應用程序上的許多照片都使用了特效,這些特效是通過改變圖片像素的值和操作來實現對圖像的修改。

圖像處理有許多不同的應用,包括AR、文本分類、目標檢測等。圖像處理應用的數量激增的原因與深度學習領域的研究人員最近的發展有關。神經網絡能夠處理各種各樣的輸入,并在一系列計算的基礎上提出預測。


什么是卷積運算?

卷積運算和圖像處理

圖2.卷積運算的一個例子

在討論卷積運算之前,必須提到仿射變換,因為它們為卷積運算提供了基礎(Dumoulin, 2018)。仿射變換用于通過一個稱為核的矩陣來改變向量的值,核的值集可以是預先確定的,也可以是導出的。當改變向量的方向或位置時,這些轉換是有用的。然而,仿射變換的局限性在于它們沒有利用輸入中的核可用的某些屬性,如顏色或方向通道。通過利用前面提到的特性,操作可以減少必要的處理量,從而幫助更有效地解決任務。

這就是卷積運算發揮作用的地方。卷積運算采用仿射變換,允許它們有效地應用于具有高度維數或大量可變性(如圖像、視頻和聲音字節)的輸入。如圖2所示,為了簡化大數據集,使用卷積運算通過一系列的運算(一系列的乘法和加法)壓縮輸入。與仿射變換一樣,卷積運算使用核函數來改變輸入。這是通過將輸入值與核值相乘來實現的。總數是通過在操作的第一步中添加一系列乘法的值獲得的。在一系列的過程中,這些計算結果是一組小的值,這些值都在一個壓縮的集合中保存了輸入值。


卷積神經網絡(CNN)和卷積運算是否相關?


圖3.Fjor Van Veen的卷積神經網絡

在討論卷積運算時,不得不提CNN。CNN在90年代早期被用于識別手寫字符。一組研究人員通過最初分離然后標記它們來訓練神經網絡來識別手寫字符(Le Cun,1995)。當CNN用于在比賽中擊敗ImageNet分類系統時,神經網絡的潛力急劇擴大(Krizhevzky,2014)。CNN之所以成為機器學習實踐者最希望利用的網絡之一,是因為它的壓縮作用是通過一系列卷積運算來完成的。這允許模型基于壓縮的輸入進行預測。由于輸入已經被簡化或壓縮,因此在訓練模型上花費的時間更少。

圖3顯示了CNN背后的典型設計。首先,可以使用具有多個維度的圖像或音頻文件作為輸入(黃色圓圈)。然后將執行一系列卷積運算,以便在多個層(粉色圓圈)上簡化或“卷積”輸入,并將一系列卷積運算的輸出饋送到神經網絡中。根據Van Veen(綠色圓圈),分析卷積輸出的神經網絡通常是前饋神經網絡。


你如何評估CNN的表現?

神經網絡模型建立后,利用大量的數據集進行正向和反向傳播,改變網絡各節點之間的連接,以達到盡可能高的精度。如何評估模型準確預測是通過一種名為混淆矩陣的方法。

混淆矩陣的四個部分:

混淆矩陣是一個2×2矩陣,用來計算模型的預測精度。矩陣的四個部分是真陽性、假陽性和真陰性、假陰性。從這四個值; 可以返回準確性,精確度以及正面和負面情況的覆蓋范圍。通過從矩陣中獲取值并使用公式獲得這些值。

如何訓練模型:

輸入數據分為兩組,即測試組和訓練組。可以使用任何比率來訓練模型,但使用80%的數據集作為訓練集是最流行的方法。這可以使用Python的sklearn庫中的train_test_split()API調用來執行。通過拆分數據集,這允許網絡使用先前未見過的數據來提高其預測的準確性并防止過度擬合。過度擬合是由具有相同數據的神經網絡內的訓練節點引起的問題,一旦出現不熟悉的問題,將導致精度損失。

如何進一步提高網絡的準確性:

這可以通過交叉驗證來完成,交叉驗證是一種拆分數據集的方法,以便在整個集合中進行訓練和測試。該方法允許將所有數據用作訓練集和測試集,這將提高模型對未知或未見數據的預測的準確性。交叉驗證的兩種方法是leave p-labels out和k-fold測試。

Leave p-labels out:

為了實現更高的精度,測試可以用來忘記p為了測試,以“訓練過度”偏愛的標簽中的標簽的數量。在測試期間,“遺漏”的標簽被帶回并使用。

k-fold測試:

這是最常用的交叉驗證類型。這包括獲取測試集并在整個數據集中“移動”該區域以確保所有數據都已用于測試。


關于Kernel


圖4.此圖像核保存模糊值

上面顯示的圖像是3 x 3矩陣,核也可以是任何大小。核的大小由輸入大小決定。考慮到這一點,核大小應足夠大,以便在其計算中包含足夠的數據,但也應該足夠小,可以防止處理的信息重疊。此外,核保存常量,然后在一系列卷積運算中使用這些常量。有許多不同類型的自定義效果可以通過操縱核中保存的值來實現。例如,恒等核通過將nxn核的中心設置為1,將周圍的單元格設置為0來保持圖像的原樣。這將保留想要的像素,同時在卷積運算的乘法運算中“忘記”其他不需要的值。通過這種方法,很容易假設以0作為核中的值的網格將被“遺忘”,或者在卷積操作中不會被計算,而1將保持像素不變。通過增加輸入的大小(核值大于1),可以執行模糊操作,通過縮小大小可以執行完全相反的效果(銳化)。


圖像處理還有其他部分嗎?

圖像核不是圖像處理的唯一關鍵部分。如果我們參考圖2,核似乎會在輸入中移動。移動的程度稱為步幅,可以自定義,以增加核跳過的像素數量。步幅的增加確保了圖像核所研究的區域不重疊。

當核開始沿輸入邊緣移動時,Padding是圖像處理的另一個重要部分。根據輸入和核的大小,可以定制n個層。圖4顯示了一個卷積操作。


不同類型的Padding

卷積運算和圖像處理

圖5.The zeroes around the input helps the kernel process the image more accurately

雖然上面的圖中顯示的值是0,但是使用的值可以是任何數字。還可以使用其他類型的填充,例如reflective padding,但是為了簡單起見,圖4中所示的零填充將是討論的重點。

No padding:

這需要核處理沒有零層的輸入的每個像素。這會導致輸入的邊緣不被整個核完全處理,如圖1所示。

Half padding:

Half padding用于保持輸入的大小。當在網絡中涉及多層padding時,這可能是期望的。卷積運算減小了輸入的大小,如圖4所示。Half padding的名稱來自用于執行它的公式。將內核大小分成兩半,然后將劃分的下部加倍,然后添加一個小于核大小的值。

Full padding:

這允許輸入的大小增加,這可能對具有大量卷積的神經網絡有用。這可以恢復被卷積操作刪除的層。


卷積運算有哪些種類?

處理輸入時可以使用兩種主要的卷積運算。通過更改前面提到的屬性,可以根據自己的喜好自定義操作的詳細信息,以增加每個卷積操作中表示的信息量。通過更改padding,您可以使核能夠處理輸入的邊緣并保留或增加大小。


不同類型的卷積運算

No zero padding with non-unit strides:

這將產生一個輸出,它等于步數加1,包括核的初始位置,這是由核所采取的。Non-unit strides可以用來限制分析區域的重疊量。

Zero padding with non-unit strides:

通過對輸入進行padding并將核設置為non-unit strides,可以完成另一個卷積操作來處理輸入,并能夠包含輸入的邊緣情況。


轉置卷積運算

轉置卷積運算意味著切換卷積的方向。這意味著當核用于更改值并處理輸入時,將交換forward 和 back swapping。步幅和padding用于實現類似的目標,即允許更好地處理數據。然而,由于前面提到的操作現在在相反的方向上工作,所以步幅和padding的結果與在標準卷積操作期間如何使用它們不完全相同。

圖5所示是轉置卷積運算。通過向輸入添加padding,可以考慮每個感興趣的區域,并且與只允許核研究四個陰影區域相比,輸出可以包含更完整的數據。轉置卷積運算通常用于提高圖像分辨率。這方面的應用是無止境的,包括改善從商業中獲取的顆粒狀CCTV鏡頭或完成可能模糊或覆蓋的面部或鏡頭。

卷積運算和圖像處理

圖6.使用單位步幅和零padding的轉置卷積


自定義圖像效果

如前所述,當使用圖像核對圖像(如模糊,旋轉和裁剪)執行某些效果時,我們可以使用許多不同的設置進行自定義。因此,通過使用http://setosa.io/ev/image-kernels/上提供的圖像自 定義程序,可以創建自定義核(如圖7所示),我們可以將核應用于圖像。


圖7.這是我們將用于應用模糊的核。

 

(上)圖8.應用轉換前的圖像(下)圖9.應用了自定義核模糊后的圖像


自定義Filters的實現

自定義Filters的實現可以在GitHub和GitLab等網站上在線找到,Python是最受歡迎的語言之一。我并不是說Python將為您的任務提供最好的性能,但是該語言中有許多庫可以用于此目的,以及可供參考的文檔。

更早些時候,在2004年,Apple提供了這部分代碼,可用于自定義圖像效果。可以改變向量和浮點數的值以實現所需的任何效果。


圖10. Apple的自定義核實現

以上代碼可以作為Java、Python、c++ /C甚至Matlab實現的起點!

卷積運算已經成為一種非常有用的工具,目前有許多不同的應用。您可以改變圖像,簡化圖像來解決圖像分類內的問題,并定制效果上傳到任何社交媒體網站。

在線客服 雙翌客服
客服電話
  • 0755-23712116
  • 13310869691
主站蜘蛛池模板: 国产综合精品久久亚洲| 麻豆69堂免费视频| 日韩精品1区| 99久久久久国产| 日本高清毛片视频在线看| 成人区在线观看免费视频| 韩国美女激情视频一区二区| 亚洲精品欧美日本中文字幕| www精品| 日本三级韩国三级三级a级按摩 | 久久精品国产免费看久久精品| 亚洲色无码播放| 一区二区三区在线 | 日本| 日韩欧美亚洲国产一区二区三区| 成年女人免费看片| 免费精品国产| 国产三级黄色毛片| zoofilia杂交videos新一| 久久久国产99久久国产首页| 无圣光福利视频| 亚洲欧美日韩在线观看二区| free 性欧美69hd| 乡下女色又黄一级毛片| 中文字幕第一页在线| 亚洲精国产一区二区三区| 成本人h片3d动漫网站在线看| 欧美日韩国产中文字幕| 国产一区二区不卡| 国产免费黄色大片| 国产福利一区二区在线观看| 性感美女香蕉视频| 特黄aa级毛片免费视频播放| 黑人在线播放| 精品欧美一区二区在线观看欧美熟 | 国产成人啪一区二区| 国产精品videossex激情| 视频二区精品中文字幕| 香蕉在线视频网站| 经典香港一级a毛片免费看| 春水堂在线| 国产精品国产高清国产专区|