# Patent

## Title
Surgical object tracking template generation for computer assisted navigation during surgical procedure

## Abstract

A camera tracking system for computer assisted navigation during surgery. The camera tracking system includes a processor operative to receive streams of video frames from tracking cameras which image a plurality of physical objects arranged as a reference array. For each of the physical objects imaged in a sequence of the video frames, that processor determines a set of coordinates for the physical object over the sequence of the video frames. For each of the physical objects, the processor generates an arithmetic combination of the set of coordinates for the physical object. The processor generates an array template identifying coordinates of the physical objects based on the arithmetic combinations of the sets of coordinates for the physical objects, and tracks pose of the physical objects of the reference array over time based on comparison of the array template to the reference array imaged in the streams of video frames.

## Background
FIELD
The present disclosure relates to medical devices and systems, and more particularly, camera tracking systems used for computer assisted navigation during surgery.
BACKGROUND
Computer assisted navigation during surgery can provide a surgeon with computerized visualization of the present pose of a surgical tool relative to medical images of a patient's anatomy. Camera tracking systems for computer assisted navigation use one or more stereo camera systems to track a set of fiducials attached to a surgical tool which is being positioned by a surgeon or other user during surgery. The set of fiducials, also referred to as a dynamic reference array, allows the camera tracking system to determine a pose of the surgical tool relative to anatomical structure within a medical image and relative to a patient for display to the surgeon. The surgeon can thereby use the real-time pose feedback to navigate the surgical tool during a surgical procedure.
Navigated surgery procedures using existing navigation systems are prone to events triggering intermittent pauses when tracked objects are moved outside a tracking area of the camera system or become obstructed from camera view by intervening personnel and/or equipment. There is also a need to improve the tracking accuracy of navigation systems.
SUMMARY
Some embodiments are directed to a camera tracking system for computer assisted navigation during surgery is provided. The camera tracking system includes a processor operative to receive streams of video frames from tracking cameras which image a plurality of physical objects (fiducials) arranged as a reference array. For each of the physical objects which is imaged in a sequence of the video frames, the processor determines a set of coordinates for the physical object over the sequence of the video frames. For each of the physical objects, the processor generates an arithmetic combination of the set of coordinates for the physical object. The processor generates an array template identifying coordinates of the physical objects based on the arithmetic combinations of the sets of coordinates for the physical objects, and tracks pose of the physical objects of the reference array over time based on comparison of the array template to the reference array imaged in the streams of video frames.
In some further embodiments, the processor generates the arithmetic combination of the set of coordinates for the physical object based on averaging the coordinates of the set for the physical object. The processor may be operative to cease generation of the array template and begin using the array template to track pose of the physical objects of the reference array based on when a standard deviation computed from at least one of the averages of the coordinates of the sets for the physical objects satisfies a defined accuracy rule.
Some other embodiments are directed to a surgical system including a camera tracking system including a camera bar, first and second tracking cameras attached at spaced apart locations on the camera bar, and a processor. The processor is operative to receive streams of video frames from the first and second tracking cameras which image a plurality of physical objects arranged as a reference array, for each of the physical objects which is imaged in a sequence of the video frames determine a set of coordinates for the physical object over the sequence of the video frames, for each of the physical objects generate an arithmetic combination of the set of coordinates for the physical object, generate an array template identifying coordinates of the physical objects based on the arithmetic combinations of the sets of coordinates for the physical objects, and track pose of the physical objects of the reference array over time based on comparison of the array template to the reference array imaged in the streams of video frames.
In some further embodiments, the processor tracks pose of an instrument attached to the reference array based on the pose of the physical objects of the reference array and a three dimensional model of the instrument connected to the reference array. The processor generates steering information based on comparison of the pose of an instrument relative to a planned pose of the instrument. The steering information indicates where the instrument needs to be moved and angularly oriented to become aligned with the planned pose when performing a surgical procedure.
Other camera tracking systems and surgical systems will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such camera tracking systems and surgical systems be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims. Moreover, it is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in a constitute a part of this application, illustrate certain non-limiting embodiments of inventive concepts. In the drawings:
FIG. 1 illustrates an embodiment of a surgical system according to some embodiments of the present disclosure;
FIG. 2 illustrates a surgical robot component of the surgical system of FIG. 1 according to some embodiments of the present disclosure;
FIG. 3A illustrates a camera tracking system component of the surgical system of FIG. 1 according to some embodiments of the present disclosure;
FIGS. 3B and 3C illustrate a front view and isometric view of another camera tracking system component which may be used with the surgical system of FIG. 1 according to some embodiments of the present disclosure;
FIG. 4 illustrates an embodiment of an end effector that is connectable to a robot arm and configured according to some embodiments of the present disclosure;
FIG. 5 illustrates a medical operation in which a surgical robot and a camera system are disposed around a patient;
FIG. 6 illustrates a block diagram view of the components of the surgical system of FIG. 5 being used for a medical operation;
FIG. 7 illustrates various display screens that may be displayed on the display of FIGS. 5 and 6 when using a navigation function of the surgical system;
FIG. 8 illustrates a block diagram of some electrical components of a surgical robot according to some embodiments of the present disclosure;
FIG. 9 illustrates a block diagram of components of a surgical system that includes imaging devices connected to a computer platform which can be operationally connected to a camera tracking system and/or surgical robot according to some embodiments of the present disclosure;
FIG. 10 illustrates a block diagram view of the components of a surgical system that includes a pair of XR headsets and an auxiliary tracking bar which operate in accordance with some embodiments of the present disclosure;
FIG. 11 illustrates an XR headset which is configured in accordance with some embodiments of the present disclosure;
FIG. 12 illustrates electrical components of the XR headset that can be operatively connected to a computer platform, imaging device(s), and/or a surgical robot in accordance with some embodiments of the present disclosure;
FIG. 13 illustrates a block diagram showing arrangement of optical components of the XR headset in accordance with some embodiments of the present disclosure;
FIG. 14 illustrates a block diagram view of the components of a surgical system that includes tracking cameras in a pair of XR headsets and in an auxiliary tracking bar which collectively operate in accordance with some embodiments of the present disclosure;
FIG. 15a illustrates a top view of a tracked object template and corresponding tracked points from markers of a reference array;
FIG. 15b illustrates a side view of the markers of the reference array of FIG. 15a when moved from Position I to Position F and with a best-fit template overlaid;
FIG. 16 illustrates a flowchart of operations performed by the camera tracking system for generating a free-tracked reference array template based on a static array of marker coordinates in accordance with some embodiments of the present disclosure;
FIG. 17 illustrates a flowchart of operations performed by the camera tracking system for generating a free-tracked reference array template from a dynamic collection of marker coordinates in accordance with some embodiments of the present disclosure;
FIG. 18 illustrates an example reference array attached to a surgical instrument with highlighted boxes displayed to enclose 2D regions of interest for digital image analysis in accordance with some embodiments of the present disclosure;
FIG. 19 illustrates a flowchart of operations performed by the camera tracking system for verifying accuracy and refining an object template for a constrained reference array in accordance with some embodiments of the present disclosure;
FIGS. 20a and 20b illustrate left and right camera perspectives of the surgical instrument of FIG. 18 with synthetic reprojections of instrument tip edges prior to iterative 6DOF pose refinement in accordance with some embodiments of the present disclosure; and
FIG. 21 illustrates a flowchart of operations performed by the camera tracking system for generating a free-tracked or constrained reference array template based on a collection of marker coordinates in accordance with some embodiments of the present disclosure.



DETAILED DESCRIPTION
Inventive concepts will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of various present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present or used in another embodiment.
A reference array used for computer-assisted navigation during surgery, also referred to as navigation array, typically includes three or more fiducials (e.g., disk markers) or other objects that are arranged to form the reference array and which are optically tracked by tracking cameras. The physical pattern in which the markers (or more generally “objects”) are laid needs to correspond to what has been defined in the array's template. In each tracked camera video frame, the detected markers are compared to the array template to determine pose and movement of the array in camera space. The array template must accurately match how the markers are physically laid out on the tracked instrument, otherwise the perceived pose and movement of the instrument in camera space may be inaccurate.
Various embodiments disclosed herein are directed to generating and/or transforming (revising) array templates for free-tracked arrays and/or constrained arrays to improve accuracy of computer-assisted navigation during surgery using optical tracking of reference arrays by tracking cameras.
FIG. 1 illustrates an embodiment of a surgical system 2 according to some embodiments of the present disclosure. Prior to performance of an orthopedic or other surgical procedure, a three-dimensional (“3D”) image scan may be taken of a planned surgical area of a patient using, e.g., the C-Arm imaging device 104 of FIG. 9 or O-Arm imaging device 106 of FIG. 9, or from another medical imaging device such as a computed tomography (CT) image or MRI. This scan can be taken pre-operatively (e.g. few weeks before procedure, most common) or intra-operatively. However, any known 3D or 2D image scan may be used in accordance with various embodiments of the surgical system 2. The image scan is sent to a computer platform in communication with the surgical system 2, such as the computer platform 910 of the surgical system 900 (FIG. 9) which may include the camera tracking system component 6, the surgical robot 4 (e.g., robot 2 in FIG. 1), imaging devices (e.g., C-Arm 104, O-Arm 106, etc.), and an image database 950 for storing image scans of patients. A surgeon reviewing the image scan(s) on a display device of the computer platform 910 (FIG. 9) generates a surgical plan defining a target pose for a surgical tool to be used during a surgical procedure on an anatomical structure of the patient. Example surgical tools, also referred to as tools, can include, without limitation, drills, screw drivers, saws, retractors, and implants such as a screws, spacers, interbody fusion devices, plates, rods, etc. In some embodiments, the surgical plan defining the target plane is planned on the 3D image scan displayed on a display device.
As used herein, the term “pose” refers to the position and/or the rotational angle of one object (e.g., dynamic reference array, end effector, surgical tool, anatomical structure, etc.) relative to another object and/or to a defined coordinate system. A pose may therefore be defined based on only the multidimensional position of one object relative to another object and/or to a defined coordinate system, only on the multidimensional rotational angles of the object relative to another object and/or to a defined coordinate system, or on a combination of the multidimensional position and the multidimensional rotational angles. The term “pose” therefore is used to refer to position, rotational angle, or combination thereof.
The surgical system 2 of FIG. 1 can assist surgeons during medical procedures by, for example, holding tools, aligning tools, using tools, guiding tools, and/or positioning tools for use. In some embodiments, surgical system 2 includes a surgical robot 4 and a camera tracking system component 6. The ability to mechanically couple surgical robot 4 and camera tracking system component 6 can allow for surgical system 2 to maneuver and move as a single unit, and allow surgical system 2 to have a small footprint in an area, allow easier movement through narrow passages and around turns, and allow storage within a smaller area.
A surgical procedure may begin with the surgical system 2 moving from medical storage to a medical procedure room. The surgical system 2 may be maneuvered through doorways, halls, and elevators to reach a medical procedure room. Within the room, the surgical system 2 may be physically separated into two separate and distinct systems, the surgical robot 4 and the camera tracking system component 6. Surgical robot 4 may be positioned adjacent the patient at any suitable location to properly assist medical personnel. Camera tracking system component 6 may be positioned at the base of the patient, at the patient shoulders, or any other location suitable to track the present pose and movement of the pose of tracks portions of the surgical robot 4 and the patient. Surgical robot 4 and camera tracking system component 6 may be powered by an onboard power source and/or plugged into an external wall outlet.
Surgical robot 4 may be used to assist a surgeon by holding and/or using tools during a medical procedure. To properly utilize and hold tools, surgical robot 4 may rely on a plurality of motors, computers, and/or actuators to function properly. Illustrated in FIG. 1, robot body 8 may act as the structure in which the plurality of motors, computers, and/or actuators may be secured within surgical robot 4. Robot body 8 may also provide support for robot telescoping support 16. The size of robot body 8 may provide a solid platform supporting attached components, and may house, conceal, and protect the plurality of motors, computers, and/or actuators that may operate attached components.
Robot base 10 may act as a lower support for surgical robot 4. In some embodiments, robot base 10 may support robot body 8 and may attach robot body 8 to a plurality of powered wheels 12. This attachment to wheels may allow robot body 8 to move in space efficiently. Robot base 10 may run the length and width of robot body 8. Robot base 10 may be about two inches to about 10 inches tall. Robot base 10 may cover, protect, and support powered wheels 12.
In some embodiments, as illustrated in FIG. 1, at least one powered wheel 12 may be attached to robot base 10. Powered wheels 12 may attach to robot base 10 at any location. Each individual powered wheel 12 may rotate about a vertical axis in any direction. A motor may be disposed above, within, or adjacent to powered wheel 12. This motor may allow for surgical system 2 to maneuver into any location and stabilize and/or level surgical system 2. A rod, located within or adjacent to powered wheel 12, may be pressed into a surface by the motor. The rod, not pictured, may be made of any suitable metal to lift surgical system 2. The rod may lift powered wheel 10, which may lift surgical system 2, to any height required to level or otherwise fix the orientation of the surgical system 2 in relation to a patient. The weight of surgical system 2, supported through small contact areas by the rod on each wheel, prevents surgical system 2 from moving during a medical procedure. This rigid positioning may prevent objects and/or people from moving surgical system 2 by accident.
Moving surgical system 2 may be facilitated using robot railing 14. Robot railing 14 provides a person with the ability to move surgical system 2 without grasping robot body 8. As illustrated in FIG. 1, robot railing 14 may run the length of robot body 8, shorter than robot body 8, and/or may run longer the length of robot body 8. Robot railing 14 may further provide protection to robot body 8, preventing objects and or personnel from touching, hitting, or bumping into robot body 8.
Robot body 8 may provide support for a Selective Compliance Articulated Robot Arm, hereafter referred to as a “SCARA.” A SCARA 24 may be beneficial to use within the surgical system 2 due to the repeatability and compactness of the robotic arm. The compactness of a SCARA may provide additional space within a medical procedure, which may allow medical professionals to perform medical procedures free of excess clutter and confining areas. SCARA 24 may comprise robot telescoping support 16, robot support arm 18, and/or robot arm 20. Robot telescoping support 16 may be disposed along robot body 8. As illustrated in FIG. 1, robot telescoping support 16 may provide support for the SCARA 24 and display 34. In some embodiments, robot telescoping support 16 may extend and contract in a vertical direction. The body of robot telescoping support 16 may be any width and/or height configured to support the stress and weight placed upon it.
In some embodiments, medical personnel may move SCARA 24 through a command submitted by the medical personnel. The command may originate from input received on display 34, a tablet, and/or an XR headset (e.g., headset 920 in FIG. 9) as will be explained in further detail below. The XR headset may eliminate the need for medical personnel to refer to any other display such as the display 34 or a tablet, which enables the SCARA 24 to be configured without the display 34 and/or the tablet. The command may be generated by the depression of a switch and/or the depression of a plurality of switches, and/or may be generated based on a hand gesture command and/or voice command that is sensed by the XR headset as will be explained in further detail below.
As shown in FIG. 5, an activation assembly 60 may include a switch and/or a plurality of switches. The activation assembly 60 may be operable to transmit a move command to the SCARA 24 allowing an operator to manually manipulate the SCARA 24. When the switch, or plurality of switches, is depressed the medical personnel may have the ability to move SCARA 24 through applied hand movements. Alternatively or additionally, an operator may control movement of the SCARA 24 through hand gesture commands and/or voice commands that are sensed by the XR headset as will be explained in further detail below. Additionally, when the SCARA 24 is not receiving a command to move, the SCARA 24 may lock in place to prevent accidental movement by personnel and/or other objects. By locking in place, the SCARA 24 provides a solid platform through which the end effector 26 can guide a surgical tool during a medical procedure.
Robot support arm 18 can be connected to robot telescoping support 16 by various mechanisms. In some embodiments, best seen in FIGS. 1 and 2, robot support arm 18 rotates in any direction in regard to robot telescoping support 16. Robot support arm 18 may rotate three hundred and sixty degrees around robot telescoping support 16. Robot arm 20 may connect to robot support arm 18 at any suitable location and by various mechanisms that enable rotation in any direction relative to robot support arm 18. In one embodiment, the robot arm 20 can rotate three hundred and sixty degrees relative to the robot support arm 18. This free rotation allows an operator to position robot arm 20 according to a surgical plan.
The end effector 26 shown in FIGS. 4 and 5 may attach to robot arm 20 in any suitable location. The end effector 26 can be configured to attach to an end effector coupler 22 of the robot arm 20 positioned by the surgical robot 4. The example end effector 26 includes a tubular guide that guides movement of an inserted surgical tool relative to an anatomical structure on which a surgical procedure is to be performed.
In some embodiments, a dynamic reference array 52 is attached to the end effector 26. Dynamic reference arrays, also referred to as “DRAs” and “reference arrays” herein, can be rigid bodies, markers, or other indicia which may be attached or formed on one or more XR headsets being worn by personnel in the operating room, the end effector, the surgical robot, a surgical tool in a navigated surgical procedure, and an anatomical structure (e.g., bone) of a patient. The computer platform 910 in combination with the camera tracking system component 6 or other 3D localization system are configured to track in real-time the pose (e.g., positions and rotational orientations) of the DRA. The DRA can include fiducials, such as the illustrated arrangement of balls. This tracking of 3D coordinates of the DRA can allow the surgical system 2 to determine the pose of the DRA in any multidimensional space in relation to the target anatomical structure of the patient 50 in FIG. 5.
As illustrated in FIG. 1, a light indicator 28 may be positioned on top of the SCARA 24. Light indicator 28 may illuminate as any type of light to indicate “conditions” in which surgical system 2 is currently operating. In some embodiments, the light may be produced by LED bulbs, which may form a ring around light indicator 28. Light indicator 28 may comprise a fully permeable material that can let light shine through the entirety of light indicator 28. Light indicator 28 may be attached to lower display support 30. Lower display support 30, as illustrated in FIG. 2 may allow an operator to maneuver display 34 to any suitable location. Lower display support 30 may attach to light indicator 28 by any suitable mechanism. In some embodiments, lower display support 30 may rotate about light indicator 28 or be rigidly attached thereto. Upper display support 32 may attach to lower display support 30 by any suitable mechanism.
In some embodiments, a tablet may be used in conjunction with display 34 and/or without display 34. The tablet may be disposed on upper display support 32, in place of display 34, and may be removable from upper display support 32 during a medical operation. In addition the tablet may communicate with display 34. The tablet may be able to connect to surgical robot 4 by any suitable wireless and/or wired connection. In some embodiments, the tablet may be able to program and/or control surgical system 2 during a medical operation. When controlling surgical system 2 with the tablet, all input and output commands may be duplicated on display 34. The use of a tablet may allow an operator to manipulate surgical robot 4 without having to move around patient 50 and/or to surgical robot 4.
As will be explained below, in some embodiments a surgeon and/or other personnel can wear XR headsets that may be used in conjunction with display 34 and/or a tablet or the XR head(s) may eliminate the need for use of the display 34 and/or tablet.
As illustrated in FIGS. 3A and 5, camera tracking system component 6 works in conjunction with surgical robot 4 through wired or wireless communication networks. Referring to FIGS. 1, 3 and 5, camera tracking system component 6 can include some similar components to the surgical robot 4. For example, camera body 36 may provide the functionality found in robot body 8. Robot body 8 may provide an auxiliary tracking bar upon which cameras 46 are mounted. The structure within robot body 8 may also provide support for the electronics, communication devices, and power supplies used to operate camera tracking system component 6. Camera body 36 may be made of the same material as robot body 8. Camera tracking system component 6 may communicate directly to an XR headset, tablet and/or display 34 by a wireless and/or wired network to enable the XR headset, tablet and/or display 34 to control the functions of camera tracking system component 6.
Camera body 36 is supported by camera base 38. Camera base 38 may function as robot base 10. In the embodiment of FIG. 1, camera base 38 may be wider than robot base 10. The width of camera base 38 may allow for camera tracking system component 6 to connect with surgical robot 4. As illustrated in FIG. 1, the width of camera base 38 may be large enough to fit outside robot base 10. When camera tracking system component 6 and surgical robot 4 are connected, the additional width of camera base 38 may allow surgical system 2 additional maneuverability and support for surgical system 2.
As with robot base 10, a plurality of powered wheels 12 may attach to camera base 38. Powered wheel 12 may allow camera tracking system component 6 to stabilize and level or set fixed orientation in regards to patient 50, similar to the operation of robot base 10 and powered wheels 12. This stabilization may prevent camera tracking system component 6 from moving during a medical procedure and may keep cameras 46 on the auxiliary tracking bar from losing track of a DRA connected to an XR headset and/or the surgical robot 4, and/or losing track of one or more DRAs 52 connected to an anatomical structure 54 and/or tool 58 within a designated area 56 as shown in FIGS. 3A and 5. This stability and maintenance of tracking enhances the ability of surgical robot 4 to operate effectively with camera tracking system component 6. Additionally, the wide camera base 38 may provide additional support to camera tracking system component 6. Specifically, a wide camera base 38 may prevent camera tracking system component 6 from tipping over when cameras 46 is disposed over a patient, as illustrated in FIGS. 3A and 5.
Camera telescoping support 40 may support cameras 46 on the auxiliary tracking bar. In some embodiments, telescoping support 40 moves cameras 46 higher or lower in the vertical direction. Camera handle 48 may be attached to camera telescoping support 40 at any suitable location and configured to allow an operator to move camera tracking system component 6 into a planned position before a medical operation. In some embodiments, camera handle 48 is used to lower and raise camera telescoping support 40. Camera handle 48 may perform the raising and lowering of camera telescoping support 40 through the depression of a button, switch, lever, and/or any combination thereof.
Lower camera support arm 42 may attach to camera telescoping support 40 at any suitable location, in embodiments, as illustrated in FIG. 1, lower camera support arm 42 may rotate three hundred and sixty degrees around telescoping support 40. This free rotation may allow an operator to position cameras 46 in any suitable location. Lower camera support arm 42 may connect to telescoping support 40 by any suitable mechanism. Lower camera support arm 42 may be used to provide support for cameras 46. Cameras 46 may be attached to lower camera support arm 42 by any suitable mechanism. Cameras 46 may pivot in any direction at the attachment area between cameras 46 and lower camera support arm 42. In embodiments a curved rail 44 may be disposed on lower camera support arm 42.
Curved rail 44 may be disposed at any suitable location on lower camera support arm 42. As illustrated in FIG. 3A, curved rail 44 may attach to lower camera support arm 42 by any suitable mechanism. Curved rail 44 may be of any suitable shape, a suitable shape may be a crescent, circular, oval, elliptical, and/or any combination thereof. Cameras 46 may be moveably disposed along curved rail 44. Cameras 46 may attach to curved rail 44 by, for example, rollers, brackets, braces, motors, and/or any combination thereof. Motors and rollers, not illustrated, may be used to move cameras 46 along curved rail 44. As illustrated in FIG. 3A, during a medical procedure, if an object prevents cameras 46 from viewing one or more DRAs being tracked, the motors may responsively move cameras 46 along curved rail 44. This motorized movement may allow cameras 46 to move to a new position that is no longer obstructed by the object without moving camera tracking system component 6. While cameras 46 is obstructed from viewing one or more tracked DRAs, camera tracking system component 6 may send a stop signal to a surgical robot 4, XR headset, display 34, and/or a tablet. The stop signal may prevent SCARA 24 from moving until cameras 46 has reacquired tracked DRAs 52 and/or can warn an operator wearing the XR headset and/or viewing the display 34 and/or the tablet. This SCARA 24 can be configured to respond to receipt of a stop signal by stopping further movement of the base and/or end effector coupler 22 until the camera tracking system can resume tracking of DRAs.
FIGS. 3B and 3C illustrate a front view and isometric view of another camera tracking system component 6′ which may be used with the surgical system of FIG. 1 or may be used independent of a surgical robot. For example, the camera tracking system component 6′ may be used for providing navigated surgery without use of robotic guidance. One of the differences between the camera tracking system component 6′ of FIGS. 3B and 3C and the camera tracking system component 6 of FIG. 3A, is that the camera tracking system component 6′ of FIGS. 3B and 3C includes a housing that transports the computer platform 910. The computer platform 910 can be configured to perform camera tracking operations to track DRAs, perform navigated surgery operations that provide surgical navigation information to a display device, e.g., XR headset and/or other display device, and perform other computational operations disclosed herein. The computer platform 910 can therefore include a navigation computer, such as one or more of the navigation computers of FIG. 14.
FIG. 6 illustrates a block diagram view of the components of the surgical system of FIG. 5 used for the medical operation. Referring to FIG. 6, the tracking cameras 46 on the auxiliary tracking bar has a navigation field-of-view 600 in which the pose (e.g., position and orientation) of the reference array 602 attached to the patient, the reference array 604 attached to the surgical instrument, and the robot arm 20 are tracked. The tracking cameras 46 may be part of the camera tracking system component 6′ of FIGS. 3B and 3C, which includes the computer platform 910 configured to perform the operations described below. The reference arrays enable tracking by reflecting light in known patterns, which are decoded to determine their respective poses by the tracking subsystem of the surgical robot 4. If the line-of-sight between the patient reference array 602 and the tracking cameras 46 in the auxiliary tracking bar is blocked (for example, by a medical personnel, instrument, etc.), further navigation of the surgical instrument may not be able to be performed and a responsive notification may temporarily halt further movement of the robot arm 20 and surgical robot 4, display a warning on the display 34, and/or provide an audible warning to medical personnel. The display 34 is accessible to the surgeon 610 and assistant 612 but viewing requires a head to be turned away from the patient and for eye focus to be changed to a different distance and location. The navigation software may be controlled by a tech personnel 614 based on vocal instructions from the surgeon.
FIG. 7 illustrates various display screens that may be displayed on the display 34 of FIGS. 5 and 6 by the surgical robot 4 when using a navigation function of the surgical system 2. The display screens can include, without limitation, patient radiographs with overlaid graphical representations of models of instruments that are positioned in the display screens relative to the anatomical structure based on a developed surgical plan and/or based on poses of tracked reference arrays, various user selectable menus for controlling different stages of the surgical procedure and dimension parameters of a virtually projected implant (e.g. length, width, and/or diameter).
For navigated surgery, various processing components (e.g., computer platform 910) and associated software described below are provided that enable pre-operatively planning of a surgical procedure, e.g., implant placement, and electronic transfer of the plan to computer platform 910 to provide navigation information to one or more users during the planned surgical procedure.
For robotic navigation, various processing components (e.g., computer platform 910) and associated software described below are provided that enable pre-operatively planning of a surgical procedure, e.g., implant placement, and electronic transfer of the plan to the surgical robot 4. The surgical robot 4 uses the plan to guide the robot arm 20 and connected end effector 26 to provide a target pose for a surgical tool relative to a patient anatomical structure for a step of the planned surgical procedure.
Various embodiments below are directed to using one or more XR headsets that can be worn by the surgeon 610, the assistant 612, and/or other medical personnel to provide an improved user interface for receiving information from and/or providing control commands to the surgical robot, the camera tracking system component 6/6′, and/or other medical equipment in the operating room.
FIG. 8 illustrates a block diagram of some electrical components of the surgical robot 4 according to some embodiments of the present disclosure. Referring to FIG. 8, a load cell (not shown) may be configured to track force applied to end effector coupler 22. In some embodiments the load cell may communicate with a plurality of motors 850, 851, 852, 853, and/or 854. As load cell senses force, information as to the amount of force applied may be distributed from a switch array and/or a plurality of switch arrays to a controller 846. Controller 846 may take the force information from load cell and process it with a switch algorithm. The switch algorithm is used by the controller 846 to control a motor driver 842. The motor driver 842 controls operation of one or more of the motors 850, 851, 852, 853, and 854. Motor driver 842 may direct a specific motor to produce, for example, an equal amount of force measured by load cell through the motor. In some embodiments, the force produced may come from a plurality of motors, e.g., 850-854, as directed by controller 846. Additionally, motor driver 842 may receive input from controller 846. Controller 846 may receive information from load cell as to the direction of force sensed by load cell. Controller 846 may process this information using a motion controller algorithm. The algorithm may be used to provide information to specific motor drivers 842. To replicate the direction of force, controller 846 may activate and/or deactivate certain motor drivers 842. Controller 846 may control one or more motors, e.g. one or more of 850-854, to induce motion of end effector 26 in the direction of force sensed by load cell. This force-controlled motion may allow an operator to move SCARA 24 and end effector 26 effortlessly and/or with very little resistance. Movement of end effector 26 can be performed to position end effector 26 in any suitable pose (i.e., location and angular orientation relative to defined three-dimensional (3D) orthogonal reference axes) for use by medical personnel.
Activation assembly 60, best illustrated in FIG. 5, may form of a bracelet that wraps around end effector coupler 22. The activation assembly 60 may be located on any part of SCARA 24, any part of end effector coupler 22, may be worn by medical personnel (and communicate wirelessly), and/or any combination thereof. Activation assembly 60 may comprise of a primary button and a secondary button.
Depressing primary button may allow an operator to move SCARA 24 and end effector coupler 22. According to one embodiment, once set in place, SCARA 24 and end effector coupler 22 may not move until an operator programs surgical robot 4 to move SCARA 24 and end effector coupler 22, or is moved using primary button. In some examples, it may require the depression of at least two non-adjacent primary activation switches before SCARA 24 and end effector coupler 22 will respond to operator commands. Depression of at least two primary activation switches may prevent the accidental movement of SCARA 24 and end effector coupler 22 during a medical procedure.
Activated by primary button, load cell may measure the force magnitude and/or direction exerted upon end effector coupler 22 by an operator, i.e. medical personnel. This information may be transferred to one or more motors, e.g. one or more of 850-854, within SCARA 24 that may be used to move SCARA 24 and end effector coupler 22. Information as to the magnitude and direction of force measured by load cell may cause the one or more motors, e.g. one or more of 850-854, to move SCARA 24 and end effector coupler 22 in the same direction as sensed by the load cell. This force-controlled movement may allow the operator to move SCARA 24 and end effector coupler 22 easily and without large amounts of exertion due to the motors moving SCARA 24 and end effector coupler 22 at the same time the operator is moving SCARA 24 and end effector coupler 22.
In some examples, a secondary button may be used by an operator as a “selection” device. During a medical operation, surgical robot 4 may notify medical personnel to certain conditions by the XR headset(s) 920, display 34 and/or light indicator 28. The XR headset(s) 920 are each configured to display images on a see-through display screen to form an extended reality image that is overlaid on real-world objects viewable through the see-through display screen. Medical personnel may be prompted by surgical robot 4 to select a function, mode, and/or asses the condition of surgical system 2. Depressing secondary button a single time may activate certain functions, modes, and/or acknowledge information communicated to medical personnel through the XR headset(s) 920, display 34 and/or light indicator 28. Additionally, depressing the secondary button multiple times in rapid succession may activate additional functions, modes, and/or select information communicated to medical personnel through the XR headset(s) 920, display 34 and/or light indicator 28.
With further reference to FIG. 8, electrical components of the surgical robot 4 include platform subsystem 802, computer subsystem 820, motion control subsystem 840, and tracking subsystem 830. Platform subsystem 802 includes battery 806, power distribution module 804, connector panel 808, and charging station 810. Computer subsystem 820 includes computer 822, display 824, and speaker 826. Motion control subsystem 840 includes driver circuit 842, motors 850, 851, 852, 853, 854, stabilizers 855, 856, 857, 858, end effector connector 844, and controller 846. Tracking subsystem 830 includes position sensor 832 and camera converter 834. Surgical robot 4 may also include a removable foot pedal 880 and removable tablet computer 890.
Input power is supplied to surgical robot 4 via a power source which may be provided to power distribution module 804. Power distribution module 804 receives input power and is configured to generate different power supply voltages that are provided to other modules, components, and subsystems of surgical robot 4. Power distribution module 804 may be configured to provide different voltage supplies to connector panel 808, which may be provided to other components such as computer 822, display 824, speaker 826, driver 842 to, for example, power motors 850-854 and end effector coupler 844, and provided to camera converter 834 and other components for surgical robot 4. Power distribution module 804 may also be connected to battery 806, which serves as temporary power source in the event that power distribution module 804 does not receive power from an input power. At other times, power distribution module 804 may serve to charge battery 806.
Connector panel 808 may serve to connect different devices and components to surgical robot 4 and/or associated components and modules. Connector panel 808 may contain one or more ports that receive lines or connections from different components. For example, connector panel 808 may have a ground terminal port that may ground surgical robot 4 to other equipment, a port to connect foot pedal 880, a port to connect to tracking subsystem 830, which may include position sensor 832, camera converter 834, and DRA tracking cameras 870. Connector panel 808 may also include other ports to allow USB, Ethernet, HDMI communications to other components, such as computer 822. In accordance with some embodiments, the connector panel 808 can include a wired and/or wireless interface for operatively connecting one or more XR headsets 920 to the tracking subsystem 830 and/or the computer subsystem 820.
Control panel 816 may provide various buttons or indicators that control operation of surgical robot 4 and/or provide information from surgical robot 4 for observation by an operator. For example, control panel 816 may include buttons to power on or off surgical robot 4, lift or lower vertical column 16, and lift or lower stabilizers 855-858 that may be designed to engage casters 12 to lock surgical robot 4 from physically moving. Other buttons may stop surgical robot 4 in the event of an emergency, which may remove all motor power and apply mechanical brakes to stop all motion from occurring. Control panel 816 may also have indicators notifying the operator of certain system conditions such as a line power indicator or status of charge for battery 806. In accordance with some embodiments, one or more XR headsets 920 may communicate, e.g. via the connector panel 808, to control operation of the surgical robot 4 and/or to received and display information generated by surgical robot 4 for observation by persons wearing the XR headsets 920.
Computer 822 of computer subsystem 820 includes an operating system and software to operate assigned functions of surgical robot 4. Computer 822 may receive and process information from other components (for example, tracking subsystem 830, platform subsystem 802, and/or motion control subsystem 840) in order to display information to the operator. Further, computer subsystem 820 may provide output through the speaker 826 for the operator. The speaker may be part of the surgical robot, part of an XR headset 920, or within another component of the surgical system 2. The display 824 may correspond to the display 34 shown in FIGS. 1 and 2.
Tracking subsystem 830 may include position sensor 832 and camera converter 834. Tracking subsystem 830 may correspond to the camera tracking system component 6 of FIG. 3. The DRA tracking cameras 870 operate with the position sensor 832 to determine the pose of DRAs 52. This tracking may be conducted in a manner consistent with the present disclosure including the use of infrared or visible light technology that tracks the location of active or passive elements of DRAs 52, such as LEDs or reflective fiducials (also called markers), respectively.
Functional operations of the tracking subsystem 830 and the computer subsystem 820 can be included in the computer platform 910, which can be transported by the camera tracking system component 6′ of FIGS. 3A and 3B. The tracking subsystem 830 can be configured to determine the poses, e.g., location and angular orientation of the tracked DRAs. The computer platform 910 can also include a navigation controller that is configured to use the determined poses to provide navigation information to users that guides their movement of tracked tools relative to position-registered patient images and/or tracked anatomical structures during a planned surgical procedure. The computer platform 910 can display information on the display of FIGS. 3B and 3C and/or to one or more XR headsets 920. The computer platform 910, when used with a surgical robot, can be configured to communicate with the computer subsystem 820 and other subsystems of FIG. 8 to control movement of the end effector 26. For example, as will be explained below the computer platform 910 can generate a graphical representation of a patient's anatomical structure, surgical tool, user's hand, etc. with a displayed size, shape, color, and/or pose that is controlled based on the determined pose(s) of one or more the tracked DRAs, and which the graphical representation that is displayed can be dynamically modified to track changes in the determined poses over time.
Motion control subsystem 840 may be configured to physically move vertical column 16, upper arm 18, lower arm 20, or rotate end effector coupler 22. The physical movement may be conducted through the use of one or more motors 850-854. For example, motor 850 may be configured to vertically lift or lower vertical column 16. Motor 851 may be configured to laterally move upper arm 18 around a point of engagement with vertical column 16 as shown in FIG. 2. Motor 852 may be configured to laterally move lower arm 20 around a point of engagement with upper arm 18 as shown in FIG. 2. Motors 853 and 854 may be configured to move end effector coupler 22 to provide translational movement and rotation along in about three-dimensional axes. The computer platform 910 shown in FIG. 9 can provide control input to the controller 846 that guides movement of the end effector coupler 22 to position a passive end effector, which is connected thereto, with a planned pose (i.e., location and angular orientation relative to defined 3D orthogonal reference axes) relative to an anatomical structure that is to be operated on during a planned surgical procedure. Motion control subsystem 840 may be configured to measure position of the end effector coupler 22 and/or the end effector 26 using integrated position sensors (e.g. encoders).
FIG. 9 illustrates a block diagram of components of a surgical system that includes imaging devices (e.g., C-Arm 104, O-Arm 106, etc.) connected to a computer platform 910 which can be operationally connected to a camera tracking system component 6 (FIG. 3A) or 6′ (FIGS. 3B,3C) and/or to surgical robot 4 according to some embodiments of the present disclosure. Alternatively, at least some operations disclosed herein as being performed by the computer platform 910 may additionally or alternatively be performed by components of a surgical system.
Referring to FIG. 9, the computer platform 910 includes a display 912, at least one processor circuit 914 (also referred to as a processor for brevity), at least one memory circuit 916 (also referred to as a memory for brevity) containing computer readable program code 918, and at least one network interface 902 (also referred to as a network interface for brevity). The display 912 may be part of an XR headset 920 in accordance with some embodiments of the present disclosure. The network interface 902 can be configured to connect to a C-Arm imaging device 104 in FIG. 12, an O-Arm imaging device 106 in FIG. 12, another medical imaging device, an image database 950 containing patient medical images, components of the surgical robot 4, and/or other electronic equipment.
When used with a surgical robot 4, the display 912 may correspond to the display 34 of FIG. 2 and/or the tablet 890 of FIG. 8 and/or the XR headset 920 that is operatively connected to the surgical robot 4, the network interface 902 may correspond to the platform network interface 812 of FIG. 8, and the processor 914 may correspond to the computer 822 of FIG. 8. The network interface 902 of the XR headset 920 may be configured to communicate through a wired network, e.g., thin wire ethernet, and/or through wireless RF transceiver link according to one or more wireless communication protocols, e.g., WLAN, 3GPP 4G and/or 5G (New Radio) cellular communication standards, etc.
The processor 914 may include one or more data processing circuits, such as a general purpose and/or special purpose processor, e.g., microprocessor and/or digital signal processor. The processor 914 is configured to execute the computer readable program code 918 in the memory 916 to perform operations, which may include some or all of the operations described herein as being performed for surgery planning, navigated surgery, and/or robotic surgery.
The computer platform 910 can be configured to provide surgery planning functionality. The processor 914 can operate to display on the display device 912 and/or on the XR headset 920 an image of an anatomical structure, e.g., vertebra, that is received from one of the imaging devices 104 and 106 and/or from the image database 950 through the network interface 920. The processor 914 receives an operator's definition of where the anatomical structure shown in one or more images is to have a surgical procedure, e.g., screw placement, such as by the operator touch selecting locations on the display 912 for planned procedures or using a mouse-based cursor to define locations for planned procedures. When the image is displayed in the XR headset 920, the XR headset can be configured to sense in gesture-based commands formed by the wearer and/or sense voice based commands spoken by the wearer, which can be used to control selection among menu items and/or control how objects are displayed on the XR headset 920 as will be explained in further detail below.
The computer platform 910 can be configured to enable anatomy measurement, which can be particularly useful for knee surgery, like measurement of various angles determining center of hip, center of angles, natural landmarks (e.g. transepicondylar line, Whitesides line, posterior condylar line), etc. Some measurements can be automatic while some others can involve human input or assistance. The computer platform 910 may be configured to allow an operator to input a choice of the correct implant for a patient, including choice of size and alignment. The computer platform 910 may be configured to perform automatic or semi-automatic (involving human input) segmentation (image processing) for CT images or other medical images. The surgical plan for a patient may be stored in a cloud-based server, which may correspond to database 950, for retrieval by the surgical robot 4.
During orthopedic surgery, for example, a surgeon may choose which cut to make (e.g. posterior femur, proximal tibia etc.) using a computer screen (e.g. touchscreen) or extended reality (XR) interaction (e.g., hand gesture based commands and/or voice based commands) via, e.g., the XR headset 920. The computer platform 910 can generate navigation information which provides visual guidance to the surgeon for performing the surgical procedure. When used with the surgical robot 4, the computer platform 910 can provide guidance that allows the surgical robot 4 to automatically move the end effector 26 to a target pose so that the surgical tool is aligned with a target location to perform the surgical procedure on an anatomical structure.
In some embodiments, the surgical system 900 can use two DRAs to track patient anatomy position, such as one connected to patient tibia and one connected to patient femur. The system 900 may use standard navigated instruments for the registration and checks (e.g. a pointer similar to the one used in Globus ExcelsiusGPS system for spine surgery).
A particularly challenging task in navigated surgery is how to plan the position of an implant in spine, knee, and other anatomical structures where surgeons struggle to perform the task on a computer screen which is a 2D representation of the 3D anatomical structure. The system 900 could address this problem by using the XR headset 920 to display a three-dimensional (3D) computer generated representations of the anatomical structure and a candidate implant device. The computer generated representations are scaled and posed relative to each other on the display screen under guidance of the computer platform 910 and which can be manipulated by a surgeon while viewed through the XR headset 920. A surgeon may, for example, manipulate the displayed computer-generated representations of the anatomical structure, the implant, a surgical tool, etc., using hand gesture based commands and/or voice based commands that are sensed by the XR headset 920.
For example, a surgeon can view a displayed virtual handle on a virtual implant, and can manipulate (e.g., grab and move) the virtual handle to move the virtual implant to a desired pose and adjust a planned implant placement relative to a graphical representation of an anatomical structure. Afterward, during surgery, the computer platform 910 could display navigation information through the XR headset 920 that facilitates the surgeon's ability to more accurately follow the surgical plan to insert the implant and/or to perform another surgical procedure on the anatomical structure. When the surgical procedure involves bone removal, the progress of bone removal, e.g., depth of cut, can be displayed in real-time through the XR headset 920. Other features that may be displayed through the XR headset 920 can include, without limitation, gap or ligament balance along a range of joint motion, contact line on the implant along the range of joint motion, ligament tension and/or laxity through color or other graphical renderings, etc.
The computer platform 910, in some embodiments, can allow planning for use of standard surgical tools and/or implants, e.g., posterior stabilized implants and cruciate retaining implants, cemented and cementless implants, revision systems for surgeries related to, for example, total or partial knee and/or hip replacement and/or trauma.
An automated imaging system can be used in conjunction with the computer platform 910 to acquire pre-operative, intra-operative, post-operative, and/or real-time image data of an anatomical structure. In some embodiments, the automated imaging system is a C-arm 104 (FIG. 12) imaging device or an O-Arm® 106 (FIG. 12). (O-Arm® is copyrighted by Medtronic Navigation, Inc. having a place of business in Louisville, Colo., USA). It may be desirable to take x-rays of a patient from a number of different positions, without the need for frequent manual repositioning of the patient which may be required in an x-ray system. C-arm 104 x-ray diagnostic equipment may solve the problems of frequent manual repositioning and may be well known in the medical art of surgical and other interventional procedures. A C-arm includes an elongated C-shaped member terminating in opposing distal ends of the “C” shape. C-shaped member is attached to an x-ray source and an image receptor. The space within C-arm of the arm provides room for the physician to attend to the patient substantially free of interference from the x-ray support structure.
Images captured by an imaging system can be displayed on the XR headset 920 and/or another display device of the computer platform 910, the surgical robot 4, and/or another component of the surgical system 900. The XR headset 920 may be connected to one or more of the imaging devices 104 and/or 106 and/or to the image database 950, e.g., via the computer platform 910, to display images therefrom. A user may provide control inputs through the XR headset 920, e.g., gesture and/or voice based commands, to control operation of one or more of the imaging devices 104 and/or 106 and/or the image database 950.
FIG. 10 illustrates a block diagram view of the components of a surgical system that include a pair of XR headsets 920 (head-mounted displays HMD1 and HMD2), which may correspond to the XR headset 920 shown in FIG. 11 and operate in accordance with some embodiments of the present disclosure.
Referring to the example scenario of FIG. 10, the assistant 612 and surgeon 610 are both wearing the XR headsets 920, respectively. It is optional for the assistant 612 to wear the XR headset 920. The XR headsets 920 are configured to provide an interactive environment through which the wearers can view and interact with information related to a surgical procedure as will be described further below. This interactive XR based environment may eliminate a need for the tech personnel 614 shown in FIG. 6 to be present in the operating room and may eliminate a need for use of the display 34 shown in FIG. 6. Each XR headset 920 can include one or more cameras that are configured to provide an additional source of tracking of DRAs or other reference arrays attached to surgical tools, a patient's anatomical structure, the end effector 26, and/or other equipment. In the example of FIG. 10, XR headset 920 has a field-of-view (FOV) 1202 for tracking DRAs and other objects, XR headset 920 has a FOV 1212 partially overlapping FOV 1202 for tracking DRAs and other objects, and the tracking cameras 46 has another FOV 600 partially overlapping FOVs 1202 and 1212 for tracking DRAs and other objects.
If one or more cameras is obstructed from viewing a DRA attached to a tracked object, e.g., a surgical tool, but the DRA is in view of one or more other cameras the tracking subsystem 830 and/or navigation controller 828 can continue to track the object seamlessly without loss of navigation. Additionally, if there is partial occlusion of the DRA from the perspective of one camera, but the entire DRA is visible via multiple camera sources, the tracking inputs of the cameras can be merged to continue navigation of the DRA. One of the XR headsets and/or the tracking cameras 46 may view and track the DRA on another one of the XR headsets to enable the computer platform 910 (FIGS. 9 and 14), the tracking subsystem 830, and/or another computing component to determine the pose of the DRA relative to one or more defined coordinate systems, e.g., of the XR headsets 920, the tracking cameras 46, and/or another coordinate system defined for the patient, table, and/or room.
The XR headsets 920 can be operatively connected to view video, pictures, and/or other received information and/or to provide commands that control various equipment in the surgical room, including but not limited to neuromonitoring, microscopes, video cameras, and anesthesia systems. Data from the various equipment may be processed and displayed within the headset, for example the display of patient vitals or the microscope feed.
Example XR Headset Components and Integration to Navigated Surgery, Surgical Robots, and Other Equipment
FIG. 11 illustrates an XR headset 920 which is configured in accordance with some embodiments of the present disclosure. The XR headset includes a headband 1306 configured to secure the XR headset to a wearer's head, an electronic component enclosure 1304 supported by the headband 1306, and a display screen 1302 that extends laterally across and downward from the electronic component enclosure 1304. The display screen 1302 may be a see-through LCD display device or a semi-reflective lens that reflects images projected by a display device toward the wearer's eyes. A set of DRA fiducials 1310, e.g., dots, are painted or attached in a spaced apart known arranged on one or both sides of the headset. The DRA on the headset enables the tracking cameras on the auxiliary tracking bar to track pose of the headset 920 and/or enables another XR headset to track pose of the headset 920.
The display screen 1302 operates as a see-through display screen, also referred to as a combiner, that reflects light from display panels of a display device toward the user's eyes. The display panels can be located between the electronic component enclosure and the user's head, and angled to project virtual content toward the display screen 1302 for reflection toward the user's eyes. The display screen 1302 is semi-transparent and semi-reflective allowing the user to see reflected virtual content superimposed on the user's view of a real-world scene. The display screen 1302 may have different opacity regions, such as the illustrated upper laterally band which has a higher opacity than the lower laterally band. Opacity of the display screen 1302 may be electronically controlled to regulate how much light from the real-world scene passes through to the user's eyes. A high opacity configuration of the display screen 1302 results in high-contrast virtual images overlaid on a dim view of the real-world scene. A low opacity configuration of the display screen 1302 can result in more faint virtual images overlaid on a clearer view of the real-world scene. The opacity may be controlled by applying an opaque material on a surface of the display screen 1302.
According to some embodiments, the surgical system includes an XR headset 920 and an XR headset controller, e.g., controller 1430 in FIG. 14. The XR headset 920 is configured to be worn by a user during a surgical procedure and has a see-through display screen 1302 that is configured to display an XR image and to allow at least a portion of a real-world scene to pass therethrough for viewing by the user. The XR headset 920 also includes an opacity filter positioned between at least one of the user's eyes and the real-world scene when the see-through display screen 1302 is viewed by the user. The opacity filter is configured to provide opaqueness to light from the real-world scene. The XR headset controller is configured to communicate with a navigation controller, e.g., controller(s) 828A, 828B, and/or 828C in FIG. 14, to receive navigation information from the navigation controller which provides guidance to the user during the surgical procedure on an anatomical structure, and is further configured to generate the XR image based on the navigation information for display on the see-through display screen 1302.
Opacity of the display screen 1302 may be configured as a gradient having a more continuously changing opacity with distance downward from a top portion of the display screen 1302. The gradient's darkest point can be located at the top portion of the display screen 1302, and gradually becoming less opaque further down on the display screen 1302 until the opacity is transparent or not present. In an example further embodiment, the gradient can change from about 90% opacity to entirely transparent approximately at the mid-eye level of the display screen 1302. With the headset properly calibrated and positioned, the mid-eye level can correspond to the point where the user would look straight out, and the end of the gradient would be located at the “horizon” line of the eye. The darker portion of the gradient will allow crisp, clear visuals of the virtual content and help to block the intrusive brightness of the overhead operating room lights.
Using an opacity filter in this manner enables the XR headset 920 to provide virtual reality (VR) capabilities, by substantially or entirely blocking light from the real-world scene, along an upper portion of the display screen 1302 and to provide AR capabilities along a middle or lower portion of the display screen 1302. This allows the user to have the semi-translucence of AR where needed and allowing clear optics of the patient anatomy during procedures. Configuring the display screen 1302 as a gradient instead of as a more constant opacity band can enable the wearer to experience a more natural transition between a more VR type view to a more AR type view without experiencing abrupt changes in brightness of the real-world scene and depth of view that may otherwise strain the eyes such as during more rapid shifting between upward and downward views.
The display panels and display screen 1302 can be configured to provide a wide field of view see-through XR display system. In one example configuration they provide an 80° diagonal field-of-view (FOV) with 55° of vertical coverage for a user to view virtual content. Other diagonal FOV angles and vertical coverage angles can be provided through different size display panels, different curvature lens, and/or different distances and angular orientations between the display panels and curved display screen 1302.
FIG. 12 illustrates electrical components of the XR headset 920 that can be operatively connected to the computer platform 910, to one or more of the imaging devices, such as the C-arm imaging device 104, the O-arm imaging device 106, and/or the image database 950, and/or to the surgical robot 800 in accordance with various embodiments of the present disclosure.
The XR headset 920 provides an improved human interface for performing navigated surgical procedures. The XR headset 920 can be configured to provide functionalities, e.g., via the computer platform 910, that include without limitation any one or more of: identification of hand gesture based commands and/or voice based commands, display XR graphical objects on a display device 1450. The display device 1450 may be a video projector, flat panel display, etc., which projects the displayed XR graphical objects onto the display screen 1302. The user can view the XR graphical objects as an overlay anchored to particular real-world objects viewed through the display screen 1302 (FIG. 13). The XR headset 920 may additionally or alternatively be configured to display on the display screen 1450 video feeds from cameras mounted to one or more XR headsets 920 and other cameras.
Electrical components of the XR headset 920 can include a plurality of cameras 1440, a microphone 1442, a gesture sensor 1444, a pose sensor (e.g., inertial measurement unit (IMU)) 1446, a display module 1448 containing the display device 1450, and a wireless/wired communication interface 1452. As will be explained below, the cameras 1440 of the XR headset may be visible light capturing cameras, near infrared capturing cameras, or a combination of both.
The cameras 1440 may be configured operate as the gesture sensor 1444 by capturing for identification user hand gestures performed within the field of view of the camera(s) 1440. Alternatively the gesture sensor 1444 may be a proximity sensor and/or a touch sensor that senses hand gestures performed proximately to the gesture sensor 1444 and/or senses physical contact, e.g. tapping on the sensor or the enclosure 1304. The pose sensor 1446, e.g., IMU, may include a multi-axis accelerometer, a tilt sensor, and/or another sensor that can sense rotation and/or acceleration of the XR headset 920 along one or more defined coordinate axes. Some or all of these electrical components may be contained in the component enclosure 1304 or may be contained in another enclosure configured to be worn elsewhere, such as on the hip or shoulder.
As explained above, the surgical system 2 includes a camera tracking system component 6/6′ and a tracking subsystem 830 which may be part of the computer platform 910. The surgical system may include imaging devices (e.g., C-arm 104, O-arm 106, and/or image database 950) and/or a surgical robot 4. The tracking subsystem 830 is configured to determine a pose of DRAs attached to an anatomical structure, an end effector, a surgical tool, etc. A navigation controller 828 is configured to determine a target pose for the surgical tool relative to an anatomical structure based on a surgical plan, e.g., from a surgical planning function performed by the computer platform 910 of FIG. 9, defining where a surgical procedure is to be performed using the surgical tool on the anatomical structure and based on a pose of the anatomical structure determined by the tracking subsystem 830. The navigation controller 828 may be further configured to generate steering information based on the target pose for the surgical tool, the pose of the anatomical structure, and the pose of the surgical tool and/or the end effector, where the steering information indicates where the surgical tool and/or the end effector of a surgical robot should be moved to perform the surgical plan. Various of the cameras 1440 of the XR headset 920 may be connected to the camera tracking system component 6/6′ to track poses of DRAs, user's hand(s), etc.
The electrical components of the XR headset 920 can be operatively connected to the electrical components of the computer platform 910 through a wired/wireless interface 1452. The electrical components of the XR headset 920 may be operatively connected, e.g., through the computer platform 910 or directly connected, to various imaging devices, e.g., the C-arm imaging device 104, the I/O-arm imaging device 106, the image database 950, and/or to other medical equipment through the wired/wireless interface 1452.
The surgical system 2 further includes at least one XR headset controller 1430 (also referred to as “XR headset controller” for brevity) that may reside in the XR headset 920, the computer platform 910, and/or in another system component connected via wired cables and/or wireless communication links. Various functionality is provided by software executed by the XR headset controller 1430. The XR headset controller 1430 is configured to receive navigation information from the navigation controller 828 which provides guidance to the user during the surgical procedure on an anatomical structure, and is configured to generate an XR image based on the navigation information for display on the display device 1450 for projection on the see-through display screen 1302.
The configuration of the display device 1450 relative to the display screen (also referred to as “see-through display screen”) 1302 is configured to display XR images in a manner such that when the user wearing the XR headset 920 looks through the display screen 1302 the XR images appear to be in the real world. The display screen 1302 can be positioned by the headband 1306 in front of the user's eyes.
The XR headset controller 1430 can be within a housing that is configured to be worn on a user's head or elsewhere on the user's body while viewing the display screen 1302 or may be remotely located from the user viewing the display screen 1302 while being communicatively connected to the display screen 1302. The XR headset controller 1430 can be configured to operationally process signaling from the cameras 1440, the microphone 142, and/or the pose sensor 1446, and is connected to display XR images on the display device 1450 for user viewing on the display screen 1302. Thus, the XR headset controller 1430 illustrated as a circuit block within the XR headset 920 is to be understood as being operationally connected to other illustrated components of the XR headset 920 but not necessarily residing within a common housing (e.g., the electronic component enclosure 1304 of FIG. 13) or being otherwise transportable by the user. For example, the XR headset controller 1430 may reside within the computer platform 910 which, in turn, may reside within a housing of the computer tracking system component 6′ shown in FIGS. 3B and 3C.
Example XR Headset Component Optical Arrangement
FIG. 13 illustrates a block diagram showing arrange of optical components of the XR headset 920 in accordance with some embodiments of the present disclosure. Referring to FIG. 13, the display device 1450 is configured to display XR images generated by the XR headset controller 1430, light from which is projected as XR images 1500 toward the display screen 1302. The display screen 1302 is configured to combine light of the XR images 1500 and light from the real-world scene 1502 into a combined augmented view 1504 that is directed to the user's eye(s) 1510. The display screen 1302 configured in this manner operates as a see-through display screen. The XR headset 920 can include any plural number of tracking cameras 1440. The cameras 1440 may be visible light capturing cameras, near infrared capturing cameras, or a combination of both.
Example User Views through the XR Headset
The XR headset operations can display both 2D images and 3D models on the display screen 1302. The 2D images may preferably be displayed in a more opaque band of the display screen 1302 (upper band) and the 3D model may be more preferably displayed in the more transparent band of the display screen 1302, otherwise known as the environmental region (bottom band). Below the lower band where the display screen 1302 ends the wearer has an unobstructed view of the surgical room. It is noted that where XR content is display on the display screen 1302 may be fluidic. It is possible that where the 3D content is displayed moves to the opaque band depending on the position of the headset relative to the content, and where 2D content is displayed can be placed in the transparent band and stabilized to the real world. Additionally, the entire display screen 1302 may be darkened under electronic control to convert the headset into virtual reality for surgical planning or completely transparent during the medical procedure. As explained above, the XR headset 920 and associated operations not only support navigated procedures, but also can be performed in conjunction with robotically assisted procedures.
Pose Measurement Chaining
As explained above, navigated surgery can include computer vision tracking and determination of pose (e.g., position and orientation in a six degree-of-freedom coordinate system) of surgical instruments, such as by determining pose of attached DRAs that include spaced apart fiducials, e.g., disk markers or spheres, arranged in a manner known to the camera tracking system. The computer vision uses spaced apart tracking cameras, e.g., stereo cameras, that are configured to capture near infrared and/or visible light. In this scenario, there are three parameters jointly competing for optimization: (1) accuracy, (2) robustness, and (3) user ergonomics during a surgical procedure.
Computer operations may combine (chain) measured poses in ways that can improve optimization of one or more of the above three parameters by incorporating additional tracking cameras mounted to one or more XR headsets. A stereo pair of visible light tracking cameras and another stereo pair of near infrared tracking cameras can be attached to the auxiliary tracking bar of the camera tracking system component in accordance with some embodiments of the present disclosure. Operational algorithms are disclosed that analyze the pose of DRAs that are fully observed or partially observed (e.g., when less than all of the fiducials of a DRA are viewed by a pair of stereo cameras), and combine the observed poses or partial poses in ways that can improve accuracy, robustness, and/or ergonomics during navigated surgery.
As explained above, the XR headset may be configured to augment a real-world scene with computer generated XR images. The XR headset may be configured to provide an XR viewing environment by displaying the computer generated XR images on a see-through display screen that allows light from the real-world scene to pass therethrough for combined viewing by the user. Alternatively, the XR headset may be configured to provide a VR viewing environment by preventing or substantially preventing light from the real-world scene from being directly viewed by the user along the viewing path of the displayed XR images. An XR headset can be configured to provide both AR and VR viewing environments. In one embodiment, both AR and VR viewing environments are provided by lateral bands of substantially differing opacity arranged between the see-through display screen and the real-world scene, so that a VR viewing environment is provided for XR images aligned with a high opacity band and an AR viewing environment is provided for XR images aligned with the low opacity band. In another embodiment, both AR and VR viewing environments are provided by computer adjustable control of an opacity filter that variably constrains how much light from the real-world scene passes through a see-through display screen for combining with the XR images viewed by the user. Thus, the XR headset can also be referred to as an AR headset or a VR headset.
As was also explained above, the XR headset can include near infrared tracking cameras and/or visible light tracking cameras that are configured to track fiducials of DRAs connected to surgical instruments, patient anatomy, other XR headset(s), and/or a robotic end effector. Using near infrared tracking and/or visible light tracking on the XR headset provides additional tracking volume coverage beyond what cameras on a single auxiliary tracking bar can provide. Adding near infrared tracking cameras to the existing auxiliary tracking bar allows for the headset location to be tracked more robustly but less accurately than in visible light. Mechanically calibrating the visible and near infrared tracking coordinate systems enables the coordinate systems to be aligned sufficiently to perform 3D DRA fiducials triangulation operations using stereo matching to jointly identify pose of the DRA fiducials between the visible and near infrared tracking coordinate systems. Using both visible and near infrared tracking coordinate systems can enable any one or more of: (a) identifying tools that would not be identified using a single coordinate system; (b) increased pose tracking accuracy; (c) enabling a wider range of motion without losing tracking of surgical instruments, patient anatomy, and/or a robotic end effector; and (d) naturally track an XR headset in the same coordinate system as the navigated surgical instruments.
FIG. 14 illustrates a block diagram view of the components of a surgical system that include tracking cameras in a pair of XR headsets 920 (head-mounted displays HMD1 and HMD2) and tracking cameras in a camera tracking bar in the camera tracking system component 6′ which houses the computer platform 910. The computer platform 910 can include the tracking subsystem 830, the navigation controller 828, and the XR headset controller 1430 as was earlier shown in FIG. 12.
Referring to the surgical system of FIG. 14, a surgeon and an assistant are both wearing XR headsets HMD1 920 and HMD2 920, respectively, each if which includes tracking cameras that may be configured as shown in FIG. 11. It is optional for the assistant to wear the XR headset HMD2 920.
The combination of XR headsets HMD1 920 and HMD2 920 and the tracking cameras 46 on the auxiliary tracking bar can, in operation with the computer platform 910, more robustly track the example objects of a patient reference array (R), robotic end effector (E), and surgical tool (T) or instrument. The overlapping views from different perspectives that are provided by the XR headsets HMD1 920 and HMD2 920 and the tracking cameras 46 on the auxiliary tracking bar are shown in FIG. 10.
Each of the items labeled in FIG. 14 represent a unique coordinate system. Descriptions of the coordinate system labels are as follows:
A=visible light coordinate system of second headset HMD2 920;
N3=near infra-red (NIR) coordinate system of second headset HMD2 920;
S=visible light coordinate system of primary headset HMD1 920;
N2=NIR coordinate system of the primary headset HMD1 920;
N=NIR coordinate system of the auxiliary navigation bar 46;
V=visible light coordinate system of the auxiliary navigation bar 46;
R=NIR coordinate system of a patient reference fiducial array 602;
T=NTR coordinate system of a tracked tool 604;
E=NTR coordinate system of a tracked robot end effector on robotic arm 20; and
W=Inertially navigated world coordinate system with stable gravity vector.
The spatial relationships of some of these labeled objects (and by extension, coordinate systems) can be measured and calibrated during the manufacturing process, when the equipment is installed in an operating room, and/or before a surgical procedure is to be performed. In the disclosed system, the following coordinate systems are calibrated: TN2S; TN3A; TNV, where the Italicized term “T” is defined as a six degree-of-freedom (6 DOF) homogeneous transformation between the two indicated coordinates systems. Thus, for example, the term TN2S is a 6 DOF homogeneous transformation between the visible light coordinate system of the primary headset HMD1 920 and the NIR coordinate system of the primary headset HMD1 920.
In one embodiment, the XR headsets HMD1 920 and HMD2 920 have passive visible light fiducials painted or otherwise attached to them (coordinate systems S and A), such as the reference array fiducials 1310 shown in FIG. 11. The tracking cameras are spatially calibrated to these passive fiducials (coordinate systems N2 and N3).
As explained above, the cameras on the XR headset HMD1 920 and HMD2 920 and the tracking cameras 46 on the auxiliary tracking bar have partially overlapping field of views. If one or more of the cameras on the XR headset HMD1 920 are obstructed from viewing a DRA attached to a tracked object, e.g., a tracked tool (T), but the DRA is in view of the cameras of the other XR headset HMD2 920 and/or the tracking cameras 46 on the auxiliary tracking bar, the computer platform 910 can continue to track the DRA seamlessly without loss of navigation. Additionally, if there is partial occlusion of the DRA from the perspective of the cameras on the XR headset HMD1 920, but the entire DRA is visible via cameras of the other XR headset HMD2 920 and/or the tracking cameras 46 on the auxiliary tracking bar, the tracking inputs of the cameras can be merged to continue navigation of the DRA.
More particularly, the various coordinate systems can be chained together by virtue of independent observations the various camera systems provided by the XR headsets HMD1 920 and HMD2 920 and the tracking cameras 46 on the auxiliary tracking bar. For example, each of the XR headsets HMD1 920 and HMD2 920 may require virtual augmentation of the robotic end effector (E). While one XR headset HMD1 920 (N2) and the tracking cameras 46 on the auxiliary tracking bar (N) are able to see (E), perhaps the other XR headset HMD2 920 (N3) cannot. The location of (E) with respect to (N3) can still be computed via one of several different operational methods. Operations according to one embodiment performing chaining of poses from a patient reference (R). If the patient reference (R) is seen by (N3) and either one of (N) or (N2), the pose of (E) with respect to (N3) can be solved directly by either one of the following two equations:

TN3E=TN2ETRN2TN3R—or—TN3E=TNETRNTN3R 

They key to this pose chaining is that the relationship between the frames at the end of each chain are inferred (circled and transported below). The chains can be arbitrarily long and are enabled by having more than one stereo camera system (e.g., N, N2, N3).
The camera tracking system can be configured to receive tracking information related to tracked objects from a first tracking camera (e.g., N3) and a second tracking camera (e.g., N2) during a surgical procedure. The camera tracking system can determine a first pose transform (e.g., TN3R) between a first object (e.g., R) coordinate system and the first tracking camera (e.g., N3) coordinate system based on first object tracking information from the first tracking camera (e.g., N3) which indicates pose of the first object (e.g., R). The camera tracking system can determine a second pose transform (e.g., TRN2) between the first object (e.g., R) coordinate system and the second tracking camera (e.g., N2) coordinate system based on first object tracking information from the second tracking camera (e.g., N2) which indicates pose of the first object (e.g., R). The camera tracking system can determine a third pose transform (e.g., TN2E) between a second object (e.g., E) coordinate system and the second tracking camera (e.g., N2) coordinate system based on second object tracking information from the second tracking camera (e.g., N2) which indicates pose of the second object (e.g., E). The camera tracking system can determine a fourth pose transform (e.g., TN3E) between the second object (e.g., E) coordinate system and the first tracking camera (e.g., N3) coordinate system based on combining the first, second, and third pose transforms.
In some further embodiments, the camera system can further determine pose of the second object (e.g., E) and the first tracking camera system (e.g., N3) coordinate system based on processing the tracking information through the fourth pose transform.
Because of the overlapping field of views of the various camera systems, the camera tracking system is capable of determining the pose of the second object (e.g., E) relative to first tracking camera (e.g., N3) when the first camera is blocked from seeing the second object (e.g., E). For example, in some embodiments the camera tracking system is further configured to determine the fourth pose transform (e.g., TN3E) between the second object (e.g., E) coordinate system and the first tracking camera (e.g., N3) coordinate system without use of any tracking information from the first tracking camera (e.g., N3) indicating pose of the second object (e.g., E).
The camera tracking system may achieve higher tracking accuracy by merging synchronized imagery from multiple camera systems. For example, the camera tracking system can determine pose of the second object (e.g., E) relative to first tracking camera (e.g., N3) by merging synchronized imagery of the second object (e.g., E) from multiple perspectives (first and second tracking cameras), and can use weighting which can be determined based on accuracy specs of the respective cameras. More particularly, the camera tracking system can be further configured to determine the fourth pose transform (e.g., TN3E) between the second object (e.g., E) coordinate system and the first tracking camera (e.g., N3) coordinate system based on second object tracking information from the first tracking camera (e.g., N3) which indicates pose of the second object (e.g., E) and further based on a result of the combining of the first, second, and third pose transforms.
The surgical system may be configured to display on the see-through display screen of an XR headset an XR image having a pose that is determined based on the fourth pose transform. The camera tracking system may be further configured to generate the XR image as a graphical representation of the second object (e.g., E) that is posed on the see-through display screen based on processing through the fourth pose transform the first object tracking information from the first and second tracking cameras and the second object tracking information from the second tracking camera.
As explained above, the camera tracking system can include a navigation controller 828 communicatively connected to the first tracking camera (e.g., N3) and the second tracking camera (e.g., N2) to receive the tracking information and configured to perform the determination of the first, second, third, and fourth pose transforms.
Registration of Surgical Tool Characteristics to a Reference Array Identified by Camera Tracking System
During a surgical procedure, the camera tracking system can simultaneously track the poses of surgical tools which are being held or supported within the field-of-view of a set of tracking cameras, and can resume tracking of a surgical tool when it is moved from outside to inside that field-of-view, e.g., after being picked-up again. Many surgical tools require software configuration to track properly. Because the camera tracking system tracks poses of the reference arrays attached to or on the surgical tools, the camera tracking system should be informed of which surgical tool characteristics are registered to which of the tracked reference arrays. The navigation controller 828 (FIG. 14) can thereby operate with knowledge of the particular characteristics of the surgical tool. For example, registration of surgical tool characteristics of the distance from an identified reference array to a tip of the surgical tool enables the navigation controller 828 to navigate a surgeon's movement of the tool tip during a surgical procedure. Similarly, registration of a direction of curvature of a surgical tool relative to an identified reference array enables the navigation controller 828 to display an accurate graphical representation of the surgical tool through the XR headset 920 and accurately posed relative to a tracked anatomical structure during the surgical procedure.
The registration process is also referred to as a pairing process during which a user holds a surgical tool having a reference array in the field-of-view of the set of tracking cameras for identification of the reference array, and the user then define characteristics of that surgical tool, in accordance with some embodiments. The registration process is repeated for each combination of reference array and surgical tool characteristics that will be tracked during a surgical procedure, and can be further repeated when a reference array is detached from one type of surgical tool and attached to a different type of surgical tool. It can be important to enable a surgeon or other medical personnel wearing an XR headset to be able to time efficiently perform registration processes for a set of surgical tools, to assist the surgeon with avoiding making errors when registering surgical tool characteristics with reference arrays, and to reduce interruption of a surgeon's concentration before and during a surgical procedure.
Some further embodiments of the present disclosure are directed to using an XR headset during a registration process to register an identified reference array to characteristics of a surgical tool, and to display a representation of those characteristics through the XR headset so that a user can verify correctness of the registration. Using the XR headset during the registration process can provide a more intuitive, time efficient and reliable process for surgeons and other medical personnel (users) to register surgical tools with a camera tracking system before and/or during a surgical procedure.
The registration process may be automatically initiated responsive to a reference array being brought into the field-of-view of a set of tracking cameras and the camera tracking system determining that the identified reference array has not yet been registered as being paired with characteristics of a surgical tool.
In an embodiment, an XR headset includes a set of tracking cameras which may, for example, be contained in the electronic component enclosure 1304 of the XR headset 920 as shown in FIG. 11. The camera tracking system (e.g., system 6 in FIG. 18) identifies a reference array (e.g., physical reference array 1820 in FIG. 18) which is tracked by the set of tracking cameras, such as by identifying reference array in video streams from the tracking cameras. The reference arrays can be uniquely identified based on the differing orientations between the sets of fiducials forming respective reference arrays. The camera tracking system determines whether the identified reference array is registered as being paired with characteristics of one of a plurality of surgical tools defined in a surgical tool database. Based on the reference array being determined to not be registered and based on receiving user input, the camera tracking system registers the reference array as being paired with characteristics of the surgical tool which is selected among the plurality of surgical tools based on the user input. The camera tracking system then provides a representation of the characteristics to a display device of the XR headset 920 for display to the user.
Thus, a user can initiate registration by raising the surgical tool into the field-of-view of the set of tracking cameras attached to the XR headset 920. When an unregistered reference array comes into the field-of-view of the tracking cameras, the camera tracking system can cause a visual prompt to be displayed through the XR headset 920 which prompts the user to perform registration of the reference array to characteristics of the associated surgical tool. The camera tracking system receives video from the tracking cameras, identifies the reference array based on the spacing and relative, and determines that the identified reference array has not yet been registered as being paired with any defined characteristics of a surgical tool defined in the surgical tool database. The camera tracking system receives user input identifying characteristics of the surgical tool, and registers the reference array as being paired with characteristics of the surgical tool.
Example surgical tool or other surgical instrument characteristics can include, without limitation, structural and/or operational characteristics of a drill, saw, screw driver, retractor, and implant such as a screw, spacer, interbody fusion device, plate, rod, etc.
Camera Tracking System for Generating a Reference Array Template
A reference array used for computer-assisted navigation during surgery, also referred to as navigation array, typically includes three or more markers or other objects that are arranged to form the reference array and which are optically tracked by tracking cameras. The physical pattern in which the markers (or more generally “objects”) are laid needs to correspond to what has been defined in the array's template. In each tracked camera video frame, the detected markers are compared to the array template to determine pose and movement of the array in camera space. The array template must accurately match how the markers are physically laid out on the tracked instrument, otherwise the perceived pose and movement of the instrument in camera space may be inaccurate.
Various embodiments of the present disclosure are directed to generating, which can include transforming or revising, array templates for free-tracked arrays and/or constrained arrays to improve accuracy of computer-assisted navigation during surgery using optical tracking of reference arrays by tracking cameras. Various of the disclosed processes for generating and/or transforming the template of free-tracked arrays use an arithmetic combination of the coordinates of the markers or other objects forming the reference array over a sequence of video frames. The camera tracking system receives streams of video frames from the tracking cameras which image a plurality of physical objects, e.g., disk markers or spheres, arranged as a reference array.
The reference array, also referred to as a dynamic reference base (DRB), is the main tracking array that the camera tracking system uses to monitor pose and movement of the patient and/or surgical instruments, and is the anchor of the coordinate system for navigation. Poses of all other instruments and the robot are determined by their respective reference arrays (e.g., DRB) which can be rigidly registered to pose of patient anatomy. Therefore, it is important that a reference array is accurately tracked in camera space by the camera tracking system.
The camera tracking system can use, as part of a tracking algorithm, a rigid body point matching algorithm such as the Kabsch algorithms to find the best fit of the tracked 3D locations (3D or 6D pose) of markers on a rigid body to an array template defining pose of the markers or other objects arranged as the reference array. The camera tracking system determines where the template has moved in the current tracking frame (e.g., a video frame from a tracking camera) relative to its reference position and orientation (i.e., pose).
One consequence of poor array template accuracy is that the camera tracking system may fail to match the tracked markers (or other objects) of the reference array in the point matching algorithm to determine coordinates of the tracked markers in the video frames, because the detected markers are outside the algorithm's rigid body tolerance. When the algorithm fails to find a match, tracking ceases and the behavior observed is that the navigation system no longer tracks pose of the patient or any tool or other instrument associated with the tracked array. If the array template match is just on the edge of tolerance, the noise from video frame to video frame may allow the point match tolerance to be met on some video frames but not others, causing the graphics representing the navigated tool or other instrument, which are displayed on a display device (e.g., XR headset 920 and/or display 34) to visibly flicker on and off.
When matching 3D coordinates from points on an array template to the tracked markers of a reference array in the video frames, another consequence of poor agreement of determine locations (coordinates) of tracked markers with what is defined by the array template is increased sensitivity of tracking error to tracking camera angle. The reason for this behavior can be explained as follows. At one tracking camera angle, the point match algorithm looks for the best match the poorly fitted template to the perceived marker locations (coordinates), which may be off in one direction by a few millimeters. Then, in a second tracking camera perspective, the perceived locations (coordinates) of the markers are slightly different due to tracking errors, and now the match of an array template to perceived location (coordinates) may be off in a different direction by a few millimeters. Moving the tracking camera from the first perspective to the second perspective then could cause the perceived array location to swing by the sum of the offsets, making the tool or reference array appear to jump by a larger distance than expected. Conversely, if the array template had more accurately matched the physical marker locations (coordinates), perceived marker locations (coordinates) would have been fitted to an array template that was more “central” to all the determine marker locations (coordinates) in the video frames, and so moving the tracking camera from the first perspective to the second perspective would cause less of a perceived movement.
In a further example of the effect of tracking camera angle on sensitivity of tracking error, consider a triangular reference array that perfectly matches its array template on two vertices, but the third vertex is farther away on the array template than on the physical reference array. FIG. 15a illustrates a top view of a triangular tracked array template and corresponding tracked points from markers (or other objects) of a reference array. In a video frame, the two well-matching vertices (1) and (2) may directly overlap when transformed to the array template coordinate system, but there is a “lever arm” on the fitted third vertex (3) such that perceived movements of the third tracked marker (3) would result in a lever-multiplied motion of the third template vertex (FIG. 15B). Extrapolating this concept to a greater number of tracking markers with different fit tolerances to the array template, it can be understood that sensitivity could vary in different directions of motion and depending on which subset of tracking markers fit the array template closest.
FIG. 15a illustrates a top view of a tracked object array template and corresponding tracked points from markers of a reference array. The tracked object array template and corresponding tracked points from markers are in arbitrary coordinate systems to show spacing. In this example, the spacing of tracked markers 1 and 2 closely matches the spacing of array template markers 1 and 2, but array template marker 3 is about 40% farther from markers 1 and 2 than tracked marker 3 is from tracked points 1 and 2.
FIG. 15b illustrates a side view of the markers of the reference array of FIG. 15a when moved from Position I to Position F and with a best-fit array template overlaid and following tracked movement. The illustrated downward motion of tracked marker 3 leads to movement of array template marker 3 that is about 40% greater. Consequently, FIGS. 15a and 15b show how poor template fit can cause high error sensitivity in a tracked rigid body.
Various embodiments of the present disclosure are directed to operations for generating, which can include transforming or revising, the array template to improve tracking accuracy by the camera tracking system. The array template generation process may be initiated by the user or may be initiated responsive to a template generation rule being satisfied, which may correspond to occurrence of at least a threshold level of reference array tracking error. In some embodiments the operations use an algorithm that temporarily unloads or ignores the array template during a test period and tracks coordinates of individual markers in a sequence of video frames during this period. After a sufficient number of coordinates of the individual markers have been determined, a new array template is generated and the algorithm loads the new array template and resumes tracking of the reference array.
Some embodiments of operations for generating tracking templates are discussed in the context of two different types of arrays: a “free-tracked” array and a “constrained array.” Operations for use with a free-tracked array are initially discussed with reference to FIGS. 16, 17, and 21 in accordance with some embodiments. Subsequently, operations for use with a constrained array are discussed with reference to FIGS. 18, 19, 20a-20b, and 21 in accordance with some other embodiments.
A free-tracked array is one that is not associated with any particular virtual or real point in space. Arrays of this type, such as the reference arrays (also called DRBs), are used for registration of a tracking coordinate system to an anatomical coordinate system, such as registering the stereo photogrammetric tracking camera coordinate system to the CT volume's coordinate system. During and after registration, the free-tracked array provides an anchor for the tracking camera coordinate system. No particular predefined point on the reference array needs to be associated with any particular point in either the camera coordinate system or the image coordinate system, so the relationship or transformation of coordinates from tracking camera coordinate system to image coordinate system is established at the time of registration.
Conversely, a constrained array does have physical points that are associated with particular points on the tool or other instrument or object to which they are rigidly mounted. A navigated tool, for example, is typically set up so that the tool's tip and shaft both lie on the Z-axis of the coordinate system of the physical array. That is, in the coordinate system of the array, moving to the point (0,0,0) moves exactly to the point where the tool's tip is located; moving to the point (0,0,Ztail) moves exactly to a point on the shaft where the tool's tail end is located.
Operations that can be performed by at least one processor of a camera tracking system to generate a free-tracked or constrained reference array template based on a collection of marker coordinates, will now be described in the context of the flowchart of FIG. 21 illustrates a flowchart of operations in accordance with some embodiments of the present disclosure.
Referring to FIG. 21, the operations include receiving 2100 streams of video frames from tracking cameras which image a plurality of physical objects (e.g., disk markers, spheres, or other optically trackable objects) arranged as a reference array. For each of the physical objects which is imaged in a sequence of the video frames, operations determine 2102 a set of coordinates for the physical object over the sequence of the video frames. Explaining by way of example for a reference array have N physical objects (e.g., N markers, N discs, or N spherical fiducials): a first set of coordinates can be determined for where a first one of the physical objects is positioned in a series of the video frames; a second set of coordinates can be determined for where a second one of the physical objects is positioned in the same video frames of the series; and so on with an Nth set of coordinates being determined for where an Nth one of the physical objects is positioned in the same video frames of the series. For each of the physical objects, operations generate 2104 an arithmetic combination of the set of coordinates for the physical object. In terms of the continuing example: a first arithmetic combination (e.g., average) is generated for the first set of coordinates for the first one of the physical objects; a second arithmetic combination (e.g., average) is generated for the second set of coordinates for the second one of the physical objects; and so on with an Nth arithmetic combination (e.g., average) being generated for the Nth set of coordinates for the Nth one of the physical objects. Operations generate 2106 an array template identifying coordinates of the physical objects based on the arithmetic combinations of the sets of coordinates for the physical objects. In terms of the continuing example, the array template can identify the coordinates of the N physical objects by a set containing the first arithmetic combination for the first physical object, the second arithmetic combination for the second physical object, and so on the Nth arithmetic combination for the Nth physical object. Operations may further track 2108 pose of the physical objects of the reference array over time based on comparison of the array template to the reference array imaged in the streams of video frames. Further implementation of these operations and other related operations for generating an array template will next be described in the context of using a free-tracked array and then described in the context of using a constrained array.
Operations for Generating a Reference Array Template for Free-Tracked Array
There are different considerations for generating an array template depending on whether the tool or other instrument is free-tracked or constrained. For a free-tracked tool, since offset to a fixed point is not needed, one embodiment for generating the array is a simple point collection as described in the context of FIG. 16. FIG. 16 illustrates a flowchart of operations performed by the camera tracking system for generating a free-tracked reference array template based in a static collection of marker coordinates in accordance with some embodiments of the present disclosure. In this embodiment, discrepancies in fit between tracked markers of the reference array and the array template caused by factors such as incorrectly pressing tracking markers onto their posts, bent arrays, or poorly manufactured markers can be overcome, at least from the tracking camera perspective used for the collection.
The operations of FIG. 16 generate, which can include transforming or revising, a free-tracked array template by taking a static collection of coordinates of the markers or other objects arranged as the reference array. It is assumed that the tracking cameras and reference array do not move so that the arithmetic combination, which can be an average, provides a robust and accurate array template. The operations position the array configure tracking systematic tracking cameras can collect video frames of individual markers, or other physical objects, of the tracking array and determine 1600 coordinates of each of the markers. Sorting of coordinates of the markers performed in operational step 1602 is used to ensure that frames do not have markers transitioning between columns, which could corrupt or degrade accuracy of the computed average. A determination 1604 is made as to whether “enough frames” have been collected and used to determine sets of coordinates of the tracking array markers, where the determination can be dependent on system noise and can be determined as the count at which the standard deviation of the coordinates determined for one or more of the markers over a series of video frames drops below some threshold and/or the count can be determined experimentally. When enough video frames have been determined, the set of coordinates for each of the markers are arithmetically combined 1606, e.g., averaged, which may be done in an arbitrary coordinate system, and which may correspond to the general operation 2104 of FIG. 21.
In some further embodiments, the physical objects are circular fiducials (disks) which are spaced apart in an arrangement that identifies the reference array, and the at least one processor of the camera tracking system is further operative to select a nominal array template from among a set of initial array templates stored in memory of the camera tracking system based on coordinates of the circular fiducials of the reference array determined in the video frames of the streams from the tracking cameras, and to generate 2106 the array template based on comparison of the nominal array template to the arithmetic combinations of the sets of coordinates for the physical objects. For example, the array template may be generated by adjusting coordinates of circular fiducials or other objects defined by an initial array template to best fit the arrangement of coordinates for the physical circular fiducials or other physical objects of the reference array (e.g., circular markers) determined from the arithmetic combinations of coordinates determined from the series of video frames.
In some further embodiments, determining the arithmetic combination of the marker coordinates 1606 and/or 2104 can include the at least one processor of the camera tracking system operating to, for each of the physical objects, generate the arithmetic combination of the set of coordinates for the physical object based on averaging the coordinates of the set for the physical object.
In some further embodiments, the operations by the at least one processor of the camera tracking system can include ceasing generation of the array template (e.g., 1604 and 1606 in FIG. 16 and/or 2106 in FIG. 21) and begin using the array template to track pose (e.g., 2108 in FIG. 21) of the physical objects of the reference array based on when a standard deviation computed from at least one of the averages of the coordinates of the sets for the physical objects satisfies a defined accuracy rule.
In some further embodiments, for each of the physical objects which is imaged in a sequence of the video frames, the operations to determine (1600 and 1602 in FIG. 16, 1704 in FIG. 17, and/or 2102 in FIG. 21) the set of coordinates for the physical object over the sequence of the video frames, include sorting the determined coordinates of the physical object to be included within one of the sets of coordinates based on how similar the determined coordinates of the physical object are to other coordinates of the physical object that are listed in each of the other sets.
Continuing the above example for the reference array have N physical objects (e.g., N markers, N discs, or N spherical fiducials): a determined coordinate of a physical object identified in one of the frames is sorted into one of the set for the first physical object, the set for the second physical object, or so on the set of the Nth physical object based on how similar the determined coordinate of the physical object is to other coordinates that are listed in each of the other sets (e.g., first through Nth sets). For example, when the determined coordinate of the physical object identified in one of the frames is most similar to other coordinates that are listed in the second set, then the determined coordinate is added to the second set. In contrast, when the determined coordinate of the physical object identified in one of the frames is most similar to other coordinates that are listed in the first set, then the determined coordinate is added to the first set.
In another embodiment for free-tracked tools, a moving collection (set) of physical objects (disk markers, spheres, etc.) of a reference array can be processed as illustrated in FIG. 17. FIG. 17 illustrates a flowchart of operations performed by the camera tracking system for redefining a free-tracked reference array template from a dynamic collection of marker coordinates, or other physical object coordinates, in accordance with some embodiments of the present disclosure. This embodiment may overcome various discrepancies that can arise when using the operations of FIG. 16, and additionally generates a new array template that may be more likely to result in a good match to tracked markers from multiple tracking camera perspectives, not just from one tracking camera perspective. Accounting for multiple perspectives allows the tracking cameras to be moved as needed during the surgical procedure while continuing to provide effective computer-assisted navigation through tracking pose and movement of the reference array. One of the multiple perspectives of tracking cameras can include using tracking cameras that are head-mounted, such as the tracking cameras 1440 of the XR headset 920 (shown in FIGS. 12 and 13).
In FIG. 17, the operations use an algorithm for redefining a free-tracked array template by taking a dynamic collection of marker coordinates. Each frame is transformed by a best fit to a reference pose by Kabsch algorithm or similar algorithmic operations. All transformed frames are then averaged or mathematically combined in another manner to generate a new array template.
More particularly, the reference array is positioned within view of the tracking cameras, and the one or more processors of the camera tracking system are operative to dynamically track pose and movement of the reference array. The operations determine 1700 coordinates of individual markers of the reference array in a series of video frames from the tracking cameras. With the tracking cameras in a static position, the operations establish 1702 a reference snapshot for sorting and frame wise transformation. The operations collect 1704 a frame of sorted marker coordinates, transform 1706 the coordinates of the sordid markers to a best fit to the reference snapshot, and determine 1708 whether or not frames of coordinates data have been collected for prismatic combining, e.g., averaging. If not enough frames of coordinates data have been collected. The operations of collecting 1704 and transforming 1706 are repeated until the determination 1708 is satisfied. When the determination 1708 is satisfied the operations generate 1710 arithmetic combinations of the marker coordinates, which may be performed in the reference snapshot coordinate system.
Various more general operations that can be performed by the camera tracking system are further described in the context of FIG. 17 (e.g., operations 1702-1710) and 21 in accordance with some embodiments of the present disclosure. For each one of a plurality of different perspectives between the tracking cameras and the reference array, the operations: repeat for each of the physical objects which is imaged in the sequence of the video frames, the determination of a set of coordinates for each of the physical objects over the sequence of the video frames for the one of the perspectives between the tracking cameras and the reference array; and repeat for each of the physical objects, the generation of an arithmetic combination of the set of coordinates for the physical object for the one of the perspectives between the tracking cameras and the reference array. The operations then generate the array template based on the arithmetic combinations of the sets of coordinates of the physical objects which are generated for the plurality of different perspectives between the tracking cameras and the reference array.
In one embodiment, the at least one processor of the camera tracking system is further operative to receive the streams of video frames from a plurality of sets of tracking cameras. The tracking cameras of one of the sets are spaced apart on an auxiliary camera bar and the tracking cameras of another one of the sets are spaced apart on an extended reality headset. The set of tracking cameras on the auxiliary camera bar are spaced apart from the set of tracking cameras on the extended reality headset to provide the plurality of different perspectives. The operations store, in a memory of the camera tracking system, the video frames in the streams received from the set of tracking cameras on the auxiliary camera bar with a time synchronized relationship to the video frames in the streams received from the set of tracking cameras on the extended reality headset. The operations correlate in time the arithmetic combinations of the sets of coordinates of the physical objects which are generated for the plurality of different perspectives between the tracking cameras and the reference array. The operations generate the array template based on combining the correlated in time arithmetic combinations.
Another embodiment is directed to generating reference snapshot (e.g., 1702 in FIG. 17) and then transforming the reference snapshot. For each one of a plurality of different perspectives between the tracking cameras and the reference array: the operations establish a reference snapshot of coordinates of the physical objects determined from at least one video frame of each of the streams from the tracking cameras, wherein the determination of the set of coordinates for the physical object is performed following establishment of the reference snapshot; and for each of the physical objects which is imaged in the sequence of the video frames, the operations transform the determined set of coordinates of the physical object over the sequence of the video frames based on their differences from the coordinates of the physical objects in the reference snapshot.
To ensure that a wide enough array of camera view perspectives is used during the capture, step 1702 in FIG. 17, a filtering algorithm can be used. At any video frame, the filtering algorithm can operate to determine whether the current camera view perspective has already been adequately sampled, and if so, does not fill any more coordinate sets with data from this perspective. Instead, the operations continue sampling until an adequately variable sample of perspectives has been obtained. This algorithm may operate to omit incoming samples and continue to wait for samples from at least a number in N perspectives separated by at least an angular separation, a°, before halting collection and processing. N and a may be selected to provide a range of perspectives representing the range that would occur during a typical surgery and may be determined experimentally.
Accordingly, in a further embodiment, the operations initiate generation of the array template (e.g., the determination 1708 in FIG. 17) responsive to a determination that the arithmetic combinations of the sets of coordinates for the physical objects have been performed for at least a threshold number of different perspectives between the tracking cameras and the reference array having at least a threshold angular offset between the plurality of different perspectives.
Operations may provide a graphical user interface that indicate, e.g. through progress bars, discrete points, or another operation, which perspectives are lacking or have been collected. Accordingly in another further embodiment, the at least one processor of the camera tracking system provides a graphical indication of programmatic progress to register the reference array with the camera tracking system based on how many of determinations of the arithmetic combinations of the sets of coordinates for the physical objects for different perspectives between the tracking cameras and the reference array have been performed relative to the threshold number of different perspectives having at least the threshold angular offset.
For fixed cameras, it is contemplated that the operating room workflow for such a method can be as follows: (1) insert the post on which the reference array (e.g., DRB) is to be mounted by hammering into the patient; (2) pick up the reference array and press on disposable markers such as spheres or disks to the reference array; (3) reveal the reference array to the tracking cameras and slowly wave the reference array around for, e.g. 1 to 5 seconds, moving the reference array through a range of different angles; (4) attach the reference array to its post.
For head-mounted cameras, the same workflow as above could be used, or a slightly modified workflow is contemplated as follows: (1) insert the post on which the reference array is to be mounted by hammering into the patient; (2) pick up the reference array and press on disposable markers such as spheres or disks to the reference array; (3) attach the reference array to its post; (4) user with head-mounted cameras physically walks, bends, or cranes their neck to collect a range of view perspectives of the array.
In another embodiment for redefining the tracking template of a free-tracked tool rather instrument, a robot is used to automatically move into a range of perspectives while collecting tracking data. A potential advantage of these operations is that the robot could be programmed to move through a wide range of perspectives to quickly and efficiently gather the data needed for re-computing the array template without any user intervention.
The accuracy of the redefined reference array template could be further improved via a bundle adjustment algorithm designed to minimize the reprojection errors between observed and predicted image points across all stereo tracking frames. This bundle adjustment approach could make use of marker- and image-specific 2D (pixel space) error estimates automatically generated by a marker centroid finding algorithm as well as 3D point triangulation error estimates. In some embodiments, the bundle adjustment algorithm could be applied to detected points on individual frames before the arithmetic combination, e.g., averaging, step in FIG. 16 or FIG. 17. In other embodiments, the error estimates described above could be used to create a weighted average (replacing the arithmetic average in FIGS. 16 and 17), in which samples with lower error are weighted higher. In another embodiment, the error estimates described above are compared to a threshold, where markers below the threshold are stored for averaging and markers above the threshold are omitted.
As explained above, operations according to various embodiments disclosed herein have primarily been described in the context of free-tracked reference arrays, although some are all of these operations may be used with or constrained reference arrays. For constrained reference arrays which include an optically identifiable feature of the instrument relative to the physical objects of the reference array, the template may not be feasibly generated with sufficient accuracy by a best fit to a sampling of tracked markers without accounting for where the constrained physical or virtual points are located. For example, if one or more physical objects, e.g., disks or spheres, were improperly pressed on their posts on a tracked tool, the offset from the tracking array to the tool shaft could be incorrectly estimated by tracking a static or dynamic collection of stray physical objects and replacing the array template as described in FIG. 16 or FIG. 17.
Some embodiments of operations for redefining the tracking template of a constrained tool while accounting for the constrained points is a swivel operation. For example, the tool is placed within a rigid tube that is either tracked or is known not to allow the tool shaft to translate while rotating. Tracked individual physical objects are then captured in multiple video frames while swiveling the tool within the tube. Then, the axis of rotation of the tool is computed, and in each frame, transformations are applied so that the tracked physical objects are aligned in the same way relative to a tool/array coordinate system where the Z-axis is aligned with this functional axis of rotation.
Operations Relating to a Constrained Array:
Generating (redefining) array templates for constrained reference arrays attached to apparatuses can be significantly more difficult than doing so for free-tracked reference arrays of markers in space (e.g., DRB). A computationally fast and powerful operational process for verifying and generating (re-defining) the templates of constrained arrays to better match actual mechanical locations is now discussed below. These operations may be performed in real-time in the operating room without the need for external fixturing beyond a machine vision stereo camera tracking system.
Although various embodiments are now discussed in the context of constrained tracking arrays, these embodiments can be used for generating templates of free-tracked array. For simplicity, the reference array and instrument or other externally attached body to which the array is constrained are referred to as the “tracked object.” It is noted that for a constrained array to be used with some of the operations disclosed herein, one or more critical datum points must be optically visible to the camera tracking system for tracking.
FIG. 18 illustrates an example reference array having five arranged physical objects 1820 (illustrated as disks) attached to a surgical instrument 1800 (tracked object). The camera tracking system has displayed highlighted boxes 1830 enclosing 2D regions of interest around each of the physical objects 1820 on the reference array and one critical datum point 1850 on the instrument (center of instrument tip) has been highlighted by displayed box 1840, in accordance with some embodiments of the present disclosure. In some embodiments the highlighted boxes 1820 and 1840 may be displayed through an XR headset for observation by a user or the camera tracking system may perform digital image processing based on identification of the 2D regions of interest and recognitions of the physical objects 1820 and datum point 1850 therein without displaying the highlighted boxes. Centroid coordinates of the objects 8120 may be determined based on the techniques for the marker centroid finding algorithm disclosed herein.
A clinical workflow/procedure for automatically verifying the accuracy of a tracked object while generating a more accurate template may include the following operations:

    
    
        1. A reference array constrained to an external instrument or object with critical datum points (i.e., a tracked object) is physically brought within view of the optical tracking cameras of the camera tracking system so that all relevant markers and critical datum points are visible from the perspective of multiple intrinsically and extrinsically calibrated tracking cameras.
        2. The tracked object is moved with respect to the tracking cameras until the system either declares successful completion or failure to converge on a solution of coordinates of the object. Failure could be due to the reference array being attached (constrained) to the
        wrong instrument, failure of the camera system to sufficiently observe the tracked objects, or software problems.
        3. An updated array template including relative datum point locations is generated and then used for tracking objects and/or is used to verify an instrument verification such as to determine if an instrument passes or fails verification due to being deformed, e.g., bent.
    
    


It is noted that the above steps can be repeated at any time during a tracking procedure. The steps can also be trigger automatically based on one or more rules. For example, the template generation process may be triggered if a reference array is tracked for the first time, such as when a reference array is attached (constrained) to an instrument that is new to the camera tracking system.
In some embodiments, background threaded operations will continuously monitor the health of constrained arrays whenever markers and critical datum points are in view. This way whenever high tracking accuracy errors are detected, surgical staff can be alerted to either remove the instrument from service or complete the full 3-step verification and calibration process above. The continuous monitoring of tracked objects in the operating room should improve safety while providing the opportunity for continuous refinements to navigation accuracy via the reduction of tracking errors.
It is noted that no external test fixtures, mechanical divots or secondary reference arrays are needed for the above workflow. Well calibrated tracking cameras, adequate lighting and perhaps 1 to 5 seconds of data collection may be needed. This can speed up instrument verification procedures while reducing cost and improving navigation accuracy.
A process for automatically verifying and generating templates for constrained arrays can include the following operations:

    
    
        1. The reference array is detected in tracking imagery (video frames in streams from the tracking cameras) and a 6 DOF pose is obtained for the pre-existing nominal marker array template, which may be performed in a conventional manner for navigated surgery.
        2. A stored 3D model of the instrument or object associated with the reference array including critical datum point(s) is retrieved from a local memory or remote database. This 3D model can represent the entire tracked object (e.g., reference array and instrument).
        3. Critical regions of interest (ROIs) (e.g., 1830 and 1840 in FIG. 18) are projected around all markers and critical object datum points in each 2D camera image (video frame) using the 6DOF pose and tracker calibration.
        4. All markers (1820 in FIG. 18) and critical datum points (1840 in FIG. 18) are measured as a series of XYZ coordinate points relative to one another using a combination of individual marker and datum point tracking algorithms.
        5. Additional frames are collected and processed in the same predetermined coordinate system for comparison and analysis.
        6. When data collection completes, the system averages the measured point locations (coordinates) and may determine whether the instrument passed or failed verification and/or may generate a new and more accurate array template in the appropriately constrained coordinate system.
    
    


A potentially important operation is the generalized datum point tracker (step 4 in the above process). A general description of the operations for “datum point tracker” can include the following:

    
    
        1. Inputs to the datum point tracker are (a) ROIs of critical datum point(s) (e.g., 1840 in FIG. 18) and the adjacent geometry in each live 2D image (video frame), (b) 3D Computer Aided Design (CAD) models of the tracked object and (c) the 6DOF pose of the tracked object relative to tracking cameras.
        2. The 3D CAD model is rotated to match the perspective of each live camera image and 2D templates are created from the ground truth CAD data for matching
        3. Template matching is performed between the CAD data and the determined coordinates of the tracked objects and critical datum point(s) in the video frames of streams from the tracking cameras. The output of the template matching can be a matching quality metric indicating accuracy of the matching and/or the detected location of the critical datum in the imaging of the video frames.
        4. If significant orientation errors are detected or template matching error is high, steps 2 and 3 can be repeated until estimated accuracy thresholds are met or until a predetermined maximum number of iterations is met. Details of the template matching approach (e.g., outer edges only, all edges, segmented blog) may also be trialed in each iteration of step 3 as different physical datums will perform differently. In some embodiments the database will contain a flag recommending the optimal registration operations.
        5. Final datum locations (coordinates) are determined in pixel space as well as XYZ locations in physical units relative to calibrated tracking cameras are provided to the top-level algorithm. Error estimates can also be determined.
    
    


FIG. 19 illustrates a flowchart of operations performed by the camera tracking system for verifying accuracy and refining an object template for a constrained array in accordance with some embodiments of the present disclosure. Operation 1900 Plex a new tracking frame, i.e., stereo imagery, which can correspond to a pair of time-correlated video frames from a corresponding pair of stereo tracking cameras, e.g., on an auxiliary tracking bar or an XR headset. A 6 DOF pose of the reference array is determined 1902 from the video frames. Ground truth CAD model information is loaded 1904 and registered for the tracked object, e.g., instrument. Operations estimate 1906 visual datum location(s), e.g., coordinates of the instrument tip 1850 in the video frames. A convergence determination 1908 is made as to whether the estimated 1906 visual datum location(s) correspond with sufficient accuracy to the registered ground truth CAD model information defining location of the datum location relative to the reference array. When sufficiently converged, operations transform 1910 coordinates of sorted sets of markers and datum(s) to a bit fit reference frame. A determination 1912 is made as to whether the sets of coordinates satisfied defined rule, e.g., have a statistical relationship that satisfies a defined rule associated with accuracy, and if so the operations 1914 output a newly refined (generated) template and may further output an indication of tracked object accuracy.
More general operations that can be performed to generate (adjust or refine) an array template for a constrained array will be explained.
In some embodiments, the operations determine a six degree of freedom (6DOF) pose of the reference array based on comparison of the coordinates of the physical objects determined in the video frames of the streams to a nominal array template defining coordinates of the physical objects. The operations retrieve from memory a 3D model of an instrument connected to the reference array, where the three dimensional model defines coordinates of an optically identifiable feature of the instrument relative to the physical objects of the reference array. The operations identify regions of interest within the video frames enclosing the physical objects of the reference array and the optically identifiable feature, based on the 6 DOF pose of the reference array and the three dimensional model of the instrument. For the optically identifiable feature and the physical objects which are imaged in the sequence of the video frames, operations determine the sets of coordinates for the optically identifiable feature and the physical objects over the sequence of the video frames based on locations of the regions of interest within the video frames in the sequence. For the optically identifiable feature and the physical objects, the operations generate the arithmetic combinations of the sets of coordinates for the optically identifiable feature and the physical objects. Operations then generate the array template identifying coordinates of the optically identifiable feature and the physical objects based on the arithmetic combinations of the sets of coordinates for the optically identifiable feature and the physical objects. The operations track pose of the optically identifiable feature and the physical objects over time based on comparison of the array template to the reference array imaged in the streams of video frames.
In some further embodiments, the operations generate a set of rotated 3D models of the instrument connected to the reference array, where each of the rotated three dimensional models being generated based on rotation of the three dimensional model retrieved from memory to correspond to different ones of a plurality of perspectives between the tracking cameras and the reference array. The identification of the regions of interest can be repeated for each of the streams of video frames using one of the rotated three dimensional models corresponding to perspective between the tracking camera from which the stream is received.
In some further embodiments, for each of the optically identifiable feature (e.g., 1850 in FIG. 18) and the physical objects (e.g., 1820 in FIG. 18), operations generate the arithmetic combinations of the sets of coordinates for the optically identifiable feature and the physical objects based on averaging the coordinates of the set for the one of the optically identifiable feature and the physical objects. The operations may cease generation of the array template and begin using the array template to track pose of the optically identifiable feature and the physical objects over time based on when a standard deviation computed from at least one of the averages of the coordinates of the sets for the optically identifiable feature and the physical objects satisfies a defined accuracy rule.
In one further embodiment, the operations output an estimate of how accurately the camera tracking system tracks pose of the optically identifiable feature and the reference array.
In another further embodiment, the operations track pose of an instrument attached to the reference array based on the pose of the physical objects of the reference array and a three dimensional model of the instrument connected to the reference array. The operations generate steering information based on comparison of the pose of an instrument relative to a planned pose of the instrument. The steering information indicates where the instrument needs to be moved and angularly oriented to become aligned with the planned pose when performing a surgical procedure.
Some other embodiments are directed to identifying when an instrument (e.g. tool) is bent, when reference array is not properly attached to the instrument, and/or when one or more markers or other objects of the reference array are not properly attached and/or are improperly arranged (e.g., bent structure). Operations may generate a safety notification to a user based on a determination of at least a threshold deviation between the array template identifying coordinates of the physical objects and coordinates of the physical objects that are determined in the video frames.
The potential challenge of performing optical based computer-assisted navigation is that precision calibrated machine vision tracking cameras are usually needed. For example, if a tracking camera is initially calibrated but subsequently operates outside an acceptable range the accuracy of these operations degrades. This potential challenge may be overcome by applying one or more of the operational embodiments disclosed herein which may be performed relatively quickly and computationally efficiently for multiple semi-redundant tracking systems (e.g., XR headset tracking systems and external navigation bars).
It should also be noted that navigation bars with more than the required two cameras (i.e., stereo) can provide additional redundancy that will improve both the safety, accuracy and reliability of the process.
FIGS. 20a and 20b illustrate left and right camera perspectives of the surgical instrument of FIG. 18 with synthetic reprojections of instrument tip edges 2000 prior to iterative 6DOF pose refinement in accordance with some embodiments of the present disclosure. The edges 2000 are shown for clarity and are used for template-based alignment in some embodiments. The XYZ datum point deltas between the original re-projections and the final detected tip location represent the errors being calibrated out and/or being measured for instrument verification.
Some potential benefits provided by some embodiments may include any or more of the following:

    
    
        1. Allows for the dynamic and automatic updating of array templates even when their geometry is constrained by apparatus external to tracking markers (i.e., not just “free-tracked);
        2. Improves the accuracy of depute or assisted navigation techniques for surgery, which improves patient outcomes;
        3. Compensates for mechanical apparatus tolerance issues with not just the tracking marker arrays, but with the instrumentation itself. This allows some out-of-tolerance hardware to be reclaimed and minimizes procedure time;
        4. Allows for an additional level of safety due to continuous verification, even in the absence of an ideal divot or external test apparatus;
        5. Does not require specialized calibration or verification apparatus inside the operating room aside from the machine vision cameras (which will already be in use for optical tracking); and
        6. Can be performed continuously and automatically in the background whenever necessary apparatus happens to come into view of the navigation cameras.

Further Definitions and Embodiments

    
    


In the above-description of various embodiments of present inventive concepts, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of present inventive concepts. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which present inventive concepts belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense expressly so defined herein.
When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements/operations, these elements/operations should not be limited by these terms. These terms are only used to distinguish one element/operation from another element/operation. Thus, a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of present inventive concepts. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.
As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of present inventive concepts may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of inventive concepts. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present inventive concepts. All such variations and modifications are intended to be included herein within the scope of present inventive concepts. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of present inventive concepts. Thus, to the maximum extent allowed by law, the scope of present inventive concepts are to be determined by the broadest permissible interpretation of the present disclosure including the following examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

## Claims

1. A camera tracking system for computer assisted navigation during surgery, comprising:
at least one processor operative to
receive streams of video frames from tracking cameras which image a plurality of physical objects arranged as a reference array,
for each of the physical objects which is imaged in a sequence of the video frames, determine a set of coordinates for the physical object over the sequence of the video frames,
for each of the physical objects, generate an arithmetic combination of the set of coordinates for the physical object,
generate an array template identifying coordinates of the physical objects based on the arithmetic combinations of the sets of coordinates for the physical objects, and
track pose of the physical objects of the reference array over time based on comparison of the array template to the reference array imaged in the streams of video frames,

wherein the at least one processor is further operative to:
for each one of a plurality of different perspectives between the tracking cameras and the reference array,
repeat for each of the physical objects which is imaged in the sequence of the video frames, the determination of a set of coordinates for each of the physical objects over the sequence of the video frames for the one of the perspectives between the tracking cameras and the reference array, and
repeat for each of the physical objects, the generation of an arithmetic combination of the set of coordinates for the physical object for the one of the perspectives between the tracking cameras and the reference array; and
generate the array template based on the arithmetic combinations of the sets of coordinates of the physical objects which are generated for the plurality of different perspectives between the tracking cameras and the reference array

wherein the at least one processor is further operative to receive the streams of video frames from a plurality of sets of tracking cameras;
the tracking cameras of one of the sets are spaced apart on an auxiliary tracking bar and the tracking cameras of another one of the sets are spaced apart on an extended reality headset; and
wherein the set of tracking cameras on the auxiliary tracking bar are spaced apart from the set of tracking cameras on the extended reality headset to provide the plurality of different perspectives
wherein the extended reality headset includes a plurality of cameras, a microphone, a gesture sensor, a pose, a display module containing the display device, and a wireless/wired communication interface,
wherein the plurality of cameras are configured to operate as the gesture sensor by capturing for identification of user hand gestures performed within the field of view of the camera.

2. The camera tracking system of claim 1, wherein the physical objects are circular fiducials spaced apart in an arrangement that identifies the reference array, and the at least one processor is further operative to:
select a nominal array template from among a set of initial array templates stored in memory of the camera tracking system based on coordinates of the circular fiducials of the reference array determined in the video frames of the streams from the tracking cameras; and
generate the array template based on comparison of the nominal array template to the arithmetic combinations of the sets of coordinates for the physical objects.

3. The camera tracking system of claim 1, wherein the at least one processor is further operative to:
for each of the physical objects, generate the arithmetic combination of the set of coordinates for the physical object based on averaging the coordinates of the set for the physical object.

4. The camera tracking system of claim 3, wherein the at least one processor is further operative to:
cease generation of the array template and begin using the array template to track pose of the physical objects of the reference array based on when a standard deviation computed from at least one of the averages of the coordinates of the sets for the physical objects satisfies a defined accuracy rule.

5. The camera tracking system of claim 1, wherein for each of the physical objects which is imaged in a sequence of the video frames, the determination of the set of coordinates for the physical object over the sequence of the video frames comprises sorting the determined coordinates of the physical object to be included within one of the sets of coordinates based on how similar the determined coordinates of the physical object are to other coordinates of the physical object that are listed in each of the other sets.

6. The camera tracking system of claim 1, wherein the at least one processor is further operative to:
store, in a memory of the camera tracking system, the video frames in the streams received from the set of tracking cameras on the auxiliary tracking bar with a time synchronized relationship to the video frames in the streams received from the set of tracking cameras on the extended reality headset;
correlate in time the arithmetic combinations of the sets of coordinates of the physical objects which are generated for the plurality of different perspectives between the tracking cameras and the reference array; and
generate the array template based on combining the correlated in time arithmetic combinations.

7. The camera tracking system of claim 1, wherein the at least one processor is further operative to:
for each one of a plurality of different perspectives between the tracking cameras and the reference array,
establish a reference snapshot of coordinates of the physical objects determined from at least one video frame of each of the streams from the tracking cameras, wherein the determination of the set of coordinates for the physical object is performed following establishment of the reference snapshot; and
for each of the physical objects which is imaged in the sequence of the video frames, transform the determined set of coordinates of the physical object over the sequence of the video frames based on their differences from the coordinates of the physical objects in the reference snapshot.

8. The camera tracking system of claim 7, wherein the at least one processor is further operative to:
initiate generation of the array template responsive to a determination that the arithmetic combinations of the sets of coordinates for the physical objects have been performed for at least a threshold number of different perspectives between the tracking cameras and the reference array having at least a threshold angular offset between the plurality of different perspectives.

9. The camera tracking system of claim 8, wherein the at least one processor is further operative to:
provide a graphical indication of programmatic progress to register the reference array with the camera tracking system based on how many of determinations of the arithmetic combinations of the sets of coordinates for the physical objects for different perspectives between the tracking cameras and the reference array have been performed relative to the threshold number of different perspectives having at least the threshold angular offset.

10. The camera tracking system of claim 1, wherein the at least one processor is further operative to:
determine a six degree of freedom pose of the reference array based on comparison of the coordinates of the physical objects determined in the video frames of the streams to a nominal array template defining coordinates of the physical objects;
retrieve from memory a three dimensional model of an instrument connected to the reference array, the three dimensional model defining coordinates of an optically identifiable feature of the instrument relative to the physical objects of the reference array;
identify regions of interest within the video frames enclosing the physical objects of the reference array and the optically identifiable feature, based on the six degree of freedom pose of the reference array and the three dimensional model of the instrument;
for the optically identifiable feature and the physical objects which are imaged in the sequence of the video frames, determine the sets of coordinates for the optically identifiable feature and the physical objects over the sequence of the video frames based on locations of the regions of interest within the video frames in the sequence;
for the optically identifiable feature and the physical objects, generate the arithmetic combinations of the sets of coordinates for the optically identifiable feature and the physical objects;
generate the array template identifying coordinates of the optically identifiable feature and the physical objects based on the arithmetic combinations of the sets of coordinates for the optically identifiable feature and the physical objects; and
track pose of the optically identifiable feature and the physical objects over time based on comparison of the array template to the reference array imaged in the streams of video frames.

11. The camera tracking system of claim 10, wherein the at least one processor is further operative to:
generate a set of rotated three dimensional models of the instrument connected to the reference array, each of the rotated three dimensional models being generated based on rotation of the three dimensional model retrieved from memory to correspond to different ones of a plurality of perspectives between the tracking cameras and the reference array,
wherein the identification of the regions of interest is repeated for each of the streams of video frames using one of the rotated three dimensional models corresponding to perspective between the tracking camera from which the stream is received.

12. The camera tracking system of claim 10, wherein the at least one processor is further operative to:
for each of the optically identifiable feature and the physical objects, generate the arithmetic combinations of the sets of coordinates for the optically identifiable feature and the physical objects based on averaging the coordinates of the set for the one of the optically identifiable feature and the physical objects.

13. The camera tracking system of claim 12, wherein the at least one processor is further operative to:
cease generation of the array template and begin using the array template to track pose of the optically identifiable feature and the physical objects over time based on when a standard deviation computed from at least one of the averages of the coordinates of the sets for the optically identifiable feature and the physical objects satisfies a defined accuracy rule.

14. The camera tracking system of claim 10, wherein the at least one processor is further operative to:
output an estimate of how accurately the camera tracking system tracks pose of the optically identifiable feature and the reference array.

15. The camera tracking system of claim 1, wherein the at least one processor is further operative to:
track pose of an instrument attached to the reference array based on the pose of the physical objects of the reference array and a three dimensional model of the instrument connected to the reference array;
generate steering information based on comparison of the pose of an instrument relative to a planned pose of the instrument, wherein the steering information indicates where the instrument needs to be moved and angularly oriented to become aligned with the planned pose when performing a surgical procedure.

16. The camera tracking system of claim 1, wherein the at least one processor is further operative to:
generate a safety notification to a user based on a determination of at least a threshold deviation between the array template identifying coordinates of the physical objects and coordinates of the physical objects that are determined in the video frames.

17. A surgical system comprising:
a camera tracking system including
a camera bar,
first and second tracking cameras attached at spaced apart locations on the camera bar,
at least one processor operative to receive streams of video frames from the first and second tracking cameras which image a plurality of physical objects arranged as a reference array, for each of the physical objects which is imaged in a sequence of the video frames determine a set of coordinates for the physical object over the sequence of the video frames, for each of the physical objects generate an arithmetic combination of the set of coordinates for the physical object, generate an array template identifying coordinates of the physical objects based on the arithmetic combinations of the sets of coordinates for the physical objects, and track pose of the physical objects of the reference array over time based on comparison of the array template to the reference array imaged in the streams of video frames

wherein the at least one processor is further operative to:
for each one of a plurality of different perspectives between the tracking cameras and the reference array,
repeat for each of the physical objects which is imaged in the sequence of the video frames, the determination of a set of coordinates for each of the physical objects over the sequence of the video frames for the one of the perspectives between the tracking cameras and the reference array, and
repeat for each of the physical objects, the generation of an arithmetic combination of the set of coordinates for the physical object for the one of the perspectives between the tracking cameras and the reference array; and
generate the array template based on the arithmetic combinations of the sets of coordinates of the physical objects which are generated for the plurality of different perspectives between the tracking cameras and the reference array

wherein the at least one processor is further operative to receive the streams of video frames from a plurality of sets of tracking cameras;
the tracking cameras of one of the sets are spaced apart on an auxiliary tracking bar and the tracking cameras of another one of the sets are spaced apart on an extended reality headset; and
wherein the set of tracking cameras on the auxiliary tracking bar are spaced apart from the set of tracking cameras on the extended reality headset to provide the plurality of different perspectives
wherein the extended reality headset includes a plurality of cameras, a microphone, a gesture sensor, a pose, a display module containing the display device, and a wireless/wired communication interface,
wherein the plurality of cameras are configured to operate as the gesture sensor by capturing for identification of user hand gestures performed within the field of view of the camera.

18. The surgical system of claim 17, wherein the at least one processor is further operative to:
track pose of an instrument attached to the reference array based on the pose of the physical objects of the reference array and a three dimensional model of the instrument connected to the reference array;
generate steering information based on comparison of the pose of an instrument relative to a planned pose of the instrument, wherein the steering information indicates where the instrument needs to be moved and angularly oriented to become aligned with the planned pose when performing a surgical procedure.