The present disclosure relates generally to shipping containers, and more specifically, to systems and methods for monitoring and predicting water damage in shipping containers.
In related art implementations, there are systems and methods that deal with verifying the state of an item during transit. Such related art implementations describe how data can be collected and transmitted for tracking state; however, this state is generic.
Example implementations described herein involve systems and methods that specifically deal with water damage in the context of shipments. Adverse environment inside the container is a leading cause of damage to cargo in transportation. Thus, example implementations described herein involve a system and method to track the environment inside a container and to predict damage associated with water in any state: solid, liquid or gas.
Aspects of the present disclosure can involve a method, which can include executing a first model configured to model an internal environment of a shipping container, the first model configured to intake internal sensor data received from sensors internal to the shipping container and external data associated with an environment external to the shipping container, the first model configured to output internal environment parameters of the shipping container; executing a second model configured to derive water damage incurred to the cargo in the shipping container, the second model including a machine learning model configured to intake the internal environment parameters of the shipping container and output one or more of a probability of loss due to water damage or a predicted severity of water damage to the shipping container or one or more other metrics that depend on loss probability or severity; and prioritizing the shipping container for processing based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the cargo in the shipping container.
Aspects of the present disclosure can involve a computer program, which can include instructions including executing a first model configured to model an internal environment of a shipping container, the first model configured to intake internal sensor data received from sensors internal to the shipping container and external data associated with an environment external to the shipping container, the first model configured to output internal environment parameters of the shipping container; executing a second model configured to derive water damage incurred to the shipping container, the second model including a machine learning model configured to intake the internal environment parameters of the shipping container and output one or more of a probability of loss due to water damage or a predicted severity of water damage to the shipping container or one or more other metrics that depend on loss probability or severity; and prioritizing the shipping container for processing based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the cargo in the shipping container. The instructions and computer program can be stored in a non-transitory computer readable medium and executed by one or more processors.
Aspects of the present disclosure can involve a system, which can include means for executing a first model configured to model an internal environment of a shipping container, the first model configured to intake internal sensor data received from sensors internal to the shipping container and external data associated with an environment external to the shipping container, the first model configured to output internal environment parameters of the shipping container; means for executing a second model configured to derive water damage incurred to the shipping container, the second model including a machine learning model configured to intake the internal environment parameters of the shipping container and output one or more of a probability of loss due to water damage or a predicted severity of water damage to the cargo in the shipping container or one or more other metrics that depend on loss probability or severity; and means for prioritizing the shipping container for processing based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the shipping container.
Aspects of the present disclosure can involve an apparatus, which can include a process, which can be configured to execute a first model configured to model an internal environment of a shipping container, the first model configured to intake internal sensor data received from sensors internal to the shipping container and external data associated with an environment external to the shipping container, the first model configured to output internal environment parameters of the shipping container; execute a second model configured to derive water damage incurred to the shipping container, the second model including a machine learning model configured to intake the internal environment parameters of the shipping container and output one or more of a probability of loss due to water damage or a predicted severity of water damage to the cargo in the shipping container or one or more other metrics that depend on loss probability or severity; and prioritize the shipping container for processing based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the shipping container.
The following detailed description provides details of the figures and example implementations of the present application. Reference numerals and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term “automatic” may involve fully automatic or semi-automatic implementations involving user or administrator control over certain aspects of the implementation, depending on the desired implementation of one of ordinary skill in the art practicing implementations of the present application. Selection can be conducted by a user through a user interface or other input means, or can be implemented through a desired algorithm. Example implementations as described herein can be utilized either singularly or in combination and the functionality of the example implementations can be implemented through any means according to the desired implementations.
The in-container environment modeling 202 can be a machine learning model. For example, such a machine learning model can be a machine learning model trained from a database of historical data relating the internal environment parameters to the internal sensor data and the external data. Other models are also possible, and present disclosure is not limited thereto.
Depending on the desired implementation, such a model can be a physics based model. For example, the physics based model is a thermodynamic model of the container's internal climate. Or the model can be a signal processing model configured to derive the desired internal environment parameters based on sampling the sensor data.
Damage modeling 202 can be configured to derive water damage incurred to the shipping container, via a machine learning model configured to intake the internal environment parameters of the shipping container. The output representation of the water damage can involve one or more of a probability of loss due to water damage, a predicted severity of water damage to the shipping container, or one or more other metrics that depend on loss probability or severity depending on the desired implementation. To train such a model, the machine learning model can be trained against historical data that associates the measured/estimated internal parameters of the shipping container to outcomes (e.g., percentage lost due to water damage, whether loss occurred or not, and so on). Other outputs that can be provided by damage modeling 203 can include, but are not limited to, damage and loss statistics, real-time alerts, future damage prediction, and prescription for damage mitigation. Because the implementation is a machine learning model, the desired output can be provided if the appropriate historical data is available for training the machine learning model. Examples of other one or more metrics calculated from the loss probability and severity can include one or more of cargo quality degradation, supply chain delay, or total economic impact as configured and measured in accordance with the desired implementation.
Once the output is determined, software platforms associated with the shipping containers can prioritize the shipping containers the shipping container for processing based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the shipping container. In an example, shipping containers having a higher probability or predicted severity of water damage can be flagged or sorted to be opened first at port. In another example, processing can involve determining whether an alert is to be generated based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the shipping container or a metric calculated from the loss probability and severity. If the alert is determined to be generated, then an alert can be generated for the shipping container so that it can be opened during shipment.
Further details are provided as follows.
Data collected by sensors inside the shipping container 301 can include, but are not limited to, temperature, humidity, gas levels (such as CO2 and methane), shock/acceleration, door open indicator, presence of liquid water (e.g., on the floor) and so on in accordance with the desired implementation.
Environmental data from outside the shipping container 302 can include, but is not limited to, weather data (e.g., temperature, humidity, and so on), and other data considered to be relevant, in accordance with the desired implementation.
Other data 303 can include metadata and model parameters, such as, but not limited to, itinerary of the shipment, position of the shipping container on a ship, and so on in accordance with the desired implementation.
Sometimes, one or more of the above parameters is measured directly by a sensor placed inside the container. For example, air temperature and humidity can be measured by sensors. However, there may be situations when direct measurements are unavailable, for example either sensors are not present, or the shipment has not yet taken place. Unlike air parameters (such as air temperature) which are easily measured by a sensor, what goes on at the cargo surface can be harder to measure and must often be estimated.
To estimate such variables, the in-container environment modeling 202 can involve two models that estimate variables when they are not directly measured.
The first model comes into play when sensors to measure in-container temperature and humidity are absent, the logic of which is shown in
In the example of
The second model housed within the in-container environment modeling 202 is the cargo parameter estimation 401. Cargo parameter estimation 401 is used to estimate cargo parameters, specifically the temperature at the surface of the cargo and whether there is water in liquid form on the cargo surface.
There can be more than one way to estimate the cargo surface temperature. For example, one method can be based on Newton's Law of Cooling. Newton's Law of Cooling states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its surroundings. Using this as a principle, a differential equation can be derived, which can be solved to yield the following formula to track cargo temperature:
T
cargo(t)=Tinternal+(Tcargo(0)−Tinternal)e−(t/τ)
In the above equation, uppercase T generally refers to temperature, whereas lowercase t is time. Tcargo(t) is the cargo temperature at time t, and Tinternal is the container's internal air temperature. τ(tau) is a cargo-specific constant that determines how fast the cargo temperature responds to its environment.
Condensation inside a container follows the same physical process as dew-formation in nature. To determine condensation, the dew point of air is calculated from its temperature and relative humidity. Condensation occurs when cargo temperature falls below the air's dew point. Once condensation has occurred, one can further calculate how long it will take for the condensation to evaporate away. Some important kinds of water damage occur in the presence of moisture in liquid state, which makes the determination whether there is liquid water on the cargo surface important.
As illustrated in
With regards to the feature engineering based on type of damage 600, the example of mold risk is provided as an example. The growth of mold has been studied in controlled environments. The rate of growth of mold sometimes has the form:
where a, c1, c2, c0 etc. are constants that depend on the substrate, T and RH are temperature and relative humidity respectively, and M is a mold index. Within the range of practical temperatures and humidity, mold grows fast at warm temperatures and high humidity. The mold index M, calculated from appropriate temperature and humidity readings can be a good feature for ranking shipments by mold risk. A machine learning model for mold damage 601 can use the mold index at any time as a feature to predict the risk of mold. A similar approach can be applied to other forms of water damage as well.
A lot of cargo is vulnerable to damage through exposure to humidity/water. The ability to track, predict and potentially prevent such damage is of benefit to manufacturers and shippers. The example implementations described herein outline the building blocks of a system for tracking and predicting damage due to water. Water damage can take many forms. The example implementations described herein can account for a variety of scenarios, ranging from those where the shipping container does not have sensors inside to those where a rich array of in-container sensors is available whose readings nonetheless need to be transformed into useful outputs.
As illustrated in
Depending on the desired implementation, the receipt of the plurality of sensor data points is in real time during shipment of the shipping container. For example, if the system of
Further, database 703 can include additional sensor data points associated with previously shipped shipping containers (e.g., either from the same ship, or as imported from a master database). In example implementations, such additional sensor data points can supplement the plurality of sensor data points from the present shipping containers 701 if such previously shipped shipping containers were shipped in the same route as the present shipping containers 701.
Further, other external data may be transmitted to database 703 in accordance with the desired implementation. Such external data may be streaming information from the internet (e.g., regarding weather data), from sensors external to the shipping container, and so on, in accordance with the desired implementation.
Computer device 805 can be communicatively coupled to input/user interface 835 and output device/interface 840. Either one or both of input/user interface 835 and output device/interface 840 can be a wired or wireless interface and can be detachable. Input/user interface 835 may include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like). Output device/interface 840 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 835 and output device/interface 840 can be embedded with or physically coupled to the computer device 805. In other example implementations, other computer devices may function as or provide the functions of input/user interface 835 and output device/interface 840 for a computer device 805.
Examples of computer device 805 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
Computer device 805 can be communicatively coupled (e.g., via I/O interface 825) to external storage 845 and network 850 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration. Computer device 805 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
I/O interface 825 can include, but is not limited to, wired and/or wireless interfaces using any communication or I/O protocols or standards (e.g., Ethernet, 802.11x, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all the connected components, devices, and network in computing environment 800. Network 850 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
Computer device 805 can use and/or communicate using computer-usable or computer- readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
Computer device 805 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments. Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media. The executable instructions can originate from one or more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).
Processor(s) 810 can execute under any operating system (OS) (not shown), in a native or virtual environment. One or more applications can be deployed that include logic unit 860, application programming interface (API) unit 865, input unit 870, output unit 875, and inter-unit communication mechanism 895 for the different units to communicate with each other, with the OS, and with other applications (not shown). The described units and elements can be varied in design, function, configuration, or implementation and are not limited to the descriptions provided. Processor(s) 810 can be in the form of hardware processors such as central processing units (CPUs) or in a combination of hardware and software units.
In some example implementations, when information or an execution instruction is received by API unit 865, it may be communicated to one or more other units (e.g., logic unit 860, input unit 870, output unit 875). In some instances, logic unit 860 may be configured to control the information flow among the units and direct the services provided by API unit 865, input unit 870, output unit 875, in some example implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 860 alone or in conjunction with API unit 865. The input unit 870 may be configured to obtain input for the calculations described in the example implementations, and the output unit 875 may be configured to provide output based on the calculations described in example implementations.
Processor(s) 810 can be configured to execute a method or instructions including executing a first model configured to model an internal environment of a shipping container, the first model configured to intake internal sensor data received from sensors internal to the shipping container and external data associated with an environment external to the shipping container as illustrated at in-container environment modeling 202 of
Depending on the desired implementation, the machine learning model is trained from a database of historical data relating the internal environment parameters with loss due to water damage and severity of water damage.
Depending on the desired implementation, the first model can be a physics based model. For example, the physics based model is a thermodynamic model of the container's internal climate.
Depending on the desired implementation, the first model can be a machine learning model trained from a database of historical data relating the internal environment parameters to the internal sensor data and the external data.
Depending on the desired implementation, the first model can be a signal processing model.
Depending on the desired implementation, the internal environment parameters can involve one or more of mold index or cumulative cargo condensation duration.
Depending on the desired implementation, wherein the internal sensor data comprises one or more of temperature, humidity, gas levels, shock, acceleration, door open indicator, light, or presence of liquid water.
Depending on the desired implementation, the external data can involve one or more of temperature or humidity.
Depending on the desired implementation, the prioritizing the shipping container for processing can include determining whether an alert is to be generated based on the one or more of the probability of loss due to water damage or the predicted severity of water damage to the shipping container or a metric calculated from the loss probability and severity; and for the determining indicating that the alert is to be generated, generating the alert for the shipping container.
Depending on the desired implementation, the one or more metrics calculated from the loss probability and severity can include one or more of cargo quality degradation, supply chain delay, or total economic impact.
Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the essence of their innovations to others skilled in the art. An algorithm is a series of defined steps leading to a desired end state or result. In example implementations, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result.
Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's memories or registers or other information storage, transmission or display devices.
Example implementations may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer readable medium, such as a computer-readable storage medium or a computer-readable signal medium. A computer-readable storage medium may involve tangible mediums such as, but not limited to optical disks, magnetic disks, read-only memories, random access memories, solid state devices and drives, or any other types of tangible or non-transitory media suitable for storing electronic information. A computer readable signal medium may include mediums such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Computer programs can involve pure software implementations that involve instructions that perform the operations of the desired implementation.
Various general-purpose systems may be used with programs and modules in accordance with the examples herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the example implementations are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the techniques of the example implementations as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers.
As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of the example implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out implementations of the present application. Further, some example implementations of the present application may be performed solely in hardware, whereas other example implementations may be performed solely in software. Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways. When performed by software, the methods may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format.
Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the techniques of the present application. Various aspects and/or components of the described example implementations may be used singly or in any combination. It is intended that the specification and example implementations be considered as examples only, with the true scope and spirit of the present application being indicated by the following claims.