WO2021256848A1 - Method and system for predicting congestion level for each subway cabin on basis of short-range wireless communication signal - Google Patents

Method and system for predicting congestion level for each subway cabin on basis of short-range wireless communication signal Download PDF

Info

Publication number
WO2021256848A1
WO2021256848A1 PCT/KR2021/007541 KR2021007541W WO2021256848A1 WO 2021256848 A1 WO2021256848 A1 WO 2021256848A1 KR 2021007541 W KR2021007541 W KR 2021007541W WO 2021256848 A1 WO2021256848 A1 WO 2021256848A1
Authority
WO
WIPO (PCT)
Prior art keywords
subway
access point
cabin
congestion
subway cabin
Prior art date
Application number
PCT/KR2021/007541
Other languages
French (fr)
Korean (ko)
Inventor
아디 프라나야파탄
제불론아사프
황환웅
손주형
곽진삼
Original Assignee
주식회사 윌러스표준기술연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 윌러스표준기술연구소 filed Critical 주식회사 윌러스표준기술연구소
Priority to KR1020237000301A priority Critical patent/KR20230022954A/en
Publication of WO2021256848A1 publication Critical patent/WO2021256848A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/42Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for mass transport vehicles, e.g. buses, trains or aircraft
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Definitions

  • the present invention relates to a method of predicting subway congestion, and more particularly, to a method for more accurately calculating the number of passengers in a subway.
  • bus information/management system that provides bus operation information in a jurisdictional area is being built around not only large cities such as metropolitan cities but also regional large cities.
  • This bus information guide system collects the location of the running bus in real time from the traffic information center and processes it into traffic information such as the expected arrival time at the stop, the current bus location by route, the distance to the vehicle behind, and transfer information, etc. It is a system that provides information to users of personal terminals through information provided at each bus stop or through the Internet network, etc. Currently, even the congestion level of individual buses is provided.
  • the subway is formed in a structure in which a plurality of carriages are connected to each other, and a space for accommodating passengers is formed in the interior of the carriage, which is automatically opened and closed when stopped at a subway station.
  • Passengers wait for the subway at the platform of the subway station, and when the door is opened after the car arrives at the designated location, they get on the car.
  • a number of chairs and handles are provided inside the carriage for passengers to sit on and for passengers to move while standing, but the number of chairs and handles is limited, providing the same convenience to passengers when carrying an unlimited number of passengers There is a problem that cannot be done.
  • rush hour such as rush hour
  • the number of subway users increases rapidly, while the number of subway trains is limited, so the number of passengers in one carriage increases.
  • the distance between the passengers decreases, increasing the discomfort of the passengers, and there is a risk that passengers exceeding the number of chairs and handles may be exposed to safety accidents.
  • An object according to an aspect of the present invention for solving the above-mentioned problems is to predict the number of passengers in the cabin using an access point (AP) for wireless short-range communication installed in the subway train cabin based on a short-distance wireless communication signal. It is to provide a method and system for predicting congestion for each subway room.
  • AP access point
  • a method of predicting congestion for each subway cabin in a server device includes the steps of receiving channel information from a first access point (AP) through a network (The channel information includes a link metric measured based on a communication signal with a second access point, and the first access point is an access point installed in a first subway cabin, and the second access point is an access point installed in a second subway cabin adjacent to the first subway cabin), calculating a congestion degree of the first subway cabin or the second subway cabin based on the received channel information (the congestion degree is the second subway cabin) 1 indicating a level related to the number of passengers present in the subway cabin) and providing the calculated congestion degree of the first subway cabin to the user terminal.
  • the channel information includes a link metric measured based on a communication signal with a second access point, and the first access point is an access point installed in a first subway cabin, and the second access point is an access point installed in a second subway cabin adjacent to the first subway cabin
  • calculating a congestion degree of the first subway cabin or the second subway cabin based on
  • the link metric may include at least one of Received Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF) of a wireless short-range communication signal.
  • RSSI Received Signal Strength Indicator
  • CSI Channel State Information
  • CBF Compressed Beamforming Feedback
  • the received channel information includes (i) the link metric, (ii) at least one of identification information of the first subway cabin and identification information of a first access point, (iii) identification information of the second subway cabin and a second At least one of identification information of the access point, (iv) timestamp information indicating a time when data is collected, and (v) scanned identification information of neighboring access points may be included.
  • Calculating the congestion level of the first subway cabin or the second subway cabin based on the received channel information includes determining whether the first subway cabin is moving and using the channel information based on the determination result to calculate the degree of congestion of the first subway cabin or the second subway cabin.
  • the step of determining whether the first subway cabin is moving may include parsing identification information of neighboring access points from the channel information, and determining by comparing the parsed information with information of pre-stored subway station fixed access points.
  • the parsed information includes identification information of a neighboring access point of the first access point, and in response to that identification information of the neighboring access point does not exist in the pre-stored information of the subway station fixed access point, currently the second It is determined that the first subway cabin is moving, and based on the determination that the first subway cabin is moving, calculation of the congestion level of the first subway cabin may be initiated (initiating).
  • Calculating the congestion level of the first subway cabin or the second subway cabin by using the channel information may include mapping the link metric to a congestion level using an artificial intelligence (AI) model. It may include calculating the congestion level of the subway cabin or the second subway cabin.
  • AI artificial intelligence
  • the AI model may be a machine learning model learned by using, as a training data set, level information of an actual passenger in an actual subway cabin and a link metric corresponding thereto.
  • the method further includes receiving a congestion level request from the user terminal, wherein the congestion level request includes identification information of the first subway cabin, and in response to the congestion level request, the congestion level of the first subway cabin is displayed It can be provided to a user terminal.
  • the method may further include verifying an API parameter of the congestion request and verifying the validity of an API security token associated with the congestion request.
  • the method further comprises, after receiving the channel information from a first access point (AP), verifying the validity of the received channel information, wherein the validity of the channel information is (i) the verified by verifying that the first subway cabin or the first access point is registered, and (ii) verifying the length of the channel information.
  • AP first access point
  • the method further comprises, based on a determination that the received channel information is valid, storing the channel information, wherein the channel information may be stored together with a corresponding passenger level result.
  • an apparatus for predicting congestion for each subway cabin is an AP module (the channel) for receiving channel information from a first access point (AP) through a network.
  • the information includes a link metric measured based on a communication signal with and from a second access point, the first access point being an access point installed in a first subway cabin, and the second access point being the second access point.
  • 1 is an access point installed in the second subway cabin adjacent to the first subway cabin), a processor for calculating the congestion degree of the first subway cabin or the second subway cabin based on the received channel information (the congestion degree is in the first subway cabin) and an application module that provides a level (level) related to the number of existing passengers) and the calculated congestion level of the first subway cabin to the user terminal.
  • a first access point device for predicting congestion for each subway cabin measures a channel state based on a communication signal with a second access point, and the measured An access point scan module for transmitting channel information including a channel state to a server through a network, and a memory for storing the channel information, wherein the channel state includes a link metric, and the second access point includes the first It may be an access point installed in the second subway cabin adjacent to the first subway cabin in which the access point device is installed.
  • the link metric may include at least one of Received Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF) of a wireless short-range communication signal.
  • RSSI Received Signal Strength Indicator
  • CSI Channel State Information
  • CBF Compressed Beamforming Feedback
  • the access point scan module may generate the channel information by collecting at least one link metrics for a preset period.
  • the channel information may be generated by calculating the aggregated data for the preset period by calculating and aggregating an average value of the link metrics.
  • the channel information may include (i) the link metric, (ii) at least one of identification information of the first subway cabin and identification information of a first access point, (iii) identification information of the second subway cabin and a second access point. It may include at least one of identification information of (iv) timestamp information indicating a time when data is collected, and (v) identification information of scanned neighboring access points.
  • a period for transmitting the channel information to the server may be longer than a period for measuring the link metric.
  • the access point scan module may store a current link metric measurement result and prepare for a next link metric measurement based on receiving a response from the server.
  • the congestion level for each subway room is analyzed in real time and provided to passengers. It has the effect of making this possible and has the advantage of being easy to respond to an accident.
  • FIG. 1 is a conceptual diagram schematically showing a system for executing a method for predicting congestion for each subway cabin according to an embodiment of the present invention
  • Fig. 2 is a detailed block diagram showing the system of Fig. 1 in more detail;
  • 3 is a flowchart showing the connection operation of the subway access point, the server device, and the AI model
  • FIG. 4 is a flowchart showing a link operation between a user terminal and a server device
  • FIG. 5 is an ER diagram (Entity-Relationship Diagram) showing the structure and relationship of data managed by the database
  • FIG. 6 is a flowchart illustrating a learning and testing process of an algorithm for predicting the number of passengers in a cabin of an AI model.
  • FIG. 7 is a flowchart illustrating a learning process of a prediction algorithm of an AI model according to another embodiment of the present invention.
  • first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • the congestion prediction system for each subway cabin according to an embodiment of the present invention includes access points 110-1 and 110-2, servers 100 and client terminals 130-1 and 130-2. ) may be included.
  • access points 110 - 1 and 110 - 2 are devices that support a wireless device to connect to a network, and may be installed in subway cabins 112-1 to 112-N. It may be installed per subway cabin in one or more channels.
  • the access point 110-1 may be installed in the subway cabin 112-1, and the access point 110-2 may be installed in the subway cabin 112-2 adjacent to the previous subway cabin 112-1.
  • the part expressed as subway is replaced by other means of transportation such as general trains, trains, trains, express trains, and electric trains that perform similar functions It will be apparent to those of ordinary skill in the art that the congestion degree of the present invention can be calculated even though the present invention pertains.
  • the term "cabin” may be used interchangeably with terms such as a carriage, a car, and the like in this specification.
  • the access points 110 - 1 and 110 - 2 may be implemented as wireless short-range communication routers.
  • it may be implemented as a Wi-Fi (Wi-Fi) router.
  • Wi-Fi Wi-Fi
  • the wireless communication method is not necessarily limited to Wi-Fi.
  • other wireless communication methods such as Zigbee and Bluetooth may be used in the part where the term "Wi-Fi" is used, and the access points 110-1 and 110-2 are also Wi-Fi. It can be implemented as a router that supports other wireless communication methods other than PI.
  • the access points 110-1 and 110-2 perform a function of measuring a Wi-Fi channel state in a subway cabin. These may be referred to as link metrics.
  • the link metric may include at least one of Receiver Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF).
  • RSSI Receiver Signal Strength Indicator
  • CSI Channel State Information
  • CBF Compressed Beamforming Feedback
  • the access point 110-1 becomes a monitoring router and must be able to monitor another Wi-Fi router 110-2 installed in the adjacent guest room 112-2. That is, the access point 110-1 transmits a link metric measurement result based on a signal communicated with the access point 110-2 installed in the adjacent subway car 112-2 to the server 120 through the Internet connection. do.
  • the server 120 stores link metrics received from a plurality of access points 110-1 to 110-2 through the Internet, and performs a logical operation to predict and classify the passenger level of the subway train cabin. do.
  • the server 120 may be implemented as a computing device, and is preferably implemented as a server-class computing device capable of processing large amounts of information.
  • the server 120 may be a dedicated physical server or a virtual cloud server such as Amazon Web Services (AWS), Facebook Cloud, or Google Cloud Platform.
  • the server 120 may infer the passenger level corresponding to the link metric measurement result by using a pre-trained AI model. That is, based on the link metric information received from the access points 110-1 to 110-2, the level of the passenger in the subway cabin in which each of the access points 110-1 to 110-2 is installed is individually determined. can be inferred as
  • the server 120 before storing in the database, the server 120 first verifies the validity of the link metric received from the access points 110-1 to 110-2. As a result of validation, only when it is valid, the server 120 stores the corresponding link metric data in the database. Then, as described above, using the validly received data as an input function, it is input to the AI model, and the congestion level of the subway cabin is obtained as an output thereof. This may be output as a specific number, but may be derived as a grouped result called a level. For example, you could classify 100 people or less as "Free" level, 100-200 people as "Normal” level, 200-250 people as "Congested” level, and 250 or more people as "Very congested” level. have. In this case, the threshold value for classifying each level may be changed through user setting. Such level classification results are stored in the database so that the client terminals 130-1 to 130-2 can check them.
  • the server 120 responds to all data requests of the app of the client terminals 130-1 to 130-2 with respect to the passenger level for each subway cabin.
  • the client terminals 130-1 to 130-2 are entities that directly interact with the user.
  • the client terminals 130-1 to 130-2 may be portable terminals (eg, smart phones, laptops, PDAs, etc.), and fixed terminals (eg, electronic billboards, public display devices, PCs, and control devices). system, etc.).
  • a client application (this may be referred to as a “client app”) may be installed in the client terminals 130-1 and 130-2 to request subway congestion information from the server 120 and receive the result.
  • the client app sorts and filters data required by the user and sends a request to the server 120 .
  • the client app may be implemented as a mobile application or a web app.
  • the result received from the server 120 can be displayed and visualized without an active request toward the server 120 .
  • the client terminals 130-1 to 130-2 like the access points 110-1 to 110-2, also need Internet access to communicate with the server 120.
  • the access points 110-1 to 110-2 and the client terminals 130-1 to 130-2 communicate with the server 120 through the Restful API defined on the server 120 side.
  • Restful API is an application program interface based on REST (Representational State Transfer).
  • REST is a software architectural style that defines a set of constraints to be used to create a web service, and a web service conforming to the REST architectural style called RESTful Web Service provides interoperability between computer systems on the Internet.
  • Restful API uses HTTP methodology defined in RFC 2616 protocol.
  • Restful API uses GET method to retrieve resource, PUT method to change state or update resource, POST method to create resource, and remove it. To do this, use the DELETE method. Since the call (request) is stateless, REST is useful in cloud applications.
  • FIG. 2 is a detailed block diagram illustrating the system of FIG. 1 in more detail.
  • the access points 210-1 to 210-2 may be referred to as a module (“access point scan module”) executing a Wi-Fi access point scan program (Wi-Fi AP Scan Program). ) and a Wi-Fi driver (Wi-Fi driver), and the server includes a backend server (220: backend server) and a database server (225: database server).
  • Wi-Fi AP Scan Program Wi-Fi access point scan program
  • Wi-Fi driver Wi-Fi driver
  • the server includes a backend server (220: backend server) and a database server (225: database server).
  • the access point 210 - 1 must be able to monitor another access point 210 - 2 in an adjacent cell in order to obtain a link metric.
  • the link metric is very important to classify the passenger level of the subway cabin.
  • the Wi-Fi link metric may be a set of RSSI and/or CSI/CBF.
  • RSSI is an indicator indicating the strength of a received signal. It can be viewed as an estimated measure of the power level that a wireless device receives from another wireless device. If the wireless device is at a great distance, the signal will be weakened and the wireless data rate will be slower, lowering the overall data throughput. In general, RSSI information can be obtained relatively easily from a Wi-Fi router.
  • Wi-Fi drivers provide a function to obtain RSSI information.
  • One of them may be an IW tool provided by the Linux operating system.
  • CSI or CBF information indicates a predefined channel attribute of a communication link. This information describes how the signal propagates from the transmitter to the receiver and exhibits combined effects, such as, for example, scattering, fading, and power attenuation with distance.
  • the Wi-Fi driver may perform the function of monitoring such information.
  • the access point 210 - 1 transmits the previously and periodically measured link metrics to the server 220 .
  • the measured link metric is a measurement result of RSSI and/or CSI/CBF between two access points 210 - 1 and 210 - 2 installed in train cabins adjacent to each other.
  • RSSI and/or CSI/CBF between the two access points 210 - 1 and 210 - 2 may be measured as a signal in a state without interference.
  • the RSSI and/or CSI/CBF measurement results between the two access points 210 - 1 and 210 - 2 are different from when there are no passengers due to interference and distortion depending on the passenger and the terminal possessed by the passenger.
  • the two access points 210 - 1 and 210 - 2 can vary a lot. According to an embodiment of the present invention, by learning the relationship between the number of passengers and the radio signal that is affected by them, that is, the relationship between the number of passengers and the link metric, the two access points 210 - 1 and 210 - 2 . It is possible to infer the number of passengers in the cabin with the result of the link metric between them.
  • the period (period) for transmitting the link metric to the server 220 is longer than the period (period) for measuring the link metric between the two access points 210 - 1 and 210 - 2 . That is, one link metric data transmitted to the server 220 may include several link metric measurement results. The measurement results of the plurality of link metrics are used as input to the AI model for classifying the passenger level in the room between the two access points 210 - 1 and 210 - 2 .
  • a program for performing the above operation that is, a Wi-Fi AP scan program is executed.
  • the program periodically calls APIs to the Wi-Fi driver to perform RSSI and/or CSI/CBF measurement functions. That is, the link metric (RSSI/CSI/CBF) is measured periodically (every second or another period) between itself and another access point 210 - 2 installed in an adjacent room. Then, a certain number of samples of RSSI/CSI/CBF are collected within a certain period. Then, the measurement result is stored in the internal memory of the access point 210-1. The measurement result is added to the internal memory together with the previous measurement result.
  • RSSI/CSI/CBF link metric
  • the program After storing several link metric measurement results, the program transmits the collected data to the server 220 by making a stable API request to the server 220 in a specified format. At this time, data is transmitted to the cloud server through an HTTP request. In the process of sending data to the server 220 , the program synchronously waits for a response from the server 220 . Then, when receiving a response from the server 220, the program stores the previous measurement result and secures an internal memory used to perform the next task.
  • the data transmitted to the server 220 by the Wi-Fi scan program includes the following.
  • MAC address Identifier (MAC address) of the neighboring access point (210-2: monitoring target device)
  • the back-end server 220 is an AP module operating in conjunction with the access point 210-1, an AI module for estimating the passenger level in connection with the AI model, and operating in conjunction with the client terminal.
  • the backend server 220 is an AP module operating in conjunction with the access point 210-1, an AI module for estimating the passenger level in connection with the AI model, and operating in conjunction with the client terminal.
  • Each module may be implemented by one or more processors. Alternatively, a plurality of modules may be combined to be implemented as one processor.
  • the AP module is a module that interacts with the access point 210 - 1 , receives the link metric transmitted from the access point 21 - 1 , verifies validity, and transmits it to the database server 225 . That is, RSSI and/or CSI/CBF are stored together with identification information and time information of access points.
  • the AI module calls the AI model to input link metric information, and executes the AI model to obtain passenger level information as an output.
  • the drawing shows that the AI model exists outside the server device, it may be a program external to the server, or in some cases, a program installed inside the server.
  • the application module responds to all data requests from the client terminal (client app) regarding the subway or each cabin passenger level.
  • the backend server 220 continuously communicates with the database server 220 to continuously store the link metric transmitted by the access point 210 - 1 in the database server 225 .
  • the database server 225 continuously serves as a storage medium for all collected data.
  • the stability and performance of the servers 220 and 225 are important points of the system in order to handle a large number of requests from clients and access points 210-1. Therefore, high reliability can be obtained with two approaches: vertical and horizontal scaling.
  • Vertical expansion means adding more resources (CPU/RAM/DISK) to the servers 220 and 225 .
  • Vertical scaling usually means upgrading the server hardware. Some reasons to scale vertically include increasing input/output operations (IOPS), increasing CPU/RAM capacity, and increasing disk capacity.
  • Horizontal scaling includes adding more processing units or physical systems to the backend server 220 or database server 225 . This could include increasing the number of nodes in the cluster, reducing the responsibilities of each member node, and providing additional endpoints for client connections.
  • FIG. 3 is a flowchart illustrating a connection operation between a subway access point, a server device, and an AI model.
  • an indoor access point measures a link metric for a specific period (eg, 10 seconds). Then, after collecting link metric data for a certain period of time, the data is transmitted to the backend server through an HTTP request.
  • the data transmitted to the server may include a measured link metric and identifier information of a room or an access point in which the link metric is measured.
  • the measured link metrics for each cycle are aggregated. This data aggregation aims to always keep the length of the link metric sent to the server constant. Data aggregation is performed when an access point receives two or more link metric data for a specific period (eg, 1 second).
  • the aggregated data for 1 second is calculated.
  • scanned neighboring AP list information is also collected to detect fixed access points fixedly installed on subway station platforms. The list of nearby APs is useful for detecting the movement status of the subway. After this collection, all the information is put together to make an API request to the server using the POST method with the URL and parameters defined in JSON format. In order to perform the next operation from the point of view of the access point, it must first wait for a response from the server. However, if there is no response from the server for the specified timeout period, the access point may perform the following operation.
  • the backend server (more specifically, the AP module) first verifies the API request.
  • the first validation process is to validate the received API parameters.
  • the second verification process is to verify the room identifier or access point identifier.
  • the server extracts identifier information from the API request body, and then performs a database query to check whether the identifier is previously registered in the system. If registered, the server performs the following process.
  • the third validation process is to check the length of the link metric data.
  • the last step is to check the train movement status.
  • the verification process is a very important part of the passenger level classification process.
  • this is because the passenger level classification process is not valid in situations where a large number of passengers enter and exit the cabin through the cabin entrance between the platform and the cabin (ie, while the train is stopped). In this way, passengers entering and leaving the train can greatly affect the Wi-Fi signal in the train and make it unstable. This may result in inaccurate classification results. Therefore, it is preferable that the server performs the classification procedure only when the subway is moving.
  • the above train movement-related verification process is performed by checking the list of neighboring APs transmitted by the access point. That is, the list information of APs fixedly installed on the subway station platform in advance is stored in the database, and whether it is moving by comparing it with the scanned neighboring AP list included in the data from the access point (Subway-AP) installed in the subway cabin. to judge That is, if the identification information of the fixed AP stored in the database exists in the neighboring AP list, it is determined that it is not valid by determining that it is still present on or near the subway station platform. In this case, the data is discarded and not used in the classification process.
  • the AP module of the backend server stores the data in the database and passes the link metric data to the AI model for the classification process.
  • the server After processing the access point's API request, the server delivers a response to the access point as soon as possible.
  • the response contains a status code indicating the validation result of the server-side function.
  • the status code can be used to determine what action the access point should take after receiving this response.
  • the status code and the operation of the access point accordingly may be defined as follows.
  • the Wi-Fi AP scan program of the access point Upon receiving such a response, the Wi-Fi AP scan program of the access point performs a new RSSI/CSI/CBF measurement operation.
  • the Wi-Fi AP scan program of the access point Upon receiving such a response, the Wi-Fi AP scan program of the access point discards the request and performs a new RSSI/CSI/CBF measurement operation.
  • the Wi-Fi AP scan program retransmits this request.
  • the Wi-Fi AP scan program receives this 500 response code twice in a row, it discards the request and starts a new RSSI/CSI/CBF measurement.
  • the AI module of the backend server when the AI module of the backend server receives the link metric that has passed the validation process in the previous step from the AP module, it starts the passenger level classification process.
  • the AI module loads the AI model object.
  • the AI model may be generated as a result of a machine learning process.
  • the AI model may be at least one of a neural network model, a clustering model, and a K Nearest Neighbor (KNN) model.
  • KNN K Nearest Neighbor
  • the AI model includes a black box function that can map link metrics to the number or level of passengers.
  • the AI module provides link metrics data as input to the AI model.
  • multidimensional data eg, a heatmap
  • the classification process is executed based on the input link metric data, and when the classification process is completed, the AI model returns the passenger level to the server.
  • the server stores the returned results in the database in association with the link metric data used as input to the AI model.
  • FIG. 4 is a flowchart illustrating a link operation between a user terminal and a server device.
  • the passenger-level classification results of subway train cabins/vehicles can be accessed from external client apps in a web-based mobile application, and can also be accessed on public display devices of subway platforms through open APIs.
  • methods for accessing passenger level information are largely divided into PULL and PUSH methods. Both methods use the Restful API as a communication medium with the server, but the basic differences between PULL and PUSH are as follows.
  • the PULL method indicates how the client makes a request to the server.
  • the application module of the backend server operates in conjunction with the client app installed in the client terminal.
  • the client app sends an API request.
  • the API request may include time information and subway room ID information indicating a measurement target.
  • the measurement target may be specified as at least one of a subway station, a subway ID, and a subway line. If the measurement time and subway station are specified in the API request, the server searches for a subway that enters the specified subway station at the specified measurement time, and retrieves passenger level information of all or at least some rooms included in the searched subway. It can act to return.
  • the application module receives the API request, verifies API parameters, and validates the API security token. Then, the database is queried for information related to the API parameter (eg, passenger level information of the subway cabin ID to be measured), and the information returned by the query is delivered to the client app.
  • the client app displays it through a display means so that the user can check it.
  • the client app To update data, the client app must actively and periodically send API requests to the server. When the client app receives a response from the server, it updates the information and immediately displays the result to the user through the terminal's display means.
  • One example of the PULL method may be that a web browser requests a web page.
  • passenger level information of a subway cabin is provided in real time through a user interface provided by a server using a subway passenger level related application or a web page related thereto.
  • PUSH indicates that the server starts updating information on the client.
  • 4B is a flowchart illustrating a method for a public display device to receive a passenger level result by a PUSH method.
  • the PUSH method starts with establishing a web socket connection between a client and a server.
  • identification information eg, subway station ID
  • the server actively transmits the updated data to the client when there is new updated data with respect to the passenger-level data of the subway coming into the specified subway station. If nothing has been updated, no separate information is transmitted to the client. However, when the latest update is detected, the corresponding information is transmitted to the public display device so that the result can be displayed in real time.
  • PUSH-style application is an email server sending an email to an email client. This can be very effective for real-time monitoring systems as it greatly reduces the number of API requests that clients send to the server. Therefore, in the case of a real-time client app, such as a public display device on a subway platform, it is preferable to use the PUSH method to access the passenger level information of the server.
  • FIG. 5 is an ER diagram (Entity-Relationship Diagram) showing the structure and relationship of data managed by a database.
  • a database structure may be required. These are mainly subway train information (Train), cabin-AP information (Cabin-AP), link metric information (Metric), platform-AP information (Platform-AP), subway station information (Subway Station), and user information (User). ) is included. In particular, such information can be divided into two categories based on the source providing it. It consists of external-provided data and system-generated data.
  • the externally provided information includes train information (Train), cabin-AP information (Cabin-AP) and platform-AP information (Platform-AP), and subway station information (Subway Station).
  • Train information includes a train id (train_id) and a line number (line number). It has the form of a static table. And, since one train has a plurality of cabins and an AP may be installed in each cabin, one train information (Train) corresponds to a plurality of cabin-AP information (Cabin-AP).
  • Cabin-AP information includes information of an AP corresponding to a room in which an access point (Wi-Fi router) is installed, and has a fixed table form. This table includes cabin identifier information (cabin_id) for distinguishing the first and second cabins, access point device identifiers (MAC addresses) (device_mac), other MAC addresses (mac_addr_2, mac_addr_5), and current passenger level information ( current_crowd_level) may be included.
  • Cabin_id cabin identifier information
  • MAC addresses access point device identifiers
  • other MAC addresses mac_addr_2, mac_addr_5
  • current_crowd_level current_crowd_level
  • Platform-AP information includes information about the AP installed in the subway station. It is stored in the form of a fixed table. This table stores information of access points (APs) installed around subway station platforms. This information, as described above, can be used to detect the movement status of the subway. This table has several columns. This includes a fixed access point identifier (platform_ap_id) fixedly installed on the platform, and a MAC address (mac_addr) of the corresponding AP.
  • platform_ap_id fixed access point identifier
  • mac_addr MAC address
  • Subway station information may correspond to a plurality of platform-AP information (Platform-AP). This is because a plurality of APs may be fixedly installed in one station.
  • Such subway station information is stored in the form of a fixed table, in which station ID (station_id), station name (station_name), and line number information (line_number) to which the station belongs may be stored.
  • the metric table is a table for storing information about the link metrics collected by the room AP.
  • This has a data structure in which a plurality of metric tables (Metric) correspond to one cabin-AP information (Cabin-AP) because one cabin AP continuously collects link metrics over time.
  • this table stores a set of link metric data (RSSI and/or CSI/CBF) provided by the Wi-Fi AP scan program of the guest room AP.
  • This collected data is used in the AI model to classify passenger levels in subway cabins. Since this table stores all link metric data for all operating subway rooms, it may be the largest table in the congestion prediction system according to an embodiment of the present invention. Over time, the data in this table continues to grow at a constant rate.
  • This table has the following columns: This is a metric self identifier (metric_id), a timestamp when data is inserted into the database, three types of link metric data (RSSI/CSI/CBF), and passenger level information corresponding to the link metric data (crowd_level) includes
  • This table stores a set of information about system users, such as administrators or other users with arbitrary roles.
  • This table also stores token access information for client apps that wish to obtain passenger level information via public APIs. This may include a user identifier (user_id), a user name (username), and a password (password).
  • user_id user identifier
  • username user name
  • password password
  • personal information it includes information (is_verified), email address information (email), role information (role), and API token access information (api_token) about whether a user is verified in relation to a specific authority.
  • api_token API token access information
  • FIG. 6 is a flowchart illustrating a learning and testing process of an algorithm for predicting the number of passengers in a cabin of an AI model.
  • the algorithm implementation part of the AI model is divided into two stages: a learning stage and a testing stage.
  • the training phase is a phase that aims to create an AI model to be used in the testing phase.
  • the test phase is the implementation of a real system in which the real-time link metric data of the access point device is classified at the subway cabin passenger level.
  • the AI model training process during the training phase requires labeled link metric data as an input.
  • the labeled data is the measured data and is a set of link metric data related to the actual passenger level.
  • Labeled data can be collected by performing data collection experiments directly in the train cabin.
  • the data labels (passenger level) are manually classified into passenger levels by counting the number of passengers in the train and then using a predefined level-by-level threshold.
  • the collected data is then processed and divided into two partitions: a training data set and a test data set.
  • the training dataset is the dataset used in the training process of the AI model
  • the test dataset is the dataset used to measure the accuracy of the AI model.
  • balancing the data distribution for each passenger level is very important to avoid overfitting the AI model.
  • tuning of AI model parameters can also be performed to generate an AI model with the best performance.
  • the system provides link metric data measured from the train cabin to the access point device in real time. This data is used as input to an algorithm that maps the data to the passenger level.
  • This phase includes two main functions: train movement status detection and passenger level classification.
  • the train movement status detection function is an important pre-processing function required before performing passenger level classification.
  • the train's movement status is determined by scanning RF signals from fixed access point devices installed at subway stations. It is preferable that the passenger level classification proceeds only when the train is in motion.
  • the passenger level classification function utilizes an AI model to estimate the passenger level in the train cabin.
  • AI models are created in the machine learning process during the learning phase.
  • the AI model performs a black box function that can map link metrics between two access point devices to the passenger level.
  • the AI model returns the results (passenger level) to the system for use by the user.
  • FIG. 7 is a flowchart illustrating a learning process of a prediction algorithm of an AI model according to another embodiment of the present invention.
  • a feature extraction process may be performed before training the AI model.
  • the training data is passenger level and link metric data corresponding thereto, as described above.
  • characteristic data to be actually used is extracted using a feature extraction technique.
  • data pre-processing This may include steps of feature scaling and noise removal.
  • the feature variables extracted from the learning data set when the size of a specific feature variable is larger than the reference value and the data distribution is distorted, the data distribution can be made even by scaling the data.
  • Noise removal removes data that is not necessary for learning and leaves only necessary data.
  • systems, devices, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA). ), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
  • Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave.
  • the software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
  • the method according to the embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
  • - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Abstract

One aspect of the present invention discloses a method by which a server device predicts a congestion level for each subway cabin. The method comprises the steps of: receiving channel information from a first access point (AP) through a network (wherein the channel information includes a link metric measured on the basis of a communication signal with a second AP, and the first AP is provided in a first subway cabin and the second AP is provided in a second subway cabin that is adjacent to the first subway cabin); calculating the congestion level of the first subway cabin or the second subway cabin on the basis of the received channel information (wherein the congestion level indicates the level related to the number of passengers present in the subway cabin); and providing the calculated congestion level of the subway cabin to a user terminal.

Description

근거리 무선통신 신호 기반의 지하철 객실별 혼잡도 예측 방법 및 시스템Method and system for predicting congestion level by subway room based on short-distance wireless communication signal
본 발명은 지하철 혼잡도 예측 방법에 관한 것으로, 보다 상세하게는, 지하철 내의 승객의 수를 보다 정확하게 산출하기 위한 방법에 관한 것이다.The present invention relates to a method of predicting subway congestion, and more particularly, to a method for more accurately calculating the number of passengers in a subway.
최근, 광역시와 같은 대도시는 물론 지역 대도시를 중심으로 관할 지역의 버스 운행정보를 제공하는 버스정보 안내시스템(BIS/BMS: Bus Information/Management System)이 구축되고 있다. 이러한 버스정보 안내시스템은, 운행되는 버스의 위치를 교통정보센터에서 실시간 수집하여 정류장 도착 예상 시간ㆍ노선별 현 운행 버스 위치ㆍ뒤차와의 거리ㆍ환승 정보 등과 같은 교통정보로 가공하고, 가공된 교통정보를 각 정류장 안내기를 통해 제공하거나 인터넷망 등을 통해 개인 단말기 사용자에게 제공하는 시스템으로, 현재는 개별 버스의 혼잡도까지 제공하고 있다.Recently, a bus information/management system (BIS/BMS) that provides bus operation information in a jurisdictional area is being built around not only large cities such as metropolitan cities but also regional large cities. This bus information guide system collects the location of the running bus in real time from the traffic information center and processes it into traffic information such as the expected arrival time at the stop, the current bus location by route, the distance to the vehicle behind, and transfer information, etc. It is a system that provides information to users of personal terminals through information provided at each bus stop or through the Internet network, etc. Currently, even the congestion level of individual buses is provided.
그러나 수도권의 직장인들은 출근 시간을 엄수하기 위해서 지하철을 자주 이용하고 있으나, 지하철에 대한 안내시스템에서 혼잡도를 안내하는 기능은 제공되지 못해 불편함을 느끼고 있다. 또한, 지하철은 각 지하철 객차가 연결된 형태이므로 버스의 정보안내시스템을 그대로 채택하기는 어려운 기술적 문제점도 있다.However, office workers in the metropolitan area often use the subway to adhere to their commuting hours, but feel uncomfortable because the subway information system does not provide a congestion information function. In addition, since each subway carriage is connected to the subway, there is a technical problem in that it is difficult to adopt the information guide system of the bus as it is.
특히, 지하철은 다수 개의 객차가 서로 연결되는 구조로 형성되고, 객차의 내부에 승객을 수용할 수 있는 공간이 형성되어 있는데, 지하철역에 정차 시 자동으로 개폐된다. 승객들은 지하철역의 승강장에서 지하철을 기다리며, 객차가 정해진 위치에 도착된 후 출입문이 개방되면 객차에 승차한다. 객차의 내부에는 승객이 앉을 수 있는 의자 및 서서 이동하는 승객을 위한 손잡이가 다수 개 제공되는데, 의자 및 손잡이의 수는 한정되어 있어, 무제한적으로 많은 승객을 태웠을 때 승객들에게 동일한 편의를 제공할 수 없는 문제가 있다. 특히, 출퇴근 시간 등 승객이 많이 몰리는 시간대에는 지하철의 이용자 수가 빠르게 증가하는 반면 지하철의 운행 대수에는 제한이 있으므로, 하나의 객차에 탑승하는 승객수는 늘어나는데, 승객수가 늘어나더라도 일정 인원수까지는 문제가 없으나, 그 이상의 승객이 하나의 객차에 탑승하면, 승객 사이의 거리가 좁아져서 승객들의 불쾌감은 증가하고, 의자 및 손잡이의 수를 초과하는 승객들은 안전 사고에 노출될 위험이 있다.In particular, the subway is formed in a structure in which a plurality of carriages are connected to each other, and a space for accommodating passengers is formed in the interior of the carriage, which is automatically opened and closed when stopped at a subway station. Passengers wait for the subway at the platform of the subway station, and when the door is opened after the car arrives at the designated location, they get on the car. A number of chairs and handles are provided inside the carriage for passengers to sit on and for passengers to move while standing, but the number of chairs and handles is limited, providing the same convenience to passengers when carrying an unlimited number of passengers There is a problem that cannot be done. In particular, during rush hour, such as rush hour, the number of subway users increases rapidly, while the number of subway trains is limited, so the number of passengers in one carriage increases. When more passengers board a single carriage, the distance between the passengers decreases, increasing the discomfort of the passengers, and there is a risk that passengers exceeding the number of chairs and handles may be exposed to safety accidents.
특히, 승강장 출입구 계단과 가까운 곳에 정차되는 객차로 승객이 몰리는 현상 등으로 인해 특정 객차에만 상대적으로 다수의 승객이 반복적으로 탑승하게 되므로, 해당 객차에 가해지는 부하가 증가하고 마모가 편중되는 문제가 있다.In particular, a relatively large number of passengers are repeatedly boarded only in a specific carriage due to a phenomenon in which passengers are flocked to carriages that are stopped close to the stairs at the platform entrance, so there is a problem in that the load applied to the carriage increases and the wear and tear is biased. .
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 목적은 지하철 열차 객실에 설치된 무선 근거리 통신용 액세스 포인트(AP: Access Point)를 이용하여 객실 내 승객의 수를 예측하도록 하는 근거리 무선통신 신호 기반의 지하철 객실별 혼잡도 예측 방법 및 시스템을 제공하는 것이다.An object according to an aspect of the present invention for solving the above-mentioned problems is to predict the number of passengers in the cabin using an access point (AP) for wireless short-range communication installed in the subway train cabin based on a short-distance wireless communication signal. It is to provide a method and system for predicting congestion for each subway room.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른, 서버 장치에서의 지하철 객실(cabin)별 혼잡도 예측 방법은, 제 1 액세스 포인트(AP: Access Point)로부터 네트워크를 통해 채널 정보를 수신하는 단계(상기 채널 정보는 제 2 액세스 포인트로와의 통신 신호를 기반으로 측정되는 링크 메트릭(link metric)을 포함하고, 상기 제 1 액세스 포인트는 제 1 지하철 객실에 설치된 액세스 포인트이며, 상기 제 2 액세스 포인트는 상기 제 1 지하철 객실과 인접한 제 2 지하철 객실에 설치된 액세스 포인트임), 상기 수신된 채널 정보를 기반으로 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계(상기 혼잡도는 상기 제 1 지하철 객실에 존재하는 승객의 수와 관련된 레벨(level)을 나타냄) 및 상기 산출된 제 1 지하철 객실의 혼잡도를 사용자 단말로 제공하는 단계를 포함할 수 있다.According to an aspect of the present invention for achieving the above object, a method of predicting congestion for each subway cabin in a server device includes the steps of receiving channel information from a first access point (AP) through a network (The channel information includes a link metric measured based on a communication signal with a second access point, and the first access point is an access point installed in a first subway cabin, and the second access point is an access point installed in a second subway cabin adjacent to the first subway cabin), calculating a congestion degree of the first subway cabin or the second subway cabin based on the received channel information (the congestion degree is the second subway cabin) 1 indicating a level related to the number of passengers present in the subway cabin) and providing the calculated congestion degree of the first subway cabin to the user terminal.
상기 링크 메트릭은 무선 근거리 통신 신호의 RSSI(Received Signal Strength Indicator), CSI(Channel State Information) 및 CBF(Compressed Beamforming Feedback) 중 적어도 하나를 포함할 수 있다.The link metric may include at least one of Received Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF) of a wireless short-range communication signal.
상기 수신된 채널 정보는 (i) 상기 링크 메트릭, (ii) 상기 제 1 지하철 객실의 식별 정보 및 제 1 액세스 포인트의 식별 정보 중 적어도 하나, (iii) 상기 제 2 지하철 객실의 식별 정보 및 제 2 액세스 포인트의 식별 정보 중 적어도 하나, (iv) 데이터 수집시의 시간을 나타내는 타임스탬프(timestamp) 정보 및 (v) 스캔된(scanned) 주변 액세스 포인트의 식별 정보를 포함할 수 있다.The received channel information includes (i) the link metric, (ii) at least one of identification information of the first subway cabin and identification information of a first access point, (iii) identification information of the second subway cabin and a second At least one of identification information of the access point, (iv) timestamp information indicating a time when data is collected, and (v) scanned identification information of neighboring access points may be included.
상기 수신된 채널 정보를 기반으로 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계는, 상기 제 1 지하철 객실이 이동 중인지 판단하는 단계 및 상기 판단 결과를 기반으로 상기 채널 정보를 이용하여 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계를 포함할 수 있다.Calculating the congestion level of the first subway cabin or the second subway cabin based on the received channel information includes determining whether the first subway cabin is moving and using the channel information based on the determination result to calculate the degree of congestion of the first subway cabin or the second subway cabin.
상기 제 1 지하철 객실이 이동 중인지 판단하는 단계는, 상기 채널 정보로부터 주변 액세스 포인트의 식별 정보를 파싱하여, 파싱된 정보를 기저장된 지하철 역 고정 액세스 포인트의 정보와 비교함에 의해 판단하는 단계를 포함할 수 있다.The step of determining whether the first subway cabin is moving may include parsing identification information of neighboring access points from the channel information, and determining by comparing the parsed information with information of pre-stored subway station fixed access points. can
상기 파싱된 정보는, 상기 제 1 액세스 포인트의 주변 액세스 포인트의 식별 정보를 포함하고, 상기 주변 액세스 포인트의 식별 정보가 상기 기저장된 지하철 역 고정 액세스 포인트의 정보 내에 존재하지 않음에 응답하여 현재 상기 제 1 지하철 객실이 이동 중이라고 판단하며, 상기 제 1 지하철 객실이 이동 중이라는 판단을 기반으로, 상기 제 1 지하철 객실의 혼잡도 산출을 개시(initiating)할 수 있다.The parsed information includes identification information of a neighboring access point of the first access point, and in response to that identification information of the neighboring access point does not exist in the pre-stored information of the subway station fixed access point, currently the second It is determined that the first subway cabin is moving, and based on the determination that the first subway cabin is moving, calculation of the congestion level of the first subway cabin may be initiated (initiating).
상기 채널 정보를 이용하여 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계는, AI (Artificial Intelligence) 모델을 이용하여 상기 링크 메트릭을 혼잡도 레벨에 매핑(mapping)함에 의해 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계를 포함할 수 있다.Calculating the congestion level of the first subway cabin or the second subway cabin by using the channel information may include mapping the link metric to a congestion level using an artificial intelligence (AI) model. It may include calculating the congestion level of the subway cabin or the second subway cabin.
상기 AI 모델은 실제 지하철 객실 내 실제 승객의 레벨 정보와 그에 대응하는 링크 메트릭을 학습 데이터 셋(training data set)으로 하여 학습된 기계 학습 모델일 수 있다.The AI model may be a machine learning model learned by using, as a training data set, level information of an actual passenger in an actual subway cabin and a link metric corresponding thereto.
상기 방법은, 상기 사용자 단말로부터 혼잡도 요청을 수신하는 단계를 더 포함하되, 상기 혼잡도 요청은 상기 제 1 지하철 객실의 식별 정보를 포함하고, 상기 혼잡도 요청에 응답하여 상기 제 1 지하철 객실의 혼잡도를 상기 사용자 단말로 제공할 수 있다.The method further includes receiving a congestion level request from the user terminal, wherein the congestion level request includes identification information of the first subway cabin, and in response to the congestion level request, the congestion level of the first subway cabin is displayed It can be provided to a user terminal.
상기 방법은, 상기 혼잡도 요청의 API 매개 변수를 검증하는 단계 및 상기 혼잡도 요청과 관련된 API 보안 토큰의 유효성을 검증하는 단계를 더 포함할 수 있다.The method may further include verifying an API parameter of the congestion request and verifying the validity of an API security token associated with the congestion request.
상기 방법은, 제 1 액세스 포인트(AP: Access Point)로부터 채널 정보를 수신하는 단계 이후에, 상기 수신되는 채널 정보의 유효성을 검증하는 단계를 더 포함하되, 상기 채널 정보의 유효성은 (i) 상기 제 1 지하철 객실 또는 상기 제 1 액세스 포인트가 등록된 것인지 확인함에 의해 검증되고, (ii) 그리고 상기 채널 정보의 길이를 확인함에 의해 검증될 수 있다.The method further comprises, after receiving the channel information from a first access point (AP), verifying the validity of the received channel information, wherein the validity of the channel information is (i) the verified by verifying that the first subway cabin or the first access point is registered, and (ii) verifying the length of the channel information.
상기 방법은, 상기 수신된 채널 정보가 유효하다는 판단에 기반하여, 상기 채널 정보를 저장하는 단계를 더 포함하되, 상기 채널 정보는 그에 대응하는 승객 레벨 결과와 함께 저장될 수 있다.The method further comprises, based on a determination that the received channel information is valid, storing the channel information, wherein the channel information may be stored together with a corresponding passenger level result.
상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른, 지하철 객실(cabin)별 혼잡도 예측 장치는, 제 1 액세스 포인트(AP: Access Point)로부터 네트워크를 통해 채널 정보를 수신하는 AP 모듈(상기 채널 정보는 제 2 액세스 포인트로부터와의 통신 신호를 기반으로 측정되는 링크 메트릭(link metric)을 포함하며, 상기 제 1 액세스 포인트는 제 1 지하철 객실에 설치된 액세스 포인트이고, 상기 제 2 액세스 포인트는 상기 제 1 지하철 객실과 인접한 제 2 지하철 객실에 설치된 액세스 포인트임), 상기 수신된 채널 정보를 기반으로 상기 제 1 지하철 객실 또는 제 2 지하철 객실의 혼잡도를 산출하는 프로세서(상기 혼잡도는 상기 제 1 지하철 객실에 존재하는 승객의 수와 관련된 레벨(level)을 나타냄) 및 상기 산출된 제 1 지하철 객실의 혼잡도를 사용자 단말로 제공하는 애플리케이션 모듈을 포함할 수 있다.According to another aspect of the present invention for achieving the above object, an apparatus for predicting congestion for each subway cabin is an AP module (the channel) for receiving channel information from a first access point (AP) through a network. The information includes a link metric measured based on a communication signal with and from a second access point, the first access point being an access point installed in a first subway cabin, and the second access point being the second access point. 1 is an access point installed in the second subway cabin adjacent to the first subway cabin), a processor for calculating the congestion degree of the first subway cabin or the second subway cabin based on the received channel information (the congestion degree is in the first subway cabin) and an application module that provides a level (level) related to the number of existing passengers) and the calculated congestion level of the first subway cabin to the user terminal.
상기한 목적을 달성하기 위한 본 발명의 또 다른 양태에 따른, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치는, 제 2 액세스 포인트와의 통신신호를 기반으로 채널 상태를 측정하고, 상기 측정된 채널 상태를 포함하는 채널 정보를 네트워크를 통해 서버로 전송하는 액세스 포인트 스캔 모듈 및 상기 채널 정보를 저장하는 메모리를 포함하되, 상기 채널 상태는 링크 메트릭을 포함하고, 상기 제 2 액세스 포인트는 상기 제 1 액세스 포인트 장치가 설치된 제 1 지하철 객실과 인접한 제 2 지하철 객실에 설치된 액세스 포인트일 수 있다.According to another aspect of the present invention for achieving the above object, a first access point device for predicting congestion for each subway cabin measures a channel state based on a communication signal with a second access point, and the measured An access point scan module for transmitting channel information including a channel state to a server through a network, and a memory for storing the channel information, wherein the channel state includes a link metric, and the second access point includes the first It may be an access point installed in the second subway cabin adjacent to the first subway cabin in which the access point device is installed.
상기 링크 메트릭은 무선 근거리 통신 신호의 RSSI(Received Signal Strength Indicator), CSI(Channel State Information) 및 CBF(Compressed Beamforming Feedback) 중 적어도 하나를 포함할 수 있다.The link metric may include at least one of Received Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF) of a wireless short-range communication signal.
상기 액세스 포인트 스캔 모듈은 기설정된 기간 동안 적어도 하나의 링크 메트릭들을 수집하여 상기 채널 정보를 생성할 수 있다.The access point scan module may generate the channel information by collecting at least one link metrics for a preset period.
상기 기설정된 기간 동안 복수 개의 링크 메트릭들을 수집한 때, 링크 메트릭들의 평균값을 계산하여 집계함으로써, 상기 기설정된 기간 동안의 집계된 데이터를 산출하여 상기 채널 정보를 생성할 수 있다.When a plurality of link metrics are collected for the preset period, the channel information may be generated by calculating the aggregated data for the preset period by calculating and aggregating an average value of the link metrics.
상기 채널 정보는 (i) 상기 링크 메트릭, (ii) 상기 제 1 지하철 객실의 식별 정보 및 제 1 액세스 포인트의 식별 정보 중 적어도 하나, (iii) 상기 제 2 지하철 객실의 식별 정보 및 제 2 액세스 포인트의 식별 정보 중 적어도 하나, (iv) 데이터 수집시의 시간을 나타내는 타임스탬프(timestamp) 정보 및 (v) 스캔된(scanned) 주변 액세스 포인트의 식별 정보를 포함할 수 있다.The channel information may include (i) the link metric, (ii) at least one of identification information of the first subway cabin and identification information of a first access point, (iii) identification information of the second subway cabin and a second access point. It may include at least one of identification information of (iv) timestamp information indicating a time when data is collected, and (v) identification information of scanned neighboring access points.
상기 서버로 상기 채널 정보를 전송하는 주기가 상기 링크 메트릭 측정 주기보다 길 수 있다.A period for transmitting the channel information to the server may be longer than a period for measuring the link metric.
상기 액세스 포인트 스캔 모듈은 상기 서버로부터 응답을 수신함에 기반하여, 현재 링크 메트릭 측정 결과를 저장하고, 다음 링크 메트릭 측정을 준비할 수 있다.The access point scan module may store a current link metric measurement result and prepare for a next link metric measurement based on receiving a response from the server.
본 발명의 근거리 무선통신 신호 기반의 지하철 객실별 혼잡도 예측 방법 및 시스템에 따르면, 지하철 객실별 혼잡도를 실시간으로 분석하여 승객에게 제공함에 따라 지하철 탑승 전에 혼잡도를 미리 파악하여 적절한 객차 선택을 통해 원활한 지하철 이용이 가능케 하는 효과가 있고, 사고 대응이 용이한 장점이 있다. According to the method and system for predicting the congestion level for each subway cabin based on the short-range wireless communication signal of the present invention, the congestion level for each subway room is analyzed in real time and provided to passengers. It has the effect of making this possible and has the advantage of being easy to respond to an accident.
도 1은 본 발명의 일 실시예에 따른, 지하철 객실별 혼잡도 예측 방법을 실행하는 시스템을 개략적으로 나타낸 개념도,1 is a conceptual diagram schematically showing a system for executing a method for predicting congestion for each subway cabin according to an embodiment of the present invention;
도 2는 도 1의 시스템을 보다 구체적으로 나타낸 상세 블록도,Fig. 2 is a detailed block diagram showing the system of Fig. 1 in more detail;
도 3은 지하철 액세스 포인트와, 서버 장치 및 AI 모델의 연계 동작을 나타낸 흐름도,3 is a flowchart showing the connection operation of the subway access point, the server device, and the AI model;
도 4는 사용자 단말과 서버 장치 간의 연계 동작을 나타낸 흐름도,4 is a flowchart showing a link operation between a user terminal and a server device;
도 5는 데이터베이스에 의해 관리되는 데이터들의 구조 및 관계를 나타낸 ER 다이어그램(Entity-Relationship Diagram),5 is an ER diagram (Entity-Relationship Diagram) showing the structure and relationship of data managed by the database;
도 6은 AI 모델의 객실 내 승객 수 예측 알고리즘의 학습 및 테스트 과정을 나타낸 흐름도이다. 6 is a flowchart illustrating a learning and testing process of an algorithm for predicting the number of passengers in a cabin of an AI model.
도 7은 본 발명의 다른 실시예에 있어서, AI 모델의 예측 알고리즘의 학습 과정을 나타낸 흐름도이다.7 is a flowchart illustrating a learning process of a prediction algorithm of an AI model according to another embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate the overall understanding, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
도 1은 본 발명의 일 실시예에 따른, 지하철 객실별 혼잡도 예측 방법을 실행하는 시스템을 개략적으로 나타낸 개념도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 지하철 객실별 혼잡도 예측 시스템은 액세스 포인트(110-1, 110-2), 서버(100) 및 클라이언트 단말(130-1, 130-2)을 포함할 수 있다. 1 is a conceptual diagram schematically illustrating a system for executing a method of predicting congestion for each subway cabin according to an embodiment of the present invention. As shown in FIG. 1 , the congestion prediction system for each subway cabin according to an embodiment of the present invention includes access points 110-1 and 110-2, servers 100 and client terminals 130-1 and 130-2. ) may be included.
도 1을 참조하면, 액세스 포인트(110-1, 110-2)는 무선 장치를 네트워크에 연결하도록 지원하는 장치로, 지하철 객실(112-1~112-N) 내에 설치되어 있을 수 있다. 이는 하나 또는 그 이상의 수로 지하철 객실마다 설치될 수 있다. 액세스 포인트(110-1)는 지하철 객실(112-1)에 설치되고, 액세스 포인트(110-2)는 앞선 지하철 객실(112-1)에 인접한 지하철 객실(112-2)에 설치될 수 있다. 본 명세서에서 "지하철(subway)"로 표현하고 있지만, 지하철이라고 표현된 부분이 이와 유사한 기능을 수행하는 일반 기차(train), 열차, 전철, 고속열차(express), 전동차 등의 다른 교통수단으로 대체됨에도 본 발명의 혼잡도 산출이 가능할 수 있다는 점은 본 발명이 속하는 기술분야의 통상의 기술자에게는 자명한 것일 것이다. 또한, "객실(cabin)"이라는 용어는 본 명세서 상에서, 객차, 칸 등의 용어로 대체되어 사용될 수 있다. Referring to FIG. 1 , access points 110 - 1 and 110 - 2 are devices that support a wireless device to connect to a network, and may be installed in subway cabins 112-1 to 112-N. It may be installed per subway cabin in one or more channels. The access point 110-1 may be installed in the subway cabin 112-1, and the access point 110-2 may be installed in the subway cabin 112-2 adjacent to the previous subway cabin 112-1. Although expressed as "subway" in this specification, the part expressed as subway is replaced by other means of transportation such as general trains, trains, trains, express trains, and electric trains that perform similar functions It will be apparent to those of ordinary skill in the art that the congestion degree of the present invention can be calculated even though the present invention pertains. In addition, the term "cabin" may be used interchangeably with terms such as a carriage, a car, and the like in this specification.
한편, 액세스 포인트(110-1, 110-2)는 무선 근거리 통신 라우터로 구현될 수 있다. 예를 들어, 와이-파이(Wi-Fi) 라우터로 구현될 수 있다. 다만, 무선 통신 방식이 반드시 와이-파이로 한정되어야만 하는 것은 아니다. 본 명세서 내에서, "와이-파이"라는 용어가 사용된 부분에 지그비(Zigbee), 블루투스(Bluetooth) 등 다른 무선통신 방식이 사용될 수 있으며, 액세스 포인트(110-1, 110-2) 역시 와이-파이 이외에 다른 무선 통신 방식을 지원하는 라우터로 구현될 수 있다. Meanwhile, the access points 110 - 1 and 110 - 2 may be implemented as wireless short-range communication routers. For example, it may be implemented as a Wi-Fi (Wi-Fi) router. However, the wireless communication method is not necessarily limited to Wi-Fi. In the present specification, other wireless communication methods such as Zigbee and Bluetooth may be used in the part where the term "Wi-Fi" is used, and the access points 110-1 and 110-2 are also Wi-Fi. It can be implemented as a router that supports other wireless communication methods other than PI.
액세스 포인트(110-1, 110-2)는 지하철 객실 내 와이-파이(Wi-Fi) 채널 상태를 측정하는 기능을 수행한다. 이를 링크 메트릭(Link Metrics)라고 부를 수 있다. 링크 메트릭은 RSSI(Receiver Signal Strength Indicator), CSI(Channel State Information) 및 CBF(Compressed Beamforming Feedback) 중 적어도 하나를 포함할 수 있다. 객실에서 와이-파이 링크 메트릭을 획득하려면, 액세스 포인트(110-1)가 모니터링 라우터가 되고, 인접한 객실(112-2)에 설치된 다른 와이-파이 라우터(110-2)를 모니터링할 수 있어야 한다. 즉, 액세스 포인트(110-1)는 인접한 지하철 칸(112-2)에 설치된 액세스 포인트(110-2)와 통신한 신호를 기반으로 하는 링크 메트릭 측정 결과를 인터넷 연결을 통해 서버(120)로 전송한다.The access points 110-1 and 110-2 perform a function of measuring a Wi-Fi channel state in a subway cabin. These may be referred to as link metrics. The link metric may include at least one of Receiver Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF). In order to obtain the Wi-Fi link metric in the guest room, the access point 110-1 becomes a monitoring router and must be able to monitor another Wi-Fi router 110-2 installed in the adjacent guest room 112-2. That is, the access point 110-1 transmits a link metric measurement result based on a signal communicated with the access point 110-2 installed in the adjacent subway car 112-2 to the server 120 through the Internet connection. do.
서버(120)는 인터넷을 통해 다수의 액세스 포인트들(110-1~110-2)로부터 수신되는 링크 메트릭을 저장하고, 논리 연산을 수행하여 지하철 열차 객실의 승객 레벨을 예측 및 분류하는 기능을 수행한다. 서버(120)는 컴퓨팅 장치로 구현될 수 있으며, 대용량의 정보 처리를 수행 가능한 서버급 컴퓨팅 장치로 구현되는 것이 바람직하다. 예를 들어, 서버(120)는 전용 물리적 서버이거나, AWS(Amazon Web Services), Alibaba Cloud 또는 Google Cloud Platform과 같은 가상 클라우드 서버 일 수 있다. The server 120 stores link metrics received from a plurality of access points 110-1 to 110-2 through the Internet, and performs a logical operation to predict and classify the passenger level of the subway train cabin. do. The server 120 may be implemented as a computing device, and is preferably implemented as a server-class computing device capable of processing large amounts of information. For example, the server 120 may be a dedicated physical server or a virtual cloud server such as Amazon Web Services (AWS), Alibaba Cloud, or Google Cloud Platform.
서버(120)는 미리 학습된 AI 모델(AI model)을 이용하여 링크 메트릭 측정 결과에 대응하는 승객 레벨을 추론할 수 있다. 즉, 액세스 포인트들(110-1~110-2)로부터 수신된 링크 메트릭 정보를 기반으로 각 액세스 포인트들(110-1~110-2)이 설치되어 있는 지하철 객실에 탑승한 승객의 레벨을 개별적으로 추론할 수 있다. The server 120 may infer the passenger level corresponding to the link metric measurement result by using a pre-trained AI model. That is, based on the link metric information received from the access points 110-1 to 110-2, the level of the passenger in the subway cabin in which each of the access points 110-1 to 110-2 is installed is individually determined. can be inferred as
한편, 데이터베이스에 저장하기 전에, 서버(120)는 액세스 포인트들(110-1~110-2)로부터 수신되는 링크 메트릭의 유효성을 먼저 검증한다. 유효성 검증 결과, 유효한 경우에만, 서버(120)는 해당 링크 메트릭 데이터를 데이터베이스에 저장한다. 그리고는, 전술한 바와 같이, 유효하게 수신된 데이터를 입력 함수로 사용하여 AI 모델에 입력하고, 그에 대한 출력으로 지하철 객실의 혼잡도 레벨을 획득한다. 이는 특정 숫자로 출력될 수도 있지만, 레벨이라고 불리는 그룹핑된 결과값으로 도출될 수 있다. 예를 들어, 100명 이하를 "여유" 레벨로, 100~200명을 "보통" 레벨로, 200~250명 이상을 "혼잡" 레벨로, 250명 이상을 "매우 혼잡" 레벨로 분류할 수 있다. 이때, 각 레벨을 구분짓는 임계값은 사용자 설정을 통해 변경할 수 있다. 이와 같은 레벨 분류 결과는 클라이언트 단말(130-1~130-2)에서 확인할 수 있도록 데이터베이스에 저장된다.Meanwhile, before storing in the database, the server 120 first verifies the validity of the link metric received from the access points 110-1 to 110-2. As a result of validation, only when it is valid, the server 120 stores the corresponding link metric data in the database. Then, as described above, using the validly received data as an input function, it is input to the AI model, and the congestion level of the subway cabin is obtained as an output thereof. This may be output as a specific number, but may be derived as a grouped result called a level. For example, you could classify 100 people or less as "Free" level, 100-200 people as "Normal" level, 200-250 people as "Congested" level, and 250 or more people as "Very congested" level. have. In this case, the threshold value for classifying each level may be changed through user setting. Such level classification results are stored in the database so that the client terminals 130-1 to 130-2 can check them.
서버(120)는 지하철 객실별 승객 레벨에 관하여, 클라이언트 단말(130-1~130-2)의 앱의 모든 데이터 요청에 응답한다. 클라이언트 단말(130-1~130-2)은 사용자와 직접 상호 작용하는 엔티티이다. 클라이언트 단말(130-1~130-2)은 휴대용 단말(예를 들어, 스마트 폰, 랩톱(laptop), PDA 등)일 수 있고, 고정형 단말(예를 들어, 전광판, 공용 디스플레이 장치, PC, 관제 시스템 등)일 수도 있다. 클라이언트 단말(130-1, 130-2)에는 지하철 혼잡도 정보를 서버(120)에 요청하고 결과를 수신하는 클라이언트 애플리케이션(이를 "클라이언트 앱"이라 부를 수 있음)이 설치되어 있을 수 있다. 클라이언트 앱은 사용자에게 필요한 데이터를 정렬 및 필터링하고 서버(120)에 요청을 보내는 작업을 수행한다. 그리고, 서버(120)로부터 요청에 대한 응답을 받은 후, 사용자에게 직접 데이터를 표시하고 시각화한다. 클라이언트 앱은 모바일 애플리케이션 또는 웹 앱으로 구현될 수 있다. 또한, 고정형 단말에 있어서, 지하철 역 플랫폼에 설치된 공용 디스플레이 같은 경우, 서버(120)를 향해 적극적인 요청 없이도, 서버(120)로부터 수신되는 결과를 표시하고 시각화할 수 있다. The server 120 responds to all data requests of the app of the client terminals 130-1 to 130-2 with respect to the passenger level for each subway cabin. The client terminals 130-1 to 130-2 are entities that directly interact with the user. The client terminals 130-1 to 130-2 may be portable terminals (eg, smart phones, laptops, PDAs, etc.), and fixed terminals (eg, electronic billboards, public display devices, PCs, and control devices). system, etc.). A client application (this may be referred to as a “client app”) may be installed in the client terminals 130-1 and 130-2 to request subway congestion information from the server 120 and receive the result. The client app sorts and filters data required by the user and sends a request to the server 120 . Then, after receiving a response to the request from the server 120, the data is directly displayed and visualized to the user. The client app may be implemented as a mobile application or a web app. In addition, in the case of a fixed terminal, such as a public display installed on a subway station platform, the result received from the server 120 can be displayed and visualized without an active request toward the server 120 .
클라이언트 단말(130-1~130-2)도, 액세스 포인트들(110-1~110-2)와 마찬가지로, 서버(120)와 통신하기 위해, 인터넷 액세스가 필요하다. 액세스 포인트들(110-1~110-2) 및 클라이언트 단말(130-1~130-2)은 서버(120) 측에 정의된 Restful API를 통해 서버(120)와 통신한다. Restful API는 REST(Representational State Transfer)를 기반으로 하는 애플리케이션 프로그램 인터페이스이다. REST는 웹 서비스를 만드는 데 사용할 제약 조건의 집합을 정의하는 소프트웨어 아키텍처 스타일이고, RESTful 웹 서비스(RESTful Web Service)라고 하는 REST 아키텍처 스타일을 따르는 웹 서비스는 인터넷 상의 컴퓨터 시스템들 간에 상호 운용성을 제공한다. Restful API는 RFC 2616 프로토콜에 정의된 HTTP 방법론을 사용한다. 즉, Restful API는 리소스를 검색하기 위해 GET 메서드(method)를 사용하고, 상태를 변경하거나 리소스를 업데이트하기 위해 PUT 메서드를 사용하며, 리소스(resource)를 생성하기 위해 POST 메서드를 사용하고, 그것을 제거하기 위해 DELETE 메서드를 사용한다. 호출(요청)이 스테이트리스(stateless)이기 때문에, REST는 클라우드 애플리케이션(cloud application)에서 유용하게 사용된다. The client terminals 130-1 to 130-2, like the access points 110-1 to 110-2, also need Internet access to communicate with the server 120. The access points 110-1 to 110-2 and the client terminals 130-1 to 130-2 communicate with the server 120 through the Restful API defined on the server 120 side. Restful API is an application program interface based on REST (Representational State Transfer). REST is a software architectural style that defines a set of constraints to be used to create a web service, and a web service conforming to the REST architectural style called RESTful Web Service provides interoperability between computer systems on the Internet. Restful API uses HTTP methodology defined in RFC 2616 protocol. In other words, Restful API uses GET method to retrieve resource, PUT method to change state or update resource, POST method to create resource, and remove it. To do this, use the DELETE method. Since the call (request) is stateless, REST is useful in cloud applications.
도 2는 도 1의 시스템을 보다 구체적으로 나타낸 상세 블록도이다. 도 2에 도시된 바와 같이, 액세스 포인트(210-1~210-2)는 와이-파이 액세스 포인트 스캔 프로그램(Wi-Fi AP Scan Program)을 실행하는 모듈("액세스 포인트 스캔 모듈"이라 부를 수 있음)과 와이-파이 드라이버(Wi-Fi driver)를 포함하고, 서버는 벡엔드 서버(220: backend server)와 데이터베이스 서버(225: database server)를 포함한다. FIG. 2 is a detailed block diagram illustrating the system of FIG. 1 in more detail. As shown in FIG. 2 , the access points 210-1 to 210-2 may be referred to as a module (“access point scan module”) executing a Wi-Fi access point scan program (Wi-Fi AP Scan Program). ) and a Wi-Fi driver (Wi-Fi driver), and the server includes a backend server (220: backend server) and a database server (225: database server).
도 2를 참조하면, 액세스 포인트(210-1)는 링크 메트릭을 얻기 위해 인접한 칸에 있는 다른 액세스 포인트(210-2)를 모니터링 할 수 있어야 한다. 링크 메트릭은 지하철 객실의 승객 레벨을 분류하는데 매우 중요하게 사용된다. 와이-파이(Wi-Fi) 링크 메트릭은 RSSI 및/또는 CSI/CBF의 집합일 수 있다. RSSI는 수신된 신호의 강도를 표시하는 지시자이다. 무선 장치가 다른 무선 장치에서 수신하는 전력 레벨의 추정 측정치라고 볼 수 있다. 무선 장치가 먼 거리에 있다면, 신호가 약해지고 무선 데이터 속도가 느려져 전체 데이터 처리량이 낮아진다. 일반적으로, RSSI 정보는 와이-파이 라우터에서 비교적 쉽게 획득 가능하다. 거의 모든 와이-파이 드라이버는 RSSI 정보를 획득하는 기능을 제공한다. 그 중 하나는 리눅스(Linux) 운영 체제에서 제공하는 IW 도구일 수 있다. 또한, CSI 또는 CBF 정보는 통신 링크의 기정의된 채널 속성을 나타낸다. 이 정보는 신호가 송신기에서 수신기로 전파되는 방식을 설명하고, 예를 들어, 산란(scaterring), 페이딩(fading), 거리에 따른 전력 감쇠와 같은, 조합된 효과를 나타낸다. 와이-파이 드라이버는 이러한 정보를 모니터링하는 기능을 수행할 수 있다.Referring to FIG. 2 , the access point 210 - 1 must be able to monitor another access point 210 - 2 in an adjacent cell in order to obtain a link metric. The link metric is very important to classify the passenger level of the subway cabin. The Wi-Fi link metric may be a set of RSSI and/or CSI/CBF. RSSI is an indicator indicating the strength of a received signal. It can be viewed as an estimated measure of the power level that a wireless device receives from another wireless device. If the wireless device is at a great distance, the signal will be weakened and the wireless data rate will be slower, lowering the overall data throughput. In general, RSSI information can be obtained relatively easily from a Wi-Fi router. Almost all Wi-Fi drivers provide a function to obtain RSSI information. One of them may be an IW tool provided by the Linux operating system. In addition, CSI or CBF information indicates a predefined channel attribute of a communication link. This information describes how the signal propagates from the transmitter to the receiver and exhibits combined effects, such as, for example, scattering, fading, and power attenuation with distance. The Wi-Fi driver may perform the function of monitoring such information.
본 발명의 일 실시예에 있어서, 액세스 포인트(210-1)는 사전에 그리고 주기적으로 측정된 링크 메트릭을 서버(220)로 전송한다. 측정된 링크 메트릭은 서로 인접한 열차 객실에 설치된 2개의 액세스 포인트(210-1, 210-2) 간의 RSSI 및/또는 CSI/CBF 측정 결과이다. 승객이 존재하지 않은 때, 두 액세스 포인트(210-1, 210-2) 간의 RSSI 및/또는 CSI/CBF는 간섭이 없는 상태의 신호로 측정될 수 있다. 하지만, 승객이 일부 존재할 때는 승객 및 승객이 보유한 단말에 따른 간섭 및 왜곡에 의해, 두 액세스 포인트(210-1, 210-2) 간의 RSSI 및/또는 CSI/CBF 측정 결과는 승객이 없을 때와는 많이 다를 수 있다. 본 발명의 실시예에 따르면, 승객의 수와 그에 영향을 받아 달라지는 무선 신호와의 관계, 즉, 승객의 수와 링크 메트릭과의 관계를 학습함으로써, 두 액세스 포인트(210-1, 210-2) 사이의 링크 메트릭 결과 값을 가지고 객실 내의 승객의 수를 추론할 수 있도록 한다. In one embodiment of the present invention, the access point 210 - 1 transmits the previously and periodically measured link metrics to the server 220 . The measured link metric is a measurement result of RSSI and/or CSI/CBF between two access points 210 - 1 and 210 - 2 installed in train cabins adjacent to each other. When no passenger is present, RSSI and/or CSI/CBF between the two access points 210 - 1 and 210 - 2 may be measured as a signal in a state without interference. However, when there are some passengers, the RSSI and/or CSI/CBF measurement results between the two access points 210 - 1 and 210 - 2 are different from when there are no passengers due to interference and distortion depending on the passenger and the terminal possessed by the passenger. can vary a lot. According to an embodiment of the present invention, by learning the relationship between the number of passengers and the radio signal that is affected by them, that is, the relationship between the number of passengers and the link metric, the two access points 210 - 1 and 210 - 2 . It is possible to infer the number of passengers in the cabin with the result of the link metric between them.
한편, 링크 메트릭을 서버(220)로 전송하는 기간(주기)은 두 액세스 포인트(210-1, 210-2) 간의 링크 메트릭 측정 기간(주기)보다 긴 것이 바람직하다. 즉, 서버(220)로 전송되는 1개의 링크 메트릭 데이터에는 여러 링크 메트릭 측정 결과가 포함될 수 있다. 이러한 복수 개의 링크 메트릭 측정 결과는 두 액세스 포인트(210-1, 210-2) 사이에서 실내의 승객 레벨을 분류하기 위한 AI 모델의 입력으로 사용된다.Meanwhile, it is preferable that the period (period) for transmitting the link metric to the server 220 is longer than the period (period) for measuring the link metric between the two access points 210 - 1 and 210 - 2 . That is, one link metric data transmitted to the server 220 may include several link metric measurement results. The measurement results of the plurality of link metrics are used as input to the AI model for classifying the passenger level in the room between the two access points 210 - 1 and 210 - 2 .
본 발명의 실시예에 따르면, 액세스 포인트(210-1)에서, 보다 정확히는, 액세스 포인트 스캔 모듈에서, 위와 같은 동작을 수행하는 프로그램, 즉, Wi-Fi AP 스캔 프로그램이 실행된다. 이 프로그램은 주기적으로, RSSI 및/또는 CSI/CBF 측정 기능을 수행하기 위해 Wi-Fi 드라이버에 API를 호출한다. 즉, 주기적으로(매초 또는 다른 주기로) 자신과 인접한 객실에 설치된 다른 액세스 포인트(210-2) 간의 링크 메트릭(RSSI/CSI/CBF)을 측정한다. 그리고는, 일정 기간 내에 일정 수의 RSSI/CSI/CBF의 샘플을 수집한다. 그리고는, 액세스 포인트(210-1)의 내부 메모리에 측정 결과를 저장한다. 측정 결과는 이전 측정 결과와 함께 내부 메모리에 추가된다. 여러 링크 메트릭 측정 결과를 저장한 후, 상기 프로그램은 지정된 형식으로 서버(220)에 안정된 API 요청을 만들어 수집된 데이터를 서버(220)로 전송한다. 이때, HTTP 요청을 통해 클라우드 서버로 데이터를 전송한다. 서버(220)로 데이터를 보내는 과정에서, 상기 프로그램은 서버(220)의 응답을 동기적으로 기다린다. 그리고는, 서버(220)로부터 응답을 받으면 해당 프로그램은 이전 측정 결과를 저장하고 다음 작업을 수행하는데 사용되는 내부 메모리를 확보한다. According to the embodiment of the present invention, in the access point 210-1, more precisely, in the access point scan module, a program for performing the above operation, that is, a Wi-Fi AP scan program is executed. The program periodically calls APIs to the Wi-Fi driver to perform RSSI and/or CSI/CBF measurement functions. That is, the link metric (RSSI/CSI/CBF) is measured periodically (every second or another period) between itself and another access point 210 - 2 installed in an adjacent room. Then, a certain number of samples of RSSI/CSI/CBF are collected within a certain period. Then, the measurement result is stored in the internal memory of the access point 210-1. The measurement result is added to the internal memory together with the previous measurement result. After storing several link metric measurement results, the program transmits the collected data to the server 220 by making a stable API request to the server 220 in a specified format. At this time, data is transmitted to the cloud server through an HTTP request. In the process of sending data to the server 220 , the program synchronously waits for a response from the server 220 . Then, when receiving a response from the server 220, the program stores the previous measurement result and secures an internal memory used to perform the next task.
한편, 상기 와이-파이 스캔 프로그램에 의해 서버(220)로 전달되는 데이터는 다음을 포함함다. Meanwhile, the data transmitted to the server 220 by the Wi-Fi scan program includes the following.
1. 수집된 링크 메트릭(RSSI/CSI/CBF) 샘플1. Sample Collected Link Metrics (RSSI/CSI/CBF)
2. 객실 ID 또는 액세스 포인트(210-1)의 식별자(MAC 주소)(이는 고유한 정보임)2. Room ID or identifier (MAC address) of access point 210-1 (this is unique information)
3. 인접 액세스 포인트(210-2: 모니터링 대상 장치)의 식별자(MAC 주소)3. Identifier (MAC address) of the neighboring access point (210-2: monitoring target device)
4. 데이터 수집시의 타임 스탬프(timestamp)4. Timestamp at the time of data collection
5. 스캔된 주변 AP의 MAC 주소 목록5. Scanned list of MAC addresses of neighboring APs
서버와 관련하여, 도 2의 실시예에 따르면, 최소한 두 가지 유형의 서버, 즉 백엔드 서버(220)와 데이터베이스 서버(225)가 연동함으로써 객실 내 승객 레벨 추정 동작을 수행한다. 백엔드 서버(220)는 액세스 포인트(210-1)와 연계하여 동작하는 AP 모듈(AP module), AI 모델과 연계하여 승객 레벨을 추정하는 AI 모듈(AI module), 그리고 클라이언트 단말과 연계하여 동작하는 애플리케이션 모듈(Application module)을 포함한다. 각각의 모듈은 하나 또는 그 이상의 프로세서(processor)로 구현될 수 있다. 또는, 복수의 모듈이 조합하여 하나의 프로세서로 구현될 수도 있다. In relation to the server, according to the embodiment of FIG. 2 , at least two types of servers, that is, the back-end server 220 and the database server 225, work together to perform an in-cabin passenger level estimation operation. The backend server 220 is an AP module operating in conjunction with the access point 210-1, an AI module for estimating the passenger level in connection with the AI model, and operating in conjunction with the client terminal. Includes an application module. Each module may be implemented by one or more processors. Alternatively, a plurality of modules may be combined to be implemented as one processor.
AP 모듈은 액세스 포인트(210-1)와 상호작용하는 모듈로써, 액세스 포인트(210-1)에서 전달된 링크 메트릭을 수신하여 유효성을 검증하고 이를 데이터베이스 서버(225)로 전달하는 역할을 한다. 즉, RSSI 및/또는 CSI/CBF를 액세스 포인트들의 식별정보, 시간 정보 등과 함께 저장한다. The AP module is a module that interacts with the access point 210 - 1 , receives the link metric transmitted from the access point 21 - 1 , verifies validity, and transmits it to the database server 225 . That is, RSSI and/or CSI/CBF are stored together with identification information and time information of access points.
AI 모듈은 AI 모델을 호출하여 링크 메트릭 정보를 입력하고 AI 모델을 실행함으로써 출력으로 승객 레벨 정보를 획득한다. 도면 상에는 AI 모델이 서버 장치 외부에 존재하는 것으로 표시되어 있으나, 서버 외부의 프로그램일 수도 있고, 경우에 따라 서버 내부에 설치된 프로그램일 수도 있다. The AI module calls the AI model to input link metric information, and executes the AI model to obtain passenger level information as an output. Although the drawing shows that the AI model exists outside the server device, it may be a program external to the server, or in some cases, a program installed inside the server.
애플리케이션 모듈은 지하철 또는 각 객실 승객 레벨에 관한 클라이언트 단말(클라이언트 앱)의 모든 데이터 요청에 응답한다.The application module responds to all data requests from the client terminal (client app) regarding the subway or each cabin passenger level.
한편, 벡엔드 서버(220)는 액세스 포인트(210-1)가 전송한 링크 메트릭을 데이터베이스 서버(225)에 지속적으로 저장하기 위해 데이터베이스 서버(220)와 끊임없이 통신한다. 데이터베이스 서버(225)는 수집된 모든 데이터에 대해 지속적으로 저장 매체 역할을 한다. 클라이언트와 액세스 포인트(210-1)의 다수의 요청을 처리하기 위해 서버(220, 225)의 안정성과 성능이 시스템의 중요한 포인트가 된다. 따라서, 수직 및 수평 확장의 두 가지 접근 방식으로 높은 신뢰성을 얻을 수 있다. 수직 확장은 서버(220, 225)에 더 많은 리소스(CPU/RAM/DISK)를 추가하는 것을 의미한다. 수직적 확장은 일반적으로 서버 하드웨어의 업그레이드를 의미한다. 수직으로 확장해야 하는 몇 가지 이유에는 IOPS(입력/출력 작업) 증가, CPU/RAM 용량 및 디스크 용량 증가가 포함된다. 수평적 확장에는 벡엔드 서버(220) 또는 데이터베이스 서버(225)에 더 많은 처리 장치 또는 물리적 시스템을 추가하는 것이 포함된다. 여기에는 클러스터의 노드 수 증가, 각 구성원 노드의 책임 감소, 클라이언트 연결을위한 추가 엔드 포인트 제공이 포함될 수 있다. Meanwhile, the backend server 220 continuously communicates with the database server 220 to continuously store the link metric transmitted by the access point 210 - 1 in the database server 225 . The database server 225 continuously serves as a storage medium for all collected data. The stability and performance of the servers 220 and 225 are important points of the system in order to handle a large number of requests from clients and access points 210-1. Therefore, high reliability can be obtained with two approaches: vertical and horizontal scaling. Vertical expansion means adding more resources (CPU/RAM/DISK) to the servers 220 and 225 . Vertical scaling usually means upgrading the server hardware. Some reasons to scale vertically include increasing input/output operations (IOPS), increasing CPU/RAM capacity, and increasing disk capacity. Horizontal scaling includes adding more processing units or physical systems to the backend server 220 or database server 225 . This could include increasing the number of nodes in the cluster, reducing the responsibilities of each member node, and providing additional endpoints for client connections.
도 3은 지하철 액세스 포인트와, 서버 장치 및 AI 모델의 연계 동작을 나타낸 흐름도이다. 3 is a flowchart illustrating a connection operation between a subway access point, a server device, and an AI model.
도 3을 참조하면, 먼저, 실내의 액세스 포인트(Subway-AP)는 특정 기간(예를 들어, 10초) 동안 링크 메트릭을 측정한다. 그리고는, 일정 기간 동안 링크 메트릭 데이터를 수집한 후 HTTP 요청을 통해 데이터를 백엔드 서버로 전송한다. 서버로 전송되는 데이터에는 측정된 링크 메트릭과 링크 메트릭이 측정되는 객실 또는 액세스 포인트의 식별자 정보가 포함될 수 있다. 서버로 보내기 전에, 각 주기의 측정된 링크 메트릭이 집계된다. 이러한 데이터 집계는 서버로 전송되는 링크 메트릭의 길이를 항상 일정하게 유지하는 것을 목표로 한다. 데이터 집계는 액세스 포인트가 특정 기간(예를 들어, 1초) 동안 둘 이상의 링크 메트릭 데이터를 수신할 때 수행된다. 이 경우 데이터의 평균값을 계산하여 데이터를 집계함으로써, 1초 동안의 집계된 데이터를 산출한다. 식별자 및 링크 메트릭 정보 외에도 지하철 역 플랫폼에 고정적으로 설치된 고정형 액세스포인트를 감지하기 위해, 스캔된 주변 AP 목록 정보도 함께 수집된다. 주변 AP 목록은 지하철의 이동 상태를 감지하는 데 유용하게 사용된다. 이러한 수집 작업을 거친 다음, 모든 정보가 결합되어 JSON 형식으로 정의된 URL 및 매개 변수와 함께 POST 메서드를 사용하여 서버에 API 요청을 한다. 액세스 포인트 입장에서 다음 작업을 수행하려면, 먼저 서버의 응답을 기다려야 한다. 다만, 지정된 시간 초과 시간 동안 서버에서 응답이 없으면 액세스 포인트는 다음 작업을 수행할 수 있다.Referring to FIG. 3 , first, an indoor access point (Subway-AP) measures a link metric for a specific period (eg, 10 seconds). Then, after collecting link metric data for a certain period of time, the data is transmitted to the backend server through an HTTP request. The data transmitted to the server may include a measured link metric and identifier information of a room or an access point in which the link metric is measured. Before sending to the server, the measured link metrics for each cycle are aggregated. This data aggregation aims to always keep the length of the link metric sent to the server constant. Data aggregation is performed when an access point receives two or more link metric data for a specific period (eg, 1 second). In this case, by calculating the average value of the data and aggregating the data, the aggregated data for 1 second is calculated. In addition to identifier and link metric information, scanned neighboring AP list information is also collected to detect fixed access points fixedly installed on subway station platforms. The list of nearby APs is useful for detecting the movement status of the subway. After this collection, all the information is put together to make an API request to the server using the POST method with the URL and parameters defined in JSON format. In order to perform the next operation from the point of view of the access point, it must first wait for a response from the server. However, if there is no response from the server for the specified timeout period, the access point may perform the following operation.
액세스 포인트로부터 링크 메트릭 측정 결과가 전달되면, 벡엔드 서버(보다 구체적으로, AP 모듈)는 API 요청을 먼저 검증한다. 첫 번째 유효성 검증 프로세스는 수신된 API 매개 변수를 확인하는 것이다. 두 번째 검증 프로세스는 객실 식별자 또는 액세스 포인트 식별자를 확인하는 것이다. 먼저, 서버는 API 요청 본문에서 식별자 정보를 추출하고, 그 다음, 데이터베이스 쿼리를 수행하여 해당 식별자가 시스템에 미리 등록되어 있는 것인지 확인한다. 등록되어 있다면 서버는 다음 프로세스를 수행한다. 세 번째 유효성 검증 프로세스는 링크 메트릭 데이터의 길이를 확인하는 것이다. 마지막은 열차 이동 상태 확인 과정이다. When the link metric measurement result is transmitted from the access point, the backend server (more specifically, the AP module) first verifies the API request. The first validation process is to validate the received API parameters. The second verification process is to verify the room identifier or access point identifier. First, the server extracts identifier information from the API request body, and then performs a database query to check whether the identifier is previously registered in the system. If registered, the server performs the following process. The third validation process is to check the length of the link metric data. The last step is to check the train movement status.
상기 검증 프로세스는 승객 레벨 분류 프로세스에서 매우 중요한 부분이다. 특히, 많은 승객이 플랫폼과 객실 사이에서 객실 출입구를 통해 객실 내외부로 드나드는 상황(즉, 열차가 정차하는 동안)에는 승객 레벨 분류 프로세스가 유효하지 않기 때문이다. 이와 같이 열차 내에 출입하는 승객은 열차 내 와이-파이 신호에 큰 영향을 미쳐 불안정하게 만들 수 있다. 이로 인해, 부정확한 분류 결과가 발생할 수 있다. 따라서, 서버는 지하철이 이동 중일 때만 분류 절차를 수행하는 것이 바람직하다.The verification process is a very important part of the passenger level classification process. In particular, this is because the passenger level classification process is not valid in situations where a large number of passengers enter and exit the cabin through the cabin entrance between the platform and the cabin (ie, while the train is stopped). In this way, passengers entering and leaving the train can greatly affect the Wi-Fi signal in the train and make it unstable. This may result in inaccurate classification results. Therefore, it is preferable that the server performs the classification procedure only when the subway is moving.
위와 같은 열차 이동 관련 검증 프로세스는 액세스 포인트가 전송한 주변 AP 목록을 확인함에 의해 수행된다. 즉, 데이터베이스에 미리 지하철 역 플랫폼에 고정적으로 설치된 AP들의 목록 정보가 저장되어 있고, 이를 지하철 객실에 설치된 액세스 포인트(Subway-AP)로부터의 데이터에 포함된 스캔된 주변 AP 리스트와 비교함으로써 이동 중인지 여부를 판단한다. 즉, 주변 AP 리스트에 상기 데이터베이스에 저장된 고정형 AP의 식별정보가 존재한다면, 아직 지하철 역 플랫폼에 또는 그 근처에 존재한다고 판단하여 유효하지 않다고 판단한다. 이 경우, 데이터는 폐기되고 분류 프로세스에 사용되지 않는다. 반면, 액세스 포인트(Subway-AP)가 전송한 스캔된 주변 AP 목록의 AP의 식별 정보가 없거나 데이터베이스에서 발견되지 않는 경우, 이는 지하철이 움직이는 상태에 있고 지하철 역에서 충분히 멀리 떨어져 있다고 판단한다. 이 경우, 벡엔드 서버의 AP 모듈은 해당 데이터를 데이터베이스에 저장하고 분류 프로세스를 위해 링크 메트릭 데이터를 AI 모델에 전달한다. The above train movement-related verification process is performed by checking the list of neighboring APs transmitted by the access point. That is, the list information of APs fixedly installed on the subway station platform in advance is stored in the database, and whether it is moving by comparing it with the scanned neighboring AP list included in the data from the access point (Subway-AP) installed in the subway cabin. to judge That is, if the identification information of the fixed AP stored in the database exists in the neighboring AP list, it is determined that it is not valid by determining that it is still present on or near the subway station platform. In this case, the data is discarded and not used in the classification process. On the other hand, when the identification information of the AP in the scanned neighboring AP list transmitted by the access point (Subway-AP) is not found or is not found in the database, it is determined that the subway is in a moving state and is sufficiently far from the subway station. In this case, the AP module of the backend server stores the data in the database and passes the link metric data to the AI model for the classification process.
액세스 포인트의 API 요청을 처리한 후, 서버는 가능한한 빨리 액세스 포인트에 응답을 전달한다. 응답에는 서버측 함수의 유효성 검증 결과를 나타내는 상태 코드가 포함되어 있다. 상태 코드는 이 응답을 받은 후 액세스 포인트에서 수행해야하는 동작을 결정하는 데 사용될 수 있다. 상태 코드 및 그에 따른 액세스 포인트의 동작은 다음과 같이 정의될 수 있다.After processing the access point's API request, the server delivers a response to the access point as soon as possible. The response contains a status code indicating the validation result of the server-side function. The status code can be used to determine what action the access point should take after receiving this response. The status code and the operation of the access point accordingly may be defined as follows.
200: 성공적인 응답(Successful responses)200: Successful responses
이러한 응답을 받으면, 액세스 포인트의 와이-파이 AP 스캔 프로그램은 새로운 RSSI/CSI/CBF 측정 동작을 수행한다.Upon receiving such a response, the Wi-Fi AP scan program of the access point performs a new RSSI/CSI/CBF measurement operation.
400: 클라이언트 에러(Client Error) - 유효하지 않은 신택스/요청 데이터의 포맷(invalid syntax/format of request data)400: Client Error - invalid syntax/format of request data
이러한 응답을 받으면, 액세스 포인트의 와이-파이 AP 스캔 프로그램은 요청을 폐기하고, 새로운 RSSI/CSI/CBF 측정 동작을 수행한다.Upon receiving such a response, the Wi-Fi AP scan program of the access point discards the request and performs a new RSSI/CSI/CBF measurement operation.
500: 서버 에러(Server Error) - 내부 서버 에러(internal server error) 500: Server Error - internal server error
와이-파이 AP 스캔 프로그램은 이 요청을 재전송한다. 와이-파이 AP 스캔 프로그램이 두 번 연속 이 500 응답 코드를 받으면 해당 요청을 폐기하고, 새로운 RSSI/CSI/CBF 측정을 시작한다.The Wi-Fi AP scan program retransmits this request. When the Wi-Fi AP scan program receives this 500 response code twice in a row, it discards the request and starts a new RSSI/CSI/CBF measurement.
도 3의 AI 모듈에서의 동작을 참조하면, 백엔드 서버의 AI 모듈은 이전 단계에서 유효성 검증 프로세스를 통과한 링크 메트릭을 AP 모듈로부터 수신할 때, 승객 레벨 분류 프로세스를 개시한다. 먼저, AI 모듈은 AI 모델 객체를 로딩한다. 여기서, AI 모델은 기계 학습 과정의 결과로 생성된 것일 수 있다. 본 발명의 실시예에 따르면, AI 모델은 신경망 모델(neural network model), 클러스터링 모델(clustering model) 및 KNN(K Nearest Neighbor) 모델 중 적어도 하나일 수 있다. AI 모델은 링크 메트릭을 승객의 수 또는 레벨에 매핑할 수 있는 블랙 박스 기능을 포함한다. AI 모델이 성공적으로 로딩되면, AI 모듈은 링크 메트릭 데이터를 AI 모델의 입력으로 제공한다. 이때, 두 액세스 포인트 장치 사이의 링크 메트릭으로부터 추출된 다차원 데이터(예를 들어, 히트맵(heatmap))가 AI 모델의 입력으로 사용될 수 있다. 그리고는, 입력된 링크 메트릭 데이터를 기반으로 분류 프로세스가 실행되고, 분류 프로세스가 완료될 때, AI 모델은 승객 레벨을 서버로 반환한다. 서버는 반환된 결과를 AI 모델의 입력으로 사용되는 링크 메트릭 데이터와 연계하여 데이터베이스에 저장한다. Referring to the operation in the AI module of FIG. 3 , when the AI module of the backend server receives the link metric that has passed the validation process in the previous step from the AP module, it starts the passenger level classification process. First, the AI module loads the AI model object. Here, the AI model may be generated as a result of a machine learning process. According to an embodiment of the present invention, the AI model may be at least one of a neural network model, a clustering model, and a K Nearest Neighbor (KNN) model. The AI model includes a black box function that can map link metrics to the number or level of passengers. When the AI model is successfully loaded, the AI module provides link metrics data as input to the AI model. In this case, multidimensional data (eg, a heatmap) extracted from a link metric between two access point devices may be used as an input of the AI model. Then, the classification process is executed based on the input link metric data, and when the classification process is completed, the AI model returns the passenger level to the server. The server stores the returned results in the database in association with the link metric data used as input to the AI model.
도 4는 사용자 단말과 서버 장치 간의 연계 동작을 나타낸 흐름도이다. 4 is a flowchart illustrating a link operation between a user terminal and a server device.
지하철 열차 객실/차량의 승객 레벨 분류 결과는 웹 기반 모바일 애플리케이션의 외부 클라이언트 앱에서 액세스할 수 있고, 개방형 API를 통해 지하철 플랫폼의 공용 디스플레이 장치에서도 액세스할 수 있다. 특히, 이때, 승객 레벨 정보에 액세스하는 방법에는 크게, PULL 및 PUSH 방법이 있다. 두 방법 모두 Restful API를 서버와의 통신 매체로 사용하는 것은 동일하나, PULL과 PUSH의 기본적인 차이점은 다음과 같다. PULL 방식은 클라이언트가 서버에 요청하는 방식을 나타낸다. The passenger-level classification results of subway train cabins/vehicles can be accessed from external client apps in a web-based mobile application, and can also be accessed on public display devices of subway platforms through open APIs. In particular, at this time, methods for accessing passenger level information are largely divided into PULL and PUSH methods. Both methods use the Restful API as a communication medium with the server, but the basic differences between PULL and PUSH are as follows. The PULL method indicates how the client makes a request to the server.
도 4의 (a)는 클라이언트 단말에 설치된 클라이언트 앱이 PULL 방법에 의해 승객 레벨 결과를 수신하는 방법을 나타낸 흐름도이다. 도 4의 (a)를 참조하면, 백엔드 서버의 애플리케이션 모듈은 클라이언트 단말에 설치된 클라이언트 앱과 연계하여 동작한다. 먼저, 클라이언트 앱이 API 요청을 전송한다. 이때, API 요청에는 시간 정보 및 측정 대상을 나타내는 지하철 객실 ID 정보가 포함되어 있을 수 있다. 다른 예에서, API 요청에서, 측정 대상을 지하철 역, 지하철 ID 및 지하철 노선 중 적어도 하나로 특정할 수 있다. 만약, API 요청에서, 측정 시간과 지하철 역이 특정된 경우라면, 서버는 특정된 측정 시간에 특정된 지하철 역에 들어오는 지하철을 검색하여, 검색된 지하철에 포함된 모든 또는 적어도 일부 객실들의 승객 수준 정보를 반환하도록 동작할 수 있는 것이다. 4A is a flowchart illustrating a method in which a client app installed in a client terminal receives a passenger level result by a PULL method. Referring to FIG. 4A , the application module of the backend server operates in conjunction with the client app installed in the client terminal. First, the client app sends an API request. In this case, the API request may include time information and subway room ID information indicating a measurement target. In another example, in the API request, the measurement target may be specified as at least one of a subway station, a subway ID, and a subway line. If the measurement time and subway station are specified in the API request, the server searches for a subway that enters the specified subway station at the specified measurement time, and retrieves passenger level information of all or at least some rooms included in the searched subway. It can act to return.
한편, 애플리케이션 모듈은 상기 API 요청을 수신하여 API 매개 변수를 검증하고 API 보안 토큰의 유효성을 검증하는 절차를 거친다. 그리고는, API 매개 변수와 관련된 정보(예를 들어, 측정 대상 지하철 객실 ID의 승객 레벨 정보)를 데이터베이스에 쿼리하고, 쿼리에 의해 반환되는 정보를 클라이언트 앱에 전달한다. 클라이언트 앱은 이를 디스플레이 수단을 통해 표시하여 사용자가 확인할 수 있도록 한다. PULL 방법의 사용과 관련하여, 이것은 클라이언트-서버 아키텍처에서 가장 일반적으로 사용되는 방법이다. 데이터를 업데이트하려면 클라이언트 앱이 API 요청을 서버에 능동적이고 주기적으로 전송해야 한다. 클라이언트 앱이 서버로부터 응답을 받으면 정보를 업데이트하고, 결과를 단말의 디스플레이 수단을 통해 사용자에게 즉시 표시한다. Meanwhile, the application module receives the API request, verifies API parameters, and validates the API security token. Then, the database is queried for information related to the API parameter (eg, passenger level information of the subway cabin ID to be measured), and the information returned by the query is delivered to the client app. The client app displays it through a display means so that the user can check it. Regarding the use of the PULL method, this is the most commonly used method in a client-server architecture. To update data, the client app must actively and periodically send API requests to the server. When the client app receives a response from the server, it updates the information and immediately displays the result to the user through the terminal's display means.
PULL 방법의 한 예는 웹 브라우저가 웹 페이지를 요청하는 것일 수 있다. 본 발명의 실시예에 따르면, 지하철 승객 레벨 관련 애플리케이션 또는 그와 관련된 웹 페이지를 이용하여 서버가 제공하는 사용자 인터페이스를 통해 지하철 객실의 승객 레벨 정보를 실시간으로 제공한다. One example of the PULL method may be that a web browser requests a web page. According to an embodiment of the present invention, passenger level information of a subway cabin is provided in real time through a user interface provided by a server using a subway passenger level related application or a web page related thereto.
반면, PUSH는 클라이언트에 대한 정보 업데이트를 서버가 시작하는 것을 나타낸다. 도 4의 (b)는 공용 디스플레이 장치가 PUSH 방법에 의해 승객 레벨 결과를 수신하는 방법을 나타낸 흐름도이다. 도 4의 (b)를 참조하면, PUSH 방법은 클라이언트와 서버 사이에 웹 소켓 연결을 설정하는 것으로 개시된다. 이때, 웹 소켓 연결을 위해, 공용 디스플레이 장치와 관련된 식별정보(예를 들어, 지하철 역 ID)를 서버로 제공한다. 연결이 설정된 후, 서버는 특정된 지하철 역으로 들어오는 지하철의 승객 수준 데이터와 관련하여, 새로 업데이트 된 데이터가 있을 때, 업데이트된 데이터를 클라이언트에 적극적으로 전송한다. 업데이트된 것이 없다면, 별도의 정보를 클라이언트로 전달하지 않는다. 다만, 최신 업데이트된 것이 감지되면, 해당 정보를 공용 디스플레이 장치로 전달하여, 그 결과가 실시간으로 표시될 수 있도록 한다. On the other hand, PUSH indicates that the server starts updating information on the client. 4B is a flowchart illustrating a method for a public display device to receive a passenger level result by a PUSH method. Referring to FIG. 4B , the PUSH method starts with establishing a web socket connection between a client and a server. In this case, for the web socket connection, identification information (eg, subway station ID) related to the public display device is provided to the server. After the connection is established, the server actively transmits the updated data to the client when there is new updated data with respect to the passenger-level data of the subway coming into the specified subway station. If nothing has been updated, no separate information is transmitted to the client. However, when the latest update is detected, the corresponding information is transmitted to the public display device so that the result can be displayed in real time.
PUSH 방식 애플리케이션의 한 가지 예는 이메일 서버가 이메일 클라이언트에 이메일을 전송하는 것이다. 이는 클라이언트가 서버로 보내는 API 요청 수를 크게 줄여주기 때문에 실시간 모니터링 시스템에 매우 효과적일 수 있다. 따라서 지하철 플랫폼의 공용 디스플레이 장치와 같은 실시간 클라이언트 앱의 경우, PUSH 방식을 사용하여 서버의 승객 레벨 정보에 액세스하는 것이 바람직하다. One example of a PUSH-style application is an email server sending an email to an email client. This can be very effective for real-time monitoring systems as it greatly reduces the number of API requests that clients send to the server. Therefore, in the case of a real-time client app, such as a public display device on a subway platform, it is preferable to use the PUSH method to access the passenger level information of the server.
도 5는 데이터베이스에 의해 관리되는 데이터들의 구조 및 관계를 나타낸 ER 다이어그램(Entity-Relationship Diagram)이다. 5 is an ER diagram (Entity-Relationship Diagram) showing the structure and relationship of data managed by a database.
도 5를 참조하면, 본 발명의 시스템 운영과 관련된 정보들을 효율적으로 저장하기 위해, 데이터베이스 구조가 필요할 수 있다. 이는 크게, 지하철 열차 정보(Train), 객실-AP 정보(Cabin-AP), 링크 메트릭 정보(Metric), 플랫폼-AP 정보(Platform-AP), 지하철 역 정보(Subway Station), 그리고 사용자 정보(User)를 포함한다. 특히, 이러한 정보들은, 그것을 제공하는 소스(source)에 기반하여 2개 카테고리로 나뉠 수 있다. 이는 외부 제공 정보(External-Provided data)와 시스템 생성 정보(System-Generated Data)로 구성된다. Referring to FIG. 5 , in order to efficiently store information related to system operation of the present invention, a database structure may be required. These are mainly subway train information (Train), cabin-AP information (Cabin-AP), link metric information (Metric), platform-AP information (Platform-AP), subway station information (Subway Station), and user information (User). ) is included. In particular, such information can be divided into two categories based on the source providing it. It consists of external-provided data and system-generated data.
먼저, 외부 제공 정보는 열차 정보(Train), 객실-AP 정보(Cabin-AP) 및 플랫폼-AP 정보(Platform-AP), 지하철 역 정보(Subway Station)를 포함한다. First, the externally provided information includes train information (Train), cabin-AP information (Cabin-AP) and platform-AP information (Platform-AP), and subway station information (Subway Station).
열차 정보(Train)는, 열차 id(train_id)와 노선 번호(line number)를 포함한다. 이는 고정된 테이블(static table) 형태를 갖는다. 그리고, 하나의 열차는 다수 개의 객실을 가지며, 객실 마다 AP가 설치될 수 있으므로, 하나의 열차 정보(Train)는, 다수 개의 객실-AP 정보(Cabin-AP)와 대응된다. Train information (Train) includes a train id (train_id) and a line number (line number). It has the form of a static table. And, since one train has a plurality of cabins and an AP may be installed in each cabin, one train information (Train) corresponds to a plurality of cabin-AP information (Cabin-AP).
객실-AP 정보(Cabin-AP)는 액세스 포인트(와이-파이 라우터)가 설치된 객실에 대응하는 AP의 정보를 포함하며, 이는 고정된 테이블 형태를 갖는다. 이 테이블에는 제 1 객실과 제 2 객실을 구별하기 위한 객실 식별자 정보(cabin_id), 액세스 포인트 장치 식별자(MAC 주소)(device_mac), 그 밖의 MAC 주소들(mac_addr_2, mac_addr_5), 및 현재 승객 레벨 정보(current_crowd_level)가 포함될 수 있다. Cabin-AP information (Cabin-AP) includes information of an AP corresponding to a room in which an access point (Wi-Fi router) is installed, and has a fixed table form. This table includes cabin identifier information (cabin_id) for distinguishing the first and second cabins, access point device identifiers (MAC addresses) (device_mac), other MAC addresses (mac_addr_2, mac_addr_5), and current passenger level information ( current_crowd_level) may be included.
플랫폼-AP 정보(Platform-AP)는 지하철 역에 설치된 AP에 대한 정보를 포함한다. 이는 고정된 테이블 형태로 저장된다. 이 테이블은 지하철역 플랫폼 주변에 설치된 액세스 포인트(AP)의 정보를 저장한다. 이 정보는, 전술한 바와 같이, 지하철의 이동 상태를 감지하는데 사용될 수 있다. 이 테이블에는 여러 열이 있다. 이는, 플랫폼에 고정적으로 설치된 고정형 액세스 포인트 식별자(platform_ap_id), 그리고 해당 AP의 MAC 주소(mac_addr)를 포함한다. Platform-AP information (Platform-AP) includes information about the AP installed in the subway station. It is stored in the form of a fixed table. This table stores information of access points (APs) installed around subway station platforms. This information, as described above, can be used to detect the movement status of the subway. This table has several columns. This includes a fixed access point identifier (platform_ap_id) fixedly installed on the platform, and a MAC address (mac_addr) of the corresponding AP.
지하철 역 정보(Subway Station)는 다수의 플랫폼-AP 정보(Platform-AP)와 대응될 수 있다. 왜냐하면, 하나의 역에 다수 개의 AP가 고정적으로 설치되어 있을 수 있기 때문이다. 이러한 지하철 역 정보는 고정된 테이블 형태로 저장되며, 여기에는, 역 ID(station_id), 역 이름(station_name), 역이 속한 노선 번호 정보(line_number)가 저장될 수 있다. Subway station information (Subway Station) may correspond to a plurality of platform-AP information (Platform-AP). This is because a plurality of APs may be fixedly installed in one station. Such subway station information is stored in the form of a fixed table, in which station ID (station_id), station name (station_name), and line number information (line_number) to which the station belongs may be stored.
다음으로, 시스템이 운영될 때 생성되는 데이터를 살펴본다. Next, look at the data generated when the system is operating.
먼저, 메트릭 테이블(Metric)은 객실 AP가 수집하는 링크 메트릭에 대한 정보를 저장하는 테이블이다. 이는 객실 AP 하나가 시간에 따라 지속적으로 링크 메트릭을 수집하기 때문에, 하나의 객실-AP 정보(Cabin-AP)에 다수 개의 메트릭 테이블(Metric)이 대응하는 데이터 구조를 갖는다. 앞서 설명한 바와 같이, 이 테이블은 객실 AP의 와이-파이 AP 스캔 프로그램에서 제공하는 링크 메트릭 데이터(RSSI 및/또는 CSI/CBF) 집합을 저장한다. 이 수집된 데이터는 AI 모델에서 지하철 객실의 승객 레벨을 분류하는데 사용된다. 이 테이블은 운영 중인 모든 지하철 객실에 대한 모든 링크 메트릭 데이터를 저장하기 때문에, 본 발명의 일 실시예에 따른 혼잡도 예측 시스템에서, 가장 큰 크기의 테이블일 수 있다. 시간이 지남에 따라, 이 테이블의 데이터는 일정한 속도로 계속 증가한다. 이 테이블은 다음의 열을 갖는다. 이는, 메트릭 자체 식별자(metric_id), 데이터가 데이터베이스에 삽입될 때 타임 스탬프(timestamp), 3가지 유형의 링크 메트릭 데이터(RSSI/CSI/CBF), 해당 링크 메트릭 데이터에 대응하는 승객 레벨 정보(crowd_level)를 포함한다. First, the metric table (Metric) is a table for storing information about the link metrics collected by the room AP. This has a data structure in which a plurality of metric tables (Metric) correspond to one cabin-AP information (Cabin-AP) because one cabin AP continuously collects link metrics over time. As described above, this table stores a set of link metric data (RSSI and/or CSI/CBF) provided by the Wi-Fi AP scan program of the guest room AP. This collected data is used in the AI model to classify passenger levels in subway cabins. Since this table stores all link metric data for all operating subway rooms, it may be the largest table in the congestion prediction system according to an embodiment of the present invention. Over time, the data in this table continues to grow at a constant rate. This table has the following columns: This is a metric self identifier (metric_id), a timestamp when data is inserted into the database, three types of link metric data (RSSI/CSI/CBF), and passenger level information corresponding to the link metric data (crowd_level) includes
다음으로, 사용자 테이블을 살펴보면, 이 테이블은 관리자 또는 임의의 역할을 가진 다른 사용자와 같은 시스템 사용자들에 대한 정보의 집합을 저장한다. 이 테이블은, 또한 공개 API를 통해 승객 레벨 정보를 획득하고자 하는 클라이언트 앱의 토큰 액세스 정보를 저장한다. 여기에는, 사용자 식별자(user_id), 사용자 이름(username) 및 비밀번호(password)가 포함될 수 있다. 또한, 개인 정보로, 특정 권한과 관련하여 검증된 사용자인지에 대한 정보(is_verified), 이메일 주소 정보(email), 역할 정보(role) 및 API 토큰 액세스 정보(api_token)를 포함한다. Next, take a look at the users table, which stores a set of information about system users, such as administrators or other users with arbitrary roles. This table also stores token access information for client apps that wish to obtain passenger level information via public APIs. This may include a user identifier (user_id), a user name (username), and a password (password). In addition, as personal information, it includes information (is_verified), email address information (email), role information (role), and API token access information (api_token) about whether a user is verified in relation to a specific authority.
도 6은 AI 모델의 객실 내 승객 수 예측 알고리즘의 학습 및 테스트 과정을 나타낸 흐름도이다. 6 is a flowchart illustrating a learning and testing process of an algorithm for predicting the number of passengers in a cabin of an AI model.
AI 모델의 알고리즘 구현 부분은 학습 단계와 테스트 단계의 두 단계로 나뉜다. 학습 단계는 테스트 단계에서 사용할 AI 모델을 만드는 것을 목표로 하는 단계이다. 그에 반해, 테스트 단계는 액세스 포인트 장치의 실시간 링크 메트릭 데이터가 지하철 객실 승객 레벨로 분류되는 실제 시스템의 구현이다. The algorithm implementation part of the AI model is divided into two stages: a learning stage and a testing stage. The training phase is a phase that aims to create an AI model to be used in the testing phase. In contrast, the test phase is the implementation of a real system in which the real-time link metric data of the access point device is classified at the subway cabin passenger level.
도 6의 (a)를 참조하면, 학습 단계 동안 AI 모델 학습 프로세스에는 레이블이 지정된 링크 메트릭 데이터가 입력으로 필요하다. 레이블이 있는 데이터는 측정한 데이터로서 실제 승객 레벨과 관련된 링크 메트릭 데이터의 집합이다.Referring to Figure 6 (a), the AI model training process during the training phase requires labeled link metric data as an input. The labeled data is the measured data and is a set of link metric data related to the actual passenger level.
레이블이 붙은 데이터는 열차 객실에서 직접 데이터 수집 실험을 수행하여 수집될 수 있다. 데이터 레이블(승객 레벨)은 열차 내 승객 수를 계산한 다음 기정의된 레벨별 임계값을 사용하여 수동으로 승객 레벨로 분류된다. 그후 수집된 데이터가 처리되어 학습 데이터 세트와 테스트 데이터 세트의 2 개 파티션(partition)으로 나뉜다. 학습 데이터 세트는 AI 모델의 학습 프로세스에 사용되는 데이터 세트이고 테스트 데이터 세트는 AI 모델의 정확도를 측정하는 데 사용되는 데이터 세트이다. AI 모델 학습 과정에서 각 승객 레벨에 대한 데이터 분포의 균형은 AI 모델에 대한 과적합을 방지하기 위해 매우 중요하다. 훈련 과정에서, AI 모델 파라미터의 튜닝도 수행되어 최고의 성능을 가진 AI 모델을 생성할 수 있다. 학습 프로세스가 완료되면 AI 모델을 시스템과 통합된 테스트 단계에 사용할 수 있다.Labeled data can be collected by performing data collection experiments directly in the train cabin. The data labels (passenger level) are manually classified into passenger levels by counting the number of passengers in the train and then using a predefined level-by-level threshold. The collected data is then processed and divided into two partitions: a training data set and a test data set. The training dataset is the dataset used in the training process of the AI model, and the test dataset is the dataset used to measure the accuracy of the AI model. In the AI model training process, balancing the data distribution for each passenger level is very important to avoid overfitting the AI model. During the training process, tuning of AI model parameters can also be performed to generate an AI model with the best performance. Once the training process is complete, the AI model can be used for testing steps integrated with the system.
도 6의 (b)를 참조하면, 테스트 단계에서 시스템은 열차 객실에서 액세스 포인트 장치로 측정되는 링크 메트릭 데이터를 실시간으로 제공한다. 이 데이터는 데이터를 승객 레벨에 매핑하는 알고리즘의 입력으로 사용된다. 이 단계에서는 열차 이동 상태 감지와 승객 레벨 분류의 두 가지 주요 기능이 포함된다.Referring to FIG. 6B , in the test phase, the system provides link metric data measured from the train cabin to the access point device in real time. This data is used as input to an algorithm that maps the data to the passenger level. This phase includes two main functions: train movement status detection and passenger level classification.
와이-파이(Wi-Fi) 신호는 주변 물체의 움직임에 크게 영향을 받기 때문에 열차 내에서 변화/이동이 많지 않은 경우에만 승객 레벨 분류가 정확할 수 있다. 이러한 측면에서, 열차 이동 상태 감지 기능은 승객 레벨 분류를 수행하기 전에 필요한 중요한 전처리 기능이다. 열차의 이동 상태는 지하철 역에 설치된 고정 액세스 포인트 장치의 RF 신호를 스캔하여 결정된다. 열차가 움직이는 상태에서만 승객 레벨 분류가 진행되는 것이 바람직하다.Because the Wi-Fi signal is greatly affected by the movement of surrounding objects, passenger level classification can only be accurate when there is not much change/movement within the train. In this respect, the train movement status detection function is an important pre-processing function required before performing passenger level classification. The train's movement status is determined by scanning RF signals from fixed access point devices installed at subway stations. It is preferable that the passenger level classification proceeds only when the train is in motion.
승객 레벨 분류 기능은 AI 모델을 활용하여 열차 객실의 승객 레벨을 추정한다. AI 모델은 학습 단계에서 기계 학습 프로세스에서 생성된다. 앞서 설명한 바와 같이, AI 모델은 2 개의 액세스 포인트 장치 간의 링크 메트릭을 승객 레벨에 매핑 할 수 있는 블랙 박스 기능을 수행한다. 마지막으로, AI 모델은 결과(승객 레벨)를 사용자가 사용할 시스템에 반환한다.The passenger level classification function utilizes an AI model to estimate the passenger level in the train cabin. AI models are created in the machine learning process during the learning phase. As previously described, the AI model performs a black box function that can map link metrics between two access point devices to the passenger level. Finally, the AI model returns the results (passenger level) to the system for use by the user.
도 7은 본 발명의 다른 실시예에 있어서, AI 모델의 예측 알고리즘의 학습 과정을 나타낸 흐름도이다.7 is a flowchart illustrating a learning process of a prediction algorithm of an AI model according to another embodiment of the present invention.
도 7을 참조하면, AI 모델을 훈련하기 전에, 특징 추출(Feature Extraction) 과정을 수행할 수 있다. 본 발명의 실시예에 따라 AI 모델을 학습시킴에 있어, 학습 데이터는, 앞서 설명한 바와 같이, 승객 레벨과 그에 대응하는 링크 메트릭 데이터이다. 이때, 학습 데이터의 양의 너무 많고 중복이 심한 경우, 특징 추출 기법을 이용하여 실제 사용할 특징적인 데이터를 추출한다. Referring to FIG. 7 , before training the AI model, a feature extraction process may be performed. In training the AI model according to an embodiment of the present invention, the training data is passenger level and link metric data corresponding thereto, as described above. At this time, when the amount of training data is too large and overlapping is severe, characteristic data to be actually used is extracted using a feature extraction technique.
그리고, AI 모델을 제대로 훈련시키기 전에 특징 추출된 데이터를 적절히 가공하는 것도 중요하다. 이를 데이터 전처리(data pre-processing)이라 한다. 여기에는, 특징 스케일링(Feature Scaling)과 노이즈 제거의 단계가 포함될 수 있다. 상기한 학습데이터 세트에서 추출된 특징 변수들 중, 특정 특징 변수의 크기가 다른 변수들의 크기보다 기준값 이상 커서 데이터의 분포를 왜곡하는 경우, 데이터를 스케일링해 줌으로써 데이터 분포를 고르게 할 수 있다. 노이즈 제거는 학습에 필요하지 않는 데이터는 제거하고 필요한 데이터만 남겨놓는 것이다. 전처리가 완료되면 AI 모델을 훈련한다. Also, it is important to properly process the feature extracted data before training the AI model properly. This is called data pre-processing. This may include steps of feature scaling and noise removal. Among the feature variables extracted from the learning data set, when the size of a specific feature variable is larger than the reference value and the data distribution is distorted, the data distribution can be made even by scaling the data. Noise removal removes data that is not necessary for learning and leaves only necessary data. After the preprocessing is complete, the AI model is trained.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, systems, devices, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA). ), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

  1. 서버 장치에서의 지하철 객실(cabin)별 혼잡도 예측 방법에 있어서,In the method of predicting congestion for each subway cabin in the server device,
    제 1 액세스 포인트(AP: Access Point)로부터 네트워크를 통해 채널 정보를 수신하는 단계, 상기 채널 정보는 제 2 액세스 포인트와의 통신 신호를 기반으로 측정되는 링크 메트릭(link metric)을 포함함, 상기 제 1 액세스 포인트는 제 1 지하철 객실에 설치된 액세스 포인트이고, 상기 제 2 액세스 포인트는 상기 제 1 지하철 객실과 인접한 제 2 지하철 객실에 설치된 액세스 포인트임;Receiving channel information through a network from a first access point (AP), the channel information includes a link metric measured based on a communication signal with a second access point, the first the first access point is an access point installed in a first subway cabin, and the second access point is an access point installed in a second subway cabin adjacent to the first subway cabin;
    상기 수신된 채널 정보를 기반으로 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계, 상기 혼잡도는 지하철 객실에 존재하는 승객의 수와 관련된 레벨(level)을 나타냄; 및calculating a congestion degree of the first subway cabin or the second subway cabin based on the received channel information, wherein the congestion degree indicates a level related to the number of passengers present in the subway cabin; and
    상기 산출된 지하철 객실의 혼잡도를 사용자 단말로 제공하는 단계를 포함하는, 지하철 객실별 혼잡도 예측 방법.Congestion prediction method for each subway room, comprising the step of providing the calculated congestion degree of the subway cabin to a user terminal.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 링크 메트릭은 무선 근거리 통신 신호의 RSSI(Received Signal Strength Indicator), CSI(Channel State Information) 및 CBF(Compressed Beamforming Feedback) 중 적어도 하나를 포함하는, 지하철 객실별 혼잡도 예측 방법.The link metric includes at least one of Received Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF) of a wireless local area communication signal.
  3. 제 2 항에 있어서,3. The method of claim 2,
    상기 수신된 채널 정보는 (i) 상기 링크 메트릭, (ii) 상기 제 1 지하철 객실의 식별 정보 및 제 1 액세스 포인트의 식별 정보 중 적어도 하나, (iii) 상기 제 2 지하철 객실의 식별 정보 및 제 2 액세스 포인트의 식별 정보 중 적어도 하나, (iv) 데이터 수집시의 시간을 나타내는 타임스탬프(timestamp) 정보 및 (v) 스캔된(scanned) 주변 액세스 포인트의 식별 정보를 포함하는, 지하철 객실별 혼잡도 예측 방법.The received channel information includes (i) the link metric, (ii) at least one of identification information of the first subway cabin and identification information of a first access point, (iii) identification information of the second subway cabin and a second At least one of identification information of an access point, (iv) timestamp information indicating a time when data is collected, and (v) a method of predicting congestion for each subway cabin, including scanned identification information of neighboring access points .
  4. 제 1 항에 있어서,The method of claim 1,
    상기 수신된 채널 정보를 기반으로 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계는, Calculating the degree of congestion of the first subway cabin or the second subway cabin based on the received channel information comprises:
    상기 제 1 지하철 객실이 이동 중인지 판단하는 단계; 및determining whether the first subway cabin is moving; and
    상기 판단 결과를 기반으로 상기 채널 정보를 이용하여 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계를 포함하는, 지하철 객실별 혼잡도 예측 방법.and calculating a congestion degree of the first subway cabin or the second subway cabin using the channel information based on the determination result.
  5. 제 4 항에 있어서, 상기 제 1 지하철 객실이 이동 중인지 판단하는 단계는, 5. The method of claim 4, wherein the step of determining whether the first subway cabin is moving,
    상기 채널 정보로부터 주변 액세스 포인트의 식별 정보를 파싱하여, 파싱된 정보를 기저장된 지하철 역 고정 액세스 포인트의 정보와 비교함에 의해 판단하는 단계를 포함하는, 지하철 객실별 혼잡도 예측 방법.Parsing identification information of neighboring access points from the channel information, and determining by comparing the parsed information with pre-stored information of subway station fixed access points.
  6. 제 5 항에 있어서,6. The method of claim 5,
    상기 파싱된 정보는, 상기 제 1 액세스 포인트의 주변 액세스 포인트의 식별 정보를 포함하고, The parsed information includes identification information of a neighboring access point of the first access point,
    상기 주변 액세스 포인트의 식별 정보가 상기 기저장된 지하철 역 고정 액세스 포인트의 정보 내에 존재하지 않음에 응답하여 현재 상기 제 1 지하철 객실이 이동 중이라고 판단하고,In response to the identification information of the neighboring access point does not exist in the information of the pre-stored subway station fixed access point, it is determined that the first subway cabin is currently moving,
    상기 제 1 지하철 객실이 이동 중이라는 판단을 기반으로, 상기 제 1 지하철 객실의 혼잡도 산출을 개시(initiating)하는, 지하철 객실별 혼잡도 예측 방법.Based on the determination that the first subway cabin is moving, initiating the congestion calculation of the first subway cabin, the congestion prediction method for each subway cabin.
  7. 제 4 항에 있어서, 5. The method of claim 4,
    상기 채널 정보를 이용하여 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계는, AI(Artificial Intelligence) 모델을 이용하여 상기 링크 메트릭을 혼잡도 레벨에 매핑(mapping)함에 의해 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 단계를 포함하는, 지하철 객실별 혼잡도 예측 방법.Calculating the congestion level of the first subway cabin or the second subway cabin by using the channel information includes mapping the link metric to a congestion level using an artificial intelligence (AI) model, whereby the first Congestion prediction method for each subway cabin, comprising the step of calculating the congestion level of the subway cabin or the second subway cabin.
  8. 제 7 항에 있어서,8. The method of claim 7,
    상기 AI 모델은 실제 지하철 객실 내 실제 승객의 레벨 정보와 그에 대응하는 링크 메트릭을 학습 데이터 셋(training data set)으로 하여 학습된 기계 학습 모델인, 지하철 객실별 혼잡도 예측 방법.The AI model is a machine learning model learned by using, as a training data set, level information of real passengers in an actual subway cabin and a link metric corresponding thereto, a method of predicting congestion for each subway cabin.
  9. 제 1 항에 있어서,The method of claim 1,
    상기 사용자 단말로부터 혼잡도 요청을 수신하는 단계를 더 포함하되, Further comprising the step of receiving a congestion level request from the user terminal,
    상기 혼잡도 요청은 상기 제 1 지하철 객실의 식별 정보를 포함하고, The congestion level request includes identification information of the first subway cabin,
    상기 혼잡도 요청에 응답하여 상기 제 1 지하철 객실의 혼잡도를 상기 사용자 단말로 제공하는, 지하철 객실별 혼잡도 예측 방법.In response to the congestion level request, the congestion level of the first subway cabin is provided to the user terminal, the congestion level prediction method for each subway cabin.
  10. 제 1 항에 있어서, The method of claim 1,
    상기 혼잡도 요청의 API 매개 변수를 검증하는 단계; 및verifying the API parameter of the congestion request; and
    상기 혼잡도 요청과 관련된 API 보안 토큰의 유효성을 검증하는 단계를 더 포함하는, 지하철 객실별 혼잡도 예측 방법.Congestion prediction method for each subway room, further comprising the step of verifying the validity of the API security token related to the congestion request.
  11. 제 1 항에 있어서, The method of claim 1,
    제 1 액세스 포인트(AP: Access Point)로부터 채널 정보를 수신하는 단계 이후에, 상기 수신되는 채널 정보의 유효성을 검증하는 단계를 더 포함하되,After receiving the channel information from the first access point (AP: Access Point), further comprising the step of verifying the validity of the received channel information,
    상기 채널 정보의 유효성은 (i) 상기 제 1 지하철 객실 또는 상기 제 1 액세스 포인트가 등록된 것인지 확인함에 의해 검증되고, (ii) 그리고 상기 채널 정보의 길이를 확인함에 의해 검증되는, 지하철 객실별 혼잡도 예측 방법.The validity of the channel information is verified by (i) verifying that the first subway cabin or the first access point is registered, and (ii) verifying the length of the channel information. Prediction method.
  12. 제 11 항에 있어서, 12. The method of claim 11,
    상기 수신된 채널 정보가 유효하다는 판단에 기반하여, 상기 채널 정보를 저장하는 단계를 더 포함하되, Based on the determination that the received channel information is valid, further comprising the step of storing the channel information,
    상기 채널 정보는 그에 대응하는 승객 레벨 결과와 함께 저장되는, 지하철 객실별 혼잡도 예측 방법.The channel information is stored together with the passenger level result corresponding thereto, the congestion prediction method for each subway cabin.
  13. 지하철 객실(cabin)별 혼잡도 예측 장치에 있어서,In the congestion prediction device for each subway cabin,
    제 1 액세스 포인트(AP: Access Point)로부터 네트워크를 통해 채널 정보를 수신하는 AP 모듈, 상기 채널 정보는 제 2 액세스 포인트와의 통신 신호를 기반으로 측정되는 링크 메트릭(link metric)을 포함함, 상기 제 1 액세스 포인트는 제 1 지하철 객실에 설치된 액세스 포인트이고, 상기 제 2 액세스 포인트는 상기 제 1 지하철 객실과 인접한 제 2 지하철 객실에 설치된 액세스 포인트임;An AP module for receiving channel information through a network from a first access point (AP), the channel information includes a link metric measured based on a communication signal with a second access point, the the first access point is an access point installed in a first subway cabin, and the second access point is an access point installed in a second subway cabin adjacent to the first subway cabin;
    상기 수신된 채널 정보를 기반으로 상기 제 1 지하철 객실 또는 상기 제 2 지하철 객실의 혼잡도를 산출하는 프로세서, 상기 혼잡도는 상기 제 1 지하철 객실에 존재하는 승객의 수와 관련된 레벨(level)을 나타냄; 및a processor for calculating a congestion degree of the first subway cabin or the second subway cabin based on the received channel information, the congestion degree indicating a level related to the number of passengers present in the first subway cabin; and
    상기 산출된 제 1 지하철 객실의 혼잡도를 사용자 단말로 제공하는 애플리케이션 모듈을 포함하는, 지하철 객실별 혼잡도 예측 장치.Congestion prediction apparatus for each subway cabin, including an application module for providing the calculated congestion degree of the first subway cabin to a user terminal.
  14. 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치에 있어서,In the first access point device for predicting the congestion level for each subway room,
    제 2 액세스 포인트와의 통신신호를 기반으로 채널 상태를 측정하고, 상기 측정된 채널 상태를 포함하는 채널 정보를 네트워크를 통해 서버로 전송하는 액세스 포인트 스캔 모듈; 및an access point scan module for measuring a channel state based on a communication signal with a second access point and transmitting channel information including the measured channel state to a server through a network; and
    상기 채널 정보를 저장하는 메모리를 포함하되,A memory for storing the channel information,
    상기 채널 상태는 링크 메트릭을 포함하고,The channel state includes a link metric,
    상기 제 2 액세스 포인트는 상기 제 1 액세스 포인트 장치가 설치된 제 1 지하철 객실과 인접한 제 2 지하철 객실에 설치된 액세스 포인트인, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.The second access point is an access point installed in a second subway cabin adjacent to the first subway cabin in which the first access point device is installed.
  15. 제 14 항에 있어서,15. The method of claim 14,
    상기 링크 메트릭은 무선 근거리 통신 신호의 RSSI(Received Signal Strength Indicator), CSI(Channel State Information) 및 CBF(Compressed Beamforming Feedback) 중 적어도 하나를 포함하는, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.The link metric includes at least one of Received Signal Strength Indicator (RSSI), Channel State Information (CSI), and Compressed Beamforming Feedback (CBF) of a wireless short-range communication signal. A first access point device for predicting congestion for each subway cabin.
  16. 제 14 항에 있어서,15. The method of claim 14,
    상기 액세스 포인트 스캔 모듈은 기설정된 기간 동안 적어도 하나의 링크 메트릭들을 수집하여 상기 채널 정보를 생성하는, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.The access point scan module collects at least one link metrics for a preset period to generate the channel information, a first access point device for predicting congestion for each subway cabin.
  17. 제 16 항에 있어서,17. The method of claim 16,
    상기 기설정된 기간 동안 복수 개의 링크 메트릭들을 수집한 때, 링크 메트릭들의 평균값을 계산하여 집계함으로써, 상기 기설정된 기간 동안의 집계된 데이터를 산출하여 상기 채널 정보를 생성하는, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.When a plurality of link metrics are collected for the preset period, by calculating and aggregating the average value of the link metrics, calculating the aggregated data for the preset period to generate the channel information, for predicting congestion for each subway cabin A first access point device.
  18. 제 16 항에 있어서,17. The method of claim 16,
    상기 채널 정보는 (i) 상기 링크 메트릭, (ii) 상기 제 1 지하철 객실의 식별 정보 및 제 1 액세스 포인트의 식별 정보 중 적어도 하나, (iii) 상기 제 2 지하철 객실의 식별 정보 및 제 2 액세스 포인트의 식별 정보 중 적어도 하나, (iv) 데이터 수집시의 시간을 나타내는 타임스탬프(timestamp) 정보 및 (v) 스캔된(scanned) 주변 액세스 포인트의 식별 정보를 포함하는, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.The channel information may include (i) the link metric, (ii) at least one of identification information of the first subway cabin and identification information of a first access point, (iii) identification information of the second subway cabin and a second access point. At least one of the identification information of (iv) timestamp information indicating a time at the time of data collection, and (v) a method for predicting the congestion level for each subway room, including the scanned identification information of the neighboring access points 1 access point device.
  19. 제 14 항에 있어서,15. The method of claim 14,
    상기 서버로 상기 채널 정보를 전송하는 주기가 상기 링크 메트릭 측정 주기보다 긴, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.A first access point apparatus for estimating congestion for each subway cabin, wherein a period for transmitting the channel information to the server is longer than a period for measuring the link metric.
  20. 제 14 항에 있어서,15. The method of claim 14,
    상기 액세스 포인트 스캔 모듈은 상기 서버로부터 응답을 수신함에 기반하여, 현재 링크 메트릭 측정 결과를 저장하고, 다음 링크 메트릭 측정을 준비하는, 지하철 객실별 혼잡도 예측을 위한 제 1 액세스 포인트 장치.The access point scan module stores a current link metric measurement result based on receiving a response from the server, and prepares for a next link metric measurement, a first access point device for predicting congestion for each subway room.
PCT/KR2021/007541 2020-06-16 2021-06-16 Method and system for predicting congestion level for each subway cabin on basis of short-range wireless communication signal WO2021256848A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237000301A KR20230022954A (en) 2020-06-16 2021-06-16 Method and system for predicting congestion by subway room based on short-range wireless communication signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0073055 2020-06-16
KR20200073055 2020-06-16

Publications (1)

Publication Number Publication Date
WO2021256848A1 true WO2021256848A1 (en) 2021-12-23

Family

ID=79268134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/007541 WO2021256848A1 (en) 2020-06-16 2021-06-16 Method and system for predicting congestion level for each subway cabin on basis of short-range wireless communication signal

Country Status (2)

Country Link
KR (1) KR20230022954A (en)
WO (1) WO2021256848A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128582A1 (en) * 2021-12-29 2023-07-06 주식회사 윌러스표준기술연구소 Method and apparatus for sensing motion on basis of wireless lan signal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100114294A (en) * 2009-04-15 2010-10-25 김철수 A system for informing crowdedness of subway
KR101691158B1 (en) * 2010-06-28 2017-01-02 주식회사 케이티 Apparatus and method for measuring subway congestion degree in mobile communication network
KR20170090299A (en) * 2016-01-28 2017-08-07 황하운 Method for informing crowdedness of subway
KR101919584B1 (en) * 2017-07-03 2018-11-16 가온미디어 주식회사 crowdness information management system of subway trains based on parametric perturbation of wireless LAN
KR20190103507A (en) * 2018-02-12 2019-09-05 김강민 The subway congestion notification system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100114294A (en) * 2009-04-15 2010-10-25 김철수 A system for informing crowdedness of subway
KR101691158B1 (en) * 2010-06-28 2017-01-02 주식회사 케이티 Apparatus and method for measuring subway congestion degree in mobile communication network
KR20170090299A (en) * 2016-01-28 2017-08-07 황하운 Method for informing crowdedness of subway
KR101919584B1 (en) * 2017-07-03 2018-11-16 가온미디어 주식회사 crowdness information management system of subway trains based on parametric perturbation of wireless LAN
KR20190103507A (en) * 2018-02-12 2019-09-05 김강민 The subway congestion notification system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128582A1 (en) * 2021-12-29 2023-07-06 주식회사 윌러스표준기술연구소 Method and apparatus for sensing motion on basis of wireless lan signal

Also Published As

Publication number Publication date
KR20230022954A (en) 2023-02-16

Similar Documents

Publication Publication Date Title
EP3432245B1 (en) Data-flow control device and data-flow control method
Oransirikul et al. Measuring bus passenger load by monitoring Wi-Fi transmissions from mobile devices
US20200391766A1 (en) Multi-mode communication method for autonomous transport system of mining vehicle and apparatus thereof
WO2021256848A1 (en) Method and system for predicting congestion level for each subway cabin on basis of short-range wireless communication signal
WO2012099372A2 (en) Central control system and method for setting control point thereof
WO2012011624A1 (en) System and method for indoor navigation based on a wi-fi radio map and utilizing user mobility in location estimation
KR20210134253A (en) Method and apparatus for monitoring vehicle, and cloud control platform
WO2015182629A1 (en) Monitoring system, monitoring device, and monitoring program
Oransirikul et al. Feasibility of analyzing Wi-Fi activity to estimate transit passenger population
CN103647663A (en) Resource management method in server cluster
CN113965487B (en) Fault diagnosis system based on network flow data
CN113364115B (en) Power cable information comprehensive processing system and method
US11373464B2 (en) Vehicle-mounted communications device, log collection method, and log collection program
WO2019009459A1 (en) Subway congestion information management system based on wlan parameter fluctuation
CN114679396A (en) Method, device and system for testing routing performance of gateway
CN111490991B (en) Multiple server connection request system and method based on communication equipment
Budiyanto et al. Classification of Network Status in Academic Information Systems using Naive Bayes Algorithm Method
JP6742360B2 (en) Information generating device, program, and information generating method
Song et al. Real-time public transport service-level monitoring using passive WiFi: a spectral clustering approach for train timetable estimation
CN112488491B (en) Petri network-based train control vehicle-mounted equipment access process reliability evaluation method
Tang et al. Federated learning of user mobility anomaly based on graph attention networks
WO2021053966A1 (en) Information processing device, packet generation method, system, and program
KR20160052662A (en) Authentication server testing method and system
Tomer et al. An enhanced software framework for improving qos in iot
Santos et al. Context classifier for position-based user association control in vehicular hotspots

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21826855

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20237000301

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21826855

Country of ref document: EP

Kind code of ref document: A1