Spatial-temporal neural architecture search for fast surgical segmentation

WO2025186372A8PCT designated stage Publication Date: 2025-10-02DIGITAL SURGERY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/056109
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-06
Filing Date
2025-03-06
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing computer-assisted surgery systems face challenges in designing spatial-temporal models for surgical segmentation due to the unknown relative importance of temporal and spatial features, leading to increased model size, reduced inference speed, and potential overfitting.

Method used

A Spatial-Temporal Neural Architecture Search (ST-NAS) framework is employed to optimize the balance between spatial and temporal operations, using a differentiable NAS approach to reduce inference time while maintaining high accuracy, by converting the encoder into a supernet with weighted layer outputs and applying an inference time regularizer.

Benefits of technology

The ST-NAS framework achieves a significant inference speedup of 50-154% with a marginal reduction in segmentation performance, optimizing spatial-temporal network design for efficient surgical segmentation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025056109_02102025_PF_FP_ABST
    Figure EP2025056109_02102025_PF_FP_ABST
Patent Text Reader

Abstract

Examples described herein provide a computer-implemented method that includes receiving, by a system that includes at least one processor, video data; executing, by the system, a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; providing, by the spatial-temporal network architecture, a reduced inference time and maintaining a higher accuracy than a predetermined baseline architecture, wherein the architecture includes a temporal encoder configured to process temporal sequences of frames and a temporal decoder configured with a temporal convolutional network (TCN); and converting the temporal encoder into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.
Need to check novelty before this filing date? Find Prior Art

Description

SPATIAL-TEMPORAL NEURAL ARCHITECTURE SEARCH FORFAST SURGICAL SEGMENTATIONCROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims the benefit of U.S. Provisional Patent Application Serial No. 63 / 561,822, filed March 6, 2024, the entire content of which is incorporated herein by reference.BACKGROUND

[0002] The present disclosure relates in general to computing technology and relates more particularly to computing technology for a spatial-temporal neural architecture search (NAS) for fast surgical segmentation.

[0003] 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.SUMMARY

[0004] According to an aspect of the disclosure, a computer-implemented method is provided that includes: receiving, by a system that includes at least one processor, video data; executing, by the system, a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; providing, by the spatial-temporal network architecture, a reduced inference time and maintaining a higher accuracy than a predetermined baseline architectures herein the architecture includes a temporal encoder configured to process temporal sequences offrames and a temporal decoder configured with a temporal convolutional network (TCN); and converting the temporal encoder into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0005] According to another aspect of the disclosure, a system is provided that includes: a data store including video data associated with a surgical procedure; and a machine learning training system configured to: receive video data; and execute a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial -temporal network architecture for semantic segmentation of the video data, wherein the spatial-temporal network architecture is configured to provide a reduced inference time and is configured to maintain a higher accuracy than a predetermined baseline architecture; wherein the system includes: a temporal encoder, configured to process temporal sequences of frames; and a temporal decoder, configured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0006] According to another aspect of the disclosure, a computer program product is provided that including a memory device having computer executable instructions stored thereon, which when executed by one or more processors cause the one or more processors to perform a plurality of operations including: receiving video data; and executing a Spatial- Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; processing temporal sequences of frames by a temporal encoder; and performing decoding by a temporal decoder configured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0007] The above features and advantages, and other features and advantages, of the disclosure are readily apparent from the following detailed description when taken in connection with the accompanying 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 encoders converted to a supemet, where each layer in the stage is weighted and the output becomes the weighted sum of each layer output.

[0013] FIG. 5 depicts ST-NAS searches for the optimal spatial and temporal operations of each layer of a TCN according to one or more aspects;

[0014] FIG. 6A depicts a first graph showing MIOU vs FPS for PN dataset, according to one or more aspects;

[0015] FIG. 6B depicts a second graph showing MIOU vs FPS for CholecSeg8K dataset, according to one or more aspects;

[0016] FIG. 7 depicts images of comparisons between the results of the disclosed method and Swin-T SP-TCN for semantic segmentation of CholecSeg8K images according to one or more aspects;

[0017] FIGS. 8A-8F depict a flowchart of a method of applying spatial -temporal NAS for fast surgical segmentation according to one or more aspects; and

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

[0019] 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

[0020] Exemplary aspects of the technical solutions described herein include systems and methods for a spatial-temporal NAS for fast surgical segmentation.

[0021] Video semantic segmentation requires a combination of spatial and temporal information to maximize per-frame performance and inter-frame temporal consistency. Designing models that learn effective spatial-temporal representations poses two challenges. First, the relative importance of temporal and spatial features given an architecture and a dataset is unknown, requiring human intuition to design the model. Secondly, adding temporal information greatly increases model size, which can negatively affect its inference speed and may lead to overfitting.

[0022] Technical solutions are described herein to address such technical challenges. Particularly, technical solutions herein provide ST-NAS, a Neural Architecture Search (NAS) framework for optimizing the balance between spatial and temporal operations in spatial- temporal models. The disclosed aspects provide a regularizer that promotes faster inference speeds while balancing model performance. Components in the framework can be selectively used when considering the speed-accuracy requirements of the final model. The disclosed aspects apply this framework to a private Partial Nephrectomy dataset and the public CholecSeg8K dataset. The model obtained (i.e., discovered or provided) through ST-NAS is capable of achieving a relatively significant inference speedup (50-154%) with a relatively marginal reduction in segmentation performance (1-5%). The architecture obtained through ST-NAS requires relatively minimal temporal operations; supporting the effectiveness of architecture search in spatial-temporal network design.

[0023] 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. Medical personnel 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.

[0024] 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).

[0025] 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 (i.e., 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.

[0026] 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 800 of FIG. 9. 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.

[0027] 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.

[0028] 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 instruments108. 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.

[0029] In one or more examples, the machine learning models can detect surgical actions, surgical phases, anatomical structures, surgical instruments, and various other features from the 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, i.e., 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.

[0030] 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, i.e., 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, optical-based 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.

[0031] 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, 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.

[0032] 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.

[0033] 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 surgicalobjectives 216 to assist in training and guidance for one or more surgical procedures. User configurations 218 can track and store user preferences.

[0034] 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.

[0035] 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, i.e., as 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.

[0036] 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 otherexamples, 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.

[0037] The machine learning processing system 310 includes 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,” i.e., perform real-time processing of surgical data using the trained machine learning models 330.

[0038] 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 / or multiple 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.

[0039] 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, surgicalobjectives, 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.

[0040] 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 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 (i.e., 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).

[0041] 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 networkmodel, 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.

[0042] 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 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 in an offline manner from the data collection system 150 or from any other data source (e.g., local or remote storage device).

[0043] 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.

[0044] 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 caninclude 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 provide a 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.

[0045] 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.

[0046] 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), pre-condition (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.

[0047] 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 (i.e., 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).

[0048] 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 data dimensions, 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.

[0049] 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.

[0050] 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 (i.e., cameras external to the patient’s body) when performing open surgeries (i.e., 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.

[0051] Automatic segmentation of surgical scenes can be useful for training new surgeons, generating post-operative analytics, and intra-operatively to highlight critical structures and surgical instruments. Semantic segmentation of surgical videos is a key step to developing digital tools for surgeons. For intra-operative use, they must be reliable and work in real time. Model predictions must be temporally stable to pre-vent temporal artefacts which can distract surgeons. Many models have been applied to surgical segmentation. However, when trained without appropriate temporal modelling, predictions can be unstable, resulting in poor temporal consistency and worse performance. While the addition of temporal context can alleviate these problems, it also leads to a significant increase in computational cost and limits its ability to achieve fast inference speeds.

[0052] Designing spatial-temporal (ST) architectures generally relies on hand-crafting and human intuition to determine the optimal balance between spatial and temporal features. Using convolutions with temporal context can allow the architecture to learn spatial-temporal representations but may be computationally expensive and lead to overfitting. Optimizing a design may be challenging as the relative importance of spatial information compared to temporal information may be unknown without careful analysis. Without this knowledge, it may be a challenge to design optimal spatial-temporal architectures while a grid-search over possible connectivity patterns is often computationally intractable.

[0053] Neural Architecture Search (NAS) may be a solution to automate the search for optimal architectures over intractable search spaces in computer vision. Differentiable Neural Architecture Search (DNAS) presents a computationally feasible approach to the problem. For instance, one type of NAS, FBNet, facilitates the problem through a continuous relaxation of the architecture space. According to the aspects, DNAS is used to learn spatial-temporal architectures for video semantic segmentation.

[0054] According to the aspects, Spatial-Temporal NAS (ST-NAS) is utilized, a differentiable NAS framework for spatial-temporal models based on FBNet, which balances both accuracy and inference time when seeking the optimal architecture. ST-NAS can be applied to transformer backbones through an inference time regularizer. The framework of the aspects further provides the use of DNAS for optimizing spatial-temporal convolutions in a temporal decoder. ST-NAS is lightweight and requires less than 10% of the total trainingtime, making it a suitable framework for training video segmentation models.

[0055] Segmentation models applied to surgical data exploit either convolutional or transformer-based architectures as backbones for learning image feature representations. However, video processing is a relatively important aspect of surgical data analysis and temporal modelling may be considered to ensure robustness against occlusions, which can be alleviated through temporal knowledge of object motion. Temporal models have been developed to provide better temporal consistency. A spatial-temporal decoder was presented utilizing a Temporal Convolutional Network (TCN), while a hierarchical transformer employing a space-time shift has also been presented.

[0056] However, both methods depend largely on manual design decisions such as in an applied TCN decoder. Conversely, the aspects enable the learning of the design of the TCN and the balance between spatial and temporal representations, as discussed in greater detail below.

[0057] Various general DNAS methods have been developed to enable an architecture search when applied to dense vision prediction tasks using CNN (convolutional neural network) backbones. On the other hand, NAS has seen limited success when applied to transformer architectures, which are challenging CNNs and may provide relatively better general-purpose backbones for computer vision. For instance, the Swin transformer produces hierarchical representations and relies on a shifted-window scheme that gives linear complexity relative to the image size. However, it may suffer from poor latency at inference (Table 1) and consequently may be a candidate to be optimized through NAS. Regarding the topic of NAS applied to transformers, evolutionary NAS methods have been applied to transformers but are computationally relatively expensive and relatively impractical. AutoFormer searches for an optimal transformer through weight sharing and weight entanglement to reduce the search space, but uses an evolutionary algorithm which yields a relatively high computational cost. NAS-Bert on the other hand may require hundreds of GPU days to be initialized. This makes the use of DNAS and FBNet attractive for developing NAS methods disclosed herein.

[0058] In the context of semantic segmentation from videos, attention has focused largely on static models and there is a paucity of NAS frameworks for tackling spatial-temporalmodels for semantic segmentation, e.g., those which depend on the use of TCNs in decoders. TCNs have been used in temporal models but may suffer from computational overheads, issues with overfitting when applied to static encodings. There have been NAS approaches towards temporal models in action recognition and signal processing. NAS-TC searches for optimal temporal convolutions, but its search space may be limited to changes in spatial feature extraction and temporal operations are handed-crafted, which may limit its ability to generalize. In comparison, the learning framework of the disclosed aspects automatically searches for optimal temporal representations, as discussed below through the depth of the temporal decoder but also the temporal operations.

[0059] The disclosed aspects provide a system (or architecture or model) 1105 (FIG. 4) that executes a Spatial-Temporal Neural Architecture Search (ST-NAS), i.e., a learning scheme configured to search for the optimal spatial-temporal network for semantic segmentation from video data. The system is configured to automatically search for an architecture with reduced inference time that can maintain high accuracy relative to a baseline architecture. The framework of the disclosed aspects is applied to spatio-temporal models with an encoder-decoder architecture.

[0060] The system includes an encoder E( ) 1110 that processes a temporal sequence of RGB frames xt G R3XHXWwhere t indexes the time in a sequence T G {t- w / 2, t + w / 2} with a temporal window w. The encoder processes each frame t sequentially such that ft = E(xt), where ft E RLxHxWis aspatial feature representation and L is the number of feature maps.

[0061] The system includes a temporal decoder D( ) 1140 with TCNs processes the temporal feature batch fr and predicts a segmentation mask st = D(fr ) for time t.

[0062] The aspects provide modifications to the base encoder-decoder architecture. As shown in FIG. 4, according to aspects, the encoder 1110 is converted to a supemet 1120. Each layer in the stage is weighted 1130 and the output becomes a weighted sum of each layer output.

[0063] As discussed below, NAS is utilized for obtaining shallower encoder architectures capable of achieving relatively high inference speeds. A further discussed below, the NASframework is developed for learning the optimal combination of spatial and temporal operations to achieve relatively enhanced segmentation performance.

[0064] The disclosure will now address differentiable NAS (DNAS). The search space of a NAS algorithm defines a set of candidate architectures obtainable (e.g., discoverable) by the algorithm. The search space in DNAS is formed by creating one architecture that represents the entire search space, which is defined as a supemet.

[0065] According to the aspects, a block based layer-wise search space is adopted similar to FBNet, in which the supernet is formed of searchable blocks. Unlike FBNet, all candidate operations according to the aspects are run in parallel rather than single operations being sampled at each step, as in DARTS (Differentiable Architecture Search).

[0066] The output of each candidate operation is weighted by its own architectural weight, a where i indexes the supernet layer and j the operation. This a weights each operation within the supemet. While the supernet is trained, all network parameters are optimized, including all operations within each supernet block and the set of all A=[ a { Rvalues. During training, the supernet learns to increase the a for optimal operations that minimize the loss function and learns to decrease the a for sub-optimal operations. At the end of training, the final proposed architecture is chosen by selecting only the operations with the largest cii = arg maxj(<z ) for each layer i. DNAS consequently searches a combinatorial architecture space in tractable time.

[0067] The disclosure will now address utilizing the encoder NAS for speed. To improve the inference speeds while achieving competitive accuracy, DNAS is applied to the encoder, according to the aspects.

[0068] Typically, DNAS is applied to select the optimal operations, network depth and network width; however, as a goal of the disclosed aspects is to reduce inference time, keep search cost low, and limit search space to find the optimal depth. Limiting the search space can reduce search cost and improve final performance. To find the optimal depth of an encoder composed of sequential blocks, the traditional DNAS is modified, according to the aspects, to form a supemet by taking the original encoder architecture and converting eachblock within it as depicted in FIG. 4. For each i-th block, a weight ai is assigned with the aim of learning the importance of the block. Then, the output of the block is the weighted sum of the layer outputs instead of the output of the final layer. This is similar to the concept of applying skip connections, but with the addition of the architectural weights. This concept, according to the aspects, can potentially be applied to any encoder with a sequential structure of blocks. To formalize this concept, a traditional encoder with sequential blocks can be written as:

[0069] fz = E(x) = ei(e-i(. . . e2(ei(x)) . . .))

[0070] where N is the number of blocks of the encoder.

[0071] According to the aspects, the formula is converted to

[0073] where f is the feature map produced by layer i-th block, and ai is its architectural weight. Note that the temporal component t has been omitted for clarity in the above equation.

[0074] Each layer within a stage uses the outputs of the previous layer, therefore the depth shrinking starts from the last layer and move towards the first. The i-th layer if ai < 1 is removed and the algorithm continues to the i - 1th layer. If the ai > 1 of a layer, the algorithm is stopped, and the remaining architecture is the final encoder architecture. This algorithm is applied to each stage of the encoder.

[0075] When training the supernet encoder in this way, the Q values will naturally increase with depth as subsequent layers will further refine the features and provide more utility. To encourage the supemet to account for the cost of these layers, according to the aspects, an LI regularization term is added to the loss. For each layer, the inference time for that layer is calculated. According to the aspects, the a weights are regularized as the weighted sum of layer inference times. In practice, this encourages obtaining architectures by regularizing proportionally to their inference time cost. Such regularization has been effective in other DNAS methods.

[0077] where L( ) is the loss function, f is the model’s forward pass operation, W are the weights of the model, A is the architecture of the model, x are the input data, y are the ground truth segmentation masks, is a regularization weight, and Si is the inference time for that block. While larger values of X will produce faster architectures but with lower accuracy, smaller values will produce architectures with higher accuracy but slower inference. By weighting with the a, according to the aspects, the regularization is allowed to influence the architecture during DNAS.

[0078] FIG. 5 shows ST-NAS searches for the optimal spatial and temporal operations of each layer 1210 the TCN. Architectural elements shown in FIG. 5 include an undilated 3D Conv 1201A, a dilated 3D Conv 1201B, a dilated 3x3 Conv 1210C, a dilated 5x5 Conv 1201D, a 3x3 depth separated Conv 1201E, a 5x5 depth separated Conv 1201F, a ID 1x1x3 Temporal Conv 1201G, a ID 1x1x5 Temporal Conv 1201H, an Identity 1201 J, a Ixlxl 3D Conv 12011 and a supernet block 1201 J. The figure shows a NAS architecture 1205, an SP- TCN 1210 converted to a TCN-NAS supernet architecture 1220, which is converted to a TCN-NAS final architecture 1230.

[0079] More specifically, to convert to a NAS architecture 1205, the 3D convolutions are replaced with supernet blocks 1201 J. Within each supernet block, candidate operations are applied in parallel their outputs and are combined via weighted sum. According to the aspects, each 3D conv is replaced with two supemet blocks, to allow equivalent spatial-temporal operations. The weighting a is learnt during training. Once the training is complete, the operation with the largest a is kept and the others are discarded. This results in the final architecture 1230.

[0080] The aspects will now address performance of the decoder NAS. The decoder in a spatial-temporal model combines spatial and temporal information, and often this is achieved by 3D convolutions. However, decomposing 3D convolutions into their spatial and temporal convolutions can improve performance and greatly reduce computational cost. In addition, the importance of spatial and temporal information varies from one dataset to another. The aspects modify the decoder and searching for the optimal sequence of spatialand temporal convolutions to apply. Specifically, a simple differentiable NAS approach is applied, according to aspects. That is, the aspects utilize a group set of candidate operations, including spatial and temporal operations: the dilated 2D spatial conv, the depth separated 2D spatial conv, the dilated ID temporal conv and the identity function. The aspects utilize kernel sizes of 3 and 5, bringing the total operations to 3 * 2 + 1 = 7. At each layer I, the aspects apply the candidate operations in parallel and output the weighted of sum of their outputs. This forms a supernet, FIG. 4, as described above, the weighting of each output is based on that operation a . The supemet is trained, according to the aspects, and then operations are trimmed except for those with the highest a weights at each layer. This process results in a decoder that uses 2D spatial and ID temporal convolutions.

[0081] The aspects will now address experiments and results. For example, regarding datasets, the approach disclosed herein was validated with two datasets; a private dataset of image sequences from partial nephrectomy (PN) procedures and the publicly available CholecSeg8K dataset which contains image sequences from cholecystectomy procedures. The PN dataset can include 53,000 images from 137 procedures annotated with segmentation masks for four classes (kidney, liver, renal vein, and renal artery). Short video clips of 15 seconds were annotated at 10 FPS. The images were labelled by trained non-medical experts under the supervision of an anatomy specialist, using annotation guidelines validated by surgeons.Table 1: Results on PN and ChotecSegSK datasets

[0082] The CholecSeg8K dataset consists of 8080 images from 17 videos of the Cholec80 dataset annotated at 25FPS. Images are annotated with segmentation masks containing 13classes, including background, abdominal wall, liver, gastrointestinal tract, fat, grasper, connective tissue, blood, cystic duct, 1-hook electrocautery, gallbladder, hepatic vein and liver ligament (FIG. 7).

[0083] The aspects will now address the utilized metrics. The disclosed model’s inference speed was assessed with Frames Per Second (FPS) and the segmentation accuracy with the Mean Intersection Over Union (mIOU) (FIGS. 6A-6D). FPS was calculated from inference time. FPS = 1 / Ti-in-f Inference time was measured as time to encode one image plus time to decode a full 11 frame encoding window, i.e. the time to process one frame in a real application. The inference time was averaged over 1000 frames.

[0084] The aspects will now address model baselines and obtained models, and the NAS framework that was applied to a spatial-temporal model. The model used Swin-B as the encoder, which is provided as a baseline, according to the aspects. However, as the objective of the disclosed aspects is to accelerate the model, extend from the Swin-T backbone. Swin- T has fewer layers and a smaller embedding dimension than Swin-B.

[0085] The Swin transformer is comprised of four (4) stages. Each stage is converted to make the decoder a supernet as described above. This supernet encoder is trained on the PN dataset for 5 epochs to learn these a values and then find the final model, which is referred to for simplicity as Swin Short. Swin Short stages have depths of 1,2, 3, 2 shortened from the Swin-T’ s 2, 2, 6, 2. The final model is then trained for 25 epochs.

[0086] The relatively expensive 3D convolution applied between the utilized encoder and decoder was removed to reduce the channels. This was referred to as the full channel (FC) modification. Allowing full channels to enter the SP-TCN costs little but saves time on the expensive channel reducing convolution.

[0087] For the decoder, SP-TCN uses dilated 3D convolutions. The SP-TCN was converted to a supernet as described above. This supernet decoder was trained on the PN dataset for 5 epochs to find the final model which for simplicity is referred to as TCNNAS. The obtained architecture is shown in FIG. 5. It uses no temporal convolutions and so the only temporal processing is performed by the initial 3D conv that was not part of the dilated TCN layers and therefore not part of the search.

[0088] The architectures obtained for the encoder and decoder on PN were then applied to CholecSeg8K. This was required as CholecSeg8K is much smaller and the baseline models tended to overfit. ST-NAS introduced more parameters, causing more overfitting and the NAS performed poorly.

[0089] The aspects will now address the experimental setup. Models were trained on VI 00 GPUs using PyTorch 2.0.1. The models were trained with: Batch size 16, learning rate 10-4, time window of 11, cross entropy loss, AdamW optimizer with 10-3 weight decay and 0.9 momentum. Images were resized to width 576, height 320 pixels with 3 color channels. Images were augmented with random {-10,10} degree rotation and horizontal flips .

[0090] The aspects will now address results of the experiment. FIG. 6A is a graph of MIOU 1301 vs FPS 1302 for a PN dataset and FIG. 6B is a graph of MIOU 1301 vs FPS 1032 for a CholecSeg8K dataset. Both graphs show Swin Base + SP-TCN 1310A1, Swin Tiny+ SP- TCN 1310A2, Swin Short + SP-TCNNAS +FC 1310A3, NAS-Unet 1310A4, HR-NAS 1310A5, the effect of Encoder NAS 1310A6, the effect of full channels 1310A7 and the effect of TCNNAS 1310 A8.

[0091] Arrows in FIGS. 6A and 6B indicate the effect of each adaptation step. Effect of Encoder NAS: Change from applying NAS to the encoder of the model. Effect of Full Channels: Change from passing all channels to decoder. Effect of TCNNAS: Change from applying NAS to the TCN-based decoder according to the aspects. NAS-Unet and Swin Base + SP-TCN are shown as comparison baselines. NAS-Unet has a slightly faster FPS, but with a greatly reduced MIOU. Results of the disclosed aspects are shown in Table 1 and FIGS. 6A-6B. Baselines are provided to compare to as versions of PyTorch have altered performance. FIGS. 6A and 6B show the effect of the encoder NAS on the inference speed. A considerable 21% FPS gain is made with a small drop in performance (-1.6% PN, -3% Chol- ecSeg8K). To further develop the FPS, the inference time of layers within the model was analyzed and found a relatively expensive channel reduction between the encoder and decoder. The effect of removing this and using full channels is shown. This is a manual change, specific to the spatial temporal model being utilized according to the aspects, but it gives a 13% increase in FPS, although with a mIOU reduction (-4% PN, -0.2% CholecSeg8K). TCNNAS recovers some lost mIOU (+1.2% PN, +0.7% CholecSeg8K) and further booststhe model FPS (+14%). For PN, an initial improvement to speed and mIOU is given by using Swin-T as the encoder, therefore models obtained by the disclosed aspects are compared to Swin-T. Together, which increased speed 56% and reduced mIOU 4.4% in comparison to Swin-T + SP-TCN.

[0092] The aspects aim to accelerate the network and maintain performance, so that there is little difference between the models.

[0093] Regarding CholecSeg8K, Swin-T baseline performed worse than the Swin-B, therefore it was compared with Swin-B + SP-TCN, according to the aspects. A final method of the aspects provides a 2.54* speedup but with a significant drop in mIOU (4.5%) in comparison to Swin-B. Compared to Swin-T + SP-TCN, the aspects provide a 56% speedup with a 1.5% reduction in mIOU. A better compromise for CholecSeg8K, might be to use FC and TCNNAS with Swin-T encoder, which gets the best performance on CholecSeg8K but is 67% faster than Swin-B + SP-TCN. NAS-Unet had the highest FPS but reached relatively low MiOU of 27.1% and 40.4% on PN and CholecSeg8k respectively, possibly because it’s smaller size and Unet backbone lacked the expressivity required for this task. HR-NAS was similarly unable to achieve high MiOU scores but also suffered from the lowest FPS. Both NAS models were nontemporal but were unable to match the MiOU of the Swin non-temporal models.

[0094] The model according to the aspects was benchmarked against NAS methods and strong baselines such as Swin and SP-TCN. The aspects demonstrated consistently superior performance compared to NAS-Unet and HR-NAS while discovering an architecture more amenable to real-time deployment. NAS-UNet achieves high FPS while significantly underperforming compared to the disclosed method. Similarly, HR-NAS performed poorly compared to the disclosed method and yields an architecture unsuitable for real-time use. When compared to Swin-Tiny and SP-TCN-Tiny, the disclsoed method made a significant improvement in throughput with marginal loss in performance; resulting in an architecture optimized for real-time use.

[0095] FIG. 7 shows images 1410 of comparisons between the results of the disclosed method and Swin-T SP-TCN for semantic segmentation of CholecSeg8K images. The first column 1410A shows the original image. The second column 1410B shows the ground truth. The third column 1410C shows Swin-T and SP-TCH. The fourth column 1410D shows Swin Short and FC-TNNAS, which is the solution obtained from the disclosed aspects. Thefirst row 1420 A is a frame in the sequence and the second row 1420B is a next frame in the sequence. Features illustrated in the image include the background 1430A, the abdomen wall 143 OB, the grasper 1430C, the electro-cautery 1430D, the liver 1430E, fat 143 OF, the gallbladder 1430G, the gastrointestinal tract 143 OH and the hepatic vein 14301.

[0096] As shown in FIG. 7, the slight decrease in MiOU has a minimal effect on the qualitative changes. However the improved FPS of the disclosed model is clear by empirical data, which found that using a causal time window, i.e. without future frames: T G {t - w, t} had no significant effect on results. Training the disclosed final model with a causal TCN increased performance by 0.7% MiOU on CholecSeg8K, illustrating suitability for causal or non-causal applications.

[0097] The disclosed NAS method required less than an hour to search for the correct encoder depth and 1 ,8hrs to search for the optimal decoder operations. These costs were offset by the faster training time of Swin Short. Swin Short trained in 23.5hrs and Swin-T in 26.1hrs. The TCNNAS and SP-TCN both required ~6.9hrs. This means the disclosed method was trained 2hrs (6%) faster than Swin-T + SP-TCN and the NAS search only cost 9.7% of the overall training time.

[0098] From the experiments and related results, ST-NAS was found to be 56% faster by optimizing encoder depth and the balance of spatial to temporal operations in the decoder, with marginal reductions in mIOU of 4.6% on PN. ST-NAS finds a balance between temporal and spatial information for a spatio-temporal model. The experiments revealed that using minimal temporal operations obtains better results, which is counter-intuitive, showing the value of NAS over architecture design lead by human intuition.

[0099] The decoder architecture obtained is shown in FIG. 5. This architecture used several identity functions in its early layers, followed by depth separated and dilated spatial convolutions. No temporal convolutions were used by the TCN-NAS. This means that other than the initial 3x3x3 conv used as the first layer of the TCNNAS, there are no other temporal elements. This shows that lightweight temporal operations may be required for these tasks, saving the use of computationally expensive operations seen in the baseline. However, temporal information is relatively important as non-temporal versions of these models (i.e. Swin-T) performed relatively worse. Thus, designing spatial-temporal models by humanintuition might not be optimal, as the importance of temporal information may be counterintuitive.

[0100] ST-NAS provides a lightweight and efficient training scheme, requiring less than a 10% increase in total training time in comparison to the baseline models. In contrast, existing methods such as AutoFormer required relatively extensive training times of 500 epochs for their respective supernet training. This makes ST-NAS a suitable option for low-re- sources settings that cannot afford to methods such as AutoFormer.

[0101] That models obtained by architecture search with PN data were found to be effectively applied to CholecSeg8K. CholecSeg8K annotations were found to be inconsistent over time, with some annotations varying greatly from frame to frame. This added to the difficulty in training a temporal model on CholecSeg8K.

[0102] DNAS methods can find non-optimal architectures, with lower-parameter operations often being favored due to their converging faster. To mitigate these issues, warm-up epochs, and inference time regularization, was utilized. This was less of a problem where smaller operations were desired for faster inference.

[0103] Thus, the aspects provide ST-NAS, a DNAS algorithm for improving FPS on spatial-temporal models. Models found with the application of the aspects were 56% faster than the baseline with a small 4.6% drop in mIOU. The NAS search according to the disclosed aspects was relatively inexpensive and reduced overall training time for the models.

[0104] Turning now to FIGS. 8A-8F, a flowchart of a method 700 for a method of applying spatial-temporal NAS for fast surgical segmentation is generally shown in accordance with one or more aspects. All or a portion of method 700 can be implemented, for example, by all or a portion of CAS system 100 of FIG. 1 and / or computer system 800 of FIG. 9.

[0105] Turning to FIG. 8 A, as shown in block 702, the method includes receiving video data by a system. As shown in block 704, the method includes executing a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial -temporal network architecture for semantic segmentation of the video data. As shown in block 706, the method includes providing, by the architecture, a reduced inference time and maintaining a higher accuracy than a predetermined baseline architecture. As shown in block 708, the methodincludes converting a temporal encoder of the encoder-decoder configuration of the architecture into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0106] Further steps that are optionally in addition to steps disclosed in FIG. 8 A will now be addressed. Turning to FIG. 8B, as shown in block 710, the method includes processing, by the encoder, temporal sequences of RGB frames xt G R3XHXWwhere t indexes the time in a sequence T G {t - w / 2, t + w / 2} with a temporal window w. As shown in block 712 the method includes processing, by the encoder, each frame t sequentially such that ft = E(xt), where ft E RLxHxWis aspatial feature representation and L is a number of feature maps.

[0107] As shown in block 713, the method includes processing, by the temporal decoder, the temporal feature batch fr. As shown in block 714, the method includes predicting, by the temporal decoder, the segmentation mask st = D(fr) for time t. As shown in block 716, the method includes applying a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

[0108] As shown in block 718, the method includes forming the supernet of blocks where operations are run in parallel. As shown in block 720, the method includes weighting an output of each operation by its own architectural weight, aJ, where i indexes the supemet layer, and j indexes the operation.

[0109] Turning to FIG. 8C, while the supemet is trained, as shown in block 722A, the method includes optimizing network parameters, including operations within each supemet block and the set of A={a }^ / values. During this time, as shown in block 722B, the method vi includes increasing, by the supemet, the a for optimal operations that minimize the loss function. During this time, as shown in block 722C, the method further includes decreasing, by the supemet, the a for sub-optimal operations. At the end of training, as shown in block 724, the method includes: choosing an architecture by selecting the operations with the largest (Xi = arg maxj(<z ) for each layer i. From this configuration, the DNAS searches a combinatorial architecture space in tractable time.

[0110] Turning to FIG. 8D, as shown in block 726, the method includes configuring the DNAS as the supernet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, and an output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder are mapped according to

[0111]

[0112] where f is the feature map produced by layer i-th block, and ai is the architectural weight.

[0113] As shown in block 730, the method includes removing an i-th layer upon determining that ai < 1 for the i-th layer. As shown in block 732, when ai > 1 for an i-th layer, the method includes stopping the algorithm and selecting the encoder architecture as the remaining architecture.

[0114] Turning to FIG. 8E, as shown in block 734, the method includes calculating for each layer, the inference time for that layer. As shown in block 736, the method includes regularizing the a weights as the weighted sum of layer inference times. As shown in block 738 the method includes determining the regularization by:

[0116] where L( ) is the loss function, f is the model’s forward pass operation, W are the weights of the model, A is the architecture of the model, x are the input data, y are the ground truth segmentation masks, is a regularization weight, and Si is the inference time for that block, whereby by weighting the a, the regularization influences the architecture during the DNAS.

[0117] Turning to FIG. 8F, as shown in block 740 the method includes utilizing, for the decoder: a group set of operations, including spatial and temporal operations: dilated 2D spatial conv, depth separated 2D spatial conv, dilated ID temporal conv and the identity function; and kernel sizes of 3 and 5. As shown in block 742, the method includes applying,at each layer I, the operations in parallel and outputs the weighted of sum of their outputs, thereby forming the supernet, wherein the weighting of the output is based on a - for that operation. As shown in block 744, following training of the decoder, the method includes trimming operations except for those with the highest a weights at each layer, whereby the decoder uses a 2D spatial and ID temporal convolution.

[0118] The processing shown in FIGS. 8A-8F 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. 8 are to be included in every case. Additionally, the processing shown in FIGS. 8A-8F can include any suitable number of additional operations.

[0119] Much of the present disclosure discusses surgical segmentation. Nonetheless, the disclosed aspects are applicable to any spatial -temporal neural network model.

[0120] According to an aspect of the disclosure, a computer-implemented method includes: receiving, by a system that includes at least one processor, video data; executing, by the system, a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; providing, by the spatial-temporal network architecture, a reduced inference time and maintaining a higher accuracy than a predetermined baseline architecture, wherein the architecture includes a temporal encoder configured to process temporal sequences of frames and a temporal decoder configured with a temporal convolutional network (TCN); and converting the temporal encoder into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0121] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes processing, by the temporal encoder, temporal sequences of RGB frames, in which the frames are indexed sequentially within a predetermined temporal window.

[0122] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes processing, by the temporal decoder, a temporal feature batch, and predicting, by the temporal decoder, a segmentation mask for a predetermined time; andapplying a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

[0123] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes forming the supernet of blocks where operations are run in parallel; and weighting an output of each operation by its own architectural weight,where i indexes the supernet layer, and j indexes the operation.

[0124] According to another aspect of the disclosure, directed to the computer-implemented method, while the supernet is trained, the method further includes: optimizing network pa- rameters, including operations within each supemet block and the set of A={a 1 values;1Vi increasing, by the supemet, the a for optimal operations that minimize the loss function; and decreasing, by the supemet, the a for sub-optimal operations; and at the end of training, the method includes: choosing an architecture by selecting the operations with the largest ai = arg max, (aJt) for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

[0125] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes configuring the DNAS as the supernet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, and an output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder are mapped according to

[0127] where f is the feature map produced by layer i-th block, and ai is the architectural weight.

[0128] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes removing an i-th layer upon determining that ai < 1 for the i- th layer; and when ai > 1 for a layer, stopping the algorithm and selecting the encoder architecture as the remaining architecture.

[0129] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes calculating for each layer, the inference time for that layer; regularizing the a weights as the weighted sum of layer inference times; and determining the regularization by:

[0131] where L( ) is the loss function, f is the model’s forward pass operation, W are the weights of the model, A is the architecture of the model, x are the input data, y are the ground truth segmentation masks, is a regularization weight, and Si is the inference time for that block, whereby by weighting the a, the regularization influences the architecture during the DNAS.

[0132] According to another aspect of the disclosure, directed to the computer-implemented method, the method includes utilizing, for the decoder: a group set of operations, including spatial and temporal operations: dilated 2D spatial conv, depth separated 2D spatial conv, dilated ID temporal conv and the identity function; and predetermined kernel sizes; and applying, at each layer I, the operations in parallel and outputs the weighted of sum of their outputs, thereby forming the supemet, wherein the weighting of the output is based on a . for that operation; and following training of the decoder, the method includes trimming operations except for those with the highest a weights at each layer, whereby the decoder uses a 2D spatial and ID temporal convolution.

[0133] According to another aspect of the disclosure, a system includes: a data store including video data associated with a surgical procedure; and a machine learning training system configured to: receive video data; and execute a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial -temporal network architecture for semantic segmentation of the video data, wherein the spatial-temporal network architecture is configured to provide a reduced inference time and is configured to maintain a higher accuracy than a predetermined baseline architecture; wherein the system includes: a temporal encoder, configured to process temporal sequences of frames; and a temporal decoder, config-ured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0134] According to another aspect of the disclosure, directed to the system, the temporal encoder processes temporal sequences of RGB frames in which the frames are indexed sequentially within a predetermined temporal window.

[0135] According to another aspect of the disclosure, directed to the system, the temporal decoder processes the temporal feature batch and predicts the segmentation mask for predetermined time; and the system applies a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

[0136] According to another aspect of the disclosure, directed to the system, the supemet is formed of blocks where operations are run in parallel; and output of each operation is weighted by its own architectural weight,where i indexes the supernet layer, and j indexes the operation.

[0137] According to another aspect of the disclosure, directed to the system, while the supernet is trained: network parameters are optimized, including operations within each supernet block and the set of A=[ a Rvalues; and the supemet increases the a for optimal operations that minimize the loss function, and decreases the a for sub-optimal operations, and at the end of training, an architecture is chosen by selecting the operations with the largest ai = arg max, (aJt) for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

[0138] According to another aspect of the disclosure, a computer program product including a memory device having computer executable instructions stored thereon, which when executed by one or more processors cause the one or more processors to perform a plurality of operations including: receiving video data; and executing a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial -temporal network architecture for semantic segmentation of the video data; processing temporal sequences of frames by a temporal encoder; and performing decoding by a temporal decoder configured with atemporal convolutional network (TCN), wherein the temporal encoder is converted into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0139] According to another aspect of the disclosure, directed to the computer program product, the encoder processes temporal sequences of RGB frames, in which the frames are indexed sequentially within a predetermined temporal window.

[0140] According to another aspect of the disclosure, directed to the computer program product, the temporal decoder processes a temporal feature batch and predicts the segmentation mask for a predetermined time t; and the system applies a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

[0141] According to another aspect of the disclosure, directed to the computer program product,

[0142] the supernet is formed of blocks where operations are run in parallel; and output of each operation is weighted by its own architectural weight, awhere i indexes the supernet layer, and j indexes the operation.

[0143] According to another aspect of the disclosure, directed to the computer program product, while the supemet is trained: network parameters are optimized, including operations within each supernet block and the set of A={aj jvalues; and the supemet l vi increases the a for optimal operations that minimize the loss function, and decreases the a for sub-optimal operations, and at the end of training, an architecture is chosen by selecting the operations with the largest ai = arg max, (afor each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

[0144] According to another aspect of the disclosure, directed to the computer program product, the DNAS is configured as the supemet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, andan output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder are mapped according to

[0146] where f is the feature map produced by layer i-th block, and ai is the architectural weight.

[0147] Turning now to FIG. 9, a computer system 800 is generally shown in accordance with an aspect. The computer system 800 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 800 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 800 may be, for example, a server, desktop computer, laptop computer, tablet computer, or smartphone. In some examples, computer system 800 may be a cloud computing node. Computer system 800 may be described in the general 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 800 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.

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

[0149] The computer system 800 comprises an input / output (I / O) adapter 806 and a communications adapter 807 coupled to the system bus 802. The I / O adapter 806 may be a small computer system interface (SCSI) adapter that communicates with a hard disk 808 and / or any other similar component. The I / O adapter 806 and the hard disk 808 are collectively referred to herein as a mass storage 810.

[0150] Software 811 for execution on the computer system 800 may be stored in the mass storage 810. The mass storage 810 is an example of a tangible storage medium readable by the processors 801, where the software 811 is stored as instructions for execution by the processors 801 to cause the computer system 800 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 807 interconnects the system bus 802 with a network 812, which may be an outside network, enabling the computer system 800 to communicate with other such systems. In one aspect, a portion of the system memory 803 and the mass storage 810 collectively store an operating system, which may be any appropriate operating system to coordinate the functions of the various components shown in FIG. 9.

[0151] Additional input / output devices are shown as connected to the system bus 802 via a display adapter 815 and an interface adapter 816. In one aspect, the adapters 806, 807, 815, and 816 may be connected to one or more VO buses that are connected to the system bus 802 via an intermediate bus bridge (not shown). A display 819 (e.g., a screen or a display monitor) is connected to the system bus 802 by a display adapter 815, 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 802 via the interface adapter 816, 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. 9, the computer system 800 includes processing capability in the form of the processors 801, and storage capability including the system memory 803 and the mass storage 810, input means such as the buttons, touchscreen, and output capability including the speaker 823 and the display 819.

[0152] In some aspects, the communications adapter 807 can transmit data using any suitable interface or protocol, such as the internet small computer system interface, among others. The network 812 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 800 through the network 812. In some examples, an external computing device may be an external web server or a cloud computing node.

[0153] It is to be understood that the block diagram of FIG. 9 is not intended to indicate that the computer system 800 is to include all of the components shown in FIG. 9. Rather, the computer system 800 can include any appropriate fewer or additional components not illustrated in FIG. 9 (e.g., additional memory components, embedded controllers, modules, additional network interfaces, etc.). Further, the aspects described herein with respect to computer system 800 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.

[0154] 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.

[0155] 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.

[0156] 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 program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0157] 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.

[0158] 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.

[0159] 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 tofunction 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.

[0160] 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.

[0161] 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 specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0162] 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.

[0163] 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.

[0164] 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.

[0165] 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.”

[0166] 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.

[0167] 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.

[0168] 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.

[0169] 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).

[0170] 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 suitablefor implementation of the described techniques. Also, the techniques could be fully implemented in one or more circuits or logic elements.

[0171] The following examples are illustrative of the techniques described herein.

[0172] Example 1. A computer-implemented method comprising: receiving, by a system that includes at least one processor, video data; executing, by the system, a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial -temporal network architecture for semantic segmentation of the video data; providing, by the spatial-temporal network architecture, a reduced inference time and maintaining a higher accuracy than a predetermined baseline architecture, wherein the architecture comprises a temporal encoder configured to process temporal sequences of frames and a temporal decoder configured with a temporal convolutional network (TCN); and converting the temporal encoder into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0173] Example 2. The computer-implemented method of Example 1, further comprising: processing, by the temporal encoder, temporal sequences of RGB frames, in which the frames are indexed sequentially within a predetermined temporal window.

[0174] Example 3. The computer-implemented method of Example 2, further comprising: processing, by the temporal decoder, a temporal feature batch, and predicting, by the temporal decoder, a segmentation mask for a predetermined time; and applying a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

[0175] Example 4. The computer-implemented method of Example 3, further comprising: forming the supernet of blocks where operations are run in parallel; and weighting an output of each operation by its own architectural weight,where i indexes the supernet layer, and j indexes the operation.

[0176] Example 5. The computer-implemented method of Example 4, wherein while the supemet is trained, the method further comprises: optimizing network parameters, including operations within each supemet block and the set of A={aj jvalues; increasing, by thesupemet, the a for optimal operations that minimize the loss function; and decreasing, by the supernet, the a for sub-optimal operations; and at the end of training, the method comprises: choosing an architecture by selecting the operations with the largest a, = arg maxj(a ) for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

[0177] Example 6. The computer-implemented method of Example 5, further comprising: configuring the DNAS as the supernet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, and an output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder - are mapped according towhere f is the feature map produced by layer i-th block, and ai is the architectural weight.

[0178] Example 7. The computer-implemented method of Example 6, further comprising: removing an i-th layer upon determining that ai < 1 for the i-th layer; and when ai > 1 for a layer, stopping the algorithm and selecting the encoder architecture as the remaining architecture.

[0179] Example 8. The computer-implemented method of Example 7, further comprising: calculating for each layer, the inference time for that layer; regularizing the a weights as the weighted sum of layer inference times; and determining the regularization by:where L( ) is the loss function, f is the model’s forward pass operation, W are the weights of the model, A is the architecture of the model, x are the input data, y are the ground truth segmentation masks, is a regularization weight, and Si is the inference time for that block, whereby by weighting the a, the regularization influences the architecture during the DNAS.

[0180] Example 9. The computer-implemented method of Example 8, further comprising: utilizing, for the decoder: a group set of operations, including spatial and temporal operations: dilated 2D spatial conv, depth separated 2D spatial conv, dilated ID temporal convand the identity function; and predetermined kernel sizes; and applying, at each layer I, the operations in parallel and outputs the weighted of sum of their outputs, thereby forming the supemet, wherein the weighting of the output is based on a . for that operation; and following training of the decoder, the method includes trimming operations except for those with the highest a weights at each layer, whereby the decoder uses a 2D spatial and ID temporal convolution.

[0181] Example 10. A system comprising: a data store comprising video data associated with a surgical procedure; and a machine learning training system configured to: receive video data; and execute a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data, wherein the spatial-temporal network architecture is configured to provide a reduced inference time and is configured to maintain a higher accuracy than a predetermined baseline architecture; wherein the system comprises: a temporal encoder, configured to process temporal sequences of frames; and a temporal decoder, configured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0182] Example 11. The system of Example 10, wherein the temporal encoder processes temporal sequences of RGB frames in which the frames are indexed sequentially within a predetermined temporal window.

[0183] Example 12. The system of Example 11, wherein: the temporal decoder processes the temporal feature batch and predicts the segmentation mask for predetermined time; and the system applies a Differentiable Neural Architecture Search (DNAS) to optimize spatial- temporal convolutions in the temporal decoder.

[0184] Example 13. The system of Example 12, wherein: the supemet is formed of blocks where operations are run in parallel; and output of each operation is weighted by its own architectural weight,where i indexes the supernet layer, and j indexes the operation.

[0185] Example 14. The system of Example 13, wherein: while the supernet is trained: network parameters are optimized, including operations within each supemet block and theset of and the supernet increases the a for optimal operations thatminimize the loss function, and decreases the a for sub-optimal operations, and at the end of training, an architecture is chosen by selecting the operations with the largest a. = arg maxj(a ) for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

[0186] Example 15. A computer program product comprising a memory device having computer executable instructions stored thereon, which when executed by one or more processors cause the one or more processors to perform a plurality of operations comprising: receiving video data; and executing a Spatial-Temporal Neural Architecture Search (ST- NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; processing temporal sequences of frames by a temporal encoder; and performing decoding by a temporal decoder configured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

[0187] Example 16. The computer program product of Example 15, wherein: the encoder processes temporal sequences of RGB frames, in which the frames are indexed sequentially within a predetermined temporal window.

[0188] Example 17. The computer program product of Example 16, wherein: the temporal decoder processes a temporal feature batch and predicts the segmentation mask for a predetermined time t; and the system applies a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

[0189] Example 18. The computer program product of Example 17, wherein: the supemet is formed of blocks where operations are run in parallel; and output of each operation is weighted by its own architectural weight, a where i indexes the supernet layer, and j indexes the operation.

[0190] Example 19. The computer program product of Example 18, wherein while the supemet is trained: network parameters are optimized, including operations within each supemet block and the set of A={a Rvalues; and the supernet increases the a { foroptimal operations that minimize the loss function, and decreases the a for sub-optimal operations, and at the end of training, an architecture is chosen by selecting the operations with the largest ai = argfor each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

[0191] Example 20. The computer program product of Example 19, wherein the DNAS is configured as the supernet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, and an output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder are mapped according to .1where f is the feature map produced by layer i-th block, and ai is the architectural weight.

Claims

CLAIMSWhat is claimed is:

1. A computer-implemented method comprising: receiving, by a system that includes at least one processor, video data; executing, by the system, a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; providing, by the spatial-temporal network architecture, a reduced inference time and maintaining a higher accuracy than a predetermined baseline architecture, wherein the architecture comprises a temporal encoder configured to process temporal sequences of frames and a temporal decoder configured with a temporal convolutional network (TCN); and converting the temporal encoder into a supernet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

2. The computer-implemented method of claim 1, further comprising: processing, by the temporal encoder, temporal sequences of RGB frames, in which the frames are indexed sequentially within a predetermined temporal window.

3. The computer-implemented method of claim 1 or 2, further comprising: processing, by the temporal decoder, a temporal feature batch, and predicting, by the temporal decoder, a segmentation mask for a predetermined time; and applying a Differentiable Neural Architecture Search (DNAS) to optimize spatial-temporal convolutions in the temporal decoder.

4. The computer-implemented method of any of claims 1-3, further comprising: forming the supernet of blocks where operations are run in parallel; and weighting an output of each operation by its own architectural weight, a , where i indexes the supernet layer, and j indexes the operation.

5. The computer-implemented method of any of claims 1-4, wherein while the supemet is trained, the method further comprises: optimizing network parameters, including operations within each supernet block and the set values;increasing, by the supemet, the a for optimal operations that minimize the loss function; and decreasing, by the supemet, the a for sub-optimal operations; and at the end of training, the method comprises: choosing an architecture by selecting the operations with the largest ai = arg max, (a for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

6. The computer-implemented method of any of claims 1-5, further comprising: configuring the DNAS as the supernet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, and an output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder are mapped according to . Swhere f is the feature map produced by layer i-th block, and ai is the architectural weight.

7. The computer-implemented method of any of claims 1-6, further comprising: removing an i-th layer upon determining that ai < 1 for the i-th layer; and when ai > 1 for a layer, stopping the algorithm and selecting the encoder architecture as the remaining architecture.

8. The computer-implemented method of any of claims 1-7, further comprising: calculating for each layer, the inference time for that layer; regularizing the a weights as the weighted sum of layer inference times; and determining the regularization by:where L( ) is the loss function, f is the model’s forward pass operation, W are the weights of the model, A is the architecture of the model, x are the input data, y are the ground truth segmentation masks, is a regularization weight, and Si is the inference time for that block, whereby by weighting the a, the regularization influences the architecture during the DNAS; and optionally: utilizing, for the decoder: a group set of operations, including spatial and temporal operations: dilated 2D spatial conv, depth separated 2D spatial conv, dilated ID temporal conv and the identity function; and predetermined kernel sizes; and applying, at each layer I, the operations in parallel and outputs the weighted of sum of their outputs, thereby forming the supernet, wherein the weighting of the output is based on a - for that operation; andfollowing training of the decoder, the method includes trimming operations except for those with the highest a weights at each layer, whereby the decoder uses a 2D spatial and ID temporal convolution.

9. A system comprising: a data store comprising video data associated with a surgical procedure; and a machine learning training system configured to: receive video data; and execute a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data, wherein the spatial-temporal network architecture is configured to provide a reduced inference time and is configured to maintain a higher accuracy than a predetermined baseline architecture; wherein the system comprises: a temporal encoder, configured to process temporal sequences of frames; and a temporal decoder, configured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

10. The system of claim 9, wherein the temporal encoder processes temporal sequences of RGB frames in which the frames are indexed sequentially within a predetermined temporal window.

11. The system of claim 9 or 10, wherein: the temporal decoder processes the temporal feature batch and predicts the segmentation mask for predetermined time; andthe system applies a Differentiable Neural Architecture Search (DNAS) to optimize spatial- temporal convolutions in the temporal decoder; and optionally: the supernet is formed of blocks where operations are run in parallel; and output of each operation is weighted by its own architectural weight,where i indexes the supernet layer, and j indexes the operation; and optionally: while the supemet is trained: network parameters are optimized, including operations within each supemet block and the setthe supemet increases the a for optimal operations that minimize the loss function, and decreases the a for sub-optimal operations, and at the end of training, an architecture is chosen by selecting the operations with the largest ai = arg maxj(<z ) for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time.

12. A computer program product comprising a memory device having computer executable instructions stored thereon, which when executed by one or more processors cause the one or more processors to perform a plurality of operations comprising: receiving video data; and executing a Spatial-Temporal Neural Architecture Search (ST-NAS), that searches for a spatial-temporal network architecture for semantic segmentation of the video data; processing temporal sequences of frames by a temporal encoder; andperforming decoding by a temporal decoder configured with a temporal convolutional network (TCN), wherein the temporal encoder is converted into a supemet, wherein each layer in a stage is weighted and the output is a weighted sum of each layer output.

13. The computer program product of claim 12, wherein: the encoder processes temporal sequences of RGB frames, in which the frames are indexed sequentially within a predetermined temporal window.

14. The computer program product of claim 12 or 13, wherein: the temporal decoder processes a temporal feature batch and predicts the segmentation mask for a predetermined time t; and the system applies a Differentiable Neural Architecture Search (DNAS) to optimize spatial- temporal convolutions in the temporal decoder.

15. The computer program product of any of claims 12-14, wherein: the supernet is formed of blocks where operations are run in parallel; and output of each operation is weighted by its own architectural weight, a , where i indexes the supernet layer, and j indexes the operation; and optionally: while the supemet is trained: network parameters are optimized, including operations within each supemet block and the set of A={ a } lvalues; and1Vi the supemet increases the a for optimal operations that minimize the loss function, and decreases the a for sub-optimal operations, andat the end of training, an architecture is chosen by selecting the operations with the largest ai = arg maxj(<z for each layer i, whereby the DNAS searches a combinatorial architecture space in tractable time; and optionally: the DNAS is configured as the supemet by configuring each encoder block such that, for each i-th block, a weight ai is assigned for learning an importance of the block, and an output of the block is a weighted sum of the layer outputs, such that sequential blocks in the encoder are mapped according towhere f is the feature map produced by layer i-th block, and ai is the architectural weight.