原创 C++卷積神經網絡實例:tiny_cnn代碼詳解(2)——代碼試運行

  在這篇博客中主要是對tiny_cnn的工程代碼進行調試運行,畢竟目前對於我來說這是一個相對陌生的代碼文件,拿到手裏首先想到的自然是檢驗一下這個代碼的正確性,能夠順利運行得到預期的結果之後,再開始對代碼進行深度的剖析。  一、現在tin

原创 C++開發人臉性別識別教程(12)——添加性別識別功能

  經過之前幾篇博客的講解,我們已經成功搭建了MFC應用框架,並實現了基本的圖像顯示和人臉檢測程序,在這篇博文中我們要向其中添加性別識別代碼。  關於性別識別,之前已經專門拿出兩篇博客的篇幅來進行講解,這裏不再贅述,具體參見:C++開發人

原创 深度學習文獻閱讀筆記(6)

  51、基於深度PCA的人臉識別(Face Recognition using Deep PCA)(英文,會議論文,2013年,EI檢索)  這篇文章是典型的PCANet的前身,只不過相對於PCANet顯得更爲簡化。基本思想是做了雙層的

原创 C++開發人臉性別識別教程(17)——輔助功能之人臉批量分割

  在之前的博文中已經將性別識別部分敘述的基本完整,整個程序的開發也接近尾聲,在這篇博文中我們再爲程序添加小的輔助功能:人臉批量分割。  一、人臉批量分割  在前面的博文中提到過,進行性別識別訓練所用到的訓練樣本是分割好的男性人臉樣本和女

原创 C++卷積神經網絡實例:tiny_cnn代碼詳解(6)——average_pooling_layer層結構類分析

  在之前的博文中我們着重分析了convolutional_layer類的代碼結構,在這篇博文中分析對應的下采樣層average_pooling_layer類:  一、下采樣層的作用  下采樣層的作用理論上來說由兩個,主要是降維,其次是提

原创 C++卷積神經網絡實例:tiny_cnn代碼詳解(1)——開篇

  在之前完成了《C++開發人臉性別識別教程》系列博客的編寫之後,我開始將工作重點轉移到與我的研究生課題關聯更爲密切的深度學習上來。深度學習編程有幾個經典的框架,首屈一指的當屬Caffe,然後還有Matlab環境下的MatConvNet工

原创 C++開發人臉性別識別教程(15)——搭建MFC框架啓動攝像頭

  在之前的博文中已經完成了針對圖片的人臉性別識別功能,在這篇文章中我們開始引入攝像頭設備,爲程序添加第二個功能:視頻人臉性別識別。  一、添加控件  這裏需要新添加兩個與視頻人臉性別識別相關的功能控件,一個是“打開視頻”按鈕(ID爲ID

原创 C++卷積神經網絡實例:tiny_cnn代碼詳解(5)——convolutional_layer類結構信息之其他成員函數

  在上一篇博客中我們介紹了convolutional_layer類的基本結構及其成員變量、構造函數的相關信息,在這篇博文中我們對其中剩餘的其他成員函數進行分析。首先把convolutional_layer類的結構圖給出來:  可見,co

原创 C++開發人臉性別識別教程(10)——添加圖片的人臉檢測程序

  如今我們的MFC框架已經初具規模,能夠讀取並顯示文件夾下的圖片,在這篇博文中我們將向其中添加人臉檢測的程序。  一、人臉檢測算法  這裏我們使用OpenCv封裝的Adaboost方法來進行人臉檢測,參見:C++開發人臉性別識別教程(4

原创 C++開發人臉性別識別教程(14)——灰度圖像識別BUG處理

  在這篇博客中,我們對目前程序中一個隱藏很深的BUG進行處理,這個BUG導致程序目前有一部分邏輯出現錯誤(雖然沒有表現出來)。  一、觸發BUG  1、準備觸發樣本  爲了復現這個隱藏的BUG,需要實現準備兩張測試樣本,一張是彩色圖(三

原创 C++卷積神經網絡實例:tiny_cnn代碼詳解(3)——層間繼承關係

  在上一篇博文中我們順利將tiny_cnn的程序調試通過,在這篇博文中我們嘗試從整體角度給出對tiny_cnn這個深度學習框架的解讀,重點論述一下其各個層直接類封裝的繼承關係。  一、卷積神經網絡快速入門  tiny_cnn作爲卷積神經

原创 C++開發人臉性別識別教程(16)——視頻人臉性別識別

  在之前的博文中我們已經能夠順利驅動攝像頭來採集源圖像,在這篇博文中將正式爲其加入性別識別的代碼,實現攝像頭視頻的人臉性別識別。  一、人臉檢測  在得到攝像頭採集的源圖像之後,首先要做的就是對其進行人臉檢測,將人臉區域分割出來。這步相

原创 C++卷積神經網絡實例:tiny_cnn代碼詳解(4)——convolutional_layer類結構信息之成員變量與構造函數

  在之前的博文中我們已經對tiny_cnn框架的整體類結構做了大致分析,闡明瞭各個類之間的繼承依賴關係,在接下來的幾篇博文中我們將分別對各個類進行更爲詳細的分析,明確其內部具體功能實現。在這篇博文中着重分析convolutional_l

原创 C++開發人臉性別識別教程(13)——針對單張圖片的性別識別

  在之前的博文中我們的性別識別程序已經初步成型,能夠識別某個文件夾下的圖片文件。不過這裏有一個問題,假設這個文件夾下有着大量的圖片,而我們希望識別這些圖片中的某一張,此時需要我們不停的單擊“下一張”按鈕纔會輪詢到對應的圖片,這是相當麻煩

原创 C++開發人臉性別識別教程(11)——圖片人臉檢測程序BUG處理

  在這篇博客需要解決之前遺留的兩個BUG,一是用戶在不初始化條件下運行程序,二是人臉檢測的誤差結果。  一、添加初始化警告  目前我們在“初始化”按鈕對應的響應函數中封裝了人臉分類器加載、開闢內存等操作:  因此,如果用戶在未單擊“初始