Patent Publication Number: US-11659820-B2

Title: Sea lice mitigation based on historical observations

Description:
TECHNICAL FIELD 
     This specification generally describes techniques for performing enhanced sea lice mitigation. 
     BACKGROUND 
     Sea lice feed on the mucus epidermal tissue and blood of host marine fish. Sea lice refer to members of a family of copepods within the order Siphonostomatoida, family Caligidae. Sea lice infestations can be a major problem in fish farming, since heavy infections can lead to deep lesions, particularly on the head region. Sea lice infestations can kill or render fish unsuitable for market. 
     SUMMARY 
     In general, innovative aspects of the subject matter described in this specification relate to sea lice mitigation. Fish may be farmed in controlled environments. For example, salmon may be raised from juvenile to adult inside a pen in the ocean. Some fish that are raised in a farm may become unsuitable for human consumption. For example, some fish may become infested with sea lice and become too unhealthy to be safely eaten. 
     A system may be used to increase a number of fish that become suitable for human consumption. The system may predict future health of fish, and the fish may then be selectively treated based on the predictions. For example, the system may predict that a fish will become unhealthy without sea lice mitigation and, in response, initiate sea lice mitigation for the fish. In another example, the system may predict that a fish will stay healthy without sea lice mitigation and, in response, not initiate sea lice mitigation for the fish. Additionally or alternatively, the system may reduce an impact of fish on a surrounding environment. For example, the system may keep sea lice level of fish being farmed nominal compared to background sea lice levels. 
     To predict the health of fish, the system may obtain observations of fish across their lifecycle, train a model to predict the health of fish based on the observations, and then use the trained model to make predictions for fish within a new population while the new population of fish is being raised. For example, the system may be trained on a first population of fish from juvenile to adult, and then be used on another different population of fish beginning from when the other population of fish are juveniles. The system may also continuously update the model. For example, the system may update an existing model based on observations of another population of fish. 
     Accordingly, an advantage of the system may be that the system increases a number of fish that are suitable for human consumption. Additionally or alternatively, the system may conserve resources in raising fish as only fish that need sea lice mitigation may receive sea lice mitigation. For instance, a sea lice mitigation device may be activated only for fish that are likely to benefit from sea lice mitigation, and may remain deactivated for fish that are unlikely to benefit from sea lice mitigation. Furthermore, fish sorting devices may be informed by information that specifies which fish may or may not benefit from sea lice mitigation, and may render sorting decisions accordingly. 
     While sea lice mitigation is described prominently throughout this specification as an example of a health condition that may be detected, tracked over time, and/or mitigated or treated, the system may similarly be used to detect, track and/or mitigate or treat for other conditions that affect the health of fish. For example, the system may be used to determine whether mitigation for one or more of pancreatic disease or spine disease should be performed for fish. 
     One innovative aspect of the subject matter described in this specification is embodied in a method that includes obtaining multiple observations of a population of reference fish across a period of time, generating, from the multiple observations, a record for each reference fish that indicates an extent of sea lice infestation for the reference fish across the period of time, training, based on the records, a model that determines a predicted health indicator for a fish, obtaining an image of a sample fish that is not in the population of reference fish, determining, based on the image of the sample fish and with the model, a predicted health indicator for the sample fish, and selectively initiating sea lice mitigation based on the predicted health indicator. 
     Other implementations of this and other aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices. A system of one or more computers can be so configured by virtue of software, firmware, hardware, or a combination of them installed on the system that in operation cause the system to perform the actions. One or more computer programs can be so configured by virtue of having instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. 
     The foregoing and other embodiments can each optionally include one or more of the following features, alone or in combination. For instance, in some aspects determining a predicted health indicator for the sample fish includes determining an extent of sea lice infestation for the sample fish based on the image, providing, to the model, a representation of the extent of sea lice infestation for the sample fish, and obtaining, from the model in response to providing the representation, the predicted health indicator for the sample fish. 
     In certain aspects, determining an extent of sea lice infestation for the sample fish based on the image includes determining a location of each sea lice on the sample fish, where providing, to the model, a representation of the extent of sea lice infestation for the sample fish comprises providing an indication of the locations of each sea lice to the model. In some implementations, providing, to the model, a representation of the extent of sea lice infestation for the sample fish includes extracting visual features of the sample fish, identifying a record of previous observations of the sample fish based on the visual features, and providing, to the model, both a representation of the previous observations and the representation of the extent of sea lice infestation. 
     In certain aspects, selectively initiating sea lice mitigation based on the predicted health indicator includes providing, to a sea lice treatment device, an instruction to treat the sample fish for sea lice. In some aspects, selectively initiating sea lice mitigation based on the predicted health indicator includes determining that the predicted health indicator satisfies a mitigation criteria and in response to determining that the predicted health indicator satisfies the mitigation criteria, initiating the sea lice mitigation. In some implementations, selectively initiating sea lice mitigation based on the predicted health indicator includes determining that the predicted health indicator does not satisfy a mitigation criteria and in response to determining that the predicted health indicator does not satisfy the mitigation criteria, not initiating the sea lice mitigation. 
     In certain aspects, the record for each reference fish indicates one or more of age, weight, size, a feature vector, or various health metrics of the reference fish across the period of time, and determining the predicted health indicator for the sample fish is based on one or more of the age, the weight, the size, the feature vector, or the various health metrics of the sample fish across another period of time. In some aspects, the record for each reference fish indicates conditions of environments in which the multiple observations were made, and determining the predicted health indicator for the sample fish is based on a condition of an environment in which the image of the sample fish was obtained. In some implementations, the conditions of environments in which the multiple observations were made includes one or more of location, depth, or temperature. 
     In certain aspects, the record for each reference fish indicates whether sea lice mitigation was performed for the reference fish. In some aspects, generating, from the multiple observations, a record for each reference fish that indicates an extent of sea lice infestation for the reference fish across the period of time includes counting sea lice on the reference fish based on the multiple observations and storing counts of the sea lice on the reference fish in the records. In some implementations, obtaining an image of a sample fish that is not in the population of reference fish includes obtaining a set of images of the sample fish that is not in the population of reference fish, where the set of images includes the image, where determining, based on the image of the sample fish and with the model, the predicted health indicator for the sample fish is based on the set of images. 
     The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a diagram showing example images of fish and corresponding records of the fish. 
         FIG.  2    is a diagram of an example system for sea lice mitigation. 
         FIG.  3    is a flow diagram illustrating an example of a process for sea lice mitigation. 
     
    
    
     Like reference numbers and designations in the various drawings indicate like elements. 
     DETAILED DESCRIPTION 
       FIG.  1    is a diagram  100  showing example images  110 A,  110 B,  120 A,  120 B of fish  112  and corresponding records of the fish. The image  110 A shows a fish, which previously had a light infestation of sea lice, with a medium infestation of sea lice  112 A. The image  120 A shows that, after the fish is untreated, the fish then has a heavy infestation of sea lice and is considered unhealthy. Because the fish depicted in the image  110 A and  120 A was uniquely identified and tracked over time, a record  130 A is able to be generated that shows that the fish (which has been labeled as Fish A) initially had a light infestation, then had a medium infestation, and then had a heavy infestation and was ultimately considered unhealthy. 
     The image  110 B shows a second fish, that previously had a light infestation of sea lice, with a medium infestation of sea lice  112 B. The image  120 B shows that the second fish, after treatment, has a light infestation of sea lice and is considered healthy. Because the fist depicted in image  110 B and  120 B was uniquely identified and tracked over time, a record  130 B is able to be generated that shows that the second fish (which has been labeled as Fish B) first had a light infestation, then had a medium infestation, then was treated for sea lice, and then had a light infestation and was considered healthy. 
       FIG.  2    is a diagram of an example system  200  for sea lice mitigation. The example system  200  uses the type of information that was generated and depicted in  FIG.  1    to make more intelligent decisions regarding sea lice mitigation. 
     In more detail, the system  200  includes a structure  210 , a camera  230 , a sea lice mitigation device  232 , an attachment bracket  234 , a far side pulley  236 , and a monitoring server  240 . The structure  210  may be an off-shore cage that contains live fish. The structure  210  may be configured to maintain and store aquatic cargo, such as, fish, in the open ocean and allow the aquatic cargo to move freely within the structure  210  and be monitored. 
     In some implementations, the structure  210  has an exoskeleton covered by a mesh netting. The mesh netting can have a hole size based on the size of the aquatic cargo contained within the structure  210 . For example, if the average size of an aquatic cargo is 12 centimeters (cm) in diameter, the holes of the mesh netting can be 10 cm in diameter to prevent the cargo from exiting the structure  210 . In some implementations, the mesh netting covering the exoskeleton of the structure  210  is made from material that can withstand strong ocean currents, such as iron, steel, etc. In some implementations, the structure  210  does not include mesh netting, but is environmentally sealed to protect the cargo from ocean water. In this instance, a user can view the aquatic cargo from outside the structure  210  by looking through the structure  210  or by looking down from or through the catwalk. The outside exoskeleton of the structure  210  can be a translucent material or a fully transparent material. 
     In some implementations, the aquatic cargo stored within the structure  210  can include finfish or other aquatic lifeforms. The cargo can include for example, juvenile fish, koi fish, salmon, sharks, trout, and bass, to name a few examples. In one example, the cargo can include individual fish and the system  100  can monitor the life maturity of the juvenile fish within the structure  210 . 
     In some implementations, the structure  210  encompasses a wide volume to handle a large amount of aquatic cargo. For example, the volume of the structure  210  can be approximately 5,000,000 cubic feet or some other lesser volume. The structure  210  can have cylindrical shape, a spherical shape, or some other shape. The cylindrical shape can include a sealable opening at the bottom of the structure  210  to allow cargo to be inserted and released. 
     The camera  230  may capture images of fish in the structure  210 . The camera  230  can include a stereo camera, a 3-D camera, or an action camera, or any combination of these cameras. In other implementations, the camera  230  can include one or more other sensor types in addition to the one or more media capture components. For example, the one or more other sensor types can include pressure sensors, a hydrophone, a water quality sensor, a stereo camera system, a camera system, an HD camera system, ultrasound sensors, thermal sensors, or x-ray sensors, to name a few examples. 
     The camera  230  may be moved using the far side pulley  236 , the attachment bracket  234 , and one or more pulleys within the monitoring server  240 . The camera  230  may provide images of the fish to the monitoring server  240 . While use of a camera  230  and images is described as being used by the system  100 . The system  100  may additionally or alternatively use other sensors to capture sensory data of fish. For example, the images provided to the monitoring server  240  may be one or more of radar images where the system  100  includes a radar or hyperspectral images where the system  100  includes a hyperspectral capturing device. 
     The sea lice mitigation device  232  may mitigate sea lice for fish. For example, the sea lice mitigation device  232  may emit a laser beam that kills sea lice. In another example, the sea lice mitigation device  232  may include a mechanical shunt that directs a fish to swim through a chemical delousing agent. In yet another example, the sea lice mitigation device  232  may include a brush that brushes off sea lice. 
     The sea lice mitigation device  232  may receive instructions to mitigate sea lice from the monitoring server  240 . For example, the sea lice mitigation device  232  may receive an instruction to emit a laser at a particular fish to mitigate for sea lice. In another example, the sea lice mitigation device  232  may not receive an instruction to emit a laser at a particular fish to mitigate for sea lice so the sea lice mitigation device  232  will not emit a laser at the particular fish. In yet another example, the sea lice mitigation device  232  may receive an instruction to mitigate sea lice for a particular fish and, in response, physically move the particular fish towards mitigation procedure. 
     The monitoring server  240  may connect to the far side pulley  236  and the attachment bracket with ropes or cable wires. The monitoring server  240  may move the camera  230  by moving its pulleys, which moves the far side pulley  236 , and consequentially, moves the camera  230  to a desired location within the structure  210 . For example, the monitoring server  240  may one or more of move the camera  230  to sample a whole pen, move the camera  230  to track a school of fish, and/or move the camera  230  to follow a particular fish. The desired location can be modeled by X, Y, and Z coordinates within the structure  210 , which can be used to place the position of the camera capture unit for capturing media of aquatic cargo. 
     The system  100  can also include a monitoring server  240  that communicates with the camera  230  and the sea lice mitigation device  232 . The monitoring server  240  can include one or more servers that communicate with the camera  230  and the sea lice mitigation device  232  in a wireless or wired manner. For example, the monitoring server  240  can communicate with the camera  230  and the sea lice mitigation device  232  over Bluetooth or Wi-Fi. The monitoring server  240  can include one or more processors (CPUs), one or more internal and external memory devices, and other computer components. 
     The monitoring server  240  may receive images of fish and selectively initiate sea lice mitigation based on the images. For example, the monitoring server  240  may receive an image of a fish  220  labeled as fish 009  in  FIG.  1    and initiate sea lice mitigation on the fish  220  based on the image. In another example, the monitoring server  240  may receive an image of a fish labeled as fish 001  in  FIG.  1    and not initiate sea lice mitigation on the fish  220  based on the image. 
     The monitoring server  240  includes a sea lice detector  250 , a fish feature extractor  252 , a fish record engine  254 , a fish records database  256 , a fish prediction engine  258 , and a treatment controller  260 . The sea lice detector  250  may obtain an image of a fish and determine an extent of sea lice infestation of the fish based on the image. 
     For example, the sea lice detector  250  may obtain the image  110 A, detect ten sea lice on the fish, determine that fivesea lice satisfies a criteria for a medium infestation, and in response, output a classification of “medium infestation.” In another example, the sea lice detector  250  may obtain an image of a fish, detect two sea lice on the fish, determine that two sea lice satisfies a criteria for a light infestation, and in response, output a classification of “light infestation.” In yet another example, the sea lice detector  250  may obtain an image of a fish, detect three sea lice on the fish, and output “three” to indicate that three sea lice were detected. In still another example, the sea lice detector  250  may obtain an image of a fish, detect four sea lice on the fish, and output a map of the fish that indicates positions of each of the four sea lice on the fish. In another example, the sea lice detector  250  may output a description of classes of sea lice that are detected on the fish. 
     The fish feature extractor  252  may obtain an image of a fish and extract visual features of the fish based on the image. For example, the fish feature extractor  252  may identify relative positions of an eye, mouth, and gills of a fish and output visual features that indicate the relative positions of the eye, mouth, and gills. In another example, the fish feature extractor  252  may identify a pattern in a color of scales on the fish and output visual features that indicate the pattern. In yet another example, the fish feature extractor  252  may identify a feature that is computer-readable. 
     The fish record engine  254  may obtain the representation of the extent of sea lice infestation of a fish and the visual features of the fish, and provide a record for the fish. For example, the fish record engine  254  may obtain the indication of “medium infestation” for FISH 009  from the sea lice detector  250 , obtain the visual features of Features I from the fish feature extractor  252 , determine that the visual features of Features I match an existing record in the fish record database  256  where the existing record indicates that FISH 009  previously had a light infestation, and, in response, provide the existing record and the indication of “medium infestation” to the fish prediction engine  258 . 
     In another example, the fish record engine  254  may obtain the indication of “heavy infestation” for FISH 008  from the sea lice detector  250 , obtain the visual features of Features H from the fish feature extractor  252 , determine that the visual features of Features H do not match an existing record in the fish record database  256 , and, in response, provide the indication of “heavy infestation” to the fish prediction engine  258 . 
     In some implementations, the fish record engine  254  may generate records for fish when no existing record is matched for the fish and update records for fish when an existing record is matched. For example, the fish record engine  254  may determine that Features I for a fish match Features I for a record for FISH 009  and, in response, determine to update the record for FISH 009  to indicate an additional observation of medium infestation. In another example, the fish record engine  254  may determine that Features H for a fish do not match any features in a record and, in response, generates a new record for a fish with Features H so that later observations of the fish may be indicated in the record. 
     While the fish record engine  254  is shown in  FIG.  1    as providing a record and a separate representation of an extent of sea lice infestation level to the fish prediction engine  258 , the fish record engine  254  may update the record to include the newly determined extent of sea lice infestation level and provide the updated record to the fish prediction engine  258  without separately providing the representation of an extent of sea lice infestation. 
     The fish prediction engine  258  receives the record for the fish and the indication of sea lice infestation, and determines a predicted health indicator for the fish. For example, the fish prediction engine  258  receives the record for FISH 009  and the indication of “medium infestation” and, in response, determines a predicted health indicator of unhealthy which may reflect that without sea lice mitigation the fish is predicted to die or be unsuitable for human consumption when harvested. In another example, the fish prediction engine  258  receives the record for FISH 001  and the indication of “light infestation” and, in response, determines a predicted health indicator of healthy which may reflect that without sea lice mitigation the fish is predicted to be suitable for human consumption when harvested. In yet another example, the fish prediction engine  258  receives the record for FISH 009  and the indication of ten sea lice today and, in response, determines a prediction of fifteen sea lice tomorrow. 
     While the fish prediction engine  258  has been described as determining a predicted health indicator for a fish, the fish prediction engine  258  may additionally or alternatively determine predictions for one or more of an entire pen or a user-defined category (e.g., small, medium, or large). For example, the fish prediction engine  258  may determine a predicted health indicator of unhealthy for the outcome of an entire pen or determine a predicted health indicator of healthy for a category of small. 
     The fish prediction engine  258  may make the determination based on a model that has been trained based on observations of a population of reference fish across a period of time. For example, the model may be trained based on hundreds of observations of hundreds of reference fish across the entire life cycle of the reference fish. 
     The model may be a machine learning model that includes one or more neural network layers. The machine learning model can include a convolutional neural network (CNN) embedding model. The CNN embedding model can include one or more LTSM layers, and may be a deep LSTM neural network architecture built by stacking multiple LSTM layers. The CNN embedding model may be trained using a loss function tuned for learning differentiation features. The different features can include triplet loss function, softmax loss function, or n-pairs loss function, to name a few examples. 
     The model may be used where training data includes records of fish that reflect extent of sea lice infestation across the life cycle of each fish and a health indicator for the fish that reflects whether the fish was healthy when the fish was harvested. For example, a record may indicate the extent of sea lice at twenty different observed times during a fish&#39;s life and the health indicator may indicate whether the fish was determined to be healthy when the fish was harvested. Accordingly, the model may be trained so that records for reference fish as input result in classifications into a predicted healthy indicator that matches the health indicator that was actually determined for the reference fish. The health indicator that was actually determined for the reference fish may be the outcome of the health of the fish when the fish was harvested. For example, when a particular fish is harvested a human may look at the particular fish and specify a health indicator of “healthy” for the particular fish. In another example, when a particular fish is harvested an automated system may use various sensors to obtain metrics of the particular fish using sensors and then specify a health indicator of “healthy” for the particular fish. 
     The treatment controller  260  receives a predicted health indicator from the fish prediction engine  258  and controls treatment of the fish based on the predicted health indicator. For example, the treatment controller  260  receives a predicted health indicator of unhealthy and, in response, initiates sea lice mitigation on the fish. In another example, the treatment controller  260  receives a predicted health indicator of healthy and, in response, does not initiate sea lice mitigation on the fish. 
     The treatment controller  260  may initiate sea lice mitigation by providing an instruction to the sea lice mitigation device  232 . For example, the treatment controller  260  may provide an instruction of “mitigate sea lice” to the sea lice mitigation device  232 . 
     Additionally or alternatively, the fish prediction engine  258  may use additional information besides an extent of sea lice infestation to determine a predicted health indicator for fish. The fish prediction engine  258  may use one or more of age, weight, size, motility, sex, environment (e.g., location, depth, temperature, etc.), or whether sea lice mitigation was performed for a fish in the determinations. Accordingly, the fish feature extractor  252  may determine the additional information based on the image and the fish record engine  254  may store that information and provide that information to the fish prediction engine  258 . The additional information may correspondingly be used to train the model used by the fish prediction engine  258  for determining a predicted health indicator. 
     Different configurations of the system  200  may be used where functionality of the structure  210 , the camera  230 , the sea lice mitigation device  232 , the attachment bracket  234 , the far side pulley  236 , and the monitoring server  240  may be combined, further separated, distributed, or interchanged. For example, the functionality of the treatment controller  260  may be combined into the sea lice mitigation device  232 . In another example, the functionality of the monitoring server  240  may be combined into the camera  230 . In yet another example, the functionality of the sea lice detector  250  may be performed by the camera  230  and the camera  230  may then provide results to the monitoring server  240 . 
     In another example, some functionality of the fish feature extractor  252  and the fish record engine  254  may be combined. For example, the monitoring server  240  may include a machine learning model that can be trained to generate an identification of a particular fish based on the characteristics of that fish. At a later point in time, the machine learning model can re-identify the particular fish that it previously recognized. The machine learning model may re-identify the particular fish based on determining that the identification of the particular fish that was just generated from a captured image matches an identification stored in an existing record for the particular fish. 
     For example, some fish, such as salmon, exhibit spot patterns that are thought to be unique and identifiable over time. While original spots may grow in size and new spots may develop on salmon, the pattern and orientation of the original spots remain as the salmon ages. In this manner, the machine learning model can be trained using various techniques to identify a particular fish, such as salmon, using its unique and identifiable spots, stripes, or patterns, to name a few examples. At a later point in time, the machine learning model can receive a cropped image of a fish and generate an embedding that represents an identification of the fish. The machine learning model generates the embedding based on the identification of spots on the fish as well as other characteristics associated with the fish. 
     The system  200  may be implemented in a single device or distributed across multiple devices. 
       FIG.  3    shows a process  300  for sea lice mitigation. Briefly, and as described in more detail below, the process  300  includes obtaining multiple observations of a population of reference fish ( 310 ), generating a record for each reference fish that indicates an extent of sea lice infestation across time ( 320 ), training, based on the records, a model that determines a predicted health indicator for a fish ( 330 ), obtaining an image of a sample fish that is not in the population of reference fish ( 340 ), determining, based on the image of the sample fish and with the model, a predicted health indicator for the sample fish ( 350 ), and selectively initiating sea lice mitigation based on the predicted health indicator ( 360 ). 
     The process  300  includes obtaining multiple observations of a population of reference fish ( 310 ). For example, multiple images of each of the fish in the structure  210  may be captured by the camera  230  during a period of eighteen months while the fish grow from juvenile to adults. 
     The process  300  includes generating a record for each reference fish that indicates an extent of sea lice infestation across time ( 320 ). For example, the fish record engine  254  may generate a single record for each of the fish in the structure  210 , where each record indicates visual features that uniquely identify the fish from the other fish in the structure  210  and include representations of extents of sea lice infestation for the fish across the period of eighteen months. 
     Generating a record for each reference fish may include receiving a representation of an extent of sea lice infestation determined from one or more images of the reference fish and visual features of the reference fish extracted from the one or more images of the reference fish, and determining that a record already exists for a fish with the visual features so adding the representation to the record. For example, the fish record engine  254  may receive a representation of an extent of sea lice infestation determined from one or more images of the reference fish and visual features of the reference fish extracted from the one or more images of the reference fish, and the fish record engine  254  may then determine that a record already exists for a fish with the visual features and, in response, update the record by adding the newly received representation. 
     In some implementations, the record for each reference fish indicates whether sea lice mitigation was performed for the reference fish. For example, as shown in  FIG.  1   , the record  130 A may indicate that a fish had a light, then medium, then heavy infestation and was not treated during that entire time and when harvested was unhealthy. In another example, as shown in  FIG.  1   , the record  130 B may indicate that a fish had a light, then medium, then light infestation and was treated after having a medium infestation and when harvested was healthy. 
     The process  300  includes training, based on the records, a model that determines a predicted health indicator for a fish ( 330 ). For example, the fish prediction engine  258  may receive all the fish records from the database  256  for a lifecycle of a population of reference fish, and then use the fish records as training data to train a machine-learning model to determine a predicted health indicator for a sample fish. 
     The process  300  includes obtaining an image of a sample fish that is not in the population of reference fish ( 340 ). For example, after the model used by the fish prediction engine  258  is trained, juvenile fish may be added to the structure  120  and the camera  230  may capture an image of a juvenile fish as a sample fish. 
     The process  300  includes determining, based on the image of the sample fish and with the model, a predicted health indicator for the sample fish ( 350 ). For example, the fish prediction engine  258  may receive an image of FISH 009  and with the model, determine a predicted health indicator of unhealthy for FISH 009 . 
     In some implementations, determining a predicted health indicator for the sample fish includes determining an extent of sea lice infestation for the sample fish based on the image, providing, to the model, a representation of the extent of sea lice infestation for the sample fish, and obtaining, from the model in response to providing the representation, the predicted health indicator for the sample fish. For example, the sea lice detector  250  may determine a medium infestation based on an image of FISH 009 , provide a label of “medium infestation” to a model used by the fish prediction engine  258 , and obtain from the model an output of “predicted unhealthy.” 
     In some implementations, providing, to the model, a representation of the extent of sea lice infestation for the sample fish includes extracting visual features of the sample fish, identifying a record of previous observations of the sample fish based on the visual features, and providing, to the model, both a representation of the previous observations and the representation of the extent of sea lice infestation. For example, the fish feature extractor  252  may extract Features I from the image of FISH 009 , the fish record engine  254  may identify a record for FISH 009  stored in the fish records database  256  based on determining that Features I from the image are identical to Features I stored in the record, and provide, to the fish prediction engine  258 , both the record that was identified and the representation of “medium infestation.” 
     The process  300  includes selectively initiating sea lice mitigation based on the predicted health indicator ( 360 ). For example, the treatment controller  260  may receive a predicted health indicator of unhealthy and, in response, initiate sea lice mitigation. In another example, the treatment controller  260  may receive a predicted health indicator of healthy and, in response, not initiate sea lice mitigation. 
     In some implementations, selectively initiating sea lice mitigation based on the predicted health indicator includes providing, to a sea lice treatment device, an instruction to treat the sample fish for sea lice. For example, the treatment controller  260  may provide an instruction of “Mitigate sea lice” to the sea lice mitigation device  232 . 
     In some implementations, selectively initiating sea lice mitigation based on the predicted health indicator includes determining that the predicted health indicator satisfies a mitigation criteria and, in response to determining that the predicted health indicator satisfies the mitigation criteria, initiating the sea lice mitigation. For example, the treatment controller  260  may determine that a predicted health indicator is unhealthy and, in response, determine to initiate sea lice mitigation. In another example, the treatment controller  260  may determine that a predicted health indicator is unhealthy and a confidence from the fish prediction engine  258  is above 75%, 85%, 90%, or some other amount and, in response, determine to initiate sea lice mitigation. 
     In some implementations, selectively initiating sea lice mitigation based on the predicted health indicator includes determining that the predicted health indicator does not satisfy a mitigation criteria and in response to determining that the predicted health indicator does not satisfy the mitigation criteria, not initiating the sea lice mitigation. For example, the treatment controller  260  may determine that a predicted health indicator is healthy and, in response, determine not to initiate sea lice mitigation. In another example, the treatment controller  260  may determine that a predicted health indicator is unhealthy and a confidence from the fish prediction engine  258  is below 75%, 85%, 90%, or some other amount and, in response, determine not to initiate sea lice mitigation. 
     In some implementations, the record for each reference fish indicates one or more of age, weight, or size of the reference fish across the period of time and determining the predicted health indicator for the sample fish is based on one or more of the age, weight, or size of the sample fish across another period of time. For example, the model used by the fish prediction engine  258  may be trained on extent of sea lice infestation, age, weight, and size of reference fish, and the fish prediction engine  258  may then determine a predicted health indicator for a sample fish based on extent of sea lice infestation, age, weight, and size of the sample fish. 
     In some implementations, the record for each reference fish indicates conditions of environments in which the multiple observations and determining the predicted health indicator for the sample fish is based on conditions of environments in which the multiple observations. For example, the model used by the fish prediction engine  258  may be trained on position, water temperature, or depth of reference fish during observations, and the fish prediction engine  258  may then determine a predicted health indicator for a sample fish based on position, water temperature, or depth of the reference fish. 
     In some implementations, generating, from the multiple observations, a record for each reference fish that indicates an extent of sea lice infestation for the reference fish across the period of time includes counting sea lice on the reference fish based on the multiple observations and storing counts of the sea lice on the reference fish in the records. For example, the sea lice detector  250  may count that there are five sea lice on a fish as shown in a sample image and the fish record engine  254  may store the number five in a record for the fish. 
     A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. For example, various forms of the flows shown above may be used, with steps re-ordered, added, or removed. 
     Embodiments of the invention and all of the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the invention can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter affecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus. 
     A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. 
     The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). 
     Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a tablet computer, a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. 
     To provide for interaction with a user, embodiments of the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. 
     Embodiments of the invention can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the invention, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet. 
     The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. 
     While this specification contains many specifics, these should not be construed as limitations on the scope of the invention or of what may be claimed, but rather as descriptions of features specific to particular embodiments of the invention. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination. 
     Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. 
     In each instance where an HTML file is mentioned, other file types or formats may be substituted. For instance, an HTML file may be replaced by an XML, JSON, plain text, or other types of files. Moreover, where a table or hash table is mentioned, other data structures (such as spreadsheets, relational databases, or structured files) may be used. 
     Particular embodiments of the invention have been described. Other embodiments are within the scope of the following claims. For example, the steps recited in the claims can be performed in a different order and still achieve desirable results.