The disclosed technology relates generally to monitoring animals, and more particularly some embodiments relate to collecting and interpreting data from the animals and animal communication.
The present disclosure, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The figures are provided for purposes of illustration only and merely depict typical or example embodiments.
The figures are not exhaustive and do not limit the present disclosure to the precise form disclosed.
Embodiments of the disclosure provide apparatus and methods for indicating the neuro-cognitive and physiological condition of an animal and allowing the animal to communicate in response to stimuli. The apparatus may include one or more sensors for collecting physiological indicators from the animal, and an analyzer for determining neuro-cognitive conditions of the animal based on the collected physiological indicators. For example, the physiological indicators collected by the sensors may include an electroencephalogram (EEG) of the animal. In this example, the analyzer may determine neuro-cognitive and physiological conditions of the animal based on the EEG, for example such as a level of comfort or agitation of the animal. But while some embodiments are described with reference to an EEG, it should be understood that any sensors, physiological indictors, and combinations thereof, may be used.
In some embodiments, the analyzer may determine neuro-cognitive and physiological conditions of the animal using a virtual library that stores relationships between physiological indicators and neuro-cognitive and physiological conditions. In some embodiments, the virtual library may be unique to the animal. In other embodiments, the virtual library may include data from many animals. In some embodiments, the virtual library may be implemented as a neural network or other network of presumptions. Additional examples are described in detail below.
In some embodiments, the animal is not human. The disclosed technology for determining neuro-cognitive and physiological conditions is useful for non-human animals because, not possessing the gift of language, non-human animals cannot describe their neuro-cognitive and physiological conditions. The non-human animals may include any non-human animal, for example including domestic animals, livestock, laboratory test animals, and the like. For a domestic animal, the disclosed technology may be useful for informing the owner when the animal is hungry, needs to go outside, and the like. The disclosed technology may allow an owner to determine whether an unusual movement of the animal is due to e.g., discomfort from injury, hunger, disease, aging or in response to living conditions. For livestock, the disclosed technology may be useful for determining the best time to feed the animal, the best time to gather milk or eggs, the best time to breed the animal, modification of rearing conditions, and the like. For laboratory test animals, the disclosed technology may be useful for collecting test data in a manner that is not harmful to the animal.
In some embodiments, the animal is human. In these embodiments, the disclosed technology may help determine a neuro-cognitive and physiological condition of the human when the human is unable to communicate effectively, when the human is given to prevarication, or for further research and development of neural-driven devices, and the like.
In the example of
In the example of
The analyzer 806 may include a wireless receiver 824 to receive the wireless signals transmitted by the transmitter 820 of the monitoring device 804. The analyzer 806 may include a processor 826 to process the received signals. The analyzer 806 may include a memory 828 to store the physiological indicator data collected from the monitoring device 804, and code executable by the processor 826 to perform the functions described herein. The memory 828 may also store a library 830. The library 830 may store relationships between physiological indicators and neuro-cognitive and physiological conditions, for example as described elsewhere herein. The analyzer 806 may include one or more input/output (I/O) devices 822 for controlling the analyzer 806, and for providing outputs to an operator of the analyzer 806.
The monitoring device 904 may include a hub 908 in wireless communication with the sensors 910. The hub 908 may include a wireless receiver for receiving physiological indicator data collected by the sensors 910, and a wireless transmitter for transmitting the physiological indicator data to an analyzer. The hub 908 may include additional sensors as well. The monitoring device 904 may include an attachment device 912 for securing the hub 908 to the animal being monitored, for example as shown in
The analyzer 1006 may include a wireless receiver 1024 to receive the wireless signals transmitted by the transmitter 1020 of the monitoring device 1004. The analyzer 1006 may include a processor 1026 to process the received signals. The analyzer 1006 may include a memory 1028 to store the physiological indicators collected from the monitoring device 1004, and code executable by the processor 1026 to perform the functions described herein. The memory 828 may also store a library 1030. The library 1030 may store relationships between physiological indicators and neuro-cognitive and physiological conditions, for example as described elsewhere herein. The analyzer 1006 may include one or more input/output (I/O) devices 1022 for controlling the analyzer 1006, and for providing outputs to an operator of the analyzer 1006. In some embodiments, the analyzer 1006 may communicate directly with the monitor 1002.
The process 1100 may include determining a neuro-cognitive and physiological condition of the animal based on the one or more physiological indicators, at 1104. Continuing the EEG example, a neuro-cognitive and physiological condition of the animal may be determined based on the EEG of the animal. For example, the neuro-cognitive and physiological condition may include a level of comfort or agitation of the animal. In other examples, the neuro-cognitive and physiological condition of the animal may include one or more of an overall physiological state of the animal, a preference of the animal, an intention of the animal, and the like. The overall physiological state of the animal may include a temporal relationship to sleep, hibernation or biological rhythm (e.g., circadian, seasonal, etc.), temperature, humidity or other environmental parameter, a level of hunger or nutrient requirement, a reproductive status, a fitness of the animal, and the like. The level of agitation of the animal may be caused by one or more of a presence of one or more other animals having different social status than the monitored animal, a perceived threat, a deviation from a natural instinct for the animal, a deviation from a natural stimulus for the animal, and the like.
In some embodiments, neural network technology may be employed in determining the neuro-cognitive and physiological condition of the animal. For example, a neural network may be trained with data collected from the animal, with data collected from other animals, or a combination thereof. In embodiments that employ data collected from other animals, the data may be limited to data collected from animals that are similar in various aspects to the animal being monitored. For example, the training data may be limited to animals of the same species, breed, age, geographic location, and the like. In this way, individual animal differences can be compared with population means and variances to provide assessment tools for various applications. In some embodiments, the measurements of other animals may be used as population mean or “group normal” values for comparison and evaluative purposes. In some embodiments, the other animals maybe chosen to be similar in one or more aspects to “the subject” animal.
The process 1100 may include rendering the neuro-cognitive and physiological condition as a human-perceivable representation, at 1106. In the examples of
In some embodiments, the process 1100 may operate in real time. That is, the collection of physiological data, determination of neuro-cognitive and physiological condition and rendering of the neuro-cognitive and physiological condition may all occur in real time. In such real-time embodiments, it is possible to conduct a form of communication with the animal. In some of these embodiments, the communication may be unilateral. That is, an observer may observe the neuro-cognitive and physiological conditions of the animal in real time. In others of these embodiments, the communication may be bilateral. For example, a user may issue commands to an animal that has been trained to respond to those commands, and the user may then observe the neuro-cognitive and physiological conditions of the animal that result from receiving those commands.
In some embodiments, the neuro-cognitive and physiological conditions of the animal collected in real time may be recorded and processed over a span of time to obtain temporal patterns of change in the animal. These patterns may be processed using operations including comparisons, integrations, and the like to reflect, qualify and quantify neuro-cognitive and physiological plasticity (i.e., learning and memory) in the animal.
As mentioned above, in some embodiments the neuro-cognitive and physiological condition of an animal may be determined using neural network technology. In such embodiments, the neural network is first trained in a training phase using data collected from one or more animals. Once the neural network has been trained, data collected from an animal may be applied to the neural network during an inference phase to determine a neuro-cognitive and physiological condition of the animal. In some embodiments, an automated training regime with an AI core may use the animal's neural signals to modify animal behavior and through a feedback mechanism, the neural network as well.
The process 1200 may include collecting physiological data representing one or more physiological indicators of the animal while the neuro-cognitive and physiological conditions are induced, at 1204. For example, physiological data may be collected from a dog while the dog is receiving a command the dog has been trained to obey.
The process 1200 may include training a neural network with the physiological data, the induced neuro-cognitive and physiological conditions, and correspondences between the physiological data in the conditions, at 1206. For example, continuing the example of the dog command, the neural network may be trained with the physiological data collected from the dog while the dog is receiving the command, and with the command as a label for the collected physiological data.
The disclosed technology has many applications. As described above, the disclosed technology may automatically verbalize a neuro-cognitive and physiological condition of an animal. As another example, determination of certain neuro-cognitive and physiological conditions of an animal may result in the operation of a device. For example, on determining a domestic animal would like to go outside, the analyzer could open an automatic pet door.
As another example, the disclosed technology may also associate determined neuro-cognitive and physiological conditions with a specific animal in a group of animals. In this example, each animal may be assigned a different “voice” so a user can identify the neuro-cognitive condition of a specific individual by recognizing the audible differences of the voice reporting the neuro-cognitive and physiological condition.
The computer system 1300 also includes a main memory 1306, such as a random-access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 1302 for storing information and instructions to be executed by processor 1304. Main memory 1306 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1304. Such instructions, when stored in storage media accessible to processor 1304, render computer system 1300 into a special-purpose machine that is customized to perform the operations specified in the instructions.
The computer system 1300 further includes a read only memory (ROM) 1308 or other static storage device coupled to bus 1302 for storing static information and instructions for processor 1304. A storage device 1310, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 1302 for storing information and instructions.
The computer system 1300 may be coupled via bus 1302 to a display 1312, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user. An input device 1314, including alphanumeric and other keys, is coupled to bus 1302 for communicating information and command selections to processor 1304. Another type of user input device is cursor control 1316, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1304 and for controlling cursor movement on display 1312. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.
The computing system 1300 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software codes that are executed by the computing device(s). This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
In general, the word “component”, “engine”, “system”, “database”, data store”, and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in an appropriate programming language. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language. It will be appreciated that software components may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts. Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution). Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
The computer system 1300 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which, in combination with the computer system, causes or programs computer system 1300 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 1300 in response to processor(s) 1304 executing one or more sequences of one or more instructions contained in main memory 1306. Such instructions may be read into main memory 1306 from another storage medium, such as storage device 1310. Execution of the sequences of instructions contained in main memory 1306 causes processor(s) 1304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
The term “non-transitory media”, and similar terms, as used herein refers to any media that store data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 1310. Volatile media includes dynamic memory, such as main memory 1306. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
Non-transitory media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between non-transitory media. For example, transmission media includes coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 1302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
The computer system 1300 also includes a communication interface 1318 coupled to bus 1302. Network interface 1318 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface 1318 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, network interface 1318 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or a WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, network interface 1318 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
A network link typically provides data communication through one or more networks to other data devices. For example, a network link may provide a connection through local network to a host computer or to data equipment operated by an Internet Service Provider (ISP). The ISP in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet”. Local network and Internet both use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link and through communication interface 1318, which carry the digital data to and from computer system 1300, are example forms of transmission media.
The computer system 1300 can send messages and receive data, including program code, through the network(s), network link, and communication interface 1318. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network, and the communication interface 1318.
The received code may be executed by processor 1304 as it is received, and/or stored in storage device 1310, or other non-volatile storage for later execution.
Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware. The one or more computer systems or computer processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The various features and processes described above may be used independently of one another or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate, or may be performed in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The performance of certain of the operations or processes may be distributed among computer systems or computers processors, not only residing within a single machine, but deployed across a number of machines.
As used herein, a circuit might be implemented utilizing any form of hardware, or a combination of hardware and software. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines, or other mechanisms might be implemented to make up a circuit. In implementation, the various circuits described herein might be implemented as discrete circuits or the functions and features described can be shared in part or in total among one or more circuits. Even though various features or elements of functionality may be individually described or claimed as separate circuits, these features and functionality can be shared among one or more common circuits, and such description shall not require or imply that separate circuits are required to implement such features or functionality. Where a circuit is implemented in whole or in part using software, such software can be implemented to operate with a computing or processing system capable of carrying out the functionality described with respect thereto, such as computer system 1300.
As used herein, the term “or” may be construed in either an inclusive or exclusive sense. Moreover, the description of resources, operations, or structures in the singular shall not be read to exclude the plural. Conditional language, such as, among others, “can”, “could”, “might”, or “may”, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps.
Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. Adjectives such as “conventional”, “traditional”, “normal”, “standard”, “known” and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. The presence of broadening words and phrases such as “one or more”, “at least”, “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.