头发的方向图(2D和3D)与合成

首先,我们从一个不受光照限制的环境中拍摄一组输入图像,这些图像包含了头发的不同视角和姿态。我们对这些图像进行半自动的分割,将头发从背景中分离出来,然后使用PMVS ,一种先进的多视角立体算法,来重建一个点云。我们通常使用30到50张输入图像来进行重建。
然后,我们对重建的点云和PMVS估计的法向量进行滤波,因为它们可能会有噪声。我们使用移动最小二乘法(MLS)来平滑它们:对于每个点,我们用最优的平面来拟合它附近的加权邻居点。平面的法向量和点在平面上的投影就用来更新点的原始法向量和位置。我们使用2毫米的标准差来得到合理的滤波结果。

接下来,我们对滤波后的点云进行方向场的计算,这个方向场表示了每个点的3D方向。我们使用了一种基于图像的方法,它利用了输入图像中的方向信息。我们首先对每张输入图像进行方向滤波,得到每个像素的2D方向。然后,我们对每个点云中的点,找到它在输入图像中的对应像素,以及它的邻居点在输入图像中的对应像素。我们用这些像素的方向来计算点云中的点的3D方向,这个方向是无指向性的,只表示方向但不区分左右。我们使用了一种基于PCA的方法,它可以从多个2D方向中推断出一个3D方向。

 详细:从输入图像中提取出每个像素的方向信息,这个信息可以帮助网络重建出毛发的形状和流动性。

 在点云上生长毛发段的过程是这样的:对于每个点云中的点,我们根据它的方向,找到它的下一个邻居点,然后将它们连接成一条线段,这条线段就是一个毛发段的一部分。我们重复这个过程,直到遇到以下情况之一:1) 没有找到合适的邻居点;2) 邻居点的方向与当前点的方向差异过大;3) 邻居点已经被其他毛发段占用。这样,我们就可以在点云上生长出一组局部的毛发段,它们可以近似地用一条曲线来表示。

用带状物覆盖毛发段的过程是这样的:对于每个毛发段,我们用一个固定的宽度和厚度的带状物来覆盖它,这个带状物的方向和长度都是由毛发段的数据决定的。然后,我们对每个带状物进行聚类,根据它们的位置和方向的相似性,将它们分成若干个组,每个组包含一些相邻的带状物,它们可以近似地用一条曲线来表示。这样,我们就可以用带状物覆盖点云,揭示出局部一致的毛发束结构,这些结构可以反映出头发的纹理和流动性,而且也可以与导向毛发关联,用于动画。

- 发现带状物之间的缺失连接的过程是这样的:由于遮挡和缺失数据,带状物之间可能存在一些空隙,这些空隙会影响毛发束的完整性和连续性。为了解决这个问题,我们尝试用圆弧来拟合带状物覆盖的毛发段,看看是否可以在空隙处建立连接。我们对每个带状物,找到它的一个端点,然后在它的邻域内,寻找另一个带状物的一个端点,看看它们是否可以用一个圆弧来连接。我们使用了一种基于最小二乘法的方法,来计算圆弧的参数,包括圆心、半径和角度。我们还定义了一个拟合误差的度量,它取决于圆弧和毛发段的距离和方向的差异。如果拟合误差小于一个阈值,我们就认为这两个带状物之间有一个合理的连接,我们将这个连接编码在一个连接图中,用于后续的分析和优化。
- 对带状物进行方向分析的过程是这样的:由于方向场的180度歧义,带状物的方向可能是不确定的,这会导致毛发束的方向不一致或者不合理。为了解决这个问题,我们对带状物进行一个全局的方向分析,使用一个马尔可夫随机场(MRF)公式,来优化每个带状物的方向。我们的目标是使得带状物的方向尽可能地与连接图中的连接和带状物方向的局部提示相兼容。连接图中的连接表示了带状物之间的拓扑关系,它们应该满足一些几何约束,例如,相邻的带状物的方向应该是平滑的,而不是突然转弯的。带状物方向的局部提示表示了带状物的形状特征,它们可以从点云中的数据中提取出来,例如,带状物的曲率、长度和方向变化等。我们使用了一种基于图割的方法,来求解这个MRF公式,得到每个带状物的最优方向。这样,我们就可以保证毛发束的方向是一致和合理的。
- 将带状物连接成毛发束的过程是这样的:在进行了连接和方向分析之后,我们就可以将带状物连接成完整的毛发束了。我们的目标是使得每个毛发束都能从头皮开始,到头发的末端结束,而且不会有断裂或重叠的现象。我们使用了一种基于深度优先搜索的方法,来遍历连接图中的所有节点,即带状物的端点,然后根据它们的连接和方向,将它们连接成一条连续的曲线,这条曲线就是一个毛发束。我们重复这个过程,直到遍历完所有的节点,或者达到预设的毛发束的数量。这样,我们就可以从带状物中生成一组完整的毛发束,它们可以反映出头发的结构和风格,而且也可以作为导向毛发,用于动画和模拟。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广播组播、本地套接字通信、wireshark、以太网帧格式、三次握手四次挥手

广播(使用 UDP 套接字) 广播地址:主机号最大的地址。 广播:给所在局域网的所有主机发送数据报。(之前的数据报发送方式是单播。) 以下情况中使用广播: 局域网 搜索协议。 比如家中的智能产品&a…

局域网共享打印机共享,简单至简至一键处理011bDll等问题

一、电脑系统是否激活(可选) 二、确保主客户端PC在同一局域网内(可选) 可以通过ping 目标地址 如ping 192.168.1.202;看是否可以正常通信 下面是惠普类型打印机共享问题关键(文本记得保存) …

双11再创新高!家电行业如何通过矩阵管理,赋能品牌增长?

双11大促已落下帷幕,虽然今年不再战报满天飞,但从公布的数据来看,家电行业整体表现不俗。 根据抖音电商品牌业务发布的收官战报,家电行业创造了成交新纪录,整体同比增长125%。快手官方数据显示,消电家居行业…

深入理解JMM以及并发三大特性(1)

文章目录 1. 并发与并行2. JMM3. 并发三大特性4.总结 1. 并发与并行 并行:指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是宏观来看,二者都是一起执行的。 并发:指在同一时刻只能有一个指令执行,…

基于springboot实现校园在线拍卖系统项目【项目源码】

基于springboot实现校园在线拍卖系统演示 Javar技术 JavaScript是一种网络脚本语言,广泛运用于web应用开发,可以用来添加网页的格式动态效果,该语言不用进行预编译就直接运行,可以直接嵌入HTML语言中,写成js语言&…

Modbus转Profinet改变局面,PLC与电力仪表秒级响应

Modbus转Profinet改变了传统的局面,实现了PLC与电力仪表之间的秒级响应。在过去,由于Modbus通信协议的限制,PLC与电力仪表之间的数据传输速度受到了很大的限制,无法满足工业自动化领域对实时性的要求。然而,随着Modbus…

【云原生 Prometheus篇】Prometheus架构详解与核心组件的应用实例(Exporters、Grafana...)

Prometheus Part1 一、常用的监控系统1.1 简介1.2 Prometheus和zabbix的区别 二、Prometheus2.1 简介2.2 Prometheus的主要组件1)Prometheus server2)Exporters3)Alertmanager4)Pushgateway5)Grafana 2.3 Prometheus的…

openGauss学习笔记-130 openGauss 数据库管理-参数设置-重设参数

文章目录 openGauss学习笔记-130 openGauss 数据库管理-参数设置-重设参数130.1 背景信息130.2 GUC参数设置130.3 操作步骤130.4 示例 openGauss学习笔记-130 openGauss 数据库管理-参数设置-重设参数 130.1 背景信息 openGauss提供了多种修改GUC参数的方法,用户可…

【网络】数据链路层协议

数据链路层协议 一、链路层解决的问题二、以太网协议1、局域网技术2、令牌环网(了解)3、以太网通信原理4、 MAC地址5、以太网帧格式6、碰撞避免7、最大传输单元MTU 二、ARP协议1、ARP数据的格式2、ARP协议的工作流程3、ARP缓存表4、ARP协议中的一些问题7…

11月23日星期四今日早报简报微语报早读

11月23日星期四,农历十月十一,早报微语早读。 1、我国5G基站总数达321.5万个; 2、2023年两院院士增选结果揭晓,共133人当选; 3、北京低保标准提升至每人每月1395元; 4、上海制定体育发展条例&#xff1a…

[Linux] shell脚本之循环

一、循环定义 一组被重复执行的语句称之为 循环体,能否继续重复,决定循环的终止条件。 循环语句 是由循环体及循环的终止条件两部分组成的。 二、for循环 2.1 带列表循环 语法 for 变量名 in 取值列表do 命令序列 done 花括号用法: 花括号{ }和seq在for循环…

年轻有为!2023两院院士增选揭榜 45岁颜宁当选

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 通常,两…

BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统

BTS-GAN: Computer-aided segmentation system for breast tumor using MRI and conditional adversarial networks BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统背景贡献实验方法Parallel dilated convolution module(并行扩展卷积模块…

逸学java【初级菜鸟篇】9.5枚举

hi,我是逸尘,一起学java吧 枚举是信息的标志和分类 当一个变量有几种固定可能的取值时,就可以将它定义为类型的枚举。 优点:代码可读性好,入参约束严谨,代码优雅,是最好的信息分类技术&#x…

【AI读论文】AutoML的8年回顾:分类、综述与趋势

论文标题:Eight years of AutoML: categorisation, review and trends 论文链接:https://link.springer.com/article/10.1007/s10115-023-01935-1 本文主要围绕自动机器学习(AutoML)展开了系统性的文献综述,总结了该领…

【文末送书】重磅!这本30w人都在看的Python数据分析畅销书:更新了!

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

div中添加el-loading(局部loading的使用)

效果&#xff1a;在div中实现el-loading <div class"content-main">{{ hotList }}</div>getHotList(columnType) {this.$nextTick(() > {var loading this.$loading({lock: true,text: "努力加载中...",spinner: "el-icon-loading&qu…

揭示卡尔曼滤波器的威力

一、说明 作为一名数据科学家&#xff0c;我们偶尔会遇到需要对趋势进行建模以预测未来值的情况。虽然人们倾向于关注基于统计或机器学习的算法&#xff0c;但我在这里提出一个不同的选择&#xff1a;卡尔曼滤波器&#xff08;KF&#xff09;。 1960 年代初期&#xff0c;Rudol…

开始通过 Amazon SageMaker JumpStart 在亚马逊云科技上使用生成式 AI

目前&#xff0c;生成式 AI 正受到公众的广泛关注&#xff0c;人们围绕着许多人工智能技术展开讨论。很多客户一直在询问有关亚马逊云科技生成式 AI 解决方案的更多信息&#xff0c;本文将为您进行解答。 这篇文章通过一个真实的客户使用案例概述了生成式 AI&#xff0c;提供了…

感恩节99句祝福语,感恩父母老师朋友亲人朋友们,永久快乐幸福

1、流星让夜空感动&#xff0c;生死让人生感动&#xff0c;爱情让生活感动&#xff0c;你让我感动&#xff0c;在感恩节真心祝福你比所有的人都开心快乐。 2、感恩节到了&#xff0c;想问候你一下&#xff0c;有太多的话语想要说&#xff0c;但是不知从何说起&#xff0c;还是用…