The invention relates generally to controlling a physical device and, more specifically, to machine learning assisted contactless control of a physical device using a user device.
Electric/electronic devices generally use control panels for control operations. Different devices have different types of control panels. In a lot of cases, to interact with these devices, a user touches the control panel to enter his control commands. In some cases, touching the control panel may be problematic (e.g., risk of spreading infection via touch in case of disease).
Aspects of the disclosure relate to methods, apparatuses, and/or systems for contactless control of a physical device using a user device.
In some embodiments, a system for contactless control of a physical device comprises at least one processor and memory storing instructions executable by the at least one processor. The instructions when executed cause the system to obtain one or more images of a physical device; identify the physical device and a control panel of the physical device using the one or more images; train, using the obtained one or more images and the identified physical device and control panel, a plurality of machine learning control operations models of a machine learning system, using supervised learning, to determine control operations of one or more components of the control panel; and deliver a trained control operations model of the plurality of control operations models to a user device to facilitate contactless control of the physical device by the user device.
In some embodiments, the instructions cause the system to map one or more visual elements in the one or more images with one or more control operations of the control panel; and send the mapping information to the user device to facilitate contactless control of the physical device by the user device.
In some embodiments, the instructions cause the system to train, using the trained control operations model and the identified physical device and control panel, a mapping model to map the one or more visual elements in the one or more images with one or more control operations of the control panel; and deliver the trained mapping model to the user device.
In some embodiments, the trained control operations and mapping models are delivered to the user device by the physical device.
In some embodiments, the trained mapping model maps visual elements of the one or more components of the control panel, the visual elements obtained from a live image feed of the control panel by the user device and displayed on a touch screen on the user device.
In some embodiments, the physical device is configured to: deliver a command language interface to the user device to facilitate interaction between the user device and the control panel; receive a control command from the user device, the control command being determined based on a touch event of a visual element of the visual elements on the touch screen; and perform the received control command.
In some embodiments, a method for contactless control of a physical device is implemented in computing system comprising at least one processor and memory storing instructions. the method comprises: obtaining a plurality of images of a physical device; identifying the physical device and a control panel of the physical device; training, using supervised learning, a plurality of machine learning control operations models of a machine learning system, to determine control operations of one or more components of the control panel; and delivering a trained control operations model of the plurality of control operations models to a user device to facilitate contactless control of the physical device by the user device.
Various other aspects, features, and advantages of the invention will be apparent through the detailed description of the invention and the drawings attached hereto. It is also to be understood that both the foregoing general description and the following detailed description are examples and not restrictive of the scope of the invention.
The subject matter, which is regarded as the disclosure, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The following descriptions of the drawings should not be considered limiting in any way. With reference to the accompanying drawings, like elements are numbered alike:
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It will be appreciated, however, by those having skill in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other cases, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
In some embodiments, one or more components of system 100 may communicate directly through one or more dedicated communication links. In some embodiments system 100 may include a network connecting one or more components of system 100. In some embodiments, networks may be any type of network configured to provide communications between components of system 100. For example, network may be any type of wired or wireless network (including infrastructure) that provides communications, exchanges information, and/or facilitates the exchange of information, such as the Internet, a Local Area Network, near field communication (NFC), optical code scanner, cellular network, Universal Serial Bus (USB), text messaging systems (e.g., SMS, MMS) or other suitable connections that enables the sending and receiving of information between the components of system 100.
In some embodiments, control operations of physical device 106 may be transmitted from the physical device 106 to user device 104 to allow the user to interact with the physical device 106 in a contact-less manner. Physical device 106 may be any device that is controllable via a control panel 108 of the physical device 106. In some embodiments, control of physical device 106 may be accomplished through a user interface 105 of the user device 104. For example, user device 104 may control operations of the physical device via generated touch events from a touch screen of the user device 104. In some embodiments, user device 104 may include a camera. The user may point camera of the user device 104 at the control panel to obtain a live image of the control panel on a touch screen of the user device 104. After authentication by the physical device 106, control operations models and mapping models (obtained by machine learning techniques) may be transmitted from the physical device 106 to the user device 104 to allow the user device 104 to interact with the physical device 106 via touch events on the live image of the control panel.
Operations of system 100 may provide a practical contact-less solution to control different physical devices without requiring hardware changes or significant increases in technology or cost to upgrade the physical devices; it also does not require extensive processing form the user device side. In some embodiments, system 100 uses local direct communication techniques to interact with the physical device 106, which may provide for a connection that is fast and secure. System 100 may allow access to the control panel in cases where the panel is hard to reach. In some cases, system 100 may help reduce risk spread of infection by avoiding touching the control panel. The physical device 106 may be any device that is controllable via a control panel of the device. Different devices (e.g., personal, domestic, industrial, commercial, etc.) may have different forms of control panels for interaction with humans (e.g., keys, switches, buttons, levers, screens, keyboards, touch screens, and/or any type of human-machine interface). These physical devices may now be operated in a contactless manner using the user's own device.
In some embodiments, system 100 may provide control security benefits. For example, in some embodiments, system 100 requires the physical presence of the user to be able to obtain a live image of the control panel and to control operations of the physical device. In some embodiments, system 100 may be configured to erase information (e.g., machine learning models) exchanged with the user device if the user device is not in proximity of the physical device or after a pre-determined amount of time. That said, not all embodiments necessarily provide all of these benefits, and some embodiments may provide other distinct advantages, which is not to suggest that any other feature described herein may not also be omitted in some embodiments.
As shown in
Identification module 110 may obtain a plurality of images of one or more physical devices. In some embodiments, the images may include images of control panels of the physical devices. In some embodiments, the images may include images from different angles, in different light conditions, of different quality, or of different portions of the physical devices or the control panels. In some embodiments, the images may be obtained (or extracted) from one or more image databases (e.g., an electronic storage, or other internal or external databases).
In some embodiments, identification module 110 may be configured to identify the one or more physical devices and control panels. Identification module 110 may identify physical device 106 or control panel 108 based on the one or more obtained images of the physical device and/or control panel. In some embodiments, identification module 110 may be configured to identify the physical device based on identification information of the control panel or vice-versa. Identification information identifying the physical device may include type (e.g., air-conditioning A/C unit, coffee maker, computer, safe, etc.), make (e.g., manufacturer), model, and/or other identifying information. Identifying control panel 108 may include identifying one or more components of the control panel (e.g., keys, switches, buttons, levers, screens, keyboards, touch screens, and/or other control panel components). In some embodiments, identifying control panel 108 may include identifying a type of control panel (e.g., analog, digital, or combination). It should be noted that the identification information described above is not intended to be limiting. A large number of identification information related to physical devices (or control panels) may exist and may be used with system 100 in accordance with some embodiments.
In some embodiments, the plurality of images obtained by the identification module 110, may be input in a machine learning system to identify one or more physical devices and/or control panels.
Returning to
In some embodiments, the plurality of images and/or the identification information determined by the identification module 110, may be input in a machine learning system to determine control operations of one or more components of one or more control panels. As shown in
As shown in
In some embodiments, pattern identification step 443 of decision algorithm 442 may use mobile gesture 441 to train control operations model 450 to detect the user-initiated gesture as a “control” gesture. As an example, when the user sees a push-button of a physical device from his mobile camera, he pushes it by using a “push gesture” on the mobile screen, which is synonymous to a “touch” on that circular camera image of the button. But how does a slider switch work? In an example where the physical slider switch is a horizontal slider, the user has to slide his finger from left to right or right to left to switch on or off that slider-switch. But how much to the left or right? This will depend on the size of the image the user sees in the camera. To be able to detect the user-initiated gesture as a “control” gesture, the control operations model is trained using pattern identification algorithm 443 to identify the switch in the camera image 446 (shown in
Returning to
In some embodiments, as shown in
It is to be understood that the machine learning systems are described here as examples for techniques for identifying the physical devices and control panels, determining control operations of the control panels, and mapping images of the control panel with the control operations. However, techniques, are also contemplated by the present disclosure. As such, any technique for identifying the physical devices and control panels, determining control operations of the control panels, and mapping images of the control panel with the control operations are contemplated by the present disclosure.
In some embodiments, the trained models may be stored on an electronic storage media. In some embodiments, the electronic storage media may be located in the physical device 106, the control panel 108, and/or located remotely (e.g., on a remote server, cloud-based storage, etc.). For example, in some embodiments, the trained models may be stored remotely and accessed by the physical device upon request. In some cases, the physical device may request the trained models and store them locally, temporarily, for a duration of an interaction with a user device. In some embodiments, the physical device 106 (or control panel 108) may deliver/send one or more of the trained models to user device 104 to facilitate contactless control of the physical device by user device 104. For example, physical device 106 may deliver one or more of a trained control operations model (e.g., model 450 of
In some embodiments, communication between physical device 106 and user device 104 may be accomplished via a communication network. In some embodiments, the communications network may include a direct communication network. Direct communications may use any suitable technologies, including, for example, BLUETOOTH™, BLUETOOTH LE™ (BLE), Wi-Fi, near field communications (NFC), or other suitable communication methods that provide a medium for transmitting data between separate devices. In some embodiments, physical device 106 and user device 104 may communicate directly through dedicated communication link(s). In some embodiments, using direct communication technologies may provide for a secure interaction between the user device and the physical device as both devices should be in proximate to each other to establish a communication link.
In some embodiments, the communication network may comprise any type of computer networking arrangement used to exchange data. For example, Internet, a private data network, a virtual private network using a public network, a Wi-Fi network, a LAN or WAN network, A frequency (RF) link, and/or other suitable connections that may enable information exchange among various components between physical device 106 and user device 104. Network 295 may also include a public switched telephone network (“PSTN”) and/or a wireless cellular network.
In some embodiments, physical device 106 may deliver a data and command interface language to the user device along with the trained models to facilitate interaction with the user device. The data and command interface language may be any command interface that allow communication/interaction between the physical device and the user device. For example:
In some embodiments, the user device may send the control commands via touch events on a touch screen of the user device where the live image is displayed. For example, the user device may send the control commands in response to the user touching a visual element of the live image of the control panel on the touch screen. The user device uses trained control operations model 550 and mapping model 560 to determine the operational command corresponding to each visual element of the live image on the touch screen. Different touch screen technologies and touch events methods may be used. For example, resistive, capacitive, optical, acoustic wave, and/or other sensing touch technology. It should be appreciated that examples of control via touch screen described herein are to be taken as examples of embodiments for illustration purposes only. Other techniques of contactless control using any suitable user interface of the user device are contemplated within the present disclosure. For example, control operations of the physical device may be performed via cursor control devices (e.g., mouse), keyboards, keypads, touchpads, touchscreens, scanning devices, voice or optical recognition devices, and/or any other user interface of the user device for entering, retrieving data.
In some embodiments, physical device 106 may authenticate user device 104 (for example before sending the trained models). In some embodiments, physical device 106 may include an authentication program (or application) configured to authenticate the user (and/or user device 104) via multi-factor authentication, proximity authentication, passwords, exchange of keys, pairing, registration, forming a private link, or other forms of authentication. In some embodiments, system 100 may define one or more control rules. For example, some user devices may be granted access to more control operations than others (e.g., based on security level of the user/user device, time of the day, location, type of device, historical data of previous interactions, etc.)
In some embodiments, system 100 may be configured to define a delete command configured to delete the trained models based on one or more thresholds or conditions. In some embodiments, the delete command may be sent to the physical device along with the trained models (e.g., to be stored or upon request from the physical device). For example, in some embodiments, physical device 106 (or control panel 108) may be configured to send the delete command along with the trained models to the user device such that after a control session is over, the trained models and the data and command interface are deleted from the user device. In some embodiments, a control session (session during which the user device can control operations of the physical device) may be defined based on time, proximity, number of control operations, type of user/user device, or any other factor. In some embodiments, system 100 may define one or more thresholds after which a control session is over. For example, a time threshold (in seconds, minutes, hours, etc.), a proximity threshold (proximity of the user device to the physical device in any distance measurement), operations threshold (number of operations allowed per session), and/or other thresholds. In some embodiments, system 100 may be configured such that a control session is over (therefore models deleted) responsive to the loss of the live image, loss of the connection/pairing between the devices, etc. For example, the physical device may receive indications/updates (e.g., via the data and command interface) of the status of the live image of the user device. In response to receiving an indication that the live image is lost the control session is over.
In some embodiments, system 100 includes a software development kit or SDK. This allows functionality of the system to be integrated into third-party applications (e.g., physical device and/or user device applications). The SDK can include application programming interfaces, libraries, drivers, documentations, or tools (e.g., debugging tools, tracking tools, optimization tools) to allow the third-party access to the system's functionality. For example, the SDK can include one or more application programming interfaces (or APIs) that allow software programmers to integrate their software with features and code from the SDK. Other supporting material such as sample code and supporting technical notes can be included to help software programmers make use of the SDK.
It should be appreciated that the illustrated components are depicted as discrete functional blocks, but embodiments are not limited to systems in which the functionality described herein is organized as illustrated. The functionality provided by each of the components may be provided by software or hardware modules that are differently organized than is presently depicted, for example such software or hardware may be intermingled, conjoined, replicated, broken up, distributed (e.g., within a data center or geographically), or otherwise differently organized. The functionality described herein may be provided by one or more processors of one or more computers executing code stored on a tangible, non-transitory, machine readable medium.
In some embodiments, the methods may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The processing devices may include one or more devices executing some or all of the operations of the methods in response to instructions stored electronically on an electronic storage medium. The processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of the method.
At an operation 602 of method 600, a plurality of images of a physical device may be obtained. In some embodiments, operation 602 may be performed by identification module, the same as or similar to identification module 110 (shown in
At an operation 604 of method 600, the physical device and a control panel of the physical device may be identified. In some embodiments, operation 604 may be performed by identification module, the same as or similar to identification module 110 (shown in
At an operation 606 of method 600, a plurality of machine learning control operations models of a machine learning system is trained using supervised learning to determine control operations of one or more components of the control panel. In some embodiments, a mapping model may be trained, using the trained control operations model and the identified physical device and control panel, to map the one or more visual elements in the one or more images with one or more control operations of the control panel. In some embodiments, the trained mapping model maps visual elements of the one or more components of the control panel, the visual elements obtained from a live image feed of the control panel by the user device and displayed on a touch screen on the user device. In some embodiments, operation 606 may be performed by machine learning system 120, the same as or similar to machine learning system 120 (shown in
At operation 608 of method 600, a trained control operations model of the plurality of control operations models may be delivered to a user device to facilitate contactless control of the physical device by the user device. In some embodiments, the trained mapping model may be delivered to the user device. In some embodiments, a command language interface may be delivered to the user device to facilitate interaction between the user device and the control panel. In some embodiments, operation 608 may be performed by a physical device, the same as or similar to physical device 106 (shown in
Embodiments of one or more techniques of contactless control of a physical device as described herein may be executed on one or more computer systems, which may interact with various other devices. One such computer system is illustrated by
In the illustrated embodiment, computer system 700 includes one or more processors 710 coupled to a system memory 720 via an input/output (I/O) interface 730. Computer system 700 further includes a network interface 740 coupled to I/O interface 730, and one or more input/output devices 750, such as cursor control device 760, keyboard 770, and display(s) 780. In some embodiments, it is contemplated that embodiments may be implemented using a single instance of computer system 700, while in other embodiments multiple such systems, or multiple nodes making up computer system 700, may be configured to host different portions or instances of embodiments. For example, in one embodiment some elements may be implemented via one or more nodes of computer system 700 that are distinct from those nodes implementing other elements.
In various embodiments, computer system 700 may be a uniprocessor system including one processor 710, or a multiprocessor system including several processors 710 (e.g., two, four, eight, or another suitable number). Processors 710 may be any suitable processor capable of executing instructions. may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically executable instructions. For example, in various embodiments, processors 710 may be general-purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. In multiprocessor systems, each of processors 710 may commonly, but not necessarily, implement the same ISA.
In some embodiments, at least one processor 710 may be a graphics processing unit. A graphics processing unit or GPU may be considered a dedicated graphics-rendering device for a personal computer, workstation, game console or other computing or electronic device. Modern GPUs may be very efficient at manipulating and displaying computer graphics, and their highly parallel structure may make them more effective than typical CPUs for a range of complex graphical algorithms. For example, a graphics processor may implement a number of graphics primitive operations in a way that makes executing them much faster than drawing directly to the screen with a host central processing unit (CPU). In various embodiments, the image processing methods disclosed herein may, at least in part, be implemented by program instructions configured for execution on one of, or parallel execution on two or more of, such GPUs. The GPU(s) may implement one or more application programmer interfaces (APIs) that permit programmers to invoke the functionality of the GPU(s). Suitable GPUs may be commercially available from vendors such as NVIDIA Corporation, ATI Technologies (AMD), and others. In some embodiments, one or more computers may include multiple processors operating in parallel. A processor may be a central processing unit (CPU) or a special-purpose computing device, such as graphical processing unit (GPU), an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), or application-specific integrated circuits.
System memory 720 may be configured to store program instructions and/or data accessible by processor 710. In various embodiments, system memory 720 may be implemented using any suitable memory technology, such as static random-access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory. In the illustrated embodiment, program instructions and data implementing desired functions, such as those described in this disclosure, are shown stored within system memory 720 as program instructions 725 and data storage 735, respectively. In other embodiments, program instructions and/or data may be received, sent or stored upon different types of computer-accessible media or on similar media separate from system memory 720 or computer system 700. Generally speaking, a computer-accessible medium may include storage media or memory media such as magnetic or optical media, e.g., disk or CD/DVD-ROM coupled to computer system 700 via I/O interface 730. Program instructions and data stored via a computer-accessible medium may be transmitted by transmission media or signals such as electrical, electromagnetic, or digital signals, which may be conveyed via a communication medium such as a network and/or a wireless link, such as may be implemented via network interface 740.
In one embodiment, I/O interface 730 may be configured to coordinate I/O traffic between processor 710, system memory 720, and any peripheral devices in the device, including network interface 740 or other peripheral interfaces, such as input/output devices 750. In some embodiments, I/O interface 730 may perform any necessary protocol, timing or other data transformations to convert data signals from one component (e.g., system memory 720) into a format suitable for use by another component (e.g., processor 710). In some embodiments, I/O interface 730 may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example. In some embodiments, the function of I/O interface 730 may be split into two or more separate components, such as a north bridge and a south bridge, for example. In addition, in some embodiments some or all of the functionality of I/O interface 730, such as an interface to system memory 720, may be incorporated directly into processor 710.
Network interface 740 may be configured to allow data to be exchanged between computer system 700 and other devices attached to a network, such as other computer systems, or between nodes of computer system 700. In various embodiments, network interface 740 may support communication via wired or wireless general data networks, such as any suitable type of Ethernet network, for example, via telecommunications/telephony networks such as analog voice networks or digital fiber communications networks; via storage area networks such as Fibre Channel SANs, or via any other suitable type of network and/or protocol.
Input/output devices 750 may, in some embodiments, include one or more display terminals, cursor control devices (e.g., mouse), keyboards, keypads, touchpads, touchscreens, scanning devices, voice or optical recognition devices, or any other devices suitable for entering or retrieving data by one or more computer system 700. Multiple input/output devices 750 may be present in computer system 700 or may be distributed on various nodes of computer system 700. In some embodiments, similar input/output devices may be separate from computer system 700 and may interact with one or more nodes of computer system 700 through a wired or wireless connection, such as over network interface 740.
Those skilled in the art will appreciate that computer system 700 is merely illustrative and is not intended to limit the scope of the present disclosure. In particular, computer system 700 may also be connected to other devices that are not illustrated, or instead may operate as a stand-alone system. In addition, the functionality provided by the illustrated components may in some embodiments be combined in fewer components or distributed in additional components. Similarly, in some embodiments, the functionality of some of the illustrated components may not be provided and/or other additional functionality may be available.
It should be understood that the description and the drawings are not intended to limit the invention to the particular form disclosed, but to the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Further modifications and alternative embodiments of various aspects of the invention will be apparent to those skilled in the art in view of this description. Accordingly, this description and the drawings are to be construed as illustrative only and are for the purpose of teaching those skilled in the art the general manner of carrying out the invention. It is to be understood that the forms of the invention shown and described herein are to be taken as examples of embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed or omitted, and certain features of the invention may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the invention. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims. Headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description.
As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). The words “include”, “including”, and “includes” and the like mean including, but not limited to. As used throughout this application, the singular forms “a,” “an,” and “the” include plural referents unless the content explicitly indicates otherwise. Thus, for example, reference to “an element” or “a element” includes a combination of two or more elements, notwithstanding use of other terms and phrases for one or more elements, such as “one or more.” The term “or” is, unless indicated otherwise, non-exclusive, i.e., encompassing both “and” and “or.” Terms describing conditional relationships, e.g., “in response to X, Y,” “upon X, Y,”, “if X, Y,” “when X, Y,” and the like, encompass causal relationships in which the antecedent is a necessary causal condition, the antecedent is a sufficient causal condition, or the antecedent is a contributory causal condition of the consequent, e.g., “state X occurs upon condition Y obtaining” is generic to “X occurs solely upon Y” and “X occurs upon Y and Z.” Such conditional relationships are not limited to consequences that instantly follow the antecedent obtaining, as some consequences may be delayed, and in conditional statements, antecedents are connected to their consequents, e.g., the antecedent is relevant to the likelihood of the consequent occurring. Further, unless otherwise indicated, statements that one value or action is “based on” another condition or value encompass both instances in which the condition or value is the sole factor and instances in which the condition or value is one factor among a plurality of factors. Unless otherwise indicated, statements that “each” instance of some collection have some property should not be read to exclude cases where some otherwise identical or similar members of a larger collection do not have the property, i.e., each does not necessarily mean each and every. Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic processing/computing device.
While the present disclosure has been described with reference to an exemplary embodiment or embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the present disclosure. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present disclosure without departing from the essential scope thereof. Therefore, it is intended that the present disclosure not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this present disclosure, but that the present disclosure will include all embodiments falling within the scope of the claims.
The application claims the benefit of U.S. Provisional Application No. 63/201,712 filed May 10, 2021, the contents of which are hereby incorporated in their entirety
Number | Date | Country | |
---|---|---|---|
63201712 | May 2021 | US |