# 某个人脸识别 # 1 数据yale 2 准备train label-》train # 3 cnn 4 检测 import tensorflow as tf import numpy as np import scipy.io as sio f = open('./Yale_64x64.mat','rb') mdict = sio.loadmat(f) # print(type(mdict)) # print(mdict.keys()) # print(mdict['gnd']) # print(mdict['fea']) # fea gnd train_data = mdict['fea'] train_label = mdict['gnd'] # 方法一(打乱顺序) # np.random.seed(50) # train_data = np.random.permutation(train_data) # np.random.seed(50) # [0,1,2,3,4,5] -> [3,5,2,4,0,1] # train_label = np.random.permutation(train_label) # 方法二(打乱顺序) # np.random.seed(50) # np.random.shuffle(train_data) # np.random.seed(50) # # [0,1,2,3,4,5] -> [3,5,2,4,0,1] # np.random.shuffle(train_label) # 方法三(打乱顺序) m = len(train_label) permutation = np.random.permutation(m) # m为样本数,返回list train_data = train_data[permutation] train_label = train_label[permutation] test_data = train_data[0:64] test_label = train_label[0:64] np.random.seed(100) test_data = np.random.permutation(test_data) np.random.seed(100) test_label = np.random.permutation(test_label) # one hot 编码 # train [0-9] [10*N] [15*N] [0 0 1 0 0 0 0 0 0 0] -> 2 train_data = train_data.reshape(train_data.shape[0],64,64,1).astype(np.float32)/127.5-1 train_labels_new = np.zeros((165,15))# 165 image 15 for i in range(0,165): j = int(train_label[i,0])-1 # 1-15 0-14 train_labels_new[i,j] = 1 # one hot 编码 test_data_input = test_data.reshape(test_data.shape[0],64,64,1).astype(np.float32)/127.5-1 test_labels_input = np.zeros((64,15))# 165 image 15 for i in range(0,64): j = int(test_label[i,0])-1 # 1-15 0-14 test_labels_input[i,j] = 1 # cnn acc tf.nn tf.layer data_input = tf.placeholder(tf.float32,[None,64,64,1]) label_input = tf.placeholder(tf.float32,[None,15]) layer1 = tf.layers.conv2d(inputs=data_input,filters=32,kernel_size=2,strides=1,padding='SAME',activation=tf.nn.relu) layer1_pool = tf.layers.max_pooling2d(layer1,pool_size=2,strides=2) layer2 = tf.reshape(layer1_pool,[-1,32*32*32]) layer2_relu = tf.layers.dense(layer2,1024,tf.nn.relu) output = tf.layers.dense(layer2_relu,15) loss = tf.losses.softmax_cross_entropy(onehot_labels=label_input,logits=output) train = tf.train.GradientDescentOptimizer(0.01).minimize(loss) accuracy = tf.metrics.accuracy(labels=tf.argmax(label_input,axis=1),predictions=tf.argmax(output,axis=1))[1] # run acc init = tf.group(tf.global_variables_initializer(),tf.local_variables_initializer()) with tf.Session() as sess: sess.run(init) for i in range(0,500): train_data_input = np.array(train_data) train_label_input = np.array(train_labels_new) sess.run([train,loss],feed_dict={data_input:train_data_input,label_input:train_label_input}) acc = sess.run(accuracy,feed_dict={data_input:test_data_input,label_input:test_labels_input}) print('acc:%.2f',acc) ''' # 运算结果 2019-01-17 13:37:02.410744: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA 2019-01-17 13:37:02.500879: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:897] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2019-01-17 13:37:02.501371: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1392] Found device 0 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582 pciBusID: 0000:01:00.0 totalMemory: 10.91GiB freeMemory: 9.96GiB 2019-01-17 13:37:02.501387: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1471] Adding visible gpu devices: 0 2019-01-17 13:37:02.688582: I tensorflow/core/common_runtime/gpu/gpu_device.cc:952] Device interconnect StreamExecutor with strength 1 edge matrix: 2019-01-17 13:37:02.688606: I tensorflow/core/common_runtime/gpu/gpu_device.cc:958] 0 2019-01-17 13:37:02.688610: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0: N 2019-01-17 13:37:02.688758: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1084] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 9636 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1) acc:%.2f 0.1875 acc:%.2f 0.2265625 acc:%.2f 0.26041666 acc:%.2f 0.28515625 acc:%.2f 0.3125 acc:%.2f 0.34635416 acc:%.2f 0.37723213 acc:%.2f 0.40234375 acc:%.2f 0.421875 acc:%.2f 0.4421875 acc:%.2f 0.46022728 acc:%.2f 0.4765625 acc:%.2f 0.49158654 acc:%.2f 0.50558037 acc:%.2f 0.51770836 acc:%.2f 0.53027344 acc:%.2f 0.5413603 acc:%.2f 0.5538194 acc:%.2f 0.5649671 acc:%.2f 0.575 acc:%.2f 0.58407736 acc:%.2f 0.59232956 acc:%.2f 0.6005435 acc:%.2f 0.60807294 acc:%.2f 0.615625 acc:%.2f 0.62319714 acc:%.2f 0.6302083 acc:%.2f 0.63671875 acc:%.2f 0.6427802 acc:%.2f 0.6484375 acc:%.2f 0.6532258 acc:%.2f 0.65771484 acc:%.2f 0.6619318 acc:%.2f 0.6663603 acc:%.2f 0.67053574 acc:%.2f 0.6744792 acc:%.2f 0.6786318 acc:%.2f 0.6825658 acc:%.2f 0.6862981 acc:%.2f 0.6898438 acc:%.2f 0.69321644 acc:%.2f 0.6968006 acc:%.2f 0.7005814 acc:%.2f 0.7041903 acc:%.2f 0.70763886 acc:%.2f 0.7109375 acc:%.2f 0.7140958 acc:%.2f 0.7171224 acc:%.2f 0.72002554 acc:%.2f 0.7228125 acc:%.2f 0.7254902 acc:%.2f 0.7280649 acc:%.2f 0.7308373 acc:%.2f 0.7335069 acc:%.2f 0.7360796 acc:%.2f 0.73856026 acc:%.2f 0.7409539 acc:%.2f 0.7432651 acc:%.2f 0.7454979 acc:%.2f 0.7476562 acc:%.2f 0.7497439 acc:%.2f 0.7517641 acc:%.2f 0.75396824 acc:%.2f 0.7561035 acc:%.2f 0.75841343 acc:%.2f 0.7611269 acc:%.2f 0.7637593 acc:%.2f 0.7665441 acc:%.2f 0.7692482 acc:%.2f 0.771875 acc:%.2f 0.77442783 acc:%.2f 0.7769097 acc:%.2f 0.7795377 acc:%.2f 0.7820946 acc:%.2f 0.78458333 acc:%.2f 0.78700656 acc:%.2f 0.7893669 acc:%.2f 0.7916667 acc:%.2f 0.794106 acc:%.2f 0.79648435 acc:%.2f 0.798804 acc:%.2f 0.80106705 acc:%.2f 0.8032756 acc:%.2f 0.80543154 acc:%.2f 0.8075368 acc:%.2f 0.809593 acc:%.2f 0.811602 acc:%.2f 0.8135653 acc:%.2f 0.8154845 acc:%.2f 0.8173611 acc:%.2f 0.8191964 acc:%.2f 0.8209919 acc:%.2f 0.82274866 acc:%.2f 0.8244681 acc:%.2f 0.8261513 acc:%.2f 0.8277995 acc:%.2f 0.82941365 acc:%.2f 0.8309949 acc:%.2f 0.8325442 acc:%.2f 0.8340625 acc:%.2f 0.8355507 acc:%.2f 0.8370098 acc:%.2f 0.83844054 acc:%.2f 0.839994 acc:%.2f 0.84151787 acc:%.2f 0.843013 acc:%.2f 0.84448016 acc:%.2f 0.84592015 acc:%.2f 0.8473337 acc:%.2f 0.84872156 acc:%.2f 0.8500845 acc:%.2f 0.85142297 acc:%.2f 0.85273784 acc:%.2f 0.8540296 acc:%.2f 0.85529894 acc:%.2f 0.85654634 acc:%.2f 0.8577724 acc:%.2f 0.85897774 acc:%.2f 0.8601628 acc:%.2f 0.8613281 acc:%.2f 0.8624742 acc:%.2f 0.86360145 acc:%.2f 0.8647104 acc:%.2f 0.8658014 acc:%.2f 0.866875 acc:%.2f 0.86793154 acc:%.2f 0.86897147 acc:%.2f 0.8699951 acc:%.2f 0.8710029 acc:%.2f 0.8719952 acc:%.2f 0.8729723 acc:%.2f 0.8739347 acc:%.2f 0.8748825 acc:%.2f 0.8758162 acc:%.2f 0.8767361 acc:%.2f 0.87764245 acc:%.2f 0.87853557 acc:%.2f 0.87941575 acc:%.2f 0.8802833 acc:%.2f 0.8811384 acc:%.2f 0.8819814 acc:%.2f 0.8828125 acc:%.2f 0.883632 acc:%.2f 0.8844401 acc:%.2f 0.8852371 acc:%.2f 0.8860231 acc:%.2f 0.88679844 acc:%.2f 0.88756335 acc:%.2f 0.88831794 acc:%.2f 0.8890625 acc:%.2f 0.8897972 acc:%.2f 0.8905222 acc:%.2f 0.89123774 acc:%.2f 0.891944 acc:%.2f 0.8926411 acc:%.2f 0.8933293 acc:%.2f 0.89400876 acc:%.2f 0.8946796 acc:%.2f 0.895342 acc:%.2f 0.8959961 acc:%.2f 0.8966421 acc:%.2f 0.8972801 acc:%.2f 0.8979103 acc:%.2f 0.89853275 acc:%.2f 0.89914775 acc:%.2f 0.8997553 acc:%.2f 0.9003555 acc:%.2f 0.90094864 acc:%.2f 0.90153474 acc:%.2f 0.902114 acc:%.2f 0.9026864 acc:%.2f 0.9032522 acc:%.2f 0.9038114 acc:%.2f 0.9043642 acc:%.2f 0.90491074 acc:%.2f 0.905451 acc:%.2f 0.9059852 acc:%.2f 0.90651333 acc:%.2f 0.9070356 acc:%.2f 0.90755206 acc:%.2f 0.9080628 acc:%.2f 0.90856797 acc:%.2f 0.90906763 acc:%.2f 0.9095618 acc:%.2f 0.9100507 acc:%.2f 0.91053426 acc:%.2f 0.9110127 acc:%.2f 0.911486 acc:%.2f 0.91195434 acc:%.2f 0.91241777 acc:%.2f 0.9128763 acc:%.2f 0.9133301 acc:%.2f 0.91377914 acc:%.2f 0.9142236 acc:%.2f 0.91466343 acc:%.2f 0.91509885 acc:%.2f 0.91552985 acc:%.2f 0.91595644 acc:%.2f 0.9163788 acc:%.2f 0.91679686 acc:%.2f 0.9172108 acc:%.2f 0.91762066 acc:%.2f 0.9180265 acc:%.2f 0.9184283 acc:%.2f 0.9188262 acc:%.2f 0.91922027 acc:%.2f 0.9196105 acc:%.2f 0.919997 acc:%.2f 0.92037976 acc:%.2f 0.9207589 acc:%.2f 0.9211345 acc:%.2f 0.92150646 acc:%.2f 0.921875 acc:%.2f 0.9222401 acc:%.2f 0.92260176 acc:%.2f 0.92296004 acc:%.2f 0.9233151 acc:%.2f 0.92366683 acc:%.2f 0.9240154 acc:%.2f 0.9243608 acc:%.2f 0.92470306 acc:%.2f 0.9250422 acc:%.2f 0.9253784 acc:%.2f 0.9257115 acc:%.2f 0.92604166 acc:%.2f 0.9263689 acc:%.2f 0.92669326 acc:%.2f 0.9270148 acc:%.2f 0.92733353 acc:%.2f 0.92764944 acc:%.2f 0.92796266 acc:%.2f 0.92827314 acc:%.2f 0.928581 acc:%.2f 0.92888623 acc:%.2f 0.92918885 acc:%.2f 0.9294889 acc:%.2f 0.9297864 acc:%.2f 0.9300814 acc:%.2f 0.93037397 acc:%.2f 0.93066406 acc:%.2f 0.9309518 acc:%.2f 0.9312371 acc:%.2f 0.93152004 acc:%.2f 0.9318007 acc:%.2f 0.9320791 acc:%.2f 0.93235517 acc:%.2f 0.93262905 acc:%.2f 0.9329007 acc:%.2f 0.9331702 acc:%.2f 0.9334375 acc:%.2f 0.9337027 acc:%.2f 0.9339658 acc:%.2f 0.93422675 acc:%.2f 0.93448573 acc:%.2f 0.9347426 acc:%.2f 0.93499756 acc:%.2f 0.93525046 acc:%.2f 0.93550146 acc:%.2f 0.9357505 acc:%.2f 0.9359976 acc:%.2f 0.9362428 acc:%.2f 0.9364862 acc:%.2f 0.93672764 acc:%.2f 0.9369673 acc:%.2f 0.9372052 acc:%.2f 0.93744123 acc:%.2f 0.93767554 acc:%.2f 0.9379081 acc:%.2f 0.93813896 acc:%.2f 0.9383681 acc:%.2f 0.9385955 acc:%.2f 0.93882126 acc:%.2f 0.9390453 acc:%.2f 0.9392678 acc:%.2f 0.93948865 acc:%.2f 0.9397079 acc:%.2f 0.93992555 acc:%.2f 0.9401416 acc:%.2f 0.9403562 acc:%.2f 0.9405692 acc:%.2f 0.9407807 acc:%.2f 0.9409907 acc:%.2f 0.9411992 acc:%.2f 0.94140625 acc:%.2f 0.9416118 acc:%.2f 0.941816 acc:%.2f 0.94201875 acc:%.2f 0.94222003 acc:%.2f 0.94242 acc:%.2f 0.94261855 acc:%.2f 0.9428157 acc:%.2f 0.9430116 acc:%.2f 0.9432061 acc:%.2f 0.94339925 acc:%.2f 0.9435911 acc:%.2f 0.9437817 acc:%.2f 0.943971 acc:%.2f 0.944159 acc:%.2f 0.9443457 acc:%.2f 0.94453126 acc:%.2f 0.94471556 acc:%.2f 0.9448986 acc:%.2f 0.94508046 acc:%.2f 0.9452611 acc:%.2f 0.9454406 acc:%.2f 0.94561887 acc:%.2f 0.945796 acc:%.2f 0.945972 acc:%.2f 0.94614685 acc:%.2f 0.9463206 acc:%.2f 0.94649315 acc:%.2f 0.9466647 acc:%.2f 0.94683504 acc:%.2f 0.9470044 acc:%.2f 0.94717264 acc:%.2f 0.9473398 acc:%.2f 0.9475059 acc:%.2f 0.947671 acc:%.2f 0.947835 acc:%.2f 0.94799805 acc:%.2f 0.94816005 acc:%.2f 0.94832104 acc:%.2f 0.948481 acc:%.2f 0.94864005 acc:%.2f 0.94879806 acc:%.2f 0.9489551 acc:%.2f 0.9491112 acc:%.2f 0.9492664 acc:%.2f 0.9494206 acc:%.2f 0.9495739 acc:%.2f 0.9497262 acc:%.2f 0.9498776 acc:%.2f 0.9500282 acc:%.2f 0.9501778 acc:%.2f 0.9503265 acc:%.2f 0.9504743 acc:%.2f 0.9506213 acc:%.2f 0.9507674 acc:%.2f 0.9509126 acc:%.2f 0.95105696 acc:%.2f 0.9512005 acc:%.2f 0.9513432 acc:%.2f 0.95148504 acc:%.2f 0.95162606 acc:%.2f 0.9517663 acc:%.2f 0.9519057 acc:%.2f 0.9520443 acc:%.2f 0.9521821 acc:%.2f 0.95231915 acc:%.2f 0.95245534 acc:%.2f 0.9525908 acc:%.2f 0.95272547 acc:%.2f 0.9528594 acc:%.2f 0.95299256 acc:%.2f 0.953125 acc:%.2f 0.95325667 acc:%.2f 0.9533876 acc:%.2f 0.9535178 acc:%.2f 0.95364726 acc:%.2f 0.95377606 acc:%.2f 0.9539041 acc:%.2f 0.9540314 acc:%.2f 0.95415807 acc:%.2f 0.954284 acc:%.2f 0.95440924 acc:%.2f 0.9545338 acc:%.2f 0.9546577 acc:%.2f 0.95478094 acc:%.2f 0.9549035 acc:%.2f 0.9550253 acc:%.2f 0.95514655 acc:%.2f 0.95526713 acc:%.2f 0.95538706 acc:%.2f 0.9555063 acc:%.2f 0.955625 acc:%.2f 0.955743 acc:%.2f 0.95586044 acc:%.2f 0.9559772 acc:%.2f 0.9560933 acc:%.2f 0.9562089 acc:%.2f 0.9563238 acc:%.2f 0.9564382 acc:%.2f 0.9565519 acc:%.2f 0.95666504 acc:%.2f 0.9567776 acc:%.2f 0.95688957 acc:%.2f 0.957001 acc:%.2f 0.9571118 acc:%.2f 0.95722204 acc:%.2f 0.9573317 acc:%.2f 0.95744085 acc:%.2f 0.95754945 acc:%.2f 0.95765746 acc:%.2f 0.9577649 acc:%.2f 0.95787185 acc:%.2f 0.95797825 acc:%.2f 0.95808405 acc:%.2f 0.95818937 acc:%.2f 0.95829415 acc:%.2f 0.95839846 acc:%.2f 0.9585022 acc:%.2f 0.9586054 acc:%.2f 0.9587081 acc:%.2f 0.9588103 acc:%.2f 0.958912 acc:%.2f 0.9590132 acc:%.2f 0.95911396 acc:%.2f 0.95921415 acc:%.2f 0.95931387 acc:%.2f 0.9594131 acc:%.2f 0.9595119 acc:%.2f 0.9596101 acc:%.2f 0.9597079 acc:%.2f 0.95980525 acc:%.2f 0.9599021 acc:%.2f 0.9599985 acc:%.2f 0.96009445 acc:%.2f 0.9601899 acc:%.2f 0.9602849 acc:%.2f 0.9603795 acc:%.2f 0.9604736 acc:%.2f 0.96056724 acc:%.2f 0.96066046 acc:%.2f 0.96075326 acc:%.2f 0.9608456 acc:%.2f 0.9609375 acc:%.2f 0.961029 acc:%.2f 0.96112 acc:%.2f 0.96121067 acc:%.2f 0.96130085 acc:%.2f 0.9613907 acc:%.2f 0.96148 acc:%.2f 0.961569 acc:%.2f 0.9616575 acc:%.2f 0.9617457 acc:%.2f 0.9618334 acc:%.2f 0.96192074 acc:%.2f 0.9620077 acc:%.2f 0.96209425 acc:%.2f 0.9621804 acc:%.2f 0.96226615 acc:%.2f 0.9623515 acc:%.2f 0.9624365 acc:%.2f 0.96252114 acc:%.2f 0.96260536 acc:%.2f 0.96268916 acc:%.2f 0.96277267 acc:%.2f 0.96285576 acc:%.2f 0.9629385 acc:%.2f 0.96302086 acc:%.2f 0.9631028 acc:%.2f 0.9631845 acc:%.2f 0.9632657 acc:%.2f 0.96334666 acc:%.2f 0.9634272 acc:%.2f 0.9635074 acc:%.2f 0.9635872 acc:%.2f 0.96366674 acc:%.2f 0.9637459 acc:%.2f 0.96382475 acc:%.2f 0.9639032 acc:%.2f 0.96398133 acc:%.2f 0.9640591 acc:%.2f 0.9641366 acc:%.2f 0.9642137 acc:%.2f 0.9642905 acc:%.2f 0.964367 acc:%.2f 0.9644431 acc:%.2f 0.9645189 acc:%.2f 0.9645944 acc:%.2f 0.9646696 acc:%.2f 0.96474445 acc:%.2f 0.96481895 acc:%.2f 0.9648932 acc:%.2f 0.96496713 acc:%.2f 0.9650407 acc:%.2f 0.965114 acc:%.2f 0.96518695 acc:%.2f 0.9652597 acc:%.2f 0.96533203 acc:%.2f 0.9654041 acc:%.2f 0.96547586 acc:%.2f 0.9655474 acc:%.2f 0.96561855 acc:%.2f 0.9656894 acc:%.2f 0.96576005 acc:%.2f 0.9658303 acc:%.2f 0.96590036 acc:%.2f 0.9659701 acc:%.2f 0.96603954 acc:%.2f 0.9661087 acc:%.2f 0.9661776 acc:%.2f 0.9662462 acc:%.2f 0.9663145 acc:%.2f 0.96638256 acc:%.2f 0.96645033 acc:%.2f 0.96651787 acc:%.2f 0.9665851 acc:%.2f 0.96665204 acc:%.2f 0.96671873 Process finished with exit code 0 '''
人脸识别之简单实现
最新推荐文章于 2022-12-01 15:02:51 发布
本文介绍了人脸识别的基本原理,并通过Python实现了一个简单的人脸识别系统。利用开源库进行图像预处理、特征提取和匹配,阐述了每个步骤的关键点和技术细节。
摘要由CSDN通过智能技术生成