The present teaching generally relates to computers. More specifically, the present teaching relates to signal processing.
Knowing spatial information of a three-dimensional (3D) object is an essential need for different applications in various industries. For instance, the 3D location, the 3D shape, and the volumetric measurement of a target object may be determined first before controlling a robot to grab and move the target object. Different sensors and devices have been developed to obtain 3D spatial information of an object, including LiDAR sensors, depth cameras, as well as 3D scanners. Such traditional solutions usually all come with a high cost and have varying accuracy, reliability, and applicability in different scenarios. For instance, LiDAR sensors may be deployed in an unmanned vehicle as a sensor to detect the distances to surrounding obstacles and have gain popularity in recent years.
However, some applications may have requirements on such sensors, making the traditional solutions impossible or entirely inappropriate to be used to acquire 3D information about a target object. One typical scenario is the medical field. For example, during in a minimally invasive surgery, 3D information of an organ is needed in order to enable a robot arm to control a surgical instrument to approach a certain position on the organ to perform an operation. An example operation is resection of a target organ or a portion thereof. In this case, it is inappropriate to use traditional 3D sensor solutions because of their respective physical features. Although multiple laparoscopic cameras may be deployed for determining 3D information of an organ, it is difficult to achieve the goal because a laparoscopic camera has only a limited field of view and it can move around in a quite restricted space. Thus, it remains a significant challenge to acquire 3D information of a target organ during a medical procedure to obtain useful guidance to a surgical team. In addition, some target organs, such as a liver, may undergo deformation during a surgery (e.g., due to the breathing of the patient), making it even more difficult to obtain accurate 3D information.
Thus, there is a need for a solution that addresses these challenges.
The teachings disclosed herein relate to methods, systems, and programming for information management. More particularly, the present teaching relates to methods, systems, and programming related to content summarization.
In one example, a method is disclosed for generating a point cloud of a target organ using a camera and a laser emitter inserted into a patient's body near the target organ and tracked by a tracker. The laser emitter emits, at tracked moving locations, laser beams that hit the target organ at multiple points which are captured by the camera in an image. A three-dimensional (3D) coordinate for each point is determined based on a laser line equation, connecting the laser emitter and the point, and an image line equation, connecting the camera and the point. The 3D coordinates for the multiple points are used to generate the point cloud.
In a different example, a system is disclosed for generating a point cloud of a target organ. The system includes a tracker, a camera, a laser emitter, and a three-dimensional (3D) point cloud determiner. The tracker is deployed in a tracker coordinate system in a surgery for operating on the target organ of a patient. The camera and the laser emitter are inserted into the patient near the target organ so that laser beams embittered by the laser emitter at different tracked moving positions hit the surface of the target organ at respective points which are captured by the camera in an image. With respect to each of the points, the 3D point cloud determiner determines a 3D coordinate in the tracker space based on a laser line equation of a laser line connecting the laser emitter and the respective point and an image line equation of an image line connecting the camera and the respective point. Both the laser line equation and the image line equation are expressed in the tracker space. The point cloud is then generated based on the 3D coordinates of the multiple points representing a depth map.
Other concepts relate to software for implementing the present teaching. A software product, in accordance with this concept, includes at least one machine-readable non-transitory medium and information carried by the medium. The information carried by the medium may be executable program code data, parameters in association with the executable program code, and/or information related to a user, a request, content, or other additional information.
Another example is a machine-readable, non-transitory and tangible medium having information recorded thereon for generating a point cloud of a target organ using a camera and a laser emitter inserted into a patient's body near the target organ and tracked by a tracker. The laser emitter emits, at tracked moving locations, laser beams that hit the target organ at multiple points which are captured by the camera in an image. A three-dimensional (3D) coordinate for each point is determined based on a laser line equation, connecting the laser emitter and the point, and an image line equation, connecting the camera and the point. The 3D coordinates for the multiple points are used to generate the point cloud.
Additional advantages and novel features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The advantages of the present teachings may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed examples discussed below.
The methods, systems and/or programming described herein are further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:
In the following detailed description, numerous specific details are set forth by way of examples in order to facilitate a thorough understanding of the relevant teachings. However, it should be apparent to those skilled in the art that the present teachings may be practiced without such details. In other instances, well-known methods, procedures, components, and/or systems have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present teachings.
The present teaching discloses exemplary methods, systems, and implementations for acquiring a 3D model for a target organ fitted with real-time acquired depth map of the target organ to enable effective control of a robot arm to approach any 3D location on the surface of the target organ during a surgery. In some embodiments, the fitted 3D model is derived by transforming a 3D model initially obtained for the same target organ to fit a point cloud acquired in real-time from the target organ as observed during a medical procedure. According to the present teaching, a point cloud represents a depth map of, e.g., a part of the surface of a target organ as observed during a medical procedure (e.g., via a laparoscopic camera inserted into a patient's body) and is obtained through, e.g., triangulation between a camera and a laser emitter configured to operate according to the present teaching.
According to the present teaching, to obtain a 3D model fitted in alignment with the target organ 130 to enable a robot (or robot arm) to control a surgical instrument to reach a certain location of the target organ, both the camera 140 and the laser emitter 160 are inserted into the patient's body and operate therein. Both the camera 140 and the laser emitter 160 may move around inside the patient's body independently in a restrictive space around. In this configuration, the camera 140 and the laser emitter 160 may have, respectively, a marker attached thereon, i.e., a marker 150 on camera 140 and a marker 170 on emitter 160. The tracker system 180 may also be previously calibrated so that what is observed in the field of view of the tracker system 180 has a known calibrated 3D position in the tracker coordinate system. Given that, the tracker system 180 may track the position of the markers 150 and 170, through which, the positions of the camera 140 and the laser emitter 160 in the tracker coordinate system may be determined given that the rigid spatial relationships between the camera marker 150 and the camera 140 we well as that between the emitter marker 170 and the emitter 160 have been previously calibrated and known. As such, for each tracked location of the camera marker 150, a 3D position of the camera 140 in the tracker space may be accordingly computed. Similarly, using a tracked 3D location of the emitter marker 170, the 3D position of the emitter 160 in the tracker space may be determined. Through mechanism of the tracker system 180, the movement of the camera 140 and/or that of the laser emitter 160 may be tracked in real-time and their dynamic positions can also be determined according to what is discussed herein.
In some embodiments, the camera 140 has its own coordinate system. As the camera 140 and its marker 150 are configured with a fixed spatial relationship, the camera marker 150 has a position in this camera marker space. The camera 140 may be calibrated so that in a 2D image 130′ (e.g., corresponding to the target organ 130) acquired by the camera, each pixel therein has a corresponding 3D coordinate in the camera marker space based on the calibration parameters. A camera viewing line (or image line) may be formed between the 3D coordinate corresponding to the 2D pixel and a point on a target organ (in 3D) being observed. Both the 3D coordinate corresponding to the 2D pixel, and the image line may be expressed accordingly in the camera marker space. The image line extends indefinitely in the camera marker space, and it intercepts the 3D target organ at some surface point of the organ.
Similarly, the laser emitter 160 may operate in its own coordinate system. Because the laser emitter 160 and the emitter marker 170 thereon have a calibrated spatial relationship, the emitter marker 170 has a position in this laser marker space and so is the laser emitter 160. For each laser beam that the laser emitter 160 emits, a laser line may be formed which may be represented by a laser line equation formulated with respect to the laser marker coordinate system based on parameters associated with the laser emitter 160 as well as calibration parameters. The laser line extends indefinitely in the laser marker space until it hits a 3D object (e.g., a target organ) at some 3D position. The image line and the laser line may intersect on the surface of a target organ, as shown in
When the laser emitter 220 emits a laser beam onto the object surface 240-1 of the target object 240, the laser beam forms a laser line 270 that hits the object surface 240-1 at a point 280, which may be determined based on the operational parameters of the laser emitter 220. Because the laser emitter 220 is calibrated in its own coordinate system, this laser line 270 may be represented according to an equation expressed with respect to the laser emitter marker space Lm. In general, any line in a 3D space may be characterized by a line equation, which may be determined in different ways. For example, a line may be represented by 2 points Pa, Pb in the 3D space.
The line may also be represented based on a point P (e.g., representing an origin point) and a vector V (e.g., representing a direction):
If we define an X-unit vector as the default direction, then with a 3D pose Ta may be defined as:
Define operator ⊗ as
In some embodiments, the image line and laser line representations in their own coordinate systems can be calibrated by selecting 2 points along the line. For the image line, this may include a camera center point Pcc|C and a mirrored image point Pmi|C, where “|C” indicates that it is in the camera coordinate system. For the laser line, it can be represented by 2 pre-calibrated points, e.g., Pt1|L and Pt2|L, where Pt1|L may be a point that the beam line reaches a certain distance (e.g., at 100 mm) from the laser lens and Pt2|L may be a point where the beam line reaches double of that distance (e.g., at 200 mm) from the laser lens. Similarly, the symbol “|L” indicates that the points are represented in the laser coordinate system. Thus, an equivalent point-vector representation may be obtained for a laser line as follows:
The intersection point 280 may be captured by the camera 210 on the image plane 250 at an image point 290. This is shown in
As discussed herein, the line intersection point 280 corresponds to a 3D point on the object surface 240-1 of the target object 240. The 3D position of point 280 may be obtained by identifying the intersection point of the image line 260 and the laser line 270. As the equations for these lines are initially formulated in their respective coordinate systems (the camera marker space Cm and the laser emitter marker space Lm), to obtain the 3D coordinate of an intersection point of these lines, their line equations may first be transformed from their respective coordinate systems to a common coordinate system. In general, given a coordinate system A and a coordinate system B, transforming a coordinate in B to A (in other words, get the coordinate in A from a known coordinate in B) can be represented as below:
A line representation in coordinate system B can be converted to a line representation in A by:
To determine the 3D coordinate of the intersecting point 280, the tracker coordinate system CT (XT, YT, ZT) may be used as the common coordinate system. This may be done via calibration, i.e., calibrating the camera marker space Cm with the tracker space CT, and calibrating the laser emitter marker space Lm with the tracker space CT. This may yield two transformation matrices, one corresponding to a C-T transformation matrix (for transformation between the camera marker space Cm and tracker space CT) and the other an L-T transformation matrix (for transformation between the laser emitter marker space Lm and the tracker space CT).
With tracker calibration, the coordinate conversion between the camera center and the camera's marker (TM_CC) and that between the laser center and the laser's marker (TM_LL) may be calibrated. The poses of the camera marker and the laser marker may be tracked in the tracker space in real-time, denoted as (TTM_C, TTM_L). Therefore, we can get camera and laser's coordinate transformation to tracker space:
To convert the points on both the image line and the laser line to the tracker space, the corresponding line equation for the image line and the line equation for the laser line in the tracker space may be respectively obtained as:
L
image|T(α|Pcc|C,Vmi|C)
L
laser|T(β|Pt1|L,Vt2|L)
With the derived C-T transformation matrix, the image line equation for the image line 260 expressed in Cm may be transformed into an image line equation expressed in CT. Similarly, the laser line equation for laser line 270 in Lm may be transformed into a laser line equation in the tracker space CT. This is illustrated in
Then the intersection point may be calculated as:
Such an intersection point 280 of two lines represented in the tracker space is represented by a 3D coordinate in the tracker space CT. With the mechanism disclosed herein, when the laser emitter 220 operates to emit multiple laser beams, as shown in
With this mechanism, when there is a sufficient number of laser beams with an adequate dense coverage on the surface of the target object 240, a point cloud for the target object surface may be obtained.
A point cloud with more densely distributed points can characterize more accurately a surface. While the use of the DOE 300 as illustrated above may improve the scope and increase the number of points in a point cloud, additional means may be adopted to further increase both the scope and density of a point cloud.
As discussed herein, in some applications such as a medical procedure, the present teaching may be applied to fit a previously constructed 3D model for a target organ (e.g., a 3D model for the liver of a patient based on previously acquired medical data such as CT scans) to a point cloud generated from the target organ during a surgery with the mechanism as disclosed herein (i.e., via a laparoscopic camera 210 and a laser emitter 220 with a DOE 300 inserted into a patient's body). The point cloud so acquired may include generally the surface of the target organ facing the laparoscopic camera and the laser emitter. In the meantime, the 3D model for the target organ models the entire volume of the target organ (as well as all the internal anatomical structures in the target organ). Given that, fitting the 3D model to the point cloud generated in real-time during the surgery may provide important information for offering useful guidance to the operation, including the orientation of the target organ, the deformation, as well as the part of the target organ that is not visible or reachable by the laparoscopic camera and the laser lights. By fitting the 3D models to the point cloud, the depth information of the entire surface of the target organ can be estimated. With this mechanism according to the present teaching, although a target organ may deform during a surgery, the fitted 3D model can provide a good approximation of the entire target organ, especially the part that is visible by the laparoscopic camera and the laser emitter.
The point cloud as illustrated in
As discussed herein, before a surgery, various calibrations are needed.
The tracker space CT may also be calibrated with respect to the coordinate systems of the robot arms so that the 3D information in CT associated with a point cloud may be transformed into the 3D information in the robot arm space, say CR, to facilitate the control of the robot arms to reach any point on the target organ according to the 3D information expressed in CR. When the previously constructed 3D model is fit against the point cloud in CT to obtain a fitted 3D model in CT, to enable the control of a robot arm to manipulate a surgical instrument to approach anywhere of a target organ (now modeled by the fitted 3D model), the fitted 3D model may also be transformed from CT to CR.
To carry out these calibrations, the pre-surgery portion of framework 500 as shown in
At the surgery stage, the C-T and L-T transformation matrices (520 and 530) as well as the 3D model 540 are utilized to obtain a fitted 3D model based on a point cloud generated via triangulation in a setting with a laparoscopic camera 210, a laser emitter 220, and a tracker 230, in accordance with the present teaching. The laser emitter 220 in a surgery room may be deployed with a DOE so that each laser beam emitted can yield a plurality of diffracted laser beams hitting the surface of a target organ. The in-surgery portion of the framework 500, as shown in
The 3D point cloud determiner 570 may be provided for creating a point cloud by determining the line intersection points 280 (including 280′, 280″, etc.) as described herein in accordance with the present teaching. The intersection points in the point cloud represented in the tracker space CT may then be used by the point cloud model fitting unit 580 to fit the previously constructed 3D model 540 to the points in the point cloud to yield a fitted 3D model in the tracker space CT, which may further be transformed into the surgical tool robot arm space CR to enable the surgical tool robot arm controller 590 to control the surgical tool robot arm 595 to approach any of the surface point on the target organ. The surgical tool robot arm controller 590 may be provided to take an instruction specifying a 3D position for a surgical instrument to reach and accordingly issues commands to manipulate the surgical tool robot arm to move the surgical instrument towards the specified 3D position. For instance, the specified 3D position may correspond to a surface point on the target organ (e.g., a liver) where a cut (e.g., in a resection operation) is to be made. In this case, the surgical robot arm may be controlled to move a surgical instrument such as a cutter to the surface point to get ready for the incision to be made at that location.
The calibration unit 510 may then carry out various calibrations, including calibrating, at 610, the camera 210 with respect to the camera marker space Cm and calibrating, at 620, the laser emitter 220 with respect to the laser emitter marker space Lm. In addition, different spaces may also be calibrated so that coordinates in one coordinate system may be transformed into another. For example, the C-T transformation matrix 520 may be obtained via calibration, at 630, and the L-T transformation matrix 530 may be obtained, at 640, by calibrating against the laser marker space and the tracker space. Other calibrations may also be carried out (not shown in
In operation, the laser emitter 220 emits, at 665, laser beams onto the target organ to create laser beam dots on the surface of the target organ. The laparoscopic camera 210 then acquires a 2D image with such laser beam dots therein, which may be detected, at 670, from the captured 2D image at certain pixel locations corresponding to the laser beam dots. Based on the laser beams emitted and the detected pixels corresponding to the laser beam dots in the laparoscopic image, the 3D point cloud determiner 570 estimates, at 675, a point cloud representing an estimated depth map of the part of the target organ surface covered by the laser beams. Details related to the 3D point cloud determiner 570 are provided with reference to
In some situations, an ILE′ and an LLE′ may not intersect exactly. This may happen due to, e.g., the resolution of the image plane.
As discussed herein, the laser emitter 220 may emit laser beams from different locations (see
As discussed herein, all the intersecting points obtained based on laser beams embittered at different positions, a point cloud can be generated via all intersection points 797 and used, by the point cloud model fitting unit 580, to fit the 3D model 540 to the point cloud to align the 3D model 540 to the actual surface of the target organ in the surgery to derive a fitted 3D model in the tracker space CT, which may then be converted to the surgical tool robot arm space CR to allow the surgical tool robot arm controller 590 to control the surgical robot arm to move a surgical tool to a location on the target organ in the same coordinate system.
To implement various modules, units, and their functionalities described in the present disclosure, computer hardware platforms may be used as the hardware platform(s) for one or more of the elements described herein. The hardware elements, operating systems and programming languages of such computers are conventional in nature, and it is presumed that those skilled in the art are adequately familiar with to adapt those technologies to appropriate settings as described herein. A computer with user interface elements may be used to implement a personal computer (PC) or other type of workstation or terminal device, although a computer may also act as a server if appropriately programmed. It is believed that those skilled in the art are familiar with the structure, programming, and general operation of such computer equipment and as a result, the drawings should be self-explanatory.
Computer 900, for example, includes COM ports 950 connected to and from a network connected thereto to facilitate data communications. Computer 900 also includes a central processing unit (CPU) 920, in the form of one or more processors, for executing program instructions. The exemplary computer platform includes an internal communication bus 910, program storage and data storage of different forms (e.g., disk 970, read only memory (ROM) 930, or random-access memory (RAM) 940), for various data files to be processed and/or communicated by computer 900, as well as possibly program instructions to be executed by CPU 920. Computer 900 also includes an I/O component 960, supporting input/output flows between the computer and other components therein such as user interface elements 980. Computer 900 may also receive programming and data via network communications.
Hence, aspects of the methods of information analytics and management and/or other processes, as outlined above, may be embodied in programming. Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine-readable medium. Tangible non-transitory “storage” type media include any or all of the memory or other storage for the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide storage at any time for the software programming.
All or portions of the software may at times be communicated through a network such as the Internet or various other telecommunication networks. Such communications, for example, may enable the loading of the software from one computer or processor into another, for example, in connection with information analytics and management. Thus, another type of media that may bear the software elements includes optical, electrical, and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links, or the like, also may be considered as media bearing the software. As used herein, unless restricted to tangible “storage” media, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution.
Hence, a machine-readable medium may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium or a physical transmission medium. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) or the like, which may be used to implement the system or any of its components as shown in the drawings. Volatile storage media include dynamic memory, such as the main memory of such a computer platform. Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that form a bus within a computer system. Carrier-wave transmission media may take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer may read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a physical processor for execution.
Those skilled in the art will recognize that the present teachings are amenable to a variety of modifications and/or enhancements. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software only solution, e.g., an installation on an existing server. In addition, the techniques as disclosed herein may be implemented as a firmware, firmware/software combination, firmware/hardware combination, or a hardware/firmware/software combination.
While the foregoing has described what are considered to constitute the present teachings and/or other examples, it is understood that various modifications may be made thereto and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.
The present application claims priority to U.S. Provisional Patent Application No. 63/613,465 filed Dec. 21, 2023, entitled “3D SURFACE MODEL FITTING BASED ON ROBOT-ARM CONTROLLED LASER GRID AND CAMERA”, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63613465 | Dec 2023 | US |