def build_model(self, input_image, center_map, batch_size):
self.batch_size = batch_size
self.input_image = input_image
self.center_map = center_map
with tf.variable_scope('pooled_center_map'):
# center map is a gaussion template which gather the respose
self.center_map = slim.avg_pool2d(self.center_map,
[9, 9], stride=8,
padding='SAME',
scope='center_map')
with slim.arg_scope([slim.conv2d],
padding='SAME',
activation_fn=tf.nn.relu,
weights_initializer=tf.contrib.layers.xavier_initializer()):
with tf.variable_scope('sub_stages'):
net = slim.conv2d(input_image, 64, [3, 3], scope='sub_conv1')
net = slim.conv2d(net, 64, [3, 3], scope='sub_conv2')
net = slim.max_pool2d(net, [2, 2], padding='SAME', scope='sub_pool1')
net = slim.conv2d(net, 128, [3, 3], scope='sub_conv3')
net = slim.conv2d(net, 128, [3, 3], scope='sub_conv4')
net = slim.max_pool2d(net, [2, 2], padding='SAME', scope='sub_pool2')
net = slim.conv2d(net, 256, [3, 3], scope='sub_conv5')
net = slim.conv2d(net, 256, [3, 3], scope='sub_conv6')
net = slim.conv2d(net, 256, [3, 3], scope='sub_conv7')
net = slim.conv2d(net, 256, [3, 3], scope='sub_conv8')
net = slim.max_pool2d(net, [2, 2], padding='SAME', scope='sub_pool3')
net = slim.conv2d(net, 512, [3, 3], scope='sub_conv9')
net = slim.conv2d(net, 512, [3, 3], scope='sub_conv10')
net = slim.conv2d(net, 512, [3, 3], scope='sub_conv11')
net = slim.conv2d(net, 512, [3, 3], scope='sub_conv12')
net = slim.conv2d(net, 512, [3, 3], scope='sub_conv13')
net = slim.conv2d(net, 512, [3, 3], scope='sub_conv14')
self.sub_stage_img_feature = slim.conv2d(net, 128, [3, 3],
scope='sub_stage_img_feature')
with tf.variable_scope('stage_1'):
conv1 = slim.conv2d(self.sub_stage_img_feature, 512, [1, 1],
scope='conv1')
self.stage_heatmap.append(slim.conv2d(conv1, self.joints, [1, 1],
scope='stage_heatmap'))
for stage in range(2, self.stages + 1):
self._middle_conv(stage)
cpm_hand_slim.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录