IP Library › Granted Patent US 12,223,615
Granted Patent B2
US 12,223,615 · App. 16/917,791 · Granted Feb 11, 2025

Apparatus and method for approximate trilinear interpolation for scene reconstruction

Inventors: Vivek De (Beaverton, OR); Ram Krishnamurthy (Portland, OR); Amit Agarwal (Hillsboro, OR); Steven Hsu (Lake Oswego, OR); Monodeep Kar (Atlanta, GA)
Assignee: Intel Corporation
G06T3/4007G06T7/70G06T15/06G06T17/205G06T2207/20021
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,223,615
App. No.
16/917,791
Granted
Feb 11, 2025
Kind
B2
Abstract

A method comprising: dividing a 3D space into a voxel grid comprising a plurality of voxels; associating a plurality of distance values with the plurality of voxels, each distance value based on a distance to a boundary of an object; selecting an approximate interpolation mode for stepping a ray through a first one or more voxels of the 3D space responsive to the first one or more voxels having distance values greater than a threshold; and detecting the ray reaching a second one or more voxels having distance values less than the first threshold; and responsively selecting a precise interpolation mode for stepping the ray through the second one or more voxels.

Claims (52)

1. A method comprising:

dividing a three-dimensional (3D) space into a voxel grid comprising a plurality of voxels;

associating a plurality of distance values with the plurality of voxels, each distance value based on a distance to a boundary of an object;

selecting a first interpolation mode for stepping a ray through a first one or more voxels of the 3D space responsive to the first one or more voxels having distance values greater than a threshold, wherein stepping the ray through the first one or more voxels in the first interpolation mode comprises performing interpolation of the ray through the first one or more voxels by passing distance values associated with the first one or more voxels through a sign-preserving shift circuit, the sign-preserving shift circuit performs incrementally bit shifting on the distance values, wherein a number of bits in the bit shifting performed on a distance value of the distance values corresponding to a voxel of the first one or more voxels is selected based on a plurality of voxel address fractions of the voxel;

detecting the ray reaching a second one or more voxels having distance values less than the threshold; and

responsively selecting a second interpolation mode that is more precise than the first interpolation mode for stepping the ray through the second one or more voxels.

2. The method of claim 1 wherein the threshold comprises a value of 0, wherein the ray is traversed in accordance with the first interpolation mode for voxels having positive distance values, and wherein the ray is traversed in accordance with the second interpolation mode for voxels having negative distance values.

3. The method of claim 1 wherein the distance values comprise truncated signed distance function (TSDF) values.

4. The method of claim 3 further comprising:

determining the boundary of the object based on sign values of the TSDF values associated with voxels on different sides of the boundary.

5. The method of claim 4 wherein voxels external to the object are associated with positive TSDF values and voxels inside the object are associated with negative TSDF values.

6. The method of claim 1 further comprising:

determining a maximum possible negative TSDF value of a first voxel using a magnitude of address values associated with the first voxel in combination with a sign of a first TSDF value associated with the first voxel; and

using the maximum possible negative TSDF value as the distance value.

7. The method of claim 1 further comprising:

performing a plurality of multiplications when in the second interpolation mode to multiply a plurality of distance values by a corresponding plurality of address fractions of a voxel to generate a plurality of intermediate products; and

adding the plurality of intermediate products to generate a final interpolated result.

8. An apparatus comprising:

a first circuit to perform a first interpolation of a ray through a first set of voxels in a voxel grid based on coarse grain magnitudes of a first set of voxel address values and first distance values associated with the first set of voxels, wherein the first circuit is operable responsive to the first distance values indicating that the first set of voxels being traversed by the ray are external to an object, wherein performing the first circuit of the ray through the first set of voxels comprises passing the first distance values associated with the first set of voxels through a sign-preserving shift circuit, the sign-preserving shift circuit to perform bit shifting on the first distance values, wherein a number of bits in the bit shifting performed on a distance value of the first distance values corresponding to a voxel of the first set of voxels is selected based on a plurality of voxel address fractions of the voxel; and

a second circuit to perform a second interpolation of the ray that is more precise than the first interpolation through a second set of voxels in the voxel grid responsive to detecting that second distance values associated with the second set of voxels indicate that the second set of voxels are not external to the object.

9. The apparatus of claim 8 further comprising:

a third circuit to determine that the first distance values are above a specified threshold and to responsively indicate that the first set of voxels are external to the object, the third circuit to determine that one or more of the second distance values are below the specified threshold and to responsively indicate that the second set of voxels are not external to the object.

10. The apparatus of claim 9 wherein the specified threshold comprises a value of 0.

11. The apparatus of claim 9 wherein the first and second distance values comprise truncated signed distance function (TSDF) values.

12. The apparatus of claim 8 wherein the first circuit is configured to:

generate a control signal based on a set of voxel address values and a current distance value; and

select an output distance value from a set of input values responsive to the control signal, the set of input values comprising a 0 value, the current distance value, and one or more fractions of the current distance value,

wherein the first circuit is to generate an interpolated value based on the output distance value and the set of voxel address values.

13. The apparatus of claim 12 wherein the one or more fractions of the current distance value comprise half the current distance value, a quarter of the current distance value, and an eighth of the current distance value.

14. The apparatus of claim 12 , wherein generating the one or more fractions of the current distance value comprises shifting the current distance value.

15. The apparatus of claim 8 wherein the second circuit is configured to:

multiply a plurality of distance values with a plurality of address values or values derived from one or more of the plurality of address values to generate a plurality of intermediate products; and

generate a sum of the plurality of intermediate products to generate an interpolated distance value.

16. The apparatus of claim 10 wherein a boundary of the object is identified based on different signs of the first and second distance values associated with voxels on different sides of the boundary.

17. The apparatus of claim 9 wherein a maximum possible negative distance value of a voxel associated with the first set of distance values is determined and used to determine that the voxel is external to the object.

18. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform:

dividing a three-dimensional (3D) space into a voxel grid comprising a plurality of voxels;

associating a plurality of distance values with the plurality of voxels, each distance value based on a distance to a boundary of an object;

selecting a first interpolation mode for stepping a ray through a first one or more voxels of the 3D space responsive to the first one or more voxels having distance values greater than a threshold, wherein stepping the ray through the first one or more voxels in the first interpolation mode comprises performing interpolation of the ray through the first one or more voxels by passing distance values associated with the first one or more voxels through a sign-preserving shift circuit, the sign-preserving shift circuit performing bit shifting on the distance values, wherein a number of bits in the bit shifting performed on a distance value of the distance values corresponding to a voxel of the first one or more voxels is selected based on a plurality of voxel address fractions of the voxel;

detecting the ray reaching a second one or more voxels having distance values less than the threshold; and

responsively selecting a second interpolation mode that is more precise than the first interpolation mode for stepping the ray through the second one or more voxels.

19. The non-transitory machine-readable medium of claim 18 wherein the threshold comprises a value of 0, wherein the ray is traversed in accordance with the first interpolation mode for voxels having positive distance values, and wherein the ray is traversed in accordance with the second interpolation mode for voxels having negative distance values.

20. The non-transitory machine-readable medium of claim 18 wherein the distance values comprise truncated signed distance function (TSDF) values.

21. The non-transitory machine-readable medium of claim 20 further comprising program code to cause the machine to perform the operations of:

determining the boundary of the object based on sign values of the TSDF values associated with voxels on different sides of the boundary.

22. The non-transitory machine-readable medium of claim 21 wherein voxels external to the object are associated with positive TSDF values and voxels inside the object are associated with negative TSDF values.

23. The non-transitory machine-readable medium of claim 18 further comprising program code to cause the machine to perform:

determining a maximum possible negative TSDF value of a first voxel using a magnitude of address values associated with the first voxel in combination with a sign of a first TSDF value associated with the first voxel; and

using the maximum possible negative TSDF value as the distance value.

24. The non-transitory machine-readable medium of claim 18 further comprising program code to cause the machine to perform:

performing a plurality of multiplications when in the second interpolation mode to multiply a plurality of distance values by a corresponding plurality of address fractions of a voxel to generate a plurality of intermediate products; and

adding the plurality of intermediate products to generate a final interpolated result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2020
From: DE, VIVEK; KRISHNAMURTHY, RAM; AGARWAL, AMIT; HSU, STEVEN; KAR, MONODEEP
To: INTEL CORPORATION
Reel/Frame 054387/0479 →
Continuity (1)
Related Publication 20210407039A1 · Dec 30, 2021
References Cited (19)
US 6184894B1 · Rosman · 2001 [cited by examiner]
US 20020152248A1 · Bentz · 2002 [cited by examiner]
US 20120306876A1 · Shotton · 2012 [cited by examiner]
US 20150024337A1 · Blassnig · 2015 [cited by examiner]
US 20160148433A1 · Petrovskaya · 2016 [cited by examiner]
US 20190149697A1 · Novikov · 2019 [cited by examiner]
US 20190180499A1 · Caulfield · 2019 [cited by examiner]
EP 1437688B1 · 2007 [cited by examiner]
Kim et al., “Design of High-Performance HOG Feature Calculation Circuit for Real-Time Pedestrian Detection,” 2015, J. Inf. Sci. Eng., 31, 2055-2073. (Year: 2015). [cited by examiner]
Shicai et al., “An high efficient and speed algorithm of Ray Casting in volume rendering,” 2011, 2011 International Conference on Consumer Electronics, Communications and Networks (CECNet), pp. 1027-1030 (Year: 2011). [cited by examiner]
Johansson, “Low Power and Low Complexity Shift-and-Add Based Computations,” 2008, Linköping University Electronic Press, Linköping Studies in Science and Technology Dissertations, ISSN 0345-7524 ; 1201 (Year: 2008). [cited by examiner]
Byrne et al., “Applications of the VOLA Format for 3D Data Knowledge Discovery”, 2017 13th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD), IEEE, Jul. 2017, pp. 1-7. [cited by applicant]
Canelhas, et al., “A Survey of Voxel Interpolation Methods and an Evaluation of Their Impact on Volumetric Map-Based Visual Odometry”, 2018 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2018, 7 … [cited by applicant]
Nardi et al., “Introducing SLAMBench, A Performance and Accuracy Benchmarking Methodology for SLAM”, 2015 IEEE International Conference on Robotics and Automation (Icra), IEEE, Feb. 26, 2015, 8 pages. [cited by applicant]
Newcombe, et al., “KinectFusion: Real-Time Dense Surface Mapping and Tracking”, 2011 10th IEEE International Symposium on Mixed and Augmented Reality, IEEE, Oct. 2011, pp. 127-136. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/070,095, Sep. 13, 2023, 37 pages. [cited by applicant]
Chiew et al., “A Heterogeneous Computing System for Coupling 3D Endomicroscopy with Volume Rendering in Real-Time Image Visualization”, Computers in Industry, vol. 65, Issue 2, 2014, pp. 367-381. [cited by applicant]
Dandekar et al., “Multiobjective Optimization of FPGA-Based Medical Image Registration”, 16th International Symposium on Field-Programmable Custom Computing Machines, 2008, pp. 183-192. [cited by applicant]
Final Office Action, U.S. Appl. No. 17/070,095, Mar. 6, 2024, 41 pages. [cited by applicant]