IP Library › Granted Patent US 12,354,211
Granted Patent B2
US 12,354,211 · App. 18/179,920 · Granted Jul 8, 2025

Ray tracing between AR and real objects

Inventors: Ron Weitzman (Tel Aviv, IL); Oleksandr Pyshchenko (Los Angeles, CA); Raz Perlman (Rehovot, IL); Vivian Su (Maynard, MA); Almog Mizrahi (Tel Aviv, IL)
Assignee: SNAP INC.
G06T15/06G06T19/006
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,354,211
App. No.
18/179,920
Granted
Jul 8, 2025
Kind
B2
Abstract

Aspects of the present disclosure involve a system for performing ray tracing between augmented reality (AR) and real-world objects. The system accesses, by the mobile device, a video depicting a first object. The system obtains, by the mobile device, a three-dimensional (3D) model of the first object. The system applies, by the mobile device, a ray tracing process to the 3D model of the first object to estimate an optical effect on a portion of the first object relative to a second object that is depicted in the video. The system modifies a visual property of the portion of the first object based on the optical effect relative to the second object.

Claims (75)

1. A method comprising:

accessing, by a mobile device, a video depicting a first object;

obtaining, by the mobile device, a three-dimensional (3D) model of the first object,

in response to receiving input that activates a ray tracing process, applying, by the mobile device, the ray tracing process to the 3D model of the first object to estimate an optical effect on a portion of the first object relative to a second object that is depicted in the video;

modifying a visual property of the portion of the first object based on the optical effect relative to the second object;

detecting a first region of the second object in a first frame of the video;

storing a texture corresponding to the first region that is depicted in the first frame;

determining that the first region of the second object is no longer visible in a second frame of the video that is subsequent to the first frame; and

modifying the visual property of the portion of the first object depicted in the second frame using the texture of the first region that is no longer visible in the second frame.

2. The method of claim 1 , further comprising:

in response to receiving the input to activate the ray tracing process, animating, over a plurality of video frames subsequent, the modifying of the visual property of the portion of the first object based on the optical effect relative to the second object.

3. The method of claim 1 , wherein the first object is a first augmented reality (AR) object, and wherein the second object is a second AR object.

4. The method of claim 1 , wherein the optical effect comprises at least one of reflection, refraction, soft shadows, scattering, depth of field, motion blur, ambient occlusion, or dispersion.

5. The method of claim 1 , further comprising:

applying a first trained machine learning model to the first object to generate a segmentation of the first object; and

applying a second trained machine learning model to the segmentation to generate the 3D model of the first object, the 3D model of the first object comprising a transparent version of the first object.

6. The method of claim 1 , further comprising:

in response to applying the ray tracing process, identifying a region of the second object that is intersected by one or more rays associated with the portion of the first object;

retrieving a light attribute of the region of the second object; and

blending the light attribute of the region of the second object into a light attribute of the portion of the first object.

7. The method of claim 6 , further comprising:

receiving configuration information indicating a level of quality for the optical effect.

8. The method of claim 7 , further comprising:

determining that the level of quality is greater than a threshold quality level; and

in response to determining that the level of quality level is greater than the threshold quality level, generating a plurality of rays as the one or more rays in association with a single pixel of the portion of the first object.

9. The method of claim 7 , further comprising:

determining that the level of quality is less than a threshold quality level; and

in response to determining that the level of quality is less than the threshold quality level, generating a single ray as the one or more rays in association with a single pixel of the portion of the first object.

10. The method of claim 6 , wherein the light attribute of the region of the second object comprises a first intensity, and wherein the light attribute of the portion of the first object comprises a second intensity.

11. The method of claim 1 , further comprising:

selecting between generating a single ray and generating a plurality of rays for the ray tracing process based on a determined level of quality associated with the optical effect indicated in configuration information.

12. The method of claim 1 , wherein the portion of the first object reflects the texture of the first region of the second object, wherein the first object comprises an augmented reality fashion item, and wherein the second object comprises a body part of a real-world person depicted in the video.

13. The method of claim 1 , further comprising:

constructing a three-dimensional (3D) model of the second object that represents textures of the second object of portions that are visible and portions that are absent from the video over a plurality of video frames.

14. The method of claim 13 , further comprising:

in response to applying the ray tracing process, identifying the first region of the second object that is intersected by one or more rays associated with the portion of the first object in the second frame;

identifying the first region in the 3D model of the second object; and

retrieving the texture of the first region from the 3D model to modify the visual property of the portion of the first object.

15. The method of claim 1 , further comprising:

applying, in a first frame of the video, a first modification to the portion of the first object in response to determining that the second object has a first light attribute;

determining that the second object has been changed to have a second light attribute in a second frame of the video; and

in response to determining that the second object has been changed to have the second light attribute, applying, in the second frame of the video, a second modification to the portion of the first object.

16. The method of claim 1 , further comprising:

displaying the first frame of the video that depicts the first object and the second object;

in response to receiving the input to activate the ray tracing process, animating, over a plurality of video frames subsequent to the first frame, the modifying of the visual property of the portion of the first object based on the optical effect relative to the second object, wherein the animating comprises:

presenting, in the second frame subsequent to the first frame, a first section of the first object comprising initial visual attributes depicted in the first frame unmodified by the optical effect while a second section of the first object comprises a modified visual attribute that is generated based on the optical effect; and

presenting, in a third frame subsequent to the second frame, the first section of the first object comprising the modified visual attributes associated with the optical effect together with the second section of the first object.

17. A system comprising:

at least one processor of a mobile device programmed to perform operations comprising:

accessing, by the mobile device, a video depicting a first object;

obtaining, by the mobile device, a three-dimensional (3D) model of the first object;

in response to receiving input that activates a ray tracing process, applying, by the mobile device, the ray tracing process to the 3D model of the first object to estimate an optical effect on a portion of the first object relative to a second object that is depicted in the video;

modifying a visual property of the portion of the first object based on the optical effect relative to the second object;

detecting a first region of the second object in a first frame of the video;

storing a texture corresponding to the first region that is depicted in the first frame;

determining that the first region of the second object is no longer visible in a second frame of the video that is subsequent to the first frame; and

modifying the visual property of the portion of the first object depicted in the second frame using the texture of the first region that is no longer visible in the second frame.

18. A non-transitory machine-readable storage medium that includes instructions that, when executed by one or more processors of a mobile device, cause the mobile device to perform operations comprising:

accessing, by the mobile device, a video depicting a first object;

obtaining, by the mobile device, a three-dimensional (3D) model of the first object;

in response to receiving input that activates a ray tracing process, applying, by the mobile device, the ray tracing process to the 3D model of the first object to estimate an optical effect on a portion of the first object relative to a second object that is depicted in the video;

modifying a visual property of the portion of the first object based on the optical effect relative to the second object;

detecting a first region of the second object in a first frame of the video;

storing a texture corresponding to the first region that is depicted in the first frame;

determining that the first region of the second object is no longer visible in a second frame of the video that is subsequent to the first frame; and

modifying the visual property of the portion of the first object depicted in the second frame using the texture of the first region that is no longer visible in the second frame.

19. The non-transitory machine-readable storage medium of claim 18 , the operations comprising:

applying, in a first frame of the video, a first modification to the portion of the first object in response to determining that the second object has a first light attribute;

determining that the second object has been changed to have a second light attribute in a second frame of the video; and

in response to determining that the second object has been changed to have the second light attribute, applying, in the second frame of the video, a second modification to the portion of the first object.

20. The non-transitory machine-readable storage medium of claim 18 , the operations comprising:

displaying the first frame of the video that depicts the first object and the second object;

in response to receiving the input to activate the ray tracing process, animating, over a plurality of video frames subsequent to the first frame, the modifying of the visual property of the portion of the first object based on the optical effect relative to the second object, wherein the animating comprises:

presenting, in the second frame subsequent to the first frame, a first section of the first object comprising initial visual attributes depicted in the first frame unmodified by the optical effect while a second section of the first object comprises a modified visual attribute that is generated based on the optical effect; and

presenting, in a third frame subsequent to the second frame, the first section of the first object comprising the modified visual attributes associated with the optical effect together with the second section of the first object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2023
From: WEITZMAN, RON; PYSHCHENKO, OLEKSANDR; PERLMAN, RAZ; SU, VIVIAN; MIZRAHI, ALMOG
To: SNAP INC.
Reel/Frame 062910/0593 →
Continuity (1)
Related Publication 20240303904A1 · Sep 12, 2024
References Cited (71)
US 10319094B1 · Chen et al. · 2019 [cited by applicant]
US 10607567B1 · Schritter · 2020 [cited by examiner]
US 11024060B1 · Ma et al. · 2021 [cited by applicant]
US 11335077B1 · Salmani Rahimi et al. · 2022 [cited by applicant]
US 11430247B2 · Kokkinos et al. · 2022 [cited by applicant]
US 20100085425A1 · Tan · 2010 [cited by examiner]
US 20100277478A1 · Ihm · 2010 [cited by examiner]
US 20110026808A1 · Kim et al. · 2011 [cited by applicant]
US 20130033486A1 · McCartney · 2013 [cited by examiner]
US 20130250050A1 · Kanaujia et al. · 2013 [cited by applicant]
US 20140063016A1 · Howson · 2014 [cited by examiner]
US 20170094243A1 · Venkataraman et al. · 2017 [cited by applicant]
US 20170329413A1 · Kramer et al. · 2017 [cited by applicant]
US 20170372505A1 · Bhat et al. · 2017 [cited by applicant]
US 20180182160A1 · Boulton · 2018 [cited by examiner]
US 20180204111A1 · Zadeh et al. · 2018 [cited by applicant]
US 20190088004A1 · Lucas et al. · 2019 [cited by applicant]
US 20190122425A1 · Sheffield · 2019 [cited by examiner]
US 20190220992A1 · Li et al. · 2019 [cited by applicant]
US 20190259136A1 · Shpalensky et al. · 2019 [cited by applicant]
US 20190370648A1 · Zoph et al. · 2019 [cited by applicant]
US 20190378323A1 · Bakalash et al. · 2019 [cited by applicant]
US 20200105056A1 · Mitchell et al. · 2020 [cited by applicant]
US 20200111233A1 · Thyagharajan et al. · 2020 [cited by applicant]
US 20200175375A1 · Chen et al. · 2020 [cited by applicant]
US 20200184721A1 · Ge et al. · 2020 [cited by applicant]
US 20210150197A1 · Kokkinos et al. · 2021 [cited by applicant]
US 20210150806A1 · Guler et al. · 2021 [cited by applicant]
US 20210209797A1 · Lee et al. · 2021 [cited by applicant]
US 20210233305A1 · Garcia et al. · 2021 [cited by applicant]
US 20210241522A1 · Guler et al. · 2021 [cited by applicant]
US 20210271866A1 · Hayakawa et al. · 2021 [cited by applicant]
US 20210334993A1 · Woodford · 2021 [cited by applicant]
US 20210350621A1 · Bailey et al. · 2021 [cited by applicant]
US 20210358197A1 · Shysheya et al. · 2021 [cited by applicant]
US 20210358203A1 · Dixit · 2021 [cited by applicant]
US 20210398351A1 · Papandreou et al. · 2021 [cited by applicant]
US 20210407163A1 · Chai et al. · 2021 [cited by applicant]
US 20220101608A1 · Hu et al. · 2022 [cited by applicant]
US 20220182534A1 · Bleyer · 2022 [cited by examiner]
US 20220198209A1 · Spears · 2022 [cited by examiner]
US 20220375247A1 · Kokkinos et al. · 2022 [cited by applicant]
US 20220383582A1 · Chen · 2022 [cited by examiner]
US 20230009367A1 · Goodman et al. · 2023 [cited by applicant]
CN 109859296A · 2019 [cited by applicant]
CN 110197149A · 2019 [cited by applicant]
CN 113168710A · 2021 [cited by applicant]
CN 114930399A · 2022 [cited by applicant]
WO WO2020088092A1 · 2020 [cited by applicant]
WO WO2020099338A1 · 2020 [cited by applicant]
WO WO2021094526A1 · 2021 [cited by applicant]
WO WO2021227694A1 · 2021 [cited by applicant]
WO WO2021262667A1 · 2021 [cited by applicant]
WO WO2024186936A1 · 2024 [cited by applicant]
CN-109859296-A (Machine Translation on Aug. 24, 2022), (2019), 52 pgs. [cited by applicant]
Bogo, Federica, et al., “Keep It SMPL: Automatic Estimation of 3D Human Pose and Shape from a Single Image”, International Conference on Financial Cryptography and Data Security; [Lecture Notes in Computer Science; Lect… [cited by applicant]
Guler, Riza Alp, et al., “DensePose: Dense Human Pose Estimation in the Wild”, arXiv: 1802.00434v1, (Feb. 2018), 12 pgs. [cited by applicant]
Guler, Riza Alp, et al., “HoloPose: Holistic 3D Human Reconstruction in-the-Wild”, CVPR, (Jun. 20, 2019), 10884-10894. [cited by applicant]
Kanazawa, Angjoo, et al., “End-to-End Recovery of Human Shape and Pose”, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) IEEE Computer Society, (Jun. 1, 2018), 10 pgs. [cited by applicant]
Kato, Hiroharu, et al., “Neural 3D Mesh Renderer”, IEEE/CVF Conference on Computer Vision and Pattern Recognition, IEEE, (Jun. 18, 2018), 3907-3916. [cited by applicant]
Neverova, N, et al., “Dense Pose Transfer”, Lecture Notes in Computer Science—Computer Vision—ECCV 2018—15th European Conference vol. 11207 LNC, (2018), 128-143. [cited by applicant]
Pavlakos, Georgios, et al., “Expressive Body Capture: 3D Hands, Face, and Body From a Single Image (with supplementary material)”, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), (Jun. 15, 2019), … [cited by applicant]
Sanzari, Marta, et al., “Bayesian Image Based 3D Pose Estimation”, International Conference on Financial Cryptography and Data Security; [Lecture Notes in Computer Science; Lect.Notes Computer]. Springer. Berlin. Heidel… [cited by applicant]
Shysheya, Aliaksandra, et al., “Textured Neural Avatars”, 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), IEEE, (Jun. 15, 2019), 2382-2392. [cited by applicant]
Sigal, Leonid, et al., “Combined discriminative and generative articulated pose and non-rigid shape estimation”, Nips'07 Proceedings of the 20th International Conference on Neural Information Processing Systems, (Dec. 2… [cited by applicant]
Zanfir, Andrei, et al., “Monocular 3D Pose and Shape Estimation of Multiple People in Natural Scenes: The Importance of Multiple Scene Constraints”, In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVP… [cited by applicant]
Zhang, Jian, et al., “Learning 3D faces from 2D images via Stacked Contractive Autoencoder”, Neurocomputing, vol. 257, (Sep. 27, 2017), 67-78. [cited by applicant]
Zhang, Quanshi, et al., “When 3D Reconstruction Meets Ubiquitous RGB-D Images”, IEEE Conference on Computer Vision and Pattern Recognition IEEE, (2014), 700-707. [cited by applicant]
“International Application Serial No. PCT/US2024/018737, International Search Report mailed Jul. 10, 2024”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT/US2024/018737, Written Opinion mailed Jul. 10, 2024”, 7 pgs. [cited by applicant]
Lira Dos Santos, Artur, et al., “Real Time Ray Tracing for Augmented Reality”, 2012 14th Symposium on Virtual and Augmented Reality, (May 2012), 131-140. [cited by applicant]