作者:Ahzam Ejaz來源:DeepHub IMBA

kernel/filter:kernel(也稱為filter 或 weight )是一個可學習參數的小矩陣,用于從輸入數據中提取特征。在下圖中,輸入圖像的大小為(5,5),過濾器filter 的大小為(3,3),綠色為輸入圖像,黃色區域為該圖像的過濾器。在輸入圖像上滑動濾波器,計算濾波器與輸入圖像的相應像素之間的點積。Padding是valid (也就是沒有填充)。stride值為1。
將圖像輸入到模型中得到特征圖
卷積神經網絡(cnn)是一種神經網絡,通常用于圖像分類、目標檢測和其他計算機視覺任務。CNN的關鍵組件之一是特征圖,它是通過對圖像應用卷積濾波器生成的輸入圖像的表示。

理解卷積層
1、卷積操作卷積的概念是CNN操作的核心。卷積是一種數學運算,它把兩個函數結合起來產生第三個函數。在cnn的上下文中,這兩個函數是輸入圖像和濾波器,而得到的結果就是特征圖。
2、卷積的層
卷積層包括在輸入圖像上滑動濾波器,并計算濾波器與輸入圖像的相應補丁之間的點積。然后將結果輸出值存儲在特征映射中的相應位置。通過應用多個過濾器,每個過濾器檢測一個不同的特征,我們可以生成多個特征映射。
3、重要參數
Stride:Stride 是指卷積濾波器在卷積運算過程中在輸入數據上移動的步長。
Padding:Padding是指在應用卷積操作之前在輸入圖像或特征映射的邊界周圍添加額外像素。Padding的目的是控制輸出特征圖的大小,保證濾波窗口能夠覆蓋輸入圖像或特征圖的邊緣。如果沒有填充,過濾器窗口將無法覆蓋輸入數據的邊緣,導致輸出特征映射的大小減小和信息丟失。有兩種類型的填充“valid”和“same”。
kernel/filter:kernel(也稱為filter 或 weight )是一個可學習參數的小矩陣,用于從輸入數據中提取特征。在下圖中,輸入圖像的大小為(5,5),過濾器filter 的大小為(3,3),綠色為輸入圖像,黃色區域為該圖像的過濾器。在輸入圖像上滑動濾波器,計算濾波器與輸入圖像的相應像素之間的點積。Padding是valid (也就是沒有填充)。stride值為1。

Output_Size = (Input_Size - Filter_Size + 2 * Padding) / Stride + 1
這個公式非常重要,因為在計算輸出時肯定會用到,所以一定要記住來自一個卷積層的特征映射作為網絡中下一層的輸入數據。隨著層數的增加,網絡能夠學習越來越復雜和抽象的特征。通過結合來自多層的特征,網絡可以識別輸入數據中的復雜模式,并做出準確的預測。特征圖可視化
這里我們使用TF作為框架進行演示
## Importing libraries
#Imageprocessinglibrary
importcv2
#Kerasfromtensorflow
importkeras
#InKeras,thelayersmoduleprovidesasetofpre-builtlayerclassesthatcanbeusedtoconstructneuralnetworks.
fromkerasimportlayers
#Forplotinggraphsandimages
importmatplotlib.pyplotasplt
importnumpyasnp
使用OpenCV導入一張圖像,并將其大小調整為224 x 224像素。
img_size=(224,224)
file_name="./data/archive/flowers/iris/10802001213_7687db7f0c_c.jpg"
img=cv2.imread(file_name)#readingtheimage
img=cv2.resize(img,img_size)
我們添加2個卷積層:
model=keras.Sequential()
filters=16
model.add(layers.Conv2D(input_shape=(224,224,3),filters=filters,kernel_size=3))
model.add(layers.Conv2D(filters=filters,kernel_size=3))
從卷積層中獲取過濾器。
bias = model.layers[0].get_weights()
min_filter = filters.min()
max_filter = filters.max()
filters = (filters - min_filter) / (max_filter - min_filter)p
可視化
=plt.figure(figsize=(10,20))
=filters.shape[-1]
=filters.shape[0]
=1
:
:
channels, index)
:, :, filter])
plt.xticks([])
plt.yticks([])
=1
plt.show()
將圖像輸入到模型中得到特征圖
=(img-img.min())/(img.max()-img.min())
=normalized_img.reshape(-1,224,224,3)
=model.predict(normalized_img)
特征圖需要進行歸一化這樣才可以在matplotlib中顯示
feature_map = (feature_map - feature_map.min())/ (feature_map.max() - feature_map.min())
提取特征圖并顯示
total_imgs = feature_map.shape[0]
no_features=feature_map.shape[-1]
fig=plt.figure(figsize=(10,50))
index=1
forimage_noinrange(total_imgs):
forfeatureinrange(no_features):
#plottingfor16filtersthatproduced16featuremaps
plt.subplot(no_features,3,index)
plt.imshow(feature_map[image_no,:,:,feature],cmap="gray")
plt.xticks([])
plt.yticks([])
index+=1
plt.show()

總結
通過可視化CNN不同層的特征圖,可以更好地理解網絡在處理圖像時“看到”的是什么。例如,第一層可能會學習簡單的特征,如邊緣和角落,而后面的層可能會學習更抽象的特征,如特定物體的存在。通過查看特征圖,我們還可以識別圖像中對網絡決策過程重要的區域。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
imagination
+關注
關注
1文章
620瀏覽量
63372
原文標題:可視化CNN和特征圖
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
可視化AR巡檢:工業智能化發展的新引擎
一背景下,可視化AR巡檢應運而生,它將AR術與可視化數據分析能力相結合,讓巡檢工作變得更直觀、更智能、更高效。 ?AR巡檢的最大特征在于“虛實結合”。通過佩戴AR眼鏡或使用移動端設備,巡檢人員能夠在實際設備環境中疊加顯示關鍵數據
基于圖撲 HT 數字孿生 3D 風電場可視化系統實現解析
在 “雙碳” 目標與產業數字化升級的雙重驅動下,風力發電作為可再生能源的核心組成部分,其智能化管控需求持續攀升。圖撲(Hightopo)基于自主研發的 HT for Web 前端可視化
工業數字孿生:圖撲可視化技術架構與行業應用解析
在工業互聯網向深度智能化演進的進程中,數字孿生技術成為連接物理工業系統與虛擬信息空間的核心橋梁,而可視化則是實現數字孿生價值落地的關鍵載體。圖撲自主研發的 HT 引擎,基于 WebGL
圖撲 HT 驅動智慧社區數字化轉型:多維可視化與系統集成實踐
在社區管理向數字化、智能化升級的浪潮中,圖撲軟件(Hightopo)依托自主研發的HT for Web 前端可視化技術,構建起覆蓋社區全場景的數字孿生智慧社區解決方案。該方案以 Web
工業可視化平臺是什么
工業可視化平臺是一種基于信息技術和可視化技術,將工業生產過程中的數據、信息、流程等以直觀、動態的圖形化方式呈現,并實現交互式管理與分析的數字化工具。它通過整合工業物聯網(IIoT)、大數據、人工智能
光伏電站可視化的實現
實現光伏電站可視化,核心是在于通過直觀的視覺化界面,解決傳統運維中低效巡檢、數據孤島、被動響應等痛點,從而提升運營效率并提供決策支持。這是一種有效的技術手段,通過數字孿生、三維建模、數據融合等技術
數字孿生可視化系統構建行業數字化智能管理生態!
數字孿生可視化系統具備豐富的模型組件,包括二維平面組件及3D模型組件,可根據用戶需求進行定制。數字孿生可視化系統在行業數字化升級、數字化管理中有著重要的意義,充分利用大數據技術和信息技
一文讀懂 | 晶圓圖Wafer Maps:半導體數據可視化的核心工具
在精密復雜的半導體制造領域,海量數據的有效解讀是提升產能、優化良率的關鍵。數據可視化技術通過直觀呈現信息,幫助工程師快速識別問題、分析規律,而晶圓圖正是這一領域中最具影響力的可視化工具——它將芯片
如何使用協議分析儀進行數據分析與可視化
Wireshark + Grafana + Python)和可視化類型(如時序圖、地理地圖、熱力圖),可顯著提升故障定位效率、優化系統性能,并滿足安全合規要求。
發表于 07-16 14:16
工業設備可視化管理系統是什么
工業設備可視化管理系統是一種基于物聯網(IoT)、大數據、云計算、數字孿生等技術,對工業設備的運行狀態、性能參數、維護信息等進行實時監測、數據整合與可視化呈現的智能管理平臺。它通過將復雜的設備數據
工業設備數據集中監控可視化管理平臺是什么
工業設備數據集中監控可視化管理平臺是一種用于整合、監控和可視化工業設備數據的綜合性系統,旨在幫助企業實現設備數據的集中管理、實時監控和可視化展示,從而提升生產效率、優化設備運行狀態并支持決策制定
VirtualLab Fusion應用:3D系統可視化
描述和F-Theta透鏡的應用示例。
光學系統的3D-可視化
VirtualLab Fusion提供的工具可以實現光學系統的3D可視化,因此可以用于檢查元件的位置,以及快速了解系統內部的光傳播情況
發表于 04-30 08:47
可視化組態物聯網平臺是什么
可視化組態物聯網平臺是物聯網技術與組態技術相結合的產物,是通過提供豐富的圖形化組件和可視化元素,讓用戶能夠以直觀、便捷的方式對物聯網數據進行監控、分析和管理的平臺。以下是其具體介紹: 定義 組態
VirtualLab Fusion應用:光學系統的3D可視化
摘要
為了從根本上了解光學系統的特性,對其組件進行可視化并顯示光的傳播情況大有幫助。為此,VirtualLab Fusion 提供了顯示光學系統三維可視化的工具。這些工具還可用于檢查元件和探測器
發表于 04-02 08:42
可視化CNN和特征圖
評論