计算机培训网站页面排名优化
2026/2/17 13:16:36 网站建设 项目流程
计算机培训,网站页面排名优化,律师微网站建设,滁州建设局网站一. mtcnn概述 MTCNN#xff0c;英文全称是Multi-task convolutional neural network#xff0c;中文全称是多任务卷积神经网络#xff0c;该神经网络将人脸区域检测与人脸关键点检测放在了一起。 二. mtcnn的网络结构 mtcnn从整体上划分分为P-Net、R-Net、和O-Net三层网络结…一. mtcnn概述MTCNN英文全称是Multi-task convolutional neural network中文全称是多任务卷积神经网络该神经网络将人脸区域检测与人脸关键点检测放在了一起。二. mtcnn的网络结构mtcnn从整体上划分分为P-Net、R-Net、和O-Net三层网络结构。各层的作用直观上感受如下图所示其网络结构三. mtcnn的网络结构代码import tensorflow as tf class PNet(tf.keras.Model): def __init__(self): super().__init__() self.conv1 tf.keras.layers.Conv2D(10, 3, 1, nameconv1) self.prelu1 tf.keras.layers.PReLU(shared_axes[1,2], namePReLU1) self.conv2 tf.keras.layers.Conv2D(16, 3, 1, nameconv2) self.prelu2 tf.keras.layers.PReLU(shared_axes[1,2], namePReLU2) self.conv3 tf.keras.layers.Conv2D(32, 3, 1, nameconv3) self.prelu3 tf.keras.layers.PReLU(shared_axes[1,2], namePReLU3) self.conv4_1 tf.keras.layers.Conv2D(2, 1, 1, nameconv4-1) self.conv4_2 tf.keras.layers.Conv2D(4, 1, 1, nameconv4-2) def call(self, x, trainingFalse): out self.prelu1(self.conv1(x)) out tf.nn.max_pool2d(out, 2, 2, paddingSAME) out self.prelu2(self.conv2(out)) out self.prelu3(self.conv3(out)) score tf.nn.softmax(self.conv4_1(out), axis-1) boxes self.conv4_2(out) return boxes, score class RNet(tf.keras.Model): def __init__(self): super().__init__() self.conv1 tf.keras.layers.Conv2D(28, 3, 1, nameconv1) self.prelu1 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu1) self.conv2 tf.keras.layers.Conv2D(48, 3, 1, nameconv2) self.prelu2 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu2) self.conv3 tf.keras.layers.Conv2D(64, 2, 1, nameconv3) self.prelu3 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu3) self.dense4 tf.keras.layers.Dense(128, nameconv4) self.prelu4 tf.keras.layers.PReLU(shared_axesNone, nameprelu4) self.dense5_1 tf.keras.layers.Dense(2, nameconv5-1) self.dense5_2 tf.keras.layers.Dense(4, nameconv5-2) self.flatten tf.keras.layers.Flatten() def call(self, x, trainingFalse): out self.prelu1(self.conv1(x)) out tf.nn.max_pool2d(out, 3, 2, paddingSAME) out self.prelu2(self.conv2(out)) out tf.nn.max_pool2d(out, 3, 2, paddingVALID) out self.prelu3(self.conv3(out)) out self.flatten(out) out self.prelu4(self.dense4(out)) score tf.nn.softmax(self.dense5_1(out), -1) boxes self.dense5_2(out) return boxes, score class ONet(tf.keras.Model): def __init__(self): super().__init__() self.conv1 tf.keras.layers.Conv2D(32, 3, 1, nameconv1) self.prelu1 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu1) self.conv2 tf.keras.layers.Conv2D(64, 3, 1, nameconv2) self.prelu2 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu2) self.conv3 tf.keras.layers.Conv2D(64, 3, 1, nameconv3) self.prelu3 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu3) self.conv4 tf.keras.layers.Conv2D(128, 2, 1, nameconv4) self.prelu4 tf.keras.layers.PReLU(shared_axes[1,2], nameprelu4) self.dense5 tf.keras.layers.Dense(256, nameconv5) self.prelu5 tf.keras.layers.PReLU(shared_axesNone, nameprelu5) self.dense6_1 tf.keras.layers.Dense(2 , nameconv6-1) self.dense6_2 tf.keras.layers.Dense(4 , nameconv6-2) self.dense6_3 tf.keras.layers.Dense(10 , nameconv6-3) self.flatten tf.keras.layers.Flatten() def call(self, x, trainingFalse): out self.prelu1(self.conv1(x)) out tf.nn.max_pool2d(out, 3, 2, paddingSAME) out self.prelu2(self.conv2(out)) out tf.nn.max_pool2d(out, 3, 2, paddingVALID) out self.prelu3(self.conv3(out)) out tf.nn.max_pool2d(out, 2, 2, paddingSAME) out self.prelu4(self.conv4(out)) out self.dense5(self.flatten(out)) out self.prelu5(out) score tf.nn.softmax(self.dense6_1(out)) boxes self.dense6_2(out) lamks self.dense6_3(out) return boxes, lamks, score四. mtcnn的演示效果五. 整个工程的内容提供源代码模型提供GUI界面代码主要使用方法可以参考里面的“文档说明_必看.docx”项目完整文件下载请见演示与介绍视频的简介处给出➷➷➷https://www.bilibili.com/video/BV1rCU6Y1EbX/

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询