Generic encoder for text and images

A generic encoder trained with image-text pairs and paired with procedure-specific decoders addresses the computational and annotation challenges in medical imaging, enhancing efficiency and accuracy in surgical procedure analysis.

WO2025252777A1PCT designated stage Publication Date: 2025-12-11DIGITAL SURGERY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/065422
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-04
Filing Date
2025-06-04
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

Training separate neural models for different downstream vision tasks in medical imaging is computationally expensive and demands extensive manual annotation, especially due to data scarcity and the need for medical expertise.

Method used

A generic encoder is trained using image-text pairs and paired with procedure-specific decoders for downstream medical vision tasks, reducing the need for extensive fine-tuning by leveraging cross-procedure associations and semantic information.

Benefits of technology

This approach speeds up development time and reduces processing resources while maintaining accuracy in predicting surgical phases and performing tasks like object detection and image segmentation across various surgical procedures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000042_0000
    Figure 00000042_0000
  • Figure 00000043_0000
    Figure 00000043_0000
  • Figure 00000044_0000
    Figure 00000044_0000
Patent Text Reader

Abstract

Aspects as described herein provide a computer-implemented method, system, and computer program product that train a generic encoder for text and images. The generic encoder can be connected to one or more decoders associated with one or more surgical procedures for processing surgical video. The generic encoder can be trained with image data using an image encoder that generates an image encoding of one or more frames of a surgical procedure. The generic encoder can also be trained using a text encoder based on a plurality of prompts generated by a prompt generator in response to text data.
Need to check novelty before this filing date? Find Prior Art

Description

GENERIC ENCODER FOR TEXT AND IMAGESBACKGROUND

[0001] The present disclosure relates in general to computing technology and relates more particularly to computing technology of a generic encoder for text and images.

[0002] Computer-assisted systems, particularly computer-assisted surgery systems (CASs), rely on video data digitally captured during a surgery. Such video data can be stored and / or streamed. In some cases, the video data can be used to augment a person’s physical sensing, perception, and reaction capabilities. For example, such systems can effectively provide the information corresponding to an expanded field of vision, both temporal and spatial, that enables a person to adjust current and future actions based on the part of an environment not included in his or her physical field of view. Alternatively, or in addition, the video data can be stored and / or transmitted for several purposes, such as archival, training, post-surgery analysis, and / or patient consultation.

[0003] Machine learning models can be used to detect various aspects of a surgical procedure and can be trained for specific surgical procedures. Training of machine learning models can be time consuming and processor resource intensive to develop a collection of machine learning models that cover a variety of surgical procedures and specific aspects of the surgical procedures.SUMMARY

[0004] Aspects of the disclosure can include a computer-implemented method that includes training a generic encoder with image data using an image encoder that generates an image encoding of one or more frames of a surgical procedure, providing text data associated with the one or more frames to a prompt generator, and training the generic encoder using a text encoder based on a plurality of prompts generated by the prompt generator in response to the text data. The computer-implemented method can also include maximizing a similarity between image-text pairs while minimizing other image-textrepresentations during training, and connecting the generic encoder to one or more decoders associated with one or more surgical procedures.

[0005] According to another aspect, a system includes a memory device and one or more processors coupled with the memory device. The one or more processors are configured to train a generic encoder with image data using an image encoder that generates an image encoding of one or more frames of the surgical procedure from the video data, provide text data associated with the one or more frames to a prompt generator, and train the generic encoder using a text encoder based on a plurality of prompts generated by the prompt generator in response to the text data. The one or more processors can also be configured to generate a model comprising the generic encoder connected with one or more decoders associated with one or more surgical procedures.

[0006] According to a further aspect, a computer program product includes a memory device with computer readable instructions stored thereon, where executing the computer readable instructions by one or more processing units causes the one or more processing units to perform a plurality of operations. The operations include providing a first video of a first surgical procedure to a generic encoder trained with a combination of text and video from a plurality of surgical procedures, and providing a second video of a second surgical procedure to the generic encoder. The operations can also include decoding a first encoding of the generic encoder based on the first video through a first decoder associated with the first surgical procedure, decoding a second encoding of the generic encoder based on the second video through a second decoder associated with the second surgical procedure, outputting a first recognition sequence of the first surgical procedure based on decoding of the first decoder, and outputting a second recognition sequence of the second surgical procedure based on decoding of the second decoder.

[0007] Additional technical features and benefits are realized through the techniques of the present invention. Aspects of the invention are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, refer to the detailed description and to the drawings.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The specifics of the exclusive rights described herein are particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features and advantages of the aspects of the disclosure are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:

[0009] FIG. 1 depicts a computer-assisted surgery (CAS) system according to one or more aspects;

[0010] FIG. 2 depicts a surgical procedure system according to one or more aspects;

[0011] FIG. 3 depicts a system for analyzing video and data according to one or more aspects;

[0012] FIG. 4 depicts a model according to one or more aspects;

[0013] FIG. 5 depicts a training process for a generic encoder according to one or more aspects;

[0014] FIG. 6 depicts an example of semantic information for different procedures according to one or more aspects;

[0015] FIG. 7 depicts an example of annotations of different procedures according to one or more aspects;

[0016] FIG. 8 depicts an example of applying a generic encoder and procedure specific decoder to surgical procedure data according to one or more aspects;

[0017] FIG. 9 depicts another example of applying a generic encoder and procedure specific decoder to surgical procedure data according to one or more aspects;

[0018] FIG. 10 depicts a further example of applying a generic encoder and procedurespecific decoder to surgical procedure data according to one or more aspects;

[0019] FIG. 11 A depicts a flowchart of a training process for a generic encoder according to one or more aspects;

[0020] FIG. 1 IB depicts a flowchart of an inference process using a generic encoder according to one or more aspects; and

[0021] FIG. 12 depicts a block diagram of a computer system according to one or more aspects.

[0022] The diagrams depicted herein are illustrative. There can be many variations to the diagrams and / or the operations described herein without departing from the spirit of the described aspects. For instance, the actions can be performed in a differing order, or actions can be added, deleted, or modified. Also, the term “coupled” and variations thereof describe having a communications path between two elements and do not imply a direct connection between the elements with no intervening elements / connections between them. All of these variations are considered a part of the specification.DETAILED DESCRIPTION

[0023] Exemplary aspects of the technical solutions described herein include systems and methods of training and using a generic encoder for text and images. In some aspects, the generic encoder can be used for feature extraction of video, for instance, to predict phases of a surgical procedure from surgical video as part of a surgical workflow. Frame feature extraction performed using the generic encoder can include using extracted features for training and / or performing other downstream tasks, such as object detection, key -point tracking, image segmentation (e.g., scene segmentation), surgical analysis, and / or other such tasks. The generic encoder can be paired with multiple types of procedures through expanded training using text prompts paired with images from frames of surgical videos.

[0024] Training separate neural models for different downstream vision tasks is computationally expensive and typically demands different manually annotated labels. This is even more difficult in the context of medical imaging, where there is data scarcity, and medical expertise is typically needed for accurate annotation. According to aspects as further described herein, a generic encoder can be paired with one or more procedure specific decoders for downstream medical vision tasks without extensive training / fine- tuning of the generic encoder for each procedure type.

[0025] In some aspects, tag annotations can be generated that document events and other content associated with a time (e.g., a timestamp) occurring within a video or at a higher level, such as a video segment or a full video. Tag annotations can include semantic information. For instance, with regard to surgical workflow recognition (SWR) annotations, semantic information can include information about a phase, anatomies that may be intervened, or a set of actions that could happen. Moreover, cross-procedure associations can be learned as similar objectives (e.g., specimen retrieval) or actions (e.g., dissection or mobilization) are performed across different procedures, but on different areas / anatomies. Combining these aspects, a surgical video-frame encoder can be trained as part of a vision-language model that can serve as a foundation model for different downstream tasks on surgical procedures. As such, the surgical video-frame encoder can be referred to as a generic encoder. The generic encoder can be trained using image-text pairs and for generic frame encoding that can be paired with one or more specific decoders for targeted surgical procedure types and feature extraction objectives. As a foundation model, the generic encoder can be isolated (e.g., as a private model instance) and trained via fine tuning with specific data for various downstream tasks.

[0026] Turning now to FIG. 1, an example computer-assisted system (CAS) system 100 is generally shown in accordance with one or more aspects. The CAS system 100 includes at least a computing system 102, a video recording system 104, and a surgical instrumentation system 106. As illustrated in FIG. 1, an actor 112 can be medical personnel that uses the CAS system 100 to perform a surgical procedure on a patient 110. Medicalpersonnel can be a surgeon, assistant, nurse, administrator, or any other actor that interacts with the CAS system 100 in a surgical environment. The surgical procedure can be any type of surgery, such as but not limited to cataract surgery, laparoscopic cholecystectomy, endoscopic endonasal transsphenoidal approach (eTSA) to resection of pituitary adenomas, or any other surgical procedure. In other examples, actor 112 can be a technician, an administrator, an engineer, or any other such personnel that interacts with the CAS system 100. For example, actor 112 can record data from the CAS system 100, configure / update one or more attributes of the CAS system 100, review past performance of the CAS system 100, repair the CAS system 100, and / or the like including combinations and / or multiples thereof.

[0027] A surgical procedure can include multiple phases, and each phase can include one or more surgical actions. A “surgical action” can include an incision, a compression, a stapling, a clipping, a suturing, a cauterization, a sealing, or any other such actions performed to complete a phase in the surgical procedure. A “phase” represents a surgical event that is composed of a series of steps (e.g., closure). A “step” refers to the completion of a named surgical objective (e.g., hemostasis). During each step, certain surgical instruments 108 (e.g., forceps) are used to achieve a specific objective by performing one or more surgical actions. In addition, a particular anatomical structure of the patient may be the target of the surgical action(s).

[0028] The video recording system 104 includes one or more cameras 105, such as operating room cameras, endoscopic cameras, and / or the like including combinations and / or multiples thereof. The cameras 105 capture video data of the surgical procedure being performed. The video recording system 104 includes one or more video capture devices that can include cameras 105 placed in the surgical room to capture events surrounding (e.g., outside) the patient being operated upon. The video recording system 104 further includes cameras 105 that are passed inside (e.g., endoscopic cameras) the patient 110 to capture endoscopic data. The endoscopic data provides video and images of the surgical procedure.

[0029] The computing system 102 includes one or more memory devices, one or more processors, a user interface device, among other components. All or a portion of the computing system 102 shown in FIG. 1 can be implemented for example, by all or a portion of computer system 1200 of FIG. 12. Computing system 102 can execute one or more computer-executable instructions. The execution of the instructions facilitates the computing system 102 to perform one or more methods, including those described herein. The computing system 102 can communicate with other computing systems via a wired and / or a wireless network. In one or more examples, the computing system 102 includes one or more trained machine learning models that can detect and / or predict features of / from the surgical procedure that is being performed or has been performed earlier. Features can include structures, such as anatomical structures, surgical instruments 108 in the captured video of the surgical procedure. Features can further include events, such as phases and / or actions in the surgical procedure. Features that are detected can further include the actor 112 and / or patient 110. Based on the detection, the computing system 102, in one or more examples, can provide recommendations for subsequent actions to be taken by the actor 112. Alternatively, or in addition, the computing system 102 can provide one or more reports based on the detections. The detections by the machine learning models can be performed in an autonomous or semi-autonomous manner.

[0030] The machine learning models can include artificial neural networks, such as deep neural networks, convolutional neural networks, recurrent neural networks, vision transformers, encoders, decoders, or any other type of machine learning model. The machine learning models can be trained in a supervised, unsupervised, or hybrid manner. The machine learning models can be trained to perform detection and / or prediction using one or more types of data acquired by the CAS system 100. For example, the machine learning models can use the video data captured via the video recording system 104. Alternatively, or in addition, the machine learning models use the surgical instrumentation data from the surgical instrumentation system 106. In yet other examples, the machine learning models use a combination of video data and surgical instrumentation data.

[0031] Additionally, in some examples, the machine learning models can also use audio data captured during the surgical procedure. The audio data can include sounds emitted by the surgical instrumentation system 106 while activating one or more surgical instruments 108. Alternatively, or in addition, the audio data can include voice commands, snippets, or dialog from one or more actors 112. The audio data can further include sounds made by the surgical instruments 108 during their use.

[0032] In one or more examples, the machine learning models can detect surgical actions, surgical phases, anatomical structures, surgical instruments, and various other features from stored data associated with a surgical procedure. The detection can be performed in real-time in some examples. Alternatively, or in addition, the computing system 102 analyzes the surgical data (e.g., the various types of data captured during the surgical procedure) in an offline manner (e.g., post-surgery). In one or more examples, the machine learning models detect surgical phases based on detecting some of the features, such as the anatomical structure, surgical instruments, and / or the like including combinations and / or multiples thereof.

[0033] A data collection system 150 can be employed to store the surgical data, including the video(s) captured during the surgical procedures. The data collection system 150 includes one or more storage devices 152. The data collection system 150 can be a local storage system, a cloud-based storage system, or a combination thereof. Further, the data collection system 150 can use any type of cloud-based storage architecture, for example, public cloud, private cloud, hybrid cloud, and / or the like including combinations and / or multiples thereof. In some examples, the data collection system can use a distributed storage, such as the storage devices 152 are located at different geographic locations. The storage devices 152 can include any type of electronic data storage media used for recording machine-readable data, such as semiconductor-based, magnetic-based, opticalbased storage media, and / or the like including combinations and / or multiples thereof. For example, the data storage media can include flash-based solid-state drives (SSDs),magnetic-based hard disk drives, magnetic tape, optical discs, and / or the like including combinations and / or multiples thereof.

[0034] In one or more examples, the data collection system 150 can be part of the video recording system 104, or vice-versa. In some examples, the data collection system 150, the video recording system 104, and the computing system 102, can communicate with each other via a communication network, which can be wired, wireless, or a combination thereof. The communication between the systems can include the transfer of data (e.g., video data, instrumentation data, and / or the like including combinations and / or multiples thereof), data manipulation commands (e.g., browse, copy, paste, move, delete, create, compress, and / or the like including combinations and / or multiples thereof), data manipulation results, and / or the like including combinations and / or multiples thereof. In one or more examples, the computing system 102 can manipulate the data already stored / being stored in the data collection system 150 based on outputs from the one or more machine learning models (e.g., phase detection, anatomical structure detection, surgical tool detection, surgical analysis, and / or the like including combinations and / or multiples thereof). Alternatively, or in addition, the computing system 102 can manipulate the data already stored / being stored in the data collection system 150 based on information from the surgical instrumentation system 106.

[0035] In one or more examples, the video captured by the video recording system 104 is stored on the data collection system 150. In some examples, the computing system 102 curates parts of the video data being stored on the data collection system 150. In some examples, the computing system 102 filters the video captured by the video recording system 104 before it is stored on the data collection system 150. Alternatively, or in addition, the computing system 102 filters the video captured by the video recording system 104 after it is stored on the data collection system 150.

[0036] Turning now to FIG. 2, a surgical procedure system 200 is generally shown according to one or more aspects. The example of FIG. 2 depicts a surgical procedure support system 202 that can include or may be coupled to the CAS system 100 of FIG. 1.The surgical procedure support system 202 can acquire image or video data using one or more cameras 204. The surgical procedure support system 202 can also interface with one or more sensors 206 and / or one or more effectors 208. The sensors 206 may be associated with surgical support equipment and / or patient monitoring. The effectors 208 can be robotic components or other equipment controllable through the surgical procedure support system 202. The surgical procedure support system 202 can also interact with one or more user interfaces 210, such as various input and / or output devices. The surgical procedure support system 202 can store, access, and / or update surgical data 214 associated with a training dataset and / or live data as a surgical procedure is being performed on patient 110 of FIG. 1. The surgical procedure support system 202 can store, access, and / or update surgical objectives 216 to assist in training and guidance for one or more surgical procedures. User configurations 218 can track and store user preferences.

[0037] Turning now to FIG. 3, a system 300 for analyzing video and data is generally shown according to one or more aspects. In accordance with aspects, the video and data is captured from video recording system 104 of FIG. 1. The analysis can result in predicting features that include surgical phases and structures (e.g., instruments, anatomical structures, and / or the like including combinations and / or multiples thereof) in the video data using machine learning. System 300 can be the computing system 102 of FIG. 1, or a part thereof in one or more examples. System 300 uses data streams in the surgical data to identify procedural states according to some aspects.

[0038] System 300 includes a data reception system 305 that collects surgical data, including the video data and surgical instrumentation data. The data reception system 305 can include one or more devices (e.g., one or more user devices and / or servers) located within and / or associated with a surgical operating room and / or control center. The data reception system 305 can receive surgical data in real-time, such as, for example, the surgical procedure is being performed. Alternatively, or in addition, the data reception system 305 can receive or access surgical data in an offline manner, for example, by accessing data that is stored in the data collection system 150 of FIG. 1.

[0039] System 300 further includes a machine learning processing system 310 that processes the surgical data using one or more machine learning models to identify one or more features, such as surgical phase, instrument, anatomical structure, and / or the like including combinations and / or multiples thereof, in the surgical data. It will be appreciated that machine learning processing system 310 can include one or more devices (e.g., one or more servers), each of which can be configured to include part or all of one or more of the depicted components of the machine learning processing system 310. In some instances, a part or all of the machine learning processing system 310 is cloud-based and / or remote from an operating room and / or physical location corresponding to a part or all of data reception system 305. It will be appreciated that several components of the machine learning processing system 310 are depicted and described herein. However, the components are just one example structure of the machine learning processing system 310, and that in other examples, the machine learning processing system 310 can be structured using a different combination of the components. Such variations in the combination of the components are encompassed by the technical solutions described herein.

[0040] The machine learning processing system 310 can include a machine learning training system 325, which can be a separate device (e.g., server) that stores its output as one or more trained machine learning models 330. The machine learning models 330 are accessible by a machine learning execution system 340. The machine learning execution system 340 can be separate from the machine learning training system 325 in some examples. In other words, in some aspects, devices that “train” the models are separate from devices that “infer,” (e.g., perform real-time processing of surgical data using the trained machine learning models 330).

[0041] Machine learning processing system 310, in some examples, further includes a data generator 315 to generate simulated surgical data, such as a set of synthetic images and / or synthetic video, in combination with real image and video data from the video recording system 104, to generate trained machine learning models 330. Data generator 315 can access (read / write) a data store 320 to record data, including multiple images and / ormultiple videos. The images and / or videos can include images and / or videos collected during one or more procedures (e.g., one or more surgical procedures). For example, the images and / or video may have been collected by a user device worn by the actor 112 of FIG. 1 (e.g., surgeon, surgical nurse, anesthesiologist, and / or the like including combinations and / or multiples thereof) during the surgery, a non-wearable imaging device located within an operating room, an endoscopic camera inserted inside the patient 110 of FIG. 1, and / or the like including combinations and / or multiples thereof. The data store 320 is separate from the data collection system 150 of FIG. 1 in some examples. In other examples, the data store 320 is part of the data collection system 150.

[0042] Each of the images and / or videos recorded in the data store 320 for performing training (e.g., generating the machine learning models 330) can be defined as a base image and can be associated with other data that characterizes an associated procedure and / or rendering specifications. For example, the other data can identify a type of procedure, a location of a procedure, one or more people involved in performing the procedure, surgical objectives, and / or an outcome of the procedure. Alternatively, or in addition, the other data can indicate a stage of the procedure with which the image or video corresponds, rendering specification with which the image or video corresponds and / or a type of imaging device that captured the image or video (e.g., and / or, if the device is a wearable device, a role of a particular person wearing the device, and / or the like including combinations and / or multiples thereof). Further, the other data can include image-segmentation data that identifies and / or characterizes one or more objects (e.g., tools, anatomical objects, and / or the like including combinations and / or multiples thereof) that are depicted in the image or video. The characterization can indicate the position, orientation, or pose of the object in the image. For example, the characterization can indicate a set of pixels that correspond to the object and / or a state of the object resulting from a past or current user handling. Localization can be performed using a variety of techniques for identifying objects in one or more coordinate systems.

[0043] The machine learning training system 325 uses the recorded data in the data store 320, which can include the simulated surgical data (e.g., set of synthetic images and / or synthetic video) and / or actual surgical data to generate the trained machine learning models 330. The data store 320 can also store tag annotations 316 associated with simulated surgical data and / or actual surgical data. The tag annotations 316 can include a text-based description and association (e.g., a timestamp) with an image / frame, video segment, or full video. The trained machine learning models 330 can be defined based on a type of model and a set of hyperparameters (e.g., defined based on input from a client device). The trained machine learning models 330 can be configured based on a set of parameters that can be dynamically defined based on (e.g., continuous or repeated) training (e.g., learning, parameter tuning). Machine learning training system 325 can use one or more optimization algorithms to define the set of parameters to minimize or maximize one or more loss functions. The set of (learned) parameters can be stored as part of the trained machine learning models 330 using a specific data structure for a particular trained machine learning model of the trained machine learning models 330. The data structure can also include one or more non-learnable variables (e.g., hyperparameters and / or model definitions).

[0044] In aspects, the machine learning training system 325 can use additional text data sources to generate prompts that can provide additional or expanded descriptions beyond that captured by the tag annotations 316. For example, tag annotations 316 may capture a limited set of observations per video or image, such as occurrence of a phase, detection of a tool or anatomical structure, and other such features. This can be supplemented through additional sources of text-based information, such as annotator training data 335 and / or literature data 336. The annotator training data 335 can include decision trees and guidelines intended to train human annotators about how to generate and apply annotations. The literature data 336 can include text that describes surgical procedures, actions, and events, for instance, in a narrative format. The literature data 336 can include information in various formats, such as charts, graphs, images, and tables, that can be interpreted as well. Supplemental information, such as the annotator training data 335 and literature data 336, can provide additional sematic information to extend learning across multipleprocedure types and feature extraction objectives. The machine learning training system 325 can generate text-image pairs to train a generic encoder that blends text information and image / video information as part of the trained machine learning models 330. In some aspects, the trained machine learning models 330 can interface the generic encoder with one or more decoders that are specific to a surgical procedure type or feature extraction objective.

[0045] Machine learning execution system 340 can access the data structure(s) of the trained machine learning models 330 and accordingly configure the trained machine learning models 330 for inference (e.g., prediction, classification, and / or the like including combinations and / or multiples thereof). The trained machine learning models 330 can include, for example, a fully convolutional network adaptation, an adversarial network model, an encoder, a decoder, or other types of machine learning models. The type of the trained machine learning models 330 can be indicated in the corresponding data structures. The trained machine learning models 330 can be configured in accordance with one or more hyperparameters and the set of learned parameters.

[0046] The trained machine learning models 330, during execution, receive, as input, surgical data to be processed and subsequently generate one or more inferences according to the training. For example, the video data captured by the video recording system 104 of FIG. 1 can include data streams (e.g., an array of intensity, depth, and / or red-green-blue (RGB) values) for a single image or for each of a set of frames (e.g., including multiple images or an image with sequencing data) representing a temporal window of fixed or variable length in a video. The video data that is captured by the video recording system 104 can be received by the data reception system 305, which can include one or more devices located within an operating room where the surgical procedure is being performed. Alternatively, the data reception system 305 can include devices that are located remotely, to which the captured video data is streamed live during the performance of the surgical procedure. Alternatively, or in addition, the data reception system 305 accesses the data inan offline manner from the data collection system 150 or from any other data source (e.g., local or remote storage device).

[0047] The data reception system 305 can process the video and / or data received. The processing can include decoding when a video stream is received in an encoded format such that data for a sequence of images can be extracted and processed. The data reception system 305 can also process other types of data included in the input surgical data. For example, the surgical data can include additional data streams, such as audio data, RFID data, textual data, measurements from one or more surgical instrum ents / sensors, and / or the like including combinations and / or multiples thereof, that can represent stimuli / procedural states from the operating room. The data reception system 305 synchronizes the different inputs from the different devices / sensors before inputting them in the machine learning processing system 310.

[0048] The trained machine learning models 330, once trained, can analyze the input surgical data, and in one or more aspects, predict and / or characterize features (e.g., structures) included in the video data included with the surgical data. The video data can include sequential images and / or encoded video data (e.g., using digital video file / stream formats and / or codecs, such as MP4, MOV, AVI, WEBM, AVCHD, OGG, and / or the like including combinations and / or multiples thereof). The prediction and / or characterization of the features can include segmenting the video data or predicting the localization of the structures with a probabilistic heatmap. In some instances, the one or more trained machine learning models 330 include or are associated with a preprocessing or augmentation (e.g., intensity normalization, resizing, cropping, and / or the like including combinations and / or multiples thereof) that is performed prior to segmenting the video data. An output of the one or more trained machine learning models 330 can include image-segmentation or probabilistic heatmap data that indicates which (if any) of a defined set of structures are predicted within the video data, a location and / or position and / or pose of the structure(s) within the video data, and / or state of the structure(s). The location can be a set of coordinates in an image / frame in the video data. For example, the coordinates can providea bounding box. The coordinates can provide boundaries that surround the structure(s) being predicted. The trained machine learning models 330, in one or more examples, are trained to perform higher-level predictions and tracking, such as predicting a phase of a surgical procedure and tracking one or more surgical instruments used in the surgical procedure.

[0049] While some techniques for predicting a surgical phase (“phase”) in the surgical procedure are described herein, it should be understood that any other technique for phase prediction can be used without affecting the aspects of the technical solutions described herein. In some examples, the machine learning processing system 310 includes a detector 350 that uses the trained machine learning models 330 to identify various items or states within the surgical procedure (“procedure”). The detector 350 can use a particular procedural tracking data structure 355 from a list of procedural tracking data structures. The detector 350 can select the procedural tracking data structure 355 based on the type of surgical procedure that is being performed. In one or more examples, the type of surgical procedure can be predetermined or input by actor 112. For instance, the procedural tracking data structure 355 can identify a set of potential phases that can correspond to a part of the specific type of procedure as “phase predictions”, where the detector 350 is a phase detector.

[0050] In some examples, the procedural tracking data structure 355 can be a graph that includes a set of nodes and a set of edges, with each node corresponding to a potential phase. The edges can provide directional connections between nodes that indicate (via the direction) an expected order during which the phases will be encountered throughout an iteration of the procedure. The procedural tracking data structure 355 may include one or more branching nodes that feed to multiple next nodes and / or can include one or more points of divergence and / or convergence between the nodes. In some instances, a phase indicates a procedural action (e.g., surgical action) that is being performed or has been performed and / or indicates a combination of actions that have been performed. In some instances, a phase relates to a biological state of a patient undergoing a surgical procedure.For example, the biological state can indicate a complication (e.g., blood clots, clogged arteries / veins, and / or the like including combinations and / or multiples thereof), precondition (e.g., lesions, polyps, and / or the like including combinations and / or multiples thereof). In some examples, the trained machine learning models 330 are trained to detect an “abnormal condition,” such as hemorrhaging, arrhythmias, blood vessel abnormality, and / or the like including combinations and / or multiples thereof.

[0051] Each node within the procedural tracking data structure 355 can identify one or more characteristics of the phase corresponding to that node. The characteristics can include visual characteristics. In some instances, the node identifies one or more tools that are typically in use or available for use (e.g., on a tool tray) during the phase. The node also identifies one or more roles of people who are typically performing a surgical task, a typical type of movement (e.g., of a hand or tool), and / or the like including combinations and / or multiples thereof. Thus, detector 350 can use the segmented data generated by machine learning execution system 340 that indicates the presence and / or characteristics of particular objects within a field of view to identify an estimated node to which the real image data corresponds. Identification of the node (e.g., phase) can further be based upon previously detected phases for a given procedural iteration and / or other detected input (e.g., verbal audio data that includes person-to-person requests or comments, explicit identifications of a current or past phase, information requests, and / or the like including combinations and / or multiples thereof).

[0052] The detector 350 can output predictions, such as a phase prediction associated with a portion of the video data that is analyzed by the machine learning processing system 310. The phase prediction is associated with the portion of the video data by identifying a start time and an end time of the portion of the video that is analyzed by the machine learning execution system 340. The phase prediction that is output can include segments of the video where each segment corresponds to and includes an identity of a surgical phase as detected by the detector 350 based on the output of the machine learning execution system 340. Further, the phase prediction, in one or more examples, can include additional datadimensions, such as, but not limited to, identities of the structures (e.g., instrument, anatomy, and / or the like including combinations and / or multiples thereof) that are identified by the machine learning execution system 340 in the portion of the video that is analyzed. The phase prediction can also include a confidence score of the prediction. Other examples can include various other types of information in the phase prediction that is output. Further, other types of outputs of the detector 350 can include state information or other information used to generate audio output, visual output, and / or commands. For instance, the output can trigger an alert, an augmented visualization, identify a predicted current condition, identify a predicted future condition, command control of equipment, and / or result in other such data / commands being transmitted to a support system component, e.g., through surgical procedure support system 202 of FIG. 2.

[0053] The above paragraphs discuss phase prediction. It is to be appreciated that aspects of the presently disclosed system and do not require phase prediction, but the aspects could be applied to a range of models and applications. For instance, various downstream tasks can be supported, such as object detection and image segmentation. Further examples include surgical workflow analysis, critical structure identification (e.g., anatomical structures), scene segmentation, and instrument detection (e.g., presence of instrument and / or interaction of instrument with anatomy).

[0054] It should be noted that although some of the drawings depict endoscopic videos being analyzed, the technical solutions described herein can be applied to analyze video and image data captured by cameras that are not endoscopic (e.g., cameras external to the patient’s body) when performing open surgeries (e.g., not laparoscopic surgeries). For example, the video and image data can be captured by cameras that are mounted on one or more personnel in the operating room (e.g., surgeon). Alternatively, or in addition, the cameras can be mounted on surgical instruments, walls, or other locations in the operating room. Alternatively, or in addition, the video can be images captured by other imaging modalities, such as ultrasound.

[0055] FIG. 4 depicts a model 400 according to one or more aspects. In the example, ofFIG. 4, a first procedure dataset 402 can be paired with a first decoder 412, a second procedure dataset 404 can be paired with a second decoder 414, and a third procedure dataset 406 can be paired with a third decoder 416. Rather than training separate encoders specific to each procedure type, a generic encoder 410 can be trained to generate encodings that can be used by the first decoder 412, the second decoder 414, and the third decoder 416. Using the generic encoder 410 can speed development time and reduce processing resources needed to create procedure-type specific encoders for each procedure type. Further details are provided herein. Although only three examples are depicted in FIG. 4, any number of procedure datasets can be used, where training results exhibit an acceptable level of accuracy and performance for desired tasks.

[0056] FIG. 5 depicts a training process 500 for a generic encoder according to one or more aspects, as one example of the generic encoder 410 of FIG. 4. In the training process 500, various sources of text data 502 can be provided to a prompt generator 504 that generates prompts as input to a text encoder 506 to produce text-based encodings 508 for the generic encoder 410. Image data 512, such as frames of a video of a surgical procedure, can be provided to an image encoder 516 to produce image encodings 518 of the frames for the generic encoder 410. The generic encoder 410 can maximize a similarity between imagetext pairs (e.g., video frame and text associations) while minimizing other image-text representations during training. The image encoder 516 can generate concise representations from single video-frames, such as frames from endoscopic or laparoscopic videos. The text encoder 506 can receive prompts generated with frame information associated with frames of the image data 512 and generate feature representations as the text-based encodings 508. Examples of text data 502 can include phase annotations, procedure type, video tags, phase-based frame position, annotation guidelines (e.g., annotator training data 335), tool / anatomy annotations, and other sources of information (e.g., literature data 336). The prompt generator 504 can process available information and provide a description for a given frame in a text format.

[0057] Prompt building by the prompt generator 504 can access databases of surgicalprocedures that can include thousands of videos, millions of frames, and tens of thousands of tag annotations, for example, to build prompts. The tag annotations 316 of FIG. 3 can include various tag types, such as procedure video tags and surgical phase tags. The literature data 336 of FIG. 3 can include data such as main actions and worked or seen anatomies. The literature data 336 can include more detailed medical descriptions than the tag annotations 316. Prompts can be generated using prompt templates that are populated with acquired information. For example, a prompt template can be “a {PHASE} frame from a {PROCEDURE}”, which can be populated as “a hernia reduction frame from a TAPP”. As another example, a prompt template can be “{ACTION} of the {ANATOMY_1 } or {ANAT0MY_2} or ...”, which can be populated as “dissection of the Angle of His or stomach”. As a further example, a prompt template can be a combination of prompts, such as “{Prompt 1 }, {Prompt 2}”.

[0058] In some aspects, the image encoder 516 can be updated during training, and the text encoder 506 can remain fixed. After training, video-frame features can be extracted for a particular dataset, and a temporal decoder can be trained. For example, each of the decoders 412-416 can be trained using generic encoder 410 after the generic encoder 410 has been trained.

[0059] FIG. 6 depicts an example of semantic information for different procedures according to one or more aspects. In the example of FIG. 6, a first set of annotation guidelines 602 can be associated with a first surgical procedure and a second set of annotation guidelines 612 can be associated with a second surgical procedure, for instance, as part of the annotator training data 335 of FIG. 3. The one or more surgical objectives can overlap between the first set of annotation guidelines 602 and the second set of annotation guidelines 612. For instance, as depicted in the example of FIG. 6, a first surgical objective 604 of “Port Insertion” can align with a surgical objective 614 of the second set of annotation guidelines 612. A second surgical objective 606 of the first set of annotation guidelines 602 can include “Diagnostic Laparoscopy” that aligns with a surgical objective 616 of the second set of annotation guidelines 612. The sequencing of surgicalobjectives and partial overlaps between surgical objectives as well as associated annotation instructions can provide cross-procedure semantic information. The occurrence of similar actions and objectives performed for different procedures can expand learning across multiple procedures. For instance, similar phases (e.g., specimen retrieval) or actions (e.g., dissection or mobilization) can be performed on different areas / organs across different procedures.

[0060] FIG. 7 depicts an example of annotations of different procedures according to one or more aspects. Tag annotations 702 can be associated with a first surgical procedure, and tag annotations 712 can be associated with a second surgical procedure. Tag annotations 702, 712 are examples of the tag annotations 316 of FIG. 3. Each of the tag annotations 702, 712 can include a brief description and a timestamp indicating a time, which can be associated with one or more frames of a surgical video. The brief descriptions can include text that may match or be similar to tag annotations 702, 712 across different surgical procedures. For example, colon mobilization 704 can appear in tag annotations 702, and colon mobilization 714 can appear in tag annotations 712. Other similar terminology can also exist and be used to extend learning, such as kidney mobilization 705 in tag annotations 702. Similarities may be identified through partial matches, such as different types of dissections in tag 706 of tag annotations 702 and in tag 716 of tag annotations 712. Further, similar phrases can exist between the tag annotations 702, 712, such as specimen retrieval 708 in tag annotations 702 and specimen extraction 718 in tag annotations 712. Similarities can exist between phase, action, and objective annotations for different procedures. Sequences of the tag annotations 702, 712 can also be used to extract semantic information that can be used to build descriptions for prompt generation.

[0061] In some aspects, a surgical analysis task can include surgical workflow recognition and / or anatomy presence localization. Surgical workflow recognition can include analyzing surgical data, such as video, to split a temporal dimension into non-overlapping segments (e.g., predefined surgical objectives). Anatomy presence localization can include analyzing surgical data, such as video, to predict intervals of time when a given organ isvisible. Training can include generation or procurement of a procedure specific dataset and training a procedure specific encoder and decoder.

[0062] FIG. 8 depicts an example sequence 800 of applying a generic encoder and procedure specific decoder to surgical procedure data according to one or more aspects. As one example, the generic encoder 410 of FIG. 4 was trained for a plurality of surgical procedures, using a first set of prompts associated with phase and procedure, a second set of prompts associated with actions and anatomy, and a combined set of all prompts (e.g., phase, procedure, actions, anatomy). FIG. 8 depicts a visualization of a ground truth sequence 802 and results for first set of prompts associated with phase and procedure 804, second set of prompts associated with actions and anatomy 806, and everything (e.g., all prompts) 808 for a right hemicolectomy. Results for the first set of prompts associated with phase and procedure 804 exhibited an accuracy of about 92.5% and an Fl score of about 87.8%. Results for the second set of prompts associated with actions and anatomy 806 exhibited an accuracy of about 92.1% and an Fl score of about 84.4%. Results for everything 808 exhibited an accuracy of about 93.3% and an Fl score of about 91.6%.

[0063] FIG. 9 depicts another example sequence 900 of applying a generic encoder and procedure specific decoder to surgical procedure data according to one or more aspects. The generic encoder 410 of FIG. 4 was trained as part of the plurality of surgical procedures to include a gastric bypass Roux-en-Y procedure, using a first set of prompts associated with phase and procedure, a second set of prompts associated with actions and anatomy, and a combined set of all prompts (e.g., phase, procedure, actions, anatomy). An example prompt is: “An Omental Division frame from a Roux-en-Y, dissection of the greater omentum or the greater curvature of the stomach”. FIG. 9 depicts a visualization of a ground truth sequence 902 and results for first set of prompts associated with phase and procedure 904, second set of prompts associated with actions and anatomy 906, and everything (e.g., all prompts) 908 for a Roux-en-Y procedure. Results for the first set of prompts associated with phase and procedure 904 exhibited an accuracy of about 93.7% and an Fl score of about 91.0%. Results for the second set of prompts associated withactions and anatomy 906 exhibited an accuracy of about 93.1% and an Fl score of about 90.2%. Results for everything 908 exhibited an accuracy of about 94.0% and an Fl score of about 91.5%.

[0064] FIG. 10 depicts a further example sequence 1000 of applying a generic encoder and procedure specific decoder to surgical procedure data according to one or more aspects. The generic encoder 410 of FIG. 4 was trained as part of the plurality of surgical procedures to include a laparoscopic transabdominal preperitoneal (TAPP) hernia repair procedure, using a first set of prompts associated with phase and procedure, a second set of prompts associated with actions and anatomy, and a combined set of all prompts (e.g., phase, procedure, actions, anatomy). FIG. 10 depicts a visualization of a ground truth sequence 1002 and results for first set of prompts associated with phase and procedure 1004, second set of prompts associated with actions and anatomy 1006, and everything (e.g., all prompts) 1008 for a TAPP. Results for the first set of prompts associated with phase and procedure 1004 exhibited an accuracy of about 89.6% and an Fl score of about 72.7%. Results for the second set of prompts associated with actions and anatomy 1006 exhibited an accuracy of about 88.5% and an Fl score of about 71.1%. Results for everything 1008 exhibited an accuracy of about 92.6% and an Fl score of about 75.9%.

[0065] As another example, for a task of image / video segmentation, critical structure identification can be performed to predict pixel-level areas of an image belonging to a specific anatomy. Training can include use of a procedure specific dataset to train a procedure specific encoder (to extract features) and a segmentation module.

[0066] Another example includes a task of object detection. Instrument (e.g., surgical tool) detection can include analyzing surgical data (e.g., video data) to detect a spatial location of a given instrument throughout a period of time (e.g., a video segment or full video). Training can include use of a procedure specific dataset to train a procedure specific encoder (to extract features) and an object detection module.

[0067] Although specific examples of surgical procedures, prompt types, and results areprovided for FIGS. 8-10, it will be understood that this is merely one set of examples. Many procedure types can be supported. Accuracies and Fl scores can change depending upon training data content, quantity of relevant image-text pairs, prompts, and other such factors.

[0068] Turning now to FIG. 11 A, a flowchart of a method 1100 for a training process for a generic encoder is generally shown in accordance with one or more aspects. All or a portion of method 1100 can be a computer-implemented method that is implemented, for example, by all or a portion of CAS system 100 of FIG. 1 and / or computer system 1200 of FIG. 12. Method 1100 is described in reference to FIGS. 1-10.

[0069] At block 1102, a generic encoder 410 can be trained with image data 512 using an image encoder 516 that generates an image encoding 518 of one or more frames of a surgical procedure. The one or more frames can include multiple types of stored data associated with a surgical procedure. For example, the one or more frames can be a single image or a sequence of images (e.g., a video segment) extracted from a video of the surgical procedure. The one or more frames can be images from a non-video source, such as ultrasound images. Further, the one or more frames can be temporal frames of sensorbased data, such as device data or multi-modal data (e.g., energy usage, kinematics, etc.). Additionally, the one or more frames may include audio data. In some aspects, the one or more frames can refer to data gathered from multiple sources over a same time frame.

[0070] At block 1104, text data 502 associated with the one or more frames can be provided to a prompt generator 504.

[0071] At block 1106, the generic encoder 410 can be trained using a text encoder 506 based on a plurality of prompts generated by the prompt generator 504 in response to the text data 502.

[0072] At block 1108, a similarity between image-text pairs can be maximized while minimizing other image-text representations during training.

[0073] At block 1110, the generic encoder 410 can be connected to one or more decoders 412-416 associated with one or more surgical procedures.

[0074] According to aspects, the text data 502 can include a plurality of tag annotations 316 associated with the video.

[0075] According to aspects, the tag annotations 316 can include a timestamp and a text description.

[0076] According to aspects, the text data 502 can include literature data 336.

[0077] According to aspects, the text data 502 can include annotator training data 335.

[0078] According to aspects, the text data 502 can include one or more of: a plurality of phase annotations, procedure type, video tags, phase-based frame position, annotation guidelines, tool annotations, anatomy annotations, and literature data.

[0079] According to aspects, the image encoder 516 can be updated during training while the text encoder 506 remains fixed.

[0080] According to aspects, training of the one or more decoders 412-416 can be performed after connecting with the generic encoder 410.

[0081] According to aspects, frame features can be extracted from one or more procedure datasets 402-406 using the generic encoder 410. The training of the one or more decoders 412-416 can be performed using the frame features, where the one or more decoders 412- 416 can be temporal decoders.

[0082] The processing shown in FIG. 11 A is not intended to indicate that the operations are to be executed in any particular order or that all of the operations shown in FIG. 11 A are to be included in every case. Additionally, the processing shown in FIG.11 A can include any suitable number of additional operations.

[0083] FIG. 1 IB depicts a flowchart of an inference process using a generic encoder according to one or more aspects. All or a portion of method 1150 of FIG. 1 IB can be a computer-implemented method that is implemented, for example, by all or a portion of CAS system 100 of FIG. 1 and / or computer system 1200 of FIG. 12. Method 1150 is described in reference to FIGS. 1-10.

[0084] At block 1152, a first video of a first surgical procedure can be provided to a generic encoder 410 trained with a combination of text and video from a plurality of surgical procedures.

[0085] At block 1154, a second video of a second surgical procedure can be provided to the generic encoder 410. The first and second videos can be video segments or full procedure videos, for example.

[0086] At block 1156, a first encoding of the generic encoder 410 can be decoded based on the first video through a first decoder 412 associated with the first surgical procedure.

[0087] At block 1158, a second encoding of the generic encoder 410 can be decoded based on the second video through a second decoder 414 associated with the second surgical procedure.

[0088] At block 1160, a first recognition sequence of the first surgical procedure can be output based on decoding of the first decoder 412.

[0089] At block 1162, a second recognition sequence of the second surgical procedure can be output based on decoding of the second decoder 414.

[0090] The steps of method 1150 can be performed in a different sequence and / or may be further subdivided other than as depicted in FIG. 11B. For example, blocks 1152, 1156, and 1160 can be performed as a first subprocess, and blocks 1154, 1158, and 1162 can be performed as a second subprocess. Further, separate instances of the generic encoder 410 can be used for the first subprocess and the second subprocess.

[0091] According to aspects, the first recognition sequence can be a first surgical workflow recognition sequence associated with the first surgical procedure, and the second recognition sequence can be a second surgical workflow recognition sequence associated with the second surgical procedure.

[0092] According to aspects, the first recognition sequence can be critical structure recognition.

[0093] According to aspects, the first recognition sequence can be instrument detection.

[0094] According to aspects, the first recognition sequence can be instrument tracking.

[0095] According to aspects, the first recognition sequence can be scene segmentation.

[0096] According to aspects, the first recognition sequence can be key -point tracking.

[0097] Similarly, the second recognition sequence can be the same type or a different type of recognition sequence as the first recognition sequence.

[0098] The processing shown in FIG. 1 IB is not intended to indicate that the operations are to be executed in any particular order or that all of the operations shown in FIG. 1 IB are to be included in every case. Additionally, the processing shown in FIG.1 IB can include any suitable number of additional operations.

[0099] Turning now to FIG. 12, a computer system 1200 is generally shown in accordance with an aspect. The computer system 1200 can be an electronic computer framework comprising and / or employing any number and combination of computing devices and networks utilizing various communication technologies, as described herein. The computer system 1200 can be easily scalable, extensible, and modular, with the ability to change to different services or reconfigure some features independently of others. The computer system 1200 may be, for example, a server, desktop computer, laptop computer, tablet computer, or smartphone. In some examples, computer system 1200 may be a cloud computing node. Computer system 1200 may be described in thegeneral context of computer-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system 1200 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.

[0100] As shown in FIG. 12, the computer system 1200 has one or more central processing units (CPU(s)) 1201a, 1201b, 1201c, etc. (collectively or generically referred to as processor(s) 1201). The processors 1201 can be a single-core processor, multi-core processor, computing cluster, or any number of other configurations. The processors 1201 can be any type of circuitry capable of executing instructions. The processors 1201, also referred to as processing circuits, are coupled via a system bus 1202 to a system memory 1203 and various other components. The system memory 1203 can include one or more memory devices, such as read-only memory (ROM) 1204 and a random-access memory (RAM) 1205. The ROM 1204 is coupled to the system bus 1202 and may include a basic input / output system (BIOS), which controls certain basic functions of the computer system 1200. The RAM is read-write memory coupled to the system bus 1202 for use by the processors 1201. The system memory 1203 provides temporary memory space for operations of said instructions during operation. The system memory 1203 can include random access memory (RAM), read-only memory, flash memory, or any other suitable memory systems.

[0101] The computer system 1200 comprises an input / output (I / O) adapter 1206 and a communications adapter 1207 coupled to the system bus 1202. The I / O adapter 1206 may be a small computer system interface (SCSI) adapter that communicates with a hard disk 1208 and / or any other similar component. The I / O adapter 1206 and the hard disk 1208 are collectively referred to herein as a mass storage 1210.

[0102] Software 1211 for execution on the computer system 1200 may be stored in the mass storage 1210. The mass storage 1210 is an example of a tangible storage medium readable by the processors 1201, where the software 1211 is stored as instructions for execution by the processors 1201 to cause the computer system 1200 to operate, such as is described hereinbelow with respect to the various Figures. Examples of computer program product and the execution of such instruction is discussed herein in more detail. The communications adapter 1207 interconnects the system bus 1202 with a network 1212, which may be an outside network, enabling the computer system 1200 to communicate with other such systems. In one aspect, a portion of the system memory 1203 and the mass storage 1210 collectively store an operating system, which may be any appropriate operating system to coordinate the functions of the various components shown in FIG. 12.

[0103] Additional input / output devices are shown as connected to the system bus 1202 via a display adapter 1215 and an interface adapter 1216 and. In one aspect, the adapters 1206, 1207, 1215, and 1216 may be connected to one or more I / O buses that are connected to the system bus 1202 via an intermediate bus bridge (not shown). A display 1219 (e.g., a screen or a display monitor) is connected to the system bus 1202 by a display adapter 1215, which may include a graphics controller to improve the performance of graphics-intensive applications and a video controller. A keyboard, a mouse, a touchscreen, one or more buttons, a speaker, etc., can be interconnected to the system bus 1202 via the interface adapter 1216, which may include, for example, a Super I / O chip integrating multiple device adapters into a single integrated circuit. Suitable I / O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI). Thus, as configured in FIG. 12, the computer system 1200 includes processing capability in the form of the processors 1201, and storage capability including the system memory 1203 and the mass storage 1210, input means such as the buttons, touchscreen, and output capability including the speaker 1223 and the display 1219.

[0104] In some aspects, the communications adapter 1207 can transmit data using any suitable interface or protocol, such as the internet small computer system interface, among others. The network 1212 may be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet, among others. An external computing device may connect to the computer system 1200 through the network 1212. In some examples, an external computing device may be an external web server or a cloud computing node.

[0105] It is to be understood that the block diagram of FIG. 12 is not intended to indicate that the computer system 1200 is to include all of the components shown in FIG. 12. Rather, the computer system 1200 can include any appropriate fewer or additional components not illustrated in FIG. 12 (e.g., additional memory components, embedded controllers, modules, additional network interfaces, etc.). Further, the aspects described herein with respect to computer system 1200 may be implemented with any appropriate logic, wherein the logic, as referred to herein, can include any suitable hardware (e.g., a processor, an embedded controller, or an application-specific integrated circuit, among others), software (e.g., an application, among others), firmware, or any suitable combination of hardware, software, and firmware, in various aspects. Various aspects can be combined to include two or more of the aspects described herein.

[0106] Aspects of the disclosure include a computer-implemented method that can include training a generic encoder with image data using an image encoder that generates an image encoding of one or more frames of a surgical procedure, providing text data associated with the one or more frames to a prompt generator, and training the generic encoder using a text encoder based on a plurality of prompts generated by the prompt generator in response to the text data. The computer-implemented method can also include maximizing a similarity between image-text pairs while minimizing other image-text representations during training, and connecting the generic encoder to one or more decoders associated with one or more surgical procedures.

[0107] According to another aspect, a system can include a memory device and one ormore processors coupled with the memory device. The one or more processors can be configured to train a generic encoder with image data using an image encoder that generates an image encoding of one or more frames of the surgical procedure from the video data, provide text data associated with the one or more frames to a prompt generator, and train the generic encoder using a text encoder based on a plurality of prompts generated by the prompt generator in response to the text data. The one or more processors can also be configured to generate a model comprising the generic encoder connected with one or more decoders associated with one or more surgical procedures.

[0108] According to a further aspect, a computer program product can include a memory device with computer readable instructions stored thereon, where executing the computer readable instructions by one or more processing units causes the one or more processing units to perform a plurality of operations. The operations can include providing a first video of a first surgical procedure to a generic encoder trained with a combination of text and video from a plurality of surgical procedures, and providing a second video of a second surgical procedure to the generic encoder. The operations can also include decoding a first encoding of the generic encoder based on the first video through a first decoder associated with the first surgical procedure, decoding a second encoding of the generic encoder based on the second video through a second decoder associated with the second surgical procedure, outputting a first recognition sequence of the first surgical procedure based on decoding of the first decoder, and outputting a second recognition sequence of the second surgical procedure based on decoding of the second decoder.

[0109] Although described in reference to a surgical procedure, aspects can be implemented using data collected from any type of medical procedure. For example, encoding can be performed for diagnostic procedures, patient examinations, preoperative observation and planning, and / or post-operative review.

[0110] Aspects disclosed herein may be a system, a method, and / or a computer program product at any possible technical detail level of integration. The computer program productmay include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to carry out various aspects.

[0111] The computer-readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non- exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device, such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0112] Computer-readable program instructions described herein can be downloaded to respective computing / processing devices from a computer-readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and forwards the computer-readable programinstructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0113] Computer-readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source-code or object code written in any combination of one or more programming languages, including an object-oriented programming language, such as Smalltalk, C++, high-level languages such as Python, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some aspects, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer-readable program instruction by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0114] Aspects are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to aspects of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0115] These computer-readable program instructions may be provided to a processor of a computer system, or other programmable data processing apparatus to produce a machine,such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.

[0116] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer-implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0117] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various aspects. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. 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 involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardware and computer instructions.

[0118] The descriptions of the various aspects have been presented for purposes of illustration but are not intended to be exhaustive or limited to the aspects disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described aspects. The terminology used herein was chosen to best explain the principles of the aspects, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the aspects described herein.

[0119] Various aspects are described herein with reference to the related drawings. Alternative aspects can be devised without departing from the scope of this disclosure. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth between elements in the following description and in the drawings. These connections and / or positional relationships, unless specified otherwise, can be direct or indirect, and the present disclosure is not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.

[0120] The following definitions and abbreviations are to be used for the interpretation of the claims and the specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains,” or “containing,” or any other variation thereof are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.

[0121] Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. The terms “at least one” and “one or more” may be understood to include any integer number greater than or equal to one, i.e., one, two, three, four, etc. The terms “a plurality” may be understood to include any integer number greater than or equal to two, i.e., two, three, four, five, etc. The term “connection” may include both an indirect “connection” and a direct “connection.”

[0122] The terms “about,” “substantially,” “approximately,” and variations thereof are intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” can include a range of ± 8% or 5%, or 2% of a given value.

[0123] For the sake of brevity, conventional techniques related to making and using aspects may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and / or process details.

[0124] It should be understood that various aspects disclosed herein may be combined in different combinations than the combinations specifically presented in the description and accompanying drawings. It should also be understood that, depending on the example, certain acts or events of any of the processes or methods described herein may be performed in a different sequence, may be added, merged, or left out altogether (e.g., all described acts or events may not be necessary to carry out the techniques). In addition, while certain aspects of this disclosure are described as being performed by a single module or unit for purposes of clarity, it should be understood that the techniques of this disclosure may be performed by a combination of units or modules associated with, for example, a medical device.

[0125] In one or more examples, the described techniques may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include non-transitory computer-readable media, which corresponds to a tangible medium, such as data storage media (e.g., RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer).

[0126] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), graphics processing units (GPUs), microprocessors, applicationspecific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor” as used herein may refer to any of the foregoing structure or any other physical structure suitable for implementation of the described techniques. Also, the techniques could be fully implemented in one or more circuits or logic elements.

Claims

CLAIMSWhat is claimed is:

1. A computer-implemented method comprising: training a generic encoder (410) with image data (512) using an image encoder (516) that generates an image encoding of one or more frames of a surgical procedure; providing text data (502) associated with the one or more frames to a prompt generator (504); training the generic encoder (410) using a text encoder (506) based on a plurality of prompts generated by the prompt generator (504) in response to the text data (502); maximizing a similarity between image-text pairs while minimizing other imagetext representations during training; and connecting the generic encoder (410) to one or more decoders associated with one or more surgical procedures.

2. The computer-implemented method of claim 1, wherein the text data (502) comprises a plurality of tag annotations (316, 702, 712) associated with a video of the surgical procedure, optionally wherein the tag annotations (316, 702, 712) comprise a timestamp and a text description.

3. The computer-implemented method of claims 1 or 2, wherein the text data (502) comprises annotator training data (335).

4. The computer-implemented method of any of claims 1 to 3, wherein the image encoder (516) is updated during training while the text encoder (506) remains fixed.

5. The computer-implemented method of any of claims 1 to 4, further comprising:training the one or more decoders after connecting with the generic encoder (410); and optionally, extracting frame features from one or more procedure datasets (402) using the generic encoder ( 10), and performing the training of the one or more decoders using the frame features, wherein the one or more decoders comprise temporal decoders.

6. A system (100, 200, 1200) comprising: a data store comprising stored data associated with a surgical procedure; and a machine learning training system (325) configured to: train a generic encoder (410) with image data (512) using an image encoder(516) that generates an image encoding of one or more frames of the surgical procedure from the stored data; provide text data (502) associated with the one or more frames to a prompt generator (504); train the generic encoder (410) using a text encoder (506) based on a plurality of prompts generated by the prompt generator (504) in response to the text data (502); and generate a model (400) comprising the generic encoder (410) connected with one or more decoders associated with one or more surgical procedures.

7. The system (100, 200, 1200) of claim 6, wherein the machine learning training system (325) is configured to maximize a similarity between image-text pairs while minimizing other image-text representations during training.

8. The system (100, 200, 1200) of claims 6 or 7, wherein the text data (502) comprises one or more of: a plurality of phase annotations, procedure type, video tags, phase-based frame position, annotation guidelines, tool annotations, anatomy annotations, andliterature data (336).

9. The system (100, 200, 1200) of any of claims 6 to 8, wherein the image encoder (516) is updated during training while the text encoder (506) remains fixed.

10. The system (100, 200, 1200) of any of claims 6 to 9, wherein the machine learning training system (325) is configured to train the one or more decoders after connecting with the generic encoder (410).

11. A computer program product comprising a memory device with computer readable instructions stored thereon, wherein executing the computer readable instructions by one or more processing units causes the one or more processing units to perform a plurality of operations comprising: providing a first video of a first surgical procedure to a generic encoder ( 10) trained with a combination of text and video from a plurality of surgical procedures; providing a second video of a second surgical procedure to the generic encoder (410); decoding a first encoding of the generic encoder (410) based on the first video through a first decoder associated with the first surgical procedure; decoding a second encoding of the generic encoder (410) based on the second video through a second decoder associated with the second surgical procedure; outputting a first recognition sequence of the first surgical procedure based on decoding of the first decoder; and outputting a second recognition sequence of the second surgical procedure based on decoding of the second decoder.

12. The computer program product of claim 11, wherein the first recognition sequence comprises a first surgical workflow recognition sequence associated with the first surgicalprocedure, and the second recognition sequence comprises a second surgical workflow recognition sequence associated with the second surgical procedure.

13. The computer program product of claims 11 or 12, wherein the first recognition sequence comprises critical structure recognition.

14. The computer program product of any of claims 11 to 13, wherein the first recognition sequence comprises instrument detection, and optionally wherein the first recognition sequence comprises instrument tracking.

15. The computer program product of any of claims 11 to 14, wherein the first recognition sequence comprises scene segmentation and / or the first recognition sequence comprises key-point tracking.