This invention generally relates to a technology for tensor voting which can be applied to multidimensional data.
The technique of tensor voting has been widely used in the fields of image processing and computer vision (e.g., stereo vision and saliency estimation). It typically involves describing the context of receiver points defined in multidimensional data by the accumulation of local information. Local information is accumulated by propagating information from surrounding voter points to the receiver points.
Each voter point casts a separate tensor vote on each receiver point.
The tensor vote TV(V→R) cast by a voter point V on a receiver point R is computed by Equation (1):
The cumulative vote (TVRCUM) received at the receiver point R is the sum of all the second order tensors cast by the voter points on this receiver point R, as shown in Equation (2):
The tensor voting score (δR) of the receiver point R is the absolute difference between the positive eigenvalues of TVRCUM, as shown in Equation (3):
∴δR=λ1(TVCUMR)−λ2(TVCUMR)
The higher the tensor voting score δR is, the higher the probability that the receiver point R lies on or near the boundary of a smooth curve.
The tensor voting score may be used to identify an object based on its contextual information. In calculating the tensor voting score (δR) at each receiver point, however, known techniques assume a constant weight for all voter points (sees for e.g., Equation (2)), and do not distinguish between voter points. No information is propagated between the voter points because the voting scheme is performed only pair-wise between a voter point and a receiver point. This technique often results in false identifications of the object (i.e. false positives), because there is no discrimination between receiver points lying inside smooth bounded areas and points lying outside the bounded areas.
As such, what is needed is an improved technique for identifying objects in multidimensional images with a higher level of accuracy.
A method and system for facilitating a tensor voting scheme is described herein. The tensor voting scheme includes determining at least one voter point and at least one receiver point from input data, and determining a tensor vote directed from the receiver point to the voter point.
The same numbers are used throughout the drawings to reference like elements and features
a illustrates a geometric layout of how a tensor vote is typically cast by a voter point on a receiver point, and
a illustrates a geometric layout of how a tensor vote is cast in accordance with one implementation, and
a-b illustrate images of the tensor voting scores for a pulmonary embolism candidate and a non-pulmonary embolism candidate respectively.
The following description sets forth techniques that facilitate a tensor voting scheme. This scheme may be used in many applications, including computer vision (e.g., stereo vision and saliency estimation), pattern recognition and image processing applications, and any applications which involve multidimensional data possibly contaminated by noise. The techniques may be implemented in many ways, including (but not limited to) computer systems, program modules, dedicated electronics (such as medical imaging devices), and as part of computer networks.
In one embodiment, computer system 201 comprises a processor or central processing unit (CPU) 204 coupled to one or more processor-readable media 206 (e.g., computer storage or memory), display device 208 (e.g., monitor) and various input devices 210 (e.g., mouse or keyboard) via an input-output interface 212. Computer system 201 may further include support circuits such as a cache, power supply, clock circuits and a communications bus. Processor-readable media 206 may include random access memory (RAM), read only memory (ROM), disk drive, tape drive, and other types of memories, or a combination thereof.
The tensor voting techniques described herein may be implemented as processor-executable instructions stored in processor-readable media 206. The processor-executable instructions may be executed by CPU 204 to process the input signal (e.g., computed tomography or CT images) from signal source 214 (e.g., CT scanner). As such, the computer system 201 is a general-purpose computer system that becomes a specific purpose computer system when executing the processor-executable instructions.
Computer system 201 may also include an operating system and microinstruction code. The various tensor voting techniques described herein may be implemented either as part of the microinstruction code or as part of an application program or software product, or combination thereof, which is executed via the operating system. Various other peripheral devices, such as additional data storage devices and printing devices, may be connected to the computer system 201.
At 302, at least one voter point V is determined from input data. In one embodiment, the tensor voting system generates a set of voter points (Vi) from the input data, wherein 1≦i≦Nv. The input data may include, for example, computed tomography (CT) images, magnetic resonance imaging (MRI) data or any other type of input data. For ease of understanding, the input data is described herein as two-dimensional image data. It should be understood that the techniques described herein may be extended to M-dimensional input data, wherein M may be any integer equal to or more than 2.
The number of voter points (Nv) may be equal to or less than the total number of input data points. In one embodiment, voter point V may be located at any input data point. Alternatively, to increase computational efficiency, voter points may be determined by selecting input data points with magnitude |Sv| larger than a threshold value. The threshold value may be determined explicitly, implicitly, heuristically and/or empirically. For example, the threshold value may be derived from the mean of the magnitudes of the input data points. Other methods of determining the threshold value may also be used.
At 304, at least one receiver point R is determined from the input data. In one embodiment, the tensor voting system generates a set of receiver points (Rk) from the input data, wherein 1≦k≦NR. The number of receiver points (NR) may be equal to or less than the total number of input data points. In one embodiment, the receiver point R may be located at any input data point. Each receiver point represents a site in M-dimensional space, wherein surrounding voter points Vi vote on whether this receiver point R is within a smooth region or not.
At 306, the tensor voting system determines a tensor vote TV′ (V→R) for each receiver point R. Each voter point V casts a separate tensor vote TV′ on each receiver point R.
Tensor vote TV′ may be computed by the following Equation (4):
Tensor vote TV′ may be a second order tensor vote. Further, tensor vote TV′ may include a rank-1 positive semi-definite matrix. TV′ is dependent on the orientation of the voter point relative to the receiver point (θ), the distance between the voter point and the receiver point (1), and its stick tensor with magnitude denoted as |Sv|. The stick tensor provides a simple mathematical formulation and a strong relation to edges and/or gradients used in image processing and computer vision applications. Other types of tensors with different tensor orientation and/or magnitudes may also be used.
Tensor vote TV′ is determined by decay function DF′. Decay function DF′, in one embodiment, comprises a voter decay function (Ev) and a distance decay function (E1), defined under a scale factor (σ). Scale factor σ is a free parameter that determines the resolution of the final solution, by controlling the size of the voting neighborhood and the strength of the votes. For example, a small smooth region has a higher voting response when it is computed using a smaller scale.
Voter decay function Ev encodes the strength of a cast vote as an exponential function of the position of the receiver point relative to the voter point. In one embodiment, the voter decay function Ev favors receiver points that are in the direction of the voter stick tensor. Distance decay function El encodes the strength of a cast vote as an exponential function of the distance between the receiver point and the voter point.
Mixing factor (c) determines the effect of the distance decay function El relative to the voter decay function Ev. The mixing factor (c) may be dependent on the scale factor (σ). For example, the smaller the scale factor (σ), the smaller the mixing factor (c). Consequently, the smaller the mixing factor (c), the stronger the voter decay function Ev is relative to the distance decay function El. In such case, voter points along about the same direction but at farther distances from a receiver point R contribute more than other voter points. Conversely, the smaller the mixing factor (c), the stronger the distance decay function El is relative to the voter decay function Ev. In such case, voter points closer to the receiver point R contribute more than other voter points.
b illustrates a two-dimensional plot of the decay function DF′ of a voter point at the origin, wherein the magnitude of its stick tensor is a unit length (|Sv|=1) and is directed vertically upward. As can be seen in
Referring back to
Weight factors αi represent the probabilities of the corresponding voter points lying on the boundary of a smooth structure. These weight factors αi allow for communication between the voter points Vi, by numerically conveying the “agreement” of the voter points Vi on their relative “significance.” In one embodiment, a weight factor αi for a corresponding voter point Vi comprises a normalized tensor voting score, as shown in Equation (6).
The normalized tensor voting score comprises a tensor voting score δvi of the corresponding voter point Vi normalized by a sum of tensor voting scores δvj of all the voter points Vj, wherein 1≦j≦Nv. Tensor voting score δvj for voter point Vi may be determined by tensor votes cast by other voter points on voter point Vi. Similarly, tensor voting score δvj may be determined by tensor votes cast by other voter points on voter point Vj. Tensor voting scores δvi and δvj may be determined by Equations (1)-(3), as described above.
At 310, the tensor voting system determines a tensor voting score δR′ of the receiver point R Tensor voting score δR′ comprises an absolute difference between the two eigenvalues of TV′RCUM, as shown in Equation (7):
∴δR′=λ1(TV′RCUM)−λ2(TV′RCUM), for λ1(TV′RCUM)≧λ2(TV′RCUM) (7)
Generally, pulmonary embolism is a blockage in a pulmonary artery, caused by an embolus that is usually formed in the legs and travels to the heart before reaching the lungs. Such condition is typically very difficult to detect and can cause sudden death if not quickly and correctly diagnosed. The exemplary method 500 advantageously increases the efficiency and accuracy of detecting PE, by effectively discriminating between a pulmonary embolus lying within an artery or blood vessel, and false positives (e.g., lymph nodes) lying outside the artery or blood vessel.
At 510, at least one cutting plane 518 is extracted from multidimensional data 512. In one embodiment, multidimensional data 512 comprises computed tomography (CT) data, such as CT pulmonary angiogram (CTPA) scan data. CTPA is a medical diagnostic test used to diagnose pulmonary embolism. It employs computed tomography (CT) scanners to obtain an image of the pulmonary arteries. A CT image is a large three-dimensional multi-dimensional image, comprising multiple images produced by taking a series of X-ray images. Each X-ray image shows, for example, a slice of a pulmonary vessel 514 filled with contrast, appearing bright white. Any mass filling defects 516, such as an embolus or other matter, will appear dark in place of the white contrast. It should be noted that other types of data, such as magnetic resonance imaging (MRI) data, may also be used.
Multiple cutting planes may be extracted from the multidimensional data 512. Cutting plane 518 is defined about at least one candidate point 519. A candidate point 519 is located at a cluster of suspicious voxels or pixels where a pulmonary embolism is likely to be detected. The suspicious voxels may be determined during a quick preprocessing step. In one embodiment, cutting plane 518 comprises a pre-defined size. The predefined size may be explicitly, implicitly and/or heuristically set according to a chosen scale. The scale may be determined by the decay function, which causes the tensor magnitude to decay below a certain threshold after a certain number of pixels. Alternatively, the pre-defined size comprises the whole multi-dimensional image. Other methods of defining the size of cutting plane 518 are also useful.
Receiver points Ri are located at or near the candidate point 519 of the cutting planes 518. Voter points Vi may be defined on the cutting plane 518 at pixels where gradient energies exceed a predefined threshold. The predefined threshold comprises, for example, the sum of a mean and standard deviation of all the gradient energies within a cutting plane. Other methods of computing the predefined threshold are also useful. The stick tensors for these voter points Vi may be their corresponding two-dimensional gradient vectors.
At 520, tensor voting is performed on the cutting plane 518 to evaluate the probability of the candidate point 519 lying within an artery or blood vessel. For each receiver point Ri located at or near the candidate point, a tensor voting score δR′ is computed using the tensor voting method 300, described above with respect to
a and 6b illustrate how the tensor voting scores vary between PE candidates and non-PE candidates (false positives) respectively.
b shows images 630a-c of the voting scores of a non-PE candidate 635 (e.g., lymph node or false positive) along three cutting planes 640a-c. Since the non-PE candidate is lying outside the blood vessel, its corresponding voting score δR′ is low, as represented by the grey regions 638 in corresponding images 630a-c. Thus, non-PE candidates or false positives may be discriminated from PE candidates by examining the resulting images of tensor voting scores.
The application described herein may be extended to three-dimensional applications. For example, it may be used to detect 3D structures such as sphere-like structures (e.g., pulmonary nodules), half-sphere-like structures (e.g., colon polyps) and tubular structures (e.g., blood vessels and airways).
Although the one or more above-described implementations have been described in language specific to structural features and/or methodological steps, it is to be understood that other implementations may be practiced without the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of one or more implementations.
This application claims priority from “Tensor Voting Scheme,” U.S. Provisional Application No. 60/968,112 of Ghanem and Liang, filed Aug. 27, 2007, the contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60968112 | Aug 2007 | US |