Feeding trough volume estimation via image segmentation

By using image analysis and machine learning technology to identify accessible and inaccessible areas of the feeding trough, and automatically adjusting feed distribution, the problems of uneven feed distribution and inaccurate estimation of rejection rate are solved, thus improving the efficiency and accuracy of feeding trough management.

CN116982091BActive Publication Date: 2026-05-26CAN TECHNOLOGIES INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CAN TECHNOLOGIES INC
Filing Date
2022-02-09
Publication Date
2026-05-26

Smart Images

  • Figure CN116982091B_ABST
    Figure CN116982091B_ABST
Patent Text Reader

Abstract

This invention discloses embodiments for segmenting animal feeding troughs. In some embodiments, the feeding trough is segmented into sections comprising accessible animal feed and other sections comprising inaccessible animal feed. In some embodiments, a volume estimate of the feed in each of the segments is generated via imaging data of the feeding trough captured by a LiDAR sensor or a passive optical sensor. In some cases, the volume estimate triggers an alarm, indicating a feed shortage or the need for a push-up operation to move feed from an inaccessible section to an accessible section. The segmentation of feeding events and the volume estimate of remaining feed provide a determination of the rejection volume, which is useful in determining animal appetite.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 147,902, filed February 10, 2021, the entire contents of which are incorporated herein by reference. Background Technology

[0003] Livestock farming is a highly competitive industry. The market demands animal products delivered at very competitive costs and under stringent health and safety regulations. One aspect of ensuring the delivery of competitive animal products is the close management of animal feeding. This includes not only the type of food provided to the animals but also the quantity and timing of feed delivery. Proper feeding of animals is crucial for establishing appropriate weight and nutrition. Animals are typically fed using feeding troughs, which provide storage space for the feed consumed by the animals as needed. Therefore, there is a need to improve the methods of managing animal feeding troughs. Attached Figure Description

[0004] Figure 1 An exemplary division of the feeding trough is shown.

[0005] Figure 2 An exemplary deployment of a system implementing one or more of the disclosed implementation schemes is shown.

[0006] Figure 3 It is an overview diagram of a system implemented in one or more of the disclosed implementation schemes.

[0007] Figure 4 This is a table showing exemplary feed availability metrics.

[0008] Figure 5 This is an exemplary report generated from one or more of the disclosed implementation schemes.

[0009] Figure 6 This is an exemplary report implemented by one or more of the disclosed implementation schemes.

[0010] Figure 7 This is an exemplary report of implementation in one or more of the disclosed implementation schemes.

[0011] Figure 8 This is an exemplary report generated in one or more of the disclosed implementations.

[0012] Figure 9 It is an exemplary machine learning module based on some examples of this disclosure.

[0013] Figure 10It is a diagram illustrating the data flow in one or more of the disclosed embodiments.

[0014] Figure 11 An exemplary training data stream for a machine learning model is shown.

[0015] Figure 12 This is an example machine learning model data stream.

[0016] Figure 13 This is a flowchart of an exemplary method for determining the volume and / or weight of feed in multiple sections of a feeding trough.

[0017] Figure 14 A block diagram of an exemplary machine is shown on which any or more of the techniques (e.g., methods) described herein can be performed. Detailed Implementation

[0018] As mentioned above, proper management of animal feeding is important for delivering competitive animal products to the market. Animal feeding is sometimes accomplished using feeding troughs, which are common storage areas for feed used by multiple animals. It is relatively common that at least a portion of the food in the feeding trough is consumed by the animals before it is refilled. For example, the food in the easily accessible part of the feeding trough is consumed first, while the more inaccessible part of the trough holds food for a longer period. In some environments, the food in the area of ​​the feeding trough near the water trough is also consumed first. This uneven distribution of feed within the feeding trough can hinder animal feeding because the total area available for providing feed to the animals is smaller. In enclosures with a relatively large number of animals, some animals may be forced to wait to eat until other animals voluntarily move away from the feed-containing portion of the feeding trough. Further complicating animal feeding is that some animals are territorial relative to their feeding area and may not move to different feed-containing areas of the feeding trough after the feed supply in "their" area has been depleted.

[0019] Shared feeding troughs present additional problems. For example, when animals eat, they may tend to push some food away from the feeding area (e.g., with their noses or mouths). This pushing process causes some portions of the feed to become inaccessible to the animals. Farmers are accustomed to pushing the feed back into the feeding trough where the animals can reach it. However, this manual process does not necessarily occur as frequently as needed, resulting in at least some food rotting in the feeding trough due to its inaccessibility.

[0020] Therefore, in environments with uneven feed access and / or distribution, even if the total amount of feed provided in the trough may be ideal, the uneven distribution and consumption of food within the trough can lead to suboptimal feeding for animals. Some animals may not receive enough food, partly due to competition with other animals for space in the food-containing portion of the feeding trough. Animals with insufficient food intake often have lower body weight and / or milk production (e.g., dairy cows). Animals may also experience more severe adverse health consequences due to insufficient food supply.

[0021] The disclosed implementation recognizes that existing solutions are inadequate for managing feed supply to feeding troughs used by multiple animals. Furthermore, existing solutions do not present operational information regarding feed availability, nor do they present information indicating the availability of reachable and unreachable feed.

[0022] The disclosed implementations also recognize that rejection plays a significant role in feed trough management. Rejection refers to the amount of feed that animals refuse to eat. Some of the disclosed implementations determine animal feed intake by subtracting these amounts from the amount of food delivered to each feed trough. Intake is a relatively important metric because it indicates the amount of food consumed by the animal. Intake is used as a performance metric to determine efficiency and profitability. Intake is also the basis for estimating future feed intake. For example, intake over a previous time period is highly relevant in determining the amount of feed provided to an animal. Existing solutions rely on manual recording of rejections, which is a time-consuming, costly, and error-prone process. When relying on manual recording of rejections, many producers do not weigh the rejected items to obtain accurate measurements but instead estimate the amount based on visual analysis. This leads to estimates that can be very inaccurate, resulting in inaccurate intake values. This inaccuracy leads to reduced feed trough management efficiency. Furthermore, these manual estimates of rejections may not be able to distinguish between food that is voluntarily not eaten and the “rejected” portion that is not eaten because it is inaccessible. This introduces further inaccuracies in rejection and intake estimation, thereby further undermining the effectiveness of feed trough management.

[0023] The disclosed embodiments generally relate to a feeding trough image analysis method that provides the determination of feed availability metrics to identify deficiencies in the feeding procedure. These capabilities include the ability to identify areas of the feeding trough that are typically heavily used by animals and therefore should contain a larger quantity of food compared to other, less popular areas of the feeding trough. Some embodiments identify times of day when more frequent or larger-scale food push-up operations are needed to reduce the amount of unreachable food and maintain feed supply in the feeding trough. When certain conditions are detected in the feeding trough, some embodiments of the disclosed embodiments generate alarms. For example, some embodiments generate alarms indicating that feed should be redistributed within the feeding trough, for example, as a result of food depletion in some parts of the trough while a large amount of feed remains in other parts.

[0024] Some implementations analyze images of feeding troughs to determine accessible and inaccessible feed quantities shortly before any remaining food is removed. This automated process is more accurate and less time-consuming than previous manual processes that involved weighing any rejected quantities within each feeding trough or animal enclosure. The automated determination of inaccessible feed quantities further improves the accuracy of rejected quantities. This increased accuracy in rejected quantities enhances the accuracy of intake determination. Therefore, the disclosed implementations provide a more accurate determination of animal appetite that is not available in existing methods.

[0025] Figure 1 An exemplary division of a feeding trough is shown. Image 100 shows a feeding trough that has been divided into six sections. The first group of sections, labeled sections 102a, 102b, and 102c, is located near the animal entry area 104. The second group of sections, labeled sections 106a, 106b, and 106c, is further away from the animal entry area 104. Each of sections 102a-102c and 106a-106c is defined by a section boundary. A portion of the section boundary is in Figure 1 The middle marker. For example, segment 102a is defined by boundary 108a, boundary 108b, boundary 108c, and boundary 108d. Segment 106a is defined by boundary 110a, boundary 110b, boundary 110c, and boundary 110d. Because Figure 1 The sections shown are essentially rectangular, so some boundaries of a particular section are parallel to each other, while other boundaries of a particular section are perpendicular to each other. Figure 1 The sections shown are arranged in rows. For example, sections 102a-102c represent the first row, while sections 106a-106c represent the second row.

[0026] In some embodiments, at least some segments share a common boundary. For example, boundary 108a and boundary 110c are considered to be the common boundary between segment 102a and segment 106a. In some embodiments, segment 102a and segment 106a are considered to be corresponding segments because they share a common boundary (e.g., boundary 108b and boundary 110c), or have boundaries that are substantially adjacent to each other, and they have two other segment boundaries that are linearly arranged relative to each other. For example, boundary 108a and boundary 110a are linearly arranged relative to each other. Boundary 108d of segment 102a and boundary 110d of segment 106a are also linearly arranged relative to each other.

[0027] Other sections 102b-102c and 106b-106c also include similar boundaries, but those boundaries are not marked to maintain the clarity of the diagram. The distribution of animal feed is also shown within the feeding troughs, examples of which are labeled feed 112a and feed 112b.

[0028] Some of the disclosed embodiments analyze images of the feeding trough (such as image 100) to determine the volume of feed in each of multiple sections or portions of the feeding trough. As described above, in some embodiments, the volume of reachable feed and / or the volume of inaccessible feed in one or more sections are determined. For example, in some embodiments, sections 102a-102c represent reachable feed, while in some embodiments, sections 106a-106c represent inaccessible feed. In some embodiments, an alarm is generated instructing the producer to initiate a "pushback" operation when the volume of feed included in one or more inaccessible sections 106a-106c reaches one or more predetermined thresholds. The "pushback" operation moves at least a portion of the feed (e.g., 110a) contained in one of the sections 106a-106c into one of the sections 102a-102c.

[0029] Figure 2An exemplary deployment of a system implementing one or more of the disclosed embodiments is shown. System 200 includes two feeding troughs, feeding trough 202a and feeding trough 202b. Each feeding trough has a field of view of an imaging sensor, shown as imaging sensor 204a and imaging sensor 204b, having fields of view 206a and 206b, respectively. Within each of fields of view 206a and 206b are accessible feed sections 208a and 208b, respectively. Within each of fields of view 206a and 206b are unreachable feed sections 211a and 211b, respectively. Each of accessible feed sections 208a and 208b includes accessible feed 209a and 209b, respectively. Each of unreachable feed sections 211a and 211b includes unreachable feed 212a and 212b, respectively.

[0030] Imaging data collected by each of imaging sensors 204a and 204b is provided to control system 212. As described above, control system 212 calculates the feed volume within each of the accessible feed sections 208a and 208b. In some embodiments, control system 212 calculates the feed volume within each of the inaccessible feed sections 211a and 211b. In some embodiments, the results of this analysis are provided via a report represented by report printer 214. In some embodiments, control system 212 generates one or more alarms, for example, to smartphone 216. In some embodiments, the alarm indicates one or more specific conditions within feeding troughs 202a and / or 202b.

[0031] Figure 3 This is an overview diagram of system 300 implemented in one or more of the disclosed embodiments. Figure 3 A side view of a feeding trough 302 including animal feed 303 is shown. The feeding trough 302 is accessible to the animal 304. The feeding trough 302 is within the field of view of an imaging sensor 305, which provides an image of the feeding trough 302 to a control system 212. As described above, in some embodiments, the control system 212 analyzes the image of the feeding trough 302 to determine the volume of accessible and / or inaccessible feed within the feeding trough 302, of which the animal feed 303 forms a portion. Figure 3Within the exemplary system 300, the control system 212 controls the feed dispenser 306 in part based on the determined volume of feed included in the feeding trough 302. The feed dispenser 306 dispenses feed from above the feeding trough 302 via a baffle valve 308. In some embodiments, the control system 212 dispenses feed when it detects that the combination of reachable feed in the reachable feed section 316 and inaccessible feed in the inaccessible feed section 314 is below a threshold. In some embodiments, the dispensing of feed via the feed dispenser 306 is also based on a feeding schedule and / or the time of day. Figure 3 It is also shown that the feeding trough 302 is configured with a feed pusher motor 310, which can activate a push rod 312 to move feed from the inaccessible feed portion 314 of the feeding trough 302 to the accessible feed portion 316.

[0032] Figure 4 This is a table showing exemplary feed availability metrics. Figure 4 An embodiment is shown that identifies two fences with accessible feed 402, inaccessible feed 404, and available feed 406 (by weight), as shown in columns 408 and 410, respectively. Figure 4 It is also shown that in some embodiments, reachability, inaccessibility, and available feed metrics are aggregated to display data for all fences in column 412. Within each of columns 408 and 410 are reachable feed 402, inaccessible feed 404, and available feed 406 for each of the multiple segments 414. Total reachable feed is shown as total 416 in column 408. Total inaccessible feed is shown as total 418 in column 408. Total available feed is shown as total 420 in column 408. Average reachable feed in segment 414 is shown as average 422. Average inaccessible feed in segment 414 is shown as average 424. Average available feed in segment 414 is shown as average 426. Similar data are shown in columns 410 and 412, but are not labeled to maintain the clarity of the graph.

[0033] Figure 5 This is an exemplary report generated from one or more embodiments of the disclosed implementation scheme. Similar to... Figure 5 Report 400, Figure 5 Report 500 comprises three columns, labeled as column 508, column 510, and column 512. Figure 5 It shows relative to Figure 4 The report includes 400 additional data points. Specifically, Figure 5Report 500 includes shortage and excess information in section 502, animal section 504, and percentage section 506. Section 502 defines instances and values ​​of the following: extreme shortage 514 (e.g., feed level below a first predetermined threshold), shortage 516 (e.g., feed level below a second predetermined threshold but above the first predetermined threshold), nominal feed level 518 (e.g., feed level between a lower predetermined nominal threshold and an upper predetermined nominal threshold), excess 520 (e.g., feed level above an upper predetermined nominal threshold but below a predetermined extreme excess lower limit), and extreme excess 522 (e.g., feed level above a predetermined extreme excess lower limit). Similar measures define the animal section 504 and percentage section 506 of report 500. Percentage section 506 represents the percentage of measurements falling within the different categories described above, while section 502 and animal section 504 convey the numerical values ​​of the measurements within those categories. In some embodiments, color coding is used to highlight areas of shortage or excess. At least in some implementations, the color coding for accessible and inaccessible feed is different. Similar data is provided for column 510, which represents the second fence.

[0034] Similar to Figure 4 , Figure 5 Report 500 includes column 512, which summarizes the data from columns 508 and 510. For example, the average 524 of the data provided in columns 508 and 510, as well as sets 526 and 528, are shown in column 512. The percentage 530 in column 512 is a percentage of the average of columns 508 and 510.

[0035] Figure 6 An exemplary report 600 is shown, implemented by one or more of the disclosed implementation schemes. Figure 6 Showing something similar to the above about Figure 5 The information described is different. Figure 5 Report 500 shows information on multiple different feeding troughs or enclosures in different columns (e.g., columns 508, 510, and 512), while report 600 shows information on a common enclosure or feeding trough in several columns, where several columns represent data collected from the common enclosure or feeding trough at different times. For example, each of columns 602, 604, and 606 shows data collected at 3 AM, 4 AM, and 5:05 AM, respectively.

[0036] Report 600 shows the decrease in available feed over time (via multiple columns of data collected at different times). Report 600 also shows missed feed push-up opportunities by indicating unreachable feed situations.

[0037] Figure 7An exemplary report 700, implemented in one or more of the disclosed embodiments, is shown. Exemplary report 700 illustrates the results of a rejection analysis. Some embodiments specify that a particular data set is designated as a rejection set. In other words, in some embodiments, a particular data set is designated to represent the final scan of a feeding activity, wherein any remaining feed (which is accessible) detected during the scan represents feed that the animals refused to eat. Report 700 shows weight or volume per segment aggregated into weight or volume per fence. This aggregation is performed for each of accessible rejection, inaccessible rejection, and measured rejection.

[0038] An exemplary report 700 shows data from multiple enclosures or feeding troughs 702. Report 700 displays individual enclosure identifiers 704, animal counts in each enclosure 706, rejection scan time 708, first feeding time 710, minutes from rejection removal to the first feeding time 712, reachable rejection weight column 714, unreachable rejection weight column 716, and measured rejection weight / volume 718 (e.g., measured rejection weight = reachable rejection weight / volume + unreachable rejection weight / volume). Report 700 also includes data 720 from previous scans, estimated additional inaccessibility adjustments 722, and adjusted true rejections 724. Previous scans 720 show how previously unreachable feed can affect the total amount of feed animals are able to consume. Estimated additional inaccessibility adjustments 722 provide the user with an opportunity to evaluate previous scans 720 and make appropriate adjustments. For example, in report 700, enclosure 1 shows an average of 256 pounds of unreachable feed in previous scans 720. The user is aware that someone fed the animals in the enclosure during the previous scans. During those previous scans, less available feed was also observed. These observations led the user to conclude that the animal would have eaten more if feed had been available during those periods. Therefore, the user can choose to make an additional rejection adjustment, subtracting 150 lbs from the 192 lbs of available rejection.

[0039] Figure 8 An exemplary report 800 generated in one or more of the disclosed embodiments is shown. Figure 8Report 800 displays information about multiple animal enclosures arranged in corresponding columns labeled 802, 804, 806, and 808. For each enclosure, report 800 displays cleaning time 810, feeding time 812, time to milking time 814, time since milking 816, scoring time 818, and the number of hours before feeding time 820. Each enclosure includes multiple “holes” or feeding areas, collectively shown as row 822 in report 800. Each enclosure is evaluated at the corresponding multiple times to determine the fill level of each hole within each enclosure, thus obtaining a fill score. For example, enclosure 7 shown in column 802 is evaluated at three different times, shown as times 830, 832, and 834. Enclosure 8 shown in column 804 is evaluated at times 836, 838, and 840. Fence 9 shown in column 806 was evaluated at times 842, 844, and 846. Fence 10 shown in column 808 was evaluated at times 848 and 850.

[0040] Report 800 also generates summary information, including a count 824 of multiple feeding holes in each enclosure where food has been depleted. Report 800 also shows the percentage 826 of holes where food has been depleted.

[0041] Figure 9 An exemplary machine learning module 900 is shown according to some examples of this disclosure. The machine learning module 900 utilizes a training module 910 and a prediction module 920. The training module 910 inputs historical information 930 into a feature determination module 950a. The historical information 930 may be labeled. Exemplary historical information may include historical images of feeding troughs and feed contained within them. For example, in some embodiments, historical images representing accessible feed sections 208a and 208b are included in the historical information 930. In some embodiments, historical images representing unreachable feed sections 211a and / or 211b are included in the historical information 930. In some embodiments, this historical information is stored in a training library. The labels included in the training library indicate the volume and / or weight associated with each of the accessible and / or unreachable feeds represented by the historical information 930.

[0042] Feature determination module 950a determines one or more features 960 based on the historical information 930. Generally, feature 960 is a set of information inputs and is determined as a prediction for a specific outcome. In some examples, feature 960 can be all historical information 930, but in other examples, feature 960 is a subset of historical information 930. Machine learning algorithm 970 generates model 918 based on feature 960 and labels.

[0043] In prediction module 920, current information 990 may be input to feature determination module 950b. The current information 990 in the disclosed embodiment includes similar indications as described above with respect to historical information 930. However, current information 990 provides these indications for vehicle stops (e.g., when a user is looking for a pick-up or drop-off location). Current information 990 also includes possible secondary routes for the user to take when moving to or from a pick-up or drop-off location.

[0044] In some implementations, similar to feature determination module 950a, which is determined based on historical information 930, feature determination module 950b determines an equivalent or different feature set based on current information 990. In some examples, feature determination modules 950a and 950b are the same module. Feature determination module 950b generates features 915, which are input into model 918 to generate one or more routes and corresponding boarding or alighting locations associated with these routes. Training module 910 can operate offline to train model 918. However, prediction module 920 can be designed to operate online. It should be noted that model 918 can be periodically updated via additional training and / or user feedback.

[0045] The prediction module 920 generates one or more outputs 995. In some implementations, the outputs include one or more vehicle stops (e.g., pick-up / drop-off / parking locations) and the routes between those vehicle stops (e.g., pick-up / drop-off / parking locations) and the second point. In some implementations, the predicted travel time or duration associated with each of the pick-up / drop-off / parking locations (e.g., walking time, rollerblading time, scooter time, or cycling time) is also provided by the ML model.

[0046] Machine learning algorithm 970 can be selected from many different potential supervised or unsupervised machine learning algorithms. Examples of supervised learning algorithms include artificial neural networks, Bayesian networks, instance-based learning, support vector machines, decision trees (e.g., Iterative Divider 3, C4.5, Classification and Regression Tree (CART), Chi-square Automatic Interaction Detector (CHAID), etc.), random forests, linear classifiers, quadratic classifiers, k-nearest neighbors, linear regression, logistic regression, hidden Markov models, artificial life-based models, simulated annealing, and / or virology. Examples of unsupervised learning algorithms include expectation-maximization algorithms, vector quantization, and information bottleneck methods. Unsupervised models may not have a training module 910. In an exemplary embodiment, a regression model is used, and model 918 is a coefficient vector corresponding to the learned importance of each feature in feature vectors 960, 915. In some embodiments, to compute scores, the dot product of feature 915 and the coefficient vector of model 918 is used.

[0047] Figure 10 It is a diagram illustrating the data flow in one or more of the disclosed embodiments. Figure 10 Data stream 1000 comprises two parts. Training data stream 1002 illustrates the data stream during the training of machine learning model 918a, which is described above regarding... Figure 9 An example of model 918 under discussion. Data flow 1004 represents the data flow during the prediction of segment boundaries of the feeding trough using machine learning model 918a, such as any one or more boundaries of segment 102a's boundaries 108a-108d, or as mentioned above. Figure 1 Other boundaries of either segment 102b-102c and / or segment 106a-106c shown.

[0048] Within training data stream 1002, Figure 10 A feeding trough image 1006 obtained from historical image data storage 1008 is shown being provided to a machine learning model 918a. Training data stream 1002 also provides a corresponding tag for each feeding trough image in the feeding trough image 1006, shown as tag information 1010, which is obtained from historical tag data storage 1012. Tag information 1010 includes information defining segment boundaries within the feeding trough image 1006 from historical image data storage 1008. In some embodiments, tag information 1010 also indicates whether the segment defined by the segment boundary represents an accessible segment or an inaccessible segment. Thus, for example, in Figure 1 When segments 102a-102c and 106a-106c are included in training data (such as training data stored in historical image data storage 1008 and historical tag data storage 1012), the tagging information 1010, for example, indicates the boundaries 108a-108c of segment 102a and the boundaries 110a-110d of segment 106a, respectively, and also indicates information indicating whether each of segment 102a and / or segment 106a represents a reachable segment or an unreachable segment. For example, in Figure 1 In the example, the tag information 1010 indicates that segment 102a is a reachable segment and segment 106a is an unreachable segment.

[0049] The training data stream 1002 generates a machine learning model 918a, which is capable of predicting feeding trough section boundaries. In some implementations, the following refers to... Figure 12 The feeding trough divider module 1208 discussed uses a machine learning model 918a to determine the boundaries of the feeding trough sections.

[0050] Using data stream 1004, an imaging sensor 1014 is shown capturing images of feeding trough 1016. Images of feeding trough 1016 are provided to machine learning model 918a. As a result of training data stream 1002, machine learning model 918a is able to predict segment boundaries 1020 of feeding trough 1016. In some embodiments, the output of machine learning model 918a also includes reachability information. For example, to the extent that segment boundaries 1020 provide one or more closed segments within the feeding trough, in at least some embodiments, machine learning model 918a also indicates whether one or more closed segments are reachable or inaccessible.

[0051] Figure 11 An exemplary training data stream 1100 for a machine learning model 918b is shown. The training data stream 1100 shows a feeding trough image 1102 obtained from a historical image data storage 1104 being provided to the model 918b. Also provided to the model 918b are segment boundaries 1106 corresponding to the feeding trough image 1102. The segment boundaries 1106 are provided by a feeding trough segmenter module 1108, which receives the feeding trough image 1102 from the historical image data storage 1104 and determines the location of the segment boundaries 1106. In some embodiments, the feeding trough segmenter module 1108 relies on a machine learning model 918a to predict the location of segments and / or segment boundaries within the feeding trough image 1102. The feeding trough segmenter module 1108 represents a logical and / or physical grouping of computer processor instructions that configure one or more hardware processors to perform one or more functions belonging to the feeding trough segmenter module 1108.

[0052] Figure 11 Also shown are markers 1110 provided to model 918b during training data stream 1100. Marker 1110 indicates the weight and / or volume of feed associated with the segment indicated by segment boundary 1106. The weight and / or volume are obtained from historical marker data storage 1112. Training data stream 1100 prepares model 918b to provide predictions of the weight and / or volume of feed present in other images, as described below. Figure 12 The subject of discussion.

[0053] Figure 12 Is Figure 11 An exemplary use of data stream 1200 for the machine learning model 918b trained in training data stream 1100. Data stream 1200 illustrates an imaging sensor 1202 capturing an image 1204 of a feeding trough 1206. Image 1204 is provided to a feeding trough segmenter module 1208, which determines segment boundary information 1210 within the image 1204 of the feeding trough 1206. In some embodiments, the feeding trough segmenter module 1208 utilizes the above description regarding... Figure 10 The machine learning model 918a discussed determines segment boundary information 1210 within the image 1204 of the feeding trough 1206. In some other embodiments, the segment boundary information 1210 of the feeding trough 1206 (e.g., segment boundary location, accessibility or inaccessibility of the segment defined by the boundary) is determined via configuration information stored in configuration data memory 1212. In some embodiments, the segment boundary information 1210 is established via input from a user interface 1214. For example, some embodiments provide a user interface that allows segment boundaries of the feeding trough to be defined by overlaying boundary lines onto the image of the feeding trough. In some embodiments, the feeding trough separator module 1208 is equivalent to the feeding trough separator module 1108.

[0054] Using data stream 1200, as a result of the provided image 1204 and segment boundary information 1210, model 918b provides one or more of the weight information 1255 and / or volume information 1260 of the feed within the segment defined by segment boundary information 1210.

[0055] Figure 13 This is a flowchart of an exemplary method for determining the volume and / or weight of feed in multiple sections of a feeding trough. In some embodiments, the following describes method 1300 and... Figure 13 One or more of the operations discussed are performed by a hardware processing circuitry system. For example, in some embodiments, instructions (e.g., instruction 1424 discussed below) stored in memory (e.g., memory 1404 and / or memory 1406 discussed below) configure the hardware processing circuitry system (e.g., hardware processor 1402 discussed below) to perform the following description of method 1300 and / or Figure 13 One or more of the operations discussed. In some implementations, method 1300 is derived from the above regarding... Figure 2 and / or Figure 3 The control system 212 under discussion is executed.

[0056] After starting operation 1301, method 1300 moves to operation 1302. In operation 1302, segment boundaries of the feeding trough are established. Segment boundaries enclose or surround a portion of the area of ​​the feeding trough. At least two enclosed segments are defined by at least two sets of segment boundaries. For example, as described above regarding... Figure 1 The sections 102a-102c and 106a-106c discussed are confined within the feeding trough shown. Section boundaries 108a-108d define section 102a. Boundaries 110a-110d define section 106a. Other boundaries define sections 102b-102c and 106a-106c.

[0057] In some implementations, establishing section boundaries involves multiple rows defining enclosed sections, wherein these rows extend longitudinally along the feeding trough and are substantially parallel to each other. For example, as... Figure 1 As shown, segments 102a-102c represent the first row segment, while segments 106a-106c together represent the second row segment. Figure 1 The first and second rows are substantially parallel to each other. In some implementations, segments in the first row have corresponding segments in the second row. For example, segment 102a in the first row has... Figure 1 The corresponding segment 106a in the second row. These segments correspond because they share a common segment boundary (e.g., boundary 108a). The corresponding segments also have two other pairs of boundaries, where the boundaries within each pair are linearly arranged relative to each other. For example, boundary 108b of segment 102a is linearly arranged with boundary 110b of segment 106a. Boundary 108d of segment 102a is linearly arranged with boundary 110d of segment 106a.

[0058] In some implementations, segment boundaries are established based on input from the user interface. For example, as mentioned above... Figure 12 In some embodiments discussed, the user interface (e.g., user interface 1214) is displayed by operation 1302 and configured to accept user input defining segment boundaries (e.g., boundaries 108a-108d and / or boundaries 110a-110d). In some embodiments, the user interface is configured to accept input of the length of the dimension defining the segment boundaries. For example, in some embodiments, the user interface accepts one or more of the length or width dimensions of one or more segments within the feeding trough.

[0059] In some other implementations, the boundaries are established via machine learning models. For example, as mentioned above... Figure 10 Some of the embodiments discussed use a trained machine learning model (e.g., machine learning model 918a trained via training data stream 1002) to facilitate the prediction of segment boundaries (e.g., segment boundary 1020) of an image (e.g., feeding trough image 1018) captured from an imaging sensor (e.g., imaging sensor 1014) of a feeding trough (e.g., feeding trough 1016). In some embodiments, the segment boundaries are determined by the machine learning model based on laser detection and ranging (LIDAR) point cloud data representing the feeding trough provided to the machine learning model. In some embodiments, the machine learning model is trained to operate on visual or passive optical images. In some embodiments, operation 1302 determines whether each segment in the segments represents an accessible or inaccessible area of ​​the feeding trough. For example, as described above regarding... Figure 10In some embodiments, the machine learning model is trained to indicate the accessibility or inaccessibility of a segment. In some embodiments, whether a segment is accessible or inaccessible is based on the distance from the segment to the animal entry area (e.g., animal entry area 104). In some embodiments, this distance is configurable or based on the type of animal entering the feeding trough.

[0060] In operation 1304, imaging data representing the feeding trough is obtained. For example, as mentioned above... Figure 1 The imaging sensor discussed (e.g., imaging sensor 204a and / or imaging sensor 204b) captures images of the feeding troughs (e.g., feeding trough 202a or feeding trough 202b, respectively). In some embodiments, the imaging sensor is a LiDAR sensor and the imaging data defines a LiDAR point cloud. In some embodiments, the imaging sensor is a passive optical sensor, and the captured images are snapshots or field-of-view images.

[0061] In operation 1306, the appropriate volume (and / or weight) of feed within the enclosed section of the feeding trough is determined. For example, as described above regarding... Figure 1 As discussed, operation 1306 determines the feed volume within each of segments 102a-102c and / or 106a-106c. In some embodiments, operation 1306 relies on a trained machine learning model to calculate the feed volume (and / or feed weight) based on imaging data captured by an imaging sensor. For example, as described above regarding... Figure 12 Some of the discussed embodiments utilize trained machine learning models (e.g., model 918b) to provide volume and / or weight information (e.g., weight information 1255 and / or volume information 1260). To determine the volume and / or weight of feed having segments, in some embodiments, data defining the boundaries between segments is provided to the machine learning model. For example, Figure 12 The segment boundary information 1210 provided to the machine learning model 918b is shown. In some embodiments, volume determination is based on comparing a reference LiDAR point cloud of feed volume with a LiDAR point cloud of a segment within the feeding trough. For example, some embodiments determine the volume in vector space occupied by the object defined by the collected LiDAR point cloud and convert that vector space volume into a real-world volume measurement. Some other embodiments compare a reference LiDAR point cloud with available reference volume and / or feed weight with a LiDAR point cloud of feed within a segment of the feeding trough. The percentage of volume of the collected point cloud relative to the reference LiDAR point cloud is used to determine the percentage of reference volume and / or reference weight present in the imaged feeding trough segment.

[0062] In some embodiments, the volume and / or weight of feed identified as included in the first section represents the achievable volume or weight of the feed, while the second volume and / or second weight of feed identified as included in the second section represents the inaccessible volume or weight of the feed. For example, as described above, section 102a represents the accessible portion of the feeding trough, and therefore any feed weight and / or volume included in section 102a is considered to be the achievable volume and / or weight of the feed. Section 106a represents the inaccessible portion of the feeding trough, and therefore any feed volume or weight included in section 106a is considered to be the inaccessible volume and / or weight of the feed.

[0063] Some implementations determine feed weight based on a determined feed volume. In some implementations, input from one or more sensors assists in this determination. For example, since the moisture content of the feed can affect its density, in some implementations, input from a humidity or moisture sensor is used to approximate the density of a known feed type, which can help translate feed volume determination into feed weight determination. In some other implementations, the feeding trough is equipped with a scale that directly weighs the amount of feed in the trough and electronically transmits this weight information to the control system 212.

[0064] Operation 1308 determines whether the determined feed volume (and / or weight) in each closed segment of the closed section meets a corresponding criterion. In some embodiments, the criterion defines a minimum volume and / or weight of feed in one or more segments of the section. In some embodiments, if the feed volume in the accessible first segment is below a predetermined threshold, operation 1308 determines a feed shortage condition. In some embodiments, operation 1308 determines whether the volume or weight of the accessible first segment is below a predetermined threshold amount, and whether the inaccessible second segment corresponding to the accessible segment includes a feed volume and / or weight above a second predetermined threshold amount. In this case, in at least some embodiments, the shortage of accessible feed in the first segment is considered to be a result of the animal pushing feed from the accessible first segment to the inaccessible second segment. Therefore, in some embodiments, when both criteria are met, operation 1310 below triggers or otherwise generates an alarm indicating that an uppush operation should be performed to move a portion of the inaccessible volume / weight of food from the second segment to the first segment. In some implementations, method 1300 activates the feed propeller motor 310 to influence the movement of feed from the second section to the first section.

[0065] In operation 1310, an output signal is generated based on whether a criterion is met. For example, as described above, in some embodiments, one or more report or electronic display outputs are generated (e.g., to report printer 214 and / or smartphone 216). In some embodiments, an alarm is generated based on whether a criterion is met. (See also: Regarding...) Figure 3 Some embodiments discussed generate an output signal that controls an electronically controlled feeder or feed dispenser 306 to dispense feed into a feeding trough (e.g., feeding trough 302). Some embodiments determine the amount of feed to be dispensed into the feeding trough or section based at least in part on measured rejection, unreachable rejection, and / or reachable rejection amounts of the feed in the feeding trough or section.

[0066] In some embodiments, if a feed shortage is detected by operation 1308, operation 1310 generates an alarm or other notification indicating the feed shortage. As described above, in some embodiments, a feed shortage...

[0067] Some embodiments of method 1300 include detecting feeding events. In some embodiments, detecting a feeding event includes detecting activation of the feed dispenser 306. In other embodiments, input indicating that a feeding event has occurred at a specific feeding trough is received via a user interface. In some other embodiments, feeding events are detected by comparing consecutive volume / weight measurements of a segment. Some embodiments detect a feeding event if there is a consecutive increase in volume / weight. In some embodiments, such feeding events are detected only if the volume of feed in an inaccessible segment corresponding to a reachable segment remains constant or increases. For example, if a decrease in the volume / weight of feed in an inaccessible segment is associated with an increase in the volume / weight of feed in a corresponding reachable segment, a feeding event is not detected at least in some embodiments (because the increase in volume in the reachable segment is the result of an up-push operation that moves the volume / weight of feed from the inaccessible segment to the reachable segment). In some embodiments, the detection of feeding events is based on the time of day. For example, some embodiments support configuration parameters that limit feeding events to specific times of day. Some embodiments utilize machine learning algorithms to detect feeding activities. For example, some implementations analyze passive optical and / or LIDAR imaging data to detect the presence of feeding equipment near the feeding trough, or to detect the physical addition of feed to the feeding trough as a feeding event.

[0068] In some embodiments, the detection of a feeding event results in the determination of the volume and / or weight of remaining feed in the reachable segment immediately before the feeding event occurs. Some embodiments treat this remaining feed as rejected feed and thus determine the rejected volume and / or weight. Upon detection of a feeding event, some embodiments determine the volume and / or weight of remaining feed in each inaccessible segment immediately before the feeding event. Some embodiments classify the volume and / or weight of remaining feed in inaccessible segments as inaccessible rejected volumes and / or weights. In some embodiments, the reachable rejected and inaccessible rejected volumes and / or weights in corresponding segments (e.g., reachable segments and their corresponding inaccessible segments, such as segments 102a and 106a, 102b and 106b, or 103c and 106c) are aggregated (e.g., summed) to determine the measured rejection amounts for both segments. This process can be repeated for multiple sets of corresponding segments.

[0069] After operation 1310 is completed, method 1300 moves to end operation 1312.

[0070] Figure 14 A block diagram of an exemplary machine 1400 is shown, on which any or more of the techniques (e.g., methods) described herein can be performed. Machine 1400 (e.g., a computer system) may include a hardware processor 1402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), main memory 1404, and static memory 1406, some or all of which may communicate with each other via interconnect links 1408 (e.g., a bus). In some embodiments, exemplary machine 1400 is implemented by a control system 212.

[0071] Specific examples of main memory 1404 include random access memory (RAM) and semiconductor memory devices, which in some embodiments may include storage locations in semiconductors (such as registers). Specific examples of static memory 1406 include: non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; RAM; and CD-ROM and DVD-ROM disks.

[0072] Machine 1400 may also include a display device 1410, an input device 1412 (e.g., a keyboard), and a user interface (UI) navigation device 1414 (e.g., a mouse). In one example, the display device 1410, input device 1412, and UI navigation device 1414 may be a touchscreen display. Machine 1400 may also include a mass storage device 1416 (e.g., a drive unit), a signal generation device 1418 (e.g., a speaker), a network interface device 1420, and one or more sensors 1421 (such as a Global Positioning System (GPS) sensor, a compass, an accelerometer, or some other sensor). Machine 1400 may include an output controller 1428, such as serial (e.g., Universal Serial Bus (USB)), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connections, to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.). In some embodiments, hardware processor 1402 and / or instruction set 1424 may include processing circuitry and / or transceiver circuitry.

[0073] Mass storage device 1416 may include machine-readable medium 1422 on which one or more sets of data structures or instructions 1424 (e.g., software) embodied or utilized by any or more of the techniques or functions described herein are stored. Instructions 1424 may also reside wholly or at least partially within main memory 1404, static memory 1406, or hardware processor 1402 during execution by machine 1400. In one example, in at least some embodiments, one or any combination of hardware processor 1402, main memory 1404, static memory 1406, or mass storage device 1416 constitutes a machine-readable medium.

[0074] Specific examples of machine-readable media include one or more of the following: non-volatile memory, such as semiconductor memory devices (e.g., EPROM or EEPROM) and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; RAM; and CD-ROM and DVD-ROM disks.

[0075] Although machine-readable medium 1422 is shown as a single medium, in at least some embodiments, the term "machine-readable medium" includes a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) configured to store one or more instructions 1424.

[0076] In at least some embodiments, the device of machine 1400 includes one or more of the following: a hardware processor 1402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), main memory 1404 and static memory 1406, a sensor 1421, a network interface device 1420, an antenna 1460, a display device 1410, an input device 1412, a UI navigation device 1414, a mass storage device 1416, an instruction set 1424, a signal generation device 1418, and an output controller 1428. In at least some embodiments, the device is configured to perform one or more of the methods and / or operations disclosed herein. In some embodiments, the device is a component of machine 1400 to perform one or more of the methods and / or operations disclosed herein, and / or a portion thereof. In some embodiments, the device includes pins or other components for receiving power. In some embodiments, the device includes power regulation hardware.

[0077] In some embodiments, the term "machine-readable medium" includes any medium capable of storing, encoding, or carrying instructions executable by machine 1400 and causing machine 1400 to perform any one or more of the technologies disclosed herein, or capable of storing, encoding, or carrying data structures used by or associated with such instructions. Examples of non-limiting machine-readable media include solid-state memories, as well as optical and magnetic media. Specific examples of machine-readable media include: non-volatile memories, such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; random access memory (RAM); and CD-ROM and DVD-ROM disks. In some examples, machine-readable media includes non-transitory machine-readable media. In some examples, machine-readable media includes machine-readable media that do not transiently propagate signals.

[0078] In at least some embodiments, a transmission medium may also be used to transmit or receive instructions 1424 in the communication network 1426 via the network interface device 1420 using any of a plurality of transport protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Exemplary communication networks include local area networks (LANs), wide area networks (WANs), packet data networks (e.g., the Internet), mobile phone networks (e.g., cellular networks), conventional telephone (POTS) networks, and wireless data networks (e.g., referred to as wireless networks). The standards include the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series standards, the IEEE 802.15.4 series standards, the Long Term Evolution (LTE) 4G or 5G series standards, the Universal Mobile Telecommunications System (UMTS) series standards, peer-to-peer (P2P) networks, satellite communication networks, etc.

[0079] In one exemplary embodiment, network interface device 1420 includes one or more physical jacks (e.g., Ethernet, coaxial cable, or telephone jacks) or one or more antennas for connection to communication network 1426. In one exemplary embodiment, network interface device 1420 includes one or more antennas 1460 for wireless communication using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) technologies. In some examples, network interface device 1420 uses multi-user MIMO technology for wireless communication. The term "transmission medium" should be considered to include any intangible medium capable of storing, encoding, or carrying instructions executed by machine 1400, and includes digital or analog communication signals or other intangible media to facilitate communication of such software.

[0080] As described herein, at least some exemplary embodiments include, or operate on, logic or multiple components, modules, or mechanisms. A module is a tangible entity (e.g., hardware) capable of performing a specified operation and configured or arranged in a certain way. In one example, circuitry arranged in a specified manner (e.g., internally or relative to external entities such as other circuitry) is a module. In one example, all or part of one or more computer systems (e.g., standalone, client, or server computer systems) or one or more hardware processors are configured by firmware or software (e.g., instructions, application portions, or applications) to operate to perform a specified operation. In one example, the software resides on a machine-readable medium. In one example, when executed by the underlying hardware of the module, the software causes the hardware to perform the specified operation.

[0081] Therefore, the term "module" is understood to encompass tangible entities, namely entities that are physically constructed, specifically configured (e.g., hardwired), or temporarily (e.g., provisionally) configured (e.g., programmed) to operate or perform any of the operations described herein in a specified manner. Consider examples of modules that are provisionally configured, where each module does not need to be instantiated at any given time. For example, in cases where modules include general-purpose hardware processors configured using software, in some embodiments, the general-purpose hardware processor may be configured as distinct modules at different times. The software accordingly configures the hardware processor, for example, to constitute a particular module at one time and different modules at different times.

[0082] Some implementations are implemented wholly or partially in software and / or firmware. In at least some implementations, the software and / or firmware take the form of instructions contained in or on a non-transitory computer-readable storage medium. In at least some implementations, these instructions are then read and executed by one or more hardware processors to enable the performance of the operations described herein. The instructions are in any suitable form, such as, but not limited to, source code, compiled code, interpreted code, executable code, static code, dynamic code, etc. Such computer-readable media include any tangible non-transitory medium for storing information in a form readable by one or more computers, such as, but not limited to, read-only memory (ROM); random access memory (RAM); disk storage media; optical storage media; flash memory, etc.

[0083] As described herein, at least some examples include, or operate on, logic or multiple components, modules, or mechanisms. A module is a tangible entity (e.g., hardware) capable of performing a specified operation and configured or arranged in a certain way. In one example, circuitry arranged in a specified manner (e.g., internally or relative to external entities such as other circuitry) is a module. In one example, all or part of one or more computer systems (e.g., standalone, client, or server computer systems) or one or more hardware processors are configured by firmware or software (e.g., instructions, application portions, or applications) to operate to perform a specified operation. In one example, the software resides on a machine-readable medium. In one example, when executed by the underlying hardware of the module, the software causes the hardware to perform the specified operation.

[0084] Therefore, the term "module" is understood to encompass tangible entities, namely entities that are physically constructed, specifically configured (e.g., hardwired), or temporarily (e.g., provisionally) configured (e.g., programmed) to operate or perform part or all of any of the operations described herein in a specified manner. Consider examples of modules that are provisionally configured, where each module does not need to be instantiated at any given time. For example, in cases where modules include general-purpose hardware processors configured using software, in at least some embodiments, the general-purpose hardware processor may be configured as distinct modules at different times. In at least some embodiments, the software accordingly configures the hardware processor, for example, to constitute a particular module at one time and different modules at different times.

[0085] Various implementations can be implemented entirely or partially in software and / or firmware. The software and / or firmware may take the form of instructions contained in or on a non-transitory computer-readable storage medium. These instructions are then read and executed by one or more processors to enable the performance of the operations described herein. The instructions are in any suitable form, such as, but not limited to, source code, compiled code, interpreted code, executable code, static code, dynamic code, etc. In at least some implementations, such computer-readable media include any tangible non-transitory medium for storing information in a form readable by one or more computers, such as, but not limited to, read-only memory (ROM); random access memory (RAM); disk storage media; optical storage media; flash memory, etc.

Claims

1. A method for analyzing images of a feeding trough, the method comprising: Establish section boundaries for the feeding trough, the section boundaries surrounding a portion of the area of ​​the feeding trough and defining at least two enclosed sections; Imaging data representing the feeding trough is obtained via an imaging sensor; Based on the imaging data and using at least one processor circuit: Determine the corresponding volume of feed within the corresponding closed section of the at least two closed sections; Determine whether the determined corresponding volume meets the corresponding standard; as well as An output signal to another device is generated based on whether at least one of the determined volumes meets the corresponding criterion. The at least two closed sections are defined by the boundaries of an accessible section and an inaccessible section. The reachable section includes reachable feed, and the inaccessible section includes inaccessible feed. The standard defines the minimum volume of feed in the section, and if the volume of feed in the reachable section is lower than a predetermined threshold, a feed shortage is identified. The output signal is triggered by a determined feed shortage condition.

2. The method of claim 1, wherein establishing the segment boundary comprises defining corresponding rows of closed segments, the rows extending longitudinally along the feeding trough and substantially parallel to each other.

3. The method according to claim 2, wherein the corresponding closed segment in the first row of the corresponding row corresponds to the corresponding closed segment in the second row of the corresponding row.

4. The method of claim 1, wherein the imaging sensor is a light detection and ranging (LIDAR) sensor, the imaging data is a first LIDAR point cloud, and the determination of the corresponding volume is based on the first LIDAR point cloud.

5. The method according to claim 4, further comprising: The first LIDAR point cloud is provided to the machine learning model; as well as The machine learning model is used to establish the location of the boundary between the first closed segment and the second closed segment.

6. The method of claim 5, further comprising obtaining a second boundary of the first row of closed segments and a third boundary of the second row of closed segments from the machine learning model, wherein determining the corresponding volume of the feed comprises: The feed volume in the first row of closed sections is determined based on the first boundary and the second boundary. as well as The feed volume in the second row of closed sections is determined based on the first boundary and the third boundary.

7. The method of claim 4, wherein determining the corresponding volume determines the difference between the reference LIDAR point cloud and the first LIDAR point cloud.

8. The method of claim 1, wherein the imaging sensor is a passive optical imaging sensor, and the method further comprises providing the imaging data to a machine learning model and receiving labeled data from the machine learning model, the labeled data representing an estimate of a corresponding volume of feed within a corresponding enclosed segment.

9. The method of claim 1, further comprising providing the imaging data to a machine learning model and receiving from the machine learning model an indication of whether the feeding trough includes an inaccessible feed area, wherein establishing the corresponding segment boundary includes defining at least one corresponding closed segment corresponding to the inaccessible feed area.

10. The method according to claim 1, further comprising: This causes the image of the feeding trough to be displayed on the monitor; as well as Receive input defining the boundaries of the sections, wherein the determination of the corresponding volume of feed within the corresponding enclosed section is based on the received input.

11. The method of claim 1, further comprising receiving input of at least one dimension defining the boundary of the corresponding segment.

12. The method of claim 1, further comprising determining a feed shortage condition based on a defined feed volume that meets a criterion in a first closed segment, the first closed segment being defined by a segment boundary in a first row of closed segment boundaries, wherein the output signal is triggered by the determined feed shortage condition.

13. The method of claim 12, further comprising determining, based on a second determined feed volume in another closed segment defined by the segment boundary in another closed segment, that the feed shortage is due to unreachable feed.

14. The method of claim 1, wherein the segment boundaries define a first row of closed segments and a second row of closed segments.

15. The method according to claim 14, further comprising: Detect feeding events; as well as The rejection volume of the corresponding closed section in the first row is determined based on the determined corresponding volume of the remaining feed in the corresponding closed section in the first row, wherein the generation of the output signal is based on the determined rejection volume.

16. The method of claim 15, wherein the detection of the feeding event is based on the time of day.

17. The method of claim 15, further comprising capturing an image of the feeding trough, wherein the detection of the feeding event is based on the image.

18. The method according to claim 14, further comprising: Based on the determined corresponding volume of feed in the corresponding closed section of the second row segment, the unreachable rejection volume of each segment in the second row segment is determined, wherein the generation of the output signal is based on the determined unreachable rejection volume.

19. The method of claim 18, further comprising determining a rejection of a measurement by summing rejection volumes and unreachable rejection volumes in corresponding closed segments of the first row and the second row, wherein the generation of the output signal is based on the determined rejection volumes of the measurement.

20. The method according to claim 2, further comprising: Receive input from the sensor; as well as The density of the feed is determined based on the input.

21. The method of claim 20, wherein the sensor comprises a scale.

22. The method of claim 20, wherein the sensor comprises a moisture sensor.

23. The method of claim 20, further comprising determining the feed weight based on the determined volume and the density of the feed, wherein the generation of the output signal is based on the determined feed weight.

24. The method of claim 1, further comprising generating an alarm based on the output signal.

25. The method according to claim 1, further comprising controlling the operation of the mechanized feeder based on the output signal.

26. The method of claim 25, wherein the control operation includes triggering the mechanized feeder to dispense feed.

27. The method of claim 25, wherein the control operation includes establishing the amount of feed to be allocated within a corresponding closed section defined by the section boundary.

28. The method of claim 25, wherein the control operation includes triggering the pushing of feed from an unreachable closed section to an reachable closed section.

29. A non-transitory computer-readable storage medium for analyzing images of a feeding trough, the non-transitory computer-readable storage medium comprising instructions that, when executed, configure a hardware processing circuitry system to perform operations including: Establish section boundaries for the feeding trough, the section boundaries surrounding a portion of the area of ​​the feeding trough and defining at least two enclosed sections; Imaging data representing the feeding trough is obtained via an imaging sensor; Based on the imaging data and using at least one processor circuit: Determine the corresponding volume of feed within the corresponding closed section of the at least two closed sections; Determine whether the determined corresponding volume meets the corresponding standard; as well as An output signal to another device is generated based on whether at least one of the determined volumes meets the corresponding criterion. The at least two closed sections are defined by the boundaries of an accessible section and an inaccessible section. The reachable section includes reachable feed, and the inaccessible section includes inaccessible feed. The standard defines the minimum volume of feed in the section, and if the volume of feed in the reachable section is lower than a predetermined threshold, a feed shortage is identified. The output signal is triggered by a determined feed shortage condition.

30. The non-transitory computer-readable storage medium of claim 29, wherein establishing the segment boundary comprises corresponding rows defining closed segments, the rows extending longitudinally along the feeding trough and substantially parallel to each other.

31. The non-transitory computer-readable storage medium of claim 30, wherein the corresponding closed segment in the first row of the corresponding row corresponds to the corresponding closed segment in the second row of the corresponding row.

32. The non-transitory computer-readable storage medium of claim 29, wherein the imaging sensor is a light detection and ranging (LIDAR) sensor, the imaging data is a first LIDAR point cloud, and the determination of the corresponding volume is based on the first LIDAR point cloud.

33. The non-transitory computer-readable storage medium according to claim 32, further comprising: The first LIDAR point cloud is provided to the machine learning model; as well as The machine learning model is used to establish the location of the boundary between the first closed segment and the second closed segment.

34. The non-transitory computer-readable storage medium of claim 33, further comprising obtaining a second boundary of the first row of closed segments and a third boundary of the second row of closed segments from the machine learning model, wherein determining the corresponding volume of the feed comprises: The feed volume in the first row of closed sections is determined based on the first boundary and the second boundary. as well as The feed volume in the second row of closed sections is determined based on the first boundary and the third boundary.

35. The non-transitory computer-readable storage medium of claim 32, wherein determining the corresponding volume determines the difference between the reference LIDAR point cloud and the first LIDAR point cloud.

36. The non-transitory computer-readable storage medium of claim 29, wherein the imaging sensor is a passive optical imaging sensor, and the operation further includes providing the imaging data to a machine learning model and receiving labeled data from the machine learning model, the labeled data representing an estimate of a corresponding volume of feed within a corresponding enclosed segment.

37. The non-transitory computer-readable storage medium of claim 29, the operation further comprising providing the imaging data to a machine learning model, and receiving from the machine learning model an indication of whether the feeding trough includes an inaccessible feed area, wherein establishing the corresponding segment boundary includes defining at least one corresponding closed segment corresponding to the inaccessible feed area.

38. The non-transitory computer-readable storage medium according to claim 29, further comprising: This causes the image of the feeding trough to be displayed on the monitor; as well as Receive input defining the boundaries of the sections, wherein the determination of the corresponding volume of feed within the corresponding enclosed section is based on the received input.

39. The non-transitory computer-readable storage medium of claim 29, wherein the operation further includes receiving input of at least one dimension defining the boundary of the corresponding segment.

40. The non-transitory computer-readable storage medium of claim 29, the operation further comprising determining a feed shortage condition based on a criterion-satisfied determined feed volume in a first closed segment, the first closed segment being defined by a segment boundary in a first row of closed segment boundaries, wherein the output signal is triggered by the determined feed shortage condition.

41. The non-transitory computer-readable storage medium of claim 40, the operation further comprising determining, based on a second determined feed volume in another closed segment defined by the segment boundary in another closed segment, that the feed shortage is due to unreachable feed.

42. The non-transitory computer-readable storage medium of claim 29, wherein the segment boundaries define a first-line closed segment and a second-line closed segment.

43. The non-transitory computer-readable storage medium according to claim 42, further comprising: Detect feeding events; as well as The rejection volume of the corresponding closed section in the first row is determined based on the determined corresponding volume of the remaining feed in the corresponding closed section in the first row, wherein the generation of the output signal is based on the determined rejection volume.

44. The non-transitory computer-readable storage medium of claim 43, wherein the detection of the feeding event is based on the time of day.

45. The non-transitory computer-readable storage medium of claim 43, the operation further comprising capturing an image of the feeding trough, wherein the detection of the feeding event is based on the image.

46. ​​The non-transitory computer-readable storage medium of claim 42, further comprising: Based on the determined corresponding volume of feed in the corresponding closed section of the second row segment, the unreachable rejection volume of each segment in the second row segment is determined, wherein the generation of the output signal is based on the determined unreachable rejection volume.

47. The non-transitory computer-readable storage medium of claim 46, the operation further comprising determining a rejection of the measurement by summing the rejection volume and the unreachable rejection volume in corresponding closed segments of the first row and the second row, wherein the generation of the output signal is based on the determined rejection volume of the measurement.

48. The non-transitory computer-readable storage medium of claim 30, further comprising: Receive input from the sensor; as well as The density of the feed is determined based on the input.

49. The non-transitory computer-readable storage medium of claim 48, wherein the sensor comprises a scale.

50. The non-transitory computer-readable storage medium of claim 48, wherein the sensor comprises a moisture sensor.

51. The non-transitory computer-readable storage medium of claim 48, further comprising determining the feed weight based on the determined volume and the density of the feed, wherein the generation of the output signal is based on the determined feed weight.

52. The non-transitory computer-readable storage medium of claim 29, wherein the operation further includes generating an alarm based on the output signal.

53. The non-transitory computer-readable storage medium of claim 29, wherein the operation further includes controlling the operation of the mechanized feeder based on the output signal.

54. The non-transitory computer-readable storage medium of claim 53, wherein the control operation includes triggering the mechanized feeder to dispense feed.

55. The non-transitory computer-readable storage medium of claim 53, wherein the control operation includes establishing the amount of feed to be allocated within a corresponding closed segment defined by the segment boundary.

56. The non-transitory computer-readable storage medium of claim 53, wherein the control operation includes triggering the pushing of feed from an unreachable closed section to an reachable closed section.

57. A system for analyzing images of a feeding trough, the system comprising: Hardware processing circuit system; One or more hardware memories, the one or more hardware memories storing instructions that, when executed, configure the hardware processing circuitry system to perform operations, the operations including: Establish section boundaries for the feeding trough, the section boundaries surrounding a portion of the area of ​​the feeding trough and defining at least two enclosed sections; Imaging data representing the feeding trough is obtained via an imaging sensor; Based on the imaging data and using at least one processor circuit: Determine the corresponding volume of feed within the corresponding closed section of the at least two closed sections; Determine whether the determined corresponding volume meets the corresponding standard; and An output signal to another device is generated based on whether at least one of the determined volumes meets the corresponding criterion. The at least two closed sections are defined by the boundaries of an accessible section and an inaccessible section. The reachable section includes reachable feed, and the inaccessible section includes inaccessible feed. The standard defines the minimum volume of feed in the section, and if the volume of feed in the reachable section is lower than a predetermined threshold, a feed shortage is identified. The output signal is triggered by a determined feed shortage condition.

58. The system of claim 57, wherein establishing the segment boundary includes defining corresponding rows of closed segments, the rows extending longitudinally along the feeding trough and substantially parallel to each other.

59. The system of claim 58, wherein the corresponding closed segment in the first row of the corresponding row corresponds to the corresponding closed segment in the second row of the corresponding row.

60. The system of claim 57, wherein the imaging sensor is a light detection and ranging (LIDAR) sensor, the imaging data is a first LIDAR point cloud, and the determination of the corresponding volume is based on the first LIDAR point cloud.

61. The system of claim 60, further comprising: The first LIDAR point cloud is provided to the machine learning model; as well as The machine learning model is used to establish the location of the boundary between the first closed segment and the second closed segment.

62. The system of claim 61, further comprising obtaining a second boundary of the first row of closed segments and a third boundary of the second row of closed segments from the machine learning model, wherein determining the corresponding volume of the feed comprises: The feed volume in the first row of closed sections is determined based on the first boundary and the second boundary. as well as The feed volume in the second row of closed sections is determined based on the first boundary and the third boundary.

63. The system of claim 60, wherein determining the corresponding volume determines the difference between the reference LIDAR point cloud and the first LIDAR point cloud.

64. The system of claim 57, wherein the imaging sensor is a passive optical imaging sensor, and the operation further includes providing the imaging data to a machine learning model and receiving labeled data from the machine learning model, the labeled data representing an estimate of a corresponding volume of feed within a corresponding enclosed segment.

65. The system of claim 57, further comprising providing the imaging data to a machine learning model and receiving from the machine learning model an indication of whether the feeding trough includes an inaccessible feed area, wherein establishing the corresponding segment boundary includes defining at least one corresponding closed segment corresponding to the inaccessible feed area.

66. The system of claim 57, further comprising: This causes the image of the feeding trough to be displayed on the monitor; as well as Receive input defining the boundaries of the sections, wherein the determination of the corresponding volume of feed within the corresponding enclosed section is based on the received input.

67. The system of claim 57, wherein the operation further includes receiving input defining at least one dimension of the boundary of the corresponding segment.

68. The system of claim 57, further comprising determining a feed shortage condition based on a criterion-satisfied determined feed volume in a first closed segment, the first closed segment being defined by a segment boundary in a first row of closed segment boundaries, wherein the output signal is triggered by the determined feed shortage condition.

69. The system of claim 68, further comprising determining, based on a second determined feed volume in another closed segment defined by the segment boundary in another closed segment, that the feed shortage is due to unreachable feed.

70. The system of claim 57, wherein the segment boundaries define a first row of closed segments and a second row of closed segments.

71. The system of claim 70, further comprising: Detect feeding events; as well as The rejection volume of the corresponding closed section in the first row is determined based on the determined corresponding volume of the remaining feed in the corresponding closed section in the first row, wherein the generation of the output signal is based on the determined rejection volume.

72. The system of claim 71, wherein the detection of the feeding event is based on the time of day.

73. The system of claim 71, further comprising capturing an image of the feeding trough, wherein the detection of the feeding event is based on the image.

74. The system of claim 70, further comprising: Based on the determined corresponding volume of feed in the corresponding closed section of the second row segment, the unreachable rejection volume of each segment in the second row segment is determined, wherein the generation of the output signal is based on the determined unreachable rejection volume.

75. The system of claim 74, further comprising determining a rejection of the measurement by summing the rejection volume and the unreachable rejection volume in the corresponding closed segments of the first row and the second row, wherein the generation of the output signal is based on the determined rejection volume of the measurement.

76. The system of claim 58, further comprising: Receive input from the sensor; as well as The density of the feed is determined based on the input.

77. The system of claim 76, wherein the sensor comprises a scale.

78. The system of claim 76, wherein the sensor comprises a moisture sensor.

79. The system of claim 76, further comprising determining the feed weight based on the determined volume and the density of the feed, wherein the generation of the output signal is based on the determined feed weight.

80. The system of claim 57, wherein the operation further includes generating an alarm based on the output signal.

81. The system of claim 57, wherein the operation further includes controlling the operation of the mechanized feeder based on the output signal.

82. The system of claim 81, wherein the control operation includes triggering the mechanized feeder to dispense feed.

83. The system of claim 81, wherein the control operation includes establishing the amount of feed to be allocated within a corresponding closed section defined by the section boundary.

84. The system of claim 81, wherein the control operation includes triggering the pushing of feed from an unreachable closed section to an reachable closed section.