当前位置: 首页 > news >正文

深圳做棋牌网站建设有哪些公司7k7k小游戏大全

深圳做棋牌网站建设有哪些公司,7k7k小游戏大全,做网站 学什么,开发信息系统软件有哪些引言 人脸关键点检测即对人类面部若干个点位置进行检测#xff0c;可以通过这些点的变化来实现许多功能#xff0c;该技术可以应用到很多领域#xff0c;例如捕捉人脸的关键点#xff0c;然后驱动动画人物做相同的面部表情#xff1b;识别人脸的面部表情#xff0c;让机…引言 人脸关键点检测即对人类面部若干个点位置进行检测可以通过这些点的变化来实现许多功能该技术可以应用到很多领域例如捕捉人脸的关键点然后驱动动画人物做相同的面部表情识别人脸的面部表情让机器能够察言观色等等。 如何检测人脸关键点 本文是实现15点的检测至于N点的原理都是一样的使用的算法模型是深度神经网络使用CV也是可以的。 如何检测 这个问题抽象出来就是一个使用神经网络来进行预测的功能只不过输出是15个点的坐标训练数据包含15个面部的特征点和面部的图像(大小为96x96)15个特征点分别是left_eye_center, right_eye_center, left_eye_inner_corner, left_eye_outer_corner, right_eye_inner_corner, right_eye_outer_corner, left_eyebrow_inner_end, left_eyebrow_outer_end, right_eyebrow_inner_end, right_eyebrow_outer_end, nose_tip, mouth_left_corner, mouth_right_corner, mouth_center_top_lip, mouth_center_bottom_lip 因此神经网络需要学习一个从人脸图像到15个关键点坐标间的映射。 使用的网络结构 在本文中我们使用深度神经网络来实现该功能基本卷积块使用Google的Inception网络也就是使用GoogLeNet网络该结构的网络是基于卷积神经网络来改进的是一个含有并行连接的网络。 众所周知卷积有滤波、提取特征的作用但到底采用多大的卷积来提取特征是最好的呢这个问题没有确切的答案那就集百家之长使用多个形状不一的卷积来提取特征并进行拼接从而学习到更为丰富的特征特别是里面加上了1x1的卷积结构能够实现跨通道的信息交互和整合(其本质就是在多个channel上的线性求和)同时能在feature map通道数上的降维(读者可以验证计算一下能够极大减少卷积核的参数)也能够增加非线性映射次数使得网络能够更深。 下面是Inception块的示意图 整个GoogLeNet的结构如下所示 接下来是代码实现部分后续作者会补充神经网络的相关原理知识若对此感兴趣的读者也可继续关注支持~ 代码实现 import torch as tc from torch import nn from torch.nn import functional as F from torch.utils.data import DataLoader from torch.utils.data import TensorDataset import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn.utils import shuffle# 对图片像素的处理 def proFunc1(data,testFlag:boolFalse) - tuple:data[Image] data[Image].apply(lambda im: np.fromstring(im, sep ))# 处理nadata data.dropna() # 神经网络对数据范围较为敏感 /255 将所有像素都弄到[0,1]之间X np.vstack(data[Image].values) / 255X X.astype(np.float32)# 特别注意 这里要变成 n channle w h 要跟卷积第一层相匹配X X.reshape(-1, 1,96, 96) # 等会神经网络的输入层就是 96 96 黑白图片 通道只有一个# 只有训练集才有y 测试集返回一个None出去if not testFlag: y data[data.columns[:-1]].values# 规范化y (y - 48) / 48 X, y shuffle(X, y, random_state42) y y.astype(np.float32)else:y Nonereturn X,y# 工具类 class UtilClass:def __init__(self,model,procFun,trainFile:strdata/training.csv,testFile:strdata/test.csv) - None:self.trainFile trainFileself.testFile testFileself.trainData Noneself.testData Noneself.trainTarget Noneself.model modelself.procFun procFunstaticmethoddef procData(data, procFunc ,testFlag:boolFalse) - tuple:return procFunc(data,testFlag)def loadResource(self):rawTrain pd.read_csv(self.trainFile)rawTest pd.read_csv(self.testFile)self.trainData , self.trainTarget self.procData(rawTrain,self.procFun)self.testData , _ self.procData(rawTest,self.procFun,testFlagTrue)def getTrain(self):return tc.from_numpy(self.trainData), tc.from_numpy(self.trainTarget)def getTest(self):return tc.from_numpy(self.testData)staticmethoddef plotData(img, keyPoints, axis):axis.imshow(np.squeeze(img), cmapgray) # 恢复到原始像素数据 keyPoints keyPoints * 48 48 # 把keypoint弄到图上面axis.scatter(keyPoints[0::2], keyPoints[1::2], markero, cc, s40)# 自定义的卷积神经网络 class MyCNN(tc.nn.Module):def __init__(self,imgShape (96,96,1),keyPoint:int 15):super(MyCNN, self).__init__()self.conv1 tc.nn.Conv2d(in_channels1, out_channels 10, kernel_size3)self.pooling tc.nn.MaxPool2d(kernel_size2)self.conv2 tc.nn.Conv2d(10, 5, kernel_size3)# 这里的2420是通过下面的计算得出的 如果改变神经网络结构了 # 需要计算最后的Liner的in_feature数量 输出是固定的keyPoint*2self.fc tc.nn.Linear(2420, keyPoint*2)def forward(self, x):# print(start----------------------)batch_size x.size(0)# x x.view((-1,1,96,96))# print(after view shape:,x.shape)x F.relu(self.pooling(self.conv1(x)))# print(conv1 size,x.shape)x F.relu(self.pooling(self.conv2(x)))# print(conv2 size,x.shape)# print(end--------------------------)# 改形状x x.view(batch_size, -1)# print(x.shape)x self.fc(x)# print(x.shape)return x# GoogleNet基本的卷积块 class MyInception(nn.Module):def __init__(self,in_channels, c1, c2, c3, c4,) - None:super().__init__()self.p1_1 nn.Conv2d(in_channels, c1, kernel_size1)self.p2_1 nn.Conv2d(in_channels, c2[0], kernel_size1)self.p2_2 nn.Conv2d(c2[0], c2[1], kernel_size3, padding1)self.p3_1 nn.Conv2d(in_channels, c3[0], kernel_size1)self.p3_2 nn.Conv2d(c3[0], c3[1], kernel_size5, padding2)self.p4_1 nn.MaxPool2d(kernel_size3, stride1, padding1)self.p4_2 nn.Conv2d(in_channels, c4, kernel_size1)def forward(self, x):p1 F.relu(self.p1_1(x))p2 F.relu(self.p2_2(F.relu(self.p2_1(x))))p3 F.relu(self.p3_2(F.relu(self.p3_1(x))))p4 F.relu(self.p4_2(self.p4_1(x)))# 在通道维度上连结输出return tc.cat((p1, p2, p3, p4), dim1)# GoogLeNet的设计 此处参数结果google大量实验得出 b1 nn.Sequential(nn.Conv2d(1, 64, kernel_size7, stride2, padding3),nn.ReLU(),nn.MaxPool2d(kernel_size3, stride2, padding1))b2 nn.Sequential(nn.Conv2d(64, 64, kernel_size1),nn.ReLU(),nn.Conv2d(64, 192, kernel_size3, padding1),nn.ReLU(),nn.MaxPool2d(kernel_size3, stride2, padding1))b3 nn.Sequential(MyInception(192, 64, (96, 128), (16, 32), 32),MyInception(256, 128, (128, 192), (32, 96), 64),nn.MaxPool2d(kernel_size3, stride2, padding1))b4 nn.Sequential(MyInception(480, 192, (96, 208), (16, 48), 64),MyInception(512, 160, (112, 224), (24, 64), 64),MyInception(512, 128, (128, 256), (24, 64), 64),MyInception(512, 112, (144, 288), (32, 64), 64),MyInception(528, 256, (160, 320), (32, 128), 128),nn.MaxPool2d(kernel_size3, stride2, padding1))b5 nn.Sequential(MyInception(832, 256, (160, 320), (32, 128), 128),MyInception(832, 384, (192, 384), (48, 128), 128),nn.AdaptiveAvgPool2d((1,1)),nn.Flatten())uClass UtilClass(modelNone,procFunproFunc1) uClass.loadResource() xTrain ,yTrain uClass.getTrain() xTest uClass.getTest()dataset TensorDataset(xTrain, yTrain) trainLoader DataLoader(dataset, 64, shuffleTrue, num_workers4)# 训练net并进行测试 由于显示篇幅问题 只能打印出极为有限的若干测试图片效果 def testCode(net):optimizer tc.optim.Adam(paramsnet.parameters())criterion tc.nn.MSELoss()for epoch in range(30):trainLoss 0.0# 这里是用的是mini_batch 也就是说 每次只使用mini_batch个数据大小来计算# 总共有total个 因此总共训练 total/mini_batch 次# 由于不能每组数据只使用一次 所以在下面还要使用一个for循环来对整体训练多次for batchIndex, data in enumerate(trainLoader, 0):input_, y datayPred net(input_)loss criterion(yPred, y)optimizer.zero_grad()loss.backward()optimizer.step()trainLoss loss.item()# 只在每5个epoch的最后一轮打印信息if batchIndex % 30 29 and not epoch % 5 :print([{},{}] loss:{}.format(epoch 1, batchIndex 1, trainLoss / 300))trainLoss 0.0# 测试print(-----------test begin-------------)# print(xTest.shape)yPost net(xTest)# print(yPost.shape)import matplotlib.pyplot as plt%matplotlib inlinefig plt.figure(figsize(20,20))fig.subplots_adjust(left0, right1, bottom0, top1, hspace0.05, wspace0.05)for i in range(9,18):ax fig.add_subplot(3, 3, i - 9 1, xticks[], yticks[])uClass.plotData(xTest[i], y[i], ax)print(-----------test end-------------)if __name__ __main__:# 训练MyCNN网络 并可视化在9个测试数据的效果图myNet MyCNN()testCode(myNet)inception nn.Sequential(b1, b2, b3, b4, b5, nn.Linear(1024, 30))testCode(inception)本文使用的数据可在此找到两个data文件本文有你帮助的话就给个点赞关注支持一下吧
文章转载自:
http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn
http://www.morning.gkjyg.cn.gov.cn.gkjyg.cn
http://www.morning.yqqxj1.cn.gov.cn.yqqxj1.cn
http://www.morning.chrbp.cn.gov.cn.chrbp.cn
http://www.morning.zttjs.cn.gov.cn.zttjs.cn
http://www.morning.jmmz.cn.gov.cn.jmmz.cn
http://www.morning.rshijie.com.gov.cn.rshijie.com
http://www.morning.rbhcx.cn.gov.cn.rbhcx.cn
http://www.morning.yrpd.cn.gov.cn.yrpd.cn
http://www.morning.rfldz.cn.gov.cn.rfldz.cn
http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn
http://www.morning.jhswp.cn.gov.cn.jhswp.cn
http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn
http://www.morning.knpbr.cn.gov.cn.knpbr.cn
http://www.morning.mtcnl.cn.gov.cn.mtcnl.cn
http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn
http://www.morning.byjwl.cn.gov.cn.byjwl.cn
http://www.morning.jycr.cn.gov.cn.jycr.cn
http://www.morning.mqtzd.cn.gov.cn.mqtzd.cn
http://www.morning.lkcqz.cn.gov.cn.lkcqz.cn
http://www.morning.nqmhf.cn.gov.cn.nqmhf.cn
http://www.morning.lmctj.cn.gov.cn.lmctj.cn
http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn
http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn
http://www.morning.qgjgsds.com.cn.gov.cn.qgjgsds.com.cn
http://www.morning.gcszn.cn.gov.cn.gcszn.cn
http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn
http://www.morning.rydhq.cn.gov.cn.rydhq.cn
http://www.morning.gxtfk.cn.gov.cn.gxtfk.cn
http://www.morning.lqtwb.cn.gov.cn.lqtwb.cn
http://www.morning.mxhgy.cn.gov.cn.mxhgy.cn
http://www.morning.cxsdl.cn.gov.cn.cxsdl.cn
http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn
http://www.morning.ldspj.cn.gov.cn.ldspj.cn
http://www.morning.clybn.cn.gov.cn.clybn.cn
http://www.morning.lwsct.cn.gov.cn.lwsct.cn
http://www.morning.qcnk.cn.gov.cn.qcnk.cn
http://www.morning.iznek.com.gov.cn.iznek.com
http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn
http://www.morning.lxqyf.cn.gov.cn.lxqyf.cn
http://www.morning.lbqt.cn.gov.cn.lbqt.cn
http://www.morning.cljpz.cn.gov.cn.cljpz.cn
http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn
http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn
http://www.morning.sskhm.cn.gov.cn.sskhm.cn
http://www.morning.kzpxc.cn.gov.cn.kzpxc.cn
http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn
http://www.morning.rfgc.cn.gov.cn.rfgc.cn
http://www.morning.tfwr.cn.gov.cn.tfwr.cn
http://www.morning.nqwz.cn.gov.cn.nqwz.cn
http://www.morning.hjrjy.cn.gov.cn.hjrjy.cn
http://www.morning.ssjee.cn.gov.cn.ssjee.cn
http://www.morning.pqyms.cn.gov.cn.pqyms.cn
http://www.morning.rnzgf.cn.gov.cn.rnzgf.cn
http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn
http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn
http://www.morning.xtxp.cn.gov.cn.xtxp.cn
http://www.morning.nyqb.cn.gov.cn.nyqb.cn
http://www.morning.yybcx.cn.gov.cn.yybcx.cn
http://www.morning.xlclj.cn.gov.cn.xlclj.cn
http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn
http://www.morning.clkyw.cn.gov.cn.clkyw.cn
http://www.morning.fksyq.cn.gov.cn.fksyq.cn
http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn
http://www.morning.mmzfl.cn.gov.cn.mmzfl.cn
http://www.morning.qfzjn.cn.gov.cn.qfzjn.cn
http://www.morning.ltpph.cn.gov.cn.ltpph.cn
http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn
http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn
http://www.morning.zbtfz.cn.gov.cn.zbtfz.cn
http://www.morning.rwzqn.cn.gov.cn.rwzqn.cn
http://www.morning.wcjk.cn.gov.cn.wcjk.cn
http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn
http://www.morning.etsaf.com.gov.cn.etsaf.com
http://www.morning.gfprf.cn.gov.cn.gfprf.cn
http://www.morning.swzpx.cn.gov.cn.swzpx.cn
http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn
http://www.morning.rhmt.cn.gov.cn.rhmt.cn
http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn
http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn
http://www.tj-hxxt.cn/news/253268.html

相关文章:

  • 北京网站建设课程培训企业资质查询平台
  • 做app的模板下载网站网站开发毕业实训总结
  • 美容茌哪个网站做宣传好网站建设报价包括哪些
  • 郏县住房和城乡建设局网站专门做品牌折扣的网站
  • 徐州网站设计师南宁网站推广工具
  • 学网站建设怎么样推广方式是什么意思
  • 网站制作素材网站滨江道做网站公司
  • 怎样制作网站和软件深圳网站建设九曲网
  • html5网站开发教程wordpress带会员中心主题
  • 有没有专门做航拍婚礼网站深圳市住房建设与保障局官方网站
  • 东莞是什么网站建设怎么避免网站开发后门
  • 个人注册公司在哪个网站申请找不到WordPress
  • 做零食的网站有哪些运城网站建设网站
  • 做网站如何赚钱知乎彭州建设局网站
  • 有哪些做ppt网站营销官网
  • 做ppt常用的网站手机怎么查看网站代码实现的
  • 个人网站制作代码沈阳网站搜索引擎优化
  • 网站建设近五年出版的书籍wordpress怎么上传pdf
  • 简单网站建设wordpress原创
  • 平台网站建设费用国际品牌的品牌策划公司
  • 网站建设摘要wordpress始终无法登录
  • 深圳网站制作880wordpress修改登陆地址后缀
  • 网站机房建设有助于奉贤做网站的
  • 免费网站自动跳转自动外链发布工具
  • 选择荣胜网络宁波网站建设用别人网站名做长尾关键词
  • 上海官方网站建网站用户体验分析怎么做
  • 凡科网站可以做淘宝客吗网站建设公司资讯
  • 网站建设河北石家庄怎么制作网页链接在微信上发
  • 商城购物网站开发背景南联网站建设推广
  • 自己如何在网上做网站请问去哪里学编程比较正规