Discovery Helps Computers Draw Intricate Two-Dimensional Animations

2022-11-20 11:53:03
关注

Nearly 60 years ago computer scientist Ruth Weiss of Bell Labs published a pioneering algorithm to turn three-dimensional objects into two-dimensional drawings from any angle. But she ran into a problem with depicting outlines—an issue that has remained a computational geometry riddle for decades. With the ubiquity of computer animation today, this “hidden line problem” is now even more pressing.

The trickiest part of rendering a 3-D model in 2-D, a crucial step in computer animation, is the deceptively simple matter of the contour: the 2-D visual outline of the 3-D object. In a perfect world, a contour could be delineated with infinite precision—but the real world demands finite values. So modern algorithms start by covering the entire 3-D model with a mesh of tiny triangular “tiles,” then determining whether each tile would be facing a viewer or facing away. Next, algorithms use these tiles to build line segments that serve as the contour. But the results can create faulty, flickering lines when used in a stylized animation—and researchers were unsure why.

Credit: Aaron Hertzmann and Pierre Bénard (restyled by Amanda Montañez); Source: “ConTesse: Accurate Occluding Contours for Subdivision Surfaces,” by Chenxi Liu et al., in ACM Transactions on Graphics; June 2022

It has proved impossible to generate a triangle mesh fine enough to avoid every error of this kind. As Meta Reality Labs researcher Stéphane Grabli, an Oscar nominee for visual effects, explains, “The feeling was that with enough subdivision, it should be possible to create a mesh that allows exact visibility computation for these contours. This turned out to be wrong.” The resulting errors limit the complexity of nonphotorealistic illustration styles, Grabli adds.

Now, in ACM Transactions on Graphics, University of British Columbia computer scientist Chenxi Liu and her colleagues propose an algorithmic solution, called ConTesse, that focuses on fixing the contour rather than the mesh. Zooming in by a factor of 1,600 on algorithm-generated contours, Liu identified small twists where the contour lines incorrectly crossed one another—and thus the tiles could not be consistently identified as facing toward or away from the viewer. “I experimented with many surfaces and saw that the algorithm failed on most of them,” she says.

Credit: Aaron Hertzmann and Pierre Bénard (restyled by Amanda Montañez); Source: “ConTesse: Accurate Occluding Contours for Subdivision Surfaces,” by Chenxi Liu et al., in ACM Transactions on Graphics; June 2022

The researchers’ new algorithm first traces a 3-D shape’s edges with line segments, then squashes this approximate contour down to 2-D and tries to tile its interior with triangles. Wherever that interior mesh mistakenly crosses over itself, the algorithm modifies that part of the contour, such as by untwisting it or adding finer line segments. The algorithm then regenerates the mesh using the repaired contour and projects it all back onto the 3-D object for a final visibility check.

Credit: Aaron Hertzmann and Pierre Bénard (restyled by Amanda Montañez); Source: “ConTesse: Accurate Occluding Contours for Subdivision Surfaces,” by Chenxi Liu et al., in ACM Transactions on Graphics; June 2022

The team’s innovation was to realize that the problem was with the contour itself. Previously it was unclear that such invalid contours were even possible, so fixes treated the flickering symptoms rather than the cause, Liu says. Grabli, who was not involved in the new research, concurs: “The paper proves why early solutions couldn’t work.”

参考译文
Discovery帮助计算机绘制复杂的二维动画
大约60年前,贝尔实验室的计算机科学家露丝·威斯(Ruth Weiss)发表了一项开创性算法,可以从任何角度将三维物体转化为二维图像。但她遇到了描绘轮廓的问题——这个问题几十年来一直困扰着计算几何领域。如今,随着电脑动画的普及,这种“隐藏线问题”变得愈发重要。在将三维模型渲染为二维图像的过程中,最关键但又看似简单的一环是轮廓(contour):三维物体在二维视觉上的轮廓线。在理想世界中,轮廓可以用无限精度描绘出来——但现实世界要求的是有限的数值。因此,现代算法首先用许多小型三角形“瓦片”覆盖整个三维模型,然后确定每个瓦片是正对着观看者还是背对着。接着,算法利用这些瓦片构建轮廓线段。但这种方法在风格化动画中可能会导致错误、闪烁的线条,研究人员也一直不清楚原因。来源:亚伦·赫兹曼(Aaron Hertzmann)和皮埃尔·贝纳德(Pierre Bénard)(由阿曼达·蒙塔内兹(Amanda Montañez)重新设计);出处:陈曦(Chenxi Liu)等人撰写的《ConTesse: Subdivision Surfaces的精确遮挡轮廓》(ConTesse: Accurate Occluding Contours for Subdivision Surfaces),发表于《ACM图形学交易》(ACM Transactions on Graphics),2022年6月。要生成足够精细的三角形网格以避免所有此类错误,已被证明是不可能的。Facebook Reality Labs的研究员斯蒂芬·格拉布利(Stéphane Grabli)曾因视觉效果获得奥斯卡奖提名,他解释道:“当时大家感觉,只要细分足够多,就应该能够生成一个允许精确计算轮廓可视性的网格。事实证明这是错误的。”格拉布利补充说,这些错误限制了非写实插画风格的复杂性。现在,来自不列颠哥伦比亚大学的计算机科学家陈曦及其同事在《ACM图形学交易》上提出了一种新的算法解决方案,称为ConTesse,其重点是修复轮廓而非网格。陈曦通过放大1600倍观察由算法生成的轮廓,发现了一些细微的扭曲,这些扭曲导致轮廓线错误地交叉,从而无法明确判断瓦片是朝向或背离观看者。她表示:“我尝试了许多曲面,发现该算法在大多数情况下都失败了。”来源:亚伦·赫兹曼和皮埃尔·贝纳德(由阿曼达·蒙塔内兹重新设计);出处:陈曦等人撰写的《ConTesse: Subdivision Surfaces的精确遮挡轮廓》(ConTesse: Accurate Occluding Contours for Subdivision Surfaces),发表于《ACM图形学交易》(ACM Transactions on Graphics),2022年6月。研究人员的新算法首先用线段追踪三维形状的边缘,然后将这些近似轮廓压缩为二维,并尝试用三角形填充其内部。在内部网格错误地交叉的地方,算法会修改该部分的轮廓,例如解开扭曲部分或添加更精细的线段。然后算法使用修复后的轮廓重新生成网格,并将所有内容重新投影回三维物体上,进行最后的可视性检查。来源:亚伦·赫兹曼和皮埃尔·贝纳德(由阿曼达·蒙塔内兹重新设计);出处:陈曦等人撰写的《ConTesse: Subdivision Surfaces的精确遮挡轮廓》(ConTesse: Accurate Occluding Contours for Subdivision Surfaces),发表于《ACM图形学交易》(ACM Transactions on Graphics),2022年6月。陈曦团队的创新在于意识到问题的根源在于轮廓本身。以前并不清楚是否存在这样的无效轮廓,因此以往的修复方法只处理了闪烁的症状,而没有触及根本原因,陈曦表示。没有参与新研究的格拉布利表示同意:“这篇文章证明了为什么早期的解决方案无法奏效。”
您觉得本篇内容如何
评分

评论

您需要登录才可以回复|注册

提交评论

scientific

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

中芯集成招股书

提取码
复制提取码
点击跳转至百度网盘