PATH ANALYTICS OF PEOPLE IN A PHYSICAL SPACE USING SMART FLOOR TILES

In some embodiments, a method is disclosed for analyzing a path of an object over a time series in a physical space. The method includes receiving, at a first time in the time series from a device in the physical space, first data pertaining to an initiation event of the path of the object in the physical space. The method also includes receiving, at a second time in the time series from one or more smart floor tiles in the physical space, second data pertaining to a location event caused by the object in the physical space. The location event includes an initial location of the object in the physical space. The method also includes correlating, via a processing device, the initiation event and the initial location to generate a starting point of the path of the object in the physical space.

TECHNICAL FIELD

This disclosure relates to data analytics. More specifically, this disclosure relates to path analytics of people in a physical space using smart floor tiles.

BACKGROUND

Certain events, such as conventions, include various booths displaying objects in various zones of a physical space (e.g., convention center). Another event that displays objects in various zones may include an art gallery where pieces of art are located various locations throughout the physical space. The zones may be organized in any suitable manner (e.g., electronics, healthcare, video gaming, sports, art, movies, automobiles, etc.). The zones may include boundaries that partition the zones separately at different locations in the physical space. People may attend these events and may walk around the physical space to observe and/or interact with the objects in the zones.

SUMMARY

In one embodiment, a method for analyzing a path of an object over a time series in a physical space is disclosed. The method may include receiving, at a first time in the time series from a device in the physical space, first data pertaining to an initiation event of the path of the object in the physical space. The method may include receiving, at a second time in the time series from one or more smart floor tiles in the physical space, second data pertaining to a location event caused by the object in the physical space. The location event may include an initial location of the object in the physical space. The method may also include correlating, via a processing device, the initiation event and the initial location to generate a starting point of the path of the object in the physical space.

In one embodiment, a tangible, non-transitory computer-readable medium stores instructions that, when executed, cause a processing device to perform any operation of any method disclosed herein.

In one embodiment, a system includes a memory device storing instructions and a processing device communicatively coupled to the memory device. The processing device executes the instructions to perform any operation of any method disclosed herein.

NOTATION AND NOMENCLATURE

The terminology used herein is for the purpose of describing particular example embodiments only, and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.

The terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections; however, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms, when used herein, do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C. In another example, the phrase “one or more” when used with a list of items means there may be one item or any suitable number of items exceeding one.

The term “moulding” may be spelled as “molding” herein.

DETAILED DESCRIPTION

Embodiments as disclosed herein relate to path analytics for objects in a physical space. For example, the physical space may be a convention center, or any suitable physical space where people move (e.g., walk, use a wheel chair or motorized cart, etc.) around in a path. At conventions, certain booths may be located at specific locations in zones and the booths may include objects that are on display. Certain locations may be more prone to foot traffic and/or more likely for people to attend due to their proximity to certain other objects (e.g., bathrooms, food courts, entrances, exits, other popular booths, etc.). In some instances, certain locations may be more likely for people to attend based on the layout of the physical space and/or the way the other booths are arranged in the physical space.

It may be desirable to determine which people at an event (e.g., convention, art show, vehicle show, etc.) attend certain booths in certain zones. For example, it may be beneficial to determine the paths of people that have authority to make decisions for a company (e.g., “C” level employees (e.g., chief executive officer, chief sales officer, chief financial officer, chief operations officer, etc.)). It may be desirable to determine the paths of the people in the physical space to better understand which zones including booths are attended and which ones are not attended. It may be desirable to understand the amounts of time that certain people attend certain booths in certain zones. The path analytics may enable determining where to locate certain booths in order to increase attendance at the booths and/or decrease attendance at the booths. For example, certain vendors may pay a fee to increase their chances of their booths being attended more. To that end, it may be beneficial to determine the paths of people and which locations in a physical space are more likely to be attended to enable recommending to place certain booths at certain locations in the physical space.

To enable path analytics, some embodiments of the present disclosure may utilize smart floor tiles that are disposed in a physical space where people may move around. For example, the smart floor tiles may be installed in a floor of a convention hall where vendors display objects at booths in certain zones. The smart floor tiles may be capable of measuring data (e.g., pressure) associated with footsteps of the people and transmitting the measured data to a cloud-based computing system that analyzes the measured data. In some embodiments, moulding sections and/or a camera may be used to measure the data and/or supplement the data measured by the smart floor tiles. The accuracy of the measurements pertaining to the path of the people may be improved using the smart floor tiles as they measure the physical pressure of the footsteps of the person to track the path of the person and/or other gait characteristics (e.g., width of feet, speed of gait, amount of time spent at certain locations, etc.).

Further, the paths of the people may be correlated with other information, such as job titles of the people, age of the people, gender of the people, employers of the people, and the like. This information may be retrieved from a third party data source and/or data source internal to the cloud-based computing system. For example, the cloud-based computing system may be communicatively coupled with one or more web services (e.g., application programming interfaces) that provide the information to the cloud-based computing system.

The paths that are generated for the people may be overlaid on a virtual representation of the physical space including and/or excluding graphics representing the zones, booths located in the zones, and/or objects displayed in the booths in the physical space. All of the paths of all of the people that move around the physical space during an event, for example, may be overlaid on each other on a user interface presented on a computing device. In some embodiments, a user may select to filter the paths that are presented to just paths of people having a certain job title, to a longest path, to paths that indicate the people visited certain booths, to paths that spent a certain amount of time at a particular zone and/or booth, and the like. The filtering may be performed using any suitable criteria. Accordingly, the disclosed techniques may improve the user's experience using a computing device because an improved user interface that presents desired paths may be provided to the user such that path analytics are enhanced.

The enhanced path analytics may enable the user to make a better determination regarding the layout of booths and/or zones. Further, in some embodiments, the cloud-based computing system may analyze the paths and provide recommendations for locating objects in the physical space. For example, if a certain object has a certain priority and the cloud-based computing system determines a certain zone is the most highly attended zone, then the cloud-based computing system may recommend to move the certain object to that certain zone to increase the likelihood that the object will be seen by people.

Barring unforeseeable changes in human locomotion, humans can be expected to generate measurable interactions with buildings through their footsteps on buildings' floors. In some embodiments the smart floor tiles may help realize the potential of a “smart building” by providing, amongst other things, control inputs for a building's environmental control systems using directional occupancy sensing based on occupants' interaction with building surfaces, including, without limitation, floors, and/or interaction with a physical space including their location relative to moulding sections.

The moulding sections, may include a crown moulding, a baseboard, a shoe moulding, a door casing, and/or a window casing, that are located around a perimeter of a physical space. The moulding sections may be modular in nature in that the moulding sections may be various different sizes and the moulding sections may be connected with moulding connectors. The moulding connectors may be configured to maintain conductivity between the connected moulding sections. To that end, each moulding section may include various components, such as electrical conductors, sensors, processors, memories, network interfaces, and so forth that enable communicating data, distributing power, obtaining moulding section sensor data, and so forth. The moulding sections may use various sensors to obtain moulding section sensor data including the location of objects in a physical space as the objects move around the physical space. The moulding sections may use moulding section sensor data to determine a path of the object in the physical space and/or to control other electronic devices (e.g., smart shades, smart windows, smart doors, HVAC system, smart lights, and so forth) in the smart building. Accordingly, the moulding sections may be in wired and/or wireless communication with the other electronic devices. Further, the moulding sections may be in electrical communication with a power supply. The moulding sections may be powered by the power supply and may distribute power to smart floor tiles that may also be in electrical communication with the moulding sections.

A camera may provide a livestream of video data and/or image data to the cloud-based computing system. The data from the camera may be used to identify certain people in a room and/or track the path of the people in the room. Further, the data may be used to monitor one or more parameters pertaining to a gait of the person to aid in the path analytics. For example, facial recognition may be performed using the data from the camera to identify a person when they first enter a physical space and correlate the identity of the person with the person's path when the person begins to walk on the smart floor tiles.

The cloud-based computing system may monitor one or more parameters of the person based on the measured data from the smart floor tiles, the moulding sections, and/or the camera. The one or more parameters may be associated with the gait of the person and/or the path of the person. Based on the one or more parameters, the cloud-based computing system may determine paths of people in the physical space. The cloud-based computing system may perform any suitable analysis of the paths of the people.

Turning now to the figures,FIGS. 1A-1Eillustrate various example configurations of components of a system10according to certain embodiments of this disclosure.FIG. 1Avisually depicts components of the system in a first room21and a second room23andFIG. 1Bdepicts a high-level component diagram of the system10. For purposes of clarity,FIGS. 1A and 1Bare discussed together below.

The first room21, in this example, is a convention hall room in a convention center where a person25is attending an event. However, the first room21may be any suitable room that includes a floor capable of being equipped with smart floor tiles112, moulding sections102, and/or a camera50. The second room23, in this example, is a entry station in the care convention center.

When the person initially arrives to the convention center, the person25.1may check in and/or register for the event being held in the first room21. As depicted, the person may carry a computing device12, which may be a smartphone, a laptop, a tablet, a pager, a card, or any suitable computing device. The person25.1may use the computing device12to check in to the event. For example, the person may25.1may swipe the computing device12or place it next to a reader that extracts data and sends the data to the cloud-based computing system116. The data may include an identity of the person25.1. The reception of the data at the cloud-based computing system116may be referred to as an initiation event of a path of an object (e.g., person25.1) in the physical space (e.g., first room21) at a first time in a time series. In some embodiments, a camera50may send data to the cloud-based computing system116that performs facial recognition techniques to determine the identity of the person25.1. Receiving the data from the camera50may also be referred to as an initiation event herein.

Subsequently to the initiation event occurring, the cloud-based computing system116may receive data from a first smart floor tile112that the person25.2steps on at a second time (subsequent to the first time in the time series). The data from the first smart floor tile112may occur at a location event that includes an initial location of the person in the physical space. The cloud-based computing device may correlate the initiation event and the initial location to generate a starting point of a path of the person25.2in the first room21.

The person25.3may walk around the first room21to visit a booth27. The smart floor tiles112may be continuously or continually transmitting measurement data to the cloud-based computing system116as the person25.3walks from the entrance of the first room21to the booth27. The cloud-based computing system116may generate a path31of the person25.3through the first room21.

The first room21may also include at least one electronic device13, which may be any suitable electronic device, such as a smart thermostat, smart vacuum, smart light, smart speaker, smart electrical outlet, smart hub, smart appliance, smart television, etc.

Each of the smart floor tiles112, moulding sections102, camera50, computing device12, and/or electronic device13may be capable of communicating, either wirelessly and/or wired, with the cloud-based computing system116via a network20. As used herein, a cloud-based computing system refers, without limitation, to any remote or distal computing system accessed over a network link. Each of the smart floor tiles112, moulding sections102, camera50, computing device12, and/or electronic device13may include one or more processing devices, memory devices, and/or network interface devices.

The network interface devices of the smart floor tiles112, moulding sections102, camera50, computing device12, and/or electronic device13may enable communication via a wireless protocol for transmitting data over short distances, such as Bluetooth, ZigBee, near field communication (NFC), etc. Additionally, the network interface devices may enable communicating data over long distances, and in one example, the smart floor tiles112, moulding sections102, camera50, computing device12, and/or electronic device13may communicate with the network20. Network20may be a public network (e.g., connected to the Internet via wired (Ethernet) or wireless (WiFi)), a private network (e.g., a local area network (LAN), wide area network (WAN), virtual private network (VPN)), or a combination thereof.

The computing device12may be any suitable computing device, such as a laptop, tablet, smartphone, or computer. The computing device12may include a display that is capable of presenting a user interface. The user interface may be implemented in computer instructions stored on a memory of the computing device12and/or computing device15and executed by a processing device of the computing device12. The user interface may be a stand-alone application that is installed on the computing device12or may be an application (e.g., website) that executes via a web browser.

The user interface may be generated by the cloud-based computing system116and may present various paths of people in the first room21on the display screen. The user interface may include various options to filter the paths of the people based on criteria. Also, the user interface may present recommended locations for certain objects in the first room21. The user interface may be presented on any suitable computing device. For example, computing device15may receive and present the user interface to a person interested in the path analytics provided using the disclosed embodiments. The computing device15may be any suitable computing device, such as a laptop, tablet, smartphone, or computer.

In some embodiments, the cloud-based computing system116may include one or more servers128that form a distributed, grid, and/or peer-to-peer (P2P) computing architecture. Each of the servers128may include one or more processing devices, memory devices, data storage, and/or network interface devices. The servers128may be in communication with one another via any suitable communication protocol. The servers128may receive data from the smart floor tiles112, moulding sections102, and/or the camera50and monitor a parameter pertaining to a gait of the person25based on the data. For example, the data may include pressure measurements obtained by a sensing device in the smart floor tile112. The pressure measurements may be used to accurately track footsteps of the person25, walking paths of the person25, gait characteristics of the person25, walking patterns of the person25throughout each day, and the like. The servers128may determine an amount of gait deterioration based on the parameter. The servers128may determine whether a propensity for a fall event for the person25satisfies a threshold propensity condition based on (i) the amount of gait deterioration satisfying a threshold deterioration condition, or (ii) the amount of gait deterioration satisfying the threshold deterioration condition within a threshold time period. If the propensity for the fall event for the person25satisfies the threshold propensity condition, the servers128may select one or more interventions to perform for the person25to prevent the fall event from occurring and may perform the one or more selected interventions. The servers128may use one or more machine learning models154trained to monitor the parameter pertaining to the gait of the person25based on the data, determine the amount of gait deterioration based on the parameter, and/or determine whether the propensity for the fall event for the person satisfies the threshold propensity condition.

In some embodiments, the cloud-based computing system116may include a training engine152and/or the one or more machine learning models154. The training engine152and/or the one or more machine learning models154may be communicatively coupled to the servers128or may be included in one of the servers128. In some embodiments, the training engine152and/or the machine learning models154may be included in the computing device12, computing device15, and/or electronic device13.

The one or more of machine learning models154may refer to model artifacts created by the training engine152using training data that includes training inputs and corresponding target outputs (correct answers for respective training inputs). The training engine152may find patterns in the training data that map the training input to the target output (the answer to be predicted), and provide the machine learning models154that capture these patterns. The set of machine learning models154may comprise, e.g., a single level of linear or non-linear operations (e.g., a support vector machine [SVM]) or a deep network, i.e., a machine learning model comprising multiple levels of non-linear operations. Examples of such deep networks are neural networks including, without limitation, convolutional neural networks, recurrent neural networks with one or more hidden layers, and/or fully connected neural networks.

In some embodiments, the training data may include inputs of parameters (e.g., described below with regards toFIG. 9), variations in the parameters, variations in the parameters within a threshold time period, or some combination thereof and correlated outputs of locations of objects to be placed in the first room21based on the parameters. That is, in some embodiments, there may be a separate respective machine learning model154for each individual parameter that is monitored. The respective machine learning model154may output a recommended location for an object based on the parameters (e.g., amount of time people spend at certain locations, paths of people, etc.).

In some embodiments, the cloud-based computing system116may include a database129. The database129may store data pertaining to paths of people (e.g., a visual representation of the path, identifiers of the smart floor tiles112the person walked on, the amount of time the person stands on each smart floor tile112(which may be used to determine an amount of time the person spends at certain booths), and the like), identities of people, job titles of people, employers of people, age of people, gender of people, residential information of people, and the like. In some embodiments, the database129may store data generated by the machine learning models154, such as recommended locations for objects in the first room21. Further, the database129may store information pertaining to the first room21, such as the type and location of objects displayed in the first room21, the booths included in the first room21, the zones (e.g., boundaries) including the booths including the objects in the first room, the vendors that are hosting the booths, and the like. The database129may also store information pertaining to the smart floor tile112, moulding section102, and/or the camera50, such as device identifiers, addresses, locations, and the like. The database129may store paths for people that are correlated with an identity of the person25. The database129may store a map of the first room21including the smart floor tiles112, moulding sections102, camera50, any booths27, and so forth. The database129may store video data of the first room21. The training data used to train the machine learning models154may be stored in the database129.

The camera50may be any suitable camera capable of obtaining data including video and/or images and transmitting the video and/or images to the cloud-based computing system116via the network20. The data obtained by the camera50may include timestamps for the video and/or images. In some embodiments, the cloud-based computing system116may perform computer vision to extract high-dimensional digital data from the data received from the camera50and produce numerical or symbolic information. The numerical or symbolic information may represent the parameters monitored pertaining to the path of the person25monitored by the cloud-based computing system116. The video data obtained by the camera50may be used for facial recognition of the person25.

FIGS. 1C-1Edepict various example configurations of smart floor tiles112, and/or moulding sections102according to certain embodiments of this disclosure.FIG. 1Cdepicts an example system10that is used in a physical space of a smart building (e.g., care facility). The depicted physical space includes a wall104, a ceiling106, and a floor108that define a room. Numerous moulding sections102A,102B,102C, and102D are disposed in the physical space. For example, moulding sections102A and102B may form a baseboard or shoe moulding that is secured to the wall108and/or the floor108. Moulding sections102C and102D may for a crown moulding that is secured to the wall108and/or the ceiling106. Each moulding section102A may have different shapes and/or sizes.

The moulding sections102may each include various components, such as electrical conductors, sensors, processors, memories, network interfaces, and so forth. The electrical conductors may be partially or wholly enclosed within one or more of the moulding sections. For example, one electrical conductor may be a communication cable that is partially enclosed within the moulding section and exposed externally to the moulding section to electrically couple with another electrical conductor in the wall108. In some embodiments, the electrical conductor may be communicably connected to at least one smart floor tile112. In some embodiments, the electrical conductor may be in electrical communication with a power supply114. In some embodiments, the power supply114may provide electrical power that is in the form of mains electricity general-purpose alternating current. In some embodiments, the power supply114may be a battery, a generator, or the like.

In some embodiments, the electrical conductor is configured for wired data transmission. To that end, in some embodiments the electrical conductor may be communicably coupled via cable118to a central communication device120(e.g., a hub, a modem, a router, etc.). Central communication device120may create a network, such as a wide area network, a local area network, or the like. Other electronic devices13may be in wired and/or wireless communication with the central communication device120. Accordingly, the moulding section102may transmit data to the central communication device120to transmit to the electronic devices13. The data may be control instructions that cause, for example, an the electronic device13to change a property. In some embodiments, the moulding section102A may be in wired and/or wireless communication connection with the electronic device13without the use of the central communication device120via a network interface and/or cable. The electronic device13may be any suitable electronic device capable of changing an operational parameter in response to a control instruction.

In some embodiments, the electrical conductor may include an insulated electrical wiring assembly. In some embodiments, the electrical conductor may include a communications cable assembly. The moulding sections102may include a flame-retardant backing layer. The moulding sections102may be constructed using one or more materials selected from: wood, vinyl, rubber, fiberboard, metal, plastic, and wood composite materials.

The moulding sections may be connected via one or more moulding connectors110. A moulding connector110may enhance electrical conductivity between two moulding sections102by maintaining the conductivity between the electrical conductors of the two moulding sections102. For example, the moulding connector110may include contacts and its own electrical conductor that forms a closed circuit when the two moulding sections are connected with the moulding connector110. In some embodiments, the moulding connectors110may include a fiber optic relay to enhance the transfer of data between the moulding sections102. It should be appreciated that the moulding sections102are modular and may be cut into any desired size to fit the dimensions of a perimeter of a physical space. The various sized portions of the moulding sections102may be connected with the moulding connectors110to maintain conductivity.

Moulding sections102may utilize a variety of sensing technologies, such as proximity sensors, optical sensors, membrane switches, pressure sensors, and/or capacitive sensors, to identify instances of an object proximate or located near the sensors in the moulding sections and to obtain data pertaining to a gait of the person25. Proximity sensors may emit an electromagnetic field or a beam of electromagnetic radiation (infrared, for instance), and identify changes in the field or return signal. The object being sensed may be any suitable object, such as a human, an animal, a robot, furniture, appliances, and the like. Sensing devices in the moulding section may generate moulding section sensor data indicative of gait characteristics of the person25, location (presence) of the person25, the timestamp associated with the location of the person25, and so forth.

The moulding section sensor data may be used alone or in combination with tile impression data generated by the smart floor tiles112and/or image data generated by the camera50to perform path analytics for people. For example, the moulding section sensor data may be used to determine a control instruction to generate and to transmit to an electric device13and/or the smart floor tile102A. The control instruction may include changing an operational parameter of the electronic device13based on the moulding section sensor data. The control instruction may include instructing the smart floor tile112to reset one or more components based on an indication in the moulding section sensor data that the one or more components is malfunctioning and/or producing faulty results. Further, the moulding sections102may include a directional indicator (e.g., light) that emits different colors of light, intensities of light, patterns of light, etc. based on path analytics of the cloud-based computing system116.

In some embodiments, the moulding section sensor data can be used to verify the impression tile data and/or image data of the camera50is accurate for generating and analyzing paths of people. Such a technique may improve accuracy of the path analytics. Further, if the moulding section sensor data, the impression tile data, and/or the image data do not align (e.g., the moulding section sensor data does not indicate a path of a person and impression tile data indicates a path of the person), then further analysis may be performed. For example, tests can be performed to determine if there are defective sensors at the corresponding smart floor tile112and/or the corresponding moulding section102that generated the data. Further, control actions may be performed such as resetting one or more components of the moulding section102and/or the smart floor tile112. In some embodiments, preference to certain data may be made by the cloud-based computing system116. For example, in one embodiment, preference for the impression tile data may be made over the moulding section sensor data and/or the image data, such that if the impression tile data differs from the moudling section sensor data and/or the image data, the impression tile data is used to perform path analytics.

FIG. 1Dillustrates another configuration of the moulding sections102. In this example, the moulding sections102E-102H surround a border of a smart window155. The moulding sections102are connected via the moulding connector110. As may be appreciated, the modular nature of the moulding sections102with the moulding connectors110enables forming a square around the window. Other shapes may be formed using the moulding sections102and the moulding connectors110.

The moulding sections102may be electrically and/or communicably connected to the smart window155via electrical conductors and/or interfaces. The moulding sections102may provide power to the smart window155, receive data from the smart window155, and/or transmit data to the smart window155. One example smart window includes the ability to change light properties using voltage that may be provided by the moulding sections102. The moulding sections102may provide the voltage to control the amount of light let into a room based on path analytics. For example, if the moulding section sensor data, impression tile data, and/or image data indicates a portion of the first room21includes a lot of people, the cloud-based computing system116may perform an action by causing the moulding sections102to instruct the smart window155to change a light property to allow light into the room. In some instances the cloud-based computing system116may communicate directly with the smart window155(e.g., electronic device13).

In some embodiments, the moulding sections102may use sensors to detect when the smart window155is opened. The moulding sections102may determine whether the smart window155opening is performed at an expected time (e.g., when a home owner is at home) or at an unexpected time (e.g., when the home owner is away from home). The moulding sections102, the camera50, and/or the smart floor tile112may sense the occupancy patterns of certain objects (e.g., people) in the space in which the moulding sections102are disposed to determine a schedule of the objects. The schedule may be referenced when determining if an undesired opening (e.g., break-in event) occurs and the moulding sections102may be communicatively to an alarm system to trigger the alarm when the certain event occurs.

The schedule may also be referenced when determining a medical condition of the person25. For example, if the schedule indicates that the person25went to the bathroom a certain number of times (e.g., 10) within a certain time period (e.g., 1 hour), the cloud-based computing system116may determine that the person has a urinary tract infection (UTI) and may perform an intervention, such as transmitting a message to the computing device12of the person25. The message may indicate the potential UTI and recommend that the person25schedules an appointment with a medical personnel.

As depicted, at least moulding section102F is electrically and/or communicably coupled to smart shades160. Again, the cloud-based computing system116may cause the moulding section102F to control the smart shades160to extend or retract to control the amount of light let into a room. In some embodiments, the cloud-based computing system116may communicate directly with the smart shades160.

FIG. 1Eillustrates another configuration of the moulding sections102and smart floor tiles112. In this example, the moulding sections102E-102H surround a majority of a border of a smart door170. The moulding sections102J,102K, and102L and/or the smart floor tile112may be electrically and/or communicably connected to the smart door170via electrical conductors and/or interfaces. The moulding sections102and/or smart floor tiles112may provide power to the smart door170, receive data from the smart door170, and/or transmit data to the smart door170. In some embodiments, the moulding sections102and/or smart floor tiles112may control operation of the smart door170. For example, if the moulding section sensor data and/or impression tile data indicates that no one is present in a house for a certain period of time, the moulding sections102and/or smart floor tiles112may determine a locked state of the smart door170and generate and transmit a control instruction to the smart door170to lock the smart door170if the smart door170is in an unlocked state.

In another example, the moulding section sensor data, impression tile data, and/or the image data may be used to generate gait profiles for people in a smart building (e.g., care facility). When a certain person is in the room near the smart door170, the cloud-based computing device116may detect that person's presence based on the data received from the smart floor tiles, moulding sections102, and/or camera50. In some embodiments, if the person25is detected near the smart door170, the cloud-based computing system116may determine whether the person25has a particular medical condition (e.g., alzheimers) and/or a flag is set that the person should not be allowed to leave the smart building. If the person is detected near the smart door170and the person25has the particular medical condition and/or the flag set, then the cloud-based computing system116may cause the moulding sections102and/or smart floor tiles112to control the smart door170to lock the smart door170. In some embodiments, the cloud-based computing system116may communicate directly with the smart door170to cause the smart door170to lock.

FIG. 2illustrates an example component diagram of a moulding section102according to certain embodiments of this disclosure. As depicted, the moulding section102includes numerous electrical conductors200, a processor202, a memory204, a network interface206, and a sensor208. More or fewer components may be included in the moulding section102. The electrical conductors may be insulated electrical wiring assemblies, communications cable assemblies, power supply assemblies, and so forth. As depicted, one electrical conductor200A may be in electrical communication with the power supply114, and another electrical conductor200B may be communicably connected to at least one smart floor tile112.

In various embodiments, the moulding section102further comprises a processor202. In the non-limiting example shown inFIG. 2, processor202is a low-energy microcontroller, such as the ATMEGA328P by Atmel Corporation. According to other embodiments, processor202is the processor provided in other processing platforms, such as the processors provided by tablets, notebook or server computers.

In the non-limiting example shown inFIG. 2, the moulding section102includes a memory204. According to certain embodiments, memory204is a non-transitory memory containing program code to implement, for example, generation and transmission of control instructions, networking functionality, the algorithms for generating and analyzing locations, presence, paths, and/or tracks, and the algorithms for performing path analytics as described herein.

Additionally, according to certain embodiments, the moulding section102includes the network interface206, which supports communication between the moulding section102and other devices in a network context in which smart building control using directional occupancy sensing and path analytics is being implemented according to embodiments of this disclosure. In the non-limiting example shown inFIG. 2, network interface206includes circuitry635for sending and receiving data using Wi-Fi, including, without limitation at 900 MHz, 2.8 GHz and 5.0 GHz. Additionally, network interface206includes circuitry, such as Ethernet circuitry640for sending and receiving data (for example, smart floor tile data) over a wired connection. In some embodiments, network interface206further comprises circuitry for sending and receiving data using other wired or wireless communication protocols, such as Bluetooth Low Energy or Zigbee circuitry. The network interface206may enable communicating with the cloud-based computing device116via the network20.

Additionally, according to certain embodiments, network interface206which operates to interconnect the moulding device102with one or more networks. Network interface206may, depending on embodiments, have a network address expressed as a node ID, a port number or an IP address. According to certain embodiments, network interface206is implemented as hardware, such as by a network interface card (NIC). Alternatively, network interface206may be implemented as software, such as by an instance of the java.net.NetworkInterface class. Additionally, according to some embodiments, network interface206supports communications over multiple protocols, such as TCP/IP as well as wireless protocols, such as 3G or Bluetooth. Network interface206may be in communication with the central communication device120inFIG. 1.

FIG. 3illustrates an example backside view300of a moulding section102according to certain embodiments of this disclosure. As depicted by the dots300, the backside of the moulding section102may include a fire-retardant backing layer positioned between the moulding section102and the wall to which the moulding section102is secured.

FIG. 4illustrates a network and processing context400for smart building control using directional occupancy sensing and path analytics according to certain embodiments of this disclosure. The embodiment of the network context400shown inFIG. 4is for illustration only and other embodiments could be used without departing from the scope of the present disclosure.

In the non-limiting example shown inFIG. 4, a network context400includes one or more tile controllers405A,405B and405C, an API suite410, a trigger controller420, job workers425A-425C, a database430and a network435.

According to certain embodiments, each of tile controllers405A-405C is connected to a smart floor tile112in a physical space. Tile controllers405A-405C generate floor contact data (also referred to as impression tile data herein) from smart floor tiles in a physical space and transmit the generated floor contact data to API suite410. In some embodiments, data from tile controllers405A-405C is provided to API suite410as a continuous stream. In the non-limiting example shown inFIG. 4, tile controllers405A-405C provide the generated floor contact data from the smart floor tile to API suite410via the internet. Other embodiments, wherein tile controllers405A-405C employ other mechanisms, such as a bus or Ethernet connection to provide the generated floor data to API suite410are possible and within the intended scope of this disclosure.

According to some embodiments, API suite410is embodied on a server128in the cloud-based computing system116connected via the internet to each of tile controllers405A-405C. According to some embodiments, API suite is embodied on a master control device, such as master control device600shown inFIG. 6of this disclosure. In the non-limiting example shown inFIG. 4, API suite410comprises a Data Application Programming Interface (API)415A, an Events API415B and a Status API215C.

In some embodiments, Data API415A is an API for receiving and recording tile data from each of tile controllers405A-405C. Tile events include, for example, raw, or minimally processed data from the tile controllers, such as the time and data a particular smart floor tile was pressed and the duration of the period during which the smart floor tile was pressed. According to certain embodiments, Data API415A stores the received tile events in a database such as database430. In the non-limiting example shown inFIG. 4, some or all of the tile events are received by API suite410as a stream of event data from tile controllers405A-405C, Data API415A operates in conjunction with trigger controller420to generate and pass along triggers breaking the stream of tile event data into discrete portions for further analysis.

According to various embodiments, Events API415B receives data from tile controllers405A-405C and generates lower-level records of instantaneous contacts where a sensor of the smart floor tile is pressed and released.

In the non-limiting example shown inFIG. 4, Status API415C receives data from each of tile controllers405A-405C and generates records of the operational health (for example, CPU and memory usage, processor temperature, whether all of the sensors from which a tile controller receives inputs is operational) of each of tile controllers405A-405C. According to certain embodiment, status API415C stores the generated records of the tile controllers' operational health in database430.

According to some embodiments, trigger controller420operates to orchestrate the processing and analysis of data received from tile controllers405A-405C. In addition to working with data API415A to define and set boundaries in the data stream from tile controllers405A-405C to break the received data stream into tractably sized and logically defined “chunks” for processing, trigger controller420also sends triggers to job workers425A-425C to perform processing and analysis tasks. The triggers comprise identifiers uniquely identifying each data processing job to be assigned to a job worker. In the non-limiting example shown inFIG. 4, the identifiers comprise: 1.) a sensor identifier (or an identifier otherwise uniquely identifying the location of contact); 2.) a time boundary start identifying a time in which the smart floor tile went from an idle state (for example, an completely open circuit, or, in the case of certain resistive sensors, a baseline or quiescent current level) to an active state (a closed circuit, or a current greater than the baseline or quiescent level); and 3.) a time boundary end defining the time in which a smart floor tile returned to the idle state.

In some embodiments, each of job workers425A-425C corresponds to an instance of a process performed at a computing platform, (for example, cloud-based computing system116inFIG. 1) for determining paths and performing an analysis of the paths (e.g., such as filtering paths based on criteria, recommending a location of an object based on the paths, predicting a propensity for a fall event and performing an intervention based on the propensity). Instances of processes may be added or subtracted depending on the number of events or possible events received by API suite410as part of the data stream from tile controllers405A-205C. According to certain embodiments, job workers425A-425C perform an analysis of the data received from tile controllers405A-405C, the analysis having, in some embodiments, two stages. A first stage comprises deriving footsteps, and paths, or tracks, from impression tile data. A second stage comprises characterizing those footsteps, and paths, or tracks, to determine gait characteristics of the person25. The paths and/or gait characteristics may be presented to an online dashboard (in some embodiments, provided by a UI on an electronic device, such as computing device12or15inFIG. 1) and to generate control signals for devices (e.g., the computing devices12and/or15, the electronic device15, the moulding sections102, the camera50, and/or the smart floor tile112inFIG. 1) controlling operational parameters of a physical space where the smart floor impression tile data were recorded.

In the non-limiting example shown inFIG. 4, job workers425A-425C perform the constituent processes of a method for analyzing smart floor tile impression tile data and/or moulding section sensor data to generate paths, or tracks. In some embodiments, an identity of the person25may be correlated with the paths or tracks. For example, if the person scanned an ID badge when entering the physical space, their path may be recorded when the person takes their first step on a smart floor tile and their path may be correlated with an identifier received from scanning the badge. In this way, the paths of various people may be recorded (e.g., in a convention hall). This may be beneficial if certain people have desirable job titles (e.g., chief executive officer (CEO), vice president, president, etc.) and/or work at desirable client entities. For example, in some embodiments, the path of a CEO may be tracked during a convention to determine which booths the CEO stopped at and/or an amount of time the CEO spent at each booth. Such data may be used to determine where to place certain booths in the future. For example, if a booth was visited by a threshold number of people having a certain title for a certain period of time, a recommendation may be generated and presented that recommends relocating the booth to a location in the convention hall that is more easily accessible to foot traffic. Likewise, if it is determined that a booth has poor visitation frequency based on the paths, or tracks, of attendees at the convention, a recommendation may be generated to relocate the booth to another location that is more easily accessible to foot traffic. In some embodiments, the machine learning models154may be trained to determine the paths, or tracks, of the people having various job titles and working for desired client entities, analyze their paths (e.g., which location the people visited, how long the people visited those locations, etc.), and generate recommendations.

According to certain embodiments, the method comprises the operations of obtaining impression image data, impression tile data, and/or moulding section sensor data from database430, cleaning the obtained image data, impression tile data, and/or moulding section sensor data and reconstructing paths using the cleaned data. In some embodiments, cleaning the data includes removing extraneous sensor data, removing gaps between image data, impression tile data, and/or moulding section sensor data caused by sensor noise, removing long image data, impression tile data, and/or moulding section sensor data caused by objects placed on smart floor tiles, by objects placed in front of moulding sections, by objects stationary in image data, by defective sensors, and sorting image data, impression tile data, and/or moulding section sensor data by start time to produce sorted image data, impression tile data, and/or moulding section sensor data. According to certain embodiments, job workers425A-425C perform processes for reconstructing paths by implementing algorithms that first cluster image data, impression tile data, and/or moulding section sensor data that overlap in time or are spatially adjacent. Next, the clustered data is searched, and pairs of image data, impression tile data, and/or moulding section sensor data that start or end within a few milliseconds of one another are combined into footsteps and/or locations of the object, which are then linked together to form footsteps and/or locations. Footsteps and/or locations are further analyzed and linked to create paths.

According to certain embodiments, database430provides a repository of raw and processed image data, smart floor tile impression tile data, and/or moulding section sensor data, as well as data relating to the health and status of each of tile controllers405A-405C and moulding sections102. In the non-limiting example shown inFIG. 4, database430is embodied on a server machine communicatively connected to the computing platforms providing API suite410, trigger controller420, and upon which job workers425A-425C execute. According to some embodiments, database430is embodied on the cloud-based computing system116as the database129.

In the non-limiting example shown inFIG. 4, the computing platforms providing trigger controller420and database430are communicatively connected to one or more network(s)20. According to embodiments, network20comprises any network suitable for distributing impression tile data, image data, moulding section sensor data, determined paths, determined gait deterioration of a parameter, determine propensity for a fall event, and control signals (e.g., interventions) based on determined propensities for fall events, including, without limitation, the internet or a local network (for example, an intranet) of a smart building.

Smart floor tiles utilizing a variety of sensing technologies, such as membrane switches, pressure sensors and capacitive sensors, to identify instances of contact with a floor are within the contemplated scope of this disclosure.FIG. 5illustrates aspects of a resistive smart floor tile500according to certain embodiments of the present disclosure. The embodiment of the resistive smart floor tile500shown inFIG. 5is for illustration only and other embodiments could be used without departing from the scope of the present disclosure.

In the non-limiting example shown inFIG. 5, a cross section showing the layers of a resistive smart floor tile500is provided. According to some embodiments, the resistance to the passage of electrical current through the smart floor tile varies in response to contact pressure. From these changes in resistance, values corresponding to the pressure and location of the contact may be determined. In some embodiments, resistive smart floor tile500may comprise a modified carpet or vinyl floor tile, and have dimensions of approximately 2′×2′.

According to certain embodiments, resistive smart floor tile500is installed directly on a floor, with graphic layer505comprising the top-most layer relative to the floor. In some embodiments, graphic layer505comprises a layer of artwork applied to smart floor tile500prior to installation. Graphic layer505can variously be applied by screen printing or as a thermal film.

According to certain embodiments, a first structural layer510is disposed, or located, below graphic layer505and comprises one or more layers of durable material capable of flexing at least a few thousandths of an inch in response to footsteps or other sources of contact pressure. In some embodiments, first structural layer510may be made of carpet, vinyl or laminate material.

According to some embodiments, first conductive layer515is disposed, or located, below structural layer510. According to some embodiments, first conductive layer515includes conductive traces or wires oriented along a first axis of a coordinate system. The conductive traces or wires of first conductive layer515are, in some embodiments, copper or silver conductive ink wires screen printed onto either first structural layer510or resistive layer520. In other embodiments, the conductive traces or wires of first conductive layer515are metal foil tape or conductive thread embedded in structural layer510. In the non-limiting example shown inFIG. 5, the wires or traces included in first conductive layer515are capable of being energized at low voltages on the order of 5 volts. In the non-limiting example shown inFIG. 5, connection points to a first sensor layer of another smart floor tile or to tile controller are provided at the edge of each smart floor tile500.

In various embodiments, a resistive layer520is disposed, or located, below conductive layer515. Resistive layer520comprises a thin layer of resistive material whose resistive properties change under pressure. For example, resistive layer320may be formed using a carbon-impregnated polyethylete film.

In the non-limiting example shown inFIG. 5, a second conductive layer525is disposed, or located, below resistive layer520. According to certain embodiments, second conductive layer525is constructed similarly to first conductive layer515, except that the wires or conductive traces of second conductive layer525are oriented along a second axis, such that when smart floor tile500is viewed from above, there are one or more points of intersection between the wires of first conductive layer515and second conductive layer525. According to some embodiments, pressure applied to smart floor tile500completes an electrical circuit between a sensor box (for example, tile controller425as shown inFIG. 4) and smart floor tile, allowing a pressure-dependent current to flow through resistive layer520at a point of intersection between the wires of first conductive layer515and second conductive layer525. The pressure-dependent current may represent a measurement of pressure and the measurement of pressure may be transmitted to the cloud-based computing system116.

In some embodiments, a second structural layer530resides beneath second conductive layer525. In the non-limiting example shown inFIG. 5, second structural layer530comprises a layer of rubber or a similar material to keep smart floor tile500from sliding during installation and to provide a stable substrate to which an adhesive, such as glue backing layer535can be applied without interference to the wires of second conductive layer525.

The foregoing description is purely descriptive and variations thereon are contemplated as being within the intended scope of this disclosure. For example, in some embodiments, smart floor tiles according to this disclosure may omit certain layers, such as glue backing layer535and graphic layer505described in the non-limiting example shown inFIG. 5.

According to some embodiments, a glue backing layer535comprises the bottom-most layer of smart floor tile500. In the non-limiting example shown inFIG. 5, glue backing layer535comprises a film of a floor tile glue.

FIG. 6illustrates a master control device600according to certain embodiments of this disclosure.FIG. 6illustrates a master control device600according to certain embodiments of this disclosure. The embodiment of the master control device600shown inFIG. 6is for illustration only and other embodiments could be used without departing from the scope of the present disclosure.

In the non-limiting example shown inFIG. 6, master control device600is embodied on a standalone computing platform connected, via a network, to a series of end devices (e.g., tile controller405A inFIG. 4) in other embodiments, master control device600connects directly to, and receives raw signals from, one or more smart floor tiles (for example, smart floor tile500inFIG. 5). In some embodiments, the master control device600is implemented on a server128of the cloud-based computing system116inFIG. 1Band communicates with the smart floor tiles112, the moulding sections102, the camera50, the computing device12, the computing device15, and/or the electronic device13.

According to certain embodiments, master control device600includes one or more input/output interfaces (I/O)605. In the non-limiting example shown inFIG. 6, I/O interface605provides terminals that connect to each of the various conductive traces of the smart floor tiles deployed in a physical space. Further, in systems where membrane switches or smart floor tiles are used as mat presence sensors, I/O interface605electrifies certain traces (for example, the traces contained in a first conductive layer, such as conductive layer515inFIG. 5) and provides a ground or reference value for certain other traces (for example, the traces contained in a second conductive layer, such as conductive layer525inFIG. 5). Additionally, I/O interface605also measures current flows or voltage drops associated with occupant presence events, such as a person's foot squashing a membrane switch to complete a circuit, or compressing a resistive smart floor tile, causing a change in a current flow across certain traces. In some embodiments, I/O interface605amplifies or performs an analog cleanup (such as high or low pass filtering) of the raw signals from the smart floor tiles in the physical space in preparation for further processing.

In some embodiments, master control device600includes an analog-to-digital converter (“ADC”)610. In embodiments where the smart floor tiles in the physical space output an analog signal (such as in the case of resistive smart floor tile), ADC610digitizes the analog signals. Further, in some embodiments, ADC610augments the converted signal with metadata identifying, for example, the trace(s) from which the converted signal was received, and time data associated with the signal. In this way, the various signals from smart floor tiles can be associated with touch events occurring in a coordinate system for the physical space at defined times. While in the non-limiting example shown inFIG. 6, ADC610is shown as a separate component of master control device600, the present disclosure is not so limiting, and embodiments wherein ADC610is part of, for example, I/O interface605or processor615are contemplated as being within the scope of this disclosure.

In various embodiments, master control device600further comprises a processor615. In the non-limiting example shown inFIG. 6, processor615is a low-energy microcontroller, such as the ATMEGA328P by Atmel Corporation. According to other embodiments, processor615is the processor provided in other processing platforms, such as the processors provided by tablets, notebook or server computers.

In the non-limiting example shown inFIG. 6, master control device600includes a memory620. According to certain embodiments, memory620is a non-transitory memory containing program code to implement, for example, APIs625, networking functionality and the algorithms for generating and analyzing paths described herein.

Additionally, according to certain embodiments, master control device600includes one or more Application Programming Interfaces (APIs)625. In the non-limiting example shown inFIG. 6, APIs625include APIs for determining and assigning break points in one or more streams of smart floor tile data and/or moulding section sensor data and defining data sets for further processing. Additionally, in the non-limiting example shown inFIG. 6, APIs625include APIs for interfacing with a job scheduler (for example, trigger controller420inFIG. 4) for assigning batches of data to processes for analysis and determination of paths. According to some embodiments, APIs625include APIs for interfacing with one or more reporting or control applications provided on a client device. Still further, in some embodiments, APIs625include APIs for storing and retrieving image data, smart floor tile data, and/or moulding section sensor data in one or more remote data stores (for example, database430inFIG. 4, database129inFIG. 1B, etc.).

According to some embodiments, master control device600includes send and receive circuitry630, which supports communication between master control device600and other devices in a network context in which smart building control using directional occupancy sensing is being implemented according to embodiments of this disclosure. In the non-limiting example shown inFIG. 6, send and receive circuitry630includes circuitry635for sending and receiving data using Wi-Fi, including, without limitation at 900 MHz, 2.8 GHz and 5.0 GHz. Additionally, send and receive circuitry630includes circuitry, such as Ethernet circuitry640for sending and receiving data (for example, smart floor tile data) over a wired connection. In some embodiments, send and receive circuitry630further comprises circuitry for sending and receiving data using other wired or wireless communication protocols, such as Bluetooth Low Energy or Zigbee circuitry.

Additionally, according to certain embodiments, send and receive circuitry630includes a network interface650, which operates to interconnect master control device600with one or more networks. Network interface650may, depending on embodiments, have a network address expressed as a node ID, a port number or an IP address. According to certain embodiments, network interface650is implemented as hardware, such as by a network interface card (NIC). Alternatively, network interface650may be implemented as software, such as by an instance of the java.net.NetworkInterface class. Additionally, according to some embodiments, network interface650supports communications over multiple protocols, such as TCP/IP as well as wireless protocols, such as 3G or Bluetooth.

FIG. 7Aillustrate an example of a method700for generating a path of a person in a physical space using smart floor tiles112according to certain embodiments of this disclosure. The method700may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method700and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method700. The method700may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method700may be performed by a single processing thread. Alternatively, the method700may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block702, the processing device may receive, at a first time in a time series, from a device (e.g., camera50, reader device, etc.) in a physical space (first room21), first data pertaining to an initiation event of the path of the object (e.g., person25) in the physical space. The first data may include an identity of the person, employment position of the person in an entity, a job title of the person, an entity identity that employs the person, a gender of the person, an age of the person, a timestamp of the data, and the like. The initiation event may correspond to the person checking in for an event being held in the physical space. In some embodiments, when the device is a camera50, the processing device may perform facial recognition techniques using facial image data received from the camera50to determine an identity of the person. The processing device may obtain information pertaining to the person based on the identity of the person. The information may include an entity for which the person works, an employment position of the person within the entity, or some combination thereof.

At block704, the processing device may receive, at a second time in the time series from one or more smart floor tiles112in the physical space, second data pertaining to a location event caused by the object in the physical space. The location event may include an initial location of the object in the physical space. The initial location may be generated by one or more detected forces at the one or more smart floor tiles112. The second data may be impression tile data received when the person steps onto a first smart floor tile112in the physical space. In some embodiments, the person may be standing on the first smart floor tile112when the initiation event occurs. That is, the initiation event and the location event may occur contemporaneously at substantially the same time in the time series. In some embodiments, the first time and the second time may differ less than a threshold period of time, or the first time and the second time may be substantially the same. The location event may include data pertaining to the one or more smart tiles112the object pressed, such as an identifier of the one or more smart floor tiles112, a timestamp of when the one or more smart floor tiles112changed from an idle state to an active state, a duration of being in the active state, and the like.

At block706, the processing device may correlate the initiation event and the initial location to generate a starting point of a path of the object in the physical space. In some embodiments, the starting point may be overlaid on a virtual representation of the physical space and the path of the object may be generated and presented in real-time or near real-time as the object moves around the physical space.

At block708, the processing device may receive, at a third time in the time series from the one or more smart floor tiles112in the physical space, third data pertaining to one or more subsequent location events caused by the object in the physical space. The one or more subsequent location events may include one or more subsequent locations of the object in the physical space. The one or more subsequent location events may include data pertaining to the one or more smart tiles112the object pressed, such as an identifier of the one or more smart floor tiles112, a timestamp of when the one or more smart floor tiles112changed from an idle state to an active state, a duration of being in the active state, and the like.

At block709, the processing device may generate the path of the object including the starting point and the one or more subsequent locations of the object.

FIG. 7Billustrates an example of a method710continued fromFIG. 7Aaccording to certain embodiments of this disclosure. The method710may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method710and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method710. The method710may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method710may be performed by a single processing thread. Alternatively, the method710may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block712, the processing device may receive, at a fourth time in the time series from a device (e.g., camera50, reader, etc.), fourth data pertaining to a termination event of the path of the object in the physical space.

At block714, the processing device may receive, at a fifth time in the time series from the one or more smart floor tiles112in the physical space, fifth data pertaining to another location event caused by the object in the physical space. The another location event may correspond to when the user leaves the physical space (e.g., by checking out with a badge or any electronic device). The another location event may include a final location of the object in the physical space. The another location event may include data pertaining to the one or more smart tiles112the object pressed, such as an identifier of the one or more smart floor tiles112, a timestamp of when the one or more smart floor tiles112changed from an idle state to an active state, a duration of being in the active state, and the like.

At block716, the processing device may correlate the termination event and the final location to generate a terminating point of the path of the object in the physical space.

At block718, the processing device may generate the path using the starting point, the one or more subsequent locations, and the terminating point of the object. Block718may result in the full path of the object in the physical space. The full path may be presented on a user interface of a computing device.

In some embodiments, the processing device may generate a second path for a second person in the physical space. The processing device may generate an overlay image by overlaying the path of the first person with the second path of the second object in a virtual representation of the physical space. The different paths may be represented using different or the same visual elements (e.g., color, boldness, etc.). The processing device may cause the overlay image to be presented on a computing device.

FIG. 8illustrates an example of a method800for filtering paths of objects presented on a display screen according to certain embodiments of this disclosure. The method800may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method800and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method800. The method800may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method800may be performed by a single processing thread. Alternatively, the method800may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block802, the processing device may receive a request to filter paths of objects depicted on a user interface of a display screen based on a criteria. The criteria may be employment position, job title, entity identity for which people work, gender, age, or some combination thereof.

At block804, the processing device may include at least one path that satisfies the criteria in a subset of paths and remove at least one path that does not satisfy the criteria from the subset of paths. For example, if the user selects to view paths of people having a manager position, the processing device may include the paths of all manager positions and remove other paths of people that do not have the manager position.

At block806, the processing device may cause the subset of paths to be presented on the display screen of a computing device. The subset of paths may provide an improved user interface that increases the user's experience using the computing device because it includes only the desired paths of people in the physical area. Further, computing resources may be reduced by generating the subset of paths because fewer paths may be generated based on the criteria. Also less data may be transmitted over the network to the computing device displaying the subset because there are fewer paths in the subset based on the criteria.

FIG. 9illustrates an example of a method900for presenting a longest path of an object in a physical space according to certain embodiments of this disclosure. The method900may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method900and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method900. The method900may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method900may be performed by a single processing thread. Alternatively, the method900may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block902, the processing device may receive a request to present a longest path of at least one object from the set of paths of the set of objects (e.g., people) based on a distance at least one object traveled, an amount of time the at least one object spent in the physical space, or some combination thereof.

At block904, the processing device may determine one or more zones the at least one object attended in the longest path. The one or more zones may be determined using a virtual representation of the physical space and selecting the zones including smart floor tiles112through which the path of the at least one object traversed.

At block906, the processing device may overlay the longest path of the at least one object on the one or more zones to generate a composite zone and path image.

At block908, the processing device may cause the composite zone and path image to be presented on a display screen of the computing device. In some embodiments, the shortest path may also be selected and presented on the display screen. The longest path and the shortest path may be presented concurrently. In some embodiments, any suitable length of path in any combination may be selected and presented on a virtual representation of the physical space as desired.

FIG. 10illustrates an example of a method1000for presenting amount of times objects spent at certain zones in a physical space according to certain embodiments of this disclosure. The method1000may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method1000and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method1000. The method1000may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method1000may be performed by a single processing thread. Alternatively, the method1000may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block1002, the processing device may generate a set of paths for a set of objects in the physical space. At block1004, the processing device may overlay the set of paths on a virtual representation of the physical space.

At block1006, the processing device may depict an amount of time spent at a zone of a set of zones along one of the set of paths when an input at the computing device is received that corresponds to the zone. In some embodiments, the user may select any point on the path of any person to determine the amount of time that person spent at a location at the selected point. Granular location and duration details may be provided using the data obtained via the smart floor tiles112.

FIG. 11illustrates an example of a method1100for determining where to place objects based on paths of people according to certain embodiments of this disclosure. The method1100may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method1100and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method1100. The method1100may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method1100may be performed by a single processing thread. Alternatively, the method1100may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block1102, the processing device may determine whether a threshold number of paths of a set of paths in the physical space include a threshold number of similar points in the physical space. At block1104, responsive to determining the threshold number of paths of the set of paths in the physical space include the at least one similar point in the physical space, the processing device may determine where to position a second object in the physical space. At block1106, the processing device may depict an amount of time spent at a zone of a set of zones along one of the set of paths when an input at the computing device is received that corresponds to the zone, a person, a path, a booth, or the like.

FIG. 12illustrates an example of a method1200for overlaying paths of objects based on criteria according to certain embodiments of this disclosure. The method1200may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method1200and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a computing device (e.g., any component (server128, training engine152, machine learning models154, etc.) of cloud-based computing system116ofFIG. 1B) implementing the method1200. The method1200may be implemented as computer instructions stored on a memory device and executable by the one or more processors. In certain implementations, the method1200may be performed by a single processing thread. Alternatively, the method1200may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods.

At block1202, the processing device may generate a first path with a first indicator based on a first criteria. The criteria may be job title, company name, age, gender, longest path, shortest path, etc. The first indicator may be a first color for the first path.

At block1204, the processing device may generate a second path with a second indicator based on a second criteria. At block1206, the processing device may generate an overlay image including the first path and the second path overlaid on a virtual representation of the physical space. At block1208, the processing device may cause the overlay image to be presented on a computing device.

FIG. 13Aillustrates an example user interface1300presenting paths1300and1304of people in a physical space according to certain embodiments of this disclosure. More particularly, the user interface1300presents a virtual representation of the first room21, for example, from an above perspective. The user interface1300presents the smart floor tiles112and/or moulding section102that are arranged in the physical space. The user interface1300may include a visual representation mapping various zones1306and1308including various booths in the physical space.

An entrance to the physical space may include a device1314at which the user checks in for the event being held in the physical space. The device1314may be a reader device and/or a camera50. The device1314may send data to the cloud-based computing system116to perform the methods disclosed herein.

For example, the data may be included in an initiation event that is used to generate a starting point of the path of the person. When the person enters the physical space, the person may press one or more first smart floor tiles112that transmit measurement data to the cloud-based computing system116. The measurement data may be included in a location event and may include an initial location of the person in the physical space. The initial location and the initiation event may be used to generate the starting position of the path of the person. The measurement data obtained by the smart floor tiles112and sent to the cloud-based computing system116may be used during later location events and a termination location event to generate a full path of the person.

As depicted, two starting points1310.1and1312.1are overlaid on a smart floor tile112in the user interface1300. Starting point1310.1is included as part of path1304and starting point1312.1is included as part of path1302. Termination points1310.2and1312.2. The termination point1310.2ends in zone1306and termination point1312.2ends in zone1308. If the user places the cursor or selects any portion of the path (e.g., using a touchscreen), additional details of the paths1304and1302may be presented. For example, a duration of time the person spent at any of the points in the paths1304may be presented.

FIG. 13Billustrates an example user interface1302presenting a filtered path of a person in a physical space according to certain embodiments of this disclosure. In some embodiments, the paths presented in the user interface1302may be filtered based on any suitable criteria. For example, the user may select to view the paths of a person having a certain employment positon (e.g., a chief level position), and the user interface1300presents the path1302of the person having the certain employment position and removes the path1304of the person that does not have that employment position.

FIG. 13Cillustrates an example user interface1304presenting information pertaining to paths of people in a physical space according to certain embodiments of this disclosure. As depicted, the user interface1340presents “Person A stayed at Zone B for 20 minutes”, “Zone C had the most number of people stop at it”, and “These paths represent the women aged 30-40 years old that attended the event.” As may be appreciated, the improve user interface1304may greatly enhance the experience of a user using the computing device15as the analytics enabled and disclosed herein may be very beneficial. Any suitable subset of paths may be generated using any suitable criteria.

FIG. 13Dillustrates an example user interface1370presenting other information pertaining to a path of a person in a physical space and a recommendation where to place an object in the physical space based on path analytics according to certain embodiments of this disclosure. As depicted, the user interface1370presents “The most common path included visiting Zone B then Zone A and then Zone C”. The cloud-based computing system116may analyze the paths by comparing them to determine the most common path, the least common path, the durations spent at each zone, booth, or object in the physical space, and the like.

The user interface1370also presents “To increase exposure to objects displayed at Zone A, position the objects at this location in the physical space”. A visual representation1372presents the recommended location for objects in Zone A relative to other Zones B, C, and D. Accordingly, the cloud-based computing system116may determine the ideal locations for increasing traffic and/or attendance in zones and may recommend where to locate the zones, the booths in the zones, and/or the objects displayed at particular booths based on path analytics performed herein.

FIG. 14illustrates an example computer system1400, which can perform any one or more of the methods described herein. In one example, computer system1400may include one or more components that correspond to the computing device12, the computing device15, one or more servers128of the cloud-based computing system116, the electronic device13, the camera50, the moulding section102, the smart floor tile112, or one or more training engines152of the cloud-based computing system116ofFIG. 1B. The computer system1400may be connected (e.g., networked) to other computer systems in a LAN, an intranet, an extranet, or the Internet. The computer system1400may operate in the capacity of a server in a client-server network environment. The computer system1400may be a personal computer (PC), a tablet computer, a laptop, a wearable (e.g., wristband), a set-top box (STB), a personal Digital Assistant (PDA), a smartphone, a camera, a video camera, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Some or all of the components computer system1400may be included in the camera50, the moulding section102, and/or the smart floor tile112. Further, while only a single computer system is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.

The computer system1400includes a processing device1402, a main memory1404(e.g., read-only memory (ROM), solid state drive (SSD), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory1406(e.g., solid state drive (SSD), flash memory, static random access memory (SRAM)), and a data storage device1408, which communicate with each other via a bus1410.

The computer system1400may further include a network interface device1412. The computer system1400also may include a video display1414(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), one or more input devices1416(e.g., a keyboard and/or a mouse), and one or more speakers1418(e.g., a speaker). In one illustrative example, the video display1414and the input device(s)1416may be combined into a single component or device (e.g., an LCD touch screen).

The data storage device1416may include a computer-readable medium1420on which the instructions1422embodying any one or more of the methodologies or functions described herein are stored. The instructions1422may also reside, completely or at least partially, within the main memory1404and/or within the processing device1402during execution thereof by the computer system1400. As such, the main memory1404and the processing device1402also constitute computer-readable media. The instructions1422may further be transmitted or received over a network via the network interface device1412.

The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. The embodiments disclosed herein are modular in nature and can be used in conjunction with or coupled to other embodiments, including both statically-based and dynamically-based equipment. In addition, the embodiments disclosed herein can employ selected equipment such that they can identify individual users and auto-calibrate threshold multiple-of-body-weight targets, as well as other individualized parameters, for individual users.