• 模型介紹

    卷積神經網路CNN

    卷積神經網絡(CNN)是一種深度學習架構,通過使用卷積層來自動從數據中學習空間層次的特徵,使其在圖像識別、分類、物體檢測等視覺表現卓越。

    卷積層(Convolution Layer)

    當我們在做影像辨識時,像素是很重要的關鍵,我們需要從像素中,抓取特徵,除了像素

    的值以外,我們還要考慮像素與像素之間的關聯

    池化層(Pooling Layer)

    池化目的只是在將圖片資料量減少並保留重要特徵的方法,提高計算效率,把原本的資料做一個最大化或是平均化的降維計算。

    常見的池化操作有最大池化(MaxPooling)和平均池化(AveragePooling)。

    平坦層(Flatten Layer)

    將前面卷積層和池化層,產生的多維特徵圖,轉換成一維的向量。
    這個一維向量隨後可以被送入到全連接層,進行進一步的處理和分析,進行分類。
    全連接層(FullyConnected Layers)

    全連接層通常用於模型的最後幾層,負責將學到的特徵映射到最終的輸出,比如分類的類別。

     

  • Mobilenet V1

    •前面提到CNN 的運作,非常吃電腦的運算資源,如果電腦的像素(矩陣)變大,那電腦的計算量以及執行的時間會大大的增加,如果是一般的機器學習如:影像識別、分類,不太會有太大的影響,但如果是自動駕駛或機器人,我們就不能忽略龐大的計算量以及長時間的計算。

    •Mobilenet是一種特定的CNN架構,為移動和嵌入式設備提供輕量級的深度學習模型。相比於其他深度學習模型,Mobilenet設計了專門的結構和技術來減少計算量和參數量,從而能夠在計算資源有限的設備上高效運行。•Mobilenet總共有三個版本分別為v1 、v2以及v3 ,而我們今天使用的是Mobilenet V1

    第一部份

    原始圖片是7*7*16 ,我們使用的是3*3*16*32的卷積核,步數以及填充分別為2跟1 ,32則為輸出通道的數量,所以最後的計算量為: 3*3*16*32*4*4

    第二部份

    原始圖片是7*7*16 ,首先會是深度卷積,使用的是3*3*16的卷積核,步數以及填充分別為2跟1 ,所以計算量為3*3*16*4*4,再來執行逐點卷積,使用的是1*1*16*32的卷積核, 32則為輸出通道的數量, 所以最後的計算量為: 3*3*16*4*4+16*32*4*4

    VGG

    •前面提到CNN 的運作, filter size(或稱為卷積核大小),它可以為3*3或者4*4等, 但VGG是重複採用同一組基礎模組,並改用小卷積核,其架構由 n 個 VGGBlock 與3個全連接層所組成。

    •VGG Block的構造就是由不同數量的3x3 卷積層,以及 2x2 的 Max pooling 組成

     

    採用小的卷積核取代大的卷積核,這麼做可以達到相同的效果,減少參數量

  • 研究結果

    在人工智慧共創平台上有計算偵測瑕疵正確率的地方

    公式如下:Accuracy=Number of correct predictions/Number of total predictions

    我們使用了兩種方法去做圖片處理,以下分別是兩種前處理的準確度

  • 使用直方圖均衡化以及局部均衡化

     

    設定訓練次數為100為了避免過度配適

    我們有設定如果準確度長期沒有進步就會停止訓練

    結果

    broken image
    broken image

    混淆矩陣

    broken image

    網站計算正確率 0.9432799

    使用直方圖均衡化以及局部對比增強

    結果

    broken image
    broken image

    混淆矩陣

    broken image

    網站計算正確率 0.8939580

    使用直方圖均衡化以及局部均衡化

    broken image
    broken image

    混淆矩陣

    broken image

    網站計算正確率 0.8335388

    權重數據增強

    broken image
    broken image
    broken image