国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Keras 框架的目標檢測的研究與實踐

2021-10-18 08:57:36甘麗
科學技術創(chuàng)新 2021年27期
關鍵詞:池化層梯度卷積

甘麗

(馬鞍山師范高等專科學校軟件工程系,安徽 馬鞍山 243041)

隨著人工智能技術的高速發(fā)展,目標檢測作為計算機是覺得一個重要研究方向也得到了長足的發(fā)展和廣泛的應用。目前大多數(shù)目標檢測的研究側重在目標類別的識別,如公共汽車、小汽車、摩托車、自行車等,本研究側重在對不同品牌車輛的識別,對小目標的分類預測有著積極的參考意義。

1 Keras 框架

Keras 是一個用Python 編寫的高級神經網絡API,能夠以TensorFlow,CNTK 等作為后端運行。沒有特定格式的單獨配置文件。模型定義在Python 代碼中,結構緊湊,易于調試,并且易于擴展。[1]Keras 的核心數(shù)據結構是神經網絡模型model,其中使用較多的是Sequential 順序模型,它是由多個神經層線性堆疊而成。在構建好模型后,可以簡單的通過add 方法將各層添加到模型中去,在訓練模型之前,最重要是的配置學習過程,主要通過compile 方法來完成,其中有三個參數(shù)是非常重要的,他們分別是優(yōu)化器,損失函數(shù)和評估函數(shù)。訓練模型通常使用fit 方法,最后利用訓練好的模型預測我們的測試集。

2 神經網絡原理

神經網絡的主要用途在于分類,整個神經網絡的分類還是圍繞著損失、優(yōu)化這兩部分的算法設計。[2-3]

公式的計算過程如圖1 所示。

圖1 softmax 計算過程

2.2 梯度下降算法

梯度下降是優(yōu)化神經網絡的首選方法,各種優(yōu)化器也是基于梯度下降算法。梯度下降法基于以下定義:如果實值函數(shù)f(x)在點啊處可微且有定義,那么函數(shù)f(x)在a 點沿著梯度相反的方向-?f(a)下降最多。梯度下降算法的目的是使得損失函數(shù)的值找到最小值。模型的訓練目標即是尋找合適的w與b 以最小化代價函數(shù)值。參數(shù)w和b 的更新公式如圖2。

圖2 梯度下降算法參數(shù)更新

其中α 表示學習速率,即每次更新的w的步伐長度。當w大于最優(yōu)解w'時,導數(shù)大于0,那么w就會向更小的方向更新。反之當w 小于最優(yōu)解w' 時,導數(shù)小于0,那么w 就會向更大的方向更新。迭代直到收斂。

2.3 卷積神經網絡

在計算機視覺領域,由于圖像特征數(shù)量對神經網絡效果的壓力,卷積神經網絡就能很好的解決這個問題。卷積神經網絡有一個或多個卷積層、池化層以及全連接層等組成[4-5],見圖3。

圖3 卷積神經網絡結構圖

卷積層的目的是提取輸入的不同特征,主要參數(shù)有卷積核Size 的大小,padding- 零填充,stride 步長。通過卷積層的計算,我們能提取特征,但并沒有減少圖片的特征數(shù)量,在最后的全連接層依然面臨大量的參數(shù),所以需要池化層進行特征數(shù)量的減少。池化層主要對卷積層學習到的特征圖進行亞采樣處理,池化的方式主要有最大池化和平均池化兩種,目的是為了降低后續(xù)網絡層的輸入維度,縮減模型大小,提高計算速度。卷積層+激活層+池化層可以看成是特征學習/特征提取層,而學習到的特征最終應用于模型任務需要先對所有Feature Map 進行扁平化處理,再接一個或多個全連接層,進行模型學習[6-7]。

3 基于Keras 目標檢測的主要步驟

利用keras 框架里面已經訓練好的VGG16 模型,對其進行微調,來做本研究中車輛類別的目標分類實踐。

3.1 讀取本地的圖片數(shù)據以及類別

使用一個ImageDataGenerator 圖片生成器,定義圖片處理以及數(shù)據增強相關功能

3.2 模型的結構修改

在不動VGG 最后的1000 輸出結果基礎上,加上全局池化層和兩個全連接層,構建自己的模型,實現(xiàn)代碼如下:

3.3 freeze 原始VGG 模型

讓VGG 結構當中的權重參數(shù)不參與訓練,代碼如下:

3.4 編譯

編譯(指定優(yōu)化器,定義損失函數(shù),定義準確率)、訓練模型,在遷移學習中算法:學習率初始化較小的值:0.001,0.0001,因為在已訓練好的模型基礎之上更新,所以設置較小的學習率去學習。將訓練好的模型保存為h5 文件格式,實現(xiàn)代碼如下:

3.5 預測

加載訓練的模型進行預測,加載待預測圖片,將圖片進行歸一化處理等,進行測試。

4 結論

本文通過研究深度學習相關理論,利用Keras 框架實現(xiàn)了車輛類別的識別,在30 個epoch 后,訓練集的測試精度達到了95%,測試集的精度也能達到90%左右,通過增加epoch,將bath_size 設置為64,128 后,沒有使測試精度顯著提高。后續(xù)筆者會嘗試使用VGG19 模型,或者優(yōu)化參數(shù)的選擇,進一步研究提高模型性能的可能。

猜你喜歡
池化層梯度卷積
一個改進的WYL型三項共軛梯度法
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
卷積神經網絡模型研究分析*
基于卷積神經網絡的紙幣分類與點鈔
一種自適應Dai-Liao共軛梯度法
基于深度學習卷積神經網絡的人體行為識別研究
科技傳播(2020年6期)2020-05-25 11:07:46
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
一類扭積形式的梯度近Ricci孤立子
基于全卷積神經網絡的SAR圖像目標分類*
基于傅里葉域卷積表示的目標跟蹤算法
中宁县| 井冈山市| 六盘水市| 古浪县| 仲巴县| 清镇市| 嘉兴市| 迁西县| 修武县| 呈贡县| 融水| 济南市| 漾濞| 方山县| 远安县| 五华县| 自贡市| 静宁县| 乌鲁木齐县| 镇坪县| 同仁县| 盱眙县| 富阳市| 乌兰察布市| 会理县| 措勤县| 驻马店市| 商丘市| 肥西县| 榆中县| 巴南区| 讷河市| 荥经县| 西盟| 海林市| 水富县| 阿拉善左旗| 小金县| 六枝特区| 遵义市| 平塘县|