ImageNet http://www.image-net.org ,圖像標註信息資料庫。每年舉辦大規模視覺識別挑戰賽(ILSVRC)。基於ImageNet資料庫構建完成目標自動檢測分類任務系統。2012年,SuperVision提交卷積神經網路(CNN)。 CNN可用於任意類型數據張量(各分量與相 ...
ImageNet http://www.image-net.org ,圖像標註信息資料庫。每年舉辦大規模視覺識別挑戰賽(ILSVRC)。基於ImageNet資料庫構建完成目標自動檢測分類任務系統。2012年,SuperVision提交卷積神經網路(CNN)。
CNN可用於任意類型數據張量(各分量與相關分量有序排列在多維網格),當前主要用於電腦視覺。語音識別,輸入按錄音時間順序排列聲音頻率單行網路張量。圖像寬高次序排列網格像素分量張量。
訓練CNN模型數據集Stanford's Gogs Dataset: http://vision.stanford.edu/aditya86/ImageNetDogs/ 。包含不同品種狗圖像及品種標簽。模型目標:給定一幅圖像,預測狗品種。大量非訓練集圖像創建測試集。數據集:訓練集、測試集、驗證集。數據集中大部分構成訓練集。測試集瞭解模型對未訓練數據表現。交叉驗證集比較客觀,對圖像預處理(對比度調整、栽剪)劃分原始數據集,用完全相同輸入流水線。
捲積神經網路至少包含一個層(tf.nn.conv2d)。計算輸入f與一組可配置捲積核g的捲積,生成層輸出。捲積核(濾波器)應用張量所有點,輸入張量上滑動捲積核生成過濾波處理張量。圖像每個元素應用特殊捲積核,輸出刻畫所有邊緣新圖像。輸入張量是圖像,張量每個點對應像素紅、綠、藍色值。捲積核遍歷圖像像素,邊緣像素捲積輸出值增大。神經元簇依據訓練模式激活。訓練,多個不同層級聯,梯度下降法變體調節捲積核(濾波器)權值。
CNN架構,捲積層(tf.nn.conv2d)、非線性變換層(tf.nn.relu)、池化層(tf.nn.max_pool)、全連接層(tf.nn.matmul)。突出重要信息,忽略雜訊。批量載入圖像,同時處理多幅圖像。數據結構包含捲積運算整批圖像全部信息。TensorFlow輸入流水線(讀取解碼文件)針對整批數據多幅圖像處理專門格式,圖像所需信息([image_batch_size,image_height,image_width,image_channels])。
import tensorflow as tf image_batch = tf.constant([ [#第1幅圖像 [[0, 255, 0], [0, 255, 0], [0, 255, 0]], [[0, 255, 0], [0, 255, 0], [0, 255, 0]] ], [#第2幅圖像 [[0, 0, 255], [0, 0, 255], [0, 0, 255]], [[0, 0, 255], [0, 0, 255], [0, 0, 255]] ] ]) image_batch.get_shape() sess = tf.Session() sess.run(image_batch)[0][0][0]
第1組維度圖像數量。第2組維度圖像高度。第3組維度圖像寬度。第4組維度顏色通道數量。每個像素索引映射圖像寬高維度。
參考資料:
《面向機器智能的TensorFlow實踐》
歡迎加我微信交流:qingxingfengzi
我的微信公眾號:qingxingfengzigz
我老婆張幸清的微信公眾號:qingqingfeifangz