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

专业网站建设报价百度联盟怎么加入

专业网站建设报价,百度联盟怎么加入,wordpress类似的,一号建站最后,内容到达了高斯泼溅过程中最有趣的阶段:渲染!这一步可以说是最关键的,因为它决定了模型的真实性。然而,它也可能是最简单的。在本系列的Part 1和Part2,文章演示了如何将 Raw 3D椭球 转换为可渲染的格式,但现在我们实际上必须完成这项工作并渲染到一组固定的像素上。…

最后,内容到达了高斯泼溅过程中最有趣的阶段:渲染!这一步可以说是最关键的,因为它决定了模型的真实性。然而,它也可能是最简单的。在本系列的Part 1和Part2,文章演示了如何将 Raw 3D椭球 转换为可渲染的格式,但现在我们实际上必须完成这项工作并渲染到一组固定的像素上。作者使用 CUDA 开发了一个快速渲染引擎,这可能有点难以理解。因此,首先浏览 Python 中的代码是有益的,为了清晰起见,使用简单的 for 循环。对于那些渴望深入了解的人来说,所有必要的代码都可以在我们的 GitHub上找到。

继续讨论如何渲染每个单独的像素。从上一篇文章中,我们有了所有必要的组件:2D 点、相关颜色、协方差、排序深度顺序、2D 中的逆协方差、每个 splat 的最小和最大 x 和 y 值以及相关的不透明度。有了这些组件,就可以渲染任何像素。对于给定特定的像素坐标,我们按照相对于相机平面的泼溅深度顺序(投影到相机平面,然后按深度排序)遍历所有泼溅,直到达到饱和阈值。对于每个 splat,我们首先检查像素坐标是否在最小和最大 x 和 y 值定义的边界内。此检查确定我们是应该继续渲染还是忽略这些坐标的 splat。接下来,我们使用 splat 均值、splat 协方差和像素坐标计算像素坐标处的高斯 splat 强度。

def compute_gaussian_weight(pixel_coord: torch.Tensor,  # (1, 2) tensorpoint_mean: torch.Tensor,inverse_covariance: torch.Tensor,
) -> torch.Tensor:difference = point_mean - pixel_coordpower = -0.5 * difference @ inverse_covariance @ difference.Treturn torch.exp(power).item()

我们将此权重乘以 splat 的不透明度,以获得一个名为 alpha 的参数。在将此新值添加到像素之前,我们需要检查是否已超过饱和度阈值。如果像素已经饱和,我们不希望其他 splat 后面的 splat 影响像素着色并使用计算资源。因此,这里使用一个阈值,允许我们在超过该阈值时停止渲染。在实践中,我们从 1 开始将饱和阈值乘以 min(0.99, (1 — alpha))  得到一个新值。如果此值小于阈值 (0.0001),我们将停止渲染该像素并认为它已完成。如果没有,我们将添加由saturation * (1 — alpha)值加权的颜色,并将饱和度更新为 new_saturation = old_saturation * (1 — alpha)。最后,我们遍历每个像素(或实际中的每个 16x16 图块)并进行渲染。完整的代码如下所示。

def render_pixel(self,pixel_coords: torch.Tensor,points_in_tile_mean: torch.Tensor,colors: torch.Tensor,opacities: torch.Tensor,inverse_covariance: torch.Tensor,min_weight: float = 0.000001,) -> torch.Tensor:total_weight = torch.ones(1).to(points_in_tile_mean.device)pixel_color = torch.zeros((1, 1, 3)).to(points_in_tile_mean.device)for point_idx in range(points_in_tile_mean.shape[0]):point = points_in_tile_mean[point_idx, :].view(1, 2)weight = compute_gaussian_weight(pixel_coord=pixel_coords,point_mean=point,inverse_covariance=inverse_covariance[point_idx],)alpha = weight * torch.sigmoid(opacities[point_idx])test_weight = total_weight * (1 - alpha)if test_weight < min_weight:return pixel_colorpixel_color += total_weight * alpha * colors[point_idx]total_weight = test_weight# in case we never reach saturationreturn pixel_color
http://www.yidumall.com/news/44691.html

相关文章:

  • 腾讯企点怎么群发消息seo整站优化外包
  • 做博客网站的空间容量需要多少网络营销公司招聘
  • 德阳网站建设ghxhwlsem推广竞价托管
  • 如何使用网站模板建设网站seo教程网站优化
  • 溧水做网站百度快照推广一年要多少钱
  • 如何给企业做网站推广网推公司
  • 福田做网站福田网站建设福田建网站500站长工具海角
  • 网站上图片的链接怎么做教育培训机构
  • 网站建设演示ppt模板最近新闻头条最新消息
  • 河北建设工程招标协会网站西安seo阳建
  • 十大抖音代运营公司网站排名优化教程
  • 服装门户系统网站杭州百度整站优化服务
  • 猪八戒网可以做福彩网站吗郴州网络推广公司排名
  • 建设网站需要两种服务支持seo百度贴吧
  • 重庆cms建站模板郑州百度推广哪家好
  • 政府网站制作平台东营网站建设费用
  • 龙岗 营销型网站建设优化设计五年级下册数学答案
  • 做外贸主要在那些网站找单东莞seo管理
  • 外贸商城b2c网站建设长沙网站优化体验
  • 手机网站 微信支付广州seo优化电话
  • 南京知名网站建设公司搜索引擎推广的常见形式有
  • wordpress服务框山西seo谷歌关键词优化工具
  • php动态网站开发唐四薪课后答案郑州seo顾问培训
  • 自己做的网站怎么植入erp电脑优化用什么软件好
  • 做购物网站是怎么链接银行app拉新推广怎么做
  • 专门做布料的网站深圳seo外包
  • 做外贸的 需要什么样的网站怎么在百度上做推广
  • 网站模板设计工具军事新闻头条
  • 保定市城乡规划建设局网站苏州优化网站公司
  • 简易网站开发时长google play三件套