Method of real-time tracking of moving/flexible surfaces
First Claim
Patent Images
1. A method on a computer for real time tracking of a moving flexible surfaces, comprising:
- a) synchronously acquiring left and right image frames from left and right camera members of a stereo camera, of a region of interest on a moving flexible at a time K;
b) computing, from said left and right image frames 3D point cloud data in a coordinate frame of said stereo camera at said time K;
c) fitting a parametric surface to said 3D point cloud at said time K;
d) extracting a location of at least three features of interest in said left image frame at said time K in 2D pixel coordinates, extracting a location of each at least three feature of interest in said right image frame at said time K in 2D pixel coordinates, storing said 2D pixel coordinates of said locations of said features of interest in said left and right image frames at said time K in a vision processor memory storage;
e) computing, using said stored 2D pixel coordinates of said locations of said features of interest in said left and right image frames at said time K, a 3D location of said features of interest at said time K in a coordinate frame of said camera and storing said 3D locations in said vision processor memory storage;
f) mapping said 3D location of said features of interest onto said parametric surface at time K and storing the parametric surface with mapped 3D locations in the vision processor memory storage;
g) retrieving from the vision processor memory storage 3D locations of said features of interest from previous left and right image frames synchronously taken at a time K−
1;
h) computing a best fit rigid transform using said retrieved 3D locations of the features of interest at time K−
1 and the 3D locations of the features at time K;
i) retrieving from the vision processor memory storage a parametric surface with mapped 3D locations at time K−
1, applying said rigid transformation to said retrieved parametric surface with mapped 3D locations at time K−
1 to obtain an intermediate parametric surface with mapped 3D locations;
j) matching the 3D locations of features of interest on the intermediate parametric surface at time K−
1 to the same corresponding 3D locations on the stored parametric surface at time K and from said correspondences computing a stretching transformation; and
k) using said rigid and stretching transformations to calculate at time K a location of any region on said moving flexible surface based on a location of the same region on said moving flexible surface at time K−
1 stored in said vision processor memory storage.
10 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method for real-time tracking of moving flexible surfaces and an image guided surgical robotic system using this tracking method. A vision system acquires an image of the moving flexible surface and identifies and tracks visual features at different times. The method involves computing both rigid and stretching transformations based on the changing positions of the visual features which are then used to track any area of interest on the moving flexible surface as it evolves over time. A robotic surgical system using this real-time tracking is disclosed.
-
Citations
21 Claims
-
1. A method on a computer for real time tracking of a moving flexible surfaces, comprising:
-
a) synchronously acquiring left and right image frames from left and right camera members of a stereo camera, of a region of interest on a moving flexible at a time K; b) computing, from said left and right image frames 3D point cloud data in a coordinate frame of said stereo camera at said time K; c) fitting a parametric surface to said 3D point cloud at said time K; d) extracting a location of at least three features of interest in said left image frame at said time K in 2D pixel coordinates, extracting a location of each at least three feature of interest in said right image frame at said time K in 2D pixel coordinates, storing said 2D pixel coordinates of said locations of said features of interest in said left and right image frames at said time K in a vision processor memory storage; e) computing, using said stored 2D pixel coordinates of said locations of said features of interest in said left and right image frames at said time K, a 3D location of said features of interest at said time K in a coordinate frame of said camera and storing said 3D locations in said vision processor memory storage; f) mapping said 3D location of said features of interest onto said parametric surface at time K and storing the parametric surface with mapped 3D locations in the vision processor memory storage; g) retrieving from the vision processor memory storage 3D locations of said features of interest from previous left and right image frames synchronously taken at a time K−
1;h) computing a best fit rigid transform using said retrieved 3D locations of the features of interest at time K−
1 and the 3D locations of the features at time K;i) retrieving from the vision processor memory storage a parametric surface with mapped 3D locations at time K−
1, applying said rigid transformation to said retrieved parametric surface with mapped 3D locations at time K−
1 to obtain an intermediate parametric surface with mapped 3D locations;j) matching the 3D locations of features of interest on the intermediate parametric surface at time K−
1 to the same corresponding 3D locations on the stored parametric surface at time K and from said correspondences computing a stretching transformation; andk) using said rigid and stretching transformations to calculate at time K a location of any region on said moving flexible surface based on a location of the same region on said moving flexible surface at time K−
1 stored in said vision processor memory storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method on a computer for real time tracking of a moving flexible surfaces, comprising:
-
a) acquiring at time K, using a sensor, a 3D point cloud by scanning a moving flexible surface; b) fitting a parametric surface to said 3D point cloud at said time K; c) computing and labeling at least three 3D features from said 3D point cloud at said time K in a coordinate frame of said sensor and storing said 3D locations of said at least three 3D features in a vision processor memory storage; f) mapping said 3D location of said 3D features of interest onto said parametric surface at time K and storing the parametric surface with mapped 3D locations in the vision processor memory storage; g) retrieving from the vision processor memory storage 3D locations of said features of interest from previous left and right image frames synchronously taken at a time K−
1;h) computing a best fit rigid transform using said retrieved 3D locations of the features of interest at time K−
1 and the 3D locations of the features at time K;i) retrieving from the vision processor memory storage a parametric surface with mapped 3D locations at time K−
1, applying said rigid transformation to said retrieved parametric surface with mapped 3D locations at time K−
1 to obtain an intermediate parametric surface with mapped 3D locations;j) matching the 3D locations of features of interest on the intermediate parametric surface at time K−
1to the same corresponding 3D locations on the stored parametric surface at time K and from said correspondences computing a stretching transformation; andk) using said rigid and stretching transformations to calculate at time K a location of any region on said moving flexible surface based on a location of the same region on said moving flexible surface at time K−
1 stored in said vision processor memory storage. - View Dependent Claims (20)
-
-
21. An article of manufacture, which includes a non-transitory computer readable medium having stored thereon a computer program for real time tracking of a deformable surface, comprising:
-
a) a first code segment which, when executed on a computer, analyses left and right image frames from left and right camera members of a stereo camera of a region of interest on a deformable surface at a time K and computes, from said left and right image frames, 3D point cloud data in a coordinate frame of said stereo camera at said time K, and fits a parametric surface to said 3D point cloud at said time K; b) a second code segment which, when executed on a computer, extracts a location of at least three features of interest in said left image frame at said time K in 2D pixel coordinates, extracts a location of each at least three feature of interest in said right image frame at said time K in 2D pixel coordinates, and stores said 2D pixel coordinates of said locations of said features of interest in said left and right image frames at said time K in a storage device; c) a third code segment which, when executed on a computer, computes, using said stored 2D pixel coordinates of said locations of said features of interest in said left and right image frames at said time K, a 3D location of said features of interest at said time K in a coordinate frame of said camera and storing said 3D locations in said storage device; d) a fourth code segment which, when executed on a computer, maps said 3D location of said features of interest onto said parametric surface at time K and stores the parametric surface with mapped 3D locations in the storage device; e) a fifth code segment which, when executed on a computer, retrieves from the storage device 3D locations of said features of interest from previous left and right image frames synchronously taken at a time K−
1 and computes a best fit rigid transform using said retrieved 3D locations of the features of interest at time K−
1 and the 3D locations of the features at time K;f) a sixth code segment which, when executed on a computer, retrieves from the storage device a parametric surface with mapped 3D locations at time K−
1, applies said rigid transformation to said retrieved parametric surface with mapped 3D locations at time K−
1 to obtain an intermediate parametric surface with mapped 3D locations and matches the 3D locations of features of interest on the intermediate parametric surface at time K−
1 to the same corresponding 3D locations on the stored parametric surface at time K and from said correspondences computes a stretching transformation; andg) a seventh code segment which, when executed on a computer, uses said rigid and stretching transformations to calculate at time K a location of any region on said deformable surface based on a location of the same region on said deformable surface at time K−
1 stored in said storage device.
-
Specification