NIST指纹数据识别(二)数据处理
數據處理
數據分析
NIST指紋數據介紹
前面一篇文章簡單介紹了NIST指紋數據集的大概形式和組成,一張圖片配一個標簽的txt文件。兩個文件名相同(.png和.txt)由于圖片和標簽是分開的。我們需要生成兩個對應的批次來對圖片和標簽進行處理。
數據準備
首先,我們先對標簽進行處理,觀察下圖標簽格式。
我們這次只對指紋紋型進行分析,所以只關注class屬性。共有W,A,R,L,T五種屬性。所以可以采用獨熱編碼 ,原理很簡單,即每個標簽用一個numpy數組表示,數組有5個元素,按照W,A,R,L,T的順序,只在該圖片對應的類型的數組元素處置1,其他置0,即可表示。代碼如下。
import numpy as np import os def switch_pos(word):switcher = {"W":0,"A":1,"R":2,"L":3,"T":4}return switcher.get(word, "nothing")def text2vec(word,classes):vector = np.zeros(classes) # float64pos = switch_pos(word) # index of the wordvector[pos] = 1return vector這樣,我們就得到了一張標簽對應的獨熱編碼形式。其他其他的文件打開等等就先不放在這里了。有興趣的可以去我的github拿完整的代碼。
順便提一句,我這里是先建立了兩個列表,一個是圖片路徑列表和對應的標簽列表。
處理好標簽之后,我們開始生成供訓練用的batch。因為沒有怎么看tensorflow的queue和producer這里。所以這里就簡單粗暴的用自己的方式生成batch。
第一步,為了保證shuffle的效果,我用randint先生成一個讀取的start位置。為了均衡性能問題,就不一個個都隨機生成了,就直接在start+batch_size處設置end。然后迭代輸入的圖片和標簽列表,送入batch中。
好了,今天先介紹到這里,之后會把神經網絡這一塊放上來,也會用tensorflow里的函數重新實現下數據讀取??赐曛笕绻幸蓡柨梢月撓滴医涣?#xff0c;郵箱982827552@qq.com,完整代碼放在我的github上了,希望大家可以順手給個星啊。
github:https://github.com/xiaoye74/NIST_fingerprint/blob/master/README.md#input-part
轉載請注明出處,謝謝
總結
以上是生活随笔為你收集整理的NIST指纹数据识别(二)数据处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OV代码签名和EV代码签名证书区别
- 下一篇: c语言把一个文件中的内容复制到另外一个文