ARTICULATED STRUCTURED LIGHT BASED-LAPAROSCOPE
20220394161 · 2022-12-08
Inventors
Cpc classification
H04N23/555
ELECTRICITY
A61B1/313
HUMAN NECESSITIES
A61B1/05
HUMAN NECESSITIES
A61B1/042
HUMAN NECESSITIES
A61B1/00
HUMAN NECESSITIES
A61B34/20
HUMAN NECESSITIES
A61B1/009
HUMAN NECESSITIES
A61B18/22
HUMAN NECESSITIES
A61B2090/367
HUMAN NECESSITIES
A61B2034/301
HUMAN NECESSITIES
International classification
Abstract
In a method of using a structured-light based system, real-time 2D images of a portion of a field of view are captured using an endoscope. A portion of an object in the field of view is illuminated with a structured light pattern, and light reflected from the field of view is detected. From the reflected light, a 3D image of the field of view is constructed, and 3D locations of points on a surface of the object are determined. The real time 3D spatial position of the endoscope and/or a surgical tool is determined. If a distance between the surface the endoscope and/or surgical tool, as determined using the 3D spatial position, falls below a predetermined distance, an alert is generated to notify a user.
Claims
1. A method of using a structured-light based endoscope, comprising: capturing at least one real-time 2D image of at least a portion of said field of view using a camera of an endoscope; illuminating in real time at least a portion of said at least one object within at least a portion of said field of view with a structured light pattern; detecting light reflected from said field of view; from said light reflected from said field of view, generating said 3D image of said field of view and calculating 3D locations of points on a surface of said object, wherein said 3D image is constructable from said detected light reflected from said field of view and said structured light pattern; and real-time locating the 3D spatial position at any given time t of at least one of the endoscope and a surgical tool; causing the system to generate a user alert if a distance between the surface and said at least one of the endoscope and surgical tool, as determined using the 3D spatial position, falls below a predetermined distance.
2. The method of claim 1, wherein the structured light pattern comprises at least one time and space varying predetermined light pattern.
3. The method of claim 1, further comprising causing a maneuvering system to maneuver said endoscope in at least two degrees of freedom.
4. The method of claim 1, wherein said endoscope is an articulating endoscope.
5. The method of claim 1, further comprising constructing said 3D image by calculating world coordinates of at least one point on said at least one object.
6. The method of claim 5, comprising calculating said world coordinates of said at least one point on said at least one object from the following equation:
7. The method of claim 5, comprising, for any point X.sub.w in world coordinate system, calculating the coordinate X.sub.c of the same point in the camera coordinate system according to the following equation:
X.sub.c=C.sub.cX.sub.w, where C.sub.c, the camera perspective projection matrix, is of the form
8. The method of claim 7, comprising defining x.sub.p.sup.0 to be the x-coordinate of the intersection of the optical axis and the projector.
9. The method of claim 1, comprising, for any point X.sub.w in world coordinate system, calculating the coordinate X.sub.p of the same point in the light source coordinate system according to the following equation:
Xp=CpXw, where Cp, the light source perspective projection matrix, is of the form
10. The method of claim 1, comprising calculating the world coordinates p.sub.w of a point P according to the following equation:
11. The method of claim 10, comprising estimating the world coordinates p.sub.w of a point P according to the following non-linear least squares (NLLS) equations:
12. The method of claim 11, comprising solving said NLLS equations using a NLLS solving algorithm selected from the group consisting of the Gauss-Newton technique, the quasi-Newton technique, and the Levenberg-Marquardt technique.
13. The method of claim 1, comprising calculating the location, in world coordinates, of a kth point on the object according to the following equation:
14. The method of claim 1, further comprising displaying said 3D image on an image display.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0318] In order to better understand the invention and its implementation in practice, a plurality of embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, wherein
[0319]
[0320]
[0321]
[0322]
[0323]
[0324]
[0325]
[0326]
[0327]
[0328]
[0329]
[0330]
[0331]
[0332]
[0333]
[0334]
[0335]
[0336]
[0337]
[0338]
[0339]
[0340]
[0341]
[0342]
[0343]
[0344]
[0345]
[0346]
[0347]
[0348]
[0349]
[0350]
[0351]
[0352]
[0353]
[0354]
[0355]
[0356]
[0357]
[0358]
[0359]
[0360]
[0361]
[0362]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0363] The following description is provided, alongside all chapters of the present invention, so as to enable any person skilled in the art to make use of said invention and sets forth the best modes contemplated by the inventor of carrying out this invention. Various modifications, however, will remain apparent to those skilled in the art, since the generic principles of the present invention have been defined specifically to provide a means and method for providing an enhanced 3D laparoscopic image adapted to be useful for gastroscopy and colonoscopy.
[0364] The term ‘camera’ hereinafter refers to an image-capture device, capable of creating a 2D image of an object. Examples of a camera include, but are not limited to, a CCD array and an electromagnetic system such as a TV camera.
[0365] The term ‘endoscope’ refers hereinafter to any means adapted for looking inside the body for medical reasons. This may be any instrument used to examine the interior of a hollow organ or cavity of the body. The endoscope may also refer to any kind of a laparascope. It should be noted that the following description may refer to an endoscope as a surgical tool.
[0366] The term ‘endoscope distal end’ hereinafter refers to the end of the endoscope that is inside the patient.
[0367] The term ‘endoscope proximal end’ hereinafter refers to the end of the camera outside the patient. The camera is attached to the endoscope's proximal end.
[0368] The term ‘structured light’ hereinafter refers to a method of producing 3D images using a single 2D camera. In the structured light method, the object is illuminated by a set of rays of light, each ray illuminating a spot on the object from a known position and a known direction, and each ray emitted at a known time. For each known time, a 2D camera image is created from light reflected from the spots created from rays existing at that time. Initially, a known calibration object is illuminated. From the known shape, size and position of the calibration object and from the locations in the camera images of the reflected light, mathematical matrices can be calculated. These matrices enable calculation of the 3D location of the surface of an unknown object, when the unknown object is illuminated by the same set of rays as illuminated the calibration object.
[0369] The term ‘structured light pattern’ hereinafter refers to the set of rays of light with a known spatial and temporal pattern used, as described above, to illuminate an object.
[0370] The term ‘field of view’ (FOV) hereinafter refers to the scene visible to the camera.
[0371] The terms ‘about’ and ‘approximately’ hereinafter refers to a range of ±20% of the value.
[0372] The term ‘world’ hereinafter refers to the region of space in which objects are located.
[0373] The term ‘world coordinates’ hereinafter refers to a coordinate system fixed in the world.
[0374] The location in space of a physical object to be imaged will be described by the world coordinate system.
[0375] The term ‘projector’ hereinafter refers to the set of light rays used to illuminate an object.
[0376] The term ‘projector coordinates’ hereinafter refers to a coordinate system in which the projector is located and which describes the relation of the light rays to each other, both spatially and temporally.
[0377] The term ‘camera coordinate system’ hereinafter refers to a coordinate system fixed with respect to the camera.
[0378] The term ‘stripe id’ hereinafter refers to the temporal and spatial location and direction of a light ray.
[0379] The term ‘articulation’ refers hereinafter to any device which has more than 1 degree of freedom. Thus, said tool can bend either in the tip thereof or any location in the body of the same.
[0380] The term ‘toggle’ refers hereinafter to switching between one tagged surgical tool to another.
[0381] The term ‘region of interest’ refers hereinafter to any region within the body of a subject which may be of interest for the operator of the system of the present invention. The region of interest may be, for example, an organ to be operated on, a RESTRICTED area which a surgical instrument should avoid approaching, a surgical instrument or any other region within the human body or body of another living animal.
[0382] The term ‘surgical environment’ refers hereinafter to any anatomical part within the body of a subject which may be in the surroundings of a surgical instrument. The environment may comprise: organs, body parts, walls of organs, arteries, veins, nerves, a region of interest, or any other anatomical part of the human body.
[0383] The term ‘spatial position’ refers hereinafter to a predetermined spatial location and/or orientation of an object (e.g., the spatial location of the endoscope, the angular orientation of the endoscope, and any combination thereof).
[0384] The term ‘prohibited area’ refers hereinafter to a predetermined area to which a surgical tool (e.g., an endoscope) is prohibited to be spatially positioned in.
[0385] The term ‘preferred area’ refers hereinafter to predetermined area to which a surgical tool (e.g., an endoscope) is allowed and/or preferred to be spatially positioned in.
[0386] The terms ‘tool’, ‘surgical tool’ and ‘surgical instrument’ refer hereinafter to any instrument or device introducible into the human body. The term may refer to any portion of the tool. For example it can refer to the tip of the same, the body of the same and any combination thereof. It should be further pointed that the following description may refer to a surgical tool/instrument as an endoscope. Non-limiting examples of tools include a retractor, a clamp, a swab, a needle, an endoscope, and any other medical tool or instrument.
[0387] The term ‘provide’ refers hereinafter to any process (visual, tactile, or auditory) by which an instrument, computer, controller, or any other mechanical or electronic device can report the results of a calculation or other operation to a human operator.
[0388] The term ‘automatic’ or ‘automatically’ refers to any process that proceeds without the necessity of direct intervention or action on the part of a human being.
[0389] The term ‘automated assistant’ refers hereinafter to any mechanical device (including but not limited to a robotic device) that can maneuver and control the position of a surgical or endoscopic instrument, and that can in addition be adapted to receive commands from a remote source.
[0390] The term ‘ALLOWED movement’ refers hereinafter to any movement of a surgical tool which is permitted according to a predetermined set of rules.
[0391] The term ‘RESTRICTED movement’ refers hereinafter to any movement of a surgical tool which is forbidden according to a predetermined set of rules. For example, one rule, according to the present invention, provides a preferred volume zone rule which defines a favored zone within the surgical environment. Thus, according to the present invention an ALLOWED movement of a surgical tool or the endoscope is a movement which maintains the surgical tool within the favored zone; and a RESTRICTED movement of a surgical tool is a movement which extracts (or moves) the surgical tool outside the favored zone.
[0392] The term ‘time step’ refers hereinafter to the working time of the system. At each time step, the system receives data from sensors and commands from operators and processes the data and commands and executes actions. The time step size is the elapsed time between time steps.
[0393] The term ‘proximity sensor’ hereinafter refers to a sensor able to detect the presence of nearby objects without physical contact. Proximity sensors are sometimes referred to as ‘force sensors’. A proximity sensor often emits an electromagnetic field or a beam of electromagnetic radiation (infrared, for instance), and looks for changes in the field or return signal. The object being sensed is often referred to as the proximity sensor's target. Different proximity sensor targets demand different sensors. For example, a capacitive photoelectric sensor might be suitable for a plastic target; an inductive proximity sensor always requires a metal target. Proximity sensors can be introduced into the body and used for detecting metal fragments during surgery. See, for example, Sakthivel, M., A new inductive proximity sensor as a guiding tool for removing metal shrapnel during surgery, Instrumentation and Measurement Technology Conference (I2MTC), 2013 IEEE International, pp. 53-57. ISSN: 1091-5281, print ISBN: 978-1-4673.
[0394] The terms ‘degrees of freedom’ (DOF) refer hereinafter to a set of independent displacements that specify completely the displaced position of the endoscope or laparoscope.
[0395] The term ‘insertion point’ refers hereinafter to the point where the endoscope enters the human body.
[0396] The terms ‘joystick’ and ‘joystick unit’ refer hereinafter to a motion and position sensitive device enabled to control the motion of another device, with the motion and position information including, but not limited to, the direction of motion (in 1, 2 or 3 dimensions) and the speed of the motion and the changes in direction and speed as a function of time. Joystick units may, for example, in a non-limiting manner, be shaped like a rod or lever; which is bent, twisted, depressed or slid, the direction of the bend, twist, depression or sliding relatable to the direction of motion and the magnitude thereof relatable to the speed of the motion. Joystick units can comprise a button which is depressed, slid or rocked, wherein the direction of the depression, sliding or rocking is related to the direction of motion and the magnitude thereof is related to the speed of the motion. They can comprise a surface along which a finger or fingers or a hand or an implement slides, wherein the direction of the motion on the surface is related to the direction of motion and the speed of the motion along the surface is related to the speed of motion of the controlled device.
[0397] All temperatures referred to herein are temperatures in degrees Celsius.
[0398] The following abbreviations are used throughout the disclosure:
[0399] DOF refers to degree(s) of freedom;
[0400] SFME refers to System For Maneuvering an Endoscope, a system for enabling an operator to maneuver the endoscope as disclosed hereinbelow.
[0401] Laparoscopic surgery, also called minimally invasive surgery (MIS), is a modern surgical technique in which operations in the abdomen are performed through small incisions (usually 0.5-1.5 cm) as compared to larger incisions needed in traditional surgical procedures. The key element in laparoscopic surgery is the use of a laparoscope, which is a device adapted for viewing the scene within the body, at the distal end of the laparoscope. Either an imaging device is placed at the end of the laparoscope, or a rod lens system or fiber optic bundle is used to direct this image to the proximal end of the laparoscope. Also attached is a light source to illuminate the operative field, inserted through a 5 mm or 10 mm cannula or trocar to view the operative field.
[0402] The abdomen is usually injected with carbon dioxide gas to create a working and viewing space. The abdomen is essentially blown up like a balloon (insufflated), elevating the abdominal wall above the internal organs like a dome. Within this space, various medical procedures can be carried out.
[0403] In many cases, the laparoscope cannot view the entire working space within the body, so the laparoscope is repositioned to allow the surgeon to view regions of interest within the space. In some laparoscopic systems, this requires the surgeon to instruct an assistant to manually move the laparoscope. In other systems, the surgeon himself instructs the laparoscope to move, by a manual control system such as a button, joystick or slider attached to the surgeon or to a surgical tool, by contact with a touchscreen, or by voice commands.
[0404] In all such systems, in directing and maneuvering the surgical controlling system, the controller needs to avoid obstacles such as body organs and tools or other surgical equipment in the body cavity. Its speed should be controlled so that, on the one hand, the speed is low enough to make avoidance routine and to ensure that the instrument accurately reaches the desired location and, on the other hand, the speed needs to be great enough that maneuvers are accomplished in a reasonable time.
[0405] In order to avoid the obstacles, in a conventional system, the endoscope must be routed around them, increasing the complexity of maneuvering and the time taken for maneuvering.
[0406] In the present, system, the system comprises at least one articulating section, typically an articulating tool such as an articulating endoscope. The articulating tool can have an articulating tip, where the articulations are near the tip, it can have an articulating body, where the articulations are in the body or shaft of the tool, or both. The articulations allow bending in at least two degrees of freedom (DOF), preferably in four DOF, and possibly in all six DOF (bending in all three directions and rotating in all three directions).
[0407] In comparison to a rigid tool, during maneuvering, an articulating tool can use more direct routes, as the articulating section enables removal of the tip of an articulating tool from the region of an obstacle. For example, instead of routing an endoscope around a body organ, the endoscope can articulate such that its tip is withdrawn to a sufficient height that the route of the endoscope can be directly across the organ.
[0408] Furthermore, the system has more flexibility in positioning. For example, the angle of the field of view can be changed by changing the articulation of the endoscope, with only minimal change of the position of the main part of the endoscope.
[0409] A device of the present invention, with an articulating endoscope and providing a 3D image, is useful for colonoscopy or gastroscopy, treatments where the endoscope moves within a relatively restricted, non-straight space. By traversing the interior of a portion of the alimentary canal, abnormalities such as, but not limited to, polyps or ulcers can be identified and a warning provided to a user of the system and to the patient. In preferred embodiments, the system additionally comprises recognition software that can identify abnormalities and can label the abnormality in real time on an image of the field of view. The label can be by any means known in the art such as, but not limited to, text, a colored patch, a textured patch, an arrow or other marker, and any combination thereof.
[0410] Because of the flexibility provided by the articulating endoscope and because of the increased locatability possible with a 3D image, the device of the present invention, compared to the prior art, can more easily follow the contours of body organs and can more effectively view the sides and backs of organs. It can therefore find cysts, lumps or other abnormal masses in the abdominal cavity more effectively than the prior art. It can also efficiently map the interior of the abdominal cavity and can be used for cartography of the intestines, including the bowels and colon.
[0411] In many cases, the surgeon wants a close-up view of his working area; in other cases an overview is desirable, and a rapid transition from close-up to overview and vice-versa can also be desirable.
[0412] The device disclosed herein uses a standard laparoscopic camera and a computer-controllable laparoscopic light source in conjunction with software using the structured light method in order to provide a laparoscopic system which presents the user with 3D images from a single camera.
[0413] A high resolution camera can provide sufficient detail to create a detailed 3D image.
[0414] In some embodiments, a wide-angle lens such as, but not limited to, a fish-eye lens, an omnidirectional lens and any combination thereof provides an image of a large portion, if not all, of the working area, such as the interior of the abdomen. The image provided by a wide-angle lens is frequently distorted; in preferred embodiments of systems with a wide-angle lens, software is used to correct the distortion.
[0415] The advantages of a 3D image include: [0416] It increases the accuracy and reliability of tool detection and tracking from the laparoscope image, thereby minimizing or eliminating the need for auxiliary equipment for the purpose. [0417] It increases the accuracy of navigation within the body cavity, thereby minimizing the risk of inadvertent tissue damage. [0418] It provides a three-dimensional display for the surgeon, thereby increasing the accuracy with which he can work.
[0419] There are many methods of providing a 3D image. These include, but are not limited to: [0420] Use of two cameras to provide a stereo image. This has the disadvantage that two separated sets of camera lenses are needed, and therefore a laparoscope adapted to accept two separated camera lenses. [0421] Use of the motion of the camera to get more than one view of the scene, each view from a different perspective, and then combining the views via internal algorithms. This has the disadvantage of requiring motion of the camera. [0422] Use of the Structured Light technique. This requires calibration of the system before use, and can be sensitive to spurious pixels in the image, but has the advantage of requiring neither camera motion nor a special laparoscope.
[0423] For the laparoscope disclosed herein, structured light is the preferred method of providing a 3D image.
[0424] Advantages of a structured light system include: [0425] The accuracy of the three-dimensional reconstruction is very high. [0426] Recovery from bit errors is possible. [0427] It is possible to provide 3D images of bodies of uniform shade, which is not possible in a stereo system using two cameras. [0428] Adding a Distance Index from one object to the other (e.g., tissue). [0429] Measurement of distances between any two points in the image is simple, since the distance is a geodesic distance over the surface or the Euclidean distance. [0430] It is possible to embed texture in the image, improving the ease of identification of tissues. [0431] It is possible to use a standard camera and a standard laparoscope, lighting the object via a standard laparoscope lighting system.
[0432] In the structured light technique, schematically illustrated (100) in
[0433] In the simplest structured light camera, a “projector”, a source of light, projects a spot of light, for example, a laser beam, onto an object. The location of the projector and the direction of projection are known. The location on the camera image of the reflected spot can be easily located and identified. Since the point location on both the projector and the camera is known, reconstruction of the coordinates in space of the reflecting point on the object (the “shape world coordinates”) can be carried out by simple triangulation.
[0434] A more efficient scheme replaces the point laser beam by a line beam that “sweeps” the object. Still, sweeping the entire scene by a laser beam is a time consuming operation and therefore is limited to static objects.
[0435] For a better scan time, several stripe illumination-based techniques have been proposed. Single pattern approaches, using spatial encoding of projection planes or rays can be used. Although time-efficient, spatial encoding generally produces a sparse depth map with mediocre spatial resolution.
[0436] High reliability identification of projection planes with non-restrictive assumptions on scene contents and illumination conditions can be achieved by temporal encoding, which is based on projection of a sequence of light patterns (“stripes”) onto the object. A robust, commonly used structured light system based on binary light patterns encoded with Gray code is used in preferred embodiments of the device disclosed herein. Color modulation, which allows a reduction in the number of stripes projected onto the object, is also possible, with a color camera. Color modulation, as discussed hereinbelow, can also be used be used in addition to spatial and temporal encoding in order to determine the nature of the tissues being imaged,
[0437]
[0438] An important issue in structured light systems is calibration. Reconstruction is possible only when the camera projection matrix and the projection planes are known in the world coordinate system. Calibration of structured light scanners is usually more complicated than that of a passive stereo pair. A standard approach consists of three steps: estimating the camera intrinsic matrix (camera calibration), estimating the plane equations for each of the projection planes (projector calibration) and finally, estimating the Euclidean transformation between the camera and the projector (projector-camera calibration).
[0439] Other examples of structured light systems use stripes that vary in intensity across the stripe, with each stripe being black at one edge and white at the other. In embodiments with varying intensity, the intensity changes in time as the plane of light is swept across the working space which includes the object.
Example 1
[0440] An alternative approach, however, provides the preferred embodiment for the present invention. This alternative approach is based on estimation of the world to camera image and world-to-projector coordinate system transformation, extended to simultaneously estimating a backprojection operator, an operator that enables determination of the location in space of the surface of an object, from the locations on camera images of spots of light reflected from the object, where the spots of light are generated by rays emitted from known positions, in known directions and at known times.
[0441] The following sections describe a method of determining the backprojection operator. In the method described hereinbelow, a calibration object of known shape and size (the world object) is illuminated by a set of rays of light (the projector, in the projector coordinate system) emitted from known positions, in known directions and at known times. These rays are reflected from the calibration object (the object, in the world coordinate system) and generate at least one 2D camera image (the camera image, in the camera coordinate system). From the known ray positions, the known spot positions on the camera images and the known shape and size of the calibration object, operators are determined that enable determination of the 3D position in space of an unknown object.
[0442] In the derivation hereinbelow, the model will be described, then a method of generating a 3D image of an object (reconstruction of the object) from the camera images and the stability of the reconstruction will be described. This is followed by a method of generating the reconstruction operators from a calibration object, and an implementation of an embodiment of the method.
[0443] Model of a Structured Light System
[0444] A typical structured light system consists of a camera and a projector. The role of the projector is to light the scanned object in such a way that, from the image (or sequence of images) acquired by the camera, a stripe code can be extracted. The encoding can be done either spatially using a single pattern or temporally using a series of varying patterns. The raw output of a structured light scanner is a stripe code assigned for every pixel in the image. Intersection of a ray in world coordinate system (WCS) with a plane in WCS yields the world coordinates of an object point. Using this triangulation method, the raw sensor data is converted into 3D data in the WCS.
[0445] For simplicity, in the derivations below, it will be assumed that both the camera and the projector obey the pin-hole optical model (non-linear distortion correction can be applied for lenses that do not obey this model). The transformation from 3D world coordinates to camera image plane coordinates will be described by a 3×4 perspective projection matrix (PPM).
[0446] The projector will be modeled by a 2×4 PPM, mapping world coordinates to stripe identification code (id).
[0447] Three coordinate systems are defined: a homogenous world coordinate system X.sub.w in which the object's position is specified; a homogenous camera coordinate system X.sub.c, in which pixel locations in the image plane are specified, and a homogenous projector coordinate system X.sub.p, in which stripe ids are specified. The latter is particular, since it contains only one independent coordinate.
[0448] The transformation from world coordinates to camera coordinates is given by
X.sub.c=C.sub.cX.sub.w, (1)
[0449] where C.sub.c is the camera PPM and is of the form
[0450] The rotation matrix R.sub.c and the translation vector t.sub.c define the transformation between WCS X.sub.w and the camera-centric reference frame X.sub.c. The parameters f.sub.x and f.sub.y are the camera focal length scaled to each of the CCD dimensions, and x.sub.c.sup.0 and y.sub.c.sup.0 are the origin of X.sub.c in image coordinates. The parameter α is a proportion coefficient and k is the shear of the camera coordinate system.
[0451] Similarly, the transformation form world coordinates to projector coordinates is given by
X.sub.p=C.sub.pX.sub.w, (3)
[0452] where C.sub.p is the projector PPM of the form
[0453] R.sub.p and t.sub.p define the transformation between WCS and X.sub.p. The parameter f.sub.p is the projector focal length scaled to the projector's dimensions, and x.sub.p.sup.0 is the origin of X.sub.p in projector coordinates, which physically is the x-coordinate of the intersection of the optical axis and the projector.
[0454] Here we implicitly assume that the stripe code varies along the horizontal direction of the projector. McIvor and Valkenburg [A. M. McIvor, R. J. Valkenburg, I Robert, J. Valkenburg, J. Valkenburg, Calibrating a structured light system, Image & Vision Computing, New Zealand, 1995] show that C.sub.p is a valid camera PPM if and only if the submatrix formed by its first three columns has full rank. Similarly, P.sub.p is a valid projector PPM if and only if the submatrix formed by its first three columns is of rank 2.
[0455] Equations 1 and 3 define the transformation
T:X.sub.w.fwdarw.(X.sub.c,X.sub.p), (5)
[0456] which maps an object point in WCS into pixel location in the camera image plane and a stripe id (coordinate in the projector system of coordinates). We refer to this transformation as forward projection.
[0457] The world coordinates of the object point are usually unknown and have to be determined, whereas the pair (x.sub.c, x.sub.p) is what the structured light sensor measures and can be extracted from the raw data. Therefore, given the camera and the projector PPMs and a pair of measurements (x.sub.c, x.sub.p), one can attempt inverting eq. (5) in order to calculate x.sub.w. We will term the inverse transformation
T.sup.−1:(X.sub.c,X.sub.p).fwdarw.X.sub.w, (6)
[0458] as backprojection and the process of determining world coordinates from measured data as reconstruction.
[0459] Reconstruction requires the knowledge of C.sub.c and C.sub.p. Therefore, calibration must be performed before, during which the forward projection operator is estimated. This is done by measuring a set of pairs {(x.sub.cx.sub.p).sub.n}.sub.n=1.sup.N corresponding to a set of points with known world coordinates {(x.sub.w).sub.n}.sub.n=1.sup.N. Physically, a calibration object with a set of fiducial points, whose location is known, is scanned. WCS is then chosen to be some local coordinate system of the calibration object, in which the coordinates of each fiducial point are specified.
[0460] Reconstruction
[0461] In this section we assume that the forward projection operator T is known (i.e. the projective matrices C.sub.c and C.sub.p are given). The reconstruction problem can be stated as follows: given measured (x.sub.c, x.sub.p), calculate x.sub.w according to
x.sub.w=T.sup.−1(x.sub.c,x.sub.p). (7)
[0462] Explicitly, x.sub.w has to satisfy the linear system of equations
x.sub.c=C.sub.cx.sub.w (8)
x.sub.p=C.sub.px.sub.w. (9)
[0463] However, since all vectors are given in homogenous coordinates, it is possible that no x.sub.w satisfies eqs. (8) and (9) simultaneously. Let us denote x.sub.c=[w.sub.cx.sub.c, w.sub.cy.sub.c, w.sub.c].sup.T and x.sub.p=[w.sub.px.sub.p, w.sub.p].sup.T and let ck, pk be the k-th row of C.sub.c and C.sub.p, respectively. Then, the linear system of equations can be rewritten as
w.sub.cx.sub.c=c.sub.1x.sub.w
w.sub.cy.sub.c=c.sub.2x.sub.w
w.sub.c=c.sub.3x.sub.w (10)
and
w.sub.px.sub.p=p.sub.1x.sub.w
w.sub.p=p.sub.2x.sub.w. (11)
[0464] Substituting w.sub.c into eq. (10) and wp into eq. (11) yields
x.sub.cc.sub.3x.sub.w=c.sub.1x.sub.w
y.sub.cc.sub.3x.sub.w=c.sub.2x.sub.w
x.sub.pp.sub.2x.sub.w=p.sub.1x.sub.w, (12)
which can be written in matrix notation as Qx.sub.w=0, where
[0465] The matrix Q can be split into a 3×3 matrix R and a 3×1 vector s: Q=[R, s]. Substituting x.sub.w=[w.sub.wx.sub.w, w.sub.wy.sub.w, w.sub.wz.sub.w, w.sub.w].sup.T yields
[0466] Therefore, the object point in non-homogenous world coordinates x.sub.w=[x.sub.w, y.sub.w, z.sub.w].sup.T is a solution of the linear system
Rx.sub.w=−s. (15)
[0467] Backprojection is therefore given by
x.sub.w=−R.sup.−1s (16)
[0468] It must be remembered that both R and s are functions of x.sub.c, y.sub.c, and x.sub.p.
[0469] If C.sub.c and C.sub.p are valid camera and projector PPMs, R is invertible except of cases where the ray originating from the camera focal point to the object point is parallel to the plane originating at the projector focal point and passing through the object point. The latter case is possible either when the object point is located at infinity, or when the camera and the projector optical axes are parallel (this happens when R.sub.c=R.sub.p). This gives a constraint on camera and projector mutual location: in order to make triangulation possible, the camera should not have its optical axis parallel to that of the projector.
[0470] Reconstruction Stability
[0471] As discussed hereinabove, the matrix R in Eq. (15) becomes singular when the ray in the camera coordinate system and the plane in the projector coordinates system are parallel. A reasonable question that may arise is how stable is the solution under random perturbations of x.sub.c and x.sub.p. In this work, we will address only perturbations in x.sub.p, since they are the most problematic ones in structured light systems.
[0472] For simplicity, let us assume that WCS coincides with the camera coordinate system and the transformation to the projector coordinate system is given by
x.sub.p=R.sub.p+t.sub.p. (17)
[0473] Without loss of generality, it can be assumed that the centers of the camera coordinate system and the projector coordinate system coincide with their optical axes, i.e. x.sub.c.sup.0=y.sub.c.sup.0=x.sub.p.sup.0=0.
[0474] Without loss of generality, it can be assumed that the object point is found on some ray in x.sub.c=av.sub.c; the ray is uniquely defined by the camera image plane coordinates x.sub.c and the point location is uniquely defined by the parameter α. The stripe id corresponding to the given object point can be denoted by x.sub.p. Then, the following system of linear equations
n.sup.Tx.sub.p=0
n.sup.T(R.sub.px.sub.c+t.sub.p)=0, (18)
must hold simultaneously; n denotes the normal to the plane defined by the stripe id x.sub.p. Substituting x.sub.c=av.sub.c yields
n.sup.Tx.sub.p=n.sup.T(αR.sub.pv.sub.c+t.sub.p), (19)
hence
[0475] However, in practice, the stripe id x.sub.p is estimated using structured light, and therefore it is especially sensitive to noise. Let us assume that instead of the real stripe id x.sub.p, a perturbed stripe id {tilde over (x)}.sub.p=x.sub.p+δx.sub.p was measured. This, in turn, means that {tilde over (x)}.sub.p=x.sub.p+[δx.sub.p, 0, f.sub.p].sup.T, which yields
[0476] Hence, the perturbation in x.sub.p causes a perturbation in the location of the object point along the ray x.sub.c=αv.sub.c by
[0477] where Θ.sub.nv is the angle between the plane defined by the normal n and the ray defined by the direction v.sub.c. Therefore,
[0478] The ratio
has a geometrical interpretation of cosine of the projection angle; substituting it into Eq. (23) yields the sensitivity of the reconstructed object point to perturbations in the stripe id:
[0479] Calibration
[0480] In this section we assume that the forward projection operator T is unknown and has to be estimated from a given set of measured {(x.sub.c,x.sub.p).sub.n}.sub.n=1.sup.N and corresponding known {x.sub.w}.sub.n=1.sup.N. Explicitly, it is desired to find such C.sub.c and C.sub.p that obey
(x.sub.c).sub.k=C.sub.c(x.sub.w).sub.k (25)
(x.sub.p).sub.k=C.sub.p(x.sub.w).sub.k, (26)
for k=1, . . . , N. Since data measurement is not perfect (e.g., both the camera and the projector resolution is finite), no projection operator will fit the data perfectly. Therefore, it is necessary to find such a T.sup.−1 that will relate the measured and the known data in an optimal way. It is thus important to address the optimality criterion.
[0481] McIvor and Valkenburg (see above) study the possibility of optimizing separately the camera and the projector forward projections in the sense of the L.sub.2 norm. Mathematically, this can be formulated as
[0482] Let us define
where c.sub.k is the k-th row of C.sub.c. Using this notation, the set of N equations (25) can be rewritten as
B.sub.kl=0, (29)
for k=1, . . . , N, which in turn can be expressed as a single homogenous linear equation
Al=0, (30)
[0483] Where A=[B.sub.1.sup.T, . . . , B.sub.N.sup.T].sup.T. The vector of variables l is the camera projection matrix C.sub.c needed to be determined. Since the camera PPM is defined up to a scaling factor, we will demand ∥l∥.sub.2=1 in order to avoid the trivial solution. With physically measured data, the matrix A will usually have full rank and therefore, no l will be an exact solution of eq. (30). However, one can find the best least-squares solution by solving
l=argmin∥Al|∥.sub.2.sup.Zs.t.∥l∥.sub.2=1 (31)
and ensuring that the obtained C.sub.c is a valid PPM. Solving eq. (31) is equivalent to solving eq. (27) for the camera matrix, and its solution minimizes the square error between the measured image plane coordinates of the set of fiducial points and those obtained by projecting the set of the corresponding points in WCS onto the camera image plane.
[0484] Similarly, replacing B.sub.k and l in eq. (28) with
yields the L.sub.2 minimization problem, eq. (27), for the projector matrix.
[0485] The optimization problem of eq. (31) is a minimum eigenvalue problem and it can be shown that l minimizing ∥Al∥.sub.2 is the eigenvector corresponding to the minimum eigenvalue of A.sup.TA. It must be noted, however, that since usually the minimum eigenvalue of A.sup.TA is very small, numerical inaccuracies are liable to rise.
[0486] Solution to the problem 27 finds two PPMs that minimize the squared error between the measured data and the forward projection of the known fiducial points in WCS into the camera and the plane coordinate systems. However, what is actually needed is to minimize the squared error between the known fiducial points in WCS and the backward-projected measurements. Mathematically, this can be formulated as
[0487] The above problem is no more separable and is non-convex; therefore, it has to be solved by numerical global optimization methods. Still, an efficient solution in a few iterations is possible using the Newton method, since the number of variables in the problem is small (3×4+2×4=20) and both the cost function, its gradient, and the Hessian can be computed analytically. As the starting point for iterative optimization, a solution of eq. (27) can be used.
[0488] Since the calibration process is performed only once, additional computational complexity can be used in order to obtain better projection estimation and better reconstruction results.
[0489]
[0490] Implementation of Reconstruction
[0491] In our implementation, we used temporal encoding, which allowed to obtain a dense z-map of the scanned objects. Eight binary patterns, encoding the stripe id using the Gray code were projected onto the object and 8 corresponding images I.sub.k were acquired corresponding to the most significant bit). In addition, we acquired a full-darkness image I.sub.L (the projector's LCD was blackened) and a full-illumination image IH (the projector's LCD was set to maximum intensity). These two images served for compensation of ambient light and the non-constant albedo of the object.
[0492] The quantity I.sub.L(x,y) reflects the illumination of the object in pixel (x,y) at darkness and differs from zero only due to presence of ambient illumination. Since the reflectance of objects at illumination levels used in normal conditions obeys linear superposition law, subtracting I.sub.L from the rest of the images compensates for the ambience light. The quantity I.sub.H(x,y)−I.sub.L(x,y) is proportional to the object albedo at the pixel (x,y).
[0493] We define a set of 8 normalized intensity images
[0494] A normalized intensity image J.sub.k(x,y) has the values in the range [0, 1] and reflects the amount of light irradiated onto the object surface at pixel (x,y). The value of 1 stands for full illumination, whereas the value of 0 stands for no illumination. Theoretically, J.sub.k should be binary images: 1 where a light stripe is present and 0 in places where there is a dark stripe. In practice, however, J.sub.k are not binary and we therefore define
[0495] Better results were obtained when J.sub.k(x,y) was smoothed with a Gaussian filter prior to binarization.
[0496]
[0497] For every pixel (x,y), we define the stripe code as the Gray code sequence
S(x,y)=[B.sub.1(x,y), . . . ,B.sub.8(x,y)]. (36)
[0498] Decoding S(x,y) yields a number T(x,y) E [0, 1], which will be referred to as stripe id. Note that T(x,y) is not really continuous but rather has the values T(x,y)∈{2.sup.−Nn:n=0, . . . , 2.sup.N−1} (in the example, N=8).
[0499] For every pixel, x.sub.p(x,y)=T(x,y) defines the projector coordinate of an unknown object point corresponding to the pixel (x,y), transformed by the projector PPM. Similarly, the pixel indices (x,y) define the camera image plane coordinates x.sub.c=x, y.sub.c=y of the object point projected onto the camera coordinate system. Given the camera and the projector PPMs, world coordinates of the object point can be calculated according to eq. (21).
[0500] Pixel Fidelity Estimation
[0501] It is obvious that although both J.sub.k(x,y)=0.95 and J.sub.k(x,y)=0.55 will be binarized as B.sub.k(x,y)=1, they should definitely be treated differently. In the first case, one may say that the pixel (x,y) in image k is indeed illuminated with high probability, whereas in the second case the probability of that pixel to be non-illuminated is almost equal to the probability of it being illuminated.
[0502] In order to give a quantitative measure of the pixel fidelity, let us assume that the measured normalized intensity image J.sub.k(x,y) is obtained from some ideal binary image B.sub.k.sup.0(x,y) contaminated by zero-mean Gaussian noise ξ(x,y) with variance σ.sup.2. In case J.sub.k(x,y)>0.5, the pixel fidelity can be defined as
where Φ denotes the c.d.f. of the normal distribution. The lower value of F.sub.k is 0.5 and it is obtained when J.sub.k(x,y)=0.5. Similarly, for J.sub.k(x,y)<0.5, the fidelity is
[0503] Binarization errors in images corresponding to the most significant bit of the stripe code affect more the resulting stripe id T than errors in the least significant bit. Therefore, pixel fidelity in each stripe should be weighted by the stripe significance. We define the pixel fidelity as the weighted sum of the pixel fidelities in all stripes
where w.sub.k=2.sup.−k is the significance of stripe k, and N is 8 in our implementation. The variance σ.sup.2 was set empirically to 1.
[0504] Pixel fidelity can also provide important information and can be used, for example, for weighted mesh smoothing or decimation. For example, the pixel fidelity map can be used to obtain sub-stripe resolution, as shown below.
[0505] Sub-Stripe Resolution
[0506] One of important concerns in structured light systems is sub-stripe resolution. The stripe code T, which usually has granular nature due to quantization can be approximated by a continuous smooth surface, taking into account the fidelity map. We used a separable cubic spline, which was fitted to the image T with weighting inverse proportional to pixel fidelity. As the result, a smooth stripe id image T with sub-stripe resolution was obtained.
[0507] Let us denote by Bv and Bu the orthonormal spline bases corresponding to the rows and the columns of T, respectively. Decomposition of the T in the two-dimensional separable basis obtained as the tensor product of By and Bu can be expressed as
C=B.sub.u.sup.TTB.sub.c, (37)
or, alternatively, as
c=B.sup.Tt, (38)
where t is the column-stack representation of T, c is a vector of spline coefficients and B=B.sub.c∅B.sub.u is the Kronecker product of the row and the column bases. Weighted spline fitting constitutes to finding such spline coefficients c that minimize
[0508] where f.sub.k denotes the fidelity of the pixel tk. We also add a controllable penalty on irregularity of the smoothed image {tilde over (t)}=Bc. In matrix notation, the weighted spline fitting problem reads
c=argmin{∥WBc−Wt∥.sub.2.sup.2+λ∥DBc∥.sub.2.sup.2}, (40)
where
is the weighting matrix, D is the matrix defining the irregularity penalty and λ is the smoothness parameter, controlling the tradeoff between smoothness of {tilde over (t)} and faith to the original data.
[0509] The analytic solution for eq. (40) is
c=[B.sup.TB+λ(DB).sup.T(DB)].sup.†t, (41)
where A.sup.†=(A.sup.TD).sup.−1 A denotes the Moore-Penrose pseudoinverse.
[0510] Since different amount of smoothing should be usually applied in the horizontal and the vertical directions of T, it is reasonable to use two penalty factors with two separate smoothness parameters, which control the smoothness in each direction. We used the L.sub.2 norm of a finite difference operator as the penalty factor, yielding
c=[B.sup.TB+λ.sub.x(D.sub.xB).sup.T(D.sub.xB)+λ.sub.y(D.sub.yB).sup.T(D.sub.yB)].sup.†t, (42)
where D.sub.x and D.sub.y are the row-wise and the column-wise discrete derivative operators and λ.sub.x, and λ.sub.y are smoothness parameters controlling the smoothness of {tilde over (T)} in the x- and y-direction, respectively. The resulting smooth stripe id image {tilde over (T)} is given (in column stack representation) by {tilde over (t)}=Bc.
[0511]
[0512]
[0513] Calibration
[0514] In an embodiment, to find the camera and the projector matrices, the automatic calibration procedure described hereinabove was used. As the calibration object, a precisely built 15×15×15 cm wooden pyramid attached with 3 mutually perpendicular planes attached to a “background” plane, was used. Object surfaces were made nearly Lambertian using white mate finishing.
[0515] 228 circular fiducial points were marked on the calibration object surfaces. The points were grouped into sets of collinear equally-spaced marks, 3 sets of 33 points each on the background plane, and two sets of 22 points each on each of the pyramid sides (
[0516] At the first stage, the calibration object was scanned and a sub-stripe resolution stripe id image {tilde over (T)} was calculated from the raw data. At the second stage, the full-illumination image IH was binarized, the fiducial points were automatically located and their centroid coordinates were calculated. A set of 228 stripe ids at locations corresponding to the fiducial point centroids, together with the centroid locations themselves was used as the input for the calibration algorithm. For numerical stability, WCS coordinates of the calibration objects, the image plane coordinates of the camera and the projector stripe ids were normalized to [−1, 1].
[0517] First, camera and projector PPMs that minimize the forward projection error were found by solving eq. (31). These matrices were used as the initial point of the Newton algorithm, which converged to the solution of eq. (33), yielding camera and projector matrices, which minimize the backprojection error.
[0518] Table 1 shows the RMS and the maximum reconstruction errors of the calibration object in five tests with random camera and projector locations. Two cases are studied: 1) when the camera and the projector matrices are obtained by minimizing the forward projection error and 2) when the camera and the projector matrices are obtained by minimizing the backward projection error. The errors were calculated on a set of 100,000 points, with the analytical plane equations of the calibration object serving as a reference. Table 2 shows the improvement of the RMS and the maximum reconstruction error when using the optimal backprojection instead of the optimal forward projection. RMS was improved in all tests (improvement ranging from 1.44% to 45.66%, 12% on average). Maximum error was improved in all tests except Test 2, where the maximum error obtained using the optimal backprojection worsened by 6.58% (the fact that improvement in the RMS error was observed in Test 2 suggests that the degradation in the maximum error might have been caused by a spurious pixel). The maximum improvement, about 50%, was obtained in Test 5.
TABLE-US-00001 TABLE 1 RMS and maximum errors for reconstruction of the calibration object using the optimal forward projection and the optimal backward projection. Optimal projection Optimal backprojection Test RMS (mm) Max. (mm) RMS (mm) Max. (mm) 1 0.0624 0.2790 0.0577 0.2295 2 0.0626 0.2881 0.0616 0.3084 3 0.0423 0.2054 0.0417 0.1723 4 0.1599 0.6823 0.1556 0.6337 5 0.1579 0.6170 0.1084 0.4122
TABLE-US-00002 TABLE 2 Improvement in the RMS and the maximum error in reconstruction of the calibration object when using the optimal backprojection instead of the optimal forward projection. Test RMS Max. 1 8.15% 21.57% 2 1.62% −6.58% 3 1.44% 19.21% 4 2.76% 7.67% 5 45.66% 49.68%
[0519] The RMS error was about 0.5 mm in Tests 1-3 and about 1.6 mm in Tests 4-5. The latter degradation of the reconstruction quality was due to the highly oblique position of the calibration object with respect to the camera, which resulted in lower SNR, since less light was reflected from the object planes.
[0520]
[0521]
[0522] The camera unit (1115) controls the imaging system, including, where necessary, focusing of the camera (1110) and, where necessary, manipulation of the system optics so that the desired portion of the scene is at the center of the field of view. Images are transmitted from the camera (1110) to the PC (1140) via the camera unit (1115).
[0523] The modulation unit (1135) controls positioning of the light (1132), both spatially and temporally, in order to provide a set of structured light rays as described hereinabove. The modulation unit (1135) can be “upstream” of the light source (1130), as shown, or “downstream” of the light source (1130).
[0524] In embodiments where the modulation unit (1135) is “upstream” of the light source (1130), the modulation unit (1135) controls the light source (1130) directly so that light (1132) is emitted from different positions in the source (1130) at different times, in order to provide the desired set of structured light rays.
[0525] In preferred embodiments, where the modulation unit is “downstream” of the light source (1130), the modulation unit (1135) controls positioning of the light beam (1132); light from the light source (1130) is maneuvered by the modulation unit (1135) to provide the desired set of structured light rays.
[0526] Software to carry out the functions of the modulation unit (1135) and the camera unit (1115) can be local, within the unit, or central, within the PC (1140).
[0527] The structured light rays are then transmitted through the endoscope (1120) so as to illuminate the region of interest.
[0528] Reflected radiation from the objects in the region of interest is transmitted back through the endoscope (1120) so as to be received by the camera (1110), and the camera image is transmitted via the camera unit (1115) to the PC, where the 3D image of the region of interest is reconstructed, as described hereinabove. Manipulation of the camera image, such as elimination of background light or binarizing, as described hereinabove, can be carried out in the camera unit (1115), in the PC (1140), or any combination thereof.
[0529]
Example 2
[0530] In some embodiments, the physical setup is similar to that of the embodiment of Example 1 (see
[0531] However, instead of the operators of Example 1, polynomial fits are made to the known spot positions on the camera images, given the known ray positions, the known spot positions on the camera images and the known shape and size of the calibration object. From the polynomial fits, the locations of positions on the surface of an unknown object can be found.
[0532] In the embodiment of Example 2, the projector (light source) projects a coded stripe pattern on the object or objects to be viewed and the camera captures an image of the reflected light. Hence, for each visible point in the scene there is a corresponding stripe number and image location (in pixel coordinates). Given the parameters of the system, each strip value defines a plane in the world (the space being viewed) and each pixel defines a ray in the world. The intersection of the plane and the ray defines a unique 3D location in the world. The parameters of the system are obtained during calibration. As in Example 1, a calibration object is placed at a known position in the field of view. The calibration object comprises a set of fiducial marks whose spatial location is known to high accuracy. The system is operated normally and the pixel coordinates are found for each of the fiducial marks. These triples of fiducial mark, pixel and stripe coordinates are used to estimate the unknown parameters of a mathematical model of the system.
[0533] In practice, the projector projects a sequence of 9 banded light patterns onto the scene. The first pattern is full illumination. The remaining patterns provide temporal encoding, with each of the 8 patterns providing one bit in an 8 bit binary grey code for the stripe value. In general, for a b bit code, the k.sup.th bit (where k=0, 1, . . . , b−1) of the code for the n.sub.th value (n=0, 1, . . . , 2.sup.b-1) is given by
mod 2. An important property of the code is that no two edges (level changes) are coincident throughout the sequence. As the most likely place to erroneously read a bit is at a level change, the code helps reduce the possibility of detecting more than one bit of the code erroneously. In addition, detecting a bit incorrectly at a level change only alters the stripe value by one. It should be noted that this stripe encoding completely eliminates the need for resolving any correspondence between points in the image and stripes.
[0534] Projector lens distortion results in each stripe forming a slightly curved surface instead of a plane, and camera lens distortion results in the image point being slightly displaced from its nominal position. Furthermore, the discrete nature of pixel-based cameras and projectors gives rise to uncertainty in the true pixel coordinates and stripe value.
[0535] In preferred variants of the present embodiment, correcting for the effects of projector lens distortion is included in the model of the projector.
[0536] In preferred variants of the present embodiment, correcting for the effects of camera lens distortion is via subpixel and substripe operators.
[0537] In the present embodiment, the uncorrected transformation of a point P from the world coordinate system C.sub.w to the camera coordinate system C.sub.c is
where X.sub.c=(x.sub.c, y.sub.c, z.sub.c) is the location of the point in camera coordinates, X.sub.w=(x.sub.w, y.sub.w, z.sub.w) is the location of the point in camera coordinates, R.sub.c is a 3×3 rotation matrix and T.sub.c is a 3×1 translation vector.
[0538] The “principal point” is the intersection of the imaging plane with the optical axis. Without loss of generality, a 2D image coordinate system can be defined as being in the image plane with its origin located at the principal point. Let p be the projection of the point P onto the image plane for a non-distorting projector and let the coordinates of p be ({tilde over (X)}.sub.i, {tilde over (y)}.sub.i, 0). Then
where f.sub.c is the “principal distance”.
[0539] As described above, the projective lenses slightly distort the plane of the projected light into a curved surface. To correct for this, let (x.sub.i, y.sub.i, 0) be the observed location in the image plane of the point p, after projection by a real, distorting projection system. Then,
where K.sub.c is a coefficient determined by the amount of radial distortion.
[0540] The effects of pixels size and imager speed can also be factored in. Let C.sub.pixel be a pixel coordinate system associated with the digital image, where the location of a point is given by (x,y). Then the pixel coordinates are related to the image coordinates by
where S.sub.c.sup.x and S.sub.c.sup.y are scale factors in pixels/mm, C.sub.c.sup.x and C.sub.c.sup.y are the pixel coordinates of the principal point and k.sub.c is a shear coefficient in pixel/mm.
[0541] The model for the projector is similar to that for the camera, as the projector can be regarded as a camera with a 1D image, acting in reverse.
[0542] However, the projector model differs from the camera model in that the stripe coordinate system C.sub.s is 1D, unlike the 2D camera coordinate system C.sub.p, leading to the equation:
x.sub.s=s.sub.p.sup.xx.sub.i+c.sub.p.sup.x (47)
[0543] Where s.sub.p.sup.x is a scale factor and c.sub.p.sup.x is the pixel coordinate of the principal point of the projection system.
[0544] Physically, each stripe value x.sub.x gives rise to a unique line on the projector given by {(x.sub.i,y.sub.i):x.sub.i=(x.sub.s−c.sub.p.sup.x)/s.sub.p.sup.x, y.sub.i∈}. The line is projected and distorted by the lens, giving rise to a slightly curved surface in the world.
[0545] Altogether, the following set of equations describes the transformations:
[0546] The above models describe the geometric behavior of the camera and projector and are based on a physical understanding of these devices. K.sub.c=0 and k.sub.c=0 describe a perfect camera. Similarly, K.sub.p=0 describes a perfect projector.
[0547] It is clear that there is a redundant parameter within the set of camera parameters {s.sub.c.sup.x, s.sub.c.sup.y, f.sub.c}. This can be dealt with by arbitrarily fixing one of them. For the calibrations described hereinbelow, f.sub.c is set to 1.
[0548] Lens distortion has been incorporated as a function of the transform from ({tilde over (x)}.sub.i, {tilde over (y)}.sub.i, 0) to (x.sub.i, y.sub.i, 0). This is because the distortion is a 2D phenomenon whereas only one coordinate of the position of a point on the projector emitter is available. However, the ranges of both formulations are almost equivalent for typical system configurations. Therefore, this modification makes little difference to the solution.
[0549] The camera and projector models can be summarized as follows. Let
Θ.sub.c=(s.sub.c.sup.xs.sub.c.sup.yc.sub.c.sup.xc.sub.c.sup.yk.sub.cK.sub.cω.sub.c.sup.1ω.sub.c.sup.2ω.sub.c.sup.3T.sub.c.sup.1T.sub.c.sup.2T.sub.c.sup.3).sup.t (48)
Θ.sub.p=(s.sub.p.sup.xc.sub.p.sup.xK.sub.pω.sub.p.sup.1ω.sub.p.sup.2ω.sub.p.sup.3T.sub.p.sup.1T.sub.p.sup.2T.sub.p.sup.3).sup.t (49)
where w.sub.c.sup.k, k=1 . . . 3 and ω.sub.n.sup.k, k=1 . . . 3 parameterize R.sub.c and R.sub.p respectively (e.g. Euler angles). The first six parameters of the camera model and the first three parameters of the projector model are referred to as “intrinsic parameters” because they are independent of the world coordinate frame.
[0550] Using the above, the transformation from world coordinates p.sub.w to pixel coordinates p.sub.p can be written as
p.sub.p=F.sub.c(p.sub.w;Θ.sub.c). (50)
[0551] Similarly, the transformation from world coordinates to the stripe value p.sub.x can be written as
p.sub.s=F.sub.p(p.sub.w;Θ.sub.p). (51)
[0552] Both the calibration and spatial intersection procedures require the pixel coordinates and the stripe value of points of interest in the world (field of view). Obtaining good estimates for the value of these quantities is important in order to obtain accurate estimates of the parameters of the system during calibration and accurate estimates of 3D point locations during spatial intersection.
[0553] Subpixel Estimation
[0554] During calibration, the subpixel locations of the centroids of the fiducial marks on the calibration reference are required. The grayscale centroid operator can be used to estimate the centroids of the fiducial marks in the image. Such centroid-based techniques have the following advantages: [0555] They are robust to noise, since they are based on integration rather than the differentiation of many edge detectors. [0556] They are robust to small amounts of aliasing. Theoretically, they are exact if the sampling frequency is greater than the Nyquist frequency. [0557] They are computationally inexpensive.
[0558] However, the centroid of the image of a fiducial mark does not in general coincide with the image of the centroid, due to perspective distortion. This introduces a systematic error in the centroid estimate and is a fundamental limitation of centroiding techniques.
[0559] Ignoring lens distortion, an estimate of this error can be obtained as follows. Consider a flat circular region Δ of radius r. let n be the normal to Δ and q be the location of the centroid of Δ, both in camera coordinates. If c denotes the image of the centroid and ĉ denotes the centroid of the image of Δ then
[0560] As required, ĉ reduces to c when n=e.sub.3 (Δ parallel to the image plane. The error in the image plane is given by e.sub.p=c−ĉ. This error can be transformed into pixel coordinates using the scale factors and shear coefficient defined hereinabove (eq. 46).
[0561]
[0562] During special intersection, two situations can arise, one where the image location is freely chosen and the other where it is dictated by a feature in the world. The need to use subpixel estimation does not arise in the first situation, e.g., during generation of a dense range map with image locations at the pixel lattice points. The type of subpixel operator used during the second situation depends on the nature of features (such as, but not limited to edges, ridges, blobs, voids, or transparent or translucent regions).
[0563] Substripe Estimation
[0564] During calibration and special intersection, the substripe values of specified world points are required.
[0565] Substripe estimation is more difficult than subpixel estimation. One reason for this is that the stripe information is not directly available from the projector in the sense that the pixel location information is available from the camera. It is the images of the stripes cast on the scene which are used to recover the stripe values. In this way, the stripes are effectively samples twice, once by the predetermined locations of the stripes emitted by the projector, and once from the image in the camera. Another difficulty, specific to temporally encoded systems, is that the stripe values are encoded in a sequence of images rather than available in a single image as for pixel locations.
[0566] It is assumed that the 8 bit stripe value is available for each pixel in the image. The image formed from these values is referred to as a “stripe image”. The discrete nature and coaresse quantization of the stripe image gives rise to poor accuracy if used directly. The algorithm adopted for substripe estimation is simple. A region of interest, Ω, is established with its center at the subpixel location, (x.sub.p,y.sub.p), where the substripe estimate, x.sub.x, is to be determined. A least-squares polynomial facet is fitted to the stripe image in Ω and the substripe estimate made by interpolating this facet.
[0567] If the underlying surface is flat, a planar facet is fitted to the stripe image Ω. Assuming no lens distortion in the camera and the projector, the stripe values and the pixel coordinates for a planar patch in the world will be related by a rational function because the composition of two projective maps is a projective map. Hence a planar facet does not model perspective effects precisely. The errors introduced by using a planar facet can be estimated as follows.
[0568] Let C.sub.c and C.sub.p denote the 3×4 and 2×4 Perspective Transformation Matrices (PTMs) for the camera and projector, respectively. Both the camera and the projector are assumed to be distortionless. Let T be a 4×3 homogeneous transformation matrix describing the coordinate transformation between a 2D coordinate system associated with the planar patch and the world coordinate system. It follows that
[0569] This shows that the stripe values and pixel coordinates are related by an equation of the form
[0570] Let x.sub.x be the true substripe value at subpixel location (x.sub.p,y.sub.p) calculated using eq. (54). Let (X.sub.p,Y.sub.p) be the n×2 matrix of pixel coordinates in Ω and X.sub.x be the n vector of substripe values at coordinates (X.sub.p,Y.sub.p). The 3×1 vector of coefficients of the least squares plane fitted to Xx on Ω is given by
c=(A′A).sup.−1A′X.sub.s (56)
where A=[X.sub.p Y.sub.p 1.sub.n] is the n×3 design matrix associated with the plane. The estimate of the x.sub.x is given by
{circumflex over (x)}.sub.s=c.sub.1x.sub.p+c.sub.2y.sub.p+c.sub.3 (57)
and the error is given by
[0571]
[0572] In the more general case of a curved surface, higher order 2D polynomial facets are fitted to the stripe image. The order of the facet model depends on the size of the region of interest Ω, which must cover a sufficient number of stripes. Typically, a region of interest of size 17×17 pixels and 2D third-order polynomials are used. Note that polynomial fitting does not introduce blurring in the sense of low-pass filtering. For example a polynomial of degree n (which can have considerable oscillation) is invariant to a polynomial filter of order n (i.e. the filter which is defined by fitting and interpolating a polynomial of degree n).
[0573] Planar facets are only used when the surface under consideration is known to be flat, such as the faces of the calibration reference. In all other cases. a polynomial facet is used. The planar facet is embodied because it provides superior estimation when the surface has very low curvature.
[0574] Calibration
[0575] Calibration involves estimating the unknown parameters relating the world points, the projector points and the image points from a number of known world points and their corresponding pixel coordinates and stripe values.
[0576] For a calibration object with n fiducial marks, let p.sub.w(j), p.sub.p(j) and p.sub.s(j) be the world coordinates, the pixel coordinates and the stripe coordinates, respectively, of the jth fiducial mark. In addition, let P.sub.w, P.sub.p and P.sub.s be vectors of sizes 3n, 2n and n, respectively, formed by stacking the coordinate vectors for the world points, the pixel points and the stripe points, respectively. The vectors P.sub.p and P.sub.s are measured from the image sequence as described hereinabove and will consequently suffer from measurement noise.
[0577] If μ.sub.P.sub.
P.sub.p=μ.sub.P.sub.
P.sub.s=μ.sub.P.sub.
and the model can be written as
μ.sub.P.sub.
μ.sub.P.sub.
[0578] In this derivation, the assumptions are: [0579] P.sub.w is measured without error. [0580] P.sub.p˜N(μ.sub.P.sub.
[0582] Maximum Likelihood Estimation of {Θ.sub.c, Θ.sub.p} leads to the non-linear least squares (NLLS) problem
which can be solved using any general NLLS solving algorithm known in the art. Non-limiting examples of such algorithms are Gauss-Newton or Levenberg-Marquardt.
[0583] Obtaining good initial estimates for the parameters is desirable as (1) it helps ensure that the global minimum is obtained and (2) reduces computation by reducing the number of iterations required. Initial estimates can be obtained from a variety of sources, depending on the nature of the problem. A typical approach is to estimate and decompose the PTMs for the camera and the projector.
[0584] Spatial Intersection
[0585] Special intersection is used to find an estimate of the location of a point in the world coordinate system given its pixel coordinates and stripe value. The lens distortion in the projector results in slightly curved surfaces being projected onto the scene rather than planes. Consequently, the special intersection procedure involves solving a homogeneous non-linear system in three variables. However, linear methods can be used to calculate a good initial approximation and physical considerations preclude the presence of any other solutions in a large neighborhood of the true solution.
[0586] Let p.sub.p=(x.sub.p,y.sub.p).sup.t and p.sub.x=(x.sub.s) be the pixel coordinates and stripe value of a point P. Then the world coordinates of P, denoted p.sub.w, are given by the solution of the non-linear system
[0587] This problem can be solved using any general technique known in the art, for non-limiting example, a quasi-Newton strategy.
[0588] The initial linear estimate of p.sub.w is found as follows. Let C.sub.c.sup.k be the kth row of the 3×4 camera PTM and C.sub.p.sup.k the kth row of the 2×4 projector PTM. Then the PTM equations relating p.sub.w, p.sub.p and p.sub.x, i.e.,
can be rearranged into the 3×4 linear homogeneous system
[0589] A solution to eq. (66) can be obtained (for non-limiting example) using SVD and the estimate of pw obtained from the homogeneous solution to eq. (66).
[0590] When there are a large number of points to process, computational savings can be made. A generalization of the vector cross-produce for n−1 vectors in an n-dimensional linear space can be defined implicitly by w, v.sub.1× . . . ×v.sub.n-1
=det(v.sub.1, . . . v.sub.n-1, w). v.sub.1× . . . ×v.sub.n-1 can be written as Σ.sub.kdet(v.sub.1, . . . v.sub.n-1, e.sub.k)e.sub.k and is orthogonal to v.sub.k where {ek}.sub.k=1.sup.n are the standard basis vectors of
.sup.a. Therefore, a solution to eq. (66) is given by the (generalized) cross product of the rows of the 3×4 matrix
[0591] Dividing by α and using the linearity and antisymmetry of the determinant tensor, the kth component of p.sub.w is given by
where C.sub.i,j,l.sup.k=det(C.sub.c.sup.i, C.sub.c.sup.j, C.sub.p.sup.l, e.sub.k) are constants which depend only on the camera and projector PTMs and can be precomputed.
[0592] In these experiments, the system comprised a K2T LCS and controller housed in a Kodak projector. TM-6CN Pulnix camera and S2200 Data Cell framegrabber. The LCS shutter has 256 stripes and 512×512 images were captured. The calibration reference is a 150 mm cube with 72 fiducial marks of 5 mm radius arranged over 3 faces, as shown in
[0593] To evaluate the performance of the system, seven trials were used with the calibration reference in a different position in each. For each trial, the observed data consists of the pixel coordinates and stripe values of the fiducial marks. The calibration parameters for each trial were extracted from the observed data using the procedure described hereinabove.
[0594] The estimated pixel coordinates and stripe values are obtained by projecting the world reference coordinates using the calibrated system model. The pixel residuals (
[0595] Table 3 shows the average magnitude of the special intersection errors for each of the calibration trials. Each average was obtained using all 72 fiducial marks. For comparison, Table 4 shows the average errors when radial distortion is neglected for the camera and projector models. Table 5 shows the average errors when no substripe estimation is used. Excluding either radial distortion or substripe estimation increases the error in all trials. On average, over all trials, adding substripe estimation improves the performance by 82% while adding lens distortion improves the performance by only 13%, showing that substripe estimation has the more significant effect.
TABLE-US-00003 TABLE 3 Average magnitude of the spatial intersection error for calibration trials. Trial 1 2 3 4 5 6 7 average error (mm) 0.154 0.245 0.296 0.187 0.280 0.246 0.233
TABLE-US-00004 TABLE 4 Average magnitude of the spatial intersection error for calibration trials if radial distortion is neglected. Trial 1 2 3 4 5 6 7 average error (mm) 0.226 0.283 0.311 0.223 0.292 0.261 0.264
TABLE-US-00005 TABLE 5 Average magnitude of the spatial intersection error for calibration trials with no substripe estimation. Trial 1 2 3 4 5 6 7 average error (mm) 1.348 1.312 1.371 1.521 1.233 1.170 1.444
[0596] Given the observed data for a trial and the calibration parameters for that trial (or any other), special intersection can be used to estimate the coordinates of the fiducial marks in the world coordinate system established by the calibration. These can be compared with the reference coordinates by estimating, using (for non-limiting example) a least squares error criterion, the 3D rigid body transformation needed to transform the reference coordinates to the estimated coordinates (model fitting). The model fitting error is the difference between the estimated world coordinates and the transformed reference coordinates. Table 6 shows the average magnitude of the model fitting error for all of the calibration trials and all of the observed data sets. The diagonal entries of Table 6 are very close to, and less than, the values in Table 3. This indicates that the spatial intersection procedure is accurately recovering the coordinates in the world coordinate system. The model fitting errors are largest when the spatial intersection data set is farthest from the calibration data set.
TABLE-US-00006 TABLE 6 Average magnitude of the model fitting error (in mm) for each calibration trial (rows) and each measured data set (columns). trial 1 2 3 4 5 6 7 1 0.154 0.405 0.271 0.207 0.322 0.285 0.298 2 0.389 0.245 0.445 0.337 0.246 0.428 0.392 3 0.335 0.613 0.296 0.367 0.490 0.307 0.437 4 0.205 0.379 0.312 0.187 0.298 0.297 0.248 5 0.408 0.301 0.476 0.349 0.280 0.451 0.374 6 0.324 0.564 0.273 0.355 0.455 0.245 0.424 7 0.295 0.475 0.308 0.247 0.366 0.292 0.233
[0597] Table 7 shows the intrinsic parameters for the system obtained from each trial. The camera scale factors obtained during calibration agree with the nominal value of 2200 pixels/mm. In addition, the camera principal point is consistent with the nominal value of (255,255) pixels. The shear coefficient is small with respect to s.sub.c.sup.x (0.14%), suggesting a very small contribution. The scale factor for the projector is close to the nominal value of 120 stripes/mm.
TABLE-US-00007 TABLE 7 The 6 intrinsic parameters for the camera (upper) and the 3 intrinsic parameters for the projector (lower) for each calibration trial. trial 1 2 3 4 5 6 7 s.sub.c.sup.x 2411.062 2399.667 2425.255 2418.480 2403.901 2443.054 2408.316 s.sub.c.sup.y 2412.349 2402.982 2425.084 2421.023 2407.875 2445.911 2410.448 s.sub.c.sup.x 289.389 283.201 301.069 274.053 271.295 314.980 272.129 c.sub.c.sup.y 271.802 303.288 258.478 275.559 309.616 261.080 259.293 k.sub.c 4.211 2.316 4.308 3.285 1.938 4.006 3.136 K.sub.c 0.464 0.176 0.449 0.439 0.200 0.219 0.035 s.sub.p.sup.x 899.157 1020.565 1151.871 1015.006 1061.455 1162.614 1059.352 c.sub.p.sup.x 159.906 240.831 130.128 183.441 223.480 132.600 181.811 K.sub.p 0.085 0.123 0.317 0.116 0.138 0.384 0.409
[0598] However, there are significant variations in many of the parameters. An examination of the estimated dispersion matrix for the camera shows some parameters have high variances and there are high correlations between parameters. This can be partially explained by the experimental configuration of the structured light system; with the distance between the camera and the world reference much larger than the diameter of the world reference a weak perspective camera model provides a reasonable explanation of the observed data.
[0599] Consequently many parameters are correlated. In particular, has a relatively large variance and is highly correlated with s.sub.c.sup.x and s.sub.c.sup.y.
[0600] The above remarks are also applicable to the projector parameters. However, the situation for eh projector is inherently worse than that for the camera as the projector has nine parameters (compared to 12 for the camera) but only half as many data points are available. As described above, introducing K.sub.p allows T.sub.p.sup.2 to be estimated, but, as expected, it has a large variance.
[0601] Furthermore, when the distance between the projector and the world reference is much larger than the diameter of the world reference, the stripe planes are nearly parallel in the working volume. Hence a component of the rotation is nearly unidentifiable. This gives rise to large variances in the rotation parameters.
[0602] It is important to note that the actual values of the camera and projector parameters are incidental in this situation and it is the values of the measured 3D coordinates that are of interest. Therefore, including T.sub.p.sup.2 and K.sub.p in the projector model is useful because it improves the accuracy of the spatial data, even though T.sub.p.sup.2 is not particularly accurate.
[0603] In preferred embodiments, optical fibers are used to transmit the modulated light through the endoscope to the region of interest, so that the effective area of the projector is minimized.
[0604] In preferred embodiments, calibration of the system is carried out when the system is produced. Preferably, no recalibration is needed. However, if recalibration is needed, it can be carried out on site, even in the operating theater.
[0605] In preferred embodiments, a standard camera can be used, with positioning of the camera field of view controlled by positioning the endoscope.
[0606] A further advantage of the system of the present invention is that standard systems can be used to transmit the modulated light to the region of interest, for example, through the endoscope or laparoscope, or through a thoracostomy.
[0607] In preferred embodiments of the system, a standard endoscope is used. In preferred embodiments, the light source is a laser; the location from which the light enters the working area can be altered so as to produce the stripe pattern needed for reconstruction disclosed above.
[0608] In some embodiments using the reconstruction method disclosed above, the axis of the wide-angle lens is not parallel to the plane formed by the stripe pattern since as described above, reconstruction is not possible when a ray between the camera focal point and the object point (parallel to the axis of the lens) is parallel to the plane originating at the projector focal point and passing through the object point (the plane formed by the stripe pattern).
[0609] In some embodiments of the system, in addition to live-streaming the images, the system can capture still images and store them in a database.
[0610] In some embodiments, the light source can be at least one spectral range selected from a group consisting of the visible, near infrared, infrared, or ultraviolet spectral regions.
[0611] Image transmission can be by using any of wireless communication, transmission of optical signals through fiber optic cables, or transmission of electrical signals through wires or cables.
[0612] The light source can be a laser, Light Emitting Diodes (LED's) or any other source known in the art. Preferably the illumination is in substantially the same spectral range as that to which the camera is sensitive.
[0613] In some embodiments, display of the 3D scene can be by any conventional 3D display means such as, but not limited to, a 3D screen, 3D glasses, autostereoscopy, holography, a volumetric display, integral imaging, wiggle stereoscopy, an active shutter 3d system, a polarized 3d system, an interference filter system, a color anaglyph systems a Chromadepth system, an over/under format, and any combination thereof.
[0614] In preferred embodiments, the operating tools can be detected using depth cues.
[0615] In some embodiments, structures such as blood vessels, nerves, or certain limbs can be detected by the system. In preferred variants of such embodiments, the detected structures can be emphasized by any means known in the art such as, but not limited to, virtual reality overlays, color markings, pattern markings, outlines, arrows, and any combination thereof.
[0616] In some embodiments, data from other modalities such as, but not limited to, CT, MRI, ultrasound, PET and any combination thereof can be displayed to the surgeon. Preferably, the endoscope image and the image(s) from the other modalit(ies) are matched to and aligned with each other in 3D, so that the display includes all of the image information.
[0617] In some embodiments, additional information such as recommendations useful in directing the progress of an operation, information useful in assisting an operator in making a decision, information useful for a record of the operation and any combination thereof can be displayed to the surgeon, either visually or audibly. This additional information can be, but is not limited to, camera pose, body temperature, time, elapsed time since start of operation, patient notes, notes made during the operation, and other information accessible to the system and any combination thereof.
[0618] Color Modulation
[0619] Color modulation can be used to distinguish different types of tissue, since different types of tissue show different patterns of scattering and absorption at different wavelengths due to the different fractions of e.g., lipids, deoxyhemoglobin (HHb), oxyhemoglobin (O.sub.2Hb) and water in the tissues.
[0620] Color modulation can be used to identify hemodynamics and vascular reactivity, aiding in diagnosis of cancerous tissue and vascular disease. For non-limiting example, in vascular disease, the restricted blood flow to the tissue results in ischemia, hypoxia and tissue necrosis, all identifiable by increased HHb and decreased O.sub.2Hb.
[0621] An example of the difference between normal tissue and cancerous tissue is shown in
[0622]
[0623]
[0624] Control of the Field of View
[0625] In preferred embodiments of the present system, the system comprises all the mechanisms required to control fully the movement of both the movement of and the articulation of an articulated endoscope so that the position of the endoscope and the position and angle of the tip of the endoscope are fully under control.
[0626] In preferred embodiments, movement of the endoscope and control of the articulation of the endoscope are fully automatic; the surgeon indicates a desired location and/or field of view and the endoscope movements and articulation changes needed to achieve the desired location and/or field of view are carried out, while avoiding collisions with the tools and\or the tissue, without need for further input from the operator.
[0627] Such control can be by means of a touchscreen, a joystick, voice commands, eye movements, hand movements, or other control means under the command of a surgeon.
[0628] Reference is now made to
[0629] The system for maneuvering an endoscope 130 comprises at least one joystick unit 152 and at least one communication means. At least one of the at least one communication means is adapted to connect at least one joystick unit 152 to any standard maneuvering system 100 for maneuvering an endoscope 200. Different joystick units can control different aspects of the endoscope's motion. For non-limiting example, a joystick unit to control lateral movement of the endoscope, a joystick unit to control zooming and a joystick unit to control articulation of the endoscope tip. Preferably, a single joystick controls all aspects of motion.
[0630] The communication means can comprise a wireless communication means, a wired communication means and any combination thereof.
[0631] The connection between the joystick unit 152 and the maneuvering system 100 (or other control system) enables control of the maneuvering system 100 by the joystick unit 152, thereby enabling an operator to control the movement of the endoscope 200 by controlling the joystick unit 152.
[0632] Furthermore, the communication means is adapted to disconnect the joystick unit 152 from the maneuvering system 100, thereby preventing the endoscope 200 from being moved by the joystick unit 152. Disconnection of the joystick unit 152 prevents the situation of unwanted movement of the endoscope 200 due to inadvertent joystick unit 152 motion. Thus, in such a situation, movement of the joystick unit 152 will not result in movement of the endoscope 120.
[0633]
[0634] In preferred embodiments, movement of the endoscope is proportional to movement of the joystick unit, unless the speed of the endoscope tip in a given direction would be above a predetermined value. In these embodiments, movement of the endoscope at speeds greater than the predetermined value is prevented. In these variants of the preferred embodiments, if a speed above the predetermined value is commanded, the endoscope will continue moving, but with a speed at or just below the predetermined value. In some embodiments, if a speed above the predetermined value is commanded, movement of the endoscope is prevented.
[0635] According to some embodiments of the present invention, the SFME 130 can be wearable, either by a user or by an instrument. Reference is now made to
[0636] Referring again to
[0637] Referring again to
[0638] As will be disclosed hereinafter, the loop-closing means 156 can be e.g., a unidirectional catch, a rack, a peg or any other mechanism known in the art.
[0639] According to some embodiments, the silicone and/or rubber strip 154 is passed through a unidirectional catch (e.g., ratchet 156), such that, when the physician wears the wearable operator 150, he adjusts the same by pulling the silicone and/or rubber strip 154 through the ratchet 156.
[0640] According to some embodiments, the silicone and/or rubber strip 154 is rotated around rack or peg 156 such that, when the physician wears the wearable operator 150, he adjusts the same by pulling the silicone and/or rubber strip 154 around the peg 156.
[0641] According to this embodiment, the silicone and/or rubber strip 154 is characterized by a varied width along its length. More specifically, at least a portion of the silicone and/or rubber strip 154 is characterized by a greater width, such that when the same is twisted/rotated around peg 156 and reaches the wider portion, the same is fixedly secured to the wearable operator 150.
[0642] According to some embodiments, the silicone and/or rubber strip 154 is characterized by different surface roughnesses along its length. More specifically, at least a portion of the silicone and/or rubber strip 154 is characterized by e.g., an abrasive or rough surface such that when the same is twisted/rotated around peg 156 and reaches the rougher portion, the same is fixedly secured to the wearable operator 150.
[0643] Referring again to
[0644] According to the embodiment shown in
[0645] Once the wearable operator 150 is secured to the surgical tool, the wearable operator 150 is adjusted to the size and dimensions of the surgical tool by means of a unidirectional catch (e.g., ratchet 1510).
[0646] According to some embodiments, the wearable operator 150 comprises a body having at least two portions 1520 and 1521 (see
[0647] According to some embodiments (
[0648] According to some embodiments (
[0649] In reference to
[0650] According to some embodiments, the movement of either portion 1520 or portion 1521 relative to the other is obtained by providing one portion, e.g., portion 1521 with cog-like teeth 1511 and the body of the wearable operator with cog-like teeth 1512 matching with cog-like teeth 1511 (see
[0651] Referring again to
[0652] In some embodiments, a single control is used for both lateral maneuvering of the endoscope and zooming of the endoscope. In some variants of these embodiments, lateral movement of the joystick unit or lateral movement of a hand on the joystick unit is translated into lateral maneuvering of the endoscope, for non-limiting example, as described above for
[0653] In some embodiments, two joystick units are used, one for lateral maneuvering of the endoscope, and one for zooming.
[0654] In some embodiments, two joystick units are used, one for maneuvering, both lateral maneuvering and zoom, and the other for directing the endoscope to focus on a desired tool. In these embodiments, on the display screen showing the field of view of the endoscope, a symbol indicates the tool on which the endoscope is focused. This symbol can be a shape or it can be highlighting. When a user clicks on the second joystick unit, the new tool to be focused on is indicated, either by moving the symbol or highlighting to the new tool, or by a second symbol or a second color of highlighting. The user can repeat clicking until the desired tool is indicated. In some embodiments, ceasing to click on the second joystick unit indicates that the current tool is the desired tool; in some embodiments, a longer pressure on the second joystick unit indicates that the current tool is the desired tool. Once the desired too has been selected, the endoscope redirects to the desired tool.
[0655] Operation of the zoom mechanism can be by clicking on a joystick unit or by a continuous pressure on a joystick unit. Some non-limiting examples of embodiments of methods of zoom control include: [0656] 1. A single click to select zoom in, a double click to select zoom out, and continuous pressure to zoom at a predetermined rate in the selected direction. [0657] 2. A double click to select zoom in, a single click to select zoom out, and continuous pressure to zoom in the selected direction. [0658] 3. A single click to change the direction of zoom and continuous pressure to zoom at a predetermined rate in the selected direction. [0659] 4. A single click to change the direction of the zoom, a double click to zoom by a predetermined amount in the selected direction. [0660] 5. A double click to change the direction of the zoom, a single click to zoom by a predetermined amount in the selected direction. [0661] 6. A single click to change the direction of zoom and a double click to zoom by a predetermined amount in the selected direction. [0662] 7. A single click to change the direction of zoom, a double click to zoom by a predetermined amount in the selected direction, and continuous pressure to zoom at a predetermined rate in the selected direction.
[0663] In embodiments in which continuous pressure is used to zoom in the selected direction, in some variants of these embodiments, continuous pressure above a predetermined minimum pressure (a minimum which can be zero) zooms the endoscope at a predetermined zoom rate. In other variants of embodiments in which continuous pressure is used to zoom in the selected direction, if the pressure is above a predetermined minimum pressure, which can be zero, the greater the pressure, the greater the zoom rate, until a predetermined maximum rate is reached, above which the zoom rate is the predetermined maximum rate.
[0664] In embodiments wearable by the user, the operator 150 can be worn as a ring on a finger; as a wristband on the wrist; an armband on an arm; on the chest, either supported around the chest or supported around the neck; or on the head, supported by a headband, by a helmet or by a helmet frame.
[0665] The communication means connecting the maneuvering system to the operator 150 can be a wireless communication means, a wired communication means, and any combination thereof.
[0666] In some embodiments of the current invention, SFME 130 additionally comprises, in a non-limiting manner, means for controlling movement of endoscope 200 adapted to restrain the endoscope's velocity.
[0667] In some embodiments of the current invention, SFME 130 additionally comprises, in a non-limiting manner, n sensors, where n is an integer greater than or equal to one. The sensors may be adapted to activate in case of power failure or to activate when connected to power. The sensors are selected in a non-limiting manner from a group consisting, for example, of motion sensors, heat sensors, electric sensors, sound sensors, pressure sensors, optical sensors, and any combination thereof.
[0668] In some embodiments of the current invention, joystick unit 152 is characterized in a non-limiting manner by an external surface.
[0669] In some embodiments of the current invention, at least one motion sensor detects motion of joystick unit 152. Furthermore, detection of motion is used for deactivation of the motion of endoscope 200 if the requested speed of the motion is above a predetermined threshold.
[0670] In some embodiments of the current invention, at least one motion sensor detects, in a non-limiting manner, motion on the external surface of joystick unit 152. Furthermore, endoscope 200 then moves in response to the motion on the external surface of joystick unit 152. Additionally, detection of motion above a predetermined threshold speed on joystick unit 152 will deactivate motion of endoscope 200.
[0671] In some embodiments of the current invention, at least one heat sensor is adapted in a non-limiting manner to sense temperatures in the range of about 35 to about 42 degrees. The at least one heat sensor is adapted to sense whether a human hand/fingers are activating (i.e., touching) the joystick unit 152.
[0672] Furthermore, at least one heat sensor enables in a non-limiting manner the activation of SFME 130 when the at least one heat sensor senses temperatures in the range of about 35 to about 42 degrees.
[0673] Additionally, at least one heat sensor is adapted in a non-limiting manner to provide a thermal image, where the at least one heat sensor is coupled to a processing unit adapted to provide the endoscope user with the thermal image, and a processing unit enables the activation of SFME 130 upon analysis of the image and detection of human hand.
[0674] In some embodiments of the current invention, at least one electric sensor is adapted in a non-limiting manner to detect, for example, a power failure, the electric conductivity of the subject's body, and any combination thereof. Additionally, the conductivity of the subject's body sensed by the at least one electric sensor enables the activation of the SFME.
[0675] In some embodiments of the current invention, at least one sound sensor is adapted in a non-limiting manner to sense predetermined sound patterns. Furthermore, the predetermined sound patterns sensed by the at least one sound sensor enables the activation of SFME 130. Additionally, at least one sound sensor is used to operate endoscope 200 according to predetermined sound patterns (e.g., the human voice, predetermined movement commands).
[0676] In some embodiments of the current invention, at least one pressure sensor is adapted in a non-limiting manner to sense pressure applied to SFME 130.
[0677] Additionally, in some embodiments, the pressure sensed by the at least one pressure sensor is used to activate SFME 130. In some embodiments, when the pressure sensed by the at least one pressure sensor is above a predetermined threshold, SFME 130 is activated. In some embodiments, when the pressure sensed by the at least one pressure sensor is below a predetermined threshold, SFME 130 is de-activated. In some embodiments, when the pressure sensed by the at least one pressure sensor is below a predetermined threshold, SFME 130 is activated.
[0678] An example of pressure above a pre-determined threshold activating SFME 130 is a pressure sensor in the joystick unit, which is activated when the pressure of a hand or fingers or an appropriated implement is sensed. SFME 130 would be deactivated if the above pressure was below a pre-determined threshold.
[0679] An example of pressure above a pre-determined threshold de-activating SFME 130 is a joystick unit where pressure is used to set the speed of motion of a scalpel. If the pressure is above the pre-determined threshold, the scalpel would move too rapidly, so SFME 130 is de-activated if pressures above the pre-determined threshold are sensed. SFME 130 would then be activated if pressures are below a pre-determined threshold.
[0680] In some embodiments of the current invention, at least one optical sensor is adapted in a non-limiting manner to sense visual changes according to predetermined visual patterns. Furthermore, the at least one optical sensor enables the activation of SFME 130 according to predetermined visual patterns. Additionally, at least one optical sensor is used to operate endoscope 200 according to predetermined visual patterns.
[0681] In some embodiments, SFME 130 is adapted to sense power failure by any means known in the art, including the sensors described herein. In some embodiments, SFME 130 responds to power failure by instructing the maneuvering system to keep the endoscope and any other controlled instruments in the position and at the angle held by them immediately before the power failure. In some embodiments, the system further comprises means by which the endoscope can be manually switched to manual control in the event of power failure, so that the operation can continue safely with an operating assistant maneuvering the endoscope during the period of power failure.
[0682] In some embodiments, the system comprises battery backup such that, in the event of power failure, the system switches automatically to battery power, enabling the SFME to continue to control movement of the endoscope during power outages.
[0683] In some embodiments, a standard articulating endoscope, such as the Stryker™ articulating endoscope is used. In some embodiments, an integral articulating endoscope is used.
[0684] According to some embodiments of the present invention, the surgical controlling system comprises the following components: [0685] a. at least one surgical tool adapted to be inserted into a surgical environment of a human body for assisting a surgical procedure, at least one said tool being an articulating tool; [0686] b. at least one location estimating means adapted to real-time estimate/locate the location (i.e., the 3D spatial position) of the at least one surgical tool at any given time t; [0687] c. at least one movement detection means communicable with a movement-database and with said location estimating means; said movement-database is adapted to store said 3D spatial position of said at least one surgical tool at time t.sub.f and at time t.sub.0, where t.sub.f>t.sub.0; said movement detection means is adapted to detect movement of said at least one surgical tool if the 3D spatial position of said at least one surgical tool at time t.sub.f is different than said 3D spatial position of said at least one surgical tool at time t.sub.0, and, [0688] d. a controller having a processing means communicable with a database, the controller adapted to control the spatial position of the at least one surgical tool.
[0689] The initial time t.sub.0 can be the beginning of the surgical procedure, it can be the time at which the tool entered the body, it can be the time at the beginning of the current movement, or it can be the previous timestep in the current maneuver. In preferred embodiments, the processor will reset t.sub.0 as necessary during the surgical procedure. For non-limiting example, the difference in position between the location of the tool at the previous timestep and its location at the current timestep can be used to calculate the tool's current velocity while the difference in position between its current position and its position at the start of the current maneuver can be used to calculate the tool's overall direction of motion.
[0690] The location of the tool can be the location of the tool's tip, the location of a predetermined point on the tool's body, or the location of a predetermined point on the tool's handle. The position defining the location of the tool can be changed as needed, e.g., from the location of the body to the location of the tip.
[0691] In some embodiments, the surgical controlling system additionally comprises a touchscreen adapted to accept input of a location within the body, that location indicated by pressure on the portion of the touchscreen showing the image of the location.
[0692] In order to facilitate control, a number of motion control rules have been implemented, as described hereinbelow.
[0693] It is within the scope of the present invention that the database is adapted to store a predetermined set of rules according to which ALLOWED and RESTRICTED movements of the at least one surgical tool are determined, such that the spatial position of the at least one surgical tool is controlled by the controller according to the ALLOWED and RESTRICTED movements. In other words, each detected movement by said movement detection means of said at least one surgical tool is determined as either an ALLOWED movement or as a RESTRICTED movement according to said predetermined set of rules.
[0694] Thus, the present invention stores the 3D spatial position of each surgical tool at a current at time t.sub.f and at time to; where t.sub.f>t.sub.0. If the 3D spatial position of said at least one surgical tool at time t.sub.f is different than said 3D spatial position of said at least one surgical tool at time to movement of the tool is detected. Next the system analyses said movement according to said set of rule and process whether said movement is ALLOWED movement or RESTRICTED movement.
[0695] According to one embodiment of the present invention, the system prevents said movement, if said movement is a RESTRICTED movement. Said movement prevention is obtained by controlling a maneuvering system which prevents the movement of said surgical tool.
[0696] According to one embodiment of the present invention, the system does not prevent said movement, (if said movement is a RESTRICTED movement), but merely signals/alerts the user (i.e., the physician) of said RESTRICTED movement.
[0697] According to some embodiments of the present invention, said surgical tool is an endoscope.
[0698] According to some embodiments of the present invention, the controller may provide a suggestion to the operator as to which direction the surgical tool has to move to or may be moved to.
[0699] Thus, according to a preferred embodiment of the present invention, the present invention provides a predetermined set of rules which define what is an “ALLOWED movement” of any surgical tool within the surgical environment and what is a “RESTRICTED movement” of any surgical tool within the surgical environment.
[0700] According to some embodiments the system of the present invention comprises a maneuvering subsystem communicable with the controller, the maneuvering subsystem is adapted to spatially reposition the at least one surgical tool during surgery according to the predetermined set of rules.
[0701] According to some embodiments, the controller may provide instructions to a maneuvering subsystem for spatially repositioning the location of the surgical tool. According to these instructions, only ALLOWED movements of the surgical tool will be performed. Preventing RESTRICTED movements is performed by: detecting the location of the surgical tool; processing all current rules; analyzing the movement of the surgical tool and preventing the movement if the tool's movement is a RESTRICTED movement.
[0702] According to some embodiments, system merely alerts the physician of a RESTRICTED movement of at least one surgical tool (instead of preventing said RESTRICTED movement).
[0703] Alerting the physician of RESTRICTED movements (or, alternatively preventing a RESTRICTED movement) is performed by: detecting the location of the surgical tool; processing all current rules; analyzing the movement of the surgical tool and informing the surgeon (the user of the system) if the tool's movement is an ALLOWED movement or a RESTRICTED movement.
[0704] Thus, according to a preferred embodiment of the present invention, if RESTRICTED movements are prevented, the same process (of detecting the location of the surgical tool; processing all current rules and analyzing the movement of the surgical tool) is followed except for the last movement, where the movement is prevented if the tool's movement is a RESTRICTED movement. The surgeon can also be informed that the movement is being prevented.
[0705] According to some embodiment, the above (alerting the physician and/or preventing the movement) is performed by detecting the location of the surgical tool and analyzing the surgical environment of the surgical tool. Following analysis of the surgical environment and detection of the location of the surgical tool, the system may assess all the risks which may follow a movement of the surgical tool in the predetermined direction. Therefore, each location in the surgical environment has to be analyzed so that any possible movement of the surgical tool will be classified as an ALLOWED movement or a RESTRICTED movement.
[0706] According to one embodiment of the present invention, the location of each tool is determined using image processing means and determining in real-time what is the 3D spatial location of each tool. It should be understood that the above mentioned “tool” may refer to the any location on the tool. For example, it can refer to the tip of the same, the body of the same and any combination thereof.
[0707] In some embodiments, avoidance of body organs is facilitated by means of a proximity sensor on the circumference of at least one tool. In these embodiments, if the distance between the tool and another object in the surgical environment, such as, but not limited to, an organ or another tool, is less than a predetermined distance, the proximity sensor activates, thereby notifying the control system that at least one tool is too close to another object in the surgical environment.
[0708] In some variants of embodiments with proximity sensors, the proximity sensor not only determined whether an object is within a predetermined distance of the sensor, it also determines, for objects within the predetermined distance, the distance between the sensor and the object.
[0709] Hereinbelow, determination of the 3D location of each tool includes determination by means of a proximity sensor as well as determination by means of image processing.
[0710] The predetermined set of rules which are the essence of the present invention are adapted to take into consideration all the possible factors which may be important during the surgical procedure. The predetermined set of rules may comprise the following rules or any combination thereof: [0711] a. a route rule; [0712] b. an environment rule; [0713] c. an operator input rule; [0714] d. a proximity rule; [0715] e. a collision prevention rule; [0716] f. a history based rule; [0717] g. a tool-dependent ALLOWED and RESTRICTED movements rule. [0718] h. a most used tool rule; [0719] i. a right tool rule; [0720] j. a left tool rule; [0721] k. a field of view rule; [0722] l. a no fly zone rule; [0723] m. a preferred volume zone rule; [0724] n. a preferred tool rule; [0725] o. a movement detection rule, and [0726] p. a tagged tool rule.
[0727] Thus, for example, the collision prevention rule defines a minimum distance below which two or more tools should not be brought together (i.e., there is minimum distance between two or more tools that should be maintained). If the movement of one tool will cause it to come dangerously close to another tool (i.e., the distance between them, after the movement, is smaller than the minimum distance defined by the collision prevention rule), the controller either alerts the user that the movement is a RESTRICTED movement or does not permit the movement.
[0728] It should be emphasized that all of the above (and the following disclosure) is enabled by constantly monitoring the surgical environment, and identifying and locating the 3D spatial location of each element/tool in the surgical environment.
[0729] The identification is provided by conventional means known to any skilled in the art (e.g., image processing, optical means etc.).
[0730] The following provides explanations for each of the above mentioned rules and its functions:
[0731] According to some embodiments, the route rule comprises a predefined route in which the at least one surgical tool is adapted to move within the surgical environment; the ALLOWED movements are movements in which the at least one surgical tool is located within the borders of the predefined route, and the RESTRICTED movements are movements in which the at least one surgical tool is located out of the borders of the predefined route. Thus, according to this embodiment, the route rule comprises a communicable database storing at least one predefined route in which the at least one surgical tool is adapted to move within the surgical environment; the predefined route comprises n 3D spatial positions of the at least one surgical tool in the route; n is an integer greater than or equal to 2; ALLOWED movements are movements in which the at least one surgical tool is located substantially in at least one of the n 3D spatial positions of the predefined route, and RESTRICTED movements are movements in which the location of the at least one surgical tool is substantially different from the n 3D spatial positions of the predefined route.
[0732] In other words, according to the route rule, each of the surgical tool's courses (and path in any surgical procedure) is stored in a communicable database. ALLOWED movements are defined as movements in which the at least one surgical tool is located substantially in at least one of the stored routes; and RESTRICTED movements are movements in which the at least one surgical tool is in a substantially different location than any location in any stored route.
[0733] According to some embodiments, the environmental rule is adapted to determine ALLOWED and RESTRICTED movements according to hazards or obstacles in the surgical environment as received from an endoscope or other sensing means. Thus, according to this embodiment, the environmental rule comprises a comprises a communicable database; the communicable database is adapted to received real-time images of the surgical environment and is adapted to perform real-time image processing of the same and to determine the 3D spatial position of hazards or obstacles in the surgical environment; the environmental rule is adapted to determine ALLOWED and RESTRICTED movements according to hazards or obstacles in the surgical environment, such that RESTRICTED movements are movements in which at least one surgical tool is located substantially in at least one of the 3D spatial positions, and ALLOWED movements are movements in which the location of at least one surgical tool is substantially different from the 3D spatial positions.
[0734] In other words, according to the environment rule, each element in the surgical environment is identified so as to establish which is a hazard or obstacle (and a path in any surgical procedure) and each hazard and obstacle (and path) is stored in a communicable database. RESTRICTED movements are defined as movements in which the at least one surgical tool is located substantially in the same location as that of the hazards or obstacles; and the ALLOWED movements are movements in which the location of the at least one surgical tool is substantially different from that of all of the hazards or obstacles.
[0735] According to some embodiments, hazards and obstacles in the surgical environment are selected from a group consisting of tissues, surgical tools, organs, endoscopes and any combination thereof.
[0736] According to some embodiments, the operator input rule is adapted to receive an input from the operator of the system regarding the ALLOWED and RESTRICTED movements of the at least one surgical tool. In other words, the operator input rule receives instructions from the operator of the system as to what can be regarded as ALLOWED movements and what are RESTRICTED movements.
[0737] According to some embodiments, the input comprises n 3D spatial positions; n is an integer greater than or equal to 2; wherein at least one of which is defined as an ALLOWED location and at least one of which is defined as a RESTRICTED location, such that the ALLOWED movements are movements in which the at least one surgical tool is located substantially in at least one of the n 3D ALLOWED spatial positions, and the RESTRICTED movements are movements in which the location of the at least one surgical tool is substantially different from the n 3D ALLOWED spatial positions.
[0738] According to some embodiments, the input comprises at least one rule according to which ALLOWED and RESTRICTED movements of the at least one surgical tool are determined, such that the spatial position of the at least one surgical tool is controlled by the controller according to the ALLOWED and RESTRICTED movements.
[0739] According to some embodiments, the operator input rule can convert an ALLOWED movement to a RESTRICTED movement and a RESTRICTED movement to an ALLOWED movement.
[0740] According to some embodiments, the proximity rule is adapted to define a predetermined distance between the at least one surgical tool and at least one another surgical tool; the ALLOWED movements are movements which are within the range or out of the range of the predetermined distance, and the RESTRICTED movements which are out of the range or within the range of the predetermined distance; the ALLOWED movements and the RESTRICTED movements are defined according to different ranges. Thus, according to this embodiment, the proximity rule is adapted to define a predetermined distance between at least two surgical tools. In a preferred embodiment, the ALLOWED movements are movements which are within the range of the predetermined distance, while the RESTRICTED movements which are out of the range of the predetermined distance. In another preferred embodiment, the ALLOWED movements are movements which are out of the range of the predetermined distance, while the RESTRICTED movements are within the range of the predetermined distance
[0741] It should be pointed out that the above mentioned distance can be selected from the following: [0742] (a) the distance between the tip of the first tool and the tip of the second tool; [0743] (b) the distance between the body of the first tool and the tip of the second tool; [0744] (c) the distance between the body of the first tool and the body of the second tool; and [0745] (d) the distance between the tip of the first tool and the body of the second tool; and any combination thereof.
[0746] According to some embodiments, the proximity rule is adapted to define a predetermined angle between at least three surgical tools; ALLOWED movements are movements which are within the range or out of the range of the predetermined angle, and RESTRICTED movements are movements which are out of the range or within the range of the predetermined angle.
[0747] According to some embodiments, the collision prevention rule is adapted to define a predetermined distance between the at least one surgical tool and an anatomical element within the surgical environment (e.g. tissue, organ, another surgical tool or any combination thereof); the ALLOWED movements are movements which are in a range that is larger than the predetermined distance, and the RESTRICTED movements are movements which is in a range that is smaller than the predetermined distance.
[0748] According to some embodiments, the anatomical element is selected from a group consisting of tissue, organ, another surgical tool or any combination thereof.
[0749] According to some embodiments, the surgical tool is an endoscope. The endoscope is adapted to provide real-time images of the surgical environment.
[0750] According to some embodiments, the right tool rule is adapted to determine the ALLOWED movement of the endoscope according to the movement of a surgical tool in a specified position in relation to the endoscope, preferably positioned to right of the same. According to this rule, the tool which is defined as the right tool is constantly tracked by the endoscope. According to some embodiments, the right tool is defined as the tool positioned to the right of the endoscope; according to some embodiments, any tool can be defined as the right tool. An ALLOWED movement, according to the right tool rule, is a movement in which the endoscope field of view is moved to a location substantially the same as the location of the right tool, thereby tracking the right tool. A RESTRICTED movement, according to the right tool rule, is a movement in which the endoscope field of view is moved to a location substantially different from the location of the right tool.
[0751] According to some embodiments, the left tool rule is adapted to determine the ALLOWED movement of the endoscope according to the movement of a surgical tool in a specified position in relation to the endoscope, preferably positioned to left of the same. According to this rule, the tool which is defined as the left tool is constantly tracked by the endoscope. According to some embodiments, the left tool is defined as the tool positioned to the left of the endoscope; according to some embodiments, any tool can be defined as the left tool. An ALLOWED movement, according to the left tool rule, is a movement in which the endoscope field of view is moved to a location substantially the same as the location of the left tool. A RESTRICTED movement, according to the left tool rule, is a movement in which the endoscope field of view is moved to a location substantially different from the location of the left tool.
[0752] According to some embodiments, the field of view rule is adapted to define a field of view and maintain that field of view. The field of view rule is defined such that if the endoscope is adapted to track a predetermined set of tools in a desired field of view, when one of those tools is no longer in the field of view, the rule instructs the endoscope to zoom out so as to reintroduce the tool into the field of view. Thus, according to this embodiment, the field of view rule comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the combination of all of the n 3D spatial positions provides a predetermined field of view; the field of view rule is adapted to determine the ALLOWED movement of the endoscope within the n 3D spatial positions so as to maintain a constant field of view, such that the ALLOWED movements are movements in which the endoscope is located substantially in at least one of the n 3D spatial positions, and the RESTRICTED movements are movements in which the location of the endoscope is substantially different from the n 3D spatial positions.
[0753] Thus, according to some embodiments of the field of view rule, the field of view rule comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the combination of all of the n 3D spatial positions provides a predetermined field of view. The field of view rule further comprises a communicable database of m tools and the 3D spatial locations of the same, where m is an integer greater than or equal to 1 and where a tool can be a surgical tool, an anatomical element and any combination thereof. The combination of all of the n 3D spatial positions provides a predetermined field of view. The field of view rule is adapted to determine ALLOWED movement of the endoscope such that the m 3D spatial positions of the tools comprise at least one of the n 3D spatial positions of the field of view, and RESTRICTED movements are movements in which the 3D spatial position of at least one tool is substantially different from the n 3D spatial positions of the field of view.
[0754] According to some embodiments, the preferred volume zone rule comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the n 3D spatial positions provides the preferred volume zone; the preferred volume zone rule is adapted to determine the ALLOWED movement of the endoscope within the n 3D spatial positions and RESTRICTED movement of the endoscope outside the n 3D spatial positions, such that the ALLOWED movements are movements in which the endoscope is located substantially in at least one of the n 3D spatial positions, and the RESTRICTED movements are movements in which the location of the endoscope is substantially different from the n 3D spatial positions. In other words, the preferred volume zone rule defines a volume of interest (a desired volume of interest), such that an ALLOWED movement, according to the preferred volume zone rule, is a movement in which the endoscope (or any surgical tool) is moved to a location within the defined preferred volume. A RESTRICTED movement, according to the preferred volume zone rule, is a movement in which the endoscope (or any surgical tool) is moved to a location outside the defined preferred volume.
[0755] According to some embodiments, the preferred tool rule comprises a communicable database, the database stores a preferred tool; the preferred tool rule is adapted to determine the ALLOWED movement of the endoscope according to the movement of the preferred tool. In other words, the preferred tool rule defines a preferred tool (i.e., a tool of interest) that the user of the system wishes to track. An ALLOWED movement, according to the preferred tool rule, is a movement in which the endoscope is moved to a location substantially the same as the location of the preferred tool. A RESTRICTED movement is a movement in which the endoscope is moved to a location substantially different from the location of the preferred tool. Thus, according to the preferred tool rule the endoscope constantly tracks the preferred tool, such that the field of view, as seen from the endoscope, is constantly the preferred tool. It should be noted that the user may define in said preferred tool rule to constantly track the tip of said preferred tool or alternatively, the user may define in said preferred tool rule to constantly track the body or any location on the preferred tool.
[0756] According to some embodiments, the no fly zone rule is adapted to define a RESTRICTED zone into which no tool (or alternatively no predefined tool) is permitted to enter. Thus, according to this embodiment, the no fly zone rule comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the n 3D spatial positions define a predetermined volume within the surgical environment; the no fly zone rule is adapted to determine a RESTRICTED movement if the movement is within the no fly zone and an ALLOWED movement if the movement is outside the no fly zone, such that RESTRICTED movements are movements in which the at least one surgical tool is located substantially in at least one of the n 3D spatial positions, and the ALLOWED movements are movements in which the location of the at least one surgical tool is substantially different from the n 3D spatial positions.
[0757] According to some embodiments, the most used tool rule is adapted to define (either real-time, during the procedure or prior to the procedure) which tool is the most used tool (i.e., the tool which is moved the most during the procedure) and to instruct the maneuvering subsystem to constantly position the endoscope to track the movement of this tool. Thus, according to this embodiment, the most used tool rule comprises a communicable database counting the number of movements of each of the surgical tools; the most used tool rule is adapted to constantly position the endoscope to track the movement of the surgical tool with the largest number of movements. In some embodiments of the most used tool rule, the communicable database measures the amount of movement of each of the surgical tools; the most used tool rule is adapted to constantly position the endoscope to track the movement of the surgical tool with the largest amount of movement.
[0758] According to some embodiments, the system is adapted to alert the physician of a RESTRICTED movement of at least one surgical tool. The alert can be audio signaling, voice signaling, light signaling, flashing signaling and any combination thereof.
[0759] According to some embodiments, an ALLOWED movement is one permitted by the controller and a RESTRICTED movement is one denied by the controller.
[0760] According to some embodiments, the history-based rule is adapted to determine the ALLOWED and RESTRICTED movements according to historical movements of the at least one surgical tool in at least one previous surgery. Thus, according to this embodiment, the history-based rule comprises a communicable database storing each 3D spatial position of each of the surgical tools, such that each movement of each surgical tool is stored; the history-based rule is adapted to determine ALLOWED and RESTRICTED movements according to historical movements of the at least one surgical tool, such that the ALLOWED movements are movements in which the at least one surgical tool is located substantially in at least one of the 3D spatial positions, and the RESTRICTED movements are movements in which the location of the at least one surgical tool is substantially different from the n 3D spatial positions.
[0761] According to some embodiments, the tool-dependent ALLOWED and RESTRICTED movements rule is adapted to determine ALLOWED and RESTRICTED movements according to predetermined characteristics of the surgical tool, where the predetermined characteristics of the surgical tool are selected from a group consisting of: physical dimensions, structure, weight, sharpness, and any combination thereof. Thus, according to this embodiment, the tool-dependent ALLOWED and RESTRICTED movements rule comprises a communicable database; the communicable database is adapted to store predetermined characteristics of at least one of the surgical tools; the tool-dependent ALLOWED and RESTRICTED movements rule is adapted to determine ALLOWED and RESTRICTED movements according to the predetermined characteristics of the surgical tool.
[0762] According to these embodiments, the user can define, e.g., the structure of the surgical tool he wishes the endoscope to track. Thus, according to the tool-dependent ALLOWED and RESTRICTED movements rule the endoscope constantly tracks the surgical tool having predetermined characteristics as defined by the user.
[0763] According to some embodiments of the present invention, the movement detection rule comprises a communicable database comprising the real-time 3D spatial positions of each surgical tool; said movement detection rule is adapted to detect movement of at least one surgical tool. When a change in the 3D spatial position of that surgical tool is received, ALLOWED movements are movements in which the endoscope is re-directed to focus on the moving surgical tool.
[0764] According to some embodiments of the present invention, the tagged tool rule comprises means of tagging at least one surgical tool within the surgical environment such that, by maneuvering the endoscope, the endoscope is constantly directed to the tagged surgical tool. Thus, according to the tagged tool rule, the endoscope constantly tracks the preferred (i.e., tagged) tool, such that the field of view, as seen from the endoscope, is constantly maintained on the preferred (tagged) tool. It should be noted that the user can define the tagged tool rule to constantly track the tip of the preferred (tagged) tool, the body of the preferred (tagged) tool, or any other location on the preferred (tagged) tool.
[0765] According to some embodiments of the present invention, the system further comprises a maneuvering subsystem communicable with the controller. The maneuvering subsystem is adapted to spatially reposition the at least one surgical tool during a surgery according to the predetermined set of rules.
[0766] According to some embodiments, the at least one location estimating means is at least one endoscope adapted to acquire real-time images of a surgical environment within the human body for the estimation of the location of at least one surgical tool.
[0767] According to some embodiments, the location estimating means comprise at least one selected from a group consisting of optical imaging means, radio frequency transmitting and receiving means, at least one mark on at least one surgical tool and any combination thereof.
[0768] According to some embodiments, the at least one location estimating means is an interface subsystem between a surgeon and at least one surgical tool, the interface subsystem comprising (a) at least one array comprising N regular light sources or N pattern light sources, where N is a positive integer; (b) at least one array comprising M cameras, where M is a positive integer; (c) optional optical markers and means for attaching the optical markers to at least one surgical tool; and (d) a computerized algorithm operable via the controller, the computerized algorithm adapted to record images received by each camera of each of the M cameras and to calculate therefrom the position of each of the tools, and further adapted to provide automatically the results of the calculation to the human operator of the interface.
[0769] It is well known that surgery is a highly dynamic procedure with a constantly changing environment which depends on many variables. A non-limiting list of these variables includes, for example: the type of the surgery, the working space (e.g., with foreign objects, dynamic uncorrelated movements, etc), the type of tools used during the surgery, changing background, relative movements, dynamic procedures, dynamic input from the operator and the history of the patient. Therefore, there is need for a system which is able to integrate all the variables by weighting their importance and deciding to which spatial position the endoscope should be relocated.
[0770] The present invention can be also utilized to improve the interface between the operators (e.g., the surgeon, the operating medical assistant, the surgeon's colleagues, etc.). Moreover, the present invention can be also utilized to control and/or direct an automated maneuvering subsystem to focus the endoscope on an instrument selected by the surgeon, or to any other region of interest. This may be performed in order to estimate the location of at least one surgical tool during a surgical procedure.
[0771] The present invention also discloses a surgical tracking system which is adapted to guide and relocate an endoscope to a predetermined region of interest in an automatic and/or a semi-automatic manner. This operation is assisted by an image processing algorithm(s) which is adapted to analyze the received data from the endoscope in real time, and to assess the surgical environment of the endoscope.
[0772] According to an embodiment, the system comprises a “smart” tracking subsystem, which receives instructions from a maneuvering function f(t) (t is the time) as to where to direct the endoscope and which instructs the maneuvering subsystem to relocate the endoscope to the required area.
[0773] The maneuvering function f(t) receives, as input, output from at least two instructing functions g.sub.i(t), analyses their output and provides instruction to the “smart” tracking system (which eventually re-directs the endoscope).
[0774] The instructing functions g.sub.i(t) of the present invention are functions which are configured to assess the environment of the endoscope and the surgery, and to output data which guides the tracking subsystem for controlling the spatial position of the maneuvering subsystem and the endoscope. The instructing functions g.sub.i(t) may be selected from a group consisting of: [0775] a. a tool detection function g.sub.1(t); [0776] b. a movement detection function g.sub.2(t); [0777] c. an organ detection function g.sub.3(t); [0778] d. a collision detection function g.sub.4(t); [0779] e. an operator input function g.sub.5(t); [0780] f. a prediction function g.sub.6(t); [0781] g. a past statistical analysis function g.sub.7(t); [0782] h. a most used tool function g.sub.8(t); [0783] i. a right tool function g.sub.9(t); [0784] j. a left tool function g.sub.10(t); [0785] k. a field of view function g.sub.11(t); [0786] l. a preferred volume zone function g.sub.12(t); [0787] m. a no fly zone function g.sub.13(t); [0788] n. a proximity function g.sub.14(t); [0789] o. a tagged tool function g.sub.15(t); [0790] p. a preferred tool function g.sub.16(t).
[0791] According to some embodiments, each instructing function g.sub.i(t) is also given a weighting function, α.sub.i(t). The purpose of the weighting function is to enable the system to select the instructing function to be executed, if more than one instructing function is activatable at one time.
[0792] Thus, for non-limiting example, the maneuvering function f(t) receives input from two instructing functions: the collision detection function g.sub.4(t) (the function providing information whether the distance between two elements is smaller than a predetermined distance) and from the most used tool function g.sub.8(t) (the function counts the number of times each tool is moved during a surgical procedure and provides information as to whether the most moved or most used tool is currently moving). The output given from the collision detection function g.sub.4(t) is that a surgical tool is dangerously close to an organ in the surgical environment. The output given from the most used tool function g.sub.8(t) is that the tool identified statistically as the most moved tool is currently moving.
[0793] The maneuvering function f(t) then assigns each of the instructing functions with weighting functions α.sub.i(t). For the above example, the most used tool function g.sub.8(t) is assigned with a greater weight than the weight assigned to the collision detection function g.sub.4(t).
[0794] After the maneuvering function f(t) analyses the information received from the instructing functions g.sub.i(t) and the weighting functions α.sub.i(t) of each, the maneuvering function f(t) outputs instructions to the maneuvering subsystem to re-direct the endoscope. (In the above example, the endoscope would be redirected to focus on the moving tool rather than on the tool approaching dangerously close to the organ).
[0795] It should be emphasized that all of the above (and the following disclosure) is enabled by constantly monitoring and locating/identifying the 3D spatial location of each element/tool in the surgical environment.
[0796] The identification is provided by conventional means known to any skilled in the art (e.g., image processing, optical means etc.).
[0797] According to some embodiments, the surgical tracking subsystem comprises: [0798] a. at least one endoscope adapted to acquire real-time images of a surgical environment within the human body; [0799] b. a maneuvering subsystem adapted to control the spatial position of the endoscope during the laparoscopic surgery; and, [0800] c. a tracking subsystem in communication with the maneuvering subsystem, adapted to control the maneuvering subsystem so as to direct and modify the spatial position of the endoscope to a region of interest.
[0801] According to this embodiment, the tracking subsystem comprises a data processor. The data processor is adapted to perform real-time image processing of the surgical environment and to instruct the maneuvering subsystem to modify the spatial position of the endoscope according to input received from a maneuvering function f(t); the maneuvering function f(t) is adapted to (a) receive input from at least two instructing functions g.sub.i(t), where i is 1, . . . , n and n≥2 and where t is time; i and n are integers; and (b) to output instructions to the maneuvering subsystem based on the input from the at least two instructing functions g.sub.i(t), so as to spatially position the endoscope to the region of interest.
[0802] According to one embodiment, the tool detection function MO is adapted to detect tools in the surgical environment. According to this embodiment, the tool detection function is adapted to detect surgical tools in the surgical environment and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the detected surgical tools.
[0803] According to some embodiments, the functions g(t) may rank the different detected areas in the surgical environment according to a ranking scale (e.g., from 1 to 10) in which prohibited areas (i.e., areas which are defined as area to which the surgical tools are forbidden to ‘enter) receive the lowest score (e.g., 1) and preferred areas (i.e., areas which are defined as area in which the surgical tools should be maintained) receive the highest score (e.g., 10).
[0804] According to a preferred embodiment, one function MO is adapted to detect tools in the surgical environment and inform the maneuvering function f(t) if they are in preferred areas or in prohibited areas.
[0805] According to some embodiments, the movement detection function g.sub.2(t) comprises a communicable database comprising the real-time 3D spatial positions of each of the surgical tools in the surgical environment; means to detect movement of the at least one surgical tool when a change in the 3D spatial positions is received, and means to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the moved surgical tool.
[0806] According to some embodiments, the organ detection function g.sub.3(t) is adapted to detect physiological organs in the surgical environment and to classify the detected organs as prohibited areas or preferred areas. For example, if the operator instructs the system that the specific surgery is kidney surgery, the organ detection function g.sub.3(t) will classify the kidneys (or one kidney, if the surgery is specified to be on a single kidney) as a preferred area and other organs will be classified as prohibited areas. According to some embodiments, the organ detection function is adapted to detect organs in the surgical environment and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the detected organs. According to some embodiments, the right tool function is adapted to detect surgical tool positioned to right of the endoscope and to output instructions to the tracking subsystem to instruct the maneuvering system to constantly direct the endoscope on the right tool and to track the right tool.
[0807] According to some embodiments, the left tool function is adapted to detect surgical tool positioned to left of the endoscope and to output instructions to the tracking subsystem to instruct the maneuvering system to constantly direct the endoscope on the left tool and to track the left tool.
[0808] According to some embodiments, the collision detection function g.sub.4(t) is adapted to detect prohibited areas within the surgical environment so as to prevent collisions between the endoscope and the prohibited areas. For example, if the endoscope is located in a narrow area in which a precise movement of the same is preferred, the collision detection function g.sub.4(t) will detect and classify different areas (e.g., nerves, veins, walls of organs) as prohibited areas. Thus, according to this embodiment, the collision prevention function is adapted to define a predetermined distance between the at least one surgical tool and an anatomical element within the surgical environment; and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the surgical tool and the anatomical element within the surgical environment if the distance between the at least one surgical tool and an anatomical element is less than the predetermined distance. According to one embodiment of the present invention the anatomical element is selected from a group consisting of tissue, organ, another surgical tool and any combination thereof.
[0809] According to some embodiments, the operator input function g.sub.5(t) is adapted to receive an input from the operator. The input can be, for example: an input regarding prohibited areas in the surgical environment, an input regarding allowed areas in the surgical environment, or an input regarding the region of interest and any combination thereof. The operator input function g.sub.5(t) can receive instructions from the operator before or during the surgery, and respond accordingly. According to some embodiments, the operator input function may further comprise a selection algorithm for selection of areas selected from a group consisting of: prohibited areas, allowed areas, regions of interest, and any combination thereof. The selection may be performed via an input device (e.g., a touch screen).
[0810] According to some embodiments, the operator input function g.sub.5(t) comprises a communicable database; the communicable database is adapted to receive an input from the operator of the system; the input comprising n 3D spatial positions; n is an integer greater than or equal to 2; and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the at least one 3D spatial position received.
[0811] According to some embodiments, the prediction function g.sub.6(t) is adapted to provide data regarding a surgical environment at a time t.sub.f> to, wherein to is the present time and t.sub.f is a future time. The prediction function g.sub.6(t) may communicate with a database which stores data regarding the environment of the surgery (e.g., the organs in the environment). This data may be used by the prediction function g.sub.6(t) for the prediction of expected or unexpected events or expected or unexpected objects during the operation. Thus, according to this embodiment, the prediction function g.sub.6(t) comprises a communicable database storing each 3D spatial position of each of surgical tool within the surgical environment, such that each movement of each surgical tool is stored; the prediction function is adapted to (a) to predict the future 3D spatial position of each of the surgical tools (or each object); and, (b) to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the future 3D spatial position.
[0812] According to some embodiments, the past statistical analysis function g.sub.7(t) is adapted to provide data regarding the surgical environment or the laparoscopic surgery based on past statistical data stored in a database. The data regarding the surgical environment may be for example: data regarding prohibited areas, data regarding allowed areas, data regarding the region of interest and any combination thereof. Thus, according to this embodiment, the past statistical analysis function g.sub.6(t) comprises a communicable database storing each 3D spatial position of each of surgical tool within the surgical environment, such that each movement of each surgical tool is stored; the past statistical analysis function g.sub.6(t) is adapted to (a) perform statistical analysis on the 3D spatial positions of each of the surgical tools in the past; and, (b) to predict the future 3D spatial position of each of the surgical tools; and, (c) to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the future 3D spatial position. Thus, according to the past statistical analysis function g.sub.7(t), the past movements of each tool are analyzed and, according to this analysis, a prediction of the tool's next move is provided.
[0813] According to some embodiments, the most used tool function g.sub.8(t) comprises a communicable database counting the amount of movement of each surgical tool located within the surgical environment; the most used tool function is adapted to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to constantly position the endoscope to track the movement of the most moved surgical tool. The amount of movement of a tool can be defined as the total number of movements of that tool or the total distance the tool has moved.
[0814] According to some embodiments, the right tool function g.sub.9(t) is adapted to detect at least one surgical tool in a specified position in relation to the endoscope, preferably positioned to right of the endoscope and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to constantly direct the endoscope to the right tool and to track the same. According to preferred embodiments, the right tool is defined as the tool positioned to the right of the endoscope; according to some embodiments, any tool can be defined as the right tool.
[0815] According to some embodiments, the left tool function g.sub.10(t) is adapted to detect at least one surgical tool in a specified position in relation to the endoscope, preferably positioned to left of the endoscope and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to constantly direct the endoscope to the left tool and to track the same. According to preferred embodiments, the left tool is defined as the tool positioned to the left of the endoscope; according to other embodiments, any tool can be defined as the left tool.
[0816] According to some embodiments, the field of view function g.sub.11(t) comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the combination of all of the n 3D spatial positions provides a predetermined field of view; the field of view function is adapted to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to at least one 3D spatial position substantially within then 3D spatial positions so as to maintain a constant field of view.
[0817] According to some embodiments, the preferred volume zone function g.sub.12(t) comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the n 3D spatial positions provide the preferred volume zone; the preferred volume zone function g.sub.12(t) is adapted to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to at least one 3D spatial position substantially within the preferred volume zone.
[0818] According to some embodiments, the no fly zone function g.sub.13(t) comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equal to 2; the n 3D spatial positions define a predetermined volume within the surgical environment; the no fly zone function g.sub.13(t) is adapted to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to at least one 3D spatial position substantially different from all the n 3D spatial positions.
[0819] According to some embodiments, the proximity function g.sub.14(t) is adapted to define a predetermined distance between at least two surgical tools; and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the two surgical tools if the distance between the two surgical tools is less than or if it is greater than the predetermined distance.
[0820] According to some embodiments, the proximity function g.sub.14(t) is adapted to define a predetermined angle between at least three surgical tools; and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the three surgical tools if the angle between the two surgical tools is less than or if it is greater than the predetermined angle.
[0821] According to some embodiments, the preferred volume zone function comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equals to 2; the n 3D spatial positions provides the preferred volume zone; the preferred volume zone function is adapted to output instructions to the tracking subsystem to instruct the maneuvering system to direct the endoscope to the preferred volume zone.
[0822] According to some embodiments, the field of view function comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equals to 2; the combination of all of the n 3D spatial positions provides a predetermined field of view; the field of view function is adapted to output instructions to the tracking subsystem to instruct the maneuvering system to direct the endoscope to at least one 3D spatial position substantially within then 3D spatial positions so as to maintain a constant field of view.
[0823] According to some embodiments, the no fly zone function comprises a communicable database comprising n 3D spatial positions; n is an integer greater than or equals to 2; the n 3D spatial positions define a predetermined volume within the surgical environment; the no fly zone function is adapted to output instructions to the tracking subsystem to instruct the maneuvering system to direct the endoscope to at least one 3D spatial position substantially different from all the n 3D spatial positions.
[0824] According to some embodiments, the most used tool function comprises a communicable database counting the amount of movement of each surgical tool located within the surgical environment; the most used tool function is adapted to output instructions to the tracking subsystem to instruct the maneuvering system to direct the endoscope to constantly position the endoscope to track the movement of the most moved surgical tool.
[0825] According to some embodiments, the prediction function g.sub.6(t) is adapted to provide data regarding a surgical environment in a time t.sub.f>t, wherein t is the present time and t.sub.f is the future time. The prediction function g.sub.6(t) may communicate with a database which stores data regarding the environment of the surgery (e.g., the organs in the environment). This data may be used by the prediction function g.sub.6(t) for the prediction of expected or unexpected events or object during the operation. Thus, according to this embodiment, the prediction function comprises a communicable database storing each 3D spatial position of each of surgical tool within the surgical environment, such that each movement of each surgical tool is stored; the prediction function is adapted to (a) to predict the future 3D spatial position of each of the surgical tools; and, (b) to output instructions to the tracking subsystem to instruct the maneuvering system to direct the endoscope to the future 3D spatial position.
[0826] According to some embodiments, the past statistical analysis function g.sub.7(t) is adapted to provide data regarding the surgical environment or the laparoscopic surgery based on past statistical data stored in a database. The data regarding the surgical environment may be for example: data regarding prohibited areas, data regarding allowed areas, data regarding the region of interest. Thus, according to this embodiment, the past statistical analysis function comprises a communicable database storing each 3D spatial position of each of surgical tool within the surgical environment, such that each movement of each surgical tool is stored; the past statistical analysis function is adapted to (a) statistical analyze the 3D spatial positions of each of the surgical tools in the past; and, (b) to predict the future 3D spatial position of each of the surgical tools; and, (c) to output instructions to the tracking subsystem to instruct the maneuvering system to direct the endoscope to the future 3D spatial position. Thus, according to the past statistical analysis function g.sub.7(t), the past movements of each tool are analyzed and according to this analysis a future prediction of the tool's next move is provided.
[0827] According to some embodiments, preferred tool function comprises a communicable database, the database stores a preferred tool; the preferred tool function is adapted to output instructions to the tracking subsystem to instruct the maneuvering system to constantly direct the endoscope to the preferred tool, such that said endoscope constantly tracks said preferred tool.
[0828] Thus, according to the preferred tool function the endoscope constantly tracks the preferred tool, such that the field of view, as seen from the endoscope, is constantly maintained on said preferred tool. It should be noted that the user may define in said preferred tool function to constantly track the tip of said preferred tool or alternatively, the user may define in said preferred tool function to constantly track the body or any location on the preferred tool.
[0829] According to some embodiments, the tagged tool function g.sub.15(t) comprises means adapted to tag at least one surgical tool within the surgical environment and to output instructions to the tracking subsystem to instruct the maneuvering subsystem to constantly direct the endoscope to the tagged surgical tool. Thus, according to the tagged tool function, the endoscope constantly tracks the preferred (i.e., tagged) tool, such that the field of view, as seen from the endoscope, is constantly maintained on the preferred (tagged) tool. It should be noted that the user can define the tagged tool function to constantly track the tip of the preferred (tagged) tool, the body of the preferred (tagged) tool, or any other location on the preferred (tagged) tool.
[0830] According to some embodiments, the means are adapted to constantly tag at least one surgical tool within the surgical environment.
[0831] According to some embodiments, the preferred tool function g.sub.16(t) comprises a communicable database. The database stores a preferred tool; and the preferred tool function is adapted to output instructions to the tracking subsystem to instruct the maneuvering subsystem to direct the endoscope to the preferred tool.
[0832] According to some embodiments, the system further comprises means adapted to re-tag the at least one of the surgical tools until a desired tool is selected.
[0833] According to some embodiments, the system further comprises means adapted to toggle the surgical tools. According to some embodiments, the toggling is performed manually or automatically.
[0834] According to some embodiments of the present invention, the weighting functions α.sub.i(t) are time-varying functions (or constants), the value of which is determined by the operator or the output of the instructing functions g.sub.i(t). For example, if a specific function g.sub.i(t) detected an important event or object, its weighting functions α.sub.i(t) may be adjusted in order to elevate the chances that the maneuvering function f(t) will instruct the maneuvering subsystem to move the endoscope towards this important event or object.
[0835] According to some embodiments of the present invention, the tracking subsystem may implement various image processing algorithms which may also be algorithms that are well known in the art. The image processing algorithms may be for example: image stabilization algorithms, image improvement algorithms, image compilation algorithms, image enhancement algorithms, image detection algorithms, image classification algorithms, image correlations with the cardiac cycle or the respiratory cycle of the human body, smoke reduction algorithms, vapor reduction algorithms, steam reduction algorithms and any combination thereof. Smoke, vapor and steam reduction algorithms may be needed as it is known that, under certain conditions, smoke, vapor or steam may be emitted by or from the endoscope. The image processing algorithm may also be implemented and used to analyze 2D or 3D representations which may be rendered from the real-time images of the surgical environment.
[0836] According to some embodiments, the endoscope may comprise an image acquisition device selected from a group consisting of: a camera, a video camera, an electromagnetic sensor, a computer tomography imaging device, a fluoroscopic imaging device, an ultrasound imaging device, and any combination thereof.
[0837] According to some embodiments, the system may also comprise a display adapted to provide input or output to the operator regarding the operation of the system. The display may be used to output the acquired real-time images of a surgical environment with augmented reality elements. The display may also be used for the definition of the region of interest by the operator.
[0838] According to some embodiments, the endoscope may be controlled be an endoscope controller for performing operations such as: acquiring the real-time images and zooming-in to a predetermined area. For example, the endoscope controller may cause the endoscope to acquire the real-time images in correlation with the cardiac cycle or the respiratory cycle of a human body.
[0839] According to some embodiments, the data processor of the present invention may operate a pattern recognition algorithm for assisting the operation of the instructing functions g.sub.i(t). The pattern recognition algorithm may be used as part of the image processing algorithm.
[0840] It should be emphasized that all of the above (and the following disclosure) is enabled by constantly monitoring and locating/identifying the 3D spatial location of each element/tool in the surgical environment.
[0841] The identification is provided by conventional means known to any skilled in the art (e.g., image processing, optical means etc.).
[0842] It should be emphasized that all of the above (and the following disclosure) is enabled by constantly monitoring and locating/identifying the 3D spatial location of each element/tool in the surgical environment.
[0843] The identification is provided by conventional means known to any skilled in the art (e.g., image processing, optical means etc.).
[0844] Reference is made now to
[0845] According to one embodiment of the present invention as defined in the above, the user may define the field of view function as constantly monitoring at least one of surgical instruments 17b and 17c.
[0846] According to this embodiment, the surgical tracking system 100 may also comprise one or more button operated wireless transmitters 12a, which transmit, upon activation, a single code wave 14 through aerial 13 to connected receiver 11 that produces a signal processed by computer 15, thereby directing and modifying the spatial position of endoscope 21 to the region of interest, as defined by the field of view function.
[0847] Alternatively, according to the proximity rule, if the distance between the surgical instruments 17b and 17c is smaller than a predetermined distance (as defined by the collision prevention rule), the system alerts the user that any movement of either one of the surgical instruments 17b and 17c that will reduce the distance is a RESTRICTED movement.
[0848]
[0849] In some embodiments, such as that shown in
[0850]
[0851]
[0852]
EXAMPLES
[0853] Examples are given in order to demonstrate embodiments of present invention. The examples describe the manner and process of embodiments of the present invention and set forth the best mode contemplated by the inventors for carrying out the invention, but are not to be construed as limiting the invention.
[0854] In the examples below, similar numbers refer to similar parts in all of the figures.
[0855] In FIGS. 32-45 in the examples below, for simplicity and clarity, a rigid tool has been illustrated although the rules are equally applicable to both rigid and articulating tools.
Example 1—Tracking System with Collision Avoidance System
[0856] One embodiment of such a rule-based system will comprise the following set of commands:
[0857] Detection (denoted by Gd):
[0858] Gd1 Tool location detection function
[0859] Gd2 Organ (e.g. Liver) detection function
[0860] Gd3 Movement (vector) calculation and estimation function
[0861] Gd4 Collision probability detection function
[0862] Tool Instructions (denoted Gt):
[0863] Gt1 Move according to manual command
[0864] Gt2 Stop movement
[0865] The scenario—manual move command by the surgeon:
[0866] Locations Gd1(t) and Gd2(t) are calculated in real time at each time step (from an image or location marker).
[0867] Tool movement vector Gd3(t) is calculated from Gd1(t) as the difference between the current location and at least one previous location (probably also taking into account previous movement vectors).
[0868] The probability of collision—Gd4(t)—is calculated, for example, from the difference between location Gd1 and location Gd2 (the smaller the distance, the closer the proximity and the higher the probability of collision), from movement vector Gd3(t) indicating a collision, etc.
Tool Instructions Gt1 Weight function α.sub.1(t)=1 If Gt1(t)<a predetermined threshold and 0 otherwise.
Tool Instructions Gt2 Weight function α.sub.2(t)=1 If Gt2(t)>a predetermined threshold and 0 otherwise.
Tool Instructions=α.sub.1(t)*Gt1+α.sub.2(t)*Gt2(t).
[0869] In the examples given hereinbelow, the liver will be used as an exemplary organ. The rules can be applied in a similar manner to any identifiable organ or structure in the body.
[0870] In reference to
[0871]
[0872] In
[0873] As a non-limiting example, in an operation on the liver, the collision detection function can warn the operator that a collision between a tool and the liver is likely but not prevent the collision; in an operation on the liver, a collision between the tool and the liver may be desired in order to remove tissue therefrom.
[0874] In another non-limiting example, in an operation on the gall bladder, the collision detection function can prevent a collision between the tool and the liver, either by preventing the movement or by commanding a movement redirecting the tool away from the liver.
Example 2—Tracking System with Soft Control—Fast Movement when Nothing is Nearby, Slow Movement when Something is Close
[0875] One embodiment of such rule-based system comprises the following set of commands:
[0876] Detection (denoted by Gd):
[0877] Main Tool location detection function (denoted by GdM);
[0878] Gd-tool1-K—Tool location detection function;
[0879] Gd-organ2-L—Organ (e.g. Liver) detection function;
[0880] Gd3 Main Tool Movement (vector) calculation and estimation function;
[0881] Gd4 Proximity probability detection function;
[0882] Tool Instructions (denoted Gt):
[0883] Gt1 Movement vector (direction and speed) according to manual command
[0884] The scenario—manual move command by the surgeon:
[0885] Locations GdM(t), Gd-tool1-K(t) and Gd-organ2-L(t) are calculated in real time at each time step (from image or location marker).
[0886] Main Tool Movement Vector Gd3(t) is calculated per GdM (t) as the difference between the current location and at least one previous location (probably also taking into account previous movement vectors)
[0887] The proximity of the main tool to other tools—Gd4(t)—is calculated, for example, as the smallest of the differences between the main tool location and the other tools' locations.
[0888] Tool Instructions Gt1 Weight function α.sub.1(t) is proportional to tool proximity function Gd4(t), the closer the tool the slower the movement so that, for example
α.sub.2(t)=Gd4/maximum(Gd4)
or
α.sub.2(t)=log(Gd4/maximum(Gd4))
where maximum(Gd4) is the maximum distance which is likely to result in a collision given the distances, the speed of the tool and the movement vector.
Tool Instructions=α.sub.i(t)*Gt1.
Example 3—Tracking System with No-Fly Rule/Function
[0889] In reference to
[0890]
[0891] In
[0892] The no-fly zone rule/function performs as follows:
[0893] In the embodiment illustrated, a movement 350 is commanded to move the tool 310 away from the no-fly zone 460. In some embodiments, the system prevents movement further into the no-fly zone (refers as movement 340, see
[0894] In some embodiments, the system warns/signals the operator that the move is RESTRICTED, but does not restrict movement further into the no-fly zone or command movement 340 away from the no-fly zone 460. Such a warning/signaling can be visual or aural, using any of the methods known in the art.
[0895]
[0896] In
Example 4—Tracking System with Preferred Volume Zone Rule/Function
[0897] In reference to
[0898] The system tracks a tool 310 with respect to a preferred volume zone (570), in order to determine whether the tool will leave the preferred volume (570) within the next time step.
[0899] In this example, the preferred volume zone 570 extends over the right lobe of the liver.
[0900] In
[0901] In the embodiment illustrated, a movement 340 is commanded to move the tool 310 away from the preferred volume zone 570. In some embodiments, the system prevents movement 340; in such embodiments, the tool 310 will remain close to the preferred volume zone 570. In some embodiments, the system warns/signals the operator that the move 340 is RESTRICTED. Such a warning/signaling can be visual or aural, using any of the methods known in the art.
[0902]
[0903]
[0904] In
[0905] According to one embodiment illustrated, a movement 340 is commanded to move the tool 310 into the preferred volume zone 570. In some embodiments, the system prevents movement 350, but does not command movement 340; in such embodiments, the tool 310 will remain close to the preferred volume zone 570. In some embodiments, the system warns/signals the operator that the move is RESTRICTED, but does not restrict movement 350 or command movement 340 away from the preferred volume zone 570. Such a warning/signaling can be visual or aural, using any of the methods known in the art.
Example 5—Organ/Tool Detection Function
[0906] In reference to
[0907] For each organ, the 3D spatial positions of the organs stored in a database. In
[0908] In
[0909] In some embodiments, a label or tag visible to the operator is also presented. Any method of displaying identifying markers known in the art can be used. For non-limiting example, in an enhanced display, colored or patterned markers can indicate the locations of the organs, with the marker either indicating the perimeter of the organ or the area of the display in which it appears.
Example 6—Tool Detection Function
[0910] In reference to
[0911] In some embodiments, a label or tag visible to the operator is also presented. Any method of displaying identifying markers known in the art can be used. For non-limiting example, in an enhanced display, colored or patterned markers can indicate the locations of the tools, with the marker either indicating the perimeter of the tool or the area of the display in which it appears.
Example 7—Movement Detection Function/Rule
[0912] In reference to
[0913] The system has detected movement of left tool 820 and labels it. This is illustrated schematically in
Example 8—Prediction Function
[0914] In reference to
[0915]
[0916]
[0917] In this embodiment, the system automatically prevents predicted collisions and, in this example, the system applies a motion 940 to redirect left tool 920 so as to prevent the collision.
[0918] In some embodiments, the system warns/signals the operator that a collision is likely to occur, but does not alter the movement of any tool. Such a warning/signaling can be visual or aural, using any of the methods known in the art.
[0919] In some embodiments, the prediction function can be enabled to, for non-limiting example, alter the field of view to follow the predicted movement of a tool or of an organ, to warn of (or prevent) predicted motion into a no-fly zone, to warn of (or prevent) predicted motion out of a preferred zone.
Example 9—Right Tool Function/Rule
[0920] In reference to
[0921] It should be pointed out that the same rule/function applies for the left tool (the left tool function/rule).
Example 10—Field of View Function/Rule
[0922] In reference to
[0923]
[0924] The gall bladder is nearly completely visible at the left of the field of view. Two tools are also in the field of view, with their tips in proximity with the liver. These are left tool 1150 and right tool 1160. In this example, the field of view function/rule tracks left tool 1150. In this example, left tool 1150 is moving to the right, as indicated by arrow 1170.
[0925]
[0926] The field of view function/rule can be set to follow a selected tool, as in this example or to keep a selected organ in the center of the field of view. It can also be set to keep a particular set of tools in the field of view, zooming in or out as necessary to prevent any of the chosen tools from being outside the field of view.
[0927] Alternatively, the field of view function/rule defines n 3D spatial positions; n is an integer greater than or equal to 2; the combination of all of said n 3D spatial positions provides a predetermined field of view.
[0928] Each movement of the endoscope or the surgical tool within said n 3D spatial positions is an allowed movement and any movement of the endoscope or the surgical tool outside said n 3D spatial positions is a restricted movement.
[0929] Alternatively, said the field of view function/rule defines n 3D spatial positions; n is an integer greater than or equal to 2; the combination of all of said n 3D spatial positions provides a predetermined field of view.
[0930] According to the field of view function/rule, the endoscope is relocated if movement has been detected by said detection means, such that said field of view is maintained.
Example 11—Tagged Tool Function/Rule (or Alternatively the Preferred Tool Rule)
[0931] In reference to
[0932]
[0933] The tool most of interest to the surgeon, at this point during the operation, is tool 1240. Tool 1240 has been tagged (dotted line 1250); the 3D spatial location of tool 1240 is constantly stored in a database and this spatial location has been labeled as one of interest.
[0934] The system can use this tagging for many purposes, including, but not limited to, keeping tool 1240 in the center of the field of view, predicting its future motion, keeping it from colliding with other tools or keeping other tools from colliding with it, instructing the endoscope to constantly monitor and track said tagged tool 1250 and so on.
[0935] It should be noted that in the preferred tool rule, the system tags one of the tools and performs as in the tagged tool rule/function.
Example 12—Proximity Function/Rule
[0936] In reference to
[0937]
[0938]
[0939] Since tool 1310 is within proximity of tool 1320, the field of view 1380 moves upward, illustrated schematically by arrow 1340, until the tips of tool 1310 and tool 1320 are in the center of field of view 1380 (
[0940] Alternatively the once the distance 1330 between the two tool 1320 and 1310 is smaller than a predetermined distance, the system alerts the user of said proximity (which might lead to a collision between the two tools). Alternatively, the system moves one of the tools away from the other one.
Example 13—Operator Input Function/Rule
[0941] In reference to
[0942] In the following example, the input received from the operator is which tool to track.
[0943]
[0944] As illustrated in
[0945] Another example of the operator input function/rule is the following:
[0946] If a tool has been moved closely to an organ in the surgical environment, according to the proximity rule or the collision prevention rule, the system will, according to one embodiment, prevent the movement of the surgical tool.
[0947] According to one embodiment of the present invention, once the surgical tool has been stopped, any movement of said tool in the direction is interpreted as input from the operator to continue the movement of said surgical tool in said direction.
[0948] Thus, according to this embodiment, the operator input function/rule receives input from the operator (i.e., physician) to continue the move of said surgical tool (even though it is “against” the collision prevention rule). Said input is simply in the form of the continued movement of the surgical tool (after the alert of the system or after the movement prevention by the system).
Example 14—Constant Field of View Rule/Function
[0949] In reference to
[0950] In many endoscopic systems, the tip lens in the camera optics is not at a right angle to the sides of the endoscope. Conventionally, the tip lens angle is described relative to the right angle, so that a tip lens at right angles to the sides of the endoscope is described as having an angle of 0. Typically, angled endoscope tip lenses have an angle of 30° or 45°. This tip lens angle affects the image seen during zooming.
[0951]
[0952] If the tip lens is set straight in the end of the endoscope (
[0953] In an embodiment of the system of the present invention, unlike in conventional systems, the controlling means maintains the center of the field of view (FOV) during zoom independent of the tip lens angle. An advantage of controlling the zoom of the endoscope via a data processing system is that the tip lens angle does not need to be input to the data processing system, obviating a possible source of error.
[0954] According to one embodiment of the present invention, the endoscope's movement will be adjusted in order to maintain a constant field of view.
Example 15—Misalignment Rule/Function
[0955] According to some embodiments of the present invention, the system can inform the user of any misalignment of the same system.
[0956] Misalignment of the system may cause parasitic movement of the endoscope tip, where the endoscope tip does not move exactly in the expected direction. According to one embodiment of the system, the system comprises sensors (e.g., gyroscopes, accelerometers and any combination thereof) that calculate/estimates the position of the pivot point in real time in order to (a) inform the user of misalignment; or (b) calculate the misalignment so that the system can adjust its movement to prevent parasitic movement.
Example 16—Change of Speed Rule/Function
[0957] In reference to
[0958] In conventional endoscopic control systems, motion of the endoscope occurs at a single speed. This speed is fairly fast so that the endoscope can be moved rapidly between locations that are well separated. However, this means that making fine adjustments so difficult that fine adjustments are normally not made. In an embodiment of the present invention, the speed of the tip of the endoscope is automatically varied such that, the closer the endoscope tip is to an object, be it a tool, an obstacle, or the object of interest, the more slowly it moves. In this embodiment, as shown in
[0959] Therefore, the closer to the object at the center of the scene of view, the more slowly the endoscope moves, making it possible to use automatic control of even fine adjustments, and reducing the probability that the endoscope will come in contact with tissue or instruments.
Example 17—Articulation of Tool
[0960] In reference to
[0961] In
[0962]
[0963] In
Example 18—Articulation of Tool
[0964] In reference to
[0965] In
[0966] In the foregoing description, embodiments of the invention, including preferred embodiments, have been presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiments were chosen and described to provide the best illustration of the principals of the invention and its practical application, and to enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth they are fairly, legally, and equitably entitled.