system
The system automates customer flow data collection and analysis using surveillance and AI to optimize inventory and labor costs in stores by providing real-time, accurate data for informed decision-making.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Traditional methods for inventory management in stores are cumbersome and inefficient, relying on manual data collection and analysis, which hinders real-time response to customer fluctuations, leading to inaccurate decision-making.
A system that automates customer flow data collection, analysis, and aggregation using surveillance equipment, video data analysis, and generative artificial intelligence to generate natural language responses to user queries, optimizing inventory and labor costs.
Enables efficient, real-time data utilization for informed management decisions, improving inventory management and reducing labor costs by providing accurate and timely customer flow data.
Smart Images

Figure 2026041415000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Today, many stores are required to optimize inventory management and labor costs in response to fluctuations in customer numbers. However, traditional methods involve manually collecting and analyzing customer flow data, which is cumbersome and makes it difficult to respond in real time. Furthermore, ineffective aggregation and analysis make it difficult to make accurate management decisions. There is a need for a system that can solve this problem, efficiently and accurately collect and analyze customer flow data, and facilitate smooth store operations. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing a system including: a monitoring device collecting video of a target area; a system for analyzing the collected video data to detect human movement and identify the timing of entry and exit; a system for storing and aggregating the detected data in a database; a system for generating text in natural language from information in the database using generative artificial intelligence; and a system for responding to user queries with the generated text. This system automates the collection, analysis, and aggregation of customer numbers in real time, enabling efficient data utilization and management decision-making. In particular, by providing data aggregated by time, day of the week, and month, this contributes to optimizing store purchasing and labor costs. Furthermore, by regularly updating the database with data collected and analyzed in real time, the system maintains the latest information and enables rapid response.
[0006] "Surveillance equipment" refers to equipment that continuously collects video of an area of interest, and generally includes a camera.
[0007] "Video data" refers to visual information collected by a surveillance device and recorded in the form of images or videos.
[0008] "Analysis" refers to the process of extracting specific information (e.g., people's movements and the timing of entry and exit) from collected video data.
[0009] "Entry and exit timing" refers to the moment in time when a person enters or exits a particular area.
[0010] "Database" refers to an information management system that systematically stores collected and analyzed data and enables efficient search and use.
[0011] "Aggregation" refers to the process of statistically summarizing stored data based on specific criteria.
[0012] "Generative AI" refers to machine learning or artificial intelligence techniques that generate natural language text based on data.
[0013] A "query" refers to a question or command sent by a user to a system to obtain information.
[0014] "Generating text" refers to the process of creating human-understandable sentences based on data.
[0015] "User" refers to a person or organization that uses the system to obtain information or perform operations. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram illustrating a processing flow of the data processing system according to the first embodiment. [Figure 12]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate text in natural language from the information in the database and provide appropriate responses to user queries.
[0038] Data collection
[0039] 1. Terminals (monitoring devices) are installed at the entrance and exit of the store and collect video footage 24 hours a day.
[0040] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[0041] Video Analysis
[0042] 2. The device analyzes the video data in real time and detects human movement.
[0043] A video analysis module detects people in the video data and tracks their movements.
[0044] The number of people detected and the timing of their entry and exit are recorded.
[0045] Data transmission
[0046] 3. The device structures the analyzed data and sends it to the server.
[0047] Send event information (timestamp, number of people, etc.) about entry and exit as structured data (e.g., JSON format).
[0048] Data storage
[0049] 4. The server stores the transmitted data in a database.
[0050] Each event is stored as a new record in the database.
[0051] Data aggregation
[0052] 5. The server periodically aggregates the stored data.
[0053] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[0054] The collected data is stored in a temporary storage area in an easily accessible format.
[0055] Text Generation and Response
[0056] 6. In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence.
[0057] When a user enters a query such as "How many people entered the store yesterday?", the server retrieves the relevant data and generates the text "150 people entered the store yesterday."
[0058] User Interface
[0059] 7. The user accesses the system via a web application or dedicated software and enters the required query.
[0060] Users can check data analysis results and aggregated information in real time.
[0061] Specific examples
[0062] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0063] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0064] This system helps users collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It can be a particularly powerful tool for restaurants and other businesses to contribute to proper inventory management and labor cost reduction.
[0065] The processing flow will be explained below.
[0066] Step 1:
[0067] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[0068] Step 2:
[0069] The device analyzes the collected video data in real time, and the video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store.
[0070] Step 3:
[0071] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0072] Step 4:
[0073] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0074] Step 5:
[0075] The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[0076] Step 6:
[0077] The server periodically executes a batch process to aggregate data. The aggregation is performed on a daily, weekly, monthly, or other basis, and the results are stored in a temporary storage area.
[0078] Step 7:
[0079] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0080] Step 8:
[0081] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0082] Step 9:
[0083] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[0084] Step 10:
[0085] The user checks the generated text and receives a response from the system via a web application or dedicated software.
[0086] Step 11:
[0087] The information acquired by the user can be used to improve and optimize store operations, for example, to help with inventory management and labor cost adjustments.
[0088] Example 1
[0089] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0090] The present invention improves upon conventional technology that uses surveillance equipment to collect video data of a target area, then comprehensively analyzes, aggregates, and stores the data in a database. In particular, the present invention aims to provide a system that can accurately identify entry and exit timing and respond to user queries using appropriate natural language generation. Conventional systems suffer from insufficient real-time analysis accuracy and data aggregation efficiency, leading to processing delays, especially when handling large amounts of data. Furthermore, they lack an easy-to-use interface when users want to obtain data based on specific conditions.
[0091] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0092] In this invention, the server includes means for using a monitoring device to collect video data, means for analyzing the collected video data to detect human movements and identify the timing of entry and exit, means for structuring the analyzed data and transmitting it to the server, means for the server to store the transmitted data in a database, means for periodically aggregating the stored data, means for a generative artificial intelligence to generate text in natural language from information in the database, and means for responding with the generated text in response to a query from a user. This enables highly accurate and real-time entry and exit management and makes it easier for users to obtain data efficiently.
[0093] "Video data" refers to digital data containing visual information collected by a surveillance device.
[0094] "Surveillance equipment" is a general term for cameras and related hardware installed to collect video data of a specific area on a 24-hour basis.
[0095] "Human movement detection" is the process of analyzing and identifying the presence and movement of people within collected video data.
[0096] "Entry and exit timing identification" is the process of analyzing and identifying the moment a person enters or leaves a particular area.
[0097] "Structured data" refers to the conversion of parsed data into a certain format (e.g., JSON format).
[0098] "Server" is a general term for a computer system that processes, stores, and aggregates received data, and also generates natural language text using generative artificial intelligence.
[0099] "Database" means a structured data storage used to store, and optionally retrieve and aggregate, the analyzed and transmitted data.
[0100] "Aggregation" is the process of statistically summarizing stored data over a period of time.
[0101] "Generative artificial intelligence" is a type of AI technology used to generate natural language text from information in a database.
[0102] A "user query" refers to a question or data request posed by a user to the system.
[0103] "Natural language text generation" is the process of using generative artificial intelligence to convert machine-understandable data into natural language sentences that are easy for humans to understand.
[0104] The present invention is a system that uses a monitoring device to collect video data, analyzes, aggregates, and stores the data in a database, thereby providing information in response to user queries. Specific embodiments of this system are described below.
[0105] Data collection
[0106] The terminals (monitoring devices) are installed at the entrances and exits of stores and collect video data 24 hours a day. This monitoring device includes cameras and related hardware for capturing video at high resolution (e.g., 1080p) and high frame rates (e.g., 30 fps). Most commonly, IP cameras and microcontrollers are used.
[0107] Video Analysis
[0108] The device processes video data received from the camera in real time. This is done using OpenCV and the TENSORFLOW (registered trademark) library to perform video analysis. Specifically, it detects people's movements and identifies when they enter and exit the building. The commonly used person detection algorithm is YOLO.
[0109] Data transmission
[0110] The device converts the parsed data into structured data in JSON format and sends it to the server via HTTP / HTTPS. The structured data includes information such as a timestamp and the number of people detected.
[0111] Data storage
[0112] The server receives the JSON data sent from the terminal and stores it in a database (e.g., MySQL (registered trademark), PostgreSQL). The received data is parsed and inserted into the database as a new record.
[0113] Data aggregation
[0114] The server aggregates the data at regular intervals (e.g. daily, weekly, monthly). This aggregation process is performed using Cron jobs or SQL queries. The aggregated data is stored in a temporary storage area in a format that is easy to use (e.g. CSV, Excel).
[0115] Text Generation and Response
[0116] In response to a user query, the server retrieves appropriate information from a database and generates a natural language explanation using generative artificial intelligence (e.g., OpenAI's GPT-3). For example, if a user enters the query "How many people came into the store yesterday?", the server retrieves the relevant data and generates the text "150 people came into the store yesterday."
[0117] User Interface
[0118] Users access the system through a web application or dedicated software (e.g., a React-based web app) and input the required queries, allowing them to view data analysis results and aggregated information in real time.
[0119] Specific examples
[0120] Example 1: If a device at a restaurant collects video of three people entering the restaurant at the same time at 9:00 AM, the device analyzes this video in real time. The video analysis module detects the three people, generates structured data in JSON format stating "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0121] Sample prompt: "If your device collects footage of three people entering a store at the same time at 9:00 AM, how would you process that information?"
[0122] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0123] Example prompt: "If you wanted to know the number of visitors per week, how would you process the data and provide the information to the user?"
[0124] In this way, this system allows users to collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It is a particularly powerful tool for restaurants and other businesses, contributing to appropriate inventory management and labor cost reduction.
[0125] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0126] Step 1:
[0127] The terminals are installed at the entrances and exits of the store and are used as monitoring devices to collect video data.
[0128] Input: Real-time video data captured by surveillance equipment.
[0129] Specific operation: The device collects high-resolution (e.g., 1080p) video at 30 fps. The hardware used is an IP camera and a microcontroller.
[0130] Output: Collected live video stream.
[0131] Step 2:
[0132] The device analyzes the video data received from the camera in real time.
[0133] Input: Collected live video stream.
[0134] How it works: The device uses libraries such as OpenCV and TensorFlow to analyze the movements of people in the video, and uses person detection algorithms such as YOLO to detect people in each frame and track their movements.
[0135] Output: Analysis data such as entry and exit timing and number of people.
[0136] Step 3:
[0137] The terminal converts the parsed data into structured data in JSON format and sends it to the server.
[0138] Input: Analysis data such as entry and exit timing and number of people.
[0139] What it does: The terminal uses the JSON library in Python to convert the parsed data into JSON format, which is then prepared to be sent to the server via the HTTP / HTTPS protocol.
[0140] Output: Structured data in JSON format.
[0141] Step 4:
[0142] The server receives the JSON data and stores it in the database.
[0143] Input: Structured data in JSON format sent from the device.
[0144] What happens: The server parses the JSON data and saves it as a new record in a database (e.g. MySQL, PostgreSQL).
[0145] Output: Records stored in the database.
[0146] Step 5:
[0147] The server aggregates the stored data at regular intervals.
[0148] Input: Records stored in the database.
[0149] What it does: The server uses Cron jobs to aggregate data daily, weekly, and monthly. The aggregated results are calculated using SQL queries and stored in a temporary storage area in a format that is easy to use (e.g., CSV, Excel).
[0150] Output: Aggregated data.
[0151] Step 6:
[0152] The server retrieves appropriate information from a database in response to a user query and generates a natural language explanation using generative artificial intelligence.
[0153] Input: A query from the user.
[0154] What it does: The server analyzes the query, retrieves the relevant data from the database, and uses a generative AI (e.g., OpenAI's GPT-3) to generate the appropriate text.
[0155] Output: Natural language text response.
[0156] Step 7:
[0157] A user accesses the system via a web application or dedicated software and enters a query.
[0158] Input: The user's query.
[0159] How it works: Users log in to the system using a web browser or a dedicated application, enter queries, and the results are displayed in real time. It uses front-end technologies such as QT and React.
[0160] Output: The response from the system to the query.
[0161] (Application example 1)
[0162] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0163] With conventional surveillance systems, it was difficult to collect customer entry and exit data in real time at stores and other locations and check it immediately. It was also difficult for managers to quickly obtain the necessary information, which sometimes meant the data could not be used efficiently. Furthermore, the system lacked the ability to classify data by time of day or day of the week, making it difficult to grasp customer trends during specific time periods.
[0164] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0165] In this invention, the server includes: a monitoring device for collecting video of a target area; a means for analyzing the collected video data to detect human movement and identify the timing of entry and exit; a means for storing and aggregating the detected data in a database; a generative artificial intelligence for generating text in natural language from information in the database; a means for responding with the generated text in response to a user's query; and a means for using smart glasses to retrieve and display information in the database in real time in response to the user's voice query. This allows managers to check customer entry and exit data in real time through the smart glasses, thereby improving the efficiency of store operations. Furthermore, by freely classifying the aggregated data, customer trends during specific time periods can be accurately grasped.
[0166] A "surveillance device" is a device installed to collect video of an area of interest.
[0167] "Video data" means visual information collected by surveillance equipment.
[0168] "Analysis" is the process of detecting human movements and recognizing specific events based on collected video data.
[0169] "Entry / exit timing" refers to the time when a person enters or exits an area, and includes time information.
[0170] A "database" is a collection of information that stores collected and analyzed data and makes it easy to search and retrieve.
[0171] "Aggregation" is the process of compiling data based on specific periods or conditions.
[0172] "Generative AI" refers to an AI system that automatically generates text in natural language based on data.
[0173] A "query" is a request made by a user to a system to obtain information.
[0174] "Smart glasses" are wearable devices that users can wear to display information and input voice data.
[0175] "Real-time" refers to a situation where data is collected, processed, and displayed almost immediately, with very little time delay.
[0176] The system of this invention is a customer management system that uses a monitoring device, smart glasses, a server, generative artificial intelligence, and a user interface. The monitoring device is installed at the entrance and exit of the store and collects video images 24 hours a day. The video data is analyzed in real time to detect people's movements and identify the timing of entry and exit.
[0177] Data collection and analysis
[0178] The server receives the video data sent from the surveillance device and detects human movements through an analysis module by tracking people in the video and recording the timing of their entry and exit.
[0179] Data transmission and storage
[0180] The server structures the parsed data and stores it in a database in an appropriate format (e.g., JSON format). The database records event information (timestamp, number of customers entering, number of customers leaving, etc.).
[0181] Data aggregation
[0182] The server periodically aggregates the stored data. For example, it calculates the number of customers entering and leaving the store and peak times on a daily, weekly, or monthly basis. This aggregated data is stored in a temporary storage area in a format that is easy for users to use.
[0183] Text Generation and Query Response
[0184] The server retrieves appropriate information from a database in response to a user query. Generative AI is used to generate natural language text corresponding to the query. For example, if a user enters the query "How many people visited the store yesterday?", the server generates the text "150 people visited the store yesterday" as a response.
[0185] Voice query using smart glasses
[0186] The user wears the smart glasses and makes a query through voice input. The smart glasses send the voice data to the server, which immediately analyzes it and replies as text. The information in the database is retrieved in real time and displayed on the glasses' display.
[0187] Specific examples
[0188] 1. Example 1: If the store is busy at 3 PM, the store clerk makes a voice query to the smart glasses saying, "What is the current number of customers in the store?" The smart glasses will pull the data from the server and display, "The current number of customers is 78."
[0189] 2. Example 2: During peak lunch hours, the store manager can ask the smart glasses, "How many customers came in this morning?" and the glasses will display, "The number of customers in this morning is 120." This information will enable the store manager to quickly prepare for lunchtime.
[0190] Prompt Sentence Examples
[0191] Please tell me how many people came into the store yesterday.
[0192] "What is the current number of customers?"
[0193] "How many people came in this morning?"
[0194] In this way, the system of the present invention realizes real-time customer management through smart glasses, contributing to the efficiency of store operations. In addition, by using generative AI, users can quickly obtain the information they need.
[0195] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0196] Step 1:
[0197] Data collection
[0198] The terminal (monitoring device) collects video of the target area. This collected video data is sent to the processing device in real time. The input here is the video data captured by the monitoring device, and the output is the raw video data sent to the processing device.
[0199] Step 2:
[0200] Data analysis
[0201] The server analyzes the received video data to detect human movements. The video analysis module detects people in the video data and tracks their movements. The input is the video data, and the analysis identifies people's movements and the timing of their entry and exit, generating detected event data (e.g., entry and exit information with time stamps) as output.
[0202] Step 3:
[0203] Data transmission
[0204] The server structures the parsed event data and saves it in a database. The input here is the parsed event data, which is structured in JSON format or similar and saved in a database as output.
[0205] Step 4:
[0206] Database Update
[0207] The server updates the database with the collected and analyzed data in real time. Every time a new event occurs, the record in the database is updated. The input is the newly acquired event data, and the output is an updated database containing the latest data.
[0208] Step 5:
[0209] Data aggregation
[0210] The server aggregates the stored data for specific periods such as daily, weekly, or monthly, creating aggregated data. The input is the event data in the database, and the output is hourly, daily, or monthly aggregated data.
[0211] Step 6:
[0212] Text Generation
[0213] The server uses generative artificial intelligence to generate natural language text from the aggregated data. The input is the aggregated data, and the output is the generated natural language text. An appropriate response is generated based on the prompt.
[0214] Step 7:
[0215] Query Response and Display
[0216] A user wears smart glasses and inputs a voice query. The smart glasses transmit the voice data to a server, which then retrieves the corresponding aggregated data and generates natural language text using generative artificial intelligence, which then displays it on the smart glasses' display. The input is the user's voice query, and the final output is the text information displayed on the smart glasses.
[0217] Through the above steps, real-time customer management through smart glasses is realized.
[0218] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0219] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[0220] Data collection
[0221] Terminals (monitoring devices) are installed at the entrances and exits of the store and collect video footage 24 hours a day.
[0222] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[0223] Video Analysis
[0224] The device analyzes the collected video data in real time and detects human movement.
[0225] A video analysis module detects people in the video data and tracks their movements.
[0226] The number of people detected and the timing of their entry and exit are recorded.
[0227] Data transmission
[0228] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0229] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0230] Data storage
[0231] The server stores the received data in a database.
[0232] The database records information about each event along with a timestamp.
[0233] Data aggregation
[0234] The server periodically aggregates the stored data.
[0235] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[0236] The collected data is stored in a temporary storage area in an easily accessible format.
[0237] User query processing
[0238] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0239] Text Generation and Response
[0240] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0241] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[0242] Introducing the Emotion Engine
[0243] The server uses an emotion engine to recognize emotions from the user's input and actions.
[0244] The emotion engine analyzes user input and interaction patterns to infer emotions.
[0245] The recognized emotion data is stored in a database and used for analysis.
[0246] Adaptive text generation
[0247] The server adaptively changes the content of the generated text based on the recognized emotion.
[0248] For example, if a user is feeling stressed, a supportive comment such as "Please relax and wait. 150 people visited the store yesterday" is added.
[0249] User Interface
[0250] A user accesses the system via a web application or dedicated software and enters the required query.
[0251] Users can check data analysis results and aggregated information in real time.
[0252] Users can also experience adaptive responses based on their emotional state.
[0253] Specific examples
[0254] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0255] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0256] Example 3: When a user submits a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server generates emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[0257] This system helps users collect, analyze, and aggregate data in real time, helping them efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[0258] The processing flow will be explained below.
[0259] Step 1:
[0260] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[0261] Step 2:
[0262] The device analyzes the collected video data in real time. The video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store. For example, it tracks a person's movement trajectory and records the moment they pass through a specific zone.
[0263] Step 3:
[0264] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0265] Step 4:
[0266] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0267] Step 5:
[0268] The server stores the received data in a database. The database records information about each event along with a timestamp. For example, a record such as "3 people entered the store at 09:00:00 on October 1, 2023" is stored.
[0269] Step 6:
[0270] The server periodically executes batch processing to aggregate data. The aggregation is performed daily, weekly, monthly, etc., and the results are stored in a temporary storage area. For example, data on the number of customers entering the store on that day and peak hours is aggregated.
[0271] Step 7:
[0272] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0273] Step 8:
[0274] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0275] Step 9:
[0276] The server uses generative artificial intelligence to generate text in natural language based on the acquired data, for example, "150 people visited the store yesterday."
[0277] Step 10:
[0278] The server uses an emotion engine to recognize emotions from the user's input and actions. For example, if the user is feeling anxious, the server will detect this emotion and record it as "anxiety."
[0279] Step 11:
[0280] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling impatient, it adds a supportive comment such as "Please relax and wait. 150 people visited the store yesterday."
[0281] Step 12:
[0282] Users access the system via a web application or dedicated software, input the required queries, and can view the responses from the system and view data analysis results and aggregated information in real time.
[0283] Step 13:
[0284] The information acquired by the user can be used to improve and optimize store operations. For example, it can be used to adjust inventory management and labor costs. Furthermore, adaptive information provision based on the user's emotional state can provide a better user experience.
[0285] Example 2
[0286] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0287] Conventional systems have difficulty efficiently analyzing video data collected by surveillance equipment, identifying and storing the timing of entrances and exits in a database, and providing appropriate responses to user queries. Furthermore, they lack the ability to adaptively change the generated text according to the user's emotional state, which prevents them from sufficiently increasing user satisfaction.
[0288] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0289] In this invention, the server includes: means for structuring the analysis data and formatting it into a data format including, for example, a timestamp, the number of people, and the type of event; means for transmitting the structured data to the server using a secure communication means; means for storing the received data in a database; means for periodically aggregating the stored data; means for receiving queries from users and retrieving data corresponding to the queries from the database; means for generating text in natural language using a generative AI model based on the retrieved data; means for adaptively modifying the generated text in accordance with the user's emotional state; and means for responding to the user with the modified text. This enables efficient analysis of video data and accurate identification of entrances and exits, and also enables adaptive responses in accordance with the user's emotional state, thereby improving user satisfaction and providing a better experience.
[0290] A "monitoring device" is a hardware device that collects video of an area of interest.
[0291] "Video data" refers to video information of a target area collected by a monitoring device.
[0292] "Analysis means" refers to software or hardware that analyzes collected video data, detects human movement, and identifies the timing of entry and exit.
[0293] "Structured data" refers to analyzed data that has been organized into formats such as timestamps, number of people, and type of event.
[0294] "Communication means" refers to the secure communication protocols and technologies used to transmit the analysis data to the server.
[0295] A "database" is a data storage system for storing and managing received data.
[0296] "Aggregation means" refers to software or hardware that periodically aggregates stored data and generates information such as the number of people entering and exiting the facility and peak hours.
[0297] "Query" means an inquiry or request from a user.
[0298] A "generative AI model" is an artificial intelligence model that generates text in natural language based on data.
[0299] "Emotional state" refers to the emotional state inferred from the user's input and actions.
[0300] An "adaptive modification means" is software or hardware that modifies the content of the generated text based on the recognized sentiment.
[0301] "Response means" refers to an interface or method for responding to the user with the generated text.
[0302] The system of the present invention analyzes video data collected by surveillance equipment, identifies the timing of entry and exit, and stores and aggregates this data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[0303] Data collection
[0304] The terminal collects video images 24 hours a day using a surveillance device. Specifically, a surveillance camera (e.g., "surveillance camera A") is used to acquire high-resolution, high-frame-rate video data, which is then transmitted to the processing device in real time. For example, the camera captures video images at 30 frames per second, providing constantly new data.
[0305] Video Analysis
[0306] The device analyzes the collected video data to detect human movements. Using a video analysis module (e.g., "Image Analysis Software B"), it analyzes the video data frame by frame, detects people, and tracks their movements. For example, it uses background subtraction to extract human silhouettes and uses a tracking algorithm to identify when people enter or exit the venue.
[0307] Data transmission
[0308] The device structures the analysis data and generates JSON format data that includes, for example, a timestamp, the number of people, and the type of event (entry or exit).The structured data is then sent to the server using a secure communication method such as HTTPS, which ensures data security and integrity.
[0309] Data storage
[0310] The server stores the received data in a database (e.g., "Database System C"). For example, it parses the received JSON data and inserts it into the corresponding table to store it. This allows event information to be managed efficiently.
[0311] Data aggregation
[0312] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), it aggregates the number of customers entering and leaving the store, as well as peak hours, for periods such as daily, weekly, or monthly. This makes it easy for users to obtain statistical information of interest.
[0313] User query processing
[0314] The server receives queries from users. For example, when a user sends a query through a web application such as "How many customers came into the store yesterday?", the query reaches the server. In this case, the server receives the query using a REST API.
[0315] Text Generation and Response
[0316] The server searches the database to retrieve data corresponding to the query. Based on the retrieved data, it uses generative artificial intelligence (e.g., "Generative AI Model E") to generate text in natural language. For example, the generated text might read, "150 people visited the store yesterday."
[0317] Introducing the Emotion Engine
[0318] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from user input and behavior. When a user sends a query, the server analyzes the input data and estimates the user's emotional state.
[0319] Adaptive text generation
[0320] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server uses generative AI to add a supportive comment such as, "Please relax and wait. 150 people visited the store yesterday."
[0321] Specific examples
[0322] Example 1
[0323] If a device collects video of three people entering a restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today."
[0324] Example 2
[0325] If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 p.m. to 2:00 p.m., and 350 people visited the store," and provides this to the user.
[0326] Example 3
[0327] When a user sends a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server uses generative AI to generate emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[0328] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[0329] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0330] Step 1: Data collection
[0331] The terminal uses a surveillance device to collect video images 24 hours a day. Specifically, a surveillance camera (e.g., "surveillance camera A") captures high-resolution video images at 30 frames per second and transmits the data to a processing device in real time.
[0332] Input: Video signal from a surveillance camera
[0333] Output: Real-time video data
[0334] Step 2: Video analysis
[0335] The device analyzes the collected video data. A video analysis module (e.g., "Image Analysis Software B") uses background subtraction to detect people and tracks their movements using a tracking algorithm.
[0336] Input: Real-time video data
[0337] Output: Analysis data corresponding to human movements
[0338] Step 3: Send data
[0339] The device structures the analysis data in JSON format and sends it to the server using HTTPS. For example, data in the format "{'timestamp': '2023-10-01T09:00:00Z', 'person_count': 3, 'event_type': 'entry'}" is generated and sent.
[0340] Input: Analysis data
[0341] Output: Structured JSON data
[0342] Step 4: Save Data
[0343] The server parses the received JSON data and stores it in a database (e.g., "Database System C"). Specifically, it inserts new event information into the corresponding table each time.
[0344] Input: Structured JSON data
[0345] Output: Event data stored in a database
[0346] Step 5: Data aggregation
[0347] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), statistical data on the number of customers entering and leaving the store, as well as peak hours, is generated daily, weekly, and monthly.
[0348] Input: Event data stored in the database
[0349] Output: Aggregated statistics
[0350] Step 6: User query processing
[0351] The server receives a query from the user. The user sends a query such as "How many customers came into the store yesterday?" through a web application. The server receives this query through a REST API.
[0352] Input: User query
[0353] Output: Query content
[0354] Step 7: Database Search
[0355] The server searches the database to retrieve data corresponding to the query. For example, if the query is for "the number of customers entering the store yesterday," the server extracts the number of customers entering the store on the corresponding date from the database.
[0356] Input: Query content
[0357] Output: Data corresponding to the query
[0358] Step 8: Text Generation and Response
[0359] Based on the data acquired by the server, a generative AI (e.g., "Generative AI Model E") is used to generate natural language text. For example, the server generates text such as "150 people visited the store yesterday." It then responds to the user.
[0360] Input: The data corresponding to the query
[0361] Output: The generated text
[0362] Step 9: Implementing the Emotion Engine
[0363] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from the user's input and actions. For example, if the user is impatient, the emotion engine will detect that emotion.
[0364] Input: User input data, behavioral data
[0365] Output: Recognized emotion data
[0366] Step 10: Adaptive text generation
[0367] The server adaptively modifies the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server adds a supportive comment such as "Please relax and wait. 150 customers visited the store yesterday."
[0368] Input: Recognized emotion data, generated text
[0369] Output: Adaptively modified text
[0370] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[0371] (Application example 2)
[0372] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0373] Conventional customer behavior analysis systems for brick-and-mortar stores are required not only to collect and analyze customer entry and exit data, but also to provide adaptive information that takes into account customer emotions. Specifically, a system that can appropriately recognize customer emotions and change responses based on them is required. It is also important to improve usability so that users can easily collect data in real time and receive responses in natural language to their queries.
[0374] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0375] In this invention, the server includes: a monitoring device that collects video of a target area; a system that analyzes the collected video data to detect human movement and identify the timing of entry and exit; a system that stores and aggregates the detected data in a database; a generative artificial intelligence that generates text in natural language from information in the database; a system that responds with the generated text in response to a query from a user; and a system that uses an emotion engine that recognizes the user's emotions and adaptively changes the content of the generated text. This enables flexible and adaptive information provision according to the customer's emotions.
[0376] A "surveillance device" is a device for collecting video of an area of interest.
[0377] "Video Data" refers to visual information collected by surveillance equipment.
[0378] "Analysis" is the process of evaluating and analyzing collected video data to detect human movement and identify the timing of entry and exit.
[0379] A "database" is a system for storing detected data and compiling necessary information.
[0380] "Generative AI" is an AI technology that can generate text in natural language from information in a database.
[0381] A "query" refers to a question or request sent by a user to the system.
[0382] An "emotion engine" is a technology that recognizes a user's emotions and adaptively changes the content of the generated text based on those emotions.
[0383] To implement this invention, a monitoring device is first installed in the target area (e.g., the entrance and exit of a store). The monitoring device collects video images 24 hours a day and transmits them to a processing device in real time. The video data is acquired at an appropriate resolution and frame rate.
[0384] Data collection and analysis
[0385] The device receives video data from the surveillance cameras and analyzes it in real time. A video analysis module (e.g., OpenCV or YOLO models) is used to detect people's movements and identify when they enter or exit the store. The analysis results are structured as timestamps, the number of people, and the type of event (entering or exiting the store).
[0386] Data transmission and storage
[0387] The structured data generated by the device is sent to the server in JSON format. The communication protocol, for example, HTTPS, is used to ensure secure data transfer. The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[0388] Data aggregation and user query processing
[0389] The server periodically aggregates the stored data, tallying the number of people entering and leaving the store, and peak times for each period, such as daily, weekly, or monthly. The aggregated data is stored in a temporary storage area. When a user makes a query, the server searches the database and retrieves the data corresponding to the query. For example, in response to the query "How many people entered the store yesterday?" the server generates the text "150 people entered the store yesterday."
[0390] Generative AI and Emotion Engines
[0391] Generative AI is implemented in programming languages such as Python and generates text in natural language from information in a database based on user queries. In addition, it uses an emotion engine to analyze user input and interaction patterns and recognize emotions. The recognized emotion data is stored in a database and the content of the generated text is adaptively changed based on the user's emotions.
[0392] Specific examples
[0393] For example, data showing three people entering a store at the same time at 9:00 AM is collected and analyzed based on footage from a surveillance camera. This data is structured as "3 people entered the store at 9:00 AM," sent to the server, and stored. Furthermore, if a user sends a query such as "How many people entered the store today?", the generative AI generates the text "150 people entered the store today." If the emotion engine recognizes the user's impatience, it adaptively changes the content to something like "Please relax and wait. 150 people entered the store today."
[0394] Prompt Sentence Examples
[0395] Please tell me how many people came to the store yesterday.
[0396] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0397] Step 1:
[0398] The device collects video data from a surveillance camera. The input is a real-time video stream from the surveillance camera, and the output is frame data. The device acquires this frame data at an appropriate resolution and frame rate. Specifically, the device uses the OpenCV library to capture the video stream.
[0399] Step 2:
[0400] The device analyzes the collected video data and detects human movements. The input is the frame data obtained in step 1, and the output is the coordinate information and timestamp of the detected person. Specifically, it uses a video analysis module (e.g., the YOLO model) to detect people in the frame and record their coordinates.
[0401] Step 3:
[0402] The device structures the detected data and formats it as an entry / exit event. The input is the person's coordinate information and timestamp obtained in step 2, and the output is structured JSON-formatted event data. Specifically, it determines the type of event (entering or leaving the store) and generates JSON data specifying the timestamp, number of people, and type of event.
[0403] Step 4:
[0404] The terminal sends structured data to the server. The input is the JSON-formatted event data generated in step 3, and the output is a status code indicating that the data was successfully sent to the server. Specifically, the requests library is used to send the data to the server using the HTTPS protocol.
[0405] Step 5:
[0406] The server stores the received data in a database. The input is the JSON-formatted event data sent in step 4, and the output is the event record stored in the database. Specifically, the server creates a new record in the database and records the timestamp, number of people, and type of event.
[0407] Step 6:
[0408] The server periodically aggregates the stored data. The input is the event records stored in the database, and the output is the aggregation results (e.g., daily, weekly, and monthly number of customers entering and leaving the store, and peak hours). Specifically, the server executes a query to aggregate events within a specified period and stores the results in a temporary storage area.
[0409] Step 7:
[0410] The user sends a query, and the server responds. The input is the user's query (e.g., "How many people came into the store yesterday?"), and the output is a natural language text response from the generative AI. Specifically, the server searches the database, retrieves the necessary information, and provides it to the generative AI, which then generates the text "150 people came into the store yesterday."
[0411] Step 8:
[0412] The server uses an emotion engine to recognize the user's emotions and adaptively change the response content. The input is the user's query and interaction data, and the output is a natural language text response that takes emotion into consideration. Specifically, the emotion engine analyzes the user's input and interaction patterns and changes the text based on the recognized emotion. For example, if the user is impatient, it generates a response such as, "Please relax and wait. 150 people visited the store yesterday."
[0413] Example prompt sentence:
[0414] Please tell me how many people came to the store yesterday.
[0415] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0416] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0417] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0418] [Second embodiment]
[0419] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0420] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0421] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0422] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0423] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0424] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0425] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0426] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0427] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0428] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0429] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0430] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0431] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate text in natural language from the information in the database and provide appropriate responses to user queries.
[0432] Data collection
[0433] 1. Terminals (monitoring devices) are installed at the entrance and exit of the store and collect video footage 24 hours a day.
[0434] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[0435] Video Analysis
[0436] 2. The device analyzes the video data in real time and detects human movement.
[0437] A video analysis module detects people in the video data and tracks their movements.
[0438] The number of people detected and the timing of their entry and exit are recorded.
[0439] Data transmission
[0440] 3. The device structures the analyzed data and sends it to the server.
[0441] Send event information (timestamp, number of people, etc.) about entry and exit as structured data (e.g., JSON format).
[0442] Data storage
[0443] 4. The server stores the transmitted data in a database.
[0444] Each event is stored as a new record in the database.
[0445] Data aggregation
[0446] 5. The server periodically aggregates the stored data.
[0447] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[0448] The collected data is stored in a temporary storage area in an easily accessible format.
[0449] Text Generation and Response
[0450] 6. In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence.
[0451] When a user enters a query such as "How many people entered the store yesterday?", the server retrieves the relevant data and generates the text "150 people entered the store yesterday."
[0452] User Interface
[0453] 7. The user accesses the system via a web application or dedicated software and enters the required query.
[0454] Users can check data analysis results and aggregated information in real time.
[0455] Specific examples
[0456] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0457] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0458] This system helps users collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It can be a particularly powerful tool for restaurants and other businesses to contribute to proper inventory management and labor cost reduction.
[0459] The processing flow will be explained below.
[0460] Step 1:
[0461] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[0462] Step 2:
[0463] The device analyzes the collected video data in real time, and the video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store.
[0464] Step 3:
[0465] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0466] Step 4:
[0467] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0468] Step 5:
[0469] The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[0470] Step 6:
[0471] The server periodically executes a batch process to aggregate data. The aggregation is performed on a daily, weekly, monthly, or other basis, and the results are stored in a temporary storage area.
[0472] Step 7:
[0473] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0474] Step 8:
[0475] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0476] Step 9:
[0477] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[0478] Step 10:
[0479] The user checks the generated text and receives a response from the system via a web application or dedicated software.
[0480] Step 11:
[0481] The information acquired by the user can be used to improve and optimize store operations, for example, to help with inventory management and labor cost adjustments.
[0482] Example 1
[0483] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0484] The present invention improves upon conventional technology that uses surveillance equipment to collect video data of a target area, then comprehensively analyzes, aggregates, and stores the data in a database. In particular, the present invention aims to provide a system that can accurately identify entry and exit timing and respond to user queries using appropriate natural language generation. Conventional systems suffer from insufficient real-time analysis accuracy and data aggregation efficiency, leading to processing delays, especially when handling large amounts of data. Furthermore, they lack an easy-to-use interface when users want to obtain data based on specific conditions.
[0485] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0486] In this invention, the server includes means for using a monitoring device to collect video data, means for analyzing the collected video data to detect human movements and identify the timing of entry and exit, means for structuring the analyzed data and transmitting it to the server, means for the server to store the transmitted data in a database, means for periodically aggregating the stored data, means for a generative artificial intelligence to generate text in natural language from information in the database, and means for responding with the generated text in response to a query from a user. This enables highly accurate and real-time entry and exit management and makes it easier for users to obtain data efficiently.
[0487] "Video data" refers to digital data containing visual information collected by a surveillance device.
[0488] "Surveillance equipment" is a general term for cameras and related hardware installed to collect video data of a specific area on a 24-hour basis.
[0489] "Human movement detection" is the process of analyzing and identifying the presence and movement of people within collected video data.
[0490] "Entry and exit timing identification" is the process of analyzing and identifying the moment a person enters or leaves a particular area.
[0491] "Structured data" refers to the conversion of parsed data into a certain format (e.g., JSON format).
[0492] "Server" is a general term for a computer system that processes, stores, and aggregates received data, and also generates natural language text using generative artificial intelligence.
[0493] "Database" means a structured data storage used to store, and optionally retrieve and aggregate, the analyzed and transmitted data.
[0494] "Aggregation" is the process of statistically summarizing stored data over a period of time.
[0495] "Generative artificial intelligence" is a type of AI technology used to generate natural language text from information in a database.
[0496] A "user query" refers to a question or data request posed by a user to the system.
[0497] "Natural language text generation" is the process of using generative artificial intelligence to convert machine-understandable data into natural language sentences that are easy for humans to understand.
[0498] The present invention is a system that uses a monitoring device to collect video data, analyzes, aggregates, and stores the data in a database, thereby providing information in response to user queries. Specific embodiments of this system are described below.
[0499] Data collection
[0500] The terminals (monitoring devices) are installed at the entrances and exits of stores and collect video data 24 hours a day. This monitoring device includes cameras and related hardware for capturing video at high resolution (e.g., 1080p) and high frame rates (e.g., 30 fps). Most commonly, IP cameras and microcontrollers are used.
[0501] Video Analysis
[0502] The device processes video data received from the camera in real time. This is done using OpenCV and TensorFlow libraries to perform video analysis. Specifically, it detects people's movements and identifies when they enter and exit the building. The commonly used person detection algorithm is YOLO.
[0503] Data transmission
[0504] The device converts the parsed data into structured data in JSON format and sends it to the server via HTTP / HTTPS. The structured data includes information such as a timestamp and the number of people detected.
[0505] Data storage
[0506] The server receives the JSON data sent from the device and stores it in a database (e.g., MySQL, PostgreSQL). The received data is parsed and inserted into the database as a new record.
[0507] Data aggregation
[0508] The server aggregates the data at regular intervals (e.g. daily, weekly, monthly). This aggregation process is performed using Cron jobs or SQL queries. The aggregated data is stored in a temporary storage area in a format that is easy to use (e.g. CSV, Excel).
[0509] Text Generation and Response
[0510] In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence (e.g., OpenAI's GPT-3). For example, if a user enters the query "How many people came into the store yesterday?", the server retrieves the relevant data and generates the text "150 people came into the store yesterday."
[0511] User Interface
[0512] Users access the system through a web application or dedicated software (e.g., a React-based web app) and input the required queries, allowing them to view data analysis results and aggregated information in real time.
[0513] Specific examples
[0514] Example 1: If a device at a restaurant collects video of three people entering the restaurant at the same time at 9:00 AM, the device analyzes this video in real time. The video analysis module detects the three people, generates structured data in JSON format stating "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0515] Sample prompt: "If your device collects footage of three people entering a store at the same time at 9:00 AM, how would you process that information?"
[0516] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0517] Example prompt: "If you wanted to know the number of visitors per week, how would you process the data and provide the information to the user?"
[0518] In this way, this system allows users to collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It is a particularly powerful tool for restaurants and other businesses, contributing to appropriate inventory management and labor cost reduction.
[0519] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0520] Step 1:
[0521] The terminals are installed at the entrances and exits of the store and are used as monitoring devices to collect video data.
[0522] Input: Real-time video data captured by surveillance equipment.
[0523] Specific operation: The device collects high-resolution (e.g., 1080p) video at 30 fps. The hardware used is an IP camera and a microcontroller.
[0524] Output: Collected live video stream.
[0525] Step 2:
[0526] The device analyzes the video data received from the camera in real time.
[0527] Input: Collected live video stream.
[0528] How it works: The device uses libraries such as OpenCV and TensorFlow to analyze the movements of people in the video, and uses person detection algorithms such as YOLO to detect people in each frame and track their movements.
[0529] Output: Analysis data such as entry and exit timing and number of people.
[0530] Step 3:
[0531] The terminal converts the parsed data into structured data in JSON format and sends it to the server.
[0532] Input: Analysis data such as entry and exit timing and number of people.
[0533] What it does: The terminal uses the JSON library in Python to convert the parsed data into JSON format, which is then prepared to be sent to the server via the HTTP / HTTPS protocol.
[0534] Output: Structured data in JSON format.
[0535] Step 4:
[0536] The server receives the JSON data and stores it in the database.
[0537] Input: Structured data in JSON format sent from the device.
[0538] What happens: The server parses the JSON data and saves it as a new record in a database (e.g. MySQL, PostgreSQL).
[0539] Output: Records stored in the database.
[0540] Step 5:
[0541] The server aggregates the stored data at regular intervals.
[0542] Input: Records stored in the database.
[0543] What it does: The server uses Cron jobs to aggregate data daily, weekly, and monthly. The aggregated results are calculated using SQL queries and stored in a temporary storage area in a format that is easy to use (e.g., CSV, Excel).
[0544] Output: Aggregated data.
[0545] Step 6:
[0546] The server retrieves appropriate information from a database in response to a user query and generates a natural language explanation using generative artificial intelligence.
[0547] Input: A query from the user.
[0548] What it does: The server analyzes the query, retrieves the relevant data from the database, and uses a generative AI (e.g., OpenAI's GPT-3) to generate the appropriate text.
[0549] Output: Natural language text response.
[0550] Step 7:
[0551] A user accesses the system via a web application or dedicated software and enters a query.
[0552] Input: The user's query.
[0553] How it works: Users log in to the system using a web browser or a dedicated application, enter queries, and the results are displayed in real time. It uses front-end technologies such as QT and React.
[0554] Output: The response from the system to the query.
[0555] (Application example 1)
[0556] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0557] With conventional surveillance systems, it was difficult to collect customer entry and exit data in real time at stores and other locations and check it immediately. It was also difficult for managers to quickly obtain the necessary information, which sometimes meant the data could not be used efficiently. Furthermore, the system lacked the ability to classify data by time of day or day of the week, making it difficult to grasp customer trends during specific time periods.
[0558] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0559] In this invention, the server includes: a monitoring device for collecting video of a target area; a means for analyzing the collected video data to detect human movement and identify the timing of entry and exit; a means for storing and aggregating the detected data in a database; a generative artificial intelligence for generating text in natural language from information in the database; a means for responding with the generated text in response to a user's query; and a means for using smart glasses to retrieve and display information in the database in real time in response to the user's voice query. This allows managers to check customer entry and exit data in real time through the smart glasses, thereby improving the efficiency of store operations. Furthermore, by freely classifying the aggregated data, customer trends during specific time periods can be accurately grasped.
[0560] A "surveillance device" is a device installed to collect video of an area of interest.
[0561] "Video data" means visual information collected by surveillance equipment.
[0562] "Analysis" is the process of detecting human movements and recognizing specific events based on collected video data.
[0563] "Entry / exit timing" refers to the time when a person enters or exits an area, and includes time information.
[0564] A "database" is a collection of information that stores collected and analyzed data and makes it easy to search and retrieve.
[0565] "Aggregation" is the process of compiling data based on specific periods or conditions.
[0566] "Generative AI" refers to an AI system that automatically generates text in natural language based on data.
[0567] A "query" is a request made by a user to a system to obtain information.
[0568] "Smart glasses" are wearable devices that users can wear to display information and input voice data.
[0569] "Real-time" refers to a situation where data is collected, processed, and displayed almost immediately, with very little time delay.
[0570] The system of this invention is a customer management system that uses a monitoring device, smart glasses, a server, generative artificial intelligence, and a user interface. The monitoring device is installed at the entrance and exit of the store and collects video images 24 hours a day. The video data is analyzed in real time to detect people's movements and identify the timing of entry and exit.
[0571] Data collection and analysis
[0572] The server receives the video data sent from the surveillance device and detects human movements through an analysis module by tracking people in the video and recording the timing of their entry and exit.
[0573] Data transmission and storage
[0574] The server structures the parsed data and stores it in a database in an appropriate format (e.g., JSON format). The database records event information (timestamp, number of customers entering, number of customers leaving, etc.).
[0575] Data aggregation
[0576] The server periodically aggregates the stored data. For example, it calculates the number of customers entering and leaving the store and peak times on a daily, weekly, or monthly basis. This aggregated data is stored in a temporary storage area in a format that is easy for users to use.
[0577] Text Generation and Query Response
[0578] The server retrieves appropriate information from a database in response to a user query. Generative AI is used to generate natural language text corresponding to the query. For example, if a user enters the query "How many people visited the store yesterday?", the server generates the text "150 people visited the store yesterday" as a response.
[0579] Voice query using smart glasses
[0580] The user wears the smart glasses and makes a query through voice input. The smart glasses send the voice data to the server, which immediately analyzes it and replies as text. The information in the database is retrieved in real time and displayed on the glasses' display.
[0581] Specific examples
[0582] 1. Example 1: If the store is busy at 3 PM, the store clerk makes a voice query to the smart glasses saying, "What is the current number of customers in the store?" The smart glasses will pull the data from the server and display, "The current number of customers is 78."
[0583] 2. Example 2: During peak lunch hours, the store manager can ask the smart glasses, "How many customers came in this morning?" and the glasses will display, "The number of customers in this morning is 120." This information will enable the store manager to quickly prepare for lunchtime.
[0584] Prompt Sentence Examples
[0585] Please tell me how many people came into the store yesterday.
[0586] "What is the current number of customers?"
[0587] "How many people came in this morning?"
[0588] In this way, the system of the present invention realizes real-time customer management through smart glasses, contributing to the efficiency of store operations. In addition, by using generative AI, users can quickly obtain the information they need.
[0589] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0590] Step 1:
[0591] Data collection
[0592] The terminal (monitoring device) collects video of the target area. This collected video data is sent to the processing device in real time. The input here is the video data captured by the monitoring device, and the output is the raw video data sent to the processing device.
[0593] Step 2:
[0594] Data analysis
[0595] The server analyzes the received video data to detect human movements. The video analysis module detects people in the video data and tracks their movements. The input is the video data, and the analysis identifies people's movements and the timing of their entry and exit, generating detected event data (e.g., entry and exit information with time stamps) as output.
[0596] Step 3:
[0597] Data transmission
[0598] The server structures the parsed event data and saves it in a database. The input here is the parsed event data, which is structured in JSON format or similar and saved in a database as output.
[0599] Step 4:
[0600] Database Update
[0601] The server updates the database with the collected and analyzed data in real time. Every time a new event occurs, the record in the database is updated. The input is the newly acquired event data, and the output is an updated database containing the latest data.
[0602] Step 5:
[0603] Data aggregation
[0604] The server aggregates the stored data for specific periods such as daily, weekly, or monthly, creating aggregated data. The input is the event data in the database, and the output is hourly, daily, or monthly aggregated data.
[0605] Step 6:
[0606] Text Generation
[0607] The server uses generative artificial intelligence to generate natural language text from the aggregated data. The input is the aggregated data, and the output is the generated natural language text. An appropriate response is generated based on the prompt.
[0608] Step 7:
[0609] Query Response and Display
[0610] A user wears smart glasses and inputs a voice query. The smart glasses transmit the voice data to a server, which then retrieves the corresponding aggregated data and generates natural language text using generative artificial intelligence, which then displays it on the smart glasses' display. The input is the user's voice query, and the final output is the text information displayed on the smart glasses.
[0611] Through the above steps, real-time customer management through smart glasses is realized.
[0612] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0613] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[0614] Data collection
[0615] Terminals (monitoring devices) are installed at the entrances and exits of the store and collect video footage 24 hours a day.
[0616] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[0617] Video Analysis
[0618] The device analyzes the collected video data in real time and detects human movement.
[0619] A video analysis module detects people in the video data and tracks their movements.
[0620] The number of people detected and the timing of their entry and exit are recorded.
[0621] Data transmission
[0622] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0623] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0624] Data storage
[0625] The server stores the received data in a database.
[0626] The database records information about each event along with a timestamp.
[0627] Data aggregation
[0628] The server periodically aggregates the stored data.
[0629] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[0630] The collected data is stored in a temporary storage area in an easily accessible format.
[0631] User query processing
[0632] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0633] Text Generation and Response
[0634] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0635] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[0636] Introducing the Emotion Engine
[0637] The server uses an emotion engine to recognize emotions from the user's input and actions.
[0638] The emotion engine analyzes user input and interaction patterns to infer emotions.
[0639] The recognized emotion data is stored in a database and used for analysis.
[0640] Adaptive text generation
[0641] The server adaptively changes the content of the generated text based on the recognized emotion.
[0642] For example, if a user is feeling stressed, a supportive comment such as "Please relax and wait. 150 people visited the store yesterday" is added.
[0643] User Interface
[0644] A user accesses the system via a web application or dedicated software and enters the required query.
[0645] Users can check data analysis results and aggregated information in real time.
[0646] Users can also experience adaptive responses based on their emotional state.
[0647] Specific examples
[0648] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0649] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0650] Example 3: When a user submits a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server generates emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[0651] This system helps users collect, analyze, and aggregate data in real time, helping them efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[0652] The processing flow will be explained below.
[0653] Step 1:
[0654] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[0655] Step 2:
[0656] The device analyzes the collected video data in real time. The video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store. For example, it tracks a person's movement trajectory and records the moment they pass through a specific zone.
[0657] Step 3:
[0658] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0659] Step 4:
[0660] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0661] Step 5:
[0662] The server stores the received data in a database. The database records information about each event along with a timestamp. For example, a record such as "3 people entered the store at 09:00:00 on October 1, 2023" is stored.
[0663] Step 6:
[0664] The server periodically executes batch processing to aggregate data. The aggregation is performed daily, weekly, monthly, etc., and the results are stored in a temporary storage area. For example, data on the number of customers entering the store on that day and peak hours is aggregated.
[0665] Step 7:
[0666] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0667] Step 8:
[0668] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0669] Step 9:
[0670] The server uses generative artificial intelligence to generate text in natural language based on the acquired data, for example, "150 people visited the store yesterday."
[0671] Step 10:
[0672] The server uses an emotion engine to recognize emotions from the user's input and actions. For example, if the user is feeling anxious, the server will detect this emotion and record it as "anxiety."
[0673] Step 11:
[0674] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling impatient, it adds a supportive comment such as "Please relax and wait. 150 people visited the store yesterday."
[0675] Step 12:
[0676] Users access the system via a web application or dedicated software, input the required queries, and can view the responses from the system and view data analysis results and aggregated information in real time.
[0677] Step 13:
[0678] The information acquired by the user can be used to improve and optimize store operations. For example, it can be used to adjust inventory management and labor costs. Furthermore, adaptive information provision based on the user's emotional state can provide a better user experience.
[0679] Example 2
[0680] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0681] Conventional systems have difficulty efficiently analyzing video data collected by surveillance equipment, identifying and storing the timing of entrances and exits in a database, and providing appropriate responses to user queries. Furthermore, they lack the ability to adaptively change the generated text according to the user's emotional state, which prevents them from sufficiently increasing user satisfaction.
[0682] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0683] In this invention, the server includes: means for structuring the analysis data and formatting it into a data format including, for example, a timestamp, the number of people, and the type of event; means for transmitting the structured data to the server using a secure communication means; means for storing the received data in a database; means for periodically aggregating the stored data; means for receiving queries from users and retrieving data corresponding to the queries from the database; means for generating text in natural language using a generative AI model based on the retrieved data; means for adaptively modifying the generated text in accordance with the user's emotional state; and means for responding to the user with the modified text. This enables efficient analysis of video data and accurate identification of entrances and exits, and also enables adaptive responses in accordance with the user's emotional state, thereby improving user satisfaction and providing a better experience.
[0684] A "monitoring device" is a hardware device that collects video of an area of interest.
[0685] "Video data" refers to video information of a target area collected by a monitoring device.
[0686] "Analysis means" refers to software or hardware that analyzes collected video data, detects human movement, and identifies the timing of entry and exit.
[0687] "Structured data" refers to analyzed data that has been organized into formats such as timestamps, number of people, and type of event.
[0688] "Communication means" refers to the secure communication protocols and technologies used to transmit the analysis data to the server.
[0689] A "database" is a data storage system for storing and managing received data.
[0690] "Aggregation means" refers to software or hardware that periodically aggregates stored data and generates information such as the number of people entering and exiting the facility and peak hours.
[0691] "Query" means an inquiry or request from a user.
[0692] A "generative AI model" is an artificial intelligence model that generates text in natural language based on data.
[0693] "Emotional state" refers to the emotional state inferred from the user's input and actions.
[0694] An "adaptive modification means" is software or hardware that modifies the content of the generated text based on the recognized sentiment.
[0695] "Response means" refers to an interface or method for responding to the user with the generated text.
[0696] The system of the present invention analyzes video data collected by surveillance equipment, identifies the timing of entry and exit, and stores and aggregates this data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[0697] Data collection
[0698] The terminal collects video images 24 hours a day using a surveillance device. Specifically, a surveillance camera (e.g., "surveillance camera A") is used to acquire high-resolution, high-frame-rate video data, which is then transmitted to the processing device in real time. For example, the camera captures video images at 30 frames per second, providing constantly new data.
[0699] Video Analysis
[0700] The device analyzes the collected video data to detect human movements. Using a video analysis module (e.g., "Image Analysis Software B"), it analyzes the video data frame by frame, detects people, and tracks their movements. For example, it uses background subtraction to extract human silhouettes and uses a tracking algorithm to identify when people enter or exit the venue.
[0701] Data transmission
[0702] The device structures the analysis data and generates JSON format data that includes, for example, a timestamp, the number of people, and the type of event (entry or exit).The structured data is then sent to the server using a secure communication method such as HTTPS, which ensures data security and integrity.
[0703] Data storage
[0704] The server stores the received data in a database (e.g., "Database System C"). For example, it parses the received JSON data and inserts it into the corresponding table to store it. This allows event information to be managed efficiently.
[0705] Data aggregation
[0706] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), it aggregates the number of customers entering and leaving the store, as well as peak hours, for periods such as daily, weekly, or monthly. This makes it easy for users to obtain statistical information of interest.
[0707] User query processing
[0708] The server receives queries from users. For example, when a user sends a query through a web application such as "How many customers came into the store yesterday?", the query reaches the server. In this case, the server receives the query using a REST API.
[0709] Text Generation and Response
[0710] The server searches the database to retrieve data corresponding to the query. Based on the retrieved data, it uses generative artificial intelligence (e.g., "Generative AI Model E") to generate text in natural language. For example, the generated text might read, "150 people visited the store yesterday."
[0711] Introducing the Emotion Engine
[0712] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from user input and behavior. When a user sends a query, the server analyzes the input data and estimates the user's emotional state.
[0713] Adaptive text generation
[0714] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server uses generative AI to add a supportive comment such as, "Please relax and wait. 150 people visited the store yesterday."
[0715] Specific examples
[0716] Example 1
[0717] If a device collects video of three people entering a restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today."
[0718] Example 2
[0719] If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 p.m. to 2:00 p.m., and 350 people visited the store," and provides this to the user.
[0720] Example 3
[0721] When a user sends a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server uses generative AI to generate emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[0722] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[0723] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0724] Step 1: Data collection
[0725] The terminal uses a surveillance device to collect video images 24 hours a day. Specifically, a surveillance camera (e.g., "surveillance camera A") captures high-resolution video images at 30 frames per second and transmits the data to a processing device in real time.
[0726] Input: Video signal from a surveillance camera
[0727] Output: Real-time video data
[0728] Step 2: Video analysis
[0729] The device analyzes the collected video data. A video analysis module (e.g., "Image Analysis Software B") uses background subtraction to detect people and tracks their movements using a tracking algorithm.
[0730] Input: Real-time video data
[0731] Output: Analysis data corresponding to human movements
[0732] Step 3: Send data
[0733] The device structures the analysis data in JSON format and sends it to the server using HTTPS. For example, data in the format "{'timestamp': '2023-10-01T09:00:00Z', 'person_count': 3, 'event_type': 'entry'}" is generated and sent.
[0734] Input: Analysis data
[0735] Output: Structured JSON data
[0736] Step 4: Save Data
[0737] The server parses the received JSON data and stores it in a database (e.g., "Database System C"). Specifically, it inserts new event information into the corresponding table each time.
[0738] Input: Structured JSON data
[0739] Output: Event data stored in a database
[0740] Step 5: Data aggregation
[0741] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), statistical data on the number of customers entering and leaving the store, as well as peak hours, is generated daily, weekly, and monthly.
[0742] Input: Event data stored in the database
[0743] Output: Aggregated statistics
[0744] Step 6: User query processing
[0745] The server receives a query from the user. The user sends a query such as "How many customers came into the store yesterday?" through a web application. The server receives this query through a REST API.
[0746] Input: User query
[0747] Output: Query content
[0748] Step 7: Database Search
[0749] The server searches the database to retrieve data corresponding to the query. For example, if the query is for "the number of customers entering the store yesterday," the server extracts the number of customers entering the store on the corresponding date from the database.
[0750] Input: Query content
[0751] Output: Data corresponding to the query
[0752] Step 8: Text Generation and Response
[0753] Based on the data acquired by the server, a generative AI (e.g., "Generative AI Model E") is used to generate natural language text. For example, the server generates text such as "150 people visited the store yesterday." It then responds to the user.
[0754] Input: The data corresponding to the query
[0755] Output: The generated text
[0756] Step 9: Implementing the Emotion Engine
[0757] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from the user's input and actions. For example, if the user is impatient, the emotion engine will detect that emotion.
[0758] Input: User input data, behavioral data
[0759] Output: Recognized emotion data
[0760] Step 10: Adaptive text generation
[0761] The server adaptively modifies the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server adds a supportive comment such as "Please relax and wait. 150 customers visited the store yesterday."
[0762] Input: Recognized emotion data, generated text
[0763] Output: Adaptively modified text
[0764] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[0765] (Application example 2)
[0766] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0767] Conventional customer behavior analysis systems for brick-and-mortar stores are required not only to collect and analyze customer entry and exit data, but also to provide adaptive information that takes into account customer emotions. Specifically, a system that can appropriately recognize customer emotions and change responses based on them is required. It is also important to improve usability so that users can easily collect data in real time and receive responses in natural language to their queries.
[0768] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0769] In this invention, the server includes: a monitoring device that collects video of a target area; a system that analyzes the collected video data to detect human movement and identify the timing of entry and exit; a system that stores and aggregates the detected data in a database; a generative artificial intelligence that generates text in natural language from information in the database; a system that responds with the generated text in response to a query from a user; and a system that uses an emotion engine that recognizes the user's emotions and adaptively changes the content of the generated text. This enables flexible and adaptive information provision according to the customer's emotions.
[0770] A "surveillance device" is a device for collecting video of an area of interest.
[0771] "Video Data" refers to visual information collected by surveillance equipment.
[0772] "Analysis" is the process of evaluating and analyzing collected video data to detect human movement and identify the timing of entry and exit.
[0773] A "database" is a system for storing detected data and compiling necessary information.
[0774] "Generative AI" is an AI technology that can generate text in natural language from information in a database.
[0775] A "query" refers to a question or request sent by a user to the system.
[0776] An "emotion engine" is a technology that recognizes a user's emotions and adaptively changes the content of the generated text based on those emotions.
[0777] To implement this invention, a monitoring device is first installed in the target area (e.g., the entrance and exit of a store). The monitoring device collects video images 24 hours a day and transmits them to a processing device in real time. The video data is acquired at an appropriate resolution and frame rate.
[0778] Data collection and analysis
[0779] The device receives video data from the surveillance cameras and analyzes it in real time. A video analysis module (e.g., OpenCV or YOLO models) is used to detect people's movements and identify when they enter or exit the store. The analysis results are structured as timestamps, the number of people, and the type of event (entering or exiting the store).
[0780] Data transmission and storage
[0781] The structured data generated by the device is sent to the server in JSON format. The communication protocol, for example, HTTPS, is used to ensure secure data transfer. The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[0782] Data aggregation and user query processing
[0783] The server periodically aggregates the stored data, tallying the number of people entering and leaving the store, and peak times for each period, such as daily, weekly, or monthly. The aggregated data is stored in a temporary storage area. When a user makes a query, the server searches the database and retrieves the data corresponding to the query. For example, in response to the query "How many people entered the store yesterday?" the server generates the text "150 people entered the store yesterday."
[0784] Generative AI and Emotion Engines
[0785] Generative AI is implemented in programming languages such as Python and generates text in natural language from information in a database based on user queries. In addition, it uses an emotion engine to analyze user input and interaction patterns and recognize emotions. The recognized emotion data is stored in a database and the content of the generated text is adaptively changed based on the user's emotions.
[0786] Specific examples
[0787] For example, data showing three people entering a store at the same time at 9:00 AM is collected and analyzed based on footage from a surveillance camera. This data is structured as "3 people entered the store at 9:00 AM," sent to the server, and stored. Furthermore, if a user sends a query such as "How many people entered the store today?", the generative AI generates the text "150 people entered the store today." If the emotion engine recognizes the user's impatience, it adaptively changes the content to something like "Please relax and wait. 150 people entered the store today."
[0788] Prompt Sentence Examples
[0789] Please tell me how many people came to the store yesterday.
[0790] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0791] Step 1:
[0792] The device collects video data from a surveillance camera. The input is a real-time video stream from the surveillance camera, and the output is frame data. The device acquires this frame data at an appropriate resolution and frame rate. Specifically, the device uses the OpenCV library to capture the video stream.
[0793] Step 2:
[0794] The device analyzes the collected video data and detects human movements. The input is the frame data obtained in step 1, and the output is the coordinate information and timestamp of the detected person. Specifically, it uses a video analysis module (e.g., the YOLO model) to detect people in the frame and record their coordinates.
[0795] Step 3:
[0796] The device structures the detected data and formats it as an entry / exit event. The input is the person's coordinate information and timestamp obtained in step 2, and the output is structured JSON-formatted event data. Specifically, it determines the type of event (entering or leaving the store) and generates JSON data specifying the timestamp, number of people, and type of event.
[0797] Step 4:
[0798] The terminal sends structured data to the server. The input is the JSON-formatted event data generated in step 3, and the output is a status code indicating that the data was successfully sent to the server. Specifically, the requests library is used to send the data to the server using the HTTPS protocol.
[0799] Step 5:
[0800] The server stores the received data in a database. The input is the JSON-formatted event data sent in step 4, and the output is the event record stored in the database. Specifically, the server creates a new record in the database and records the timestamp, number of people, and type of event.
[0801] Step 6:
[0802] The server periodically aggregates the stored data. The input is the event records stored in the database, and the output is the aggregation results (e.g., daily, weekly, and monthly number of customers entering and leaving the store, and peak hours). Specifically, the server executes a query to aggregate events within a specified period and stores the results in a temporary storage area.
[0803] Step 7:
[0804] The user sends a query, and the server responds. The input is the user's query (e.g., "How many people came into the store yesterday?"), and the output is a natural language text response from the generative AI. Specifically, the server searches the database, retrieves the necessary information, and provides it to the generative AI, which then generates the text "150 people came into the store yesterday."
[0805] Step 8:
[0806] The server uses an emotion engine to recognize the user's emotions and adaptively change the response content. The input is the user's query and interaction data, and the output is a natural language text response that takes emotion into consideration. Specifically, the emotion engine analyzes the user's input and interaction patterns and changes the text based on the recognized emotion. For example, if the user is impatient, it generates a response such as, "Please relax and wait. 150 people visited the store yesterday."
[0807] Example prompt sentence:
[0808] Please tell me how many people came to the store yesterday.
[0809] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0810] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0811] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0812] [Third embodiment]
[0813] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0814] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0815] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0816] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0817] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0818] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0819] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0820] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0821] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0822] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0823] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0824] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0825] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate text in natural language from the information in the database and provide appropriate responses to user queries.
[0826] Data collection
[0827] 1. Terminals (monitoring devices) are installed at the entrance and exit of the store and collect video footage 24 hours a day.
[0828] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[0829] Video Analysis
[0830] 2. The device analyzes the video data in real time and detects human movement.
[0831] A video analysis module detects people in the video data and tracks their movements.
[0832] The number of people detected and the timing of their entry and exit are recorded.
[0833] Data transmission
[0834] 3. The device structures the analyzed data and sends it to the server.
[0835] Send event information (timestamp, number of people, etc.) about entry and exit as structured data (e.g., JSON format).
[0836] Data storage
[0837] 4. The server stores the transmitted data in a database.
[0838] Each event is stored as a new record in the database.
[0839] Data aggregation
[0840] 5. The server periodically aggregates the stored data.
[0841] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[0842] The collected data is stored in a temporary storage area in an easily accessible format.
[0843] Text Generation and Response
[0844] 6. In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence.
[0845] When a user enters a query such as "How many people entered the store yesterday?", the server retrieves the relevant data and generates the text "150 people entered the store yesterday."
[0846] User Interface
[0847] 7. The user accesses the system via a web application or dedicated software and enters the required query.
[0848] Users can check data analysis results and aggregated information in real time.
[0849] Specific examples
[0850] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0851] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0852] This system helps users collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It can be a particularly powerful tool for restaurants and other businesses to contribute to proper inventory management and labor cost reduction.
[0853] The processing flow will be explained below.
[0854] Step 1:
[0855] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[0856] Step 2:
[0857] The device analyzes the collected video data in real time, and the video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store.
[0858] Step 3:
[0859] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[0860] Step 4:
[0861] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[0862] Step 5:
[0863] The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[0864] Step 6:
[0865] The server periodically executes a batch process to aggregate data. The aggregation is performed on a daily, weekly, monthly, or other basis, and the results are stored in a temporary storage area.
[0866] Step 7:
[0867] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[0868] Step 8:
[0869] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[0870] Step 9:
[0871] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[0872] Step 10:
[0873] The user checks the generated text and receives a response from the system via a web application or dedicated software.
[0874] Step 11:
[0875] The information acquired by the user can be used to improve and optimize store operations, for example, to help with inventory management and labor cost adjustments.
[0876] Example 1
[0877] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0878] The present invention improves upon conventional technology that uses surveillance equipment to collect video data of a target area, then comprehensively analyzes, aggregates, and stores the data in a database. In particular, the present invention aims to provide a system that can accurately identify entry and exit timing and respond to user queries using appropriate natural language generation. Conventional systems suffer from insufficient real-time analysis accuracy and data aggregation efficiency, leading to processing delays, especially when handling large amounts of data. Furthermore, they lack an easy-to-use interface when users want to obtain data based on specific conditions.
[0879] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0880] In this invention, the server includes means for using a monitoring device to collect video data, means for analyzing the collected video data to detect human movements and identify the timing of entry and exit, means for structuring the analyzed data and transmitting it to the server, means for the server to store the transmitted data in a database, means for periodically aggregating the stored data, means for a generative artificial intelligence to generate text in natural language from information in the database, and means for responding with the generated text in response to a query from a user. This enables highly accurate and real-time entry and exit management and makes it easier for users to obtain data efficiently.
[0881] "Video data" refers to digital data containing visual information collected by a surveillance device.
[0882] "Surveillance equipment" is a general term for cameras and related hardware installed to collect video data of a specific area on a 24-hour basis.
[0883] "Human movement detection" is the process of analyzing and identifying the presence and movement of people within collected video data.
[0884] "Entry and exit timing identification" is the process of analyzing and identifying the moment a person enters or leaves a particular area.
[0885] "Structured data" refers to the conversion of parsed data into a certain format (e.g., JSON format).
[0886] "Server" is a general term for a computer system that processes, stores, and aggregates received data, and also generates natural language text using generative artificial intelligence.
[0887] "Database" means a structured data storage used to store, and optionally retrieve and aggregate, the analyzed and transmitted data.
[0888] "Aggregation" is the process of statistically summarizing stored data over a period of time.
[0889] "Generative artificial intelligence" is a type of AI technology used to generate natural language text from information in a database.
[0890] A "user query" refers to a question or data request posed by a user to the system.
[0891] "Natural language text generation" is the process of using generative artificial intelligence to convert machine-understandable data into natural language sentences that are easy for humans to understand.
[0892] The present invention is a system that uses a monitoring device to collect video data, analyzes, aggregates, and stores the data in a database, thereby providing information in response to user queries. Specific embodiments of this system are described below.
[0893] Data collection
[0894] The terminals (monitoring devices) are installed at the entrances and exits of stores and collect video data 24 hours a day. This monitoring device includes cameras and related hardware for capturing video at high resolution (e.g., 1080p) and high frame rates (e.g., 30 fps). Most commonly, IP cameras and microcontrollers are used.
[0895] Video Analysis
[0896] The device processes video data received from the camera in real time. This is done using OpenCV and TensorFlow libraries to perform video analysis. Specifically, it detects people's movements and identifies when they enter and exit the building. The commonly used person detection algorithm is YOLO.
[0897] Data transmission
[0898] The device converts the parsed data into structured data in JSON format and sends it to the server via HTTP / HTTPS. The structured data includes information such as a timestamp and the number of people detected.
[0899] Data storage
[0900] The server receives the JSON data sent from the device and stores it in a database (e.g., MySQL, PostgreSQL). The received data is parsed and inserted into the database as a new record.
[0901] Data aggregation
[0902] The server aggregates the data at regular intervals (e.g. daily, weekly, monthly). This aggregation process is performed using Cron jobs or SQL queries. The aggregated data is stored in a temporary storage area in a format that is easy to use (e.g. CSV, Excel).
[0903] Text Generation and Response
[0904] In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence (e.g., OpenAI's GPT-3). For example, if a user enters the query "How many people came into the store yesterday?", the server retrieves the relevant data and generates the text "150 people came into the store yesterday."
[0905] User Interface
[0906] Users access the system through a web application or dedicated software (e.g., a React-based web app) and input the required queries, allowing them to view data analysis results and aggregated information in real time.
[0907] Specific examples
[0908] Example 1: If a device at a restaurant collects video of three people entering the restaurant at the same time at 9:00 AM, the device analyzes this video in real time. The video analysis module detects the three people, generates structured data in JSON format stating "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[0909] Sample prompt: "If your device collects footage of three people entering a store at the same time at 9:00 AM, how would you process that information?"
[0910] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[0911] Example prompt: "If you wanted to know the number of visitors per week, how would you process the data and provide the information to the user?"
[0912] In this way, this system allows users to collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It is a particularly powerful tool for restaurants and other businesses, contributing to appropriate inventory management and labor cost reduction.
[0913] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0914] Step 1:
[0915] The terminals are installed at the entrances and exits of the store and are used as monitoring devices to collect video data.
[0916] Input: Real-time video data captured by surveillance equipment.
[0917] Specific operation: The device collects high-resolution (e.g., 1080p) video at 30 fps. The hardware used is an IP camera and a microcontroller.
[0918] Output: Collected live video stream.
[0919] Step 2:
[0920] The device analyzes the video data received from the camera in real time.
[0921] Input: Collected live video stream.
[0922] How it works: The device uses libraries such as OpenCV and TensorFlow to analyze the movements of people in the video, and uses person detection algorithms such as YOLO to detect people in each frame and track their movements.
[0923] Output: Analysis data such as entry and exit timing and number of people.
[0924] Step 3:
[0925] The terminal converts the parsed data into structured data in JSON format and sends it to the server.
[0926] Input: Analysis data such as entry and exit timing and number of people.
[0927] What it does: The terminal uses the JSON library in Python to convert the parsed data into JSON format, which is then prepared to be sent to the server via the HTTP / HTTPS protocol.
[0928] Output: Structured data in JSON format.
[0929] Step 4:
[0930] The server receives the JSON data and stores it in the database.
[0931] Input: Structured data in JSON format sent from the device.
[0932] What happens: The server parses the JSON data and saves it as a new record in a database (e.g. MySQL, PostgreSQL).
[0933] Output: Records stored in the database.
[0934] Step 5:
[0935] The server aggregates the stored data at regular intervals.
[0936] Input: Records stored in the database.
[0937] What it does: The server uses Cron jobs to aggregate data daily, weekly, and monthly. The aggregated results are calculated using SQL queries and stored in a temporary storage area in a format that is easy to use (e.g., CSV, Excel).
[0938] Output: Aggregated data.
[0939] Step 6:
[0940] The server retrieves appropriate information from a database in response to a user query and generates a natural language explanation using generative artificial intelligence.
[0941] Input: A query from the user.
[0942] What it does: The server analyzes the query, retrieves the relevant data from the database, and uses a generative AI (e.g., OpenAI's GPT-3) to generate the appropriate text.
[0943] Output: Natural language text response.
[0944] Step 7:
[0945] A user accesses the system via a web application or dedicated software and enters a query.
[0946] Input: The user's query.
[0947] How it works: Users log in to the system using a web browser or a dedicated application, enter queries, and the results are displayed in real time. It uses front-end technologies such as QT and React.
[0948] Output: The response from the system to the query.
[0949] (Application example 1)
[0950] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0951] With conventional surveillance systems, it was difficult to collect customer entry and exit data in real time at stores and other locations and check it immediately. It was also difficult for managers to quickly obtain the necessary information, which sometimes meant the data could not be used efficiently. Furthermore, the system lacked the ability to classify data by time of day or day of the week, making it difficult to grasp customer trends during specific time periods.
[0952] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0953] In this invention, the server includes: a monitoring device for collecting video of a target area; a means for analyzing the collected video data to detect human movement and identify the timing of entry and exit; a means for storing and aggregating the detected data in a database; a generative artificial intelligence for generating text in natural language from information in the database; a means for responding with the generated text in response to a user's query; and a means for using smart glasses to retrieve and display information in the database in real time in response to the user's voice query. This allows managers to check customer entry and exit data in real time through the smart glasses, thereby improving the efficiency of store operations. Furthermore, by freely classifying the aggregated data, customer trends during specific time periods can be accurately grasped.
[0954] A "surveillance device" is a device installed to collect video of an area of interest.
[0955] "Video data" means visual information collected by surveillance equipment.
[0956] "Analysis" is the process of detecting human movements and recognizing specific events based on collected video data.
[0957] "Entry / exit timing" refers to the time when a person enters or exits an area, and includes time information.
[0958] A "database" is a collection of information that stores collected and analyzed data and makes it easy to search and retrieve.
[0959] "Aggregation" is the process of compiling data based on specific periods or conditions.
[0960] "Generative AI" refers to an AI system that automatically generates text in natural language based on data.
[0961] A "query" is a request made by a user to a system to obtain information.
[0962] "Smart glasses" are wearable devices that users can wear to display information and input voice data.
[0963] "Real-time" refers to a situation where data is collected, processed, and displayed almost immediately, with very little time delay.
[0964] The system of this invention is a customer management system that uses a monitoring device, smart glasses, a server, generative artificial intelligence, and a user interface. The monitoring device is installed at the entrance and exit of the store and collects video images 24 hours a day. The video data is analyzed in real time to detect people's movements and identify the timing of entry and exit.
[0965] Data collection and analysis
[0966] The server receives the video data sent from the surveillance device and detects human movements through an analysis module by tracking people in the video and recording the timing of their entry and exit.
[0967] Data transmission and storage
[0968] The server structures the parsed data and stores it in a database in an appropriate format (e.g., JSON format). The database records event information (timestamp, number of customers entering, number of customers leaving, etc.).
[0969] Data aggregation
[0970] The server periodically aggregates the stored data. For example, it calculates the number of customers entering and leaving the store and peak times on a daily, weekly, or monthly basis. This aggregated data is stored in a temporary storage area in a format that is easy for users to use.
[0971] Text Generation and Query Response
[0972] The server retrieves appropriate information from a database in response to a user query. Generative AI is used to generate natural language text corresponding to the query. For example, if a user enters the query "How many people visited the store yesterday?", the server generates the text "150 people visited the store yesterday" as a response.
[0973] Voice query using smart glasses
[0974] The user wears the smart glasses and makes a query through voice input. The smart glasses send the voice data to the server, which immediately analyzes it and replies as text. The information in the database is retrieved in real time and displayed on the glasses' display.
[0975] Specific examples
[0976] 1. Example 1: If the store is busy at 3 PM, the store clerk makes a voice query to the smart glasses saying, "What is the current number of customers in the store?" The smart glasses will pull the data from the server and display, "The current number of customers is 78."
[0977] 2. Example 2: During peak lunch hours, the store manager can ask the smart glasses, "How many customers came in this morning?" and the glasses will display, "The number of customers in this morning is 120." This information will enable the store manager to quickly prepare for lunchtime.
[0978] Prompt Sentence Examples
[0979] Please tell me how many people came into the store yesterday.
[0980] "What is the current number of customers?"
[0981] "How many people came in this morning?"
[0982] In this way, the system of the present invention realizes real-time customer management through smart glasses, contributing to the efficiency of store operations. In addition, by using generative AI, users can quickly obtain the information they need.
[0983] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0984] Step 1:
[0985] Data collection
[0986] The terminal (monitoring device) collects video of the target area. This collected video data is sent to the processing device in real time. The input here is the video data captured by the monitoring device, and the output is the raw video data sent to the processing device.
[0987] Step 2:
[0988] Data analysis
[0989] The server analyzes the received video data to detect human movements. The video analysis module detects people in the video data and tracks their movements. The input is the video data, and the analysis identifies people's movements and the timing of their entry and exit, generating detected event data (e.g., entry and exit information with time stamps) as output.
[0990] Step 3:
[0991] Data transmission
[0992] The server structures the parsed event data and saves it in a database. The input here is the parsed event data, which is structured in JSON format or similar and saved in a database as output.
[0993] Step 4:
[0994] Database Update
[0995] The server updates the database with the collected and analyzed data in real time. Every time a new event occurs, the record in the database is updated. The input is the newly acquired event data, and the output is an updated database containing the latest data.
[0996] Step 5:
[0997] Data aggregation
[0998] The server aggregates the stored data for specific periods such as daily, weekly, or monthly, creating aggregated data. The input is the event data in the database, and the output is hourly, daily, or monthly aggregated data.
[0999] Step 6:
[1000] Text Generation
[1001] The server uses generative artificial intelligence to generate natural language text from the aggregated data. The input is the aggregated data, and the output is the generated natural language text. An appropriate response is generated based on the prompt.
[1002] Step 7:
[1003] Query Response and Display
[1004] A user wears smart glasses and inputs a voice query. The smart glasses transmit the voice data to a server, which then retrieves the corresponding aggregated data and generates natural language text using generative artificial intelligence, which then displays it on the smart glasses' display. The input is the user's voice query, and the final output is the text information displayed on the smart glasses.
[1005] Through the above steps, real-time customer management through smart glasses is realized.
[1006] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1007] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[1008] Data collection
[1009] Terminals (monitoring devices) are installed at the entrances and exits of the store and collect video footage 24 hours a day.
[1010] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[1011] Video Analysis
[1012] The device analyzes the collected video data in real time and detects human movement.
[1013] A video analysis module detects people in the video data and tracks their movements.
[1014] The number of people detected and the timing of their entry and exit are recorded.
[1015] Data transmission
[1016] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[1017] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[1018] Data storage
[1019] The server stores the received data in a database.
[1020] The database records information about each event along with a timestamp.
[1021] Data aggregation
[1022] The server periodically aggregates the stored data.
[1023] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[1024] The collected data is stored in a temporary storage area in an easily accessible format.
[1025] User query processing
[1026] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[1027] Text Generation and Response
[1028] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[1029] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[1030] Introducing the Emotion Engine
[1031] The server uses an emotion engine to recognize emotions from the user's input and actions.
[1032] The emotion engine analyzes user input and interaction patterns to infer emotions.
[1033] The recognized emotion data is stored in a database and used for analysis.
[1034] Adaptive text generation
[1035] The server adaptively changes the content of the generated text based on the recognized emotion.
[1036] For example, if a user is feeling stressed, a supportive comment such as "Please relax and wait. 150 people visited the store yesterday" is added.
[1037] User Interface
[1038] A user accesses the system via a web application or dedicated software and enters the required query.
[1039] Users can check data analysis results and aggregated information in real time.
[1040] Users can also experience adaptive responses based on their emotional state.
[1041] Specific examples
[1042] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[1043] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[1044] Example 3: When a user submits a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server generates emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[1045] This system helps users collect, analyze, and aggregate data in real time, helping them efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[1046] The processing flow will be explained below.
[1047] Step 1:
[1048] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[1049] Step 2:
[1050] The device analyzes the collected video data in real time. The video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store. For example, it tracks a person's movement trajectory and records the moment they pass through a specific zone.
[1051] Step 3:
[1052] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[1053] Step 4:
[1054] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[1055] Step 5:
[1056] The server stores the received data in a database. The database records information about each event along with a timestamp. For example, a record such as "3 people entered the store at 09:00:00 on October 1, 2023" is stored.
[1057] Step 6:
[1058] The server periodically executes batch processing to aggregate data. The aggregation is performed daily, weekly, monthly, etc., and the results are stored in a temporary storage area. For example, data on the number of customers entering the store on that day and peak hours is aggregated.
[1059] Step 7:
[1060] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[1061] Step 8:
[1062] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[1063] Step 9:
[1064] The server uses generative artificial intelligence to generate text in natural language based on the acquired data, for example, "150 people visited the store yesterday."
[1065] Step 10:
[1066] The server uses an emotion engine to recognize emotions from the user's input and actions. For example, if the user is feeling anxious, the server will detect this emotion and record it as "anxiety."
[1067] Step 11:
[1068] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling impatient, it adds a supportive comment such as "Please relax and wait. 150 people visited the store yesterday."
[1069] Step 12:
[1070] Users access the system via a web application or dedicated software, input the required queries, and can view the responses from the system and view data analysis results and aggregated information in real time.
[1071] Step 13:
[1072] The information acquired by the user can be used to improve and optimize store operations. For example, it can be used to adjust inventory management and labor costs. Furthermore, adaptive information provision based on the user's emotional state can provide a better user experience.
[1073] Example 2
[1074] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1075] Conventional systems have difficulty efficiently analyzing video data collected by surveillance equipment, identifying and storing the timing of entrances and exits in a database, and providing appropriate responses to user queries. Furthermore, they lack the ability to adaptively change the generated text according to the user's emotional state, which prevents them from sufficiently increasing user satisfaction.
[1076] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1077] In this invention, the server includes: means for structuring the analysis data and formatting it into a data format including, for example, a timestamp, the number of people, and the type of event; means for transmitting the structured data to the server using a secure communication means; means for storing the received data in a database; means for periodically aggregating the stored data; means for receiving queries from users and retrieving data corresponding to the queries from the database; means for generating text in natural language using a generative AI model based on the retrieved data; means for adaptively modifying the generated text in accordance with the user's emotional state; and means for responding to the user with the modified text. This enables efficient analysis of video data and accurate identification of entrances and exits, and also enables adaptive responses in accordance with the user's emotional state, thereby improving user satisfaction and providing a better experience.
[1078] A "monitoring device" is a hardware device that collects video of an area of interest.
[1079] "Video data" refers to video information of a target area collected by a monitoring device.
[1080] "Analysis means" refers to software or hardware that analyzes collected video data, detects human movement, and identifies the timing of entry and exit.
[1081] "Structured data" refers to analyzed data that has been organized into formats such as timestamps, number of people, and type of event.
[1082] "Communication means" refers to the secure communication protocols and technologies used to transmit the analysis data to the server.
[1083] A "database" is a data storage system for storing and managing received data.
[1084] "Aggregation means" refers to software or hardware that periodically aggregates stored data and generates information such as the number of people entering and exiting the facility and peak hours.
[1085] "Query" means an inquiry or request from a user.
[1086] A "generative AI model" is an artificial intelligence model that generates text in natural language based on data.
[1087] "Emotional state" refers to the emotional state inferred from the user's input and actions.
[1088] An "adaptive modification means" is software or hardware that modifies the content of the generated text based on the recognized sentiment.
[1089] "Response means" refers to an interface or method for responding to the user with the generated text.
[1090] The system of the present invention analyzes video data collected by surveillance equipment, identifies the timing of entry and exit, and stores and aggregates this data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[1091] Data collection
[1092] The terminal collects video images 24 hours a day using a surveillance device. Specifically, a surveillance camera (e.g., "surveillance camera A") is used to acquire high-resolution, high-frame-rate video data, which is then transmitted to the processing device in real time. For example, the camera captures video images at 30 frames per second, providing constantly new data.
[1093] Video Analysis
[1094] The device analyzes the collected video data to detect human movements. Using a video analysis module (e.g., "Image Analysis Software B"), it analyzes the video data frame by frame, detects people, and tracks their movements. For example, it uses background subtraction to extract human silhouettes and uses a tracking algorithm to identify when people enter or exit the venue.
[1095] Data transmission
[1096] The device structures the analysis data and generates JSON format data that includes, for example, a timestamp, the number of people, and the type of event (entry or exit).The structured data is then sent to the server using a secure communication method such as HTTPS, which ensures data security and integrity.
[1097] Data storage
[1098] The server stores the received data in a database (e.g., "Database System C"). For example, it parses the received JSON data and inserts it into the corresponding table to store it. This allows event information to be managed efficiently.
[1099] Data aggregation
[1100] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), it aggregates the number of customers entering and leaving the store, as well as peak hours, for periods such as daily, weekly, or monthly. This makes it easy for users to obtain statistical information of interest.
[1101] User query processing
[1102] The server receives queries from users. For example, when a user sends a query through a web application such as "How many customers came into the store yesterday?", the query reaches the server. In this case, the server receives the query using a REST API.
[1103] Text Generation and Response
[1104] The server searches the database to retrieve data corresponding to the query. Based on the retrieved data, it uses generative artificial intelligence (e.g., "Generative AI Model E") to generate text in natural language. For example, the generated text might read, "150 people visited the store yesterday."
[1105] Introducing the Emotion Engine
[1106] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from user input and behavior. When a user sends a query, the server analyzes the input data and estimates the user's emotional state.
[1107] Adaptive text generation
[1108] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server uses generative AI to add a supportive comment such as, "Please relax and wait. 150 people visited the store yesterday."
[1109] Specific examples
[1110] Example 1
[1111] If a device collects video of three people entering a restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today."
[1112] Example 2
[1113] If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 p.m. to 2:00 p.m., and 350 people visited the store," and provides this to the user.
[1114] Example 3
[1115] When a user sends a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server uses generative AI to generate emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[1116] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[1117] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1118] Step 1: Data collection
[1119] The terminal uses a surveillance device to collect video images 24 hours a day. Specifically, a surveillance camera (e.g., "surveillance camera A") captures high-resolution video images at 30 frames per second and transmits the data to a processing device in real time.
[1120] Input: Video signal from a surveillance camera
[1121] Output: Real-time video data
[1122] Step 2: Video analysis
[1123] The device analyzes the collected video data. A video analysis module (e.g., "Image Analysis Software B") uses background subtraction to detect people and tracks their movements using a tracking algorithm.
[1124] Input: Real-time video data
[1125] Output: Analysis data corresponding to human movements
[1126] Step 3: Send data
[1127] The device structures the analysis data in JSON format and sends it to the server using HTTPS. For example, data in the format "{'timestamp': '2023-10-01T09:00:00Z', 'person_count': 3, 'event_type': 'entry'}" is generated and sent.
[1128] Input: Analysis data
[1129] Output: Structured JSON data
[1130] Step 4: Save Data
[1131] The server parses the received JSON data and stores it in a database (e.g., "Database System C"). Specifically, it inserts new event information into the corresponding table each time.
[1132] Input: Structured JSON data
[1133] Output: Event data stored in a database
[1134] Step 5: Data aggregation
[1135] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), statistical data on the number of customers entering and leaving the store, as well as peak hours, is generated daily, weekly, and monthly.
[1136] Input: Event data stored in the database
[1137] Output: Aggregated statistics
[1138] Step 6: User query processing
[1139] The server receives a query from the user. The user sends a query such as "How many customers came into the store yesterday?" through a web application. The server receives this query through a REST API.
[1140] Input: User query
[1141] Output: Query content
[1142] Step 7: Database Search
[1143] The server searches the database to retrieve data corresponding to the query. For example, if the query is for "the number of customers entering the store yesterday," the server extracts the number of customers entering the store on the corresponding date from the database.
[1144] Input: Query content
[1145] Output: Data corresponding to the query
[1146] Step 8: Text Generation and Response
[1147] Based on the data acquired by the server, a generative AI (e.g., "Generative AI Model E") is used to generate natural language text. For example, the server generates text such as "150 people visited the store yesterday." It then responds to the user.
[1148] Input: The data corresponding to the query
[1149] Output: The generated text
[1150] Step 9: Implementing the Emotion Engine
[1151] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from the user's input and actions. For example, if the user is impatient, the emotion engine will detect that emotion.
[1152] Input: User input data, behavioral data
[1153] Output: Recognized emotion data
[1154] Step 10: Adaptive text generation
[1155] The server adaptively modifies the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server adds a supportive comment such as "Please relax and wait. 150 customers visited the store yesterday."
[1156] Input: Recognized emotion data, generated text
[1157] Output: Adaptively modified text
[1158] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[1159] (Application example 2)
[1160] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1161] Conventional customer behavior analysis systems for brick-and-mortar stores are required not only to collect and analyze customer entry and exit data, but also to provide adaptive information that takes into account customer emotions. Specifically, a system that can appropriately recognize customer emotions and change responses based on them is required. It is also important to improve usability so that users can easily collect data in real time and receive responses in natural language to their queries.
[1162] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1163] In this invention, the server includes: a monitoring device that collects video of a target area; a system that analyzes the collected video data to detect human movement and identify the timing of entry and exit; a system that stores and aggregates the detected data in a database; a generative artificial intelligence that generates text in natural language from information in the database; a system that responds with the generated text in response to a query from a user; and a system that uses an emotion engine that recognizes the user's emotions and adaptively changes the content of the generated text. This enables flexible and adaptive information provision according to the customer's emotions.
[1164] A "surveillance device" is a device for collecting video of an area of interest.
[1165] "Video Data" refers to visual information collected by surveillance equipment.
[1166] "Analysis" is the process of evaluating and analyzing collected video data to detect human movement and identify the timing of entry and exit.
[1167] A "database" is a system for storing detected data and compiling necessary information.
[1168] "Generative AI" is an AI technology that can generate text in natural language from information in a database.
[1169] A "query" refers to a question or request sent by a user to the system.
[1170] An "emotion engine" is a technology that recognizes a user's emotions and adaptively changes the content of the generated text based on those emotions.
[1171] To implement this invention, a monitoring device is first installed in the target area (e.g., the entrance and exit of a store). The monitoring device collects video images 24 hours a day and transmits them to a processing device in real time. The video data is acquired at an appropriate resolution and frame rate.
[1172] Data collection and analysis
[1173] The device receives video data from the surveillance cameras and analyzes it in real time. A video analysis module (e.g., OpenCV or YOLO models) is used to detect people's movements and identify when they enter or exit the store. The analysis results are structured as timestamps, the number of people, and the type of event (entering or exiting the store).
[1174] Data transmission and storage
[1175] The structured data generated by the device is sent to the server in JSON format. The communication protocol, for example, HTTPS, is used to ensure secure data transfer. The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[1176] Data aggregation and user query processing
[1177] The server periodically aggregates the stored data, tallying the number of people entering and leaving the store, and peak times for each period, such as daily, weekly, or monthly. The aggregated data is stored in a temporary storage area. When a user makes a query, the server searches the database and retrieves the data corresponding to the query. For example, in response to the query "How many people entered the store yesterday?" the server generates the text "150 people entered the store yesterday."
[1178] Generative AI and Emotion Engines
[1179] Generative AI is implemented in programming languages such as Python and generates text in natural language from information in a database based on user queries. In addition, it uses an emotion engine to analyze user input and interaction patterns and recognize emotions. The recognized emotion data is stored in a database and the content of the generated text is adaptively changed based on the user's emotions.
[1180] Specific examples
[1181] For example, data showing three people entering a store at the same time at 9:00 AM is collected and analyzed based on footage from a surveillance camera. This data is structured as "3 people entered the store at 9:00 AM," sent to the server, and stored. Furthermore, if a user sends a query such as "How many people entered the store today?", the generative AI generates the text "150 people entered the store today." If the emotion engine recognizes the user's impatience, it adaptively changes the content to something like "Please relax and wait. 150 people entered the store today."
[1182] Prompt Sentence Examples
[1183] Please tell me how many people came to the store yesterday.
[1184] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1185] Step 1:
[1186] The device collects video data from a surveillance camera. The input is a real-time video stream from the surveillance camera, and the output is frame data. The device acquires this frame data at an appropriate resolution and frame rate. Specifically, the device uses the OpenCV library to capture the video stream.
[1187] Step 2:
[1188] The device analyzes the collected video data and detects human movements. The input is the frame data obtained in step 1, and the output is the coordinate information and timestamp of the detected person. Specifically, it uses a video analysis module (e.g., the YOLO model) to detect people in the frame and record their coordinates.
[1189] Step 3:
[1190] The device structures the detected data and formats it as an entry / exit event. The input is the person's coordinate information and timestamp obtained in step 2, and the output is structured JSON-formatted event data. Specifically, it determines the type of event (entering or leaving the store) and generates JSON data specifying the timestamp, number of people, and type of event.
[1191] Step 4:
[1192] The terminal sends structured data to the server. The input is the JSON-formatted event data generated in step 3, and the output is a status code indicating that the data was successfully sent to the server. Specifically, the requests library is used to send the data to the server using the HTTPS protocol.
[1193] Step 5:
[1194] The server stores the received data in a database. The input is the JSON-formatted event data sent in step 4, and the output is the event record stored in the database. Specifically, the server creates a new record in the database and records the timestamp, number of people, and type of event.
[1195] Step 6:
[1196] The server periodically aggregates the stored data. The input is the event records stored in the database, and the output is the aggregation results (e.g., daily, weekly, and monthly number of customers entering and leaving the store, and peak hours). Specifically, the server executes a query to aggregate events within a specified period and stores the results in a temporary storage area.
[1197] Step 7:
[1198] The user sends a query, and the server responds. The input is the user's query (e.g., "How many people came into the store yesterday?"), and the output is a natural language text response from the generative AI. Specifically, the server searches the database, retrieves the necessary information, and provides it to the generative AI, which then generates the text "150 people came into the store yesterday."
[1199] Step 8:
[1200] The server uses an emotion engine to recognize the user's emotions and adaptively change the response content. The input is the user's query and interaction data, and the output is a natural language text response that takes emotion into consideration. Specifically, the emotion engine analyzes the user's input and interaction patterns and changes the text based on the recognized emotion. For example, if the user is impatient, it generates a response such as, "Please relax and wait. 150 people visited the store yesterday."
[1201] Example prompt sentence:
[1202] Please tell me how many people came to the store yesterday.
[1203] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1204] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1205] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1206] [Fourth embodiment]
[1207] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1208] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1209] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1210] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1211] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1212] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1213] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1214] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1215] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1216] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1217] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1218] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1219] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1220] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate text in natural language from the information in the database and provide appropriate responses to user queries.
[1221] Data collection
[1222] 1. Terminals (monitoring devices) are installed at the entrance and exit of the store and collect video footage 24 hours a day.
[1223] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[1224] Video Analysis
[1225] 2. The device analyzes the video data in real time and detects human movement.
[1226] A video analysis module detects people in the video data and tracks their movements.
[1227] The number of people detected and the timing of their entry and exit are recorded.
[1228] Data transmission
[1229] 3. The device structures the analyzed data and sends it to the server.
[1230] Send event information (timestamp, number of people, etc.) about entry and exit as structured data (e.g., JSON format).
[1231] Data storage
[1232] 4. The server stores the transmitted data in a database.
[1233] Each event is stored as a new record in the database.
[1234] Data aggregation
[1235] 5. The server periodically aggregates the stored data.
[1236] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[1237] The collected data is stored in a temporary storage area in an easily accessible format.
[1238] Text Generation and Response
[1239] 6. In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence.
[1240] When a user enters a query such as "How many people entered the store yesterday?", the server retrieves the relevant data and generates the text "150 people entered the store yesterday."
[1241] User Interface
[1242] 7. The user accesses the system via a web application or dedicated software and enters the required query.
[1243] Users can check data analysis results and aggregated information in real time.
[1244] Specific examples
[1245] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[1246] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[1247] This system helps users collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It can be a particularly powerful tool for restaurants and other businesses to contribute to proper inventory management and labor cost reduction.
[1248] The processing flow will be explained below.
[1249] Step 1:
[1250] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[1251] Step 2:
[1252] The device analyzes the collected video data in real time, and the video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store.
[1253] Step 3:
[1254] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[1255] Step 4:
[1256] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[1257] Step 5:
[1258] The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[1259] Step 6:
[1260] The server periodically executes a batch process to aggregate data. The aggregation is performed on a daily, weekly, monthly, or other basis, and the results are stored in a temporary storage area.
[1261] Step 7:
[1262] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[1263] Step 8:
[1264] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[1265] Step 9:
[1266] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[1267] Step 10:
[1268] The user checks the generated text and receives a response from the system via a web application or dedicated software.
[1269] Step 11:
[1270] The information acquired by the user can be used to improve and optimize store operations, for example, to help with inventory management and labor cost adjustments.
[1271] Example 1
[1272] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1273] The present invention improves upon conventional technology that uses surveillance equipment to collect video data of a target area, then comprehensively analyzes, aggregates, and stores the data in a database. In particular, the present invention aims to provide a system that can accurately identify entry and exit timing and respond to user queries using appropriate natural language generation. Conventional systems suffer from insufficient real-time analysis accuracy and data aggregation efficiency, leading to processing delays, especially when handling large amounts of data. Furthermore, they lack an easy-to-use interface when users want to obtain data based on specific conditions.
[1274] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1275] In this invention, the server includes means for using a monitoring device to collect video data, means for analyzing the collected video data to detect human movements and identify the timing of entry and exit, means for structuring the analyzed data and transmitting it to the server, means for the server to store the transmitted data in a database, means for periodically aggregating the stored data, means for a generative artificial intelligence to generate text in natural language from information in the database, and means for responding with the generated text in response to a query from a user. This enables highly accurate and real-time entry and exit management and makes it easier for users to obtain data efficiently.
[1276] "Video data" refers to digital data containing visual information collected by a surveillance device.
[1277] "Surveillance equipment" is a general term for cameras and related hardware installed to collect video data of a specific area on a 24-hour basis.
[1278] "Human movement detection" is the process of analyzing and identifying the presence and movement of people within collected video data.
[1279] "Entry and exit timing identification" is the process of analyzing and identifying the moment a person enters or leaves a particular area.
[1280] "Structured data" refers to the conversion of parsed data into a certain format (e.g., JSON format).
[1281] "Server" is a general term for a computer system that processes, stores, and aggregates received data, and also generates natural language text using generative artificial intelligence.
[1282] "Database" means a structured data storage used to store, and optionally retrieve and aggregate, the analyzed and transmitted data.
[1283] "Aggregation" is the process of statistically summarizing stored data over a period of time.
[1284] "Generative artificial intelligence" is a type of AI technology used to generate natural language text from information in a database.
[1285] A "user query" refers to a question or data request posed by a user to the system.
[1286] "Natural language text generation" is the process of using generative artificial intelligence to convert machine-understandable data into natural language sentences that are easy for humans to understand.
[1287] The present invention is a system that uses a monitoring device to collect video data, analyzes, aggregates, and stores the data in a database, thereby providing information in response to user queries. Specific embodiments of this system are described below.
[1288] Data collection
[1289] The terminals (monitoring devices) are installed at the entrances and exits of stores and collect video data 24 hours a day. This monitoring device includes cameras and related hardware for capturing video at high resolution (e.g., 1080p) and high frame rates (e.g., 30 fps). Most commonly, IP cameras and microcontrollers are used.
[1290] Video Analysis
[1291] The device processes video data received from the camera in real time. This is done using OpenCV and TensorFlow libraries to perform video analysis. Specifically, it detects people's movements and identifies when they enter and exit the building. The commonly used person detection algorithm is YOLO.
[1292] Data transmission
[1293] The device converts the parsed data into structured data in JSON format and sends it to the server via HTTP / HTTPS. The structured data includes information such as a timestamp and the number of people detected.
[1294] Data storage
[1295] The server receives the JSON data sent from the device and stores it in a database (e.g., MySQL, PostgreSQL). The received data is parsed and inserted into the database as a new record.
[1296] Data aggregation
[1297] The server aggregates the data at regular intervals (e.g. daily, weekly, monthly). This aggregation process is performed using Cron jobs or SQL queries. The aggregated data is stored in a temporary storage area in a format that is easy to use (e.g. CSV, Excel).
[1298] Text Generation and Response
[1299] In response to a user query, the server retrieves appropriate information from the database and generates a natural language explanation using generative artificial intelligence (e.g., OpenAI's GPT-3). For example, if a user enters the query "How many people came into the store yesterday?", the server retrieves the relevant data and generates the text "150 people came into the store yesterday."
[1300] User Interface
[1301] Users access the system through a web application or dedicated software (e.g., a React-based web app) and input the required queries, allowing them to view data analysis results and aggregated information in real time.
[1302] Specific examples
[1303] Example 1: If a device at a restaurant collects video of three people entering the restaurant at the same time at 9:00 AM, the device analyzes this video in real time. The video analysis module detects the three people, generates structured data in JSON format stating "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[1304] Sample prompt: "If your device collects footage of three people entering a store at the same time at 9:00 AM, how would you process that information?"
[1305] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[1306] Example prompt: "If you wanted to know the number of visitors per week, how would you process the data and provide the information to the user?"
[1307] In this way, this system allows users to collect, analyze, and aggregate data in real time, efficiently obtaining useful information. It is a particularly powerful tool for restaurants and other businesses, contributing to appropriate inventory management and labor cost reduction.
[1308] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1309] Step 1:
[1310] The terminals are installed at the entrances and exits of the store and are used as monitoring devices to collect video data.
[1311] Input: Real-time video data captured by surveillance equipment.
[1312] Specific operation: The device collects high-resolution (e.g., 1080p) video at 30 fps. The hardware used is an IP camera and a microcontroller.
[1313] Output: Collected live video stream.
[1314] Step 2:
[1315] The device analyzes the video data received from the camera in real time.
[1316] Input: Collected live video stream.
[1317] How it works: The device uses libraries such as OpenCV and TensorFlow to analyze the movements of people in the video, and uses person detection algorithms such as YOLO to detect people in each frame and track their movements.
[1318] Output: Analysis data such as entry and exit timing and number of people.
[1319] Step 3:
[1320] The terminal converts the parsed data into structured data in JSON format and sends it to the server.
[1321] Input: Analysis data such as entry and exit timing and number of people.
[1322] What it does: The terminal uses the JSON library in Python to convert the parsed data into JSON format, which is then prepared to be sent to the server via the HTTP / HTTPS protocol.
[1323] Output: Structured data in JSON format.
[1324] Step 4:
[1325] The server receives the JSON data and stores it in the database.
[1326] Input: Structured data in JSON format sent from the device.
[1327] What happens: The server parses the JSON data and saves it as a new record in a database (e.g. MySQL, PostgreSQL).
[1328] Output: Records stored in the database.
[1329] Step 5:
[1330] The server aggregates the stored data at regular intervals.
[1331] Input: Records stored in the database.
[1332] What it does: The server uses Cron jobs to aggregate data daily, weekly, and monthly. The aggregated results are calculated using SQL queries and stored in a temporary storage area in a format that is easy to use (e.g., CSV, Excel).
[1333] Output: Aggregated data.
[1334] Step 6:
[1335] The server retrieves appropriate information from a database in response to a user query and generates a natural language explanation using generative artificial intelligence.
[1336] Input: A query from the user.
[1337] What it does: The server analyzes the query, retrieves the relevant data from the database, and uses a generative AI (e.g., OpenAI's GPT-3) to generate the appropriate text.
[1338] Output: Natural language text response.
[1339] Step 7:
[1340] A user accesses the system via a web application or dedicated software and enters a query.
[1341] Input: The user's query.
[1342] How it works: Users log in to the system using a web browser or a dedicated application, enter queries, and the results are displayed in real time. It uses front-end technologies such as QT and React.
[1343] Output: The response from the system to the query.
[1344] (Application example 1)
[1345] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1346] With conventional surveillance systems, it was difficult to collect customer entry and exit data in real time at stores and other locations and check it immediately. It was also difficult for managers to quickly obtain the necessary information, which sometimes meant the data could not be used efficiently. Furthermore, the system lacked the ability to classify data by time of day or day of the week, making it difficult to grasp customer trends during specific time periods.
[1347] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1348] In this invention, the server includes: a monitoring device for collecting video of a target area; a means for analyzing the collected video data to detect human movement and identify the timing of entry and exit; a means for storing and aggregating the detected data in a database; a generative artificial intelligence for generating text in natural language from information in the database; a means for responding with the generated text in response to a user's query; and a means for using smart glasses to retrieve and display information in the database in real time in response to the user's voice query. This allows managers to check customer entry and exit data in real time through the smart glasses, thereby improving the efficiency of store operations. Furthermore, by freely classifying the aggregated data, customer trends during specific time periods can be accurately grasped.
[1349] A "surveillance device" is a device installed to collect video of an area of interest.
[1350] "Video data" means visual information collected by surveillance equipment.
[1351] "Analysis" is the process of detecting human movements and recognizing specific events based on collected video data.
[1352] "Entry / exit timing" refers to the time when a person enters or exits an area, and includes time information.
[1353] A "database" is a collection of information that stores collected and analyzed data and makes it easy to search and retrieve.
[1354] "Aggregation" is the process of compiling data based on specific periods or conditions.
[1355] "Generative AI" refers to an AI system that automatically generates text in natural language based on data.
[1356] A "query" is a request made by a user to a system to obtain information.
[1357] "Smart glasses" are wearable devices that users can wear to display information and input voice data.
[1358] "Real-time" refers to a situation where data is collected, processed, and displayed almost immediately, with very little time delay.
[1359] The system of this invention is a customer management system that uses a monitoring device, smart glasses, a server, generative artificial intelligence, and a user interface. The monitoring device is installed at the entrance and exit of the store and collects video images 24 hours a day. The video data is analyzed in real time to detect people's movements and identify the timing of entry and exit.
[1360] Data collection and analysis
[1361] The server receives the video data sent from the surveillance device and detects human movements through an analysis module by tracking people in the video and recording the timing of their entry and exit.
[1362] Data transmission and storage
[1363] The server structures the parsed data and stores it in a database in an appropriate format (e.g., JSON format). The database records event information (timestamp, number of customers entering, number of customers leaving, etc.).
[1364] Data aggregation
[1365] The server periodically aggregates the stored data. For example, it calculates the number of customers entering and leaving the store and peak times on a daily, weekly, or monthly basis. This aggregated data is stored in a temporary storage area in a format that is easy for users to use.
[1366] Text Generation and Query Response
[1367] The server retrieves appropriate information from a database in response to a user query. Generative AI is used to generate natural language text corresponding to the query. For example, if a user enters the query "How many people visited the store yesterday?", the server generates the text "150 people visited the store yesterday" as a response.
[1368] Voice query using smart glasses
[1369] The user wears the smart glasses and makes a query through voice input. The smart glasses send the voice data to the server, which immediately analyzes it and replies as text. The information in the database is retrieved in real time and displayed on the glasses' display.
[1370] Specific examples
[1371] 1. Example 1: If the store is busy at 3 PM, the store clerk makes a voice query to the smart glasses saying, "What is the current number of customers in the store?" The smart glasses will pull the data from the server and display, "The current number of customers is 78."
[1372] 2. Example 2: During peak lunch hours, the store manager can ask the smart glasses, "How many customers came in this morning?" and the glasses will display, "The number of customers in this morning is 120." This information will enable the store manager to quickly prepare for lunchtime.
[1373] Prompt Sentence Examples
[1374] Please tell me how many people came into the store yesterday.
[1375] "What is the current number of customers?"
[1376] "How many people came in this morning?"
[1377] In this way, the system of the present invention realizes real-time customer management through smart glasses, contributing to the efficiency of store operations. In addition, by using generative AI, users can quickly obtain the information they need.
[1378] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1379] Step 1:
[1380] Data collection
[1381] The terminal (monitoring device) collects video of the target area. This collected video data is sent to the processing device in real time. The input here is the video data captured by the monitoring device, and the output is the raw video data sent to the processing device.
[1382] Step 2:
[1383] Data analysis
[1384] The server analyzes the received video data to detect human movements. The video analysis module detects people in the video data and tracks their movements. The input is the video data, and the analysis identifies people's movements and the timing of their entry and exit, generating detected event data (e.g., entry and exit information with time stamps) as output.
[1385] Step 3:
[1386] Data transmission
[1387] The server structures the parsed event data and saves it in a database. The input here is the parsed event data, which is structured in JSON format or similar and saved in a database as output.
[1388] Step 4:
[1389] Database Update
[1390] The server updates the database with the collected and analyzed data in real time. Every time a new event occurs, the record in the database is updated. The input is the newly acquired event data, and the output is an updated database containing the latest data.
[1391] Step 5:
[1392] Data aggregation
[1393] The server aggregates the stored data for specific periods such as daily, weekly, or monthly, creating aggregated data. The input is the event data in the database, and the output is hourly, daily, or monthly aggregated data.
[1394] Step 6:
[1395] Text Generation
[1396] The server uses generative artificial intelligence to generate natural language text from the aggregated data. The input is the aggregated data, and the output is the generated natural language text. An appropriate response is generated based on the prompt.
[1397] Step 7:
[1398] Query Response and Display
[1399] A user wears smart glasses and inputs a voice query. The smart glasses transmit the voice data to a server, which then retrieves the corresponding aggregated data and generates natural language text using generative artificial intelligence, which then displays it on the smart glasses' display. The input is the user's voice query, and the final output is the text information displayed on the smart glasses.
[1400] Through the above steps, real-time customer management through smart glasses is realized.
[1401] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1402] The system of the present invention can analyze video data collected by surveillance equipment, identify the timing of entry and exit, and store and aggregate that data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[1403] Data collection
[1404] Terminals (monitoring devices) are installed at the entrances and exits of the store and collect video footage 24 hours a day.
[1405] The monitoring device acquires video data at an appropriate resolution and frame rate and transmits it to the processing device in real time.
[1406] Video Analysis
[1407] The device analyzes the collected video data in real time and detects human movement.
[1408] A video analysis module detects people in the video data and tracks their movements.
[1409] The number of people detected and the timing of their entry and exit are recorded.
[1410] Data transmission
[1411] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[1412] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[1413] Data storage
[1414] The server stores the received data in a database.
[1415] The database records information about each event along with a timestamp.
[1416] Data aggregation
[1417] The server periodically aggregates the stored data.
[1418] The number of customers entering and leaving the store, as well as peak hours, are compiled for each period such as daily, weekly, or monthly.
[1419] The collected data is stored in a temporary storage area in an easily accessible format.
[1420] User query processing
[1421] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[1422] Text Generation and Response
[1423] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[1424] The server uses generative artificial intelligence to generate text in natural language based on the acquired data. For example, the generated text might say, "150 people visited the store yesterday."
[1425] Introducing the Emotion Engine
[1426] The server uses an emotion engine to recognize emotions from the user's input and actions.
[1427] The emotion engine analyzes user input and interaction patterns to infer emotions.
[1428] The recognized emotion data is stored in a database and used for analysis.
[1429] Adaptive text generation
[1430] The server adaptively changes the content of the generated text based on the recognized emotion.
[1431] For example, if a user is feeling stressed, a supportive comment such as "Please relax and wait. 150 people visited the store yesterday" is added.
[1432] User Interface
[1433] A user accesses the system via a web application or dedicated software and enters the required query.
[1434] Users can check data analysis results and aggregated information in real time.
[1435] Users can also experience adaptive responses based on their emotional state.
[1436] Specific examples
[1437] Example 1: For example, in a restaurant, if a device collects video of three people entering the restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user sends a query such as "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today" and responds.
[1438] Example 2: If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 PM to 2:00 PM, and 350 people visited the store," and provides this to the user.
[1439] Example 3: When a user submits a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server generates emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[1440] This system helps users collect, analyze, and aggregate data in real time, helping them efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[1441] The processing flow will be explained below.
[1442] Step 1:
[1443] The terminals continuously collect video data through monitoring devices installed at the entrances and exits of the store, which capture video at an appropriate resolution and frame rate and transmit it to a processing device in real time.
[1444] Step 2:
[1445] The device analyzes the collected video data in real time. The video analysis module detects people in the video and tracks their movements to determine when they enter and exit the store. For example, it tracks a person's movement trajectory and records the moment they pass through a specific zone.
[1446] Step 3:
[1447] The device structures the analysis data and formats it as "entry events" and "exit events." For example, it generates JSON-formatted data that includes information such as a timestamp, the number of people, and the type of event (entering or leaving).
[1448] Step 4:
[1449] The device sends structured data to the server, and a secure communication method such as HTTPS is used to ensure that the data is transmitted to the server.
[1450] Step 5:
[1451] The server stores the received data in a database. The database records information about each event along with a timestamp. For example, a record such as "3 people entered the store at 09:00:00 on October 1, 2023" is stored.
[1452] Step 6:
[1453] The server periodically executes batch processing to aggregate data. The aggregation is performed daily, weekly, monthly, etc., and the results are stored in a temporary storage area. For example, data on the number of customers entering the store on that day and peak hours is aggregated.
[1454] Step 7:
[1455] The server receives a query from a user. For example, a user sends a query to the system such as "How many customers came into the store yesterday?"
[1456] Step 8:
[1457] The server searches the database to retrieve data corresponding to the query, such as the number of customers entering a store on a particular day or peak hours.
[1458] Step 9:
[1459] The server uses generative artificial intelligence to generate text in natural language based on the acquired data, for example, "150 people visited the store yesterday."
[1460] Step 10:
[1461] The server uses an emotion engine to recognize emotions from the user's input and actions. For example, if the user is feeling anxious, the server will detect this emotion and record it as "anxiety."
[1462] Step 11:
[1463] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling impatient, it adds a supportive comment such as "Please relax and wait. 150 people visited the store yesterday."
[1464] Step 12:
[1465] Users access the system via a web application or dedicated software, input the required queries, and can view the responses from the system and view data analysis results and aggregated information in real time.
[1466] Step 13:
[1467] The information acquired by the user can be used to improve and optimize store operations. For example, it can be used to adjust inventory management and labor costs. Furthermore, adaptive information provision based on the user's emotional state can provide a better user experience.
[1468] Example 2
[1469] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1470] Conventional systems have difficulty efficiently analyzing video data collected by surveillance equipment, identifying and storing the timing of entrances and exits in a database, and providing appropriate responses to user queries. Furthermore, they lack the ability to adaptively change the generated text according to the user's emotional state, which prevents them from sufficiently increasing user satisfaction.
[1471] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1472] In this invention, the server includes: means for structuring the analysis data and formatting it into a data format including, for example, a timestamp, the number of people, and the type of event; means for transmitting the structured data to the server using a secure communication means; means for storing the received data in a database; means for periodically aggregating the stored data; means for receiving queries from users and retrieving data corresponding to the queries from the database; means for generating text in natural language using a generative AI model based on the retrieved data; means for adaptively modifying the generated text in accordance with the user's emotional state; and means for responding to the user with the modified text. This enables efficient analysis of video data and accurate identification of entrances and exits, and also enables adaptive responses in accordance with the user's emotional state, thereby improving user satisfaction and providing a better experience.
[1473] A "monitoring device" is a hardware device that collects video of an area of interest.
[1474] "Video data" refers to video information of a target area collected by a monitoring device.
[1475] "Analysis means" refers to software or hardware that analyzes collected video data, detects human movement, and identifies the timing of entry and exit.
[1476] "Structured data" refers to analyzed data that has been organized into formats such as timestamps, number of people, and type of event.
[1477] "Communication means" refers to the secure communication protocols and technologies used to transmit the analysis data to the server.
[1478] A "database" is a data storage system for storing and managing received data.
[1479] "Aggregation means" refers to software or hardware that periodically aggregates stored data and generates information such as the number of people entering and exiting the facility and peak hours.
[1480] "Query" means an inquiry or request from a user.
[1481] A "generative AI model" is an artificial intelligence model that generates text in natural language based on data.
[1482] "Emotional state" refers to the emotional state inferred from the user's input and actions.
[1483] An "adaptive modification means" is software or hardware that modifies the content of the generated text based on the recognized sentiment.
[1484] "Response means" refers to an interface or method for responding to the user with the generated text.
[1485] The system of the present invention analyzes video data collected by surveillance equipment, identifies the timing of entry and exit, and stores and aggregates this data in a database. It also utilizes generative artificial intelligence to generate natural language text from the information in the database and provide appropriate responses to user queries. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and adaptively change the content of the generated text.
[1486] Data collection
[1487] The terminal collects video images 24 hours a day using a surveillance device. Specifically, a surveillance camera (e.g., "surveillance camera A") is used to acquire high-resolution, high-frame-rate video data, which is then transmitted to the processing device in real time. For example, the camera captures video images at 30 frames per second, providing constantly new data.
[1488] Video Analysis
[1489] The device analyzes the collected video data to detect human movements. Using a video analysis module (e.g., "Image Analysis Software B"), it analyzes the video data frame by frame, detects people, and tracks their movements. For example, it uses background subtraction to extract human silhouettes and uses a tracking algorithm to identify when people enter or exit the venue.
[1490] Data transmission
[1491] The device structures the analysis data and generates JSON format data that includes, for example, a timestamp, the number of people, and the type of event (entry or exit).The structured data is then sent to the server using a secure communication method such as HTTPS, which ensures data security and integrity.
[1492] Data storage
[1493] The server stores the received data in a database (e.g., "Database System C"). For example, it parses the received JSON data and inserts it into the corresponding table to store it. This allows event information to be managed efficiently.
[1494] Data aggregation
[1495] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), it aggregates the number of customers entering and leaving the store, as well as peak hours, for periods such as daily, weekly, or monthly. This makes it easy for users to obtain statistical information of interest.
[1496] User query processing
[1497] The server receives queries from users. For example, when a user sends a query through a web application such as "How many customers came into the store yesterday?", the query reaches the server. In this case, the server receives the query using a REST API.
[1498] Text Generation and Response
[1499] The server searches the database to retrieve data corresponding to the query. Based on the retrieved data, it uses generative artificial intelligence (e.g., "Generative AI Model E") to generate text in natural language. For example, the generated text might read, "150 people visited the store yesterday."
[1500] Introducing the Emotion Engine
[1501] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from user input and behavior. When a user sends a query, the server analyzes the input data and estimates the user's emotional state.
[1502] Adaptive text generation
[1503] The server adaptively changes the content of the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server uses generative AI to add a supportive comment such as, "Please relax and wait. 150 people visited the store yesterday."
[1504] Specific examples
[1505] Example 1
[1506] If a device collects video of three people entering a restaurant at the same time at 9:00 AM, the video analysis module detects the three people, generates structured data as "3 people entered the restaurant at 9:00 AM," and sends it to the server. The server stores this information in a database and tallys up the total number of people entering the restaurant at the end of the day. When a user queries, "How many people entered the restaurant today?", the server uses generative AI to generate the text "150 people entered the restaurant today."
[1507] Example 2
[1508] If another store wants to know the number of customers visiting each week, the server retrieves one week's data from the database and uses generative AI to generate text such as, "The total number of customers visiting last week was 1,050. The peak time was from 12:00 p.m. to 2:00 p.m., and 350 people visited the store," and provides this to the user.
[1509] Example 3
[1510] When a user sends a query such as "What were the sales yesterday?", the emotion engine recognizes the user's impatience and the server uses generative AI to generate emotion-sensitive text such as "Please relax and wait. Yesterday's sales were $1,000."
[1511] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[1512] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1513] Step 1: Data collection
[1514] The terminal uses a surveillance device to collect video images 24 hours a day. Specifically, a surveillance camera (e.g., "surveillance camera A") captures high-resolution video images at 30 frames per second and transmits the data to a processing device in real time.
[1515] Input: Video signal from a surveillance camera
[1516] Output: Real-time video data
[1517] Step 2: Video analysis
[1518] The device analyzes the collected video data. A video analysis module (e.g., "Image Analysis Software B") uses background subtraction to detect people and tracks their movements using a tracking algorithm.
[1519] Input: Real-time video data
[1520] Output: Analysis data corresponding to human movements
[1521] Step 3: Send data
[1522] The device structures the analysis data in JSON format and sends it to the server using HTTPS. For example, data in the format "{'timestamp': '2023-10-01T09:00:00Z', 'person_count': 3, 'event_type': 'entry'}" is generated and sent.
[1523] Input: Analysis data
[1524] Output: Structured JSON data
[1525] Step 4: Save Data
[1526] The server parses the received JSON data and stores it in a database (e.g., "Database System C"). Specifically, it inserts new event information into the corresponding table each time.
[1527] Input: Structured JSON data
[1528] Output: Event data stored in a database
[1529] Step 5: Data aggregation
[1530] The server periodically aggregates the stored data. Using an aggregation script (e.g., "Aggregation Software D"), statistical data on the number of customers entering and leaving the store, as well as peak hours, is generated daily, weekly, and monthly.
[1531] Input: Event data stored in the database
[1532] Output: Aggregated statistics
[1533] Step 6: User query processing
[1534] The server receives a query from the user. The user sends a query such as "How many customers came into the store yesterday?" through a web application. The server receives this query through a REST API.
[1535] Input: User query
[1536] Output: Query content
[1537] Step 7: Database Search
[1538] The server searches the database to retrieve data corresponding to the query. For example, if the query is for "the number of customers entering the store yesterday," the server extracts the number of customers entering the store on the corresponding date from the database.
[1539] Input: Query content
[1540] Output: Data corresponding to the query
[1541] Step 8: Text Generation and Response
[1542] Based on the data acquired by the server, a generative AI (e.g., "Generative AI Model E") is used to generate natural language text. For example, the server generates text such as "150 people visited the store yesterday." It then responds to the user.
[1543] Input: The data corresponding to the query
[1544] Output: The generated text
[1545] Step 9: Implementing the Emotion Engine
[1546] The server uses an emotion engine (e.g., "Emotion Recognition System F") to recognize emotions from the user's input and actions. For example, if the user is impatient, the emotion engine will detect that emotion.
[1547] Input: User input data, behavioral data
[1548] Output: Recognized emotion data
[1549] Step 10: Adaptive text generation
[1550] The server adaptively modifies the generated text based on the recognized emotion. For example, if the user is feeling stressed, the server adds a supportive comment such as "Please relax and wait. 150 customers visited the store yesterday."
[1551] Input: Recognized emotion data, generated text
[1552] Output: Adaptively modified text
[1553] This system allows users to collect, analyze, and aggregate data in real time, enabling them to efficiently obtain useful information. In particular, adaptive information provision according to the user's emotional state can increase user satisfaction and provide a better experience.
[1554] (Application example 2)
[1555] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1556] Conventional customer behavior analysis systems for brick-and-mortar stores are required not only to collect and analyze customer entry and exit data, but also to provide adaptive information that takes into account customer emotions. Specifically, a system that can appropriately recognize customer emotions and change responses based on them is required. It is also important to improve usability so that users can easily collect data in real time and receive responses in natural language to their queries.
[1557] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1558] In this invention, the server includes: a monitoring device that collects video of a target area; a system that analyzes the collected video data to detect human movement and identify the timing of entry and exit; a system that stores and aggregates the detected data in a database; a generative artificial intelligence that generates text in natural language from information in the database; a system that responds with the generated text in response to a query from a user; and a system that uses an emotion engine that recognizes the user's emotions and adaptively changes the content of the generated text. This enables flexible and adaptive information provision according to the customer's emotions.
[1559] A "surveillance device" is a device for collecting video of an area of interest.
[1560] "Video Data" refers to visual information collected by surveillance equipment.
[1561] "Analysis" is the process of evaluating and analyzing collected video data to detect human movement and identify the timing of entry and exit.
[1562] A "database" is a system for storing detected data and compiling necessary information.
[1563] "Generative AI" is an AI technology that can generate text in natural language from information in a database.
[1564] A "query" refers to a question or request sent by a user to the system.
[1565] An "emotion engine" is a technology that recognizes a user's emotions and adaptively changes the content of the generated text based on those emotions.
[1566] To implement this invention, a monitoring device is first installed in the target area (e.g., the entrance and exit of a store). The monitoring device collects video images 24 hours a day and transmits them to a processing device in real time. The video data is acquired at an appropriate resolution and frame rate.
[1567] Data collection and analysis
[1568] The device receives video data from the surveillance cameras and analyzes it in real time. A video analysis module (e.g., OpenCV or YOLO models) is used to detect people's movements and identify when they enter or exit the store. The analysis results are structured as timestamps, the number of people, and the type of event (entering or exiting the store).
[1569] Data transmission and storage
[1570] The structured data generated by the device is sent to the server in JSON format. The communication protocol, for example, HTTPS, is used to ensure secure data transfer. The server stores the received data in a database, where information about each event is recorded along with a timestamp.
[1571] Data aggregation and user query processing
[1572] The server periodically aggregates the stored data, tallying the number of people entering and leaving the store, and peak times for each period, such as daily, weekly, or monthly. The aggregated data is stored in a temporary storage area. When a user makes a query, the server searches the database and retrieves the data corresponding to the query. For example, in response to the query "How many people entered the store yesterday?" the server generates the text "150 people entered the store yesterday."
[1573] Generative AI and Emotion Engines
[1574] Generative AI is implemented in programming languages such as Python and generates text in natural language from information in a database based on user queries. In addition, it uses an emotion engine to analyze user input and interaction patterns and recognize emotions. The recognized emotion data is stored in a database and the content of the generated text is adaptively changed based on the user's emotions.
[1575] Specific examples
[1576] For example, data showing three people entering a store at the same time at 9:00 AM is collected and analyzed based on footage from a surveillance camera. This data is structured as "3 people entered the store at 9:00 AM," sent to the server, and stored. Furthermore, if a user sends a query such as "How many people entered the store today?", the generative AI generates the text "150 people entered the store today." If the emotion engine recognizes the user's impatience, it adaptively changes the content to something like "Please relax and wait. 150 people entered the store today."
[1577] Prompt Sentence Examples
[1578] Please tell me how many people came to the store yesterday.
[1579] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1580] Step 1:
[1581] The device collects video data from a surveillance camera. The input is a real-time video stream from the surveillance camera, and the output is frame data. The device acquires this frame data at an appropriate resolution and frame rate. Specifically, the device uses the OpenCV library to capture the video stream.
[1582] Step 2:
[1583] The device analyzes the collected video data and detects human movements. The input is the frame data obtained in step 1, and the output is the coordinate information and timestamp of the detected person. Specifically, it uses a video analysis module (e.g., the YOLO model) to detect people in the frame and record their coordinates.
[1584] Step 3:
[1585] The device structures the detected data and formats it as an entry / exit event. The input is the person's coordinate information and timestamp obtained in step 2, and the output is structured JSON-formatted event data. Specifically, it determines the type of event (entering or leaving the store) and generates JSON data specifying the timestamp, number of people, and type of event.
[1586] Step 4:
[1587] The terminal sends structured data to the server. The input is the JSON-formatted event data generated in step 3, and the output is a status code indicating that the data was successfully sent to the server. Specifically, the requests library is used to send the data to the server using the HTTPS protocol.
[1588] Step 5:
[1589] The server stores the received data in a database. The input is the JSON-formatted event data sent in step 4, and the output is the event record stored in the database. Specifically, the server creates a new record in the database and records the timestamp, number of people, and type of event.
[1590] Step 6:
[1591] The server periodically aggregates the stored data. The input is the event records stored in the database, and the output is the aggregation results (e.g., daily, weekly, and monthly number of customers entering and leaving the store, and peak hours). Specifically, the server executes a query to aggregate events within a specified period and stores the results in a temporary storage area.
[1592] Step 7:
[1593] The user sends a query, and the server responds. The input is the user's query (e.g., "How many people came into the store yesterday?"), and the output is a natural language text response from the generative AI. Specifically, the server searches the database, retrieves the necessary information, and provides it to the generative AI, which then generates the text "150 people came into the store yesterday."
[1594] Step 8:
[1595] The server uses an emotion engine to recognize the user's emotions and adaptively change the response content. The input is the user's query and interaction data, and the output is a natural language text response that takes emotion into consideration. Specifically, the emotion engine analyzes the user's input and interaction patterns and changes the text based on the recognized emotion. For example, if the user is impatient, it generates a response such as, "Please relax and wait. 150 people visited the store yesterday."
[1596] Example prompt sentence:
[1597] Please tell me how many people came to the store yesterday.
[1598] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1599] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1600] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1601] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1602] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1603] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1604] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1605] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1606] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1607] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1608] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1609] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1610] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1611] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1612] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1613] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1614] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1615] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1616] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1617] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1618] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1619] The following is further disclosed regarding the above embodiment.
[1620] (Claim 1)
[1621] means for the monitoring device to collect video of an area of interest;
[1622] A means for analyzing the collected video data to detect human movements and identify the timing of entry and exit;
[1623] a means for storing and aggregating the detected data in a database;
[1624] A means for generative artificial intelligence to generate text in natural language from information in a database;
[1625] means for returning generated text in response to a user query;
[1626] A system including:
[1627] (Claim 2)
[1628] 10. The system of claim 1, further comprising means for categorizing the aggregated data by time of day, day of week, or month specified by the user.
[1629] (Claim 3)
[1630] 10. The system according to claim 1, further comprising means for updating the database with the data collected and analyzed in real time.
[1631] "Example 1"
[1632] (Claim 1)
[1633] a means for using a surveillance device to collect video data;
[1634] A means for analyzing collected video data to detect human movements and identify the timing of entry and exit;
[1635] means for structuring the parsed data and transmitting it to a server;
[1636] a means for the server to store the transmitted data in a database;
[1637] a means for periodically aggregating the stored data; and
[1638] A means for generative artificial intelligence to generate text in natural language from information in a database;
[1639] means for returning generated text in response to a user query;
[1640] A system including:
[1641] (Claim 2)
[1642] 10. The system of claim 1, further comprising means for categorizing the aggregated data by time of day, day of week, or month specified by the user.
[1643] (Claim 3)
[1644] 10. The system according to claim 1, further comprising means for updating the database with the data collected and analyzed in real time.
[1645] "Application Example 1"
[1646] (Claim 1)
[1647] means for the monitoring device to collect video of an area of interest;
[1648] A means for analyzing the collected video data to detect human movements and identify the timing of entry and exit;
[1649] a means for storing and aggregating the detected data in a database;
[1650] A means for generative artificial intelligence to generate text in natural language from information in a database;
[1651] means for returning generated text in response to a user query;
[1652] means for retrieving and displaying information from the database in real time in response to a user's voice query using the smart glasses;
[1653] A system including:
[1654] (Claim 2)
[1655] 10. The system of claim 1, further comprising means for categorizing the aggregated data by time of day, day of week, or month specified by the user.
[1656] (Claim 3)
[1657] 10. The system according to claim 1, further comprising means for updating the database with the data collected and analyzed in real time.
[1658] "Example 2: Combining Emotion Engines"
[1659] (Claim 1)
[1660] means for the monitoring device to collect video of an area of interest;
[1661] A means for analyzing the collected video data to detect human movements and identify the timing of entry and exit;
[1662] A means for structuring and formatting the analysis data into a data format including, for example, a timestamp, a number of people, and a type of event;
[1663] means for transmitting the structured data to a server using a secure communication means;
[1664] a means for storing the received data in a database;
[1665] a means for periodically aggregating the stored data; and
[1666] means for receiving a query from a user and retrieving data corresponding to the query from a database;
[1667] A means for generating text in natural language using a generative AI model based on the acquired data;
[1668] means for adaptively modifying the generated text in response to the emotional state of the user;
[1669] means for returning the modified text to the user;
[1670] A system including:
[1671] (Claim 2)
[1672] 10. The system of claim 1, further comprising means for categorizing the aggregated data by time of day, day of week, or month specified by the user.
[1673] (Claim 3)
[1674] 10. The system according to claim 1, further comprising means for updating the database with the data collected and analyzed in real time.
[1675] "Application example 2 when combining emotion engines"
[1676] (Claim 1)
[1677] means for the monitoring device to collect video of an area of interest;
[1678] A means for analyzing the collected video data to detect human movements and identify the timing of entry and exit;
[1679] a means for storing and aggregating the detected data in a database;
[1680] A means for generative artificial intelligence to generate text in natural language from information in a database;
[1681] means for returning generated text in response to a user query;
[1682] a means for using an emotion engine that recognizes the user's emotion and adaptively changes the content of the generated text;
[1683] A system including:
[1684] (Claim 2)
[1685] 10. The system of claim 1, further comprising means for categorizing the aggregated data by time of day, day of week, or month specified by the user.
[1686] (Claim 3)
[1687] 10. The system according to claim 1, further comprising means for updating the database with the data collected and analyzed in real time. [Explanation of symbols]
[1688] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for the monitoring device to collect video of an area of interest; A means for analyzing the collected video data to detect human movements and identify the timing of entry and exit; a means for storing and aggregating the detected data in a database; A means for generative artificial intelligence to generate text in natural language from information in a database; means for returning generated text in response to a user query; A system including:
2. 2. The system of claim 1, further comprising means for classifying the aggregated data by time, day of the week, or month specified by the user.
3. 2. The system according to claim 1, further comprising means for updating the database with the data collected and analyzed in real time.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A