The improvements generally relate aquaculture and more specifically relate to systems and methods for monitoring and predicting growth of a population of organisms.
Aquaculture involves cultivating populations of marine organisms (e.g., fish, shrimps, eggs, crustaceans, molluscs or aquatic plants) as they grow over time. Typically, the population of organisms are grown in a pond, a pool, an open sea cage or in any other suitable fenced area up until the organisms of the population are satisfactorily grown, after which they are removed from the fenced area and sold to a processing plant. Income associated with the selling of a population of organisms generally depends on the weight, the size and/or the volume of the organisms contained in the population. Accordingly, selling the population too early during the growth of the organisms can reduce income and thus impede profitability. Although experienced aquaculture farmers are used to estimating when a population of organisms is satisfactorily grown, there still remains room for improvement.
In accordance with one aspect, there is provided a system for predicting growth of a population of organisms, using at least a first value of a growth indicator quantity being associated to a first sample of said population at a first moment in time, the system comprising: a container; a structure facing the container and having a camera with a field of view orientable towards a second sample of said population of organisms, and being configured for acquiring an image of said second sample at a second moment in time; and a controller having a memory and a processor configured to perform the steps of: accessing said image; using a growth indication quantity determination engine being stored on said memory and said accessed image, determining at least a second value of the growth indication quantity being associated to the second sample of said population; and using a growth prediction engine, and based on at least the first and second values of the growth indication quantity, determining at least a predicted value of said growth indication quantity for said population at least at a subsequent moment in time.
In accordance with another aspect, there is provided a method for predicting growth of a population of organisms, the method comprising: receiving a first sample of said population of organisms into a container at a first moment in time; imaging said first sample of said population to obtain a first image; using a growth indication quantity determination engine and said first image, determining at least a first value of the growth indication quantity being associated to the first sample of said population; receiving a second sample of said population of organisms into the container at a subsequent, second moment in time; imaging said second sample of said population to obtain a second image; using the growth indication quantity determination engine and said second image, determining at least a second value of the growth indication quantity being associated to the second sample of said population; and using a growth prediction engine, and based on at least the first and second values of the growth indication quantity, determining at least a predicted value of said growth indication quantity for said population at least at a subsequent moment in time.
In accordance with another aspect, there is provided a method for predicting growth of a population of organisms, the method comprising: receiving a first sample of said population of organisms into a container at a first moment in time; imaging said first sample of said population to obtain a first image; using a growth indication quantity determination engine and said first image, determining at least a first value of the growth indication quantity being associated to the first sample of said population; and using a growth prediction engine, accessing prior experimental data pertaining to said organisms, and determining at least a predicted value of said growth indication quantity for said population at least at a subsequent moment in time based on said prior experimental data, said first value of the growth indication quantity and on said first moment in time.
In accordance with another aspect, there is provided a method for predicting growth of a population of organisms, the method comprising: receiving a first image representing a first sample of said population of organisms into a container at a first moment in time; using a growth indication quantity determination engine and said first image, determining at least a first value of the growth indication quantity being associated to the first sample of said population; receiving a second image representing a second sample of said population of organisms into the container at a subsequent, second moment in time; using the growth indication quantity determination engine and said second image, determining at least a second value of the growth indication quantity being associated to the second sample of said population; and using a growth prediction engine, and based on at least the first and second values of the growth indication quantity, determining at least a predicted value of said growth indication quantity for said population at least at a subsequent moment in time.
In accordance with another aspect, there is provided a method for predicting growth of a population of organisms, with at least a first value of a growth indication quantity being associated to a first sample of said population, the method comprising: receiving a second image representing a second sample of said population of organisms into the container at a subsequent, second moment in time; using the growth indication quantity determination engine and said second image, determining at least a second value of the growth indication quantity being associated to the second sample of said population; and using a growth prediction engine, and based on at least the first and second values of the growth indication quantity, determining at least a predicted value of said growth indication quantity for said population at least at a subsequent moment in time.
In accordance with another aspect, there is provided a method for predicting growth of a population of organisms, the method comprising: receiving at least a first value of a growth indication quantity being associated to a first sample of said population; receiving at least a second value of the growth indication quantity being associated to the second sample of said population; and using a growth prediction engine, and based on at least the first and second values of the growth indication quantity, determining at least a predicted value of said growth indication quantity for said population at least at a subsequent moment in time.
Many further features and combinations thereof concerning the present improvements will appear to those skilled in the art following a reading of the instant disclosure.
In the figures,
As depicted, the system 100 has a container 106 which in this case receives a sample 102 of organisms 104. The sample 102 can originate from sampling a fenced area, such as a pond, a pool, an open sea cage and the like, containing the population of organisms.
In this specific example, the system 100 has a structure 108 facing the container 106 and one (or more) camera(s) 110 mounted to the structure 108 in wired or wireless communication with a controller 112. In some embodiments, the structure 108 is directly mounted to the container 106. In some other embodiments, the structure 108 may face the container 106 while not being necessarily mounted thereto. In the illustrated example, the container 106 can be referred to as a closed container due to its closed bottom 114 from which is extending a contour wall 116.
More specifically, in this embodiment, the structure 108 is used to maintain the camera 110 at a given distance d from the closed bottom 114 of the container 106. As illustrated in
In this embodiment, the container 106 and the structure 108 are made light hermetic to prevent light from entering the container 106 to avoid undesirable interference between ambient light and the system 100, for instance.
Moreover, still in this specific embodiment, an inner face 115 of the closed bottom 114 and an inner face 117 of the contour wall 116 are light reflective. In this way, a light emitting device 111 of the system 100 can be adapted to provide satisfactory lighting conditions during image acquisition by the camera 110.
As shown, in this example, the camera 110 is positioned so that, when the container 106 receives the sample 102 of organisms 104, the camera 110 can image the sample 102, or a portion thereof, for further analysis by the controller 112.
In other words, the camera 110 has a field of view 120 which is oriented towards the sample 102. As depicted, the field of view 120 of the system 100 shown in
As will be described in detail below, a first sample of the population of organisms is received into the container 106 at a first moment in time, after which the first sample can be imaged to obtain a first image. Using a growth indication quantity determination engine, the controller 112 is configured to determine at least a first value of a growth indication quantity being associated to the first sample of the population. At a subsequent, second moment in time, e.g., when it is assumed that the organisms of the population have grown since the first moment in time, a second sample of the population of organisms is received into the container 106. The second sample can then be imaged to obtain a second image. Similarly, the controller 112 is configured to determine at least a second value of the growth indication quantity being associated to the second sample of the population using the growth indication quantity determination engine. Based on the first and second values of the growth indication quantity, a growth prediction engine of the controller 112 is configured to determine at least a predicted value of the growth indication quantity for the population at least at a subsequent moment in time.
At later moments in time, other samples of the population can be received in the container 106 for imaging and growth indication quantity determination purposes. In such circumstances, the growth prediction engine can be configured to, based on the values of the growth indication quantity for these other samples, determine values of the growth indication quantity at least at a subsequent moment in time. It is envisaged that by doing so, the predicted values of the growth indication quantity can be more accurate as they are based on a greater number of data points.
As such, the so-determined predicted value(s) of the growth indication quantity can enable aquaculture farmer(s) to make informed decision concerning whether the population is ready to be harvested.
In further embodiments, the predicted values of the growth indication quantity can be used to determine whether the population should be harvested and sold now or wait to a later moment in time, in order to maximize profits based on the market demand. In these embodiments, market prices being function of the species of the organisms can be involved and updated as function of the market or of the time of the year for instance. Other economical parameters can be used in the profitability optimization such as market price for organisms in specific weight ranges, fixed plant operation costs, weekly plant operation costs, feed costs and the like.
It is noted that the growth indication quantity can be any quantity which varies with growth of a given species of organisms. For instance, the growth indication quantity can be biomass, a body weight, a body size, a body volume and the like in some embodiments. The growth indication quantity can be an average, a median, a standard deviation, a coefficient of variation, or any aggregated metric of individual values in the population or can be a distribution function representative of individual values in the population. The growth indication quantity can be a colour, a shape, a grade and/or a stage (e.g., representative of molting) associated to the organisms in some other embodiments.
In embodiments where the growth indication quantity is a body weight, the first value can be indicative of a distribution of individual values of body weight associated to the plurality of organisms present in the sample. Alternately, the first value can be indicative of an average value of the individual values of body weight associated to the plurality of organisms present in the sample.
In embodiments where the growth indication quantity is related to the body weight of the organisms, the growth prediction engine can be configured to predict a growth indication quantity that can be indicative of a distribution of individual values of body weight associated to the organisms of the population. For instance, the predicted value can be a distribution function describing the proportion of organisms in the population within a given body weight range. Alternately, the predicted value can be indicative of an average value of the individual values of body weight of the organisms in the population.
Published PCT applications WO 2012/083461 and WO 2016/004527 describe examples of systems which can be used to determine biomass, size, volume, shape and/or colour, the contents of which are incorporated herein by reference. An example of a scale which can be used to determine value(s) of body weight associated to organisms is described in Published PCT application WO 2019/210421, the content of which is incorporated herein by reference.
In this specific embodiment, the system 100 includes a visual indicator 121 which can be operable to visual indicator the predicted value(s) of the growth indication quantity upon determination by the controller 112. However, in other embodiments, the visual indicator may be remotely located relative to the system 100. For instance, the visual indicator may be provided in the form of a computer application, a web page, a web application, or a mobile application accessible through a network such as the Internet.
The controller 112 can be provided as a combination of hardware and software components. The hardware components can be implemented in the form of a computing device 200, an example of which is described with reference to
More specifically, and referring now to
The processor 230 can be, for example, a general-purpose microprocessor or microcontroller, a digital signal processing (DSP) processor, an integrated circuit, a field programmable gate array (FPGA), a reconfigurable processor, a programmable read-only memory (PROM), or any combination thereof.
The memory 232 can include a suitable combination of any type of computer-readable memory that is located either internally or externally such as, for example, random-access memory (RAM), read-only memory (ROM), compact disc read-only memory (CDROM), electro-optical memory, magneto-optical memory, erasable programmable read-only memory (EPROM), and electrically-erasable programmable read-only memory (EEPROM), Ferroelectric RAM (FRAM) or the like.
Each I/O interface 234 enables the computing device 200 to interconnect with one or more input devices, such as the camera 110, or with one or more output devices such as the visual indicator 121.
Each I/O interface 234 enables the controller 112 to communicate with other components, to exchange data with other components, to access and connect to network resources, to serve applications, and perform other computing applications by connecting to a network (or multiple networks) capable of carrying data including the Internet, Ethernet, plain old telephone service (POTS) line, public switch telephone network (PSTN), integrated services digital network (ISDN), digital subscriber line (DSL), coaxial cable, fiber optics, satellite, mobile, wireless (e.g. Wi-Fi, WiMAX), SS7 signaling network, fixed line, local area network, wide area network, and others, including any combination of these.
As can be understood, the processor 230, the memory 232, and other components of the system 100 requiring electrical power can be powered using a power supply. In one embodiment, the power supply is a standalone power supply, such as a battery or a solar panel, to offer greater mobility to the system 100 than by the use of a power cord, for instance.
Referring now to
As shown, the software application 300 is configured to access a first image 310a representing a first sample of organisms of the population at a first moment in time. The first image 310a can be accessed directly from the camera 110, and alternately or additionally, be accessed from the memory 232 where the image 310a has been previously stored after its acquisition by the camera 110.
As depicted, the software application 300 includes a growth indication quantity determination engine 312 which is stored on the memory 232 and executable by the processor 230 in this example.
More specifically, the software application 300 is configured to perform the step of, using the growth indication quantity determination engine 312, determining at least a first value (hereinafter “the first value 314a”) of a growth indication quantity being associated to the first sample of the population using the first image 310a.
In some embodiments, the first value 314a is provided in the form of an average value of a plurality of individual values associated to respective organisms of the first sample as shown in the first image 310a. Alternately or additionally, the first value 314a is provided in the form of a distribution of individual values associated to respective organisms of the first sample as shown in the first image 310a.
In such embodiments, the growth indication quantity determination engine 312 is configured to detect one or more organism representations in the first image 310a and to generate detection data concerning the detected organism representations. Once detected, the growth indication quantity determination engine 312 is configured to determine the individual values of the growth indication quantity associated to each of the detected organism representations based on the detection data.
Depending on the embodiment, the detection data can include one or more annotated images showing the position of the detected organism representations, one or more cropped images each showing a respective one of the detected organism representations, coordinates of the detection organism representations, a combination thereof, or any other suitable information concerning the detected organism representations in the first image 310a.
As illustrated, the software application 300 is also configured to access a second image 310b representing a second sample of organisms of the population at a subsequent, second moment in time. The second image 310b can be accessed directly from the camera 110, and alternately or additionally, be accessed from the memory 232 where the second image 310b has been previously stored after its acquisition by the camera 110.
Similarly to as described above, the software application 300 is configured to perform the step of, using the growth indication quantity determination engine 312, determining at least a second value (hereinafter “the second value 314b”) of the growth indication quantity being associated to the second sample of the population using the second image 310b.
As can be understood, as the first and second images 310a and 310b are taken are different, temporally spaced-apart moments in time, the organisms of the population may have grown between the acquisitions of the first and second images 310a and 310b. In such a case, it can be expected that the second value 314b be larger than the first value 314a for instance.
The time between the acquisition of the first image 310a and the acquisition of the second image 310b can be as short as a few seconds and as long as a few days or weeks. Preferably, the frequency at which the population of organisms is sampled and measured ranges between one per day and a couple of times per month.
As can be understood, the software application 300 needs not to determine both the first value 314a and the second value 314b. For instance, in some embodiments, the first value 314a and second value 314b are determined using different but similar systems 100. In some other embodiments, the first value 314a is received from a network or a remote memory where it has been stored for a given period of time. The first value 314a need not to be determined by a growth indication quantity determination engine either. For instance, in alternate embodiments, the growth indication quantity of the first sample is determined by visual inspection, inputted via a user interface, and then stored onto a memory which will be later accessible to the software application 300 for computational purposes.
The software application 300 is further configured to perform the step of, using a growth prediction engine 316, determining at least a predicted value 318 of the growth indication quantity for the population at least at a subsequent moment in time based on the first and second values 314a and 314b.
In some embodiments, the software application 300 can be configured to output a single predicted value 318 of the growth indication quantity at a predetermined subsequent period of time, e.g., one week, two weeks or one month later. However, in some other embodiments, it was found convenient to configure the growth prediction engine 316 to determine a plurality of predicted values 318 of the growth indication quantity for a plurality of subsequent moments in time. These predicted values 318 can be provided in the form of a continuous function varying as a function of time in some alternate embodiments. In any case, it can be preferred to determine the predicted values 318 for about 1 to 4 weeks after the last value measurement.
It can be appreciated that the predicted value(s) of the growth indication quantity determined by growth prediction engine can increase in accuracy with an increasing number of value(s) of the growth indication quantity. In other words, the accuracy of the growth prediction engine increases with the number of times that the population of organisms is tested over time to determine its corresponding value of the growth indication quantity. Accordingly, while the above-described embodiment describes the first and second values 314a and 314b, it is envisaged that a plurality of such value measurements can preferably be made and used in the determination of the predicted value(s) of the growth indication quantity. Additionally, as new values of the growth indication quantity are measured, the growth prediction engine can calculate new predicted values of the growth indication quantity taking into account the new measurements.
In some embodiments, in addition to the predicted values of the growth indication quantity, the growth prediction engine can also be configured to predict a confidence interval for the predicted values of the growth indication quantity. The confidence interval can be indicative of the certainty (or uncertainty) of the growth prediction engine on the predicted values, for instance an interval in which it is probable at 95% that the predicted values might lay. Examples of such confidence intervals are shown in dashed lines in
The computing device 200 and the software application 300 described above are meant to be examples only. Other suitable embodiments of the controller 112 can also be provided, as it will be apparent to the skilled reader. In alternate embodiments, the controller 112 need not to be mounted to the structure 108, or to the lid 109, of the system 100. In these embodiments, the controller 112 can be remotely located relative to the system 100 via a network such as the Internet for instance.
For instance, in some other embodiments, the engines 312 and 316 can be trained using supervised learning. Supervised machine learning engines can be based on Artificial Neural Networks (ANN), Support Vector Machines (SVM), capsule-based networks, Linear Discriminant Analysis (LDA), classification tree, a combination thereof, and any other suitable supervised machine learning engine. However, as can be understood, in some other embodiments, it is intended that the engines 312 and 316 can be trained using unsupervised learning. For instance, unsupervised clustering algorithms can be used. Two exemplary methods for improving classifier performance include boosting and bagging which involve using several classifiers together to “vote” for a final decision. Combination rules can include voting, decision trees, and linear and nonlinear combinations of classifier outputs. These approaches can also provide the ability to control the tradeoff between precision and accuracy through changes in weights or thresholds. These methods can lend themselves to extension to large numbers of localized features. In any case, some of these engines may require human interaction during training, or to initiate the engine, however human interaction may not be required while the engine is being carried out, e.g., during analysis of an accessed image. See Nasrabadi, Nasser M. “Pattern recognition and machine learning.” Journal of electronic imaging 16.4 (2007): 049901 for further detail concerning such trained engines.
In this example, the growth prediction engine 316 assumes a series of N values of the distribution of individual values of the body weight {wk}i, with k=1, . . . , Mi, associated to Mi organisms present in a respective sample of the population and measured at moment in time ti, with i=1, . . . , N indicating the temporally spaced-apart moments in time ti at which the values were obtained using the system 100 described above with reference to
As will be described below, the growth prediction engine 316 is configured to determine the predicted values 318 of the growth indication quantity based on an expected asymptotic size L∞ and on a rate of change of the values of the size varying linearly when approaching the asymptotic size L∞. In this example, the rate of change can be given by:
as per Von Bertalanffy nonlinear growth model. Integration of equation (1) with respect to time can yield:
L(t)=[L∞−L0 exp(−r(t−t0))], with L(t0)=L0. (2)
In this embodiment, the growth indication quantity is the body weight. However, in order to use equation (2), the body weight w of an organism can be correlated to its size L by a relationship of the form:
w∝La, (3)
where a is a constant for a given species of organisms, with a value usually close to 3 which correlates how the body weight of an organism change as a function of its size. The value of the constant a can be determined empirically for the species of the population. For instance, to determine the constant a, one may perform several body weight and size measurements on different organisms of the species of interest. Accordingly, it can be assumed that the evolution of the body weight w of an organism can be determined using a relation equivalent to the following equation:
w(t)=[w∞−w0 exp(−r(t−t0))]a, with w(t0)=w0. (4)
At moment in time ti, the individual values of the body weight {wk}i can be used to estimate the average value of the body weight
In this example, the growth prediction engine 316 assumes that the time evolution of the average weight
w
The growth prediction engine 316 further assumes that the following parameters {t0,
where
Still referring to
While a modified version of the Von Bertalanffy nonlinear growth model was used in this example, it is understood that other nonlinear growth models could be used. For example, it could be determined by someone skilled in the art that another nonlinear growth model might prove suitable for a particular species of organism.
In another example, the growth prediction engine 316 is configured to determine predicted values of the weight distribution function of the organisms of the population. To do so, the growth prediction engine 316 uses the most recent values of the body weight {wk}N at moment in time tN. More specifically, the growth prediction engine 316 assumes that the values of the body weight {wk}N corresponds to a set of univariate independent and identically distributed samples drawn from a common weight density function ƒ(w, tN). In this example, the growth prediction engine 316 determines a shape of the weight density function ƒ(w, tN) by calculating its kernel density estimator (w):
where Kh(w) is a kernel function of bandwidth h. In this example, the growth prediction engine 316 uses the Gaussian function as the kernel, with
Other kernels such as the Tophat kernel or the Epanechnikov kernel could have alternately been used as well. An example of the kernel density estimation of (w, t) is shown at 500 in
To determine the weight distribution function at a given moment in time t>tN, the growth prediction engine 316 first determines a predicted value of the average body weight (w), using equation (8). Under the assumption that each organism of the population can grow by the same fraction over the same period of time, the growth prediction engine 316 can determine a predicted value of the weight distribution function at moment in time t>tN by shifting the kernel density estimator
(w) by a scaling factor γ, i.e. ƒ(w, t)=
(γw), where the scaling factor can be given by:
γ=
It is understood that instead of using only the most recent values of the individual body weights distribution to determine the shape of ƒ(w, t), previous values of the individual body weights distribution can alternatively or additionally be taken into account to get a more accurate estimate of the predicted weight distribution function. Moreover, as new values are measured over time, the growth prediction engine can perform one or more iterations of the calculation and determine updated estimates for ƒ(w, t).
In another example, the growth prediction engine can be configured to operate using the principles of Bayesian statistics. Bayesian statistics is a very powerful and general framework that allows to calculate the probability of occurrence of given events, where the probability here expresses a degree of belief in the corresponding events. The center element of this framework is Bayes' theorem, a mathematical rule that describes the conditional probability of occurrence of an event, taking into account the prior experimental data one can have about such an event. Mathematically, Bayes' theorem can be expressed as follows:
where P(X|Y) denotes the conditional probability of occurrence of event X given that event Y occurred, and P(X) denotes the total probability of event X.
The framework of Bayesian statistics is based on Bayes' theorem, which is used to continuously compute and update probabilities of events as new evidence is presented and knowledge about the events is updated. After combining prior experimental data with observed evidence, one can thus perform predictive inference in the Bayesian statistical framework. Examples of predictions that can be made using a Bayesian statistical approach include predicting the event that is the most likely to occur in the future, predicting the probability at which a specific event may occur in the future, predicting confidence intervals around the occurrence of particular events, and so on.
To perform predictive inference in the Bayesian framework, one needs to compute the posterior distribution, which combines prior experimental data with the observed experimental data using Bayes' theorem. Let x denote a generic data point (or event) and θ denote the parameters of the data point's distribution, such that x˜P(x|θ). Moreover, let represent the hyperparameter of the parameter distribution, such that θ˜P(θ|α).
Furthermore, let X denote the sample, which is the set of N observed data points {x1, . . . , xN}. Finally, let
The prior distribution, denoted P(θ|α), is an estimation of the distribution of the parameters before any sample is observed. It might be determined using, but not limited to, intuition or beliefs about the process, knowledge gathered from experts in the field, prior data gathered from previous manifestations of similar processes, or any combination thereof. The likelihood distribution, or sampling distribution, is denoted P(X|θ, α) and represents the distribution of observed data conditional on its parameters. The evidence distribution, or distribution of the observed data marginalized over the parameters, is given by:
P(X|α)=∫P(X|θ,α)P(θ|α)dθ. (11)
Once these values are known, the posterior distribution, namely the distribution of parameters conditional to the observed data, can be determined using Bayes' theorem:
Solving this equation generally involves using computational methods of the Markov Chain Monte Carlo family, such as the Metropolis algorithm or the No-U-Turn-Sampler. Once the posterior distribution is evaluated, predictions can be made using the posterior predictive distribution, which is given by:
P(
To configure the growth prediction engine to operate using the Bayesian statistical framework, it is assumed that the distribution of the growth indicator quantity (here body weight is used, but it is understood that any other growth indicator quantities could equivalently be used) in the organisms of the population is described by a specific class of distribution. In practice, the Normal distribution or the Log-Normal distribution can be used when the growth indicator quantity is the body weight, but other distributions may be more suited to other growth indicator quantities.
Next, it is also assumed that the mean of the weight distribution
Furthermore, it is also assumed that the coefficient of variation (standard deviation over the mean) of the weight distribution evolves in time according to another model. A model that works well in practice is:
where a and b are parameters with their own probability distribution consisting of other hyperparameters, for example α˜Γ(μα, σα). This is introduced as a simplification from the assumption that the population consists of organisms with their own individual growth parameters, whereas growth is described at the population level.
The prior experimental data is established by specifying beliefs about all the parameters involved in the model. To take the example presented above, for the parameter this would imply specifying the prior beliefs on the possible probability distribution of μ
The likelihood function is then specified using the assumption that the mean and coefficient of variation of body weight distribution of the organisms in the population follow the nonlinear models described above. Using the notation introduced in Example 1, assuming a sample that consists of a series of N observed values of the distribution of individual values of the body weight {wk}i, with k=1, . . . , Mi and i=1, . . . , N, the likelihood can thus be described by a density function which mean and coefficient of variation evolve over time according to the equations above. Normal density or Huber density, which is less sensitive to outliers, have been proven to work well in practice.
Using the prior experimental data, as well as the likelihood function, one can solve for the posterior distribution as described above, and obtain the posterior predictive distribution. From there, the growth prediction engine can perform precise predictions regarding the future weight of the organisms in the population, taking into account all the prior experimental data and new experimentally measured values of the weight distribution for the population under interest.
Moreover, as more observed data is gathered over time, for example when another measurement of the body weight distribution is performed at a later moment in time, the posterior distribution can be recalculated, allowing to refine the predictive posterior distribution and make better predictions. Performing this method in an iterative manner over time as the population of organisms grows can thus allow satisfactory prediction to be computed.
Examples of values that can be predicted using the Bayesian framework include, but are not limited to, the future average weight, median weight, modal weight, weight coefficient of variation of the weight distribution of the population, the future weight distribution function of the population itself, as well as confidence intervals around all of those predicted values. Examples of such confidence intervals are shown in
Finally, since the Bayesian framework allows to incorporate a lot of prior experimental data in the predictive posterior distribution, it allows generating more precise predictions with fewer observed samples. When using very strong prior experimental data, it is for example possible to generate precise growth predictions with as few as a single observed sample.
An example of prior experimental data is shown at 351 in
In some embodiments, growth of a specific population of Ecuadorian whiteleg shrimps is to be assessed. In these embodiments, one can use the modified Von Bertalanffy model described above with reference to Equation (6) with the Bayesian approach. Among the parameters to be determined, this model features an asymptotic weight parameter ω∞ which represents the final weight at which the organisms are expected to grow. In a first embodiment, the prior experimental data can be provided in the form of a reference value stored on an accessible database and which pertains to the asymptotic weight parameter ω∞. For example, the reference value could be a guess that a shrimp is probably going to grow up to at least 1 g, but no more than 1 kg. Mathematically, this could be expressed by a prior distribution for the parameter ω∞ being uniform over the range 1 g to 1 kg, for instance. That's still a wide range of values, yet it tells the model that is likely to be in the 1 g-1 kg range. In a second embodiment, the prior experimental data could be provided in the form of accurate prior experimental data originating from an input device, such as a keyboard, which can be used by a shrimp expert to input an expected asymptotic weight parameter ω∞ for the Ecuadorian whiteleg shrimps. In a third embodiment, the prior experimental data could be pulled from one or more databases factoring in different biological, environmental and/or industrial factors characteristic of Ecuador. For instance, the databases may indicate that the asymptotic weight parameter ω∞ of Ecuadorian whiteleg shrimps can vary between 20 g and 50 g at maturity. This would provide a more specific range for the parameter ω∞. Furthermore, previous experimental data gathered on populations of whiteleg shrimps in Ecuador could be studied, and computed that on average, they grow up to 31.2 g with a standard deviation of +/−10.7 g; this prior experimental data could be modeled by a Gaussian prior distribution of mean 31.2 g and standard deviation of 10.7 g, for instance. This other, more quantitative, form of prior experimental data could also be injected in the Bayesian approach at the start of the modelling process.
Accordingly, in this embodiment, the system 400 can be handled by a user to acquire an image 428 of the population 404, after which the acquired image 428 can be processed by the controller 412 to determine one or more values of a growth indication quantity concerning the organisms 402 of the population 404 on the go. As can be noticed, the sample of organisms 402 that is imaged in this embodiment is provided in the form of a large portion, if not the entirety, of the population 404 of organisms 402. The so-determined values of the growth indication quantity can thus be used to determine the predicted values of the growth indication quantity using the growth prediction engine.
In contrast with the embodiment of
Examples of such reference objects 491 can include, but not limited to, a container having known dimensions receiving the organisms, a geometric object having known dimensions (e.g., a square marker of particular color/pattern), a known arrangement of reference objects, where the relative distance(s) between the reference objects is known, and/or any other suitable reference object(s).
Referring now to
The connections 492 may comprise wire-based technology, such as electrical wires or cables, and/or optical fibers. The connections 492 may also be wireless, such as RF, infrared, Wi-Fi, Bluetooth, and others. The connections 492 may therefore comprise a network, such as the Internet, the Public Switch Telephone Network (PSTN), a cellular network, or others known to those skilled in the art. Communication over the network may occur using any known communication protocols that enable external devices 490 within a computer network to exchange information. The Examples of protocols are as follows: IP (Internet Protocol), UDP (User Datagram Protocol), TCP (Transmission Control Protocol), DHCP (Dynamic Host Configuration Protocol), HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), Telnet (Telnet Remote Protocol), SSH (Secure Shell Remote Protocol).
In some embodiments, the software program 300 of
One or more databases 494, such as databases 494A, 494B and/or 494C may be provided locally on any one of the system 100 and the external devices 490, or may be provided separately therefrom (as illustrated). In the case of a remote access to the databases 494, access may occur via the connections 492 taking the form of any type of network, as indicated above. The various databases 494 described herein may be provided as collections of data or information organized for rapid search and retrieval by a computer. The databases 494 may be structured to facilitate storage, retrieval, modification, and deletion of data in conjunction with various data-processing operations. The databases 494 may be any organization of data on a data storage medium, such as one or more servers. The databases 494 illustratively have stored therein raw data representing training images and associated truth data.
Each computer program described herein may be implemented in a high level procedural or object oriented programming or scripting language, or a combination thereof, to communicate with a computer system. Alternatively, the programs may be implemented in assembly or machine language. The language may be a compiled or interpreted language. Computer-executable instructions may be in many forms, including program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
As can be understood, the examples described above and illustrated are intended to be exemplary only. For instance, while the above-described embodiments are based on values of the same growth indication quantity, it is appreciated that the growth prediction engine of the present disclosure can use other parameters to generate the predicted values. Example of such parameters include, but are not limited to, species of the organisms of the population, date of hatch, typical survival rates, typical pond density, typical feeding rates, typical water quality metrics such as water temperature, water salinity, water pH, weather data, previous partial harvests data, animal stocking density, etc. Moreover, the sample can include one or more organisms in a liquid medium in some embodiments whereas the sample can include only the one or more organisms in some other embodiments, lacking any liquid medium. Also, although a nonlinear fitting has been described with reference to Example 1, it is envisaged that linear fitting can be used in at least some embodiments as well. The scope is indicated by the appended claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CA2019/051847 | 12/18/2019 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62783762 | Dec 2018 | US |