The present invention relates generally to medical imaging and more particularly to automatic body part identification in medical imaging.
In medical imaging, such as computed tomography (CT), computed axial tomography (CAT), magnetic resonance imaging (MRI), and positron emission tomography (PET), it is necessary to identify and locate a target body part for imaging. Conventionally, a full body or a significantly large region that includes the target body part is pre-scanned to produce an overview image (e.g., a two dimensional low resolution x-ray image). A user manually marks the position of the intended target body part on the low resolution overview image to indicate to the medical imaging device the position information of the intended target body part. This manual operation is undesirable in medical image acquisition procedures because it significantly reduces the throughput of the medical image acquisition devices and increases the cost of operation.
Further, intended target body part (e.g., patient) movement may result in acquisition failure. Accordingly, to account for patient movement as well as low image quality, a user may be required to mark a region significantly larger than the intended target body part. This may result in unnecessary exposure of the non-target regions and larger than necessary image data size.
Identifying and locating target body parts reliably from low quality two-dimensional images is difficult. The appearance of body parts in overview images generally exhibits a significant variation across individuals. The position and size of body parts may also vary significantly. Low resolution overview images also tend to be of very low contrast. As such, it may be very difficult to differentiate target body parts and/or organs in these images. In addition, some images may have complex backgrounds which may further obfuscate the target body parts.
Therefore, alternative methods of body part identification and localization are required to improve system throughput and increase reliability in target body part identification and localization in medical imaging.
The present invention provides methods and apparatus for automatic body part identification and location in medical imaging. To automatically identify and locate body parts of in an image, an identification and location algorithm is used. This method establishes a reference frame in relation to the image. Then, a location of the head in relation to the frame is established. After upper and lower boundaries of the head are determined, a neck section of the image is identified. The neck section is identified using, at least in part, the lower boundary of the head section. The location of the neck section is then determined.
Similarly, a thorax cage section is identified and located positively below the neck section. In turn, the abdomen and pelvis are identified together and ultimately separately located. Various algorithms are employed for determining the boundaries of these body sections.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
The present invention generally provides methods and apparatus for automatic body part identification and localization in medical imaging. In at least one embodiment, a body part identification and localization method is performed to identify (e.g., recognize) and locate (e.g., determine the approximate boundaries of) a target body part from an input image. Using the method, commonly examined body parts may be identified and located in various input images. For example, the head section, the neck section, the thorax cage section, the abdomen section, and the pelvis section may be located and identified in both front view images and side view images. The body part identification and localization methods involve estimating global reference properties and applying a sequence of body part algorithms to recognize and locate a body part in an input image relative to the global reference properties.
Though discussed herein as systems and methods for body (e.g., patient, human) part identification and localization, it is understood that the systems and methods may be applied to identifying and/or localizing any whole or portion of any object. Similarly, though discussed herein in relation to medical imaging, the systems and methods may be applied to any imaging application (e.g., facial recognition, surveillance, art authentication, research, etc.).
A method 800 of automatic body part identification and localization is depicted in
Though discussed with specificity in methods 800-1300, the techniques employed herein may be generalized for automatic body part identification and localization. For example, in a recognition module, an object may be recognized and at a localization module, a position (e.g., a starting and an ending position) of the object may be located.
As related to medical terminology in the specific examples herein, it is noted that the location and/or range of a body part is defined by medical imaging acquisition protocols which may differ from typical anatomical definitions. For example, the head section as used herein is analogous to the brain region in medical imaging acquisition protocols. The details of body part identification and localization algorithms are depicted in the following sections.
The method begins at step 802. In step 804, an input image (e.g., full-body input image 100) is received.
In step 806, a global reference frame is established in relation to the input image 100. In input images, the valid image size, image quality, intensity level, position and/or size of a body part vary significantly. A set of image properties which include a region of interest (e.g., ROI 102) in an input image, globe intensity statistics such as a pixel intensity histogram in a ROI and a min/max pixel intensity in a ROI, a vertical symmetric axis (e.g., vertical symmetric axis 104), left and right straight boundaries (e.g., left straight boundary 106 and right straight boundary 108), and the top most position (e.g., upper starting boundary 110) need to be estimated from the image to establish a global reference frame to guide the identification and localization of body parts. Further details are included below with respect to
In step 808, a first body part is identified and subsequently located. Based on current information such as the global reference frame and the indication that no previous body part identification had been made, the first body part may be identified as a primary or originating part. This may be a head section (as discussed with respect to method 1000 and
In step 810, a second body part is identified and located. The second body part may be any body part which may be identified based at least in part on its proximity, adjacency, and/or relation to the first body part identified and located in step 808. This may be a neck section as discussed with respect to
In step 812, an Nth body part is identified and located. The Nth body part may be any body part which may be identified based at least in part on its proximity, adjacency, and/or relation to the first body part identified and located in step 808, the second body part identified in step 810, and/or any other body part identified in step 812. This may be a thorax cage section, an abdomen section, and/or a pelvis section as discussed with respect to
In step 904, a region of interest (e.g., ROI 102) is computed. In some embodiments, the ROI 102 is computed as a rectangular region with one or more pixel intensity (e.g., brightness) distributions similar to those of the region at the center of the image, which may be heuristically defined as the rectangle region at the center of the image with 40% of image width and 40% of image height. A threshold-based segmentation with a predetermined threshold value (e.g., the 40% percentile of the intensity level at the center region, etc.) is applied to the input image 100 to produce a binary image. The binary image is then cleaned using morphological operations and connected component analysis. A rectangular bounding box of the cleaned binary image is computed as the ROI 102. After the ROI 102 is established, other reference properties (e.g., histogram and min/max intensity level, etc.) are computed within the ROI 102.
In step 906, vertical symmetric axis 104 is estimated. For example, based on a peak position of a smoothed x-profile of the input image 100, vertical symmetric axis 104 is determined (e.g., estimated) within the estimated ROI 102.
In step 908, after the vertical symmetric axis 104 is estimated, left straight boundary 106 and right straight boundary 108 are determined. In at least one embodiment, a search algorithm looks leftward and rightward from the vertical symmetric axis 104 to search for the very first position with an x-profile value less than a predetermined threshold (e.g., 10%) of the peak value in the left part and the right part of the smoothed x-profile to compute the left straight boundary 106 and the right straight boundary 108, respectively.
In step 910, the upper starting boundary 110 is determined. In at least one embodiment a profile jump detection algorithm, which detects the largest profile difference between a pair of consecutive neighboring sections (e.g., with length of 5) of y positions in a smoothed y-profile, is applied to detect the top most position of the image which is typically in the upper part of the input image. The smoothed x-profile and smoothed y-profile may be computed by applying a Gaussian filter (e.g., of size=7 and s.t.d.=2.0, etc.) a few (e.g., 2-5) times to the corresponding profiles, respectively. Of course, other methods of determining the upper boundary 110 may be used. The method ends at step 912.
In step 1004, input image 100 is subjected to a threshold to determine a binary image. That is, in at least one embodiment, a pixel with an intensity value larger than a pre-defined threshold value (e.g., between 1 and 0) is assigned. In the same or alternative embodiments, a predetermined intensity level (e.g., corresponding to a 40th percentile of the intensity level in the ROI 102) is used. The resultant binary image is cleaned using morphological operations and connected component analysis similar to step 904 above.
In step 1006, input image 100 is searched to find whether the image depicts a full head (e.g., as in
In step 1008, a boundary chain is created. Beginning with a current top most position (e.g., upper starting boundary 110) the vertical symmetric axis 104 is searched for a boundary pixel (e.g., point) as a starting point. A boundary pixel is a pixel on a segmented object that has neighboring background pixel(s). From the boundary pixel, leftward and rightward extensions generate a boundary chain.
In step 1010, it is determined it a head exists in the input image 100. That is, a head-like circular shape is searched for in the input image 100. The boundary chain is evaluated using an evaluation algorithm (e.g., a generalized Hough transform-based algorithm) to check whether the boundary chain forms a round shape centered about the vertical symmetric axis 104. If it does, then a head section is recognized (e.g., identified) and the method passes to step 1012. If not, the method ends at step 1018.
In step 1014, a top and bottom of the identified head section are located as the top and bottom of the circular shape that best match the round-shaped boundary chain. That is, head upper boundary 202 and a head lower boundary 204 are located.
In step 1016, the current top most position (e.g., upper starting boundary 110) is updated to a new current top most position at the bottom of the head section (e.g., head lower boundary 204 is also the new current top most position). The method ends at step 1018.
In step 1104, input image 100 is subjected to threshold using a predetermined intensity level (e.g., corresponding to a 40th percentile of the intensity level in the ROI 102) and the resultant binary image is cleaned using morphological operations and connected component analysis similar to steps 1004 and 904 above.
In step 1106, a search is conducted to find a boundary pixel. In one embodiment, a search is conducted upward from the current top most position (e.g., head lower boundary 204) on the vertical symmetric axis 104. If no boundary pixel is found, a search is conducted downward from the current top most position (e.g., head lower boundary 204) on the vertical symmetric axis 104. If no boundary pixel is found, the method ends at step 1124.
A check is performed in step 1108 to determine if a boundary pixel is found during a search in step 1106. If a boundary pixel is found in any search, the found boundary pixel is treated as the starting pixel and a boundary chain is generated through leftward and rightward extension in step 1110, as above. If no boundary pixel is found, the method ends at step 1124.
In step 1112, the boundary chain is evaluated using an algorithm (e.g., a generalized Hough transform-based algorithm) to check whether the boundary chain forms a round or partial round shape (e.g., a circle) centered about the vertical symmetric axis 104. If such shapes are found, a neck section may be identified in steps 1114-1118. If not, the method ends at step 1124.
In step 1114, the bottom of the circle is computed to best match the round-shaped boundary chain. Then, in step 1116, the symmetry of the binary image is determined with respect to the vertical symmetric axis 104 inside a rectangular region 402 with a width of the diameter of the boundary chain and the height being twice the width.
If the binary image is symmetric, the method passes to step 1118. Here, a neck section is identified and located. In an exemplary embodiment, the neck section is identified with the neck upper boundary 404 located as bottom of the head (e.g., head lower boundary 204) minus 20% of the boundary chain circle diameter and the neck lower boundary 406 is located at the bottom of the boundary chain circle plus 200% of the circle diameter. Of course, other relationships to the head, head boundaries 202 and 204, and/or boundary chain circle may be used.
If the binary image is not symmetric, the method passes to step 1120 where the neck section is computed. Here, the y-profile of the neck section is computed. In at least one embodiment, the y-profile extends a distance of 200% of the boundary chain circle diameter from current top most position (e.g., head lower boundary 204) along the vertical symmetric axis 104. The largest profile difference between a pair of consecutive neighboring sections extending in the y-profile is estimated. If the estimated value is larger than a threshold (e.g., 10% of the mean profile), a neck section is identified. The position of the largest profile difference, increased by a percentage (e.g., 20%) of the circle diameter, is computed as the neck lower boundary 406. The neck upper boundary 404 is located at the bottom of the circle minus a percentage (e.g., 20%) of the circle diameter. Of course, other relationships to the head, head boundaries 202 and 204, and/or boundary chain circle may be used.
After either step 1118 or 1120, in step 1122, the top most position is updated to the bottom of the neck section. That is, the neck lower boundary 406 becomes the new current top most position. The method ends at step 1124.
In step 1204, the input image 100 is subjected to threshold using a predetermined intensity value (e.g., corresponding to 75th percentile intensity level in the ROI 102).
In step 1206, the proximity of the left straight boundary 106 and right straight boundary 108 is searched and all vertically formed and convex-like curve segments that are within a predetermined (e.g., within 20% of ROI 102) width away from the left straight boundary 106 or right straight boundary 108, respectively, are registered to form a left curve segment list and a right curve segment list. The searching region may be a rectangle at the current top most position (e.g., neck lower boundary 406) with a width approximately equal to a width of ROI 102 and a height of approximately 200% of the width.
In step 1208, an interpolation is performed between the low end of each curve segment in the curve segment lists and the vertical symmetric axis 104 with the upper section of an ellipse-like curve based on the tendency at the low end of the curve segment and the distance to the vertical symmetric axis 104 to form a curve segment starting from the vertical symmetric axis at top.
In step 1210, each interpolated curve segment is paired in one curve segment list with a curve segment in the other curve segment list that has similar distance to the vertical symmetric axis 104 and similar interpolation point on the vertical symmetric axis 104. If there is no corresponding interpolation point found, a symmetric mapping of the curve segment about the vertical symmetric axis 104 is generated as its symmetric partner.
In step 1212, a check is performed to determine, for each symmetric pair of curve segments, whether the image is symmetric with respect to the vertical symmetric axis 104. If it is symmetric, the method passes to step 1214 and a front view thorax cage-like template image is generated. If it is not symmetric, a side view thorax cage-like template image is generated at step 1216.
In step 1218, the generated template image is matched against the input image 100. If a normalized correlation coefficient is larger than a predetermined value (e.g., 0.4 for the front view and 0.3 for the side view), then a thorax cage section is identified. If the normalized correlation coefficient is not larger than the predetermined value, no thorax cage section is determined and the method end at step 1224.
Following thorax cage section identification in step 1218, the thorax cage upper boundary 502 is established at the interpolation point on the vertical symmetric axis 104 and the thorax cage lower boundary 504 is established as the lowest end of the paired curve segments in step 1220.
In step 1222, the top most position is updated as the thorax cage lower boundary 504. The method ends at step 1224.
In step 1304, the input image 100 is checked to determine symmetry corresponding to the vertical symmetric axis 104 around the current top most position (e.g., thorax cage lower boundary 504). If input image 100 is not symmetric, the method ends at step 1326.
In step 1306, input image 100 is segmented from the top most position (e.g., thorax cage lower boundary 504) using a predetermined threshold (e.g., the 75th percentile of the intensity level within two side regions next to a longitudinal (e.g., spinal) region) and the segmentation result is filtered using multi-pass median filter (e.g., of window size 3 pixels×3 pixels). A longitudinal (e.g., spinal) region is a region within 15% ROI width-span of the vertical symmetric axis.
In step 1308, the y-profile of the segmented image within the longitudinal region is computed. In step 1310, the y-profile is smoothed. For example, it may be smoothed using a Gaussian filter with size=5 and s.t.d.=2 a number (e.g., 5, etc.) times.
In stop 1312, the largest profile difference, PD, between a pair of consecutive neighboring sections in the smoothed y-profile is found. In at least one embodiment the section size is 5, though other sizes may be used.
In step 1314, the x-profile is computed at a local region starting from the y position corresponding to the largest PD, centered at the vertical symmetric axis 104 with both width and height being within a predetermined amount (e.g., within 50%) of the ROI 102 width. in step 1316, the deepest valley, PV, is detected near the center of the x-profile.
In step 1318, the PD is checked. If PD larger than 0.4 times the y-profile mean and PV larger than 0.2 times the x-profile mean then the abdomen section is identified and the method passes to step 1320. If not, the method ends at step 1326.
At step 1320, the abdomen boundaries are established. The abdomen upper boundary 602 is established as the top most position (e.g., thorax cage lower boundary 504) minus a percentage (e.g., 10%) of the ROI 102 width and the abdomen lower boundary 604 is established as the y-position of PV.
In step 1322, a check is performed to identify the pelvis section. If PD is larger than 0.4 times the y-protile mean, PV is larger than 0.2 times the x-profile mean, and the distance from PD to the bottom of the ROI is larger than a percentage (e.g., 15%) of the ROI 102 width, then a pelvis section is identified and the method passes to step 1324. Otherwise, the method ends at step 1326
In step 1324, the pelvis boundaries are established. In at least one embodiment, the pelvis upper boundary 606 is set as the y-position of PD minus a percentage (e.g., 30%) of the ROI 102 width and the pelvis lower boundary 608 is set as the y-position of PV plus a percentage (e.g., 15%) of the ROI 102 width.
The method ends at step 1326.
Further, the computer 1400 may be implemented on, may be coupled to, and/or may include any components or devices that are typically used by, or used in connection with, a computer or computer system. Computer 1400 and/or processor 1402 may include one or more central processing units, read only memory (ROM) devices and/or random access memory (RAM) devices.
According to some embodiments of the present invention, instructions of a program (e.g., controller software) may be read into memory 1406, such as from a ROM device to a RAM device or from a LAN adapter to a RAM device. Execution of sequences of the instructions in the program may cause the computer 1400 to perform one or more of the method steps described herein. In alternative embodiments, hard-wired circuitry or integrated circuits may be used in place of, or in combination with, software instructions for implementation of the processes of the present invention. Thus, embodiments of the present invention are not limited to any specific combination of hardware, firmware, and/or software. The memory 1406 may store the software for the computer 1400, which may be adapted to execute the software program and thereby operate in accordance with the present invention and particularly in accordance with the methods described in detail above. However, it would be understood by one of ordinary skill in the art that the invention as described herein could be implemented in many different ways using a wide range of programming techniques as well as general purpose hardware sub-systems or dedicated controllers.
Such programs may be stored in a compressed, uncompiled and/or encrypted format. The programs furthermore may include program elements that may be generally useful, such as an operating system, a database management system and device drivers for allowing the controller to interface with computer peripheral devices, and other equipment/components. Appropriate general purpose program elements are known to those skilled in the art, and need not be described in detail herein.
The foregoing description discloses only particular embodiments of the invention; modifications of the above disclosed methods and apparatus which fall within the scope of the invention will be readily apparent to those of ordinary skill in the art. For instance, it will be understood that, though discussed primarily with specific body part identification algorithms in methods 1000-1300, other appropriate automatic detection, identification, and/or location may be used. Similarly, other components may perform the functions of methods 800-1300 even when not explicitly discussed.
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
Number | Date | Country | |
---|---|---|---|
60865692 | Nov 2006 | US |