Information processing device and information processing method
The system classifies terminals by probe request patterns and uses machine learning to determine terminal counts, overcoming the challenge of randomized MAC addresses, ensuring accurate terminal and user number estimation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- NTT DOCOMO INC
- Filing Date
- 2024-10-28
- Publication Date
- 2026-05-07
AI Technical Summary
Existing systems struggle to accurately count the number of mobile terminals in an area due to the increasing use of randomized MAC addresses, making it difficult to grasp the number of mobile terminals based on MAC address detection.
An information processing apparatus and method that classifies terminals into types based on probe request information, determining the number of terminals using timing information and machine learning models to account for randomized MAC addresses.
Enables accurate determination of the number of terminals in an area even when MAC addresses are randomized, providing reliable estimates of terminal and potentially user counts.
Smart Images

Figure JP2024038301_07052026_PF_FP_ABST
Abstract
Description
Information Processing Apparatus and Information Processing Method
[0001] The present invention relates to an information processing apparatus and an information processing method.
[0002] Conventionally, it has been known to grasp the number of people in a certain area using probe requests of a wireless LAN sent from terminals such as smartphones. For example, Patent Document 1 discloses a waiting time estimation system that estimates the waiting time of an attraction based on congestion detection information including a MAC address for identifying each mobile terminal detected by a congestion detection terminal or the like.
[0003] Japanese Patent Application Laid-Open No. 2017-37477
[0004] However, from the perspective of privacy protection in recent years, the number of mobile terminals with randomized MAC addresses has been increasing. Therefore, the waiting time estimation system of Patent Document 1 has a problem that it is difficult to grasp the number of mobile terminals based on the MAC address.
[0005] The present invention has been made to solve the above problems, and an object thereof is to grasp the number of terminals in a first area even when the MAC address included in a probe request is randomized.
[0006] An information processing apparatus according to a preferred aspect of the present invention includes: an acquisition unit that acquires one or more pieces of probe request information regarding probe requests sent from each of one or more terminals located in a first area; a classification unit that classifies each of the one or more terminals into any one of a plurality of types based on the one or more pieces of probe request information acquired by the acquisition unit; and a determination unit that determines the number of the one or more terminals by acquiring the number of terminals in each of the plurality of types using first information indicating the acquisition timing of the one or more pieces of probe request information acquired by the acquisition unit.
[0007] A preferred embodiment of the present invention is an information processing method which acquires one or more probe request pieces of information relating to probe requests sent from each of one or more terminals located in a first area, classifies each of the one or more terminals into one of a plurality of types based on the acquired one or more probe request pieces of information, and determines the number of one or more terminals by acquiring the number of terminals in each of the plurality of types using first information indicating the timing of acquisition of the acquired one or more probe request pieces of information.
[0008] According to the information processing device and information processing method of the present invention, the number of terminals in the first area can be determined even when the MAC addresses included in the probe request are randomized.
[0009] This figure shows the overall configuration of a terminal count determination system including a terminal count determination device according to the first embodiment. This is a block diagram showing an example of the configuration of a terminal device in Figure 1. This figure shows the relationship between the number of probe request transmissions and the probe interval when the screen of a first type terminal device is on. This figure shows the relationship between the number of probe request transmissions and the probe interval when the screen of a first type terminal device is off. This is a block diagram showing an example of the configuration of a detection device in Figure 1. This is a block diagram showing an example of the configuration of a terminal count determination device in Figure 1. This is a schematic diagram showing an example of a neural network model applied to the first learning model according to the first embodiment. This figure shows an example of the repetition pattern of screen on and screen off during the first period for three terminal devices classified as type 1. This is a diagram of Figure 8 with the probe request transmission timing added. This is a diagram of the probe request transmission timings of the three terminal devices in Figure 9 superimposed. This is a schematic diagram showing an example of a neural network model applied to the second learning model according to the first embodiment. This figure shows an example of the estimated number of people in "Area A" displayed on the display device. This figure shows an example of the estimated number of people in "Area B" displayed on the display device. This figure shows an example of the estimated number of people in "Area C" displayed on the display device. This is a flowchart showing an example of the operation of the processing device in Figure 6. This is a schematic diagram showing an example of a neural network model applied to the fifth learning model according to modification 3.
[0010] 1. The configuration of the terminal number determination device according to the first embodiment of the present invention will be described below with reference to Figures 1 to 15.
[0011] 1.1. Configuration of the First Embodiment 1.1.1. Configuration of the Terminal Count Determination System Figure 1 is a diagram showing the overall configuration of the terminal count determination system 1, including the terminal count determination device 30 according to the first embodiment. The terminal count determination system 1 comprises a detection device 20, a terminal count determination device 30, and a communication network NET. Figure 1 shows three detection devices 20[1], 20[2], and 20[3].
[0012] The terminal number determination system 1 is a system that determines the number of terminal devices 10 located within a specific area and notifies the administrator of the determined number. The specific area includes public spaces such as commercial facilities, concert halls, and conference rooms, as well as private spaces such as offices and classrooms. The specific area is an example of Area 1.
[0013] Terminal device 10 includes n terminal devices 10[1], 10[2], ..., 10[k], ..., 10[n], where n is any natural number and k is any natural number smaller than n. In this embodiment, the configurations of terminal devices 10[1] to 10[n] are identical to each other. Note that terminal device 10 may include terminal devices with different configurations. Terminal device 10 is located within or outside a specific area.
[0014] A user using terminal device 10[1] is user U[1], a user using terminal device 10[2] is user U[2], a user using terminal device 10[k] is user U[k], and a user using terminal device 10[n] is user U[n]. When referring to an unspecified number of users or all users, user is also written as user U.
[0015] In Figure 1, there is a one-to-one correspondence between n terminal devices 10 and n users U, but a single user may possess multiple terminal devices. Also, Figure 1 assumes that all terminal devices 10 are active, i.e., powered on, but each terminal device 10[k] may be inactive, i.e., powered off. Furthermore, users U enter and exit specific areas.
[0016] The terminal device 10 includes personal computers, tablet devices, smartphones, smartwatches, etc.
[0017] A communication network (NET) is a telecommunications line, such as a mobile communication network, managed by a telecommunications carrier providing communication services. A communication network (NET) includes either or both wired and wireless communication networks. For example, a communication network (NET) may be connected via the Internet to other networks (not shown) managed by other telecommunications carriers.
[0018] In the terminal count determination system 1, the detection devices 20[1], 20[2], 20[3] and the terminal count determination device 30 are connected to each other via a communication network NET. Alternatively, the detection devices 20[1], 20[2], and 20[3] may be directly connected to the terminal count determination device 30 without using the communication network NET.
[0019] The detection device 20 is a device that detects probe requests sent from the terminal device 10[k]. The configurations of the three detection devices 20[1], 20[2], and 20[3] are identical to each other. In this embodiment, each of the three detection devices 20[1], 20[2], and 20[3] corresponds to one specific area.
[0020] In this embodiment, three detection devices 20[1], 20[2], and 20[3] are exemplified, but this number is merely an example, and the terminal number determination system 1 can be equipped with any number of detection devices 20. Furthermore, the detection devices 20 may include detection devices with configurations that are not identical to each other.
[0021] 1.1.2. Terminal Device Configuration Diagram 2 is a block diagram showing an example configuration of terminal device 10[k] in Figure 1. As shown in Figure 2, terminal device 10[k] comprises a processing unit 11, a storage device 12, a communication device 13, a display device 14, and an input device 15. Each element of terminal device 10[1] is interconnected by one or more buses for communicating information. Terminal device 10[k] is an example of a terminal.
[0022] The processing unit 11 is a processor that controls the entire terminal device 10[k], and is configured, for example, using one or more chips. The processing unit 11 is configured using a central processing unit (CPU) that includes, for example, interfaces with peripheral devices, arithmetic units, registers, etc. Some or all of the functions of the processing unit 11 may be implemented by hardware such as a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array). The processing unit 11 executes various processes in parallel or sequentially.
[0023] The storage device 12 is a recording medium that can be read from and written to by the processing device 11. The storage device 12 includes, for example, non-volatile memory and volatile memory. Non-volatile memory includes, for example, ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory), and EEPROM (Electrically Erasable Programmable Read Only Memory). Volatile memory includes, for example, RAM (Random Access Memory).
[0024] The storage device 12 stores multiple programs, including the control program PR1, which is executed by the processing unit 11. The storage device 12 also functions as a work area for the processing unit 11. The control program PR1 is a program that controls the entire processing unit 11.
[0025] The communication device 13 is hardware that acts as a transmitting and receiving device for communicating with other devices. The communication device 13 is also called, for example, a network device, a network controller, a network card, a communication module, etc. The communication device 13 may be equipped with a connector for wired connection and an interface circuit corresponding to the connector. The communication device 13 may also be equipped with a wireless communication interface. Examples of connectors and interface circuits for wired connection include products compliant with wired LAN, IEEE 1394, and USB. Examples of wireless communication interfaces include products compliant with wireless LAN and Bluetooth®.
[0026] The display device 14 is a device that displays images and text information. The display device 14 displays various images based on control by the processing device 11. For example, various display panels such as liquid crystal panels and organic EL (Electro-Luminescence) panels are preferably used as the display device 14.
[0027] The input device 15 accepts operations from user U[1]. For example, the input device 15 is configured to include a pointing device such as a keyboard, touchpad, touch panel, or mouse. If the input device 15 is configured to include a touch panel, it may also function as the display device 14.
[0028] The processing unit 11 functions as a receiving unit 111, a transmitting unit 112, an acquisition unit 113, and a display control unit 114, for example, by reading and executing the control program PR1 from the storage device 12.
[0029] The reception unit 111 receives user U[k] operations on the input device 15. User U[k] operations include, for example, tapping on the touch panel which is the input device 15.
[0030] The transmitting unit 112 transmits a probe request to an access point (not shown) via the communication device 13 at a predetermined timing.
[0031] A probe request is a signal transmitted from the terminal device 10[k] to search for access points in its vicinity before the terminal device 10[k] connects to a wireless LAN (Local Area Network) access point. When a nearby access point receives a probe request from the terminal device 10[k], it sends a probe response to the terminal device 10[k]. The terminal device 10[k] transmits probe requests at predetermined intervals until a wireless LAN connection is established with an access point.
[0032] According to the inventor's findings, the probe request transmission interval, which is the time interval at which probe requests are sent from the terminal device 10[k], differs depending on the model of the terminal device 10[k]. The model can also be referred to as the type. The trend in the probe request transmission interval can be broadly classified according to the manufacturer of the terminal device 10[k] and the type of OS (Operating System) incorporated into the terminal device 10[k]. According to the inventor's research, commercially available smartphones can be broadly classified into three types, Type 1, Type 2, and Type 3, based on the trend in the probe request transmission interval. The probe request transmission interval will also be referred to as the probe interval below.
[0033] The trend in probe spacing will be explained below with reference to Figures 3 and 4. In the following explanation, the first type terminal device 10[k], the second type terminal device 10[k], and the third type terminal device 10[k] may be referred to as type A, type S, and type G, respectively. In this embodiment, the terminal device 10[k] has been broadly classified into three types for explanation, but the number of types used to classify the terminal device 10[k] is not limited to three.
[0034] Figure 3 shows the relationship between the number of probe request transmissions and the probe interval when the screen of the first type terminal device 10[k] is on. "Screen on" means that the display device 14 of the terminal device 10[k] is lit. Generally, when the display device 14 of the terminal device 10[k] is lit, it can be said that it is in an active state.
[0035] In Figure 3, the horizontal axis of the graph represents the number of probe requests sent, and the vertical axis represents the probe interval. The circular plots represent the results of the first measurement, and the square plots represent the results of the second measurement. For example, in the first measurement, if the number of probe requests sent is "1", the probe interval is 5 seconds. This means that the next probe request was sent 5 seconds after the previous probe request was sent. For example, if the number of probe requests sent is "2", the probe interval is 6 seconds. For example, if the number of probe requests sent is "12", the probe interval is 60 seconds.
[0036] As shown in Figure 3, in both the first and second measurements, when the screen is turned on, the probe interval is approximately 5 seconds at the beginning of the probe request transmission, but there is a tendency for the probe interval to gradually increase as the number of probe requests transmitted increases.
[0037] Figure 4 shows the relationship between the number of probe requests sent and the probe interval when the screen of the first type terminal device 10[k] is off. "Screen off" means that the display device 14 of the terminal device 10[k] is turned off. Generally, the state in which the display device 14 of the terminal device 10[k] is turned off can be said to be a sleep state.
[0038] In sleep mode, power consumption in the terminal device 10[k] is reduced, and user U[k] errors, unintended malfunctions, etc., are prevented. When the input device 15 is operated by user U[k] in sleep mode, the display device 14 lights up, and the terminal device 10[k] wakes up from sleep mode. In addition, if a phone call is received or a push notification is received while in sleep mode, the terminal device 10[k] will also wake up from sleep mode to active mode.
[0039] In Figure 4, as in Figure 3, the horizontal axis of the graph represents the number of probe requests sent. The vertical axis of the graph represents the probe request interval. The probe request interval will also be referred to as the probe interval below. The circular plots represent the results of the first measurement, and the square plots represent the results of the second measurement. For example, in the first measurement, if the number of probe requests sent is "1", the probe interval is 100 seconds. If the number of probe requests sent is "2", the probe interval is 3 seconds. If the number of probe requests sent is "3", the probe interval is 3 seconds. If the number of probe requests sent is "4", the probe interval is 270 seconds.
[0040] As shown in Figure 4, in both the first and second measurements, when the screen is off, there is a tendency for the probe interval to alternate irregularly between a few seconds and 100 seconds or more.
[0041] Therefore, as can be seen from Figures 3 and 4, even with the same terminal device 10[k], the trend in the probe interval pattern when the screen is on and the trend in the probe interval pattern when the screen is off are different from each other. In other words, the timing of sending probe requests differs between the sleep state and the active state of the terminal device 10[k].
[0042] Although not shown in the diagram, the probe interval of the S-type device when the screen is on tends to change regularly. For example, the probe interval of the S-type device when the screen is on changes to 15 seconds the first time, 30 seconds the second time, and 60 seconds the third time. The probe interval of the S-type device when the screen is off is different from the probe interval of the same type device when the screen is on. Also, the probe interval of the S-type device when the screen is off tends to be longer than the probe interval of the A-type device when the screen is off.
[0043] Furthermore, although a detailed explanation will be omitted, the probe spacing of the G-type device when the screen is on is different from the probe spacing of the A-type device and the S-type device when the screen is on. The probe spacing of the G-type device when the screen is off is also different from the probe spacing of the A-type device when the screen is off.
[0044] Referring again to FIG. 2, the acquisition unit 113 acquires a probe response from an access point via the communication device 13. The probe response is a response from the access point to the probe request. The access point transmits a probe response to the terminal device 10[k] when the ESSID (Extended Service Set Identifier) included in the probe request matches its own ESSID.
[0045] The display control unit 114 causes the display device 14 to display various information based on the various information acquired by the acquisition unit 113. When the reception unit 111 receives a tap operation on the input device 15 by the user U[k] in the screen-off state, the display control unit 114 changes the state of the display device 14 from the screen-off state to the screen-on state. When the reception unit 111 does not receive a tap operation on the input device 15 by the user U[k] for a certain period in the screen-on state, the display control unit 114 changes the state of the display device 14 from the screen-on state to the screen-off state.
[0046] 1.1.3. Configuration of the Detection Device FIG. 5 is a block diagram showing a configuration example of the detection device 20 in FIG. 1. As shown in FIG. 5, the detection device 20 includes a processing device 21, a storage device 22, a communication device 23, and a receiving device 24. Each element included in the detection device 20 is interconnected by one or more buses for communicating information.
[0047] The processing device 21 is a processor that controls the entire detection device 20 and is configured using, for example, one or more chips. The processing device 21 is configured using, for example, a central processing unit (CPU) including an interface with peripheral devices, an arithmetic unit, and registers. Note that some or all of the functions of the processing device 21 may be implemented by hardware such as a DSP, an ASIC, a PLD, or an FPGA. The processing device 21 executes various processes in parallel or sequentially.
[0048] The storage device 22 is a recording medium that can be read from and written to by the processing device 21. The storage device 22 includes, for example, a non-volatile memory and a volatile memory. The non-volatile memory is, for example, a ROM, an EPROM, or an EEPROM. The volatile memory is, for example, a RAM.
[0049] The storage device 22 stores a plurality of programs including a control program PR2 to be executed by the processing device 21. Also, the storage device 22 functions as a work area for the processing device 21.
[0050] The communication device 23 is hardware as a transmission / reception device for communicating with other devices. The communication device 23 is also called, for example, a network device, a network controller, a network card, a communication module, etc. The communication device 23 may include a connector for a wired connection and an interface circuit corresponding to the connector. Also, the communication device 23 may include a wireless communication interface. Examples of the connector for a wired connection and the interface circuit include products compliant with a wired LAN, IEEE1394, and USB. Examples of the wireless communication interface include products compliant with a wireless LAN and Bluetooth (registered trademark).
[0051] The receiving device 24 receives a modulated wave including a probe request. The receiving device 24 demodulates the received modulated wave into an analog signal, then converts it into a digital signal, and outputs it to the processing device 21 as a signal of the probe request. The receiving device 24 measures the reception intensity of the received modulated wave and outputs the measured value to the processing device 21.
[0052] The processing device 21 functions as an acquisition unit 211, a hashing unit 212, and a transmission unit 213 by, for example, reading and executing the control program PR2 from the storage device 22.
[0053] The acquisition unit 211 acquires a signal of a probe request from the receiving device 24. The probe request includes the MAC (Media Access Control) address of the terminal device 10[k] that sends the probe request among one or more terminal devices 10. The MAC address is an example of a physical address.
[0054] The hashing unit 212 generates a hash value from the MAC address included in the probe request obtained by the acquisition unit 211 according to a certain calculation procedure. The hashing unit 212 replaces the MAC address with the generated hash value. Therefore, the probe request information does not include the MAC address of terminal device 10[k], but includes information in which the MAC address of terminal device 10[k] has been hashed. MAC addresses include fixed MAC addresses and random MAC addresses, but the hashing unit 212 uniformly replaces them with a hash value regardless of whether they are fixed MAC addresses or random MAC addresses.
[0055] The transmitting unit 213 transmits probe request information, in which the MAC address has been replaced with a hash value, to the terminal number determination device 30. The transmitting unit 213 also transmits identifier information, including an identifier indicating the detection device 20 itself or a specific area, and RSSI (Received Signal Strength Indication) information, including a measurement of the received signal strength, along with the probe request information. In this example, there is a one-to-one correspondence between one detection device 20 and one specific area. Furthermore, the privacy of user U is protected by hashing the MAC address.
[0056] 1.1.4. Configuration of the Terminal Count Determination Device Figure 6 is a block diagram showing an example configuration of the terminal count determination device 30 shown in Figure 1. As shown in Figure 6, the terminal count determination device 30 comprises a processing device 31, a storage device 32, a communication device 33, and a display device 34. Each element of the terminal count determination device 30 is interconnected by one or more buses for communicating information. The terminal count determination device 30 is an example of an information processing device.
[0057] The processing unit 31 is a processor that controls the entire terminal number determination device 30, and is configured, for example, using one or more chips. The processing unit 31 is configured, for example, using a central processing unit (CPU) that includes an interface with peripheral devices, an arithmetic unit, and registers. Some or all of the functions of the processing unit 31 may be implemented by hardware such as a DSP, ASIC, PLD, FPGA, etc. The processing unit 31 executes various processes in parallel or sequentially.
[0058] The storage device 32 is a recording medium that can be read from and written to by the processing device 31. The storage device 32 includes, for example, non-volatile memory and volatile memory. The non-volatile memory is, for example, ROM, EPROM, and EEPROM. The volatile memory is, for example, RAM.
[0059] The storage device 32 stores multiple programs, including the control program PR3 for execution by the processing device 31, as well as the first learning model LM1, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4. The storage device 32 also functions as a work area for the processing device 31. The first learning model LM1, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4 will be described below. Note that the first learning model LM1, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4 are generated in the learning unit 315, which will be described later.
[0060] The first learning model LM1 is a model that classifies the type of terminal device 10[k] into one of three predetermined types based on the input of probe request information related to the probe request sent from the terminal device 10[k].
[0061] The probe request information includes the length of the probe request frame, i.e., the signal length of the probe request. The signal length of the probe request tends to differ for each of the three types of terminal devices 10[k]: Type 1, Type 2, and Type 3, with the exception of some models. Therefore, the three types of terminal devices 10[k] can be classified to some extent by the signal length of the probe request.
[0062] Furthermore, the probe request information includes information about the corresponding radio frequency, manufacturer-specific information for each terminal device 10[k], etc. Therefore, the three types of terminal devices 10[k] can be classified more accurately based on the signal length of the probe request, information about the corresponding radio frequency, manufacturer-specific information, etc.
[0063] For example, the first learning model LM1 uses a machine learning model capable of multi-class classification. This multi-class classification machine learning model is trained using methods such as neural network models, logistic regression, and support vector machines. Below, we will explain a machine learning method using a neural network model as an example.
[0064] Figure 7 is a schematic diagram showing an example of a neural network model 90 applied to the first learning model LM1 according to the first embodiment.
[0065] The neural network model 90 receives probe request information as input data.
[0066] The neural network model 90 is composed of convolutional neural networks, recurrent neural networks, and the like.
[0067] The neural network model 90 outputs output data that includes the type of terminal device 10[k].
[0068] When training data is input to the neural network model 90, the neural network model 90 learns the correlation between the input data, which is probe request information, and the output data, which is the type of terminal device 10[k]. The input data and output data that constitute the training data are also referred to as explanatory variables and target variables, respectively.
[0069] More specifically, the probe request information, which is an explanatory variable, is input to the neural network model 90 as input data.
[0070] An evaluation function is used to compare the output data output as an inference result from the neural network model 90, i.e., the type of terminal device 10[k], with the output data that constitutes the training data, i.e., the correct label of the type of terminal device 10[k]. The weights associated with each synapse are repeatedly adjusted so that the value of the evaluation function becomes small. This adjustment of the weights associated with each synapse is called backpropagation. In this way, a first learning model LM1 is trained to perform multi-class classification in which probe request information is classified into three types included in the correct label, i.e., type 1, type 2, and type 3.
[0071] When predetermined learning termination conditions are met, machine learning is terminated, and the neural network model 90 at that point is stored in the memory device 32 as the trained first learning model LM1. The predetermined learning termination conditions include, for example, the number of iterations of the series of machine learning processes described above reaching a predetermined number, or the value of the evaluation function becoming smaller than an acceptable value.
[0072] The method for generating the second learning model LM2 according to the first embodiment will be described below with reference to Figures 8 to 11. The second learning model LM2 is a model that outputs the number of Type A devices when probe timing information is input in response to a probe request sent from a terminal device 10 classified as Type 1, i.e., a Type A device.
[0073] Figure 8 shows an example of the repeated screen-on and screen-off patterns during the first period T1 for three terminal devices classified as Type 1. In Figure 8, the three terminal devices are indicated as "Terminal Device #1", "Terminal Device #2", and "Terminal Device #3".
[0074] As mentioned above, even with the same terminal device, the probe interval when the screen is on and the probe interval when the screen is off differ from each other. Therefore, it is preferable to consider both the probe interval when the screen is on and the probe interval when the screen is off when generating the second learning model LM2. Accordingly, in this embodiment, in the first period T1, the second learning model LM2 is trained using a pattern in which three terminal devices alternately turn the screen on and off at different timings. When the screen is off, the terminal device 10[k] is in a sleep state. When there is an operation by user U[k], an incoming call, a push notification, etc., in the sleep state, the terminal device 10[k] wakes up from the sleep state and turns the screen on. Note that the repeating pattern shown in Figure 8 is just an example, and it does not always repeat at the timing shown in Figure 8. The first period T1 is, for example, 10 minutes.
[0075] Figure 9 is a diagram of Figure 8 with the probe request transmission timing added. The probe request transmission timing is indicated by an oval mark. As mentioned above, even for terminal devices of the same type, the probe request transmission timing may differ depending on the terminal device manufacturer. Also, the interval for sending probe requests when the screen is on is shorter than the interval for sending probe requests when the screen is off.
[0076] Figure 10 is a diagram showing the superimposed probe request transmission timings of the three terminal devices in Figure 9. The probe request transmission timings in the first period T1 shown in Figure 10 correspond to the learning logs of the three terminal devices classified as type 1. These learning logs are associated with the number of terminal devices 10, i.e., three. For the sake of simplicity, the explanation uses the transmission timings of probe requests sent by each of the three terminal devices, but in reality, the timing used as the learning log is the acquisition timing of the probe request information acquired by the acquisition unit 311 described later in the first period T1. The acquisition timing of the probe request information is substantially equal to the transmission timing of the probe request.
[0077] The learning unit 315 creates 100 different learning logs, for example, for the case where the number of terminal devices classified as Type 1, i.e., Type A devices, ranges from 1 to 100. The learning unit 315 uses these 100 learning logs, each associated with the number of terminal devices, to train the machine learning model to determine the relationship between the number of Type A devices and the learning logs. The machine learning model is trained using methods such as a neural network model or logistic regression. Below, a machine learning method using a neural network model will be described as an example.
[0078] In this embodiment, 100 different learning logs are used, with the number of Type A devices ranging from 1 to 100. However, the number of learning logs is not particularly limited. The number of Type A devices does not need to be limited to 1 to 100; it can be determined appropriately according to the size of the specific area. Furthermore, two or more learning logs with the same number of Type A devices may be prepared.
[0079] Figure 11 is a schematic diagram showing an example of a neural network model 100 applied to the second learning model LM2 according to the first embodiment.
[0080] The neural network model 100 receives training logs as input data. The neural network model 100 is composed of a convolutional neural network, a recurrent neural network, and the like.
[0081] The neural network model 100 outputs output data that includes the number of Type A devices.
[0082] When training data is input to the neural network model 100, the neural network model 100 learns the correlation between the input data, which is the training log, and the output data, which is the number of Type A devices. The input data and output data that make up the training data are also called explanatory variables and target variables, respectively.
[0083] More specifically, the training logs, which are explanatory variables, are input to the neural network model 100 as input data.
[0084] An evaluation function is used to compare the output data output as an inference result from the neural network model 100, i.e., the number of Type A devices, with the output data that constitutes the training data, i.e., the correct label for the number of Type A devices. The weights associated with each synapse are repeatedly adjusted so that the value of the evaluation function becomes smaller. In this way, a second learning model LM2 that estimates the number of terminal devices from probe timing is trained.
[0085] When predetermined learning termination conditions are met, machine learning is terminated, and the neural network model 100 at that point is stored in the memory device 32 as the trained second learning model LM2. The predetermined learning termination conditions include, for example, the number of iterations of the series of machine learning processes described above reaching a predetermined number, or the value of the evaluation function becoming smaller than an acceptable value. The second learning model LM2 has already learned the relationship between the transmission timing in the sleep state, the transmission timing in the active state, and one or more terminal devices 10 used for learning.
[0086] The third learning model, LM3, is a model that outputs the number of S-type devices when it receives information regarding the timing of probe requests sent from terminal devices classified as Type 2, i.e., S-type devices.
[0087] The third learning model LM3 learns the relationship between the timing of probe requests sent from S-type devices and the number of S-type devices. The method for generating the third learning model LM3 is the same as that for generating the second learning model LM2, so a detailed explanation is omitted.
[0088] The fourth learning model, LM4, is a model that outputs the number of G-type devices when it receives information regarding the timing of probe requests sent from terminal devices classified as type 3, i.e., G-type devices.
[0089] The fourth learning model LM4 learns the relationship between the timing of probe requests sent from the G-type device and the number of S-type devices. The method for generating the fourth learning model LM4 is the same as that for generating the second learning model LM2 and the third learning model LM3, so a detailed explanation is omitted.
[0090] Referring again to Figure 6, the communication device 33 is hardware acting as a transmitting and receiving device for communicating with other devices. The communication device 33 is also called, for example, a network device, network controller, network card, communication module, etc. The communication device 33 may be equipped with a connector for wired connection and an interface circuit corresponding to the connector. The communication device 33 may also be equipped with a wireless communication interface. Examples of connectors and interface circuits for wired connection include products compliant with wired LAN, IEEE 1394, and USB. Examples of wireless communication interfaces include products compliant with wireless LAN and Bluetooth®.
[0091] The display device 34 is a device that displays images and text information. The display device 34 displays various images based on control by the processing device 11. For example, various display panels such as liquid crystal panels and organic EL panels are preferably used as the display device 34.
[0092] The processing unit 31 functions as an acquisition unit 311, a classification unit 312, a determination unit 313, an estimation unit 314, a learning unit 315, and a display control unit 316, for example, by reading and executing the control program PR3 from the storage device 32.
[0093] The acquisition unit 311 acquires probe request information, identifier information, and signal strength information from the detection device 20 via the communication device 33. The probe request information is information about probe requests sent from each of the one or more terminal devices 10 located in a specific area. The probe request information includes information about the signal length of the probe request sent from each of the one or more terminal devices 10. As mentioned above, the MAC address included in the probe request information is hashed. Furthermore, the timing for acquiring probe request information for probe requests sent from terminal devices 10[k] in a sleep state is different from the timing for acquiring probe request information for probe requests sent from terminal devices 10[k] in an active state (not in a sleep state).
[0094] The acquisition unit 311 determines from the identifier information and RSSI information whether the acquired probe request information was transmitted from a terminal device 10[k] within a specific area. More specifically, the acquisition unit 311 identifies a detection device 20 corresponding to a specific area based on the identifier information. Based on the RSSI information corresponding to the terminal device 10[k] associated with the identified detection device 20, the acquisition unit 311 determines that terminal devices 10[k] with a received signal strength above a threshold are terminal devices located within the specific area.
[0095] When the classification unit 312 determines that the probe request information acquired by the acquisition unit 311 was transmitted from a terminal device 10 [k] within a specific area, it classifies each of the one or more terminal devices 10 into one of several categories based on the probe request information. The categories correspond to the differences in the models of the one or more terminal devices 10.
[0096] The probe request information includes information regarding the signal length of the probe request sent from each of the one or more terminal devices 10. The classification unit 312 determines the signal length of the probe request sent from each of the one or more terminal devices 10 from the probe request information. Based on the determined signal length of the probe request, the classification unit 312 classifies each of the one or more terminal devices 10 into one of three types, namely Type 1, Type 2, and Type 3.
[0097] The determination unit 313 determines the number of terminal devices 10 [k] for each of the multiple types by using probe timing information indicating the acquisition timing of probe request information acquired by the acquisition unit 311. The probe timing information includes multiple probe timing information that corresponds one-to-one with the multiple types. In other words, the probe timing information includes first probe timing information corresponding to the first type, second probe timing information corresponding to the second type, and third probe timing information corresponding to the third type. The probe timing information is an example of the first information.
[0098] The determination unit 313 determines the number of one or more terminal devices 10 in a specific area using learning models prepared for each of several types, namely the second learning model LM2, the third learning model LM3, and the fourth learning model LM4. As described above, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4 have already learned the relationship between the timing of acquiring learning probe request information and the number of learning terminal devices 10. The timing of acquiring learning probe request information includes the timing of acquiring first probe request information for a first probe request sent when the terminal device 10 is in a sleep state, and the timing of acquiring second probe request information for a second probe request sent when the terminal device 10 is in an active state.
[0099] More specifically, the determination unit 313 inputs first probe timing information to the second learning model LM2, thereby acquiring the number of terminal devices 10 output from the second learning model LM2 as the number of Type A devices. The determination unit 313 inputs second probe timing information to the third learning model LM3, thereby acquiring the number of terminal devices 10 output from the third learning model LM3 as the number of Type S devices. The determination unit 313 inputs third probe timing information to the fourth learning model LM4, thereby acquiring the number of terminal devices 10 output from the fourth learning model LM4 as the number of Type G devices. The determination unit 313 determines that the sum of the number of Type A devices, the number of Type S devices, and the number of Type G devices is the number of terminal devices 10 [k] located in a specific area.
[0100] The estimation unit 314 estimates the number of people in a specific area based on the number of terminal devices 10 located in the specific area and second information, which has been acquired in advance and shows the usage status of terminal devices owned by each of multiple users.
[0101] Depending on the usage status of terminal device 10, the number of users U in a particular area may not match the number of terminal devices 10. For example, if one user U possesses two or more terminal devices 10, if user U has disabled the wireless LAN function of terminal device 10, or if user U has intentionally or unintentionally turned off the power of terminal device 10, the two will not match. Also, the amount of time users U spend in a particular area differs from area to area. The second information is information based on the usage status of terminal devices, which has been acquired in advance using statistical data. The second information includes, for example, a correction coefficient.
[0102] The estimation unit 314 estimates the number of people in a specific area by multiplying the number of terminal devices 10[k] located in the specific area determined by the determination unit 313 by a correction coefficient included in the second information. The correction coefficient is determined in advance by analyzing the usage status of user U's terminal devices 10 from past statistics. Past statistics may be based on the results of a survey of people's behavior in the specific area, or, if the specific area is a commercial facility, on the results of a survey of people's behavior in multiple commercial facilities.
[0103] The correction factor may be a constant value, but it may also be changed depending on the day of the week or the time of day. Furthermore, the correction factor may be changed depending on weather conditions such as the weather.
[0104] If the number of terminal devices 10[k] located in a specific area determined by the determination unit 313 increases or decreases rapidly, the estimation unit 314 does not include the rapidly increased or decreased amount in the estimated value.
[0105] The learning unit 315 generates the first learning model LM1, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4. Note that the terminal number determination device 30 does not necessarily have to include the learning unit 315. The first learning model LM1, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4 may be learned offline.
[0106] The display control unit 316 displays the number of people in a specific area estimated by the estimation unit 314 on the display device 34. Figure 12 shows an example of the estimated number of people in "Area A" displayed on the display device 34. "Area A" is one of the specific areas. The estimated number is the number of people in the estimated specific area.
[0107] As shown in Figure 12, the display image IM1 shows the area name 501, the number of probe requests 502, the estimated number of people 503, an icon 504, etc. The area name 501 is "Area A". The number of probe requests 502 indicates the number of terminal devices 10 in "Area A" determined by the determination unit 313. In the example in Figure 12, the number of probe requests 502 is 2, and the estimated number of people is 2. The icon 504 indicates the congestion level of "Area A". In the example in Figure 12, the icon 504 indicates a low congestion level. In addition, the background color of the display image IM1 is changed according to the congestion level. In the example in Figure 12, the background color of the display image IM1 is green.
[0108] Figure 13 shows an example of the estimated number of people in "Area B" displayed on the display device 34. "Area B" is one of the specific areas. As shown in Figure 13, the display image IM2 shows the area name 601, the number of probe requests obtained 602, the estimated number of people 603, an icon 604, etc. The area name 601 is "Area B". In the example in Figure 13, the number of probe requests obtained 602 is 10, and the estimated number of people is 5. The icon 604 indicates the level of congestion in "Area B". In the example in Figure 13, the icon 604 indicates that the level of congestion is moderate. The background color of the display image IM2 is orange.
[0109] Figure 14 shows an example of the estimated number of people in "Area C" displayed on the display device 34. "Area C" is one of the specific areas. As shown in Figure 14, the display image IM3 shows the area name 701, the number of probe requests acquired 702, the estimated number of people 703, an icon 704, etc. The area name 701 is "Area C". In the example in Figure 14, the number of probe requests acquired 702 is 10, and the estimated number of people is 5. The icon 704 indicates the level of congestion in "Area C". In the example in Figure 14, the icon 704 indicates a high level of congestion. The background color of the display image IM3 is red.
[0110] Note that the display images IM1, IM2, and IM3 shown in Figures 12 to 14 are merely examples, and the manner in which the estimated number of people is displayed is not limited to these. For example, the probe request acquisition numbers 502, 602, and 702 do not necessarily have to be displayed, and the icons 504, 604, and 704 do not necessarily have to be displayed. Also, the background color of the display images IM1, IM2, and IM3 does not have to change according to the level of congestion, and the background color may be a color other than green, orange, and red.
[0111] 1.2. Operation of the Terminal Count Determination Device According to the First Embodiment 1.2.1. First Operation Diagram 15 of the Processing Unit 31 is a flowchart illustrating an example of the operation of the processing unit 31 in Figure 6. The operation of the processing unit 31 will be described below with reference to Figure 15. The routine in Figure 15 is started, for example, when the processing unit 31 is started up, and is executed at regular intervals.
[0112] In step S11, the processing unit 31 functions as an acquisition unit 311 to acquire probe request information from the detection device 20.
[0113] In step S12, the processing unit 31, functioning as an acquisition unit 311, determines whether the terminal device 10 that sent the probe request information is located in a specific area. Specifically, the processing unit 31 determines whether the terminal device 10 that sent the probe request information is located in a specific area based on the identifier information and RSSI information acquired along with the probe request information.
[0114] If the terminal device 10 that sent the probe request information is determined not to be located in the specified area, that is, if the determination result in step S12 is negative, the processing unit 31 terminates this routine. In other words, in this case, the terminal device 10 that is not located in the specified area is not included in the determination of the number of devices.
[0115] On the other hand, if the terminal device 10 that sent the probe request information is determined to be located in a specific area, that is, if the determination result in step S12 is positive, the processing unit 31 functions as a classification unit 312 and inputs the probe request information to the first learning model LM1 in step S13.
[0116] In step S14, the processing unit 31 functions as a classification unit 312 and classifies the terminal device 10 into one of three types, namely type 1, type 2, and type 3, based on the output of the first learning model LM1.
[0117] In step S15, the processing unit 31 functions as a determination unit 313 and inputs probe timing information for each classified type into one of the second learning model LM2, the third learning model LM3, and the fourth learning model LM4. Specifically, the processing unit 31 inputs the first probe timing information of terminal devices 10 classified as type 1 into the second learning model LM2, the second probe timing information of terminal devices 10 classified as type 2 into the third learning model LM3, and the third probe timing information of terminal devices 10 classified as type 3 into the fourth learning model LM4.
[0118] In step S16, the processing unit 31 functions as a determination unit 313 to determine the number of terminal devices 10 for each type and sums up the determined numbers.
[0119] In step S17, the processing unit 31 functions as an estimation unit 314 to estimate the number of people in the specific area based on the total number of units, and then terminates this routine. Specifically, the processing unit 31 estimates the number of people in the specific area by multiplying the total number of units by a correction coefficient.
[0120] 1.3. Effects of the First Embodiment As described above, the terminal number determination device 30 according to the first embodiment comprises an acquisition unit 311, a classification unit 312, and a determination unit 313. The acquisition unit 311 acquires one or more probe request pieces of information relating to probe requests sent from each of one or more terminal devices 10 located in a specific area. The classification unit 312 classifies each of the one or more terminal devices 10 into one of three types based on the one or more probe request pieces of information acquired by the acquisition unit 311. The determination unit 313 determines the number of one or more terminal devices 10 by acquiring the number of terminal devices 10 in each of the three types using probe timing information indicating the acquisition timing of one or more probe request pieces of information acquired by the acquisition unit 311.
[0121] According to this embodiment, even if the MAC addresses included in the probe request are randomized, the number of terminal devices 10 within a specific area can be determined.
[0122] Furthermore, the probe timing information includes multiple probe timing pieces that correspond one-to-one to the three types. The determination unit 313 inputs the corresponding probe timing information from the three probe timing pieces to each of the three learning models that correspond one-to-one to the three types, namely the second learning model LM2, the third learning model LM3, and the fourth learning model LM4, thereby acquiring the number of terminal devices 10 output from each of the second learning model LM2, the third learning model LM3, and the fourth learning model LM4 as the number of terminal devices 10 for each type. The determination unit 313 determines the sum of the acquired number of terminal devices 10 for each type as the number of terminal devices 10 of one or more. Each of the three learning models, namely the second learning model LM2, the third learning model LM3, and the fourth learning model LM4, has already learned the relationship between the timing of acquiring probe request information for learning and the number of terminal devices 10 for learning.
[0123] According to this embodiment, even if the MAC addresses included in the probe request are randomized, the number of terminal devices 10 within a specific area can be determined.
[0124] Furthermore, the timing for acquiring probe request information for probe requests sent from terminal device 10[k] in sleep mode is different from the timing for acquiring probe request information for probe requests sent from terminal device 10 in active mode (not sleep mode). The timing for acquiring learning probe request information includes the timing for acquiring first probe request information and the timing for acquiring second probe request information. The first probe request information is information about a first probe request sent when terminal device 10[k] is in sleep mode. The second probe request information is information about a second probe request sent when terminal device 10[k] is in active mode.
[0125] In this embodiment, the learning model is trained using training data that takes into account the timing of probe request transmission in the sleep state and the timing of probe request transmission in the active state, thereby generating a learning model that more closely resembles the actual usage of terminal devices. Therefore, in this embodiment, the number of terminals can be determined with greater accuracy.
[0126] Furthermore, each of the one or more probe request information includes information regarding the signal length of the probe request sent from each of the one or more terminal devices 10. The classification unit 312 determines the signal length of the probe request sent from each of the one or more terminal devices 10 from the one or more probe request information. Based on the determined signal length, the classification unit 312 classifies each of the one or more terminal devices 10 into one of several categories.
[0127] The timing of probe requests sent by terminal devices 10 classified as the same type based on differences in the signal length of the probe requests is similar to that of others. Therefore, according to this embodiment, terminal devices 10 with different probe request sending timings can be easily classified.
[0128] Furthermore, the multiple categories correspond to differences in the models of one or more terminal devices 10.
[0129] The timing of sending probe requests largely depends on the manufacturer of the terminal device 10[k] and the OS installed in the terminal device 10[k]. In other words, the timing of sending probe requests differs depending on the model of the terminal device 10[k]. According to this embodiment, the terminal devices 10[k] are classified according to the differences in their models, so the terminal devices 10[k] can be classified appropriately.
[0130] Furthermore, the terminal number determination device 30 further includes an estimation unit 314. The estimation unit 314 estimates the number of people in a specific area based on the determined number of one or more terminal devices 10 and second information obtained in advance, which shows the usage status of terminal devices owned by each of the multiple users.
[0131] Usage patterns can be analyzed from statistics on the use of terminal devices by multiple users, statistics on user behavior in a specific area, etc. For example, the ratio of the number of terminal devices in a specific area to the number of people in that area can be predicted from the usage patterns of terminal device 10. According to this embodiment, the number of people in a specific area can be easily estimated based on the determined number of terminal devices 10 in that area.
[0132] The probe request information includes the MAC address of the terminal device 10[k] that sends the probe request, among one or more terminal devices 10. Each of the one or more probe request information entries does not include the MAC address of terminal device 10[k], but includes information in which the physical address of terminal device 10[k] has been hashed.
[0133] In this configuration, the terminal number determination device 30 receives a hashed MAC address from the detection device 20, thus protecting the privacy of user U.
[0134] Furthermore, the method for determining the number of terminals according to the first embodiment involves acquiring one or more probe request pieces of information relating to probe requests sent from each of the one or more terminal devices 10 located in a specific area, classifying each of the one or more terminal devices 10 into one of three types based on the acquired one or more probe request pieces of information, and determining the number of one or more terminal devices 10 in each of the three types by acquiring probe timing information indicating the timing of acquisition of the acquired one or more probe request pieces of information.
[0135] According to this embodiment, even if the MAC addresses included in the probe request are randomized, the number of terminal devices 10 within a specific area can be determined.
[0136] 2. Modifications This disclosure is not limited to the embodiments illustrated above. Specific examples of modifications are given below. Two or more embodiments may be arbitrarily selected from the following examples and combined. Furthermore, the embodiments of the above embodiments and the modifications below can be combined arbitrarily as long as they do not contradict each other.
[0137] 2.1. Modification 1 In the first embodiment, a method for classifying the type of terminal device 10[k] using the first learning model LM1 was disclosed. However, a lookup table in which the relationship between the signal length and corresponding frequency of the probe request and the type of terminal device 10[k] is predetermined may be used. In this case, the classification unit 312 can classify the type of terminal device 10[k] by inputting the signal length and corresponding frequency of the probe request output from the probe request information into the lookup table.
[0138] 2.2. Modification 2 The first learning model LM1, the second learning model LM2, the third learning model LM3, and the fourth learning model LM4 may be updated at the time a new model is released by each manufacturer, at the time the OS of the terminal device is updated to a new version, or at a frequency of several times a year.
[0139] 2.3. Modification 3 In the first embodiment, there is a one-to-one correspondence between the identifier information of each detection device 20 and each specific area, and a configuration is shown in which the terminal device 10 is located in based on the identifier information of each detection device 20 and RSSI information. However, a configuration is also possible in which the location of the terminal device 10 is identified using only RSSI information without using identifier information. For example, the location of the terminal device 10 [1] may be identified using RSSI information from three detection devices 20 [1], 20 [2], and 20 [3].
[0140] In Modification 3, for example, three detection devices 20[1], 20[2], and 20[3] are installed at arbitrary locations inside and outside a specific area. Each of the three detection devices 20[1], 20[2], and 20[3] acquires area RSSI information and area RSSI information in advance. The area RSSI information includes measured values of the received signal strength of the probe signal transmitted from the terminal device 10 inside the specific area. The area RSSI information includes measured values of the received signal strength of the probe signal transmitted from the terminal device 10 outside the specific area.
[0141] A fifth learning model is trained based on area-specific RSSI information and area-specific RSSI information from three detection devices 20[1], 20[2], and 20[3]. The input data constituting the training data for machine learning is a combination of measured values of received signal strength when the three detection devices 20[1], 20[2], and 20[3] receive a probe signal from a single terminal device 10 located at an arbitrary location. The output data is either information indicating that the single terminal device 10 is located within a specific area or information indicating that it is located outside a specific area.
[0142] Figure 16 is a schematic diagram showing an example of a neural network model 200 applied to the fifth learning model according to the modified example 3. The neural network model 200 receives measured values of the received signal strength as input data. The neural network model 200 is composed of a convolutional neural network, a recurrent neural network, etc. The neural network model 200 outputs output data related to the position of the terminal device 10.
[0143] When training data is input to the neural network model 200, the neural network model 200 learns the correlation between the combination of measured values of received signal strength, which is the input data, and the position of the terminal device 10, which is the output data. More specifically, the measured values of received signal strength, which are explanatory variables, are input to the neural network model 200 as input data. An evaluation function is used to compare the output data output as an inference result from the neural network model 200, i.e., the position of the terminal device 10, with the output data that constitutes the training data, i.e., the correct label for the position of the terminal device 10. The weights associated with each synapse are repeatedly adjusted so that the value of the evaluation function becomes small. In this way, a fifth learning model is trained to perform multi-class classification, which classifies the position of the terminal device 10 into either within or outside a specific area, based on RSSI information from three receiving devices 20[1], 20[2], and 20[3].
[0144] In the modified example 3, the acquisition unit 311 inputs RSSI information from the three receiving devices 20[1], 20[2], and 20[3] into the fifth learning model and, based on the output result obtained, determines whether the acquired probe request information was transmitted from a terminal device 10[k] within a specific area.
[0145] In Modification 3, an example was shown in which three receiving devices 20[1], 20[2], and 20[3] are used. However, each of the three receiving devices 20[1], 20[2], and 20[3] may be located within or outside a specific area. Furthermore, the number of receiving devices 20 is not limited to three. There may be two receiving devices 20, or four or more.
[0146] 3. Other (1) In the embodiments described above, the storage devices 12, 22, and 32 are exemplified by ROM and RAM, but they can also be flexible disks, magneto-optical disks (e.g., compact disks, digital multipurpose disks, Blu-ray® disks), smart cards, flash memory devices (e.g., cards, sticks, key drives), CD-ROMs (Compact Disc-ROMs), registers, removable disks, hard disks, floppy® disks, magnetic strips, databases, servers, and other suitable storage media. The program may also be transmitted from a network via a telecommunications line. The program may also be transmitted from a communication network NET via a telecommunications line.
[0147] (2) In the embodiments described above, the information, signals, etc. may be represented using any of the various different techniques. For example, the data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
[0148] (3) In the embodiments described above, the input and output information may be stored in a specific location (e.g., memory) or managed using a management table. The input and output information may be overwritten, updated, or appended to. The output information may be deleted. The input information may be transmitted to other devices.
[0149] (4) In the embodiments described above, the determination may be made by a value represented using one bit (0 or 1), by a boolean value (true or false), or by a numerical comparison (for example, a comparison with a predetermined value).
[0150] (5) The processing procedures, sequences, flowcharts, etc., exemplified in the embodiments described above may be rearranged in order, as long as there is no contradiction. For example, the methods described in this disclosure present various step elements using an exemplary order and are not limited to the specific order presented.
[0151] (6) Each function illustrated in Figures 1 to 16 is realized by any combination of at least one of hardware and software. Furthermore, the method of realizing each function block is not particularly limited. That is, each function block may be realized using one device that is physically or logically coupled, or it may be realized using two or more physically or logically separated devices that are directly or indirectly connected (for example, using wired or wireless connections). A function block may also be realized by combining the above one device or the above multiple devices with software.
[0152] (7) The programs illustrated in the embodiments described above should be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc., whether they are called software, firmware, middleware, microcode, hardware description languages or by other names.
[0153] Furthermore, software, instructions, information, etc., may be transmitted and received via a transmission medium. For example, if software is transmitted from a website, server, or other remote source using at least one of wired technology (such as coaxial cable, fiber optic cable, twisted pair, or digital subscriber line (DSL)) and wireless technology (such as infrared or microwave), then at least one of these wired and wireless technologies is included in the definition of a transmission medium.
[0154] (8) In each of the above-mentioned forms, the terms “system” and “network” shall be used interchangeably.
[0155] (9) The information, parameters, etc. described in this disclosure may be expressed using absolute values, relative values from a given value, or other corresponding information.
[0156] (10) In the embodiments described above, the terminal device 10 may be a mobile station (MS). A mobile station may also be referred to by those skilled in the art as a subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, client, or several other appropriate terms. In this disclosure, terms such as “mobile station,” “user terminal,” “user equipment (UE),” and “terminal” may be used interchangeably.
[0157] (11) In the embodiments described above, the terms “connected,” “coupled,” or any variation thereof, mean any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are “connected” or “coupled” with each other. The coupling or connection between elements may be a physical coupling or connection, a logical coupling or connection, or a combination thereof. For example, “connection” may be reinterpreted as “access.” As used in this disclosure, two elements may be considered to be “connected” or “coupled” with each other using at least one of one or more wires, cables and printed electrical connections, and, in some non-limiting and non-exclusive examples, electromagnetic energy having wavelengths in the radio frequency domain, microwave domain and optical (both visible and invisible) domain.
[0158] (12) In the embodiments described above, the phrase "based on" does not mean "based solely on" unless otherwise specified. In other words, the phrase "based on" means both "based solely on" and "based at least on".
[0159] (13) The terms “determining” and “determining” as used in this disclosure may encompass a wide variety of actions. “Determining” may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, or inquiring (e.g., searching in a table, database, or other data structure), or ascertaining. “Determining” may also include receiving (e.g., receiving information), transmitting (e.g., sending information), inputting, outputting, or accessing (e.g., accessing data in memory). Furthermore, "judgment" and "decision" can include considering something as having been "judged" or "decided" after resolving, selecting, choosing, establishing, comparing, etc. In other words, "judgment" and "decision" can include considering something as having been "judged" or "decided" after some action. Also, "judgment (decision)" can be reinterpreted as "assuming," "expecting," or "considering."
[0160] (14) In the embodiments described above, where “include,” “including,” and variations thereof are used, these terms are intended to be inclusive, as is the term “comprising.” Furthermore, the term “or” as used in this disclosure is not intended to be exclusive OR.
[0161] (15) In the present disclosure, if articles are added by translation, such as a, an, and the in English, the present disclosure may include the fact that the noun following these articles is plural.
[0162] (16) In this disclosure, the term “A and B are different” may mean “A and B are different from each other.” The term may also mean “A and B are each different from C.” Terms such as “separate” and “combine” may be interpreted in the same way as “different.”
[0163] (17) Each aspect / embodiment described herein may be used individually, in combination, or switched between as needed during implementation. Furthermore, notification of the specified information (e.g., notification that "it is X") is not limited to explicit notification, but may also be implicit (e.g., by not providing such notification).
[0164] Although the present disclosure has been described in detail above, it will be clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the intent and scope of the present disclosure as defined by the claims. Accordingly, the descriptions in the present disclosure are illustrative and not restrictive in any way.
[0165] 10, 10[1], 10[2], 10, [k], 10[n]... Terminal device, 20... Detection device, 30... Terminal number determination device, 311... Acquisition unit, 312... Classification unit, 313... Determination unit, 314... Estimation unit, LM1... First learning model, LM2... Second learning model, LM3... Third learning model, LM4... Fourth learning model.
Claims
1. An information processing device comprising: an acquisition unit that acquires one or more probe request pieces of information relating to probe requests sent from each of one or more terminals located in a first area; a classification unit that classifies each of the one or more terminals into one of a plurality of types based on the one or more probe request pieces of information acquired by the acquisition unit; and a determination unit that determines the number of one or more terminals by acquiring the number of terminals in each of the plurality of types using first information indicating the timing of acquisition of the one or more probe request pieces of information acquired by the acquisition unit.
2. The information processing device according to claim 1, wherein the first information includes a plurality of first pieces of information that correspond one-to-one with the plurality of types, the determination unit inputs the corresponding first piece of information from the plurality of first pieces of information to each of the plurality of learning models that correspond one-to-one with the plurality of types, thereby obtaining the number of terminals output from each of the plurality of learning models as the number of terminals for each type, determining the sum of the obtained number of terminals for each type as the number of one or more terminals, and each of the plurality of learning models has learned the relationship between the timing of obtaining learning probe request information and the number of learning terminals.
3. The information processing apparatus according to claim 2, wherein the timing for acquiring probe request information relating to a probe request sent from a terminal in a sleep state is different from the timing for acquiring probe request information relating to a probe request sent from a terminal in an active state that is not in a sleep state, and the timing for acquiring the learning probe request information includes the timing for acquiring first probe request information relating to a first probe request sent when the terminal is in the sleep state, and the timing for acquiring second probe request information relating to a second probe request sent when the terminal is in the active state.
4. Each of the one or more probe request pieces of information includes information relating to the signal length of a probe request sent from each of the one or more terminals, the classification unit determines the signal length of a probe request sent from each of the one or more terminals from the one or more probe request pieces of information, and classifies each of the one or more terminals into one of the plurality of types based on the determined signal length, the information processing apparatus according to claim 1.
5. The information processing apparatus according to claim 1, wherein the plurality of types are types corresponding to differences in the model of the terminal.
6. The information processing apparatus according to claim 1, further comprising an estimation unit that estimates the number of people in the first area based on the number of one or more terminals determined and second information obtained in advance that indicates the usage status of terminals owned by each of the multiple users.
7. The information processing apparatus according to claim 1, wherein the probe request includes the physical address of the terminal that sends the probe request among the one or more terminals, and each of the one or more probe request pieces of information does not include the physical address of the terminal, but includes information in which the physical address of the terminal has been hashed.
8. An information processing method comprising: acquiring one or more probe request pieces of information relating to probe requests transmitted from each of one or more terminals located in a first area; classifying each of the one or more terminals into one of a plurality of types based on the acquired one or more probe request pieces of information; and determining the number of one or more terminals by acquiring the number of terminals in each of the plurality of types using first information indicating the timing of acquisition of the acquired one or more probe request pieces of information.