IP Library Granted Patent US 11,543,933
Granted Patent B2
US 11,543,933 · App. 16/751,093 · Granted Jan 3, 2023

Manipulating virtual environment using non-instrumented physical object

Inventors: Cecil Piya (West Lafayette, IN); Vinayak Raman Krishnamurthy (West Lafayette, IN); Karthik Ramani (West Lafayette, IN)
Assignee: Purdue Research Foundation
G06F3/04815G06F3/011
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 11,543,933
App. No.
16/751,093
Filed
Jan 23, 2020
Granted
Jan 3, 2023
Kind
B2
Examiner
YANG, RYAN R
Art Unit
2616
USPC
345/633
Abstract

A method of manipulating a three-dimensional image file including a virtual object includes obtaining image information in a processing device of a non-instrumented physical object manipulated by a user, such image information including movement information; and causing virtual movement of the virtual object based on the movement information. A method of shaping a virtual object includes obtaining image information including movement information; and determining a shape of the virtual object based on the movement information. A method of modifying a virtual object includes obtaining image information including movement information; and altering a virtual surface appearance of at least a part of the virtual object based on the movement information. Systems and computer-readable media are also described.

Claims (80)

1. A system, comprising:

(a) at least one processor; and

(b) memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations including:

(i) obtaining first image information of an environment including a non-instrumented physical object held and manipulated by a user;

(ii) identifying a gesture in the first image information;

(iii) in response to identifying the gesture, recognizing the non-instrumented physical object as a proxy, wherein recognizing the non-instrumented physical object as the proxy includes:

(A) identifying, based at least partly on the first image information, a geometry of the non-instrumented physical object;

(B) accessing a database including geometry information; and

(C) identifying that the geometry of the non-instrumented physical object matches geometry information in the database;

(iv) in response to recognizing the non-instrumented physical object as the proxy, obtaining second image information including movement information representing at least one movement of the non-instrumented physical object; and

(v) causing virtual movement of a virtual object based on the movement information;

wherein the non-instrumented physical object omits fiducials, transponders, or other features specifically configured for detection by or communication with a computerized system.

2. The system according to claim 1 , wherein the operations further include:

(a) associating a shape of the non-instrumented physical object with a predetermined set of constrained movements; and

(b) causing the virtual movement of the virtual object within the predetermined set of constrained movements.

3. The system according to claim 1 , wherein the non-instrumented physical object includes at least one of a block, a rod, a substantially planar object, or a grasping tool having grasping functionality.

4. The system according to claim 1 , wherein:

the non-instrumented physical object is a first non-instrumented physical object and the movement information is first movement information, and

the operations further include:

(a) updating position and orientation information associated with the virtual object based on the virtual movement;

(b) obtaining third image information of a second non-instrumented physical object manipulated by at least one of the user or another user, the third image information including second movement information, the second non-instrumented physical object being different from the first non-instrumented physical object; and

(c) altering a shape of the virtual object based on the second movement information and the updated position and orientation information.

5. The system according to claim 1 , wherein:

the non-instrumented physical object is a first non-instrumented physical object, the movement information is first movement information, and the virtual object is a first virtual object, and

the operations further include:

(a) obtaining third image information of a second non-instrumented physical object manipulated by at least one of the user or another user, the second non-instrumented physical object being different from the first non-instrumented physical object;

(b) causing virtual movement of a first virtual object based on the first movement information;

(c) detecting a first relative virtual spatial relationship between the first virtual object and a second virtual object, the first relative virtual spatial relationship satisfying a stored constraint; and

(d) in response to detecting the first relative virtual spatial relationship, causing virtual movement of the first virtual object into a second relative virtual spatial relationship associated with the stored constraint.

6. The system according to claim 1 , wherein the operations further include:

(a) determining a geometric parameter of the non-instrumented physical object based at least in part on the second image information;

(b) altering a shape of the virtual object based at least in part on the determined geometric parameter; and

(c) determining a virtual dimension corresponding to the altered shape of the virtual object.

7. The system according to claim 1 , wherein the movement information is first movement information and the at least one movement is a first movement, the operations further including:

(a) obtaining third image information of the environment including the non-instrumented physical object;

(b) identifying that the third image information depicts the non-instrumented physical object resting on a surface;

(c) in response to identifying that the third image information depicts the non-instrumented physical object resting on the surface, disengaging the non-instrumented physical object as the proxy.

8. A system, comprising:

(a) at least one processor; and

(b) memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations including:

(i) obtaining first image information of an environment including a non-instrumented physical object held and manipulated by a user, wherein the non-instrumented physical object includes at least one of a block, a rod, a substantially planar object, or a grasping tool having grasping functionality;

(ii) identifying a gesture in the first image information;

(iii) in response to identifying the gesture, recognizing the non- instrumented physical object as a proxy;

(iv) in response to recognizing the non-instrumented physical object as the proxy, obtaining second image information including movement information; and

(v) determining a shape of a virtual object in a three-dimensional image file based on the movement information;

wherein the non-instrumented physical object omits fiducials, transponders, or other features specifically configured for detection by or communication with a computerized system.

9. The system according to claim 8 , wherein:

the movement information indicates a path of the non-instrumented physical object through the environment; and

the shape of the virtual object is determined to have a volume corresponding to the path.

10. The system according to claim 9 , wherein a cross-section of the shape expands along the path of the non-instrumented physical object through the environment.

11. The system according to claim 10 , wherein the operations further include:

(a) obtaining an additional input contemporaneous with the obtaining of the movement information; and

(b) varying the cross-section of the shape at a location along the path corresponding in time to the additional input.

12. The system according to claim 9 , wherein the shape is determined to have a uniform cross-section along the path of the non-instrumented physical object through the environment.

13. The system according to claim 8 , wherein the determining the shape of the virtual object includes altering an existing shape of the virtual object.

14. The system according to claim 13 , wherein the operations further include accessing a predetermined set of alteration capabilities associated with the non-instrumented physical object manipulated by the user.

15. The system according to claim 14 , wherein:

the predetermined set of alteration capabilities corresponds to subtracting virtual material from the virtual object to alter the shape of the virtual object; and

determining the shape includes adjusting boundary data of the virtual object to remove a portion of the virtual object based at least in part on the movement information.

16. The system according to claim 15 , wherein:

the movement information includes information of a slicing motion of the non-instrumented physical object; and

determining the shape includes determining the portion of the virtual object to be removed based at least in part on a virtual trajectory of the slicing motion with respect to a virtual location of the virtual object.

17. The system according to claim 14 , wherein:

predetermined set of alteration capabilities corresponds to locally deforming or stretching the virtual object to alter the shape of the virtual object; and

determining the shape includes adjusting boundary data of the virtual object to deform the virtual object based at least in part on the movement information.

18. A system, comprising:

(a) at least one processor; and

(b) memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations including:

(i) obtaining first image information of an environment including a non-instrumented physical object held and manipulated by a user;

(ii) identifying a gesture in the first image information;

(iii) in response to identifying the gesture, recognizing the non-instrumented physical object as a proxy;

(iv) in response to recognizing the non-instrumented physical object as the proxy, obtaining second image information including movement information;

(v) associating a shape of the non-instrumented physical object with a predetermined set of constrained movements;

(vi) causing a virtual movement of a virtual object based on the movement information within the predetermined set of constrained movements; and

(vii) altering a virtual surface appearance of at least a part of a virtual object in a three-dimensional image file based on the movement information;

wherein the non-instrumented physical object omits fiducials, transponders, or other features specifically configured for detection by or communication with a computerized system.

19. The system according to claim 18 , wherein altering the virtual surface appearance includes at least one of altering a color of the virtual object or altering a texture of the virtual object.

20. The system according to claim 18 , wherein:

the movement information indicates a path of the non-instrumented physical object through the environment; and

the shape of the virtual object is determined to have a volume corresponding to the path.

Assignments (4)
CONFIRMATORY LICENSE Recorded May 23, 2023
From: PURDUE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 063725/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2022
From: KRISHNAMURTHY, VINAYAK RAMAN
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 061886/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2022
From: RAMANI, KARTHIK; VINAYAK, FNU; PIYA, CECIL
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 061342/0748 →
CONFIRMATORY LICENSE Recorded Jan 8, 2021
From: PURDUE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 054942/0579 →
Continuity (3)
Continuation 14712695 · May 14, 2015
Provisional Application 61992888 · May 14, 2014
Related Publication 20200159388A1 · May 21, 2020