The invention generally relates to gem polishing and grading, and in particular to automation of polishing and grading tasks.
The process of polishing a rough diamond to create a finished gem involves multiple iterative steps. In general, these steps require a high degree of manual intervention, resulting in a time consuming and expensive process.
Computer methods are known for assisting in planning the polishing of a rough diamond; for example, computer graphics may be used to plan a final, target gem, that is, the gem that will be created by the polishing process. However, after the plan is in place, the subsequent polishing process, by which each facet of the gem is cut and polished, generally requires repeated human intervention. High temperatures can affect the precision of mechanical parts of the grinding equipment. In addition, the polishing process may introduce “artifacts,” such as pits, scratches, polishing lines, etc., into the gem surface. Polishing is therefore stopped frequently to correct polishing deviations and facet flaws. Automation to reduce human intervention could reduce costs and delays.
Embodiments of the present invention provide methods and systems for automating the steps of gem polishing and polish grading.
[Summary of claims to be inserted here.]
For a better understanding of various embodiments of the invention and to show how the same may be carried into effect, reference is made, by way of example, to the accompanying drawings. Structural details of the invention are shown to provide a fundamental understanding of the invention, the description, taken with the drawings, making apparent to those skilled in the art how the several forms of the invention may be embodied in practice. In the accompanying drawings:
It is to be understood that the invention and its application are not limited to the methods and systems described below or to the arrangement of the components set forth or illustrated in the drawings, but are applicable to other embodiments that may be practiced or carried out in various ways.
The system 20 includes a computer 22, which may be a programmable device with a processor, typically with a user interface, such as a desktop workstation or laptop computer, or other mobile device. Alternatively, computer 22 may be an embedded computer, integrated into one of the other elements of system 20. The computer controls elements of polishing apparatus 24. These elements including a computer-controlled polishing, or lapping, table 26, robotic apparatus 28, and an imaging module 30. The robotic apparatus 28 typically includes four or more axes, each axis being controlled by a robotic motor, also referred to hereinbelow as an axis controller. The imaging module 30 is typically an inverted microscope with a digital camera. Being a microscope, the imaging module 30 typically has a shallow depth of field (DOF), and has one or more illumination lights providing front “dark field” illumination and/or “bright field” illumination. In further embodiments, the microscope is alternatively or additionally configured with directional illumination, whereby a ring of LEDs, spaced at, for example, 10 degree increments around the 360 degree circumference, illuminate the gem at an angle. The LEDs may also be individually controlled, such that illumination may be provided from individual, angled beams of light. Lens magnification factors that range from five to ten times are typical. In some embodiments, the system is configured to support a range of magnifications from 1× to 20×, typically with multiple lens. As an “inverted” microscope, objects under observation are above, rather than below, the camera aperture.
The imaging module 30 typically is configured to provide a live digital video stream of images of a gem under observation to the computer 22, which analyzes facets of the gem, as described further hereinbelow.
The polishing table 26 of the polishing apparatus includes a polishing surface, such as a disk or wheel 40. Typically polishing wheel 40 includes multiple tracks having different abrasive characteristics, ranging from course to very fine. Additional elements of the polishing table 26 may include a computer-controlled motor 42, which controls the rotational speed of the wheel 40, as well as a computer-controlled brake (not shown).
The robotic apparatus 28 of the polishing apparatus includes multiple axes of movement, described further with respect to
Also shown in the figure is the imaging module 30 which includes one or more selectable lenses 60 and a lens selector 62, which is typically a servo motor. Elements of the imaging module 30 are described further hereinbelow, with respect to
Five such controllers are indicated in the figure. These are a vertical axis (z-axis) controller 120, a horizontal axis (x-axis) controller 122, a tilt controller 124, rotary holder controller 126, and a rotary wheel-orientation controller 128. The vertical axis controller 120 controls movement of a gem downwards against the polishing wheel 40 and upwards from the polishing wheel, as well as controlling a force of downward pressure of the gem against the polishing wheel. The horizontal axis controller 122 controls movement of a gem to a selected track of the polishing wheel 40, along the x-axis of the robotic apparatus. The horizontal axis controller 122 also moves the gem to a position within a field of view (FOV) of the imaging module 30. The tilt controller 124 controls a tilt of a gem in its holder. The rotary holder (or “facet rotation”) controller 126 rotates a gem holder (described below) so that the desired facet of the gem is against the polishing wheel, at the tilt set by the tilt controller. The rotary holder controller is part of the rotary holder mechanism 130, described further hereinbelow with respect to
The rotary wheel-orientation controller 128 pivots the gem so that to change the orientation of a facet with respect to the polishing wheel, so that the direction of polishing can be changed.
It is to be understood that the naming of the various axis controllers of the robotic arm is used only as a means of reference and that other designations could be applied. Furthermore, other configurations of robotic arms may also be implemented having fewer or more axis controllers.
The controllers typically include encoders that provide movement measurements to the computer. For example, the robotic apparatus may include a vertical axis linear encoder 132, a horizontal axis linear encoder 134, and a tilt axis encoder 136, as well as rotary holder and wheel-orientation encoders (not indicated).
The horizontal and vertical axis controllers may control the movement of ball screw mechanisms. A horizontal ball screw 142 may be connected to horizontal pillow blocks 144a and 144b. A ball runner block 146 of the horizontal axis may be guided along guide rails 148a and 148b. The vertical axis may have similar pillow blocks, guide rails, and runner block (not shown). The accuracy of the axis controllers is typically enhanced by planetary gears. For the horizontal and vertical axes, these gears are indicated as respective gears 152 and 154. A tilt axis planetary gear is indicated as tilt gear 156. To further improve measurement of axis positions, additional plate encoders may be added, such as the tilt axis plat encoder 164.
A holder mount lock 504 may be employed to ensure that the holder position does not move within the rotary holder mechanism 130. A backlash coupler 506 may provide mechanical vibration damping in conjunction with a coupling mechanism such as a spring, shown hereinbelow with respect to
Also shown in
The imaging module 30 also typically includes a calibration plate 706 for fine tuning the position of the lenses with respect to the robotic apparatus. A power supply 708 may provide power for the camera, lens selector, calibration plate, and/or lenses
In
In
In
In embodiments of the present invention, coordinates of the current gem in the holder (also referred to hereinbelow as the “current gem”) are registered with coordinates of the virtual 3D model of the rough gem (the “input” model) and of the target model, as described further hereinbelow with respect to the flow chart of
A current 3D model is generated at a step 1104, after the gem is positioned and set in the holder 50, and the holder is mounted into its position in the apparatus, as described above. It is understood that the gem is typically repositioned in the holder several times during the polishing process before a finished gem is produced, as only part of the gem is exposed and can be polished at any one time. One placement orientation exposes the top or “crown” of the gem, and a second placement orientation exposes the bottom or “table” of the gem. Additional placements may be required to fully expose the sides, or “girdle,” of the gem.
After the gem is in the holder, step 1104 proceeds with the computer 22 directing the robotic apparatus 28 to move the gem to the FOV of the camera. The computer 22 then controls the robotic apparatus 28 to turn the rough gem, presenting to the camera multiple views that are then used to generate the current gem 3D model. Coordinates of this 3D model are aligned with a known position of the holder that is also viewed in the images; for example, the known position may be determined by one or more holder marks, as described above. The modelling process is described in more detail hereinbelow with respect to
At a step 1106, the coordinates of the current 3D model (more precisely, the coordinates of the exposed surfaces of the current gem) are registered to coordinates of the 3D model of the target gem. As indicated in the figure, the steps may be iterative, that is, the registration process may be performed more than once, each time increasing the accuracy of the registration. Details of generating the 3D model of the gem in the holder and alignment to the virtual finished gem are described in more detail below with respect to
After the gem in the holder is registered to the target 3D model, a facet of the target 3D model is selected as a polishing target (Step 1108). The selection may be performed automatically by a rules engine, which is also referred to herein as a “playbook” function of the computer, as described further hereinbelow. Based on the facet selected, the computer determines how the robotic apparatus is to orient the gem in order to place the proper facet of the gem in contact with the polishing wheel.
After the proper facet is selected (designated the “current” facet), the polishing direction must be set. The rate of polishing a diamond facet is anisotropic, that is, the rate is dependent on the direction that the facet is oriented with respect to the motion of the polishing wheel. The polishing direction is a function of the diamond crystal structure; therefore the method of determining the direction depends on whether or not an orientation of the gem's crystal structure (“lattice structure”) is known (decision step 1110). (For further reference, see L. Pastewkal. et al., “Anisotropic mechanical amorphization drives wear in diamond,” Natural Materials, 10 (2011), pp. 34-38, the disclosures of which are incorporated herein by reference.)
If the crystal structure is not known, the polishing direction may be determined by trial and error, that is, by rotating the facet in various directions on the polishing wheel and measuring the polishing success after each trial (step 1112). After the polishing directions of several facets have been determined by trial and error, general parameters of the crystal structure with respect to polishing direction can be determined (e.g., orthogonal vectors of the crystal lattice). Once these parameters of crystal structure have been determined, the crystal structure can be used to estimate optimal polishing directions for new facets (step 1114), thereby circumventing the process of trial and error, as described further hereinbelow with respect to
After setting the polishing direction by the methods described above, additional parameters of polishing are set at a step 1116, including the polish speed, pressure, and track (e.g., coarse or fine polishing wheel track). These factors are determined by a “playbook” function of the computer, as described above, which sets the polishing parameters according to several factors, such as the depth of polishing required to reach the target facet and the types of artifacts appearing on the current facet, as described further hereinbelow.
After all the polishing parameters are set, the controller moves the axis controllers (i.e., motors) of the robotic arm according to the polishing parameters, rotating and tilting the gem to put the correct side in contact with the polishing wheel 40, such that polishing is performed with the selected polishing direction applied. The gem is also positioned on the correct track with respect to the abrasive grade. The selected pressure is also applied (by the vertical axis controller). The rotating speed of the disk speed is also set, with consideration of the length of the disk circumference at the selected track position. A time duration of the polishing task is also set, and the polishing then proceeds (step 1118), generally until the end of the selected time duration. The duration may also be shortened if the temperatures of the gem and of the gem holder do not stay within an expected range.
When the selected time duration of polishing is completed, the computer moves the gem to the FOV of the camera in order to acquire one or more images the current facet (step 1120). Imaging may include a process of tilting the gem holder 50 in order to ensure that the current facet is perpendicular to the central axis of the lens 60a, as described further hereinbelow. A determination is then made of how much of the diamond was removed by polishing during the last polishing interval and how much more polishing is still needed to reach the target facet (step 1122).
At a step 1124, image analysis is performed with respect to the morphology of the current facet, that is, various artifacts in the facet surface are identified. These artifacts may include features such as scratches, pits, “lizard” bumps, burn marks, edge abrasion, polishing lines and cracks. As described further herein, the types of identified artifacts determine a “playbook plan” for continued polishing of the facet. The playbook may also indicate artifact thresholds, that is, artifact parameters that indicate a need to stop the automated polishing process and notify a human operator. The playbook plan determines parameters of polishing, including the polish speed, pressure, and track (e.g., coarse or fine polishing wheel track). The playbook plan may also determine that automatic polishing cannot correct a fault, or is not configured to correct the fault, in which case a human operator is alerted. In addition to determining a playbook plan for subsequent polishing, the artifacts that appear on the current facet also indicate whether the previous playbook plan was successful. That is, the previous plan can be “graded.” If the previous plan was not successful, the playbook can be modified accordingly for future reference.
The playbook plan can also be influenced by additional parameters measured during and after polishing, such as the temperature of the gem, as measured by the heat sensors described above.
The depth analysis determines if the target facet has been reached. At a decision step 1126, if the target facet has not been reached, then polishing of the facet continues at the step 1116. As indicated in the figure, steps 1116 through 1126 are iterative steps, which continue until the current facet has been polished to the level of the target facet.
When the current facet is done, then a determination is made at a step 1128 as to whether all exposed facets are done. If not, a new facet is selected at the step 1108, and the polishing process continues automatically, without changing the position of the gem in the holder. If the polishing of all exposed facets is done, then, at a step 1130, the robotic apparatus 28 rotates the gem above the camera to allow each facet of the exposed gem to be imaged and analyzed. The analysis at step 1130 records faults and dimensions of each exposed facet, such that a polish, cut, and symmetry grades of the gem can be determined when the polishing of all facets is complete.
At a step 1132, the gem is repositioned in the holder to expose a new side, which is then polished according to the steps of process 1100, starting again at the registration steps 1104 and 1106. Repositioning may be done manually. When all sides (pavilion, crown, table, and girdle) have been polished, the faults and dimensions determined for all exposed sides independently at the step 1130 can be merged to provide overall polish, cut and symmetry grades of the gem.
After the current 3D model is generated, it is registered with the input 3D model at the step 1106, which includes the following sub-steps. At a sub-step 1202, the current model is “roughly” aligned to the input model. The rough alignment may be determined by a “volume allocation” procedure. This procedure begins by uniformly “shrinking” one of the 3D models such that no point on the smaller 3D model extends beyond the geometric boundary of the other 3D model. Next, the shrunken model is “inflated” by a uniform increment, such that in an initial orientation a portion of the inflated model extends beyond the geometric boundary of the other 3D model. The inflated model is then rotated until no point on the inflated 3D model extends beyond the geometric boundary of the other 3D model.
Ideally, given the current 3D model and the input 3D model should be identical, the incremental inflation and rotation process should end when the two models are precisely superimposed. In practice, the current and ideal 3D models differ slightly and the process ends when?
At a sub-step 1204, after the two 3D models are roughly aligned, candidate facets of the current gem are selected for fine tuning of the alignment, based on 2D edges. Any edged facet may be selected. The process is typically successful with one candidate facet, but more facets increase the accuracy. At a step 1204, a candidate facet is imaged as facet edge 1404, as indicated in
Finally, at a step 1208, based on the alignment of the input model to the current model, the target model (pre-aligned to the input model) may be registered “within” the current model. Subsequently, the registration of the target and current models allows a facet of the current model to be accurately selected for polishing, according to a selected facet goal of the target model.
We also assume that the diamonds are available in the form of single crystals (
Two additional examples, in
The orientation of the vectors a, b or c, which provide the best match between the observed and predicted directions of easy polishing of each facet, can be determined from the following process, which may be programmed as, for example, in C++ or a MATLAB script.
After polishing, the robotic apparatus moves the gem to the imaging module at the step 1120, described above with respect to the flow chart of
As indicated in
When the spot of the reference light beam is double, the computer instructs the robotic apparatus to incrementally tilt the holder until the two spots merge. In an alternative embodiment, an edge focus procedure is performed to correct for facet tilt. The following edge focus procedure may also be performed to ensure that the facet positioned at the optimal depth of focus. Steps of the edge focus procedure include:
Once the entire facet is in optimal focus, a facet image is acquired for use in the subsequent steps of 2D-to-3D alignment and morphology analysis.
To determine the depth (i.e., removal rate) and angular position of polishing during a polishing interval, the computer first aligns the 2D image acquired by the process described above with the previously generated, “current” 3D model, that is, the model calculated by the prior modelling analysis before the polishing was performed (which is typically in a mesh format). The cut angle, i.e., the angle at which the polishing was supposed to be performed, as well as the intended polishing depth, are set before the polishing is performed and may be estimated from the robotic apparatus encoders. However, the encoder measurements include errors due to the pressures and the heat generated by the polishing process. Consequently, the 2D image is aligned by image processing to the previous 3D model, and based on the alignment the previous 3D model is “sliced” to generate an accurate, new, “current” 3D model.
Before performing the alignment, the following steps are typically performed first to “clean” the facet image (steps are also indicated in
Given the facet image, the previous 3D model, and the estimated cut angle, the following steps may then be performed to estimate the “current facet” of the gem. First, the 3D model mesh is rotated to be aligned with the estimated cut angle. Then, a search is done to find the best estimate of “cut values”, that is, the best estimate of the cut angle and the cut depth. Various values are tested, where each set of values gets a score, until the best score is found. For example, cut angles may be tested from −0.3 radians to +0.3 radians of the estimated cut, each increment being 0.05 radians. For each angle, cut depths from 1.5 mm to 2.5 mm may be examined, at increments of 0.05 mm (camera to facet depth is near 2 mm). The depth with the best score is then selected, and a new search is made again around the selected depth, at a smaller increment of change, for example where the angle steps halved, and the range being in a smaller interval, for example of only ±0.2 mm (e.g., from 1.8 mm to 2.2 mm if the best depth is 2 mm). These steps may be repeated in multiple iterations, where the increment is always halved between iterations. After finding the best depth for the given cut angle, a finer search is done for each angle, as well as for depth.
For each cut angle and depth, a score is calculated to determine how good the estimate is. The score range may be set from 0 to 1. Scoring may be performed by the following steps. A facet image is computed from the intersection between the rotated mesh and a plain at the cut values. The plain-mesh intersection is computed by intersecting each triangle in the mesh and the plain, while drawing the intersected lines, and then the resulted polygon is filled. The image matching first matches the angle (based on image moments) and then position (based on center of gravity). The matching counts the number of the non-matched pixels, related to the total number of ‘white’ pixels. Alternatively, the image borders, rather than the image area, may be matched. A function may then be defined as the distance between edges (e.g., mean of absolute difference, mean of squares, etc.).
After the best angle is found in the entire range, the step is halved, and the range is assigned as the best angle f one step. These steps are repeated in 5 iterations. At each iteration, the search for the most precise depth registration is performed. Finally, the same process is repeated for the second angle. At each iteration the entire search for the first angle is done. The result of the last iteration is the best modelled estimate of the current facet of the current gem, that is, the facet of the gem after cutting away the part that was polished. Faster searches may be achieved by examining a reduced number of cut values, or by using a simpler scoring method.
The target method could optimize different factors for matching the image with the sliced 3D, to reduce the amount of searching. The score may determine not only how successful the matching is, but which direction the next iteration goes, therefore limiting the search. Parameters that may be calculated include: area, perimeter, average edge distance, square sum of edge distance, and length of matching edges. The change of these parameters between iterations provides an indication of whether the score is improving or getting worse, which provides an indication of whether to continue searching in a given direction.
Machine learning is used to achieve three main aspects of facet morphology analysis:
The detection and classification module detects, classifies and segments each artifact on the surface of the facet. This is achieved by the following actions and subsystems:
Throughout the process, images are be classified by a stage I neural network system. A human, experienced gemologist confirms and/or corrects the classifications. A human, experienced gemologist also uses the segmentation tool to confirm and/or correct each artifact in each image. At first, a few hundred ground truth example for each type of artifacts are required. The process of expanding the database and re-training the system occurs again when the database exceeds 10,000 ground truth samples for each artifact.
Examples of rules defined by the playbook are shown in the Appendix.
The process of polish grading includes the following elements:
All or part of the process 1100, as implemented by the computer 22, can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. All or part of the system and process can be implemented as a computer program product, tangibly embodied in an information carrier, such as a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, such as a programmable processor, computer, or deployed to be executed on multiple computers at one website or distributed across multiple websites. Memory storage may also include multiple distributed memory units, including one or more types of storage media. Examples of storage media include, but are not limited to, magnetic media, optical media, and integrated circuits such as read-only memory devices (ROM) and random access memory (RAM). A computing system configured to implement the system may have one or more processors and one or more network interface modules. Processors may be configured as a multi-processing or distributed processing system. Network interface modules may control the sending and receiving of data packets over networks.
It is to be understood that the scope of the present invention includes variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
This application claims priority from U.S. provisional patent 62/818,213 filing date Mar. 14, 2019 which is incorporated herein by its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IB20/52352 | 3/15/2020 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62818213 | Mar 2019 | US |