Flotsam trajectory estimation, tracking and collision avoidance
The use of ANNs to analyze flotsam objects' propulsion modes and environmental conditions addresses the challenge of predicting their trajectories, enhancing collision avoidance and operational efficiency in marine environments.
Patent Information
- Application Number
- PCT/EP2025/072307
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-02
- Filing Date
- 2025-08-02
- Publication Date
- 2026-02-05
AI Technical Summary
Existing systems fail to accurately predict and track the trajectories of flotsam objects, such as debris and vessels, in marine environments, leading to potential collisions and operational disruptions, especially for tethered or untethered vessels and structures.
A method and system using artificial neural networks (ANNs) to analyze images of flotsam objects, determining their propulsion modes and environmental conditions to estimate future trajectories, providing real-time tracking and collision avoidance services.
Enables accurate prediction and tracking of flotsam objects, allowing for timely collision avoidance and reducing operational disruptions by providing real-time trajectory information to vessels and structures.
Smart Images

Figure EP2025072307_05022026_PF_FP_ABST
Abstract
Description
FLOTSAM TRAJECTORY ESTIMATION, TRACKING AND COLLISION AVOIDANCE
[0001] The disclosed technology relates generally to methods, systems, apparatus and computer-program products for flotsam object trajectory estimation, tracking, and collision avoidance, and also to related aspects, including, but not limited to collaborative tracking by a plurality of different flotsam object image sources and to providing flotsam object trajectory information as a service.
[0002] The disclosed technology may be useful in a variety of situations where a vessel or structure which is tethered or untethered may encounter a floating flotsam object, including when one or more vessels or structures are involved in an offshore operation, for example, a navigation operation and / or a deck operation which may be disrupted if there is a collision with a flotsam object. Some examples of such an operation may comprise examples of navigation and / or deck operations performed collectively by one or more vessels, such as a fleet, which may or may not be collectively controlled.
[0003] The disclosed technology may also be useful in particular as an early warning system for a hazardous flotsam object coming into proximity with a vessel or structure. A structure which is tethered or anchored to the bottom of the body of water, for example, to the seafloor, cannot easily be relocated, and an early warning of the approach of a potentially hazardous object is accordingly desirable so that action can be taken to reduce the likelihood and / or danger posed by a potential collision. In situations where a vessel for some reason cannot change or cannot easily change its trajectory or reschedule an operation whilst on the water or has to maintain its course for some other reason, for example if it is performing a survey or scan such as a seismic survey of the ocean floor then it is useful for the vessel to know if there may be any flotsam objects along its intended trajectory so that it may take an appropriate evasive action or reduce the likelihood and / or danger posed by a potential collision. If a vessel has to disrupt its operation this can cause operational time to be lost and increase the delay of obtaining any results from the operation as well as increase the cost of the operation and potentially waste resources and energy.
[0004] There is accordingly a demand for more information about flotsam objects which may be encountered by floating tethered or untethered vessels or structures. There is a demand accordingly to be able to reliably and accurately detect the location objects that may present a hazard or impede the path of a vessel as it performs an offshore operation or navigational procedure etc.
[0005] Accordingly, it is desirable if the trajectories that flotsam objects are likely to follow are predicted and the predictions communicated both to manned vessels and / or to autonomous / semi-autonomous vessels performing offshore operations and / or to an onshore control centre for a vessel whose navigational operations at least are autonomous or remotelycontrolled.
[0006] United States patent application US2022 / 0024549 discloses a system for determining the distance between a boat and at least one object at least partially immerged in a water area, said system comprising a capturing module, configured to be mounted on said boat, for example on a mast, said capturing module comprising at least one camera, said at least one camera being configured to generate at least one sequence of images of said water area, and a processing module, configured to be embedded onboard said boat, said processing module being configured to receive the at least one sequence of images from said at least one camera, to detect at least one object in said at least one received sequence of images and to determine the distance between the boat and the at least one detected object using the received sequence of images.
[0007] United States patent application US20170323154 discloses an object detection system for a marine vessel having at least one marine drive includes at least one image sensor positioned on the marine vessel and configured to capture an image of a marine environment on or around the marine vessel, and a processor. The object detection system further includes an image scanning module executable on the processor that receives the image as input. The image scanning module includes an artificial neural network trained to detect patterns within the image of the marine environment associated with one or more predefined objects, and to output detection information regarding a presence or absence of the one or more predefined objects within the image of the marine environment.
[0008] United States patent application US20200216152 discloses a collision avoidance assistance system for assisting avoidance of collision between a ship and an obstacle using a result obtained by (i) detecting the obstacle on a ship travel route using sensors, (ii) identifying the detected obstacle, (iii) collecting sensor data, and (iv) analysing the collected sensor data. By using the system including, as a component, a sensor group, a three- dimensional viewing field acquirer, an obstacle identifier, a database regarding obstacles, an analyser, a deep learning unit, a learning unit, and communicator, the obstacle on the ship travel route is detected and identified, and by using a result obtained by detecting, identifying, collecting, and analysing sensor data, avoidance of collision between the ship and the obstacle is assisted.
[0009] United States patent application US20230195118 discloses a marine autopilot system configured to control a marine vessel through a marine environment. The marine autopilot system may obtain data of the marine environment from charts and community shared data and generate a path from a first location to a destination location in the marine environment. The marine autopilot system may control the marine vessel along the path based on the marine vessel dynamics and weather and water current conditions. Sensors may detect hazards on and in the water and object detections systems may classify the hazards. Themarine autopilot system may control the marine vessel to avoid the hazards based on the location and classification of the hazards. Furthermore, sensors may be utilized to generate detailed 3D maps that change with time to dock the marine vessel at known and unknown locations.
[0010] Chinese patent application CN111159924 discloses a method and apparatus for predicting a drift trajectory. The method for predicting the drifting track comprises the steps: obtaining the characteristics of a floating object, obtaining the position P1 of the floating object at the moment T 1 , obtaining meteorological data related to P1 , selecting a plurality of feature parameters from the own features and the meteorological data to form a feature parameter set; predicting the drifting distance and drifting direction of the floating object from T1 to T2 by using a drifting track prediction model based on the characteristic parameter set; obtaining an ocean current speed V; predicting a drifting distance and a drifting direction of the floating object from T1 to T2 by using a hydrodynamic model based on V; selecting a drifting distance predicted based on the hydrodynamic model and a drifting direction predicted based on the drifting track prediction model as a final predicted drifting distance and drifting direction; or selecting the drifting direction predicted based on the hydrodynamic model and the drifting distance predicted based on the drifting track prediction model as the final predicted drifting distance and drifting direction.SUMMARY STATEMENTS
[0011] The disclosed technology seeks to mitigate, obviate, alleviate, or eliminate the issues known in the art including those described herein above. Various aspects of the disclosed technology are set out in this summary section with examples of some preferred embodiments.
[0012] Some aspects of the disclosed technology relate estimating a future trajectory of a flotsam object based on determinations of one or more propulsion mode parameter(s) which affect how the flotsam object moves in response to wind and current conditions from one or more images of a region of water including the flotsam object. This may involve remotely tracking flotsam objects and updating the current, wind, and if relevant a selfpropulsion, mode parameters used to estimate a future trajectory of the flotsam object, based a time-series of one or more images of flotsam objects, from which characteristics of the flotsam object can be inferred. In some embodiments, the current and wind modes of propulsion are represented by a single propulsion mode parameter value, with any selfpropulsion being accounted for as an error term on a steady-state trajectory determined from the single propulsion mode parameter value and the prevailing wind and current conditions at the location when the flotsam object was last observed.
[0013] As used herein, the term wind propelled or wind propulsion refers to a wind- assisted propulsion mode which contributes primarily or in an auxiliary manner to thepropulsion any type of object floating in a body of water via the energy of the wind. Any floating object exposed to wind forces causing the object to move directionally in water may be considered to have a wind propulsion mode when wind forces are acting on the object causing it to move. There is no requirement for a sail to be present for wind-propulsion to occur - if the flotsam object (or any other type of object including a human on board the object) presents a surface on which wind forces can act, then the flotsam object may be wind-propelled.
[0014] As used herein, the term current propelled or current propulsion refers to current-assisted propulsion mode which contributes primarily or in an auxiliary manner to the lateral movement of any type of object floating in the current via the energy of the moving body of water forming the current. As used herein, the term current takes its conventional meaning when used in a maritime context. For example, as used herein it may refer to a directed, continuous movement of water, for example, in a body like an ocean or sea, or within a smaller water system like a lake or river. Currents flow horizontally but may also flow vertically and are driven by environmental factors such as wind patterns, temperature differences, the Earth’s rotation. Currents can be considered to involve the bulk translational movement of water in a specific direction, which distinguishes them from waves, where water particles exhibit a circular motion. Currents can be local, such as tidal currents near a coast caused by the rise and fall of tides or may be oceanic currents which may span entire ocean basins, such as the gulf stream current(s). Surface currents may be wind-driven and are typically found in the upper layers of a body of water. Water currents which are driven by density differences such as in thermosaline circulation may be found at all depths.
[0015] As used herein, the term flotsam refers to both flotsam and jetsam, and may refer to one or more small or large objects, including manned and unmanned vessels in some circumstances, for example, kayaks, dinghies, outboard motorcraft, paddleboards and the like, as well as to containers and debris and aggregations of such objects.
[0016] As used herein a self-propelled or self-propulsion mode of propulsion may refer to any form of propulsion mode not reliant on, or independent of, wind forces and / or current forces, which results in consistent directional movement of a flotsam object through a body of water.
[0017] A flotsam object may be subject to different degrees of wind, current and selfpropulsion at different times and / or in different environmental conditions. Some flotsam objects may be self-propelled at times, e.g. by a human paddling or steering to provide thrust through water and / or if there is a out-board or other form of motor. Self-propelled does not necessarily mean a human is detected on board the flotsam object. It may do in some embodiments, as in an image of a motor-board may be classified as an example of self- propelled flotsam based on a human in the image manning a helm of a motorboat but the motorboat will also be self-propelled even if there is no human on board manning the helm.The same motorboat after it has run out of fuel however or if the outboard motor develops a fault may not be self-propelled at all whether or not there is a human on board. Recognising the presence of features that indicate if an object is capable of being self-propelled or not at one time accordingly may still result in a different propulsion mode parameter value or set of propulsion model parameter values than if the same object is detected at a later time without any features indicating the object may be self-propelled. For example, a human on a paddleboard may be classified as a self-propelled flotsam object and a trajectory determined based on a first propulsion mode parameter value or set of propulsion mode parameter values. Later, if the paddleboard is recognised as a flotsam object but without a human propelling it, the propulsion mode parameter value(s) may change or may not change. However, a motorboat is an example of a potential object that might be classified as a self-propelled flotsam when a human is manning the helm and the outboard motor is running and could also be self- propelled to some extent if the outboard motor remained running even if there was no-one manning the helm. Generally speaking the term flotsam as used herein does not imply any size limitation and may also refer to aggregations of objects.
[0018] Advantageously, the disclosed technology may be implemented collaboratively in some embodiments using images obtained or received from one or more different types of imaging systems and / or different types of image sources. For example, images sources may comprise a plurality of vessels and / or structures which may be moving or not, which may be tethered or untethered, and which may float on or partially under water, which may be tidal water, or be fixed to the bottom of a body of water in which the flotsam object is also floating. The term vessel as used herein may refer to anything a flotsam object may collide which, which may be any type of surface craft vessel or sub-surface but capable of surfacing craft such as a submarine and may include autonomous or remotely controlled vessels. It will be apparent to anyone of ordinary skill in the art that the term vessel may also refer to any other type of structure or object that a flotsam object could collide with in some embodiments.
[0019] Tethered or untethered floating vessels that flotsam may collide with include but are not limited to, for example, ships, shipping container carriers, tankers, merchant marine vessels, small ships, sailing yachts, motor yachts, military vessels including but not limited to air craft carriers, destroyers, and oil rigs, light-houses, buoys, wind-turbines, and the like, and may be manned, remotely controlled, and / or semi- or fully autonomous in their navigation and / or one or more deck operations, and may float on or just under the surface, and include submarine vessels capable of surfacing. Tethered or untethered structures flotsam objects may collide with include but are not limited to wind turbines, wave turbines, fish-farms, oyster beds, pontoons, piers, harbours and harbour structures, gas and oil drilling and processing platforms, lighthouses, buoys, and other types of navigational objects whether charted or not for which location information can be provided.
[0020] Advantageously, the flotsam object trajectory information is stored so that it can be accessed by a plurality of different entities via a processing server. The trajectory information allows estimates to be provide of future locations of a flotsam object at various times, which can be matched to locations received in requests for flotsam objects. This allows flotsam object information to be provided to a variety of different types of requesting entities, including vessels or structures which do not have imaging systems. Certain types of flotsam objects may be tracked and alerts generated and communicated to vessels or structures if the flotsam object is predicted to be on a trajectory that may intercept with their current or future locations. Thus some embodiments of the disclosed technology may also provide flotsam object trajectory information as a service.
[0021] Advantageously, in some embodiments of the disclosed technology, flotsam objects may be tracked in real-time or near real-time and enable real-time or near real-time correction of propulsion parameter values and tracked flotsam object trajectories.
[0022] Flotsam object information which may include trajectory information or just the current or a future estimate of a trajectory of a flotsam object may be provided in this way as a service. The service may be implemented on-demand, as a push service, or by request from any type of requesting entity. Examples of such a requesting entity include a moving or stationary untethered floating structure or craft or tethered floating structure or craft with which a flotsam object may collide in some embodiments of the disclosed technology. The service may be offered as a subscription in some embodiments of the disclosed technology for receiving information on any detected flotsam object whose trajectory is predicted to intercept with the position of the structure or craft.
[0023] The disclosed technology also relates to a method of providing flotsam object collision warnings or alerts. For example, to a method that uses the system for providing flotsam object trajectory information obtained using the method for collaboratively estimating a flotsam object trajectory. Such information may be provided in the form of an alert or warning message in some embodiments.
[0024] The disclosed technology also relates to providing various techniques for determining values of a propulsion mode parameter, p, which represent, in other words, whose values represent, a relative strength, or ratio, of a flotsam object’s wind and current propulsion modes. In some embodiments of the disclosed technology, p is used to estimate a future trajectory of a flotsam object when certain steady-state assumptions are made forthat flotsam object. By establishing a data set of images of flotsam objects and their propulsion mode parameters, p, it is also possible to train a computer model comprising one or more suitably configured ANNs to determine, from an image of a flotsam object, a value for propulsion parameter, p, for the flotsam object. Any suitable ANN configuration may be use, for example, a variational autoencoder may be used or a support vector machine-based multi-classclassifier. Examples of such ANN systems are well known in the art which can be trained using models for propulsion mode parameters.
[0025] A first aspect of the disclosed technology comprises a computer-implemented method for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs, the method comprising: inputting an image of a region of water to at least one ANN of the computational model, processing the input image using the at least one ANN to infer if a flotsam object is located in the image, and if a flotsam object is inferred to be located in the image: determining a location, L, of the flotsam object, and determining a value for a propulsion mode parameter, p, where p represents, for example as a ratio or a relative degree, one or both of a wind-propelled and a current-propelled propulsion mode of the flotsam object at that location, and based on the value of the propulsion mode parameter and one or more estimates and / or measurements of air and / or water velocities at the location of the flotsam object at the time the image of the flotsam object was captured, outputting estimated future trajectory information for the flotsam object.
[0026] In some embodiments, the method further comprises determining, using at least one ANN of the computational model, an inferred flotsam object is capable of selfpropulsion, and determining a self-propulsion area of uncertainty, o, comprising a selfpropulsion error term on an estimated position of the flotsam object along an estimated future trajectory.
[0027] In some embodiments, the self-propulsion error term is a function of time and increases monotonically from a point in time, for example, from when the image of the flotsam object was captured.
[0028] In some embodiments, the method further comprises determining a propulsion parameter area of uncertainty, S, comprising a propulsion parameter error term on an estimated position of the flotsam object along an estimated future trajectory.
[0029] In some embodiments, the propulsion parameter error term is a function of time and increases monotonically from a point in time, for example, from when the image of the flotsam object was captured.
[0030] In some embodiments, the method further comprises determining contributions to a combined error term derived from the self-propulsion error and the propulsion parameter error, and determining, based on the combined error term, a combined area of uncertainty, Acs, for the position of the flotsam object along an estimated future trajectory.
[0031] In some embodiments, the method further comprises outputting with the estimated future trajectory information, information representing an area of uncertainty for the future estimated position of the flotsam object along an estimated future trajectory position.
[0032] In some embodiments, the method further comprises storing the value for the propulsion mode parameter, p in association with at least one identifier for the flotsam object.
[0033] In some embodiments, an initial value, p0, for the propulsion mode parameter, p, is used for a first observation of a flotsam object at first location Lo, and a stored value of the propulsion mode parameter, p, is updated with a value obtained from a subsequent observation of the same flotsam object at a different location, L, and time.
[0034] In some embodiments, the image of the region of water input to the at least oneANN comprises a region by or around an image capture apparatus of a vessel or structure, wherein the image capture apparatus comprises at least a scanning imaging system and a pan, tilt, zoom, PTZ, camera system, wherein the image of region of water input to the at least one ANN is located within or comprises a scanned image region of water captured by the scanning imaging system, and wherein the scanned image is processed to determine coordinates for a region of water in the vicinity of a candidate flotsam object for guiding the PTZ camera system to form an enhanced resolution image in the vicinity of the candidate flotsam object for input to the at least one ANN of the computational model.
[0035] In some embodiments, the method further comprises: determining if the location, L of the identified flotsam object at the time the image was captured matches any estimated trajectory positions, p, or if the location, L, is within any areas of uncertainty, o, S, around any estimated trajectory position, p, for a previously observed flotsam object; and, if so, updating any previously stored a value for the propulsion mode parameter value, p, based on the difference between the observed location, L, of the flotsam object and the previously estimated trajectory position p of the flotsam object, and the estimates and / or measurements of air and / or water velocities at the time the image was captured; and outputting updated estimated future trajectory information for the flotsam object.
[0036] In some embodiments, the method further comprises: having determined the locations sufficiently match, determining if one or more characteristics for the flotsam object from the image being processed sufficiently match one or more characteristics of the previously observed flotsam object, wherein updating any previously stored a value for the propulsion mode parameter value, p, based on the difference between the observed location, L, of the flotsam object and the previously estimated trajectory position p of the flotsam object, and the estimates and / or measurements of air and / or water velocities at the time the image was captured, is conditional on the determined one or more characteristics sufficiently matching those of the previously observed flotsam object.
[0037] Another, second, aspect of the disclosed technology comprises a data base of records of flotsam objects, each record for a flotsam object held in the database comprising at least: a unique identifier for each uniquely identified flotsam object; one or more identifying characteristics for the observed flotsam object; a parameter value, p, for the flotsam object; a time-stamp for at least the last observation of the identified flotsam object; estimated trajectory information for the flotsam object; and a location, L, of the flotsam object when last identified,wherein each record for a flotsam object held in the data-base is updated based on a current time to further comprise: an estimated current-time trajectory position, p; and, an optional area of uncertainty for a location of the flotsam object about the estimated trajectory position, wherein the optional of uncertainty for the location of the flotsam object comprises one of or a combination of an area uncertainty, S, based on the propulsion parameter value, p, and a selfpropulsion mode area uncertainty, o.
[0038] In some embodiments, a training data set comprising images of flotsam objects and values for p is extracted from the database is used to train or retrain one or more ANNs of the computational model to infer, from an input image of a flotsam object, a propulsion mode parameter, p.
[0039] The method of any previous claim, wherein at least one ANN of the one or more ANNS of the computational model is an ANN trained using a training data set comprising images of flotsam objects and their propulsion mode parameters, p, to infer a value for a propulsion mode parameter, p, of a flotsam object directly from an image of that flotsam object, and wherein the method further comprises inferring a default or initial value for the propulsion mode parameter, p, directly from each input image.
[0040] Another, third, aspect, comprises a computer-implemented method for collaboratively estimating a flotsam object trajectory using at least one ANN computational model comprising one or more artificial neural networks, ANNs, the method comprising inputting images of water near each of a plurality of image sources to at least one suitably trained ANN of a computational model; processing each image using the trained at least one ANN computational model to: infer if a flotsam object is located in that image; if so, processing the image of the flotsam object to infer at least one object characteristic associated with or comprising one or more flotsam object modes of propulsion for that object using at least one ANN computational model; and processing for each image of an inferred flotsam object, using at least one suitably trained ANN computational model, one or more inferred object characteristics to infer for each inferred flotsam object, a degree to which the inferred flotsam object is capable of one or more wind-propelled, current-propelled or self-propelled modes of propulsion; and using the inferred one or more modes of propulsion for the detected flotsam object with predictions for wind and current conditions to output estimated future trajectory information for the flotsam object.
[0041] In some embodiments, the predictions may comprise measurements made at the image source, in other words, for example, at an observing vessel, alternatively, the predictions may comprise seasonal averages for the location of the observing vessel and / or location of the flotsam object. The predictions may comprise forecasts obtained from a remote server. The predictions may be additionally based on other environmental conditions in some embodiments.
[0042] In some embodiments, the method further comprises assigning a unique object identifier to each inferred unique flotsam object, and storing, in associating with each unique object identifier for a flotsam object, the estimated future trajectory information, wherein the estimated future trajectory information allows at future points of time an estimated location of the flotsam object to be determined.
[0043] In some embodiments, the method further comprises determining if one or more conditions are met to share stored trajectory information with a vessel or structure, and if so, communicating the stored trajectory information with that vessel.
[0044] In some embodiments, the one or more conditions comprise determining the vessel
[0045] is located within a location uncertainty region for that flotsam object.
[0046] In some embodiments, one or more flotsam object characteristics are stored with the estimated trajectory of the flotsam object, and wherein the one or more conditions comprise determining, at the vessel, the vessel is located within an area of uncertainty for a position of a flotsam object and requesting from the processing server, stored flotsam object information.
[0047] In some embodiments, one or more flotsam object characteristics are stored with the estimated trajectory of the flotsam object, and wherein the one or more conditions comprise the processing server determining a vessel is located within the location uncertainty region of a flotsam object and responsive to such a determination, the processing server sends stored flotsam object information and / or flotsam object trajectory information to the vessel.
[0048] In some embodiments, the computational model comprises at least one trained ANN configured to perform image classification and / or image recognition of flotsam objects.
[0049] In some embodiments, the computational model comprises at least one trained ANN configured to determine one or more modes of propulsion of a flotsam object from one or more flotsam object characteristics.
[0050] Another forth aspect of the disclosed technology comprises a system for collaboratively contributing to flotsam object trajectory information, the system comprising: a plurality of image sources, for example, a vessel or structure, a processing server, and a data store, wherein each image source comprises a camera system, a PTZ system, a local or onboard imaging system, and a communication system, wherein each image source is configured to contribute to a body of trajectory information for flotsam objects stored in the data store by obtaining one or more images of an area of water near that image source using the camera system, processing each of the one or more images to detect one or more flotsam object(s), obtaining location information for each of the detected one or more flotsam object(s), and transmitting enhanced image and location information for each detected one or more flotsam object to the processing server, wherein the processing server is configured to:process received transmitted information for a detected flotsam object to determine obtain estimated future trajectory information for the detected flotsam object based on a time the image of the flotsam was captured, a location of the flotsam object, water and wind velocities at the location, and optionally one or more flotsam object characteristic(s), inferred from the image of the flotsam object.
[0051] The processing server may comprise one or more servers configured in a cloud or distributed server system, and form, for example, a shared server system which is accessed by multiple different image sources and which is configured to provide estimated flotsam object trajectory information to multiple different receiving systems which may be located on board vessels or on any other type of structure which may be affected by a collision with a flotsam object.
[0052] In some embodiments, the processing server is configured to uniquely identify from received information if a detected flotsam object is a previously reported flotsam object by comparing the received flotsam object location and time forthat location with stored flotsam object trajectory information.
[0053] In some embodiments, if the flotsam object is recognised as a flotsam object detected for the first time, the processing server is configured to assign, to that unique flotsam object, an object identifier.
[0054] In some embodiments, the processing server is configured to determine: at least one or more levels or capabilities for each of a wind-propelled, current-propelled, or self- propelled mode of propulsion for the flotsam object; and stores, for example in the data store, in association with a unique previous or newly assigned flotsam object identifier predicted trajectory information for the flotsam object derived from predictions of wind and current conditions and one or more of a level of a wind-, current-, or self- propulsion mode of the flotsam object based on the reported flotsam object characteristic(s) and location information, wherein the predicted trajectory information enables estimates to be obtained of the location along a trajectory and a location uncertainty along the predicted trajectory path of the uniquely identified flotsam object.
[0055] In some embodiments, the method further comprises the processing server sharing at least the location and location uncertainty of a flotsam object based on the estimated trajectory information with at least one vessel or other structure determined to be within an uncertainty location of a flotsam object.
[0056] In some embodiments, an image source comprises a vessel or other structure with an imaging system configured to capture images of a nearby region of water.
[0057] In some embodiments, the method further comprises the processing server sharing at least the location and location uncertainty of a flotsam object based on the estimated trajectory information with at least one vessel determined to be within an uncertaintylocation of a flotsam object.
[0058] Another, fifth, aspect of the disclosed technology relates to a method of flotsam avoidance, the method comprising, at a vessel: obtaining flotsam trajectory information from a processing server configured to obtain flotsam trajectory information, wherein the flotsam object trajectory information includes a determination, based on a flotsam object type category, a collision severity indicator for a vessel to collide with the flotsam object, wherein the flotsam trajectory information comprises a prediction of a position of a flotsam object along an estimated future trajectory path at a given future time and an area of uncertainty of the flotsam object at the position along the estimated further trajectory at the given future time; and determining, based on the received flotsam estimated future trajectory information and available vessel trajectory information, an area of interception where the vessel may intercept spatially and temporally with the flotsam object within an area of uncertainty of a position of the flotsam object along its estimated future trajectory.
[0059]
[0060] In some embodiments, the method further comprises: assessing, if the vessel trajectory indicates the vessel will enter the area of interception where the vessel trajectory may intercept spatially and temporally with the region of location of uncertainty of the flotsam object, if one or more vessel characteristics comprise impact characteristics are available to assess if the vessel is sufficient to handle a collision with flotsam object; and taking, if the vessel impact characteristics are available and indicate the vessel is not sufficiently robust to handle collision severity with flotsam object, an action in order to avert or reduce the resulting damage of a collision with the flotsam object within the area of interception.
[0061] In some embodiments, the vessel comprises an autonomous or remote- controlled vessel.
[0062] In some embodiments, the term vessel refers not just to untethered vessels, but to tethered vessels and / or floating structures or to structures that may be fixed to land or the seafloor, for example, to a gas or oilrig or to lighthouse or pontoon or the like, or to any other type of structure that flotsam objects may collide with.
[0063] In some embodiments, method is performed on-board the vessel.
[0064] In some embodiments, the method is performed off-board the vessel, and the method further comprises, communicating with the vessel, instructions to take action to avoid the region of collision.
[0065] In some embodiments, the action comprises one or more of: change course to avoid the region of location uncertainty of the flotsam object or to slow or stop the vessel along its current course.
[0066] Another, sixth, aspect of the disclosed technology comprises a computer- implemented method for tracking a flotsam object using a computer model comprising aplurality of artificial neural networks, the method comprising: processing, using at least one ANN of the computer model, an image including a flotsam object to extract features from which one or more propulsion characteristics can be derived; determining a propulsion mode classification of the flotsam object by classifying, using a multi-classification ANN-based model of the computer model, the flotsam object based one or more possible modes of propulsion of the flotsam object; estimating, using the propulsion mode classification of the flotsam object and one or more environmental conditions, future trajectory information for a flotsam object comprising a future trajectory path and speed along the path of the flotsam object and one or more error terms which provide an area of uncertainty around future positions of the flotsam object along its estimated future trajectory path; storing the estimated future trajectory information for the flotsam object in association with information allowing subsequent identification of the same flotsam object together with an image capture time; and, for each subsequently received image up to a maximum time-limit, checking the subsequently received image for the same flotsam object; and if a subsequent image of a flotsam object is determined to be an image of a previously identified flotsam object: determining if that subsequent image shows the flotsam object at a location which is different from the location predicted using the trajectory determined for the previously identified flotsam object; and if the predicted location is different from the location of the flotsam object indicated by the image, adjusting, based on the error between the predicted and indicated locations, the estimated future trajectory information stored for the flotsam object.
[0067] In some embodiments, adjusting the estimated trajectory of the flotsam object comprises using the error between the predicted and indicated locations to adjust the level of one or more propulsion modes until the estimated trajectory position is within an acceptable error bound of the observed location of the flotsam object based on the image of the flotsam object.
[0068] In some embodiments, the adjusted levels of one or more propulsion modes of that flotsam object are used to update the classification model used to classify subsequently observed flotsam objects based on their propulsion modes.
[0069] In some embodiments, the one or more propulsion modes comprise one or more of: a wind-driven propulsion mode, a current-driven propulsion mode, and a selfpropulsion mode.
[0070] In some embodiments, the classification mode used to classify flotsam objects based on their propulsion modes is configured to classify flotsam objects based on a value or range of values of a propulsion mode parameter, p, which represents a relative value for a flotsam object to be wind-propelled, water-propelled, or a degree to which it is capable of both modes of propulsion.
[0071] Some embodiments of the computer-implemented method for tracking aflotsam object may utilise features of one or more of the methods of the previous first to fifth aspects or one or more of their embodiments disclosed herein.
[0072] A technical benefit is of some embodiments of the disclosed method aspects, and of the system aspect, is that they enable self-propelled flotsam objects to also be tracked. Another technical advantage is that they allow different types of flotsam objects to be tracked in a resource efficient manner.
[0073] Another, seventh, aspect of the disclosed technology is a computer program or computer program product or non-tangible computer medium comprising a set of machine executable instructions, which, when loaded and executed on an apparatus, cause the apparatus to perform at least one of the method aspects disclosed herein, or at least one embodiment or a combination of embodiments of a method aspect disclosed herein.
[0074] The machine executable instructions may comprise computer code executed in hardware and / or software.
[0075] The computer program may be stored in non-transitory memory.
[0076] Another, eighth, aspect of the disclosed technology comprises an apparatus comprising at least memory, one or more processor(s) or processing circuitry, and computer code, wherein the computer code is configured, when loaded from memory and executed by the one or more processor(s) or processing circuitry to cause the apparatus to implement a method aspect or an embodiment or a combination of embodiments of a method aspect disclosed herein.
[0077] Another, ninth, aspect of the disclosed technology relates to an apparatus for collaboratively estimating a flotsam object trajectory using one or more artificial neural networks, ANNs, the apparatus comprising: means for inputting an image of water surrounding a first vessel to a first computational model; means for processing the input image using a first ANN of a computational model to infer if a flotsam object is located in the image; means configured for processing, if a flotsam object is inferred as being located in the image, the image of the flotsam object to infer at least one object characteristic associated with or comprising one or more flotsam object modes of propulsion forthat object; means for inputting the one or more inferred object characteristics for each inferred flotsam object in the image to a second ANN of a computational model; means for processing, using the second ANN of the computational model, the object characteristics to infer for each flotsam object detected in the image, if the flotsam object is capable of one or more wind-propelled, current-propelled or self- propelled modes of propulsion; and means for using the inferred one or more modes of propulsion for the detected flotsam object with predictions for wind and current conditions to output an estimated future trajectory for the flotsam object.
[0078] In some embodiments, the first and second ANN comprise an ANN configured to determine directly from an image if a flotsam object is present and if so, to infer a value fora wind-current propulsion mode parameter, p, for that flotsam object.
[0079] In some embodiments, the ANN configured to determine directly from an image if a flotsam object is present and if so, to infer a value for a wind-current propulsion mode parameter, p, forthat flotsam object may also be configured to infer if the flotsam object is self- propelled or not.
[0080] Another, tenth, aspect of the disclosed technology comprises an apparatus comprising means for implemented a method aspect, or an embodiment of a method aspect, or a method comprising a suitable combination of one or more embodiments of two or more of the method aspects disclosed herein.
[0081] The disclosed aspects and embodiments, particularly any preferred embodiments, may be combined with each other in any suitable manner which would be apparent to someone of ordinary skill in the art.BRIEF DESCRIPTION OF THE DRAWINGS
[0082] Some embodiments of the disclosed technology are described below with reference to the accompanying drawings which are by way of example only and in which:Figure 1 illustrates schematically an example scenario where one or more embodiments of the disclosed technology may be implemented;Figure 2A illustrates schematically an example of a method for estimating a flotsam object trajectory according to one or more embodiments of the disclosed technology;Figure 2B illustrates schematically an example of a method for identifying an object which may be according to one or more embodiments of the disclosed technology;Figure 3 illustrates schematically an example of a system for tracking one or more flotsam objects from their locations at a first time according to one or more embodiments of the disclosed technology;Figure 4 illustrates schematically an example of the system of Figure 3 for tracking flotsam objects at a later time according to one or more embodiments of the disclosed technology;Figure 5 illustrates a schematically an example method for tracking a flotsam object according to some embodiments of the disclosed technology;Figure 6 illustrates schematically examples of propulsion modes of a flotsam object at various times according to some embodiments of the disclosed technology;Figure 7 shows a first example of a predicted trajectory for a flotsam object which is not self-propelled according to some embodiments of the disclosed technology;Figure 8 shows a second example of a predicted trajectory for a self-propelled flotsam object according to some embodiments of the disclosed technology;FIGURE 9A shows schematically an example of a flotsam object floating low in the water;FIGURE 9B shows schematically an example of a flotsam object floating high in the water;FIGURE 9C shows schematically an example of how environmental conditions exert forces on a floating flotsam object according to some example embodiments of the disclosed technology;Figure 10 shows schematically an example training data set of images for training an artificial neural network, ANN, based computational model according to some embodiments of the disclosed technology;Figure 11 comprises a block diagram of an example training method for training an ANN-based computational model to determine one or more propulsion mode parameter(s) of flotsam objects according to some embodiments of the disclosed technology;Figure 12 comprises a block diagram of an example operational method for operating a trained ANN computational model to determine one or more propulsion mode parameters of a flotsam object according to some embodiments of the disclosed technology;Figure 13 shows an example method for locating flotsam objects which a vessel may perform according to some embodiments of the disclosed technology;Figure 14 shows schematically an example image source apparatus configured to provide images of flotsam objects for use in some embodiments of the disclosed technology;Figure 15 shows schematically an example image processing apparatus configured to process images of flotsam objects to obtain flotsam object trajectory information according to at some embodiments of one or more of the methods disclosed herein;Figure 16 shows schematically how an error in estimating a value for a propulsion mode parameter, p, for a flotsam object may be corrected by subsequent observations of the same flotsam object according to at some embodiments of one or more of the methods disclosed herein; andFigure 17 shows schematically a method of generating estimated future trajectory information for a flotsam object according to some embodiments of the disclosed technology.DETAILED DESCRIPTION
[0083] Some examples of embodiments of the disclosed technology are described below with reference to the accompanying drawings. The example embodiments disclosed herein can, however, be realized in many different forms and the disclosed technology is not limited to the particular examples disclosed herein. In other words, the various aspects of the disclosed technology which are described below should be considered to exemplify embodiments of the disclosed technology as set out by the claims and not to limit the scope of the claims only to the examples described herein below.
[0084] The terminology used herein is for the purpose of describing particular aspects of the disclosure only and is not intended to limit the disclosed technology embodiments described herein. For example, as used herein, the singular forms "a", "an" and "the" may include a plural form as well, unless the context clearly indicates otherwise. Steps, whether explicitly or implicitly referred to in the detailed description and / or figures of example embodiments may be re-ordered or omitted if not essential to some embodiments of the claimed technology. Like numbers in the drawings refer to like elements throughout, however, the same or a similar elements may be referred to by a different number in different drawings. For the sake of brevity, only one example of a computational model is described even though it will be readily apparent to someone of ordinary skill in the art that the computer model may be structured in a variety of different ways which when executed will cause an apparatus to implement an embodiment of one or more of the computer-implemented methods disclosed herein below.
[0085] Figure 1 of the accompanying drawings shows schematically an example scenario where one or more embodiments of the disclosed technology may be implemented. In Figure 1 , a plurality of vessels 100, 102 are in the vicinity of some objects, some of which are not flotsam as they are navigational chart objects, such as navigational buoys 104, and some of which are flotsam objects 106a,b,c floating on, or just under and still visible below, the water surface 108.
[0086] Vessel 100 has an on-board imaging system configured to capture one or more images of flotsam objects 106a,b,c floating on the water surface 108, but, if other nearby vessels 102 lack the same imaging system, they may not find out about flotsam objects 106a,b,c until they are much closer to them at which point they may not be able to avoid colliding with them.
[0087] The images of the different types of flotsam object 106a, 106b, 106c shown inFigure 1 are illustrative examples only and it will be appreciated that many other different types of flotsam object 106 from those shown in Figure 1 are possible.
[0088] In order to share flotsam object trajectory information with other vessels or structures on the water which may be affected by collisions with flotsam objects, some embodiments of the disclosed technology comprise a method such as methods 200, 214 shown in Figures 2A and 2B for obtaining an estimated future trajectory of a flotsam object.
[0089] Some embodiments of the method 200 shown in Figure 2A comprise a computer-implemented method for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs where the method comprises inputting 202 an image of a region of water to at least one ANN of the computational model, processing 204 the input image using the at least one ANN to infer if a flotsam object is located in the image, and if a flotsam object is inferred 206 to be located in the image, determining a number of characteristics of the flotsam object, for example, a location, L, of the flotsam object and determining a value for a propulsion mode parameter, p, where p represents one or both of a wind-propelled and a current-propelled propulsion mode of the flotsam object at that location, and based on the value of the propulsion mode parameter and an air velocity and a water velocity at the location of the flotsam object at the time the image of the flotsam object was captured, outputting 208 a predicted future trajectory information for the flotsam object.
[0090] In some embodiments, the method 200 further comprises storing 210 a value for the propulsion mode parameter, p in association with at least one identifier for the flotsam object, for example, in a suitably configured registry of flotsam object information in which flotsam object identifying characteristics and trajectory information can also be stored and later retrieved. Advantageously, this allows a vessel or structure to obtain information about flotsam objects before they are observed in close proximity to that vessel or structure.
[0091] In some embodiments, an initial value, pO, for the propulsion mode parameter, p, is used for a first observation of a flotsam object at first location L0. Later, the stored value of the propulsion mode parameter, p, is updated with a value obtained from a subsequent observation of the same flotsam object at a different location, L, and time.
[0092] The image of the region of water input to the at least one ANN may comprise a region by or around a vessel or structure captured by an on-board imaging system. The imaging system may comprise at least a scanning imaging system and a pan, tilt, zoom, PTZ, camera system, which can be focussed based on input coordinates such as map-based coordinates to obtain an enhanced resolution image. The image of the region of water input may be pre-processed or directly input to the at least one ANN. In some embodiments, the image of the region of water is located within or comprises a scanned image region of water captured by the scanning imaging system and wherein the scanned image is first processedto determine coordinates for a region of water in the vicinity of a candidate flotsam object. If a candidate flotsam object is found, its location may be determined and used to guide the PTZ camera system to form an enhanced resolution image in the vicinity of the candidate flotsam object, which may then be confirmed as a flotsam object by extracting a set of features from the image which are then input to an ANN which has been suitably trained to recognised images of different types of flotsam object and / or to infer one or more characteristics of such a flotsam object. In some embodiments, images which comprise confirmed flotsam objects are then input to the at least one ANN of the computational model configured in order to classify the flotsam object based on its inferred propulsion characteristics of the flotsam object.
[0093] In some embodiments, the method further comprises determining if the location, L of the identified flotsam object at the time the image was captured matches any estimated trajectory positions, p, or if the location, L, is within any areas of uncertainty, o, S, around any estimated trajectory position, p, for a previously observed flotsam object; and, if so, updating any previously stored a value for the propulsion mode parameter value, p, based on the difference between the observed location, L, of the flotsam object and the previously estimated trajectory position p of the flotsam object, and the estimates and / or measurements of air and / or water velocities at the time the image was captured; and outputting updated estimated future trajectory information for the flotsam object.
[0094] In some embodiments, at least one ANN of the one or more ANNS of the computational model is an ANN trained using a training data set comprising images of flotsam objects and their propulsion mode parameters, p, to infer a value for a propulsion mode parameter, p, of a flotsam object directly from an image of that flotsam object and the method further comprises inferring a default or initial value for the propulsion mode parameter, p, directly from each input image.
[0095] Some embodiments of the method 200 shown schematically in Figure 2A comprise a method 200 for obtaining an estimated future trajectory of a flotsam object 106 from an image containing the flotsam object 106 comprises first obtaining an image from an image source such as a vessel or other structure with a view of a body of water on which flotsam objects may be found in 202. The image may be processed to infer if a flotsam object is present in the image in 204. The processing of the image is preferably done onboard the vessel 100 acting as the image source but it may alternatively be done offboard the vessel 100 by a remote processing server 300 (see Figures 3 or 4 for an example). The processing may also infer in 206 one or more object characteristic(s) for the inferred flotsam object 106 if these were not inferred directly as part of determining a flotsam object had been captured in an image in 204.
[0096] The inferred object characteristics may differ in different embodiments of the disclosed technology but include at least one propulsion mode parameter for the flotsam objectand its observed location in a map-based coordinate system such as UMTS or latitude and longitude. The method uses the inferred object characteristics and environmental conditions at the location of the flotsam object when its image was captured to determine an estimated future trajectory of the flotsam object in 208, and stores trajectory information for the flotsam object in 210 along with identifying information for the flotsam object so the same flotsam object can be recognised if observed in an image at a later time in a suitably searchable flotsam object registry, for example, a registry or database such as data store 302 shown in Figures 3 and 4.
[0097] The identifying information held in the registry may comprise characteristics of a flotsam object 106 which form dynamic or static identifiers. An example of a dynamic identifier comprises an estimated future location in map coordinates of the flotsam object at a particular time. This may be updated at regular or irregular time intervals. Additional or alternative identifying information may comprise a set of identifying features comprising, for example, one or more features extracted from an image of a flotsam object which may individually or collectively be used to uniquely identify the flotsam object, for example, such as its size, colouration, markings and / or text.
[0098] In some embodiments of method 200, at least estimated future trajectory information, one or more inferred characteristics, such as propulsion mode parameters and a location of the flotsam object 106 and a timestamp for when the image was captured are stored in a registry entry in association with identifying information.
[0099] In some embodiments, the present time location of the flotsam object is also stored in the registry and updated from time to time. This allows, in some embodiments, the present time location of the flotsam object to be matched to locations in queries for flotsam object information, which allows look-up operations to be based on the flotsam object location to retrieve flotsam object information from the flotsam object registry. In some embodiments, the present time location information is based on a present time trajectory path position of the flotsam object along with one or more error terms providing areas of uncertainty for the estimated location of the flotsam object at a current time are also stored in a data store 302. [000100] In some embodiments, if the registry of flotsam objects holds two or more flotsam objects having different trajectories that are predicted to result in their locations being within a threshold distance of each other at the same time, then if a report of an observation at that time is received by the processing server 300, an additional check based on distinguishing features may be automatically performed to determine which of the two or more flotsam objects is being observed.[000101] Figure 2B shows schematically a method 214 for checking a flotsam object has not previously been added to the flotsam object registry. In Figure 2B, the method 214 comprises at least checking 216 if a location of a flotsam object registry entry at a particulartime matches a corresponding predicted location or falls within the area of uncertainty for the corresponding predicted location of a flotsam object captured in an image at that particular time. If a match is determined, based on the location information, or based on a feature set identifying the object sufficiently being matched, or both, then the registry entry for the previously observed flotsam object is updated 222. If not, however, then a new registry entry is created with a unique object identifier 218 and used to store 220 registry information for the newly observed flotsam object. Method 214 may be performed as part of method 200 at any suitable time before flotsam object information is stored in 210, either in sequence or in parallel to or more steps of method 200.[000102] In some embodiments of the disclosed technology, the method for obtaining an estimated future trajectory of a flotsam object 106 from an image containing the flotsam object 106 is implemented in a collaborative manner which images being contributed from different images sources.[000103] Some embodiments of the disclosed technology comprise a computer- implemented method for collaboratively estimating a flotsam object trajectory using at least one ANN computational model comprising one or more artificial neural networks, ANNs. The method may comprise a processing server, such as the processing server 300 shown in Figures 3 and 4, having received images from a plurality of images sources, inputting images of water near each of the plurality of image sources to at least one suitably trained ANN of a computational model, and processing each image using the trained at least one ANN computational model to infer if a flotsam object can be observed in that image. If a flotsam object is detected in the image, the method further comprises processing the image of the flotsam object to infer at least one object characteristic associated with or comprising one or more flotsam object modes of propulsion for that object using at least one ANN computational model. The method further comprises processing for each image of an inferred flotsam object, using at least one suitably trained ANN computational model, one or more inferred object characteristics to infer for each inferred flotsam object, a degree to which the inferred flotsam object is capable of one or more wind-propelled, current-propelled or self-propelled modes of propulsion and using the inferred one or more modes of propulsion for the detected flotsam object with predictions for wind and current conditions to output estimated future trajectory information for the flotsam object.[000104] In some embodiments, the method further comprises assigning a unique object identifier to each inferred unique flotsam object, and storing, in associating with each unique object identifier for a flotsam object, the estimated future trajectory information. The stored estimated future trajectory information allows at future points of time an estimated location of the flotsam object to be determined.[000105] In some embodiments, the method further comprises determining if one ormore conditions are met to share stored trajectory information with a vessel or structure, and if so, communicating the stored trajectory information with that vessel. Examples of the one or more conditions include determining a match condition for when a vessel or structure is located within a location uncertainty region for a flotsam object.[000106] In some embodiments, one or more flotsam object characteristics are stored with the estimated trajectory of the flotsam object and the one or more conditions comprise determining, at the vessel 100, 102, that vessel 100, 102 is located within an area of uncertainty for a position of a flotsam object 106a,b,c,d and requesting from the processing server 300, stored flotsam object information.[000107] In some embodiments, one or more flotsam object characteristics are stored with the estimated trajectory of the flotsam object and the one or more conditions comprise the processing server 300 determining a vessel 100a,b,c,d, 102 is located within the location uncertainty region of a flotsam object 106 and responsive to such a determination, the processing server sends stored flotsam object information and / or flotsam object trajectory information to the vessel.The computational model may comprise at least one trained ANN configured to perform image classification and / or image recognition of flotsam objects. For example, at least one ANN may comprise a multi-classifier ANN model trained on a dataset of images of flotsam objects such as those shown in Figure 10 in some embodiments to classify an image of a flotsam object as being a self-propulsion type of flotsam object and / or to classify an image with a value of a wind and current self-propulsion mode parameter, p. In some embodiments, the computational model comprises at least one trained ANN configured to determine one or more flotsam object characteristics from which one or more modes of propulsion of that flotsam object can be determined. For example, based on a flotsam object being classified as a shipping container, it may be possible[000108] Figures 3 and 4 illustrate schematically examples of a collaborative flotsam object trajectory information system. In some embodiments, the system comprises a plurality of image sources, for example, vessels 100a,b,c in Figures 3 and 4, a processing server 300, and a data store 302, for example, a data store comprising a registry of data of identified flotsam objects, information characterising their propulsion mode(s), and associated trajectory information such as a previous location and time and one or more estimates of future locations, areas of location uncertainty, and estimated times at those future locations. Different image sources at different locations may contribute images which may contain the same flotsam object. For example, a vessel or another type of structure with a view of water which may contain one or more flotsam objects may each act as image sources in some embodiments. The collaborative information system allows information to be shared over a larger range than might be possible if no flotsam object data registry is provided.11[000109] Each image source such as a vessel 100a,b,c comprises a camera system including a PTZ camera system, an onboard image processing system, and a communication system. Each vessel 100a,b,c acts as an image source configured to contribute to a body of trajectory information for flotsam objects 106a,b,c,d stored in the flotsam object registry of data store 302 by obtaining one or more images of an area of water near that vessel (or whatever image source is providing the images) using the camera system, processing each of the one or more images to detect one or more flotsam object(s) 106a,b,c,d, obtaining location information for each of the detected one or more flotsam object(s), and transmitting enhanced image and location information for each detected one or more flotsam object to the processing server 300. The processing server 300 is configured to process received transmitted information for a detected flotsam object 106a,b,c,d to determine estimated future trajectory information for the detected flotsam object 106a,b,c,d based on a time the image of the flotsam object was captured, a location of the flotsam object, water and wind velocities at the location, and optionally one or more flotsam object characteristic(s), inferred from the image of the flotsam object. The location of the flotsam object may be provided in any suitable coordinate system such as a map-based coordinate system, examples of which include latitude and longitude coordinates and UTMS coordinates. The coordinates may be derived in any suitable way from the location of the image source, for example, using GPS positioning and the relative location of the flotsam object from the image source which can be determined using suitable known techniques from the image taken of the flotsam object. In some embodiments, if an image taken by a scanning camera of the camera system is processed and indicates a candidate flotsam object at a particular location, then that location may be provided to configure the PTZ camera system to obtain a higher resolution image of that particular location in order to better confirm the presence of a candidate flotsam object and / or one or more characteristics of the flotsam object such as its height above the water line. A depth camera may also form part of the camera system to locate the distance of the object and / or to find a size attribute of the object above or below the waterline. Alternatively, the distance of the flotsam object from the vessel may be determined using a suitably configured radar or lidar system in some embodiments.In some embodiments, the processing server 300 is configured to uniquely identify from received reports if a reported flotsam object is a previously reported flotsam object by comparing the reported flotsam object location and time observed at that location with stored flotsam object trajectory information, for example, by implementing method 214. If the flotsam object is a new flotsam object, the processing server 300 is configured to assign, to that unique flotsam object, an object identifier.In some embodiments of the system, the processing server 300 is configured to determine atleast one or more levels for each of a wind-propelled propulsion mode and / or current- propelled propulsion mode, and / or if the flotsam object appears to be self-propelled, and if so, optionally, determines a degree of a self-propelled mode of propulsion for the flotsam object. The processing server 300 may store this information as characteristics of the flotsam object in association with a unique previous or newly assigned flotsam object identifier in the flotsam object data registry of data store 302, along with predicted future trajectory information for the flotsam object 106a,b,c,d derived from predictions of wind and current conditions and at least one propulsion parameter value indicating a relative level of wind-propulsion to current-propulsion of the flotsam object based on the reported flotsam object characteristic(s), and any areas of uncertainty due to the flotsam object being self- propelled, as well as a location of the flotsam object and the time when the flotsam object was observed at that location. The predicted future trajectory information enables estimates to be obtained of the position along a trajectory and a location uncertainty o along the predicted trajectory path of the uniquely identified flotsam object. In some embodiments, a propulsion mode uncertainty, as well as or instead of a self-propulsion mode uncertainty may contribute to the location uncertainty.[000110] In some embodiments of the system shown in Figures 3 and 4, the processing server 300 is configured to share at least the location and location uncertainty of a flotsam object 106a,b,c,d based on the estimated trajectory information with at least one entity such as a vessel 100a,b,c,d or another structure determined to be within a predicted area of location uncertainty of a flotsam object.[000111] In this way, Figures 3 and 4 together show schematically how information on a plurality of unique flotsam objects 106a,b,c,d generated using the method 200 (and 214 as part of method 200) over a longer time and / or a bigger area by a plurality of vessels 100a, b,c than would be possible if a shared registry of flotsam object information was not available. [000112] In some embodiments, method 200 (and 214) is implemented by a remote, for example, shore-based processing server 300, but in some embodiments, one or more of the vessels 100a,b,c, may function as a mobile processing server 300. In some embodiments, the processing server 300 may be implemented as a distributed or cloud-based system.[000113] In Figures 3 and 4, the vessels 100a, 100b, and 100c contribute images of flotsam objects 106a,b,c,d which allow the processing server 300 to provide a method of tracking some of the flotsam objects such as flotsam objects 106b,c. Figure 5 shows schematically an example of the tracking method that the processing server 300 and one or more of the vessels 100a,b,c may implement a to track locations of a flotsam object. Figure 13 shows schematically a method which a vessel such as one of vessels 100a,b,c, shown in Figures 3 and 4 may implement when tracking a flotsam object according to someembodiments of the disclosed technology.[000114] In some embodiments, the methods 200, 214 performed by the processing server 300 comprise a computer-implemented method for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs. In some embodiments, obtaining an image in 202 and processing the image in 204 of method 200 comprise inputting an image of a region of water to at least one ANN of a computational model, processing the input image using the at least one ANN to infer if a flotsam object is located in the image. If a flotsam object is inferred to be located in the image, then inferring object characteristic(s) including one or more propulsion characteristic(s) of the flotsam object in 206 may comprise: determining a location, L, of the flotsam object, and determining a value for a propulsion mode parameter, p, where p represents one or both of a wind-propelled and a current-propelled propulsion mode of the flotsam object at that location. Predicting object trajectories using the inferred propulsion mode characteristic(s) and environmental conditions at the location of the flotsam object in 208 may comprise based on the value of the propulsion mode parameter and one or more estimates and / or measurements of air and / or water velocities at the location of the flotsam object at the time the image of the flotsam object was captured, outputting estimated future trajectory information for the flotsam object. The processing server 300 also performs method 214 is performed to confirm if the flotsam object has ever been observed before. If not, then a new registry entry is entered and information to uniquely identify the flotsam object and the inferred trajectory information are stored in the new registry entry in the flotsam object registry hosted by data store 302. If the flotsam object has been previously observed, then the registry entry for the previously observed flotsam object is updated with the time of the new sighting, potentially new object characteristics, and potentially updated estimated future trajectory information. An example of a new object characteristic that may be updated in this way comprise an updated location and time for when the flotsam object was last observed, an updated value for the propulsion mode parameter, p,, and possibly different or additional unique identifying features for that flotsam object. For example, in some embodiments, the processing server 300 performs a method 500 of tracking a flotsam object such as Figure 5 shows schematically in which processing server 300 receives images containing candidate or confirmed flotsam objects from various image sources, such as from onboard imaging systems on vessels 100a,b,c, and processes each image to confirm one or more characteristics of any flotsam object confirmed in the image. The location of a candidate or confirmed flotsam object may be found by the image source or enough information about the location of the image source may be provided with the image to the processing server 300 to allow the processing server 300 to determine the location of the flotsam object in suitable map coordinates, for example, in latitude and longitude, or UMTS co-ordinates.[000115] In some embodiments, the processing server 300 may process each image to determine, for each confirmed flotsam object found in the image, at least one propulsion characteristic and any other characteristics necessary to be able to estimate a future trajectory information for that flotsam object. The future trajectory information may comprise a value for a propulsion parameter value, p, representing relative modes of wind and current propulsion and an indication of whether that flotsam object is being self-propelled or not, which may be used to generate an area of location uncertainty for estimated future trajectory path positions of the flotsam object. The propulsion parameter value p may be determined in a number of ways, some of which are disclosed later below. Any suitable feature set may be extracted from each image to determine the propulsion mode parameter, p, either as a preprocessing step in some embodiments or by training a suitable multi-classification artificial neural network, ANN, computer model with a suitable training data set so that it can directly derive a value for the propulsion mode parameter p from each image of a flotsam object.[000116] Figure 10 shows schematically an example of a possible training data set to train such an ANN computer model. Figure 11 shows how the ANN model may be trained using such a training data set to determine values of the propulsion mode parameter, p, and Figure 12 shows how during operation of a computer model comprising at least one ANN model such as an ANN trained using the example training method shown in Figure 11 , values of the propulsion mode parameter, p, may be determined in various values and used to generate estimated trajectory information for a flotsam object based on its image.[000117] In order to generate estimated future trajectory locations of a flotsam object, the prevailing wind and water conditions are determined at the location of the flotsam object. By assuming the flotsam object is in a steady state under those wind and water conditions, it is possible to assume the flotsam object has reached its terminal velocity and that the terminal velocity of the flotsam object can be used to provide estimates of its future trajectory. This is described in more detail later below and is illustrated schematically in Figure 9C.[000118] Figure 3 this shows an example scenario at an initial time t1 and Figure 4 shows a subsequent example scenario at a later time t2 of three vessels 100a, b,c and nearby flotsam objects 106a,b,c,d. Vessels 100a,b,c sharing images of areas of water with the processing server 300 over a range of distances. This allows flotsam objects to be tracked in some embodiments beyond the range of a single imaging system by the processing server 300.[000119] In some embodiments, processing server 300 is configured to implement a computer-implemented method 500 for tracking a flotsam object 106a,b,c,d using a computer model comprising a plurality of artificial neural networks, ANN,s such as that shown in Figure 5.[000120] In Figure 5, an example of the method 500 is illustrated which comprises processing in 502, using at least one ANN of the computer model, an image including a flotsamobject 106a,b,c,d to extract features from which one or more propulsion characteristics can be derived in order to determine a propulsion mode parameter classification of the flotsam object 106a,b,c, d. In some embodiments, the classifying is performed using a trained suitable multi-classification ANN-based model of the computer model and determines for each image of a flotsam object 106, for example, for each of the flotsam objects 106a,b,c,d shown in Figures 3 and 4, one or more possible modes of propulsion of the flotsam object. The method 500 further comprises estimating, in 504, using the propulsion mode classification of the flotsam object and one or more environmental conditions, future trajectory information for the flotsam object of the image being currently processed. The estimated future trajectory information comprises a future trajectory path and speed along the path of the flotsam object and may also comprise one or more error terms which provide an area of uncertainty around future positions of the flotsam object along its estimated future trajectory path. The error terms may arise from the flotsam object being classified as having a self-propulsion mode in some embodiments and / or by using a default value for a propulsion model parameter, p, which represents the ratio of wind and current propulsion. The estimated future flotsam trajectory information may be used directly to share flotsam object information in 508 and is also stored in 506 so that the location of the flotsam object at a later time can be provided in 508. The estimated future trajectory information for the flotsam object is stored in a flotsam registry, such as that shown as data store 302 in Figures 3 and 4, in association with information allowing subsequent identification of the same flotsam object together with an image capture time in 506. The flotsam object trajectory information, for example, the flotsam object’s position along the estimated steady-state trajectory and any area of self-propulsion location uncertainty, o, or propulsion mode location uncertainty, S, or a combination of both, Ao,srelative to its position along the estimated steady-state trajectory may be shared with vessels as a push or on demand service in 510.[000121] In order to efficiently track one or more flotsam objects 106a,b,c,d whilst they remain within the range of a single vessel, such as one of vessels 100a,b,c, shown in Figures 3 and 4, the method further comprises, for each subsequently received image in 512 if it has been received within a maximum time-limit in 514, checking the subsequently received image for the same flotsam object by determining the location error between its previously estimated location and its actual location in 516. Once this has been determined, it is possible to update any initial values used for the propulsion mode parameter, p, in 518, and the update values may be used to retrain the ANN performing the flotsam object image classification in 520 in some embodiments.[000122] In some embodiments, determining the location error between its previously estimated location and its actual location in 516 may comprise, if a subsequent image of a flotsam object is determined to be an image of a previously identified flotsam object:determining if that subsequent image shows the flotsam object at a location which is different from the location predicted using the trajectory determined for the previously identified flotsam object; and if the predicted location is different from the location of the flotsam object indicated by the image, adjusting, based on the error between the predicted and indicated locations, the estimated future trajectory information stored for the flotsam object.[000123] In some embodiments, when information is received which is identified as being for the same flotsam object 106 as a previously observed flotsam object, then the method 500 may further comprise determining the error between the actual, reported, object location and an estimated location of the flotsam object based on the stored trajectory obtained previously for that object in 506 where based on the error, the object propulsion mode(s), for example the propulsion mode parameter, p, may be updated and adjusted to fit the previously estimated location to the actual reported location. This information is then stored in association with the flotsam object identifier and may be used to update the propulsion mode model, by, for example, updating a training data set for an Al model configured to associated propulsion modes with identified objects.[000124] Any suitable technique may be used to determine a predicted object trajectory known in the art, for example, given a wind and current forecast, flotsam propulsion characteristics and historical observations, the central processing system 300 may perform a estimation of a future trajectory of a flotsam object using a Kalman filter to provide an initial solution where there are no previous observations of the same object for guidance and then subsequently use a different technique, for example, a Bayesian network model may be used to predict the flotsam object’s trajectory after lots of observations have been obtained for that particular object.[000125] In some embodiments, adjusting the estimated trajectory of the flotsam object comprises using the error between the predicted and indicated locations to adjust the level of one or more propulsion modes until the estimated trajectory position is within an acceptable error bound of the observed location of the flotsam object based on the image of the flotsam object.[000126] In some embodiments, the classification mode used to classify flotsam objects based on their propulsion modes is configured to classify flotsam objects based on a value or range of values of a propulsion mode parameter, p, which represents a relative value for a flotsam object to be wind-propelled, water-propelled, or a degree to which it is capable of both modes of propulsion, and also may classify flotsam-objects as being self-propelled based on that flotsam object’s image.[000127] Once the flotsam object is out of range of an imaging system onboard a vessel, there will be no subsequent observations from that vessel, in which case, unless another vessel has already started to track the flotsam object, such as is shown in Figure 3 by the twovessels 100b, 100c both tracking flotsam object 106c, the method of flotsam object observation tracking ends. In the example method embodiment of Figure 5, when there are no further observations within the live tracking time-limit, the observation tracking method ends in 522. In some embodiments, however, tracking will continue after the flotsam object is beyond the range of one onboard imaging system of a vessel using images obtained from another vessel’s imaging system.[000128] In some embodiments, such as the example scenarios of Figures 3 and 4, the processing server 300 stores estimated future trajectories for the flotsam objects 106a,b,c,d when these are observed by one or more of vessels 100a,b,c in a flotsam object information registry shown as a data store 302. When the processing server 300 receives a request for flotsam object information or is provided with location, and a time at that location, from a requesting entity, the previously stored estimated flotsam object trajectory information can be used to determine what flotsam objects, if any, are predicted to have locations (or have areas of location uncertainty) which are a sufficient match to the location and time provided in the request for information.[000129] The processing server 300 may provide the flotsam object location information and / or any trajectory information for the flotsam object predicted to be at location(s) in any requests from requesting entities. Alternatively, this information may be provided as a push service by updating an estimated location for each flotsam object based on its previously estimated flotsam object trajectory information and comparing this with a location provided in a flotsam object information request received from a requesting entity which may be one of the vessels 100a,b,c, or another type of requesting entity.[000130] In some embodiments, the processing server of Figures 3 and 4 is configured to implement the method of flotsam object tracking shown in Figure 5. For example, the processing server 300 may determine in 508 using stored flotsam object information comprising previously estimated trajectory information, the last observed location and the time of the last observed location of a flotsam object, a current estimated position, p, of the flotsam object along its trajectory path and any region or area of location uncertainty about that position, p. It will be apparent that instead of a current time, any time may be used along with the trajectory information to derive an estimate of the trajectory position p at a later time.[000131] Any optional region or area of location uncertainty may be considered an error term for the predicted on-trajectory position, p,. Example of such an error term may arise by taking an approximate value for the ratio of wind to water propulsion modes, which results in an area of location uncertainty, S in some embodiments. Another example of such an error term arises if the flotsam object is classified as a self-propulsion flotsam object, for example, in 502, which results in an area of location uncertainty o. In some embodiments, both errors may be represented by a combined area of location uncertainty generated by suitablycombining both error terms, which results in a combined area of location uncertainty, Aa,s.[000132] As shown in Figure 5, the processing server 300 shares flotsam object location information with vessels 100a,b,c which is updated every x seconds by iterating determining the location and areas of location uncertainty found from the estimated trajectory information in some embodiments. This allows location information for tracked flotsam objects whose trajectories may be updated fairly regularly or even more frequently to be shared with vessels 100a, b,c.[000133] The processing server 300 may share flotsam information either when a vessel 100a,b,c, requests it or push the flotsam information to a vessel.[000134] In some embodiments, a vessel such as vessel 100a for example may use the trajectory information provided by the processing server 300 to obtain additional images of a flotsam object for example, by implementing an example embodiment of a method 1300 for locating a flotsam object such as Figure 13 shows schematically.[000135] In the example embodiment shown in Figure 13, first it is determined if a vessel is within the area of location uncertainty of a previously observed flotsam object in 1302. This may be accomplished either by a vessel determining for itself it is within the boundary 304a, 304d of an area of location uncertainty of a flotsam object 106a, 106d, or by the processing server 300 determining this remotely by performing a lookup for flotsam objects in its data registry on data store 302, to determine that vessel 100a is within the area of location uncertainty of one or more flotsam objects 106a,106d. Next, suitable map-based coordinates for an estimated position, p, of the target flotsam object along its estimated trajectory based on the stored flotsam object information are fed in 1304 to the camera system of the vessel 100a and optionally also the area of location uncertainty.[000136] The camera system can then scan the area around that location, for example, within the area of location uncertainty, and if a candidate flotsam object is detected in 1308, in some example embodiments the location of the candidate flotsam object may be provided to a PTZ camera system in order to obtain new high-resolution images to confirm there is a flotsam object at that location in 1310. Alternatively, in some embodiments, the location information received from the processing server 300 may be used directly to guide the PTZ camera system to obtain high resolution images of the water surface at the estimated trajectory-based location. Once new images of the flotsam object have been obtained, the vessel 100a can upload this over a suitable data communications network to the processing server 300 in 1312. This allows the processing server 300 to verify the image contains a new observation of a previously observed flotsam object and to process the new images of the flotsam object to update stored flotsam object trajectory information.[000137] Figures 6, described in more detail later below, shows by way of example, how following an observation at time t1 , a flotsam object may be determined to have a firstpropulsion mode parameter, p1 =1 , which changes subsequently with another observation at time t2 to p2, and later with another observation at time t3 to p3. Each update of the propulsion mode parameter p reflects a subsequent observation at times t2 and t3. If the first value for a propulsion mode parameter p is a default value, the subsequent observations may allow more accurate values to be obtained. Alternatively or in addition, physical characteristics of the flotsam object may change over time and affect the value of the relative wind and current propulsion mode parameter, p. For example, if the flotsam object is sinking, then as it sinks the effect of current forces will increase, and this will affect the value of the propulsion mode parameter, p. Examples of how the propulsion mode parameter, p, may be determined are described in more detail later below.[000138] As shown schematically in Figures 3 and 4, vessel 100a in Figure 3 is tracking a flotsam object B and is provided with location information for flotsam objects A and D by the processing server 300 when it crosses the respective boundaries 304a, 304d of the areas of location uncertainty. The vessel 100a may use the location information to control its imaging system to find and generate new images of flotsam objects A and D which it then sends to the processing server 300.[000139] Figure 4 shows how at later time t2, the trajectory location information for flotsam object 1006b is shared by processing server 300 with vessel 100b when it crosses boundary 304b into its area of location uncertainty, and this location information then allows vessel 100b to guide its imaging system to obtain images of flotsam object 106b at time t2.[000140] Figure 4 also shows how flotsam object 106c which was shown being tracked by both vessels 100b and 100c in Figure 3 has now moved closer to vessel 100a. The flotsam trajectory information for flotsam object 106c is shared by the processing server 300 responsive to vessel 100c notifying it that it is now at a location which the processing server 300 determines based on the stored trajectory information for flotsam object 106c is within the area of location uncertainty for that flotsam object.[000141] Vessels 100, 100a,b,c all have imaging systems configured to capture images of regions of water around the vessels and may also have onboard image processing systems configured to process images on-board to determine if they contain a flotsam object, such as one of the flotsam objects 106a,b,c,d. Each of the vessels 100, 100a,b,c, in other words has the ability to send images of flotsam objects that vessel detects to a processing server 300. In some embodiments, however, images and / or trajectory information to allow a vessel to locate a flotsam object may be provided to a vessel such as a vessel 102 as shown in Figure 1 , which may not have any on-board imaging system, as an information service to allow that vessel 102 to take an action to avoid a collision with a flotsam object such as a flotsam object 106a, b,c shown in Figure 1.[000142] In some embodiments, for example, a vessel 100, 100a, b,c, 102 mayimplement a method of flotsam avoidance method of flotsam avoidance comprising, for example either at the processing server 300 or at the vessel, obtaining flotsam trajectory information from a processing server 300 configured to obtain flotsam trajectory information, where the flotsam object trajectory information includes an indicator, based on a flotsam object type category, of a collision severity indicator for a vessel or for that vessel to collide with the flotsam object, wherein the flotsam trajectory information comprises a prediction of a position of a flotsam object along an estimated future trajectory path at a given future time and an area of uncertainty of the flotsam object at the position along the estimated further trajectory at the given future time. The method also comprises determining, based on the received flotsam estimated future trajectory information and available vessel trajectory information, an area of interception where the vessel 100, 102 may intercept spatially and temporally with the flotsam object 106 within an area of uncertainty of a position of the flotsam object 106 along its estimated future trajectory.[000143] In some embodiments, the method further comprises assessing, at the vessel 100, 102 if the vessel trajectory indicates the vessel 100, 102 will enter the area of interception where the vessel trajectory intercepts spatially and temporally with a region of location uncertainty of the flotsam object 106. If it does the method may further comprise determining from one or more vessel collision or impact characteristics if the vessel is sufficient to handle a collision with flotsam object. This may be implemented, for example, by assigning a simple impact score to a vessel and a corresponding impact score to a flotsam object. The method also comprises performing an action, if the vessel impact characteristics are available and indicate the vessel is not sufficiently robust to handle that level of collision severity with that flotsam object, in order to avert or reduce the resulting damage of a collision with the flotsam object within the area of interception. For example, if a vessel has a collision score of 5 and a flotsam object had a collision score of 2, then the vessel may safely collide with the flotsam object. If, however, the flotsam object has a collision score of 8, then the vessel should avoid having a collision with that flotsam object.[000144] In some embodiments of the collision avoidance method the action comprises one or more of changing course to avoid the region of location uncertainty of the flotsam object 106 or slowing or stopping the vessel 100, 102 along its current course.[000145] In some embodiments, the processing server 300 is configured to obtain information about flotsam objects from a plurality of different image sources, some of which may be vessels 100a,b,c, and, in some examples, some of which may be structures, such as lighthouses, wind-turbines, or oil or gas rigs etc. and provide flotsam object trajectory information to different types of requesting entities, which may include vessels 100a,b,c such as those shown in Figures 3 and 4 and / or structures which may experience collisions with flotsam objects.[000146] In some embodiments, a vessel 100a,b,c,d may notify the processing server 300 from time to time of its location in map coordinates such as UMTS or GPS. The processing server 300 may be configured to use the location of the vessel 100a to perform a lookup operation to match the vessel location with possible locations for any nearby flotsam objects 106a,d at time ti based on a previously estimated trajectory derived from a previous sighting of that flotsam object 106a,d.[000147] The processing server 300 processes images containing candidate flotsam objects from vessels 100a,b,c, and stores trajectory information in a flotsam object registry on data store 302.[000148] The registry information can be used in some embodiments to provide flotsam object information service requesting entities, which may be vessels 100a,b,c or other types of vessels or structures, for example, structures located on the water or by the edge of water which may wish to receive information about flotsam objects.[000149] For example, in some embodiments, responsive to receiving a flotsam object information request from a requesting entity at a particular location or for a particular location and time, the processing server 300 is configured to provide a flotsam object information service by matching the particular location and time to a predicted flotsam object location and time derived using stored registry information.[000150] Alternatively, each requesting entity such as a vessel 100a, b,c can request the latest registry information for previously observed flotsam objects, then perform one or more lookup operations to determine if its current location or future location may be near the current or future location of a flotsam object 106a,b,c.[000151] A location match may be found based on a predetermined or dynamically determined maximum difference between an estimated trajectory position of a previously observed flotsam object 106a,b,c,d and a provided location and time for the vessel 100a,b,c, in other words, a match does not need exactly the same location co-ordinates to be found. The maximum difference for a match may be determined by the requesting entity and communicated in a request for flotsam object information sent to the remote server in some embodiments. The maximum difference may depend on the size of any area of location uncertainty representing one or more error terms for future estimated positions of a flotsam object along its estimated future trajectory. For example, an area of self-propulsion location uncertainty, S, of a flotsam object may represent a measure of a prediction error in the position of a flotsam object along its estimated trajectory. Such an error may arise due to the relative degrees of wind and current propulsion of the flotsam object 106 being incorrectly represented when estimating the future trajectory of the flotsam object 106 and / or may arise due to selfpropulsion of the flotsam object causing the flotsam object to deviate from its estimated future trajectory path.[000152] Figure 6 shows an example timeline for the changes in the modes of propulsion of a detected flotsam object from time t1 to time t3. For example, flotsam object 106c shown in Figure 3 may have an estimated or actual value for its propulsion mode parameter, p=pi, however, at a later time t=t2such as in Figure 4, flotsam object 106c may have an estimated or actual value for its propulsion mode parameter, p =p2[000153] In Figure 6, each mode of propulsion is also shown as a level relative to each other. A key is provided to indicate the level of current propulsion is shown by thick black diagonal line hatching in one direction, self-propulsion is shown by fainter black diagonal line hatching in the other direction, and wind-propulsion is shown as a checker-board fill.[000154] The changes in propulsion modes shown at times t1 , t2, an t3 may be a result of refining the propulsion modes based on subsequent observations of the same object, as mentioned above with reference to Figures 3 and 4.[000155] Figure 7 shows schematically how, based on the prevailing wind and current forces and trajectory information obtained from an observation of a flotsam object at a location 0 at time to, an estimated future trajectory path 700 of the flotsam object allows estimates of its location to be shared for future times. Examples of such future times are shown as times ti and t2in Figure 7. As shown, at time t1 , the flotsam object will be estimated to be at location i and at time t2, the flotsam object is estimated to be at location p2. Historic locations at times t-i, t.2and t.3are also shown in Figure 7 to illustrate that the propulsion mode parameter, p, may evolve over time, but the value used to estimate the future trajectory of a flotsam object will be the value known when that flotsam object was last observed, which is to in Figure 7.[000156] Figure 8 show an example of how a self-propulsion mode may generate an area of location uncertainty along an estimated trajectory path according to some embodiments of the disclosed technology. The example flotsam object trajectory path 800 shown in Figure 8 may, for example, comprise a trajectory path 800 along which the flotsam object is estimated at time t=tO to move assuming it was not self-propelled. At intervals t=t1 and t=t2, assuming the flotsam object has not been observed, as this would remove any location uncertainty, the area of uncertainty due to self-propulsion increases from o1 to o2. As shown in Figure 8, the propulsion modes of the flotsam object may change overtime, however, only the last known value for p determined at time t=tO can be used to estimate the future trajectory of the flotsam object. The actual location of the flotsam object at time t=t2 is shown as L2 in Figure 8, which is off the trajectory path but within the area of location uncertainty o2. [000157] Figures 9A and 9B illustrate schematically example values of the wind and current propulsion mode parameter, p, which may be used in some embodiments to determine a trajectory of a flotsam object 106 from its terminal velocity, vT. Figure 9C shows schematically how, by assuming a flotsam object 106 has reached a steady state, its steady state velocity vo can be taken as its terminal velocity vT. The terminal velocity vTof a flotsam object isreached when the forces exerted on that flotsam object it by wind and currents are balanced by the drag forces which resist such movement, shown in Figure 9C as Fca(for the air drag force) which is dependent on the wind force Faand the water drag force Fcwwhich is dependent on the opposing current Force Fw. In some embodiments, it may be possible to also take into account the orientation and bearing of any self-propelling forces, for example, by extracting information on the bearing of a flotsam object comprising a human on a paddleboard or in a kayak or canoe or similar type of manned object.[000158] The disclosed technology determines a trajectory of a flotsam object 106 using the wind and current forces, Faand Fw, at the location of the flotsam object at the time its image was taken. Assuming these are known and the flotsam object is in a steady state when its image was captured, as long as a value for a relative air to water propulsion mode parameter, p, which provides an indication of the relative degree to which a flotsam object is moving as a result of the wind and current forces can be used to estimate the trajectory of the flotsam object and accordingly determine the position of the flotsam object at subsequent time(s).[000159] In order to determine the propulsion mode parameter, p, some embodiments of the disclosed technology use a suitable ANN classifier model which has been trained on a set of images of flotsam objects for which the propulsion mode parameter is known to directly determine the propulsion mode parameter value of a flotsam object from an image containing that flotsam object.[000160] In some embodiments, however, it is possible instead to simply assume a default initial value for the propulsion mode parameter, p, and then to update this based on actual subsequent observations. This is more suited to when a flotsam object is being tracked, as there will be a number of observations over a period of time from which a reasonably accurate value of the propulsion mode parameter value can be obtained.[000161] In some embodiments, however, the propulsion mode parameter value may also be derived from an image of a flotsam object.[000162] Regardless of which method is used, absent any self-propulsion, in some embodiments, a value of p=0 would mean that a flotsam object is completely wind-propelled, and a value of p=1 would mean that a flotsam object is completed current-propelled. By propelled it is meant that the flotsam object moves in response to an applied force, not that it is provided with a propeller. Once a value for the propulsion mode parameter p is known, whether this is a measured value, a default value, or an estimated value, it can be used to determine the terminal velocity vTof the flotsam object. If there is any self-propulsion, then this is represented as an error term on the position of a flotsam object. Self-propulsion may be modelled as a symmetrical location uncertainty about a position along an estimated future trajectory which is where a flotsam object is predicted to be at a future time t since it was last observed within which the actual location, L, where that flotsam is to be found at that time.[000163] As mentioned above, in some embodiments, the propulsion mode parameter, p, is derived from features of the flotsam object and prevailing weather and current force directions and magnitudes at the location of the flotsam object. For example, the drag forces acting above and below the waterline on a flotsam object can also be determined in some embodiments from an image of it in the water by considering the following.[000164] The scalar drag coefficient Cdfor a flotsam object will depend on the shape of the flotsam object and to some extent its surface texture. By way of example, for a sphere Cdis approximately 0.47 and for a long cylinder it is about 0.82. Cdcan be found from the following expression:[000165] In Eqn. (1) Fdis the drag force acting on the flotsam object in the opposite direction of v where v is the velocity of the flotsam object, A is the cross-sectional area of the flotsam object normal to the direction of v, in other words the area on which the drag force Fdacts, and p represents the density of the fluid, which is different for air than it is for water. Typical values for p for surface sea water range from about 1020 to 1029 kg / m3, depending on temperature and salinity. At a temperature of 25 degrees Celsius, salinity of 35g / kg and 1 atm pressure, the density of seawater is 1023.6 kg / m3. In contrast, a typical density for air at sea level and 15 degrees Celsius is 1.225 kg / m3, and this also varies with air pressure and temperature, for example, it may be 1.204kg / m3at 101.325 kPa and 20 degrees Celsius. For relatively small temperature changes between each observation, this will very little influence the drag forces, and so it is possible to assume temperature (and salt density) can be given by constants.[000166] The current force acting on a flotsam object due to water movement (currents) can be expressed as:[000167] Here Cwis the unknown scalar drag coefficient of the portion of the flotsam object below the sea surface, pwis the scalar density of water, and Awis the scalar cross- sectional area of the flotsam object normal to the direction of the current force Fwbelow the waterline (shown in Figures 9A and 9B) Awcan be determined from the flotsam image and Fwfrom meteorological information about the current direction. vwis the current (in other words the water) velocity and v0is which is the steady-state velocity of the flotsam object in the [000168]1000169] water, which can be taken as vt, the terminal velocity of the object. Here, vwand vaare the current speed and the wind speed, respectively, as shown in Figure 9C. Hence, Vw-Vo is the relative water speed acting on the flotsam object 106 under sea level, and va-v0is the relative air speed acting on the flotsam object 106 above sea level. These two relative velocities are the velocities that will gain due to the air and current drag forces, Fcaand Fcwrespectively, acting on the flotsam object which are depending also on Fwand Fa, the current force and wind force respectively (see Figures 9A, 9B, and 9C). Values for Cwand Awcan be estimated by suitably processing the image of the flotsam object in some embodiments to determine its shape above and below the waterline. In some embodiments, a look up operation may be performed to obtain a suitable value for the density of water, pwor this value can be built into the model as a fixed or dynamically settable parameter value.[000170] Drag forces on a flotsam object 106 above and below its water line will deaccelerate the flotsam object as a reaction to the flotsam object accelerating responsive to it experiencing one or more of a wind force Fw, a current force Fcand any self-propulsion force(s) Fsfalthough the latter is accounted for using the uncertainty area o. The disclosed technology assumes that by the time a flotsam object 106 is observed in an image, that flotsam object 106, for example, a flotsam object, 106a,b,c as shown in Figures 1 , or a flotsam object 106a,b,c,d as shown in Figures 3 and 4, will have reached a steady state based on the prevailing wind and current forces and has reached its terminal velocity vT. In other words, the opposing drag forces to the wind and air propulsive forces are assumed to have reached steady state and so the flotsam object will move through the water at a velocity v0which is its terminal velocity vT.[000171] The forces acting on a flotsam object due to wind movement can be expressed as: Fa= capaAa(va- voy (Eqn. 5)Fa = Da(va- v0)2(Eqn. 6)[000172] Here Cais the unknown scalar drag coefficient of the portion of the flotsam object above the sea surface, pais the density of air, and Aais the cross-sectional area of the flotsam object normal to the direction of the wind force Faon which the drag force Fcawill act as determined by the flotsam image and meteorological information about the current direction. The air velocity is vaand v0is the velocity of the flotsam object 106 through the water, which can be taken as the terminal velocity vTin steady state. pwis the density of the water.[000173] The scalar values for Caand Aacan also be estimated by suitably processing the image of the flotsam object in some embodiments to determine its shape and the cross-section area that the flotsam object’s shape presents in a plane normal to the direction of the wind force Fa. A look up operation can be then performed to obtain a suitable value taken for the density of air, pwor this can be built into the model as a fixed or dynamically settable parameter value.[000174] By assuming the term (va-v0)2is approximately the same as va-v0, which holds true for low speeds in steady state where v0can be taken as the terminal velocity vT, the forces acting on a flotsam object can be expressed as:Current Force:Fw = Dw(Vw>Vo)(Eqn. 8)Wind Force: > , . (Eqn. 9) ra~Ua(.va ~vo)[000175] Here Fwand Fa, the current force and wind force on the flotsam object at the time the image of it was captured and at subsequent times are capable of being determined from environmental measurements and forecasts for the location where the image was captured. Dwand Daare scalar parameters as indicated in equations 4 and 7 respectively which respectively represent the water and air drag coefficients. Dwand Da, are dependent on the shape of the flotsam object above and below the water line, the water density and air density, and the cross-sectional areas of the flotsam object above and below the water line normal to the direction of the current and wind forces acting on the flotsam object.[000176] The standard equation of motion F=ma, where m is the mass of the flotsam object and a is the acceleration of the flotsam object allows the force F acting on a flotsam object 106 to be expressed as: mv0= Fw+ Fa(Eqn. 10)Hence:And so, we can express the acceleration as:(Eqn. 12)[000177] As we do not know the mass, m, of a flotsam object, nor is it required for steady state flotsam object behaviour (at the terminal velocity vt), we can take an arbitrary value for the mass. For mathematical convenience, we define m= Dw+ Da(Eqn. 13)[000178] This allows the following parameterised expressions to be used for the propulsion variable p:(Eqn. 14) and(1 - P) = ^ (Eqn. 15)[000179] This allows us to adapt the following expression for the acceleration v0of a flotsam object (the rate of change of its velocity):[000180] v0= p(vw- v0) + (l - p)(vn- v0) (Eqn. 16A)[000181] assuming the flotsam has ended up in a steady state situation (neither accelerating nor deaccelerating), taking i>0= 0 by substituting the expressions in Eqns. 14 and 15 into Eqn. 12, and renaming the flotsam velocity v0into a flotsam terminal velocity vtobtains the following expression0 = P(vw~ vc) + (1 - p)(va- vc)(Eqn.17)Solving this with respect to the flotsam terminal velocity vtthen yields vt= p(w- va) + va(Ecln'18) where the propulsion mode parameter, p, forms a metric or measurement of water dominant propulsion vs air dominant propulsion. vwand vacan be determined from meteorological data at the location of the flotsam object when it was image captured.[000182] How a propulsion parameter p is determined may differ, for example, one or more than one way of determining p may be used in some embodiments of the disclosed technology.[000183] For example, in order to generate a suitably sized training data set, or to augment an existing one with more accurate values, in some embodiments a flotsam object’s image may be processed using a computational model to determine the areas Awand Aabelow and above the water line which are normal to the direction of the current and wind forces acting on the flotsam object at the time of observation, in other words, at the time the image of that flotsam object was captured. For example, if the type of flotsam object is known, then based on the size and shape of the flotsam object above the waterline, the object’s shape below the waterline can be estimated. The type of flotsam object can also be used to determine the flotsam object’s drag coefficients above and below the water. Values for the density of water and air may be obtained, for example, obtained by performing a look up operation based on the location of the flotsam object, temperature and / or time of year, or predetermined values may be used. For example, a look up operation may use a look-up table where different density values are provided for different water or air temperatures and / or levels of salinity in some embodiments. Alternatively, values for the density of water and air can pre-programmed intothe model. It is possible also for a user to enter these values in some embodiments.[000184] Alternatively, in some embodiments of the disclosed technology, the propulsion parameter p is a variable which comprises or contains all unknowns and / or uncertainties required to determine a flotsam object’s trajectory from its image, for example, it may represent areas, drag coefficients, mass. In this case, in some embodiments, one or more ANNs of the computational model may perform image processing to classifying a flotsam object directly into a value or range of values of p. Advantageously, this allows these uncertainties to remain latent and allows a trajectory estimation location must be directly from p. Self-propulsion is just adding uncertainty, sigma o, to this location information.[000185] As in steady state, the flotsam object will not be accelerating or deaccelerating, its acceleration can be expressed as v0= 0 which allows Eqn. 17 to be solved for the terminal velocity vt=v0, where v0is the steady-state velocity. In other words, the terminal velocity vtfor a flotsam object moving in steady state can accordingly be expressed by: vt= p(vw-+ va(see Eqn. 18). This defines a steady-state trajectory for the flotsam object 106 based on the value of the propulsion mode parameter, p, as Equation 16C sets out, assuming the drag forces and wind, current, and, in some embodiments, self-propulsion forces are all inducing a steady state. The trajectory allows an estimated future on trajectory path position for a flotsam object’s location to be determined due to wind, drag wind, and current and drag current forces acting on the flotsam object. If the flotsam object is determined to have a self-propulsion mode, then this can be represented by a term contributing or comprising to the location (or position along the trajectory path) uncertainty area sigma, o, as mentioned above.[000186] The value of p may also be found by estimating how high or how low a flotsam object is floating in the water. For example, returning to Figures 9A and 9B, these show two examples of flotsam objects 106 which may be assigned a propulsion mode classification based on the propulsion mode parameter p either in this way or by using any of the techniques for assigning a value of the propulsion mode parameter p disclosed here. In Figures 9A and 9B flotsam objects are similar in the sense they are the same type and size. The flotsam object 106 in Figure 9A presents different proportions of areas Aa and Aw to wind and current forces above and below the water line to those presented by the flotsam object 106 in Figure 9B. This means the flotsam object 106 in Figure 9A is mostly currently propelled with p ~ 1. In Figure 9B, the flotsam object is mostly wind propelled, and p ~0. It follows that objects which have different areas presented to wind and current forces will have intermediate values of p. The relationship between area below and area above the water line on the flotsam object and the parameter or number p however is not likely to be linear. Drag forces below sea level will usually be much bigger than wind forces above sea level even if the areas above and below water on which the forces act are equal.[000187] FIGURE 9C shows schematically an example of how a flotsam object mayreach a terminal velocity v0from which its trajectory can be estimated according to some embodiments of the disclosed technology after the flotsam object reaches a steady state.[000188] As shown schematically in Figure 9C, wind direction vais from right to left and in this example the current velocity vwis in the direction from left to right, as is the wind velocity va. These cause forces Faand Fwto act on the flotsam object areas above and below the waterline respectively in the directions shown by the arrows. Resisting these forces are the object’s drag force in air Fcaand in water Fcwwhich act from left to right. At some point, however, the forces will stabilise and in the steady state the flotsam object will move with a terminal velocity v0from right to left as shown in the example scenario of Figure 9C.[000189] In some embodiments, to determine the terminal velocity of a flotsam object from its image in some embodiments, the images of flotsam objects 106 are analysed to determine the type of flotsam object, the shape of the flotsam object, the size of the flotsam object and the area of the flotsam object above and below the water line, for example as mentioned above.[000190] In some embodiments, instead or in addition, in order to determine the terminal velocity vtof a flotsam object, image processing of the flotsam object and a suitably configured computational model such as that shown in Figure 12 may be used. Such computational model may comprise one or more ANNs which are trained using suitable training data set of images of flotsam objects forwhich propulsion mode parameter values have already been determined, for example, a training data set such as that shown in Figure 10. By training the model, for example, using the training method shown in Figure 11 , it is possible to a value for the propulsion mode parameter, p, directly from an image. In some embodiments, a value of p is obtained from an image at the same time the image is being processed to determine if it contains a flotsam object. Once a value for p is known, and the location of the flotsam object in map coordinates has been determined, meteorological data can be obtained for the values of the wind velocity, va, and the current velocity, vw. By inserting these values into equation 18 once can determine the steady state velocity v0to be the terminal velocity vtof the flotsam object, which allows estimates of the flotsam’s object future trajectory to be obtained.In some embodiments, instead of determining the propulsion mode parameter, the computational model may use one or more physical characteristics inferred by a suitable ANN model system performing an image recognition process on the image. Examples of such physical characteristics include a type of flotsam object, and its distance from the imaging system / image source, in other words from the camera system on-board a vessel or structure. From these inferred characteristics other characteristics may be determined such as the size, shape, total volume, and what volume is above and below the water of the flotsam object, as well, given wind and weather conditions, what areas are above and below the water in the planes normal to the prevailing wind and current forces. In some embodiments, rather thanuse a single propulsion mode parameter derived from the relative action of wind and current propulsive forces, each modes of propulsion may be individually inferred. This information may then be used with individual environmental data (wind speed / direction and current speed and direction for example) along a trajectory path to provide a more accurate estimate of the location of a flotsam object at any time.Nonetheless, in some embodiments, there is no need to determine a flotsam object’s size, mass, volume etc, as it is possible to obtain a value for p directly from a suitably trained ANN model configured to implement one or more image processing algorithms (Al), and from this, plug p, and using environmental information, vaand vwinto Eqn. 18 to get a value for v0.[000191] Returning now to Figure 10, this illustrates schematically an example embodiment of a flotsam object training data set from which features may be extracted to train a suitable multi-classifier ANN computational model to distinguish different propulsion modes that a flotsam object in an image may have.[000192] The training data may include images 1002 of stationary flotsam objects such as buoys, images 1006 of flotsam objects 106 with large surface areas below the water line, for example, images of shipping containers and images of smaller non-empty containers such as oil or water drums which may still retain some of their contents or which may have been empty but which have taken on water and so are partially sunken, or floating just below the water surface, images 1004 of flotsam objects 106 with large surface areas above the water line, for example, empty plastic containers such as empty oil or water drums, images 1008 of self-propelled flotsam objects 106 such as paddleboards, canoes, kayaks, windsurfers and the like. Some of the images may also comprise images 1010 of flotsam objects 106 with differing areas above and below the water line. The images in other words, are not confined necessary to a single category. Each image may be also classified based on its value of the propulsion mode parameter, p. So, for example, images 1008 of non-stationary flotsam objects 106 may also be images of flotsam objects 106 which have differing surface areas above and below the waterline of the object and / or be flotsam objects which are self-propelled. By way of example, a windsurfer is self-propelled and has a large surface area above the waterline.[000193] In some embodiments, each image is associated with meta-data which may be used with features extracted from the images as input to train an ANN to recognise certain characteristics of the flotsam object.[000194] For example, in some embodiments, the training data set may be used to infer values of a propulsion mode by tracking a flotsam object’s movement and using this to obtain a value of a single propulsion mode parameter, p. The values obtained may be used in some embodiments to update the example training data set shown in Figure 10, so that the images of flotsam objects are associated with values of a propulsion mode parameter, p, for each flotsam object in an image. In some embodiments, each image in the training data setcomprises either a single flotsam object or a conglomerate of flotsam objects that move together as larger flotsam object.[000195] In this way, the training data set may be used to train a suitably configured ANN model to recognise from an image what the value of a propulsion mode parameter, p, is for a flotsam object, and to output the value of p so that it can be used together in combination with the prevailing wind and current velocities at a location and time when the image was taken of flotsam object, to estimate a future flotsam object trajectory.[000196] In other words, in some embodiments, by establishing a data set of images of flotsam objects and their propulsion mode parameters, p, it is possible to train a computer model comprising one or more suitably configured ANNs to determine, from an image of a flotsam object, a propulsion mode parameter, p, for the flotsam object. Any suitable ANN configuration may be use, for example, a variational autoencoder based multi-class classifier model may be used in some embodiments or a support vector machine-learning based multiclass classifier in some embodiments. Examples of such ANN systems are well known in the art which can be trained using models for propulsion mode parameters are known.[000197] In some examples, to build up the training data set, each image of a flotsam object is first processed to extract a suitable set of features such as the size of the object, which can be determined using depth cameras or radar or lidar techniques to find the distance of the object, object type classification, and from this estimate relative areas above and below the water line, from which it is possible to determine p and to allocate input to one of a plurality of output classes comprising a range of p-values. Feature extraction techniques are well- known in the art, for example, see textbooks such as Feature Extraction and Image Processing for Computer Vision 4th Edition by Mark Nixon and Alberto Aguado, published by Academic Press; 4th edition, ISBN-10 : 0128149760, ISBN-13 : 978-0128149768 and text books such as Deep Learning (Adaptive Computation and Machine Learning series) by Ian Goodfellow (Author), Yoshua Bengio (Author), Aaron Courville (Author), The MIT Press (November 18, 2016), ISBN-10: 0262035618, ISBN-13:978-0262035613 describe various techniques which can be used for multi-classification problems more generally. The number of outputs of such models may determine the granularity of the values of p which are associated with the images. By way of example, a hundred class output classifier model classifies an image of a flotsam object into values of p ranging from 0 to 1 in values of 1 / 100, so an image may be classified as having a value for the propulsion mode parameter, p, between 0 and 0.01 , between 0.011 to 0.02 0.981 to 0.99, 0.991 to 1.[000198] In some embodiments, order to determine the propulsion modes that a flotsam object is capable of, first the images are used to train a suitable ANN-based classifier model, for example, a multi-class ANN classifier computational model, configured to perform image recognition on input images to classify the images as falling into particular types of flotsam.Examples of flotsam type classifications include, for example, one or more self-propelled categories of flotsam objects, one or more current-propelled categories of flotsam (p~1), or one or more categories of wind-propelled categories of flotsam (p~0), and in some embodiments, one or more categories for a self-propelled flotsam object. Any image classification computational model may be used that is suitable for identifying objects which may be partially submerged or floating just under the water surface.[000199] In some embodiments, a classifier may be provided with training images which have various values for p, and the classifier will learn to recognise a potential p value directly from an input image. Alternatively, in some embodiments, images may be recognised as a type of flotsam object, and a look up operation performed to associate a set of potential propulsion modes, or the p value, for that type of flotsam object, and the classifier model will then be trained to categorise the flotsam object taking into account the likely surface areas above and below the waterline shown in the image for that type of flotsam object when categorising the flotsam object based on its “p” value.[000200] It is also possible in some embodiments, for the area above and below the water surface 108, also referred to herein as the waterline, to be determined directly from an image of a flotsam object 106 if this is captured or fused with image information captured by a depth camera. In this case, providing the shape of the flotsam object can also be determined from the image using a suitable shape classification model, it is possible to directly determine a value for p and associate it with an image in a training data set. This also allows subsequent images of similar objects which are processed by the training classifier model to be directly assigned a p values without needing to perform surface area or size calculations.[000201] Figure 11 shows schematically an example embodiment of a method for training a computational model to categorise images according to their propulsion parameter P-[000202] In Figure 11 , the method comprises inputting in 1102 image training data to an object recognition classifier model to train the model in 1104 to recognise different types of flotsam objects from their images. The training configures the classifier model to infer object characteristics based on processing the image in 1106. Based on the inferred characteristics the type of flotsam object, the propulsion mode parameter characteristic(s) can be found in 1108. In some embodiments, this may comprise determining or inferring physical characteristics such as a size and / or shape of the flotsam object in 1108 from the image and / or from other inferred characteristics. For example, based on the type of flotsam object and one or more physical characteristics which may be inferred from the image such as from the shape of the flotsam object, the cross-sectional area in a given plane of the flotsam object 106 above and below the waterline on the flotsam object of the water surface 108 can be inferred. This information may be used with environmental information about the direction of the wind andcurrent at the location of the flotsam object to infer values for the propulsion mode parameter p. By associating the image with the inferred values for p, a training data set such as the training data set 1000 shown in Figure 10, may be formed in 1110 to train an ANN to infer a value of a propulsion mode parameter value, p, directly from an image of a flotsam object. In some embodiments, other propulsion related characteristics, either as absolute values or as relative values for individual wind and current and / or self-propulsion modes, may be inferred instead of just a single wind and current propulsion mode parameter, p and an indication of whether a flotsam object is self-propelled or not, and used to form a suitable training data set 1000.[000203] The training data set images 1000 are used to train a suitable ANN model in 1112 to infer a value of a propulsion mode of a flotsam object from an image of the flotsam object. In some embodiments, training may be ongoing during an operational phase in which case additional training data may be provided by updating the model in 1114.[000204] In some embodiments, the suitable ANN in 1112 is part of a propulsion mode computational model which comprises one or more than one artificial neural network, ANN. The computational model may also be referred to as an Artificial intelligence, Al, or machine learning, ML, computational model.[000205] As mentioned above, in some embodiments, the computational model is trained directly or indirectly from image training data to infer a value for the propulsion mode parameter, p, and an uncertainty or error bound or confidence value for an inferred value of p. A training method may be performed by the processing server 300 shown in Figure 3 in some embodiments of the disclosed technology, by using a suitable an image data set 1000 such as Figure 10 shows which comprises images of flotsam objects 106 for which object characteristics, for example, relating to the type of flotsam object 106 and one or more parameters associated with propulsion modes of the flotsam object.[000206] By inputting features extracted from images in the training data set in 1000 in 1102 to an ANN-based flotsam object characteristic model, the ANN can be trained in 1004 to infer object characteristics based on similar features extracted from each input image and these are output in 1006 to associate each input flotsam object image with an object classification in 1008. In some embodiments, additional object characteristics may be inferred which act as object identifier(s) for that particular flotsam object. Examples of possible object characteristics that may influence or determine one or more modes of propulsion, may include, but are not limited to, one or more of the following: such as its shape, size, shape below water, shape above water, volume above water, volume below water, etc.[000207] In some embodiments, the type of object characteristics the model uses may be predefined or they may be user selected to allow the propulsion mode model according to the disclosed technology to determine if the object is capable of one or more of: a self-propulsion model, a wind-propulsion mode, and a current-propulsion mode. This propulsion mode classification and object classification may be used to form a training data set for an ANN multi-classifier-based propulsion mode model to train the classifier to infer, based on the inferred object characteristics, a value for p to use in determining the trajectory of the flotsam object directly from features extracted from images of flotsam objects as described herein above.[000208] Alternatively, in some embodiments, the training method may be performed in part on one or more vessels 100 configured to provide reports of flotsam objects. For example, a vessel 100 may use image training data to train an on-board Al model to infer certain object characteristics from image data that its on-board camera system captures so that it can provide the object characteristics along with time and location information of an object to the processing server 300 in some embodiments. The processing server 300 may host the ANN based flotsam object propulsion mode classifying model and if so, this model may also be trained at the processing server 300 in some embodiments on an ongoing basis using updates by updating the values of p used to generate trajectories whenever a subsequent observation of a previously observed flotsam object indicates the previous value of p used was not sufficiently accurate.[000209] Figure 12 shows an example embodiment of an operational method 1200 for determining an unknown flotsam object’s models of propulsion based on image data using a trained classifier model and from this and environmental information, provide an estimate of the flotsam object’s trajectory at the time the image was captured.[000210] In Figure 12, an image of an unknown object is input to a trained object propulsion model in 1202, for example a model trained using the method shown schematically in Figure 11 and described herein above. The image is then processed in 1204 by the object propulsion mode model to infer one or more object’s characteristic(s), including for example, an object type category (and optionally, an object identifier in 1206. The object characteristics, for example, the flotsam object type category information, and optionally the flotsam object identifier, are then input to a suitable trained propulsion mode determining ANN model in 1208. In some embodiments where a propulsion mode of a flotsam object is determined based on the area it presents above and below the waterline in the plan normal to the prevailing direction of wind and current forces respectively, the direction and optionally magnitude of wind and current forces may also be input. In some embodiments, the trained propulsion mode ANN model used in 1208 is a model trained using the method shown in Figure 11 and described briefly herein above. The trained propulsion mode model then outputs in 1210 its inferences for one or more propulsion mode(s) that particular flotsam object is capable of to a flotsam object data registry. The ANN may optionally, if the flotsam object is checked and found to have been previously observed, update the training data set shown in Figure 10 in 1214 aswell as provide in 1212 a flotsam object data registry with other relevant information for subsequently inferring propulsion mode of the flotsam object.[000211] The flotsam object data registry information stored in 1212 comprises one or more inferred propulsion mode characteristics, which may comprise the propulsion mode parameter value, p, and an indicator of or a value indicating a self-propulsion mode is possible, and any unique identification information comprising one or more features or characteristics which allow subsequent identification of a flotsam object, the location and time of at least the last observation, in other words, when was the last image captured. Other characteristics such as the type, size and shape of the flotsam object may also be stored, along possible with a collision damage indicator. The stored information may be combined with stored information for the wind and water conditions, such as the direction and magnitude of wind and current forces, and any other environmental information of interest, such as wave height, at the location of the flotsam object when the image was captured. In some embodiments, the time when the image was captured may be provide as a date-stamp with the image when the image is sent for remote processing in some embodiments. However, if it can be assumed the image is being processed in real-time or near real-time, then the processing server 300 may assign a timestamp to the image based on the time the image was being processed.[000212] In some embodiments, based on location information for the flotsam object, which may be provided as meta-data attached to the image by the image source or determined by the remote processing centre based on the location of the image source and the relative location of the flotsam object to the image source, the environmental conditions experienced by the flotsam object are input in 1216 and used in 1212. In some embodiments, the environment conditions may be retrieved from a server, such as a meteorological server, in the form of current and wind velocities at the location of the flotsam object. However, if they are not provided in a suitable form, they may be pre-processed before being input to the model to enable the trajectory information to be determined in 1218 (assuming p has been already determined).[000213] In some embodiments, determining p may use the current air and wind speeds, in which case some calculation involving the prevailing wind and current conditions may be performed in a preprocessing step before determining p in 1208. This is indicated by the dashed line in Figure 12 indicated as optional (labelled option #1).[000214] In some embodiments, the data registry may include a current location estimate and an estimate of any area of location uncertainty which is updated in real-time based on the prevailing wind and current at that time, which is shown by the dashed line labelled option #2. [000215] Figure 13 shows the process performed on-board a vessel 100, for example, a vessel such as one of vessels 100a,b,c shown in Figures 3 or 4 when a vessel 100 crosses a boundary 304a, c of an area of location uncertainty and enters a region where a flotsam object106 may be located.[000216] In some embodiments of Figure 13, the vessel 100 determines it is located in a region of location uncertainty, also referred to herein as an error bound or a search area, o, for a particular flotsam object, in 1302 having received flotsam object information previous from a source, for example, from the processing server 300 shown in Figures 3 and 4. In some embodiments, however, whenever a vessel’s camera system’s scan area is determined to intersect a location uncertainty area of a flotsam object 106, and there is a possibility for the vessel to observe the flotsam object 106, the method 1300 may be performed. The location information may be found by providing an imaging system or post-processing system for an imaging system located onboard the vessel with the vessel’s map-coordinate based location so that this can be used with the relative location of the flotsam object 106 found in an image to determine the flotsam object’s location in map-based, in other words, absolute, coordinates, for example, in latitude and longitude, and any uncertainty data o for a particular flotsam object’s location to the vessel for navigational purposes,[000217] Alternatively, in some embodiments, a location of a flotsam object may be determined as a result of the vessel 100 reporting its location and in return receiving a pushnotification from the processing server 300 that it is within that uncertainty area for a previously reported flotsam object 106.[000218] Alternatively, the vessel 100 may have requested estimated flotsam trajectory information from the processing server 300 based on its passage plan and then perform a check on board to start monitoring for a flotsam object when the vessel scan region intercepts with a region of uncertainty for that flotsam object.[000219] The vessel accordingly will have information about the flotsam object it may encounter in that region such as its unique flotsam object ID, a flotsam object Lat / Lon location p, a flotsam object location uncertainty o, a flotsam object velocity vector, a flotsam object velocity vector uncertainty, and optionally a flotsam object collision severity level.[000220] In some embodiments, the absolute location, for example, in latitude-longitude coordinates of location p and location uncertainty o for that flotsam object is then fed into the PTZ camera in 1304 which then searches for the object in 1306 for a certain amount of time or until the area of location uncertainty has been scanned. If the target flotsam object is detected in 1308 by the PTZ camera in the area of location uncertainty, then new images are taken of the flotsam object are obtained to use to determine location information for the flotsam object in 1310. The location information for the flotsam object may be based on the vessel location and the location of the object in the image using the camera system settings and the location of the camera system on the vessel in some embodiments. In some embodiments, vessel 100 may process these images onboard to determine the actual object latitude and longitude at the time the PTZ images were taken. The image, time of image capture, andsufficient location information to obtain the latitude and longitude of the flotsam object 106 are then uploaded to the processing server. If a number of images are captured or if a video of the flotsam object is made, it is also possible for the vessel to upload the velocity vector of the flotsam object as well to the processing server 300 in 1310. The updated location information and / or any measurement of the velocity vector of the flotsam object may be processed by the processing server 300 to update the propulsion mode parameter data for that object and / or used to retrain its propulsion mode classification model (see 1114 in Figure 11) in some embodiments, for example, if not comparing estimated trajectory with real trajectory observations.[000221] Figures 14 and 15 show examples of apparatus which may be located respectively on-board a vessel 100, 100a, 100b, 100c, 102 and at a processing server 300 for implementing some embodiments of the disclosed technology.[000222] Figure 14 shows schematically an example computer apparatus 1400 which acts as an image source for images of flotsam objects, and which may, in some embodiments, be located on-board a vessel 100, 100a,b,c, 102. The apparatus 1400 comprises memory 1402 and one or more processor(s) or processing circuitry 1404 which may be used to implement an operating system and / or for executing computer programming instructions, a imaging system 1406, which may comprises a plurality of different camera or imaging systems, including in some embodiments a Pan Zoom Tilt camera system, one or more controllers 1408, including a controller or control circuitry for the camera system 1406, a data input / output component 1410, for example, for receiving data captured by the camera system(s) and for providing control signal(s), for example, to the camera system(s), and for outputting data to a communications module 1412 configured to control communications with remote systems, for example, a processing server 300 such as is shown in Figures 3 and 4, using a suitable transmitter / receiver / antenna system 1414. The apparatus 1400 may also comprise a user interface 1416 and a display 1418 or be configured to provide output to a display in some embodiments. In addition, depth cameras and / or lidar and / or radar systems may also be used in some embodiments, for example to locate a flotsam object and / or estimate its size.[000223] Figure 15 schematically shows an example computer apparatus 1500 which may be used to implement the processing server in some embodiments. Those of ordinary skill in the art will appreciate that the apparatus 1500 is by way of example only, and that other types of apparatus may be used instead which may include distributed or cloud-based systems in other embodiments.[000224] The apparatus 1500 comprises memory 1502 and one or more processor(s) or processing circuitry 1504 for implementing an operating system and for executing computer program instructions, a data input / output module 1506 configured to receive data from and output data to a communication module 1508 configured to control communications withremote apparatus, for example, wireless communications using a transmitter / receiver / antenna arrangement 1510. The remote apparatus which may be communicated with by the apparatus 1500 includes apparatus 1400 on board one or a plurality of vessels 100, 100a,b,c,102 and also one or more data stores 302 configured to store records of flotsam objects and their related trajectory information and optionally in some embodiments one or more characteristics useful for identifying the flotsam object and determining trajectory information. Examples of such stored characteristics for a flotsam object include one or more of: modes of propulsion, the object shape, a unique identifier for the flotsam object, the area of the flotsam object above and below its waterline, when the last image was taken of the flotsam object, the location of the flotsam object, and one or more p values for the flotsam object. In some embodiments, a local cache, or data store 1512 may also be provided as part of the apparatus 1500. This may be a more efficient way of storing data on flotsam objects which are being actively tracked by the processing server based on data streamed from one or more vessels in real-time or near real-time in some embodiments. In some embodiments, in addition, one or more controllers or control circuitry 1514 may be provided to control for example equipment or components. For example, in some embodiments a display may be provided (1516) and a user interface (1518).[000225] The embodiments of the disclosed technology may use various other techniques involving determining or approximations for the propulsion mode parameter “p” from which estimates of future trajectories can be determined.[000226] For example, in some embodiments, a computer-implemented method for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs comprises inputting an image of a region of water to at least one ANN of the computational model. The region of water may comprise a surrounding body of water about a vessel or structure, and in some embodiments be nearly or comprise a 360- degree panoramic view in some embodiments.[000227] The input image is processed using the at least one ANN to infer if a flotsam object is located in the image. If an ANN classifies or determines in any other way that the image does contain a flotsam object, the location, L, of the flotsam object in the image is determined. The method can determine the propulsion mode parameter p in a number of different ways. For example, p may be determined by taking a random default value or a default value based on the type of flotsam object, for example, an average value for wind and current propulsion for that type of flotsam object in some embodiments. In addition, or instead, p may be determined by processing the image to determine certain features including the type of flotsam object, an estimated size of the flotsam object, and an estimated area above the waterline of the flotsam object.[000228] The type of flotsam object may also be used to determine if the flotsam objectis capable of self-propulsion or not. For example, in some embodiments, the propulsion mode parameter p can be determined by taking into account features of the flotsam object in the image such as its area above and below the water line, along with the size of the object, which can be obtained by determining the type of object, where a depth camera or similar technology is used to measure the size of the flotsam object above the water-line to determine the area above the waterline in a plane normal to incident wind, and based on the type of flotsam object infer the area below the waterline which is in a plane normal to any incident current, and based on this and the density of air and water determines a value for the propulsion mode parameter, p. In some embodiments, if the image is processed by a suitably trained ANN-based computational model, it is possible for a value of the propulsion parameter, p, to be directly inferred from the image of the flotsam object.[000229] The propulsion mode parameter p represents one or both of a wind-propelled and a current-propelled propulsion mode, for example, a value representing the relative capability of the flotsam object to be wind or current propelled at its location. Regardless of how p may be found, the method uses a value of the propulsion mode parameter and one or more estimates and / or measurements of air and / or water velocities at the location of the flotsam object at the time the image of the flotsam object was captured, to determine an output estimated future trajectory information for the flotsam object.[000230] It will be apparent to anyone of ordinary skill in the art that the computational model comprising one or more ANNs may have a variety of different computational architectures and that one or more of the ANNs may be configured to perform different functionalities from one or more other ANNs of the computational model. For example, one ANN of the computational model may be configured to recognise if a flotsam object or candidate flotsam object is in an image, and another ANN or the same ANN may be configured to infer from the image of the flotsam object the type of flotsam object and another or the same ANN use to infer the type of flotsam object may also be used to infer one or more features or characteristics of the inferred flotsam object.[000231] The one or more inferred features or characteristics of the flotsam object include features and characteristics that enable the flotsam object to be uniquely identifiable, for example, to recognise text, or to determine an estimated size of the flotsam object, and / or to determine an area above and / or below the waterline based on the type of flotsam object. Another computational model may be used to determine an observed location, L, of the flotsam object in a suitable coordinate system such as a GPS or UMTS coordinate system from the image and from information about the location of the imaging system on a vessel / structure and the location of the vessel / structure.[000232] In some embodiments, the method also comprises performing a check for uniqueness of the observed flotsam object, for example, a look-up operation such as adatabase search may be performed to determine if that the observed flotsam object in the image being processed has been previously observed. The look-up operation comprises in some embodiments, where a database of previously observed flotsam objects is dynamically updated based on time information with an estimated trajectory position, p, for a particular time, checking if the location of an observed flotsam object in an image captured at that particular time is the same or sufficiently close to the estimated position, p, of the object. If the two objects are at the same location or sufficiently near to each other that may be sufficient for them to be regarded as the same flotsam object in some embodiments, however, in other embodiments, additional checks may be performed.[000233] In some embodiments, the two objects are sufficiently near to each other if the subsequent observed location, L, is within an area of uncertainty of an on-trajectory estimated position. For example, in some embodiments, if the estimated trajectory information was generated from an estimated or default value of p, then the area of uncertainty S may be adopted which is based on a predetermined value of p. The value of p may increase as a function of time from the time of the last observed location, L, of the flotsam object where the trajectory was estimated using a default, random, or initial value of p in some embodiments.[000234] In some embodiments, a flotsam objects may have an area of uncertainty, o, around its estimated trajectory position, p, associated with a self-propulsion mode of propulsion. In some embodiments, the area of uncertainty due to self-propulsion may also be provided as a function of time.[000235] In some embodiments, where the flotsam object is capable of self-propulsion and a previous default, random, or initial, value of p was used to generate estimates of future trajectory of the flotsam object, an area of uncertainty around an estimated trajectory position p may be provided as a combined area of uncertainty, o+ S, about the position, p, based on the previously stored trajectory information. Any suitable combination of the uncertainties arising from both self-propulsion and from taking approximate value for the propulsion parameter, p, may be used to from the combined area of uncertainty, o+ S.[000236] An example of how the rate at which areas of uncertainty increase with the parsing of time is illustrated schematically in Figure 16.[000237] In Figure 16, at time t=t0, an image is captured of a flotsam object at location Lo.[000238] By assuming the flotsam object is in a steady state at time to when its image was captured, and that it was moving at its terminal velocity vtresponsive to weather conditions which were known at time to, in other words, assuming a wind speed and direction and a water current speed and direction at the location Loof the flotsam object are known for time t0, so vaand vwcan be respectively determined at that location, it is possible to work out a future trajectory for the flotsam object using an estimated initial value of the propulsion modeparameter, p, which may, in some embodiments, be subsequently updated.[000239] As shown in Figure 16, at time t0, the flotsam objects is observed at an absolute, for example, map coordinate based, location, Lo, by obtaining meteorological data or by measuring wind and current conditions, the velocity of air, va= va0at time to and the velocity of water vw=vwo at time to are be determined. Using an initial value of p = p0at time to which may be obtained using any suitable technique including one of the techniques disclosed herein, in equation 18, an estimated future trajectory path 1600a of the flotsam object is obtained. Figure 16 also shows schematically how, as the flotsam object 106 moves away from Lowhere it was first sighted, its areas of location uncertainty 1604a, b, c, d grow with the passing of time. These are shown in Figure 16 as a series of circles. Each area of uncertainty 1604a,b,c,d is centred on the estimated trajectory path 1600a and the circuits get increasingly larger grow as time passes.[000240] At a later time t=ti however, the same flotsam object is observed in an image location Li which is not at its estimated trajectory path position, p, along trajectory path 1600a but represents a position along its actual trajectory path 1602b.[000241] As shown in Figure 16, Li is within the area of uncertainty 1604d of the estimated trajectory position pi for time t=ti . Based on the difference between Li and pi at time ti, an updated value for the propulsion parameter, p =pi can be determined using, for example, the mean whether conditions for the flotsam object along its actual trajectory 1602, in other words along trajectories 1602a and 1602b between observations. Once an updated value for p has been found, then based on the water velocity vw=vwiand air velocity va= vaiat time ti for Li, an updated future estimated trajectory 1600b of the flotsam object can be determined. [000242] The disclosed technology accordingly also comprises, in some embodiments, a method for updating a propulsion mode parameter p for a flotsam object based on multiple observations where the method comprises:[000243] Observe object located at Loat time t0[000244] Collect weather data at this location at this time: vWoand vao[000245] Pick (or guess) a propulsion mode parameter pgG {0,1} (for example, 0.5)[000246] Reobserve same object located at L, at time[000247] Calculate AL()= Lt- Loand t0_i = t, - t0[000248] Reobserve weather data at new location: vW1and vai[000249] Calculate mean weather conditions for the object between observations:[000250] From the equation:we get the equation for updated propulsion mode parameter:[000251] This newly calculated p1 can then be used to update and improve the ANN model for future trajectory estimates, and now the areas 1604e,f,g of uncertainty shown in Figure 16 grow with time from t=ti . In the example shown in Figure 16, at time t2, the same flotsam object is observed at L2, and again a correction for p=p2 can be obtained based on the difference between 2 and L2, and by determining based on the air velocity va= va2and water velocity va=va2at time t2at l_2, for example, using Equation 18 and / or the above method. This allows for a new estimated trajectory to be found, and the new estimated trajectory 1600c is shown in Figure 16.[000252] Accordingly, some embodiments of the disclosed technology comprise a computer-implemented method 1700 for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs such as that shown schematically in Figure 17. The computer implemented method 1700 comprises: inputting an image of a region of water to at least one ANN of the computational model in 1702, processing the input image using the at least one ANN to infer if a flotsam object is located in the image in 1704; and if a flotsam object is inferred in 1706 to be located in the image, determining in 1708 a location, L, of the flotsam object; and determining in 1710 a value for a propulsion mode parameter, p. Here p represents one or both of a wind-propelled and a current-propelled propulsion mode of the flotsam object at that location. The method 1700 further comprises, based on the value of the propulsion mode parameter and one or more estimates and / or measurements of air and / or water velocities at the location of the flotsam object at the time the image of the flotsam object was captured, determining in 1712 trajectory information for the flotsam object and outputting in 1714 the determined estimated future trajectory information for the flotsam object.[000253] The information output in 1716 may then be stored in some embodiments to provide information about a location of the flotsam object at later points in time. The information may be provided to an observing vessel and / or structure and to warn or alert other vessels and / or structures having locations sufficiently near to estimated subsequent positions of the flotsam object which can be found from the estimated future trajectory information for the flotsam object.[000254] If, in 1706 no flotsam object is inferred, then in some embodiments of method 1700, the process moves on to processing another image or waits until another image is generated or received for processing if none is queued for processing and returns to 1702. These steps may be iterated at relatively frequent at regular intervals when the flotsam objectis within a tracking range of an imaging system such as one of the vessels 100a,b,c, shown in Figure 3 or 4, but it may be infrequent, or never, if after the flotsam object moves outside the range of tracking by one vessel and the flotsam object’s trajectory does not cross the trajectory of another vessel or structure having an imaging system which can be used to confirm the same flotsam object 106 is being observed as was previously observed.[000255] In some embodiments, the image of the region of water input to the at least one ANN comprises a region by or around an image capture apparatus of a vessel or structure. The image capture apparatus may comprise at least a scanning imaging system and a pan, tilt, zoom, PTZ, camera system. The image of region of water input to the at least one ANN is located within or comprises a scanned image region of water captured by the scanning imaging system in some embodiments. The scanned image can then be processed to determine coordinates for a region of water in the vicinity of a candidate flotsam object for guiding the PTZ camera system to form an enhanced resolution image in the vicinity of the candidate flotsam object for input to the at least one ANN of the computational model.[000256] In some embodiments, the method further comprises storing the value for the propulsion mode parameter, p used to calculate the flotsam object trajectory in association with at least one identifier for the flotsam object. The stored propulsion mode parameter, p, may be subsequently updated if the flotsam object is tracked or if later on another flotsam object observation is recognised to be an observation of the same object. In some embodiments, an initial value, p0, for the propulsion mode parameter, p, is used for a first observation of a flotsam object at first location Lo, and later the stored value of the propulsion mode parameter, p, is updated with a value obtained from a subsequent observation of the same flotsam object at a different location, Li, and time ti. The trajectory information for the flotsam object at the later time, ti, is then updated using the updated propulsion mode parameter and the air and water velocities vaiand vwiat that time and location Li .[000257] In some embodiments, the updated value p1 obtained from a subsequent observation of the same flotsam object at a location, Li, at a later time, ti is determined using an embodiment of a method for updating a propulsion mode parameter p for a flotsam object based on multiple observations where the method comprises, having detecting a flotsam object in an image captured at time to and having determined the flotsam object was at a location L0 when the image was captured and having determined from weather data for this location at this time initial values for the water velocity, vWoand air velocity, vao, adopting a default (may be operator assigned or based on the type of flotsam object detected, or random) propulsion mode parameter pgG {0, 1} (where 0 = current driven and 1 = wind driven, so for example, perhaps a value for the default propulsion model parameter, p = 0.5). This can be used to determine the trajectory of the flotsam object to some degree; however, it may not bevery accurate, especially after a long time has passed since the object was last observed.[000258] In some embodiments, a flotsam object is tracked at a number of intervals of time, which may be continuous or at periodic intervals, whilst it remains within the range of a scanning and PTZ type of imaging system. In this case, the method to determine p may enable an initial default value for p to be fairly rapidly refined to a useful approximate working value. [000259] In some embodiments of the disclosed technology, if a flotsam object located at L, at a later time t±is identified as being a reobservation of a flotsam object previously detected at location Loat time to, the propulsion mode parameter value p may be updated by determining AL,, , = Lt- Loand t0_i = t, - 10, and by obtaining from a weather service or measuring in situ, new current and wind weather data at new location L1 at time t1 , updated values for the velocity of water vW1and the velocity of the air vai. Then, in some embodiments for example, by determining some sort of average, for example, mean weather conditions for the flotsam object between observations:Vw*Vw=Vai*Va° along the actual trajectory 1602 formed by trajectories 1602a and 1602b between observations of the flotsam object 106 as shown by the solid lines in Figure 16 using the equation:v01 2== p(vW1 2— Vai 2) —ai 2based on the expression for the trajectory of EquationALO-1 I18, an updated propulsion mode parameter: p = ^t°~1__ai~2can be obtained.[000260] In some embodiments, the method for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs further comprises determining if the location, L of the identified flotsam object at the time the image was captured matches any estimated trajectory positions, p, or if the location, L, is within any areas of uncertainty, o, S, Ac,saround any estimated trajectory position, p, for a previously observed flotsam object; and, if so, updating any previously stored a value for the propulsion mode parameter value, p, based on the difference between the observed location, L, of the flotsam object and the previously estimated trajectory position p of the flotsam object, and the estimates and / or measurements of air and / or water velocities at the time the image was captured; and outputting updated estimated future trajectory information for the flotsam object. [000261] In some embodiments, the method comprises: having determined the locations sufficiently match, determining if one or more characteristics for the flotsam object from the image being processed sufficiently match one or more characteristics of the previously observed flotsam object, wherein updating any previously stored a value for the propulsion mode parameter value, p, based on the difference between the observed location, L, of the flotsam object and the previously estimated trajectory position p of the flotsam object, and the estimates and / or measurements of air and / or water velocities at the time the image wascaptured, is conditional on the determined one or more characteristics sufficiently matching those of the previously observed flotsam object,[000262] Some embodiments of the data store, such as data store 302 shown in Figures 3 and 4, store a flotsam object data registry such as a database comprising a plurality of records of flotsam objects, where each record for a flotsam object held in the database comprises: a unique identifier for each uniquely identified flotsam object or one or more identifying characteristics for the observed flotsam object; a propulsion mode parameter value, p, for the flotsam object; a time-stamp or similar timing information for at least the last observation of the identified flotsam object, an estimated trajectory information for the flotsam object derived from the stored value of p, and a location, L, of the flotsam object when last identified.[000263] In some embodiments, each record for a flotsam object held in the database is updated based on a current time to further comprise: an estimated current-time trajectory position, p. This allows subsequent flotsam object sights whose location is reported to be potentially identified as being a previous flotsam object.[000264] In some embodiments, in addition, an optional area of uncertainty for a location of the flotsam object about the estimated trajectory position is stored and used to expand the area where subsequent observations of the same flotsam object may occur. In some embodiments, the area of uncertainty for the location of the flotsam object comprises one of or a combination of: an area uncertainty, S, based on the propulsion parameter value, p, and a self-propulsion mode area uncertainty, o.[000265] In some embodiments, a training data set comprising images of flotsam objects and values for p is extracted from the database is used to train or retrain one or more ANNs of the computational model to infer, from an input image of a flotsam object, a propulsion mode parameter, p.[000266] In some embodiments, at least one ANN of the one or more ANNS of the computational model is an ANN trained using a training data set comprising images of flotsam objects and their propulsion mode parameters, p, to infer a value for a propulsion mode parameter, p, of a flotsam object directly from an image of that flotsam object, and wherein the method further comprises inferring a default or initial value for the propulsion mode parameter, p, directly from each input image.[000267] Identifying a flotsam object again when a rough initial approximation or default value of the propulsion mode parameter, p, is used to estimate the flotsam object’s future is more challenging than when a more accurate value of p is used. The process relies on finding an object even when the previous trajectory path plotted was not correct and correcting for p may take a considerable amount of time, such as hours or days, if the flotsam object is not tracked repeatedly shortly after being first sighted. Moreover, p may never be updated if thereare no subsequent sightings confirmed as being the same flotsam object. If, however, the first sighting is by a vessel or structure capable of tracking a flotsam object over a long distance and period of time, then there will be multiple sightings from which the propulsion parameter can be determined, p may be fairly quickly determined to a useful degree of accuracy.[000268] In some embodiments, a propulsion mode uncertainty, S, may be provided for each trajectory position to consider incorrect values of the propulsion parameter p being used. This propulsion mode position uncertainty, S, may be in addition to any self-propulsion mode position uncertainty, o, described herein above resulting from the flotsam object being determined to be self-propelled in some embodiments.[000269] In some embodiments, p may be taken as an average for wind and current propulsion being present initially. For example, if p = 0 implies no current propulsion, in other words there is only wind propulsion if there is no self-propulsion, and if p=1 implies no wind propulsion, in other words, only current propulsion if there is no self-propulsion, then, for example, an initial value for a non-self-propelled flotsam object, p, may be pgUess = 0.5.[000270] In some embodiments, p may be determined with an initial default value by processing an image found to contain a flotsam object to determine a classification class for the flotsam object based on the type of flotsam object and / or any physical characteristics such as its size and shape above and estimated shape below the waterline.[000271] In some embodiments, it is possible to train a flotsam object type classifier ANN-based computational model configured to classify flotsam objects with a flotsam object type and to then perform a look-up type operation with the flotsam object type to determine from a data store or list or spreadsheet or other form of searchable data array or data base, a p- value for that type of flotsam object.[000272] In some embodiments, having determined values of p for a number of different types of flotsam objects using one or more or all of the techniques disclosed herein for determining values of p, it is possible to build up a data set comprising images of different flotsam objects and associate with each image the p value of the flotsam object it contains, for example, as meta-data. This training data set may then be used to train a suitable ANN-based computation model to directly associate images of a flotsam object with a p value. For example, an image and associated propulsion mode parameter value for the flotsam object in that image can be fed into an ANN-based computational model to train the model to process images and determine directly from an image a p value for the flotsam object it obtains. Training with enough images will eventually result in the model being trained to associate a p value with an image with a desired level of accuracy and / or confidence in the result at which point training can stop. Any suitable ANN-based classifier model may be configured to do this, providing there are enough images with p-values for it to be sufficiently trained from. Once trained, the model may also be updated from time to time with updated p values for particularflotsam objects.[000273] In some embodiment, accordingly, the disclosed methods to determine trajectory information are used instead to determine a flotsam object propulsion parameter, p, to build a training data set of images directly associated with p values. One or more or all of the disclosed embodiments which include determining a value for the propulsion mode parameter p may be used to find values of p to associate with flotsam objects. The values for p may be associated with a unique identifier for a flotsam object and stored in a record forthat flotsam object, such as data store 302 shown in Figure 3 and described herein above.[000274] In some embodiments, the values for p are used to train a suitable ANN based classifier computational model by learning to recognise directly from input images tagged or otherwise associate with known values of p for each flotsam object they contain, how to classify once trained a flotsam object with an associated p value.[000275] Similarly, the propulsion mode parameter, p, uncertainty may be represented as an error term for an estimated future trajectory location of a flotsam object which may be symmetrical or asymmetrical in some embodiments.[000276] Accordingly, in some embodiments, a combined area of uncertainty for a flotsam object may be asymmetrical and / or may not be centred on one trajectory estimated position of the flotsam object.[000277] The following table sets out examples of scalar and vector symbols used in this specification:[000278] The following table sets out examples of parameters or symbols which may be represented by scalars and vectors in this specification as would be apparent to anyone of ordinary skill in the art. In the specification, vectors may be denoted by bold text and scalars may be denoted by normal text.[000279] Where the disclosed technology is described with reference to drawings in the form of block diagrams and / or flowcharts, it is understood that several entities in the drawings, e.g., blocks of the block diagrams, and also combinations of entities in the drawings, can be implemented by computer program instructions, which instructions can be stored in a computer-readable memory, and also loaded onto a computer or other programmable data processing apparatus. Such computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer and / or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer and / or other programmable data processing apparatus, create means for implementing the functions / acts specified in the block diagrams and / or flowchart block or blocks.[000280] In some implementations and according to some aspects of the disclosure, the functions or steps noted in the blocks can occur out of the order noted in the operational illustrations. For example, two blocks shown in succession can in fact be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the functionality / acts involved. Also, the functions or steps noted in the blocks can according to some aspects of the disclosure be executed continuously in a loop.[000281] In the drawings and specification, there have been disclosed exemplary aspects of the disclosure. However, many variations and modifications can be made to these aspects without substantially departing from the principles of the present disclosure. Thus, the disclosure should be regarded as illustrative rather than restrictive, and not as being limited to the particular aspects discussed above. Accordingly, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation.[000282] The description of the example embodiments provided herein have been presented for purposes of illustration. The description is not intended to be exhaustive or to limit example embodiments to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various alternatives to the provided embodiments. The examples discussed herein were chosen and described in order to explain the principles and the nature of various example embodiments and its practical application to enable one skilled in the art to utilize the example embodiments in various manners and with various modifications as are suited to the particular use contemplated. The features of the embodiments described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products. It should be appreciated that the example embodiments presented herein may be practiced in any combination with each other.[000283] It should be noted that the word “comprising” does not necessarily exclude the presence of other elements, features, functions, or steps than those listed and the words “a” or “an” preceding an element do not exclude the presence of a plurality of such elements, features, functions, or steps. It should further be noted that any reference signs do not limit the scope of the claims, that the example embodiments may be implemented at least in part by means of both hardware and software, and that several “means”, “units” or “devices” may be represented by the same item of hardware.[000284] The various example embodiments described herein are described in the general context of methods, and may refer to elements, functions, steps or processes, one or more or all of which may be implemented in one aspect by a computer program product, embodied in a computer-readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments.[000285] A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory, RAM), which may be static RAM, SRAM, or dynamic RAM, DRAM. ROM may be programmable ROM, PROM, or EPROM, erasable programmable ROM, or electrically erasable programmable ROM, EEPROM. Suitable storage components for memory may be integrated as chips into a printed circuit board or other substrate connected with one or more processors or processing modules, or provided as removable components, for example, byflash memory (also known as USB sticks), compact discs (CDs), digital versatile discs (DVD), and any other suitable forms of memory. Unless not suitable for the application at hand, memory may also be distributed over a various forms of memory and storage components, and may be provided remotely on a server or servers, such as may be provided by a cloudbased storage solution. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.The memory used by any apparatus whatever its form of electronic device described herein accordingly comprise any suitable device readable and / or writeable medium, examples of which include, but are not limited to: any form of volatile or non-volatile computer readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by processing circuitry. Memory may store any suitable instructions, data or information, including a computer program, software, an application including one or more of logic, rules, code, tables, etc. and / or other instructions capable of being executed by processing circuitry and, utilized by the apparatus in whatever form of electronic device. Memory may be used to store any calculations made by processing circuitry and / or any data received via a user or communications or other type of data interface. In some embodiments, processing circuitry and memory are integrated. Memory may be also dispersed amongst one or more system or apparatus components. For example, memory may comprises a plurality of different memory modules, including modules located on other network nodes in some embodiments.[000286] In the drawings and specification, there have been disclosed exemplary embodiments. However, many variations and modifications can be made to these embodiments. Accordingly, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the embodiments being defined by the following claims.
Claims
CLAIMS1. A computer-implemented method for estimating a flotsam object trajectory using a computational model comprising one or more artificial neural networks, ANNs, the method comprising: inputting an image of a region of water to at least one ANN of the computational model; processing the input image using the at least one ANN to infer if a flotsam object is located in the image; and if a flotsam object is inferred to be located in the image: determining a location, L, of the inferred flotsam object; and determining a value for a propulsion mode parameter, p, of the inferred flotsam object where p represents one or both of a wind-propelled and a current-propelled propulsion mode of the flotsam object at that location; and based on the propulsion mode parameter of the inferred flotsam object and an air velocity and a water velocity at the determined location of the inferred flotsam object at the time the image of the flotsam object was captured, outputting estimated future trajectory information for the flotsam object.
2. The method of claim 1 , wherein the method further comprises storing the value for the propulsion mode parameter, p in association with at least one identifier for the flotsam object.
3. The method of claim 2, wherein an initial value, pO, for the propulsion mode parameter, p, is used for a first observation of a flotsam object at first location LO, and wherein the stored value of the propulsion mode parameter, p, is updated with a value obtained from a subsequent observation of the same flotsam object at a different location, L, and time.
4. The method of any of claims 1 to 3, wherein the image of the region of water input to the at least one ANN comprises a region by or around an image capture apparatus of a vessel or structure, wherein the image capture apparatus comprises at least a scanning imaging system and a pan, tilt, zoom, PTZ, camera system, wherein the image of region of water input to the at least one ANN is located within or comprises a scanned image region of water captured by the scanning imaging system, and wherein the scanned image is processed to determine coordinates for a region of water in the vicinity of a candidateflotsam object for guiding the PTZ camera system to form an enhanced resolution image in the vicinity of the candidate flotsam object for input to the at least one ANN of the computational model.
5. The method of any one of the previous claims 1 to 4, wherein the method further comprises: determining if the location, L of the identified flotsam object at the time the image was captured matches any estimated trajectory positions, p, or if the location, L, is within any areas of uncertainty, o, S, around any estimated trajectory position, p, for a previously observed flotsam object; and, if so, updating any previously stored a value for the propulsion mode parameter value, p, based on the difference between the observed location, L, of the flotsam object and the previously estimated trajectory position p of the flotsam object, and the estimates and / or measurements of air and / or water velocities at the time the image was captured; and outputting updated estimated future trajectory information for the flotsam object.
6. The method of any previous claim, wherein at least one ANN of the one or more ANNS of the computational model is a trained ANN, wherein the ANN is trained using a training data set comprising images of flotsam objects and their propulsion mode parameters, p, to infer a value for a propulsion mode parameter, p, of a flotsam object directly from an image of that flotsam object, and wherein the method further comprises inferring a default or initial value for the propulsion mode parameter, p, directly from each input image.
7. A computer-implemented method for collaboratively estimating a flotsam object trajectory using at least one ANN computational model comprising one or more artificial neural networks, ANNs, the method comprising: inputting images of water near each of a plurality of image sources to at least one suitably trained ANN of a computational model; processing each image using the trained at least one ANN computational model to: infer if a flotsam object is located in that image; if so, processing the image of the flotsam object to infer at least one object characteristic associated with or comprising one or more flotsam object modes of propulsion for that object using at least one ANN computational model; and processing for each image of an inferred flotsam object, using at least one suitably trained ANN computational model, one or more inferred object characteristics to infer for each inferred flotsam object, one or more propulsion mode parameter values which represents a degree to which the inferred flotsam object is capable of one or more wind- propelled, current-propelled or self-propelled modes of propulsion; and using the inferred one or more propulsion mode parameter values associated withthe modes of propulsion for the detected flotsam object with predictions for wind and current conditions at the location of the detected flotsam to output estimated future trajectory information for the flotsam object.
8. The method of any one of claims 1 to 17, further comprising when the inferred object characteristics of the flotsam object indicate the flotsam object is capable of one or more self-propelled modes of propulsion, using an one or more inferred object characteristics to derive at least one or both of a direction and estimated speed of the self-propelled mode of propulsion with the predictions for wind and current conditions at the location of the detected flotsam to output estimated future trajectory information for the flotsam object.
9. The method of any one of claims 1 to 8, further comprising: assigning a unique object identifier to each inferred unique flotsam object; storing, in associating with each unique object identifier for a flotsam object, the estimated future trajectory information, wherein the estimated future trajectory information allows at future points of time an estimated location of the flotsam object to be determined.
10. The method of claim 9, further comprising: determining if one or more conditions are met to share stored trajectory information with a vessel or structure; and if so, communicating the stored trajectory information with that vessel or structure.11 . The method of claim 10 , wherein the one or more conditions comprise determining the vessel or structure is located within a location uncertainty region for that flotsam object.
12. The method of claim 10, wherein one or more flotsam object characteristics are stored with the estimated trajectory of the flotsam object, and wherein the one or more conditions comprise determining, at the vessel or structure, the vessel or structure is located within an area of uncertainty for a position of a flotsam object and requesting from the processing server, stored flotsam object information.
13. The method of claim 10, wherein one or more flotsam object characteristics are stored with the estimated trajectory of the flotsam object, and wherein the one or more conditions comprise the processing server determining a vessel or structure is located within the location uncertainty region of a flotsam object and responsive to such a determination, the processing server sends stored flotsam object information and / or flotsam object trajectory information to the vessel or structure.
14. The method of any one of claims 1 to 12, wherein the computational model comprises at least one trained ANN configured to perform image classification and / or image recognition of flotsam objects.
15. The method of any one of claims 1 to 12, wherein the computational model comprises at least one trained ANN configured to determine one or more modes of propulsion of a flotsam object from one or more flotsam object characteristics.
16. A system for collaborative contributing to flotsam object trajectory information, the system comprising: a plurality of image sources; a processing system; and a data store, wherein each image source comprises a camera system including a PTZ camera system, an onboard image processing system, and a communication system; wherein each image source is configured to contribute to a body of trajectory information for flotsam objects stored in the data store by: obtaining one or more images of an area of water near that image source using the camera system; processing each of the one or more images to detect one or more flotsam object(s); obtaining location information for each of the detected one or more flotsam object(s); and transmitting enhanced image and location information for each detected one or more flotsam object to the processing server, and wherein the processing server is configured to: process received transmitted information for a detected flotsam object to determine estimated future trajectory information for the detected flotsam object based on a time the image of the flotsam object was captured, a location of the flotsam object, water and wind velocities at the location, and optionally one or more flotsam object characteristic(s), inferred from the image of the flotsam object.
17. The system of claim 15, the processing server is configured to: uniquely identify from received reports if a reported flotsam object is a previously reported flotsam object by comparing the reported flotsam object location and time observed at that location with stored flotsam object trajectory information.
18. The system of claim 16, wherein if the flotsam object is a new flotsam object, the processing server is configured to assign, to that unique flotsam object, an object identifier.
19. The system of any one of claims 15 to 17, wherein, the processing server is configured to determine:at least one or more levels for each of a wind-propelled, current-propelled, or self- propelled mode of propulsion for the flotsam object; and store in association with a unique previous or newly assigned flotsam object identifier predicted trajectory information for the flotsam object derived from predictions of wind and current conditions and one or more of a level of a wind-, current-, or self- propulsion mode of the flotsam object based on the reported flotsam object characteristic(s) and location information, wherein the predicted trajectory information enables estimates to be obtained of the location along a trajectory and a location uncertainty along the predicted trajectory path of the uniquely identified flotsam object.
20. The system of claim 18, wherein the processing server 300 is configured to share at least the location and location uncertainty of a flotsam object based on the estimated trajectory information with at least one vessel or other structure determined to be within a predicted area of location uncertainty of a flotsam object.21 . The system of any one of claims 15 to 19, wherein the image source comprises a vessel or other structure.
22. A method of flotsam avoidance, the method comprising, at a vessel: obtaining flotsam trajectory information from a processing server configured to obtain flotsam trajectory information, wherein the flotsam object trajectory information includes a determination, based on a flotsam object type category, a collision severity indicator for a vessel to collide with the flotsam object, wherein the flotsam trajectory information comprises a prediction of a position of a flotsam object along an estimated future trajectory path at a given future time and an area of uncertainty of the flotsam object at the position along the estimated further trajectory at the given future time; and determining, based on the received flotsam estimated future trajectory information and available vessel trajectory information, an area of interception where the vessel may intercept spatially and temporally with the flotsam object within an area of uncertainty of a position of the flotsam object along its estimated future trajectory.
23. The collision avoidance method of claim 21 , wherein the action comprises one or more of: change course to avoid the region of location uncertainty of the flotsam object or to slow or stop the vessel along its current course.
24. A computer-implemented method for tracking a flotsam object using a computer model comprising a plurality of artificial neural networks, the method comprising: processing, using at least one ANN of the computer model, an image including a flotsamobject to extract features from which one or more propulsion characteristics can be derived; determining a propulsion mode classification of the flotsam object by classifying, using a multi-classification ANN-based model of the computer model, the flotsam object based one or more possible modes of propulsion of the flotsam object; estimating, using the propulsion mode classification of the flotsam object and one or more environmental conditions, future trajectory information for a flotsam object comprising a future trajectory path and speed along the path of the flotsam object and one or more error terms which provide an area of uncertainty around future positions of the flotsam object along its estimated future trajectory path; storing the estimated future trajectory information for the flotsam object in association with information allowing subsequent identification of the same flotsam object together with an image capture time; and, for each subsequently received image up to a maximum time-limit, checking the subsequently received image for the same flotsam object; and if a subsequent image of a flotsam object is determined to be an image of a previously identified flotsam object: determining if that subsequent image shows the flotsam object at a location which is different from the location predicted using the trajectory determined for the previously identified flotsam object; and if the predicted location is different from the location of the flotsam object indicated by the image, adjusting, based on the error between the predicted and indicated locations, the estimated future trajectory information stored for the flotsam object.
25. The method of claim 23, wherein adjusting the estimated trajectory of the flotsam object comprises using the error between the predicted and indicated locations to adjust the level of one or more propulsion modes until the estimated trajectory position is within an acceptable error bound of the observed location of the flotsam object based on the image of the flotsam object.
26. The method of claim 24, wherein the classification mode used to classify flotsam objects based on their propulsion modes is configured to classify flotsam objects based on a value or range of values of a propulsion mode parameter, p, which represents a relative value for a flotsam object to be wind-propelled, water-propelled, or a degree to which it is capable of both modes of propulsion.
Citation Information
Patent Citations
Method and apparatus for predicting drift trajectory
CN111159924A
Person detection in a marine environment
US20170323154A1
Collision avoidance assistance system
US20200216152A1
System and method for measuring the distance to an object in water
US20220024549A1
Gun-dome linkage-based sea floating garbage image recognition algorithm
CN114612812A