前言

上周启动居家开会的时候,看到有人通过「虚拟形象」功能,给自己带上了口罩、眼镜之类,于是想到了是不是也可以搞一个简单的虚拟形象系统。

大致想来,分为以下几个部分:

卷积神经网络(CNN)

下面讲解一下三层CNN网络模型:

卷积层——提取特征

卷积层的运算过程如下图,用一个卷积核扫完整张图片:

通过动图能够更好的理解卷积过程,使用一个卷积核(过滤器)来过滤图像的各个小区域,从而得到这些小区域的特征值。

在具体应用中,往往有多个卷积核,每个卷积核代表了一种图像模式(特征规则),如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。如果有N个卷积核,那么就认为图像中有N种底层纹理(特征),即用这N种基础纹理就能描绘出一副图像。

总结:卷积层的通过卷积核的过滤提取出图片中局部的特征。

可以看到上图卷积后,存在边缘数据特征提取减少,通常会采用边缘填充的方式,减少特征丢失。

池化层(下采样)——数据降维,避免过拟合

池化层通常也被叫做下采样,目的是降低数据的维度,减少数据处理量。其过程大致如下:

上图输入时是20×20的,先进行卷积采样,卷积核为10×10,采用最大池化的方式,输出为一个2×2大小的特征图。这样可将数据维度减少了10倍,方便后续模块处理。

总结:池化层相比卷积层可以更有效的降低数据维度,不仅可减少运算量,还可以避免过拟合。

过拟合是指训练误差和测试误差之间的差距太大。换句换说,就是模型复杂度高于实际问题,模型在训练集上表现很好,但在测试集上却表现很差。模型对训练集"死记硬背"(记住了不适用于测试集的训练集性质或特点),没有理解数据背后的规律,泛化能力差。

全连接层——输出结果

全链接层是将我们最后一个池化层的输出连接到最终的输出节点上。假设,上述CNN的最后一个池化层的输出大小为 [5×5×4],即 5×5×4=100 个节点。对于当前任务(仅识别

简单实现一个虚拟形象系统相关推荐

  1. 设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统?

    十一.设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统? 一.钱包业务背景介绍 一个简单的钱包业务功能如下 1.充值 用户通过三方支付渠道,把自己银行卡账户内的钱, ...

  2. 如何利用基于充血模型的DDD开发一个虚拟钱包系统?

    上篇文章总结了一些理论知识的铺垫性讲解,讲到了两种开发模式,基于贫血模型的传统开发模式,以及基于充血模型的 DDD 开发模式.今天,我们正式进入实战环节,看如何分别用这两种开发模式,设计实现一个钱包系 ...

  3. 如何用AR Engine开发一个虚拟形象表情包?

    现如今,人们在网上聊天.发帖时越来越爱用表情包,表情包一方面是一种个性化的表达方式,另一方面更能传达出当下的心理活动,可以说在网络社交中表情包是一个不可或缺的存在.加上近年来元宇宙的兴起,3D虚拟形象 ...

  4. Java简单创作一个虚拟收音机

    创造一个虚拟收音机. 条件为不放电池不能启动,电池没电不能启动,没设置频道不能播放. Battery类: public class Battery {String batteryNum; //电池型号 ...

  5. 用抽象类简单实现一个发工资系统

    首先,创建5个类: Employee:员工类,其中有earnings()抽象方法 HourlyEmployee:按每小时来计算工资(不固定工资) SalariedEmployee:按月份来计算工资(固 ...

  6. 手机摄像头驱动_打开手机摄像头,就能实现3D全身动捕,相芯发布虚拟形象全身驱动技术...

    当提起3D全身动捕时,大家脑海中的第一反应基本上都是在好莱坞电影里,演员工作时常身穿安装有传感器的紧身衣,脸上也布满了传感器,让现实生活中不存在的虚拟角色可以活灵活现地出现在荧屏上.当然一整套动作捕捉 ...

  7. 如何root安卓手机_安卓手机内的虚拟安卓系统,带root,非系统分身!

    现在安卓手机root越来越难,系统也越来越封闭,搞得手机的可玩性没有前几年那么高.在前几年,手机想要root,也就一个Kingroot的事,或者刷一个新系统.喜欢安卓手机的一个很重要的原因是,系统软件 ...

  8. clistctrl控件最后插入在后面_用图表控件做一个简单的员工信息查询系统

    前几天在上课的时候有同学说在做人员的信息查询的时候,经常的要去做查找搜索很麻烦,能不能做一个简单的人员信息查询系统,只需要选择人员的编号就可以查询到这个员工的信息.其实要实现这个同学的需求在EXCEL ...

  9. 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...

    在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...

最新文章

  1. Python学习之continue
  2. Centos7下 Redis的安装、配置开机自启动、开放远程连接
  3. Tableau研学小课堂(part1)--商业智能概述
  4. 三分钟掌握PHP操作数据库
  5. Java案例:HttpClient演示
  6. VC菜菜鸟-创建一个简单的多线程任务
  7. 分析数万条国庆旅游评论数据后,我发现了“坑爹”景点背后的秘密
  8. Zabbix Agent2监控redis
  9. jquery视频教程(jquery视频教程全集)
  10. [附源码]Java计算机毕业设计SSM宠物管理系统
  11. html 属于mvvm框架,vue.js是mvvm框架吗
  12. 连续分配存储管理方式
  13. 计算机专业技能考核方案,计算机专业技能课教学考核方案
  14. 布拉德皮特不完全档案及星路历程
  15. 绕开JS验证的方法汇总
  16. 如何在PDF中插入另一个PDF文件的页面
  17. 运用matlab求解梁的变形例题,matlab与结构力学
  18. R语言进行中文分词和聚类
  19. 如何使用微PE给电脑装windows10系统?
  20. ListT的各种排序方法

热门文章

  1. fastdfs连接mysql_使用fastdfs-zyc监控FastDFS文件系统
  2. 写给30岁的自己,以及所有即将、正在、已经奔三的朋友们
  3. JavaScript随手笔记之--html拼接语句传递json数据
  4. html 自动生产,HTML5 Three.js 3D人偶玩具自动化生产车间动画
  5. 游戏三级分类部分代码
  6. 计算机的二三事——软件篇
  7. 【情暖寒冬 让爱同行】中创算力开展“寒冬送温暖”公益活动
  8. 机器学习在网络安全领域的应用(一)
  9. 岛屿最大面积 leetcode Java_【Leetcode刷题】岛屿的最大面积
  10. Mac提升效率软件集锦