Systems and methods for noisy image feature identification for turbulent liquid surfaces
By aggregating images using the complementary color and weighted averaging, the method stabilizes the reflection image on a turbulent liquid surface, addressing the challenge of determining the center accurately and improving analysis precision.
Patent Information
- Application Number
- PCT/US2025/036447
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-10
- Filing Date
- 2025-07-03
- Publication Date
- 2026-01-15
AI Technical Summary
Conventional methods struggle to accurately determine the center of a laser-illuminated quartz sphere reflection on a turbulent liquid surface, such as in Czochralski crystal growth, due to the surface's instability, which affects the analysis of the melt's shape and distance to the reflector.
A method involving the aggregation of images using the complementary color of the dominant color in the image, where pixels exceeding a hit threshold are marked as 'on', and weighted averaging is used to determine the center of the reflection, stabilizing the image for analysis.
This approach effectively stabilizes the image of the reflection, allowing for accurate determination of the center, even in turbulent conditions, thereby improving the analysis of the liquid surface and enhancing the precision of distance measurements.
Smart Images

Figure 00000029_0000 
Figure 00000030_0000 
Figure 00000031_0000
Abstract
Description
SYSTEMS AND METHODS FOR NOISY IMAGE FEATURE IDENTIFICATION FOR TURBULENT LIQUID SURFACESCROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of and priority to U.S. Provisional Application No. 63 / 669,663, filed July 10, 2024, which application is hereby incorporated by reference in their entireties.FIELD
[0002] The field of the disclosure relates to methods to find the stabilized image of the reflection of a bright point on a turbulent liquid surface so that image analysis can be performed on a constructed image.BACKGROUND
[0003] Conventional techniques used in Czochralski (CZ) crystal growth to determine the distance between the surface of the melt and the bottom of the reflector (HR) work well when the melt is stable resulting in a reflection of a laser illuminated quartz sphere that is elliptical and straightforward to analyze. However, the melt is only this stable in cases where a large strength magnet is used. For regions of crystal growth such as the neck where the magnet is not used or a low magnetic field strength is applied for processing reasons, the melt surface can move significantly, making it difficult to see the true shape of the reflection in the melt. Accordingly, a system to stabilize the image of the laser illuminated quartz sphere reflected on the melt is needed.
[0004] This Background section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understandingof the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.BRIEF DESCRIPTION
[0005] In one aspect, a computer system includes a computing device that may include at least one processor in communication with at least one memory device. The at least one processor may be configured to: a) receive a plurality of images; b) for each image of the plurality of images, analyze each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; c) if the determination is that the color pixel intensity exceeds a predetermined color threshold, increment a hit count for a pixel location for the corresponding pixel; d) for each pixel of the plurality of pixels, compare the hit count for the corresponding pixel to a predetermined hit threshold; e) if the hit count exceeds the predetermined hit threshold, assign the corresponding pixel as on; and f) determine a center for the reflection based on the plurality of pixels and their corresponding assignments. The computer system may have additional, less, or alternate functionalities, including those discussed elsewhere herein.
[0006] In another aspect, a computer-implemented method may be performed by a computer device including at least one processor in communication with at least one memory device. The method may include a) receiving a plurality of images of a reflection on a surface from at least one sensor; b) for each image of the plurality of images, analyzing each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; c) if the determination is that the color pixel intensity exceeds a predetermined color threshold, incrementing a hit count for a pixel location for the corresponding pixel; d) for each pixel of the plurality of pixels, comparing the hit count for the corresponding pixel to a predetermined hit threshold; e) if the hit count exceeds the predetermined hit threshold, assigning the corresponding pixel as on; f) if the hit count does not exceed the predetermined hit threshold, assigning the corresponding pixel as off; and g) determining a center for the reflection based on the plurality of pixels and their corresponding assignments. The method may have additional, less, or alternate functionalities, including those discussed elsewhere herein.
[0007] In a further aspect, a computer device includes at least one processor in communication with at least one memory device. The at least one processor may be configured to: a) receive a plurality of images; b) for each image of the plurality of images, analyze each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; c) if the determination is that the color pixel intensity exceeds a predetermined color threshold, increment a hit count for a pixel location for the corresponding pixel; d) for each pixel of the plurality of pixels, compare the hit count for the corresponding pixel to a predetermined hit threshold; e) if the hit count exceeds the predetermined hit threshold, assign the corresponding pixel as on; and f) determine a center for the reflection based on the plurality of pixels and their corresponding assignments. The computer device may have additional, less, or alternate functionalities, including those discussed elsewhere herein.
[0008] In another aspect, at least one non-transitory computer- readable media having computer-executable instructions embodied thereon, when executed by a computing device including at least one processor in communication with at least one memory device, the computer-executable instructions may cause the at least one processor to: a) receive a plurality of images; b) for each image of the plurality of images, analyze each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; c) if the determination is that the color pixel intensity exceeds a predetermined color threshold, increment a hit count for a pixel location for the corresponding pixel; d) for each pixel of the plurality of pixels, compare the hit count for the corresponding pixel to a predetermined hit threshold; e) if the hit count exceeds the predetermined hit threshold, assign the corresponding pixel as on; and f) determine a center for the reflection based on the plurality of pixels and their corresponding assignments. The non-transitory computer- readable media may have additional, less, or alternate functionalities, including those discussed elsewhere herein.
[0009] Advantages will become more apparent to those skilled in the art from the following description of the preferred embodiments which have been shown and described by way of illustration. As will be realized, the presentembodiments may be capable of other and different embodiments, and their details are capable of modification in various respects. Accordingly, the drawings and description are to be regarded as illustrative in nature and not as restrictive.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The Figures described below depict various aspects of the systems and methods disclosed. Each Figure depicts an embodiment of a particular aspect of the disclosed systems and methods, and that each of the Figures is intended to accord with a possible embodiment. Further, wherever possible, the following description refers to the reference numerals included in the following Figures, in which features depicted in multiple Figures are designated with consistent reference numerals.
[0011] Figure 1 illustrates an example system for finding a stabilized image of the reflection of a bright point on a turbulent liquid surface so that image analysis can be performed on a constructed image.
[0012] Figure 2 illustrates an example view of a reflection on a smooth melt surface, in accordance with at least one embodiment of the disclosure.
[0013] Figures 3A-3D illustrate a set of example views of reflections on a turbulent melt surface, in accordance with at least one embodiment of the disclosure.
[0014] Figure 4A illustrates a view of an aggregate image with 10 images to determine a center.
[0015] Figure 4B illustrates a view of an aggregate image with 50 images to determine the center.
[0016] Figure 4C illustrates a view of an aggregate image with 150 images to determine the center.
[0017] Figure 4D illustrates a view of an aggregate image with 200 images to determine the center.
[0018] Figures 5A-5D illustrate an embodiment using weighted averaging to find the center of the “on” pixels.
[0019] Figure 6 illustrates a graph of the convergence of the center value shown in Figures 4A-4D, in accordance with at least one embodiment.
[0020] Figure 7 illustrates a diagram of the accumulation of “hits” in accordance with at least one embodiment.
[0021] Figure 8 illustrates a process for determining a stabilized image of the reflection shown in Figure 1 of a bright point on a turbulent liquid surface so that image analysis can be performed on a stable constructed image.
[0022] Figure 9 illustrates an example system for performing the process shown in Figure 8.
[0023] Figure 10 illustrates an example configuration of a user computer device.
[0024] Figure 11 illustrates an example configuration of a server computer device.
[0025] Like reference symbols in the various drawings indicate like elements.DETAILED DESCRIPTION
[0026] The field of the disclosure relates to methods to find the stabilized image of the reflection of a bright point on a turbulent liquid surface so that image analysis can be performed on a stable constructed image. From this stable image, a center of the reflection can be found, which can be used in the calculation of the distance between the surface of the melt and the bottom of a reflector, also referred to herein as “HR.” For the purposes of this discussion, the reflection is based on a Czochralski (CZ) melt, such as a melt of silicon or semiconductor material. However, one having skill in the art would understand that the systems and methods describedherein could also be used for creating stable constructed images from other potentially turbulent liquids and / or situations.
[0027] According to embodiments of the present disclosure, rather than finding the center of the reflection of individual images, an aggregate image of the reflection is built up. This is most accurate when using a reflection that is the complementary color of the dominant color of the image. Other embodiments may use any color for the laser but with a reduced accuracy of the ultimate center position expected as compared to the complementary color of the medium in which the reflection resides. Since a Czochralski (CZ) melt presents as mostly red to a standard RGB (red, green, blue) camera, a green laser is used. As each image is taken, the pixels that are green dominant are added to the aggregate image. This builds up an image of the “hits” of green pixels. Finally, a “hit percentage” threshold is applied and only the pixels that meet or exceed the hit percentage threshold are retained. This results in a nearly circular image that shows where the reflection would be for a stable melt. The center of the circle is then determined.
[0028] The determination of HR relies on finding the center of a laser illuminated quartz sphere reflected on a surface of the Cz melt. Ideally, a flat, specular (mirror like) surface would be present which results in a nearly circular ellipse (due to viewing angle) reflected onto the melt, where finding the center is straightforward. However, in cases where the melt flow is turbulent, resulting in a melt surface that is constantly moving up and down, creating localized peaks and valleys in the region of the reflection as is seen with low or absent magnet applied to the melt, finding the center of the shapes that result can lead to centers that are not accurate relative to the actual center that would result on a stable melt surface.
[0029] Figure 1 illustrates an example system 100 for finding a stabilized image of the reflection 115 of a bright point on a turbulent liquid surface 112 so that image analysis can be performed on a constructed image. In system 100, an illumination device 105, such as a laser, illuminates a quartz sphere 110 by having a beam strike the quartz sphere 110. A reflection 1 15 of the illuminated sphere 110 is visible on the melt surface 112, i.e., the turbulent liquid surface 112. This reflection115 is captured by the one or more cameras / sensors 120. In the example embodiment, the illumination device 105 is an emitter for a green laser. In this case, since Czochralski (CZ) melt presents as mostly red to a standard RGB (red, green, blue) camera, a green laser is used. However, other wavelengths may be used to make the reflection 115 in other embodiments and / or for other materials.
[0030] In other embodiments, the illumination device 105 may generate a different type, wavelength, and / or color of illumination based on the surface 112 that the reflection 115 is appearing on. In the example embodiment, the illumination device 105 uses a quartz sphere 110 to create the reflection 115. However, one having ordinary skill in the art would understand that different objects may be used with the systems and methods described herein.
[0031] One or more cameras / sensors 120 capture images of the reflection 1 15. In this embodiment, the camera / sensor 120 is a standard RGB camera. In other embodiments, the camera / sensor 120 can be other types of cameras / sensors, for example an infrared sensor, to capture other wavelengths and / or other information from the reflection 115. In some embodiments, the camera / sensor 120 captures images of the reflection once a second. In other embodiments, the camera / sensor 120 captures images at a faster or slower rate. In these embodiments, the rate of image capture is based on a level of turbulence of the liquid surface 112 that the reflection 115 is appearing on, the material of the liquid surface 112, an ambient lighting level, a lighting level of the reflection, and / or other attributes of the system 100.
[0032] The captured images are collected by a reflection analysis server 125, which is configured to aggregate the images of the reflection 115 to determine the center of the circle and calculate attributes of the surface 112 based on observation of the reflection 115 over time.
[0033] Figure 2 illustrates an example view 200 of a reflection 115 on a smooth melt surface 112, in accordance with at least one embodiment of the disclosure. In Figure 2, the quartz sphere 110 on the left side of the view 200 has anilluminated area 205 that is where the laser from the illumination device (shown in Figure 1) illuminates the quartz sphere 110.
[0034] In this view 200, a hole under the sphere 110 in the piece that is supporting the sphere 110 allows the sphere 110 to be visible from underneath the support. This creates the reflection 115 shown on the right side of the view 200. In this case, the smooth melt surface 112 results from a strong magnet that is applied to the melt and the reflection 115 appears on that surface 112. Use of such magnets in CZ crystal growth is common though the strength of the magnets vary across processes. The reflection 115 is the feature for which the center needs to be found.
[0035] When the melt is smooth, this feature is nearly circular (technically it will be an ellipse due to the viewing angle of the reflection) and finding the center can be done using a variety of standard methods. However, when the magnet is off or set to a low strength the reflection appears as shown in the images in Figures 3A-3D. Attempting to find the center of these reflections 115 would be difficult. Methods such as blob center or circle fitting could be attempted but the resulting center would be constantly moving by many pixels. Attempting to average those values could lead to misleading results because the centers are being impacted by the peaks and valleys of the melt resulting in regions of the melt showing reflection 115 that would not have reflection if the melt were still.
[0036] Figures 3A-3D illustrate a set of example views 300 of reflections 1 15 on a turbulent melt surface 112, in accordance with at least one embodiment of the disclosure.
[0037] Figure 4A illustrates a view 400 of an aggregate image with 10 images to determine a center 405. Figure 4B illustrates a view 410 of an aggregate image with 50 images to determine the center 405. Figure 4C illustrates a view 415 of an aggregate image with 150 images to determine the center 405. Figure 4D illustrates a view 420 of an aggregate image with 200 images to determine the center 405.
[0038] Figures 4A-4D show the pixels that are “on” as white and those that are “off’ as black. The Figures also only show the reflection 115 side the imageshown in Figure 2 and Figures 3A-3D since this is the region of interest. The Figures show the “on” pixels for varying amounts of number of images processed. If the hit count for a pixel meets the hit percentage criteria, then the pixel is considered “on.” Pixels that do not meet this criteria are considered “off.” A small crosshair marks the center 405 of the shape. Note that as the number of images processed increases, the shape gets increasingly circular (again, elliptical to be exact). These images use a hit percentage of 0.5 (50%) to indicate “on” but as discussed elsewhere different embodiments of varying percentages may be used leading to similar results.
[0039] Figures 5A-5D illustrate an embodiment using weighted averaging to find the center of the “on” pixels. More specifically, view 500 illustrates a view of weighted reflection pixels for 10 images. View 505 illustrates a view of weighted reflection pixels for 50 images. View 510 illustrates a view of weighted reflection pixels for 150 images. View 515 illustrates a view of weighted reflection pixels for 200 images.
[0040] Figure 6 illustrates a graph 600 of the convergence of the center 405 (shown in Figure 4) value, in accordance with at least one embodiment. Figure 6 illustrates the number of images needed for an algorithm to determine the center 405. Graph 600 shows the center 405 in terms of pixel location x and y. The solid line with circle points represents the x value of the center’s location. The dashed line with the square points represents the y value of the center’s location. In graph 600, the x axis shows the number of images analyzed using the algorithm 800 (shown in Figure 8). The y axis shows the normalized pixel distance from the eventually found center.
[0041] The values shown are normalized to show the difference in value between the current center for the image count thus far and the final value. Note that after only 10 images are examined the center location is never worse than 16 pixels away from its final settled value. While the exact value of the accuracy will be a function of the noise level on the fluctuating melt surface 112 (shown in Figure 1), the graph shows the power of the algorithm 800 in how quickly the values settle to within a few pixels or the final value.
[0042] Figure 7 illustrates a diagram 700 of the accumulation of “hits” in accordance with at least one embodiment. The large circle shows the boundary of a theoretical reflection with a smooth melt. With a smooth melt all the pixels inside the large circle would be hits all the time. The small circles represent various pixel’s theoretical flat surface locations. The solid squares represent a given pixel’s image on the camera 120 (shown in Figure 1) due to melt surface 112 (shown in Figure 1) movement. The hollow squares represent overlapping pixel views that lead to hits. As shown in Figure 7, regions inside the large circle have a high likelihood of overlapping pixels (hits), while regions outside of the large circle have a low likelihood of overlapping pixels.
[0043] Figure 8 illustrates a process or algorithm 800 for determining a stabilized image of the reflection 115 (shown in Figure 1) of a bright point on a turbulent liquid surface 112 so that image analysis can be performed on a stable constructed image. In the example embodiment, process 800 is performed by the reflection analysis server 125 (shown in Figure 1). According to embodiments of the present disclosure, a method where a complementary color to an image’s primary color is used to isolate the reflection.
[0044] In the example embodiment, the reflection analysis server 125 receives 805 a plurality of images of a reflection 115 on a surface 112 from at least one sensor 120 (all shown in Figure 1).
[0045] For each image of the plurality of images, the reflection analysis server 125 analyzes 810 each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel. The reflection analysis server 125 examines every pixel in the region of interest of the image is examined to determine if the complementary color’s pixel intensity (in this case green channel from the red, green, blue color scheme) is greater than or equal (or just greater than in different embodiments) to some fraction of the primary color’s pixel intensity. The process 800 herein uses a fraction of 1, but different embodiments could use lower values to capture additional reflection pixels where the complementary color is not necessarily dominant but is still strongly present. If the determination is that the colorpixel intensity exceeds a predetermined color threshold, the reflection analysis server 125 increments 815 a hit count for a pixel location for the corresponding pixel. Each pixel that meets this condition is considered a “hit” for that pixel. The process of image capture 805, image analysis 810, and hit count is repeated over a desired number of successive images.
[0046] For each pixel of the plurality of pixels, the reflection analysis server 125 compares 820 the hit count for the corresponding pixel to a predetermined hit threshold. The reflection analysis server 125 examines the hit count of every pixel individually to determine if the number of hits is greater than or equal (or just greater than in different embodiments) to a prescribed hit percentage number. Any number > 0 and less than or equal to 1 may be used. In some embodiments, practical applications use numbers between 0.5 and 1. The value of the prescribed hit percentage number is dependent on the number of images acquired and the turbulence level of the melt surface 1 12. If the hit count exceeds the predetermined hit threshold, the reflection analysis server 125 assigns 825 the corresponding pixel as on. If the hit count does not exceed the predetermined hit threshold, the reflection analysis server 125 assigns 830 the corresponding pixel as off. The reflection analysis server 125 determines 835 a center 405 (shown in Figure 4) for the reflection 1 15 based on the plurality of on pixels and / or the entire plurality of pixels and their corresponding assignments. Examples of on versus off pixels can be seen in Figures 4A-4D.
[0047] For the determination of “hit” pixels, in different embodiments the reflection analysis server 125 may compare the complementary color’s channel intensity to both the other channels (instead of just the primary color) to ensure it is greater than both to avoid the situation where the primary color and complementary color’s intensity both have a low value but the complementary color’s intensity is much greater than the primary color. This can be done to avoid the situation where the tertiary color may have a high intensity, but the pixel would still be counted as a “hit” which is not the desired result. In yet another embodiment, the reflection analysis server 125 could also examine the intensity value of the complementary color to ensure its intensity is more than a desired threshold. This value could then be used alone or in conjunction with the above methods to ensure the complementary color is dominant. In thisembodiment, image segmentation is achieved by traditional color analysis or color channel analysis. In other embodiments, it would be possible to also achieve image segmentation by other techniques including, but not limited to, trained machine learning or artificial intelligence processes, or comparison of derived images such as color or intensity gradients, image gamma correction, or other image processing techniques. Any suitable technique optimized for the image input type to extract the necessary pixel differences could be used.
[0048] While creating an image of these “on” pixels is not required for the purposes of the center finding algorithm, Figures 4A-4D are shown for purposes of illustration. The Figures use white pixels as “on” pixels and black pixels as “off’ pixels. The images also only show the right half of the image compared to the previous figures since this is where the reflection is and is thus the region of interest. The figures show the “on” pixels for varying amounts of number of images processed. A small crosshair marks the center 405 of the shape. Note that as the number of images processed increases, the shape gets increasingly circular (again, elliptical to be exact). These images use a hit percentage of 0.5 (50%) but as discussed previously different embodiments may be used leading to similar results.
[0049] In another embodiment, the reflection analysis server 125 uses a weighted averaging to find the center 405 of the “on” pixels. The approach is similar as previously described for turning pixels “on” and “off; however, in the previous approach to find the center of the circle the pixels are not evenly weighted. Each “on” pixel is weighted by the number of hits and the center of the weighted average is found. To show this visually, Figures 5A-5D show the hit number as the intensity value normalized to the maximum number of hits for a given image. The near white centers indicate many hits. The weighted center is shown as a crosshair as shown in the previous similar figures. In situations where the fluctuations are more severe this can lead to a faster convergence of the pixel center at the expense of computational cost.
[0050] The reason the process 800 works is because each image is capturing reflection points that are in peaks, valleys, and nearly flat regions of the melt. As the melt surface 112 fluctuates, reflection points that are near the center are normallystill visible (sometimes they are not depending on the nature of the turbulence) and the peaks and valleys of the melt surface 112 cannot move the reflection pixels extremely far away from their theoretical flat surface reflection location. This results in many hits for the near center pixels because for any direction of movement of the reflection there is overlap with other pixels moving in other random directions from other images. Conversely, reflection points that are at larger radii (nearer the edge of the circle) also see their reflection pixels move in random directions. For these pixels, movement generally towards the center sees the pixel hits coincide with pixels hits further inward that are moving outward from other images. However, for the outward movement there is not as much overlap since there are no reflection pixels that are even further outboard moving inward from other images. This results in less hits resulting in pixels that are ultimately “off.” An illustration of this concept is shown in Figure 7.
[0051] Compared to conventional methods, the methods of the present disclosure can extend the regions where laser-controlled HR is used (to neck for example) and also on crystal pullers whose magnets do not result in a smooth melt.
[0052] While the above describes using the systems and processes described herein for analyzing silicon melts in a CZ process, one having ordinary skill in the art would understand that these systems and methods may also be used for classifying other liquid melt situations.
[0053] Figure 9 illustrates an example system 900 for performing the process 800 (shown in Figure 8). In the example embodiment, the system 900 is used for determining a stabilized image of the reflection 115 (shown in Figure 1) of a bright point on a turbulent liquid surface 112 so that image analysis can be performed on a stable constructed image.
[0054] As described below in more detail, the reflection analysis server 125 is programmed to analyze reflection images to generate a stabilized image. The reflection analysis server 125 is programmed to a) receive a plurality of images of a reflection 115 on a surface 112 from at least one sensor 120 (all shown in Figure 1); b) for each image of the plurality of images, analyze each pixel of a plurality of pixelsin the corresponding image to determine a color pixel intensity for the corresponding pixel; c) if the determination is that the color pixel intensity exceeds a predetermined color threshold, increment a hit count for a pixel location for the corresponding pixel; d) for each pixel of the plurality of pixels, compare the hit count for the corresponding pixel to a predetermined hit threshold; e) if the hit count exceeds the predetermined hit threshold, assign the corresponding pixel as on; f) if the hit count does not exceed the predetermined hit threshold, assign the corresponding pixel as off; and g) determine a center 405 (shown in Figure 4) for the reflection 115 based on the plurality of pixels.
[0055] In the example embodiment, client devices 905 are computers that include a web browser or a software application, which enables client devices 905 to communicate with reflection analysis server 125 using the Internet, a local area network (LAN), or a wide area network (WAN). In some embodiments, the client devices 905 are communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a LAN, a WAN, or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, a satellite connection, and a cable modem. Client devices 905 can be any device capable of accessing a network, such as the Internet, including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, virtual headsets or glasses (e.g., AR (augmented reality), VR (virtual reality), or XR (extended reality) headsets or glasses), chat bots, voice bots, ChatGPT bots or ChatGPT-based bots, or other web-based connectable equipment or mobile devices.
[0056] In the example embodiment, reflection analysis computer device 910 (also known as reflection analysis server 125) is a computer that include a web browser or a software application, which enables reflection analysis server 125 to communicate with client devices 905 and cameras / sensors 120 using the Internet, a local area network (LAN), or a wide area network (WAN). In some embodiments, the reflection analysis server 125 is communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a LAN, a WAN, or an integrated services digital network (ISDN), a dial-up-connection,a digital subscriber line (DSL), a cellular phone connection, a satellite connection, and a cable modem. The reflection analysis server 125 can be any device capable of accessing a network, such as the Internet, including, but not limited to, a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smartphone, a tablet, a phablet, wearable electronics, smart watch, virtual headsets or glasses (e.g., AR (augmented reality), VR (virtual reality), or XR (extended reality) headsets or glasses), chat bots, voice bots, ChatGPT bots or ChatGPT-based bots, or other web-based connectable equipment or mobile devices.
[0057] A database server 915 is communicatively coupled to a database 920 that stores data. In one embodiment, the database 920 is a database that includes a plurality of images of reflections. In some embodiments, the database 920 is stored remotely from the reflection analysis server 125. In some embodiments, the database 920 is decentralized. In the example embodiment, a person can access the database 920 via the client devices 905 by logging onto reflection analysis server 125.
[0058] Camera / sensor 925 may be any camera and / or sensor that the reflection analysis server 125 is in communication with that transmits images of reflections 115 and other images to the reflection analysis server 125. In the example embodiment, camera / sensors 925 that are in communication with reflection analysis server 125 using the Internet, a local area network (LAN), or a wide area network (WAN). In some embodiments, the camera / sensor(s) 925 are communicatively coupled to the Internet through many interfaces including, but not limited to, at least one of a network, such as the Internet, a LAN, a WAN, or an integrated services digital network (ISDN), a dial-up-connection, a digital subscriber line (DSL), a cellular phone connection, a satellite connection, and a cable modem.
[0059] Figure 10 depicts an example configuration 1000 of user computer device 1002. In the example embodiment, user computer device 1002 may be similar to, or the same as, client device 905 (shown in Figure 9). User computer device 1002 may be operated by a user 1001.
[0060] User computer device 1002 may include a processor 1005 for executing instructions. In some embodiments, executable instructions may be stored in a memory area 1010. Processor 1005 may include one or more processing units (e.g., in a multi-core configuration). Memory area 1010 may be any device allowing information such as executable instructions and / or transaction data to be stored and retrieved. Memory area 1010 may include one or more computer readable media.
[0061] U ser computer device 1002 may also include at least one media output component 1015 for presenting information to user 1001. Media output component 1015 may be any component capable of conveying information to user 1001. In some embodiments, media output component 1015 may include an output adapter (not shown) such as a video adapter and / or an audio adapter. An output adapter may be operatively coupled to processor 1005 and operatively couplable to an output device such as a display device (e.g., a cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED) display, or “electronic ink” display) or an audio output device (e.g., a speaker or headphones).
[0062] In some embodiments, media output component 1015 may be configured to present a graphical user interface (e.g., a web browser and / or a client application) to user 1001. A graphical user interface may include, for example, an interface for viewing items of information provided by the reflection analysis server 125 (shown in Figure 9). In some embodiments, user computer device 1002 may include an input device 1020 for receiving input from user 1001. User 1001 may use input device 1020 to, without limitation, submit information either through speech or typing.
[0063] Input device 1020 may include, for example, a keyboard, a pointing device, a mouse, a stylus, a touch sensitive panel (e.g., a touch pad or a touch screen), a gyroscope, an accelerometer, a position detector, a biometric input device, and / or an audio input device. A single component such as a touch screen may function as both an output device of media output component 1015 and input device 1020.
[0064] User computer device 1002 may also include a communication interface 1025, communicatively coupled to a remote device such as reflection analysis server 125. Communication interface 1025 may include, for example, a wired or wireless network adapter and / or a wireless data transceiver for use with a mobile telecommunications network.
[0065] Stored in memory area 1010 are, for example, computer readable instructions for providing a user interface to user 1001 via media output component 1015 and, optionally, receiving and processing input from input device 1020. A user interface may include, among other possibilities, a web browser and / or a client application. Web browsers enable users, such as user 1001, to display and interact with media and other information typically embedded on a web page or a website from reflection analysis server 125. A client application may allow user 1001 to interact with, for example, reflection analysis server 125. For example, instructions may be stored by a cloud service, and the output of the execution of the instructions sent to the media output component 1015.
[0066] Figure 11 depicts an example configuration 1100 of a server computer device 1 102. In the example embodiment, server computer device 1102 may be similar to, or the same as, reflection analysis server 125 and database server 915 (both shown in Figure 9). Server computer device 1102 may also include a processor 1105 for executing instructions. Instructions may be stored in a memory area 1 110. Processor 1105 may include one or more processing units (e.g., in a multi-core configuration).
[0067] Processor 1105 may be operatively coupled to a communication interface 11 15 such that server computer device 1102 is capable of communicating with a remote device such as another server computer device 1102, reflection analysis server 125, camera / sensors 925, and client devices 905 (shown in Figure 9) (for example, using wireless communication or data transmission over one or more radio links or digital communication channels). For example, communication interface 1115 may receive input from client devices 905 via the Internet, as illustrated in Figure 9.
[0068] Processor 1105 may also be operatively coupled to a storage device 1125. Storage device 1125 may be any computer-operated hardware suitable for storing and / or retrieving data, such as, but not limited to, data associated with one or more models. In some embodiments, storage device 1125 may be integrated in server computer device 1102. For example, server computer device 1102 may include one or more hard disk drives as storage device 1125.
[0069] In other embodiments, storage device 1125 may be external to server computer device 1 102 and may be accessed by a plurality of server computer devices 1102. For example, storage device 1125 may include a storage area network (SAN), a network attached storage (NAS) system, and / or multiple storage units such as hard disks and / or solid-state disks in a redundant array of inexpensive disks (RAID) configuration.
[0070] In some embodiments, processor 1105 may be operatively coupled to storage device 1 125 via a storage interface 1120. Storage interface 1120 may be any component capable of providing processor 1105 with access to storage device 1125. Storage interface 1120 may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and / or any component providing processor 1105 with access to storage device 1125.
[0071] Processor 1105 may execute computer-executable instructions for implementing aspects of the disclosure. In some embodiments, the processor 1105 may be transformed into a special purpose microprocessor by executing computerexecutable instructions or by otherwise being programmed. For example, the processor 1105 may be programmed with the instruction such as illustrated in Figure 8.
[0072] At least one of the technical problems addressed by this system may include: (i) improve analysis of wafers; (ii) decreased loss of material due to malfunction; (iii) earlier determination of wafer quality; (iv) increased accuracy in wafer analysis; and / or (v) increased accuracy in wafer analysis.
[0073] A technical effect of the systems and processes described herein may be achieved by performing at least one of the following steps: (i) receive at least one image of a silicon melt of a crystal in a crucible; (ii) execute a model trained to segment the at least one image into different classes; (iii) analyze segmentation to determine a quality of the crystal; and / or (iv) approve or reject the crystal based upon the analysis.ADDITIONAL CONSIDERATIONS
[0074] As will be appreciated based upon the foregoing specification, the above-described embodiments of the disclosure may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof. Any such resulting program, having computer-readable code means, may be embodied or provided within one or more computer-readable media, thereby making a computer program product, i.e., an article of manufacture, according to the discussed embodiments of the disclosure. The computer-readable media may be, for example, but is not limited to, a fixed (hard) drive, diskette, optical disk, magnetic tape, semiconductor memory such as read-only memory (ROM), and / or any transmitting / receiving medium such as the Internet or other communication network or link. The article of manufacture containing the computer code may be made and / or used by executing the code directly from one medium, by copying the code from one medium to another medium, or by transmitting the code over a network.
[0075] These computer programs (also known as programs, software, software applications, “apps,” or code) include machine instructions for a programmable processor and can be implemented in a high-level procedural and / or object-oriented programming language, and / or in assembly / machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and / or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine -readable signal. The “machine-readable medium” and “computer-readable medium,” however, do notinclude transitory signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0076] As used herein, the terms “processor” and “computer” and related terms, e.g., “processing device”, “computing device”, and “controller” are not limited to just those integrated circuits referred to in the art as a computer, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller (PLC), a reduced instruction set circuit (RISC), an application specific integrated circuit (ASIC), logic circuits, and any other circuit or processor capable of executing the functions described herein. The above examples are example only and are thus not intended to limit in any way the definition and / or meaning of the term “processor.”
[0077] As used herein, the terms “software” and “firmware” are interchangeable, and include any computer program stored in memory for execution by a processor, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are example only, and are thus not limiting as to the types of memory usable for storage of a computer program.
[0078] As used herein, the term “database” can refer to either a body of data, a relational database management system (RDBMS), or to both. As used herein, a database can include any collection of data including hierarchical databases, relational databases, flat file databases, object-relational databases, object-oriented databases, and any other structured collection of records or data that is stored in a computer system. The above examples are example only, and thus are not intended to limit in any way the definition and / or meaning of the term database. Examples of RDBMS’ include, but are not limited to including, Oracle® Database, MySQL, IBM® DB2, Microsoft® SQL Server, Sybase®, and PostgreSQL. However, any database can be used that enables the systems and methods described herein. (Oracle is a registered trademark of Oracle Corporation, Redwood Shores, California; IBM is a registered trademark of International Business Machines Corporation, Armonk, New York; Microsoft is a registered trademark of Microsoft Corporation, Redmond, Washington; and Sybase is a registered trademark of Sybase, Dublin, California.)
[0079] In another example, a computer program is provided, and the program is embodied on a computer-readable medium. In an example, the system is executed on a single computer system, without requiring a connection to a server computer. In a further example, the system is being run in a Windows® environment (Windows is a registered trademark of Microsoft Corporation, Redmond, Washington). In yet another example, the system is run on a mainframe environment and a UNIX® server environment (UNIX is a registered trademark of X / Open Company Limited located in Reading, Berkshire, United Kingdom). In a further example, the system is run on an iOS® environment (iOS is a registered trademark of Cisco Systems, Inc. located in San Jose, CA). In yet a further example, the system is run on a Mac OS® environment (Mac OS is a registered trademark of Apple Inc. located in Cupertino, CA). In still yet a further example, the system is run on Android® OS (Android is a registered trademark of Google, Inc. of Mountain View, CA). In another example, the system is run on Linux® OS (Linux is a registered trademark of Linus Torvalds of Boston, MA). The application is flexible and designed to run in various different environments without compromising any major functionality.
[0080] As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural elements or steps, unless such exclusion is explicitly recited. Furthermore, references to “example” or “one example” of the present disclosure are not intended to be interpreted as excluding the existence of additional examples that also incorporate the recited features. Further, to the extent that terms “includes,” “including,” “has,” “contains,” and variants thereof are used herein, such terms are intended to be inclusive in a manner similar to the term “comprises” as an open transition word without precluding any additional or other elements.
[0081] Furthermore, as used herein, the term “real-time” refers to at least one of the time of occurrence of the associated events, the time of measurement and collection of predetermined data, the time to process the data, and the time of a system response to the events and the environment. In the examples described herein, these activities and events occur substantially instantaneously.
[0082] In some embodiments, the system includes multiple components distributed among a plurality of computer devices. One or more components may be in the form of computer-executable instructions embodied in a computer-readable medium. The systems and processes are not limited to the specific embodiments described herein. In addition, components of each system and each process can be practiced independent and separate from other components and processes described herein. Each component and process can also be used in combination with other assembly packages and processes. The present embodiments may enhance the functionality and functioning of computers and / or computer systems.
[0083] The computer-implemented methods discussed herein can include additional, less, or alternate actions, including those discussed elsewhere herein. The methods can be implemented via one or more local or remote processors, transceivers, servers, and / or sensors (such as processors, transceivers, servers, and / or sensors mounted on vehicles or mobile devices, or associated with smart infrastructure or remote servers), and / or via computer- executable instructions stored on non- transitory computer-readable media or medium. Additionally, the computer systems discussed herein can include additional, less, or alternate functionality, including that discussed elsewhere herein. The computer systems discussed herein can include or be implemented via computer-executable instructions stored on non-transitory computer- readable media or medium.
[0084] As used herein, the term “non-transitory computer-readable media” is intended to be representative of any tangible computer-based device implemented in any method or technology for short-term and long-term storage of information, such as, computer-readable instructions, data structures, program modules and sub-modules, or other data in any device. Therefore, the methods described herein can be encoded as executable instructions embodied in a tangible, non-transitory, computer readable medium, including, without limitation, a storage device and / or a memory device. Such instructions, when executed by a processor, cause the processor to perform at least a portion of the methods described herein. Moreover, as used herein, the term “non-transitory computer-readable media” includes all tangible, computer- readable media, including, without limitation, non-transitory computer storage devices,including, without limitation, volatile and nonvolatile media, and removable and nonremovable media such as a firmware, physical and virtual storage, CD-ROMs, DVDs, and any other digital source such as a network or the Internet, as well as yet to be developed digital means, with the sole exception being a transitory, propagating signal.
[0085] The patent claims at the end of this document are not intended to be construed under 35 U.S.C. § 112(f) unless traditional means-plus-function language is expressly recited, such as “means for” or “step for” language being expressly recited in the claim(s).
[0086] This written description uses examples to disclose the disclosure, including the best mode, and also to enable any person skilled in the art to practice the disclosure, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the disclosure is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
Claims
WHAT IS CLAIMED IS:
1. A system comprising: an illumination device configured to create a reflection on a surface; at least one sensor device configured to capture images of the reflection; and a computer device comprising at least one processor in communication with at least one memory device, wherein the at least one processor is programmed to: receive a plurality of images of the reflection from the at least one sensor device; for each image of the plurality of images, analyze each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; if the determination is that the color pixel intensity exceeds a predetermined color threshold, increment a hit count for a pixel location for the corresponding pixel; for each pixel of the plurality of pixels, compare the hit count for the corresponding pixel to a predetermined hit threshold; if the hit count exceeds the predetermined hit threshold, assign the corresponding pixel as on; if the hit count does not exceed the predetermined hit threshold, assign the corresponding pixel as off; and determine a center for the reflection based on the plurality of pixels and their corresponding assignments.
1. The system of Claim 1, wherein the illumination device is configured to create the reflection of a turbulent surface.
3. The system of Claim 2, wherein the turbulent surface is aCzochralski (CZ) melt of semiconductor material.
4. The system of Claim 1, wherein the illumination device is configured to cause the reflection to be in a complementary color to that of the surface causing the reflection.
5. The system of Claim 1, wherein the plurality of images of the reflection are taken over a period of time.
6. The system of Claim 1 , wherein the plurality of pixels are located in an area of interest in the plurality of images.
7. The system of Claim 1, wherein the predetermined hit threshold is based on a number of images acquired and a turbulence level of the surface.
8. The system of Claim 1, wherein the at least one processor is further programmed to compare a color pixel intensity for a complementary channel to a color pixel intensity for a primary color.
9. The system of Claim 1, wherein the predetermined color threshold is based on a dominance of a primary color.
10. The system of Claim 1, wherein the at least one processor is further programmed to compare a color pixel intensity for a complementary channel to a color pixel intensity for each of a plurality of additional color channels.
11. The system of Claim 1 , wherein the at least one processor is further programmed to determine the center for the reflection based on the plurality of pixels using a weighted average.
12. The system of Claim 11, wherein the weighted average is based on the corresponding hit counts for the corresponding pixels.
13. A computer device comprising at least one processor in communication with at least one memory device, wherein the at least one processor is programmed to: receive a plurality of images of a reflection on a surface from at least one sensor; for each image of the plurality of images, analyze each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; if the determination is that the color pixel intensity exceeds a predetermined color threshold, increment a hit count for a pixel location for the corresponding pixel; for each pixel of the plurality of pixels, compare the hit count for the corresponding pixel to a predetermined hit threshold; if the hit count exceeds the predetermined hit threshold, assign the corresponding pixel as on; if the hit count does not exceed the predetermined hit threshold, assign the corresponding pixel as off; and determine a center for the reflection based on the plurality of pixels and their corresponding assignments.
14. The computer device of Claim 13, wherein the reflection is of a turbulent surface.
15. The computer device of Claim 13, wherein the reflection is in a complementary color to that of the surface causing the reflection.
16. The computer device of Claim 13, wherein the predetermined hit threshold is based on a number of images acquired and a turbulence level of the surface.
17. The computer device of Claim 13, wherein the at least one processor is further programmed to compare a color pixel intensity for a complementary channel to a color pixel intensity for a primary color.
18. The computer device of Claim 13, wherein the at least one processor is further programmed to compare a color pixel intensity for a complementary channel to a color pixel intensity for each of a plurality of additional color channels.
19. A computer- implemented method performed by a computer system including at least one processor in communication with at least one memory device, the method comprising: receiving a plurality of images of a reflection on a surface from at least one sensor; for each image of the plurality of images, analyzing each pixel of a plurality of pixels in the corresponding image to determine a color pixel intensity for the corresponding pixel; if the determination is that the color pixel intensity exceeds a predetermined color threshold, incrementing a hit count for a pixel location for the corresponding pixel; for each pixel of the plurality of pixels, comparing the hit count for the corresponding pixel to a predetermined hit threshold; if the hit count exceeds the predetermined hit threshold, assigning the corresponding pixel as on; if the hit count does not exceed the predetermined hit threshold, assigning the corresponding pixel as off; anddetermining a center for the reflection based on the plurality of pixels and their corresponding assignments.
20. The computer- implemented method of Claim 19, wherein the reflection is of a turbulent surface.
Citation Information
Patent Citations
Low-complexity motion detection based on image edges
US20170004629A1