An image distribution system and method for semiconductor wafer inspection
Patent Information
- Application Number
- CN202611082955.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-21
- Publication Date
- 2026-10-27
AI Technical Summary
现有技术未能依据图像内容本身的纹理复杂度来区分区域的重要程度,无法从图像中筛选出信息密度更高的局部区块进行定向分发,导致检测终端常被大量低价值图像数据淹没,关键区域的图像反而可能因压缩或传输延迟而损失细节
通过像素级梯度场计算生成梯度方向直方图,并基于该直方图提取局部峰值方向角作为主导方向区间。选取梯度方向属于主导方向区间的像素作为种子像素,沿四邻域方向生长合并具有相同方向标签的相邻像素,每次生长后的边界像素继续作为新种子点迭代,直至无法再合并,从而将晶圆表面检测图像分割为多个连通纹理基元区块。这种分割方式直接依据图像自身的梯度方向分布特性形成区块边界,使每个区块内部保持纹理方向的一致性,不同于固定网格或基于灰度阈值的方法,能够适应晶圆表面复杂多变的纹理结构,将具有相似方向性纹理的像素自适应聚集成独立的处理单元,为后续筛选提供更具纹理意义的区块划分基础。对每个纹理基元区块提取轮廓边界像素链,通过链码编码获得链码序列,根据相邻链码的方向变化量计算每个轮廓点处的曲率值,并沿轮廓遍历顺序排列成边缘曲率序列。将该序列中的曲率值等分为多个曲率等级,统计各等级出现频率并计算概率分布,以该概率分布的信息熵作为曲率熵值。曲率熵值综合反映了区块轮廓上曲率变化的丰富程度和不规则程度,轮廓上弯曲模式越多样、越复杂,曲率熵值越高。基于曲率熵值对全部纹理基元区块进行降序排列并选取前预设比例区块作为关键纹理区块,能够自动从图像中提取出轮廓形态最复杂、信息密度最高的区域,而无需依赖缺陷样本训练或预设规则。这些关键纹理区块对应晶圆表面边缘变化剧烈、可能包含缺陷或重要结构的位置,将其筛选出来优先分发,避免了平坦背景区域的传输带宽占用。
Smart Images

Figure CN122989581A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of semiconductor wafer inspection technology, specifically to an image distribution system and method for semiconductor wafer inspection. Background Technology
[0002] Semiconductor wafer inspection requires the analysis of high-resolution images of the wafer surface to identify various defects. In automated inspection lines, high-precision imaging equipment typically acquires the entire wafer image, which is then transmitted to multiple inspection terminals for engineers to conduct parallel re-inspections or classification. Existing image distribution methods mostly employ either full image transmission or broadcasting after being divided into fixed grids. Full image transmission results in large data volumes and high transmission latency, especially when multiple terminals request the image simultaneously, easily causing network congestion and impacting inspection efficiency. While dividing the image into fixed grids and distributing it reduces the amount of data transmitted per transmission, this method is not related to the actual texture complexity and defect distribution of the wafer surface. Large areas of flat, unchanging background are transmitted equally, leading to wasted bandwidth resources, while critical areas containing rich structural information do not receive priority or high-quality transmission guarantees. In wafer inspection images, defects or critical morphologies often manifest as abrupt changes in local texture and sharp curvature of the contour. The texture characteristics of different regions on a wafer surface vary significantly. For example, etched areas, photoresist edges, and thin-film junctions exhibit complex gradient direction distributions and irregular edge curvature changes. These regions contribute far more to defect detection than background areas. Existing technologies fail to differentiate the importance of regions based on the texture complexity of the image content itself, and cannot select local blocks with higher information density for targeted distribution. This results in the detection terminal often being overwhelmed by a large amount of low-value image data, while images of critical areas may lose detail due to compression or transmission delays.
[0003] To reduce invalid data transmission, it is necessary to automatically extract local regions with higher texture complexity and contour irregularities from wafer inspection images and accurately map these regions to the physical locations on the wafer, enabling targeted delivery based on the physical region binding relationship of the inspection station. This leads to two problems that need to be solved: First, without pre-annotating defect samples, how to adaptively segment a single wafer image into primitive blocks reflecting texture consistency based on pixel gradient distribution and texture arrangement rules, and quantify and filter out key blocks with complex contour curvature changes; second, how to accurately map the selected key blocks from image pixel coordinates to the wafer physical coordinate system, establishing a correspondence between blocks and specific physical regions on the wafer, so that the distribution process directly targets the terminal devices bound to different physical regions on the production line, achieving precise distribution driven by content importance. Summary of the Invention
[0004] This invention provides an image distribution system and method for semiconductor wafer inspection. The purpose is to segment texture primitive blocks from wafer inspection images, quantify the information complexity of the blocks through curvature entropy to filter key texture blocks, and map the key blocks to the wafer physical region and distribute them to the corresponding terminals according to the region binding relationship, thereby achieving efficient image distribution based on the importance of image content.
[0005] To achieve the above objectives, the present invention provides the following technical solution: The present invention provides an image distribution method for semiconductor wafer inspection, comprising: acquiring a wafer surface inspection image; performing pixel-level gradient field calculation on the wafer surface inspection image to generate a gradient direction histogram; determining image texture primitives based on the gradient direction histogram, and dividing the wafer surface inspection image into multiple texture primitive blocks; extracting an edge curvature sequence for each texture primitive block, and calculating the curvature entropy value of each texture primitive block based on the edge curvature sequence; arranging all texture primitive blocks in descending order based on the curvature entropy value, and selecting a preset proportion of texture primitive blocks before arrangement as key texture blocks; mapping the pixel coordinates of the key texture blocks to wafer physical coordinates to generate a coordinate mapping table; determining the physical region number of each key texture block on the wafer based on the coordinate mapping table; and distributing the corresponding key texture block image to a terminal display device bound to the physical region number using the physical region number as an index.
[0006] This invention generates gradient direction histograms through pixel-level gradient field calculations, effectively capturing the subtle texture directions on the wafer surface and providing stable directional feature basis for subsequent segmentation. Region growing is performed using the dominant direction intervals in the gradient direction histogram, adaptively segmenting the image into texture primitive blocks with consistent texture directions. This avoids the fragmentation of texture boundaries caused by fixed mesh division, making the segmentation results more closely match the actual distribution of defects and patterns. Contour boundary pixel chains are extracted from each texture primitive block and encoded into chain code sequences. Edge curvature sequences are constructed from the changes in chain code directions, and curvature entropy values are calculated by statistically analyzing the probability distribution of curvature levels. This curvature entropy value quantitatively reflects the complexity and irregularity of the block edges; a higher entropy value indicates richer details or defect information contained in the block. By sorting key texture blocks in descending order of curvature entropy values and selecting a pre-set proportion, flat backgrounds and regular texture areas can be automatically filtered out, prioritizing the retention of suspected defect blocks with high detection value. This significantly reduces the amount of data for subsequent transmission and display processing, improving distribution efficiency. A coordinate mapping table is generated by mapping the pixel coordinates of key texture blocks to wafer physical coordinates. Using image resolution and physical size parameters, a precise scaling relationship between pixels and physical space is established, ensuring accurate correspondence between the actual positions of key blocks on the wafer. By constructing a polar coordinate system with the wafer center as the pole, the centroid of the physical coordinates of the key texture blocks is calculated, and the polar angle and polar radius values are obtained. Based on this, the sector ring region number to which it belongs is determined as the physical region number, realizing the partitioning and labeling of defect locations, facilitating the division of labor among different workstations or inspection terminals on the production line. Using the physical region number as an index, the matching terminal device network address is queried from the binding relationship database. The key texture block image is encoded into a data frame carrying the physical region number and sent directionally. This ensures that each terminal display device only receives high-value images of its own responsible area, avoiding information redundancy caused by network-wide broadcasting, improving the targeting and real-time performance of image distribution, facilitating parallel processing by inspection personnel, and accelerating the location and re-inspection process of semiconductor wafer defects.
[0007] Preferably, when generating the gradient orientation histogram, the gray-level difference value of each pixel in the wafer surface detection image in the horizontal and vertical directions is calculated, the gradient magnitude and gradient orientation angle are determined based on the gray-level difference value, the gradient orientation angle interval from 0 degrees to 360 degrees is divided into a preset number of orientation sub-intervals, the number of pixels contained in each orientation sub-interval is counted, and a gradient orientation histogram is constructed with the orientation sub-interval as the horizontal axis and the number of pixels as the vertical axis, thereby accurately representing the gradient orientation distribution pattern of the entire image or a local area.
[0008] As a technical solution of this invention, during the process of determining image texture primitives and segmenting based on the gradient direction histogram, the direction sub-intervals corresponding to the local peak direction angles are extracted from the gradient direction histogram as the dominant direction intervals. Pixels whose gradient directions belong to the dominant direction intervals are selected as seed pixels. Adjacent pixels with matching directions are grown and merged from the seed pixels in four neighboring directions. The boundary pixels of the grown connected regions are used as new seed pixels for iterative growth until merging is no longer possible. The final connected region is a texture primitive block. This growth method ensures that the texture directions within the blocks are highly consistent, and the differences between blocks are obvious.
[0009] As another technical solution of the present invention, when extracting the edge curvature sequence and calculating the curvature entropy value, the contour boundary pixel chain of the texture primitive block is extracted and chain code is encoded to obtain the chain code sequence. The curvature value at the contour point is calculated according to the directional change of adjacent chain codes. The curvature values of all contour points in the same block are arranged into an edge curvature sequence in traversal order. The curvature value is divided into multiple curvature levels, and the frequency of occurrence of each level is statistically analyzed to obtain a probability distribution. The information entropy of the probability distribution is used as the curvature entropy value to quantitatively measure the irregularity of the edge.
[0010] When selecting key texture blocks, the curvature entropy values of all texture primitive blocks are sorted from largest to smallest to generate an entropy value sorting list. The product of the total number of all texture primitive blocks and a preset ratio is calculated and rounded up to obtain the selection number. The top 10 selected texture primitive blocks from the entropy value sorting list are then taken as key texture blocks. This process allows for flexible adjustment of the selection ratio according to needs, ensuring that relatively important regions can be extracted in different detection scenarios.
[0011] When performing coordinate mapping, the pixel resolution parameters and wafer physical size parameters of the wafer surface detection image are obtained, and the scaling ratio between pixel coordinates and physical coordinates is calculated. For each pixel of each key texture block, the product of the pixel row coordinate and the scaling ratio is used as the physical row coordinate, and the product of the pixel column coordinate and the scaling ratio is used as the physical column coordinate. Then, a coordinate mapping table is constructed with the key texture block identifier as the key and the physical coordinate sequence as the value to achieve sub-pixel precision positional correspondence.
[0012] When determining the physical region number, a polar coordinate system is established with the wafer center as the pole and the wafer radius direction as the polar axis. The physical coordinate centroid is calculated based on the physical coordinates of all pixels of the key texture block in the coordinate mapping table. The centroid is then transformed to the polar coordinate system to obtain the polar angle value and polar radius value. The fan-shaped ring region number to which the key texture block belongs is determined based on the polar angle value and polar radius value. This number is used as the physical region number, making the distribution hierarchical and partitioned.
[0013] During image distribution, a pre-defined binding relationship database is used to query the network address of the terminal device that matches the physical region number. This database stores a one-to-one mapping record between physical region numbers and terminal device network addresses. Using the queried terminal device network address as the target receiving address, the key texture block image is encoded into a data frame. The physical region number is written into the frame header of the data frame, and the frame is sent to the terminal display device corresponding to the target receiving address via a transport layer protocol. Thus, each terminal only obtains the image of the region corresponding to its own physical responsibility, achieving precise distribution and display.
[0014] This invention also provides an image distribution system for semiconductor wafer inspection, including a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, it implements the steps of the image distribution method for semiconductor wafer inspection described above. This system can automatically complete the entire process from image acquisition, texture analysis, key block selection, coordinate mapping, region numbering to targeted distribution, improving the management efficiency and defect response speed of semiconductor wafer inspection images.
[0015] The technical effects and advantages provided by the present invention in the above technical solution are as follows: A gradient direction histogram is generated by calculating the pixel-level gradient field, and local peak direction angles are extracted based on this histogram as the dominant direction interval. Pixels whose gradient direction belongs to the dominant direction interval are selected as seed pixels. Adjacent pixels with the same direction label are grown and merged along the four-neighbor direction. The boundary pixels after each growth continue to be used as new seed points for iteration until merging is no longer possible, thereby segmenting the wafer surface detection image into multiple connected texture primitive blocks. This segmentation method directly forms block boundaries based on the gradient direction distribution characteristics of the image itself, ensuring the consistency of texture direction within each block. Unlike fixed grid or grayscale threshold-based methods, it can adapt to the complex and varied texture structure of the wafer surface, adaptively aggregating pixels with similar directional textures into independent processing units, providing a more texture-meaning basis for subsequent screening of block divisions. Contour boundary pixel chains are extracted for each texture primitive block, and chain code sequences are obtained through chain code encoding. The curvature value at each contour point is calculated based on the directional change of adjacent chain codes, and arranged into an edge curvature sequence along the contour traversal order. The curvature values in the sequence are divided into multiple curvature levels. The frequency of occurrence of each level is statistically analyzed, and a probability distribution is calculated. The information entropy of this probability distribution is used as the curvature entropy value. The curvature entropy value comprehensively reflects the richness and irregularity of curvature changes on the block contour. The more diverse and complex the bending patterns on the contour, the higher the curvature entropy value. Based on the curvature entropy value, all texture primitive blocks are sorted in descending order, and the top-preset proportion of blocks are selected as key texture blocks. This can automatically extract the regions with the most complex contour shapes and the highest information density from the image without relying on defect sample training or preset rules. These key texture blocks correspond to locations on the wafer surface with drastic edge changes that may contain defects or important structures. They are selected and distributed preferentially to avoid bandwidth occupation by flat background areas.
[0016] The pixel coordinates of key texture blocks are directly mapped to wafer physical coordinates using a scaling factor calculated from pixel resolution and physical size parameters, generating a coordinate mapping table. A polar coordinate system is then established with the wafer center as the pole. Based on the polar angle and polar radius values of the centroid of the block's physical coordinates, the sector ring region number to which each key texture block belongs is determined. This number directly corresponds to a specific physical region on the wafer. Through a pre-defined one-to-one binding relationship between the physical region number and the terminal device's network address, the key texture block image data frame carrying the physical region number is directionally sent to the corresponding terminal. The entire process achieves precise distribution from adaptive image content selection to wafer physical space positioning and terminal region binding, ensuring that each inspection station's terminal only receives complex texture block images of its relevant physical region. This reduces network load while ensuring the complete transmission of image details in key inspection areas. Attached Figure Description
[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.
[0018] Figure 1 This is a flowchart of an image distribution method for semiconductor wafer inspection; Figure 2 This is a flowchart of the calculation process for the curvature entropy value of texture primitive blocks; Figure 3 These are the gradient direction histogram and pixel accumulation curve of the wafer surface inspection image; Figure 4 It is a probability density distribution map of the area of the texture primitive block corresponding to the dominant direction interval; Figure 5 It is a frequency distribution map of the curvature entropy values of texture primitive blocks and a normal distribution fitting curve; Figure 6 It is a polar coordinate distribution map of the physical coordinates of key texture blocks; Figure 7 This is a distribution map of the number of key texture blocks received by the terminal display device. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0020] See Figure 1This invention provides an image distribution method for semiconductor wafer inspection, comprising: acquiring a wafer surface inspection image; performing pixel-level gradient field calculation on the wafer surface inspection image to generate a gradient direction histogram; determining image texture primitives based on the gradient direction histogram and segmenting the wafer surface inspection image into multiple texture primitive blocks; extracting an edge curvature sequence for each texture primitive block and calculating the curvature entropy value of each texture primitive block based on the edge curvature sequence; arranging all texture primitive blocks in descending order based on the curvature entropy value, and selecting a preset proportion of texture primitive blocks before arrangement as key texture blocks; mapping the pixel coordinates of the key texture blocks to wafer physical coordinates to generate a coordinate mapping table; determining the physical region number on the wafer for each key texture block based on the coordinate mapping table; and distributing the corresponding key texture block image to a terminal display device bound to the physical region number using the physical region number as an index.
[0021] Example 1: In practice, the steps of performing pixel-level gradient field calculations and generating gradient direction histograms on wafer surface inspection images can be implemented as follows.
[0022] After acquiring the wafer surface inspection image, the gray-level difference value of each pixel in the wafer surface inspection image is calculated in the horizontal direction and the vertical direction. In a specific implementation, the gray-level difference value in the horizontal direction is denoted as... The grayscale difference in the vertical direction is denoted as . and It is obtained through convolution using the Sobel operator. Optionally, the Sobel operator includes a horizontal convolution kernel and a vertical convolution kernel, the horizontal convolution kernel being represented as:
[0023] The vertical convolution kernel is represented as:
[0024] The gray values of the neighborhood of each pixel in the wafer surface inspection image are convolved with both horizontal and vertical convolution kernels to obtain the horizontal difference value corresponding to each pixel. Difference in the vertical direction .
[0025] Based on the horizontal difference value Difference in the vertical direction Determine the gradient magnitude and gradient direction angle for each pixel. The gradient magnitude is denoted as... The gradient direction angle is denoted as Gradient magnitude The calculation method is the horizontal difference value. Difference value with vertical direction The specific formulas for calculating the square root and the square root are as follows: Gradient direction angle The calculation method is the vertical difference value. Difference with horizontal direction The ratio is taken as the arctangent, and the specific calculation formula is as follows: At the gradient direction angle During the calculation process, the return value range of the arctangent function is... arrive It can be done and The sign of the gradient direction angle Mapped to the range of 0 to 360 degrees. Gradient direction angle. Expressed in degrees.
[0026] The gradient orientation angles of all pixels in the wafer surface inspection image are obtained. Next, the gradient orientation angle interval from 0 degrees to 360 degrees is divided into a predetermined number of directional sub-intervals. In some implementations, the predetermined number is 36, that is, the 360-degree gradient orientation angle interval is divided into 36 directional sub-intervals, each spanning 10 degrees. For example, the first directional sub-interval is [0°, 10°), the second directional sub-interval is [10°, 20°), and so on, with the last directional sub-interval being [350°, 360°). The number of pixels contained in each directional sub-interval is counted, that is, all pixels in the wafer surface detection image are traversed, and the gradient orientation angle of each pixel is counted. Pixels are assigned to their corresponding directional sub-intervals, and the number of pixels in each directional sub-interval is accumulated.
[0027] A gradient orientation histogram is constructed with the directional sub-intervals as the horizontal axis and the number of pixels as the vertical axis. The directional sub-intervals can be represented by the interval midpoint or interval index. The horizontal axis corresponds to 36 directional sub-intervals, and the vertical axis corresponds to the number of pixels counted within each directional sub-interval. The constructed gradient orientation histogram reflects the pixel distribution along different gradient directions in the wafer surface inspection image.
[0028] See Figure 3 In the graph, the horizontal axis represents the gradient direction angle, ranging from 0 to 360 degrees, in degrees. The left vertical axis represents the number of pixels within the corresponding gradient direction angle range, in pixels, and the right vertical axis represents the cumulative number of pixels. The blue bars are gradient direction histograms, showing the distribution of the number of pixels in different gradient directions in the wafer surface inspection image; the red line is the cumulative curve of the number of pixels, reflecting the cumulative change trend of the number of pixels as the gradient direction angle increases from 0 degrees to 360 degrees.
[0029] The gradient direction histogram shows distinct local peaks in pixel count around 50 and 140 degrees, with peak counts reaching approximately 180 pixels each, indicating significant texture features in these two directions. Outside these peaks, the pixel count is significantly lower and tends to be stable, particularly within the 200-360 degree range, where the pixel count remains at a low level with minimal fluctuations.
[0030] The cumulative pixel count curve exhibits two distinct rapid upward phases, corresponding to the gradient direction angle ranges of approximately 0 to 70 degrees and approximately 100 to 160 degrees, respectively, which also correspond to the two peak intervals of the gradient direction histogram. The cumulative curve flattens out after approximately 160 degrees, indicating that the number of pixels in this region is relatively small, contributing little to the overall pixel count. The cumulative pixel count eventually approaches 50,000, representing the total number of pixels.
[0031] Example 2: In practice, the process of determining image texture primitives based on gradient direction histograms and dividing the wafer surface detection image into multiple texture primitive blocks can be implemented as follows.
[0032] Local peak orientation angles are extracted from the gradient orientation histogram. The horizontal axis of the gradient orientation histogram represents the orientation sub-intervals, and the vertical axis represents the number of pixels contained in each orientation sub-interval. Optionally, the pixel count values of all orientation sub-intervals in the gradient orientation histogram are traversed, and the pixel count value of each orientation sub-interval is compared with the pixel count values of its left and right adjacent orientation sub-intervals. When the pixel count value of an orientation sub-interval is greater than the pixel count value of its left adjacent orientation sub-interval and greater than the pixel count value of its right adjacent orientation sub-interval, the orientation sub-interval is determined to be a local peak orientation sub-interval. The angle value of the midpoint of the orientation sub-interval range corresponding to the local peak orientation sub-interval is taken as the local peak orientation angle. The orientation sub-interval corresponding to the local peak orientation angle is taken as the dominant orientation interval. In some implementations, there are multiple local peak orientation angles in the gradient orientation histogram, each local peak orientation angle corresponds to a dominant orientation interval, and all dominant orientation intervals constitute a set of dominant orientation intervals.
[0033] The gradient direction corresponding to the dominant direction interval is used as the direction label of the seed point. Pixels whose gradient direction belongs to the dominant direction interval are selected as seed pixels in the wafer surface inspection image. Specifically, the selection method is as follows: traverse each pixel in the wafer surface inspection image and obtain the gradient direction angle of the traversed pixel obtained in the calculation process of Example 1. Gradient direction angle Matching the angle range with the dominant direction interval, when the gradient direction angle When the value falls within the angular range of the dominant direction interval, the pixel is marked as a seed pixel. The above seed pixel selection process is performed for all dominant direction intervals, with each dominant direction interval corresponding to a set of seed pixels.
[0034] Starting from each seed pixel, grow and merge neighboring pixels whose gradient directions belong to the dominant direction interval in four neighborhood directions. The four neighborhood directions are defined as the pixel's top, bottom, left, and right neighboring positions. For each seed pixel, check the top, bottom, left, and right neighboring pixels to obtain the gradient direction angle of each neighboring pixel. When the gradient direction angle of adjacent pixels When the adjacent pixel is within the angle range of the current dominant direction interval, merge the adjacent pixel into the current growth region and mark the newly merged adjacent pixel as merged.
[0035] After each growth cycle, the boundary pixels of the merged region are used as new seed pixels to continue growth until merging is no longer possible. A boundary pixel of the merged region is a pixel in the current growth region that has at least one four-neighbor pixel that has not yet been merged. In a new growth cycle, using the boundary pixel as the starting point, the unmerged pixels among the four-neighbor pixels of the boundary pixel are checked. When the gradient direction angle of the unmerged neighboring pixels is... If the pixel is within the angle range of the current dominant direction interval, merge the unmerged adjacent pixel into the growth region. Repeat the growth round until there are no more gradient direction angles among the four neighboring pixels of all boundary pixels in the current growth region. For pixels that are located within the current dominant directional angle range and have not been merged, the growth region will stop growing.
[0036] Each connected region resulting from the final merging is treated as a texture primitive block. A connected region consists of all pixels that have undergone multiple rounds of growth and merging from the seed pixel during a single growth process. Pixels within the same connected region are spatially connected, and the gradient direction angle of each pixel is... All belong to the same dominant direction interval. A growth process is performed on the seed pixels corresponding to different dominant direction intervals to obtain texture primitive block sets corresponding to different dominant direction intervals. All texture primitive blocks corresponding to all dominant direction intervals together constitute the texture primitive block segmentation result of the wafer surface detection image.
[0037] During the growth and merging of texture primitive blocks, pixel merging is determined by orientation consistency. Orientation consistency is determined by comparing the gradient orientation angles of adjacent pixels. The inclusion relationship with the dominant direction interval is determined. The inclusion relationship of the dominant direction interval is expressed as:
[0038] in, Indicates the angular range of the dominant direction interval. This represents the angle value of the local peak direction angle extracted from the gradient direction histogram, in degrees. This represents the span angle value of each directional sub-interval, in degrees. In specific implementations, when the preset number of directional sub-intervals is 36, The value is 10 degrees. The value is determined by the midpoint angle of the local peak direction sub-interval, for example, when the local peak direction sub-interval is [30°, 40°), The value is 35 degrees. When the gradient direction angle of a pixel... satisfy When the gradient direction of the pixel is within the dominant direction range, the gradient direction of that pixel is within the dominant direction range.
[0039] See Figure 4 In the figure, the horizontal axis represents the area of the texture primitive block, in pixels, ranging from 0 to approximately 5000 pixels; the vertical axis represents the probability density value of the corresponding area interval, reflecting the relative frequency of texture primitive blocks of that size. The figure shows the area probability density curves of texture primitive blocks corresponding to three dominant direction intervals, namely dominant direction interval 1 (orange), dominant direction interval 2 (green), and dominant direction interval 3 (purple).
[0040] Observing the curve trends, the probability density of texture primitive blocks in all dominant direction intervals shows a clear right-skewed distribution, meaning that the vast majority of texture primitive blocks are concentrated in relatively small area intervals. Specifically, the probability density curves of dominant direction intervals 1 and 2 have relatively high peaks in the area range of approximately 0 to 200 pixels, with dominant direction interval 1 having the highest peak at approximately 0.016, followed by dominant direction interval 2 at approximately 0.012. The peak of dominant direction interval 3 is significantly lower, at approximately 0.006, and its curve shows a slower decreasing trend in probability density in a larger area range (approximately 200 to 1000 pixels), which differs from the rapid decreasing characteristics of dominant direction intervals 1 and 2.
[0041] After the area exceeds 1000 pixels, the probability density of all three curves approaches zero, indicating that large-area texture primitive blocks are extremely rare. The density of the dominant direction interval 3 in large-area intervals is slightly higher than that in the other two direction intervals, indicating that its texture primitive blocks may have relatively large connected regions.
[0042] Example 3: In specific implementation, please refer to Figure 2The process of extracting the edge curvature sequence for each texture primitive block and calculating the curvature entropy value of each texture primitive block based on the edge curvature sequence can be implemented as follows.
[0043] Extract the contour boundary pixel chain for each texture primitive block. For each texture primitive block obtained in Example 2, the contour boundary pixel chain of the texture primitive block is extracted using a boundary tracing algorithm. The contour boundary pixel chain is formed by sequentially connecting the pixels located at the edges of the texture primitive block. In a specific implementation, starting from the top left edge pixel of the texture primitive block, the boundary pixels of the texture primitive block are traversed in a clockwise direction, and the pixel coordinates of each boundary pixel are recorded in sequence to form a sequence of boundary pixels arranged in the contour traversal order. This sequence of boundary pixels is used as the contour boundary pixel chain.
[0044] Chain code encoding is performed on the pixel chain of the contour boundary to obtain a chain code sequence. The chain code encoding method is as follows: starting from the first boundary pixel in the contour boundary pixel chain, the direction vector from each boundary pixel to the next boundary pixel is examined in turn, and the direction vector is quantized into a direction code in a predefined direction set. Optionally, the predefined direction set uses an 8-direction chain code, which contains eight direction codes from 0 to 7. Direction code 0 represents the horizontal right direction, direction code 1 represents the upper right 45-degree direction, direction code 2 represents the vertical upward direction, direction code 3 represents the upper left 45-degree direction, direction code 4 represents the horizontal left direction, direction code 5 represents the lower left 45-degree direction, direction code 6 represents the vertical downward direction, and direction code 7 represents the lower right 45-degree direction. For each pair of adjacent boundary pixels in the contour boundary pixel chain, calculate the direction vector from the previous boundary pixel to the next boundary pixel. Match the direction vector with the eight standard directions of the 8-direction chain code, and select the direction code corresponding to the standard direction with the smallest included angle as the chain code value between adjacent boundary pixels. Arrange all the chain code values between adjacent boundary pixels in sequence to obtain the chain code sequence. The length of the chain code sequence is equal to the number of boundary pixels in the contour boundary pixel chain minus one.
[0045] The curvature value at each contour point is calculated based on the directional change of adjacent chain codes in the chain code sequence. In the chain code sequence, the u-th chain code value is denoted as... The adjacent chain code value after the u-th chain code value is denoted as . Where u is the position index in the chain code sequence, and the value of u ranges from 1 to... The integer M represents the length of the chain code sequence. , When the chain code difference When the value is greater than 4, subtract the chain code difference from 8. The value is used as the corrected direction change amount, when the chain code difference When the value is less than or equal to 4, the chain code difference is used directly. The numerical value is used as the direction change amount. The value of the direction change amount is an integer from 0 to 4. A direction change amount of 0 indicates that the contour direction has not changed, and a larger direction change amount indicates a more drastic change in the contour direction. The value of the direction change amount at each contour point is used as the curvature value at each contour point. Each boundary pixel in the contour boundary pixel chain corresponds to a curvature value, and the correspondence is as follows: the u-th boundary pixel in the contour boundary pixel chain corresponds to the u-th chain code value in the chain code sequence. and the u-th chain code value The calculated change in direction.
[0046] The curvature values at all contour points within the same texture primitive block are arranged into an edge curvature sequence according to the contour traversal order. The contour traversal order is consistent with the traversal direction when extracting the contour boundary pixel chain. The edge curvature sequence is a one-dimensional numerical sequence, where each element is the curvature value at the corresponding contour point, and the sequence length is the same as the number of boundary pixels in the contour boundary pixel chain.
[0047] The curvature values in the edge curvature sequence are divided into multiple curvature levels. In practice, the maximum and minimum curvature values in the edge curvature sequence are determined, with the maximum curvature value denoted as... The minimum value of curvature is denoted as The number of curvature levels is set as follows: In some implementation methods, The value is 8. The value of is based on the fact that the numerical range of the direction change is an integer from 0 to 4, with a total of 5 possible integer values. In order to ensure that each curvature level has a sufficient statistical sample size and to avoid making the level division too coarse, 8 is selected as the number of curvature levels. 8 curvature levels can divide the integer range from 0 to 4 into finer-grained divisions, which can adapt to non-integer curvature cases that may be generated due to contour smoothing. The value can also be adjusted based on the complexity of the texture primitive block's outline; the more complex the outline, the larger the value can be. Value. The range of curvature values. Divided into equal parts A series of consecutive curvature level intervals, each with a width of [missing value]. .
[0048] Count the frequency of each curvature level in the edge curvature sequence. Iterate through each curvature value in the edge curvature sequence, determining the curvature level interval it falls into, and incrementing the count of the corresponding curvature level by 1. After iteration, divide the count of each curvature level by the total length of the edge curvature sequence to obtain the frequency of each curvature level. The frequency of each curvature level is denoted as _____. Where 'a' is the index number of the curvature level, and the value of 'a' ranges from 1 to... integers, This represents the frequency of the a-th curvature level in the edge curvature sequence. The numerical range of is real numbers greater than or equal to 0 and less than or equal to 1.
[0049] Calculate the probability distribution based on the frequency of occurrence of each curvature level, and use the information entropy of the probability distribution as the curvature entropy value. The curvature entropy value is denoted as... curvature entropy value The calculation formula is:
[0050] in, This represents the curvature entropy value of a texture primitive block. This represents the total number of curvature levels, where 'a' represents the index number of the curvature level, ranging from 1 to... integers, This represents the frequency of the a-th curvature level in the edge curvature sequence. This represents a logarithmic operation with base 2. When When the value is 0, it is stipulated that The value of this term is 0. Curvature entropy value. The larger the value, the more dispersed the distribution of curvature values in the edge curvature sequence and the richer the contour shape variation of the texture primitive blocks.
[0051] See Figure 5 In the figure, the horizontal axis represents the curvature entropy value of the texture primitive blocks, ranging from approximately 3 to 15. The vertical axis represents the number of texture primitive blocks within the corresponding curvature entropy value range, with a maximum number exceeding 120. The light blue bar chart shows the frequency distribution of curvature entropy values, and the red curve is the corresponding normal distribution fitting curve. The frequency distribution in the figure shows an overall unimodal shape, with the peak value located in the range of curvature entropy values of approximately 5 to 6. This indicates that the curvature entropy values of most texture primitive blocks are concentrated in this range, suggesting that the outline shapes of texture primitive blocks within this range are varied and relatively concentrated. The number of texture primitive blocks decreases significantly in the ranges of curvature entropy values less than 3 and greater than 12, reflecting a scarcity of texture primitive blocks with extremely low or extremely high curvature entropy values. The normal distribution fitting curve reflects the overall trend of the frequency distribution well, with the curve reaching its highest point in the peak range and then gradually decreasing to both sides, consistent with the statistical characteristics of curvature entropy values.
[0052] Example 4: In the specific implementation, the curvature entropy values of each texture primitive block are sorted from largest to smallest to generate an entropy value sorting list. The curvature entropy value of each texture primitive block calculated in Example 3 is obtained, and all texture primitive blocks are arranged in descending order of value. Each item in the entropy value sorting list contains the identifier of the texture primitive block and the corresponding curvature entropy value. The identifier of the texture primitive block is used to uniquely identify a texture primitive block in the wafer surface inspection image. The texture primitive block at the top of the sorted entropy value sorting list has the largest curvature entropy value.
[0053] Calculate the product of the total number of all texture primitive blocks and the preset ratio. The total number of all texture primitive blocks refers to the total number of texture primitive blocks obtained from the segmentation in Example 2, denoted as . The preset ratio is a pre-defined ratio value, denoted as . , The numerical range of is a real number greater than 0 and less than or equal to 1. In some implementations, The value is 0.15. The value of 0.15 is based on the fact that in semiconductor wafer inspection scenarios, defective areas on the wafer surface typically account for no more than 15% of the total area. Selecting the top 15% of texture primitive blocks can effectively filter out a large number of defect-free background texture blocks while covering the vast majority of defective areas, reducing the amount of data required for subsequent processing and transmission. The total number of all texture primitive blocks... Compared with the preset ratio Multiply to get the product value For the product value Round up to the nearest integer to get the number of selections, and denote the number of selections as . , greater than or equal to the product value The smallest integer value. Rounding up ensures that the number of selected texture primitive blocks at least covers the number of blocks corresponding to the preset ratio, avoiding insufficient selection due to rounding down.
[0054] Retrieve the previously selected quantity from the entropy-sorted list. Each texture primitive block is used as a key texture block. Following the entropy-sorted list, texture primitive blocks are extracted sequentially, starting from the first block and proceeding backwards. The number of extracted texture primitive blocks equals the number of blocks selected. Taken out Each texture primitive block constitutes a key texture block set.
[0055] After selecting the key texture blocks, the pixel resolution parameters and wafer physical size parameters of the wafer surface inspection image are obtained. The pixel resolution parameter of the wafer surface inspection image represents the actual length of each pixel in the image on the wafer physical plane, denoted as [missing information]. , The unit is micrometers per pixel. Wafer physical dimension parameters represent the physical diameter of the wafer, denoted as... , The unit is millimeters. In some implementations, wafer physical dimension parameters... The value is 300 mm, corresponding to a 12-inch wafer. Pixel resolution parameters. The imaging parameters of the image acquisition device are determined and obtained from the configuration information of the image acquisition device or the metadata of the image file.
[0056] According to pixel resolution parameters and wafer physical size parameters Calculate the scaling ratio between pixel coordinates and physical coordinates. The scaling ratio is denoted as... , The value is equal to the pixel resolution parameter. The value, that is Scaling ratio Represents the physical distance between the center points of two adjacent pixels in an image, and the scaling factor. Units and pixel resolution parameters The units are the same, which is micrometers per pixel.
[0057] For each pixel in each key texture block, the pixel row coordinates are compared with the scaling factor. The product of these values is used as the physical row coordinates, and the pixel column coordinates are compared with the scaling factor. The product of these is used as the physical column coordinates. The row coordinates of the pixel are... The column coordinates of the pixels are marked as pixel row coordinates and pixel column coordinates The origin is set to the top left corner of the wafer surface inspection image. Row coordinates increase vertically downwards, and column coordinates increase horizontally to the right. The physical row coordinates are... The physical column coordinates are as follows Physical row coordinates and physical column coordinates The calculation method is as follows: , Physical row coordinates and physical column coordinates The units are all micrometers.
[0058] Arrange the physical row and column coordinates of all pixels within each key texture block in pixel coordinate order. Pixel coordinate order refers to the order in which pixels are traversed within the key texture block in descending order of row coordinates, and in ascending order of column coordinates within the same row. For each key texture block, a physical coordinate sequence consisting of multiple pairs of physical row and column coordinates is obtained, where each pair of coordinates corresponds to a pixel within the key texture block.
[0059] A coordinate mapping table is constructed using key texture block identifiers as keys and the arranged sequence of physical coordinates as values. The coordinate mapping table is a key-value pair mapping structure. The key is the key texture block identifier, which uniquely identifies a key texture block. The values are the sequence of physical coordinates of all pixels within the key texture block corresponding to the key texture block identifier. The coordinate mapping table stores the mapping relationship from key texture block identifiers to physical coordinate sequences.
[0060] A polar coordinate system is established with the wafer center as the pole and the wafer radius direction as the polar axis. The physical coordinates corresponding to the wafer center are the physical center point of the wafer surface inspection image. The physical row and column coordinates of the physical center point are determined by the wafer physical dimension parameters. and scaling Confirmed. The physical row coordinates of the wafer's physical center point are: The physical column coordinates of the physical center point of the wafer are marked as , and The value is equal to the wafer physical dimension parameter. Half the value divided by the scaling factor Then multiply by That is, the physical coordinates of the physical center point of the wafer are The unit is micrometer. The physical center point of the wafer is taken as the pole, and the direction from the pole to the right is taken as the positive direction of the polar axis. The polar angle increases in the counterclockwise direction.
[0061] Calculate the physical centroid of each key texture block based on the physical coordinates of all pixels in the coordinate mapping table. The physical row coordinate of the physical centroid is denoted as... The physical column coordinates of the centroid are denoted as The physical centroid is calculated as follows: sum the physical row coordinates of all pixels within the keytexture block and divide by the total number of pixels within the keytexture block; sum the physical column coordinates of all pixels within the keytexture block and divide by the total number of pixels within the keytexture block. The total number of pixels within the keytexture block is denoted as... The formula for calculating the centroid of the physical coordinate system is:
[0062] in, The physical row coordinates of the centroid of the key texture block. The physical column coordinates representing the centroid of the key texture chunk. This indicates the total number of pixels within the key texture block. Indicates the index number of the pixel within the key texture block. Take from 1 to integers, Indicates the first key texture block The physical row coordinates of each pixel. Indicates the first key texture block The physical column coordinates of each pixel.
[0063] Transform the physical centroid of each key texture block to polar coordinates to obtain its polar angle and polar radius. The polar radius of the physical centroid is denoted as... The polar angle of the physical coordinate centroid is denoted as Extreme diameter value The calculation method is the Euclidean distance from the centroid of the physical coordinate system to the pole, that is... Polar angle value The calculation method is the azimuth angle of the physical coordinate centroid relative to the pole, that is... ,in, This is the arctangent function in the four quadrants, and its return value range is... Radians, converting radian values to angles from 0 degrees to 360 degrees as polar angle values. .
[0064] According to polar angle value and extreme radius values Determine the sector ring region number to which each key texture block belongs. Divide the wafer's polar coordinate system into zones along the polar angle and polar radius directions. The polar angle direction is divided into multiple equiangular sector regions centered on the wafer's center; the angular span of each sector region is denoted as . In some implementation methods The value is 45 degrees, dividing the 360-degree polar angle range into 8 sector regions. The radial direction is divided into multiple concentric rings starting from the wafer center and extending towards the wafer edge. The radial span of each ring is denoted as... In some implementation methods The value is one-tenth of the wafer radius. The intersection of each sector and each annulus constitutes a sector-annulus region. Each sector-annulus region is assigned a unique numerical number as its sector-annulus region number. This is based on the polar angle value of the centroid of the key texture block's physical coordinates. The index and extreme radius of the sector region into which it falls. The sequence number of the falling ring determines the number of the fan-shaped ring region to which the key texture block belongs, and the number of the fan-shaped ring region is used as the physical region number of the key texture block.
[0065] See Figure 6 The figure illustrates the distribution of the key texture blocks described in Example 4 in a polar coordinate system. The horizontal axis represents the polar angle φ in degrees, ranging from 0 to 360 degrees, and the vertical axis represents the polar radius ρ in micrometers, ranging from 0 to approximately 150,000 micrometers. The data points in the figure represent the positions of the physical centroids of the key texture blocks in the polar coordinate system. The data points are colored to represent different individual key texture blocks, but the colors do not correspond to specific numerical values and are only used for differentiation.
[0066] As shown in the figure, the polar angle distribution of the critical texture blocks is relatively uniform, covering the entire angle range from 0 degrees to 360 degrees. This indicates that the critical texture blocks are evenly distributed along the circumference of the wafer and are not concentrated in any specific angle segment. Along the polar radius, the centroid of the physical coordinates of the critical texture blocks is distributed within a range from the wafer center (polar radius 0 micrometers) to approximately 150,000 micrometers, which is approximately equal to the wafer radius and conforms to the wafer's physical dimensions.
[0067] Example 5: In practice, the process of distributing the corresponding key texture block image to the terminal display device bound to the physical region number using the physical region number as an index can be implemented in the following way.
[0068] The system queries a pre-built binding relationship database for the terminal device network address that matches the physical region number. The pre-built binding relationship database is a pre-constructed and stored set of mapping relationship data. It stores one-to-one mapping records between physical region numbers and terminal device network addresses. The physical region number is the sector ring region number determined in Example 4, used to identify the physical region where key texture blocks in the wafer surface inspection image are located. The terminal device network address is the address information used to uniquely identify a terminal display device on the network. The terminal device network address includes an IP address and a port number, denoted as [IP address]. , The format is "IP address:port number". In some implementations, the terminal device network address uses the IPv4 address format, and the port number is an integer greater than 1024 and less than 65535. The specific port number value is determined by the receiving service program running on the terminal display device. Each mapping record in the binding relationship database contains a physical area number field and a terminal device network address field, with a one-to-one correspondence between the physical area number field and the terminal device network address field. The binding relationship database is configured during the system initialization phase. Based on the layout of the terminal display devices in the inspection workshop, the network administrator establishes a binding relationship between the terminal device network address of each terminal display device and the wafer physical area number that the corresponding inspection personnel are responsible for viewing, and writes the binding relationship into the binding relationship database.
[0069] The process of querying the network address of a terminal device that matches the physical region number is as follows: Obtain the physical region number of the key texture block determined in Example 4. Use the physical region number as a query condition. Traverse each mapping record in the binding relationship database and match the physical region number field in the mapping record. When the value of the physical region number field in the mapping record is the same as the value of the physical region number in the query condition, extract the value of the terminal device network address field from the mapping record. The extracted terminal device network address... This serves as the network address of the terminal device matched with the physical area code. Optionally, the binding relationship database uses a key-value storage structure, with the physical area code as the key and the terminal device network address as the value. During a query, the physical area code is used as the key for fast retrieval to obtain the corresponding terminal device network address.
[0070] The network address of the terminal device obtained from the query is used as the target receiving address. The target receiving address is the destination network address of the data transmission operation, denoted as [missing information]. , The value is equal to the terminal device network address obtained from the binding relationship database. The value.
[0071] The key texture block image is encoded into a data frame. The key texture block image refers to the image region data in the wafer surface inspection image corresponding to the key texture block selected in Example 4. The data of the key texture block image includes a pixel matrix, image width information, and image height information. The process of encoding the key texture block image into a data frame is as follows: a data frame structure is created, which includes a frame header field and a frame body field. The frame header field is used to store control information and metadata, and the frame body field is used to store the encoded image data. In a specific implementation, the definition of the data frame structure includes the following parts: frame synchronization flag, physical region number field, image width field, image height field, image data length field, image data field, and frame tail check field. The frame synchronization flag is a predefined fixed byte sequence used by the receiving end to identify the start position of the data frame. The image width field stores the width pixel value of the key texture block image. The image height field stores the height pixel value of the key texture block image. The image data length field stores the byte length of the encoded data in the image data field. The image data field stores the encoded binary data of the pixel data of the key texture block image. The frame end check field stores the check value obtained by checking the entire data frame.
[0072] The physical region number is written into the frame header of the data frame. The frame header is the part of the data frame structure that follows the frame synchronization flag and precedes the image data field. During the generation of the data frame, the physical region number corresponding to the key texture block is written into the physical region number field in the frame header. The physical region number serves as identification information for the receiving terminal display device to identify the image source region. After receiving the data frame, the receiving terminal display device determines the physical region to which the key texture block image carried in the data frame belongs by parsing the physical region number field in the frame header.
[0073] The data frame carrying the physical area code is sent to the terminal display device corresponding to the target receiving address via the transport layer protocol. The transport layer protocol is the communication protocol responsible for end-to-end data transmission in the network. In specific implementations, the transport layer protocol uses TCP, which provides connection-oriented reliable data transmission services. Optionally, UDP can also be used, which is suitable for distribution scenarios with high real-time requirements. The process of sending a data frame using the TCP protocol is as follows: calling the operating system's network programming interface to create a TCP socket; according to the target receiving address... The system uses the IP address and port number carried in the data frame to initiate a TCP connection establishment request to the target receiving address. After the TCP connection is successfully established, the encoded binary byte stream of the data frame is sent to the terminal display device corresponding to the target receiving address through the TCP socket. After the data frame is sent, the TCP connection is closed.
[0074] After receiving a data frame, the terminal display device parses it. It locates the frame synchronization flag from the received binary byte stream to determine the start position of the data frame; reads the physical region number field from the frame header to obtain the physical region number of the key texture block image; reads the image width and image height fields from the frame header to determine the image size; reads the image data length field from the frame header to determine the byte length of the image data; extracts the encoded data of the image data field from the frame body based on the image data length; decodes the encoded data to restore the pixel data of the key texture block image; and performs a checksum calculation on the frame tail check field to verify whether any errors occurred during data frame transmission. The terminal display device renders and displays the restored key texture block image on its display interface, simultaneously presenting the physical region number information so that inspection personnel can confirm the wafer physical region corresponding to the displayed image.
[0075] Optionally, during the data frame encoding process, the pixel data of key texture block images is compressed to reduce the amount of transmitted data. The compression method employs a lossless compression algorithm, which can be either PNG compression or run-length encoding. The compressed encoded data is written to the image data field in the frame body of the data frame, and the image data length field in the frame header records the byte length of the compressed encoded data. The receiving end of the terminal display device determines the range of the compressed data based on the image data length field, performs decompression operations on the compressed data, and restores the original pixel data.
[0076] An image distribution system for semiconductor wafer inspection includes a memory, a processor, and a computer program stored in the memory and running on the processor. When executing the computer program, the processor implements the image distribution method consisting of all the steps described above. The memory stores wafer surface inspection images, gradient direction histogram data, texture primitive block data, curvature entropy value data, an entropy value sorting list, a coordinate mapping table, a binding relationship database, and computer program instructions. The processor executes the following steps sequentially according to the computer program instructions: acquiring wafer surface inspection images, generating gradient direction histograms, segmenting texture primitive blocks, calculating curvature entropy values, selecting key texture blocks, generating coordinate mapping tables, determining physical region numbers, and distributing key texture block images. In some embodiments, the image distribution system is deployed on a server in the inspection workshop. The server is connected to multiple terminal display devices via a wired or wireless network, and the server distributes key texture block images to the corresponding terminal display devices for display.
[0077] See Figure 7In the figure, the horizontal axis represents the physical region number, ranging from 0 to approximately 500, totaling about 500 physical region numbers. This reflects the numbering sequence after the wafer surface is divided into multiple fan-shaped ring regions. The vertical axis represents the number of key texture blocks received by the terminal display device, ranging from 0 to 16, depicting the distribution of the number of key texture blocks corresponding to each physical region number.
[0078] The curve exhibits significant fluctuations, with the number of key texture blocks generally distributed relatively dispersedly without a clear concentration trend. The number of key texture blocks corresponding to most physical region numbers fluctuates between 1 and 10, while a few regions show 0 key texture blocks, indicating that no key texture blocks were identified and distributed in some physical regions. Extreme points, such as the peak value on the ordinate 16, indicate an abnormally high number of key texture blocks in certain physical regions, reflecting potential texture feature anomalies or defects in those regions.
[0079] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. An image distribution method for semiconductor wafer inspection, characterized in that, include: Acquire a wafer surface inspection image, perform pixel-level gradient field calculation on the wafer surface inspection image, and generate a gradient direction histogram; The image texture primitives are determined based on the gradient direction histogram, and the wafer surface detection image is segmented into multiple texture primitive blocks; Extract the edge curvature sequence for each texture primitive block, and calculate the curvature entropy value of each texture primitive block based on the edge curvature sequence; All texture primitive blocks are sorted in descending order according to the curvature entropy value, and the texture primitive blocks with a preset proportion before sorting are selected as key texture blocks. The pixel coordinates of the key texture blocks are mapped to wafer physical coordinates to generate a coordinate mapping table; The physical region number on the wafer for each key texture block is determined based on the coordinate mapping table. Using the physical region number as an index, the corresponding key texture block image is distributed to the terminal display device bound to the physical region number.
2. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of performing pixel-level gradient field calculation on the detected image of the wafer surface to generate a gradient direction histogram includes: Calculate the grayscale difference value of each pixel in the wafer surface inspection image in the horizontal and vertical directions, and determine the gradient magnitude and gradient direction angle of each pixel based on the grayscale difference value in the horizontal and vertical directions; Divide the gradient direction angle range from 0 degrees to 360 degrees into a preset number of direction sub-intervals, and count the number of pixels contained in each direction sub-interval. The gradient direction histogram is constructed with the direction sub-interval as the horizontal axis and the number of pixels as the vertical axis.
3. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of determining image texture primitives based on the gradient direction histogram and segmenting the wafer surface detection image into multiple texture primitive blocks includes: Extract local peak direction angles from the gradient direction histogram, and use the direction sub-intervals corresponding to the local peak direction angles as the dominant direction intervals; Using the gradient direction corresponding to the dominant direction interval as the direction label of the seed point, pixels whose gradient direction belongs to the dominant direction interval are selected as seed pixels in the wafer surface detection image. Starting from each seed pixel, grow and merge adjacent pixels whose gradient direction belongs to the dominant direction interval in the four neighborhood directions. After each growth, the boundary pixels of the merged region are used as new seed pixels to continue growing until they can no longer be merged. Each connected region obtained by the final merging is used as a texture primitive block.
4. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of extracting an edge curvature sequence for each texture primitive block and calculating the curvature entropy value of each texture primitive block based on the edge curvature sequence includes: Extract the contour boundary pixel chain of each texture primitive block, and encode the contour boundary pixel chain to obtain a chain code sequence; The curvature value at each contour point is calculated based on the directional change of adjacent chain codes in the chain code sequence, and the curvature values at all contour points within the same texture primitive block are arranged in the contour traversal order to form the edge curvature sequence. The curvature values in the edge curvature sequence are divided into multiple curvature levels. The frequency of each curvature level in the edge curvature sequence is counted. A probability distribution is calculated based on the frequency of each curvature level. The information entropy of the probability distribution is used as the curvature entropy value.
5. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of sorting all texture primitive blocks in descending order according to the curvature entropy value, and selecting a preset proportion of texture primitive blocks as key texture blocks, includes: Sort the curvature entropy values of each texture primitive block from largest to smallest to generate an entropy value sorted list; Calculate the product of the total number of all texture primitive blocks and the preset ratio, and round the product up to obtain the selected number; Select the first number of texture primitive blocks from the entropy value sorting list as the key texture blocks.
6. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of mapping the pixel coordinates of the key texture blocks to wafer physical coordinates to generate a coordinate mapping table includes: Obtain the pixel resolution parameters and wafer physical size parameters of the wafer surface inspection image, and calculate the scaling ratio between the pixel coordinates and the physical coordinates based on the pixel resolution parameters and the wafer physical size parameters; For each pixel in each key texture block, the product of the pixel row coordinates and the scaling factor is used as the physical row coordinates, and the product of the pixel column coordinates and the scaling factor is used as the physical column coordinates. Arrange the physical row and column coordinates of all pixels within each key texture block in pixel coordinate order, and construct the coordinate mapping table using the key texture block identifier as the key and the arranged physical coordinate sequence as the value.
7. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of determining the physical region number of each key texture block on the wafer according to the coordinate mapping table includes: Establish a polar coordinate system with the center of the wafer as the pole and the direction of the wafer radius as the polar axis; Calculate the centroid of the physical coordinates of each key texture block based on the physical coordinates of all pixels in each key texture block in the coordinate mapping table; The centroid of the physical coordinates of each key texture block is transformed to the polar coordinate system to obtain the polar angle and polar radius values. The fan-shaped ring region number to which each key texture block belongs is determined based on the polar angle and polar radius values, and the fan-shaped ring region number is used as the physical region number.
8. The image distribution method for semiconductor wafer inspection according to claim 1, characterized in that, The step of distributing the corresponding key texture block image to the terminal display device bound to the physical region number as an index includes: The system queries a preset binding relationship database for the network address of a terminal device that matches the physical area number, and stores a one-to-one mapping record between the physical area number and the terminal device network address in the binding relationship database. Using the queried terminal device network address as the target receiving address, the key texture block image is encoded into a data frame, and the physical region number is written into the frame header of the data frame. The data frame carrying the physical region number is sent to the terminal display device corresponding to the target receiving address via the transport layer protocol.
9. The image distribution method for semiconductor wafer inspection according to claim 2, characterized in that, The grayscale difference values in the horizontal and vertical directions are obtained by convolution using the Sobel operator. The gradient magnitude is the square root of the sum of the squares of the horizontal and vertical difference values. The gradient direction angle is the arctangent of the ratio of the vertical difference value to the horizontal difference value.
10. An image distribution system for semiconductor wafer inspection, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the image distribution method for semiconductor wafer inspection as described in any one of claims 1 to 9.