Patents by Inventor Toby Sharp
Toby Sharp has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8422769Abstract: Methods of image segmentation using reduced foreground training data are described. In an embodiment, the foreground and background training data for use in segmentation of an image is determined by optimization of a modified energy function. The modified energy function is the energy function used in image segmentation with an additional term comprising a scalar value. The optimization is performed for different values of the scalar to produce multiple initial segmentations and one of these segmentations is selected based on pre-defined criteria. The training data is then used in segmenting the image. In other embodiments further methods are described: one places an ellipse inside the user-defined bounding box to define the background training data and another uses a comparison of properties of neighboring image elements, where one is outside the user-defined bounding box, to reduce the foreground training data.Type: GrantFiled: March 5, 2010Date of Patent: April 16, 2013Assignee: Microsoft CorporationInventors: Carsten Curt Eckard Rother, Toby Sharp, Andrew Blake, Vladimir Kolmogorov
-
Patent number: 8411948Abstract: A method of up-sampling binary images for segmentation is described. In an embodiment, digital images are down-sampled before segmentation. The resulting initial binary segmentation, which has a lower resolution than the original image, is then up-sampled and smoothed to generate an interim non-binary solution which has a higher resolution than the initial binary segmentation. The final binary segmentation for the image is then computed from the interim non-binary solution based on a threshold. This method does not use the original image data in inferring the final binary segmentation solution from the initial binary segmentation. In an embodiment, the method may be applied to all images and in another embodiment, the method may be used for images which comprise a large number of pixels in total or in single dimension and smaller images may not be down-sampled before segmentation.Type: GrantFiled: March 5, 2010Date of Patent: April 2, 2013Assignee: Microsoft CorporationInventors: Carsten Curt Eckard Rother, Toby Sharp
-
Patent number: 8351654Abstract: Image processing using geodesic forests is described. In an example, a geodesic forest engine determines geodesic shortest-path distances between each image element and a seed region specified in the image in order to form a geodesic forest data structure. The geodesic distances take into account gradients in the image of a given image modality such as intensity, color, or other modality. In some embodiments, a 1D processing engine carries out 1D processing along the branches of trees in the geodesic forest data structure to form a processed image. For example, effects such as ink painting, edge-aware texture flattening, contrast-aware image editing, forming animations using geodesic forests and other effects are achieved using the geodesic forest data structure. In some embodiments the geodesic forest engine uses a four-part raster scan process to achieve real-time processing speeds and parallelization is possible in many of the embodiments.Type: GrantFiled: April 28, 2009Date of Patent: January 8, 2013Assignee: Microsoft CorporationInventors: Antonio Criminisi, Toby Sharp
-
Patent number: 8290295Abstract: A system for multi-modal mapping of images is described. Embodiments are described where the image mapping system is used for visualizing high dynamic range images such as medical images, satellite images, high dynamic range photographs and the like and also for compressing such images. In examples, high bit-depth images are tone-mapped for display on equipment of lower bit-depth without loss of detail. In embodiments, the image mapping system computes statistics describing an input image and fits a multi-modal model to those statistics efficiently. In embodiments, the multi-modal model is a Gaussian mixture model and a plurality of sigmoid functions corresponding to the multi-modal model are obtained. In an embodiment the sigmoid functions are added to form a tone-mapping function which is used to transform a high bit-depth image such as 16 or 12 bits per pixel to a low bit-depth image such as 8 bits per pixel.Type: GrantFiled: March 3, 2009Date of Patent: October 16, 2012Assignee: Microsoft CorporationInventors: Antonio Criminisi, Evgeny Salnikov, Toby Sharp
-
Patent number: 8290882Abstract: Methods and apparatus for evaluating decision trees on a GPU are described. In an embodiment, the structure of a decision tree is converted into a 2D “tree” array with each row representing a node in the tree. Each row comprises details of any child nodes and the parameters which are required to perform the binary test at the node. A pixel shader can then be used to evaluate the decision tree in parallel for each input data point in an input array by navigating through rows in the 2D tree array. For each row, data is read from the input array dependent upon the parameters in the row and the shader moves to another row dependent upon the result of the binary test. On reaching a row which represents a leaf node, the pixel shader outputs evaluation results, such as a leaf node index or a probability distribution over classes.Type: GrantFiled: October 9, 2008Date of Patent: October 16, 2012Assignee: Microsoft CorporationInventor: Toby Sharp
-
Publication number: 20120257814Abstract: Image completion using scene geometry is described, for example, to remove marks from digital photographs or complete regions which are blank due to editing. In an embodiment an image depicting, from a viewpoint, a scene of textured objects has regions to be completed. In an example, geometry of the scene is estimated from a depth map and the geometry used to warp the image so that at least some surfaces depicted in the image are fronto-parallel to the viewpoint. An image completion process is guided using distortion applied during the warping. For example, patches used to fill the regions are selected on the basis of distortion introduced by the warping. In examples where the scene comprises regions having only planar surfaces the warping process comprises rotating the image. Where the scene comprises non-planar surfaces, geodesic distances between image elements may be scaled to flatten the non-planar surfaces.Type: ApplicationFiled: April 8, 2011Publication date: October 11, 2012Applicant: Microsoft CorporationInventors: Pushmeet KOHLI, Toby SHARP, Carsten Curt Eckard ROTHER
-
Publication number: 20120166462Abstract: The present discussion relates to automated image data processing and visualization. One example can facilitate generating a graphical user-interface (GUI) from image data that includes multiple semantically-labeled user-selectable anatomical structures. This example can receive a user selection of an individual semantically-labeled user-selectable anatomical structure. The example can locate a sub-set of the image data associated with the individual semantically-labeled user-selectable anatomical structure and can cause presentation of the sub-set of the image data on a subsequent GUI.Type: ApplicationFiled: December 28, 2010Publication date: June 28, 2012Applicant: Microsoft CorporationInventors: Sayan D. Pathak, Antonio Criminisi, Steven J. White, Liqun Fu, Khan M. Siddiqui, Toby Sharp, Ender Konukoglu, Bryan Dove, Michael T. Gillam
-
Publication number: 20110293180Abstract: Foreground and background image segmentation is described. In an example, a seed region is selected in a foreground portion of an image, and a geodesic distance is calculated from each image element to the seed region. A subset of the image elements having a geodesic distance less than a threshold is determined, and this subset of image elements are labeled as foreground. In another example, an image element from an image showing at least a user, a foreground object in proximity to the user, and a background is applied to trained decision trees to obtain probabilities of the image element representing one of these items, and a corresponding classification assigned to the image element. This is repeated for each image element. Image elements classified as belonging to the user are labeled as foreground, and image elements classified as foreground objects or background are labeled as background.Type: ApplicationFiled: May 28, 2010Publication date: December 1, 2011Applicant: Microsoft CorporationInventors: Antonio Criminisi, Jamie Daniel Joseph Shotton, Andrew Fitzgibbon, Toby Sharp, Matthew Darius Cook
-
Publication number: 20110227934Abstract: Architecture for volume rendering is described. In an embodiment volume rendering is carried out at a data centre having a cluster of rendering servers connected using a high bandwidth connection to a database of medical volumes. For example, each rendering server has multiple graphics processing units each with a dedicated device thread. For example, a surgeon working from home on her netbook or thin client is able to have a medical volume rendered remotely at one of the rendering servers and the resulting 2D image sent to her over a relatively low bandwidth connection. In an example a master rendering server carries out load balancing at the cluster. In an example each rendering server uses a dedicated device thread for each graphics processing unit in its control and has multiple calling threads which are able to send rendering instructions to appropriate ones of the device threads.Type: ApplicationFiled: March 19, 2010Publication date: September 22, 2011Applicant: Microsoft CorporationInventor: Toby Sharp
-
Publication number: 20110228055Abstract: Space skipping for multi-dimensional image rendering is described. In an embodiment a ray-casting engine is used to form a two dimensional image from an at least three dimensional image volume by computing rays extending from a camera location, through the two dimensional image and into the volume. For example, a space skipping logic is used to clip the rays such that computationally expensive aspects of ray-casting only need to be performed along the clipped rays. For example a volume pyramid is formed by repeatedly reducing the resolution of the volume data. In an example, each ray is intersected with the lowest resolution volume of the pyramid and clipped using data from that volume. In examples, the clipping is then repeated at higher resolutions in order to clip the ray closely to non-transparent voxels in the volume and optimize the task of rendering the image.Type: ApplicationFiled: March 22, 2010Publication date: September 22, 2011Applicant: Microsoft CorporationInventor: Toby Sharp
-
Publication number: 20110228997Abstract: Medical image rendering is described. In an embodiment a medical image visualization engine receives results from an organ recognition system which provide estimated organ centers, bounding boxes and organ classification labels for a given medical image. In examples the visualization engine uses the organ recognition system results to select appropriate transfer functions, bounding regions, clipping planes and camera locations in order to optimally view an organ. For example, a rendering engine uses the selections to render a two-dimensional image of medical diagnostic quality with minimal user input. In an embodiment a graphical user interface populates a list of organs detected in a medical image and a clinician is able to select one organ and immediately be presented with the optimal view of that organ. In an example opacity of background regions of the medical image may be adjusted to provide context for organs presented in a foreground region.Type: ApplicationFiled: March 17, 2010Publication date: September 22, 2011Applicant: Microsoft CorporationInventors: Toby Sharp, Antonio Criminisi, Khan Mohammad Siddiqui
-
Publication number: 20110216965Abstract: Methods of image segmentation using reduced foreground training data are described. In an embodiment, the foreground and background training data for use in segmentation of an image is determined by optimization of a modified energy function. The modified energy function is the energy function used in image segmentation with an additional term comprising a scalar value. The optimization is performed for different values of the scalar to produce multiple initial segmentations and one of these segmentations is selected based on pre-defined criteria. The training data is then used in segmenting the image. In other embodiments further methods are described: one places an ellipse inside the user-defined bounding box to define the background training data and another uses a comparison of properties of neighboring image elements, where one is outside the user-defined bounding box, to reduce the foreground training data.Type: ApplicationFiled: March 5, 2010Publication date: September 8, 2011Applicant: Microsoft CorporationInventors: Carsten Curt Eckard Rother, Toby Sharp, Andrew Blake, Vladimir Kolmogorov
-
Publication number: 20110216976Abstract: Methods of updating image segmentation following user input are described. In an embodiment, the properties used in computing the different portions of the image are updated as a result of one or more user inputs. Image elements which have been identified by a user input are given more weight when updating the properties than other image elements which have already been assigned to a particular portion of the image. In another embodiment, an updated segmentation is post-processed such that only regions which are connected to an appropriate user input are updated.Type: ApplicationFiled: March 5, 2010Publication date: September 8, 2011Applicant: Microsoft CorporationInventors: Carsten Curt Eckard Rother, Toby Sharp, Andrew Blake, Vladimir Kolmogorov
-
Publication number: 20110216975Abstract: A method of up-sampling binary images for segmentation is described. In an embodiment, digital images are down-sampled before segmentation. The resulting initial binary segmentation, which has a lower resolution than the original image, is then up-sampled and smoothed to generate an interim non-binary solution which has a higher resolution than the initial binary segmentation. The final binary segmentation for the image is then computed from the interim non-binary solution based on a threshold. This method does not use the original image data in inferring the final binary segmentation solution from the initial binary segmentation. In an embodiment, the method may be applied to all images and in another embodiment, the method may be used for images which comprise a large number of pixels in total or in single dimension and smaller images may not be down-sampled before segmentation.Type: ApplicationFiled: March 5, 2010Publication date: September 8, 2011Applicant: Microsoft CorporationInventors: Carsten Curt Eckard Rother, Toby Sharp
-
Publication number: 20110141121Abstract: Parallel processing for distance transforms is described. In an embodiment a raster scan algorithm is used to compute a distance transform such that each image element of a distance image is assigned a distance value. This distance value is a shortest distance from the image element to the seed region. In an embodiment two threads execute in parallel with a first thread carrying out a forward raster scan over the distance image and a second thread carrying out a backward raster scan over the image. In an example, a thread pauses when a cross-over condition is met until the other thread meets the condition after which both threads continue. In embodiments distances may be computed in Euclidean space or along geodesics defined on a surface. In an example, four threads execute two passes in parallel with each thread carrying out a raster scan over a different quarter of the image.Type: ApplicationFiled: December 11, 2009Publication date: June 16, 2011Applicant: Microsoft CorporationInventors: Toby Sharp, Antonio Criminisi
-
Publication number: 20100272367Abstract: Image processing using geodesic forests is described. In an example, a geodesic forest engine determines geodesic shortest-path distances between each image element and a seed region specified in the image in order to form a geodesic forest data structure. The geodesic distances take into account gradients in the image of a given image modality such as intensity, color, or other modality. In some embodiments, a 1D processing engine carries out 1D processing along the branches of trees in the geodesic forest data structure to form a processed image. For example, effects such as ink painting, edge-aware texture flattening, contrast-aware image editing, forming animations using geodesic forests and other effects are achieved using the geodesic forest data structure. In some embodiments the geodesic forest engine uses a four-part raster scan process to achieve real-time processing speeds and parallelization is possible in many of the embodiments.Type: ApplicationFiled: April 28, 2009Publication date: October 28, 2010Applicant: Microsoft CorporationInventors: Antonio Criminisi, Toby Sharp
-
Publication number: 20100226547Abstract: A system for multi-modal mapping of images is described. Embodiments are described where the image mapping system is used for visualizing high dynamic range images such as medical images, satellite images, high dynamic range photographs and the like and also for compressing such images. In examples, high bit-depth images are tone-mapped for display on equipment of lower bit-depth without loss of detail. In embodiments, the image mapping system computes statistics describing an input image and fits a multi-modal model to those statistics efficiently. In embodiments, the multi-modal model is a Gaussian mixture model and a plurality of sigmoid functions corresponding to the multi-modal model are obtained. In an embodiment the sigmoid functions are added to form a tone-mapping function which is used to transform a high bit-depth image such as 16 or 12 bits per pixel to a low bit-depth image such as 8 bits per pixel.Type: ApplicationFiled: March 3, 2009Publication date: September 9, 2010Applicant: Microsoft CorporationInventors: Antonio Criminisi, Evgeny Salnikov, Toby Sharp
-
Publication number: 20100094800Abstract: Methods and apparatus for evaluating decision trees on a GPU are described. In an embodiment, the structure of a decision tree is converted into a 2D “tree” array with each row representing a node in the tree. Each row comprises details of any child nodes and the parameters which are required to perform the binary test at the node. A pixel shader can then be used to evaluate the decision tree in parallel for each input data point in an input array by navigating through rows in the 2D tree array. For each row, data is read from the input array dependent upon the parameters in the row and the shader moves to another row dependent upon the result of the binary test. On reaching a row which represents a leaf node, the pixel shader outputs evaluation results, such as a leaf node index or a probability distribution over classes.Type: ApplicationFiled: October 9, 2008Publication date: April 15, 2010Applicant: Microsoft CorporationInventor: Toby Sharp
-
Publication number: 20090290795Abstract: A method of geodesic image and video processing is proposed. In an embodiment, the method uses a geodesic distance transform to construct an image filter. The filter can be used in a variety of image editing operations such as segmentation, denoising, texture smoothing, image stitching and cartooning. In one embodiment, the method may be made efficient by utilizing parallelism of the algorithm to carry out processing steps on at least two processing cores concurrently. This efficiency may enable high-resolution images and video to be processed at ‘real time’ rates without the need for specialist hardware.Type: ApplicationFiled: May 23, 2008Publication date: November 26, 2009Applicant: Microsoft CorporationInventors: Antonio Criminisi, Toby Sharp
-
Publication number: 20080178087Abstract: Using in-scene editing, an added title, or object, moves as the camera moves through the imaged scene. Previously this has been complex to achieve, requiring expert users to explicitly align 3D coordinate systems in the image sequence and on the added title or object. For example, this has been used to add 3D objects into live-action footage in big-budget movies or advertising. A simple, easy to use system is described for achieving in-scene editing. A user specifies projection constraints by making 2D actions on one or more images in the image sequence. A 3D motion trajectory is computed for a 3D object model on the basis of the specified projection constraints and a smoothness indicator. Using the computed trajectory the 3D object model is added to the image sequence. Projection constraints may be added, amended or deleted to position the 3D object model and/or to animate it.Type: ApplicationFiled: January 19, 2007Publication date: July 24, 2008Applicant: Microsoft CorporationInventors: Andrew Fitzgibbon, Toby Sharp