基於Python的人臉檢測與分類
def loadModel(self,model_path = RPN_BATCH_PATH):
"""
從 model_path 中載入模型
"""
with tf.compat.v1.variable_scope('RPN', reuse=tf.compat.v1.AUTO_REUSE):
weights = {
'rpn_1':tf.compat.v1.get_variable(name = 'w_rpn_1_1',shape = [3,3,K*K*2,1]), # 高 : 寬 1:1 的卷積
'rpn_2':tf.compat.v1.get_variable(name = 'w_rpn_1_2',shape = [3,6,K*K*2,1]), # 高 : 寬 1:2 的卷積
'rpn_3':tf.compat.v1.get_variable(name = 'w_rpn_2_1',shape = [6,3,K*K*2,1]), # 高 : 寬 2:1 的卷積
'rpn_4':tf.compat.v1.get_variable(name = 'w_rpn_2_2',shape = [6,6,K*K*2,1]),
'rpn_5':tf.compat.v1.get_variable(name = 'w_rpn_2_4',shape = [6,12,K*K*2,1]),
'rpn_6':tf.compat.v1.get_variable(name = 'w_rpn_4_2',shape = [12,6,K*K*2,1]),
'rpn_7':tf.compat.v1.get_variable(name = 'w_rpn_4_4',shape = [12,12,K*K*2,1]),
'rpn_8':tf.compat.v1.get_variable(name = 'w_rpn_4_8',shape = [12,24,K*K*2,1]),
'rpn_9':tf.compat.v1.get_variable(name = 'w_rpn_8_4',shape = [24,12,K*K*2,1])
}
biases = {
'rpn_1':tf.compat.v1.get_variable(name = 'b_rpn_1_1',shape = [1,]),
'rpn_2':tf.compat.v1.get_variable(name = 'b_rpn_1_2',shape = [1,]),
'rpn_3':tf.compat.v1.get_variable(name = 'b_rpn_2_1',shape = [1,]),
'rpn_4':tf.compat.v1.get_variable(name = 'b_rpn_2_2',shape = [1,]),
'rpn_5':tf.compat.v1.get_variable(name = 'b_rpn_2_4',shape = [1,]),
'rpn_6':tf.compat.v1.get_variable(name = 'b_rpn_4_2',shape = [1,]),
'rpn_7':tf.compat.v1.get_variable(name = 'b_rpn_4_4',shape = [1,]),
'rpn_8':tf.compat.v1.get_variable(name = 'b_rpn_4_8',shape = [1,]),
'rpn_9':tf.compat.v1.get_variable(name = 'b_rpn_8_4',shape = [1,])
}
with tf.compat.v1.variable_scope('BBOX', reuse=tf.compat.v1.AUTO_REUSE):
weights['bbox'] = tf.compat.v1.get_variable(name = 'w_bbox',shape = [K,K,K*K*2,4]) # 分類
biases['bbox'] = tf.compat.v1.get_variable(name = 'b_bbox',shape = [4,]) # 分類
weights['down'] = tf.compat.v1.get_variable(name = 'w_down',shape = [1,1,2048,1024])# 降取樣
weights['feature'] = tf.compat.v1.get_variable(name = 'w_feature',shape = [1,1,1024,K*K*2])
biases['down'] = tf.compat.v1.get_variable(name = 'b_down',shape = [1024,]) # 降取樣
biases['feature'] = tf.compat.v1.get_variable(name = 'b_feature',shape = [K*K*2,])
self.img = tf.compat.v1.placeholder(dtype = tf.float32,shape = (1,self.h,self.w,3))
# 使用無 pool1&pool5 的 RESNET 101
net, endpoints = my_resnet(self.img,global_pool = False,num_classes=None,is_training=True,reuse = tf.compat.v1.AUTO_REUSE) # net's w&h = original_img's w&h / 16
net = tf.nn.conv2d(input = net,filter = weights['down'],strides = [1, 1, 1, 1],padding = 'VALID')
net =跟單網gendan5.com tf.add(net,biases['down'])
# 生成 feature_map
self.feature_map = tf.nn.conv2d(input = net,filter = weights['feature'],strides = [1, 1, 1, 1],padding = 'VALID')
self.feature_map = tf.add(self.feature_map,biases['feature'])
self.pred_rpn = [None]*9
for i in range(9):
r = tf.nn.conv2d(input = self.feature_map,filter = weights['rpn_' + str(i+1)],strides = [1, 1, 1, 1],padding = 'VALID')
r = tf.reshape(r,r.get_shape().as_list()[1:-1])
self.pred_rpn[i] = tf.add(r,biases['rpn_' + str(i+1)])
self.pred_rpn[i] = tf.sigmoid(self.pred_rpn[i])
self.select = tf.compat.v1.placeholder(dtype = tf.float32,shape = (self.RPN_RESULT_NUM,K,K,K*K*2))
self.pre_bbox = tf.nn.conv2d(self.select,weights['bbox'],[1,1,1,1],padding = 'VALID')
self.pre_bbox = tf.add(self.pre_bbox,biases['bbox'])
self.pre_bbox = tf.reshape(self.pre_bbox,shape = (self.RPN_RESULT_NUM,4))
saver = tf.compat.v1.train.Saver(tf.compat.v1.get_collection(tf.compat.v1.GraphKeys.TRAINABLE_VARIABLES))
self.sess = tf.compat.v1.Session()
init = tf.compat.v1.global_variables_initializer()
self.sess.run(init)
saver.restore(self.sess,RPN_BATCH_PATH)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2897592/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於Emgu CV的人臉檢測程式碼
- 基於Javascript的人臉探測技術JavaScript
- 基於Python的人臉自動戴口罩系統Python
- 基於opencv實現簡單人臉檢測OpenCV
- TF專案實戰(基於SSD目標檢測)——人臉檢測1
- 一種基於隨機動作指令的人臉活體檢測技術,有效避免人臉識別系統被破解隨機
- 優圖開源的人臉檢測演算法 DSFD演算法
- 面向企業的人臉屬性檢測技術方案
- 基於PCA(主成分分析)的人臉識別PCA
- faced:基於深度學習的CPU實時人臉檢測深度學習
- 基於OpenCV和dlib的人臉交換實現探究OpenCV
- Python人臉識別微笑檢測Python
- Python指令碼檢測笑臉漏洞Python指令碼
- 3分鐘內實現人臉檢測
- 人臉檢測(detection)與人臉校準(alignment)
- 基於Python的郵件檢測工具Python
- 人臉檢測識別,人臉檢測,人臉識別,離線檢測,C#原始碼C#原始碼
- 目前最強效能的人臉檢測演算法(Wider Face Dataset)演算法IDE
- 基於Python實現的口罩佩戴檢測Python
- OpenCV檢測篇(一)——貓臉檢測OpenCV
- 基於DNN的人臉識別中的反欺騙機制DNN
- 黑人人臉檢測
- 人臉檢測 二
- 基於深度學習的人臉性別識別系統(含UI介面,Python程式碼)深度學習UIPython
- [計算機視覺]人臉應用:人臉檢測、人臉對比、五官檢測、眨眼檢測、活體檢測、疲勞檢測計算機視覺
- 在Python中使用OpenCV進行人臉檢測PythonOpenCV
- 重磅!目前最強效能的人臉檢測演算法(Wider Face Dataset)演算法IDE
- 人臉檢測的harr檢測函式函式
- 【基於PCA的人臉識別演算法】從QR分解到PCA,再到人臉識別PCA演算法
- 基於深度學習的人臉識別系統系列(Caffe+OpenCV+Dlib)——【六】設計人臉識別的識別類深度學習OpenCV
- 帶你玩轉OpenHarmony AI:基於Seetaface2的人臉識別AI
- 基於深度神經網路的人臉識別相關問題神經網路
- MTCNN人臉檢測與校準(5特徵點)CNN特徵
- 基於感知機的人名-性別預測系統 —— Python實現Python
- 人臉活體檢測
- 前端人臉檢測指南前端
- 基於卷積神經網路的人臉表情識別應用--AR川劇變臉(一)卷積神經網路
- 主題:人臉檢測原理及示例(OpenCV+Python)OpenCVPython