The present disclosure relates generally to video capture and analytics.
The increasing need for providing a secured environment in private and public places is driving the use of video capture and surveillance. Technological advancements have resulted in the availability of a variety of high-resolution, high-quality surveillance cameras that fulfill the varying requirements of applications.
A high definition video recording can be very helpful for all types of investigations because it provides accurate representation of events. However, it is unrealistic to store large amounts of video for extended periods due to the sheer cost of video storage, especially in large surveillance deployments. Moreover, depending on the timing of an event and the length of recording, reviewing video footage could be time consuming and prone to error.
Recent improvements in artificial intelligence are paving the way for new approaches to dealing with the complexities of video capture and surveillance. One approach is to turn the camera into a smart video analytics tool that generates event notifications and performs other processing. Another approach is to perform post-recording event analysis using dedicated appliances or cloud computing, or a combination of these. Such approaches need the ability to adapt to varying requirements, and to take into account the cost of computing required for real-time analytics. A programmable system, in the form of a “software defined camera,” can provide this ability and many other advantages.
The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more examples of embodiments and, together with the description of example embodiments, serve to explain the principles and implementations of the embodiments.
In the drawings:
Example embodiments are described herein in the context of hardware and software for a system for distributed video analytics in accordance with certain embodiments. The following description is illustrative only and is not intended to be in any way limiting. Other embodiments will readily suggest themselves to those of ordinary skill in the art having the benefit of this disclosure. Reference will be made in detail to implementations of the example embodiments as illustrated in the accompanying drawings. The same reference indicators will be used to the extent possible throughout the drawings and the following description to refer to the same or like items.
In the description of example embodiments that follows, references to “one embodiment”, “an embodiment”, “an example embodiment”, “certain embodiments,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. The term “exemplary” when used herein means “serving as an example, instance or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
In the interest of clarity, not all of the routine features of the implementations described herein are shown and described. It will be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, such as compliance with application- and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art having the benefit of this disclosure.
In accordance with this disclosure, the components, process steps, and/or data structures described herein may be implemented using various types of operating systems, computing platforms, computer programs, and/or general purpose machines that may for instance use GPUs and CPUs. Devices of a less general purpose nature, such as hardwired devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herein. Where a method comprising a series of process steps is implemented by a computer or a machine and those process steps can be stored as a series of instructions readable by the machine, they may be stored on a tangible medium such as a computer memory device (e.g., ROM (Read Only Memory), PROM (Programmable Read Only Memory), EEPROM (Electrically Eraseable Programmable Read Only Memory), FLASH Memory, Jump Drive, and the like), magnetic storage medium and other types of program memory.
Herein, reference to a computer-readable or machine-readable storage medium encompasses one or more non-transitory, tangible storage media possessing structure. As an example and not by way of limitation, a computer-readable storage medium may include a semiconductor-based circuit or device or other IC (such, as for example, a field-programmable gate array (FPGA) or an ASIC), a hard disk, a hybrid hard drive (HHD), an optical disc, an optical disc drive (ODD), a magneto-optical disc, a magneto-optical drive, a floppy disk, a floppy disk drive (FDD), magnetic tape, a holographic storage medium, a solid-state drive (SSD), a RAM-drive, a SECURE DIGITAL card, a SECURE DIGITAL drive, a flash drive, or another suitable computer-readable storage medium or a combination of two or more of these, where appropriate. Herein, reference to a computer-readable storage medium excludes any medium that is not eligible for patent protection under 35 U.S.C. § 101. Herein, reference to a computer-readable storage medium excludes transitory forms of signal transmission (such as a propagating electrical or electromagnetic signal per se) to the extent that they are not eligible for patent protection under 35 U.S.C. § 101. A computer-readable non-transitory storage medium may be volatile, nonvolatile, or a combination of volatile and non-volatile, where appropriate.
Herein, “or” is inclusive and not exclusive, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, “A or B” means “A, B, or both,” unless expressly indicated otherwise or indicated otherwise by context. Moreover, “and” is both joint and several, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, “A and B” means “A and B, jointly or severally,” unless expressly indicated otherwise or indicated otherwise by context.
In accordance with certain embodiments, a video analytics system 100 is provided that can capture, store, catalog, search and display images (video and still) of events on demand. In certain embodiments, the system 100, shown generally in
In system 100, images (video and still) captured by the cameras of network 102, and, in certain embodiments, other images previously captured, are transmitted over cellular (e.g., 5G) and/or other wireless or wired networks 103 to a remote cloud computing system 104 that supports an electronic video analytics (EVA) platform 106 for video aggregation, encryption, storage and analysis. The system 100 is able to provide on demand video streaming and analytics to various users 108 and service partners 110.
EVA platform 106 may be implemented on one or more computing devices, for example servers (not shown), and are communicatively coupled to applications 123 over data network(s) 119 and connections 115 and 117. Although shown in terms of a cloud service system in
The computing devices on which the system 100 is partially or completely executed may be any type of processor or control logic or circuitry including but not limited to one or more microprocessors on one or more devices at the same or different locations, with access to computer-readable memory (not shown) that may be any type of computer-readable memory, such as, random access memory (RAM), read only memory (ROM), or flash memory, provided on one or more devices. System 100, including remote cloud computing system 104 (and its components) may be implemented in software, firmware, hardware or any combination thereof and may be implemented on one or more computing devices at the same or different locations. Thus layered and/or distributed compute power may be used to implement system 100 in certain embodiments. Cloud computing system 104 including EVA platform 106 may be configured as a computer-implemented cloud service. In some examples, not intended to be limiting, a cloud service may be infrastructure, platforms, and/or software that are hosted by one or more providers and made available to users through the internet. For example, cloud computing system 104 may have web-based services, data storage, user registration, application services, communications, or other management functions to further support or complement platform 106 as part of a cloud service. The cloud service may be configured on private clouds, public clouds, hybrid clouds, and multiclouds.
In certain embodiments, the term application (such as application 123) refers to a desktop or laptop computer application, mobile device application, web application, browser, or browser extension. The applications provide user interfaces through which users are able to communication with the EVA platform to for example provide user-defined instructions as detailed below. For example, application 123 may be dynamically configured as an application installed on computing device 113 or may be a web application operated through a browser or browser extension on computing device 113 or a mobile phone application executing on Linux, IOS or Android operating system.
With reference to
Again with reference to
In certain embodiments, AI powered variable compression on regions of interest in a frame can be performed, utilizing AI module 146a or ML/AI engine 140, or a combination of these. In one example, high resolution for faces and lower resolution for background can be thus implemented.
According to certain embodiments, and with reference to
Keys 160 can be used to reduce the amount of data being transmitted, searched, compressed and/or stored. Captured video is analyzed, and footage corresponding to a sequence of events of interest is tagged with a key 160 and, in certain embodiments, geolocation information from GPS module 154 is appended. In certain embodiments, the analysis of the captured video is performed remotely at a server (not shown), either completely or partially, in conjunction with the analysis at the camera 142. In certain embodiments, the keys are AI powered and can be used to determine compression levels, storage rules, and timeframes. They can also be used to speed up indexing (search for a key and look up video associated with key).
The video recording from the camera can be encrypted before transmitting it over the network to storage and/or analysis servers in the cloud. Aggregator 131 is used in certain embodiments to aggregate event-containing videos for storage on server 136 and for subsequent rendering by renderer 133. All video recording may have a predetermined, fixed length to facilitate indexing of storage and retrieval from databases such as content store 136. According to certain embodiments, components or frames of the video recording can be alternatively transmitted so that the video footage can be reconstructed later by renderer 133. In certain embodiments, a storage server 136 is comprised of an array of high-performance drives like NVMe (non-volatile memory) solid state drives, a high-performance database management system like SQL, and analytics network application. The database system 136 is used for video storage and additional analysis. An API in user experience manager 132 provides users with the ability to access the database over the network. The event key 160 generated by event detection engine 138 allows searching for any sequence of events in the database 136 quickly, hence eliminating the need to perform extensive post-recoding analysis.
In certain embodiments, technological improvements are realized whereby meta data is extracted using AI-powered camera 142 and is used as input to user-definable rules that determine how that data should be handled—for example, whether and where it should be stored, implementing rules-based storage, to thus optimize data storage, for example onboard the camera or in other portions of the cloud, or a combination. AI powering of the camera 142 may be via module 146a, or in other portions of the cloud in conjunction with ML/AI engine 140, or a combination of these, in a layered or distributed manner. This provides the technological improvement of reducing the amount of AI power required to be performed in camera 142 by module 146a, which does not have virtually unlimited horsepower in the manner that cloud-based ML/AI engine 140 could.
In certain embodiments, system 100 can implement AI powered algorithms for capturing specific frames or sequences of frames and transmitting them for further processing, analysis and storage in the cloud.
The potential of applications of the described embodiments range from transportation safety to law enforcement. One application, for example, is to further enhance security in taxi or rideshare services. An increasing number of drivers are using dashboard cameras to provide evidence that protects both drivers and passengers. Typically, dashboard cameras record video to a local memory card that has limited capacity and can be tampered with easily. The systems described herein can provide secure cloud storage for safekeeping evidence. In addition, it can be to recognized distressing situations, to the driver or passenger for instance, by facial recognition of distress markers for instance, or other biometric information, such a distressed voice or command for help or other voice commands.
According to certain embodiments, a camera such as camera 142 can detect drivers or passengers in distress and alert security monitoring services to dispatch help. This can be achieved by correlating facial and voice data to help enhance the safety of passengers, and can be performed by event detection engine 138. The camera 142 and event detection engine 138 can also perform facial recognition on passengers and clear results against a “no ride list” to enhance the safety of drivers.
Rideshare services allow drivers and passengers to review each other's ratings using the service mobile application in advance. The systems described herein enhance this capability by allowing passengers to also view the inside of the vehicle in advance. The camera allows drivers and passengers to visually communicate, increasing the level of trust between all parties. Once inside the vehicle, passengers can access the camera feed over a secure connection allowing them to see what the camera is recording.
According to certain embodiments, the camera accepts voice commands from authorized users. A voice command, for example, can tell the camera to take a photograph, take a video clip, or stream live video on social media for sharing with friends. Since the camera has mobile network connectivity, it can call for help in case of an emergency.
In modern vehicles, an on-board diagnostics (OBD) computer monitors emissions, mileage, speed, and other data about the vehicle. According to certain embodiments, a wireless dongle can be used to transmit diagnostics data to the camera device 142 in the vehicle. When enabled, the diagnostics data is associated with the video footage captured by the camera device. The correlation between video footage and diagnostics data can be very useful for training purposes, operational efficiency, or incident investigations. According to certain embodiments, the camera device can recognize road signs and conditions to alert vehicle operators to any driving deviations.
According to certain embodiments, the diagnostics data may include vehicle carbon emission measurements. The systems described herein can help manage and mitigate climate impact by providing real-time carbon footprint for any geographic area.
A vehicle alarm is an essential security system that tends to be available on most modern vehicles. It typically requires the intruder to break open the vehicle to be activated. The systems described herein further enhance the capabilities of vehicle alarm systems using one or several camera devices 142 positioned strategically on the vehicle. According to certain embodiments, when a camera device is activated by a motion sensor, it can send mobile text messaging alarm or other forms of alarms directly. The camera device can also generate sound or visual alarms to deter intruders. The real-time video feed analyzed by platform 106 allows the vehicle owner to assess the severity of the alarm and act accordingly.
Cameras are commonly used to provide security in home or commercial buildings. Usually, cameras are positioned to monitor specific areas like entrances or hallways. The video footage is time correlated to card access activities. According to certain embodiments, the camera can for example use event detection engine 138 to perform facial recognition on the person attempting access and correlate the results with card access system records so that operators can be notified immediately of any security breaches.
A unique aspect of the systems described herein is the aggregation of video data using a distributed programmable camera network and utilization of such data to enable emerging applications in security, autonomous driving, social media, and law enforcement to name a few. The aggregated data can be used for creating or perfecting models used in artificial intelligence (AI) and machine learning (ML). The data can also be made available to third parties by enabling a consent feature which allows the data to show up in search queries.
Aspects of the embodiments of the system 100 (and its components) may be implemented electronically using hardware, software modules, firmware, tangible computer readable or computer usable storage media having instructions stored thereon, or a combination thereof and may be implemented in one or more computer systems or other processing systems.
Embodiments may be directed to computer products comprising software stored on any computer usable medium. Such software, when executed in one or more data processing device (also called a computing device), causes a data processing device(s) to operate as described herein.
Various embodiments can be implemented, for example, using one or more computing devices. A computing device can be any type of device having one or more processors and memory. For example, a computing device can be a workstation, mobile device (e.g., a mobile phone, personal digital assistant, tablet or laptop), computer, server, computer cluster, server farm, game console, set-top box, kiosk, embedded system, or other device having at least one processor and memory.
Embodiments of the present invention have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments.
The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
This application claims priority from U.S. Provisional Patent Application No. 63/169,598 filed on Apr. 1, 2021, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63169598 | Apr 2021 | US |