Image processing method, device, computer equipment and storage medium

By extracting point cloud data of objects of interest from tomographic slice images and building a three-dimensional model, the problem of limited application scope of point cloud three-dimensional modeling is solved, and wider applications and more efficient data acquisition are achieved.

CN114332343BActive Publication Date: 2025-04-25TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202011079713.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-10
Publication Date
2025-04-25
Estimated Expiration
2040-10-10

AI Technical Summary

Technical Problem

In the prior art, the application range of point cloud three-dimensional modeling is relatively low, mainly because it is difficult to obtain point cloud data and relies on professional 3D scanning equipment.

Method used

By acquiring the image set, including N tomographic slice images, determining the region of interest and discrete outline pixels of the object of interest, constructing point cloud data of the object of interest based on the location and tomography intervals of these pixels, and finally building a three-dimensional model.

Benefits of technology

This method can expand the application scope of point cloud three-dimensional modeling, reduce the dependence on professional 3D scanning equipment, and improve the acquisition method and efficiency of point cloud data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114332343B_ABST
    Figure CN114332343B_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose an image processing method, device, computer equipment and storage medium, and the present application belongs to computer vision technology in the field of artificial intelligence. The image processing method includes: obtaining an image set, the image set includes N tomographic slice images, and the N tomographic slice images are slice images generated after tomographic scanning of the object of interest; determining the region of interest where the object of interest is located in each tomographic slice image, and determining the discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image; determining the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images; constructing an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels. The present application can expand the application scope of point cloud three-dimensional modeling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to an image processing method, apparatus, computer equipment and storage medium. Background Art

[0002] Since two-dimensional models have restricted various needs in people's social life, coupled with the introduction and advocacy of the concept of digital city, three-dimensional, virtual and real have become the common goals pursued by people. Compared with two-dimensional models, three-dimensional models are not only more intuitive and visual, but also can fully and accurately express the three-dimensional information of the model.

[0003] At present, the commonly used 3D modeling is based on point cloud data. The specific process is: using 3D scanning equipment (for example, laser radar, stereo camera) for non-contact scanning can directly obtain the 3D data of the object and the environment space point in a short time. This 3D data can also be called point cloud data. After obtaining the point cloud data, the point cloud data on the surface of the object is reversely modeled to obtain the 3D model of the object.

[0004] Since only 3D scanning devices can scan point cloud data on the surface of an object, point cloud data is difficult to obtain, resulting in a relatively low application scope of point cloud 3D modeling. Summary of the invention

[0005] The embodiments of the present application provide an image processing method, apparatus, computer device, and storage medium, which can expand the application scope of point cloud three-dimensional modeling.

[0006] An embodiment of the present application provides an image processing method, including:

[0007] Acquire an image set, the image set comprising N tomographic slice images, the N tomographic slice images being slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1;

[0008] Determine a region of interest where the object of interest is located in each tomographic slice image, and determine discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image;

[0009] Determine the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images;

[0010] An object of interest model of the object of interest is constructed according to the point cloud data of all discrete contour pixels.

[0011] The cross-sectional image is a CT image or an MRI image, and the object of interest is thoracic bone tissue.

[0012] An embodiment of the present application provides an image processing device, including:

[0013] An acquisition module, configured to acquire an image set, wherein the image set includes N tomographic slice images, wherein the N tomographic slice images are slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1;

[0014] A first determination module is used to determine the region of interest where the object of interest is located in each tomographic slice image;

[0015] A second determination module is used to determine discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image;

[0016] A third determination module is used to determine the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images;

[0017] A construction module is used to construct an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels.

[0018] Wherein, the first determining module includes:

[0019] a setting unit, configured to set a polling priority for the N tomographic slice images, select a target tomographic slice image for current polling from the N tomographic slice images according to the polling priority, and obtain a seed pixel of the target tomographic slice image;

[0020] A first determining unit, configured to determine a region of interest where the object of interest is located in the target tomographic slice image according to the seed pixel;

[0021] A second determining unit, configured to determine a seed pixel of a next target tomographic slice image according to the region of interest in the target tomographic slice image;

[0022] The stopping unit is used to stop polling when all N tomographic slice images are set as target tomographic slice images.

[0023] Wherein, the second determining unit is specifically used to:

[0024] Determine a pixel average value of all pixels included in the region of interest in the target tomographic slice image;

[0025] In the next target tomographic slice image, pixels whose pixel values ​​are equal to the pixel average value are used as seed pixels of the next target tomographic slice image.

[0026] Wherein, the first determining unit is specifically used to:

[0027] Determine a seed region in the target tomographic slice image according to the seed pixel;

[0028] Expanding the seed region according to the growth conditions to obtain an expanded region;

[0029] When the extended region meets the growth stop condition, the extended region is used as the region of interest in the target tomographic slice image.

[0030] Wherein, for any tomographic slice image among the N tomographic slice images, the second determining module is used to determine the discrete contour pixels of the object of interest in any tomographic slice image according to the region of interest of the any tomographic slice image, including:

[0031] an extraction unit, configured to extract a unit slice image from any tomographic slice image according to the region of interest in any tomographic slice image, perform edge detection on the unit slice image, and obtain an original set of pixels of interest of any tomographic slice image;

[0032] A screening unit is used to screen the discrete contour pixels of any tomographic slice image from the original set of interest pixels.

[0033] The original interest pixel set includes a first original interest pixel and a second original interest pixel;

[0034] The screening unit is specifically used for:

[0035] Determine a first coordinate error between a horizontal axis coordinate of the first original pixel in the any tomographic slice image and a horizontal axis coordinate of the second original pixel in the any tomographic slice image;

[0036] determining a second coordinate error between a longitudinal coordinate of the second original pixel in the any tomographic slice image and a longitudinal coordinate of the second original pixel in the any tomographic slice image;

[0037] A maximum coordinate error is selected from the first coordinate error and the second coordinate error. If the maximum coordinate error is not greater than a coordinate error threshold, the first original pixel of interest or the second original pixel of interest is used as a discrete contour pixel of any one of the tomographic slice images.

[0038] Wherein, for any discrete contour pixel in any tomographic slice image of the N tomographic slice images, the third determination module is used to determine the point cloud data of any discrete contour pixel according to the position information of the any discrete contour pixel in the any tomographic slice image and the tomographic scanning interval of the N tomographic slice images, specifically for:

[0039] Acquire a scanning position of any tomographic slice image in N tomographic slice images;

[0040] Determining the vertical axis coordinate of any discrete contour pixel according to the tomographic scanning interval and the scanning position of the N tomographic slice images;

[0041] Acquire the horizontal axis coordinate and the vertical axis coordinate of any discrete contour pixel in any tomographic slice image;

[0042] The vertical axis coordinate of any discrete contour pixel, the horizontal axis coordinate and the vertical axis coordinate in any tomographic slice image are combined into point cloud data of any discrete contour pixel.

[0043] Wherein, the building blocks include:

[0044] A clustering unit is used to cluster all discrete contour pixels into a plurality of discrete contour pixel clusters according to the point cloud data of all discrete contour pixels; the discrete contour pixels belonging to the same discrete contour pixel cluster are located in the same two-dimensional plane;

[0045] A patch determining unit, used to determine the patch of each discrete contour pixel cluster according to the point cloud data of the discrete contour pixels contained in each discrete contour pixel cluster, each patch including a plurality of patch vertices;

[0046] The clustering unit is also used to obtain the three-dimensional coordinates of each face vertex, connect all face vertices in three-dimensional space according to the face to which each face vertex belongs and the three-dimensional coordinates of each face vertex, and obtain the object of interest model, which is a three-dimensional model.

[0047] Wherein, for any discrete contour pixel cluster among the multiple discrete contour pixel clusters, the patch determination unit is used to determine the patch of any discrete contour pixel cluster according to the point cloud data of the discrete contour pixels contained in the any discrete contour pixel cluster, specifically for:

[0048] Constructing a plurality of triangles according to the point cloud data of the discrete contour pixels contained in any discrete contour pixel cluster, and determining the center of the circumscribed circle of each triangle;

[0049] The centers of the circumscribed circles of the triangles satisfying the common edge relationship are connected as Voronoi edges, and all Voronoi edges are combined to obtain a patch of any discrete contour pixel cluster.

[0050] Wherein, the acquisition module includes:

[0051] An acquisition unit, configured to acquire N original slice images, wherein the N original slice images are slice images generated after tomography scanning of the object of interest;

[0052] A normalization unit, used for performing normalization processing on N original slice images respectively to obtain N normalized images;

[0053] The acquisition unit is further used to perform filtering processing on each normalized image to obtain N tomographic slice images, and combine the N tomographic slice images into the image set.

[0054] Wherein, for any original slice image among the N original slice images, the normalization unit is used to perform normalization processing on the any original slice image to obtain a normalized image, specifically for:

[0055] Obtaining the window width and window position of the N original slice images;

[0056] Generating a maximum normalized value and a minimum normalized value according to the window width and the window level;

[0057] If the pixel value of a pixel of any of the original slice images is less than the minimum normalized value, adjusting the pixel value of any of the original slice images to a first threshold;

[0058] If the pixel value of the pixel of any one of the original slice images is not less than the minimum normalized value and not greater than the maximum normalized value, then adjusting the pixel value of the pixel of any one of the original slice images according to the maximum normalized value and the minimum normalized value;

[0059] If the pixel value of the pixel of any one of the original slice images is greater than the maximum normalized value, the pixel value of the pixel of any one of the original slice images is adjusted to a second threshold value;

[0060] Any original slice image after pixel value adjustment is used as a normalized image.

[0061] On the one hand, an embodiment of the present application provides an electronic medical device, including an image collector, an image modeler, and an image display;

[0062] The image collector acquires an image set, the image set comprising N tomographic slice images, the N tomographic slice images being slice images generated after tomographic scanning of the object of interest, where N is an integer greater than 1;

[0063] The image modeler determines a region of interest where the object of interest is located in each tomographic slice image, and determines discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image;

[0064] The image modeler determines point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images, and constructs an object of interest model of the object of interest according to the point cloud data of the plurality of discrete contour pixels;

[0065] The image display renders and displays the object of interest model.

[0066] On one hand, an embodiment of the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the methods in the above embodiments.

[0067] On the one hand, an embodiment of the present application provides a computer storage medium, which stores a computer program. The computer program includes program instructions. When the program instructions are executed by a processor, the methods in the above embodiments are executed.

[0068] On the one hand, an embodiment of the present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. When the computer instructions are executed by a processor of a computer device, the methods in the above embodiments are executed.

[0069] This application determines multiple discrete contour pixel points of the object of interest by analyzing the interest area where the object of interest is located in each tomographic slice image, and determines multiple point cloud data on the surface of the object of interest according to the position of each discrete contour pixel point in the corresponding tomographic slice image and the scanning interval, and then reconstructs the multiple point cloud data into a three-dimensional model of the object of interest. It can be seen that this application determines the three-dimensional point cloud data by analyzing the two-dimensional image, and does not need to collect the point cloud data by professional 3D scanning equipment. It can break away from the dependence of point cloud modeling on data acquisition equipment, enrich the way of obtaining point cloud data, and expand the application scope of point cloud three-dimensional modeling. BRIEF DESCRIPTION OF THE DRAWINGS

[0070] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0071] Figure 1 is a system architecture diagram of image processing provided by an embodiment of the present application;

[0072] Figure 2a-2c is a schematic diagram of an image processing scenario provided by an embodiment of the present application;

[0073] Figure 3 It is a flowchart of an image processing method provided in an embodiment of the present application;

[0074] Figure 4a-4b is a schematic diagram of a normalization process provided in an embodiment of the present application;

[0075] Figure 4c is a schematic diagram of a filtering process provided by an embodiment of the present application;

[0076] Figure 5 It is a schematic diagram of a process of region growing segmentation provided in an embodiment of the present application;

[0077] Figure 6 is a schematic diagram of a process for determining an area of ​​interest provided in an embodiment of the present application;

[0078] Figure 7 It is a flowchart of an image processing method provided in an embodiment of the present application;

[0079] Figure 8 is a schematic diagram of a polygonal patch provided in an embodiment of the present application;

[0080] Figure 9a-9c is a schematic diagram of determining an object of interest model provided by an embodiment of the present application;

[0081] Figure 10a-Figure 10d is a schematic diagram of an interest object model provided in an embodiment of the present application;

[0082] Fig.11 is a structural schematic diagram of an electronic medical device provided in an embodiment of the present application;

[0083] Fig.12 is a structural schematic diagram of an image processing device provided in an embodiment of the present application;

[0084] Fig.13 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0085] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0086] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.

[0087] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, large image processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0088] The present application relates to computer vision technology (CV) under artificial intelligence, specifically 3D technology in computer vision technology.

[0089] Computer vision technology is a science that studies how to make machines "see". To put it more specifically, it refers to machine vision that uses cameras and computers to replace human eyes to identify, track and measure targets, and further performs graphic processing to make computer processing into images that are more suitable for human eye observation or transmission to instruments for detection. As a scientific discipline, computer vision studies related theories and technologies, and attempts to establish an artificial intelligence system that can obtain information from images or multi-dimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content / behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, augmented reality, simultaneous positioning and mapping, and other technologies, as well as common biometric recognition technologies such as face recognition and fingerprint recognition.

[0090] The present application can be applied to the following scenarios: when it is necessary to perform three-dimensional reconstruction of the thoracic bones in the thoracic cavity, obtain a tomographic slice image of the thoracic bones (the tomographic slice image can be a CT image or an MRI image), and use the solution of the present application to determine the point cloud data of the surface of the thoracic bones based on multiple tomographic slice images of the thoracic bones, and reconstruct the point cloud data of the surface of the thoracic bones into a three-dimensional model of the thoracic bones. The reconstructed three-dimensional model of the thoracic bones can be used to determine the preoperative treatment plan, or to evaluate the quality of postoperative surgery, or can be used for simulated surgery in medical teaching, etc.

[0091] See also Figure 1 , Figure 1 This is a system architecture diagram of an image processing provided by an embodiment of the present application. The present application involves a server 10d and a terminal device cluster, and the terminal device cluster may include: a terminal device 10a, a terminal device 10b, ..., a terminal device 10c, etc.

[0092] Taking the terminal device 10a in the terminal device cluster as an example, the terminal device 10a obtains N tomographic slice images, which are slice images generated after tomographic scanning of the object of interest. The interest region where the object of interest is located is determined in each tomographic slice image, and based on the interest region, the discrete contour pixels of the object of interest are determined in each tomographic slice image. According to the position of each discrete contour pixel in the tomographic slice and the tomographic scanning interval of the N tomographic slice images, the point cloud data of each discrete contour pixel is determined, and a three-dimensional object of interest model of the object of interest is constructed based on the point cloud data.

[0093] Subsequently, the server may send the three-dimensional interest object model to the terminal device 10a, and the terminal device 10a renders and displays the interest object model on the screen.

[0094] Of course, the specific process of reconstructing the three-dimensional object of interest model based on multiple tomographic slice images can also be executed by the terminal device 10a.

[0095] Figure 1 The server 10d shown can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0096] Figure 1 The terminal devices 10a, 10b, 10c, etc. shown in the figure can be smart devices with image processing functions such as mobile phones, tablet computers, laptop computers, PDAs, mobile Internet devices (MIDs), wearable devices, etc. The terminal device cluster and the server 10d can be directly or indirectly connected via wired or wireless communication, and this application does not limit this.

[0097] The following is a detailed description of how the server 10d reconstructs a three-dimensional chest bone model as an example:

[0098] See also Figure 2a-2c, which is a schematic diagram of an image processing scenario provided by an embodiment of the present application. Figure 2a As shown, the server 10d obtains a chest CT (Computed Tomography) image set 20a of the same user. The chest CT image set 20a includes multiple chest CT images, which are slice images generated after tomography of the user's chest. In order to reconstruct the three-dimensional chest skeleton, the server 10d identifies the chest skeleton area in each chest CT image. Figure 2a Taking the chest CT image 20b in FIG. 1 as an example, the following describes how to determine the chest bone area in the chest CT image 20b.

[0099] The server 10d identifies the chest bone region in the chest CT image 20b, which belongs to the field of image segmentation. The present application adopts an improved region growing algorithm to determine the chest bone region. The specific process of the improved region growing algorithm is: the server 10d determines the seed pixel in the chest CT image 20b, and grows to the surrounding pixels with the seed pixel as the center. The growth condition is: if the difference between the pixel value of the surrounding pixels and the pixel value of the seed pixel is less than the threshold, the surrounding pixels are used as new seed pixels. Continuously grow according to the above-mentioned generation conditions to expand the number of seed pixels. When the pixel value of the pixels around the seed pixel and the difference between the seed pixel are not less than the threshold, the growth stops. The server 10d uses the area composed of the grown seed pixels as the chest bone region.

[0100] It should be noted that after the server 10d determines the thoracic bone region of the thoracic CT image 20b, the pixel average value of all pixels in the thoracic bone region can be used as the basis for determining the seed pixel of the next thoracic CT image. In other words, except for the seed pixel of the first thoracic CT image which is manually determined, the seed pixels of the remaining thoracic CT images in the thoracic CT image set 20a are all determined by the average pixel value of the thoracic bone region of the previous thoracic CT image, which can reduce manual participation and improve the efficiency of three-dimensional thoracic bone reconstruction.

[0101] After the server 10d determines the thoracic bone region of the thoracic CT image 20b, the edge detection can be used to extract the contour of the thoracic bone. The specific process of edge detection is: extracting a sub-image from the thoracic CT image 20b according to the thoracic bone region, wherein the sub-image includes the thoracic bone and the image size of the sub-image is smaller than the image size of the thoracic CT image 20b. The server 10d determines the gradient of each pixel in the sub-image based on the gradient, and the server 10d uses the pixels with a gradient greater than the threshold as contour pixels.

[0102] At this point, the server 10d has obtained multiple contour pixels of the thoracic bones in the chest CT image 20b, and selected some contour pixels from these multiple contour pixels as discrete contour pixels of the chest CT image 20b. The server 10d obtains the x-axis coordinate and y-axis coordinate of each discrete contour pixel in the chest CT image 20b. The server 10d determines the z-axis coordinate of each pixel in the chest CT image 20b based on the position of the chest CT image 20b in the chest CT image set 20a and the tomographic scanning interval, and thus can obtain the z-axis coordinate of each discrete contour pixel. At this point, the server 10d has obtained the x-axis coordinate, y-axis coordinate and z-axis coordinate of each discrete contour pixel. The x-axis coordinate, y-axis coordinate and z-axis coordinate of each discrete contour pixel can also be called the three-dimensional point cloud data of the discrete contour pixel. (such as Figure 2a The 3D point cloud data of pixel 1 is: x1, y1 and z1; the 3D point cloud data of pixel 2 is: x2, y2 and z2; the 3D point cloud data of pixel 3 is: x3, y3 and z3).

[0103] The server 10d may determine the three-dimensional point cloud data of the discrete contour pixels of each chest CT image in the above manner, such as Figure 2b As shown, the server 10d can obtain the 3D point cloud data of pixel 1: x1, y1 and z1; the 3D point cloud data of pixel 2: x2, y2 and z2; the 3D point cloud data of pixel 3: x3, y3 and z3; the 3D point cloud data of pixel 4: x4, y4 and z4; the 3D point cloud data of pixel 5: x5, y5 and z5...

[0104] The server 10d may call a point cloud modeling algorithm to reconstruct the acquired three-dimensional point cloud data of all discrete contour pixels into a three-dimensional thoracic skeleton model 20c.

[0105] The specific process of the point cloud modeling algorithm is as follows: the server 10d clusters all discrete contour pixels into multiple discrete contour pixel clusters based on the three-dimensional point cloud data of all discrete contour pixels, and the discrete contour pixels of the same discrete contour pixel cluster are located in the same two-dimensional plane. According to the point cloud data of the discrete contour pixels contained in each discrete contour pixel cluster, the polygonal patch of each discrete contour pixel cluster is determined, and the first coordinate and the second coordinate of the patch vertex of the polygonal patch on the corresponding two-dimensional plane, as well as the third coordinate of the corresponding two-dimensional plane, are obtained, and the third coordinate of the two-dimensional plane is used as the third coordinate of the corresponding patch vertex. In this way, the server 10d can obtain the three-dimensional coordinates of each patch vertex. According to the polygonal patch to which each patch vertex belongs and the three-dimensional coordinates of each patch vertex, all patch vertices are connected in three-dimensional space to obtain a three-dimensional thoracic skeleton model 20c.

[0106] At this point, the server 10d has reconstructed a three-dimensional chest bone model based on multiple chest CT images.

[0107] Subsequently, the server 10d may send the reconstructed three-dimensional chest skeleton model 20c to the terminal device, such as Figure 2c As shown, the three-dimensional thoracic skeleton model 20c sent by the display server 10d is rendered in the interface of the terminal device, and the user can slide left or right on the interface to rotate the three-dimensional thoracic skeleton model 20c, that is, to display the three-dimensional thoracic skeleton model 20c from different angles.

[0108] Among them, an image set is obtained (such as the chest CT image set 20a in the above embodiment), a region of interest of each tomographic slice image is determined (such as the chest bone region in the chest CT image 20b in the above embodiment), point cloud data of discrete contour pixels are determined (such as the three-dimensional point cloud data "x1, y1 and z1" of pixel 1 in the above embodiment; the three-dimensional point cloud data "x2, y2 and z2" of pixel 2; the three-dimensional point cloud data "x3, y3 and z3" of pixel 3; the three-dimensional point cloud data "x4, y4 and z4" of pixel 4; the three-dimensional point cloud data "x5, y5 and z5" of pixel 5), and a specific process of constructing an object of interest model (such as the three-dimensional chest bone model 20c in the above embodiment) can be referred to the following Figure 3-10d The corresponding embodiments.

[0109] See also Figure 3 , Figure 3 is a flow chart of an image processing method provided by an embodiment of the present application. The following embodiment uses a server with better performance (such as the above Figure 2a-2c The server 10b) in the corresponding embodiment is described as the execution subject, and the image processing method includes the following steps:

[0110] Step S101, obtaining an image set, wherein the image set includes N tomographic slice images, wherein the N tomographic slice images are slice images generated after tomographic scanning of an object of interest, and N is an integer greater than 1.

[0111] Specifically, the server obtains an image collection (as described above Figure 2a-2c In the corresponding embodiment, the chest CT image set 20a) includes N tomographic slice images, where N is an integer greater than 1, and the N tomographic slice images are slice images generated after tomographic scanning of the object of interest.

[0112] In the medical field, the object of interest may be chest bone tissue, heart, kneecap, etc., and the tomographic slice image may be a CT image or an MRI (Magnetic Resonance Imaging) image; in the surveying and mapping field, the object of interest may be a building, etc., and the tomographic slice image may be a two-dimensional tomographic image, etc.

[0113] It should be noted that when the tomographic slice image is a CT image or an MRI image, and the object of interest is the thoracic bone tissue, since the thoracic bone tissue runs through the entire thoracic cavity, the imaging device scans the entire thoracic section of the human body. The tomographic slice image obtained after the scan will not only include the thoracic bone tissue, but also the remaining tissues of the thoracic cavity, such as the liver, trachea, etc.

[0114] Each tomographic slice image in the image set is an image that has undergone image preprocessing. The image preprocessing here mainly refers to normalization processing and filtering processing. The image preprocessing process is described in detail below:

[0115] The server obtains N original slice images, which are slice images generated after tomographic scanning of the object of interest. Each original slice image is normalized to obtain N normalized images, and each normalized image is filtered to obtain N tomographic slice images. The server combines these N tomographic slice images into an image set, that is, to obtain a preprocessed tomographic slice image.

[0116] The process of normalizing any original slice image is as follows: the server obtains the window width width and window position center of N original slice images, where the window width refers to the maximum pixel value in the pixel value range of the original slice image, and the window position refers to the center value within the window width range. The window width and window position are provided by the imaging device of the original slice image. The server determines the maximum normalized value max and the minimum normalized value min according to the following formula (1) and the window width width and window position center:

[0117]

[0118] Among them, width refers to the window width and center refers to the window position.

[0119] Normalizing any original slice image is normalizing each pixel of any original slice image, that is, if the pixel value of a pixel of any original slice image is less than the minimum normalized value, the pixel value of the pixel is adjusted to a first threshold value, wherein the first threshold value may be 0.

[0120] If the pixel value of any pixel of the original slice image is not less than the minimum normalized value and not greater than the maximum normalized value, the pixel value of the pixel is adjusted according to the maximum normalized value and the minimum normalized value, and the adjusted pixel value is equal to the difference between the pixel value before adjustment and the minimum normalized value divided by the difference between the maximum normalized value and the minimum normalized value.

[0121] If the pixel value of any pixel of the original slice image is greater than the maximum normalized value, the pixel value of the pixel is adjusted to a second threshold value, where the second threshold value may be 1.

[0122] The above three situations can be expressed by the following formula (2):

[0123]

[0124] In formula (2), I represents the original slice image, and Ti represents the pixels in the original slice image.

[0125] The server may adjust the pixel value of each pixel in any original slice image in the above manner, and use the image after the pixel value adjustment as the normalized image of any original slice image.

[0126] The pixel value of each original slice image can be adjusted in the above manner to obtain N normalized images corresponding to the N original slice images.

[0127] Different imaging factors cause inconsistencies in the grayscale information of the same tissue. Grayscale normalization is an image conversion method that reduces or even eliminates the grayscale inconsistency in the image while retaining the grayscale difference, so as to facilitate the subsequent computer automatic analysis of the image.

[0128] See also Figure 4a-4b , which is a schematic diagram of a normalization process provided in an embodiment of the present application, Figure 4a is the original slice image before normalization. Figure 4b Yes Figure 4a The normalized image is obtained after the original slice image is normalized.

[0129] The process of filtering any original slice image is: the present application adopts median filtering for filtering. Of course, in addition to median filtering, mean filtering can also be used for filtering. The specific process of median filtering is: any original slice image is divided into multiple image blocks, and there may be overlapping pixels between image blocks. Each image block may include 3×3 pixels, or 5×5 pixels, or 7×7 pixels. The following processing flow is performed on each image block: the median of the pixel values ​​of the pixels contained in the image block is extracted, and the median is used as the pixel value of the pixel located in the middle position of the image block.

[0130] The specific process of mean filtering is: divide any original slice image into multiple image blocks, there may be overlapping pixels between image blocks, and each image block may include 3×3 pixels, or 5×5 pixels, or 7×7 pixels. Perform the following processing flow on each image block: extract the average value of the pixel values ​​of the pixels contained in the image block, and use the average value as the pixel value of the pixel located in the middle position of the image block.

[0131] Each normalized image can be filtered in the above manner to obtain N tomographic slice images.

[0132] See also Figure 4c , which is a schematic diagram of a filtering process provided by an embodiment of the present application, Figure 4c There are 4 images in it, namely image a, image b, image c and image d. Among them, image a is the image before filtering, image b, image c and image d are the images generated after median filtering of image a, and image b is the image generated after 3rd order median filtering (3rd order median filtering means that the size of the image block is 3×3), image b is the image generated after 5th order median filtering (3rd order median filtering means that the size of the image block is 5×5), and image b is the image generated after 7th order median filtering (7th order median filtering means that the size of the image block is 3×3).

[0133] Step S102: determining the region of interest where the object of interest is located in each tomographic slice image, and determining discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image.

[0134] Specifically, the server determines the region of the object of interest in each tomographic slice image (referred to as the region of interest, as described above). Figure 2a-2c The thoracic bone area in the corresponding embodiment) is detected at the edge of the region of interest in each tomographic slice image to obtain the contour of the object of interest in each tomographic slice image, and then the contour is discretely sampled. A plurality of discrete contour pixels (such as pixel 1, pixel 2, and pixel 3 in the above embodiment) can be determined for each tomographic slice image.

[0135] The following specifically describes how to determine the region of interest of each tomographic slice image and how to determine the discrete contour pixels of each tomographic slice image.

[0136] The specific process of determining the region of interest of each tomographic slice image is as follows: set the polling priority for N tomographic slice images, and the polling priority can be set according to the generation timestamp of the tomographic slice image, that is, the smaller the generation timestamp, the higher the polling priority of the tomographic slice image; the polling priority can also be set by manually selecting a tomographic slice image as the tomographic slice image with the highest polling priority, and then setting the polling priority of the tomographic slice image adjacent to the selected tomographic slice image to the second polling priority, and so on, that is, the closer to the tomographic slice image with the highest polling priority, the higher the polling priority of the tomographic slice image. Among them, the principle of manually selecting the tomographic slice image with the highest polling priority is: manually selecting a tomographic slice image with a larger region of interest, or when the object of interest is thoracic bone tissue and the tomographic slice image is a CT image, manually selecting a tomographic slice image with a larger liver area.

[0137] The server selects a tomographic slice image for current polling (referred to as a target tomographic slice image, for example, the tomographic slice image with the highest current polling priority can be selected as the target tomographic slice image) from the N tomographic slice images according to the polling priority, and obtains the seed pixel of the target tomographic slice image, wherein the seed pixel of the first target tomographic slice image can be manually selected based on past experience. According to the seed pixel of the target tomographic slice, the region of interest is determined in the target tomographic slice image. The server determines the seed pixel of the next target tomographic slice image according to the region of interest of the target tomographic slice image, and the server continues to select the next target tomographic slice image according to the polling priority. When all N tomographic slice images are set as the target tomographic slice image, the polling is stopped.

[0138] It can be seen that, except for the seed pixels of the first target tomographic slice image which are manually specified, the seed pixels of the second target tomographic slice image, the third target tomographic slice image ... the Nth target tomographic slice image are all determined by the region of interest of the previous target tomographic slice image. In this way, the automatic segmentation of the region of interest of N tomographic slice images can be basically achieved.

[0139] The specific process of determining the seed pixel of the next target tomographic slice image according to the region of interest in the target tomographic slice image is as follows: the server counts the pixel average value of all pixels contained in the region of interest in the target tomographic slice image, and uses the pixel with the pixel value of the pixel average value in the next target tomographic slice image as the seed pixel of the next target tomographic slice image.

[0140] For example, the region of interest of the current target tomographic slice image includes pixel 1, pixel 2, pixel 3 and pixel 4, and the pixel value of pixel 1 is equal to 100, the pixel value of pixel 2 is equal to 50, the pixel value of pixel 3 is equal to 60, and the pixel value of pixel 4 is equal to 70. Therefore, the average pixel value of the above region of interest is equal to: (100+50+60+70) / 4=70. Therefore, when the next target tomographic slice image is polled, the pixel with a pixel value of 70 in the next target tomographic slice image is used as a seed pixel, and then based on the seed pixel of the next target tomographic slice, the seed pixel of the next target tomographic slice image is determined.

[0141] According to the seed pixel of the target tomographic slice image, the specific process of determining the region of interest where the object of interest is located in the target tomographic slice image is as follows: in the target tomographic slice image, the region where the seed pixel is located is used as the seed region, and the seed region is expanded according to the growth condition to obtain an expanded region, wherein if the difference between the pixel value of the pixel adjacent to the seed pixel and the pixel value of the seed pixel is less than the difference threshold, it means that the adjacent pixels meet the growth condition, that is, the adjacent pixels can be used as new seed pixels to expand the seed region. The seed region is continuously expanded according to the growth condition to obtain an expanded region. When the difference between the pixel value of the seed pixel in the expanded region and the pixel value of the adjacent pixel is greater than or equal to the difference threshold, it means that the current expanded region meets the stop growth condition, and the server can use the expanded region as the region of interest of the target tomographic slice image.

[0142] For example, there is a 4×4 target tomographic slice image:

[0143]

[0144] Assume that initially, only pixel 1 is the seed pixel, and the pixels adjacent to pixel 1 are pixel 2, pixel 3, pixel 4 and pixel 5, and the grayscale value of pixel 1 is equal to 10, the grayscale value of pixel 2 is equal to 15, the grayscale value of pixel 3 is equal to 19, the grayscale value of pixel 4 is equal to 30, and the grayscale value of pixel 5 is equal to 11. Only the difference between the grayscale value of pixel 5 and the grayscale value of pixel 1 is less than the difference threshold (the difference threshold is equal to 3), so pixel 5 is used as the new seed pixel, and the extended area includes pixel 1 and pixel 5. Continue to traverse the adjacent pixels of pixel 5. Pixel 5 is adjacent to pixel 6, pixel 7 and pixel 8, and the grayscale value of pixel 6 is equal to 14, the grayscale value of pixel 7 is equal to 13, and the grayscale value of pixel 8 is equal to 25. Only the difference between the grayscale value of pixel 7 and the grayscale value of pixel 5 is less than the difference threshold (the difference threshold is equal to 3). Therefore, pixel 7 is also used as a new seed pixel. At this time, the extended area includes pixel 1, pixel 5 and pixel 7. At this time, the extended area meets the stop growth condition. Therefore, the server can call the area composed of pixel 1, pixel 5 and pixel 7 the area of ​​interest of the target tomographic slice image.

[0145] See also Figure 5 , Figure 5 : is a flow chart of a region growing segmentation process provided by an embodiment of the present application, and the region growing segmentation process includes the following steps:

[0146] Step S1021, the process starts.

[0147] Step S1022: Select a tomographic slice image containing a larger liver area.

[0148] Specifically, when the object of interest is thoracic bone tissue, a tomographic slice image containing a larger liver area is manually selected as the first target tomographic slice image.

[0149] Step S1023: manually selecting a seed point in the target tomographic slice image.

[0150] Step S1024: All pixels in a 5×5 area around the seed point are taken as neighboring pixels of the seed point.

[0151] Step S1025: merge adjacent pixels of the seed point according to the growth rule.

[0152] Step S1026: Use the newly merged pixel as a new seed point.

[0153] Step S1027, determining whether the growth stop condition is met.

[0154] Specifically, the server obtains the adjacent pixels of the current seed point and determines whether there are pixels that can be merged among the adjacent pixels of the current seed point that meet the growth rules. If so, it means that the stop growth condition is not met, so step S1025 is executed; if not, it means that the stop growth condition is met, so step S1028 is executed.

[0155] Step S1028: selecting a seed point for the next target tomographic slice image according to the pixel average value of all seed points.

[0156] Step S1029, the segmentation of the current target tomographic slice image is completed, and it is detected whether there is a next unsegmented tomographic slice image. If there is, step S1030 is executed, and if not, step S1031 is executed.

[0157] Step S1030, read the next station tomographic slice image as a new target tomographic slice image, and execute step S1024 for the new target tomographic slice image. Since the seed point of the next target tomographic slice image has been determined, step S1024 can be directly executed.

[0158] Step S1031, the process ends.

[0159] It should be noted that when the object of interest is thoracic bone tissue, the object of interest may include thoracic hard bone, thoracic left cartilage and thoracic right cartilage. In order to more accurately determine the region of interest, image segmentation may be performed three times to segment the thoracic hard bone region, the thoracic left cartilage region and the thoracic right cartilage region. The specific process may be: performing regional growth segmentation on the target tomographic slice image to identify the thoracic hard bone region, wherein the specific process of regional growth segmentation is consistent with the above-mentioned process of identifying the region of interest, except that only the thoracic hard bone region is identified here. The thoracic hard bone region is stripped from the target tomographic slice image to obtain a thoracic hard bone image and a stripped slice image. The stripped slice image is also segmented by regional growth to identify the thoracic left cartilage region and the thoracic right cartilage region, and the thoracic left cartilage region and the thoracic right cartilage region are also stripped after identification, and the thoracic left cartilage region and the thoracic right cartilage region are respectively obtained. At this point, the server has identified the thoracic hard bone region, the thoracic left cartilage region and the thoracic right cartilage region. The server can superimpose the above-mentioned chest hard bone image, chest left cartilage image and chest right cartilage image as an auxiliary image. Of course, the auxiliary image only includes the chest hard bone, chest left cartilage and chest right cartilage, and the chest hard bone area, chest left cartilage area and chest right cartilage area can be identified in the auxiliary image.

[0160] See also Figure 6 , Figure 6 : is a flow chart of determining an area of ​​interest provided by an embodiment of the present application. Determining an area of ​​interest includes the following steps:

[0161] Step S201, the process starts.

[0162] Step S202, read in an original slice image, and record the original slice image as I0.

[0163] Step S203: performing image preprocessing on the original slice image I0.

[0164] The image preprocessing may include: grayscale normalization, window adjustment, noise reduction, grayscale stretching, format conversion, etc. The original slice image after image preprocessing is used as the tomographic slice image I1.

[0165] Step S204: perform image segmentation on the tomographic slice image I1 using a region growing segmentation method to segment a thoracic bone image I2.

[0166] Step S205 , stripping the chest cavity hard bones from the tomographic slice image I1 to obtain the image to be segmented I3 , where I3 = I1 − I2 .

[0167] Step S206, enhancing the contrast of the image to be segmented I3, extracting the original left thoracic cartilage image I4 from the contrast-enhanced image to be segmented I3. At this time, the original left thoracic cartilage image contains not only the left thoracic cartilage but also a large number of background pixels.

[0168] Step S207: taking the pixel with the largest pixel value in the original left thoracic cartilage image I4 as the seed pixel seed1.

[0169] Step S208, setting a growth determination threshold T, and performing regional growth based on the seed pixel seed1 until the growth reaches the boundary of the left thoracic cartilage, thereby obtaining a pure left thoracic cartilage image result1.

[0170] Step S209, enhancing the contrast of the image to be segmented I3, extracting the original right thoracic cartilage image I5 from the contrast-enhanced image to be segmented I3. At this time, the original right thoracic cartilage image contains not only the right thoracic cartilage but also a large number of background pixels.

[0171] Step S210: taking the pixel with the largest pixel value in the original right chest cartilage image I5 as the seed pixel seed2.

[0172] Step S211, setting a growth determination threshold T, and performing regional growth based on the seed pixel seed2 until the growth reaches the right thoracic cartilage boundary, thereby obtaining a pure left thoracic cartilage image result2.

[0173] Step S212, superimpose the chest bone image I2, the chest left cartilage image result1 and the chest left cartilage image result2 into an image result, where image result = chest bone image I2 + chest left cartilage image result1 + chest left cartilage image result2. Save the image result.

[0174] Step S213, performing image post-processing on the image result, where the image post-processing includes eliminating holes and smoothing edges.

[0175] Step S214, whether there are any unprocessed original slice images, if yes, execute step S202, if no, execute step S215.

[0176] Step S215: output the three-dimensional reconstructed model of the chest cavity image.

[0177] Specifically, the server determines the thoracic hard bone area, the left thoracic cartilage area, and the right thoracic cartilage area based on the image result, and reconstructs a three-dimensional thoracic bone model according to the thoracic hard bone area, the left thoracic cartilage area, and the right thoracic cartilage area.

[0178] Step S216, the process ends.

[0179] The specific process of determining the discrete contour pixels of each tomographic slice image is as follows: The process of determining the discrete contour pixels of each tomographic slice image is the same. Taking any tomographic slice image as an example, how to determine the discrete contour pixels of any tomographic slice image is described. The server extracts a unit slice image from any tomographic slice image according to the region of interest of any tomographic slice image, wherein the unit slice image contains the region of interest and the size of the unit slice image is smaller than the any tomographic slice image. Edge detection is performed on the unit slice image, wherein the server can calculate the gradient of each pixel in the unit slice image based on an operator (for example, sobel operator, Laplace operator, etc.). If the calculated gradient is large, the pixel can be regarded as the edge pixel of the object of interest in any tomographic slice image. Conversely, if the calculated gradient is small, the pixel can be regarded as the non-edge pixel of the object of interest in any tomographic slice image. The server can refer to all edge pixels as original interest pixels, and combine all original interest pixels into an original interest pixel set. It can be known that the original interest pixel set is also the contour pixel of the object of interest in any tomographic slice image.

[0180] Optionally, the above is an original interest pixel set determined by edge detection. Since only pixels in a unit slice image participate in edge detection, recognition efficiency is guaranteed while accurately acquiring the original interest pixel set. In addition to the above edge detection method, the server can also determine the original interest pixel set in the following manner: the server can find the boundary pixels of the interest region based on the interest region of any tomographic slice image, use the found boundary pixels as the original interest pixels of any tomographic slice image, and combine all the original interest pixels into the original interest pixel set.

[0181] Since the original interest pixel set contains multiple original interest pixels, in order to reduce the subsequent calculation amount, this application performs discrete sampling from the original interest pixel set, and the sampled original interest pixels are all used as discrete contour pixels. Of course, the number of discrete contour pixels is less than the number of original interest pixels contained in the original interest pixel set.

[0182] The specific process of sampling discrete contour pixels from the original set of interest pixels is as follows:

[0183] The original interest pixel set includes a first original interest pixel and a second original interest pixel. The horizontal axis coordinate and the vertical axis coordinate of the first original interest pixel in any tomographic slice image are obtained, and the horizontal axis coordinate and the vertical axis coordinate of the second original interest pixel in any tomographic slice image are obtained. The coordinate error between the horizontal axis coordinate of the first original interest pixel and the horizontal axis coordinate of the second original interest pixel (called the first coordinate error) is determined, and the coordinate error between the vertical axis coordinate of the first original interest pixel and the vertical axis coordinate of the second original interest pixel (called the second coordinate error) is determined. The maximum coordinate error is selected from the first coordinate error and the second coordinate error. If the maximum coordinate error is not greater than the coordinate error threshold, it is determined that the first original interest pixel and the second original interest pixel are in a neighborhood relationship. Therefore, the server only selects one of them, that is, only the first original interest pixel or the second original interest pixel is selected as the discrete contour pixel.

[0184] In other words, the principle of the server to screen discrete contour pixels is that the coordinate differences between the selected discrete contour pixels are relatively large, which can not only ensure the integrity of the contour of the object of interest, but also reduce the volume of discrete contour pixels, thereby reducing the subsequent calculation amount.

[0185] The neighborhood original interest pixel q of the original interest pixel p is defined as follows:

[0186] Nw(p)={q|max(|p(x)-q(x)|,|p(y)-q(y)|)≤w,q∈R2} (3)

[0187] Among them, w represents the density of the original interest pixel p, p(x) and q(x) represent the horizontal axis coordinates of the original interest pixel p and the horizontal axis coordinates of the original interest pixel q, respectively, and p(y) and q(y) represent the vertical axis coordinates of the original interest pixel p and the vertical axis coordinates of the original interest pixel q, respectively.

[0188] From formula (3), we can know that the density of a certain original interest pixel can be adjusted accordingly according to different business requirements.

[0189] The definition of the density around the original interest pixel p is as follows:

[0190]

[0191] Among them, T is the threshold, and the neighborhood original interest pixel q is the neighborhood pixel of the original interest pixel p.

[0192] The server may determine a plurality of discrete contour pixels of each tomographic slice image respectively in the above manner.

[0193] Step S103 : determining the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images.

[0194] Specifically, after the server obtains the discrete contour pixels, the server determines the three-dimensional coordinates of each discrete contour pixel according to the position of each discrete contour pixel in the corresponding tomographic slice image and the tomographic scanning detection of the N tomographic slice images. The three-dimensional coordinates of each discrete contour pixel can be called the point cloud data of each discrete polling pixel (as mentioned above). Figure 2a-2c The three-dimensional point cloud data of pixel 1 in the corresponding embodiment is "x1, y1 and z1"; the three-dimensional point cloud data of pixel 2 is "x2, y2 and z2"; the three-dimensional point cloud data of pixel 3 is "x3, y3 and z3"; the three-dimensional point cloud data of pixel 4 is "x4, y4 and z4"; the three-dimensional point cloud data of pixel 5 is "x5, y5 and z5").

[0195] Step S104: constructing an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels.

[0196] Specifically, after the server obtains the three-dimensional point cloud data of multiple discrete contour pixels, it can use the point cloud modeling method to reconstruct the three-dimensional point cloud data of all discrete contour pixels into an object of interest model of the object of interest (such as the above Figure 2a-2c In the corresponding embodiment, the three-dimensional thoracic skeleton model 20c), the object of interest model is a three-dimensional model.

[0197] Of course, if the object of interest is chest bone tissue, then the object of interest model is a three-dimensional chest bone model; if the object of interest is the heart, then the object of interest model is a three-dimensional heart model; if the object of interest is the kneecap, then the object of interest model is a three-dimensional kneecap model; if the object of interest is a building, then the object of interest model is a three-dimensional building model.

[0198] Among them, the point cloud modeling method is to fit the surface of the object of interest based on the three-dimensional point cloud data to obtain polygonal patches, and the three-dimensional object of interest model of the object of interest can be obtained by connecting the polygonal patches.

[0199] From the above, it can be seen that the present application obtains a tomographic slice image by normalizing and filtering the original slice image, thereby improving the quality of the tomographic slice image while retaining the image information of the original slice image; further, the present application selects only part of the original interest pixels from the original interest pixel set as discrete contour pixels, thereby reducing the data volume while retaining the contour of the object of interest; further, the present application proposes a new region growing image segmentation scheme, which can realize automatic segmentation of multiple tomographic slice images without manual participation, and can improve the efficiency of the regional interest area.

[0200] See also Figure 7 , which is a flow chart of an image processing method provided in an embodiment of the present application. This embodiment mainly describes how to determine the three-dimensional point cloud data of discrete contour pixels and how to reconstruct the three-dimensional point cloud data into a three-dimensional object of interest model. The image processing method includes the following steps:

[0201] Step S301, obtaining an image set, wherein the image set includes N tomographic slice images, wherein the N tomographic slice images are slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1;

[0202] Step S302: determining the region of interest where the object of interest is located in each tomographic slice image, and determining discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image.

[0203] The specific process of step S301 to step S302 can be found in the above Figure 3 This corresponds to step S101 - step S102 in the embodiment.

[0204] Step S303, obtaining a scanning position of any tomographic slice image in the N tomographic slice images, and determining a vertical axis coordinate of any discrete contour pixel according to the tomographic scanning interval and the scanning position of the N tomographic slice images.

[0205] Specifically, the process of the server determining the point cloud data of each discrete contour pixel in each tomographic slice image is the same. The following steps S303-S304 take any discrete contour pixel in any tomographic slice image as an example to illustrate how to determine the three-dimensional point cloud data of any discrete contour pixel.

[0206] The server obtains the scanning position of any tomographic slice image in the N tomographic slice images, and determines the vertical axis coordinate of any discrete contour pixel in the any tomographic slice image according to the tomographic scanning interval of the N tomographic slice images and the above scanning position. Of course, the vertical axis coordinates of all discrete contour pixels in the any tomographic slice image are the same, just like stacking the tomographic slice images in the vertical axis (which can be regarded as the Z axis) direction.

[0207] For example, if the tomographic slice image a is the third tomographic slice image among N tomographic slice images, and the tomographic scanning interval is 3 cm, then the vertical axis coordinates of all discrete contour pixels in the tomographic slice image a are 6.

[0208] Step S304, obtaining the horizontal axis coordinate and the vertical axis coordinate of any discrete contour pixel in any tomographic slice image, and combining the vertical axis coordinate of any discrete contour pixel, the horizontal axis coordinate and the vertical axis coordinate in any tomographic slice image into point cloud data of any discrete contour pixel.

[0209] Specifically, the server obtains the horizontal axis coordinate and the vertical axis coordinate of any discrete contour pixel in any tomographic slice image. The horizontal axis can be regarded as the X-axis, and the vertical axis can be regarded as the Y-axis.

[0210] For example, the discrete contour pixel A is located in the 4th row and the 5th column in the tomographic slice image, so the horizontal coordinate of the discrete contour pixel A can be 4, and the vertical coordinate can be 5; or, it can be converted according to the size of the tomographic slice image, the 4th row corresponds to 8 cm, and the 5th column corresponds to 10 cm, therefore, the horizontal coordinate of the discrete contour pixel A can be 8, and the vertical coordinate can be 10.

[0211] The server may combine the horizontal axis coordinate, the vertical axis coordinate and the vertical axis coordinate of any discrete contour pixel obtained above into three-dimensional point cloud data of the any discrete contour pixel.

[0212] The server can determine the three-dimensional point cloud data of each discrete contour pixel in each tomographic slice image in the above manner.

[0213] Step S305 , clustering all discrete contour pixels into a plurality of discrete contour pixel clusters according to the point cloud data of all discrete contour pixels; the discrete contour pixels belonging to the same discrete contour pixel cluster are located in the same two-dimensional plane.

[0214] Specifically, after the server obtains the point cloud data of all discrete contour pixels, all discrete contour pixels can be clustered into multiple discrete contour pixel clusters, and the discrete contour pixels belonging to the same discrete contour pixel cluster are located in the same two-dimensional plane, and the three-dimensional point cloud data of the discrete contour pixels located in the same two-dimensional plane have the same one-dimensional coordinates. For example, if discrete contour pixel 1 and discrete contour pixel 2 both belong to the xoy plane, then the z-axis coordinate of discrete contour pixel 1 and the z-axis coordinate of discrete contour pixel 2 are the same.

[0215] For another example, there are discrete contour pixel 1, discrete contour pixel 2, discrete contour pixel 3 and discrete contour pixel 4, and the 3D point cloud data of discrete contour pixel 1 is: (1, 2, 3), the 3D point cloud data of discrete contour pixel 2 is: (2, 1, 3), the 3D point cloud data of discrete contour pixel 3 is: (5, 6, 7), and the 3D point cloud data of discrete contour pixel 4 is: (5, 7, 8). Since the coordinates of discrete contour pixel 1 and discrete contour pixel 2 on the z-axis are both 3, discrete contour pixel 1 and discrete contour pixel 2 can be divided into a discrete polling pixel cluster; since the coordinates of discrete contour pixel 3 and discrete contour pixel 4 on the x-axis are both 5, discrete contour pixel 3 and discrete contour pixel 4 can be divided into a discrete polling pixel cluster.

[0216] It should be noted that the same discrete contour pixel may belong to multiple discrete contour pixel clusters. Due to the existence of common discrete contour pixel clusters, when the surface of the object of interest is subsequently fitted, continuous polygonal patches of multiple faces can be fitted without any faults.

[0217] Step S306 , determining a facet of each discrete contour pixel cluster according to the point cloud data of the discrete contour pixels contained in each discrete contour pixel cluster, wherein each facet includes a plurality of facet vertices.

[0218] Specifically, after the server obtains multiple discrete contour pixel clusters and the two-dimensional plane corresponding to each discrete contour pixel cluster, the Voronoi composition principle is used to fit the surface of the object of interest for each discrete contour pixel cluster. Of course, one discrete contour pixel cluster is a surface that fits the object of interest, and multiple discrete contour pixel clusters can fit multiple surfaces of the object of interest, thereby obtaining a three-dimensional model of the object of interest.

[0219] Surface fitting of the object of interest is to determine multiple polygonal patches based on discrete contour pixel clusters in each two-dimensional plane, and connect the polygonal patches on multiple surfaces to obtain a three-dimensional object of interest model. Determining patches and connecting patches can also be called a point cloud modeling method based on point cloud data.

[0220] The following takes any discrete contour pixel cluster among multiple discrete contour pixel clusters as an example to illustrate how to determine the polygonal face corresponding to any discrete contour pixel cluster:

[0221] This application adopts the Voronoi composition principle to determine the facets. The Voronoi diagram is also called Thiessen polygons or Dirichlet diagrams. It is composed of a set of continuous polygons composed of perpendicular bisectors connecting two adjacent straight lines. First, the server constructs multiple triangles (also referred to as constructing a triangle network) based on the point cloud data of multiple discrete contour pixels contained in any discrete contour pixel cluster. Determine the center of the circumscribed circle of each triangle, connect the centers of the circumscribed circles of the triangles that satisfy the common edge relationship as the Vinod edge, and connect and combine all the Vinod edges to obtain the polygonal facets of any discrete contour pixel cluster. Among them, triangle ABC and triangle ABD satisfy the common edge relationship, and side AB is the common edge of the two triangles. Therefore, the center of the circumscribed circle of triangle ABC and the center of the circumscribed circle of triangle ABD can be connected as a Vinod edge.

[0222] The specific process of constructing multiple triangles based on the point cloud data of multiple discrete contour pixels contained in any discrete contour pixel cluster is as follows: the server first constructs a super triangle, which can contain all discrete contour pixels. For a discrete contour pixel to be connected, find the circumscribed circle of the discrete contour pixel to be connected, which contains the discrete contour pixel to be connected. Connect the discrete contour pixel to be connected with the discrete contour pixels adjacent to the discrete contour pixel to be connected to form multiple triangles to be adjusted. Optimize the multiple triangles to be adjusted according to the circumscribed circle to obtain multiple optimized triangles. The optimization criterion is to optimize the newly formed locally adjusted triangles. Combine the optimized triangles and the triangles that are not involved in the optimization into a triangle network, continuously add new discrete contour pixels, and continuously expand the number of triangles contained in the triangle network. When all discrete contour pixels participate in the above operation, the server uses the triangles contained in the triangle network as multiple triangles constructed by any discrete contour pixel cluster.

[0223] The multiple triangles constructed by any discrete pixel cluster satisfy the following 7 characteristics:

[0224] (1) Empty circularity: the circumcircle of any triangle contains no other points.

[0225] (2) Closest: The three nearest points form a triangle, and none of the line segments (sides of the triangle) intersect.

[0226] (3) Uniqueness: No matter where you start building in the region, you will eventually get the same result.

[0227] (4) Optimality: If the diagonals of the convex quadrilateral formed by any two adjacent triangles can be interchanged, then the smallest angle among the six internal angles of the two triangles will not become larger.

[0228] (5) Most regular: If the minimum angle of each triangle in the triangulation is arranged in ascending order, the value obtained by the arrangement of the Delaunay triangulation is the largest.

[0229] (6) Regionality: Adding, deleting, or moving a vertex will only affect the adjacent triangles.

[0230] (7) Shell with convex polygon: The outermost boundary of the triangulated mesh forms a convex polygon shell.

[0231] The server may determine multiple polygonal patches for each discrete contour pixel cluster in the same manner.

[0232] See also Figure 8 , Figure 8 is a schematic diagram of a polygonal patch provided in an embodiment of the present application, Figure 8 The polygon in may correspond to a polygonal patch in a two-dimensional plane in the present application, and the points in the image 8 are discrete contour pixels on the two-dimensional plane.

[0233] Step S307, obtaining the three-dimensional coordinates of each patch vertex, connecting all patch vertices in three-dimensional space according to the patch to which each patch vertex belongs and the three-dimensional coordinates of each patch vertex, to obtain the object of interest model, which is a three-dimensional model.

[0234] Specifically, it can be known that each two-dimensional polygonal patch is also connected by patch vertices (the two-dimensional coordinates of each patch vertex can be determined at this time), so the server can obtain the three-dimensional coordinates of each patch vertex, two of which can be equal to the position coordinates of the center of the circumscribed circle of the Voronoi edge in the corresponding two-dimensional plane, and the remaining one dimension is equal to the third-dimensional coordinate corresponding to the two-dimensional plane to which the patch belongs.

[0235] For example, discrete contour pixel A and discrete contour pixel B belong to the xoy plane, and their z-axis coordinates are equal to 3. After patch 1 is determined in the xoy plane based on the discrete contour pixel and discrete contour pixel B, the z-axis coordinates of the patch vertices of patch 1 are equal to 3. The x-axis coordinates and y-axis coordinates of the patch vertices of patch 1 are jointly determined by the x-axis coordinates and y-axis of discrete contour pixel A and the x-axis coordinates and y-axis of discrete contour pixel B, that is, the x-axis coordinates and y-axis coordinates of the patch vertices of patch 1 are equal to the position coordinates of the center of the circumscribed circle of the Voronoi edge constituting the patch on the xoy plane.

[0236] At this point, the server has obtained the three-dimensional coordinates of each patch vertex. According to the polygon patch to which each patch vertex belongs and the three-dimensional coordinates of each patch vertex, all patch vertices are connected in three-dimensional space to obtain a three-dimensional object of interest model (as shown above). Figure 2a-2c The three-dimensional thoracic skeleton model 20c in the corresponding embodiment).

[0237] See also Figure 9a-9c , which is a schematic diagram of determining an object of interest model provided in an embodiment of the present application, Figure 9a The points in the figure represent discrete contour pixels, and the triangles formed by the dotted lines are the triangular meshes generated when constructing the Voronoi diagram. Figure 9b The edge formed by the solid line is the Voronoi edge, and all Voronoi edges can be combined into a Voronoi diagram (i.e., a polygonal patch in this application). Based on multiple discrete contour pixel clusters, multiple plane Voronoi diagrams are constructed, and the three-dimensional coordinates of the patch vertices of each polygonal patch are obtained. The three-dimensional coordinates of all patch vertices are connected in three-dimensional space to obtain Fig.9c The three-dimensional object of interest model is shown.

[0238] Optionally, the above steps S305 to S307 use the Voronoi diagram principle to perform surface fitting. The server can also directly perform fitting based on the three-dimensional point cloud data of all discrete contour pixels, that is, for each discrete contour pixel, the two closest discrete contour pixels are found, which can be combined into a group of discrete contour pixels. In three-dimensional space, the group of discrete contour pixels is connected to obtain a three-dimensional object of interest model.

[0239] See also Figure 10a-Figure 10d , which is a schematic diagram of an object of interest model provided in an embodiment of the present application. When the object of interest is thoracic bone tissue, and the thoracic bone tissue includes thoracic hard bone and thoracic cartilage, Fig.10a Represents a three-dimensional thoracic bone model. Fig.10b represents a three-dimensional thoracic cartilage model, Fig.10c The front view of the three-dimensional thoracic skeleton model. Fig.10d A side view showing the overall three-dimensional thoracic skeleton model.

[0240] This application is simulated on matlab7.0 and runs on a 64-bit windows 7 system. The processor is i76700HQ with a main frequency of 2.8GHz, the memory is 16G DDR42133 MHz, and the graphics card is NVIDIA GeForce GTX960m with 2G independent graphics.

[0241] The experiment involved two groups of CT slices. The first group of CT images had 85 slices containing liver, 73 of which had good segmentation results, with a coincidence rate of more than 92% with the target edge. However, the segmentation results of some CT slices were still not ideal. The modeling of 73 CT slices took about 29.5 seconds. The second group of CT slices had 80 slices, 69 of which had good segmentation results, with a coincidence rate of more than 94% with the target edge. The modeling of 80 CT slices took about 28.7 seconds. After testing, the traditional surface modeling CT slice bone and cartilage modeling took an average of 11.3 minutes, and the second set took 10.7 minutes.

[0242] Experiments show that with two sets of CT slices as basic data, the modeling can be completed within 30 seconds using the two sets of experimental slices of this application. Except for the initial stage, when the user needs to select the first seed area based on prior experience, there is no manual participation in other segmentation processes, and the algorithm has strong stability; in addition, the method used in this application only takes 400ms to 800ms per sheet to peel off the chest area of ​​CT slices. The first set of CT slices takes 29.5s to model, and the second set of CT slices takes 28.7s to segment, which is only about 1 / 23 of the time it takes for doctors to manually outline, and the segmentation speed has increased significantly.

[0243] From the above, it can be seen that the present application obtains three-dimensional point cloud data of the surface of the object of interest from the image, and does not need to collect point cloud data by special equipment, can get rid of equipment dependence, and enrich the method of obtaining point cloud data; furthermore, since point cloud modeling has higher modeling efficiency than other surface modeling or volume modeling, the present application models the object of interest based on point cloud data, and can model a three-dimensional object of interest model more quickly.

[0244] See also Fig.11 , Fig.11 is a schematic diagram of the structure of an electronic medical device provided in an embodiment of the present application. The electronic medical device may include the above Figure 3-10d The imaging device and the server in the corresponding embodiment; the electronic medical device may include an image collector, an image modeler and an image display, and the above electronic medical device can collect medical images and perform three-dimensional modeling on the medical images. The specific process includes the following steps:

[0245] Step S401: the image collector acquires an image set, the image set comprising N tomographic slice images, the N tomographic slice images being slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1.

[0246] Specifically, the image collector collects an image set, the image set includes N tomographic slice images, and the N tomographic slice images are slice images generated after tomographic scanning of the object of interest. When the tomographic slice image is a CT image, the image collector can be specifically a spiral CT machine; when the tomographic slice image is an MRI image, the image collector can be specifically an MRI machine.

[0247] The specific process of the image collector collecting image sets can be found in the above Figure 3 This corresponds to step S101 in the embodiment.

[0248] Step S402: the image modeler determines the region of interest where the object of interest is located in each tomographic slice image, and determines discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image.

[0249] Specifically, the image modeler determines the region of interest where the object of interest is located in each tomographic slice image based on an improved region growing algorithm. The image modeler determines the discrete contour pixels of the object of interest in each tomographic slice image based on the region of interest of each tomographic slice image and edge detection.

[0250] The specific process of the image modeler determining the region of interest and determining the discrete contour pixels can be found in the above Figure 3 This corresponds to step S102 in the embodiment.

[0251] Step S403, the image modeler determines the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images, and constructs the object of interest model of the object of interest according to the point cloud data of multiple discrete contour pixels.

[0252] Specifically, the image modeler determines the three-dimensional point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the corresponding tomographic slice image and the tomographic scanning interval of the N tomographic slice images. The image modeler constructs a three-dimensional object of interest model of the object of interest based on the point cloud modeling method and the point cloud data of all discrete contour pixels.

[0253] The specific process of the image modeler determining the three-dimensional point cloud data of discrete contour pixels and constructing the three-dimensional object of interest model can be seen in the above Figure 7 This corresponds to step S303 to step S307 in the embodiment.

[0254] Step S405: the image display renders and displays the object of interest model.

[0255] Specifically, the image display displays a three-dimensional object of interest model.

[0256] For further information, see Fig.12 , which is a schematic diagram of the structure of an image processing device provided in an embodiment of the present application. Fig.12 As shown, the image processing device 1 can be applied to the above Figure 3-10d Corresponding to the server in the embodiment, specifically, the image processing device 1 can be a computer program (including program code) running in a computer device, for example, the image processing device 1 is an application software; the image processing device 1 can be used to execute the corresponding steps in the method provided in the embodiment of the present application.

[0257] The image processing device 1 may include: an acquisition module 11 , a first determination module 12 , a second determination module 13 , a third determination module 14 and a construction module 15 .

[0258] An acquisition module 11 is used to acquire an image set, wherein the image set includes N tomographic slice images, wherein the N tomographic slice images are slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1;

[0259] A first determining module 12 is used to determine the region of interest where the object of interest is located in each tomographic slice image;

[0260] A second determination module 13 is used to determine discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image;

[0261] A third determination module 14 is used to determine the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images;

[0262] The construction module 15 is used to construct an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels.

[0263] In one embodiment, for any discrete contour pixel in any tomographic slice image of the N tomographic slice images, the third determination module 14 is used to determine the point cloud data of any discrete contour pixel according to the position information of the any discrete contour pixel in the any tomographic slice image and the tomographic scanning interval of the N tomographic slice images, specifically for:

[0264] Acquire a scanning position of any tomographic slice image in N tomographic slice images;

[0265] Determining the vertical axis coordinate of any discrete contour pixel according to the tomographic scanning interval and the scanning position of the N tomographic slice images;

[0266] Acquire the horizontal axis coordinate and the vertical axis coordinate of any discrete contour pixel in any tomographic slice image;

[0267] The vertical axis coordinate of any discrete contour pixel, the horizontal axis coordinate and the vertical axis coordinate in any tomographic slice image are combined into point cloud data of any discrete contour pixel.

[0268] The specific functional implementation of the acquisition module 11, the first determination module 12, the second determination module 13, the third determination module 14 and the construction module 15 can be referred to above. Figure 3 The corresponding steps S101 to S104 in the embodiment, and the specific functional implementation of the third determination module 14 can refer to the above Figure 7 Corresponding to step S303 and step S304 in the embodiment.

[0269] See also Fig.12 The first determining module 12 may include: a setting unit 121 , a first determining unit 122 , a second determining unit 123 and a stopping unit 124 .

[0270] A setting unit 121 is used to set a polling priority for the N tomographic slice images, select a target tomographic slice image for current polling from the N tomographic slice images according to the polling priority, and obtain a seed pixel of the target tomographic slice image;

[0271] A first determining unit 122, configured to determine a region of interest where the object of interest is located in the target tomographic slice image according to the seed pixel;

[0272] A second determining unit 123, configured to determine a seed pixel of a next target tomographic slice image according to the region of interest in the target tomographic slice image;

[0273] The stopping unit 124 is configured to stop polling when all N tomographic slice images are set as target tomographic slice images.

[0274] The second determining unit 123 is specifically configured to:

[0275] Determine a pixel average value of all pixels included in the region of interest in the target tomographic slice image;

[0276] In the next target tomographic slice image, pixels whose pixel values ​​are equal to the pixel average value are used as seed pixels of the next target tomographic slice image.

[0277] The first determining unit 122 is specifically configured to:

[0278] Determine a seed region in the target tomographic slice image according to the seed pixel;

[0279] Expanding the seed region according to the growth conditions to obtain an expanded region;

[0280] When the extended region meets the growth stop condition, the extended region is used as the region of interest in the target tomographic slice image.

[0281] The specific functional implementation of the setting unit 121, the first determining unit 122, the second determining unit 123 and the stopping unit 124 can be referred to above. Figure 3 This corresponds to step S102 in the embodiment.

[0282] In one embodiment, for any tomographic slice image among the N tomographic slice images, the second determination module 13 is used to determine the discrete contour pixels of the object of interest in any tomographic slice image according to the region of interest of the any tomographic slice image, and includes: an extraction unit 131 and a screening unit 132.

[0283] An extraction unit 131 is used to extract a unit slice image from any tomographic slice image according to the region of interest in any tomographic slice image, perform edge detection on the unit slice image, and obtain an original set of pixels of interest of any tomographic slice image;

[0284] The screening unit 132 is configured to screen the discrete contour pixels of any one of the tomographic slice images from the original set of interest pixels.

[0285] The original interest pixel set includes a first original interest pixel and a second original interest pixel;

[0286] The screening unit 132 is specifically used for:

[0287] Determine a first coordinate error between a horizontal axis coordinate of the first original pixel in the any tomographic slice image and a horizontal axis coordinate of the second original pixel in the any tomographic slice image;

[0288] determining a second coordinate error between a longitudinal coordinate of the second original pixel in the any tomographic slice image and a longitudinal coordinate of the second original pixel in the any tomographic slice image;

[0289] A maximum coordinate error is selected from the first coordinate error and the second coordinate error. If the maximum coordinate error is not greater than a coordinate error threshold, the first original pixel of interest or the second original pixel of interest is used as a discrete contour pixel of any one of the tomographic slice images.

[0290] The specific functional implementation of the extraction unit 131 and the screening unit 132 can be found in the above Figure 3 This corresponds to step S102 in the embodiment.

[0291] Please see again Fig.12 The construction module 15 may include: a clustering unit 151 and a facet determination unit 152 .

[0292] A clustering unit 151 is used to cluster all discrete contour pixels into a plurality of discrete contour pixel clusters according to the point cloud data of all discrete contour pixels; the discrete contour pixels belonging to the same discrete contour pixel cluster are located in the same two-dimensional plane;

[0293] A patch determining unit 152, configured to determine a patch of each discrete contour pixel cluster according to point cloud data of discrete contour pixels contained in each discrete contour pixel cluster, wherein each patch includes a plurality of patch vertices;

[0294] The clustering unit 151 is also used to obtain the three-dimensional coordinates of each face vertex, connect all face vertices in three-dimensional space according to the face to which each face vertex belongs and the three-dimensional coordinates of each face vertex, and obtain the object of interest model, which is a three-dimensional model.

[0295] In one embodiment, for any discrete contour pixel cluster among the plurality of discrete contour pixel clusters, the patch determining unit 152 is configured to determine the patch of any discrete contour pixel cluster according to the point cloud data of the discrete contour pixels included in the any discrete contour pixel cluster, specifically configured to:

[0296] Constructing a plurality of triangles according to the point cloud data of the discrete contour pixels contained in any discrete contour pixel cluster, and determining the center of the circumscribed circle of each triangle;

[0297] The centers of the circumscribed circles of the triangles satisfying the common edge relationship are connected as Voronoi edges, and all Voronoi edges are combined to obtain a patch of any discrete contour pixel cluster.

[0298] The specific functional implementation of the clustering unit 151 and the face determination unit 152 can be found in the above Figure 7 This corresponds to step S305 to step S307 in the embodiment.

[0299] In see Fig.12 The acquisition module 11 may include: an acquisition unit 111 and a normalization unit 112 .

[0300] An acquisition unit 111 is used to acquire N original slice images, where the N original slice images are slice images generated after tomography scanning of the object of interest;

[0301] A normalization unit 112 is used to perform normalization processing on the N original slice images respectively to obtain N normalized images;

[0302] The acquisition unit 111 is further configured to perform filtering processing on each normalized image to obtain N tomographic slice images, and combine the N tomographic slice images into the image set.

[0303] In one embodiment, for any original slice image among the N original slice images, the normalization unit 112 is used to perform normalization processing on the any original slice image to obtain a normalized image, specifically for:

[0304] Obtaining the window width and window position of the N original slice images;

[0305] Generating a maximum normalized value and a minimum normalized value according to the window width and the window level;

[0306] If the pixel value of a pixel of any of the original slice images is less than the minimum normalized value, adjusting the pixel value of any of the original slice images to a first threshold;

[0307] If the pixel value of the pixel of any one of the original slice images is not less than the minimum normalized value and not greater than the maximum normalized value, then adjusting the pixel value of the pixel of any one of the original slice images according to the maximum normalized value and the minimum normalized value;

[0308] If the pixel value of the pixel of any one of the original slice images is greater than the maximum normalized value, the pixel value of the pixel of any one of the original slice images is adjusted to a second threshold value;

[0309] Any original slice image after pixel value adjustment is used as a normalized image.

[0310] The specific functional implementation of the acquisition unit 111 and the normalization unit 112 can be found in the above Figure 3 This corresponds to step S101 in the embodiment.

[0311] For further information, see Fig.13 , is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Figure 3-10d The server in the corresponding embodiment may be a computer device 1000. Fig.13As shown, the computer device 1000 may include: a user interface 1002, a processor 1004, an encoder 1006 and a memory 1008. The signal receiver 1016 is used to receive or send data via a cellular interface 1010, a WIFI interface 1012, ..., or an NFC interface 1014. The encoder 1006 encodes the received data into a data format for computer processing. A computer program is stored in the memory 1008, and the processor 1004 is configured to perform the steps in any of the above method embodiments through the computer program. The memory 1008 may include a volatile memory (e.g., a dynamic random access memory DRAM), and may also include a non-volatile memory (e.g., a one-time programmable read-only memory OTPROM). In some instances, the memory 1008 may further include a memory remotely arranged relative to the processor 1004, and these remote memories may be connected to the computer device 1000 via a network. The user interface 1002 may include: a keyboard 1018 and a display 1020.

[0312] exist Fig.13 In the computer device 1000 shown, the processor 1004 may be used to call a computer program stored in the memory 1008 to implement:

[0313] Acquire an image set, the image set comprising N tomographic slice images, the N tomographic slice images being slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1;

[0314] Determine a region of interest where the object of interest is located in each tomographic slice image, and determine discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image;

[0315] Determine the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images;

[0316] An object of interest model of the object of interest is constructed according to the point cloud data of all discrete contour pixels.

[0317] In one embodiment, when the processor 1004 determines the region of interest where the object of interest is located in each tomographic slice image, the processor 1004 specifically performs the following steps:

[0318] Setting polling priorities for the N tomographic slice images;

[0319] Selecting a target tomographic slice image for current polling from the N tomographic slice images according to the polling priority;

[0320] Acquire a seed pixel of the target tomographic slice image, and determine a region of interest where the object of interest is located in the target tomographic slice image according to the seed pixel;

[0321] Determining a seed pixel of a next target tomographic slice image according to the region of interest in the target tomographic slice image;

[0322] When all N tomographic slice images are set as target tomographic slice images, the polling is stopped.

[0323] In one embodiment, when the processor 1004 determines the seed pixel of the next target tomographic slice image according to the region of interest in the target tomographic slice image, the processor 1004 specifically performs the following steps:

[0324] Determine a pixel average value of all pixels included in the region of interest in the target tomographic slice image;

[0325] In the next target tomographic slice image, pixels whose pixel values ​​are equal to the pixel average value are used as seed pixels of the next target tomographic slice image.

[0326] In one embodiment, when the processor 1004 determines the region of interest where the object of interest is located in the target tomographic slice image according to the seed pixel, the processor 1004 specifically performs the following steps:

[0327] Determine a seed region in the target tomographic slice image according to the seed pixel;

[0328] Expanding the seed region according to the growth conditions to obtain an expanded region;

[0329] When the extended region meets the growth stop condition, the extended region is used as the region of interest in the target tomographic slice image.

[0330] In one embodiment, for any tomographic slice image among the N tomographic slice images, the processor 1004, when determining the discrete contour pixels of the object of interest in any tomographic slice image according to the region of interest of the any tomographic slice image, specifically performs the following steps:

[0331] Extracting a unit slice image from any of the tomographic slice images according to a region of interest in any of the tomographic slice images;

[0332] Performing edge detection on the unit slice image to obtain an original set of interest pixels of any tomographic slice image;

[0333] The discrete contour pixels of any one of the tomographic slice images are screened from the original interest pixel set.

[0334] In one embodiment, the original interest pixel set includes a first original interest pixel and a second original interest pixel;

[0335] When the processor 1004 performs the filtering of discrete contour pixels of any tomographic slice image from the original set of pixels of interest, the processor 1004 specifically performs the following steps:

[0336] Determine a first coordinate error between a horizontal axis coordinate of the first original pixel in the any tomographic slice image and a horizontal axis coordinate of the second original pixel in the any tomographic slice image;

[0337] determining a second coordinate error between a longitudinal coordinate of the second original pixel in the any tomographic slice image and a longitudinal coordinate of the second original pixel in the any tomographic slice image;

[0338] A maximum coordinate error is selected from the first coordinate error and the second coordinate error. If the maximum coordinate error is not greater than a coordinate error threshold, the first original pixel of interest or the second original pixel of interest is used as a discrete contour pixel of any one of the tomographic slice images.

[0339] In one embodiment, for any discrete contour pixel in any tomographic slice image of the N tomographic slice images, the processor 1004, when determining the point cloud data of any discrete contour pixel according to the position information of the any discrete contour pixel in the any tomographic slice image and the tomographic scanning interval of the N tomographic slice images, specifically performs the following steps:

[0340] Acquire a scanning position of any tomographic slice image in N tomographic slice images;

[0341] Determining the vertical axis coordinate of any discrete contour pixel according to the tomographic scanning interval and the scanning position of the N tomographic slice images;

[0342] Acquire the horizontal axis coordinate and the vertical axis coordinate of any discrete contour pixel in any tomographic slice image;

[0343] The vertical axis coordinate of any discrete contour pixel, the horizontal axis coordinate and the vertical axis coordinate in any tomographic slice image are combined into point cloud data of any discrete contour pixel.

[0344] In one embodiment, when the processor 1004 constructs the object of interest model of the object of interest according to the point cloud data of all discrete contour pixels, the processor 1004 specifically performs the following steps:

[0345] According to the point cloud data of all discrete contour pixels, all discrete contour pixels are clustered into a plurality of discrete contour pixel clusters; the discrete contour pixels belonging to the same discrete contour pixel cluster are located in the same two-dimensional plane;

[0346] Determine a facet of each discrete contour pixel cluster according to the point cloud data of the discrete contour pixels contained in each discrete contour pixel cluster, each facet including a plurality of facet vertices;

[0347] The three-dimensional coordinates of each patch vertex are obtained, and according to the patch to which each patch vertex belongs and the three-dimensional coordinates of each patch vertex, all patch vertices are connected in three-dimensional space to obtain the object of interest model, which is a three-dimensional model.

[0348] In one embodiment, for any discrete contour pixel cluster among the plurality of discrete contour pixel clusters, the processor 1004 specifically performs the following steps when determining a patch of any discrete contour pixel cluster according to the point cloud data of the discrete contour pixels included in the any discrete contour pixel cluster:

[0349] Constructing a plurality of triangles according to the point cloud data of the discrete contour pixels contained in any discrete contour pixel cluster, and determining the center of the circumscribed circle of each triangle;

[0350] The centers of the circumscribed circles of the triangles satisfying the common edge relationship are connected as Voronoi edges, and all Voronoi edges are combined to obtain a patch of any discrete contour pixel cluster.

[0351] In one embodiment, when the processor 1004 executes the acquisition of the image set, the processor 1004 specifically performs the following steps:

[0352] Acquire N original slice images, where the N original slice images are slice images generated after tomographic scanning of the object of interest;

[0353] Normalizing N original slice images respectively to obtain N normalized images;

[0354] Perform filtering on each normalized image to obtain N tomographic slice images;

[0355] The N tomographic slice images are combined into the image set.

[0356] In one embodiment, for any original slice image among the N original slice images, the processor 1004 specifically performs the following steps when performing normalization processing on the any original slice image to obtain a normalized image:

[0357] Obtaining the window width and window position of the N original slice images;

[0358] Generating a maximum normalized value and a minimum normalized value according to the window width and the window level;

[0359] If the pixel value of a pixel of any of the original slice images is less than the minimum normalized value, adjusting the pixel value of any of the original slice images to a first threshold;

[0360] If the pixel value of the pixel of any one of the original slice images is not less than the minimum normalized value and not greater than the maximum normalized value, then adjusting the pixel value of the pixel of any one of the original slice images according to the maximum normalized value and the minimum normalized value;

[0361] If the pixel value of the pixel of any one of the original slice images is greater than the maximum normalized value, the pixel value of the pixel of any one of the original slice images is adjusted to a second threshold value;

[0362] Any original slice image after pixel value adjustment is used as a normalized image.

[0363] It should be understood that the computer device 1000 described in the embodiment of the present application can execute the above Figure 3-10d The description of the image processing method in the corresponding embodiment can also be performed as described above. Fig.12 The description of the image processing device 1 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here either.

[0364] In addition, it should be pointed out that: the embodiment of the present application also provides a computer storage medium, and the computer storage medium stores a computer program executed by the image processing device 1 mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the above-mentioned Figure 3-10d The description of the image processing method in the corresponding embodiment will therefore not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application. As an example, program instructions can be deployed on a computer device for execution, or on multiple computer devices located at one location, or on multiple computer devices distributed at multiple locations and interconnected by a communication network. Multiple computer devices distributed at multiple locations and interconnected by a communication network can be combined into a blockchain network.

[0365] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device can perform the above Figures 3 to 10d The method in the corresponding embodiment will therefore not be described in detail here.

[0366] A person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the above-mentioned program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The above-mentioned storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0367] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. An image processing method, characterized in that: include: Acquire an image set, the image set comprising N tomographic slice images, the N tomographic slice images being slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1; Determine a region of interest where the object of interest is located in each tomographic slice image, and determine discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image; Determine the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images; constructing an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels; For any tomographic slice image among the N tomographic slice images, according to the region of interest of the any tomographic slice image, the process of determining discrete contour pixels of the object of interest in the any tomographic slice image includes: Extracting a unit slice image from any of the tomographic slice images according to a region of interest in any of the tomographic slice images; Performing edge detection on the unit slice image, calculating the gradient of each pixel in the unit slice image based on an operator, taking pixels that meet a gradient threshold condition as edge pixels of the object of interest in any tomographic slice image, and obtaining an original interest pixel set of any tomographic slice image; the original interest pixel set includes a first original interest pixel and a second original interest pixel; The discrete contour pixels of any tomographic slice image are screened from the original interest pixel set; including: determining a first coordinate error between the horizontal axis coordinate of the first original interest pixel in any tomographic slice image and the horizontal axis coordinate of the second original interest pixel in any tomographic slice image; determining a second coordinate error between the vertical axis coordinate of the first original interest pixel in any tomographic slice image and the vertical axis coordinate of the second original interest pixel in any tomographic slice image; selecting a maximum coordinate error from the first coordinate error and the second coordinate error, and if the maximum coordinate error is not greater than a coordinate error threshold, using the first original interest pixel or the second original interest pixel as the discrete contour pixel of any tomographic slice image.

2. The method according to claim 1, characterized in that Determining the region of interest where the object of interest is located in each tomographic slice image includes: Setting polling priorities for the N tomographic slice images; Selecting a target tomographic slice image for current polling from the N tomographic slice images according to the polling priority; Acquire a seed pixel of the target tomographic slice image, and determine a region of interest where the object of interest is located in the target tomographic slice image according to the seed pixel; Determining a seed pixel of a next target tomographic slice image according to the region of interest in the target tomographic slice image; When all N tomographic slice images are set as target tomographic slice images, the polling is stopped.

3. The method according to claim 2, characterized in that The step of determining the seed pixel of the next target tomographic slice image according to the region of interest in the target tomographic slice image comprises: Determine a pixel average value of all pixels included in the region of interest in the target tomographic slice image; In the next target tomographic slice image, pixels whose pixel values ​​are equal to the pixel average value are used as seed pixels of the next target tomographic slice image.

4. The method according to claim 2, characterized in that: The determining, according to the seed pixel, a region of interest where the object of interest is located in the target tomographic slice image comprises: Determine a seed region in the target tomographic slice image according to the seed pixel; Expanding the seed region according to the growth conditions to obtain an expanded region; When the extended region meets the growth stop condition, the extended region is used as the region of interest in the target tomographic slice image.

5. The method according to claim 1, characterized in that For any discrete contour pixel in any tomographic slice image of N tomographic slice images, according to the position information of the any discrete contour pixel in the any tomographic slice image and the tomographic scanning interval of the N tomographic slice images, the process of determining the point cloud data of the any discrete contour pixel includes: Acquire a scanning position of any tomographic slice image in N tomographic slice images; Determining the vertical axis coordinate of any discrete contour pixel according to the tomographic scanning interval and the scanning position of the N tomographic slice images; Acquire the horizontal axis coordinate and the vertical axis coordinate of any discrete contour pixel in any tomographic slice image; The vertical axis coordinate of any discrete contour pixel, the horizontal axis coordinate and the vertical axis coordinate in any tomographic slice image are combined into point cloud data of any discrete contour pixel.

6. The method according to claim 1, characterized in that The step of constructing an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels comprises: According to the point cloud data of all discrete contour pixels, all discrete contour pixels are clustered into a plurality of discrete contour pixel clusters; the discrete contour pixels belonging to the same discrete contour pixel cluster are located in the same two-dimensional plane; Determine a facet of each discrete contour pixel cluster according to the point cloud data of the discrete contour pixels contained in each discrete contour pixel cluster, each facet including a plurality of facet vertices; The three-dimensional coordinates of each patch vertex are obtained, and according to the patch to which each patch vertex belongs and the three-dimensional coordinates of each patch vertex, all patch vertices are connected in three-dimensional space to obtain the object of interest model, which is a three-dimensional model.

7. The method according to claim 6, characterized in that For any discrete contour pixel cluster among a plurality of discrete contour pixel clusters, the process of determining a facet of any discrete contour pixel cluster according to point cloud data of discrete contour pixels included in the any discrete contour pixel cluster includes: Constructing a plurality of triangles according to the point cloud data of the discrete contour pixels contained in any discrete contour pixel cluster, and determining the center of the circumscribed circle of each triangle; The centers of the circumscribed circles of the triangles satisfying the common edge relationship are connected as Voronoi edges, and all Voronoi edges are combined to obtain a patch of any discrete contour pixel cluster.

8. The method according to claim 1, characterized in that The acquiring of the image set comprises: Acquire N original slice images, where the N original slice images are slice images generated after tomographic scanning of the object of interest; Normalizing N original slice images respectively to obtain N normalized images; Perform filtering on each normalized image to obtain N tomographic slice images; The N tomographic slice images are combined into the image set.

9. The method according to claim 8, characterized in that For any original slice image among the N original slice images, the process of normalizing the original slice image to obtain a normalized image includes: Obtaining the window width and window position of the N original slice images; Generating a maximum normalized value and a minimum normalized value according to the window width and the window level; If the pixel value of a pixel of any of the original slice images is less than the minimum normalized value, adjusting the pixel value of any of the original slice images to a first threshold; If the pixel value of the pixel of any one of the original slice images is not less than the minimum normalized value and not greater than the maximum normalized value, then adjusting the pixel value of the pixel of any one of the original slice images according to the maximum normalized value and the minimum normalized value; If the pixel value of the pixel of any one of the original slice images is greater than the maximum normalized value, the pixel value of the pixel of any one of the original slice images is adjusted to a second threshold value; Any original slice image after pixel value adjustment is used as a normalized image.

10. An image processing device, characterized in that: include: An acquisition module, configured to acquire an image set, wherein the image set includes N tomographic slice images, wherein the N tomographic slice images are slice images generated after tomographic scanning of an object of interest, where N is an integer greater than 1; A first determination module is used to determine the region of interest where the object of interest is located in each tomographic slice image; A second determination module is used to determine discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image; A third determination module is used to determine the point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images; A construction module, used to construct an object of interest model of the object of interest according to the point cloud data of all discrete contour pixels; For any tomographic slice image among the N tomographic slice images, the second determining module is used to determine the discrete contour pixels of the object of interest in the any tomographic slice image according to the region of interest of the any tomographic slice image, including: an extraction unit, configured to extract a unit slice image from any tomographic slice image according to the region of interest in any tomographic slice image, perform edge detection on the unit slice image, calculate the gradient of each pixel in the unit slice image based on an operator, take pixels that meet a gradient threshold condition as edge pixels of the object of interest in any tomographic slice image, and obtain an original set of pixels of interest of any tomographic slice image; the original set of pixels of interest includes a first original pixel of interest and a second original pixel of interest; A screening unit, configured to screen the discrete contour pixels of any one of the tomographic slice images from the original set of pixels of interest; The screening unit is specifically used to: determine a first coordinate error between the horizontal axis coordinate of the first original pixel of interest in any tomographic slice image and the horizontal axis coordinate of the second original pixel of interest in any tomographic slice image; determine a second coordinate error between the vertical axis coordinate of the first original pixel of interest in any tomographic slice image and the vertical axis coordinate of the second original pixel of interest in any tomographic slice image; select a maximum coordinate error from the first coordinate error and the second coordinate error, and if the maximum coordinate error is not greater than a coordinate error threshold, use the first original pixel of interest or the second original pixel of interest as a discrete contour pixel of any tomographic slice image.

11. An electronic medical device, characterized in that: It includes an image collector, an image modeler and an image display; The image collector acquires an image set, the image set comprising N tomographic slice images, the N tomographic slice images being slice images generated after tomographic scanning of the object of interest, where N is an integer greater than 1; The image modeler determines a region of interest where the object of interest is located in each tomographic slice image, and determines discrete contour pixels of the object of interest in each tomographic slice image according to the region of interest of each tomographic slice image; The image modeler determines point cloud data of each discrete contour pixel according to the position of each discrete contour pixel in the tomographic slice image and the tomographic scanning interval of the N tomographic slice images, and constructs an object of interest model of the object of interest according to the point cloud data of the plurality of discrete contour pixels; The image display renders and displays the object of interest model; For any tomographic slice image among the N tomographic slice images, according to the region of interest of the any tomographic slice image, the process of determining discrete contour pixels of the object of interest in the any tomographic slice image includes: Extracting a unit slice image from any of the tomographic slice images according to a region of interest in any of the tomographic slice images; Performing edge detection on the unit slice image, calculating the gradient of each pixel in the unit slice image based on an operator, taking pixels that meet a gradient threshold condition as edge pixels of the object of interest in any tomographic slice image, and obtaining an original interest pixel set of any tomographic slice image; the original interest pixel set includes a first original interest pixel and a second original interest pixel; The discrete contour pixels of any tomographic slice image are screened from the original interest pixel set; including: determining a first coordinate error between the horizontal axis coordinate of the first original interest pixel in any tomographic slice image and the horizontal axis coordinate of the second original interest pixel in any tomographic slice image; determining a second coordinate error between the vertical axis coordinate of the first original interest pixel in any tomographic slice image and the vertical axis coordinate of the second original interest pixel in any tomographic slice image; selecting a maximum coordinate error from the first coordinate error and the second coordinate error, and if the maximum coordinate error is not greater than a coordinate error threshold, using the first original interest pixel or the second original interest pixel as the discrete contour pixel of any tomographic slice image.

12. A computer device, characterized in that: The invention comprises a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method according to any one of claims 1 to 9.

13. A computer storage medium, characterized in that: The computer storage medium stores a computer program, wherein the computer program includes program instructions. When the program instructions are executed by a processor, the method according to any one of claims 1 to 9 is executed.

Citation Information

Patent Citations

  • Method and apparatus for segmentation of sequence image

    CN101256669A

  • Bone CT sequence image oriented grid model adaptive reconstruction method

    CN106600683A

  • CT image liver artery segmentation method and system based on deep learning

    CN110992383A