偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

VGG卷積神經(jīng)網(wǎng)絡(luò)模型解析

人工智能 深度學(xué)習(xí)
VGG全稱是Visual Geometry Group屬于牛津大學(xué)科學(xué)工程系,其發(fā)布了一些列以VGG開頭的卷積網(wǎng)絡(luò)模型,可以應(yīng)用在人臉識別、圖像分類等方面,分別從VGG16~VGG19。

一:VGG介紹與模型結(jié)構(gòu)

VGG全稱是Visual Geometry Group屬于牛津大學(xué)科學(xué)工程系,其發(fā)布了一些列以VGG開頭的卷積網(wǎng)絡(luò)模型,可以應(yīng)用在人臉識別、圖像分類等方面,分別從VGG16~VGG19。VGG研究卷積網(wǎng)絡(luò)深度的初衷是想搞清楚卷積網(wǎng)絡(luò)深度是如何影響大規(guī)模圖像分類與識別的精度和準(zhǔn)確率的,最初是VGG-16號稱非常深的卷積網(wǎng)絡(luò)全稱為(GG-Very-Deep-16 CNN),VGG在加深網(wǎng)絡(luò)層數(shù)同時為了避免參數(shù)過多,在所有層都采用3x3的小卷積核,卷積層步長被設(shè)置為1。VGG的輸入被設(shè)置為224x244大小的RGB圖像,在訓(xùn)練集圖像上對所有圖像計算RGB均值,然后把圖像作為輸入傳入VGG卷積網(wǎng)絡(luò),使用3x3或者1x1的filter,卷積步長被固定1。VGG全連接層有3層,根據(jù)卷積層+全連接層總數(shù)目的不同可以從VGG11 ~ VGG19,最少的VGG11有8個卷積層與3個全連接層,最多的VGG19有16個卷積層+3個全連接層,此外VGG網(wǎng)絡(luò)并不是在每個卷積層后面跟上一個池化層,還是總數(shù)5個池化層,分布在不同的卷積層之下,下圖是VGG11 ~GVV19的結(jié)構(gòu)圖: 

考慮到整個網(wǎng)絡(luò)的精簡結(jié)構(gòu)顯示,ReLU激活函數(shù)并沒有被顯示在上述結(jié)構(gòu)中。上述結(jié)構(gòu)中一些說明:

  • conv表示卷積層
  • FC表示全連接層
  • conv3表示卷積層使用3x3 filters
  • conv3-64表示 深度64
  • maxpool表示***池化

上述VGG11 ~ VGG19參數(shù)總數(shù)列表如下: 

 

在實(shí)際處理中還可以對***個全連接層改為7x7的卷積網(wǎng)絡(luò),后面兩個全連接層改為1x1的卷積網(wǎng)絡(luò),這個整個VGG就變成一個全卷積網(wǎng)絡(luò)FCN。在VGG網(wǎng)絡(luò)之前,卷積神經(jīng)網(wǎng)絡(luò)CNN很少有突破10層的,VGG在加深CNN網(wǎng)絡(luò)深度方面首先做出了貢獻(xiàn),但是VGG也有自身的局限性,不能***制的加深網(wǎng)絡(luò),在網(wǎng)絡(luò)加深到一定層數(shù)之后就會出現(xiàn)訓(xùn)練效果褪化、梯度消逝或者梯度爆炸等問題,總的來說VGG在剛提出的時候也是風(fēng)靡一時,在ImageNet競賽數(shù)據(jù)集上都取得了不錯的效果 

 

在其他類似數(shù)據(jù)上同樣表現(xiàn)不俗: 

 

二:預(yù)訓(xùn)練模型使用(Caffe)

VGG本身提供了預(yù)訓(xùn)練模型供大家可以自由使用,預(yù)訓(xùn)練的VGG-16模型與VGG-19模型下載地址可以在這里發(fā)現(xiàn):

http://www.robots.ox.ac.uk/~vgg/research/very_deep/

下載VGG-16模型之后使用OpenCV DNN模塊相關(guān)API,就可以實(shí)現(xiàn)一個圖像分類器,支持1000種圖像分類,基于ImageNet 2014-ILSVRC數(shù)據(jù)集訓(xùn)練。原圖: 

 

VGG-16預(yù)測分類結(jié)果: 

 

稍微有點(diǎn)尷尬的是,OpenCL初始化內(nèi)存不夠了,只能說我的機(jī)器不給力: 

 

演示網(wǎng)絡(luò)加載與圖像分類的OpenCV程序代碼如下: 

  1. Net net = readNetFromCaffe(model_txt_file, model_bin_file); 
  2.     if (net.empty()) { 
  3.         printf("read caffe model data failure...\n"); 
  4.         return -1; 
  5.     } 
  6.     Mat inputBlob = blobFromImage(src, 1.0, Size(w, h), Scalar(104, 117, 123)); 
  7.     Mat prob; 
  8.     for (int i = 0; i < 10; i++) { 
  9.         net.setInput(inputBlob, "data"); 
  10.         prob = net.forward("prob"); 
  11.     } 
  12.     Mat probMat = prob.reshape(1, 1); 
  13.     Point classNumber; 
  14.     double classProb; 
  15.     minMaxLoc(probMat, NULL, &classProb, NULL, &classNumber); 
  16.     int classidx = classNumber.x; 
  17.     printf("\n current image classification : %s, possible : %.2f", labels.at(classidx).c_str(), classProb); 
  18.  
  19.     putText(src, labels.at(classidx), Point(20, 20), FONT_HERSHEY_SIMPLEX, 1.0, Scalar(0, 0, 255), 2, 8); 
  20.     imshow("Image Classification", src);  

學(xué)習(xí)OpenCV 深度學(xué)習(xí)視頻教程 點(diǎn)擊下面: 

OpenCV深度學(xué)習(xí)模塊 -《OpenCV 深度神經(jīng)網(wǎng)絡(luò)教程》

責(zé)任編輯:龐桂玉 來源: 51CTO博客
相關(guān)推薦

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2018-04-08 11:20:43

深度學(xué)習(xí)

2020-03-25 09:48:10

AI芯片神經(jīng)網(wǎng)絡(luò)

2019-06-06 09:00:02

卷積神經(jīng)網(wǎng)絡(luò)CNNAI

2024-10-28 00:38:10

2024-11-15 13:20:02

2017-04-26 09:30:53

卷積神經(jīng)網(wǎng)絡(luò)實(shí)戰(zhàn)

2025-02-21 08:29:07

2024-09-20 07:36:12

2018-01-29 00:16:16

神經(jīng)網(wǎng)絡(luò)遞歸卷積深度學(xué)習(xí)

2017-11-24 11:10:39

神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)全連接神經(jīng)網(wǎng)絡(luò)

2022-06-16 10:29:33

神經(jīng)網(wǎng)絡(luò)圖像分類算法

2024-10-05 23:00:35

2021-06-29 09:53:06

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)圖形

2018-08-27 17:05:48

tensorflow神經(jīng)網(wǎng)絡(luò)圖像處理

2024-11-11 00:00:02

卷積神經(jīng)網(wǎng)絡(luò)算法

2024-12-04 10:33:17

2025-03-31 09:52:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號