IP Library › Granted Patent US 12,530,759
Granted Patent B2
US 12,530,759 · App. 18/285,462 · Granted Jan 20, 2026

System and method for point cloud generation

Inventors: Timothy Bradley (London, GB); Marina Villanueva Barreiro (London, GB); Oliver Hume (London, GB); Ryan Spick (Sheffield, GB); James Walker (York, GB)
Assignees: Sony Interactive Entertainment Europe Limited; University of York
G06T7/0002G06T17/00G06T2207/10028G06T2207/20081G06T2207/20084G06T2207/30168G06T2210/56
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,530,759
App. No.
18/285,462
Granted
Jan 20, 2026
Kind
B2
Abstract

A method of point cloud generation comprises generating, by a processor, a first point cloud comprising a first set of generated data points; calculating, by the processor, a loss function representative of the quality of the first point cloud, the loss function comprising a smoothness term obtained by constructing vectors between neighbouring data points in the point cloud, performing vector multiplication between neighbouring pairs of vectors, and outputting a smoothness term based on the result of the vector multiplication; and generating, by the processor, a second point cloud comprising a second set of generated data points based at least in part on the calculated loss function of the first point cloud.

Claims (99)

1 . A method of point cloud generation comprising:

generating, by a processor, a first point cloud comprising a first set of generated data points;

calculating, by the processor, a loss function representative of quality of the first point cloud, the loss function comprising a smoothness term obtained by constructing vectors between neighbouring data points in the point cloud, performing vector multiplication between neighbouring pairs of vectors, and outputting a smoothness term based on the result of the vector multiplication, wherein the smoothness term, S, for the point cloud is obtained by taking an average value of a dot product between neighbouring vectors in the point cloud and is calculated as:

S

=

1

-

|

∑

i

=

0

n

-

1

⁢

v

i

·

v

i

+

1

n

|

where v i and v i+1 are neighbouring pairs of vectors each constructed between neighbouring data points in the point cloud, and n is a total number of vectors constructed in the data point set; and

generating, by the processor, a second point cloud comprising a second set of generated data points based at least in part on the calculated loss function of the first point cloud.

2 . The method according to claim 1 , in which contributions to the smoothness term from respective neighbouring pairs of vectors is responsive to a corresponding local smoothness of a reference model.

3 . The method according to claim 1 , wherein the method comprises an initial step of receiving, from a user, an input vicinity control, and wherein the vector multiplication is done between vectors within a spatial vicinity corresponding to the input vicinity control.

4 . The method according to claim 1 , wherein the first and second point clouds are generated by a machine learning system that is updated responsive to the loss function between generation of the first and second point clouds.

5 . The method according to claim 1 , wherein the step of generating a first point cloud comprises inputting a noise vector to a generator of a generative adversarial network (GAN) trained to generate a set of generated data points and output the first point cloud.

6 . The method according to claim 5 , wherein the step of calculating a loss function comprises the steps of:

inputting the first point cloud to a discriminator of the GAN, trained to analyse the point cloud and output a binary cross entropy (BCE) term;

calculating the smoothness term; and

combining a pre-determined ratio of the BCE term and the smoothness term to form the loss function.

7 . The method according to claim 1 , wherein the step of generating a second point cloud comprises comparing the smoothness term of the first point cloud to a threshold smoothness value and generating the second point cloud based at least in part on the comparison.

8 . The method according to claim 7 , wherein the threshold smoothness value is determined by calculating a smoothness term of one or more training point cloud data used to train a generative adversarial network (GAN).

9 . A non-transitory computer-readable medium encoded with a computer program comprising computer-implemented instructions that, when run on a computer, cause the computer to implement a method of point cloud generation comprising:

generating, by a processor, a first point cloud comprising a first set of generated data points;

calculating, by the processor, a loss function representative of quality of the first point cloud, the loss function comprising a smoothness term obtained by constructing vectors between neighbouring data points in the point cloud, performing vector multiplication between neighbouring pairs of vectors, and outputting a smoothness term based on the result of the vector multiplication, wherein the smoothness term, S, for the point cloud is obtained by taking an average value of a dot product between neighbouring vectors in the point cloud and is calculated as:

S

=

1

-

❘

"\[LeftBracketingBar]"

∑

i

=

0

n

-

1

⁢

v

i

·

v

i

+

1

n

❘

"\[RightBracketingBar]"

where v i and v i+1 are neighbouring pairs of vectors each constructed between neighbouring data points in the point cloud, and n is a total number of vectors constructed in the data point set; and

generating, by the processor, a second point cloud comprising a second set of generated data points based at least in part on the calculated loss function of the first point cloud.

10 . A system for point cloud generation comprising one or more processors comprising:

a point cloud generation unit, configured to generate a first point cloud comprising a first set of generated data points;

a loss function determining unit, configured to calculate a loss function representative of quality of the first point cloud, the loss function comprising a smoothness term obtained by constructing vectors between neighbouring data points in the point cloud, perform vector multiplication between neighbouring pairs of vectors and output a smoothness term based on the result of vector multiplication, wherein the smoothness term, S, for the point cloud is obtained by taking an average value of a dot product between neighbouring vectors in the point cloud and is calculated as:

S

=

1

-

❘

"\[LeftBracketingBar]"

∑

i

=

0

n

-

1

⁢

v

i

·

v

i

+

1

n

❘

"\[RightBracketingBar]"

where v i and v i+1 are neighbouring pairs of vectors each constructed between neighbouring data points in the point cloud, and n is a total number of vectors constructed in the data point set; and wherein

the point cloud generation unit is further configured to generate a second point cloud comprising a second set of generated data points based at least in part on the calculated loss function of the first point cloud.

11 . A system according to claim 10 , further comprising a memory, wherein the memory includes at least one generator of a generative adversarial network (GAN) and at least one discriminator of a GAN, wherein the generator and the discriminator are respectively configured to operate the point cloud generation unit and the loss function determining unit.

12 . A system according to claim 11 , wherein the point cloud generation unit is configured to store generated point clouds on the memory and the loss function determining unit is arranged to access the memory and retrieve generated point clouds from the memory.

13 . A system for point cloud generation comprising:

a point cloud generation processor adapted to generate point clouds using a machine learning system previously trained using the system of claim 10 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2023
From: BRADLEY, TIMOTHY; BARREIRO, MARINA VILLANUEVA; HUME, OLIVER; SPICK, RYAN; WALKER, JAMES
To: SONY INTERACTIVE ENTERTAINMENT EUROPE LIMITED; UNIVERSITY OF YORK
Reel/Frame 065483/0651 →
Priority Claims (1)
GB 2104923 · Apr 7, 2021 · national
Continuity (1)
Related Publication 20240193747A1 · Jun 13, 2024
References Cited (12)
US 20180341836A1 · Lim · 2018 [cited by examiner]
US 20200314435A1 · Tourapis · 2020 [cited by examiner]
US 20210241470A1 · Tang · 2021 [cited by examiner]
US 20220319675A1 · Mork · 2022 [cited by examiner]
US 20220351332A1 · Jia · 2022 [cited by examiner]
US 20230047211A1 · Abuelwafa · 2023 [cited by examiner]
CN 111724478A · 2020 [cited by applicant]
CN 112634456A · 2021 [cited by applicant]
Han Xian-Feng et al.: “Image-Based 3D Object Reconstruction: State-of-the-Art and Trends in the Deep Learning Era”, IEEE Transactions on Pattern Analysis and Machine Intelligence, IEEE Computer Society, USA, vol. 43, No… [cited by applicant]
Kato Hiroharu et al: “Neural 3D Mesh Renderer”, 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, IEEE, Jun. 18, 2018 (Jun. 18, 2018), pp. 3907-3916, XP033476362. [cited by applicant]
International Search Report including Written Opinion for PCT/EP2022/055247 mailed Jul. 8, 2022. 15 pgs. [cited by applicant]
Combined Search and Examination Report for Application No. GB2104923.4 dated Oct. 5, 2021. 8 pgs. [cited by applicant]