system

The system efficiently manages and optimizes photo data using facial recognition and calendar integration, enabling personalized notifications and emotional experiences.

JP2026064689APending Publication Date: 2026-04-14SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Managing large amounts of photo and image data is inefficient, particularly in sorting, editing, and linking them to specific dates for notifications, with current systems lacking integrated functionality for face authentication, automatic comment generation, and calendar synchronization.

Method used

A system that uploads photo data from a terminal, sorts it chronologically, uses facial recognition to optimize images, automatically generates comments, and sends notifications based on calendar events, incorporating an emotion engine for personalized experiences.

Benefits of technology

Enables efficient management, easy retrieval of photos related to important dates, and personalized notifications, providing a seamless user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064689000001_ABST
    Figure 2026064689000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] Methods for uploading photo data from a device, A method for sorting uploaded photo data in chronological order, A means of detecting faces in a photograph using facial recognition technology, A means of optimizing a photograph based on the detected face, A method for automatically generating comments based on photo data and related information, A method that links with smartphone calendar information to select photos and send notifications based on the dates of anniversaries and events, A system that includes this.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technology of the present disclosure relates to a system.

Background Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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

Summary of the Invention

Problems to be Solved by the Invention

[0004] Efficiently managing photo and image data is particularly difficult when dealing with a large amount of data. In addition, the work of manually sorting and editing photos requires time and effort, and may also impose a significant burden on users when notifying and sharing appropriate photos on specific dates such as anniversaries. The current system lacks an integrated comprehensive system that combines optimization including face authentication, automatic generation of comments, and a notification function linked to calendar information, and there is a need to provide these functions efficiently and with high functionality.

Means for Solving the Problems

[0005] This invention provides a means for uploading photo data from a terminal and for a server to sort the photo data in chronological order. Furthermore, the server includes means for detecting faces in the photos using facial recognition technology and optimizing the photos (enlarging, shrinking, cropping) based on the detected faces. The server also includes means for automatically generating comments based on this photo data and related information (date and time, face detection results, etc.). Finally, it provides means for selecting photos and sending notifications based on the dates of anniversaries and events, in conjunction with the smartphone's calendar information. Through these means, a system is realized that integrates efficient photo management, automatic comment generation, and anniversary photo notifications.

[0006] A "device" refers to a device used by a user to take, save, and upload photo data, and specifically includes smartphones, tablets, and digital cameras.

[0007] "Photo data" refers to image files stored in digital format, which are taken by users with their devices and uploaded to a server.

[0008] The "method for sorting in chronological order" refers to a function that sorts photos in order of the date and time they were taken, based on the timestamp of the photo data.

[0009] "Facial recognition technology" is a technology that detects a person's face in photographic data and determines its position and size.

[0010] "Optimization" refers to the process of enlarging, shrinking, or cropping an image so that the face detected in the image data is centered.

[0011] "Methods for automatically generating comments" refers to a function in which the system automatically creates text (comments) for viewers based on relevant information in the photo data (for example, the date and time the photo was taken and the results of face detection).

[0012] "Calendar information" refers to date information such as events and anniversaries stored on the user's device, and is obtained from the smartphone's calendar application.

[0013] A "means of notification" refers to a system that informs users of relevant photo data when certain conditions (for example, the date of an anniversary or event) are met. [Brief explanation of the drawing]

[0014] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Embodiment 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.

Mode for Carrying Out the Invention

[0015] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.

[0016] First, the terms used in the following description will be explained.

[0017] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.

[0018] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.

[0019] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.

[0020] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0021] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0022] [First Embodiment]

[0023] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.

[0024] As shown in Figure 1, the 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.

[0025] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0026] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.

[0027] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.

[0028] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0029] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

[0030] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0031] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.

[0032] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0033] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0034] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0035] This invention relates to a system in which a user uploads photo data from a terminal, a server sorts the data chronologically, optimizes the photos using facial recognition technology, automatically generates comments, and also sends notifications based on a specific date.

[0036] Program Processing Overview

[0037] Acquisition and organization of photo data

[0038] Users upload photo data from their devices to the server. For example, when a user uploads photos taken with their smartphone to cloud storage, this photo data is sent to the server.

[0039] The server retrieves the uploaded photo data and organizes the photos chronologically based on their filenames and timestamps. The photos are then sorted in ascending or descending order based on the date and time they were taken.

[0040] Facial recognition and optimization

[0041] The server uses the OpenCV library to perform face recognition on each photograph. Specifically, it first converts the photograph to grayscale, and then uses the Haar Cascade classifier to detect faces. If a face is detected, it obtains the position information of that face (coordinates and size of a rectangle).

[0042] For photos in which a face is detected, the server optimizes the photo so that the face is centered. This optimization process involves appropriate scaling and cropping. The optimized photo is then saved as a new file.

[0043] Automatic comment generation

[0044] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, if a photo was taken on "September 15, 2023 at 2:30 PM" and a face was detected, it will generate a comment such as, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0045] Anniversary notification synchronization

[0046] The user's device synchronizes with the smartphone's calendar application and sends calendar information to the server. The server manages specific dates (e.g., anniversaries and events) based on this calendar information. When a specific anniversary approaches, the server selects a photo related to that day and sends a notification.

[0047] For example, if a user designates "September 15, 2023" as a commemorative day, as that day approaches, the server will notify the user's device with an optimized photo and comment, along with the message, "We will notify you of photos taken on September 15, 2023."

[0048] As described above, the present invention is a system for efficiently managing photo data, with the terminal, server, and user each fulfilling their respective roles. This system allows users to easily organize, edit, and generate comments on photos, and receive anniversary notifications, enabling centralized management of memories.

[0049] The following describes the processing flow.

[0050] Step 1:

[0051] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0052] Step 2:

[0053] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0054] Step 3:

[0055] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0056] Step 4:

[0057] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0058] Step 5:

[0059] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0060] Step 6:

[0061] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0062] Step 7:

[0063] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A face was detected."

[0064] Step 8:

[0065] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0066] Step 9:

[0067] The server manages calendar information and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo taken on September 15th.

[0068] Step 10:

[0069] The server notifies the user's device of a photo selected for the anniversary, along with a comment. The user receives the notification and can view the photo and comment.

[0070] (Example 1)

[0071] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0072] In recent years, the amount of photo data taken by individuals has become enormous, making it difficult to efficiently manage, organize, and link it to specific dates for notifications. Furthermore, technologies for automatically optimizing and generating the location of people and related comments within photos are still not sufficiently developed. Therefore, there is a need for systems that allow users to effectively utilize photo data and manage their memories.

[0073] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0074] In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for detecting people in the images using biometric authentication technology, means for optimizing the images (enlarging, reducing, cropping) based on the detected people, means for automatically generating comments based on the image data and its related information (date and time, biometric authentication results, etc.), and means for selecting images and sending notifications based on specific dates in conjunction with the mobile terminal's schedule management information. This enables users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications.

[0075] "Terminal" refers to information devices such as computers and smartphones used by users.

[0076] "Image data" refers to still images and photographic data acquired by a user using their device.

[0077] "Uploading" means sending data from a user's device to a server or remote storage device.

[0078] A "remote storage device" refers to a storage medium that can be accessed via the internet, such as cloud storage.

[0079] "Sort chronologically" refers to sorting data in ascending or descending order based on the date and time the image data was taken.

[0080] "Biometric authentication technology" refers to technology used to detect and identify individuals within image data.

[0081] "Optimization" refers to processing image data, such as enlarging, reducing, or cropping, to satisfy specific conditions (e.g., the central position of a person).

[0082] "Automatic comment generation" refers to the system automatically creating relevant text information based on the metadata and recognition results of image data.

[0083] "Mobile devices" refer to portable information devices such as smartphones and tablets that contain schedule management information.

[0084] "Schedule management information" refers to digital data that manages information about a user's schedule or specific dates.

[0085] "Notification" refers to the action of informing a user's device of specific information or events (e.g., anniversaries) when they occur.

[0086] This invention is a system in which a user uploads image data from a terminal, a server sorts it in chronological order, optimizes the image using biometric authentication technology, automatically generates comments, and also sends notifications based on a specific date.

[0087] Users upload image data using devices such as smartphones. For example, a user uploads a photo taken with their smartphone to a remote storage device (e.g., cloud storage). When the user presses the "upload" button using the device's application, the selected image is sent to the remote storage device. The server receives the image data from this remote storage device via an API and stores it in a temporary storage directory.

[0088] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. Then, it sorts the images chronologically based on the timestamps. Specifically, it uses the Python pandas library to create a dataframe and sorts it in ascending order using the timestamp as the key. The resulting list of images is then saved to a new directory.

[0089] Next, the server uses biometric authentication technology to detect people in the image. First, it converts the image to grayscale using the OpenCV library, and then detects faces using the Haar Cascade classifier. If a face is detected, its coordinates (x, y) and size (width, height) are obtained.

[0090] The system optimizes the image so that the detected face is centered. The server determines the cropping area of ​​the new image based on the face's center coordinates. This process utilizes OpenCV functions such as cv2.resize and cv2.getRectSubPix. The optimized image is saved as a new file.

[0091] The server automatically generates comments based on the image's timestamp and biometric authentication results. For example, it uses the datetime library to format the timestamp and generate a comment including the face recognition result. The generated comments are stored in the database along with the image data. An example of a generated comment might be, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0092] The user's device synchronizes with the smartphone's schedule management information (e.g., Google Calendar) and sends event information to the server. When the "Sync" button is pressed on the device, the schedule data is sent to the server via API. The server receives this information, saves specific dates (e.g., anniversaries or event dates) to a database, and when a specific anniversary approaches, selects the corresponding image and sends a notification with a comment to the user's device. An example of a notification message would be, "Notifying you of a photo taken on September 15, 2023."

[0093] This system allows users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications. Below are examples of prompts for the generative AI model:

[0094] "Please generate a wonderful comment for the following photo. Photo information: Timestamp: 2023-09-15 14:30:00, Face recognition result: Face detected. Please write your comment imagining what moment this photo captures."

[0095] "I want to make the background of the photo brighter and more prominent, so please optimize the photo."

[0096] As described above, this invention enables seamless processing of a series of processes, from uploading photo data to organizing, optimizing, generating comments, and sending notifications.

[0097] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0098] Step 1:

[0099] The user uploads image data from their device. The user's input is a photo taken with a device such as a smartphone. When the user presses the "Upload" button, this photo data is sent to a remote storage device (e.g., cloud storage). The output is the image data received on the server side.

[0100] Step 2:

[0101] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. The input is the image data and its metadata, and the output is the analysis results including the timestamp information. The server uses the Python pandas library to create a dataframe with the timestamp as the key and sorts the image data in chronological order. This sorts the images in ascending or descending order, and they are saved to a new directory.

[0102] Step 3:

[0103] The server uses biometric authentication technology to detect people in an image. The input is organized image data. The server converts the image to grayscale using the OpenCV library and then detects faces using the Haar Cascade classifier. The output is the location information (coordinates and size) of the detected faces.

[0104] Step 4:

[0105] The server optimizes the image based on the detected face location information. The input is image data containing face location information. The server determines the cropping area of ​​the photo based on the center of the face and uses OpenCV's cv2.resize and cv2.getRectSubPix to enlarge, reduce, and crop the image. The output is the optimized image, which is saved as a new file.

[0106] Step 5:

[0107] The server automatically generates comments based on the image's timestamp and biometric authentication results. The input consists of optimized image data and the facial recognition result. The server uses the datetime library to format the timestamp and generates a comment including the facial recognition result. The output is the generated comment, which is stored in the database along with the image data.

[0108] Step 6:

[0109] The user's device sends schedule management information to the server. The input is the schedule information from the mobile device. When the user presses the "Sync" button on the device, the schedule data is sent to the server via API. The server receives this information and saves specific dates (e.g., anniversaries or event dates) to the database. The output is the saved schedule information.

[0110] Step 7:

[0111] When a specific anniversary approaches, the server selects a relevant image and sends a notification with a comment to the user's device. The input is the anniversary information and associated image data. The server uses the datetime library to check the anniversary and select the relevant image and comment. The output is a notification message sent to the user's device. For example, a message such as "Notifying you of a photo taken on September 15, 2023" is generated and sent to the user.

[0112] As described above, by performing specific processing based on the input data at each step and outputting the results, users can smoothly manage their photo data and utilize photos and comments related to important dates such as anniversaries.

[0113] (Application Example 1)

[0114] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0115] Traditional photo management systems have struggled to efficiently organize daily shooting data and provide personalized notifications tailored to anniversaries and campaign events. Furthermore, photo optimization and comment generation based on facial recognition are limited, making it difficult to offer users a special experience. Therefore, there is a need for a system that simultaneously achieves efficient photo data management and a personalized user experience.

[0116] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0117] In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, reducing, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), and means for acquiring photo data taken using a camera installed in a smart device, adding automatically generated comments and messages to the taken photos, selecting photos using specific prompt messages when anniversaries or campaign events are approaching, and notifying users along with identification information. This enables centralized management of efficient organization, editing, comment generation, and notifications based on anniversaries and events for photo data.

[0118] A "device" is an electronic device used by a user to take and upload photo data.

[0119] "Photo data" refers to image files taken by users and uploaded from their devices.

[0120] "Uploading" refers to the act of sending photo data from a device to a server.

[0121] "Rearranging in chronological order" means organizing photo data in order based on the date and time it was taken.

[0122] "Facial recognition technology" is a technology used to detect and identify faces within an image.

[0123] "Detecting" means finding a specific element (e.g., a face) within photographic data.

[0124] "Optimization" refers to editing a photograph, such as enlarging, shrinking, or cropping it, so that the detected face is centered.

[0125] "Automatic comment generation" refers to the process of automatically creating text based on photo data and related information.

[0126] A "smart device" is an electronic device that can connect to the internet and install applications.

[0127] A "camera" is a device used to capture photographic data.

[0128] A "commemorative day" is a day that commemorates a specific event or date.

[0129] A "campaign" is a short-term promotion conducted as part of sales promotion activities or events.

[0130] A "prompt statement" is a phrase used to instruct the system to perform a specific task.

[0131] "Identification information" refers to information used for notifications or to perform specific actions.

[0132] "Notification" is the act of communicating information to a user.

[0133] To realize this invention, it is necessary to construct a system in which the user's terminal, server, and smart device work together in coordination.

[0134] First, the user takes a photo using a smart device. This smart device has internet connectivity and a means to upload the captured photo data to cloud storage. For example, it is possible to set up photos taken with a smartphone to be automatically saved to the cloud. At this time, the photo data includes metadata such as the date and time it was taken.

[0135] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp. A database management system (e.g., MySQL®, PostgreSQL) is used for this process.

[0136] Next, the server uses facial recognition technology to detect faces in each photograph. This process utilizes the OpenCV library. Specifically, it converts the photographs to grayscale and detects faces using the Haar Cascade classifier. If a face is detected, the photograph is optimized based on its location information. During the optimization process, the photograph is appropriately enlarged, reduced, or cropped.

[0137] The optimized photo data is further enhanced with automatically generated comments. The server generates comments based on the photo data's timestamp and facial recognition results. Natural language processing technology is used in this generation process. For example, a generation AI model (e.g., GPT-3®) is used to generate comments such as, "This photo was taken on September 15, 2023. A face was detected."

[0138] By linking the smart device's calendar information with a server, the server notifies the user of relevant photos as specific anniversaries or campaign events approach. This uses a push notification service (e.g., Firebase Cloud Messaging). The notification uses text such as "Notifying you of photos taken on September 15, 2023" as a prompt.

[0139] As a concrete example, the following prompt sentence is input to the generation AI model:

[0140] "Create an application that uploads photos, performs facial recognition, generates comments based on the date the photo was taken and the results, and sends notifications on specific dates. Sort the photos taken with the camera chronologically, display the date and time they were taken, and generate the comment "Face detected" if a face is detected."

[0141] This allows the invention to centrally manage the organization, editing, and comment generation of photos taken by users, as well as notifications based on anniversaries and events.

[0142] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0143] Step 1:

[0144] The user takes a photo and uploads it from their device to cloud storage.

[0145] Specifically, the user takes a photo with a smart device (e.g., a smartphone) and sends the photo data to cloud storage via an internet connection. The input data is the photo that was taken, and the output data is the photo stored in the cloud storage.

[0146] Step 2:

[0147] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp.

[0148] Specifically, the server downloads photo data from cloud storage and saves it to a database management system (e.g., MySQL, PostgreSQL). The input data consists of photo files retrieved from cloud storage, while the output data consists of photos stored in the database, sorted chronologically.

[0149] Step 3:

[0150] The server uses facial recognition technology to detect faces in each photo.

[0151] Specifically, the server uses the OpenCV library to convert photos to grayscale and detects faces using the Haar Cascade classifier. The input data consists of photos arranged in chronological order, and the output data is the face detection result (including face location information).

[0152] Step 4:

[0153] The server optimizes the photo (enlarges, reduces, or crops) based on the faces it detects.

[0154] Specifically, the server obtains face position information from a grayscale photograph and crops the photograph so that the face is centered. The input data consists of the face detection results and the original photograph data, while the output data is the optimized photograph.

[0155] Step 5:

[0156] The server automatically generates comments based on the photo data and related information (date and time, face detection results, etc.).

[0157] Specifically, the server uses a generative AI model (e.g., GPT-3) to automatically generate comments based on the query input. The input data consists of optimized photos and their metadata, while the output data consists of the generated comments.

[0158] Step 6:

[0159] The system synchronizes calendar information from smart devices with a server to select photos and send notifications based on specific dates (anniversaries or campaigns).

[0160] Specifically, the system synchronizes the user's smart device calendar information with a server, selects relevant photos and comments as a specific date approaches, and notifies the user via a push notification service (e.g., Firebase Cloud Messaging). The input data consists of calendar information and photo metadata, while the output data is the notification message sent to the user.

[0161] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0162] This invention is a system in which a user uploads photo data from a terminal, a server sorts it in chronological order, optimizes the photos using facial recognition technology, automatically generates comments, and sends notifications based on a specific date. In addition, it incorporates an emotion engine to recognize the user's emotions and select photos and comments based on those emotions.

[0163] Program Processing Overview

[0164] Embedding an emotion engine and recognizing user emotions

[0165] The user uploads photo data from their device. In the process of retrieving the photo data from cloud storage, the server also collects emotional information (e.g., audio or text data) from the user's device.

[0166] The emotion engine analyzes this data to recognize the user's emotions (e.g., joy, sadness, surprise). For example, the emotion engine analyzes voice messages and text comments provided by users when uploading photos and tags them with emotions such as "joy" or "sadness."

[0167] Acquisition and organization of photo data

[0168] The server retrieves the uploaded photo data, analyzes its filename and timestamp, and sorts it chronologically. The sorted photo list is then saved for subsequent processing.

[0169] Facial recognition and optimization

[0170] The server processes the photo data sequentially using the OpenCV library. It converts the loaded image data to grayscale images and detects faces using the Haar Cascade classifier. If a face is detected, it obtains its location information (face coordinates and size).

[0171] The server optimizes the photo data based on the facial recognition results. For example, it dynamically enlarges, reduces, or crops the photo so that the detected face is centered. This optimized photo is then saved.

[0172] Automatic comment generation

[0173] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also takes into account the emotions recognized by the emotion engine, generating comments in the format of, for example, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[0174] Anniversary notification synchronization

[0175] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0176] Emotion-based photo selection

[0177] The server manages and integrates calendar information and emotion recognition results, selecting appropriate photos as anniversaries approach. For example, to coincide with a specific event (e.g., a wedding anniversary), it prioritizes selecting photos that were previously tagged with "joy."

[0178] The server sends a notification.

[0179] On the anniversary, a selected photo and its accompanying comment are sent to the user's device. For example, if the anniversary is September 15th, the server will send a notification with a message such as, "Do you remember this joyful photo? It's a commemorative photo from 2023-09-15."

[0180] This invention enables users to manage, edit, and generate comments on photos, and receive anniversary notifications more efficiently and emotionally, thereby providing a more personalized experience.

[0181] The following describes the processing flow.

[0182] Step 1:

[0183] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0184] Step 2:

[0185] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0186] Step 3:

[0187] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0188] Step 4:

[0189] When a user uploads a photo, their device simultaneously sends emotional data, such as voice messages or text comments. For example, the user might enter a comment saying, "I had fun taking this photo!"

[0190] Step 5:

[0191] The server uses an emotion engine to analyze voice and text data to recognize the user's emotions. In this process, emotions such as "joy," "sadness," and "surprise" are identified.

[0192] Step 6:

[0193] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0194] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0195] Step 7:

[0196] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0197] Step 8:

[0198] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also combines the emotions recognized by the emotion engine to generate comments in the format of, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[0199] Step 9:

[0200] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0201] Step 10:

[0202] The server manages calendar information and emotion recognition results, and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo tagged with the emotion "joy" for that day.

[0203] The server notifies the user's device of a photo selected to coincide with the anniversary, along with a comment. The notification message might read something like, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023."

[0204] As described above, the system of the present invention is realized through the concrete actions of the server, terminal, and user at each step.

[0205] (Example 2)

[0206] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0207] In recent years, the number of photos taken by individuals has steadily increased due to the widespread use of smartphones and digital cameras. However, efficiently managing large amounts of photo data, selecting appropriate photos for specific dates or events, and generating personalized comments based on emotions requires considerable effort. Traditional systems require users to manually tag and categorize photos, making it difficult to properly organize large amounts of photo data. Furthermore, notification functions tailored to specific dates are limited, making it difficult to provide a personalized experience.

[0208] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for recognizing the faces of people in the images using identification technology, means for optimization, means for automatically generating comments based on the image data and its related information, means for selecting and notifying images based on the dates of anniversaries and events in conjunction with the calendar information of the mobile terminal, means for recognizing the user's emotions by analyzing voice data and text data, and means for selecting images and comments based on the recognized emotions. As a result, users can efficiently manage and edit photo data, generate personalized comments, and receive anniversary notifications, providing a more fulfilling user experience.

[0209] A "terminal" is an information processing device such as a user's computer or smartphone used for uploading photo data or receiving notifications.

[0210] "Image data" refers to photographs and picture files saved in a digital format that users can upload via their devices.

[0211] "Means of uploading" refers to the methods and functions that allow a user to transfer image data from their device to a server.

[0212] "Methods for sorting by time" refers to methods or functions that order uploaded image data based on the date and time of shooting.

[0213] "Identification technology" refers to algorithms and software used to identify human faces present in image data.

[0214] "Optimization methods" refer to methods or functions that process (enlarge, reduce, crop) image data so that faces detected by recognition technology are displayed in the best possible way.

[0215] "Methods for automatically generating comments" refers to methods or functions in which a system automatically generates explanatory text or annotations based on relevant information from image data (such as date and time or facial recognition results).

[0216] A "mobile terminal" is a portable information processing device used by a user, and primarily refers to smartphones and tablet devices.

[0217] "Calendar information" refers to date information for anniversaries and events stored on a mobile device.

[0218] "Means of notification" refers to methods and functions for notifying the user's device of selected image data and related information.

[0219] "Voice data" refers to digital data that records the voice spoken by the user and is used for emotion recognition.

[0220] "Text data" refers to the written data entered by the user and is used for sentiment recognition.

[0221] "Means of recognizing user emotions" refers to methods or functions that analyze voice data or text data to identify the user's emotions (joy, sadness, surprise, etc.).

[0222] "Means for selecting images and comments" refers to methods and functions for selecting appropriate images and their corresponding comments based on recognized emotions.

[0223] This invention relates to a system in which a user uploads image data from a terminal, a server sorts it chronologically, uses identification technology to recognize faces in the images, uses an emotion engine to automatically generate comments, and sends notifications based on a specific date.

[0224] System Configuration

[0225] The main components of this system are as follows:

[0226] Terminal (information processing device)

[0227] server

[0228] Cloud storage

[0229] Emotional Engine

[0230] Facial recognition technology

[0231] Calendar Information

[0232] Notification system

[0233] Hardware and software

[0234] Users upload image data using devices such as smartphones and personal computers. The server retrieves the data from cloud storage and uses a common face recognition library (e.g., OpenCV) for face recognition. Various emotion recognition algorithms are employed for emotion recognition. For example, there is speech recognition software for analyzing audio data and a natural language processing engine for analyzing text data.

[0235] Data processing and calculation

[0236] The device uploads image data to cloud storage, and the server retrieves that image data. The server sorts the image data chronologically based on its time information. Next, the server uses facial recognition technology to detect faces in the image data and obtains their location information. Based on the obtained facial information, the server optimizes the image data. This optimization includes processes such as enlarging, shrinking, or cropping the image so that the face is centered.

[0237] The emotion engine analyzes voice messages and text comments provided by users during upload to recognize their emotions. For example, it tags emotions such as "joy" from voice data and "sadness" from text data. The server then automatically generates comments based on the optimized image data and emotion tags.

[0238] Calendar information is synchronized from the user's device to the server. The server manages the calendar information and emotion recognition results, and selects appropriate images as anniversaries and events approach. For example, it prioritizes selecting images tagged with "joy" for wedding anniversaries and sends notifications accordingly.

[0239] Specific example

[0240] For example, consider a scenario where a user uploads a photo taken with their smartphone. Suppose the user uploads the photo with the text comment, "September 15, 2023: Had a fun picnic with family." The server retrieves this photo from cloud storage and sorts it chronologically based on its timestamp information. It uses OpenCV to recognize faces in the photo and optimizes the image so that faces are centered. An emotion engine analyzes the text comment and tags it with "joy." As a result, a comment like, "This photo was taken on 2023-09-15. A moment of joy," is automatically generated. Finally, the server uses this information to set a notification before a specific date (for example, the same day next year) and sends the user the message, "Do you remember this joyful photo?"

[0241] Example of a prompt

[0242] The following are specific examples of prompt statements to be input to a generative AI model.

[0243] Please describe the process for a system that analyzes the timestamp and sentiment of uploaded photos using an emotion engine and facial recognition, generates a chronologically sorted list of photos, and notifies the user based on a specific date. Please also include the names of any specific hardware or software used.

[0244] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0245] Step 1:

[0246] The user uploads image data (photos) to the system using their device. Specifically, they press a "Photo Upload" button through an application on their smartphone or computer, select a photo, and send it. The prompt will be, "The user will retrieve and upload a photo." The input is image data on the device, and the output is image data stored in cloud storage.

[0247] Step 2:

[0248] The server retrieves image data uploaded from cloud storage. The server retrieves metadata (e.g., timestamps) from the image files and sorts them chronologically based on this metadata. The input is unsorted image data retrieved from cloud storage, and the output is chronologically sorted image data.

[0249] Step 3:

[0250] The server uses the OpenCV library to perform face recognition on the acquired image data. Specifically, it converts the image data to grayscale and detects faces using the Haar Cascade classifier. It then obtains the location information (coordinates and size) of the detected faces. The input is image data arranged in chronological order, and the output is image data with the face locations identified.

[0251] Step 4:

[0252] The server optimizes the image data based on the face recognition results. Specifically, it performs processes such as scaling, cropping, etc., so that the recognized face is centered in the image. The input is image data with identified face positions, and the output is the optimized image data.

[0253] Step 5:

[0254] Users may provide sentiment data (voice messages or text comments) when uploading images. The server retrieves this sentiment data and analyzes it using a sentiment engine. Specifically, it assigns sentiment tags such as "joy" and "sadness" using speech recognition and natural language processing. The input is voice data or text data, and the output is sentiment tags.

[0255] Step 6:

[0256] The server automatically generates comments based on optimized image data and sentiment tags, using relevant information (face recognition results, timestamps, etc.). For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A moment of joy." The input is optimized image data and sentiment tags, and the output is an automatically generated comment.

[0257] Step 7:

[0258] The device synchronizes the user's calendar information with the server. Specifically, it retrieves date information for anniversaries and events from the smartphone's calendar app and sends it to the server. The input is data from the calendar app, and the output is the synchronized calendar information.

[0259] Step 8:

[0260] The server selects appropriate images as anniversaries and events approach, based on synchronized calendar information and emotion recognition results. For example, it prioritizes selecting photos tagged with "joy" before a wedding anniversary. The input is synchronized calendar information and emotion tags, and the output is the selected image data.

[0261] Step 9:

[0262] The server notifies the user's device of the selected image data and automatically generated comments, timed to coincide with the anniversary or event date. For example, a message such as, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023," might appear on the user's smartphone. The input is the selected image data and automatically generated comments, and the output is the notification message sent to the user's device.

[0263] (Application Example 2)

[0264] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".

[0265] In recent years, personalization technology utilizing photographs has attracted attention, but conventional systems have failed to select optimal photos and generate comments that take into account the user's emotions. As a result, the user experience tends to be uniform, and the provision of emotionally resonant photos and comments is insufficient even for special events and anniversaries. Furthermore, there were challenges such as the inefficiency of managing large amounts of photo data and notifications, making it difficult for users to effectively relive their memories.

[0266] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, shrinking, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), means for recognizing emotions from voice data and text data provided by the user at the time of upload using the emotion engine of a smart display, means for selecting and optimizing photos and comments based on the recognized emotions, and means for selecting photos and notifying users based on the dates of anniversaries and events in conjunction with the calendar information of a smartphone. This makes it possible to provide personalized photos and comments that take into account the user's emotions, thereby providing an even richer user experience.

[0267] A "terminal" is an information processing device used by users to upload photo data.

[0268] "Photo data" refers to digital image files that users upload from their devices.

[0269] "Chronological order" refers to the order in which photo data is sorted according to the date and time it was taken.

[0270] "Facial recognition technology" is a technology used to detect and identify faces in photographs.

[0271] "Optimization" is the process of enlarging, reducing, or cropping a photograph based on the detected faces.

[0272] "Automatic comment generation" is a process in which a computer automatically generates text comments based on photo data and related information.

[0273] A "smart display" is an information processing device with a display that is used to collect and analyze user emotional information.

[0274] An "emotion engine" is a software or hardware function that analyzes voice and text data to recognize a user's emotions.

[0275] "Calendar information" refers to the date information of anniversaries and events stored on the device.

[0276] "Anniversary notification" is a process that notifies users of a photo and comment based on a specific date.

[0277] The system implementing this invention operates by coordinating the user's terminal, server, and cloud storage. Specifically, the following procedures and components are required.

[0278] Users upload photo data using their devices. Once the device has finished uploading the photos, the data is saved to cloud storage. Cloud storage is a digital storage service for efficiently managing and storing large amounts of photo data.

[0279] The server retrieves photo data from cloud storage and sorts it chronologically. This involves analyzing the timestamps of the uploaded photo data. This process organizes the photos according to the order in which they were taken.

[0280] Next, the server uses face recognition technology to detect the face shown in the photo. The OpenCV library is used for this process. The OpenCV library is an open-source software library specialized in image processing and also includes a face recognition algorithm. If a face is detected, its position information (the coordinates and size of the face) is obtained. Based on the face recognition result, the photo is automatically optimized. Specifically, the photo is enlarged, reduced, or cropped based on the position of the face.

[0281] The server further analyzes the user's emotion information using an emotion engine. The voice data and text data provided by the user when uploading the photo are used for this process. The emotion engine is software or hardware for analyzing these data and recognizing the user's emotions (e.g., joy, sadness, etc.). For example, the voice data is converted into text using speech-to-text conversion technology, and the emotion is analyzed from that text.

[0282] After the emotion is recognized, the server automatically generates a comment based on the photo data and its related information (date and time, face recognition result, emotion information, etc.). This automatically generated comment is input into a generative AI model using a prompt sentence. Specific examples of prompt sentences are shown below.

[0283] This photo was taken at 2023-09-15 14:30:00. The emotion is "joy". Please generate a short comment.

[0284] Also, the server is linked with the smartphone's calendar information and selects and notifies photos based on the dates of anniversaries and events. The calendar information can use data from, for example, Google Calendar or Apple Calendar. When an anniversary approaches, an appropriate photo is selected based on the emotion recognition result, and a notification is sent to the user's terminal. This notification is used to evoke memories related to a specific date.

[0285] This system enables the provision of personalized photos and comments considering the user's emotions, and can provide a richer user experience. This system personalizes the user's daily life and special events based on emotions, and further realizes efficient photo management and notifications.

[0286] The flow of the specific process in Application Example 2 will be described using FIG. 14.

[0287] Step 1: Upload of photo data

[0288] The user uploads photo data using a terminal. At this time, voice messages and text data are also provided together.

[0289] Input: User's photo data, voice message, text data

[0290] Output: Photo data, voice data, text data saved in cloud storage

[0291] Specific operation: The user completes the photo selection and upload process via the application on the terminal.

[0292] Step 2: Acquisition of photo data and sorting in chronological order

[0293] The server acquires photo data from cloud storage and sorts the photo data in chronological order based on the timestamp.

[0294] Input: Photo data saved in cloud storage

[0295] Output: Photo data sorted in chronological order

[0296] Specific operation: The server analyzes the timestamp and performs the process of sorting the photos in the order of the shooting date and time.

[0297] Step 3: Facial recognition and photo optimization

[0298] The server uses the OpenCV library to detect the faces shown in the photos and optimizes the photos (enlarging, shrinking, cropping) based on the face position information.

[0299] Input: Photo data sorted in chronological order

[0300] Output: Optimized photo data, face position information

[0301] Specific operation: The server converts each photo into a grayscale image, uses a face recognition algorithm to detect the face, and enlarges, shrinks, or crops the photo so that the detected face is centered.

[0302] Step 4: Emotion recognition

[0303] The server uses an emotion engine to recognize emotions from the voice data and text data provided by the user during upload.

[0304] Input: Voice data, text data

[0305] Output: Recognized emotion information (happiness, sadness, etc.)

[0306] Specific operation: The server converts the voice data into text, and analyzes the text data and the provided text data with the emotion engine to generate emotion tags.

[0307] Step 5: Automatic comment generation

[0308] The server automatically generates comments based on the timestamp and emotion information of the photo data. Input the prompt text into the generation AI model.

[0309] Input: Optimized photo data, timestamp, emotion information

[0310] Output: Automatically generated comments

[0311] Specific operation: The server generates a prompt message and inputs it into the AI ​​model to generate a comment. For example, the prompt message "This photo was taken on 2023-09-15 14:30:00. The emotion is 'joy'. Please generate a short comment." is input into the AI ​​model.

[0312] Step 6: Anniversary and Event Notifications

[0313] The server integrates with the smartphone's calendar information and notifies users of photos and generated comments based on the dates of anniversaries and events.

[0314] Input: Calendar information, optimized photo data, comments

[0315] Output: Notifications related to anniversaries and events

[0316] Specific operation: The server analyzes the user's calendar data, selects appropriate photos and comments as a specific date approaches, and sends a notification to the device.

[0317] Step 7: Receiving and displaying notifications

[0318] Users receive, view, and check anniversary and event notifications on their devices.

[0319] Input: Notifications related to anniversaries or events (with photos and comments)

[0320] Output: Display of notifications, viewing of photos and comments

[0321] Specific operation: The device receives the notification sent by the server and displays it to the user as a pop-up notification or in-app message.

[0322] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.

[0323] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0324] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0325] [Second Embodiment]

[0326] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0327] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0328] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0329] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.

[0330] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0331] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0332] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0333] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0334] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

[0335] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0336] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0337] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".

[0338] This invention relates to a system in which a user uploads photo data from a terminal, a server sorts the data chronologically, optimizes the photos using facial recognition technology, automatically generates comments, and also sends notifications based on a specific date.

[0339] Program Processing Overview

[0340] Acquisition and organization of photo data

[0341] Users upload photo data from their devices to the server. For example, when a user uploads photos taken with their smartphone to cloud storage, this photo data is sent to the server.

[0342] The server retrieves the uploaded photo data and organizes the photos chronologically based on their filenames and timestamps. The photos are then sorted in ascending or descending order based on the date and time they were taken.

[0343] Facial recognition and optimization

[0344] The server uses the OpenCV library to perform face recognition on each photograph. Specifically, it first converts the photograph to grayscale, and then uses the Haar Cascade classifier to detect faces. If a face is detected, it obtains the position information of that face (coordinates and size of a rectangle).

[0345] For photos in which a face is detected, the server optimizes the photo so that the face is centered. This optimization process involves appropriate scaling and cropping. The optimized photo is then saved as a new file.

[0346] Automatic comment generation

[0347] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, if a photo was taken on "September 15, 2023 at 2:30 PM" and a face was detected, it will generate a comment such as, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0348] Anniversary notification synchronization

[0349] The user's device synchronizes with the smartphone's calendar application and sends calendar information to the server. The server manages specific dates (e.g., anniversaries and events) based on this calendar information. When a specific anniversary approaches, the server selects a photo related to that day and sends a notification.

[0350] For example, if a user designates "September 15, 2023" as a commemorative day, as that day approaches, the server will notify the user's device with an optimized photo and comment, along with the message, "We will notify you of photos taken on September 15, 2023."

[0351] As described above, the present invention is a system for efficiently managing photo data, with the terminal, server, and user each fulfilling their respective roles. This system allows users to easily organize, edit, and generate comments on photos, and receive anniversary notifications, enabling centralized management of memories.

[0352] The following describes the processing flow.

[0353] Step 1:

[0354] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0355] Step 2:

[0356] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0357] Step 3:

[0358] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0359] Step 4:

[0360] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0361] Step 5:

[0362] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0363] Step 6:

[0364] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0365] Step 7:

[0366] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A face was detected."

[0367] Step 8:

[0368] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0369] Step 9:

[0370] The server manages calendar information and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo taken on September 15th.

[0371] Step 10:

[0372] The server notifies the user's device of a photo selected for the anniversary, along with a comment. The user receives the notification and can view the photo and comment.

[0373] (Example 1)

[0374] Next, we will describe Example 1. 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."

[0375] In recent years, the amount of photo data taken by individuals has become enormous, making it difficult to efficiently manage, organize, and link it to specific dates for notifications. Furthermore, technologies for automatically optimizing and generating the location of people and related comments within photos are still not sufficiently developed. Therefore, there is a need for systems that allow users to effectively utilize photo data and manage their memories.

[0376] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0377] In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for detecting people in the images using biometric authentication technology, means for optimizing the images (enlarging, reducing, cropping) based on the detected people, means for automatically generating comments based on the image data and its related information (date and time, biometric authentication results, etc.), and means for selecting images and sending notifications based on specific dates in conjunction with the mobile terminal's schedule management information. This enables users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications.

[0378] "Terminal" refers to information devices such as computers and smartphones used by users.

[0379] "Image data" refers to still images and photographic data acquired by a user using their device.

[0380] "Uploading" means sending data from a user's device to a server or remote storage device.

[0381] A "remote storage device" refers to a storage medium that can be accessed via the internet, such as cloud storage.

[0382] "Sort chronologically" refers to sorting data in ascending or descending order based on the date and time the image data was taken.

[0383] "Biometric authentication technology" refers to technology used to detect and identify individuals within image data.

[0384] "Optimization" refers to processing image data, such as enlarging, reducing, or cropping, to satisfy specific conditions (e.g., the central position of a person).

[0385] "Automatic comment generation" refers to the system automatically creating relevant text information based on the metadata and recognition results of image data.

[0386] "Mobile devices" refer to portable information devices such as smartphones and tablets that contain schedule management information.

[0387] "Schedule management information" refers to digital data that manages information about a user's schedule or specific dates.

[0388] "Notification" refers to the action of informing a user's device of specific information or events (e.g., anniversaries) when they occur.

[0389] This invention is a system in which a user uploads image data from a terminal, a server sorts it in chronological order, optimizes the image using biometric authentication technology, automatically generates comments, and also sends notifications based on a specific date.

[0390] Users upload image data using devices such as smartphones. For example, a user uploads a photo taken with their smartphone to a remote storage device (e.g., cloud storage). When the user presses the "upload" button using the device's application, the selected image is sent to the remote storage device. The server receives the image data from this remote storage device via an API and stores it in a temporary storage directory.

[0391] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. Then, it sorts the images chronologically based on the timestamps. Specifically, it uses the Python pandas library to create a dataframe and sorts it in ascending order using the timestamp as the key. The resulting list of images is then saved to a new directory.

[0392] Next, the server uses biometric authentication technology to detect people in the image. First, it converts the image to grayscale using the OpenCV library, and then detects faces using the Haar Cascade classifier. If a face is detected, its coordinates (x, y) and size (width, height) are obtained.

[0393] The system optimizes the image so that the detected face is centered. The server determines the cropping area of ​​the new image based on the face's center coordinates. This process utilizes OpenCV functions such as cv2.resize and cv2.getRectSubPix. The optimized image is saved as a new file.

[0394] The server automatically generates comments based on the image's timestamp and biometric authentication results. For example, it uses the datetime library to format the timestamp and generate a comment including the face recognition result. The generated comments are stored in the database along with the image data. An example of a generated comment might be, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0395] The user's device synchronizes with the smartphone's schedule management information (e.g., Google Calendar) and sends event information to the server. When the "Sync" button is pressed on the device, the schedule data is sent to the server via API. The server receives this information, saves specific dates (e.g., anniversaries or event dates) to a database, and when a specific anniversary approaches, it selects the corresponding image and sends a notification with a comment to the user's device. An example of a notification message would be, "Notifying you of a photo taken on September 15, 2023."

[0396] This system allows users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications. Below are examples of prompts for the generative AI model:

[0397] "Please generate a wonderful comment for the following photo. Photo information: Timestamp: 2023-09-15 14:30:00, Face recognition result: Face detected. Please write your comment imagining what moment this photo captures."

[0398] "I want to make the background of the photo brighter and more prominent, so please optimize the photo."

[0399] As described above, this invention enables seamless processing of a series of processes, from uploading photo data to organizing, optimizing, generating comments, and sending notifications.

[0400] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0401] Step 1:

[0402] The user uploads image data from their device. The user's input is a photo taken with a device such as a smartphone. When the user presses the "Upload" button, this photo data is sent to a remote storage device (e.g., cloud storage). The output is the image data received on the server side.

[0403] Step 2:

[0404] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. The input is the image data and its metadata, and the output is the analysis results including the timestamp information. The server uses the Python pandas library to create a dataframe with the timestamp as the key and sorts the image data in chronological order. This sorts the images in ascending or descending order, and they are saved to a new directory.

[0405] Step 3:

[0406] The server uses biometric authentication technology to detect people in an image. The input is organized image data. The server converts the image to grayscale using the OpenCV library and then detects faces using the Haar Cascade classifier. The output is the location information (coordinates and size) of the detected faces.

[0407] Step 4:

[0408] The server optimizes the image based on the detected face location information. The input is image data containing face location information. The server determines the cropping area of ​​the photo based on the center of the face and uses OpenCV's cv2.resize and cv2.getRectSubPix to enlarge, reduce, and crop the image. The output is the optimized image, which is saved as a new file.

[0409] Step 5:

[0410] The server automatically generates comments based on the image's timestamp and biometric authentication results. The input consists of optimized image data and the facial recognition result. The server uses the datetime library to format the timestamp and generates a comment including the facial recognition result. The output is the generated comment, which is stored in the database along with the image data.

[0411] Step 6:

[0412] The user's device sends schedule management information to the server. The input is the schedule information from the mobile device. When the user presses the "Sync" button on the device, the schedule data is sent to the server via API. The server receives this information and saves specific dates (e.g., anniversaries or event dates) to the database. The output is the saved schedule information.

[0413] Step 7:

[0414] When a specific anniversary approaches, the server selects a relevant image and sends a notification with a comment to the user's device. The input is the anniversary information and associated image data. The server uses the datetime library to check the anniversary and select the relevant image and comment. The output is a notification message sent to the user's device. For example, a message such as "Notifying you of a photo taken on September 15, 2023" is generated and sent to the user.

[0415] As described above, by performing specific processing based on the input data at each step and outputting the results, users can smoothly manage their photo data and utilize photos and comments related to important dates such as anniversaries.

[0416] (Application Example 1)

[0417] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0418] Traditional photo management systems have struggled to efficiently organize daily shooting data and provide personalized notifications tailored to anniversaries and campaign events. Furthermore, photo optimization and comment generation based on facial recognition are limited, making it difficult to offer users a special experience. Therefore, there is a need for a system that simultaneously achieves efficient photo data management and a personalized user experience.

[0419] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0420] In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, reducing, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), and means for acquiring photo data taken using a camera installed in a smart device, adding automatically generated comments and messages to the taken photos, selecting photos using specific prompt messages when anniversaries or campaign events are approaching, and notifying users along with identification information. This enables centralized management of efficient organization, editing, comment generation, and notifications based on anniversaries and events for photo data.

[0421] A "device" is an electronic device used by a user to take and upload photo data.

[0422] "Photo data" refers to image files taken by users and uploaded from their devices.

[0423] "Uploading" refers to the act of sending photo data from a device to a server.

[0424] "Rearranging in chronological order" means organizing photo data in order based on the date and time it was taken.

[0425] "Facial recognition technology" is a technology used to detect and identify faces within an image.

[0426] "Detecting" means finding a specific element (e.g., a face) within photographic data.

[0427] "Optimization" refers to editing a photograph, such as enlarging, shrinking, or cropping it, so that the detected face is centered.

[0428] "Automatic comment generation" refers to the process of automatically creating text based on photo data and related information.

[0429] A "smart device" is an electronic device that can connect to the internet and install applications.

[0430] A "camera" is a device used to capture photographic data.

[0431] A "commemorative day" is a day that commemorates a specific event or date.

[0432] A "campaign" is a short-term promotion conducted as part of sales promotion activities or events.

[0433] A "prompt statement" is a phrase used to instruct the system to perform a specific task.

[0434] "Identification information" refers to information used for notifications or to perform specific actions.

[0435] "Notification" is the act of communicating information to a user.

[0436] To realize this invention, it is necessary to construct a system in which the user's terminal, server, and smart device work together in coordination.

[0437] First, the user takes a photo using a smart device. This smart device has internet connectivity and a means to upload the captured photo data to cloud storage. For example, it is possible to set up photos taken with a smartphone to be automatically saved to the cloud. At this time, the photo data includes metadata such as the date and time it was taken.

[0438] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp. A database management system (e.g., MySQL, PostgreSQL) is used for this process.

[0439] Next, the server uses facial recognition technology to detect faces in each photograph. This process utilizes the OpenCV library. Specifically, it converts the photographs to grayscale and detects faces using the Haar Cascade classifier. If a face is detected, the photograph is optimized based on its location information. During the optimization process, the photograph is appropriately enlarged, reduced, or cropped.

[0440] The optimized photo data is further enhanced with automatically generated comments. The server generates comments based on the photo data's timestamp and facial recognition results. Natural language processing techniques are used in this generation process. For example, a generative AI model (e.g., GPT-3) is used to generate comments such as, "This photo was taken on September 15, 2023. A face was detected."

[0441] By linking the smart device's calendar information with a server, the server notifies the user of relevant photos as specific anniversaries or campaign events approach. This uses a push notification service (e.g., Firebase Cloud Messaging). The notification uses text such as "Notifying you of photos taken on September 15, 2023" as a prompt.

[0442] As a concrete example, the following prompt sentence is input to the generation AI model:

[0443] "Create an application that uploads photos, performs facial recognition, generates comments based on the date the photo was taken and the results, and sends notifications on specific dates. Sort the photos taken with the camera chronologically, display the date and time they were taken, and generate the comment "Face detected" if a face is detected."

[0444] This allows the invention to centrally manage the organization, editing, and comment generation of photos taken by users, as well as notifications based on anniversaries and events.

[0445] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0446] Step 1:

[0447] The user takes a photo and uploads it from their device to cloud storage.

[0448] Specifically, the user takes a photo with a smart device (e.g., a smartphone) and sends the photo data to cloud storage via an internet connection. The input data is the photo that was taken, and the output data is the photo stored in the cloud storage.

[0449] Step 2:

[0450] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp.

[0451] Specifically, the server downloads photo data from cloud storage and saves it to a database management system (e.g., MySQL, PostgreSQL). The input data consists of photo files retrieved from cloud storage, while the output data consists of photos stored in the database, sorted chronologically.

[0452] Step 3:

[0453] The server uses facial recognition technology to detect faces in each photo.

[0454] Specifically, the server uses the OpenCV library to convert photos to grayscale and detects faces using the Haar Cascade classifier. The input data consists of photos arranged in chronological order, and the output data is the face detection result (including face location information).

[0455] Step 4:

[0456] The server optimizes the photo (enlarges, reduces, or crops) based on the faces it detects.

[0457] Specifically, the server obtains face position information from a grayscale photograph and crops the photograph so that the face is centered. The input data consists of the face detection results and the original photograph data, while the output data is the optimized photograph.

[0458] Step 5:

[0459] The server automatically generates comments based on the photo data and related information (date and time, face detection results, etc.).

[0460] Specifically, the server uses a generative AI model (e.g., GPT-3) to automatically generate comments based on the query input. The input data consists of optimized photos and their metadata, while the output data consists of the generated comments.

[0461] Step 6:

[0462] The system synchronizes calendar information from smart devices with a server to select photos and send notifications based on specific dates (anniversaries or campaigns).

[0463] Specifically, the system synchronizes the user's smart device calendar information with a server, selects relevant photos and comments as a specific date approaches, and notifies the user via a push notification service (e.g., Firebase Cloud Messaging). The input data consists of calendar information and photo metadata, while the output data is the notification message sent to the user.

[0464] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0465] This invention is a system in which a user uploads photo data from a terminal, a server sorts it in chronological order, optimizes the photos using facial recognition technology, automatically generates comments, and sends notifications based on a specific date. In addition, it incorporates an emotion engine to recognize the user's emotions and select photos and comments based on those emotions.

[0466] Program Processing Overview

[0467] Embedding an emotion engine and recognizing user emotions

[0468] The user uploads photo data from their device. In the process of retrieving the photo data from cloud storage, the server also collects emotional information (e.g., audio or text data) from the user's device.

[0469] The emotion engine analyzes this data to recognize the user's emotions (e.g., joy, sadness, surprise). For example, the emotion engine analyzes voice messages and text comments provided by users when uploading photos and tags them with emotions such as "joy" or "sadness."

[0470] Acquisition and organization of photo data

[0471] The server retrieves the uploaded photo data, analyzes its filename and timestamp, and sorts it chronologically. The sorted photo list is then saved for subsequent processing.

[0472] Facial recognition and optimization

[0473] The server processes the photo data sequentially using the OpenCV library. It converts the loaded image data to grayscale images and detects faces using the Haar Cascade classifier. If a face is detected, it obtains its location information (face coordinates and size).

[0474] The server optimizes the photo data based on the facial recognition results. For example, it dynamically enlarges, reduces, or crops the photo so that the detected face is centered. This optimized photo is then saved.

[0475] Automatic comment generation

[0476] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also takes into account the emotions recognized by the emotion engine, generating comments in the format of, for example, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[0477] Anniversary notification synchronization

[0478] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0479] Emotion-based photo selection

[0480] The server manages and integrates calendar information and emotion recognition results, selecting appropriate photos as anniversaries approach. For example, to coincide with a specific event (e.g., a wedding anniversary), it prioritizes selecting photos that were previously tagged with "joy."

[0481] The server sends a notification.

[0482] On the anniversary, a selected photo and its accompanying comment are sent to the user's device. For example, if the anniversary is September 15th, the server will send a notification with a message such as, "Do you remember this joyful photo? It's a commemorative photo from 2023-09-15."

[0483] This invention enables users to manage, edit, and generate comments on photos, and receive anniversary notifications more efficiently and emotionally, thereby providing a more personalized experience.

[0484] The following describes the processing flow.

[0485] Step 1:

[0486] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0487] Step 2:

[0488] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0489] Step 3:

[0490] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0491] Step 4:

[0492] When a user uploads a photo, their device simultaneously sends emotional data, such as voice messages or text comments. For example, the user might enter a comment saying, "I had fun taking this photo!"

[0493] Step 5:

[0494] The server uses an emotion engine to analyze voice and text data to recognize the user's emotions. In this process, emotions such as "joy," "sadness," and "surprise" are identified.

[0495] Step 6:

[0496] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0497] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0498] Step 7:

[0499] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0500] Step 8:

[0501] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also combines the emotions recognized by the emotion engine to generate comments in the format of, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[0502] Step 9:

[0503] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0504] Step 10:

[0505] The server manages calendar information and emotion recognition results, and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo tagged with the emotion "joy" for that day.

[0506] The server notifies the user's device of a photo selected to coincide with the anniversary, along with a comment. The notification message might read something like, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023."

[0507] As described above, the system of the present invention is realized through the concrete actions of the server, terminal, and user at each step.

[0508] (Example 2)

[0509] Next, we will describe Example 2. 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".

[0510] In recent years, the number of photos taken by individuals has steadily increased due to the widespread use of smartphones and digital cameras. However, efficiently managing large amounts of photo data, selecting appropriate photos for specific dates or events, and generating personalized comments based on emotions requires considerable effort. Traditional systems require users to manually tag and categorize photos, making it difficult to properly organize large amounts of photo data. Furthermore, notification functions tailored to specific dates are limited, making it difficult to provide a personalized experience.

[0511] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for recognizing the faces of people in the images using identification technology, means for optimization, means for automatically generating comments based on the image data and its related information, means for selecting and notifying images based on the dates of anniversaries and events in conjunction with the calendar information of the mobile terminal, means for recognizing the user's emotions by analyzing voice data and text data, and means for selecting images and comments based on the recognized emotions. As a result, users can efficiently manage and edit photo data, generate personalized comments, and receive anniversary notifications, providing a more fulfilling user experience.

[0512] A "terminal" is an information processing device such as a user's computer or smartphone used for uploading photo data or receiving notifications.

[0513] "Image data" refers to photographs and picture files saved in a digital format that users can upload via their devices.

[0514] "Means of uploading" refers to the methods and functions that allow a user to transfer image data from their device to a server.

[0515] "Methods for sorting by time" refers to methods or functions that order uploaded image data based on the date and time of shooting.

[0516] "Identification technology" refers to algorithms and software used to identify human faces present in image data.

[0517] "Optimization methods" refer to methods or functions that process (enlarge, reduce, crop) image data so that faces detected by identification technology are displayed in the best possible way.

[0518] "Methods for automatically generating comments" refers to methods or functions in which a system automatically generates explanatory text or annotations based on relevant information from image data (such as date and time or facial recognition results).

[0519] A "mobile terminal" is a portable information processing device used by a user, and primarily refers to smartphones and tablet devices.

[0520] "Calendar information" refers to date information for anniversaries and events stored on a mobile device.

[0521] "Means of notification" refers to methods and functions for notifying the user's device of selected image data and related information.

[0522] "Voice data" refers to digital data that records the voice spoken by the user and is used for emotion recognition.

[0523] "Text data" refers to the written data entered by the user and is used for sentiment recognition.

[0524] "Means of recognizing user emotions" refers to methods or functions that analyze voice data or text data to identify the user's emotions (joy, sadness, surprise, etc.).

[0525] "Means for selecting images and comments" refers to methods and functions for selecting appropriate images and their corresponding comments based on recognized emotions.

[0526] This invention relates to a system in which a user uploads image data from a terminal, a server sorts it chronologically, uses identification technology to recognize faces in the images, uses an emotion engine to automatically generate comments, and sends notifications based on a specific date.

[0527] System Configuration

[0528] The main components of this system are as follows:

[0529] Terminal (information processing device)

[0530] server

[0531] Cloud storage

[0532] Emotional Engine

[0533] Facial recognition technology

[0534] Calendar Information

[0535] Notification system

[0536] Hardware and software

[0537] Users upload image data using devices such as smartphones and personal computers. The server retrieves the data from cloud storage and uses a common face recognition library (e.g., OpenCV) for face recognition. Various emotion recognition algorithms are employed for emotion recognition. For example, there is speech recognition software for analyzing audio data and a natural language processing engine for analyzing text data.

[0538] Data processing and calculation

[0539] The device uploads image data to cloud storage, and the server retrieves that image data. The server sorts the image data chronologically based on its time information. Next, the server uses facial recognition technology to detect faces in the image data and obtains their location information. Based on the obtained facial information, the server optimizes the image data. This optimization includes processes such as enlarging, shrinking, or cropping the image so that the face is centered.

[0540] The emotion engine analyzes voice messages and text comments provided by users during upload to recognize their emotions. For example, it tags emotions such as "joy" from voice data and "sadness" from text data. The server then automatically generates comments based on the optimized image data and emotion tags.

[0541] Calendar information is synchronized from the user's device to the server. The server manages the calendar information and emotion recognition results, and selects appropriate images as anniversaries and events approach. For example, it prioritizes selecting images tagged with "joy" for wedding anniversaries and sends notifications accordingly.

[0542] Specific example

[0543] For example, consider a scenario where a user uploads a photo taken with their smartphone. Suppose the user uploads the photo with the text comment, "September 15, 2023: Had a fun picnic with family." The server retrieves this photo from cloud storage and sorts it chronologically based on its timestamp information. It uses OpenCV to recognize faces in the photo and optimizes the image so that faces are centered. An emotion engine analyzes the text comment and tags it with "joy." As a result, a comment like, "This photo was taken on 2023-09-15. A moment of joy," is automatically generated. Finally, the server uses this information to set a notification before a specific date (for example, the same day next year) and sends the user the message, "Do you remember this joyful photo?"

[0544] Example of a prompt

[0545] The following are specific examples of prompt statements to be input to a generative AI model.

[0546] Please describe the process for a system that analyzes the timestamp and sentiment of uploaded photos using an emotion engine and facial recognition, generates a chronologically sorted list of photos, and notifies the user based on a specific date. Please also include the names of any specific hardware or software used.

[0547] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0548] Step 1:

[0549] The user uploads image data (photos) to the system using their device. Specifically, they press a "Photo Upload" button through an application on their smartphone or computer, select a photo, and send it. The prompt will be, "The user will retrieve and upload a photo." The input is image data on the device, and the output is image data stored in cloud storage.

[0550] Step 2:

[0551] The server retrieves image data uploaded from cloud storage. The server retrieves metadata (e.g., timestamps) from the image files and sorts them chronologically based on this metadata. The input is unsorted image data retrieved from cloud storage, and the output is chronologically sorted image data.

[0552] Step 3:

[0553] The server uses the OpenCV library to perform face recognition on the acquired image data. Specifically, it converts the image data to grayscale and detects faces using the Haar Cascade classifier. It then obtains the location information (coordinates and size) of the detected faces. The input is image data arranged in chronological order, and the output is image data with the face locations identified.

[0554] Step 4:

[0555] The server optimizes the image data based on the face recognition results. Specifically, it performs processes such as scaling, cropping, etc., so that the recognized face is centered in the image. The input is image data with identified face positions, and the output is the optimized image data.

[0556] Step 5:

[0557] Users may provide sentiment data (voice messages or text comments) when uploading images. The server retrieves this sentiment data and analyzes it using a sentiment engine. Specifically, it assigns sentiment tags such as "joy" and "sadness" using speech recognition and natural language processing. The input is voice data or text data, and the output is sentiment tags.

[0558] Step 6:

[0559] The server automatically generates comments based on optimized image data and sentiment tags, using relevant information (face recognition results, timestamps, etc.). For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A moment of joy." The input is optimized image data and sentiment tags, and the output is an automatically generated comment.

[0560] Step 7:

[0561] The device synchronizes the user's calendar information with the server. Specifically, it retrieves date information for anniversaries and events from the smartphone's calendar app and sends it to the server. The input is data from the calendar app, and the output is the synchronized calendar information.

[0562] Step 8:

[0563] The server selects appropriate images as anniversaries and events approach, based on synchronized calendar information and emotion recognition results. For example, it prioritizes selecting photos tagged with "joy" before a wedding anniversary. The input is synchronized calendar information and emotion tags, and the output is the selected image data.

[0564] Step 9:

[0565] The server notifies the user's device of the selected image data and automatically generated comments, timed to coincide with the anniversary or event date. For example, a message such as, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023," might appear on the user's smartphone. The input is the selected image data and automatically generated comments, and the output is the notification message sent to the user's device.

[0566] (Application Example 2)

[0567] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0568] In recent years, personalization technology utilizing photographs has attracted attention, but conventional systems have failed to select optimal photos and generate comments that take into account the user's emotions. As a result, the user experience tends to be uniform, and the provision of emotionally resonant photos and comments is insufficient even for special events and anniversaries. Furthermore, there were challenges such as the inefficiency of managing large amounts of photo data and notifications, making it difficult for users to effectively relive their memories.

[0569] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, shrinking, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), means for recognizing emotions from voice data and text data provided by the user at the time of upload using the emotion engine of a smart display, means for selecting and optimizing photos and comments based on the recognized emotions, and means for selecting photos and notifying users based on the dates of anniversaries and events in conjunction with the calendar information of a smartphone. This makes it possible to provide personalized photos and comments that take into account the user's emotions, thereby providing an even richer user experience.

[0570] A "terminal" is an information processing device used by users to upload photo data.

[0571] "Photo data" refers to digital image files that users upload from their devices.

[0572] "Chronological order" refers to the order in which photo data is sorted according to the date and time it was taken.

[0573] "Facial recognition technology" is a technology used to detect and identify faces in photographs.

[0574] "Optimization" is the process of enlarging, reducing, or cropping a photograph based on the detected faces.

[0575] "Automatic comment generation" is a process in which a computer automatically generates text comments based on photo data and related information.

[0576] A "smart display" is an information processing device with a display that is used to collect and analyze user emotional information.

[0577] An "emotion engine" is a software or hardware function that analyzes voice and text data to recognize a user's emotions.

[0578] "Calendar information" refers to the date information of anniversaries and events stored on the device.

[0579] "Anniversary notification" is a process that notifies users of a photo and comment based on a specific date.

[0580] The system implementing this invention operates by coordinating the user's terminal, server, and cloud storage. Specifically, the following procedures and components are required.

[0581] Users upload photo data using their devices. Once the device has finished uploading the photos, the data is saved to cloud storage. Cloud storage is a digital storage service for efficiently managing and storing large amounts of photo data.

[0582] The server retrieves photo data from cloud storage and sorts it chronologically. This involves analyzing the timestamps of the uploaded photo data. This process organizes the photos according to the order in which they were taken.

[0583] Next, the server uses facial recognition technology to detect faces in the photograph. This process utilizes the OpenCV library, an open-source software library specifically designed for image processing, which also includes facial recognition algorithms. If a face is detected, its location information (face coordinates and size) is obtained. Based on the facial recognition results, the photograph is automatically optimized. Specifically, the photograph is enlarged, reduced, or cropped based on the position of the faces.

[0584] The server further analyzes the user's emotional information using an emotion engine. Audio and text data provided by the user when uploading photos are used for this process. The emotion engine is software or hardware that analyzes this data to recognize the user's emotions (e.g., joy, sadness). For example, speech-to-text technology is used to convert audio data into text, and emotions are then analyzed from that text.

[0585] After emotions are recognized, the server automatically generates a comment based on the photo data and its associated information (date and time, facial recognition results, emotion information, etc.). This automatically generated comment is then input into the AI ​​model using prompts. A concrete example of a prompt is shown below.

[0586] This photo was taken on 2023-09-15 at 14:30:00. The emotion is "joy". Please generate a short comment.

[0587] The server also works in conjunction with the smartphone's calendar information, selecting photos and sending notifications based on the dates of anniversaries and events. Calendar information can be from sources such as Google Calendar or Apple Calendar. As an anniversary approaches, an appropriate photo is selected based on emotion recognition results, and a notification is sent to the user's device. This notification is used to evoke memories associated with a specific date.

[0588] This system enables the delivery of personalized photos and comments that take into account the user's emotions, providing a richer user experience. It personalizes users' daily lives and special events based on their emotions, and enables more efficient photo management and notifications.

[0589] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0590] Step 1: Upload photo data

[0591] Users upload photo data using their devices. At the same time, they also provide voice messages and text data.

[0592] Input: User's photo data, voice messages, and text data

[0593] Output: Photo data, audio data, and text data stored in cloud storage.

[0594] Specific operation: The user completes the photo selection and upload process via the application on their device.

[0595] Step 2: Acquire photo data and sort it chronologically.

[0596] The server retrieves photo data from cloud storage and sorts the photo data chronologically based on the timestamp.

[0597] Input: Photo data stored in cloud storage

[0598] Output: Photo data sorted in chronological order

[0599] Specific operation: The server analyzes the timestamp and sorts the photos in chronological order of when they were taken.

[0600] Step 3: Face recognition and photo optimization

[0601] The server uses the OpenCV library to detect faces in the photo and optimizes the photo (enlarge, reduce, crop) based on the face's location.

[0602] Input: Photo data sorted in chronological order

[0603] Output: Optimized photo data, face location information

[0604] Specific operation: The server converts each photo to a grayscale image, detects faces using a facial recognition algorithm, and then enlarges, reduces, or crops the photo so that the detected faces are centered.

[0605] Step 4: Emotion Recognition

[0606] The server uses an emotion engine to recognize emotions from the voice and text data provided by the user during upload.

[0607] Input: Audio data, text data

[0608] Output: Recognized emotional information (joy, sadness, etc.)

[0609] Specific operation: The server converts the audio data into speech-to-text, and then uses an emotion engine to analyze that text data and the provided text data to generate emotion tags.

[0610] Step 5: Automatic comment generation

[0611] The server automatically generates comments based on the photo data's timestamp and sentiment information. Prompt text is entered into the generation AI model.

[0612] Input: Optimized photo data, timestamp, sentiment information

[0613] Output: Auto-generated comment

[0614] Specific operation: The server generates a prompt message and inputs it into the AI ​​model to generate a comment. For example, the prompt message "This photo was taken on 2023-09-15 14:30:00. The emotion is 'joy'. Please generate a short comment." is input into the AI ​​model.

[0615] Step 6: Anniversary and Event Notifications

[0616] The server integrates with the smartphone's calendar information and notifies users of photos and generated comments based on the dates of anniversaries and events.

[0617] Input: Calendar information, optimized photo data, comments

[0618] Output: Notifications related to anniversaries and events

[0619] Specific operation: The server analyzes the user's calendar data, selects appropriate photos and comments as a specific date approaches, and sends a notification to the device.

[0620] Step 7: Receiving and displaying notifications

[0621] Users receive, view, and check anniversary and event notifications on their devices.

[0622] Input: Notifications related to anniversaries or events (with photos and comments)

[0623] Output: Display of notifications, viewing of photos and comments

[0624] Specific operation: The device receives the notification sent by the server and displays it to the user as a pop-up notification or in-app message.

[0625] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0626] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0627] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0628] [Third Embodiment]

[0629] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0630] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0631] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0632] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.

[0633] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0634] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0635] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0636] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0637] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

[0638] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0639] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0640] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0641] This invention relates to a system in which a user uploads photo data from a terminal, a server sorts the data chronologically, optimizes the photos using facial recognition technology, automatically generates comments, and also sends notifications based on a specific date.

[0642] Program Processing Overview

[0643] Acquisition and organization of photo data

[0644] Users upload photo data from their devices to the server. For example, when a user uploads photos taken with their smartphone to cloud storage, this photo data is sent to the server.

[0645] The server retrieves the uploaded photo data and organizes the photos chronologically based on their filenames and timestamps. The photos are then sorted in ascending or descending order based on the date and time they were taken.

[0646] Facial recognition and optimization

[0647] The server uses the OpenCV library to perform face recognition on each photograph. Specifically, it first converts the photograph to grayscale, and then uses the Haar Cascade classifier to detect faces. If a face is detected, it obtains the position information of that face (coordinates and size of a rectangle).

[0648] For photos in which a face is detected, the server optimizes the photo so that the face is centered. This optimization process involves appropriate scaling and cropping. The optimized photo is then saved as a new file.

[0649] Automatic comment generation

[0650] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, if a photo was taken on "September 15, 2023 at 2:30 PM" and a face was detected, it will generate a comment such as, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0651] Anniversary notification synchronization

[0652] The user's device synchronizes with the smartphone's calendar application and sends calendar information to the server. The server manages specific dates (e.g., anniversaries and events) based on this calendar information. When a specific anniversary approaches, the server selects a photo related to that day and sends a notification.

[0653] For example, if a user designates "September 15, 2023" as a commemorative day, as that day approaches, the server will notify the user's device with an optimized photo and comment, along with the message, "We will notify you of photos taken on September 15, 2023."

[0654] As described above, the present invention is a system for efficiently managing photo data, with the terminal, server, and user each fulfilling their respective roles. This system allows users to easily organize, edit, and generate comments on photos, and receive anniversary notifications, enabling centralized management of memories.

[0655] The following describes the processing flow.

[0656] Step 1:

[0657] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0658] Step 2:

[0659] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0660] Step 3:

[0661] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0662] Step 4:

[0663] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0664] Step 5:

[0665] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0666] Step 6:

[0667] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0668] Step 7:

[0669] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A face was detected."

[0670] Step 8:

[0671] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0672] Step 9:

[0673] The server manages calendar information and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo taken on September 15th.

[0674] Step 10:

[0675] The server notifies the user's device of a photo selected for the anniversary, along with a comment. The user receives the notification and can view the photo and comment.

[0676] (Example 1)

[0677] Next, we will describe Example 1. 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."

[0678] In recent years, the amount of photo data taken by individuals has become enormous, making it difficult to efficiently manage, organize, and link it to specific dates for notifications. Furthermore, technologies for automatically optimizing and generating the location of people and related comments within photos are still not sufficiently developed. Therefore, there is a need for systems that allow users to effectively utilize photo data and manage their memories.

[0679] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0680] In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for detecting people in the images using biometric authentication technology, means for optimizing the images (enlarging, reducing, cropping) based on the detected people, means for automatically generating comments based on the image data and its related information (date and time, biometric authentication results, etc.), and means for selecting images and sending notifications based on specific dates in conjunction with the mobile terminal's schedule management information. This enables users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications.

[0681] "Terminal" refers to information devices such as computers and smartphones used by users.

[0682] "Image data" refers to still images and photographic data acquired by a user using their device.

[0683] "Uploading" means sending data from a user's device to a server or remote storage device.

[0684] A "remote storage device" refers to a storage medium that can be accessed via the internet, such as cloud storage.

[0685] "Sort chronologically" refers to sorting data in ascending or descending order based on the date and time the image data was taken.

[0686] "Biometric authentication technology" refers to technology used to detect and identify individuals within image data.

[0687] "Optimization" refers to processing image data, such as enlarging, reducing, or cropping, to satisfy specific conditions (e.g., the central position of a person).

[0688] "Automatic comment generation" refers to the system automatically creating relevant text information based on the metadata and recognition results of image data.

[0689] "Mobile devices" refer to portable information devices such as smartphones and tablets that contain schedule management information.

[0690] "Schedule management information" refers to digital data that manages information about a user's schedule or specific dates.

[0691] "Notification" refers to the action of informing a user's device of specific information or events (e.g., anniversaries) when they occur.

[0692] This invention is a system in which a user uploads image data from a terminal, a server sorts it in chronological order, optimizes the image using biometric authentication technology, automatically generates comments, and also sends notifications based on a specific date.

[0693] Users upload image data using devices such as smartphones. For example, a user uploads a photo taken with their smartphone to a remote storage device (e.g., cloud storage). When the user presses the "upload" button using the device's application, the selected image is sent to the remote storage device. The server receives the image data from this remote storage device via an API and stores it in a temporary storage directory.

[0694] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. Then, it sorts the images chronologically based on the timestamps. Specifically, it uses the Python pandas library to create a dataframe and sorts it in ascending order using the timestamp as the key. The resulting list of images is then saved to a new directory.

[0695] Next, the server uses biometric authentication technology to detect people in the image. First, it converts the image to grayscale using the OpenCV library, and then detects faces using the Haar Cascade classifier. If a face is detected, its coordinates (x, y) and size (width, height) are obtained.

[0696] The system optimizes the image so that the detected face is centered. The server determines the cropping area of ​​the new image based on the face's center coordinates. This process utilizes OpenCV functions such as cv2.resize and cv2.getRectSubPix. The optimized image is saved as a new file.

[0697] The server automatically generates comments based on the image's timestamp and biometric authentication results. For example, it uses the datetime library to format the timestamp and generate a comment including the face recognition result. The generated comments are stored in the database along with the image data. An example of a generated comment might be, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0698] The user's device synchronizes with the smartphone's schedule management information (e.g., Google Calendar) and sends event information to the server. When the "Sync" button is pressed on the device, the schedule data is sent to the server via API. The server receives this information, saves specific dates (e.g., anniversaries or event dates) to a database, and when a specific anniversary approaches, it selects the corresponding image and sends a notification with a comment to the user's device. An example of a notification message would be, "Notifying you of a photo taken on September 15, 2023."

[0699] This system allows users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications. Below are examples of prompts for the generative AI model:

[0700] "Please generate a wonderful comment for the following photo. Photo information: Timestamp: 2023-09-15 14:30:00, Face recognition result: Face detected. Please write your comment imagining what moment this photo captures."

[0701] "I want to make the background of the photo brighter and more prominent, so please optimize the photo."

[0702] As described above, this invention enables seamless processing of a series of processes, from uploading photo data to organizing, optimizing, generating comments, and sending notifications.

[0703] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0704] Step 1:

[0705] The user uploads image data from their device. The user's input is a photo taken with a device such as a smartphone. When the user presses the "Upload" button, this photo data is sent to a remote storage device (e.g., cloud storage). The output is the image data received on the server side.

[0706] Step 2:

[0707] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. The input is the image data and its metadata, and the output is the analysis results including the timestamp information. The server uses the Python pandas library to create a dataframe with the timestamp as the key and sorts the image data in chronological order. This sorts the images in ascending or descending order, and they are saved to a new directory.

[0708] Step 3:

[0709] The server uses biometric authentication technology to detect people in an image. The input is organized image data. The server converts the image to grayscale using the OpenCV library and then detects faces using the Haar Cascade classifier. The output is the location information (coordinates and size) of the detected faces.

[0710] Step 4:

[0711] The server optimizes the image based on the detected face location information. The input is image data containing face location information. The server determines the cropping area of ​​the photo based on the center of the face and uses OpenCV's cv2.resize and cv2.getRectSubPix to enlarge, reduce, and crop the image. The output is the optimized image, which is saved as a new file.

[0712] Step 5:

[0713] The server automatically generates comments based on the image's timestamp and biometric authentication results. The input consists of optimized image data and the facial recognition result. The server uses the datetime library to format the timestamp and generates a comment including the facial recognition result. The output is the generated comment, which is stored in the database along with the image data.

[0714] Step 6:

[0715] The user's device sends schedule management information to the server. The input is the schedule information from the mobile device. When the user presses the "Sync" button on the device, the schedule data is sent to the server via API. The server receives this information and saves specific dates (e.g., anniversaries or event dates) to the database. The output is the saved schedule information.

[0716] Step 7:

[0717] When a specific anniversary approaches, the server selects a relevant image and sends a notification with a comment to the user's device. The input is the anniversary information and associated image data. The server uses the datetime library to check the anniversary and select the relevant image and comment. The output is a notification message sent to the user's device. For example, a message such as "Notifying you of a photo taken on September 15, 2023" is generated and sent to the user.

[0718] As described above, by performing specific processing based on the input data at each step and outputting the results, users can smoothly manage their photo data and utilize photos and comments related to important dates such as anniversaries.

[0719] (Application Example 1)

[0720] Next, we will explain Application Example 1. In the following explanation, 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."

[0721] Traditional photo management systems have struggled to efficiently organize daily shooting data and provide personalized notifications tailored to anniversaries and campaign events. Furthermore, photo optimization and comment generation based on facial recognition are limited, making it difficult to offer users a special experience. Therefore, there is a need for a system that simultaneously achieves efficient photo data management and a personalized user experience.

[0722] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0723] In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, reducing, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), and means for acquiring photo data taken using a camera installed in a smart device, adding automatically generated comments and messages to the taken photos, selecting photos using specific prompt messages when anniversaries or campaign events are approaching, and notifying users along with identification information. This enables centralized management of efficient organization, editing, comment generation, and notifications based on anniversaries and events for photo data.

[0724] A "device" is an electronic device used by a user to take and upload photo data.

[0725] "Photo data" refers to image files taken by users and uploaded from their devices.

[0726] "Uploading" refers to the act of sending photo data from a device to a server.

[0727] "Rearranging in chronological order" means organizing photo data in order based on the date and time it was taken.

[0728] "Facial recognition technology" is a technology used to detect and identify faces within an image.

[0729] "Detecting" means finding a specific element (e.g., a face) within photographic data.

[0730] "Optimization" refers to editing a photograph, such as enlarging, shrinking, or cropping it, so that the detected face is centered.

[0731] "Automatic comment generation" refers to the process of automatically creating text based on photo data and related information.

[0732] A "smart device" is an electronic device that can connect to the internet and install applications.

[0733] A "camera" is a device used to capture photographic data.

[0734] A "commemorative day" is a day that commemorates a specific event or date.

[0735] A "campaign" is a short-term promotion conducted as part of sales promotion activities or events.

[0736] A "prompt statement" is a phrase used to instruct the system to perform a specific task.

[0737] "Identification information" refers to information used for notifications or to perform specific actions.

[0738] "Notification" is the act of communicating information to a user.

[0739] To realize this invention, it is necessary to construct a system in which the user's terminal, server, and smart device work together in coordination.

[0740] First, the user takes a photo using a smart device. This smart device has internet connectivity and a means to upload the captured photo data to cloud storage. For example, it is possible to set up photos taken with a smartphone to be automatically saved to the cloud. At this time, the photo data includes metadata such as the date and time it was taken.

[0741] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp. A database management system (e.g., MySQL, PostgreSQL) is used for this process.

[0742] Next, the server uses facial recognition technology to detect faces in each photograph. This process utilizes the OpenCV library. Specifically, it converts the photographs to grayscale and detects faces using the Haar Cascade classifier. If a face is detected, the photograph is optimized based on its location information. During the optimization process, the photograph is appropriately enlarged, reduced, or cropped.

[0743] The optimized photo data is further enhanced with automatically generated comments. The server generates comments based on the photo data's timestamp and facial recognition results. Natural language processing techniques are used in this generation process. For example, a generative AI model (e.g., GPT-3) is used to generate comments such as, "This photo was taken on September 15, 2023. A face was detected."

[0744] By linking the smart device's calendar information with a server, the server notifies the user of relevant photos as specific anniversaries or campaign events approach. This uses a push notification service (e.g., Firebase Cloud Messaging). The notification uses text such as "Notifying you of photos taken on September 15, 2023" as a prompt.

[0745] As a concrete example, the following prompt sentence is input to the generation AI model:

[0746] "Create an application that uploads photos, performs facial recognition, generates comments based on the date the photo was taken and the results, and sends notifications on specific dates. Sort the photos taken with the camera chronologically, display the date and time they were taken, and generate the comment "Face detected" if a face is detected."

[0747] This allows the invention to centrally manage the organization, editing, and comment generation of photos taken by users, as well as notifications based on anniversaries and events.

[0748] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0749] Step 1:

[0750] The user takes a photo and uploads it from their device to cloud storage.

[0751] Specifically, the user takes a photo with a smart device (e.g., a smartphone) and sends the photo data to cloud storage via an internet connection. The input data is the photo that was taken, and the output data is the photo stored in the cloud storage.

[0752] Step 2:

[0753] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp.

[0754] Specifically, the server downloads photo data from cloud storage and saves it to a database management system (e.g., MySQL, PostgreSQL). The input data consists of photo files retrieved from cloud storage, while the output data consists of photos stored in the database, sorted chronologically.

[0755] Step 3:

[0756] The server uses facial recognition technology to detect faces in each photo.

[0757] Specifically, the server uses the OpenCV library to convert photos to grayscale and detects faces using the Haar Cascade classifier. The input data consists of photos arranged in chronological order, and the output data is the face detection result (including face location information).

[0758] Step 4:

[0759] The server optimizes the photo (enlarges, reduces, or crops) based on the faces it detects.

[0760] Specifically, the server obtains face position information from a grayscale photograph and crops the photograph so that the face is centered. The input data consists of the face detection results and the original photograph data, while the output data is the optimized photograph.

[0761] Step 5:

[0762] The server automatically generates comments based on the photo data and related information (date and time, face detection results, etc.).

[0763] Specifically, the server uses a generative AI model (e.g., GPT-3) to automatically generate comments based on the query input. The input data consists of optimized photos and their metadata, while the output data consists of the generated comments.

[0764] Step 6:

[0765] The system synchronizes calendar information from smart devices with a server to select photos and send notifications based on specific dates (anniversaries or campaigns).

[0766] Specifically, the system synchronizes the user's smart device calendar information with a server, selects relevant photos and comments as a specific date approaches, and notifies the user via a push notification service (e.g., Firebase Cloud Messaging). The input data consists of calendar information and photo metadata, while the output data is the notification message sent to the user.

[0767] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0768] This invention is a system in which a user uploads photo data from a terminal, a server sorts it in chronological order, optimizes the photos using facial recognition technology, automatically generates comments, and sends notifications based on a specific date. In addition, it incorporates an emotion engine to recognize the user's emotions and select photos and comments based on those emotions.

[0769] Program Processing Overview

[0770] Embedding an emotion engine and recognizing user emotions

[0771] The user uploads photo data from their device. In the process of retrieving the photo data from cloud storage, the server also collects emotional information (e.g., audio or text data) from the user's device.

[0772] The emotion engine analyzes this data to recognize the user's emotions (e.g., joy, sadness, surprise). For example, the emotion engine analyzes voice messages and text comments provided by users when uploading photos and tags them with emotions such as "joy" or "sadness."

[0773] Acquisition and organization of photo data

[0774] The server retrieves the uploaded photo data, analyzes its filename and timestamp, and sorts it chronologically. The sorted photo list is then saved for subsequent processing.

[0775] Facial recognition and optimization

[0776] The server processes the photo data sequentially using the OpenCV library. It converts the loaded image data to grayscale images and detects faces using the Haar Cascade classifier. If a face is detected, it obtains its location information (face coordinates and size).

[0777] The server optimizes the photo data based on the facial recognition results. For example, it dynamically enlarges, reduces, or crops the photo so that the detected face is centered. This optimized photo is then saved.

[0778] Automatic comment generation

[0779] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also takes into account the emotions recognized by the emotion engine, generating comments in the format of, for example, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[0780] Anniversary notification synchronization

[0781] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0782] Emotion-based photo selection

[0783] The server manages and integrates calendar information and emotion recognition results, selecting appropriate photos as anniversaries approach. For example, to coincide with a specific event (e.g., a wedding anniversary), it prioritizes selecting photos that were previously tagged with "joy."

[0784] The server sends a notification.

[0785] On the anniversary, a selected photo and its accompanying comment are sent to the user's device. For example, if the anniversary is September 15th, the server will send a notification with a message such as, "Do you remember this joyful photo? It's a commemorative photo from 2023-09-15."

[0786] This invention enables users to manage, edit, and generate comments on photos, and receive anniversary notifications more efficiently and emotionally, thereby providing a more personalized experience.

[0787] The following describes the processing flow.

[0788] Step 1:

[0789] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0790] Step 2:

[0791] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0792] Step 3:

[0793] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0794] Step 4:

[0795] When a user uploads a photo, their device simultaneously sends emotional data, such as voice messages or text comments. For example, the user might enter a comment saying, "I had fun taking this photo!"

[0796] Step 5:

[0797] The server uses an emotion engine to analyze voice and text data to recognize the user's emotions. In this process, emotions such as "joy," "sadness," and "surprise" are identified.

[0798] Step 6:

[0799] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0800] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0801] Step 7:

[0802] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0803] Step 8:

[0804] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also combines the emotions recognized by the emotion engine to generate comments in the format of, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[0805] Step 9:

[0806] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0807] Step 10:

[0808] The server manages calendar information and emotion recognition results, and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo tagged with the emotion "joy" for that day.

[0809] The server notifies the user's device of a photo selected to coincide with the anniversary, along with a comment. The notification message might read something like, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023."

[0810] As described above, the system of the present invention is realized through the concrete actions of the server, terminal, and user at each step.

[0811] (Example 2)

[0812] Next, we will describe Example 2. 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."

[0813] In recent years, the number of photos taken by individuals has steadily increased due to the widespread use of smartphones and digital cameras. However, efficiently managing large amounts of photo data, selecting appropriate photos for specific dates or events, and generating personalized comments based on emotions requires considerable effort. Traditional systems require users to manually tag and categorize photos, making it difficult to properly organize large amounts of photo data. Furthermore, notification functions tailored to specific dates are limited, making it difficult to provide a personalized experience.

[0814] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for recognizing the faces of people in the images using identification technology, means for optimization, means for automatically generating comments based on the image data and its related information, means for selecting and notifying images based on the dates of anniversaries and events in conjunction with the calendar information of the mobile terminal, means for recognizing the user's emotions by analyzing voice data and text data, and means for selecting images and comments based on the recognized emotions. As a result, users can efficiently manage and edit photo data, generate personalized comments, and receive anniversary notifications, providing a more fulfilling user experience.

[0815] A "terminal" is an information processing device such as a user's computer or smartphone used for uploading photo data or receiving notifications.

[0816] "Image data" refers to photographs and picture files saved in a digital format that users can upload via their devices.

[0817] "Means of uploading" refers to the methods and functions that allow a user to transfer image data from their device to a server.

[0818] "Methods for sorting by time" refers to methods or functions that order uploaded image data based on the date and time of shooting.

[0819] "Identification technology" refers to algorithms and software used to identify human faces present in image data.

[0820] "Optimization methods" refer to methods or functions that process (enlarge, reduce, crop) image data so that faces detected by identification technology are displayed in the best possible way.

[0821] "Methods for automatically generating comments" refers to methods or functions in which a system automatically generates explanatory text or annotations based on relevant information from image data (such as date and time or facial recognition results).

[0822] A "mobile terminal" is a portable information processing device used by a user, and primarily refers to smartphones and tablet devices.

[0823] "Calendar information" refers to date information for anniversaries and events stored on a mobile device.

[0824] "Means of notification" refers to methods and functions for notifying the user's device of selected image data and related information.

[0825] "Voice data" refers to digital data that records the voice spoken by the user and is used for emotion recognition.

[0826] "Text data" refers to the written data entered by the user and is used for sentiment recognition.

[0827] "Means of recognizing user emotions" refers to methods or functions that analyze voice data or text data to identify the user's emotions (joy, sadness, surprise, etc.).

[0828] "Means for selecting images and comments" refers to methods and functions for selecting appropriate images and their corresponding comments based on recognized emotions.

[0829] This invention relates to a system in which a user uploads image data from a terminal, a server sorts it chronologically, uses identification technology to recognize faces in the images, uses an emotion engine to automatically generate comments, and sends notifications based on a specific date.

[0830] System Configuration

[0831] The main components of this system are as follows:

[0832] Terminal (information processing device)

[0833] server

[0834] Cloud storage

[0835] Emotional Engine

[0836] Facial recognition technology

[0837] Calendar Information

[0838] Notification system

[0839] Hardware and software

[0840] Users upload image data using devices such as smartphones and personal computers. The server retrieves the data from cloud storage and uses a common face recognition library (e.g., OpenCV) for face recognition. Various emotion recognition algorithms are employed for emotion recognition. For example, there is speech recognition software for analyzing audio data and a natural language processing engine for analyzing text data.

[0841] Data processing and calculation

[0842] The device uploads image data to cloud storage, and the server retrieves that image data. The server sorts the image data chronologically based on its time information. Next, the server uses facial recognition technology to detect faces in the image data and obtains their location information. Based on the obtained facial information, the server optimizes the image data. This optimization includes processes such as enlarging, shrinking, or cropping the image so that the face is centered.

[0843] The emotion engine analyzes voice messages and text comments provided by users during upload to recognize their emotions. For example, it tags emotions such as "joy" from voice data and "sadness" from text data. The server then automatically generates comments based on the optimized image data and emotion tags.

[0844] Calendar information is synchronized from the user's device to the server. The server manages the calendar information and emotion recognition results, and selects appropriate images as anniversaries and events approach. For example, it prioritizes selecting images tagged with "joy" for wedding anniversaries and sends notifications accordingly.

[0845] Specific example

[0846] For example, consider a scenario where a user uploads a photo taken with their smartphone. Suppose the user uploads the photo with the text comment, "September 15, 2023: Had a fun picnic with family." The server retrieves this photo from cloud storage and sorts it chronologically based on its timestamp information. It uses OpenCV to recognize faces in the photo and optimizes the image so that faces are centered. An emotion engine analyzes the text comment and tags it with "joy." As a result, a comment like, "This photo was taken on 2023-09-15. A moment of joy," is automatically generated. Finally, the server uses this information to set a notification before a specific date (for example, the same day next year) and sends the user the message, "Do you remember this joyful photo?"

[0847] Example of a prompt

[0848] The following are specific examples of prompt statements to be input to a generative AI model.

[0849] Please describe the process for a system that analyzes the timestamp and sentiment of uploaded photos using an emotion engine and facial recognition, generates a chronologically sorted list of photos, and notifies the user based on a specific date. Please also include the names of any specific hardware or software used.

[0850] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0851] Step 1:

[0852] The user uploads image data (photos) to the system using their device. Specifically, they press a "Photo Upload" button through an application on their smartphone or computer, select a photo, and send it. The prompt will be, "The user will retrieve and upload a photo." The input is image data on the device, and the output is image data stored in cloud storage.

[0853] Step 2:

[0854] The server retrieves image data uploaded from cloud storage. The server retrieves metadata (e.g., timestamps) from the image files and sorts them chronologically based on this metadata. The input is unsorted image data retrieved from cloud storage, and the output is chronologically sorted image data.

[0855] Step 3:

[0856] The server uses the OpenCV library to perform face recognition on the acquired image data. Specifically, it converts the image data to grayscale and detects faces using the Haar Cascade classifier. It then obtains the location information (coordinates and size) of the detected faces. The input is image data arranged in chronological order, and the output is image data with the face locations identified.

[0857] Step 4:

[0858] The server optimizes the image data based on the face recognition results. Specifically, it performs processes such as scaling, cropping, etc., so that the recognized face is centered in the image. The input is image data with identified face positions, and the output is the optimized image data.

[0859] Step 5:

[0860] Users may provide sentiment data (voice messages or text comments) when uploading images. The server retrieves this sentiment data and analyzes it using a sentiment engine. Specifically, it assigns sentiment tags such as "joy" and "sadness" using speech recognition and natural language processing. The input is voice data or text data, and the output is sentiment tags.

[0861] Step 6:

[0862] The server automatically generates comments based on optimized image data and sentiment tags, using relevant information (face recognition results, timestamps, etc.). For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A moment of joy." The input is optimized image data and sentiment tags, and the output is an automatically generated comment.

[0863] Step 7:

[0864] The device synchronizes the user's calendar information with the server. Specifically, it retrieves date information for anniversaries and events from the smartphone's calendar app and sends it to the server. The input is data from the calendar app, and the output is the synchronized calendar information.

[0865] Step 8:

[0866] The server selects appropriate images as anniversaries and events approach, based on synchronized calendar information and emotion recognition results. For example, it prioritizes selecting photos tagged with "joy" before a wedding anniversary. The input is synchronized calendar information and emotion tags, and the output is the selected image data.

[0867] Step 9:

[0868] The server notifies the user's device of the selected image data and automatically generated comments, timed to coincide with the anniversary or event date. For example, a message such as, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023," might appear on the user's smartphone. The input is the selected image data and automatically generated comments, and the output is the notification message sent to the user's device.

[0869] (Application Example 2)

[0870] Next, we will explain application example 2. In the following explanation, 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."

[0871] In recent years, personalization technology utilizing photographs has attracted attention, but conventional systems have failed to select optimal photos and generate comments that take into account the user's emotions. As a result, the user experience tends to be uniform, and the provision of emotionally resonant photos and comments is insufficient even for special events and anniversaries. Furthermore, there were challenges such as the inefficiency of managing large amounts of photo data and notifications, making it difficult for users to effectively relive their memories.

[0872] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, shrinking, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), means for recognizing emotions from voice data and text data provided by the user at the time of upload using the emotion engine of a smart display, means for selecting and optimizing photos and comments based on the recognized emotions, and means for selecting photos and notifying users based on the dates of anniversaries and events in conjunction with the calendar information of a smartphone. This makes it possible to provide personalized photos and comments that take into account the user's emotions, thereby providing an even richer user experience.

[0873] A "terminal" is an information processing device used by users to upload photo data.

[0874] "Photo data" refers to digital image files that users upload from their devices.

[0875] "Chronological order" refers to the order in which photo data is sorted according to the date and time it was taken.

[0876] "Facial recognition technology" is a technology used to detect and identify faces in photographs.

[0877] "Optimization" is the process of enlarging, reducing, or cropping a photograph based on the detected faces.

[0878] "Automatic comment generation" is a process in which a computer automatically generates text comments based on photo data and related information.

[0879] A "smart display" is an information processing device with a display that is used to collect and analyze user emotional information.

[0880] An "emotion engine" is a software or hardware function that analyzes voice and text data to recognize a user's emotions.

[0881] "Calendar information" refers to the date information of anniversaries and events stored on the device.

[0882] "Anniversary notification" is a process that notifies users of a photo and comment based on a specific date.

[0883] The system implementing this invention operates by coordinating the user's terminal, server, and cloud storage. Specifically, the following procedures and components are required.

[0884] Users upload photo data using their devices. Once the device has finished uploading the photos, the data is saved to cloud storage. Cloud storage is a digital storage service for efficiently managing and storing large amounts of photo data.

[0885] The server retrieves photo data from cloud storage and sorts it chronologically. This involves analyzing the timestamps of the uploaded photo data. This process organizes the photos according to the order in which they were taken.

[0886] Next, the server uses facial recognition technology to detect faces in the photograph. This process utilizes the OpenCV library, an open-source software library specifically designed for image processing, which also includes facial recognition algorithms. If a face is detected, its location information (face coordinates and size) is obtained. Based on the facial recognition results, the photograph is automatically optimized. Specifically, the photograph is enlarged, reduced, or cropped based on the position of the faces.

[0887] The server further analyzes the user's emotional information using an emotion engine. Audio and text data provided by the user when uploading photos are used for this process. The emotion engine is software or hardware that analyzes this data to recognize the user's emotions (e.g., joy, sadness). For example, speech-to-text technology is used to convert audio data into text, and emotions are then analyzed from that text.

[0888] After emotions are recognized, the server automatically generates a comment based on the photo data and its associated information (date and time, facial recognition results, emotion information, etc.). This automatically generated comment is then input into the AI ​​model using prompts. A concrete example of a prompt is shown below.

[0889] This photo was taken on 2023-09-15 at 14:30:00. The emotion is "joy". Please generate a short comment.

[0890] The server also works in conjunction with the smartphone's calendar information, selecting photos and sending notifications based on the dates of anniversaries and events. Calendar information can be from sources such as Google Calendar or Apple Calendar. As an anniversary approaches, an appropriate photo is selected based on emotion recognition results, and a notification is sent to the user's device. This notification is used to evoke memories associated with a specific date.

[0891] This system enables the delivery of personalized photos and comments that take into account the user's emotions, providing a richer user experience. It personalizes users' daily lives and special events based on their emotions, and enables more efficient photo management and notifications.

[0892] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0893] Step 1: Upload photo data

[0894] Users upload photo data using their devices. At the same time, they also provide voice messages and text data.

[0895] Input: User's photo data, voice messages, and text data

[0896] Output: Photo data, audio data, and text data stored in cloud storage.

[0897] Specific operation: The user completes the photo selection and upload process via the application on their device.

[0898] Step 2: Acquire photo data and sort it chronologically.

[0899] The server retrieves photo data from cloud storage and sorts the photo data chronologically based on the timestamp.

[0900] Input: Photo data stored in cloud storage

[0901] Output: Photo data sorted in chronological order

[0902] Specific operation: The server analyzes the timestamp and sorts the photos in chronological order of when they were taken.

[0903] Step 3: Face recognition and photo optimization

[0904] The server uses the OpenCV library to detect faces in the photo and optimizes the photo (enlarge, reduce, crop) based on the face's location.

[0905] Input: Photo data sorted in chronological order

[0906] Output: Optimized photo data, face location information

[0907] Specific operation: The server converts each photo to a grayscale image, detects faces using a facial recognition algorithm, and then enlarges, reduces, or crops the photo so that the detected faces are centered.

[0908] Step 4: Emotion Recognition

[0909] The server uses an emotion engine to recognize emotions from the voice and text data provided by the user during upload.

[0910] Input: Audio data, text data

[0911] Output: Recognized emotional information (joy, sadness, etc.)

[0912] Specific operation: The server converts the audio data into speech-to-text, and then uses an emotion engine to analyze that text data and the provided text data to generate emotion tags.

[0913] Step 5: Automatic comment generation

[0914] The server automatically generates comments based on the photo data's timestamp and sentiment information. Prompt text is entered into the generation AI model.

[0915] Input: Optimized photo data, timestamp, sentiment information

[0916] Output: Auto-generated comment

[0917] Specific operation: The server generates a prompt message and inputs it into the AI ​​model to generate a comment. For example, the prompt message "This photo was taken on 2023-09-15 14:30:00. The emotion is 'joy'. Please generate a short comment." is input into the AI ​​model.

[0918] Step 6: Anniversary and Event Notifications

[0919] The server integrates with the smartphone's calendar information and notifies users of photos and generated comments based on the dates of anniversaries and events.

[0920] Input: Calendar information, optimized photo data, comments

[0921] Output: Notifications related to anniversaries and events

[0922] Specific operation: The server analyzes the user's calendar data, selects appropriate photos and comments as a specific date approaches, and sends a notification to the device.

[0923] Step 7: Receiving and displaying notifications

[0924] Users receive, view, and check anniversary and event notifications on their devices.

[0925] Input: Notifications related to anniversaries or events (with photos and comments)

[0926] Output: Display of notifications, viewing of photos and comments

[0927] Specific operation: The device receives the notification sent by the server and displays it to the user as a pop-up notification or in-app message.

[0928] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0929] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0930] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.

[0931] [Fourth Embodiment]

[0932] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[0933] As shown in Figure 7, the 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.

[0934] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0935] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[0936] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0937] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0938] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0939] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[0940] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0941] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

[0942] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0943] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0944] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0945] This invention relates to a system in which a user uploads photo data from a terminal, a server sorts the data chronologically, optimizes the photos using facial recognition technology, automatically generates comments, and also sends notifications based on a specific date.

[0946] Program Processing Overview

[0947] Acquisition and organization of photo data

[0948] Users upload photo data from their devices to the server. For example, when a user uploads photos taken with their smartphone to cloud storage, this photo data is sent to the server.

[0949] The server retrieves the uploaded photo data and organizes the photos chronologically based on their filenames and timestamps. The photos are then sorted in ascending or descending order based on the date and time they were taken.

[0950] Facial recognition and optimization

[0951] The server uses the OpenCV library to perform face recognition on each photograph. Specifically, it first converts the photograph to grayscale, and then uses the Haar Cascade classifier to detect faces. If a face is detected, it obtains the position information of that face (coordinates and size of a rectangle).

[0952] For photos in which a face is detected, the server optimizes the photo so that the face is centered. This optimization process involves appropriate scaling and cropping. The optimized photo is then saved as a new file.

[0953] Automatic comment generation

[0954] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, if a photo was taken on "September 15, 2023 at 2:30 PM" and a face was detected, it will generate a comment such as, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[0955] Anniversary notification synchronization

[0956] The user's device synchronizes with the smartphone's calendar application and sends calendar information to the server. The server manages specific dates (e.g., anniversaries and events) based on this calendar information. When a specific anniversary approaches, the server selects a photo related to that day and sends a notification.

[0957] For example, if a user designates "September 15, 2023" as a commemorative day, as that day approaches, the server will notify the user's device with an optimized photo and comment, along with the message, "We will notify you of photos taken on September 15, 2023."

[0958] As described above, the present invention is a system for efficiently managing photo data, with the terminal, server, and user each fulfilling their respective roles. This system allows users to easily organize, edit, and generate comments on photos, and receive anniversary notifications, enabling centralized management of memories.

[0959] The following describes the processing flow.

[0960] Step 1:

[0961] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[0962] Step 2:

[0963] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[0964] Step 3:

[0965] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[0966] Step 4:

[0967] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[0968] Step 5:

[0969] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[0970] Step 6:

[0971] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[0972] Step 7:

[0973] The server automatically generates comments based on the photo data's timestamp and facial recognition results. For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A face was detected."

[0974] Step 8:

[0975] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[0976] Step 9:

[0977] The server manages calendar information and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo taken on September 15th.

[0978] Step 10:

[0979] The server notifies the user's device of a photo selected for the anniversary, along with a comment. The user receives the notification and can view the photo and comment.

[0980] (Example 1)

[0981] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[0982] In recent years, the amount of photo data taken by individuals has become enormous, making it difficult to efficiently manage, organize, and link it to specific dates for notifications. Furthermore, technologies for automatically optimizing and generating the location of people and related comments within photos are still not sufficiently developed. Therefore, there is a need for systems that allow users to effectively utilize photo data and manage their memories.

[0983] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0984] In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for detecting people in the images using biometric authentication technology, means for optimizing the images (enlarging, reducing, cropping) based on the detected people, means for automatically generating comments based on the image data and its related information (date and time, biometric authentication results, etc.), and means for selecting images and sending notifications based on specific dates in conjunction with the mobile terminal's schedule management information. This enables users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications.

[0985] "Terminal" refers to information devices such as computers and smartphones used by users.

[0986] "Image data" refers to still images and photographic data acquired by a user using their device.

[0987] "Uploading" means sending data from a user's device to a server or remote storage device.

[0988] A "remote storage device" refers to a storage medium that can be accessed via the internet, such as cloud storage.

[0989] "Sort chronologically" refers to sorting data in ascending or descending order based on the date and time the image data was taken.

[0990] "Biometric authentication technology" refers to technology used to detect and identify individuals within image data.

[0991] "Optimization" refers to processing image data, such as enlarging, reducing, or cropping, to satisfy specific conditions (e.g., the central position of a person).

[0992] "Automatic comment generation" refers to the system automatically creating relevant text information based on the metadata and recognition results of image data.

[0993] "Mobile devices" refer to portable information devices such as smartphones and tablets that contain schedule management information.

[0994] "Schedule management information" refers to digital data that manages information about a user's schedule or specific dates.

[0995] "Notification" refers to the action of informing a user's device of specific information or events (e.g., anniversaries) when they occur.

[0996] This invention is a system in which a user uploads image data from a terminal, a server sorts it in chronological order, optimizes the image using biometric authentication technology, automatically generates comments, and also sends notifications based on a specific date.

[0997] Users upload image data using devices such as smartphones. For example, a user uploads a photo taken with their smartphone to a remote storage device (e.g., cloud storage). When the user presses the "upload" button using the device's application, the selected image is sent to the remote storage device. The server receives the image data from this remote storage device via an API and stores it in a temporary storage directory.

[0998] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. Then, it sorts the images chronologically based on the timestamps. Specifically, it uses the Python pandas library to create a dataframe and sorts it in ascending order using the timestamp as the key. The resulting list of images is then saved to a new directory.

[0999] Next, the server uses biometric authentication technology to detect people in the image. First, it converts the image to grayscale using the OpenCV library, and then detects faces using the Haar Cascade classifier. If a face is detected, its coordinates (x, y) and size (width, height) are obtained.

[1000] The system optimizes the image so that the detected face is centered. The server determines the cropping area of ​​the new image based on the face's center coordinates. This process utilizes OpenCV functions such as cv2.resize and cv2.getRectSubPix. The optimized image is saved as a new file.

[1001] The server automatically generates comments based on the image's timestamp and biometric authentication results. For example, it uses the datetime library to format the timestamp and generate a comment including the face recognition result. The generated comments are stored in the database along with the image data. An example of a generated comment might be, "This photo was taken on 2023-09-15 14:30:00. A face was detected."

[1002] The user's device synchronizes with the smartphone's schedule management information (e.g., Google Calendar) and sends event information to the server. When the "Sync" button is pressed on the device, the schedule data is sent to the server via API. The server receives this information, saves specific dates (e.g., anniversaries or event dates) to a database, and when a specific anniversary approaches, it selects the corresponding image and sends a notification with a comment to the user's device. An example of a notification message would be, "Notifying you of a photo taken on September 15, 2023."

[1003] This system allows users to efficiently manage their photo data, easily retrieve photos related to important dates, and receive notifications. Below are examples of prompts for the generative AI model:

[1004] "Please generate a wonderful comment for the following photo. Photo information: Timestamp: 2023-09-15 14:30:00, Face recognition result: Face detected. Please write your comment imagining what moment this photo captures."

[1005] "I want to make the background of the photo brighter and more prominent, so please optimize the photo."

[1006] As described above, this invention enables seamless processing of a series of processes, from uploading photo data to organizing, optimizing, generating comments, and sending notifications.

[1007] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1008] Step 1:

[1009] The user uploads image data from their device. The user's input is a photo taken with a device such as a smartphone. When the user presses the "Upload" button, this photo data is sent to a remote storage device (e.g., cloud storage). The output is the image data received on the server side.

[1010] Step 2:

[1011] The server analyzes the received image data and extracts the filename and timestamp included in the metadata for each image. The input is the image data and its metadata, and the output is the analysis results including the timestamp information. The server uses the Python pandas library to create a dataframe with the timestamp as the key and sorts the image data in chronological order. This sorts the images in ascending or descending order, and they are saved to a new directory.

[1012] Step 3:

[1013] The server uses biometric authentication technology to detect people in an image. The input is organized image data. The server converts the image to grayscale using the OpenCV library and then detects faces using the Haar Cascade classifier. The output is the location information (coordinates and size) of the detected faces.

[1014] Step 4:

[1015] The server optimizes the image based on the detected face location information. The input is image data containing face location information. The server determines the cropping area of ​​the photo based on the center of the face and uses OpenCV's cv2.resize and cv2.getRectSubPix to enlarge, reduce, and crop the image. The output is the optimized image, which is saved as a new file.

[1016] Step 5:

[1017] The server automatically generates comments based on the image's timestamp and biometric authentication results. The input consists of optimized image data and the facial recognition result. The server uses the datetime library to format the timestamp and generates a comment including the facial recognition result. The output is the generated comment, which is stored in the database along with the image data.

[1018] Step 6:

[1019] The user's device sends schedule management information to the server. The input is the schedule information from the mobile device. When the user presses the "Sync" button on the device, the schedule data is sent to the server via API. The server receives this information and saves specific dates (e.g., anniversaries or event dates) to the database. The output is the saved schedule information.

[1020] Step 7:

[1021] When a specific anniversary approaches, the server selects a relevant image and sends a notification with a comment to the user's device. The input is the anniversary information and associated image data. The server uses the datetime library to check the anniversary and select the relevant image and comment. The output is a notification message sent to the user's device. For example, a message such as "Notifying you of a photo taken on September 15, 2023" is generated and sent to the user.

[1022] As described above, by performing specific processing based on the input data at each step and outputting the results, users can smoothly manage their photo data and utilize photos and comments related to important dates such as anniversaries.

[1023] (Application Example 1)

[1024] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1025] Traditional photo management systems have struggled to efficiently organize daily shooting data and provide personalized notifications tailored to anniversaries and campaign events. Furthermore, photo optimization and comment generation based on facial recognition are limited, making it difficult to offer users a special experience. Therefore, there is a need for a system that simultaneously achieves efficient photo data management and a personalized user experience.

[1026] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1027] In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, reducing, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), and means for acquiring photo data taken using a camera installed in a smart device, adding automatically generated comments and messages to the taken photos, selecting photos using specific prompt messages when anniversaries or campaign events are approaching, and notifying users along with identification information. This enables centralized management of efficient organization, editing, comment generation, and notifications based on anniversaries and events for photo data.

[1028] A "device" is an electronic device used by a user to take and upload photo data.

[1029] "Photo data" refers to image files taken by users and uploaded from their devices.

[1030] "Uploading" refers to the act of sending photo data from a device to a server.

[1031] "Rearranging in chronological order" means organizing photo data in order based on the date and time it was taken.

[1032] "Facial recognition technology" is a technology used to detect and identify faces within an image.

[1033] "Detecting" means finding a specific element (e.g., a face) within photographic data.

[1034] "Optimization" refers to editing a photograph, such as enlarging, shrinking, or cropping it, so that the detected face is centered.

[1035] "Automatic comment generation" refers to the process of automatically creating text based on photo data and related information.

[1036] A "smart device" is an electronic device that can connect to the internet and install applications.

[1037] A "camera" is a device used to capture photographic data.

[1038] A "commemorative day" is a day that commemorates a specific event or date.

[1039] A "campaign" is a short-term promotion conducted as part of sales promotion activities or events.

[1040] A "prompt statement" is a phrase used to instruct the system to perform a specific task.

[1041] "Identification information" refers to information used for notifications or to perform specific actions.

[1042] "Notification" is the act of communicating information to a user.

[1043] To realize this invention, it is necessary to construct a system in which the user's terminal, server, and smart device work together in coordination.

[1044] First, the user takes a photo using a smart device. This smart device has internet connectivity and a means to upload the captured photo data to cloud storage. For example, it is possible to set up photos taken with a smartphone to be automatically saved to the cloud. At this time, the photo data includes metadata such as the date and time it was taken.

[1045] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp. A database management system (e.g., MySQL, PostgreSQL) is used for this process.

[1046] Next, the server uses facial recognition technology to detect faces in each photograph. This process utilizes the OpenCV library. Specifically, it converts the photographs to grayscale and detects faces using the Haar Cascade classifier. If a face is detected, the photograph is optimized based on its location information. During the optimization process, the photograph is appropriately enlarged, reduced, or cropped.

[1047] The optimized photo data is further enhanced with automatically generated comments. The server generates comments based on the photo data's timestamp and facial recognition results. Natural language processing techniques are used in this generation process. For example, a generative AI model (e.g., GPT-3) is used to generate comments such as, "This photo was taken on September 15, 2023. A face was detected."

[1048] By linking the smart device's calendar information with a server, the server notifies the user of relevant photos as specific anniversaries or campaign events approach. This uses a push notification service (e.g., Firebase Cloud Messaging). The notification uses text such as "Notifying you of photos taken on September 15, 2023" as a prompt.

[1049] As a concrete example, the following prompt sentence is input to the generation AI model:

[1050] "Create an application that uploads photos, performs facial recognition, generates comments based on the date the photo was taken and the results, and sends notifications on specific dates. Sort the photos taken with the camera chronologically, display the date and time they were taken, and generate the comment "Face detected" if a face is detected."

[1051] This allows the invention to centrally manage the organization, editing, and comment generation of photos taken by users, as well as notifications based on anniversaries and events.

[1052] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1053] Step 1:

[1054] The user takes a photo and uploads it from their device to cloud storage.

[1055] Specifically, the user takes a photo with a smart device (e.g., a smartphone) and sends the photo data to cloud storage via an internet connection. The input data is the photo that was taken, and the output data is the photo stored in the cloud storage.

[1056] Step 2:

[1057] The server retrieves photo data from cloud storage and sorts it chronologically based on its filename and timestamp.

[1058] Specifically, the server downloads photo data from cloud storage and saves it to a database management system (e.g., MySQL, PostgreSQL). The input data consists of photo files retrieved from cloud storage, while the output data consists of photos stored in the database, sorted chronologically.

[1059] Step 3:

[1060] The server uses facial recognition technology to detect faces in each photo.

[1061] Specifically, the server uses the OpenCV library to convert photos to grayscale and detects faces using the Haar Cascade classifier. The input data consists of photos arranged in chronological order, and the output data is the face detection result (including face location information).

[1062] Step 4:

[1063] The server optimizes the photo (enlarges, reduces, or crops) based on the faces it detects.

[1064] Specifically, the server obtains face position information from a grayscale photograph and crops the photograph so that the face is centered. The input data consists of the face detection results and the original photograph data, while the output data is the optimized photograph.

[1065] Step 5:

[1066] The server automatically generates comments based on the photo data and related information (date and time, face detection results, etc.).

[1067] Specifically, the server uses a generative AI model (e.g., GPT-3) to automatically generate comments based on the query input. The input data consists of optimized photos and their metadata, while the output data consists of the generated comments.

[1068] Step 6:

[1069] The system synchronizes calendar information from smart devices with a server to select photos and send notifications based on specific dates (anniversaries or campaigns).

[1070] Specifically, the system synchronizes the user's smart device calendar information with a server, selects relevant photos and comments as a specific date approaches, and notifies the user via a push notification service (e.g., Firebase Cloud Messaging). The input data consists of calendar information and photo metadata, while the output data is the notification message sent to the user.

[1071] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[1072] This invention is a system in which a user uploads photo data from a terminal, a server sorts it in chronological order, optimizes the photos using facial recognition technology, automatically generates comments, and sends notifications based on a specific date. In addition, it incorporates an emotion engine to recognize the user's emotions and select photos and comments based on those emotions.

[1073] Program Processing Overview

[1074] Embedding an emotion engine and recognizing user emotions

[1075] The user uploads photo data from their device. In the process of retrieving the photo data from cloud storage, the server also collects emotional information (e.g., audio or text data) from the user's device.

[1076] The emotion engine analyzes this data to recognize the user's emotions (e.g., joy, sadness, surprise). For example, the emotion engine analyzes voice messages and text comments provided by users when uploading photos and tags them with emotions such as "joy" or "sadness."

[1077] Acquisition and organization of photo data

[1078] The server retrieves the uploaded photo data, analyzes its filename and timestamp, and sorts it chronologically. The sorted photo list is then saved for subsequent processing.

[1079] Facial recognition and optimization

[1080] The server processes the photo data sequentially using the OpenCV library. It converts the loaded image data to grayscale images and detects faces using the Haar Cascade classifier. If a face is detected, it obtains its location information (face coordinates and size).

[1081] The server optimizes the photo data based on the facial recognition results. For example, it dynamically enlarges, reduces, or crops the photo so that the detected face is centered. This optimized photo is then saved.

[1082] Automatic comment generation

[1083] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also takes into account the emotions recognized by the emotion engine, generating comments in the format of, for example, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[1084] Anniversary notification synchronization

[1085] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[1086] Emotion-based photo selection

[1087] The server manages and integrates calendar information and emotion recognition results, selecting appropriate photos as anniversaries approach. For example, to coincide with a specific event (e.g., a wedding anniversary), it prioritizes selecting photos that were previously tagged with "joy."

[1088] The server sends a notification.

[1089] On the anniversary, a selected photo and its accompanying comment are sent to the user's device. For example, if the anniversary is September 15th, the server will send a notification with a message such as, "Do you remember this joyful photo? It's a commemorative photo from 2023-09-15."

[1090] This invention enables users to manage, edit, and generate comments on photos, and receive anniversary notifications more efficiently and emotionally, thereby providing a more personalized experience.

[1091] The following describes the processing flow.

[1092] Step 1:

[1093] Users take photos using their smartphones or other devices and upload the photo data to cloud storage or servers.

[1094] Step 2:

[1095] The server retrieves the photo data from the cloud storage. The server retrieves a list of uploaded photo files and analyzes the file name and timestamp of each file.

[1096] Step 3:

[1097] The server sorts the retrieved photo files chronologically based on their timestamps. The sorted file list is then saved for subsequent processing.

[1098] Step 4:

[1099] When a user uploads a photo, their device simultaneously sends emotional data, such as voice messages or text comments. For example, the user might enter a comment saying, "I had fun taking this photo!"

[1100] Step 5:

[1101] The server uses an emotion engine to analyze voice and text data to recognize the user's emotions. In this process, emotions such as "joy," "sadness," and "surprise" are identified.

[1102] Step 6:

[1103] The server processes the photo data sequentially using the OpenCV library. First, it reads each photo file and converts it into image data.

[1104] The server converts the image data to a grayscale image and applies a facial recognition algorithm (Haar Cascade classifier) ​​to detect faces. If a face is detected, its location information (face coordinates and size) is obtained.

[1105] Step 7:

[1106] The server optimizes the photo data based on the facial recognition results. Specifically, it enlarges, reduces, or crops the photo so that the face is centered. This optimized photo is saved as a new file.

[1107] Step 8:

[1108] The server automatically generates comments based on the photo data's timestamp and facial recognition results. It also combines the emotions recognized by the emotion engine to generate comments in the format of, "This photo was taken on 2023-09-15 14:30:00. Face detected. Moment of joy."

[1109] Step 9:

[1110] The user's device synchronizes the smartphone's calendar information with the server. The calendar stores dates for anniversaries and events.

[1111] Step 10:

[1112] The server manages calendar information and emotion recognition results, and selects appropriate photos as anniversaries approach. For example, if the anniversary is on September 15th, it will select a photo tagged with the emotion "joy" for that day.

[1113] The server notifies the user's device of a photo selected to coincide with the anniversary, along with a comment. The notification message might read something like, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023."

[1114] As described above, the system of the present invention is realized through the concrete actions of the server, terminal, and user at each step.

[1115] (Example 2)

[1116] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1117] In recent years, the number of photos taken by individuals has steadily increased due to the widespread use of smartphones and digital cameras. However, efficiently managing large amounts of photo data, selecting appropriate photos for specific dates or events, and generating personalized comments based on emotions requires considerable effort. Traditional systems require users to manually tag and categorize photos, making it difficult to properly organize large amounts of photo data. Furthermore, notification functions tailored to specific dates are limited, making it difficult to provide a personalized experience.

[1118] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading image data from a terminal, means for sorting the uploaded image data in chronological order, means for recognizing the faces of people in the images using identification technology, means for optimization, means for automatically generating comments based on the image data and its related information, means for selecting and notifying images based on the dates of anniversaries and events in conjunction with the calendar information of the mobile terminal, means for recognizing the user's emotions by analyzing voice data and text data, and means for selecting images and comments based on the recognized emotions. As a result, users can efficiently manage and edit photo data, generate personalized comments, and receive anniversary notifications, providing a more fulfilling user experience.

[1119] A "terminal" is an information processing device such as a user's computer or smartphone used for uploading photo data or receiving notifications.

[1120] "Image data" refers to photographs and picture files saved in a digital format that users can upload via their devices.

[1121] "Means of uploading" refers to the methods and functions that allow a user to transfer image data from their device to a server.

[1122] "Methods for sorting by time" refers to methods or functions that order uploaded image data based on the date and time of shooting.

[1123] "Identification technology" refers to algorithms and software used to identify human faces present in image data.

[1124] "Optimization methods" refer to methods or functions that process (enlarge, reduce, crop) image data so that faces detected by identification technology are displayed in the best possible way.

[1125] "Methods for automatically generating comments" refers to methods or functions in which a system automatically generates explanatory text or annotations based on relevant information from image data (such as date and time or facial recognition results).

[1126] A "mobile terminal" is a portable information processing device used by a user, and primarily refers to smartphones and tablet devices.

[1127] "Calendar information" refers to date information for anniversaries and events stored on a mobile device.

[1128] "Means of notification" refers to methods and functions for notifying the user's device of selected image data and related information.

[1129] "Voice data" refers to digital data that records the voice spoken by the user and is used for emotion recognition.

[1130] "Text data" refers to the written data entered by the user and is used for sentiment recognition.

[1131] "Means of recognizing user emotions" refers to methods or functions that analyze voice data or text data to identify the user's emotions (joy, sadness, surprise, etc.).

[1132] "Means for selecting images and comments" refers to methods and functions for selecting appropriate images and their corresponding comments based on recognized emotions.

[1133] This invention relates to a system in which a user uploads image data from a terminal, a server sorts it chronologically, uses identification technology to recognize faces in the images, uses an emotion engine to automatically generate comments, and sends notifications based on a specific date.

[1134] System Configuration

[1135] The main components of this system are as follows:

[1136] Terminal (information processing device)

[1137] server

[1138] Cloud storage

[1139] Emotional Engine

[1140] Facial recognition technology

[1141] Calendar Information

[1142] Notification system

[1143] Hardware and software

[1144] Users upload image data using devices such as smartphones and personal computers. The server retrieves the data from cloud storage and uses a common face recognition library (e.g., OpenCV) for face recognition. Various emotion recognition algorithms are employed for emotion recognition. For example, there is speech recognition software for analyzing audio data and a natural language processing engine for analyzing text data.

[1145] Data processing and calculation

[1146] The device uploads image data to cloud storage, and the server retrieves that image data. The server sorts the image data chronologically based on its time information. Next, the server uses facial recognition technology to detect faces in the image data and obtains their location information. Based on the obtained facial information, the server optimizes the image data. This optimization includes processes such as enlarging, shrinking, or cropping the image so that the face is centered.

[1147] The emotion engine analyzes voice messages and text comments provided by users during upload to recognize their emotions. For example, it tags emotions such as "joy" from voice data and "sadness" from text data. The server then automatically generates comments based on the optimized image data and emotion tags.

[1148] Calendar information is synchronized from the user's device to the server. The server manages the calendar information and emotion recognition results, and selects appropriate images as anniversaries and events approach. For example, it prioritizes selecting images tagged with "joy" for wedding anniversaries and sends notifications accordingly.

[1149] Specific example

[1150] For example, consider a scenario where a user uploads a photo taken with their smartphone. Suppose the user uploads the photo with the text comment, "September 15, 2023: Had a fun picnic with family." The server retrieves this photo from cloud storage and sorts it chronologically based on its timestamp information. It uses OpenCV to recognize faces in the photo and optimizes the image so that faces are centered. An emotion engine analyzes the text comment and tags it with "joy." As a result, a comment like, "This photo was taken on 2023-09-15. A moment of joy," is automatically generated. Finally, the server uses this information to set a notification before a specific date (for example, the same day next year) and sends the user the message, "Do you remember this joyful photo?"

[1151] Example of a prompt

[1152] The following are specific examples of prompt statements to be input to a generative AI model.

[1153] Please describe the process for a system that analyzes the timestamp and sentiment of uploaded photos using an emotion engine and facial recognition, generates a chronologically sorted list of photos, and notifies the user based on a specific date. Please also include the names of any specific hardware or software used.

[1154] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1155] Step 1:

[1156] The user uploads image data (photos) to the system using their device. Specifically, they press a "Photo Upload" button through an application on their smartphone or computer, select a photo, and send it. The prompt will be, "The user will retrieve and upload a photo." The input is image data on the device, and the output is image data stored in cloud storage.

[1157] Step 2:

[1158] The server retrieves image data uploaded from cloud storage. The server retrieves metadata (e.g., timestamps) from the image files and sorts them chronologically based on this metadata. The input is unsorted image data retrieved from cloud storage, and the output is chronologically sorted image data.

[1159] Step 3:

[1160] The server uses the OpenCV library to perform face recognition on the acquired image data. Specifically, it converts the image data to grayscale and detects faces using the Haar Cascade classifier. It then obtains the location information (coordinates and size) of the detected faces. The input is image data arranged in chronological order, and the output is image data with the face locations identified.

[1161] Step 4:

[1162] The server optimizes the image data based on the face recognition results. Specifically, it performs processes such as scaling, cropping, etc., so that the recognized face is centered in the image. The input is image data with identified face positions, and the output is the optimized image data.

[1163] Step 5:

[1164] Users may provide sentiment data (voice messages or text comments) when uploading images. The server retrieves this sentiment data and analyzes it using a sentiment engine. Specifically, it assigns sentiment tags such as "joy" and "sadness" using speech recognition and natural language processing. The input is voice data or text data, and the output is sentiment tags.

[1165] Step 6:

[1166] The server automatically generates comments based on optimized image data and sentiment tags, using relevant information (face recognition results, timestamps, etc.). For example, it might generate a comment like, "This photo was taken on 2023-09-15 at 14:30:00. A moment of joy." The input is optimized image data and sentiment tags, and the output is an automatically generated comment.

[1167] Step 7:

[1168] The device synchronizes the user's calendar information with the server. Specifically, it retrieves date information for anniversaries and events from the smartphone's calendar app and sends it to the server. The input is data from the calendar app, and the output is the synchronized calendar information.

[1169] Step 8:

[1170] The server selects appropriate images as anniversaries and events approach, based on synchronized calendar information and emotion recognition results. For example, it prioritizes selecting photos tagged with "joy" before a wedding anniversary. The input is synchronized calendar information and emotion tags, and the output is the selected image data.

[1171] Step 9:

[1172] The server notifies the user's device of the selected image data and automatically generated comments, timed to coincide with the anniversary or event date. For example, a message such as, "Do you remember this joyful photo? It's a commemorative photo from September 15, 2023," might appear on the user's smartphone. The input is the selected image data and automatically generated comments, and the output is the notification message sent to the user's device.

[1173] (Application Example 2)

[1174] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1175] In recent years, personalization technology utilizing photographs has attracted attention, but conventional systems have failed to select optimal photos and generate comments that take into account the user's emotions. As a result, the user experience tends to be uniform, and the provision of emotionally resonant photos and comments is insufficient even for special events and anniversaries. Furthermore, there were challenges such as the inefficiency of managing large amounts of photo data and notifications, making it difficult for users to effectively relive their memories.

[1176] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for uploading photo data from a terminal, means for sorting the uploaded photo data in chronological order, means for detecting faces in the photos using facial recognition technology, means for optimizing the photos (enlarging, shrinking, cropping) based on the detected faces, means for automatically generating comments based on the photo data and related information (date and time, face detection results, etc.), means for recognizing emotions from voice data and text data provided by the user at the time of upload using the emotion engine of a smart display, means for selecting and optimizing photos and comments based on the recognized emotions, and means for selecting photos and notifying users based on the dates of anniversaries and events in conjunction with the calendar information of a smartphone. This makes it possible to provide personalized photos and comments that take into account the user's emotions, thereby providing an even richer user experience.

[1177] A "terminal" is an information processing device used by users to upload photo data.

[1178] "Photo data" refers to digital image files that users upload from their devices.

[1179] "Chronological order" refers to the order in which photo data is sorted according to the date and time it was taken.

[1180] "Facial recognition technology" is a technology used to detect and identify faces in photographs.

[1181] "Optimization" is the process of enlarging, reducing, or cropping a photograph based on the detected faces.

[1182] "Automatic comment generation" is a process in which a computer automatically generates text comments based on photo data and related information.

[1183] A "smart display" is an information processing device with a display that is used to collect and analyze user emotional information.

[1184] An "emotion engine" is a software or hardware function that analyzes voice and text data to recognize a user's emotions.

[1185] "Calendar information" refers to the date information of anniversaries and events stored on the device.

[1186] "Anniversary notification" is a process that notifies users of a photo and comment based on a specific date.

[1187] The system implementing this invention operates by coordinating the user's terminal, server, and cloud storage. Specifically, the following procedures and components are required.

[1188] Users upload photo data using their devices. Once the device has finished uploading the photos, the data is saved to cloud storage. Cloud storage is a digital storage service for efficiently managing and storing large amounts of photo data.

[1189] The server retrieves photo data from cloud storage and sorts it chronologically. This involves analyzing the timestamps of the uploaded photo data. This process organizes the photos according to the order in which they were taken.

[1190] Next, the server uses facial recognition technology to detect faces in the photograph. This process utilizes the OpenCV library, an open-source software library specifically designed for image processing, which also includes facial recognition algorithms. If a face is detected, its location information (face coordinates and size) is obtained. Based on the facial recognition results, the photograph is automatically optimized. Specifically, the photograph is enlarged, reduced, or cropped based on the position of the faces.

[1191] The server further analyzes the user's emotional information using an emotion engine. Audio and text data provided by the user when uploading photos are used for this process. The emotion engine is software or hardware that analyzes this data to recognize the user's emotions (e.g., joy, sadness). For example, speech-to-text technology is used to convert audio data into text, and emotions are then analyzed from that text.

[1192] After emotions are recognized, the server automatically generates a comment based on the photo data and its associated information (date and time, facial recognition results, emotion information, etc.). This automatically generated comment is then input into the AI ​​model using prompts. A concrete example of a prompt is shown below.

[1193] This photo was taken on 2023-09-15 at 14:30:00. The emotion is "joy". Please generate a short comment.

[1194] The server also works in conjunction with the smartphone's calendar information, selecting photos and sending notifications based on the dates of anniversaries and events. Calendar information can be from sources such as Google Calendar or Apple Calendar. As an anniversary approaches, an appropriate photo is selected based on emotion recognition results, and a notification is sent to the user's device. This notification is used to evoke memories associated with a specific date.

[1195] This system enables the delivery of personalized photos and comments that take into account the user's emotions, providing a richer user experience. It personalizes users' daily lives and special events based on their emotions, and enables more efficient photo management and notifications.

[1196] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1197] Step 1: Upload photo data

[1198] Users upload photo data using their devices. At the same time, they also provide voice messages and text data.

[1199] Input: User's photo data, voice messages, and text data

[1200] Output: Photo data, audio data, and text data stored in cloud storage.

[1201] Specific operation: The user completes the photo selection and upload process via the application on their device.

[1202] Step 2: Acquire photo data and sort it chronologically.

[1203] The server retrieves photo data from cloud storage and sorts the photo data chronologically based on the timestamp.

[1204] Input: Photo data stored in cloud storage

[1205] Output: Photo data sorted in chronological order

[1206] Specific operation: The server analyzes the timestamp and sorts the photos in chronological order of when they were taken.

[1207] Step 3: Face recognition and photo optimization

[1208] The server uses the OpenCV library to detect faces in the photo and optimizes the photo (enlarge, reduce, crop) based on the face's location.

[1209] Input: Photo data sorted in chronological order

[1210] Output: Optimized photo data, face location information

[1211] Specific operation: The server converts each photo to a grayscale image, detects faces using a facial recognition algorithm, and then enlarges, reduces, or crops the photo so that the detected faces are centered.

[1212] Step 4: Emotion Recognition

[1213] The server uses an emotion engine to recognize emotions from the voice and text data provided by the user during upload.

[1214] Input: Audio data, text data

[1215] Output: Recognized emotional information (joy, sadness, etc.)

[1216] Specific operation: The server converts the audio data into speech-to-text, and then uses an emotion engine to analyze that text data and the provided text data to generate emotion tags.

[1217] Step 5: Automatic comment generation

[1218] The server automatically generates comments based on the photo data's timestamp and sentiment information. Prompt text is entered into the generation AI model.

[1219] Input: Optimized photo data, timestamp, sentiment information

[1220] Output: Auto-generated comment

[1221] Specific operation: The server generates a prompt message and inputs it into the AI ​​model to generate a comment. For example, the prompt message "This photo was taken on 2023-09-15 14:30:00. The emotion is 'joy'. Please generate a short comment." is input into the AI ​​model.

[1222] Step 6: Anniversary and Event Notifications

[1223] The server integrates with the smartphone's calendar information and notifies users of photos and generated comments based on the dates of anniversaries and events.

[1224] Input: Calendar information, optimized photo data, comments

[1225] Output: Notifications related to anniversaries and events

[1226] Specific operation: The server analyzes the user's calendar data, selects appropriate photos and comments as a specific date approaches, and sends a notification to the device.

[1227] Step 7: Receiving and displaying notifications

[1228] Users receive, view, and check anniversary and event notifications on their devices.

[1229] Input: Notifications related to anniversaries or events (with photos and comments)

[1230] Output: Display of notifications, viewing of photos and comments

[1231] Specific operation: The device receives the notification sent by the server and displays it to the user as a pop-up notification or in-app message.

[1232] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1233] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1234] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[1235] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1236] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1237] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1238] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1239] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1240] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[1241] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1242] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1243] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

[1244] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

[1245] 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.

[1246] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1247] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[1248] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[1249] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1250] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1251] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1252] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.

[1253] The following is further disclosed regarding the embodiments described above.

[1254] (Claim 1)

[1255] Methods for uploading photo data from a device,

[1256] A method for sorting uploaded photo data in chronological order,

[1257] A means of detecting faces in a photograph using facial recognition technology,

[1258] A method for optimizing (enlarging, shrinking, cropping) a photograph based on the detected face,

[1259] A method for automatically generating comments based on photo data and related information (date and time, face detection results, etc.),

[1260] A method that links with smartphone calendar information to select photos and send notifications based on the dates of anniversaries and events,

[1261] A system that includes this.

[1262] (Claim 2)

[1263] The system according to claim 1, characterized in that the upload of photo data is performed via cloud storage.

[1264] (Claim 3)

[1265] The system according to claim 1, characterized in that the generated comment is dynamically changed based on the facial recognition result.

[1266] "Example 1"

[1267] (Claim 1)

[1268] A means of uploading image data from a device,

[1269] A means of sorting uploaded image data in chronological order,

[1270] A means of detecting a person in an image using biometric authentication technology,

[1271] A method for optimizing (enlarging, shrinking, cropping) images based on detected individuals,

[1272] A method for automatically generating comments based on image data and related information (date and time, biometric authentication results, etc.),

[1273] A means of selecting images and sending notifications based on a specific date, linked to the schedule management information of a mobile device,

[1274] A system that includes this.

[1275] (Claim 2)

[1276] The system according to claim 1, characterized in that image data is uploaded via a remote storage device.

[1277] (Claim 3)

[1278] The system according to claim 1, characterized in that the generated comment is dynamically changed based on the biometric authentication result.

[1279] "Application Example 1"

[1280] (Claim 1)

[1281] Methods for uploading photo data from a device,

[1282] A method for sorting uploaded photo data in chronological order,

[1283] A means of detecting faces in a photograph using facial recognition technology,

[1284] A method for optimizing (enlarging, shrinking, cropping) a photograph based on the detected face,

[1285] A method for automatically generating comments based on photo data and related information (date and time, face detection results, etc.),

[1286] By acquiring photo data taken using the camera built into the smart device,

[1287] Automatically generated comments and messages are added to the photos that have been taken.

[1288] A method for selecting photos using specific prompt messages and sending notifications along with identification information when anniversaries or campaign events are approaching,

[1289] A system that includes this.

[1290] (Claim 2)

[1291] The system according to claim 1, characterized in that the upload of photo data is performed via cloud storage.

[1292] (Claim 3)

[1293] The system according to claim 1, characterized in that the generated comment is dynamically changed based on the facial recognition result.

[1294] "Example 2 of combining an emotion engine"

[1295] (Claim 1)

[1296] A means of uploading image data from a device,

[1297] A means of sorting uploaded image data in chronological order,

[1298] A means of recognizing the faces of people in an image using identification technology,

[1299] A method for optimizing (enlarging, shrinking, cropping) an image based on a recognized face,

[1300] A method for automatically generating comments based on image data and related information (date and time, face recognition results, etc.),

[1301] A method for selecting images and sending notifications based on the dates of anniversaries and events, linked to the calendar information of a mobile device,

[1302] A means of recognizing the user's emotions by analyzing voice data and text data,

[1303] A means of selecting images and comments based on recognized emotions,

[1304] A system that includes this.

[1305] (Claim 2)

[1306] The system according to claim 1, characterized in that image data is uploaded via online storage.

[1307] (Claim 3)

[1308] The system according to claim 1, characterized in that the generated comments are dynamically changed based on the facial recognition results.

[1309] "Application example 2 when combining with an emotional engine"

[1310] (Claim 1)

[1311] Methods for uploading photo data from a device,

[1312] A method for sorting uploaded photo data in chronological order,

[1313] A means of detecting faces in a photograph using facial recognition technology,

[1314] A method for optimizing (enlarging, shrinking, cropping) a photograph based on the detected face,

[1315] A method for automatically generating comments based on photo data and related information (date and time, face detection results, etc.),

[1316] A means of recognizing emotions from voice and text data provided by users during upload, using the emotion engine of a smart display.

[1317] A means of selecting and optimizing photos and comments based on recognized emotions,

[1318] A method that links with smartphone calendar information to select photos and send notifications based on the dates of anniversaries and events,

[1319] A system that includes this.

[1320] (Claim 2)

[1321] The system according to claim 1, characterized in that the upload of photo data is performed via cloud storage.

[1322] (Claim 3)

[1323] The system according to claim 1, characterized in that the generated comment is dynamically changed based on the facial recognition result. [Explanation of Symbols]

[1324] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. Methods for uploading photo data from a device, A method for sorting uploaded photo data in chronological order, A means of detecting faces in a photograph using facial recognition technology, A means of optimizing a photograph based on the detected face, A method for automatically generating comments based on photo data and related information, A method that links with smartphone calendar information to select photos and send notifications based on the dates of anniversaries and events, A system that includes this.

2. The system according to claim 1, characterized in that the upload of photo data is performed via cloud storage.

3. The system according to claim 1, characterized in that the generated comment is dynamically changed based on the facial recognition result.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A