This disclosure relates to sensing a shape of an optical fiber.
Electromagnetic Tracking (EMT) systems are used to aid in locating instruments and patient anatomy in medical procedures. These systems utilize a magnetic transmitter in proximity to one or more magnetic sensors. The one or more sensors can be spatially located relative to the transmitter and sense magnetic fields produced by the transmitter.
Some tracking systems include an optical fiber to provide pose information (i.e., position and orientation) in medical procedures and are used to locate instruments and make measurements with respect to patient anatomy. These medical procedures span many domains and can include: surgical interventions, diagnostic procedures, imaging procedures, radiation treatment, etc. An optical fiber can be attached to an instrument in a medical procedure in order to provide pose information (i.e., position and orientation) for the instrument. While many methodologies may be employed to provide pose information about the optical fiber, artificial intelligence techniques, such as machine learning, can exploit measured strain data and pose information for training and evaluation. By developing such techniques to determine shape and pose information, applications and computations for tracking an instrument in a medical procedure can be improved.
In an aspect, a computing device implemented method includes receiving data representing strains experienced at multiple positions along a fiber, the fiber being positioned within a surgical theater, determining a shape of the fiber from the received data representing the stains experienced at the multiple positions along the fiber by using a machine learning system, the machine learning system being trained using data representing shapes of fibers and data representing strains at multiple positions along each of the fibers, and representing the determined shape as functions of an orientation of a center of the fiber, a first radial axis of the fiber, and a second radial axis of the fiber.
Implementations may include one or more of the following features. The data may include a magnitude and phase shift of reflected light along the fiber. Receiving data may include receiving two different polarizations of reflected light. The fiber may be one of a plurality of fibers within a multiple optical fiber sensor, and the method may include determining an overall shape of the multiple optical fiber sensor. The fiber may include one or more Fiber Bragg Gratings to provide return signals that represent the strain. The method may include receiving data from a reference path that is fixed in a reference shape. The data representing strains may include interference patterns between light reflected from the reference path and light reflected from the fiber. The multiple positions may be equally spaced along the fiber. The training data may include simulated data. The training data may include simulated data and physical data collected from one or more optical fibers.
In another aspect, a system includes a computing device that includes a memory configured to store instructions. The system also includes a processor to execute the instructions to perform operations that include receiving data representing strains experienced at multiple positions along a fiber, the fiber being positioned within a surgical theater, determining a shape of the fiber from the received data representing the stains experienced at the multiple positions along the fiber by using a machine learning system, the machine learning system being trained using data representing shapes of fibers and data representing strains at multiple positions along each of the fibers, and representing the determined shape as functions of an orientation of a center of the fiber, a first radial axis of the fiber, and a second radial axis of the fiber.
Implementations may include one or more of the following features. The data may include a magnitude and phase shift of reflected light along the fiber. Receiving data may include receiving two different polarizations of reflected light. The fiber may be one of a plurality of fibers within a multiple optical fiber sensor, and the operations may include determining an overall shape of the multiple optical fiber sensor. The fiber may include one or more Fiber Bragg Gratings to provide return signals that represent the strain. The operations may include receiving data from a reference path that is fixed in a reference shape. The data representing strains may include interference patterns between light reflected from the reference path and light reflected from the fiber. The multiple positions may be equally spaced along the fiber. The training data may include simulated data. The training data may include simulated data and physical data collected from one or more optical fibers.
In another aspect, one or more computer readable media storing instructions are executable by a processing device, and upon such execution cause the processing device to perform operations that include receiving data representing strains experienced at multiple positions along a fiber, the fiber being positioned within a surgical theater, determining a shape of the fiber from the received data representing the stains experienced at the multiple positions along the fiber by using a machine learning system, the machine learning system being trained using data representing shapes of fibers and data representing strains at multiple positions along each of the fibers, and representing the determined shape as functions of an orientation of a center of the fiber, a first radial axis of the fiber, and a second radial axis of the fiber.
Implementations may include one or more of the following features. The data may include a magnitude and phase shift of reflected light along the fiber. Receiving data may include receiving two different polarizations of reflected light. The fiber may be one of a plurality of fibers within a multiple optical fiber sensor, and the operations may include determining an overall shape of the multiple optical fiber sensor. The fiber may include one or more Fiber Bragg Gratings to provide return signals that represent the strain. The operations may include receiving data from a reference path that is fixed in a reference shape. The data representing strains may include interference patterns between light reflected from the reference path and light reflected from the fiber. The multiple positions may be equally spaced along the fiber. The training data may include simulated data. The training data may include simulated data and physical data collected from one or more optical fibers.
The details of one or more embodiments of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the subject matter will be apparent from the description and drawings, and from the claims.
Like reference numbers and designations in the various drawings indicate like elements.
Tracking systems such as Six Degree of Freedom (6DOF) Tracking Systems (e.g., tracking systems that employ 6DOF sensors) can be used in medical applications (e.g., tracking medical equipment in surgical theaters) to track one or more objects (e.g., a medical device such as a scalpel, one or more robotic arms, etc.), thereby determining and identifying the respective three-dimensional location, orientation, etc. of the object or objects for medical professionals (e.g., a surgeon). Such tracking can be employed for various applications such as providing guidance to professionals (e.g., in image-guided procedures), and in some cases may reduce reliance on other imaging modalities, such as fluoroscopy, which can expose patients to ionizing radiation that can potentially create health risks.
In some implementations, the 6DOF Tracking System can be realized as an electromagnetic tracking system, an optical tracking system, etc. and can employ both electromagnetic and optical components. For example, a 6DOF tracking systems can employ active electromagnetic tracking functionality and include a transmitter (or multiple transmitters) having one or more coils configured to generate one or more electromagnetic fields such as an alternating current (AC) electromagnetic (EM) field. A sensor having one or more coils located in the general proximity to the generated EM field can measure characteristics of the generated EM field and produce signals that reflect the measured characteristics. The measured characteristics of the EM field depend upon on the position and orientation of the sensor relative to the transmitter and the generated EM field. The sensor can measure the characteristics of the EM field and provide measurement information to a computing device such as a computer system (e.g., data representing measurement information is provided from one or more signals provided by the sensor). From the provided measurement information, the computing device can determine the position, shape, orientation, etc. of the sensor. Using this technique, the position, orientation, etc. of a medical device (e.g., containing the sensor, attached to the sensor, etc.) can be determined and processed by the computing device (e.g., the computing device identifies the position and location of a medical device and graphically represents the medical device, the sensor, etc. in images such as registered medical images, etc.).
In the illustrated example, an electromagnetic tracking system 100 includes an electromagnetic sensor 102 (e.g., a 6DOF sensor) or multiple sensors embedded in a segment (e.g., leading segment) of a wire 104 that is contacting a patient 106. In some arrangements, a sensor (e.g., a 6DOF sensor) or sensors can be positioned in one or more different positions along the length of the wire 104. For example, multiple sensors can be distributed along the length of the wire 104.
To produce understandable tracking data, a reference coordinate system is established by the tracking system 100. The relative pose (e.g., location, position) of sensors can be determined relative to the reference coordinate system. The electromagnetic sensor 102 can be attached to the patient 106 and used to define a reference coordinate system 108. Pose information (e.g., location coordinates, orientation data, etc.) about additional sensors, can be determined relative to this reference coordinate system. The electromagnetic sensor 106 can define the reference coordinate system 108 relative to the patient because the electromagnetic sensor 102 is attached to the patient. In some implementations (e.g., implementations that include multiple sensors), by establishing the reference coordinate system 108 and using electromagnetic tracking, a location and orientation of another electromagnetic sensor 110 (e.g., a second 6DOF sensor) or multiple sensors embedded in a leading segment of a guidewire 112 can be determined relative to the reference coordinate system 108. Defining one reference coordinate system allows data to be viewed from one frame of reference, for example location data associated with a sensor, location data associated with the patient, etc. are all placed on the same frame of reference so the data is more easily understandable. In some implementations, a catheter 114 is inserted over the guidewire after the guidewire is inserted into the patient.
In this particular implementation, a control unit 116 and a sensor interface unit 118 are configured to resolve signals produced by the sensors. For example, the control unit 116 and the sensor interface 118 can receive the signals produced by the sensors (e.g., through a wired connection, wirelessly, etc.). The control unit 116 and the sensor interface 118 can determine the pose of the sensors 106, 110 using electromagnetic tracking methodologies. The pose of the sensor 106 defines the reference coordinate system 108, as discussed above. The pose of the sensor 110 provides information about the leading segment of the guidewire 112. Similar to electromagnetic systems, optical based systems may employ techniques for tracking and identifying the respective three-dimensional location, orientation, etc. of objects for medical professionals. Or, in the case where the Tracking System 100 employs optical tracking capabilities, the pose of the sensors 106, 110 can be determined using optical tracking methodologies.
The geometry and dimensions of the guidewire can vary. In some implementations, the guidewire 112 may have a maximum diameter of about 0.8 mm. In some implementation, the guidewire 112 may have a diameter larger or smaller than about 0.8 mm. The guidewire can be used to guide medical equipment or measurement equipment through the patient (e.g., through the patient's vasculature). For example, the guidewire may guide optical fibers through the patient. While the guidewire 112 may have a cylindrical geometry, one or more other types of geometries may be employed (e.g., geometries with rectangular cross sections). In some implementations, a guidewire may include a bundle of wires.
A field generator 120 resides beneath the patient (e.g., located under a surface that the patient is positioned on, embedded in a surface that the patient lays upon—such as a tabletop, etc.) to emit electromagnetic fields that are sensed by the accompanying electromagnetic sensors 102, 110. In some implementations, the field generator 120 is an NDI Aurora Tabletop Field Generator (TTFG), although other field generator techniques and/or designs can be employed.
The pose (i.e., the position and/or orientation) of a tracked sensor (e.g., the first tracking sensor 102, the second tracking sensor 110) refers to a direction the tracked sensor is facing with respect to a global reference point (e.g., the reference coordinate system 108), and can be expressed similarly by using a coordinate system and represented, for example, as a vector of orientation coordinates (e.g., azimuth (ψ), altitude (θ), and roll (φ) angles) or Cartesian coordinates (e.g., x, y, and z). The tracking system 100 operates to determine a shape of an optical fiber, as discussed below. Additionally, the tracking system 100 operates to be an up to six degree of freedom (6DOF) measurement system that is configured to allow for measurement of position and orientation information of a tracked sensor related to a forward/back position, up/down position, left/right position, azimuth, altitude, and roll. For example, if the second tracking sensor 110 includes a single receiving coil, a minimum of at least five transmitter assemblies can provide five degrees of freedom (e.g., without roll). In an example, if the second tracking sensor 110 includes at least two receiving coils, a minimum of at least six transmitter assemblies can provide enough data for all six degrees of freedom to be determined. Additional transmitter assemblies or receiving coils can be added to increase tracking accuracy or allow for larger tracking volumes.
The guidewire 112 can be instrumented by (e.g., affixed to, encapsulating, etc.) an optical fiber (not shown). The optical fiber can form one or multiple shapes as it extends into and through the body of the patient. Light that is transmitted down the fiber can be used to track the location, orientation, (i.e., pose) of segments of the fiber, and as an outcome fiber shape information can be determined. In the example shown in
In some implementations, fiber optic tracking may be limited to local tracking. A reference coordinate system is provided by the first electromagnetic sensor 102. The location and orientation of the second electromagnetic sensor 110 is known due to electromagnetic tracking. Thus, only the segment of fiber that extends beyond the second electromagnetic sensor 110 must be tracked. For example, the control unit 116 and sensor interface unit 118 can resolve sensor signals to determine the pose of the sensors 102, 110 using electromagnetic tracking methodologies, discussed further below. Shape information from the optical fiber can then be fused with the pose information of electromagnetic sensors 110 and 102 on a computer system 128 and can be computed in the patient reference frame (e.g., in the reference coordinate system 108). In doing so, the shape information can be further processed for visualization with other data that is registered to the patient reference, for example manually created annotations or medical images collected prior to or during the procedure.
In some implementations, the interrogator 126 is an optoelectronic data acquisition system that provides measurements of the light reflected through the optical fiber. The interrogator provides these measurements to the computing device (e.g., the computer system 128).
At each periodic refraction change due to the shape of the optical fiber, a small amount of light is reflected. The reflected light signals combine coherently to produce a relatively large reflection at a particular wavelength (e.g., when the grating period is approximately half the input light's wavelength). For example, reflection points can be set up along the optical fiber, e.g., at points corresponding to half wavelengths of the input light. This is referred to as the Bragg condition, and the wavelength at which this reflection occurs is called the Bragg wavelength. Light signals at wavelengths other than the Bragg wavelength, which are not phase matched, are essentially transparent. In general, a fiber Bragg grating (FBG) is a type of distributed Bragg reflector constructed in a relative short segment of optical fiber that reflects particular wavelengths of light and transmits the light of other wavelengths. An FBG can be produced by creating a periodic variation in the refractive index of a fiber core, which produces a wavelength-specific dielectric mirror. By employing this technique, a FBG can be used as an inline optical fiber for sensing applications.
Therefore, light propagates through the grating with negligible attenuation or signal variation. Only those wavelengths that satisfy the Bragg condition are affected and strongly back-reflected. The ability to accurately preset and maintain the grating wavelength is one main feature and advantage of Fiber Bragg gratings.
The central wavelength of the reflected component satisfies the Bragg relation: λBragg=2 nΛ, with n being the index of refraction and Λ being the period of the index of refraction variation of the FBG. Due to the temperature and strain dependence of the parameters n and Λ, the wavelength of the reflected component will also change as function of temperature and/or strain. This dependency can be utilized for determining the temperature or strain from the reflected FBG wavelength.
In some implementations, the sensor 102 provides a reference coordinate system 108 for the system 100 that may be aligned to the patient 106. The location, orientation, shape, etc. of the guidewire 112 can be defined within the reference coordinate system. In this way, the fiber can be tracked relative to the patient anatomy. In some implementations, the guidewire 112 may include NDI Aurora magnetic sensors or be tracked by NDI's optical tracking systems.
In some cardiac applications the shape of the segment of optical fiber can be used to support medical procedures. For example, the shape of the segment of optical fiber can provide information about a transeptal puncture operation in the context of a mitral valve repair/replacement or a catheter across an atrial septum wall for atrial fibrillation treatment. Additionally, the shape of the segment of fiber can be used to cannulate the vessel entering the kidney from the aorta for a stent placement.
Tracking systems are frequently accompanied by computing equipment, such as the computer system 128, which can process and present the measurement data. For example, in a surgical intervention, a surgical tool measured by the tracking system can be visualized with respect to the anatomy marked up with annotations from the pre-operative plan. Another such example may include an X-ray image annotated with live updates from a tracked guidewire.
Medical procedures that are supported by tracking systems frequently make measurements with respect to a reference co-ordinate system located on the patient. In doing so, medical professionals can visualize and make measurements with respect to the patient anatomy and correct for gross patient movement or motion. In practice, this is accomplished by affixing an additional electromagnetic sensor (e.g., a 6DOF sensor) to the patient. This is also accomplished by sensing the shape of the guidewire 112.
The described tracking systems can be advantageous because they do not require line-of-sight to the objects that are being tracked. That is, they do not require a directly unobstructed line between tracked tools and a camera for light to pass. In some implementations, the described systems have improved metal immunity and immunity to electrical interference. That is, they do not require minimal presence of metals and sources of electrical noise in their vicinity to provide consistent tracking performance.
In medical procedure contexts where the approach of a surgical or endoscopic tool can improve patient outcomes, additional intraoperative imaging modalities can be used such as Ultrasound, MRI, or X-rays. Another advantage of the described tracking systems (e.g., the system 100 of
There are techniques by which optical transducers built into an optical fiber can produce measurements (for example wavelength) that can be used to estimate pose information along the length of the fiber. In some implementations, the optical fiber may be equipped with a series of FBGs, which amount to a periodic change in the refractive index manufactured into the optical fiber. In some implementations, the optical fiber may rely on Rayleigh scattering, which is a natural process arising from microscopic imperfections in the fiber. Techniques using FBG, Rayleigh scattering, both, etc. have the capacity to reflect specific wavelengths of light that may correspond to strain or changes in temperature within the fiber. Deformations in the fiber cause these wavelengths to shift, and the wavelength shift can be measured by a system component referred to as an interrogator 126 that measures wavelength shift by using Wavelength-Division Multiplexing (WDM), Optical Frequency-Domain Reflectometry (OFDR), etc. In doing so, the shape of the fiber can be estimated, for example, by employing one or more artificial intelligence techniques such as a trained machine learning system. By affixing a fiber instrumented as such, a sensing/measurement paradigm can be realized for 6DOF tracking systems, enabling the pose and shape measurements along the fiber in the co-ordinate space of the 6DOF tracking system. Additionally, in an optical tracking supported procedure, this can allow one to take pose measurements outside of the measurement volume or line-of-sight of the optical tracking system. In the context of an electromagnetic tracking supported procedure, this can allow one to take pose measurements in a region with high metal distortion where electromagnetic sensors would normally perform poorly, or one can use the fiber measurements to correct for electromagnetic/metal distortion.
While
As described above, the operation of the system 100 can be controlled by a computer system 128. In particular, the computer system 128 can be used to interface with the system 100 and cause the locations/orientations of the electromagnetic sensors 102, 110 and the segment of fiber within the guidewire 112 to be determined.
The segment of fiber within the guidewire 112 can include multiple components, structures, etc.
Optical fibers can include more or fewer components than those shown in
Pose information (e.g., position, orientation, shape) of an optical fiber can be defined, e.g., by a number of functions.
The simulation of the additional cores is performed by forming a curve for the core as a function of s and t, where s parametrizes the length of the core and t parameterizes the orientation of the core. Each additional core has a respective curve. For example, with three cores 402, 404, 406, there are three additional curves. Assuming the cores are evenly spaced around a circle of radius r, where r, is the radial distance of each core from the center of the shape, the location of each core relative to the center of the shape 400 can be determined from equation (1). In this example, t could be three values to evenly space the cores (e.g., 0, 2π/3, 4π/3). As discussed above, the shape 400 is comprised of three components, x(s), y(s) and z(s) and there are also three components each of T(s), N(s), and B(s).
Curve(s,t)=shape(s)+N(s)r cos(t)+B(s)r sin(t) (1)
With the cores simulated about the center of the shape 400, the angles and distances of the cores relative to the center of the shape 400 can be determined at each point s along the shape 400. With additional reference to
Once the angle and distance of each core relative to the shape 400 is determined, e.g., at each point s along the shape 400, the curvature κ of each individual cores 402, 404, 406 can be determined at each point s along the shape 400. The curvature K is determined by calculating for each core curve.
κi(s)=∥T′i(s)∥ (2)
Once information regarding κ and d is determined, e.g., relative to the shape 400, the strain ε, e.g., due to twisting and bending, on each core can be determined.
The beam 620 containing the interference patterns can be analyzed through a variety of methods. For example, the beam 620 can be analyzed for amplitude information, which is not phase-sensitive. In this case, the interference represented in the beam 620 is measured by a photodetector 622. The photodetector 622 converts light into electrical signals that are then processed by a data acquisition system 624. The data acquisition system 624 can include, e.g., one or more analog to digital (A/D) converters. One or more other signal processing techniques may also be employed in the data acquisition system 624 (e.g., filtering, etc.). The data processed by the data acquisition system 624 can be provided (e.g., uploaded) to a computer system 626. The computer system 626 can be trained by a machine learning (ML) process, where the data from the data acquisition system 624 can be converted into a shape of the MFOS 602.
Another technique of analyzing the beam 620 containing the interference patterns is analyzing both amplitude and phase information (e.g., a phase sensitive technique). For example, the beam 620 can be split into, e.g., orthogonal polarizations by a photodetector 628. For example, polarization component 630 refers to the component of the beam 620 perpendicular to the incident plane, while polarization component 632 refers to the component of the beam 620 in the plane. Each component is measured by a respective photodetectors 634, 636, which convert the respective light into electrical signals that are then processed by a data acquisition system 638. The data acquisition system 638 can include, e.g., one or more A/D converters and potentially components to perform one or more other signal processing techniques (e.g., filtering). The converted signals from the data acquisition system 638 can be provided (e.g., uploaded) to a computer system 640. The computer system 640 can be trained by a machine learning (ML) process, where the data from the data acquisition system 638 can be converted into a shape of the MFOS 602.
The computer systems (e.g., computer 626, 640) described can execute a training data collector, which utilizes the captured data to determine a position and orientation of a surgical tool (or other object). Referring to
Next, initial conditions for the simulated shape can be set (804). For example, the initial conditions can include an initial location and orientation of a first end of the shape. Other initial conditions can also be set (e.g., N(0), B(0)).
Then, T(s), N(s) and B(s) can calculated at discrete points s throughout the simulated shape (806). T(s) defines the orientation of the center of the shape at each point s. N(s) defines a radial axis of the shape, perpendicular to T(s) at each point s. B(s) defines another radial axis of the shape, perpendicular to T(s) and N(s) at each point s. T(s), N(s) and B(s) define the area of the shape at each point s along the simulated shape. The number of discrete points s throughout the shape can vary based on requirements for smoothness and are not necessarily equally spaced.
Next, additional fiber cores are simulated about the curve of the shape (808). For example, there can be three cores. In other implementations, there can be more or fewer fiber cores. In some implementations, there can be a core at the center of the shape. The generation of the additional cores can be performed, e.g., by forming a curve for the core as a function of s and t, where s parametrizes the length of the core and t parameterizes the orientation of the core. Each additional core can have a respective curve. For example, with three cores, there can be three additional curves. Assuming the cores are evenly spaced around a circle of radius r, where r, is the radial distance of each core from the center of the shape, the location of each core relative to the center of the shape can be determined as described above.
Then, the angles and distances of the cores relative to the center of the shape can be determined at discrete points s along the shape (810). For example, an angle Θ and distances r and d can be calculated for the angle and distance of a core from the center of the shape, as described above. The angle Θ and radius r can act as polar coordinates to define the position of the core relative to the center of the shape. A bend axis angle Θb can define the direction of a bend in the shape at point s.
Next, the curvature κ of each individual cores can be determined (812). For example, the curvature of each individual core can be determined for each point s along the shape, as described above.
Then, the strain ε on each core can be determined (814). For example, the strain can be due to twisting and bending. The strain P can be determined at each point s along the shape. The strain data can be represented as, e.g., vectors or matrices.
The strain ε on each core and the randomly simulated shape can then be used as ML training data. For example, the random shape and the strain data can be paired (816), and the ML training data can be used to train a machine learning system to determine the randomly simulated shape from the strain data. For example, the method 800 can be repeated as necessary to generate enough data to train the machine learning system. The machine learning system can be trained to receive core strains as input and output the shape of the MFOS.
To implement the machine learning system, one or more machine learning techniques may be employed. For example, supervised learning techniques may be implemented in which training is based on a desired output that is known for an input. Supervised learning can be considered an attempt to map inputs to outputs and then estimate outputs for previously unseen inputs (a newly introduced input). Unsupervised learning techniques may also be employed in which training is provided from known inputs but unknown outputs. Reinforcement learning techniques may also be used in which the system can be considered as learning from consequences of actions taken (e.g., inputs values are known and feedback provides a performance measure). In some arrangements, the implemented technique may employ two or more of these methodologies.
In some arrangements, neural network techniques may be implemented using the data representing the strain (e.g., a matrix of numerical values that represent strain values at each point s along a shape) to invoke training algorithms for automatically learning the shape and related information. Such neural networks typically employ a number of layers. Once the layers and number of units for each layer is defined, weights and thresholds of the neural network are typically set to minimize the prediction error through training of the network. Such techniques for minimizing error can be considered as fitting a model (represented by the network) to training data. By using the strain data (e.g., vectors or matrices), a function may be defined that quantifies error (e.g., a squared error function used in regression techniques). By minimizing error, a neural network may be developed that is capable of determining attributes for an input image. Other factors may also be accounted for during neutral network development. For example, a model may too closely attempt to fit data (e.g., fitting a curve to the extent that the modeling of an overall function is degraded). Such overfitting of a neural network may occur during the model training and one or more techniques may be implements to reduce its effects.
One type of machine learning referred to as deep learning may be utilized in which a set of algorithms attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations. Such deep learning techniques can be considered as being based on learning representations of data. In general, deep learning techniques can be considered as using a cascade of many layers of nonlinear processing units for feature extraction and transformation. The next layer uses the output from the previous layer as input. The algorithms may be supervised, unsupervised, combinations of supervised and unsupervised, etc. The techniques are based on the learning of multiple levels of features or representations of the data (e.g., strain data). As such, multiple layers of nonlinear processing units along with supervised or unsupervised learning of representations can be employed at each layer, with the layers forming a hierarchy from low-level to high-level features. By employing such layers, a number of parameterized transformations are used as data propagates from the input layer to the output layer. In one arrangement, the machine learning system uses a fifty-layer deep neutral network architecture (e.g., a ResNet50 architecture).
The machine learning system can be, e.g., a neural network. Additionally, multiple smaller neural networks may be put together sequentially to accomplish what a single large neural network does. This allows partitioning of neural network functions along the major FOSS technology blocks, mainly strain measurement, bend and twist calculation and shape/position. For example, a neural network can act as a Fourier Transformer. In some implementations, training smaller networks may be more efficient. For example, determining regression models on smaller chunks of data may be more efficient than determining models on larger sets of data.
First, a random shape is generated (902). For example, the random 3-D shape can be generated as a function of x(s), y(s) and z(s) to represent the overall generated shape. The generated shape may have constraints such that the shape represents typical usage scenarios, lengths, tortuosity, etc., as described above.
Next, a physical MFOS is positioned in the random generated shape (904). For example, a robotic MFOS can position itself into the random generated shape. In another example, a user can position the MFOS into the generated shape.
Then, the shape of the MFOS can be measured (906). For example, the shape of the MFOS can be measured, e.g., using a calibrating system. Measuring the shape of the MFOS using hardware equipment can improve the training data. For example, the shape of the MFOS may not be exact to the randomly simulated shape. Also, the measurements of the shape may not be exact, e.g., due to manufacturing tolerances. Along with collecting training data, the method 900 can be used to calibrate a system, e.g., similar to system 400.
Next, the strain in the MFOS can be measured (908). For example, the strain in the MFOS can be measured with a system similar to system 600. The strain P can be measured at discrete points s along the shape. The strain and the measured shape can then be used as ML training data. For example, the random shape and the strain data can be paired (910), and the ML training data can be used to train a machine learning system to determine the randomly generated shape from the strain data. The method 900 can be repeated as necessary to generate enough data to train the machine learning system. The machine learning system can be trained to receive strain data as input and output the shape of the MFOS. For example, the machine learning system can be trained similarly to the machine learning system 510, as described above.
The training data collected by the methods described above (e.g., by the training data generator 700) can be used to train a machine learning system. For example, one or more techniques may be implemented to determine shape information based on provided strains to a computer system (e.g., the computer system 126). For such techniques, information may be used from one or more data sources. For example, data (e.g., strain data) may be generated that represents the strain throughout an optical fiber. For one type of data collection method, training data can be generated using simulated shapes (e.g., similar to the method 900 of
Along with the simulated shapes, other techniques may be used in concert for determining shape information. One or more forms of artificial intelligence, such as machine learning, can be employed such that a computing process or device may learn to determine shape information from training data, without being explicitly programmed for the task. Using this training data, machine learning may employ techniques such as regression to estimate shape information. To produce such estimates, one or more quantities may be defined as a measure of shape information. For example, the level of strain in two locations may be defined. One or more conventions may be utilized to define such strains. Upon being trained, a learning machine may be capable of outputting a numerical value that represents the shape between two locations. Input to the trained learning machine may take one or more forms. For example, representations of strain data may be provided to the trained learning machine. One type of representation may be phase sensitive representations of the strain data (e.g., containing both amplitude and phase information, similar to
To implement such an environment, one or more machine learning techniques may be employed. For example, supervised learning techniques may be implemented in which training is based on a desired output that is known for an input. Supervised learning can be considered an attempt to map inputs to outputs and then estimate outputs for previously unused inputs. Unsupervised learning techniques may also be used in which training is provided from known inputs but unknown outputs. Reinforcement learning techniques may also be employed in which the system can be considered as learning from consequences of actions taken (e.g., inputs values are known and feedback provides a performance measure). In some arrangements, the implemented technique may employ two or more of these methodologies. For example, the learning applied can be considered as not exactly supervised learning since the shape can be considered unknown prior to executing computations. While the shape is unknown, the implemented techniques can check the strain data in concert with the collected shape data (e.g., in which a simulated shape is connected to certain strain data). By using both information sources regarding shape information, reinforcement learning technique can be considered as being implemented.
In some arrangements, neural network techniques may be implemented using the training data as well as shape data (e.g., vectors of numerical values that represent shapes) to invoke training algorithms for automatically learning the shapes and related information, such as strain data. Such neural networks typically employ a number of layers. Once the layers and number of units for each layer is defined, weights and thresholds of the neural network are typically set to minimize the prediction error through training of the network. Such techniques for minimizing error can be considered as fitting a model (represented by the network) to the training data. By using the shape data and the strain data, a function may be defined that quantifies error (e.g., a squared error function used in regression techniques). By minimizing error, a neural network may be developed that is capable of estimating shape information. Other factors may also be accounted for during neutral network development. For example, a model may too closely attempt to fit data (e.g., fitting a curve to the extent that the modeling of an overall function is degraded). Such overfitting of a neural network may occur during the model training and one or more techniques may be implements to reduce its effects.
Illustrated in
To train a learning machine (e.g., implemented as a neural network), the shape manager 1000 includes a shape learning machine trainer 1014 that employs both simulated shapes and physical shapes for training operations. In some arrangements, the trainer 1014 may calculate numerical representations of strain data (e.g., in vector form) for machine training.
As illustrated in
In general, the shape learning machine trainer 1014 may employ one or more techniques to produce the shape learning machine 1018 (e.g., a neural network). For example, the strain data for each shape in the shape databases may be used to define a function. By determining a shape from the provided strain data, the shape learning machine 1018 may be trained.
Once trained, the shape learning machine 1018 may be used to determine the shape of an optical fiber based on strain data (not used to train the machine). For example, strain data may be provided to the shape learning machine 1018. For example, numerical representations (e.g., vectors) of the strain data may be input and the shape learning machine 1018 may calculate a shape components for the optical fiber (e.g., components x(s), y(s), and z(s) of the shape). From the calculated shape components the shape learning machine 818 can render a 3D representation of the shape.
In the illustrated example shown in
Operations of the shape manager can include receiving data representing strains experienced at multiple positions along a fiber, the fiber being positioned within a surgical theater (1202). For example, the data can be received from techniques using FBG, Rayleigh scattering, both, etc., as described with reference to
The operations can also include determining a shape of the fiber from the received data representing the strains experienced at the multiple positions along the fiber by using a machine learning system, the machine learning system being trained using data representing shapes of fibers and data representing strains at multiple positions along each of the fibers (1204). For example, determining the shape can include utilizing training data as described with reference to
The operations can also include representing the determined shape as functions of an orientation of a center of the fiber, a first radial axis of the fiber, and a second radial axis of the fiber (1206). For example, with reference to
Regarding
Operations of the shape manager may include receiving data representing strains experienced in multiple positions along a fiber (1302). For example, data representing the strain (e.g., phase, amplitude, etc.) may be received for one or more fibers being used for training a machine learning system such as the shape learning machine 1018 (shown in
Computing device 1400 includes processor 1402, memory 1404, storage device 1406, high-speed interface 1408 connecting to memory 1404 and high-speed expansion ports 1410, and low speed interface 1412 connecting to low speed bus 1414 and storage device 1406. Each of components 1402, 1404, 1406, 1408, 1410, and 1412, are interconnected using various busses, and can be mounted on a common motherboard or in other manners as appropriate. Processor 1402 can process instructions for execution within computing device 1400, including instructions stored in memory 1404 or on storage device 1406, to display graphical data for a GUI on an external input/output device, including, e.g., display 1416 coupled to high-speed interface 1408. In some implementations, multiple processors and/or multiple buses can be used, as appropriate, along with multiple memories and types of memory. In addition, multiple computing devices 1400 can be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, a multi-processor system, etc.).
Memory 1404 stores data within computing device 1400. In some implementations, memory 1404 is a volatile memory unit or units. In some implementation, memory 1404 is a non-volatile memory unit or units. Memory 1404 also can be another form of computer-readable medium, including, e.g., a magnetic or optical disk.
Storage device 1406 is capable of providing mass storage for computing device 1400. In some implementations, storage device 1406 can be or contain a computer-readable medium, including, e.g., a floppy disk device, a hard disk device, an optical disk device, a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in a data carrier. The computer program product also can contain instructions that, when executed, perform one or more methods, including, e.g., those described above. The data carrier is a computer- or machine-readable medium, including, e.g., memory 1404, storage device 1406, memory on processor 1402, and the like.
High-speed controller 1408 manages bandwidth-intensive operations for computing device 1400, while low speed controller 1412 manages lower bandwidth-intensive operations. Such allocation of functions is an example only. In some implementations, high-speed controller 1408 is coupled to memory 1404, display 1416 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 1410, which can accept various expansion cards (not shown). In some implementations, the low-speed controller 1412 is coupled to storage device 1406 and low-speed expansion port 1414. The low-speed expansion port, which can include various communication ports (e.g., USB, Bluetooth®, Ethernet, wireless Ethernet), can be coupled to one or more input/output devices, including, e.g., a keyboard, a pointing device, a scanner, or a networking device including, e.g., a switch or router (e.g., through a network adapter).
Computing device 1400 can be implemented in a number of different forms, as shown in
Computing device 1450 includes processor 1452, memory 1464, and an input/output device including, e.g., display 1454, communication interface 1466, and transceiver 1468, among other components. Device 1450 also can be provided with a storage device, including, e.g., a microdrive or other device, to provide additional storage. Components 1450, 1452, 1464, 1454, 1466, and 1468, may each be interconnected using various buses, and several of the components can be mounted on a common motherboard or in other manners as appropriate.
Processor 1452 can execute instructions within computing device 1450, including instructions stored in memory 1464. The processor 1452 can be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor 1452 can provide, for example, for the coordination of the other components of device 1450, including, e.g., control of user interfaces, applications run by device 1450, and wireless communication by device 1450.
Processor 1452 can communicate with a user through control interface 1458 and display interface 1456 coupled to display 1454. Display 1454 can be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. Display interface 1456 can comprise appropriate circuitry for driving display 1454 to present graphical and other data to a user. Control interface 1458 can receive commands from a user and convert them for submission to processor 1452. In addition, external interface 1462 can communicate with processor 1442, so as to enable near area communication of device 1450 with other devices. External interface 1462 can provide, for example, for wired communication in some implementations, or for wireless communication in some implementations. Multiple interfaces also can be used.
Memory 1464 stores data within computing device 1450. Memory 1464 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 1474 also can be provided and connected to device 1450 through expansion interface 1472, which can include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 1474 can provide extra storage space for device 1450, and/or may store applications or other data for device 1450. Specifically, expansion memory 1474 can also include instructions to carry out or supplement the processes described above and can include secure data. Thus, for example, expansion memory 1474 can be provided as a security module for device 1450 and can be programmed with instructions that permit secure use of device 1450. In addition, secure applications can be provided through the SIMM cards, along with additional data, including, e.g., placing identifying data on the SIMM card in a non-hackable manner.
The memory 1464 can include, for example, flash memory and/or NVRAM memory, as discussed below. In some implementations, a computer program product is tangibly embodied in a data carrier. The computer program product contains instructions that, when executed, perform one or more methods. The data carrier is a computer- or machine-readable medium, including, e.g., memory 1464, expansion memory 1474, and/or memory on processor 1452, which can be received, for example, over transceiver 1468 or external interface 1462.
Device 1450 can communicate wirelessly through communication interface 1466, which can include digital signal processing circuitry where necessary. Communication interface 1466 can provide for communications under various modes or protocols, including, e.g., GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication can occur, for example, through radio-frequency transceiver 1468. In addition, short-range communication can occur, including, e.g., using a Bluetooth®, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 1470 can provide additional navigation- and location-related wireless data to device 1450, which can be used as appropriate by applications running on device 1450.
Device 1450 also can communicate audibly using audio codec 1460, which can receive spoken data from a user and convert it to usable digital data. Audio codec 1460 can likewise generate audible sound for a user, including, e.g., through a speaker, e.g., in a handset of device 1450. Such sound can include sound from voice telephone calls, recorded sound (e.g., voice messages, music files, and the like) and also sound generated by applications operating on device 1450.
Computing device 1450 can be implemented in a number of different forms, as shown in
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include one or more computer programs that are executable and/or interpretable on a programmable system. This includes at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to a computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions.
To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for presenting data to the user, and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be a form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback). Input from the user can be received in a form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a backend component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a frontend component (e.g., a client computer having a user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or a combination of such backend, middleware, or frontend components. The components of the system can be interconnected by a form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
In some implementations, the components described herein can be separated, combined or incorporated into a single or combined component. The components depicted in the figures are not intended to limit the systems described herein to the software architectures shown in the figures.
A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other embodiments are within the scope of the following claims.
This application claims priority under 35 USC § 119(e) to U.S. Patent Application Ser. No. 63/423,755, filed on Nov. 8, 2022, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63423755 | Nov 2022 | US |