Secondary cutting block identification and packaging optimization system and method

Through the computer-implemented method, the secondary cutting blocks are identified and classified using optimized computing devices and multiple models, solving the problem of low identification and classification efficiency in the prior art, and achieving efficient secondary cutting block processing and value optimization.

CN119856188APending Publication Date: 2025-04-18JBT MAREL CORPORATION
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202380065060.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-09
Filing Date
2023-09-07
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently identify and classify secondary cutting blocks, resulting in low processing efficiency and difficult to achieve product value optimization.

Method used

By a computer implemented method, multiple models are received using an optimized computing device, each model associated with the type of the secondary cutting block, including the first and second reference shapes and attribute eigenvalue ranges. Then, using the first and second matching features in the registration scan to align with the model's reference shape, the shape match value and the attribute match value are calculated, and the type of the best model match is determined to assign the secondary cut block.

Benefits of technology

It realizes efficient identification and classification of secondary cutting blocks, improves processing efficiency, and supports value optimization of the use of secondary cutting blocks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119856188A_ABST
    Figure CN119856188A_ABST
Patent Text Reader

Abstract

A method performed by a computing device includes: receiving a plurality of models, each model associated with a type of a secondary cut block, including a reference shape for detecting a respective matching feature by a respective scan type, and including a plurality of ranges of attribute feature values; receiving a registration scan of the secondary cut block, including a scan showing a corresponding matching feature; identifying attribute features of the secondary cut block using the registration scan; aligning the reference shape of each model with the corresponding matching feature, and calculating a shape matching value based on alignment; determining an optimal model match for the registered scan using a plurality of attribute match values calculated based on comparing the identified attribute feature to the range of attribute feature values and the plurality of shape match values; and assigning the type of the secondary cut block to the secondary cut block based on the optimal model matching.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 375,215, filed on September 9, 2022, the entire contents of which are incorporated herein by reference. Background Art

[0002] Workpieces, including food products, are cut or otherwise cut into small pieces by the processor according to customer needs. The first cutting of the carcass is to form primary cuts. More specifically, primary cuts or meat cuts are pieces of meat that are initially separated from the carcass of the animal during slaughter or processing. Examples of primary cuts include round, loin, ribs and shoulder of beef, or shank, loin, Boston shoulder, and picnic of pork. The primary cuts are then cut into sub-primal cuts. Examples of secondary cuts of beef include top round, whole loin and rib eye, and examples of secondary cuts of pork are sirloin chop, center loin, center rib and rib end bone-in cuts.

[0003] The processing of secondary blocks may vary depending on the type of secondary block. For example, some types of secondary blocks may be split or trimmed according to the customer's specifications or other specific requirements for that type of cut. In addition, certain types of secondary blocks may be used for certain end products, depending on the supply and demand for that type of secondary block. Summary of the invention

[0004] In some aspects, the technology described herein relates to a computer-implemented method for optimizing machining of a secondary cutting block, the method comprising: receiving, by an optimization computing device, a plurality of models, wherein each model is associated with a type of the secondary cutting block, wherein each model includes at least a first reference shape for detecting a first matching feature by a first scan type and a second reference shape for detecting a second matching feature by a second scan type, and wherein each model includes a plurality of attribute feature value ranges; receiving, by the optimization computing device, registered scans of the secondary cutting block, including a first scan of the first scan type showing the first matching feature and a second scan of the second scan type showing the second matching feature; and using, by the optimization computing device, the first scan of the registered scans to detect a second matching feature. a second scan type and a second scan type to identify a plurality of attribute features of the secondary cutting block; for each model in the plurality of models: simultaneously aligning a first reference shape of the model with a first matching feature of the first scan type and aligning a second reference shape of the model with a second matching feature of the second scan type; and calculating a plurality of shape matching values ​​based on the alignment of the first matching feature and the second matching feature with the first reference shape and the second reference shape; calculating a plurality of attribute matching values ​​based on the plurality of identified attribute features compared with a range of attribute feature values; determining a best model match for the registered scan using the plurality of attribute matching values ​​and the plurality of shape matching values; and assigning the type of the secondary cutting block to the secondary cutting block based on the best model match.

[0005] In some aspects, the technology described herein relates to a method for training one or more machine learning models to generate a plurality of models, each model being associated with a type of a secondary cutting block, comprising: receiving, by a model generation computing device, a first set of training data, the first set of training data comprising registration scans of a plurality of secondary cutting blocks, each registration scan comprising a first scan of a first scan type and a second scan of a second scan type, the first scan type showing a first matching feature of the secondary cutting block, the second scan type showing a second matching feature of the secondary cutting block, each registration scan being associated with a type of the secondary cutting block; adding, by the model generation computing device, the first set of training data for each type of the secondary cutting block in a training data memory; training, by the model generation computing device, the one or more machine learning models to generate a model for each type of the secondary cutting block using information stored in the training data memory as input, each model comprising a first reference shape representing a first matching and a second reference shape representing a second matching feature, the first matching representing the first scan type of the registration scans of the plurality of secondary cutting blocks and the second matching representing the second scan type of the registration scans of the plurality of secondary cutting blocks; and storing, by the model generation computing device, the one or more machine learning models in the model data memory.

[0006] In some aspects, the technology described herein relates to a method for assigning a type of a secondary cutting block to a secondary cutting block using one or more machine learning models, the method comprising: receiving, by an optimization computing device, a registration scan of the secondary cutting block aligned with a plurality of models, wherein each registration scan comprises a first scan of a first scan type showing a first matching feature and a second scan of a second scan type showing a second matching feature, the registration scan being aligned with the model, and wherein each model is associated with a type of the secondary cutting block, wherein each model comprises at least a first reference shape for detecting the first matching feature by the first scan type and a second reference shape for detecting the second matching feature by the second scan type, and wherein each model comprises one or more attribute feature value ranges; receiving, by the optimization computing device, a plurality of identification attribute features of the secondary cutting block; retrieving, by the optimization computing device, the one or more machine learning models from a model data storage; and processing, by the optimization computing device, the aligned registration scans and the plurality of models and the plurality of identification attribute features of the secondary cutting block using the one or more machine learning models to assign the type of the secondary cutting block to the secondary cutting block as an output.

[0007] In some aspects, the technology described herein relates to a computer-implemented method for optimizing secondary cutting block machining, the method comprising: receiving, by an optimization computing device, a plurality of models, wherein each model is associated with a type of the secondary cutting block, wherein each model includes at least a first reference shape for detecting a first matching feature by a first scan type and a second reference shape for detecting a second matching feature by a second scan type, and wherein each model includes a plurality of attribute feature value ranges; receiving, by the optimization computing device, registered scans of the secondary cutting block, including a first scan of the first scan type showing the first matching feature and a second scan of the second scan type showing the second matching feature; identifying, by the optimization computing device, a plurality of the secondary cutting block using at least one of the first scan type and the second scan type of the registered scans; attribute features; for each model in a plurality of models: aligning a first reference shape of the model with a first matching feature of a first scan type; calculating at least one shape matching value based on the alignment of the first matching feature with the first reference shape; simultaneously aligning the first reference shape of the model with the first matching feature of the first scan type, and aligning the second reference shape of the model with the second matching feature of the second scan type; calculating at least one shape matching value based on the alignment of the first matching feature and the second matching feature with the first reference shape and the second reference shape; calculating a plurality of attribute matching values ​​based on a plurality of identified attribute features compared with a range of attribute feature values; determining a best model match for the registered scan using the plurality of attribute matching values ​​and the shape matching values; and assigning a type of secondary cutting block to the secondary cutting block based on the best model match. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The above aspects and many of the attendant advantages of the present invention will be more readily understood by reference to the following detailed description taken in conjunction with the accompanying drawings, wherein:

[0009] Figure 1 Shown are the upper photograph of the top side of a sliced ​​whole bone pork loin and the lower photograph of the bottom side of a sliced ​​whole bone pork loin.

[0010] Figure 2 A photograph showing a rib eye bone-in cut of sliced ​​whole bone pork loin.

[0011] Figure 3 Shows Figure 2 Photo of sliced ​​whole bone pork loin rib center bone meat piece.

[0012] Figure 4 Shows Figure 2 Photo of sliced ​​whole bone pork loin rib center bone meat piece.

[0013] Figure 5 Shows Figure 2 Photo of Sliced ​​Whole Bone Pork Loin Center Cut Loin.

[0014] Figure 6 Shows Figure 2 Photo of sliced ​​whole bone pork loin first sirloin bone-in meat piece.

[0015] Fig. 7A Shows Figure 6 Photo of the first sirloin bone-in cut.

[0016] Figure 7B Shows Figure 2 Photo of sliced ​​whole bone pork loin second sirloin bone-in meat piece.

[0017] Figure 8 A block diagram of a non-limiting example of a secondary cut-block identification and packaging optimization system in accordance with various aspects of the present disclosure is shown.

[0018] Fig. 9 A schematic diagram of a non-limiting example of a secondary cutting block handling system according to various aspects of the present disclosure is shown.

[0019] Fig.10 A block diagram illustrating a non-limiting example of a secondary cutting block identification component in accordance with various aspects of the present disclosure.

[0020] Fig.11A Screen shots showing various images generated from one or more scanning devices of a secondary cutting block identification component according to various aspects of the present disclosure.

[0021] Fig. 11B and Fig. 11CScreen shot showing a registered scan of a secondary cutting block aligned with a model of a type associated with the secondary cutting block, in accordance with various aspects of the present disclosure.

[0022] Fig.12 A flow chart illustrating a non-limiting example of a method of determining a secondary cutting block type of a secondary cutting block according to various aspects of the present invention.

[0023] Fig.13 A flow chart illustrating a non-limiting example of a method for obtaining a plurality of models according to various aspects of the present disclosure is shown.

[0024] Fig.14A and Fig. 14B A flowchart illustrating a non-limiting example of a method of training one or more machine learning models to generate a plurality of models according to various aspects of the present disclosure, wherein each model is associated with a type of secondary cut block.

[0025] Fig.15 A flow chart illustrating a non-limiting example of a method of assigning secondary cutting blocks types to secondary cutting blocks using one or more machine learning models in accordance with various aspects of the present disclosure.

[0026] Fig.16 A flow chart illustrating a non-limiting example of a method of packaging a food product according to various aspects of the present disclosure.

[0027] Fig.17 A block diagram of a non-limiting example of a computing device suitable for use as a computing device with examples of the present disclosure is shown. DETAILED DESCRIPTION

[0028] The systems and methods of the present disclosure are intended to identify secondary cut blocks and classify the secondary cut blocks into one of at least two categories, such as for value ranking and / or value optimization use of the secondary cut blocks. In some examples, the secondary cut blocks can be identified by processing a scanned image of the secondary cut block to determine whether the secondary cut block is shaped as a specific type of bone-in meat chop and whether the secondary cut block has the characteristics of the specific type of bone-in meat chop. The systems and methods of the present disclosure may include: for the secondary cut blocks moving along the food processing line, identifying the type of the secondary cut blocks, so that the secondary cut blocks can be at least one of segmented, sorted, packaged, etc. based on their identified type.

[0029] refer to Figure 1-7, the examples described herein relate to secondary cuts or "bone-in pieces" of whole-bone pork loins. However, it should be understood that the systems and methods described herein can be used for any secondary cuts. Therefore, any reference to "bone-in pieces of meat" and the like should be understood to include any secondary cuts (e.g., secondary cuts of beef, chicken or other meats, secondary cuts of fish, types of plant-based meats, etc.). In addition, although the systems and methods disclosed herein are described as being used to identify and classify secondary cuts, other types of artifacts are also within the scope of the present disclosure. Accordingly, when the phrases "bone-in pieces of meat," "cuts," "secondary cuts," and the like are used to describe various aspects of the systems and methods, it should be understood that other work products or artifacts may also be used or included. Conversely, when the terms "work product," "artifact," "food," and the like are used to describe aspects of the systems and methods, they should be understood to include any "bone-in pieces of meat," "cuts," or "secondary cuts," and the like.

[0030] Now refer to Figure 1 -7 to describe exemplary types and classifications of secondary cutting blocks.

[0031] refer to Figure 1 (The top side of the loin is shown in the top photo image, and the bottom side of the loin is shown in the bottom photo image), a whole bone pork loin 102 can be sliced ​​into bone-in pieces from a rib end 104 to a sirloin end 106, each bone-in piece optionally having substantially the same thickness. Each piece or group of bone-in pieces (from the portion of the loin) can include different bone-in piece characteristics that affect its overall quality or value. Bone-in piece characteristics may depend on various factors, such as the characteristics of the whole bone pork loin (e.g., its leanness, bone size, etc.), the location of the bone-in piece along the length of the pork loin (e.g., near the rib end or sirloin end), the slicing process, etc. Bone-in piece characteristics may include overall shape / size or overall object outline, length, width, height, weight, points, area, percentage of fat to lean meat, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, bone-to-meat ratio, blood spots, holes, bruises, parasites, excess bone, etc. These bone-in cut characteristics may affect the classification and / or value of the bone-in cut. Data associated with one or more of these bone-in cut characteristics may be considered "attribute data" of the bone-in cut.

[0032] like Figure 2 Various types and categories of bone-in cuts are produced from the slicing process of loin, as shown in -7. For example, Figure 2 Based on its overall body contour or overall shape 202, the shape of its main lean meat area 204 and / or the shape of its bone area 206, the first bone-in meat piece 108 cut from the whole bone pork loin 102 near the rib end 104 (see also Figure 1 ) is determined to be a rib eye-type bone-in cut of meat. More specifically, based on a comparison of the shapes of these areas with the known shapes of rib eye-type bone-in cuts of meat, the first bone-in cut of meat 108 can be assigned as a rib eye-type bone-in cut of meat.

[0033] The first bone-in cut 108 can be further classified as a specific type of rib eye cut based on at least two other characteristics of the bone-in cut. For example, the first bone-in cut 108 includes a spinalis 208 that is larger than a specific size and a specific number of bones, which affects the classification of the rib eye assigned to the first bone-in cut 108 (e.g., rib eye cut 1 / rib eye cut 2). The type of bone-in cut (e.g., rib eye / center cut) and the classification of the bone-in cut (e.g., rib eye cut 1 vs. rib eye cut 2) can ultimately determine how the bone-in cut is used (e.g., cut, sorted, packaged) for value ranking and / or value optimization of the bone-in cut. For ease of reference, the final name of the bone-in cut, including the type and classification, can be simply referred to as the "type" of the bone-in cut.

[0034] Figure 3 A second bone-in cut 110 is shown cut from a whole bone pork loin 102 further from the rib end 104 of the loin 102 than the first bone-in cut 108 (see also Figure 1 ). The second bone-in cut of meat 110 may be determined to be a rib center-type bone-in cut of meat based on its overall shape 302, the shape of its primary lean region 304, and / or the shape of its skeletal region 306. More specifically, the second bone-in cut of meat 110 may be assigned to be a rib center-type bone-in cut of meat based on a comparison of the shapes of these regions to known shapes of rib center-type bone-in cuts of meat.

[0035] The second cut of meat 110 can be further classified as a specific type of rib center cut of meat based on at least two other characteristics of the cut of meat. For example, the second cut of meat 110 includes a spinous muscle 308 that is smaller than the spinous muscle 208 of the first cut of meat 108, and a certain amount of bone (i.e., a certain bone volume). Accordingly, the second cut of meat 110 can be classified as a rib center cut of meat 1.

[0036] In contrast, Figure 4 The third bone-in cut 112 shown can also be identified as a rib center-type bone-in cut based on its overall shape 402, the shape of its main lean meat area 404 and / or the shape of its bone area 406. The third bone-in cut 112 is cut from the whole bone pork loin 102 and is similar to the second bone-in cut 110 (see also Figure 1) is further from the rib end 104 of the loin 102 than the third cut of bone-in meat 112. However, the third cut of bone-in meat 112 can be classified as a rib center cut of bone-in meat 2 because the spinous muscles are not present and / or the tenderloin area 408 is smaller than the predetermined size of another rib center cut of bone-in meat.

[0037] Figure 5 A fourth bone-in cut 114 is shown cut from a whole bone pork loin 102 near the sirloin end 106 of the loin 102 (see also Figure 1 ). The fourth bone-in cut 114 can be identified as a center cut loin type bone-in cut based on its overall shape 502, the shape of its primary lean region 504, and / or the shape of its bone region 506, as compared to the shapes of known center cut loin types. In addition, the fourth bone-in cut 114 can be classified as a center cut loin 1 based on the size of the loin tender region 508 and / or the amount of bone present (i.e., bone mass).

[0038] Figure 6 and 7A The fourth bone-in piece 114 (see also Figure 1 ), compared to the fifth bone-in cut 116 cut from the whole bone pork loin 102 near the sirloin end 106 of the loin 102. The fifth bone-in cut 116 can be determined to be a sirloin-type bone-in cut based on its overall shape 702, the shape of its main lean area 704, and / or the shape of its bone area 706, compared to the shape of the center cut loin type of bone-in cuts. In addition, based on the size of the loin tender area 708, the fifth bone-in cut 116 can be classified as a sirloin-type bone-in cut 1.

[0039] In contrast, based on its overall shape 712, the shape of its primary lean region 714, and / or the shape of its bony region 716, Figure 7B The sixth bone-in cut 118 shown may also be identified as a sirloin-type bone-in cut that is cut from the whole bone pork loin 102 closest to the rib end 104 of the loin 102. However, the sixth bone-in cut 118 may be classified as a sirloin cut 2 because the loin tender area 720 is smaller or larger than the predetermined size of another sirloin cut.

[0040] It will be appreciated that a variety of factors, including the shape of the bone-in cut of meat and other characteristics of the bone-in cut of meat (e.g., percentage of fat to lean meat, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, bone-to-meat ratio, etc.), may determine how the type of bone-in cut of meat is identified and how the bone-in cut of meat is classified.

[0041] To re-emphasize the above point, although the examples described herein (including the above description) relate to "bone-in cuts" of whole bone pork loin, the systems and methods described herein can be used with any secondary cuts or workpieces. Accordingly, any reference to "bone-in cuts" and the like should be understood to include any secondary cuts or other workpieces that can be identified and / or classified using the systems and methods described herein to achieve value optimization, etc.

[0042] As described above, the systems and methods disclosed herein are directed to identifying secondary cuts and classifying the secondary cuts into one of at least two categories. The secondary cuts (e.g., rib eye bone-in, rib center bone-in, center cut loin, sirloin bone-in, etc.) can be identified by comparing the reference shape of the secondary cuts with known secondary cuts shapes and further determining whether the secondary cuts have some or all of the attribute characteristics of the type of the secondary cuts (e.g., fat to lean percentage, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, bone-to-meat ratio, etc.). For example, the secondary cuts can be classified (e.g., rib eye bone-in 1 / rib eye bone-in 2) by identifying the attribute characteristics of the secondary cuts and determining whether the secondary cuts have some or all of the attribute characteristics of the type of certain secondary cuts.

[0043] Figure 8 A schematic diagram of a non-limiting example of a secondary-cut block optimization system 802 that can be used to identify secondary-cut blocks and classify the secondary-cut blocks into one of at least two categories is depicted. In the illustrated example, the secondary-cut block optimization system 802 is generally configured to identify the type and category of secondary-cut blocks of secondary-cut blocks moving along a food processing line so that the secondary-cut blocks can be at least one of segmented, sorted, packaged, etc. based on their identified type / category. The secondary-cut block optimization system 802 can include various network computing devices configured to perform aspects of identifying the type of secondary-cut blocks and classifying the secondary-cut blocks, as well as other aspects of processing the secondary-cut blocks (e.g., conveying, slicing, segmenting, sorting, packaging, etc.).

[0044] In the depicted example, the secondary cutting block optimization system 802 includes a processing system 804, a model generation computing device 806, and a workpiece utilization computing device 808 that are communicatively coupled together via a network 810. The network 810 can be any type of network that enables communication between the various components of the secondary cutting block optimization system 802. For example, the network can be a WiFi network.

[0045] First reference Figure 8 and Fig. 9804. In one example, the processing system 804 is generally configured to perform processing of the secondary cut blocks before and after identifying and / or sorting the secondary cut blocks. For example, the processing system 804 includes a conveyor 812 or another mobile device configured to transport the workpiece WP or the secondary cut blocks between various parts of the processing system 804. For example, the conveyor 812 can transport the secondary cut blocks between one or more of the slicer 814, the identification component 816, the segmenter 818, the picking station 820, the sorter 822, and the packaging machine 824.

[0046] The slicer 814 may be used to slice the raw product into secondary cut block workpieces, such as slicing the primary cut block into secondary cut blocks. In this regard, the slicer 814 may be located downstream of a cutter (not shown) used to slice the carcass into primary cut blocks. Various types of slicers may be used to slice the primary cut block into one or more secondary cut blocks of a desired thickness. For example, the slicer may be in the form of a high-speed water jet, a laser, a rotary saw, a hacksaw, or a band saw. In addition, the slicer may be adjustable to obtain the desired thickness for each individual workpiece or secondary cut block. Such adjustment may be performed in a computer such as the optimization computing device 902 (see Fig. 9 ) under the control of a processor of the processor. For example, the slicer can be adjusted based on data sent from the workpiece utilization calculation device 808 regarding the finished workpiece supply / demand requirements (e.g., there is a specific demand for 3 / 8 inch thick blocks versus 1 inch blocks, so the slicer is adjusted to meet the demand).

[0047] In some examples, the processing system 804 receives secondary cut blocks (i.e., cut blocks cut from primary cut blocks) from another machine or location, and the slicer 814 is excluded. In some examples, the slicer 814 is used to segment the secondary cut blocks before they are processed by at least a specific component of the identification component 816 for identification. In this regard, the terms "slicing", "slicing", "cutting", "trimming", etc. can include any type of product cutting or any combination thereof (e.g., slicing alone, segmenting alone, or any other type of product cutting, and any combination of slicing, segmenting, and other types of product cutting).

[0048] After the secondary cut blocks are sliced ​​and identified by the identification component 816, the segmentation machine 818 can be used to further cut, slice, trim or otherwise segment the secondary cut blocks into one or more final products. In this regard, the segmentation machine 818 can be located downstream of the identification component 816 and is used to segment the workpiece after it is identified as a specific type of secondary cut block. The segmentation machine 818 communicates with the optimization computing device 902 so that it can receive cutting instructions based on the identified type of the secondary cut blocks of the workpiece.

[0049] For example, a particular type of secondary cut block may be designated as requiring trimming to meet product or packaging requirements (e.g., as defined by the finished workpiece supply / demand engine 832 of the workpiece utilization computing device 808). Accordingly, if a secondary cut block is identified as one of these types of secondary cut blocks, it may be trimmed by the splitter 818 after it is identified as such a secondary cut block. In a more specific example, if the spinous muscle of a pork bone-in meat block is identified as high value in data sent to the optimization computing device 902, such as from the finished workpiece supply / demand engine 832 of the workpiece utilization computing device 808, in some cases, the optimization computing device 808 may instruct the splitter 818 to remove or otherwise cut the spinous muscle from the particular identified type of pork bone-in meat block for packaging or product optimization. For example, if the spinous muscle of the bone-in meat block is larger than a particular size, the bone-in meat block may be split to remove the spinous muscle for separate use and / or high-value packaging.

[0050] The cutting, splitting, trimming, etc. of the secondary cut block based on its identified type may be performed by a workpiece processing module (not shown) in the optimization computing device 902 or a separate computing device in communication with the processing system 804. In this regard, the optimization computing device 902 may send some or all data related to the identification of the secondary cut block to the workpiece processing module so that the workpiece processing module can perform any cutting or other processing required for the secondary cut block. In some examples, if the workpiece processing module receives data identifying the type of the secondary cut block, it may perform further scanning and analysis to determine how to trim the cut block. In some examples, the workpiece processing module may be able to perform all necessary cutting or other processing of the secondary cut block based on the received identification data without performing any further scanning or analysis.

[0051] After any cutting, trimming, etc., the secondary cut pieces (and / or any material removed from the secondary cut pieces) may be transferred to a take-away conveyor, a storage bin, a sorter 822, a packaging machine 824, or other location, such as a pick-up station 820. The pick-up station 820, the sorter 822, and the packaging machine 824 may receive instructions from the optimization computing device 902 based on the identified type of secondary cut pieces of the workpiece. For example, if the workpiece is identified as a trimmed piece, the optimization computing device 902 may instruct the pick-up station 820 and / or the sorter 822 to remove or transfer the trimmed piece from the conveyor so that it is not packaged with any secondary cut pieces. In another example, the optimization computing device 902 may instruct the pick-up station 820 and / or the sorter 822 to transfer all secondary cut pieces of a particular type to a designated conveyor, bin, etc. for packaging together. In another example, the optimization computing device 902 may instruct the packaging machine 824 to package a specific number of secondary cut blocks (optionally in a specific layout within the package) based on the number of secondary cut blocks of a specific type identified and demand data received from the finished workpiece supply / demand engine 832.

[0052] although Figure 8 and Fig. 9 Specific components and subassemblies of the processing system are depicted, but it should be understood that any other suitable processing components may be used to arrange. For example, the processing system 804 may incorporate aspects of the systems shown and described in U.S. Pat. No. 7,651,388, entitled "Portioning apparatus and method," U.S. Pat. No. 7,672,752, entitled "Sorting workpieces to be portioned into various end products to optimally meet overall production goals," and U.S. Pat. No. 8,688,267, entitled "Classifying workpieces to be portioned into various end products to optimally meet overall production goals," the entire contents of which are incorporated herein by reference.

[0053] refer to Figure 8-Figure 10 , the identification component 816 for identifying the type / category of each secondary cutting block will now be described in more detail. Generally, the identification component 816 is configured to generate registration scans of the secondary cutting blocks, including a first scan of a first scan type showing a first matching feature of the secondary cutting blocks and a second scan of a second scan type showing a second matching feature. The identification component 816 then uses the registration scans to identify the type / category of each secondary cutting block.

[0054] Fig.10 816 is a block diagram illustrating aspects of a non-limiting example of an identification component 816 according to various aspects of the present disclosure. The identification component 816 includes at least a first scanner for capturing a first scan type and a second scanner for capturing a second scan type, so that the first and second scans of the first and second types can be processed to generate a registered scan. For example, in one example, the identification component 816 includes an x-ray scanning station 904, an optical scanning station 906, and a third scanning station 904 of the same or different types. The identification component 816 also includes an optimization computing device 902, which includes a processor 1002, a communication interface 1006, and a computer-readable medium 1004, as well as one or more data stores.

[0055] The optimization computing device 902 can be implemented by any computing device or a collection of computing devices, including but not limited to desktop computing devices, laptop computing devices, mobile computing devices, server computing devices, computing devices of cloud computing systems, and / or combinations thereof. In some examples, the processor 1002 may include any suitable type of general-purpose computer processor. In some examples, the processor 1002 may include one or more special-purpose computer processors or AI accelerators optimized for specific computing tasks, including but not limited to graphics processing units (GPUs), visual processing units (VPTs), and tensor processing units (TPUs).

[0056] In some examples, the communication interface 1004 includes one or more hardware and / or software interfaces suitable for providing a communication link between components. The communication interface 1004 can support one or more wired communication technologies (including but not limited to Ethernet, FireWire, and USB), one or more wireless communication technologies (including but not limited to Wi-Fi, WiMAX, Bluetooth, 2G, 3G, 4G, 5G, and LTE), and / or combinations thereof.

[0057] As shown, logic is stored on the computer-readable medium 1006, which, in response to execution by one or more processors 1002, causes the optimization computing device 902 to provide a scan data processing engine 1008, an input product range inspection engine 1010, an image matching engine 1012, an attribute data engine 1014 and a classification engine 1016.

[0058] As used herein, "computer-readable medium" refers to a removable or non-removable device that implements any technology capable of storing information in a volatile or non-volatile manner for reading by a processor of a computing device, including but not limited to: hard drives; flash memory; solid-state drives; random access memory (RAM); read-only memory (ROM); CD-ROM, DVD or other disk storage devices; magnetic tape cartridges; magnetic tape; and magnetic disk storage.

[0059] As used herein, an "engine" refers to the logic contained in hardware or software instructions, which may be written in one or more programming languages, including but not limited to C, C++, C#, COBOL, JAVA TM , PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Go and Python. The engine can be compiled into an executable program or written in an interpreted programming language. The software engine can be called from other engines or itself. Generally, the engine described herein refers to a logical module that can be merged with other engines or can be divided into sub-engines. The engine can be implemented by logic stored in any type of computer-readable medium or computer storage device, which is stored on and executed by one or more general-purpose computers, thereby creating a special-purpose computer configured to provide the engine or its functions. These engines can be implemented by logic programmed into an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other hardware device.

[0060] As used herein, "data storage" refers to any suitable device configured to store data for access by a computing device. An example of a data storage is a highly reliable, high-speed relational database management system (DBMS) that is executed on one or more computing devices and can be accessed via a high-speed network. Another example of a data storage is a key-value storage. However, any other suitable storage technology and / or device that can quickly and reliably provide stored data in response to queries can be used, and the computing device can be accessed locally rather than via a network, or can be provided as a cloud-based service. The data storage device can also include data stored in an organized manner on a computer-readable storage medium, such as a hard drive, flash memory, RAM, ROM, or any other type of computer-readable storage medium. Those of ordinary skill in the art will recognize that, without departing from the scope of the present disclosure, the separate data storages described herein can be combined into a single data storage, and / or the single data storage described herein can be separated into multiple data storages.

[0061] refer to Fig. 9 , the scanning station of the recognition component 816 will now be described. As described above, the recognition component 816 is configured to generate a registration scan of the secondary cut block, which includes a first scan of a first scan type (i.e., using a first scanner) showing a first matching feature and a second scan of a second scan type (i.e., using a second scanner) showing a second matching feature. The matching features are defined by image characteristics of each scan type. The scanner used to generate the registration scan of the secondary cut block can depend on the image type required to generate the matching features of the secondary cut block.

[0062] For example, the first scanner can be an X-ray scanning station 904 for taking an X-ray of the secondary cut block to show a higher density area (e.g., a bone area and / or the outline of the cut block) as a first matching feature. The second scanner can be an optical scanning station 906 for generating at least one of a visible light (e.g., grayscale) image, a laser scattering image, a height map, a hyperspectral image, a multispectral image, etc. of the secondary cut block to show one or more of the overall shape / size of the secondary cut block, the composition of the secondary cut block (e.g., fat / lean), the height or thickness of an area of ​​the secondary cut block, etc. In some examples, the recognition component 816 also includes a third scanning station 910 for capturing a third scan type showing a third matching feature of the secondary cut block. Any other scanner can also be used to capture a scan type showing additional matching features of the secondary cut block. The identification component 816 can use one or more scanners and / or systems and methods to process scanner data as described in U.S. Patent No. 10,721,947, entitled "Apparatus for acquiring and analysing product-specific data for products of the food processing industry as well as a system comprising such an apparatus and a method for processing products of the food processing industry," which is hereby incorporated by reference in its entirety.

[0063] The scanning station of the recognition component 816 can capture scans of the secondary cut blocks and then output the scan data to the scan data processing engine 1008 for processing. In this regard, the scan data processing engine 1008 can include one or more feature recognition modules for generating views / images from the scan data and / or processing data from different views. For example, referring to Fig.11A , the scan data processing engine 1008 may be configured to generate at least one of a fat recognition (FRS) object view, a laser scatter object view, and a height mode object view, such as data captured from the optical scanning station 906. One or more alternative or additional scanning stations and / or alternative or additional feature recognition modules may be used to capture one or more scan types and generate views showing additional or different matching features of the secondary cutting block. Accordingly, the descriptions and illustrations provided herein should not be considered limiting.

[0064] The X-ray scanning station 904 can be any configuration for generating an X-ray image suitable for performing the necessary functions of the identification component 816. In general, X-rays are attenuated when passing through an object, and the amount of attenuation is proportional to the total mass of the material through which the X-rays pass. Therefore, the intensity of the X-rays (originating from the X-ray source) received at the X-ray detector (such as the detector 962) after passing through an object such as the workpiece WP (such as the secondary cut block) is inversely proportional to the density of the object. For example, X-rays passing through a pork loin bone block, which has a relatively higher density than fresh loin meat, will be attenuated more than X-rays passing through only fresh loin meat. Therefore, the X-rays are suitable for detecting the presence of specific features, such as bones with specific density or X-ray modification features. In this regard, the matching feature of the secondary cut block defined by the X-ray scan (first scan type) may be the location of bones or other higher density materials within the secondary cut block. In a further example, the matching feature of the secondary cut block defined by the X-ray scan (first scan type) may be the overall outline or perimeter of the secondary cut block.

[0065] For an overview of the nature and use of X-rays in processing workpieces, reference may be made to U.S. Pat. No. 5,585,605, entitled "Optical-scanning system employing laser and laser safety control," U.S. Pat. No. 10,654,185, entitled "Cutting / portioning using combined X-ray and optical scanning," and U.S. Pat. No. 10,721,947 (as described above), which are hereby incorporated by reference in their entirety. The signals generated by the X-ray detectors are transmitted to the scan data processing engine 1008 of the optimization computing device 902, which processes the signals to generate registration scans, identify attribute features, or perform other processing or identification steps.

[0066] After the workpiece WP is scanned at the X-ray scanning station 904, it is moved by the conveyor 812 (optionally by transfer to a second or downstream (segmented) conveyor located downstream of the first (scanning) conveyor) so that it passes under a second scanner, such as an optical scanning station 906. The optical scanning station 906 may include a scanner located in a housing to view the workpiece WP illuminated by one or more light sources. The optical scanning station 906 captures an optical image, such as a visible light image of the workpiece WP, and transmits the image / data to the scan data processing engine 1008 of the optimization computing device 902.

[0067] The optical scanning at station 906 can utilize a variety of different scanning techniques in the visible and hyperspectral ranges. The scanning at optical scanning station 906 can be performed using various techniques, such as those shown and described in U.S. Pat. No. 10,654,185 and U.S. Pat. No. 10,721,947 (described above), which are incorporated herein by reference. In addition, optical scanning station 906 can be configured to capture data for generating various images, such as grayscale images (e.g., images based on color values ​​of 0-256; gray tones as seen by lasers), height maps (which can be generated by assigning grayscale colors to height values), fat recognition (FRS) object views (showing fat streaks within a product), laser scatter images, hyperspectral images, multispectral images, etc.

[0068] In one example, a camera (not shown) is used to view a workpiece along a line of sight. The workpiece is illuminated by one or more light sources, such as a laser beam. Light from the light source can pass through a moving conveyor to form a clear line of shadows or light streaks, with the area in front of the transverse beam being dark. When there is no workpiece on the conveyor, the shadow line / light streak forms a straight line on the conveyor. However, when the workpiece passes through the shadow line / light streak, the upper irregular surface of the workpiece will produce irregular shadow lines / light streaks, as seen by a camera pointed downward at the workpiece and the shadow lines / light streaks.

[0069] The camera detects the displacement of the shadow line / light stripe from the position where there is no workpiece WP on the conveyor. The displacement represents the thickness of the workpiece along the shadow line / light stripe, which can be processed by one or more feature recognition modules of the scan data processing engine 1008 to generate one or more views (such as Fig.11A The length of the workpiece can be determined by the length of time the workpiece produces the shadow line. In this regard, an encoder can be integrated into the structure of the conveyor 812 to generate pulses at fixed time intervals corresponding to the forward motion of the conveyor.

[0070] In some examples, optical scanning station 906 uses a single laser source. A camera adapted to capture optical data and generate two or more images / views based on the optical data. For example, a single camera may be in communication with a separate processor (having one or more feature recognition modules, etc.) and / or a scan data processing engine 1008 for generating one or more views, such as a fat recognition (FRS) object view, a laser scatter object view, and a height mode object view, from the captured optical data. Fig.11A shown.

[0071] In some examples, at least two optical cameras are used, each equipped with a different imaging processing system. For example, a simple optical camera, such as a grayscale camera, and / or an RGB camera and / or an IR and / or UV camera and / or a charge coupled device (CCD), can be used to acquire and / or generate one or more complete images of the workpiece to detect certain features, such as the outer contour of the workpiece. In addition, a second special camera, such as a multispectral or hyperspectral camera, can be used to acquire images / data of specific areas or features of the workpiece, such as blood spots, fat streaks, etc. It should be understood that a single camera / scanner can be used to capture all the data required to generate various images, such as through various imaging processes.

[0072] It will be appreciated that the optical scanning station 906 can be configured to capture optical data for generating an image to detect the presence of certain visual features, such as object outline, height, width, point, area, fat to lean percentage, concavity, flatness, roundness, etc., any of which can be used as a second matching feature of the secondary cut block in the optical scan (second scan type) and a third matching feature of the secondary cut block.

[0073] Prior to processing the results of the optical scan occurring at station 906 to identify the type of secondary cut block, the scan data processing engine 1008 of the optimization computing device 902 may first analyze the data from the X-ray scanning station 904 and the optical scanning station 906 to confirm that the workpiece being scanned at station 906 is the same workpiece that was previously scanned at station 904, and / or whether the workpiece has moved or shifted during transport between conveyors, as described in U.S. Pat. Nos. 10,654,185 and 10,721,947 (noted above), which are hereby incorporated by reference. In this regard, the scan data processing engine 1008 of the optimization computing device 902 may process a comparison of the X-ray and optical data.

[0074] The external configuration of the workpiece may be discerned by the optical scanning station 906, which determines parameters related to the size and / or shape of the workpiece WP (e.g., length, width, aspect ratio, thickness, thickness distribution, contour (two-dimensional and three-dimensional), external contour configuration; perimeter of the workpiece, outer perimeter configuration, outer perimeter size and / or shape, volume and / or weight). With respect to the outer perimeter configuration (e.g., contour) of the workpiece, the scanner may determine discrete locations along the outer perimeter of the workpiece according to an XY coordinate system or other coordinate system. The latter information may be used by the optimization computing device 902 to determine / verify that the workpiece scanned at the optical scanning station 906 is the same as the workpiece previously scanned at the X-ray scanning station 904. For example, the scan data processing engine 1008 of the optimization computing device 902 may compare the coordinate data determined by the scanning station 906, identifying the coordinate data along the outer perimeter of the workpiece, with the corresponding data previously obtained at the X-ray scanning station 904. If the data sets match within a fixed threshold level, it may be confirmed that the workpiece scanned at the optical station 906 is the same as the workpiece previously scanned at the X-ray scanning station 904.

[0075] One or more images / data may be transformed or translated to account for any movement / displacement of the workpiece on the conveyor 812, such as using the techniques described in U.S. Patent No. 10654185. For example, the translations may include one or more of: orientation translation of the workpiece; rotation translation of the workpiece; scaling the size of the workpiece; and shear deformation of the workpiece.

[0076] In some cases, the workpiece is removed from the conveyor 812 before the removed workpiece reaches the optical scanning station 906. In this case, the next workpiece scanned at the optical scanning station 906 will not match the scan data from the X-ray scanning station 904 because such X-ray scan data will correspond to the workpiece that has been removed. Therefore, the scan data processing engine 1008 of the optimization computing device 902 will determine that there is a mismatch between the perimeter coordinate data sets of the workpieces from the scanning stations 904 and 906. Therefore, the optical scanner 906 will scan the next workpiece passing under the scanning station 906 to determine whether the next workpiece matches the scan data of the workpiece scanned at the X-ray scanning station 904 and transmitted to the optimization computing device 902.

[0077] The scan data processing engine 1008 will determine whether the workpiece scanned at the optical station 906 corresponds to the workpiece scanned at the X-ray scanning station immediately after the X-ray scan of the workpiece being removed. The scan data processing engine 1008 will match the correct scan data from the X-ray scanning station 904 with the scan data of the same workpiece from the optical scanning station 906. Of course, this is critical so that the location of the bone or other detectable features within the workpiece WP located by the X-ray scanning station 904 coincides with the workpiece scanned by the optical scanning station 906 for identifying the type of secondary cutting block and for controlling the operation of the segmentation machine 818 to remove bone or other unwanted material from the workpiece or trim / cut the workpiece.

[0078] The scan data processing engine 1008 can perform a limited number of "X-ray optical matching" processes. An example of determining the number of data sets that must be checked from the X-ray scan can be determined as follows. Divide the distance between the X-ray scanning station 904 and the optical scanning station 906 by the sum of the product length + product gap + safety dimension factor. For example, if there is a distance of 9 feet between the X-ray and optical scanners, and the workpiece is a product of approximately 450 mm in length, then the maximum number of data sets to be checked in the queue is calculated as follows: 9*12 / (17.7+2+2)=4.9, so five matching attempts are made. The data set from the optical scanner is compared with the five data sets from the X-ray scanner stored in the memory or data store of the optimization computing device 902. For products with longer lengths, the number of data sets in the memory queue is less than that of work products with shorter lengths. In addition, if the distance between the scanners is short enough, only one matching comparison is performed. In addition, it should be understood that differences or changes in belt speed can change the number of possible comparisons. As belt speeds increase, larger gaps between products and / or larger safety margins may be required, and the time to make the necessary calculations decreases.

[0079] If there is no match between the X-ray and optical scans, a "no match found" error message is generated. The system advances to the next workpiece that arrives at the optical scanner 906 and begins the next step of searching for a new workpiece.

[0080] For example, if a workpiece is removed from the conveyor 812 after an X-ray scan but before an optical scan, only two matching attempts are required before matching occurs. However, in rare cases where the workpiece WP is severely deformed (e.g., during transfer from a first conveyor to a second conveyor) such that the scan data processing engine 1008 is unable to recognize the X-ray image of the workpiece, the workpiece will proceed along the conveyor 812 without being recognized and / or cut / trimmed / segmented after the predetermined matching attempts. The error message described above may be generated, and the scan data processing engine 1008 may mark the unrecognized or uncut workpiece and move it to a specific location for rework or other processing.

[0081] Using the above-described "X-ray Optical Matching" process, it can be appreciated that the position of the workpiece WP need not be continuously tracked as the workpiece WP is transferred from the X-ray scanning station 904 to the optical scanning station 906. Rather, the above-described method is used to match a workpiece scanned by the X-ray scanning station 904 with the same workpiece scanned by the optical station 906. Furthermore, while the description herein may indicate that the system of the present disclosure can be used to position a workpiece on the conveyor 812 at one or more specific points in time, the specific position of the workpiece is not continuously tracked. Furthermore, using the above-described techniques, there is no need to position the workpiece along the conveyor 812 at any specific time.

[0082] A second optical scanning station 908 may be located upstream of the optical scanning station 906 for capturing optical images / data prior to transfer of the workpiece WP from the first (scanning) conveyor to the second (segmented) conveyor. The optical images / data captured by the optical scanning station 908 may be used to generate images to detect the presence of certain visual features, to confirm whether the workpiece scanned at the station 906 is the same workpiece previously scanned at the station 904, and / or whether the workpiece has moved or shifted during transfer between conveyors, as described above. The second optical scanning station 908 may be located upstream or downstream of the X-ray scanning station 904. For example, when located on the first conveyor, the second optical scanning station 908 may be used to scan the workpiece as described in U.S. Patent Application No. 16 / 887,057, entitled “Determining the Thickness Profile of Work Products,” which is incorporated herein by reference in its entirety.

[0083] Once a match between the X-ray and optical scans occurs (and the optical scans are optionally transformed), the X-ray data and the optical data are sent to the scan data processing engine 1008 of the optimization computing device 902 to generate a registration scan for identifying the type of secondary cut block. For example, a registration scan of the workpiece may be generated by the scan data processing engine 1008, which maps an X-ray image of the workpiece scanned by the X-ray scanning station 904 onto an optical image of the workpiece (possibly transformed) scanned by the optical scanner 906. In one example, the registration scan is generated by the scan data processing engine 1008 using the systems and methods described in U.S. Pat. No. 10,654,185. For example, the X-ray data may be mapped onto the optical data, optionally transforming or converting one or more of the images / data to account for any movement / displacement of the workpiece on the conveyor 812.

[0084] The registration scan is transmitted to the image matching engine 1012 of the optimization computing device 902 for identifying / classifying the secondary cut blocks based on the data contained in the registration scan. The registration scan may also be stored and retrieved from the secondary cut block image data storage 1018 of the optimization computing device 902.

[0085] The registration scan includes at least a first matching feature (e.g., a bone region) shown in the x-ray image and a second matching feature (e.g., an object outline) shown in the optical image. In some cases, a third matching feature may be shown in the x-ray or optical image. In some cases, the third matching feature may be shown in a scan of a third scan type used to generate the registration scan (i.e., mapped onto the x-ray image and the optical image).

[0086] For example, in one example, one or more images generated by the third scanning station 910 are also used to generate the registration scan. In this regard, after the workpiece WP is scanned at the optical scanning station 906, it can be moved by the conveyor 812 so that it passes under the third scanning station 910.

[0087] As described above, the scanner of the recognition component 816 is used to identify and classify workpieces, which will be discussed further below. The information generated by the scanner can also be used to automatically locate and remove unwanted materials, including foreign matter (e.g., plastic) in the workpiece, cut / slice / segment / trim the workpiece, sort or pack the workpiece, or other aspects of the processing system 804. For example, the recognition component 816 can process the attribute data and other scan data and send it to the optimization computing device 902, and the optimization computing device 902 or another processor of the processing system 804 can use the information to control one or more aspects of the workpiece processing, such as trimming the workpiece. For example, the processing system 804 can incorporate one or more techniques described in the patents cited herein (e.g., U.S. Pat. Nos. 10,654,185, 7,651,388, 7,672,752, and 8,688,267).

[0088] In other aspects, one or more scanners of the recognition component 816 can be used to provide data to the input product range inspection engine 1010 of the optimization computing device 902 to perform secondary cut block product inspection before the product is further processed by the recognition component 816 for identification / classification. For example, the scanned X-ray and / or optical data may indicate that the conveyed workpiece does not meet the threshold criteria for any type of secondary cut block because it is too small / too large (e.g., greater than or less than a certain weight or size), too irregular, etc. For example, the end of the bone-in pork loin 102 cut from one of the rib end 104 or sirloin end 106 (sometimes referred to as a "knife-cut bone-in piece") may be smaller in weight and size (and possibly thicker) than any type of secondary cut block, and therefore it may not be identified as any type of secondary cut block. In another case, a trim piece on the workpiece may not be identified as any type of secondary cut block due to its small size and / or irregularity.

[0089] In this case, the input product range inspection engine 1010 can send data related to these non-secondary cut block type workpieces to, for example, a pick station 820 so that the workpieces can be removed from the conveyor before they are further processed for identification by the identification component 816. In another example, the input product range inspection engine 1010 can send data related to these non-secondary cut block type workpieces to a sorter 822 so that the workpieces can be diverted from the identification process of the identification component 816. In either case, the rejected workpieces can be removed from the workflow of the identification component 816, thereby speeding up the processing time of the identification component 816.

[0090] In some examples, the input product range inspection engine 1010 can determine whether the scanned workpiece is a type other than a secondary cut block based solely on the scanned X-ray data (e.g., based on its object profile). In this regard, the X-ray data alone can be used to identify these non-conforming workpieces and remove them from the workflow to speed up processing time. For example, the workpiece can be removed from the conveyor or otherwise diverted from processing before the workpiece is scanned by the optical scanning station 906 and before any matching and conversion of the X-ray and optical images occurs. In this regard, the workpiece can be removed from the conveyor or otherwise diverted from processing before the workpiece is scanned by 906.

[0091] If a nonconforming workpiece is removed from the workflow, the "X-ray optical matching" process described above can be used to determine that the workpiece has been removed based on the unordered X-ray and optical scan data. In addition, or alternatively, the input product range inspection engine 1010 can generate information for sending to other components of the processing system 804 (such as the segmenter 818, the pick station 820, the sorter 822, the packer 824, etc.) to take into account the workpiece that was transferred or otherwise removed.

[0092] Fig. 11B and 11C A computer generated screenshot of a registered scan 1102 of a secondary cut block generated by mapping at least first and second images of first and second scan types, such as from an X-ray scanning station 904 and an optical scanning station 906, is shown, for ease of reference, Fig. 11B and Fig. 11C The same part numbers are used in the above. Each registration scan 1102 includes a first scan of a mapping of a first scan type (e.g., X-ray) showing a first matching feature 1104 (e.g., an overall outline or perimeter of a bone region or a secondary cut block), and a second scan of a second scan type (e.g., optical) showing a second matching feature 1106 (e.g., an overall outline or perimeter of a secondary cut block or a lean region). A third matching feature 1108 (e.g., a lean region) can be shown in the registration scan 1102 by scanning of the second scan type or the third scan type.

[0093] As described above, the registration scan 1102 of the workpiece may be generated by the scan data processing engine 1008, which maps the x-ray image of the workpiece scanned by the x-ray scanning station 904 onto the (possibly transformed) optical image of the workpiece scanned by the optical scanner 906. In the example shown, the registration scan 1102 of the secondary cutting block includes a first matching feature 1104, which is a bone region defined by data from the x-ray image, a second matching feature 1106, which is an overall contour or perimeter of the secondary cutting block defined by the x-ray image or optical image data, and a third matching feature 1108, which is a lean meat region acquired from the optical image or another image from the optical scanner 906 or the third scanning station 910. The optical image may include a grayscale image, which may be a fat recognition (FRS) object view image or a laser scatter object view image generated by a feature recognition module based on data captured from the optical scanning station 906. In this regard, in addition to the outline or perimeter of the sub-cut, the FRS or laser scattering image can also be used to identify the lean protein area of ​​the sub-cut.

[0094] After performing any necessary transformations of the optical (or X-ray) image to account for any movement / displacement of the workpiece on the conveyor, the X-ray image is mapped onto the optical image to define at least first and second matching features in the registration scan 1102, as described above. The data in the X-ray image can be used to define a first matching feature, such as a bone area, and the data in the optical scan can be used to show a second matching feature, such as an overall outline of a secondary cut block. A third matching feature, such as a lean protein area, can also be defined by data in the optical scan (such as an FRS or laser scatter image). In this regard, the third matching feature can be defined in the registration scan 1102 without the need to map a third scan type, which speeds up the processing time of the identification component 816.

[0095] The scan data processing engine 1008 transmits the registration scan 1102 of the secondary cut block to the image matching engine 1012 for identification / classification of the secondary cut block. The image matching engine 1012 compares the registration scan 1102 with a plurality of models, each model being associated with a type of secondary cut block, to identify the type of the secondary cut block.

[0096] exist Fig. 11B and Fig. 11CIn a screenshot of FIG. 1 , a registration scan 1102 is shown aligned with one of a plurality of models 1110a-1110e, wherein each model 1110a-1110e is associated with a type of secondary cutting block. Each model 1110a-1110e includes at least a first reference shape for detecting a first matching feature via a first scan type of the registration scan and a second reference shape for detecting a second matching feature via a second scan type of the registration scan. At least the first reference shape and the second reference shape of each model depend on the type of secondary cutting block associated with the model.

[0097] exist Fig. 11B In the example shown, each of the models 1110a-1110e includes a first reference shape for detecting a first matching feature defined by an X-ray scan, a second reference shape for detecting a second matching feature defined by an optical scan, and a third reference shape for detecting a third matching feature defined by an optical scan. The first, second, and third reference shapes are unique to each of the models 1110a-1110e based on the model's representation of the expected shape of one or more regions or features of an associated secondary cut block.

[0098] For example, refer to Fig. 11B , model 1110c mapped to registration scan 1102 is shown to include: first reference shape 1112 representing the expected shape of one or more bones of a center cut loin chop, second reference shape 1114 representing the expected shape of the outline of the center cut loin chop, and third reference shape 1116 representing the expected shape of the lean protein region of the center cut loin chop. Models 1110a, 1110b, 1110d, and 1110e include first, second, and third reference shapes (not separately labeled) representing the expected shape of one or more bones, outlines, and lean protein regions, respectively, representing a sirloin center chop, a sirloin pinbone, a center rib chop, and a rib end chop, respectively.

[0099] In one example, a model is associated with non-secondary cutting block type workpieces (e.g., cut bone-in pieces, trims, and / or ends of a primary cutting block) that do not meet the type threshold criteria of a secondary cutting block. In this case, the recognition component 816 can use the model associated with the trims and / or ends of the primary cutting block to recognize the cut bone-in pieces, trims, and / or ends. The non-secondary cutting block type model can be used in addition to or instead of the input product range detection engine 1010.

[0100] The model is in a suitable computer-aided design (CAD) format, such as a 2D format, for comparing a reference shape of the model to match features (defined by image characteristics) of the registration scan 1102. For example, the model can be created using a computing device configured to run a CAD software program for creating 2D and / or 3D designs. A user interacting with the CAD software program can draw or otherwise generate the model using tools in the program based on accumulated data about the shapes, contours, etc. of the types of various secondary cutting blocks represented by the model. More specifically, the user can interact with the CAD software program to draw or generate (using tools in the program) at least a first reference shape and a second reference shape for each model, such as the entire object contour of the secondary cutting block represented by the model and the skeletal region of the secondary cutting block represented by the model. For ease of reference, each reference shape can be distinguished by a different color, line format, etc.

[0101] For example, the CAD software program can be configured to import scan data showing features of the secondary cutting block, which features can be represented by various reference shapes in the model. For example, the CAD software program can process matched X-ray and optical scan data of the secondary cutting block and, based on the matched scan data, generate a model having at least first and second reference shapes representing first and second matched features of the secondary cutting block. For example, the X-ray data can be used to define a first reference shape of the model indicating an outline of the secondary cutting block, the X-ray and / or optical data can be used to define a second reference shape in the model indicating a skeletal region of the secondary cutting block, and the optical data can be used to define a third reference shape in the model indicating a lean protein region of the secondary cutting block.

[0102] In other examples, the model can be automatically created using one or more machine learning models. For example, the recognition image generation engine 826 of the model generation computing device 806 can use one or more machine learning models stored in the model data storage 838 to generate a model as an output based on images of multiple scans (such as registered scans) as input. The multiple scans that can be retrieved from the image / attribute data storage 834 of the model generation computing device 806 can be used to create training data (stored in the training data storage 836) to train the machine learning model to generate a model for each type of secondary cut block.

[0103] In some examples, the training data for training the machine learning model can include scans using one of the scanning stations described herein, such as X-ray and optical scanners. In some examples, one or more additional scanners or cameras can be used to collect the scan data. In this regard, the secondary cut blocks can be first scanned on a scanning transport for capturing scan data for training one or more machine learning models. In other examples, one or more additional scanners or cameras can be incorporated into the processing system 804. The one or more additional scanners or cameras can include a low-complexity camera configured to capture visible light images of the secondary cut blocks to define a contour reference shape of the model, such as when only contour data is required to generate the model, or when it can be combined with the X-ray data in a less complex manner.

[0104] The image matching engine 1012 of the optimization computing device 902 is configured to align the registration scan 1102 with each of the models 1110a-1110e to determine which of the plurality of models 1110a-1110e is closest to or aligned with the registration scan 1102, and to what extent the registration scan 1102 matches each model. In this regard, the image matching engine 1012 may run an image matching / image recognition algorithm (hereinafter sometimes referred to as a "transformation algorithm") that is configured to align at least one reference shape of each model with a corresponding matching feature of the registration scan.

[0105] In one example, the image matching engine 1012 is configured to run a transformation algorithm on each of the plurality of models, including: simultaneously aligning a first reference shape of the model with a first matching feature of a first scan type, and aligning a second reference shape of the model with a second matching feature of a second scan type (and optionally aligning a third reference shape of the model with a third matching feature of a second or third scan type). The image matching engine 1012 may process the alignment data, including: calculating a plurality of shape matching values ​​based on the alignment of the first and second (and optionally third) matching features with the first and second (and optionally third) reference shapes.

[0106] For example, for model 1110c, first reference shape 1112 may be aligned with first matching feature 1104 of registration scan 1102, while second reference shape 1114 is simultaneously aligned with second matching feature 1106. Additionally, third reference shape 1116 may be aligned with third matching feature 1108 of registration scan 1102, while first reference shape 1112 and second reference shape 1114 are simultaneously aligned with first matching feature 1104 and second matching feature 1106.

[0107] The image matching engine 1012 may use various techniques to perform a transformation algorithm for simultaneously aligning the reference shape of the model with the matching features of the registration scan. For example, the image matching engine 1012 may perform at least one of resizing the model, rotating the model, flipping or mirroring the model, distorting the model, moving the model, etc. ("transforming the model") until the reference shape of the model is substantially aligned with the matching features in the registration scan. Conversely or additionally, the image matching engine 1012 may perform at least one of resizing the registration scan, rotating the registration scan, flipping or mirroring the registration scan, distorting the registration scan, moving the registration scan, etc. ("transforming the registration scan") until the matching features in the registration scan are substantially aligned with the reference shape of the model.

[0108] In one example, the image matching engine 1012 performs a transformation algorithm of at least one of the model and the reference scan that includes: reducing or minimizing the regional differences between the reference shape of the model and the corresponding matching features of the reference scan within a threshold level of regional differences (hereinafter sometimes referred to as a "same matching region process"). For example, the same matching region process may include similar transformation or conversion techniques discussed in U.S. Pat. No. 10,654,185 for aligning the X-ray scan with the optical scan to account for any movement / displacement of the workpiece on the conveyor. For example, the same matching region process may include one or more of: an orientation transformation of the model and / or the reference scan; a rotation transformation of the model and / or the reference scan; scaling the size of the model and / or the reference scan; and a shear deformation of the model and / or the reference scan.

[0109] In some examples, the image matching engine 1012 performs a transformation algorithm that includes performing the same matching region process as the point-to-point distance reduction process. For example, the point-to-point distance reduction process may be used to reduce the distance between a point on a reference shape of the model and a corresponding matching feature of the reference scan (e.g., see Fig. 11B The point-to-point distance reduction process can be performed using one or more optimization modules of the image matching engine 1012 using known techniques to minimize the distance between two points within a distance threshold level. The point-to-point distance reduction process can be used as an alternative or in addition to the same matching region process to further improve the accuracy of matching the model to the reference scan.

[0110] The point-to-point distance reduction process and / or the same matching region process may be performed to simultaneously align the first reference shape of the model with the first matching feature and the second reference shape of the model with the second matching feature (and optionally the three reference shapes of the model with the three matching features). The point-to-point distance reduction process and / or the same matching region process may also or additionally be performed to align only one of the first, second, or third reference shapes of the model with a corresponding matching feature (e.g., a contour shape match) of the registration scan, as will be discussed further below.

[0111] The processing time of the image matching engine 1012 using the point-to-point distance reduction process and / or the same matching area process can be completed at a speed that supports the processing speed of the secondary cut blocks in the processing system 804, such as 250ms or less per workpiece. In some cases, the use of the point-to-point distance reduction process and / or the same matching area process can be completed faster than using machine learning or other automated intelligence, and much faster than the speed that can be supported by human identification of the type of secondary cut blocks. In this regard, the type of scanning used in the systems and methods described herein excludes any type of scanning that can be completed by human observation, which will not support the processing speed required for the secondary cut blocks in the processing system 804.

[0112] The classification engine 1014 can use data related to the alignment of the reference shape of the model with the matching features of the registration scan to generate a shape matching value indicating the alignment of the model and the registration scan, which can be stored in the shape matching / attribute data storage 1018 of the optimization computing device 902 and can be retrieved therefrom.

[0113] The shape match value can be based on a measure of overlap of each reference shape of the model with a corresponding matching feature in the registration scan. For example, the shape match value can be based on a percentage of shape deviation (or lack of shape deviation) between at least one of the first, second, and third model reference shapes and the corresponding first, second, and third matching features of the registration scan during alignment. For example, the shape deviation value can be determined as a percentage, where 0% is a perfect match between the model reference shape and the matching feature of the registration scan. For example, the shape deviation value can be determined based on a percentage or area of ​​each reference shape that overlaps with an area of ​​the corresponding matching feature.

[0114] In one example, a shape match value may be calculated each time at least one reference shape of the model and the registration scan is transformed to align the reference shape of the model to a matching feature of the registration scan. For example, if the reference shape of the model deviates by 31% from the corresponding matching feature in the registration scan in a first rotation and alignment of the model ("first configuration"), the matching shape value of the model in the first configuration may be 8. In contrast, if the reference shape of the model deviates by only 11.2% from the corresponding matching feature in the registration scan in a second rotation and alignment of the model ("second configuration"), the matching shape value of the model in the second configuration may be 3. The matching shape values ​​may be averaged to assign a model matching score that indicates the alignment of the reference shape of the model with the matching feature of the registration scan, which may also be stored in and retrieved from the shape matching / attribute data storage 1018 of the optimization computing device 902.

[0115] In one example, the shape matching value can be calculated after the final transformation of the reference shape of the model and / or the registration scan. For example, the image matching engine 1012 can determine the best or final alignment of the reference shape of the model with the matching features of the registration scan based on the deviation percentages of the model and the registration scan in various rotations / alignments. The shape matching value can then be calculated in the final aligned configuration of the model and the registration scan. The shape matching value can be determined in any other suitable manner.

[0116] In one example, the shape match values ​​may also be based on one or more algorithms run by an optimization module of the image matching engine 1012, such as values ​​generated during the above-described point-to-point distance reduction process and / or the same matching region process or during one or more other image matching / image recognition algorithms ("conversion algorithms"). In this regard, the shape match values ​​may include a model match "score" for the registration scan and each of the plurality of models. The various shape match values ​​(e.g., shape deviation values ​​and model match scores) may be normalized to correspond to other shape match values ​​and / or weighted according to their importance in determining the alignment of the model and the registration scan.

[0117] In some examples, the shape match value and / or the corresponding model match score may depend on the priority or importance of the alignment of one or more reference shapes of the model with one or more matching features of the registration scan. For example, in some cases, it may be more important for the contour matching features of the registration scan to align with the contour reference shape of the model than the lean areas and / or the bone areas. Similarly, in some cases, it may be more important for the skeletal region matching features of the registration scan to align with the skeletal region reference shape of the model than the lean areas and / or the contour areas. In this regard, the recognition component 816 can be used to assign a weight to the matching of the first reference shape with the first matching feature that is greater than the weight assigned to the matching of the second (and optionally third) reference shape with the second (and optionally third) matching feature for calculation. The assigned weight can then be used as a factor in calculating the matching shape value and / or model match score.

[0118] In some examples, a user of processing system 804 can set weight preferences through a user interface of optimization computing device 902 (e.g., generated by image matching engine 1012) to align one or more reference shapes of a model with one or more matching features of a registration scan. For example, a user can navigate to a window including a slider or toggle bar to set the importance of each shape / feature alignment. The importance of each shape / feature alignment can be controlled independently or depend on a weight or importance value assigned to at least one other shape / feature.

[0119] In some examples, the image matching engine 1012 can automatically assign weights to each shape / feature alignment based on, for example, supply characteristics of the original incoming workpiece transmitted from the original workpiece supply / demand engine 830 of the workpiece utilization calculation device 808, requirements of the finished workpiece transmitted from, for example, the finished workpiece supply / demand engine 832 of the workpiece utilization calculation device 808, or other criteria. In some examples, the image matching engine 1012 uses one or more machine learning models stored in the model data storage 1022 to assign weights to each shape / feature alignment as output based on the supply characteristics of the original incoming workpiece, the transmitted finished workpiece requirements, or other criteria as input.

[0120] As described above, in one example, the image matching engine 1012 simultaneously aligns all reference shapes of the model with all corresponding matching features of the registration scan to determine the shape matching value. In other examples, the image matching engine 1012 is configured to run a transformation algorithm that includes: aligning less than all reference shapes in each model with corresponding matching features of the registration scan before aligning the remaining or all reference shapes of each model with corresponding matching features. As a specific example, the transformation algorithm may include: first performing contour shape matching on the model with the registration scan before aligning one or more other model reference shapes with corresponding matching features of the registration scan.

[0121] In one example, the transformation algorithm may include aligning a reference shape (e.g., second reference shape 1114) indicating an expected shape of the outline of the secondary cut block of each model with a matching feature (e.g., second matching feature 1106) of the registration scan indicating the outline of the entire object of the secondary cut block, and generating a first matching shape value based on the first alignment. The shape matching value may be based on a measure of the overlap of the second reference shape of the model with the second matching feature in the registration scan, such as a shape deviation percentage as described above.

[0122] After aligning the first reference shape with the first matching feature, the transformation algorithm may include: next, aligning the first and second (and optionally the third) reference shapes with the first and second (and optionally the third) matching features simultaneously, as described above, to generate a second matching shape value. In some examples, after aligning the first reference shape with the first matching feature, the transformation algorithm may also include: aligning only the second (and optionally the third) reference shape with the second (and optionally the second) matching feature, because the first reference shape was aligned with the first matching feature in the first step of the transformation algorithm. The second matching shape value can be calculated based on the further alignment and added to or otherwise combined with the first matching shape value to preliminarily determine that the model matches the registration scan 1102.

[0123] The following exemplary table shows a non-limiting example of shape matching values ​​(including a first shape matching value represented as a shape deviation value and a second shape matching value represented as a model matching score) generated for a registration scan (such as registration scan 1102) for each model (such as models 1110a-1110e).

[0124] Model / Standard Shape deviation (%) Model matching score Sirloin center bone 31.0 97.7 Sirloin bone 11.2 51.8 Center Cut Loin Bone-in 16.0 49.4 Center Rib Bone-in 28.5 80.6 Rib bone-in cuts 23.6 84.7

[0125] Table 1

[0126] To generate the data in the table shown in Table 1, the image matching engine 1012 can be configured to run a transformation algorithm for each model, the algorithm including: aligning at least one reference shape of the model (e.g., the model's contour reference shape or the second reference shape 1114) with a corresponding matching feature (e.g., the second matching feature 1106) of the registration scan, and generating a first matching shape value, such as a shape deviation percentage (%) based on the first alignment. Based on the alignment, the shape matching value (shape deviation percentage) of the sirloin thin bone model is only 11%, while the shape matching value of the center cut sirloin bone-in block model is 16%, and the shape matching values ​​(shape deviation percentages) of the other models are even higher. The transformation algorithm can be run again to simultaneously align the first and second (and optionally third) reference shapes of each model with the first and second (and optionally third) matching features of the registration scan 1102. A second matching shape value, such as a model matching score, can be calculated based on the simultaneous alignment of the first and second (and optionally third) reference shapes of each model with the first and second (and optionally third) matching features of the registration scan 1102.

[0127] In some cases, the model match score will be correlated with the shape deviation value. However, this correlation may not always be correct. For example, the model match score for the sirloin bone model in Table 1 is 51.8 (with a shape deviation percentage of only 11.2%), while the model match score for the center cut loin bone model is 49.4 (with a higher shape deviation percentage of 16%). For example, a matching feature indicating the entire object contour of the registered scan may most closely match the contour reference shape of the sirloin bone model, but a matching feature indicating the bone region and / or the lean protein region may more closely match the center cut loin bone model. Such matching defects may occur if the model is enlarged or reduced to match certain reference shapes with the matching feature. In this regard, additional data regarding the attribute characteristics of the secondary cut block would be helpful in determining the best model match for the secondary cut block.

[0128] Furthermore, even if the shape of a sub-cut resembles a particular type of cut, the sub-cut may not include all of the attributes of a particular type of sub-cut. For example, the shape of a sub-cut may resemble a sirloin cut, but the sub-cut may not have the appropriate amount of bone, bone-to-meat ratio, fat percentage, etc., to meet the standards of a sirloin cut. In this regard, each model also includes a plurality of attribute feature value ranges for determining whether a sub-cut has the characteristics of a particular type of sub-cut.

[0129] In one example, the shape match values ​​(e.g., the shape deviation percentage and the model match score) can be added to or otherwise combined with the attribute scores to determine an overall score for the model. The attribute scores can be calculated based on attribute match values ​​generated by analyzing a plurality of identified attribute features of the secondary cut blocks compared to a plurality of attribute feature value ranges identified for each model. The shape match values ​​and / or attribute scores can be normalized and / or weighted based on their importance in determining the best model match for the registered scan.

[0130] The attribute features represent certain aspects of the secondary cutting block, which can be further used to determine the best model match for the secondary cutting block. For example, the attribute features of the secondary cutting block may include height (or thickness), weight, bone mass, bone area, bone length, bone edge offset, bone-to-meat ratio, fat-to-lean percentage, concavity, flatness, roundness, complexity of contour, main axis, lean meat complexity, blood spots, holes, bruises, parasites, unwanted bones, etc.

[0131] The attribute characteristics of the secondary cutting block can be determined by the attribute data engine 1014 based on at least one scan used to generate the registration scan. In this regard, the attribute data engine 1014 can receive or retrieve the scan image from one of the scan data processing engine 1008 and the secondary cutting block image data storage 1018 for determining the attribute characteristics.

[0132] In one example, the bone length and area of ​​the secondary cutting block can be determined based on one or more measurements of the bone area shown in the x-ray scan image, and the number of bones of the secondary cutting block can be determined based on a count of the number of bone areas shown in the x-ray image. As another example, the bone edge offset of the secondary cutting block can be based on one or more measurements of the bone area shown in the x-ray scan image, which are compared to the position of the object outline determined from the x-ray or optical scan. As another example, the bone-to-flesh ratio of the secondary cutting block can be based on one or more measurements of the bone area shown in the x-ray scan image, which are compared to the measured area of ​​the entire cutting block determined by the x-ray or optical scan.

[0133] As another example, the fat to lean percentage of a secondary cut can be based on an image generated and analyzed by a feature recognition module using optical scanning. For example, a feature recognition module (optional / additional to the scan data processing engine 1008 or the attribute data engine 1014) can be used to generate and / or analyze an optical image to determine the fat to lean percentage of a secondary cut. For example, the fat to lean percentage of a secondary cut can be based on color differences in a grayscale image (e.g., white areas versus gray / black areas), such as Fig.11A The "Normal FRS Object View" image shown.

[0134] Additionally, or alternatively, the feature recognition module may be used to determine the fat to lean percentage of the secondary cut based on analyzing the height across the top region of the secondary cut using the height mode object view, such as Fig.11A The "height mode object view" image is shown. Over time, the lean portion of a pork bone-in cut will collapse, while the bone will not collapse, and the fat portion may collapse depending on its hardness or other factors. Correspondingly, the feature recognition module can be used to determine the percentage of fat to lean in the secondary cut based on the measured height distribution of the secondary cut.

[0135] The attribute data engine 1014 can determine any number of attribute features of the secondary cut-out blocks based on at least one scan used to generate the registration scan. As another example, each model associated with a type of secondary cut-out block can include: a region of interest (ROI) associated with at least one of a matching feature and an attribute feature. The ROI can be defined at least in part by scan data associated with the matching feature and / or the attribute feature. For example, ROIs can be defined for bone regions, fat streak regions, etc. based on accumulated scan data that identifies attributes associated with these regions. The ROI can be identified for each model manually or automatically, such as by using the scan data processing engine 1008 and / or one or more machine learning models.

[0136] For example, when processing a registration scan using the recognition component 816, the ROI can be used to locate the identification of attribute features. For example, the ROI can be used to scan a specific attribute of a secondary cut block shown in the registration scan in the ROI associated with the attribute. In some examples, the ROI can be used to perform a refined analysis of the registration scan, for example, after performing an initial analysis to identify at least some attribute features, only looking for a specific attribute in a specified ROI.

[0137] The attribute feature data is transmitted to the attribute data engine 1014 for comparison with the plurality of attribute feature value ranges identified for each model. The attribute feature data may also be stored and retrieved from the shape matching / attribute data storage 1018 of the optimization computing device 902.

[0138] The attribute feature value ranges for each model may be manually identified, such as by optimizing a user interface of the computing device 902 (e.g., generated by the attribute data engine 1014) to set the value ranges. For example, the user may navigate to a window that includes an input box for adding value ranges for certain attribute features of the model, such as pre-selecting, selecting from a list, manually adding, etc.

[0139] In some examples, the attribute data engine 1014 can automatically assign attribute characteristic value ranges based on, for example, supply characteristics of the original incoming artifacts transmitted from the original artifact supply / demand engine 830 of the artifact utilization calculation device 808, requirements for the finished artifacts transmitted from, for example, the finished artifact supply / demand engine 832 of the artifact utilization calculation device 808, or other criteria.

[0140] In some examples, the attribute data generation engine 828 of the computer readable medium 840 of the model generation computing device 806 uses one or more machine learning models stored in the model data storage 838 to limit the range of attribute feature values ​​as output based on the supply characteristics of the original incoming workpiece, the requirements of the transmitted finished workpiece, or other criteria as input (e.g., received from the workpiece utilization computing device 808).

[0141] In some examples, the attribute data generation engine 828 uses one or more machine learning models stored in the model data storage 838 to define the attribute feature value range as output based on the measured attribute data of certain types of secondary cut blocks as input. For example, when a secondary cut block is identified as a specific type (e.g., sirloin), the measured or identified attribute data of the secondary cut block can be stored in the image / attribute data storage 834 of the model generation computing device 806 and classified according to its position within the attribute feature value range of the type (e.g., sirloin cut block 1 / sirloin cut block 2). The classification data of the secondary cut block can be used to define the attribute feature value range of the secondary cut block model of that type. The measured attribute data of certain types of secondary cut blocks can be used as training data (stored in the training data storage 836) to train the machine learning model to define the attribute feature value range of each model.

[0142] In some examples, the attribute match value determined based on the reference of the identification attribute feature to the attribute feature value range may depend on the priority or importance of certain attribute features. For example, in some cases, it may be more important that the secondary cut block has less bone or fat than a certain amount compared to other attributes (such as the distance from the bone to the edge, the length of the bone, etc.). Accordingly, when generating the attribute score, the attribute match value of such a higher importance attribute can be weighted higher than other attributes. In addition, as described above, the attribute score can generally be given a higher weight than the matching shape value based on user preferences or other data.

[0143] For example, a user of the processing system 804 can set weight preferences for attribute match values ​​by optimizing a user interface of the computing device 902 (e.g., generated by the image matching engine 1012). For example, the user can navigate to a window including a slider or toggle bar to set the importance of each attribute match value. The importance of each attribute match value can be controlled independently or depend on a weight or importance value assigned to at least one other attribute match value.

[0144] In some examples, the image matching engine 1012 can automatically assign weights to each attribute matching value based on, for example, supply characteristics of the original incoming workpiece transmitted from the original workpiece supply / demand engine 830 of the workpiece utilization calculation device 808, requirements of the finished workpiece transmitted from, for example, the finished workpiece supply / demand engine 832 of the workpiece utilization calculation device 808, or other criteria. In some examples, the image matching engine 1012 uses one or more machine learning models stored in the model data storage 1022 to assign weights to each attribute matching value as output based on the supply characteristics of the original incoming workpiece, the requirements of the transmitted finished workpiece, or other criteria as input.

[0145] The attribute feature value ranges of each model are sent to the attribute data engine 1014 for comparison with the multiple attribute features of each registered scan to generate attribute matching values. The attribute feature value ranges can also be stored and retrieved from the shape matching / attribute data storage 1018 of the optimization computing device 902.

[0146] The attribute data engine 1014 can generate attribute match values ​​for each model using data related to the identified attribute features of the registration scans that fall within or are otherwise compared to the attribute feature value ranges of the model. The generation or calculation of the attribute match values ​​can be based on at least one of whether the measured attribute of each of the identified multiple attribute features falls within the corresponding attribute feature value range, the deviation of the measured attribute of each of the identified multiple attribute features from the corresponding attribute feature value range, and the deviation of the measured attribute of each of the identified multiple attribute features from at least one of the corresponding average attribute feature value and the corresponding median attribute feature value. As described above, one or more attribute features can be assigned a weight based on their importance in determining the model match of the registration scans.

[0147] Additionally, in some examples, the attribute match values ​​and / or attribute scores may be used to identify a workpiece that is a type of non-secondary cut block (e.g., a cut bone-in piece of a primary cut block, trim, and / or end piece) because the attribute characteristics of the workpiece do not meet the threshold criteria of a secondary cut block. For example, a cut bone-in piece of a primary cut block, trim, and / or end piece may be identified by the identification component 816 because its thickness or height, mass, bone loss, or weight is outside any value range for the type of secondary cut block. In this case, the type of non-secondary cut block may be identified as a cut bone-in piece of a primary cut block, trim, etc., even without any model match. In addition to or in lieu of inputting the product range inspection engine 1010, the use of attribute match values ​​and / or attribute scores may be used to identify a workpiece that is a type of non-secondary cut block.

[0148] The attribute data engine 1014 may process the attribute matching values ​​using one or more algorithms to generate an attribute "score" for the registered scan of each of the plurality of models. The attribute score may be calculated using any well-known mathematical method, such as by simply combining the values ​​(optionally after normalization and / or weighting of the values). In one example, the attribute score may simply include the sum of the first and second (and optionally third, fourth, etc.) measured attributes of the first and second (and optionally third, fourth, etc.) identification attribute features, such as the thickness of the workpiece and the weight of the workpiece.

[0149] The attribute match values ​​for each model may be stored in and retrieved from the shape match / attribute data storage 1018 of the optimization computing device 902. The classification engine 1014 receives the attribute scores for each model and calculates an overall "best model match" score for the model. More specifically, the attribute scores for the model are added to or otherwise combined with the shape match values ​​(e.g., shape deviation percentage and model match score) for the model to determine an overall score for the model. The overall score may be calculated using any well-known mathematical method, such as by simply combining the values ​​(optionally after normalization and / or weighting of the values).

[0150] The classification engine 1014 compares the total score of each model to the total scores of the other models, with the lowest (or in some cases highest) total score representing the best model match, which is the type of secondary cut-out block that should be assigned to the secondary cut-out block of the registered scan. For example, the lowest total score may represent the lowest cost for the secondary cut-out block when matching the type of secondary cut-out block (e.g., from a cost optimization module).

[0151] A non-limiting example of the results of the recognition process (such as shape deviation values, model matching scores, attribute scores, and total scores) of a registered scan (such as registered scan 1102) compared to each model (such as models 1110a-1110e) is shown in the following exemplary table of Table 2, which is based on the table shown in Table 1 above and additionally includes attribute scores and total scores.

[0152]

[0153] Table 2

[0154] As can be appreciated, the registration scan used to generate the table in Table 2 most closely matches the sirloin thin bone model, with an overall score of 66.8, which is higher than the scores of the other models. Therefore, the sirloin thin bone model is identified or assigned as the type of secondary cut block for the secondary cut block of the registration scan.

[0155] At least one of the shape matching value, the attribute score, and the total score may be used to further assign a classification of the type of the secondary cut block to the secondary cut block. For example, if the total score of the model falls within a certain range, it may be classified as secondary cut block 1 / secondary cut block 2. Referring to one of the above specific examples, Figure 2 The first bone-in meat cut 108 shown in the figure includes a spinous muscle 208 that is larger than a certain size and a certain number of bones, which may affect the attribute score and thus the total score. Correspondingly, the classification of the rib eye assigned to the first bone-in meat cut 108 may be rib eye bone-in meat cut 1 / rib eye bone-in meat cut 2. The type of bone-in meat cut (e.g., rib eye vs. center cut) and the classification of the bone-in meat cut (e.g., rib eye bone-in meat cut 1 / rib eye bone-in meat cut 2) may ultimately determine how the bone-in meat cut is used (e.g., sorting, packaging, etc.) for value ranking and / or value optimization use of the bone-in meat cut. The classified data may also be used as input to one or more machine learning models, which are used to automatically generate attribute feature value ranges for each model, as described above.

[0156] In some cases, the total score of the model (and / or any individual values ​​or scores that make up the total score) will fall within a particular range of a first type of secondary cuts, but if within a particular tolerance of that range, it may be assigned to a second type of secondary cuts having a different range. This reallocation of the types of secondary cuts may be based on, for example, the requirements for finished workpieces transmitted from the finished workpiece supply / demand engine 832 of the workpiece utilization calculation device 808, or other criteria. For example, if a secondary cut is assigned as a sirloin bone-in and is within a certain tolerance of at least one value / score range, but there is a higher demand for a center cut loin bone-in piece, then the secondary cut may be a center cut loin bone-in piece. Such tolerances may be set manually by a user (using a "collision check" module or similar module), or may be set automatically by the classification engine 1016 and / or one or more machine learning models used by the classification engine 1016.

[0157] Fig.121 is a flow chart illustrating a non-limiting example of a method 1222 of determining a type of a secondary cut block of a secondary cut block that may be performed by one or more engines of the optimization computing device 902. The method 1222 may be performed for secondary cut blocks that are transported along a transport of a processing system (e.g., the processing system 804).

[0158] From the start block, the method 1222 proceeds to block 1202, where the processor 1002 of the optimization computing device 902 obtains a plurality of models, each model being associated with a type of secondary cut-out block. For example, the plurality of models may be manually generated using one or more machine learning models, or using other methods, such as using a computing device configured to run a CAD software program to create 2D and / or 3D designs. These models may be stored in the secondary cut-out block image data storage 1018 for retrieval by the image matching engine 1012 when performing other aspects of the method.

[0159] Each of the plurality of models includes at least: a first reference shape for detecting a first matching feature by a first scan type, and a second reference shape for detecting a second matching feature by a second scan type. For example, each model may include a first reference shape indicating an expected shape of one or more bones of the secondary cutting block, a second reference shape indicating an expected shape of a contour of the secondary cutting block, and a third reference shape indicating an expected shape of a lean protein region of the secondary cutting block, such as Fig. 11B An exemplary model 1110C is shown. The model may include any other combination of reference shapes.

[0160] The reference shape of the model helps determine whether the secondary cut is shaped like a specific type of cut; however, the secondary cut may not include all the attributes of the specific type of secondary cut. For example, the secondary cut may be shaped like a sirloin cut, but the secondary cut may not have the appropriate amount of bone, bone-to-meat ratio, fat percentage, etc. to meet the standards of a sirloin cut. In this regard, each model also includes a plurality of attribute feature value ranges for determining whether the secondary cut has the attribute characteristics of that type of secondary cut. The attribute feature value ranges can be identified for each model manually or automatically, such as by using one or more machine learning models.

[0161] At block 1204, the processor 1002 of the optimization computing device 902 receives a registration scan of the secondary cutting block, which includes a first scan of a first scan type showing a first matching feature and a second scan of a second scan type showing a second matching feature. When the scan data is received from at least the first and second scanners (e.g., the optical scanning station 906 and the X-ray scanning station 904), the scan data processing engine 1008 can generate the registration scan. For example, the registration scan can be defined by an X-ray image showing a first matching feature (e.g., a bone region) mapped to an optical image showing a second matching feature (e.g., an object contour), such as Fig. 11B 102 is shown as an exemplary registration scan 1102. The registration scan 1102 may also include a third scan of the type of the second or third scan that shows a third matching feature. For example, the third scan may be an FRS image generated from an optical scan that shows, for example, a lean protein region of a secondary cut, such as Fig. 11B 102. The registration scan may include any other combination of scan types and / or matching features. The registration scan may be stored in the secondary cut block image data storage 1018 for retrieval by the image matching engine 1012 when performing other aspects of the method.

[0162] At block 1206, the optimization computing device 902 uses at least one of the first scan type and the second scan type of the registration scan to identify a plurality of attribute features of the secondary cut block. For example, the attribute data engine 1014 can identify bone regions, bone mass, bone-to-edge offset, etc. from an X-ray scan, object contours from an X-ray or optical scan, fat percentage from an FRS image generated from an optical scan, thickness based on a height map generated from an optical scan, etc. The attribute feature data can be stored in the shape matching / attribute data storage 1020 for retrieval by the classification engine 1016 when performing other aspects of the method.

[0163] Blocks 1210 , 1212 , and 1214 of method 1222 are performed on the model starting at block 1208 , and then continue at block 1216 to perform the steps of blocks 1210 , 1212 , and 1214 on the next model.

[0164] At block 1210, for each model, the optimization computing device 902 aligns at least a first reference shape of the model with a corresponding matching feature of the registration scan. For example, the optimization computing device 902 may simultaneously align at least a first and a second reference shape of the model with at least a first and a second matching feature of the registration scan. In this regard, the image matching engine 1012 may run a transformation algorithm for each of the plurality of models, comprising: simultaneously aligning the first reference shape of the model with a first matching feature of a first scan type, aligning the second reference shape of the model with a second matching feature of a second scan type (and optionally aligning three reference shapes of the model with three matching features of three scan types). Prior to block 1210, for each model, the optimization computing device 902 may run a transformation algorithm, comprising: first matching the contour shape of the model with the registration scan before simultaneously aligning one or more other model reference shapes with corresponding matching features of the registration scan.

[0165] At block 1212, for each model, the image matching engine 1012 can process the alignment data, including, for example, calculating a plurality of shape matching values ​​based on the contour shape matching of the model with the registration scan and the simultaneous alignment of the first and second (and optionally third) matching features with the first and second (and optionally third) reference shapes. The classification engine 1014 can use the data related to the alignment of the reference shape of the model with the matching features of the registration scan to generate a shape matching value indicating the alignment of the model and the registration scan, which can be stored in and retrieved from the shape matching / attribute data storage 1020 of the optimization computing device 902.

[0166] The shape match value can be based on a measurement of the overlap of each reference shape of the model with the corresponding matching feature in the registration scan. In this regard, the shape match value can include a value indicating a percentage of shape deviation (or shape indifference) between the contour shape of the model and the registration scan, and / or based on a percentage of shape deviation (or shape indifference) between the first, second, and third model reference shapes and the first, second, and third matching features during simultaneous alignment. The shape match value can also include a model match "score" generated by one or more optimization modules of the registration scan 1102 based on simultaneous alignment of the first, second, and third model reference shapes with the first, second, and third matching features (e.g., based on a point-to-point distance reduction process and / or a same matching area process).

[0167] In one example, a shape matching value may be calculated each time at least one reference shape of the model and the registration scan are transformed to align the reference shape of the model with the matching features of the registration scan. In another example, a shape matching value may be calculated after a final transformation of the reference shape of the model and / or the registration scan.

[0168] At block 1214, for each model, the optimization computing device calculates a plurality of attribute matching values ​​based on a plurality of attribute features of the identified secondary cut blocks compared to the attribute feature value range of the model. The attribute data engine 1014 may generate attribute matching values ​​for each model using data related to the identified attribute features of the registered scans that fall within the attribute feature value range of the model or are otherwise compared to the attribute feature value range of the model. For example, the attribute data engine 1014 may process the attribute matching values ​​using one or more algorithms to generate an attribute "score" for the registered scans of each of the plurality of models. In some examples, the attribute matching values ​​and / or the attribute "score" may depend on the priority or importance of one or more attribute features. The attribute matching values ​​for each model may be stored in the shape matching / attribute data storage 1018 of the optimization computing device 902 and may be retrieved therefrom.

[0169] At block 1218, the optimization computing device 902 uses the matching shape values ​​and the attribute matching values ​​to determine the best match between the model and the registered scan. For example, the classification engine 1016 can combine the shape deviation value of each model, the model matching "score" of each model, and the attribute score of each model to calculate the overall "best model match" score of the model.

[0170] At block 1218, the optimization computing device 902 assigns a type of secondary cut-out to the secondary cut-out based on the best model match. For example, the classification engine 1016 can compare the total score of each model with the total scores of the other models, with the lowest (or in some cases the highest) total score representing the best model match, which is the type of secondary cut-out that should be assigned to the secondary cut-out of the registered scan.

[0171] Once the type of the secondary cutting block is determined, the secondary cutting block can be further processed based on its type. For example, if the secondary cutting block is determined to be of a specific type, it can be designed for trimming, packaging in a certain packaging, etc. In some cases, the best model match score may indicate that the secondary cutting block is a workpiece of a non-secondary cutting block type (such as a knife-cut bone-in meat piece, trim and / or end piece of the cutting block) that does not meet the type threshold criteria of the secondary cutting block. For example, the best model match score may exceed the acceptable score range that can identify the type of the secondary cutting block. In this case, the workpiece of the non-secondary cutting block type may be transferred, picked up, etc.

[0172] Fig.131302 is a flow chart illustrating a non-limiting example of a method 1302 for generating a plurality of models using one or more machine learning models, each model being associated with a type of secondary cut chunks, which may be executed by one or more engines of the model generation computing device 806. The model may be generated by executing the method 1302 for use by the optimization computing device 902 in identifying the type of secondary cut chunks conveyed along a conveyor of a processing system (e.g., the processing system 804).

[0173] From the start block, the method 1302 proceeds to block 1304, where the recognition image generation engine 826 of the model generation computing device 806 receives a plurality of registration scans of the secondary cut blocks, each registration scan including a first scan of a first scan type showing a first matching feature of the secondary cut block and a second scan of a second scan type showing a second matching feature of the secondary cut block. The registration scans may be stored and / or retrieved from the image / attribute data storage 834 of the model generation computing device 806.

[0174] At block 1306, the recognition image generation engine 826 generates a model for each type of secondary cutting blocks using the registration scans as input using one or more machine learning models. Each generated model includes a first reference shape representing a first matching feature through a first scan type of the registration scans of the plurality of secondary cutting blocks and a second reference shape representing a second matching feature through a second scan type of the registration scans of the plurality of secondary cutting blocks.

[0175] For example, the recognition image generation engine 826 of the model generation computing device 806 can generate a model as an output based on the images of the plurality of registration scans as input using one or more machine learning models stored in the model data storage 838. The plurality of registration scans that can be retrieved from the image / attribute data storage 834 of the model generation computing device 806 can be used to create training data (stored in the training data storage 836) to train the machine learning model to generate a model for each type of secondary cut block.

[0176] At block 1308, the recognition image generation engine 826 of the model generation computing device 806 may also receive a plurality of recognition attribute features of each secondary cut block of each registration scan. The plurality of recognition attribute features of each secondary cut block of each registration scan may be stored and / or retrieved from the image / attribute data storage 834 of the model generation computing device 806.

[0177] At block 1308, the recognition image generation engine 826 of the model generation computing device 806 may use one or more machine learning models to generate a plurality of attribute feature value ranges for each model using the plurality of recognition attribute features of each secondary cut-out block as input. The plurality of recognition attribute features of each secondary cut-out block retrieved as input from the image / attribute data storage 834 of the model generation computing device 806 may be used to create training data (stored in the training data storage 836) to train the machine learning model to generate a plurality of attribute feature value ranges for each model of each type of secondary cut-out block.

[0178] Fig.14A and 14B A flow chart is shown illustrating a non-limiting example of a method 1400 for training one or more machine learning models to generate a plurality of models, each model being associated with a type of secondary cut chunks, which may be executed by one or more engines of the model generation computing device 806. The method 1400 may be executed to train one or more machine learning models to generate models for use by the optimization computing device 902 to identify the type of secondary cut chunks conveyed along a conveyor of a processing system (e.g., the processing system 804).

[0179] From the start block, the method 1400 proceeds to block 1304, where the recognition image generation engine 826 of the model generation computing device 806 receives a first set of training data, which includes a plurality of registration scans of secondary cut blocks, each registration scan including: a first scan of a first scan type showing a first matching feature of the secondary cut block, and a second scan of a second scan type showing a second matching feature of the secondary cut block. Each registration scan is associated with a type of the secondary cut block, such as a type assigned by the recognition component 816. The registration scans can be stored and / or retrieved from the image / attribute data storage 834 of the model generation computing device 806.

[0180] In some examples, the method 1400 may be used to train one or more machine learning models to generate a plurality of models, each model being associated with a type of secondary cut, wherein the type of secondary cut is defined by at least one of consumer preference, individual secondary cut, and package value, or other criteria. For example, rather than associating each model with a secondary cut based on a secondary cut location (e.g., a bone-in cut location on a pork loin), the models of the types of secondary cuts may be defined by features of a higher value category of these secondary cuts. Data related to training one or more machine learning models to generate a plurality of models of the types of secondary cuts based on their higher value features may be received or retrieved from the finished workpiece supply / demand engine 832 of the workpiece utilization calculation device 808.

[0181] At block 1406 , the recognition image generation engine 826 of the model generation computing device 806 adds a first set of training data for each type of secondary cutouts to the training data storage 836 of the model generation computing device 806 .

[0182] At block 1408, the recognition image generation engine 826 of the model generation computing device 806 trains one or more machine learning models using the information stored in the training data storage 836 as input to generate a model of each type of secondary cutting blocks, wherein each model includes a first reference shape representing a first matching feature of a first scan type of the registration scans of the plurality of secondary cutting blocks and a second reference shape representing a second matching feature of a second scan type of the registration scans of the plurality of secondary cutting blocks.

[0183] At block 1410 , the recognition image generation engine 826 of the model generation computing device 806 stores one or more machine learning models in the model data storage 838 for later retrieval and use by the recognition image generation engine 826 when generating multiple models, for example using method 1302 .

[0184] At block 1412, the attribute data generation engine 828 of the model generation computing device 806 can receive a second set of training data, which includes a plurality of identification attribute features of each secondary cut block of each registered scan. The identification attribute features of each secondary cut block of each registered scan are associated with a type of the secondary cut block, such as a type assigned by the recognition component 816 (and / or a type identified by the finished workpiece supply / demand engine 832 of the workpiece utilization computing device 808). The attribute data can be stored and / or retrieved from the image / attribute data storage 834 of the model generation computing device 806.

[0185] At block 1414 , the attribute data generation engine 828 of the model generation computing device 806 adds a second set of training data for each type of secondary cut-block to the training data storage 836 .

[0186] At block 1416, the attribute data generation engine 828 of the model generation computing device trains one or more machine learning models using the information stored in the training data storage 836 to generate one or more attribute feature value ranges for each model for each type of secondary cut block.

[0187] At block 1418 , the attribute data generation engine 828 of the model generation computing device 806 stores one or more machine learning models in the model data storage 838 .

[0188] Fig.15A flow chart is shown illustrating a non-limiting example of a method 1500 for assigning a type of secondary-cut block to a secondary-cut block using one or more machine learning models, which may be performed by one or more engines of the optimization computing device 902. The method 1500 may be performed to use one or more machine learning models to identify the type of secondary-cut blocks of secondary-cut blocks conveyed along a conveyor of a processing system (e.g., the processing system 804).

[0189] From the start block, the method 1500 proceeds to block 1502, where the classification engine 1016 of the optimization computing device 902 receives a registration scan of a secondary cut block aligned with each of a plurality of models (e.g., aligned to one or more transformation algorithms of the scan data processing engine 1008, as described above). Each aligned registration scan and model can be retrieved from the shape matching / attribute data storage 1020.

[0190] Each registration scan includes: a first scan of a first scan type showing a first matching feature, and a second scan of a second scan type showing a second matching feature. Each model is associated with a type of secondary cutting block, wherein each model includes at least a first reference shape for detecting the first matching feature by the first scan type and a second reference shape for detecting the second matching feature by the second scan type. Each model also includes one or more attribute feature value ranges, which can be retrieved from the shape matching / attribute data storage 1020.

[0191] At block 1506 , the classification engine 1016 of the optimization computing device 902 receives a plurality of identified attribute features of the secondary cut-out chunks that may be retrieved from the shape matching / attribute data store 1020 .

[0192] At block 1508 , the classification engine 1016 of the optimization computing device 902 retrieves one or more machine learning models from the model data storage 1024 .

[0193] At block 1510, the classification engine 1016 of the optimization computing device 902 processes the aligned registration scans, the plurality of models, and the plurality of identification attribute features as inputs using one or more retrieved machine learning models to assign a type of secondary cut block to the secondary cut block as output.

[0194] Fig.161 is a flow chart illustrating a non-limiting example of a method 1618 for packaging food products, such as secondary cut pieces. The method 1618 may be used for secondary cut pieces conveyed along a conveyor of a processing system, such as the processing system 804. The method 1618 may be performed at least in part by one or more of the classification engine 1016 of the optimization computing device 902, the raw workpiece supply / demand engine 830 of the workpiece utilization computing device 808, and the finished workpiece supply / request engine 832 of the workpiece utilization computing device 808.

[0195] Method 1618 proceeds from the start block to block 1602, where the primary cut block is divided or sliced ​​into a plurality of secondary cut blocks. For example, a slicer 814 may be used to slice the primary cut block into secondary cut blocks. In this regard, the slicer 814 may be located downstream of a cutter (not shown) for cutting the carcass into cut blocks. In addition, the slicer 814 may be adjustable so as to obtain the desired thickness of each individual workpiece or secondary cut block. This adjustment may be made under the control of the optimization computing device 902, based on data required for the supply and demand of finished workpieces sent from the finished workpiece supply / demand engine 832 of the workpiece utilization computing device 808 (e.g., there is a certain demand for 3 / 8 inch thick cut blocks and 1 inch cut blocks, so the slicer is adjusted to meet the demand). In some examples, the cut block is divided or sliced ​​into a plurality of secondary cut blocks before arriving at the conveyor 812 of the processing system 804.

[0196] The steps of the method are performed for the secondary cut block starting at block 1604 and then for the next secondary cut block at block 1612. Blocks 1606, 1608, and 1610 of method 1618 are performed for the secondary cut block starting at block 1604 before continuing to perform the steps at blocks 1606, 1608, and 1610 for the next secondary cut block at block 1612.

[0197] At block 1604, for each secondary cutting block, the processor 1002 of the optimization computing device 902 receives multiple scans of the secondary cutting block from multiple scanning devices. For example, the scan data processing engine 1008 of the optimization computing device 902 may receive an X-ray scan of the secondary cutting block and an optical scan of the secondary cutting block.

[0198] At block 1608, the scan data processing engine 1008 of the optimization computing device 902 matches or registers the multiple scans of the secondary cutting block. For example, the scan data processing engine 1008 of the optimization computing device 902 aligns the X-ray scan of the secondary cutting block with the optical scan of the secondary cutting block using one or more of the techniques described above.

[0199] At block 1608, the optimization computing device 902 performs, for example, Fig.12Method 1222 determines the type of secondary cutting block.

[0200] At block 1614, the optimization computing device 902 performs a global optimization to assign each secondary cut block to a packaging configuration based on the type of assignment of the secondary cut block. Each type of packaging configuration assigned to a secondary cut block can be based on information related to the supply of raw incoming workpieces (e.g., transmitted from the raw workpiece supply / demand engine 830 of the workpiece utilization computing device 808), the requirements of finished workpieces (e.g., transmitted from the finished workpiece supply / demand engine 832 of the workpiece utilization computing device 808), or other information from other sources. The finished workpiece data can identify at least one of a monetary value and a demand for each packaging configuration.

[0201] For example, in some examples, the type of secondary cut pieces, the identified attribute features (e.g., spinalis of a certain size), the total or best model match score, etc., may be associated with a packaging identifier that specifies that any secondary cut pieces of these types with these attribute features, etc., are used in a specific packaging configuration. For example, if a scanned bone-in meat piece is identified as having spinalis greater than a certain size, it may be identified as being designated for a specific packaging configuration based on its higher value. In this regard, one or more machine learning models may be trained to identify a packaging configuration as an output based on the type of secondary cut pieces, the identified attribute features, the total or best model match score, etc., used as input. In this regard, performing global optimization may include using one or more machine learning models to identify a packaging configuration for a secondary cut piece.

[0202] The packaging configuration may be designed based on information received from the finished workpiece supply / demand engine 832 of the workpiece utilization calculation device 808 or other sources that identify different types of secondary cut blocks and various values ​​for cut block combinations. The classification engine 1016 may process the information to identify a packaging configuration for each type of secondary cut block.

[0203] In one example, the packaging can be configured as a "constant value packaging" where each package has a total value of $20. Each constant value package can include different quantities, values ​​and weights of secondary cut pieces, but the total value is $20. The optimization computing device 902 can determine, for example, how many quantities and / or types of secondary cut pieces should be included in the constant value packaging based on the specified value of $20 and the supply of raw incoming workpieces.

[0204] As another example, packaging may be configured as a "constant value secondary cuts package" where each secondary cut is within a value range (e.g., determined based on its total or best model match score). For example, if the identified secondary cuts are within a value range of $1.90 to $2.10 (e.g., depending on size and type (quality)), the optimization computing device 902 may assign the secondary cuts to the constant value secondary cuts package. The constant value secondary cuts package may be a valuable bulk package for an institutional or restaurant business that desires to provide a consistent value for each serving of secondary cuts.

[0205] As another example, a package may be configured as a specified nutritional package for a sub-cut, such as a package for a sub-cut with low fat, constant fat, a specific calorie estimate, etc.

[0206] As another example, the optimization computing device 902 may assign workpieces to a non-packaging configuration based on workpieces being assigned as types of workpieces other than secondary cut blocks, such as cut bone-in chunks, trims, and / or ends of cut blocks, as described above.

[0207] It should be appreciated that data relating to the designation of various packaging configurations for different types of secondary cut blocks may be used to optimize other aspects of the processing system, such as cutting, segmenting, trimming, sorting, picking, etc. For example, if secondary cut blocks are designated for a particular type of packaging, the optimization computing device 902 may send instructions to the segmenter 818 to trim or segment the secondary cut blocks according to the packaging requirements.

[0208] At block 1616, the optimization computing device 902 transmits instructions to the packaging system to package each secondary cut block in the packaging configuration assigned by the global optimization. For example, the optimization computing device 902 can transmit instructions to the packaging machine 824 to package each identified secondary cut block into a specified packaging configuration.

[0209] Fig.17 1 is a block diagram illustrating aspects of an exemplary computing device 1700 suitable for use as a computing device in accordance with the present disclosure. Although a number of different types of computing devices have been discussed above, exemplary computing device 1700 depicts various elements that are common to many different types of computing devices. Fig.171700 is described with reference to a computing device implemented as a device on a network, but the following description is applicable to servers, personal computers, mobile phones, smart phones, tablet computers, embedded computing devices, and other devices that can be used to implement examples of the present disclosure. Some examples of computing devices can be implemented in or include application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other custom devices. In addition, those of ordinary skill in the art and others will recognize that computing device 1700 can be any of any number of currently available or yet to be developed devices.

[0210] In its most basic configuration, computing device 1700 includes at least one processor 1702 and system memory 1710 connected via a communication bus 1708. Depending on the exact configuration and type of device, system memory 1710 may be volatile or non-volatile memory, such as read-only memory ("ROM"), random access memory ("RAM"), EEPROM, flash memory, or similar storage technology. Those of ordinary skill in the art and others will recognize that system memory 1710 typically stores data and / or program modules that are immediately accessible to and / or currently being operated on by processor 1702. In this regard, processor 1702 may serve as the computational center of computing device 1700 by supporting the execution of instructions.

[0211] like Fig.17 As further shown, computing device 1700 may include a network interface 1706 that includes one or more components for communicating with other devices over a network. Examples of the present disclosure may access basic services that utilize network interface 1706 to perform communications using common network protocols. Network interface 1706 may also include a wireless network interface that is configured to communicate via one or more wireless communication protocols, such as Wi-Fi, 2G, 3G, LTE, WiMAX, Bluetooth, Bluetooth Low Energy, etc. As will be appreciated by those of ordinary skill in the art, Fig.17 The network interface 1706 shown in FIG. 17 may represent one or more wireless interfaces or physical communication interfaces associated with specific components of the computing device 1700 as described and shown above.

[0212] exist Fig.17 In the example shown, computing device 1700 also includes storage media 1704. However, the services may be accessed using computing devices that do not include devices for persisting data to local storage media. Fig.17The storage medium 1704 shown in FIG. 1 is represented by a dashed line to indicate that the storage medium 1704 is optional. In any case, the storage medium 1704 can be volatile or non-volatile, removable or non-removable, and implemented using any technology capable of storing information, such as but not limited to a hard drive, a solid-state drive, a CD ROM, a DVD or other disk storage, a magnetic tape cartridge, a magnetic tape, a magnetic disk storage, etc.

[0213] Suitable implementations of computing devices including processor 1702, system memory 1710, communication bus 1708, storage media 1704, and network interface 1706 are known and commercially available. For ease of illustration, and because it is not important to understanding the claimed subject matter, Fig.17 Some typical components of many computing devices are not shown. In this regard, computing device 1700 may include input devices, such as a keyboard, a keypad, a mouse, a microphone, a touch input device, a touch screen, a tablet computer, etc. Such input devices may be coupled to computing device 1700 via a wired or wireless connection, including RF, infrared, serial, parallel, Bluetooth, low-power Bluetooth, USB, or other suitable connection protocols using wireless or physical connections. Similarly, computing device 1700 may also include output devices, such as a display, a speaker, a printer, etc. Since these devices are well known in the art, they will not be further illustrated or described herein.

[0214] Although the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific examples thereof have been shown by way of example in the accompanying drawings and will be described in detail herein. However, it should be understood that it is not intended to limit the concepts of the present disclosure to the specific forms disclosed, but rather, it is intended to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.

[0215] References in the specification to "an example", "an example", "example", etc. indicate that the described example may include a particular property, structure, or feature, but each example may or may not include the property, structure, or feature. In addition, these phrases do not necessarily refer to the same example. In addition, when a particular property, structure, or feature is described in conjunction with an example, it is considered that a person skilled in the art may affect these properties, structures, or features in conjunction with other examples (whether or not explicitly described). In addition, it should be understood that an item included in a list in the form of "at least one of A, B, and C" may mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C). Similarly, an item listed in the form of "at least one of A, B, or C" may mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C).

[0216] The words "upper", "lower", "left", "right", "first", "second", etc. in this disclosure are intended to provide readers with directions for reference to the accompanying drawings, and are not intended to be the required directions of components or graphic images, nor are they intended to introduce directional limitations into the claims.

[0217] In the accompanying drawings, some structural or method features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be required. Rather, in some examples, these features may be arranged in a different manner and / or order than shown in the illustrative drawings. In addition, the inclusion of a structural or method feature in a particular figure does not mean that such feature is required in all examples, and in some examples, it may not be included or may be combined with other features.

[0218] As used herein, the terms "about," "approximately," and the like when referring to numbers include numbers within 10%, 5%, or 1% ranges in any direction (greater or less than) unless otherwise specified or obvious from the context (unless the number exceeds 100% of the possible value).

[0219] If an electronic or software component is described as being “configured to” perform a certain operation, such configuration may be achieved by designing the electronic circuit or other hardware to perform the operation, by programming a programmable electronic circuit (such as a microprocessor or other suitable electronic circuit) to perform the operation, or any combination thereof.

[0220] The terms "connected / coupled / coupled to" refer to any component that is directly or indirectly physically connected to another component, and / or any component that communicates directly or indirectly with another component (e.g., connected to the other component via a wired or wireless connection and / or other suitable communication interface).

[0221] The section headings in this patent application and the title of this patent application are provided for convenience only and do not limit the present disclosure in any way.

[0222] While illustrative examples have been shown and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.

Claims

1. A computer-implemented method for optimizing processing of secondary cutting blocks, the method comprising: receiving, by an optimization computing device, a plurality of models, wherein each model is associated with a type of a secondary cut block, each model includes at least a first reference shape for detecting a first matching feature by a first scan type and a second reference shape for detecting a second matching feature by a second scan type, and wherein each model includes a plurality of attribute feature value ranges; receiving, by the optimization computing device, a registration scan of a secondary cutting block, the registration scan comprising a first scan of the first scan type showing the first matching feature and a second scan of the second scan type showing the second matching feature; identifying, by the optimization computing device, a plurality of attribute features of the secondary cut block using at least one of the first scan type and the second scan type of the registration scan; For each model in the plurality of models: simultaneously aligning the first reference shape of the model with the first matching feature of the first scan type and aligning the second reference shape of the model with the second matching feature of the second scan type; and calculating a plurality of shape matching values ​​based on the alignment of the first matching feature and the second matching feature with the first reference shape and the second reference shape; calculating a plurality of attribute matching values ​​based on the identified plurality of attribute features compared to the attribute feature value range; determining a best model match for the registration scan using the plurality of attribute match values ​​and the plurality of shape match values; and Based on the best model match, the secondary cutting block is assigned a type of secondary cutting block.

2. The computer-implemented method of claim 1 , further comprising: assigning the secondary cut block to at least one of a packaging configuration and a non-packaging configuration based on the assignment type of the secondary cut block; and The allocation type of the secondary cut blocks is used in a global optimization for a plurality of secondary cut blocks and a plurality of packaging configurations, wherein the global optimization comprises: receiving raw workpiece data identifying a supply of a first dispense type for a secondary cutting block and a supply of a second dispense type for a secondary cutting block; Finished workpiece data is received that identifies a first packaging configuration having at least one of the first and second dispensing types of secondary cutting blocks and a second packaging configuration having at least one of the first and second dispensing types of secondary cutting blocks.

3. The computer-implemented method of claim 1 , wherein: The first scan type is an X-ray scan and the second scan type is an optical image, and wherein the first reference shape represents an expected shape of one or more bones and the second reference shape represents an expected shape of a lean protein region.

4. The computer-implemented method of claim 1 , further comprising: A weight is assigned to the matching of the first reference shape with the first matching feature, and the weight assigned to the matching of the first reference shape with the first matching feature is greater than the weight assigned to the matching of the second reference shape with the second matching feature, for calculating the multiple matching shape values.

5. The computer-implemented method of claim 1 , wherein: The attribute characteristics include at least one of overall object outline, length, width, height, weight, points, area, fat to lean percentage, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, blood stains, holes, bruises, parasites and bone to flesh ratio.

6. The computer-implemented method of claim 1 , wherein: The shape matching values ​​include a measure of overlap of each reference shape of the model with a corresponding matching feature in the registration scan.

7. The computer-implemented method of claim 1 , further comprising: The plurality of shape matching values ​​are calculated each time at least one of the reference shape of the model and the registration scan is transformed to align first and second reference shapes of the model with first and second matching features of the registration scan.

8. The computer-implemented method of claim 1 , wherein: Simultaneously aligning a first reference shape of the model with a first matching feature, and aligning a second reference shape of the model with a second matching feature, comprises at least one of: orientationally transforming at least one of the model and the reference scan, rotationally transforming at least one of the model and the reference scan, scaling the size of at least one of the model and the reference scan, and shearing deforming at least one of the model or the reference scan.

9. The computer-implemented method of claim 1 , wherein: Simultaneously aligning a first reference shape of the model with a first matching feature, and aligning a second reference shape of the model with a second matching feature, includes at least one of: performing a point-to-point distance reduction process, and minimizing at least one of the area differences between the first reference shape and the second reference shape of the model and the corresponding first matching feature and second matching feature of the reference scan.

10. The computer-implemented method of claim 1, wherein: The attribute matching value is based on at least one of: whether the measured attribute of each of the identified multiple attributes falls within the corresponding attribute feature value range, the deviation of the measured attribute of each of the identified multiple attribute features from the corresponding attribute feature value range, the deviation of the measured attribute of each of the identified multiple attribute features relative to at least one of the corresponding average attribute feature value and the corresponding median attribute feature value, and the weight assigned to one or more attribute features.

11. The computer-implemented method of claim 1 , further comprising: include:, For each model in the plurality of models: aligning a contour reference shape of the model with a contour matching feature of the registration scan; and A plurality of shape matching values ​​are calculated based on the alignment of the contour reference shape of the model with the contour matching features of the registration scan.

12. The computer-implemented method of claim 1, wherein: The registration scan of the secondary cut block is defined by: comparing a portion of a first data set from said first scan to a portion of a second data set from said second scan; and Transforming the first data set into the second data set is optionally performed.

13. The computer-implemented method of claim 12, further comprising: measuring an input product parameter of the secondary cutting block using at least one of a first scan of the first scan type, a second scan of the second scan type, and a registered scan of the secondary cutting block; and If the measured input product parameter is outside a predetermined range, the secondary cutting block is at least one of sorted, transferred, and removed.

14. The computer-implemented method of claim 13, further comprising: sending data from the optimization computing device to at least one processing module related to the type of assignment of the secondary cut blocks; and At least one of cutting, segmenting, and trimming the secondary cut-blocks is performed based on the secondary cut-block assignment type using the at least one processing module.

15. The computer-implemented method of claim 1, wherein: Each of the models includes: at least one region of interest (ROI) associated with at least one of a matching feature and an attribute feature; and wherein the computer-implemented method further includes: using the ROI associated with the attribute feature to identify, by the optimization computing device, at least one attribute feature of the secondary cut block.

16. The computer-implemented method of claim 1 , further comprising: When the demand for the first type of the secondary-cutting block is greater than the demand for the second type of the secondary-cutting block, the first type of the secondary-cutting block is assigned to the secondary-cutting block based on at least one of the plurality of attribute matching values ​​and the plurality of shape matching values ​​being within a predetermined threshold of the plurality of attribute matching values ​​and the plurality of shape matching values ​​of the second type of the secondary-cutting block.

17. The computer-implemented method of claim 1, further comprising: The plurality of models are generated using one or more machine learning models, each of the models being associated with a type of a secondary cut block, including: receiving, by a model generation computing device, a plurality of registration scans of a secondary cutting block, each of the registration scans comprising: a first scan of the first scan type showing a first matching feature of the secondary cutting block, and a second scan of the second scan type showing a second matching feature of the secondary cutting block; and Using the registration scans as input, a model is generated for each type of secondary cutting blocks, each model comprising a first reference shape representing a first matching feature of a first scan type of the registration scans of the plurality of secondary cutting blocks, and a second reference shape representing a second matching feature of a second scan type of the registration scans of the plurality of secondary cutting blocks.

18. The computer-implemented method of claim 17, further comprising training the one or more machine learning models by: A first set of training data is received by a model generation computing device, wherein the first set of training data includes registration scans of a plurality of secondary cut blocks, each of the registration scans including: a first scan of the first scan type showing the first matching feature of the secondary cutting block, and a second scan of the second scan type showing the second matching feature of the secondary cutting block, each registered scan being associated with a type of secondary cutting block; adding, by the model generation computing device, the first set of training data of each type of secondary cut blocks in a training data storage; training the machine learning model by the model generation computing device to generate a model for each type of secondary cutting blocks using the information stored in the training data storage as input, each model comprising a first reference shape representing a first matching feature of a first scan type of a plurality of registered scans of the secondary cutting blocks and a second reference shape representing a second matching feature of a second scan type of the plurality of registered scans of the secondary cutting blocks; and The one or more machine learning models are stored in a model data storage by the model generation computing device.

19. The computer-implemented method of claim 17, further comprising: receiving, by the model generation computing device, a plurality of identification attribute features of each secondary cut block of each registration scan; and Using the multiple identified attribute features of each secondary cut block as input, multiple attribute feature value ranges are generated for each model.

20. The computer-implemented method of claim 19, further comprising training the one or more machine learning models by: receiving, by the model generation computing device, a second set of training data, the second set of training data comprising a plurality of identifying attribute features of the secondary cut-outs of each registration scan; adding, by the model generation computing device, the second set of training data for each type of secondary cut-out blocks in a training data memory; training one or more machine learning models by the model generation computing device to generate one or more attribute feature value ranges for each model of each type of secondary cut-out using information stored in the training data memory; and The one or more machine learning models are stored in a model data storage by the model generation computing device.

Citation Information

Patent Citations

  • Cutting / portioning using combined X-ray and optical scanning

    US10654185B2

  • Apparatus for acquiring and analysing product-specific data for products of the food processing industry as well as a system comprising such an apparatus and a method for processing products of the food processing industry

    US10721947B2

  • Determining the thickness profile of work products

    US20200375203A1

  • Optical-scanning system employing laser and laser safety control

    US5585605A

  • Portioning apparatus and method

    US7651388B2