女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于MATLAB 圖像處理與深度學習的作用分析和介紹

MATLAB ? 來源:djl ? 2019-09-11 14:26 ? 次閱讀

本文將展示如何通過圖像處理和深度學習來自動解算數獨謎題:

圖中的紅色數字均由算法生成。接下來我們將介紹如何創建該算法,并說明為何深度學習和圖像處理對于對象檢測和圖像分類同樣十分有用。

圖像處理與深度學習

我們重點介紹兩種技術:

圖像處理

按像素級別變換或者修改圖像。比如,過濾、模糊、去模糊和邊緣檢測等;

深度學習

通過學習樣本圖像自動識別圖像特點。近幾年,深度學習已經徹底改變了圖像處理領域。

我們來探討下這兩種技術之間的關聯性。這里有兩種常見的觀點:

“深度學習已經淘汰了‘傳統’的圖像處理方式。”

“深度學習需要數以百萬的學習樣本,而且只能用于貓咪圖片識別這類任務。”

但事實是:

深度學習和圖像處理都是非常有效的工具,可以解決各種難題,這些任務通常非常復雜,只有使用正確的工具才能解決問題。

數獨解謎

解算數獨(如下圖所示)的規則是:需確保每一行、每一列,以及所有 3x3 宮格都只包含 1 到 9 這九個數字,并且不能有任何重復,只有這樣才算完成。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

數獨在開始時會提供一些數字。填入數字的大小和數量將決定解謎的難度。

我們希望算法能夠識別出宮格,并填入答案。但如果只是這樣,未免太簡單了點。我們還希望無論數獨位于圖片中的哪個位置,算法都能給出答案。這里有張照片,形象地展示了算法在解謎時可能需識別何種圖像:

為此,我們需要設計相應的步驟來處理任務。這就意味著我們可以把解謎分成若干步驟:

關于MATLAB 圖像處理與深度學習的作用分析和介紹

找到數獨——在圖像中定位數獨

找到宮格——在 9x9 的盤面中確定所有宮格

識別數字——必須能夠識別手寫或打印數字

解算數獨

以上所有步驟均可用深度學習或圖像處理中的一種方法來實現。那么,哪些步驟應該用深度學習實現,哪些步驟應該用圖像處理來實現呢?

步驟1. 找到數獨

我們無法預計圖像、圖像背景和對象大小的情況。不同圖像的拍攝角度也可能大不相同。更不用說光照、相機拍攝條件等其它因素。可變因素實在是太多了。

適用方法:深度學習

讓我們試試能否用語義分割為數獨圖片中的像素分類。為此,我們需要標記訓練數據。在 MATLAB 中使用 Image Labeler 標記需要的數據。這是標記完成后的最終輸入數據:

https://www.mathworks.cn/help/vision/examples/semantic-segmentation-using-deep-learning.html

有一點值得注意,那就是數據集非常小——只有一百幅左右的圖像。讓我們試著訓練語義分割網絡,看看數據是否充分。

設置圖像數據倉庫,以便儲存用于語義分割網絡的像素信息。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

然后我們要設置網絡層。這里要注意,我們創建了一個能夠借助分類權重使各個分類抵消的函數。

設置網絡:

關于MATLAB 圖像處理與深度學習的作用分析和介紹

這是訓練選項:

關于MATLAB 圖像處理與深度學習的作用分析和介紹

最后訓練網絡:

net = trainNetwork(train, layers, opts);

在這個階段中,大約需要 20 分鐘才能跑完 40 次樣本訓練。具體耗時可能因電腦硬件/GPU 性能不同而有所差異。網絡經過訓練后,我們又換了一幅測試圖像,得出下述的結果:

結果很不錯!盡管圖片中的其它格狀圖形對算法產生了干擾,但影響十分有限。可在下個步驟去除這些小范圍噪點。

步驟2. 找到宮格

現在,我們需要在數獨盤面中識別出所有小宮格。這些宮格有著很明確的界定:筆直的邊線、總是深色的墨跡,以及大小一致的方形網格。在此提醒,我們在步驟 1 中已經確定了數獨盤面的大致區域。我們可以將該區域以外的圖像全部涂黑,確保算法集中處理該區域。

適用方法:圖像處理

我們曾多次探討圖像處理,如果你不是圖像處理領域的專家,你只要記住——這并不會妨礙你!MATLAB提供了各種應用,能讓處理過程十分輕松。試試 Image Segmenter (https://www.mathworks.cn/help/images/ref/imagesegmenter-app.html),嘗試用它來檢測圖像中的宮格。下面這段代碼由該應用自動生成,可用于檢測圖像中的所有宮格。

首先需清理圖像,確保消除所有噪點。

BW_out = bwpropfilt(networkMask, 'Area', [100000 + eps(100000), Inf]);

然后要縮放遮罩,確保它覆蓋住整個盤面。

maskDilated = imdilate(BW_out, strel('disk', 120));

由于只需注意盤面所在區域,所以將其它區域全部涂黑。

grayIm = rgb2gray(im); grayIm(~maskDilated) = 0;

關于MATLAB 圖像處理與深度學習的作用分析和介紹

然后在圖像中精準摳取盤面。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

可以看到執行的結果非常準確,而且能夠經受住各種干擾!

步驟3. 識別數字

有很多種方法可以識別手寫數字和打印數字。這個問題的難點在于,我們必須考慮到各種字號和字體。好在辦法也不少:

光學字符識別(OCR)是一種常見方法

結合了機器學習分類器的方向梯度直方圖(HOG)是另一種方法點擊此處查看MATLAB示例

好在手寫識別同樣是一個被廣泛研究的機器學習分類問題(請查看本示例,了解如何使用常見的MINST數據集來解決該問題;我寫過一篇類似文章,請點擊此處閱讀)。

適用方法:深度學習

該環節旨在識別打印數字或手寫數字,然后通過深度學習將其數字化(如下圖所示)。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

為此,我們需要海量訓練數據來幫助算法理解字符之間的差異。考慮到訓練數據的海量程度,我們不可能手寫出所有訓練樣本,這太費時間了。

這時即可借助 MATLAB 生成合成數據。就手寫數字而言,這一步很簡單——只需從MNIST數據集中提取現成數據,然后與下圖中的背景圖像合成。在合成各類打印數字時,我們希望數字看上去盡可能不同,以便確保它們無論采用何種字體(新羅馬、維丹娜等),都能被算法識別。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

在合成以上兩類數字時,我們會盡可能確保數字的大小和位置每次都不盡相同。因為這樣我們就能盡可能多地生成數據!

合成圖像:手寫類型/打印類型

注:宮格的方框厚度同樣會隨機變厚或變薄,從而確保宮格各不相同。限于篇幅限制,本文對于合成數據的介紹十分有限。今后我會推出更多有關該主題的文章,請持續關注!

現在我們可以訓練網絡了。設置訓練選項,創建層,然后像之前那樣訓練網絡。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

結果顯示,該網絡的準確度約為97.8%。就數獨解算而言,這個結果已經足夠精確了。

步驟4. 解算數獨

我們已經識別了宮格和數字。現在輪到填寫答案了。

適用方法:都不需要!這是一個優化問題

整合各個步驟

現在我們已經完成了所有四個步驟,借助深度學習和圖像處理創建了一個能夠尋找最優解的數獨解算器。

關于MATLAB 圖像處理與深度學習的作用分析和介紹

關于MATLAB 圖像處理與深度學習的作用分析和介紹

當您在處理和圖像或視頻有關的任務時,請務必牢記以下兩點重要提示:

深度學習適合解決某些問題,但并非所有問題都適合用深度學習解決。

圖像處理和深度學習都是十分有用的工具,可以將它們組合使用以便尋求最優方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 圖像處理
    +關注

    關注

    27

    文章

    1325

    瀏覽量

    57736
  • 深度學習
    +關注

    關注

    73

    文章

    5555

    瀏覽量

    122499
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    DFT在圖像處理中的作用 DFT在音頻信號處理中的應用

    處理中的幾個主要作用: 頻域濾波 :DFT允許我們分析圖像的頻率成分,從而可以設計濾波器來增強或抑制特定頻率的信號,例如低通濾波器可以減少圖像
    的頭像 發表于 12-20 09:18 ?1140次閱讀

    Simulink與 MATLAB 的結合使用 Simulink中的信號處理方法

    被快速搭建和仿真。 MATLAB 在信號處理中的作用 MATLAB 是一個強大的數學計算工具,它提供了大量的內置函數和工具箱,用于信號的生成、分析
    的頭像 發表于 12-12 09:25 ?1300次閱讀

    傅立葉變換在圖像處理中的作用

    傅里葉變換在圖像處理中發揮著至關重要的作用。以下是傅里葉變換在圖像處理中的幾個主要作用: 一、
    的頭像 發表于 12-06 16:55 ?2011次閱讀

    GPU在深度學習中的應用 GPUs在圖形設計中的作用

    。 GPU的并行計算能力 GPU最初被設計用于處理圖形和圖像的渲染,其核心優勢在于能夠同時處理成千上萬的像素點。這種并行處理能力使得GPU非常適合執行
    的頭像 發表于 11-19 10:55 ?1475次閱讀

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之一,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門為深度
    的頭像 發表于 11-14 15:17 ?1719次閱讀

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別是
    的頭像 發表于 10-27 11:13 ?1117次閱讀

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發展 深度學習是機器學習的一個分支,它通過模擬人
    的頭像 發表于 10-27 10:57 ?952次閱讀

    AI大模型在圖像識別中的優勢

    AI大模型在圖像識別中展現出了顯著的優勢,這些優勢主要源于其強大的計算能力、深度學習算法以及大規模的數據處理能力。以下是對AI大模型在圖像
    的頭像 發表于 10-23 15:01 ?2283次閱讀

    利用Matlab函數實現深度學習算法

    Matlab中實現深度學習算法是一個復雜但強大的過程,可以應用于各種領域,如圖像識別、自然語言處理、時間序列預測等。這里,我將概述一個基本
    的頭像 發表于 07-14 14:21 ?3458次閱讀

    基于Python的深度學習人臉識別方法

    基于Python的深度學習人臉識別方法是一個涉及多個技術領域的復雜話題,包括計算機視覺、深度學習、以及圖像
    的頭像 發表于 07-14 11:52 ?1585次閱讀

    深度學習中的無監督學習方法綜述

    深度學習作為機器學習領域的一個重要分支,近年來在多個領域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等領域。然而,
    的頭像 發表于 07-09 10:50 ?1569次閱讀

    深度學習在視覺檢測中的應用

    能力,還使得機器能夠模仿人類的某些智能行為,如識別文字、圖像和聲音等。深度學習的引入,極大地推動了人工智能技術的發展,特別是在圖像識別、自然語言處理
    的頭像 發表于 07-08 10:27 ?1192次閱讀

    深度學習與nlp的區別在哪

    深度學習和自然語言處理(NLP)是計算機科學領域中兩個非常重要的研究方向。它們之間既有聯系,也有區別。本文將介紹深度
    的頭像 發表于 07-05 09:47 ?1518次閱讀

    MATLAB如何使用訓練好的網絡

    引言 在本文中,我們將探討如何在MATLAB中使用訓練好的神經網絡。神經網絡是一種強大的機器學習技術,廣泛應用于圖像識別、自然語言處理、預測建模等領域。
    的頭像 發表于 07-03 10:06 ?1765次閱讀

    深度學習與卷積神經網絡的應用

    隨著人工智能技術的飛速發展,深度學習和卷積神經網絡(Convolutional Neural Network, CNN)作為其中的重要分支,已經在多個領域取得了顯著的應用成果。從圖像識別、語音識別
    的頭像 發表于 07-02 18:19 ?1361次閱讀