Subprimal cut identification and packing optimization system and method

A system using machine learning models to identify and categorize subprimal cuts by comparing reference shapes and attribute characteristics addresses inefficiencies in portioning, sorting, and packaging processes, enhancing the precision and efficiency of meat processing.

JP2025531828APending Publication Date: 2025-09-25JBT MAREL CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025514403
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-09
Filing Date
2023-09-07
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

Existing systems struggle to efficiently identify and categorize subprimal cuts of meat based on their shape and attribute characteristics, leading to inefficiencies in portioning, sorting, and packaging processes.

Method used

A system utilizing machine learning models trained on aligned scans of subprimal cuts to identify and categorize them by comparing reference shapes and attribute characteristics, enabling precise identification and optimization of subprimal cuts.

Benefits of technology

Enables accurate identification and categorization of subprimal cuts, improving the efficiency of portioning, sorting, and packaging processes by aligning scans with reference shapes and attribute values, thereby optimizing value sorting and use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025531828000001_ABST
    Figure 2025531828000001_ABST
Patent Text Reader

Abstract

A method implemented by a computing device may include receiving a plurality of models each associated with a subprimal cut type, the plurality of models including a reference shape for detecting corresponding match characteristics by a corresponding scan type and including a plurality of attribute characteristic value ranges; receiving aligned scans of the subprimal cuts including scans showing the corresponding match characteristics; identifying attribute characteristics of the subprimal cuts using the aligned scans; simultaneously aligning the reference shape of each model to the corresponding match characteristics and calculating a shape match value based on the alignment; using the calculated plurality of attribute match values ​​based on the identified attribute characteristics and comparing them with the attribute characteristic value ranges and the plurality of shape match values ​​to determine a best model match for the aligned scans; and assigning a subprimal cut type to the subprimal cut based on the best model match.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 63 / 375,215, filed September 9, 2022, the entire contents of which are incorporated herein by reference. [Background technology]

[0002] background Processed products, including food products, are portioned or otherwise cut into smaller pieces by processors depending on customer needs. The first division of a carcass is into primal cuts. More specifically, primal cuts or cuts of meat are the pieces of meat first separated from an animal carcass during slaughter or processing. Examples of primal cuts include round, loin, rib, and chuck for beef, or ham, loin, Boston butt, and picnic for pork. The primal cuts are then divided into subprimal cuts. Examples of subprimal cuts for beef are top round, whole tenderloin, and rib eye, while examples of subprimal cuts for pork are sirloin chop, center loin chop, center rib chop, and rib end chop.

[0003] The processing of subprimal cuts may vary depending on the subprimal cut type. For example, a particular subprimal cut type may be portioned or trimmed according to customer specifications or other requirements specific to that cut type. Furthermore, a particular subprimal cut type may be used for a particular end product, depending, for example, on the supply and demand for that subprimal cut type. Summary of the Invention [Means for solving the problem]

[0004] overview In some aspects, the techniques described herein include receiving, by an optimization computing device, a plurality of models, each model associated with a subprimal cut type, each model including at least a first reference shape for detecting a first matching characteristic by a first scan type and a second reference shape for detecting a second matching characteristic by a second scan type, and each model including a plurality of attribute characteristic value ranges; receiving, by the optimization computing device, aligned scans of the subprimal cuts including a first scan of the first scan type exhibiting the first matching characteristic and a second scan of the second scan type exhibiting the second matching characteristic; and using at least one of the first scan type and the second scan type of the aligned scans to identify the plurality of attribute characteristic ranges of the subprimal cuts. and for each model of a plurality of models, simultaneously aligning a first reference shape of the model to a first match characteristic of a first scan type and a second reference shape of the model to a second match characteristic of a second scan type and calculating a plurality of shape match values ​​based on the alignment of the first match characteristic and the second match characteristic with the first reference shape and the second reference shape; calculating a plurality of attribute match values ​​based on the identified plurality of attribute characteristics and comparing them with attribute characteristic value ranges; determining a best model match for the aligned scans using the plurality of attribute match values ​​and the plurality of shape match values; and assigning a subprimal cut type to the subprimal cut based on the best model match.

[0005] In some aspects, the techniques described herein provide a method of training one or more machine learning models to generate a plurality of models, each associated with a subprimal cut type, comprising: receiving, by a model generation computing device, a first training dataset including aligned scans of a plurality of subprimal cuts, each aligned scan including a first scan of a first scan type exhibiting a first matching characteristic of the subprimal cut and a second scan of a second scan type exhibiting a second matching characteristic of the subprimal cut, each aligned scan being associated with a subprimal cut type; and, by the model generation computing device, generating a training dataset for each subprimal cut. adding a first training data set of subprimal cut types to a training data store; training, by a model generation computing device, one or more machine learning models using information stored in the training data store as input to generate a model for each subprimal cut type, each model including a first reference shape representing a first match characteristic of a first scan type of aligned scans of the plurality of subprimal cuts and a second reference shape representing a second match characteristic of a second scan type of aligned scans of the plurality of subprimal cuts; and storing, by the model generation computing device, the one or more machine learning models in the model data store.

[0006] In some aspects, the techniques described herein provide a method for assigning a subprimal cut type to a subprimal cut using one or more machine learning models, comprising receiving, by an optimization computing device, aligned scans of the subprimal cut aligned with a plurality of models, each aligned scan including a first scan of a first scan type exhibiting a first matching characteristic, a second scan of a second scan type exhibiting a second matching characteristic, and an aligned scan with the model, each model associated with a subprimal cut type, each model including a first reference shape for detection of the first matching characteristic by the first scan type, and a second reference shape for detection of the second matching characteristic by the first scan type. and a second reference shape for detection of a second matching characteristic by scan type, and each model including one or more attribute characteristic value ranges; receiving, by an optimization computing device, the identified attribute characteristics of the subprimal cut; searching, by the optimization computing device, one or more machine learning models from a model data store; and processing, by the optimization computing device, the aligned registered scans and the multiple models, and the identified attribute characteristics of the subprimal cut as inputs, using the one or more machine learning models, to assign, as output, a subprimal cut type to the subprimal cut.

[0007] In some aspects, the techniques described herein include receiving, by an optimization computing device, a plurality of models, each model associated with a subprimal cut type, each model including at least a first reference shape for detecting a first matching characteristic by a first scan type and a second reference shape for detecting a second matching characteristic by a second scan type, and each model including a plurality of attribute characteristic value ranges; receiving, by the optimization computing device, aligned scans of the subprimal cuts, the alignment scans including a first scan of the first scan type exhibiting the first matching characteristic and a second scan of the second scan type exhibiting the second matching characteristic; identifying, by the optimization computing device, a plurality of attribute characteristics of the subprimal cuts using at least one of the first scan type and the second scan type of the aligned scans; and, for each model of the plurality of models, identifying a plurality of attribute characteristics of the subprimal cuts based on the first matching characteristic of the first scan type. and calculating at least one shape match value based on the alignment of the first match characteristic with the first reference shape; simultaneously aligning the first reference shape of the model to the first match characteristic for a first scan type and the second reference shape of the model to the second match characteristic for a second scan type; calculating at least one shape match value based on the alignment of the first match characteristic and the second match characteristic with the first reference shape and the second reference shape; calculating a plurality of attribute match values ​​based on the identified plurality of attribute characteristics and comparing them with attribute characteristic value ranges; determining a best model match for the aligned scans using the plurality of attribute match values ​​and the shape match values; and assigning a subprimal cut type to the subprimal cut based on the best model match.

[0008] BRIEF DESCRIPTION OF THE DRAWINGS The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: [Brief explanation of the drawings]

[0009] [Figure 1] The top photo shows the top surface of a sliced ​​whole bone-in pork loin, and the bottom photo shows the underside of a sliced ​​whole bone-in pork loin. [Figure 2] Shown is a photo of sliced ​​whole bone pork loin rib eye chops. [Figure 3] Figure 2 shows a photograph of a sliced ​​whole bone pork loin rib center chop. [Figure 4] Figure 2 shows a photograph of a sliced ​​whole bone pork loin rib center chop. [Figure 5] Figure 2 shows a photograph of a sliced ​​whole bone-in pork loin center cut loin. [Figure 6] FIG. 2 shows a photograph of a sliced ​​whole bone-in pork loin first sirloin chop. [Figure 7A] A photograph of the first sirloin chop is shown in FIG. [Figure 7B] FIG. 2 shows a photograph of a sliced ​​whole bone-in pork loin second sirloin chop. [Figure 8] FIG. 1 is a block diagram of a non-limiting example of a sub-primal cut identification and packing optimization system according to various aspects of the present disclosure. [Figure 9] 1 shows a schematic diagram of a non-limiting example of a sub-primal cut processing system according to various aspects of the present disclosure. [Figure 10] FIG. 1 is a block diagram of a non-limiting example of a sub-primal cut identification assembly according to various aspects of the present disclosure. [Figure 11A] 10A-10C illustrate screenshots of various images generated from one or more scanning devices of a subprimal cut identification assembly according to various aspects of the present disclosure. [Figure 11B] 10A-10C illustrate screenshots of registered scans of sub-primal cuts aligned with a model associated with a certain sub-primal cut type, according to various aspects of the present disclosure. [Figure 11C]10A-10C illustrate screenshots of registered scans of sub-primal cuts aligned with a model associated with a certain sub-primal cut type, according to various aspects of the present disclosure. [Figure 12] 1 is a flowchart illustrating a non-limiting example of a method for determining a subprimal cut type of a subprimal cut, according to various aspects of the present disclosure. [Figure 13] 1 shows a flowchart illustrating a non-limiting example of a method for obtaining multiple models according to various aspects of the present disclosure. [Figure 14A] 1 is a flowchart illustrating a non-limiting example of a method for training one or more machine learning models to generate multiple models, each associated with a subprimal cut type, according to various aspects of the present disclosure. [Figure 14B] 1 is a flowchart illustrating a non-limiting example of a method for training one or more machine learning models to generate multiple models, each associated with a subprimal cut type, according to various aspects of the present disclosure. [Figure 15] 1 is a flowchart illustrating a non-limiting example of a method for assigning a subprimal cut type to a subprimal cut using one or more machine learning models, according to various aspects of the present disclosure. [Figure 16] 1 is a flowchart illustrating a non-limiting example of a method for packaging food products according to various aspects of the present disclosure. [Figure 17] FIG. 1 is a block diagram illustrating a non-limiting example of a computing device suitable for use as a computing device according to examples of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0010] Detailed Description The systems and methods disclosed herein are directed to identifying subprimal cuts and categorizing them into one of at least two categories, for example, for value sorting and / or value optimization of subprimal cut use. In some examples, subprimal cuts may be identified by processing scanned images of the subprimal cuts to determine whether the subprimal cuts are shaped like a particular type of chop and whether the subprimal cuts have characteristics of a particular type of chop. The systems and methods disclosed herein may include identifying a subprimal cut type for subprimal cuts moving along a food processing line, so that the subprimal cuts may be at least one of portioned, sorted, packaged, etc. based on their identified type.

[0011] With reference to FIGS. 1-7 , examples are described herein with reference to subprimal cuts or “chops” of whole-bone pork loin. However, it should be understood that the systems and methods described herein may be used with any subprimal cut. Thus, references to “chops” and the like should be understood to include any subprimal cut (e.g., subprimal cuts of beef, chicken, or other meats, subprimal cuts of fish, plant-based meat types, etc.). Furthermore, while the systems and methods disclosed herein are described as being used to identify and segment subprimal cuts, other types of workpieces are within the scope of this disclosure. Thus, when phrases such as “chops,” “cuts,” “subprimal cuts,” and the like are used to describe aspects of the systems and methods, it should be understood that other workpieces or workpieces may also be used or included. Conversely, when terms such as “workpiece,” “workpiece,” “food,” and the like are used to describe aspects of the systems and methods, they should be understood to include any “chops,” “cuts,” “subprimal cuts,” and the like.

[0012] Exemplary types and classifications of subprimal cuts will now be described with reference to Figures 1-7.

[0013] Referring to FIG. 1 (the top photographic image shows the top side of the pork loin, and the bottom photographic image shows the bottom side of the loin), a whole-bone pork loin 102 may be sliced ​​into chops from the rib end 104 to the sirloin end 106, with each chop optionally being of substantially the same thickness. Each chop or group of chops (from a section of the loin) may contain different chop characteristics that affect its overall quality or value. Chop 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 chop along the length of the pork loin (e.g., near the rib end or sirloin end), and the slicing process. Chop characteristics may include overall shape / size, or overall object profile, length, width, height, weight, points, area, fat-to-lean percentage, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, bone-to-meat ratio, blood spots, pits, blemishes, parasites, unwanted bone, etc. These chop characteristics may affect the classification and / or value of the chop. Data regarding one or more of these chop characteristics may be considered the chop's "attribute data."

[0014] Various types and categories of chops result from the slicing of a loin, as shown in Figures 2-7. For example, with reference to Figure 2, a first chop 108 (see also Figure 1) sliced ​​from a whole-bone pork loin 102 near the rib end 104 of the loin may be determined to be a rib-eye type chop based on its overall object contour or overall shape 202, the shape of its main lean area 204, and / or the shape of its bone area 206. More specifically, based on comparing the shapes of these areas to known shapes of rib-eye type chops, the first chop 108 may be assigned as a rib-eye type chop.

[0015] The first chop 108 may be further classified as a particular type of ribeye chop depending on at least two other characteristics of the chop. For example, the first chop 108 may include a particular size and a particular amount of larger-than-bone spinous muscle 208, which may affect the ribeye classification assigned to the first chop 108 (e.g., Ribeye Chop 1 vs. Ribeye Chop 2). The type of chop (e.g., Ribeye vs. Center Cut) and the classification of the chop (e.g., Ribeye Chop 1 vs. Ribeye Chop 2) may ultimately determine how the chop is used (e.g., portioned, sorted, packaged, etc.) for value sorting and / or value optimization of chop use. For ease of reference, the final designation of the chop, including the type and classification, may be referred to simply as the "type" of the chop.

[0016] 3 shows a second chop 110 sliced ​​from the whole-bone pork loin 102 further from the rib end 104 of the loin 102 than the first chop 108 (see also FIG. 1). The second chop 110 may be determined to be a rib-center type chop based on its overall shape 302, the shape of its main lean region 304, and / or the shape of its bone region 306. More specifically, the second chop 110 may be assigned as a rib-center type chop based on comparing the shapes of these regions to known shapes of rib-center type chops.

[0017] The second chop 110 may be further classified as a particular type of rib center chop depending on at least two other characteristics of the chop. For example, the second chop 110 includes a smaller spinous muscle 308 than the spinous muscle 208 of the first chop 108 and a particular amount of bone. Thus, the second chop 110 may be classified as a rib center chop 1.

[0018] In comparison, the third chop 112 shown in FIG. 4 is sliced ​​from the whole bone-in pork loin 102 further from the rib end 104 of the loin 102 than the second chop 110 (see also FIG. 1 ), but it may also be identified as a rib center-type chop based on its overall shape 402, the shape of its main lean region 404, and / or the shape of its bone region 406. However, the third chop 112 may also be classified as a rib center chop 2 due to the absence of spinous muscles and / or the fillet region 408 being smaller than the predetermined size of another classification of a rib center chop.

[0019] 5 shows a fourth chop 114 sliced ​​from a whole-bone pork loin 102 near the sirloin end 106 of the loin 102 (see also FIG. 1). The fourth chop 114 may be determined to be a center-cut loin-type chop based on its overall shape 502, the shape of its main lean region 504, and / or the shape of its bone region 506 by comparing the shapes of those regions to known shapes of center-cut loin-type chops. Additionally, the fourth chop 114 may be classified as a center-cut loin 1 based on the size of the fillet region 508 and / or the amount of bone present.

[0020] 6 and 7A show a fifth chop 116 sliced ​​from a whole-bone pork loin 102 closer to the sirloin end 106 of the loin 102 compared to the fourth chop 114 (see also FIG. 1). The fifth chop 116 may be determined to be a sirloin-type chop based on its overall shape 702, the shape of its main lean region 704, and / or the shape of its bone region 706, comparing the shapes of those regions to known shapes of center-cut loin-type chops. Additionally, the fifth chop 116 may be classified as a sirloin chop 1 based on the size of the fillet region 708.

[0021] In comparison, the sixth chop 118 shown in FIG. 7B , sliced ​​from the whole bone-in pork loin 102 nearest the rib end 104 of the loin 102, may also be identified as a sirloin-type chop based on its overall shape 712, the shape of its main lean region 714, and / or the shape of its bone region 716. However, the sixth chop 118 may also be classified as a sirloin chop 2 because the fillet region 720 is smaller or larger than the predetermined size of another sirloin chop classification.

[0022] As can be appreciated, various factors can determine how chop types are identified and how chops are segmented, including chop shape and other characteristics of the chop (e.g., fat to lean percentage, concavity, flatness, roundness, bone volume, bone area, bone length, bone edge offset, bone to meat ratio, etc.).

[0023] To reemphasize the above point, although examples including those described above are described herein with reference to whole-bone pork loin "chops," the systems and methods described herein may be used with any subprimal cut or artifact. Thus, references to "chops" or the like should be understood to include any subprimal cut or other artifact that can be identified and / or segmented using the systems and methods described herein, such as for value optimization.

[0024] As described above, the systems and methods disclosed herein relate to identifying subprimal cuts and classifying them into one of at least two categories. Identifying a subprimal cut (e.g., rib eye chop, rib center chop, center cut loin, sirloin chop, etc.) may be performed by comparing a reference shape of the subprimal cut to known shapes of a subprimal cut type and further determining whether the subprimal cut has some or all of the attribute characteristics of that subprimal cut type (e.g., fat-to-lean percentage, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, bone-to-meat ratio, etc.). Classifying a subprimal cut (e.g., rib eye chop 1 vs. rib eye chop 2) may be performed, for example, by identifying the attribute characteristics of the subprimal cut and determining whether the subprimal cut has some or all of the attribute characteristics of a particular subprimal cut type.

[0025] 8 shows a schematic diagram of a non-limiting example of a subprimal cut optimization system 802 that can be used to identify subprimal cuts and segment the subprimal cuts into one of at least two categories. In the example shown, subprimal cut optimization system 802 is generally configured to identify subprimal cut types and categories for subprimal cuts moving along a food processing line, and to enable the subprimal cuts to be at least one of portioned, sorted, packaged, etc. based on the identified type / category. Subprimal cut optimization system 802 may include various network computing devices configured to perform aspects of subprimal cut type identification and segmentation, as well as other aspects of processing the subprimal cuts (e.g., conveying, slicing, portioning, sorting, packaging, etc.).

[0026] In the depicted example, subprimal cut 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 to each other via a network 810. Network 810 may be any type of network that can enable communication between the various components of subprimal cut optimization system 802. For example, the network may be a WiFi network.

[0027] 8 and 9, processing system 804 will be described. In one example, processing system 804 is generally configured to perform processing of subprimal cuts both before and after the subprimal cuts are identified and / or sorted. For example, processing system 804 includes a conveyor 812 or another moving device configured to transport workpieces WP or subprimal cuts between various portions of processing system 804. For example, conveyor 812 may transport subprimal cuts between one or more of slicer 814, identification assembly 816, portioner 818, pickup station 820, sorter 822, and packager 824.

[0028] A slicer 814 may be used to slice the primal produce into subprimal workpieces, such as slicing primal cuts into subprimal cuts. In that regard, the slicer 814 may be located downstream of the cutter (not shown) used to cut the carcass into primal cuts. Various types of slicers may be utilized to slice the primal cuts into subprimal cuts of one or more desired thicknesses. For example, the slicer may be in the form of a high-speed water jet, laser, rotary saw, hacksaw, or bandsaw. The slicer may also be adjustable to obtain the desired thickness of each individual workpiece or subprimal cut. Such adjustments may be under the control of a processor, such as the optimization calculation unit 902 (see FIG. 9 ). For example, the slicer may be adjusted based on data transmitted from the workpiece utilization calculation unit 808 regarding the demand / supply requirements of the finished workpieces (e.g., there is a specific demand for 3 / 8-inch thick cuts versus 1-inch cuts, so the slicer is adjusted to meet the demand).

[0029] In some examples, processing system 804 receives subprimal cuts (i.e., sliced ​​cuts from primal cuts) from another machine or location, and slicer 814 is omitted. In some examples, slicer 814 is used to portion the subprimal cuts before they are processed by at least certain components of identification assembly 816 for identification. In that regard, terms such as "slicing," "portioning," "cutting," "trimming," etc. may include any type or combination of produce cuts (e.g., slicing only, portioning only, or any other type of produce cut, and any combination of slicing, portioning, and other types of produce cuts).

[0030] After the subprimal cuts have been sliced ​​and identified by identification assembly 816, portioner 818 may be used to further cut, slice, trim, or otherwise portion the subprimal cuts into one or more final products. In that regard, portioner 818 may be located downstream of identification assembly 816 to cut the workpiece after it has been identified as a particular subprimal cut type. Portioner 818 may be in communication with optimization calculation device 902 and may receive cutting instructions based on the identified subprimal cut type of the workpiece.

[0031] For example, certain subprimal cut types may be designated as requiring trimming to support product or packaging requirements (as defined by finished workpiece supply / demand engine 832 of workpiece utilization calculation unit 808). Thus, if a subprimal cut is identified as one of these subprimal cut types, it may be trimmed by portioner 818 after being identified as such a subprimal cut type. In a more specific example, if the spinous muscle of a pork chop is identified as high value in data transmitted to optimization calculation unit 902, such as from finished workpiece supply / demand engine 832 of workpiece utilization calculation unit 808, optimization calculation unit 902 may instruct portioner 818 to remove or otherwise trim the spinous muscle from pork chops of the particular identified type, as the case may be, for packaging or product optimization. For example, if a chop has spinous muscles larger than a certain size, the chop may be portioned to remove the spinous muscle for separate use and / or higher-value packaging.

[0032] Cutting, portioning, trimming, etc. of the subprimal cut based on its identification type may be performed by a workpiece processing module (not shown) within optimization computing device 902 or in a separate computing device in communication within processing system 804. In that regard, optimization computing device 902 may transmit some or all of the data related to the identification of the subprimal cut to the workpiece processing module, so that the workpiece processing module may perform any necessary cutting or other processing of the subprimal cut. In some examples, when the workpiece processing module receives data identifying the subprimal cut type, it may perform further scanning and analysis to determine how the cut should be trimmed. In some examples, the workpiece processing module may be able to perform all necessary cutting or other processing of the subprimal cut based on the received identification data without further scanning or analysis.

[0033] After any portioning, trimming, etc., the subprimal cuts (and / or any material removed from the subprimal cuts) may be transported to a removal conveyor, storage bin, sorter 822, packager 824, or other location, such as with pickup station 820. Pickup station 820, sorter 822, and packager 824 may receive instructions from optimization computing device 902 based on the subprimal cut type identified for the workpiece. For example, if the workpiece is identified as a trimming piece, optimization computing device 902 may instruct pickup station 820 and / or sorter 822 to remove or divert the trimming piece from the conveyor so that it is not packed with any of the subprimal cuts. In another example, optimization computing device 902 may instruct pickup station 820 and / or sorter 822 to transport all subprimal cuts of a particular type to a designated conveyor, bin, etc. for packaging together. In yet another example, based on the number of identified subprimal cuts of a particular type and demand data received from the finished workpiece supply / demand engine 832, the optimization calculation device 902 may instruct the packager 824 to pack a particular number of subprimal cuts (optionally in a particular layout within the package).

[0034] 8 and 9 depict particular components and subassemblies of a processing system, it should be understood that any other suitable arrangement of processing components may be used. For example, processing system 804 may incorporate aspects of the systems shown and described in U.S. Patent No. 7,651,388, entitled "Portioning Apparatus and Method," U.S. Patent No. 7,672,752, entitled "Sorting Workpieces to be Portioned into Various End Products to Optimally Meet Overall Production Goals," and U.S. Patent No. 8,688,267, entitled "Classifying Workpieces to be Portioned into Various End Products to Optimally Meet Overall Production Goals," which are incorporated herein by reference in their entireties.

[0035] 8-10 , the identification assembly 816 used to identify the type / category of each subprimal cut will be described in further detail. Generally, the identification assembly 816 is configured to generate aligned scans of the subprimal cuts, including a first scan of a first scan type indicative of a first matching characteristic of the subprimal cuts and a second scan of a second scan type indicative of a second matching characteristic. The identification assembly 816 then uses the aligned scans to identify the type / category of each subprimal cut.

[0036] 10 is a block diagram illustrating an embodiment of a non-limiting example of an identification assembly 816 according to various aspects of the present disclosure. The identification assembly 816 may include at least a first scanner for capturing a first scan type and a second scanner for capturing a second scan type, thereby processing the first and second scans of the first and second types to generate aligned scans. For example, in one example, the identification assembly 816 includes an X-ray scanning station 904, an optical scanning station 906, and a third scanning station 904 of the same or a different type. The identification assembly 816 further includes an optimization computing device 902 including a processor 1002, a communication interface 1006, a computer-readable medium 1004, and one or more data stores.

[0037] The optimization computing device 902 may be implemented by any computing device or set of computing devices, including, but not limited to, a desktop computing device, a laptop computing device, a mobile computing device, a server computing device, a computing device of a cloud computing system, 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 particular computing tasks, including, but not limited to, a graphical processing unit (GPU), a vision processing unit (VPT), ​​and a tensor processing unit (TPU).

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

[0039] As shown, the computer-readable medium 1006 stores logic that, 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 check engine 1010, an image matching engine 1012, an attribute data engine 1014, and a classification engine 1016.

[0040] 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 that can be read 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; magnetic cassettes; magnetic tape; and magnetic disk storage.

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

[0042] As used herein, a "data store" refers to any suitable device configured to store data for access by a computing device. One example of a data store is a reliable, high-speed relational database management system (DBMS) running on one or more computing devices and accessible over a high-speed network. Another example of a data store is a key-value store. However, any other suitable storage technology and / or device capable of quickly and reliably providing stored data in response to a query may be used, and the computing device may be accessible locally rather than over a network, or may be provided as a cloud-based service. A data store may also include data stored in an organized manner on a computer-readable storage medium, such as a hard disk drive, flash memory, RAM, ROM, or any other type of computer-readable storage medium. Those skilled in the art will recognize that the separate data stores described herein may be combined into a single data store and / or that a single data store described herein may be separated into multiple data stores without departing from the scope of the present disclosure.

[0043] 9, the scanner station of the identification assembly 816 will now be described. As described above, the identification assembly 816 is configured to generate aligned scans of the subprimal cuts, including a first scan (i.e., using a first scanner) of a first scan type that indicates a first matching characteristic of the subprimal cuts, and a second scan (i.e., using a second scanner) of a second scan type that indicates a second matching characteristic. The matching characteristics are defined by image features of each scan type. The scanners used to generate the aligned scans of the subprimal cuts may depend on the type of image required to generate the matching characteristics of the subprimal cuts.

[0044] For example, the first scanner may be an X-ray scanning station 904 for acquiring X-rays of the subprimal cut to indicate denser regions (e.g., bone regions and / or cut contours) as a first matching characteristic. The second scanner may be an optical scanning station 906 for generating at least one of a visible light (e.g., grayscale) image, a laser light scattering image, a height map, a hyperspectral image, a multispectral image, etc. of the subprimal cut to indicate one or more of the overall shape / size of the subprimal cut, the composition of the subprimal cut (e.g., fat vs. lean meat), the height or thickness of the entire region of the subprimal cut, etc. In some examples, the identification assembly 816 further includes a third scanning station 910 for capturing a third scan type indicative of a third matching characteristic of the subprimal cut. Any other scanner may additionally be used to capture scan types indicative of additional matching characteristics of the subprimal cut. The identification assembly 816 may use one or more of the scanners and / or systems and methods for processing scanner data described in U.S. Pat. No. 10,721,947, entitled "Apparatus for acquiring and analyzing 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," the entirety of which is incorporated herein by reference.

[0045] The scanner station of the identification assembly 816 may capture scans of the subprimal cuts and then output the scan data to the scan data processing engine 1008 for processing. In that regard, the scan data processing engine 1008 may include one or more feature recognition modules for generating views / images from the scan data and / or processing data from different views. For example, with reference to the generated image shown in 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 scattering object view, and a height mode object view, such as from data captured by 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 indicative of additional or different matching characteristics of the subprimal cuts. Accordingly, the description and examples provided herein should not be considered limiting.

[0046] The X-ray scanning station 904 may be any configuration for generating X-ray images suitable for use in performing the required functions of the identification assembly 816. Generally, X-rays are attenuated as they pass through an object in proportion to the total mass of the material through which they pass. The intensity of X-rays (departing from the X-ray source) received at an X-ray detector, such as detector 962, after passing through an object, such as a workpiece WP (e.g., a subprimal cut) is therefore inversely proportional to the density of the object. For example, X-rays passing through a pork loin bone, which is relatively denser than loin meat, are more attenuated than X-rays passing through the loin alone. Therefore, X-rays are suitable for detecting the presence of specific characteristics, such as bones having specific density or X-ray altering characteristics. In that regard, the matching characteristic of a subprimal cut defined by an X-ray scan (first scan type) may be the location of bone or other high-density material within the subprimal cut. In a further example, the matching characteristic of a subprimal cut defined by an X-ray scan (first scan type) may be the overall outline or perimeter of the subprimal cut.

[0047] A general description of the properties and use of X-rays in processing workpieces can be found in 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 (see above), which are incorporated herein by reference in their entireties. The signals generated by the X-ray detector are transmitted to the scan data processing engine 1008 of the optimization computing device 902, which processes the signals to generate aligned scans, identify attribute characteristics, or perform other processing or identification steps.

[0048] After the workpiece WP is scanned by the X-ray scanning station 904, the workpiece WP is moved by the conveyor 812 (optionally by transferring to a second or downstream (partitioned) conveyor located downstream from the first (scanning) conveyor) to pass under a second scanner, such as the optical scanning station 906. The optical scanning station 906 may include a scanner located within 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.

[0049] Optical scanning at station 906 may utilize a variety of different scanning techniques in the visible light as well as the hyperspectral range. Scanning by optical scanning station 906 can be performed using a variety of techniques, such as those shown and described in U.S. Pat. Nos. 10,654,185 and 10,721,947 (see above), which are incorporated herein by reference. Additionally, optical scanning station 906 can be configured to capture data used to generate a variety of images, such as grayscale images (e.g., images based on color values ​​of 0 to 256, gray tones seen by a laser), height maps (which can be generated by assigning grayscale colors to height values), fat recognition (FRS) object views (showing fat streaks within a produce), laser scattering images, hyperspectral images, multispectral images, and the like.

[0050] In one example, a video camera (not shown) is used to view the workpiece along a line of sight. The workpiece is illuminated by one or more light sources, e.g., laser beams. Light from the light sources may extend across a moving conveyor to define a distinct shadow or stripe of light, with the area ahead of the lateral beam being dark. When the workpiece is not being carried by the conveyor, the shadow line / stripe of light forms a straight line across the belt. However, as the workpiece passes the shadow line / stripe of light, the irregular surface above the workpiece creates an irregular shadow line / stripe of light when viewed by a video camera facing downward on the workpiece and the shadow line / stripe of light.

[0051] The video camera detects the displacement of the shadow line / light stripe from the position that the workpiece WP would occupy if it were not present on the conveyor. This displacement represents the thickness of the workpiece along the shadow line / light stripe, which may be processed by one or more feature recognition modules of the scan data processing engine 1008 to generate one or more views (e.g., a fat recognition (FRS) object view, a laser scattering object view, and a height mode object view, as shown in FIG. 11A). The length of the workpiece may be determined by the length of time the shadow line is produced by the workpiece. In this regard, an encoder may be integrated into the structure of the conveyor 812 to generate pulses at regular time intervals corresponding to the forward movement of the conveyor.

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

[0053] In some examples, at least two optical cameras, each with a different imaging process system, are used. 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 specific characteristics, such as the outer contour of the workpiece. Additionally, a second specialized camera, such as a multispectral or hyperspectral camera, can be used to acquire images / data of specific areas or characteristics of the workpiece, such as blood spots, fat streaks, etc. It should be understood that a single camera / scanner may alternatively be used to capture all the data necessary to generate various images for various imaging processes, etc.

[0054] The optical scanning station 906 may be configured to capture optical data used to generate images to detect the presence of certain visual characteristics such as object contour, height, width, points, area, fat to lean percentage, concavity, flatness, roundness, etc., any of which may be understood to be used as the second matching characteristic of the subprimal cut and the third matching characteristic of the subprimal cut in the optical scan (second scan type).

[0055] As described in U.S. Patent Nos. 10,654,185 and 10,721,947 (see above), which are incorporated herein by reference, before processing the results of the optical scan occurring at station 906 to identify the subprimal cut type, scan data processing engine 1008 of optimization computing device 902 may first analyze the data from X-ray scanning station 904 and optical scanning station 906 to verify that the workpiece scanned at station 906 is the same as the workpiece previously scanned at station 904 and / or whether the workpiece has moved or shifted during transfer between conveyors. In that regard, a comparison of the X-ray data and the optical data may be processed by scan data processing engine 1008 of optimization computing device 902.

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

[0057] One or more transformations or translations of the images / data may be performed to account for any movement / shifting of the workpieces on the conveyor 812, for example, using techniques described in U.S. Pat. No. 1,065,4185. For example, the transformations may include one or more of: a translation of the orientation of the workpiece; a translation of the rotation of the workpiece; a scaling of the size of the workpiece; and a shear distortion of the workpiece.

[0058] In some cases, a workpiece is removed from conveyor 812 before the removed workpiece reaches optical scanning station 906. In such a case, the next workpiece scanned at optical scanning station 906 will not match the scan data from X-ray scanning station 904 because such X-ray scan data corresponds to the removed workpiece. Accordingly, scan data processing engine 1008 of optimization computing device 902 determines that there is no match between the workpiece peripheral coordinate data sets from scanning stations 904 and 906. Accordingly, optical scanner 906 scans the next workpiece passing beneath scanning station 906 to determine whether such next workpiece matches the scan data of the workpiece scanned at X-ray scanning station 904 and transmitted to optimization computing device 902.

[0059] The scan data processing engine 1008 determines 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 removed workpiece was taken. The scan data processing engine 1008 matches 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 essential so that the location of bone or other detectable features in the workpiece WP located by the X-ray scanning station 904 can match the workpiece scanned by the optical scanning station 906 for use in identifying the subprimal cut type, as well as for controlling the operation of the portioner 818 to remove bone or other undesirable material from the workpiece or to trim / cut the workpiece.

[0060] The scan data processing engine 1008 can go through the "X-ray optical matching" process a finite number of times. One example of determining the number of data sets from the X-ray scan that must be checked 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 spacing + dimensional safety factor. For example, if there is a 9-foot distance between the X-ray scanner and the optical scanner, and the workpiece length is approximately 450 mm, the maximum number of data sets in the queue to be checked is calculated as 9 × 12 / (17.7 + 2 + 2) = 4.9, so five matching attempts are performed. The data set from the optical scanner is compared with five data sets from the X-ray scanner stored in the memory or data store of the optimization calculation device 902. For longer products, the number of data sets in the memory queue is fewer than for shorter work products. Also, if the distance between the scanners is sufficiently short, only one matching comparison is performed. It will also be understood that differences or changes in belt speed may alter the number of possible comparisons. Faster belt speeds may require greater spacing between products and / or a greater safety margin, and less time to make the necessary calculations.

[0061] If no match occurs between the x-ray scan and the optical scan, a "no match" error message is generated, the system proceeds to the next workpiece that arrives at the optical scanner 906, and the next step of searching for a new workpiece is initiated.

[0062] For example, if one workpiece is removed from the conveyor 812 after X-ray scanning but before optical scanning, only two matching attempts would be required before a match occurs. However, in the unlikely event that the workpiece WP is distorted (such as in the transfer from the first conveyor to the second conveyor) enough that the scan data processing engine 1008 fails to recognize the workpiece's X-ray image, after a given matching attempt, the workpiece will move down the conveyor 812 without being identified and / or cut / trimmed / portioned. An error message as described above may be generated, and the unidentified or uncut workpiece can be marked by the scan data processing engine 1008 and removed to a specific location for rework or other placement.

[0063] It can be appreciated that using the above-described "X-ray optical matching" process, it is not necessary to continuously track the position of the workpiece WP as it is transported from the X-ray scanning station 904 to the optical scanning station 906. Rather, the above-described methodology is used to match a workpiece scanned at the X-ray scanning station 904 with the same workpiece scanned at the optical station 906. Also, while the description herein may indicate that the system of the present disclosure may be used to identify the position of a workpiece on the conveyor 812 at one or more particular times, the specific position of the workpiece is not continuously tracked. Furthermore, using the above-described technique, it is not necessary to identify the position of the workpiece along the conveyor 812 at a particular time.

[0064] A second optical scanning station 908 may be located upstream of the optical scanning station 906 for use in capturing optical images / data of the workpieces WP before they are transferred from the first (scanning) conveyor to the second (partition) conveyor. The optical images / data captured by the optical scanning station 908 can be used to generate images to detect the presence of certain visual characteristics to verify that the workpiece scanned at station 906 is the same as the workpiece previously scanned at station 904, as described above, and / or to verify whether the workpiece has moved or shifted during transfer between conveyors. The second optical scanning station 908 may be located upstream or downstream of the X-ray scanning station 904. For example, as described in U.S. patent application Ser. No. 16 / 887,057, entitled "Determining the Thickness Profile of Work Products," the entirety of which is incorporated herein by reference, the second optical scanning station 908 may be used to scan the workpieces while they are located on the first conveyor.

[0065] Once a match between the X-ray scan and the optical scan occurs (and the optical scan is 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 an aligned scan for use in identifying the subprimal cut type. For example, an aligned scan of the workpiece may be generated by the scan data processing engine 1008, which maps an X-ray image of the workpiece scanned at the X-ray scanning station 904 to a (possibly distorted) optical image of the workpiece as scanned by the optical scanner 906. In one example, the aligned scan is generated by the scan data processing engine 1008 using the system and method described in U.S. Pat. No. 1,065,185. For example, the X-ray data may be mapped to the optical data, optionally with one or more transformations or translations of the image / data to account for any movement / shifting of the workpiece on the conveyor 812.

[0066] The aligned scans are sent to the image matching engine 1012 of the optimization computing device 902 for identifying / classifying subprimal cuts based on the data contained in the aligned scans. The aligned scans may also be stored in and retrievable from the subprimal image data store 1018 of the optimization computing device 902.

[0067] The registered scan includes at least a first matching characteristic (e.g., a bone region) that is shown in the X-ray image and a second matching characteristic (e.g., an object contour) that is shown in the optical image. In some cases, a third matching characteristic may be shown in either the X-ray image or the optical image. In some cases, a third matching characteristic may be shown in a scan of a third scan type that is used to generate the registered scan (i.e., mapped to the X-ray image and the optical image).

[0068] For example, in one example, one or more images generated by the third scanning station 910 are also used to generate the aligned scan. In that regard, after the workpiece WP is scanned at the optical scanning station 906, the workpiece WP may be moved by the conveyor 812 to pass underneath the third scanning station 910.

[0069] As can be appreciated from the above, the scanners of the identification assembly 816 are used to identify and segment the workpieces, as further described below. Information generated from the scanners may also be used to locate and remove undesirable materials, including foreign materials (e.g., plastics), from the workpieces, cut / slice / portion / trim / sort or package the workpieces, or automate other aspects of the processing system 804. For example, the identification assembly 816 may process and transmit the attribute data and other scanned data to the optimization computing device 902, and the optimization computing device 902 or another processor in the processing system 804 may use the information to control one or more aspects of the processing of the workpieces, such as trimming the workpieces. For example, the processing system 804 may incorporate one or more techniques described in patents incorporated by reference herein (e.g., U.S. Pat. Nos. 10,654,185, 7,651,388, 7,672,752, and 8,688,267).

[0070] In other embodiments, one or more of the scanners of the identification assembly 816 may be used to provide data to the input product range check engine 1010 of the optimization calculation device 902 to perform a subprimal cut product check before the product is further processed for identification / classification by the identification assembly 816. For example, the scanned x-ray and / or optical data may indicate that the workpiece being conveyed does not meet the threshold criteria for any of the subprimal cut types because it is too small / too large (e.g., larger or smaller than a certain weight or size), too irregular, etc. For example, an end piece (sometimes referred to as a "blade chop") cut from either the rib end 104 or the sirloin end 106 of a bone-in pork loin 102 may be smaller in weight and size (and similarly in thickness) than any of the subprimal cut types and therefore may not be identifiable as any of the subprimal cut types. In another example, trim pieces from a workpiece may not be identifiable as any of the subprimal cut types because they are small and / or irregular in size.

[0071] In such cases, input product range check engine 1010 can send data about those non-subprimal cut type workpieces to, for example, pickup station 820 so that the workpieces can be removed from the conveyor before being further processed by identification assembly 816 for identification. In another example, input product range check engine 1010 can send data about those non-subprimal cut type workpieces to sorter 822 so that the workpieces can be diverted from the identification process of identification assembly 816. In either case, the non-conforming workpieces may be removed from the workflow of identification assembly 816, thereby reducing the processing time of identification assembly 816.

[0072] In some examples, the input product range check engine 1010 may determine whether a scanned workpiece is a non-subprimal cut type based solely on the scanned x-ray data, e.g., based on its object contour. In that regard, the x-ray data alone may be used to identify these non-conforming workpieces and remove them from the workflow to reduce processing time. For example, the workpiece may be removed from the conveyor or otherwise diverted from processing before the workpiece is scanned by the optical scanning station 906 and before the matching and conversion of the x-ray and optical images occurs. In that regard, the workpiece may be removed from the conveyor or otherwise diverted from processing before the workpiece is scanned by 906.

[0073] If a non-conforming workpiece is removed from the workflow, the "X-ray optical match" process described above may be used to determine that the workpiece has been removed based on the X-ray scan data and the optical scan data in any order. Additionally or alternatively, the input product coverage check engine 1010 may generate information to send to other components of the processing system 804 (e.g., portioner 818, pickup station 820, sorter 822, packager 824, etc.) to account for the workpiece that has been diverted or otherwise removed.

[0074] 11B and 11C show computer-generated screenshots of registered scans 1102 of subprimal cuts, generated by mapping at least first and second images of a first and second scan type, such as from X-ray scanning station 904 and optical scanning station 906, where the same part numbers are used in FIGS. 11B and 11C for ease of reference. Each registered scan 1102 includes a mapped first scan of a first scan type (e.g., X-ray) showing a first matching characteristic 1104 (e.g., bone region or general outline or perimeter of the subprimal cut) and a second scan of a second scan type (e.g., optical) showing a second matching characteristic 1106 (e.g., general outline or perimeter of the subprimal cut or lean meat region). A third matching characteristic 1108 (e.g., lean meat region) may be shown in the registered scan 1102 by a scan of the second or third scan type.

[0075] As described above, the registered scan 1102 of the workpiece may be generated by the scan data processing engine 1008, which maps an X-ray image of the workpiece scanned at the X-ray scanning station 904 to a (possibly distorted) optical image of the workpiece as scanned by the optical scanner 906. In the example shown, the registered scan 1102 of the subprimal cut includes a first matching characteristic 1104 that is a bone region defined by data from the X-ray image, a second matching characteristic 1106 that is the general outline or perimeter of the subprimal cut defined by data obtained from either the X-ray image or the optical image, and a third matching characteristic 1108 that is a lean meat region obtained from the optical image or another image from the optical scanner 906 or 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 scattering object view image generated by the feature recognition module based on data captured from the optical scanning station 906. In that regard, FRS or laser scattering images can be used to identify the lean protein regions of the subprimal cuts in addition to the contours or perimeters of the subprimal cuts.

[0076] The X-ray image is mapped to the optical image to define at least a first and a second matching characteristic of the registered scan 1102, after performing any necessary transformations of the optical (or X-ray) image to account for any movement / shift of the workpiece on the conveyor, as described above. Data in the X-ray image can be used to define a first matching characteristic, such as bone regions, and data in the optical scan can be used to indicate a second matching characteristic, such as the overall contours of the subprimal cut. A third matching characteristic, such as lean protein regions, can also be defined by data from the optical scan (e.g., FRS or laser scattering image). In that regard, the third matching characteristic can be defined in the registered scan 1102 without the need to map a third scan type, thereby improving the processing time of the identification assembly 816.

[0077] The aligned scans 1102 of the subprimal cuts are sent by the scan data processing engine 1008 to an image matching engine 1012 for use in subprimal cut identification / classification. The image matching engine 1012 compares the aligned scans 1102 to a number of models, where each model is associated with a subprimal cut type, to identify the subprimal cut type.

[0078] 11B and 11C, the registered scan 1102 is shown aligned with one of a plurality of models 1110a-1110e, each associated with a subprimal cut type. Each model 1110a-1110e includes at least a first reference shape for detection of a first matching characteristic by a first scan type of the registered scans and a second reference shape for detection of a second matching characteristic by a second scan type of the registered scans. At least the first and second reference shapes of each model depend on the subprimal cut type associated with the model.

[0079] 11B, each of models 1110a-1110e includes a first reference shape for detecting a first matching characteristic defined by X-ray scanning, a second reference shape for detecting a second matching characteristic defined by optical scanning, and a third reference shape for detecting a third matching characteristic defined by optical scanning. The first, second, and third reference shapes are unique to each of models 1110a-1110e based on the model's representation of the expected shape of one or more regions or characteristics of the associated sub-primal cut.

[0080] 11B, model 1110c, shown mapped to aligned scan 1102, includes a first reference shape 1112 representing the expected shape of one or more bones of a center cut loin chop, a second reference shape 1114 representing the expected shape of the contour of a center cut loin chop, and a third reference shape 1116 representing the expected shape of the lean protein region of a center cut loin chop. Models 1110a, 1110b, 1110d, and 1110e each include first, second, and third reference shapes (not separately labeled) representing the expected shape of one or more bones, contours, and lean protein regions of a sirloin center chop, a sirloin pin bone, a center rib chop, and a rib end chop, respectively.

[0081] In one example, one of the models is associated with non-subprimal cut type workpieces (e.g., blade chops, trim, and / or end pieces of primal cuts) that do not meet the subprimal cut type threshold criteria. In such instances, the blade chops, trim, and / or end pieces may be identified by the identification assembly 816 using the model associated with the trim and / or end pieces of primal cuts. A model of non-subprimal cut types may be used in addition to or instead of the input product range check engine 1010.

[0082] The models are in a suitable computer-aided design (CAD) format, such as a 2D format, for comparing and matching the reference shape of the models with the characteristics (defined by the image features) of the aligned scan 1102. For example, the models may 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 may draw or otherwise generate the models using tools within the program based on accumulated data regarding the shapes, contours, etc. of the various subprimal cut types represented by the models. More specifically, the user may interact with the CAD software program to draw or generate (using tools within the program) at least a first reference shape and a second reference shape for each model, e.g., the contour of the entire object of the subprimal cut represented by the model and the bone region of the subprimal cut represented by the model. For ease of reference, each reference shape may be distinguished by a different color, line format, etc.

[0083] For example, the CAD software program may be configured to import scan data indicating subprimal cut characteristics that can be represented by various reference shapes in the model. For example, the CAD software program may be capable of processing matched X-ray and optical scan data of the subprimal cut and generating a model having at least a first reference shape and a second reference shape that represent first and second match characteristics of the subprimal cut based on the matched scan data. For example, the X-ray data may be used to define a first reference shape of the model that indicates the contour of the subprimal cut, the X-ray and / or optical data may be used to define a second reference shape of the model that indicates the bone region of the subprimal cut, and the optical data may be used to define a third reference shape of the model that indicates the lean protein region of the subprimal cut.

[0084] In other examples, the models may be created automatically using one or more machine learning models. For example, the discriminative image generation engine 826 of the model generation computing device 806 may use one or more machine learning models stored in the model data store 838 to generate a model as output based on images of multiple scans (e.g., aligned scans) as input. The multiple scans may be retrieved from the image / attribute data store 834 of the model generation computing device 806 and used to create training data (stored in the training data store 836) for training the machine learning models to generate models for each subprimal cut type.

[0085] In some examples, training data for training the machine learning model may include using scans from one of the scanning stations described herein (such as an X-ray scanner and an optical scanner). In some examples, one or more additional scanners or cameras may be used to collect scan data. In that regard, the subprimal cuts may be first scanned on a scanning conveyor used to capture scan data for training one or more of the machine learning models. In other examples, one or more additional scanners or cameras may be incorporated into processing system 804. The one or more additional scanners or cameras may include a low-complexity camera configured to capture visible light images of the subprimal cuts to define a contour reference shape for the model, such as when only contour data is needed to generate the model or when the contour data can be combined with X-ray data in a less complex manner.

[0086] The image matching engine 1012 of the optimization computing device 902 is configured to align the registered scan 1102 with each of the models 1110a-1110e to determine which of the multiple models 1110a-1110e best matches or aligns with the registered scan 1102 and to what extent the registered scan 1102 matches each model. In that regard, the image matching engine 1012 may execute an image matching / image recognition algorithm (hereinafter sometimes simply referred to as a “transformation algorithm”) configured to align at least one of the reference shapes of each model with a corresponding matching characteristic of the registered scan.

[0087] In one example, the image matching engine 1012 is configured to execute a transformation algorithm for each model of the plurality of models, the transformation algorithm including simultaneously aligning a first reference shape of the model to a first matching characteristic of a first scan type and a second reference shape of the model to a second matching characteristic of a second scan type (and optionally a third reference shape of the model to a third matching characteristic of a second or third scan type). The image matching engine 1012 may process the alignment data, which includes calculating a plurality of shape match values ​​based on the alignment of the first and second (and optionally third) matching characteristics with the first and second (and optionally third) reference shapes.

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

[0089] The transformation algorithm for simultaneous alignment of the reference shape of the model to the matching features of the registered scan may be implemented by the image matching engine 1012 using various techniques. For example, the image matching engine 1012 may perform at least one of resizing the model, rotating the model, flipping or mirroring the model, skew the model, shifting the model, etc. ("transforming the model") until the reference shape of the model is substantially aligned with the matching features of the registered scan. Conversely, or additionally, the image matching engine 1012 may perform at least one of resizing the registered scan, rotating the registered scan, flipping or mirroring the registered scan, skew the registered scan, shifting the registered scan, etc. ("transforming the registered scan") until the matching features of the registered scan are substantially aligned with the reference shape of the model.

[0090] In one example, the image matching engine 1012 performs a transformation algorithm on at least one of the model and reference scan, including reducing or minimizing the area difference between the reference feature of the model and the corresponding matching feature of the reference scan within a threshold area difference level (hereinafter, sometimes referred to as the "identical match area process"). For example, the identical match area process may include similar transformation or conversion techniques described in U.S. Pat. No. 1,065,4185 to align the X-ray scan and the optical scan to account for any movement / shift of the workpiece on the conveyor. For example, the identical match area process may include one or more of the following: orientation transformation of the model and / or reference scan; rotation transformation of the model and / or reference scan; scaling the size of the model and / or reference scan; or shear distortion of the model and / or reference scan.

[0091] In some examples, the image matching engine 1012 executes a transformation algorithm that includes an identical match region process that performs a point-to-point distance reduction process. For example, the point-to-point distance reduction process may be used to reduce the distance between points on the reference shape of the model and corresponding matching features of the reference scan (see, for example, the points shown on model 1110c in FIG. 11B). The point-to-point distance reduction process may be implemented using one or more optimization modules of the image matching engine 1012 using known techniques to minimize the distance between two points within a threshold level of distance. The point-to-point distance reduction process may be used instead of, or in addition to, the identical match region process to further improve the accuracy of the model to the reference scan match.

[0092] The point-to-point distance reduction process and / or identical match region process may be performed to simultaneously align a first reference shape of the model to a first matching characteristic, a second reference shape of the model to a second matching characteristic (and optionally a third reference shape of the model to a third matching characteristic), as described above. As described further below, the point-to-point distance reduction process and / or identical match region process may also or additionally be performed to align only one of the first, second, or third reference shapes of the model to a corresponding matching characteristic (such as a contour shape match) of the aligned scans.

[0093] The processing time of the image matching engine 1012 using the point-to-point distance reduction process and / or the identical match area process can be performed at a rate that supports the processing rate of the subprimal cuts in the processing system 804, such as 250 ms or less per workpiece. In some cases, using the point-to-point distance reduction process and / or the identical match area process can be performed even faster than using machine learning or other automated intelligence, and much faster than what can be supported by a human identifying the subprimal cut type. In that regard, the scanning types used in the systems and methods described herein exclude any types of scanning that can be performed by human observation that do not support the required processing rate of the subprimal cuts in the processing system 804.

[0094] Data regarding the alignment of the reference shape of the model with the match characteristics of the aligned scan may be used by the classification engine 1014 to generate a shape match value indicative of the alignment of the model with the aligned scan, which may be stored in and retrievable from a shape match / attribute data store 1018 of the optimization calculation device 902.

[0095] The shape match value may be based on a measurement of the overlap of each fiducial shape of the model with the corresponding matching feature of the aligned scan. For example, the shape match value may be based on the out-of-shape (or in-shape) percentage between at least one of the first, second, and third model fiducial shapes and the corresponding first, second, and third matching features of the aligned scans during alignment. For example, the out-of-shape value may be determined as a percentage, where 0% is a perfect match between the model fiducial shape and the matching feature of the aligned scans. The out-of-shape value may be determined, for example, based on the percentage or area of ​​each fiducial shape that overlaps with the area of ​​the corresponding matching feature.

[0096] In one example, a shape match value may be calculated each time at least one of the model's reference shape and the aligned scan is transformed to align the model's reference shape with the match characteristics of the aligned scan. As an example, if the model's reference shape is 31% out of alignment with the corresponding match characteristics of the aligned scan in a first rotation and alignment of the model (the "first configuration"), the model may be given a match shape value of 8 for that first configuration. In comparison, if the model's reference shape is only 11.2% out of alignment with the corresponding match characteristics of the aligned scan in a second rotation and alignment of the model (the "second configuration"), the model may be given a match shape value of 3 for that second configuration. The match shape values ​​may be averaged to assign a model match score indicative of the alignment of the model's reference shape with the match characteristics of the aligned scan, which may also be stored in and retrievable from the shape match / attribute data store 1018 of the optimization computing device 902.

[0097] In one example, the shape match value may be calculated after a final transformation of the reference shape of the model and / or the aligned scan. For example, the image matching engine 1012 may determine a best or final alignment of the reference shape of the model and the match characteristics of the aligned scan based on the % misalignment of the model and aligned scan at various rotations / alignments. The shape match value may then be calculated on the final aligned configuration of the model and aligned scan. The shape match value may alternatively be determined in any other suitable manner.

[0098] In one example, the shape match values ​​may also be based on one or more algorithms executed by an optimization module of the image matching engine 1012, such as values ​​generated during the point-to-point distance reduction process and / or the identical match region process described above, or during one or more other image matching / image recognition algorithms "transformation algorithms." In that regard, the shape match values ​​may include a model match "score" between the aligned scan and each model of the multiple models. Various shape match values ​​(e.g., shape outliers and model match scores) may be normalized to correspond with other shape match values ​​and / or weighted according to their importance in determining the alignment between the model and the aligned scan.

[0099] In some examples, the shape match value and / or corresponding model match score may depend on a prioritization or importance of the alignment of one or more of the reference shapes of the model with one or more of the match characteristics of the aligned scan. For example, in some cases, it may be more important to align the contour match characteristics of the aligned scan with the contour reference shape of the model compared to the lean and / or bone regions. Similarly, in some cases, it may be more important to align the bone region match characteristics of the aligned scan with the bone region reference shape of the model compared to the lean and / or contour regions. In that regard, the identification assembly 816 may be used to assign a greater weight for calculations to the match of the first reference shape to the first match characteristic than a weight assigned to the match of the second (and optionally third) reference shape to the second (and optionally third) match characteristic. The assigned weights may then be incorporated into the calculation of the match shape value and / or model match score.

[0100] In some examples, a user of the processing system 804 may set weight preferences for the alignment of one or more of the reference features of the model with one or more of the matching properties of the aligned scans (e.g., generated by the image matching engine 1012) via a user interface of the optimization computing device 902. For example, the user may navigate to a window containing sliders or toggle bars to set the importance of the alignment of each feature / property. The importance of the alignment of each feature / property may be independently controllable or, instead, may depend on the weight or importance value given to at least one of the other features / property.

[0101] In some examples, the image matching engine 1012 may automatically assign a weight to each feature / feature alignment based on characteristics of the raw incoming workpiece supply, e.g., transmitted from the raw workpiece supply / demand engine 830 of the workpiece utilization computing device 808, requirements for finished workpieces, e.g., transmitted from the finished workpiece supply / demand engine 832 of the workpiece utilization computing 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 store 1022 to assign a weight to each feature / feature alignment as output based on characteristics of the raw incoming workpiece supply, transmitted requirements for finished workpieces, or other criteria as input.

[0102] As described above, in one example, the image matching engine 1012 simultaneously aligns all reference features of the model to all corresponding matching features of the aligned scans to determine a shape match value. In another example, the image matching engine 1012 is configured to perform a transformation algorithm that includes aligning fewer than all reference features of each model to corresponding matching features of the aligned scans, and then aligning the remaining or all reference features of each model to corresponding matching features. As a specific example, the transformation algorithm may include first performing a contour shape match between the model and the aligned scans, and then aligning one or more of the other model reference features to corresponding matching features of the aligned scans.

[0103] In one example, the transformation algorithm may include aligning a reference shape (e.g., second reference shape 1114) indicating an expected shape of the contour of the sub-primal cut of each model with a match feature (e.g., second match feature 1106) of the aligned scans indicating the contour of the entire object of the sub-primal cut, and generating a first match shape value based on this first alignment. The shape match value may be based on a measure of overlap, e.g., an out-of-shape percentage, of the second reference shape of the model with the second match feature of the aligned scans, as described above.

[0104] After aligning the first reference shape and the first matching characteristic, the transformation algorithm may then include simultaneously aligning the first reference shape and the second (and optionally third) reference shape with the first matching characteristic and the second (and optionally third) matching characteristic to generate a second matching shape value, as described above. In some examples, after aligning the first reference shape and the first matching characteristic, the transformation algorithm may include further aligning only the second (and optionally third) reference shape and the second (and optionally third) matching characteristic, since the first reference shape and the first matching characteristic were aligned during the first step of the transformation algorithm. The second matching shape value may be calculated based on the further alignment and added to or otherwise combined with the first matching shape value to predetermine a model that is consistent with the registered scan 1102.

[0105] Non-limiting examples of shape match values ​​(including a first shape match value represented as a shape outlier and a second shape match value represented as a model match score) generated for the aligned scans (such as aligned scan 1102) of each model (such as models 1110a-1110e) are shown in the exemplary matrix below.

[0106] [Table 1]

[0107] To generate the data in the matrix shown in Table 1, the image matching engine 1012 may be configured to run a transformation algorithm for each model that includes aligning at least one reference shape of the model (e.g., the model's outline reference shape or second reference shape 1114) with a corresponding match feature (e.g., second match feature 1106) of the aligned scan and generating a first match shape value, e.g., an out-of-shape percentage (%), based on this first alignment. Based on this alignment, the sirloin pin bone model has a shape match value (out-of-shape percentage) of only 11%, while the center cut loin chop model has a shape match value (out-of-shape percentage) of 16%, and other models have even higher shape match values ​​(out-of-shape percentages). The transformation algorithm may be run again to simultaneously align each model's first and second (and optionally third) reference shapes with the first and second (and optionally third) match features of the aligned scan 1102. A second match shape value, e.g., a model match score, may be calculated based on simultaneous alignment of the first reference shape and second (and optionally third) reference shape of each model with the first match characteristic and second (and optionally third) match characteristic of the aligned scan 1102.

[0108] In some cases, model match scores correlate with shape outliers. However, such correlations are not always true. For example, the matrix in Table 1 for the sirloin pin bone model has a model match score of 51.8 (with an out-of-shape percentage of only 11.2%), while the model match score for the center cut loin chop model is 49.4 (with a higher out-of-shape percentage of 16%). For example, match features that represent the overall object contour of the aligned scans may best match the contour reference shape of the sirloin pin bone model, while match features that represent bone regions and / or lean protein regions may better match the center cut loin chop model. Such poor matching may occur when the model is scaled up or down to match a particular reference shape against the match features. In that regard, additional data on the attribute characteristics of subprimal cuts would be beneficial in determining the best model match for a subprimal cut.

[0109] Additionally, a subprimal cut may not contain all of the attributes of a particular subprimal cut type, even if the subprimal cut is shaped like a particular type of cut. For example, a subprimal cut may be shaped like a sirloin cut, but may not have the appropriate number of bones, bone-to-meat ratio, fat percentage, etc. for the subprimal cut to qualify as a sirloin cut. In that regard, each model also includes multiple attribute characteristic value ranges for determining whether a subprimal cut has the characteristics of a particular subprimal cut type.

[0110] In one example, the shape match values ​​(e.g., % out of shape and model match score) may be added to or otherwise combined with the attribute scores to determine a total overall score for the model. The attribute scores may be calculated from the attribute match values ​​generated by analyzing multiple identified attribute characteristics of the subprimal cuts compared to the attribute characteristic value ranges identified for each model. The shape match values ​​and / or attribute scores may be normalized and / or weighted according to their importance in determining the best model match for the aligned scans.

[0111] The attribute characteristics represent particular aspects of the subprimal cut that can be further used to determine the best model match for the subprimal cut. For example, the attribute characteristics of a subprimal cut 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, contour complexity, major axis, lean complexity, blood spots, pits, blemishes, parasites, unwanted bone, etc.

[0112] Attribute characteristics of the subprimal cuts may be determined from at least one of the scans used to generate the aligned scans by the attribute data engine 1014. In that regard, the attribute data engine 1014 may receive or retrieve scanned images from one of the scan data processing engine 1008 and the subprimal image data store 1018 for use in determining the attribute characteristics.

[0113] In one example, the bone length and area of ​​the subprimal cut may be determined based on one or more measurements of the bone area shown in the x-ray scan image, and the bone count of the subprimal cut may be determined based on counting the number of bone areas shown in the x-ray image. As another example, the offset of the bone edge of the subprimal cut may be based on one or more measurements of the bone area shown in the x-ray scan image compared to its position relative to the object contour determined from the x-ray or optical scan. As another example, the bone-to-meat ratio of the subprimal cut may be based on one or more measurements of the bone area shown in the x-ray scan image compared to the measured area of ​​the entire cut determined by the x-ray or optical scan.

[0114] As yet another example, the fat-to-lean percentage of a subprimal cut may be based on an image generated and analyzed by a feature recognition module using optical scanning. For example, a feature recognition module (of the scan data processing engine 1008, or alternatively / additionally of the attribute data engine 1014) may be used to generate and / or analyze an optical image to determine the fat-to-lean percentage of a subprimal cut. For example, the fat-to-lean percentage of a subprimal cut may be based on color distinctions in a grayscale image (e.g., white areas vs. gray / black areas), such as the "normal FRS object view" image shown in FIG. 11A.

[0115] Additionally or alternatively, a feature recognition module may be used to determine the fat-to-lean percentage of a subprimal cut based on an analysis of the height across the top region of the subprimal cut using a height mode object view, such as the "height mode object view" image shown in FIG. 11A. Over time, the lean portion of a pork chop may sag, but the bone may not, and the fat portion may sag according to its firmness or other factors. Thus, a feature recognition module may be used to determine the fat-to-lean percentage of a subprimal cut based on the measured height profile of the subprimal cut.

[0116] Any number of attribute characteristics of the subprimal cuts may be determined by the attribute data engine 1014 from at least one of the scans used to generate the registered scan. As yet another example, each of the models associated with a subprimal cut type may include a region of interest (ROI) associated with at least one of the match characteristics and the attribute characteristics. The ROI may be defined, at least in part, by scan data related to the match characteristics and / or the attribute characteristics. For example, ROIs may be defined for bone regions, fat streak regions, etc. based on accumulated scan data identifying attributes related to those regions. ROIs may 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.

[0117] The ROI may be used, for example, to target identification of attribute characteristics when processing the aligned scans by the identification assembly 816. For example, the ROI may be used to search for a particular attribute of the subprimal cut shown in the aligned scan within the ROI associated with that attribute. In some examples, the ROI may be used to perform a refined analysis of the aligned scans, for example, to look for a particular attribute only in the specified ROI, after an initial analysis has been performed to identify at least some of the attribute characteristics.

[0118] The attribute characteristic data is sent to an attribute data engine 1014 for comparison of the attribute characteristic value ranges identified for each model. The attribute characteristic data may also be stored and retrievable from a shape match / attribute data store 1018 of the optimization calculation device 902.

[0119] Attribute property value ranges may be identified for each model manually (e.g., generated by attribute data engine 1014), such as by user-set value ranges via a user interface of optimization calculation device 902. For example, a user may navigate to a window containing input boxes for adding value ranges for particular attribute properties that are pre-selected, selected from a list, manually added, etc. for the model.

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

[0121] 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 store 838 to define attribute characteristic value ranges as outputs based on characteristics of the raw incoming workpiece supply as inputs (e.g., received from the workpiece utilization computing device 808), submitted finished workpiece requirements, or other criteria.

[0122] In some examples, the attribute data generation engine 828 uses one or more machine learning models stored in the model data store 838 to define attribute characteristic value ranges as outputs based on measured attribute data of particular subprimal cut types as inputs. For example, if a subprimal cut is identified as a particular type (e.g., sirloin), the measured or identified attribute data for that subprimal cut can be stored in the image / attribute data store 834 of the model generation computing device 806 and can be categorized based on where it lies within the attribute characteristic value ranges for that type (e.g., sirloin cut 1 vs. sirloin cut 2). The cut categorized data for the subprimal cut can be used to define attribute characteristic value ranges for models of that subprimal cut type. The machine learning models may be trained to define attribute characteristic value ranges for each model using the measured attribute data of particular subprimal cut types as training data (stored in the training data store 836).

[0123] In some examples, the attribute match value determined with reference to the identified attribute characteristics for the attribute characteristic value range may depend on the prioritization or importance of the particular attribute characteristic. For example, in some examples, it may be more important for a subprimal cut to have less than a certain number of bones or fat compared to other attributes, such as bone-to-edge distance, bone length, etc. Accordingly, the attribute match value of such more important attributes may be weighted higher than other attributes when generating the attribute score. Furthermore, as noted above, the attribute score may generally be weighted higher than the match shape value based on user preferences or other data.

[0124] For example, a user of the processing system 804 may set weight preferences for attribute match values ​​(e.g., generated by the image matching engine 1012) via a user interface of the optimization calculation unit 902. For example, the user may navigate to a window containing sliders or toggle bars to set the importance of each attribute match value. The importance of each attribute match value may be independently controllable or, alternatively, may depend on the weight or importance value given to at least one of the other attribute match values.

[0125] In some examples, the image matching engine 1012 may automatically assign a weight to each attribute match value based on characteristics of the incoming raw workpiece supply, e.g., transmitted from the raw workpiece supply / demand engine 830 of the workpiece utilization computing device 808, requirements for finished workpieces, e.g., transmitted from the finished workpiece supply / demand engine 832 of the workpiece utilization computing 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 store 1022 to assign a weight to each attribute match value as output based on characteristics of the incoming raw workpiece supply, transmitted requirements for finished workpieces, or other criteria as input.

[0126] The attribute property value ranges for each model are sent to the attribute data engine 1014, which compares the attribute properties for each aligned scan to generate an attribute match value. The attribute property value ranges may also be stored and retrievable from the shape match / attribute data store 1018 of the optimization calculation device 902.

[0127] Data regarding identified attribute characteristics of the aligned scans that fall within or are otherwise compared to the model's attribute characteristic value range may be used by the attribute data engine 1014 to generate an attribute match value for each model. The generation or calculation of the attribute match value may be based on at least one of whether a measured property of each of the identified plurality of attribute characteristics falls within a corresponding attribute characteristic value range, a deviation of the measured property of each of the identified plurality of attribute characteristics from a corresponding attribute characteristic value range, and a deviation of the measured property of each of the identified plurality of attribute characteristics from a corresponding mean attribute characteristic value and / or a corresponding median attribute characteristic value. As described above, weights may be assigned to one or more attribute characteristics based on their importance in determining model match for the aligned scans.

[0128] Additionally, in some examples, attribute match values ​​and / or attribute scores may be used to identify non-subprimal cut type artefacts (e.g., blade chops, trim, and / or end pieces of primal cuts) because the attribute characteristics of the artefacts do not meet the threshold criteria for the subprimal cut type. For example, blade chops, trim, and / or end pieces may be identified by the identification assembly 816 because they have a thickness or height, mass, lack of bone, or weight outside any value range for the subprimal cut type. In such cases, even without a model match, the non-subprimal cut type may be identified as a blade chop, trim, etc. Use of attribute match values ​​and / or attribute scores may be used to identify non-subprimal cut type artefacts in addition to, or instead of, the input product range check engine 1010.

[0129] The attribute data engine 1014 may process the attribute match values ​​with one or more algorithms to generate an attribute "score" of the aligned scan for each model 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 normalizing and / or weighting the values). In one example, the attribute score may simply include the sum of a first measured property and a second (and optionally a third, fourth, etc.) measured property of a first identified attribute characteristic and a second (and optionally a third, fourth, etc.) identified attribute characteristic, such as artefact thickness and artefact weight.

[0130] The attribute match values ​​for each model may be stored in, and retrievable from, the shape match / attribute data store 1018 of the optimization computation unit 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 a model are added to or otherwise combined with that model's shape match values ​​(e.g., % out of shape and model match score) to determine the model's overall score. The overall score may be calculated using any well-known mathematical method, such as by simply combining the values ​​(optionally after normalizing and / or weighting the values).

[0131] The classification engine 1014 compares the total score of each model with the total scores of other models, and the lowest (or possibly highest) total score indicates the best model match, which is the subprimal cut type to be assigned to the subprimal cut of the aligned scan. For example, when matched with a subprimal cut type (e.g., from the cost optimizer module), the lowest total score may indicate the lowest cost for the subprimal cut.

[0132] Non-limiting examples of identification process results (e.g., shape outliers, model match scores, attribute scores, and total overall scores) for an aligned scan (such as aligned scan 1102) compared to each model (such as models 1110a-1110e) are shown in the following exemplary matrix in Table 2, which builds on the matrix shown in Table 1 above and further includes attribute scores and overall scores.

[0133] [Table 2]

[0134] As can be seen, the aligned scans used to generate the matrix in Table 2 best match the sirloin pin bone model with a total score of 66.8 compared to higher scores for the other models. Therefore, the sirloin pin bone model is identified or assigned as the subprimal cut type for the subprimal cuts of the aligned scans.

[0135] At least one of the shape match value, the attribute score, and the total overall score may be used to further assign a subprimal cut type classification for the subprimal cut. For example, if the model's total score falls within a certain range, it may be classified as subprimal cut 1 versus subprimal cut 2. Referring to one of the specific examples described above, the first chop 108 shown in FIG. 2 includes a spinous muscle 208 that is larger than a certain size and a certain amount of bone, which may affect the attribute score and therefore the total score. Thus, the rib eye classification assigned to the first chop 108 may be rib eye chop 1 versus rib eye chop 2. The type of chop (e.g., rib eye versus center cut) and the chop classification (e.g., rib eye chop 1 versus rib eye chop 2) can ultimately determine how the chop is used (e.g., sorting, packing, etc.) for value sorting and / or value optimization of chop usage. Classification data can also be used as input in one or more machine learning models to automatically generate attribute characteristic value ranges for each model, as described above.

[0136] In some cases, the model's total score (and / or any of the individual values ​​or scores that make up the total score) may fall within a particular range for a first subprimal cut type but may be assigned to a second subprimal cut type having a different range, provided that the range is within a particular tolerance. Such subprimal cut type reassignment may be based, for example, on finished workpiece requirements transmitted from the finished workpiece supply / demand engine 832 of the workpiece utilization calculation device 808, or other criteria. For example, if a subprimal cut is assigned as a sirloin pin bone and is within at least one particular tolerance of the value / score ranges, but there is higher demand for center cut loin chops, the subprimal cut may instead be assigned as a center cut loin chop. Such tolerances may be set manually by a user (e.g., using a "bump check" module) or automatically by the classification engine 1016 and / or one or more machine learning models used by the classification engine 1016.

[0137] 12 is a flow chart illustrating a non-limiting example of a method 1222 for determining a subprimal cut type for a subprimal cut that may be implemented by one or more engines of optimization computing device 902. Method 1222 may be implemented for subprimal cuts transported along a conveyor of a processing system, such as processing system 804.

[0138] From a 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 associated with a subprimal cut type. The plurality of models may be generated manually, for example, using one or more machine learning models, or using other methods, for example, using a computing device configured to run a CAD software program for creating 2D and / or 3D designs. The plurality of models may be stored in the subprimal image data store 1018 for retrieval by the image matching engine 1012 in performing further aspects of the method.

[0139] Each model of the plurality of models includes at least a first reference shape for detecting a first matching characteristic by a first scan type and a second reference shape for detecting a second matching characteristic by a second scan type. For example, each model may include a first reference shape representing the expected shape of one or more bones of a subprimal cut, a second reference shape representing the expected shape of a contour of the subprimal cut, and a third reference shape representing the expected shape of a lean protein region of the subprimal cut, as shown in example model 1110C of FIG. 11B. A model may include any other combination of reference shapes.

[0140] While the reference shape of a model helps determine whether a subprimal cut is shaped like a particular type of cut, a subprimal cut may not include all of the attributes of a particular subprimal cut type. For example, a subprimal cut may be shaped like a sirloin cut, but may not have the appropriate number of bones, bone-to-meat ratio, fat percentage, etc. for the subprimal cut to qualify as a sirloin cut. In that regard, each model also includes multiple attribute characteristic value ranges for determining whether a subprimal cut has the attribute characteristics of that subprimal cut type. The attribute characteristic value ranges may be identified for each model manually or automatically, such as by using one or more machine learning models.

[0141] At block 1204, the processor 1002 of the optimization computing device 902 receives aligned scans of the subprimal cut, including a first scan of a first scan type exhibiting a first matching characteristic and a second scan of a second scan type exhibiting a second matching characteristic. The aligned scans may be generated by the scan data processing engine 1008 upon receiving scan data from at least the first and second scanners (such as the optical scanning station 906 and the X-ray scanning station 904). For example, the aligned scan may be defined by an X-ray image exhibiting the first matching characteristic (e.g., bone region) mapped to an optical image exhibiting the second matching characteristic (e.g., object contour), as shown in the exemplary aligned scan 1102 of FIG. 11B. The aligned scan 1102 may also include a third scan of the second or third scan type exhibiting a third matching characteristic. For example, the third scan may be an FRS image generated from an optical scan showing, for example, the lean protein region of a subprimal cut, as shown in exemplary registered scan 1102 of FIG. 11B. The registered scan may include any other combination of scan types and / or matching characteristics. The registered scan may be stored in the subprimal image data store 1018 for retrieval by the image matching engine 1012 in performing further aspects of the method.

[0142] At block 1206, the optimization computing device 902 identifies multiple attribute characteristics of the subprimal cut using at least one of the first and second scan types of the aligned scans. For example, the attribute data engine 1014 may identify, for example, bone area, bone volume, offset relative to bone edges from an X-ray scan, object contour from an X-ray or optical scan, fat percentage from an FRS image generated by the optical scan, thickness based on a height map generated by the optical scan, etc. The attribute characteristic data may be stored in a shape match / attribute data store 1020 for retrieval by the classification engine 1016 in performing further aspects of the method.

[0143] Blocks 1210, 1212, and 1214 of method 1222 are performed for one model starting at block 1208, after which, at block 1216, the steps of blocks 1210, 1212, and 1214 are performed for the next model.

[0144] In block 1210, for each model, the optimization computing device 902 aligns at least a first fiducial shape of the model to corresponding matching features of the aligned scans. For example, the optimization computing device 902 may simultaneously align at least a first fiducial shape and a second fiducial shape of the model to at least a first matching feature and a second matching feature of the aligned scans. In that regard, the image matching engine 1012 may execute a transformation algorithm for each model of the plurality of models, the transformation algorithm including simultaneously aligning the first fiducial shape of the model to the first matching feature of the first scan type, the second fiducial shape of the model to the second matching feature of the second scan type (and optionally, the third fiducial shape of the model to the third matching feature of the third scan type). Prior to block 1210, for each model, the optimization computing device 902 may first perform a contour shape match between the model and the aligned scans, and then execute a transformation algorithm including simultaneously aligning one or more of the other model fiducial shapes to corresponding matching features of the aligned scans.

[0145] At block 1212, for each model, the image matching engine 1012 may process the alignment data, including, for example, calculating multiple shape match values ​​based on contour shape matching of the model with the aligned scans and simultaneous alignment of the first and second (and optionally third) match characteristics with the first and second (and optionally third) reference shapes. Data regarding the alignment of the reference shape of the model with the match characteristics of the aligned scans may be used by the classification engine 1014 to generate a shape match value indicative of the alignment of the model with the aligned scans, which may be stored in and retrievable from a shape match / attribute data store 1020 of the optimization computing device 902.

[0146] The shape match value may be based on a measure of overlap of each fiducial feature of the model with the corresponding match feature of the aligned scan. In that regard, the shape match value may include a value indicating the out-of-shape (or in-shape) percentage between the model's outline shape and the aligned scan, and / or may be based on the out-of-shape (or in-shape) percentage between the first, second, and third model fiducial features and the first, second, and third match features during simultaneous alignment. The shape match value may also include a model match “score” generated by one or more optimization modules for the aligned scan 1102 based on the simultaneous alignment of the first, second, and third model fiducial features with the first, second, and third match features (e.g., based on a point-to-point distance reduction process and / or an identical match region process). In some examples, the out-of-shape value and / or the model match score may depend on the prioritization or importance of the alignment of one or more of the model's fiducial features with one or more of the match features of the aligned scan.

[0147] In one example, the shape match value may be calculated each time the reference shape of the model and / or the registered scan are transformed to align the reference shape of the model with the matching characteristics of the registered scan. In another example, the shape match value may be calculated after the final transformation of the reference shape of the model and / or the registered scan.

[0148] In block 1214, for each model, the optimization computing device calculates a plurality of attribute match values ​​based on the identified plurality of attribute characteristics of the subprimal cut compared to the attribute characteristic value range of the model. Data regarding identified attribute characteristics of the aligned scans that fall within or otherwise compare to the attribute characteristic value range of the model may be used by the attribute data engine 1014 to generate an attribute match value for each model. For example, the attribute data engine 1014 may process the attribute match values ​​with one or more algorithms to generate an attribute "score" for the aligned scan for each model of the plurality of models. In some examples, the attribute match value and / or attribute "score" may depend on the prioritization or importance of one or more of the attribute characteristics. The attribute match values ​​for each model may be stored in and retrievable from the shape match / attribute data store 1018 of the optimization computing device 902.

[0149] In block 1218, the optimization calculation unit 902 uses the match shape values ​​and attribute match values ​​to determine the best match between the model and the aligned scan. For example, the classification engine 1016 may combine each model's shape outlier value, each model's model match "score," and each model's attribute scores to calculate an overall "best model match" score.

[0150] In block 1218, the optimization computing device 902 assigns a subprimal cut type to the subprimal cut based on the best model match. For example, the classification engine 1016 may compare the total score of each model with the total scores of the other models, and the lowest (or possibly highest) total score indicates the best model match, which is the subprimal cut type that should be assigned to the subprimal cut of the aligned scan.

[0151] Once the subprimal cut type is identified, the subprimal cut may be further processed according to its type. For example, if a subprimal cut is identified as a particular type, it may be designed for trimming, packing into a particular package, etc. In some cases, the best model match score may indicate that the subprimal cut is a non-subprimal cut type artifact (e.g., blade chops, trim, and / or end pieces of a primal cut) that does not meet the threshold criteria for the subprimal cut type. For example, the best model match score may be outside the range of acceptable scores for the identifiable subprimal cut type. In such cases, the non-subprimal cut type artifact may be diverted from further processing, pick-up, etc.

[0152] 13 is a flowchart illustrating a non-limiting example of a method 1302 for generating multiple models, each associated with a subprimal cut type, using one or more machine learning models, that may be implemented by one or more engines of model generation computing device 806. Method 1302 may be implemented to generate models for use by optimization computing device 902 in identifying subprimal cut types being transported along a conveyor of a processing system, such as processing system 804.

[0153] From a start block, the method 1302 proceeds to block 1304, where the identification image generation engine 826 of the model generation computing device 806 receives a plurality of aligned scans of sub-primal cuts, each of the aligned scans including a first scan of a first scan type indicative of a first matching characteristic of the sub-primal cut and a second scan of a second scan type indicative of a second matching characteristic of the sub-primal cut. The aligned scans may be stored and / or retrieved from the image / attribute data store 834 of the model generation computing device 806.

[0154] In block 1306, the discrimination image generation engine 826 uses one or more machine learning models to generate a model of each subprimal cut type using the aligned scans as input, with each generated model including a first reference shape representing a first matching characteristic from a first scan type of the aligned scans of the plurality of subprimal cuts and a second reference shape representing a second matching characteristic from a second scan type of the aligned scans of the plurality of subprimal cuts.

[0155] For example, the discriminative image generation engine 826 of the model generation computing device 806 may use one or more machine learning models stored in the model data store 838 to generate a model as output based on images of the multiple aligned scans as input. The multiple aligned scans may be retrieved from the image / attribute data store 834 of the model generation computing device 806 and used to create training data (stored in the training data store 836) for training the machine learning models to generate models for each subprimal cut type.

[0156] In block 1308, the identified image generation engine 826 of the model generation computing device 806 may also receive the identified attribute characteristics of each sub-primal cut of each of the aligned scans. The identified attribute characteristics for each sub-primal cut of each of the aligned scans may be stored and / or retrieved from the image / attribute data store 834 of the model generation computing device 806.

[0157] In block 1308, the discriminative 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 characteristic value ranges for each model using the plurality of identified attribute characteristics of each subprimal cut as input. The plurality of identified attribute characteristics of each subprimal cut as input may be retrieved from the image / attribute data store 834 of the model generation computing device 806 and used to create training data (stored in the training data store 836) for training the machine learning models to generate a plurality of attribute characteristic value ranges for each model for each subprimal cut type.

[0158] 14A and 14B show a flowchart illustrating a non-limiting example of a method 1400 for training one or more machine learning models to generate a plurality of models, each associated with a subprimal cut type, that may be implemented by one or more engines of model generation computing device 806. Method 1400 may be implemented to train one or more machine learning models to generate models for use by optimization computing device 902 in identifying subprimal cut types being transported along a conveyor of a processing system, such as processing system 804.

[0159] From a start block, the method 1400 proceeds to block 1304, where the identification image generation engine 826 of the model generation computing device 806 receives a first training data set including aligned scans of a plurality of subprimal cuts, each of the aligned scans including a first scan of a first scan type indicative of a first matching characteristic of the subprimal cut and a second scan of a second scan type indicative of a second matching characteristic of the subprimal cut. Each of the aligned scans is associated with a subprimal cut type, such as a type assigned by the identification assembly 816. The aligned scans may be stored and / or retrieved from the image / attribute data store 834 of the model generation computing device 806.

[0160] In some examples, method 1400 may be used to train one or more machine learning models to generate multiple models, each associated with a subprimal cut type, where the subprimal cut type is defined by at least one of consumer preference, the individual and packaged value of the subprimal cut, or other criteria. For example, rather than associating each model with a subprimal cut type based on its cut location (e.g., chop location along the pork loin), models for a subprimal cut type may be defined by the characteristics of those subprimal cuts in higher value categories. Data related to training one or more machine learning models to generate multiple models of a subprimal cut type based on its higher value characteristics may be received or retrieved from finished workpiece supply / demand engine 832 of workpiece utilization computing device 808.

[0161] In block 1406 , the discriminative image generation engine 826 of the model generation computing device 806 adds the first training data set for each subprimal cut type to the training data store 836 of the model generation computing device 806 .

[0162] In block 1408, the discriminative image generation engine 826 of the model generation computing device 806 uses the information stored in the training data store 836 as input to train one or more machine learning models to generate a model for each subprimal cut type, where each model includes a first reference shape representing a first matching characteristic from a first scan type of the aligned scans of the multiple subprimal cuts and a second reference shape representing a second matching characteristic from a second scan type of the aligned scans of the multiple subprimal cuts.

[0163] In block 1410, the discriminative image generation engine 826 of the model generation computing device 806 stores one or more machine learning models in the model data store 838 for retrieval and use by the discriminative image generation engine 826 when later generating multiple models, such as using the method 1302.

[0164] At block 1412, the attribute data generation engine 828 of the model generation computing device 806 may receive a second training data set including a plurality of identified attribute characteristics for each sub-primal cut of each of the aligned scans. The identified attribute characteristics of each sub-primal cut of each of the aligned scans are associated with a sub-primal cut type, such as the type assigned by the identification assembly 816 (and / or the type identified by the finished workpiece supply / demand engine 832 of the workpiece utilization computing device 808). The attribute data may be stored and / or retrieved from the image / attribute data store 834 of the model generation computing device 806.

[0165] In block 1414, the attribute data generation engine 828 of the model generation computing device 806 adds the second training data set for each subprimal cut type to the training data store 836.

[0166] In 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 store 836 to generate one or more attribute characteristic value ranges for each model for each subprimal cut type.

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

[0168] 15 shows a flowchart illustrating a non-limiting example of a method 1500 for assigning certain subprimal cut types to subprimal cuts using one or more machine learning models, which may be implemented by one or more engines of optimization computing device 902. Method 1500 may be implemented to use one or more machine learning models to identify the subprimal cut type of subprimal cuts being transported along a conveyor of a processing system, such as processing system 804.

[0169] From a start block, the method 1500 proceeds to block 1502, where the classification engine 1016 of the optimization computing device 902 receives aligned scans of sub-primal cuts aligned with each of a plurality of models (e.g., aligned with one or more of the transformation algorithms of the scan data processing engine 1008 described above). Each of the aligned aligned scans and models may be retrieved from the shape match / attribute data store 1020.

[0170] Each aligned scan includes a first scan of a first scan type exhibiting a first matching characteristic and a second scan of a second scan type exhibiting a second matching characteristic. Each model is associated with a subprimal cut type, where each model includes at least a first reference shape for detection of the first matching characteristic by the first scan type and a second reference shape for detection of the second matching characteristic by the second scan type. Each model also includes one or more attribute characteristic value ranges that can be retrieved from the shape matching / attribute data store 1020.

[0171] At block 1506 , the classification engine 1016 of the optimization computing device 902 receives a plurality of identified attribute characteristics of the subprimal cuts, which may be retrieved from the shape match / attribute data store 1020 .

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

[0173] In block 1510, the classification engine 1016 of the optimization computing device 902 uses one or more retrieved machine learning models to process the aligned, registered scans, the plurality of models, and the plurality of identified attribute characteristics as inputs and assigns a subprimal cut type to the subprimal cut as output.

[0174] 16 is a flowchart illustrating a non-limiting example of a method 1618 for packing food products, such as subprimal cuts. The method 1618 may be performed on subprimal cuts transported along a conveyor of a processing system, such as 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 unit 902, the raw product supply / demand engine 830 of the workpiece utilization computing unit 808, and the finished product supply / demand engine 832 of the workpiece utilization computing unit 808.

[0175] From the start block, the method 1618 proceeds to block 1602, where a primal cut is portioned or sliced ​​into multiple subprimal cuts. For example, a slicer 814 may be used to slice the primal cut into subprimal cuts. In that regard, the slicer 814 may be located downstream of the cutter (not shown) used to cut the carcass into primal cuts. The slicer 814 may also be adjustable to obtain a desired thickness for each individual workpiece or subprimal cut. Such adjustments may be under the control of the optimization calculation unit 902 based on data sent from the finished workpiece supply / demand engine 832 of the workpiece utilization calculation unit 808 regarding the supply / demand requirements of the finished workpieces (e.g., there is a specific demand for 3 / 8 inch thick cuts versus 1 inch cuts, so the slicer is adjusted to meet the demand). In some examples, the primal cut is portioned or sliced ​​into multiple subprimal cuts before reaching the conveyor 812 of the processing system 804.

[0176] The steps of the method are performed for one subprimal starting at block 1604 and then proceed to the next subprimal cut at block 1612. Blocks 1606, 1608, and 1610 of method 1618 are performed for one subprimal cut starting at block 1604 and then the steps of blocks 1606, 1608, and 1610 are performed for the next subprimal cut at block 1612.

[0177] For each subprimal cut, the processor 1002 of the optimization computing device 902 receives multiple scans of the subprimal cut from multiple scanning devices at block 1604. For example, the scan data processing engine 1008 of the optimization computing device 902 may receive an x-ray scan of the subprimal cut and an optical scan of the subprimal cut.

[0178] At block 1608, the scan data processing engine 1008 of the optimization computing device 902 collates or aligns the multiple scans of the sub-primal cut. For example, the scan data processing engine 1008 of the optimization computing device 902 aligns the x-ray scan of the sub-primal cut with the optical scan of the sub-primal cut using one or more of the techniques described above.

[0179] At block 1608, the optimization calculation device 902 determines the subprimal cut type, such as by performing method 1222 of FIG.

[0180] At block 1614, the optimization calculation unit 902 performs a global optimization to assign each subprimal cut to a package configuration based on the assigned subprimal cut type. The package configuration assigned to each subprimal cut type may be based on information regarding the raw incoming workpiece supply (e.g., transmitted from the raw workpiece supply / demand engine 830 of the workpiece utilization calculation unit 808), the requirements of the finished workpiece (e.g., transmitted from the finished workpiece supply / demand engine 832 of the workpiece utilization calculation unit 808), or other information from other sources. The finished workpiece data may identify at least one of the monetary price and demand for each package configuration.

[0181] For example, in some instances, a subprimal cut type, identified attribute characteristics (e.g., spinous muscle of a particular size), total or best model match score, etc. may be associated with a package identifier that designates the use of any subprimal cuts of these types having these attribute characteristics, etc., to be used in a particular package configuration. For example, if a scanned chop is identified as having spinous muscle larger than a particular size, it may be identified as being designated for a particular package configuration based on that higher value. In that regard, one or more machine learning models may be trained to identify a package configuration as an output based on the subprimal cut type, identified attribute characteristics, total or best model match score, etc. used as input. In that regard, performing a global optimization may include identifying a package configuration for the subprimal cuts using one or more machine learning models.

[0182] The package 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 various values ​​for different subprimal cut types and cut combinations. The information may be processed by the classification engine 1016 to identify a package configuration for each subprimal cut type.

[0183] In one example, the packages may be configured as "constant value packs," with each package totaling a certain price, for example, $20. Each constant value pack may contain a different number of subprimal cuts, with different prices and weights, totaling the specified price of $20. The optimization calculation unit 902 may determine, for example, what quantity and / or type of subprimal cuts should be included in the constant value pack based on the specified price of $20 and the supply of raw incoming product.

[0184] As another example, a package may be configured as a "fixed-price subprimal cuts pack" in which each subprimal cut falls within a certain value range (e.g., determined based on its total or best model match score). For example, if the identified subprimal cuts fall within a price range of $1.90 to $2.10 (e.g., depending on size and type (quality)), the optimization calculation unit 902 may allocate the subprimal cuts for inclusion in the fixed-price subprimal cuts pack. The fixed-price subprimal cuts pack may be a valuable bulk pack for an establishment or restaurant business that desires consistent pricing for individual servings of subprimal cuts.

[0185] As another example, a package may be configured as a designated nutrition package of subprimal cuts, such as a package of subprimal cuts with low fat, constant fat, a particular estimate of calories, etc.

[0186] As another example, the optimization calculation device 902 may assign a workpiece to a non-package configuration based on the workpiece being assigned as a non-subprimal cut type workpiece (e.g., primal cut blade chops, trim and / or end pieces), as described above.

[0187] It should be appreciated that data regarding the specification of various package configurations for different subprimal cut types can be used to optimize other aspects of the processing system, such as cutting, portioning, trimming, sorting, picking, etc. For example, if a subprimal cut is specified for a particular type of package, optimization calculation device 902 may send instructions to portioner 818 to trim or portion the subprimal cut according to the package requirements.

[0188] At block 1616, the optimization computing device 902 sends instructions to the packaging system to package each of the subprimal cuts into the package configuration assigned by the global optimization. For example, the optimization computing device 902 may send instructions to the packager 824 to package each of the identified subprimal cuts into the specified package configuration.

[0189] FIG. 17 is a block diagram illustrating aspects of an exemplary computing device 1700 suitable for use as a computing device of the present disclosure. While several different types of computing devices are described above, the exemplary computing device 1700 illustrates various elements common to many different types of computing devices. While FIG. 17 is described with reference to a computing device implemented as a networked device, the following description is applicable to servers, personal computers, mobile phones, smartphones, tablet computers, embedded computing devices, and other devices that may be used to implement portions of the examples of the present disclosure. Some examples of computing devices may be embodied in or include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other customized devices. Furthermore, those skilled in the art and others will recognize that computing device 1700 may be any of any number of devices currently available or yet to be developed.

[0190] In its most basic configuration, computing device 1700 includes at least one processor 1702 and a system memory 1710 connected by a communications bus 1708. Depending on the exact configuration and type of device, the 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 memory technologies. Those skilled in the art and others will recognize that the system memory 1710 typically stores data and / or program modules that are immediately accessible to and / or presently being operated on by the processor 1702. In this regard, the processor 1702 may function as the computational heart of computing device 1700 by supporting the execution of instructions.

[0191] As further shown in FIG. 17 , computing device 1700 may include a network interface 1706 comprising 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 a common network protocol. Network interface 1706 may also include a wireless network interface 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 skilled in the art, network interface 1706 shown in FIG. 17 may represent one or more of the wireless or physical communication interfaces described and illustrated above with respect to particular components of computing device 1700.

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

[0193] Suitable implementations of a computing device including a processor 1702, system memory 1710, communication bus 1708, storage medium 1704, and network interface 1706 are known and commercially available. For ease of explanation and because they are not important to an understanding of the claimed subject matter, FIG. 17 does not show some of the typical components of many computing devices. In this regard, computing device 1700 may include input devices such as a keyboard, keypad, mouse, microphone, touch input device, touch screen, tablet, etc. Such input devices may be coupled to computing device 1700 by wired or wireless connections, including RF, infrared, serial, parallel, Bluetooth, Bluetooth low energy, USB, or other suitable connection protocols using wireless or physical connections. Similarly, computing device 1700 may also include output devices such as a display, speakers, printer, etc. These devices are well known in the art and therefore will not be further shown or described herein.

[0194] While the concepts of the present disclosure are susceptible to various modifications and alternatives, specific examples thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that there is no intention to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives consistent with the scope of the present disclosure and the appended claims.

[0195] References herein to "one example," "an example," "an example," etc. indicate that the described example may include a particular feature, structure, or characteristic, but that all examples may or may not necessarily include that particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same example. Furthermore, when a particular feature, structure, or characteristic is described in connection with an example, it is believed to be within the knowledge of one of ordinary skill in the art to affect such feature, structure, or characteristic in connection with other examples, whether or not explicitly stated. Furthermore, it should be understood that items included in a list in the format "at least one of A, B, and C" can mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C). Similarly, items listed in the format "at least one of A, B, or C" can mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C).

[0196] The use of language such as "top," "bottom," "left," "right," "first," "second," and the like in this disclosure is meant to provide an orientation to the reader with reference to the drawings, and is not intended to be a required orientation of any components or graphic images, nor is it intended to impose orientation limitations on the claims.

[0197] The figures may show some structural or method features in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or ordering may not be required. Rather, in some instances, such features may be arranged in a different manner and / or order than that shown in the illustrative figures. Furthermore, the inclusion of a structural or method feature in a particular figure does not imply that such feature is required in all instances, and in some instances, it may not be included or may be combined with other features.

[0198] As used herein, the terms "about," "approximately," and the like in reference to numbers are used herein to include numbers that fall within a range of 10%, 5%, or 1% in either direction (greater or lesser) of the number, unless otherwise stated or clear from the context (except where such number exceeds 100% of a possible value).

[0199] When an electronic or software component is described as being "configured to" perform a particular operation, such configuration may be achieved, for example, by designing electronic circuitry or other hardware to perform the operation, by programming a programmable electronic circuit (e.g., a microprocessor or other suitable electronic circuitry) to perform the operation, or by any combination thereof.

[0200] The phrase "coupled" refers to any component that is directly or indirectly physically connected to another component and / or that is in direct or indirect communication with another component (e.g., connected to the other component via a wired or wireless connection and / or other suitable communication interface).

[0201] The section headings provided in this patent application and the title of this patent application are for convenience only and are not to be construed as limiting the disclosure in any way.

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

[0203] The examples of inventions in which an exclusive property or privilege is claimed are defined as follows:

Claims

1. 1. A computer-implemented method for optimizing the processing of subprimal cuts, comprising: receiving, by an optimization computing device, a plurality of models, each model associated with a subprimal cut type, each model including at least a first reference shape for detecting a first matching characteristic by a first scanning type and a second reference shape for detecting a second matching characteristic by a second scanning type, and each model including a plurality of attribute characteristic value ranges; receiving, by the optimization computing device, aligned scans of sub-primal cuts including a first scan of the first scan type exhibiting the first matching characteristic and a second scan of the second scan type exhibiting the second matching characteristic; identifying, by the optimization computing device, a plurality of attribute characteristics of the sub-primal cut using at least one of the first scan type and the second scan type of the aligned scans; For each model of the plurality of models, simultaneously aligning the first reference shape of the model to the first matching characteristic of the first scan type and the second reference shape of the model to the second matching characteristic of the second scan type; and calculating a plurality of shape match values ​​based on the alignment of the first and second match characteristics with the first and second reference shapes; calculating a plurality of attribute match values ​​based on the identified plurality of attribute characteristics and comparing them with the attribute characteristic value ranges; determining a best model match for the aligned scans using the plurality of attribute match values ​​and the plurality of shape match values; assigning a subprimal cut type to the subprimal cut based on the best model match; and A computer-implemented method, including:

2. assigning the subprimal cuts to at least one of a packaged configuration and a non-packaged configuration based on the assigned subprimal cut type; using the assigned subprimal cut type in a global optimization over a plurality of subprimal cuts and a plurality of package configurations, the global optimization comprising: receiving raw material data identifying a supply of a first assigned subprimal cut type and a supply of a second assigned subprimal cut type; and receiving finished workpiece data identifying a first package configuration having at least one of the first assigned subprimal cut type and the second assigned subprimal cut type and a second package configuration having at least one of the first assigned subprimal cut type and the second assigned subprimal cut type; The computer-implemented method of claim 1 further comprising:

3. 2. The computer-implemented method of claim 1, wherein the first scan type is an X-ray scan, the second scan type is an optical image, and 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. 2. The computer-implemented method of claim 1, further comprising: assigning a greater weight to a match of the first reference shape against the first match characteristic than a weight assigned to a match of the second reference shape against the second match characteristic for calculating the plurality of shape match values.

5. 2. The computer-implemented method of claim 1, wherein the attribute characteristics include at least one of overall object contour, length, width, height, weight, points, area, fat to lean percentage, concavity, flatness, roundness, bone mass, bone area, bone length, bone edge offset, blood spots, holes, blemishes, parasites, and bone to meat ratio.

6. The computer-implemented method of claim 1 , wherein the shape match value comprises a measure of overlap of each reference feature of the model with a corresponding match feature of the aligned scan.

7. 2. The computer-implemented method of claim 1, further comprising: calculating the plurality of shape match values ​​each time at least one of the reference shape of the model and the registered scan is transformed to align the first and second reference shapes of the model with the first and second match characteristics of the registered scan.

8. 2. The computer-implemented method of claim 1, wherein simultaneously aligning the first reference shape of the model to the first matching characteristic and the second reference shape of the model to the second matching characteristic includes at least one of: an orientation transformation of at least one of the model and reference scan; a rotation transformation of at least one of the model and reference scan; a scaling of a size of at least one of the model and reference scan; and a shear distortion of at least one of the model and reference scan.

9. 2. The computer-implemented method of claim 1, wherein simultaneously aligning the first reference shape of the model to the first matching feature and the second reference shape of the model to the second matching feature comprises at least one of performing a point-to-point distance reduction process and minimizing an area difference between the first and second reference shapes of the model and corresponding first and second matching features of a reference scan.

10. 2. The computer-implemented method of claim 1, wherein the attribute match value is based on at least one of whether a measured property of each of the identified plurality of attribute properties falls within a corresponding attribute property value range, a deviation of the measured property of each of the identified plurality of attribute properties from the corresponding attribute property value range, a deviation of the measured property of each of the identified plurality of attribute properties from at least one of a corresponding mean attribute property value and a corresponding median attribute property value, and a weight assigned to one or more attribute properties.

11. For each model of the plurality of models, aligning a contour fiducial of the model to a contour matching characteristic of the registered scan; calculating a plurality of shape match values ​​based on the alignment of the contour fiducial shape of the model to contour match characteristics of the registered scans; The computer-implemented method of claim 1 further comprising:

12. The aligned scans of the subprimal cuts are comparing a portion of a first data set from the first scan with a portion of a second data set from the second scan; Optionally, performing a transformation of said first data set into said second data set; 2. The computer-implemented method of claim 1, defined by:

13. measuring input product parameters of the subprimal cut using at least one of the first scan of the first scan type, the second scan of the second scan type, and the registered scan of the subprimal cut; at least one of culling, diverting, and removing the subprimal cut if the measured input product parameter is outside a predetermined range; The computer-implemented method of claim 12 further comprising:

14. transmitting data from the optimization computing device to at least one processing module associated with the assigned subprimal cut type; using the at least one processing module to at least one of cut, portion, and trim the subprimal cut based on its assigned subprimal cut type; 14. The computer-implemented method of claim 13, further comprising:

15. 2. 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 match characteristic and an attribute characteristic, and the computer-implemented method further includes identifying, by the optimization computing device, the at least one attribute characteristic of the subprimal cut using the ROI associated with the attribute characteristic.

16. 2. The computer-implemented method of claim 1, further comprising, when demand for a first subprimal cut type is greater than demand for a second subprimal cut type, assigning the first subprimal cut type to the subprimal cut based on at least one of the plurality of attribute match values ​​and the plurality of shape match values ​​being within a predetermined threshold of at least one of the plurality of attribute match values ​​and the plurality of shape match values ​​of the second subprimal cut type.

17. using one or more machine learning models to generate the plurality of models, each associated with a subprimal cut type; receiving, by a model generation computing device, a plurality of aligned scans of subprimal cuts, each of the aligned scans including a first scan of the first scan type indicative of the first matching characteristic of the subprimal cut and a second scan of the second scan type indicative of the second matching characteristic of the subprimal cut; generating a model for each subprimal cut type using the registered scans as input, each model including a first reference shape representing the first matching characteristic from the first scan type of the registered scans of a plurality of subprimal cuts and a second reference shape representing the second matching characteristic from the second scan type of the registered scans of a plurality of subprimal cuts; The computer-implemented method of claim 1 further comprising:

18. the one or more machine learning models, receiving, by a model generation computing device, a first training data set including aligned scans of a plurality of subprimal cuts, each of the aligned scans including a first scan of the first scan type exhibiting the first matching characteristic of the subprimal cut and a second scan of the second scan type exhibiting the second matching characteristic of the subprimal cut, and each of the aligned scans associated with a subprimal cut type; adding, by the model generation computing device, the first training data set for each subprimal cut type to a training data store; training, by the model generation computing device, the machine learning model using information stored in the training data store as input to generate a model for each subprimal cut type, each model including a first reference shape representing the first matching characteristic from the first scan type of the registered scans of a plurality of subprimal cuts and a second reference shape representing the second matching characteristic from the second scan type of the registered scans of a plurality of subprimal cuts; storing, by the model generation computing device, the one or more machine learning models in a model data store; 20. The computer-implemented method of claim 17, further comprising training by:

19. receiving, by the model generation computing device, a plurality of identified attribute characteristics for each sub-primal cut of each of the aligned scans; using the identified attribute characteristics for each subprimal cut as input to generate a plurality of attribute characteristic value ranges for each model; 20. The computer-implemented method of claim 17, further comprising:

20. the one or more machine learning models, receiving, by the model generation computing device, a second training data set including a plurality of identified attribute characteristics for each of the sub-primal cuts of the aligned scans; adding, by the model generation computing device, the second training data set for each subprimal cut type to a training data store; training, by the model generation computing device, one or more machine learning models using the information stored in the training data store to generate one or more attribute characteristic value ranges for each model for each subprimal cut type; storing, by the model generation computing device, the one or more machine learning models in a model data store; 20. The computer-implemented method of claim 19, further comprising training by: