system

The system automates the assembly of building blocks by analyzing images and generating assembly instructions, addressing the inefficiency of manual assembly and enabling creative, emotion-based artwork creation.

JP2026037194APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Traditional building block systems require users to manually assemble pieces, which is time-consuming and burdensome, especially for children and beginners, necessitating a method to efficiently utilize existing blocks for creating new artworks.

Method used

A system that analyzes images of building blocks, generates new artwork designs, and provides assembly instructions based on user-selected themes or emotional states, using algorithms to recognize block attributes and automate the assembly process.

Benefits of technology

Enables users to easily and efficiently create new artworks by automating the assembly process, reducing time and effort, and allowing for personalized creations based on user emotions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026037194000001_ABST
    Figure 2026037194000001_ABST
Patent Text Reader

Abstract

Provide a system. [Solution] A means for automatically recognizing building blocks from image data; A means for generating an artwork based on the recognized building block data; The system includes means for generating assembly instructions based on the generated artwork.
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 technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] When using traditional building blocks (such as LEGO blocks), even if they are purchased in a pre-assembled state, they are often stored in pieces afterwards. For users to assemble new original works in this state requires creativity and time, which is a significant burden, especially for children and those new to creative activities. There is a need for a method that makes effective use of existing blocks and allows users to easily assemble new works. [Means for solving the problem]

[0005] The present invention is a system that includes a means for analyzing image data captured by a user and automatically recognizing building blocks, a means for automatically generating an artwork based on the recognized block data, and a means for creating an assembly instruction manual based on the generated artwork, thereby enabling users to easily assemble new, original artworks from their own loose building blocks.

[0006] "Image data" is a digital image containing visual information of building blocks, obtained by a user taking a photograph or scanning the image.

[0007] "Building blocks" are a type of building block toy, consisting of blocks, primarily made of plastic, with specific shapes and sizes.

[0008] The "means of recognition" refers to algorithms or software that identify attributes such as color, shape, and size of building blocks from image data and treat them as data.

[0009] The "means for generating artworks" are algorithms and software that automatically create new designs and structures based on recognized building block data.

[0010] A "means for generating assembly instructions" is an algorithm or software that generates step-by-step instructions that allow a user to recreate the generated artwork.

[0011] A "system" is a collection of devices and software that are configured by combining multiple means and are operated to achieve a specific function. [Brief explanation of the drawings]

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

[0013] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

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

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

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

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

[0018] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0019] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0020] [First embodiment]

[0021] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0022] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0023] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0025] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0026] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0027] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

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

[0029] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0031] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

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

[0033] The system of the present invention is designed to create new artworks from loose building blocks owned by users and provide instructions for assembling them. This system is comprised of a user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with concrete examples.

[0034] LEGO block recognition

[0035] User Input

[0036] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[0037] Receiving image data

[0038] The server receives the image data sent by the user, and the received image data is stored in the server and saved for subsequent processing.

[0039] Building block recognition

[0040] The server applies image analysis algorithms to the received image data, identifying the building blocks in the image and determining their attributes, such as shape, color, and size. The server stores this data in a database for later use in generating artwork.

[0041] Art Generation

[0042] Theme selection

[0043] Users select the theme of the artwork they want to create on the app, such as animals, landscapes, buildings, etc. The theme information selected by the user is sent from the device to the server.

[0044] Running an art generation algorithm

[0045] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you select an animal theme, the server will generate a new animal model from the available blocks, taking into account the animal's shape and details.

[0046] Generating building instructions

[0047] Assembly step design

[0048] The server then designs assembly instructions based on the artwork generated by the server. The server then creates detailed instructions showing which blocks to use and where to place them at each step, making it easier for users to assemble the artwork.

[0049] Generate and send instructions

[0050] The server compiles all the steps and generates comprehensive building instructions, which are sent to the user's device in PDF or image format, allowing the user to build a new creation using their existing building blocks.

[0051] Specific examples

[0052] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to the server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, when the user selects "animals" as the theme in the app, the server generates a design for the new animal model based on that theme. Finally, the server creates assembly instructions based on the design and sends them to the user's device. The user can easily assemble the new animal model by following these instructions.

[0053] The processing flow will be explained below.

[0054] Step 1:

[0055] The user takes a photo of the building blocks at home with their smartphone, and the image data is imported into the device via a dedicated app.

[0056] Step 2:

[0057] The device uploads the captured image data to the server. The user presses the send button on the app to send the image data to the server.

[0058] Step 3:

[0059] The server receives the transmitted image data and stores it in the server's internal storage.

[0060] Step 4:

[0061] The server uses image analysis algorithms to recognize the building blocks in the image data. The server identifies each block by its color, shape, and size.

[0062] Step 5:

[0063] The server stores the information about the building blocks it recognizes in a database, which records the attribute data of each block (color, shape, size, etc.).

[0064] Step 6:

[0065] The user selects the theme they want to create (e.g., animals, landscapes, buildings, etc.) through a dedicated app. The selected theme information is sent from the device to the server.

[0066] Step 7:

[0067] The server runs an art generation algorithm based on the selected theme and the building block data in the database. The server creates designs that fit the theme and generates new artwork using the available blocks.

[0068] Step 8:

[0069] The server then designs assembly instructions based on the artwork it generates. The server determines the blocks required and their placement for each step, and creates detailed assembly instructions.

[0070] Step 9:

[0071] The server generates assembly instructions in PDF or image format, which are then sent to the user's device.

[0072] Step 10:

[0073] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, completing a new, original work of art.

[0074] Example 1

[0075] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0076] Conventional methods for creating artwork using building blocks have the drawback of requiring users to manually assemble the blocks, which is a cumbersome process and requires a great deal of time and effort to complete. It is also difficult for users to consider the theme of the artwork they want to create and devise specific steps to complete it. Therefore, there is a need for technology that allows users to efficiently and easily create new artworks while utilizing their creativity.

[0077] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0078] In this invention, the server includes means for uploading image data captured by a user from the terminal to the server, means for receiving and saving the uploaded image data in the server, means for applying an image analysis algorithm to the saved image data to identify building blocks and determine their attributes, means for sending theme information selected by the user from the terminal to the server, means for executing an art generation algorithm based on the selected theme and generating a new work of art based on the building block data, means for designing and creating assembly instructions for the generated work of art, and means for sending the assembly instructions to the terminal, thereby enabling a user to easily create a new work of art.

[0079] "User" means a person or end user who uses the system.

[0080] A "terminal" is a device, such as a smartphone, tablet, or personal computer, that a user uses to access the system.

[0081] A "server" is a central processing unit that receives, stores, analyzes data sent by users, and sends the generated results to the user terminal.

[0082] "Image data" refers to digital data including a photograph of building blocks that is taken by a user using a terminal and uploaded to the system.

[0083] "Upload" refers to the act of transferring data from a user's device to a server.

[0084] "Reception" refers to the operation of the server taking in data sent from the user's terminal.

[0085] "Storage" means that the server stores the received data in storage.

[0086] An "image analysis algorithm" is a program or method for identifying building blocks from received image data and determining their attributes.

[0087] "Building blocks" refer to building blocks of various shapes, colors, and sizes that a user owns.

[0088] A "theme" is the type or style of artwork a user wishes to create. Examples include animals, landscapes, buildings, etc.

[0089] An "art generation algorithm" is a program or method for designing and generating new works of art based on a user-selected theme and building block data.

[0090] "Artworks" are new building block creations generated by art generation algorithms.

[0091] A "assembly instruction" is a document that shows the procedures or steps required to actually assemble the generated artwork.

[0092] "Design" is the process of planning and describing in detail, step by step, the construction of a work of art.

[0093] "Send" refers to the operation of sending the assembly instructions generated by the server to the user's terminal.

[0094] The system of the present invention creates a new work of art using building blocks owned by the user and provides instructions for assembling it. This system is configured through the user's terminal, a server, and a network connecting them. Specific embodiments are described below.

[0095] Specific hardware and software names used

[0096] User devices: smartphones, tablets, personal computers

[0097] Server: Linux (registered trademark) server, cloud server

[0098] Image analysis software: OpenCV, TENSORFLOW (registered trademark)

[0099] PDF generation library: Apache(R) PDFBox

[0100] Data processing and calculation

[0101] The user takes a picture of the building blocks and uploads it

[0102] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[0103] Receiving and storing images on the server

[0104] The server receives the image data sent from the device. The received image data is saved in the server's storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[0105] Applying image analysis algorithms to recognize building blocks

[0106] The server performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first detects edges in the image and identifies the building blocks. It then determines the shape, color, and size of the blocks and stores this data in a database.

[0107] The user selects the theme of the artwork

[0108] On the app, users select the theme of the artwork they want to create from themes such as animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[0109] Running the art generation algorithm on the server

[0110] The server runs an art generation algorithm based on the theme selected by the user and the building block data in the database. For example, if the theme is animals, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[0111] Generate assembly instructions

[0112] The server designs assembly instructions based on the generated artwork. It details the blocks to be used and their placement for each step, and generates instructions in PDF and image format. Apache PDFBox is used to generate the PDF.

[0113] Send assembly instructions

[0114] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and follow them to assemble their new building block creation.

[0115] Specific examples

[0116] For example, if a user wants to create a new building block piece at home with an "animal" theme, they first take a photo of the building blocks they own with their smartphone and upload it to the server via the app. The server receives and analyzes the image data to identify the attributes of each block. If the user then selects "animals" as the theme in the app, the server uses an art generation algorithm to generate a new animal model. Finally, it creates assembly instructions based on that model and sends them to the user in PDF format. The user can then assemble the new animal model by following the instructions.

[0117] Example prompts for generative AI models

[0118] "Please analyze images of building blocks taken by users and generate new animal-themed building blocks based on that data. Please also generate assembly instructions for the created building blocks and provide them in PDF format."

[0119] The above procedures and techniques allow users to more easily and efficiently create new works of art using building blocks.

[0120] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0121] Step 1:

[0122] The user takes a picture of the building blocks and uploads it

[0123] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[0124] Input: Image data taken by the user

[0125] Output: Compressed image data sent from the device to the server

[0126] Specifically, the terminal compresses the image data into JPEG format and transmits it to the server via the network.

[0127] Step 2:

[0128] Receiving and storing images on the server

[0129] The server receives the image data sent from the device. The received image data is saved in storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[0130] Input: Compressed image data

[0131] Output: Image file saved to storage

[0132] Specifically, the server assigns a unique file name and timestamp to the received data and saves it in a specified directory.

[0133] Step 3:

[0134] Applying image analysis algorithms to recognize building blocks

[0135] The server then performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first performs edge detection to identify the building blocks, then identifies attributes such as the block's shape, color, and size, and stores this data in a database.

[0136] Input: Saved image data

[0137] Output: Building block identification data stored in a database

[0138] Specifically, the image analysis algorithm applies an edge detection filter and extracts the outline of the building blocks from the result, then calculates shape features and identifies color and size attributes.

[0139] Step 4:

[0140] The user selects the theme of the artwork

[0141] On the app, users select the theme they want to create from a range of themes, including animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[0142] Input: User selected theme information

[0143] Output: Theme information sent to the server

[0144] Specifically, the device sends the theme information to the server as structured data (e.g., JSON).

[0145] Step 5:

[0146] Running the art generation algorithm on the server

[0147] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you choose an animal theme, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[0148] Input: Theme information and building block data

[0149] Output: Generated artwork design data

[0150] Specifically, the server combines building blocks based on a template corresponding to the theme, calculates the optimal layout, and generates design data.

[0151] Step 6:

[0152] Create assembly instructions based on generated artwork

[0153] The server then designs and creates assembly instructions based on the design data of the artwork, detailing the blocks to be used and their placement for each step, and generates instructions in PDF and image format.

[0154] Input: Design data for the generated artwork

[0155] Output: Assembly instructions

[0156] Specifically, the server uses a PDF generation library (e.g., Apache PDFBox) to create the assembly instructions in PDF format.

[0157] Step 7:

[0158] Send assembly instructions to your device

[0159] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and assemble the piece according to the instructions.

[0160] Input: Assembly instructions (PDF format)

[0161] Output: Instructions sent to the user's device

[0162] Specifically, the server associates the procedure file with the user's account and sends the file to the terminal via the network.

[0163] (Application example 1)

[0164] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0165] Traditional factory lines make it difficult to efficiently prototype and produce new product designs. Creating products using new parts is particularly time-consuming and costly. Furthermore, manual assembly is prone to errors, which can lead to reduced production efficiency. Addressing these issues, there is a growing need for more efficient and accurate automated assembly systems.

[0166] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0167] In this invention, the server includes means for automatically recognizing parts from an image taken by a user, means for generating a new product design based on data on the recognized parts, means for creating an automatic assembly procedure manual based on the generated product design, and means for transmitting assembly instructions to a robot arm based on the created assembly procedure manual, thereby enabling efficient and highly accurate automatic assembly.

[0168] "Images taken by a user" refers to digital data of visual information acquired by a user using their own device.

[0169] A "part" is an element or material that makes up part of a product.

[0170] "Automatic recognition means" refers to techniques or methods that allow machines or systems to identify objects without human intervention using specific algorithms.

[0171] A "new product design" is a new product shape or blueprint formed by a new arrangement or combination of existing parts.

[0172] An "automated assembly procedure manual" is a document that lists the steps that machines and humans follow to carry out a task in an orderly manner.

[0173] A "robot arm" is a mechanical arm device that has multiple axes and operates based on a program.

[0174] "Means for transmitting assembly instructions" refers to the technology or method for electronically transmitting work procedures from the system to assembly equipment such as robotic arms.

[0175] A "server" is a computer system on a network that receives requests from clients, processes them, and returns the results.

[0176] MODE FOR CARRYING OUT THE INVENTION

[0177] The system for realizing this invention consists of the following main components: a user terminal (smartphone or tablet), a server, and a network connecting them.

[0178] 1. Acquiring and recognizing images of parts

[0179] The user takes an image of the part using their own device (smartphone or tablet). The image is then uploaded to the server via a dedicated application. The server then uses an image analysis library such as OpenCV to automatically identify the part from the image data. The recognized part's characteristic data, such as shape, color, and size, is then stored in a database.

[0180] 2. Generating new product designs

[0181] When a user wants to design a new product, the server generates a new product design based on the recognized parts data. Using a generative AI model, a new design is created based on the parts data and a theme. For example, if a user wants to create a "new assembly robot hand," the generative AI model will suggest the optimal combination based on that theme.

[0182] 3. Creating automated assembly instructions

[0183] Based on the generated product design, the server creates an automatic assembly instruction manual, which details the placement order and position information of each part. This instruction manual is generated in PDF or image format and sent to the user's device.

[0184] 4. Sending assembly instructions to the robot arm

[0185] The server then sends assembly instructions to the robot arm based on the created assembly instructions. Using dedicated APIs such as the RoboticArm API, the robot arm accurately executes the instructions, enabling highly accurate automated assembly.

[0186] Hardware and software used

[0187] Hardware:

[0188] User devices (smartphones, tablets)

[0189] Robot arms (e.g. industrial robot arms)

[0190] server

[0191] software:

[0192] OpenCV (image analysis)

[0193] requests (HTTP requests)

[0194] RoboticArm API (Robot arm control)

[0195] Generative AI models (generating new product designs)

[0196] Specific examples

[0197] For example, if a user wants to assemble new parts to create a "new assembly robot hand," they first take a photo of the parts with their smartphone and upload it to the server via a dedicated app. The server recognizes the parts and uses a generative AI model to suggest the optimal combination. The server then creates a detailed assembly manual and sends specific assembly instructions to the robot arm based on that manual.

[0198] Prompt Sentence Examples

[0199] I want to make a new assembly robot hand. Please use the parts shown in the image below.

[0200] [Part image URL]

[0201] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0202] Specific explanations divided into processing steps

[0203] Step 1:

[0204] The user takes a picture of the part using a smartphone or tablet. This image data becomes the input. The user then uploads the image to the server using a dedicated application. The input is the image data of the part, and the output is the upload of the image data to the server.

[0205] Step 2:

[0206] The server receives image data received from the user and performs preprocessing. The input here is the image data of the parts uploaded by the user. The server uses an image analysis library (e.g., OpenCV) to automatically recognize parts from the image. Data processing includes image filtering, edge detection, and segmentation. The output is characteristic data (shape, color, size) of the recognized parts.

[0207] Step 3:

[0208] The server saves the characteristic data of the recognized parts in a database. The input here is the characteristic data of the recognized parts. By saving it in the database, the part data becomes available for subsequent processes. The output is the data saved in the database.

[0209] Step 4:

[0210] A user selects a theme for a new product design (e.g., "a new assembly robot hand") through the application. The input is the theme selection information from the user, and the output is the transmission of the theme information to the server.

[0211] Step 5:

[0212] The server runs a generative AI model based on the theme information and parts data in the database to generate a new product design. The input here is the theme information and parts data. The generative AI model proposes the optimal combination of parts based on the theme. Data calculation involves analyzing the parts data, comparing it with the theme, and synthesizing a new design. The output is new product design data.

[0213] Step 6:

[0214] The server creates an automated assembly procedure manual based on the generated product design. The input is new product design data. The server generates an assembly procedure manual that details the placement order and position information of each part. Data processing involves breaking down the procedure into steps and generating part placement information. The output is an assembly procedure manual (PDF or image format).

[0215] Step 7:

[0216] The server sends the created assembly instructions to the user terminal. The input is the assembly instructions data, and the output is the instructions sent to the user terminal. The user can then check the received instructions.

[0217] Step 8:

[0218] The server sends specific assembly instructions to the robot arm based on the assembly instructions. The input is the assembly instructions data. The assembly instructions are sent to the robot arm using a robot arm control API (e.g., RoboticArm API). The output is the assembly actions performed by the robot arm. This enables highly accurate automated assembly.

[0219] In this way, new products are designed and automatically assembled in a series of processes using images of parts taken by the user.

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

[0221] The system of the present invention creates new artworks from loose building blocks owned by the user and provides instructions for assembling them. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate artworks and provide instructions optimally according to the user's psychological state. This system is comprised of the user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with specific examples.

[0222] LEGO block recognition

[0223] User Input

[0224] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[0225] Receiving image data

[0226] The server receives the image data sent by the user, and the received data is stored in the server and held for subsequent processing.

[0227] Use of emotion engine

[0228] User Emotion Recognition

[0229] The device recognizes the user's emotions by analyzing the user's facial expressions, tone of voice, input data, etc. The recognized emotion data is sent to the server.

[0230] Receiving and processing emotion data

[0231] The server receives the emotion data sent from the device and analyzes it. Based on this data, the server identifies the emotion (e.g., joy, sadness, surprise, etc.) that the user is currently feeling.

[0232] Art Generation

[0233] Theme selection

[0234] Based on the user's selection or the emotion engine, the automatically selected theme (e.g., animals, landscapes, buildings, etc.) is sent to the server. If the user does not select a specific theme, the system will choose an appropriate theme based on the user's emotion.

[0235] Running an art generation algorithm

[0236] The server runs an art generation algorithm based on the selected or recommended theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated, and if they are feeling sad, a soothing and calming design will be generated.

[0237] Generating building instructions

[0238] Assembly step design

[0239] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[0240] Generate and send instructions

[0241] The server compiles all the steps and generates a comprehensive assembly manual, which is then sent to the user's device in PDF or image format. The user can then use the manual to assemble a new piece of work using the building blocks they already own.

[0242] Specific examples

[0243] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, and the user follows the instructions to assemble a new animal model.

[0244] In this way, the present invention is a system that provides an optimal experience for users by seamlessly combining building block recognition, use of an emotion engine, theme selection, art generation, and creation and transmission of assembly instructions.

[0245] The processing flow will be explained below.

[0246] Step 1:

[0247] Users take photos of building blocks at home with their smartphones, and the captured image data is saved on the device via a dedicated app.

[0248] Step 2:

[0249] The device uploads the saved image data to the server. The user presses the send button on the app to send the image data to the server.

[0250] Step 3:

[0251] The server receives the transmitted image data and stores it in its internal storage.

[0252] Step 4:

[0253] The server runs image analysis algorithms to identify building blocks in the image data, determining attributes such as color, shape, and size of the blocks, and stores each block in a database.

[0254] Step 5:

[0255] The device runs an emotion engine that analyzes the user's facial expressions, voice tone, input data, etc. to recognize the user's emotions. The emotion data is sent from the device to the server.

[0256] Step 6:

[0257] The server analyzes the received emotion data to determine the user's current emotional state, for example, whether the user is happy, sad, surprised, etc.

[0258] Step 7:

[0259] When a user selects a theme they want to create using the dedicated app, that theme information is sent from the device to the server. If the user does not select a theme, the server automatically selects an appropriate theme based on emotion data.

[0260] Step 8:

[0261] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated. If the user is feeling sad, a soothing and calming design will be generated.

[0262] Step 9:

[0263] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[0264] Step 10:

[0265] The server generates assembly instructions in PDF or image format and sends them to the user's device.

[0266] Step 11:

[0267] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, allowing them to complete a new, original work of art.

[0268] This system allows users to easily create and assemble the building block artwork that best suits their emotions.

[0269] Example 2

[0270] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0271] Conventional systems for generating artwork using building blocks simply generate artwork based on user input, and have the problem of not being able to generate optimal artworks or provide instructions that correspond to the user's emotions or psychological state. This makes it difficult to improve user satisfaction and prevents users from making the most of the building blocks they have on hand.

[0272] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving image data captured by a user and performing preprocessing, means for recognizing building blocks from the preprocessed image data, means for generating a work of art that corresponds to the user's emotional state based on the recognized building block data, means for creating assembly instructions based on the generated work of art and providing them to the user, means for recognizing the user's emotions using an emotion engine and analyzing the recognized emotion data, and means for executing an art generation algorithm based on the emotion analysis results. This makes it possible to generate an optimal work of art and provide instructions that correspond to the user's emotions and psychological state.

[0273] "Image data taken by a user" refers to photo data of building blocks that a user takes using a mobile device such as a smartphone or tablet and sends to the system.

[0274] "Preprocessing" refers to the data processing step of converting captured image data into an analyzable format, and includes noise reduction and resolution adjustment.

[0275] "Building block recognition" is the process of identifying building block attributes such as shape, color, and size from preprocessed image data.

[0276] "User's emotional state" refers to the user's current psychological state, including joy, sadness, surprise, and the like.

[0277] "Artwork generation" is the process of creating new designs and models based on user-provided building block data and the user's emotional state.

[0278] An "assembly manual" is a document that provides instructions for users to recreate the generated artwork, and is provided in PDF or image format.

[0279] An "emotion engine" is a technology that recognizes a user's emotional state by analyzing their facial expressions, tone of voice, and input data.

[0280] "Emotion data" is data that represents the user's emotional state as recognized by the emotion engine.

[0281] The "art generation algorithm" is an algorithm for automatically designing and generating new works of art based on the user's building block data and emotional data.

[0282] The "means for performing pre-processing" is a function within the system for converting captured image data into an analyzable format.

[0283] "Data of recognized building blocks" refers to attribute information of building blocks identified through pre-processing and recognition processes.

[0284] The "means for generating artwork according to the user's emotional state" is a function within the system for generating an optimal design based on the user's emotional state.

[0285] "Means for creating assembly instructions and providing them to users" is a function for generating and providing documentation that allows users to understand and reproduce the assembly process of the generated artwork.

[0286] "Means for recognizing a user's emotions using an emotion engine and analyzing the recognized emotion data" refers to a function within the system that analyzes the user's facial expressions and tone of voice to identify the user's emotional state and analyzes that data.

[0287] The "means for executing an art generation algorithm based on the emotion analysis results" is a function for executing an algorithm for generating an optimal work of art based on the user's emotion data.

[0288] The present invention relates to a system that creates new artworks from building blocks owned by a user and provides assembly instructions. This system further combines an emotion engine that recognizes the user's emotions to create artworks that are optimally tailored to the user's psychological state. A detailed description of specific embodiments of the present invention is provided below.

[0289] LEGO block recognition

[0290] 1. Hardware and Software Use

[0291] Users take pictures of the building blocks using a mobile device such as a smartphone or tablet. This image data is processed through a dedicated application installed on the device. Specific examples include smartphones (e.g., iPhone (registered trademark), Samsung Galaxy), tablets (e.g., iPad (registered trademark)), and dedicated apps (e.g., LEGO Master App).

[0292] 2. Data processing and calculation

[0293] Image data captured by the user is first preprocessed. This includes noise reduction and resolution adjustment. The preprocessed data is then used to recognize the building block attributes (shape, color, size, etc.) using an AI model such as TensorFlow. The results of this analysis are run on an AWS (registered trademark) EC2 server and stored in a database (e.g., Amazon DynamoDB).

[0294] Use of emotion engine

[0295] 1. User Emotion Recognition

[0296] A dedicated app installed on the device captures the user's facial expressions and tone of voice in real time and recognizes their emotions using Google® Cloud Vision API or Microsoft® Azure® Emotion API, which identifies the user's emotional state (e.g., joy, sadness, surprise, etc.) and transmits the emotional data to a server.

[0297] 2. Emotion Data Analysis

[0298] The server receives the emotion data and analyzes it using an internal analysis system (e.g., Scikit-learn). Based on the analysis results, the user's current emotional state is classified.

[0299] Art creation and assembly instructions

[0300] 1. Theme selection and art creation

[0301] The user selects a specific theme (e.g., animals, landscapes, buildings), or a theme is automatically selected based on the emotion engine and sent to the server. The server then uses art generation algorithms such as GAN (Generative Adversarial Networks) to generate new artworks based on the selected theme and the building block data in the database.

[0302] 2. Generating assembly instructions

[0303] The server designs a manual based on the generated artwork. This manual arranges the steps in the optimal order according to the user's emotional state. The manual is created in PDF or image format and sent to the user's device. The user can then use this manual to assemble a new work of art.

[0304] Specific examples

[0305] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, allowing the user to assemble the new animal model by following the instructions.

[0306] Prompt Sentence Examples

[0307] "I want to build a new animal model using building blocks at home. Please walk me through the process by following these steps."

[0308] 1. Take a photo of the building blocks with your smartphone and upload it to the server via a dedicated app.

[0309] 2. The server receives and analyzes the image data.

[0310] 3. The device recognizes the user's emotions and sends the data to the server.

[0311] 4. The server receives and analyzes the emotion data.

[0312] 5. The server selects a theme and creates a design using an art generation algorithm.

[0313] 6. The server generates an assembly instruction manual and sends it to the user's device.

[0314] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0315] Step 1:

[0316] The user takes a photo of building blocks at home using the camera on their smartphone or tablet. Specifically, the user launches the camera app on their smartphone and takes a photo of the building blocks. They then open the dedicated app and import the image they took into the app. This becomes the input data. Next, the user presses the "upload image" button on the app to send the image data to the server. The output is the image data received by the server.

[0317] Step 2:

[0318] The server receives image data sent by the user and performs preprocessing. Specifically, the server takes the received image data as input and performs preprocessing such as noise reduction and resolution adjustment. This converts the image data into an analyzable format. The output is the preprocessed image data.

[0319] Step 3:

[0320] The server recognizes the attributes of the building blocks from the preprocessed image data. Specifically, the server analyzes the image data using an AI model such as TensorFlow and identifies the block attributes (shape, color, size, etc.). The input is the preprocessed image data, and the output is the recognized building block data. The recognition results are stored in a database.

[0321] Step 4:

[0322] The device recognizes the user's emotions and sends the data to the server. Specifically, the device's camera and microphone capture the user's facial expressions and tone of voice in real time. The app recognizes emotions using the Google Cloud Vision API and Microsoft Azure Emotion API. The input is the user's real-time facial expressions and voice, and the output is recognized emotion data. This data is then sent to the server.

[0323] Step 5:

[0324] The server receives and analyzes the emotion data sent from the device. Specifically, the server takes the emotion data as input, analyzes the data using an analysis system such as Scikit-learn, and identifies the user's emotional state. The output is the analyzed emotional state.

[0325] Step 6:

[0326] The server selects a theme based on the emotion analysis results and runs an art generation algorithm. Specifically, if the user does not select a specific theme, the system automatically selects an appropriate theme based on the user's emotional state. Based on the selected theme and the building block data in the database, a new work of art is generated using algorithms such as GAN (Generative Adversarial Networks). The input is emotion data and building block data, and the output is the generated artwork.

[0327] Step 7:

[0328] The server creates assembly instructions based on the generated artwork and provides them to the user. Specifically, the server designs the instructions based on the art model. Each step in the instructions is arranged in the optimal order depending on the user's emotional state. All steps are combined to generate the instructions in PDF or image format. The input is the generated artwork, and the output is the assembly instructions. This instruction is sent to the user's device.

[0329] (Application example 2)

[0330] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0331] There is a need to provide users with an appropriate and satisfying experience by generating new artworks using building blocks owned by the user and taking into account the user's psychological state during the creation process. Conventional systems can generate artworks by recognizing building blocks, but they cannot generate artworks that take the user's emotions into account or provide assembly instructions accordingly. In such a situation, it is difficult to provide an optimal experience that corresponds to the user's emotions.

[0332] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically recognizing building blocks from image data, means for generating a work of art based on the recognized building block data, means for analyzing the user's emotional state, means for selecting a theme for the work of art based on the user's emotional data, and means for creating an assembly instruction manual based on the generated work of art. This makes it possible to generate an optimal work of art based on the building blocks the user has and their psychological state at the time.

[0333] "Image data" refers to an image file taken by a user, which contains visual information about the building blocks.

[0334] "Building block recognition means" refers to an algorithm or process for automatically identifying building blocks from image data.

[0335] "Art generation tools" refers to algorithms and methods that create new designs and structures based on recognized building block data.

[0336] The "emotional state analysis means" is a system for analyzing the user's emotions, and includes technology for analyzing the user's facial expressions, tone of voice, and input data.

[0337] "Theme selection means" refers to a system or algorithm that has the function of automatically selecting the theme (e.g., animals, landscapes, buildings, etc.) of the artwork to be generated based on the user's emotional data.

[0338] "Assembly procedure creation means" refers to a process or system that documents the assembly method based on the generated artwork in a format that can be understood by the user.

[0339] A "system" refers to a series of devices and software that organically combines these means to provide users with convenient and appropriate services.

[0340] This invention relates to a system that analyzes image data of building blocks held by a user, generates an optimal artwork according to the user's emotional state, and provides instructions for assembling it. This system is mainly composed of a user's terminal, a server, and a network connecting them.

[0341] First, a user takes a photo of building blocks at home using a device such as a smartphone and uploads the image data to a server using a dedicated app. The server receives the image data and uses an image processing algorithm to recognize the building blocks. Image processing libraries such as OpenCV are commonly used software for this process.

[0342] Next, the device analyzes the user's emotional state. It uses an emotion analysis engine (e.g., EmotionDetector) to obtain emotional data based on the user's facial expressions, tone of voice, and input data, and sends the data to the server. Based on this emotional data, the server selects an appropriate theme. For example, if the user is feeling happy, it selects a bright and cheerful theme, and if the user is sad, it selects a soothing theme.

[0343] The server then generates a work of art based on the recognized building block data and the selected theme, using techniques such as generative AI models and art generation algorithms, such as the ArtGenerator library.

[0344] Then, based on the generated artwork, an assembly instruction manual is created according to the user's emotions. This instruction manual is generated in PDF or image format and uploaded to a cloud storage service (e.g., CloudStorageService). The user can download and use this instruction manual. Finally, the server provides the user with a download link for the cloud storage.

[0345] To give a specific example, a user takes a photo of building blocks on their smartphone and sends it to the server via the app. If the emotion analysis engine detects that the user is enjoying the image, the server generates an animal-themed artwork. Instructions for assembling the artwork are then created and provided to the user.

[0346] An example prompt to use is "Generate an appropriate themed artwork based on the user's emotional data."

[0347] In this way, the present invention analyzes images of building blocks held by the user, generates an optimal artwork based on the user's emotional state, and provides assembly instructions, providing a seamless and intuitive user experience.

[0348] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0349] Step 1:

[0350] The user takes a picture of the building blocks and uploads the image data to the server using a dedicated app. The image taken by the user with their smartphone is imported into the app as input, and the server receives this image data as output.

[0351] Step 2:

[0352] The server performs preprocessing to analyze the received image data. Specifically, it uses an image processing library (e.g., OpenCV) to perform preprocessing such as noise removal and filtering on the image data. As input, the raw image data uploaded by the user is passed to the server, and as output, preprocessed image data is generated.

[0353] Step 3:

[0354] The building blocks are recognized based on the preprocessed image data. The server uses machine learning and image recognition algorithms to identify the type and location of each block. The preprocessed image data is used as input, and a list of recognized building blocks is generated as output.

[0355] Step 4:

[0356] The device analyzes the user's emotional state by analyzing the user's facial expressions and tone of voice using an emotion recognition engine (e.g., EmotionDetector). The device takes in the user's facial expressions and voice data as input, and generates analyzed emotional data as output, which is then sent to the server.

[0357] Step 5:

[0358] The server receives the emotion data, analyzes it, and then selects a theme for the artwork. For example, if the user is feeling happy, it selects the "animal" theme. The emotion data sent from the device is passed to the server as input, and the selected theme is generated as output.

[0359] Step 6:

[0360] The server generates artwork using a generative AI model (e.g., ArtGenerator) based on the recognized building block data and the selected theme. As input, it receives a list of building blocks and theme information, and as output, it generates design data for the generated artwork.

[0361] Step 7:

[0362] The server creates assembly instructions based on the generated artwork. Using an instruction manual creation algorithm, it generates instructions in PDF format that are optimized for the user's emotions. The design data of the generated artwork and the user's emotional data are used as input, and a PDF file of the assembly instructions is generated as output.

[0363] Step 8:

[0364] The server uploads the PDF of the assembly instructions to cloud storage and generates a download link. The generated PDF of the assembly instructions is passed to the cloud storage service as input, and a download link is generated as output.

[0365] Step 9:

[0366] The user receives a download link through their device and downloads the instructions, which they can then use to assemble a new piece of work. As input, the download link from the server is given, and as output, the instructions are saved on the user's device.

[0367] In this way, the input and output are clear for each step, and the system is designed to be easy for users to operate.

[0368] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0369] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0370] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0371] [Second embodiment]

[0372] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0373] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0374] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0376] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[0378] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0379] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0380] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0382] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0383] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0384] The system of the present invention is designed to create new artworks from loose building blocks owned by users and provide instructions for assembling them. This system is comprised of a user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with concrete examples.

[0385] LEGO block recognition

[0386] User Input

[0387] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[0388] Receiving image data

[0389] The server receives the image data sent by the user, and the received image data is stored in the server and saved for subsequent processing.

[0390] Building block recognition

[0391] The server applies image analysis algorithms to the received image data, identifying the building blocks in the image and determining their attributes, such as shape, color, and size. The server stores this data in a database for later use in generating artwork.

[0392] Art Generation

[0393] Theme selection

[0394] Users select the theme of the artwork they want to create on the app, such as animals, landscapes, buildings, etc. The theme information selected by the user is sent from the device to the server.

[0395] Running an art generation algorithm

[0396] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you select an animal theme, the server will generate a new animal model from the available blocks, taking into account the animal's shape and details.

[0397] Generating building instructions

[0398] Assembly step design

[0399] The server then designs assembly instructions based on the artwork generated by the server. The server then creates detailed instructions showing which blocks to use and where to place them at each step, making it easier for users to assemble the artwork.

[0400] Generate and send instructions

[0401] The server compiles all the steps and generates comprehensive building instructions, which are sent to the user's device in PDF or image format, allowing the user to build a new creation using their existing building blocks.

[0402] Specific examples

[0403] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to the server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, when the user selects "animals" as the theme in the app, the server generates a design for the new animal model based on that theme. Finally, the server creates assembly instructions based on the design and sends them to the user's device. The user can easily assemble the new animal model by following these instructions.

[0404] The processing flow will be explained below.

[0405] Step 1:

[0406] The user takes a photo of the building blocks at home with their smartphone, and the image data is imported into the device via a dedicated app.

[0407] Step 2:

[0408] The device uploads the captured image data to the server. The user presses the send button on the app to send the image data to the server.

[0409] Step 3:

[0410] The server receives the transmitted image data and stores it in the server's internal storage.

[0411] Step 4:

[0412] The server uses image analysis algorithms to recognize the building blocks in the image data. The server identifies each block by its color, shape, and size.

[0413] Step 5:

[0414] The server stores the information about the building blocks it recognizes in a database, which records the attribute data of each block (color, shape, size, etc.).

[0415] Step 6:

[0416] The user selects the theme they want to create (e.g., animals, landscapes, buildings, etc.) through a dedicated app. The selected theme information is sent from the device to the server.

[0417] Step 7:

[0418] The server runs an art generation algorithm based on the selected theme and the building block data in the database. The server creates designs that fit the theme and generates new artwork using the available blocks.

[0419] Step 8:

[0420] The server then designs assembly instructions based on the artwork it generates. The server determines the blocks required and their placement for each step, and creates detailed assembly instructions.

[0421] Step 9:

[0422] The server generates assembly instructions in PDF or image format, which are then sent to the user's device.

[0423] Step 10:

[0424] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, completing a new, original work of art.

[0425] Example 1

[0426] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0427] Conventional methods for creating artwork using building blocks have the drawback of requiring users to manually assemble the blocks, which is a cumbersome process and requires a great deal of time and effort to complete. It is also difficult for users to consider the theme of the artwork they want to create and devise specific steps to complete it. Therefore, there is a need for technology that allows users to efficiently and easily create new artworks while utilizing their creativity.

[0428] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0429] In this invention, the server includes means for uploading image data captured by a user from the terminal to the server, means for receiving and saving the uploaded image data in the server, means for applying an image analysis algorithm to the saved image data to identify building blocks and determine their attributes, means for sending theme information selected by the user from the terminal to the server, means for executing an art generation algorithm based on the selected theme and generating a new work of art based on the building block data, means for designing and creating assembly instructions for the generated work of art, and means for sending the assembly instructions to the terminal, thereby enabling a user to easily create a new work of art.

[0430] "User" means a person or end user who uses the system.

[0431] A "terminal" is a device, such as a smartphone, tablet, or personal computer, that a user uses to access the system.

[0432] A "server" is a central processing unit that receives, stores, analyzes data sent by users, and sends the generated results to the user terminal.

[0433] "Image data" refers to digital data including a photograph of building blocks that is taken by a user using a terminal and uploaded to the system.

[0434] "Upload" refers to the act of transferring data from a user's device to a server.

[0435] "Reception" refers to the operation of the server taking in data sent from the user's terminal.

[0436] "Storage" means that the server stores the received data in storage.

[0437] An "image analysis algorithm" is a program or method for identifying building blocks from received image data and determining their attributes.

[0438] "Building blocks" refer to building blocks of various shapes, colors, and sizes that a user owns.

[0439] A "theme" is the type or style of artwork a user wishes to create. Examples include animals, landscapes, buildings, etc.

[0440] An "art generation algorithm" is a program or method for designing and generating new works of art based on a user-selected theme and building block data.

[0441] "Artworks" are new building block creations generated by art generation algorithms.

[0442] A "assembly instruction" is a document that shows the procedures or steps required to actually assemble the generated artwork.

[0443] "Design" is the process of planning and describing in detail, step by step, the construction of a work of art.

[0444] "Send" refers to the operation of sending the assembly instructions generated by the server to the user's terminal.

[0445] The system of the present invention creates a new work of art using building blocks owned by the user and provides instructions for assembling it. This system is configured through the user's terminal, a server, and a network connecting them. Specific embodiments are described below.

[0446] Specific hardware and software names used

[0447] User devices: smartphones, tablets, personal computers

[0448] Server: Linux server, cloud server

[0449] Image analysis software: OpenCV, TensorFlow

[0450] PDF generation library: Apache PDFBox

[0451] Data processing and calculation

[0452] The user takes a picture of the building blocks and uploads it

[0453] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[0454] Receiving and storing images on the server

[0455] The server receives the image data sent from the device. The received image data is saved in the server's storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[0456] Applying image analysis algorithms to recognize building blocks

[0457] The server performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first detects edges in the image and identifies the building blocks. It then determines the shape, color, and size of the blocks and stores this data in a database.

[0458] The user selects the theme of the artwork

[0459] On the app, users select the theme of the artwork they want to create from themes such as animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[0460] Running the art generation algorithm on the server

[0461] The server runs an art generation algorithm based on the theme selected by the user and the building block data in the database. For example, if the theme is animals, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[0462] Generate assembly instructions

[0463] The server designs assembly instructions based on the generated artwork. It details the blocks to be used and their placement for each step, and generates instructions in PDF and image format. Apache PDFBox is used to generate the PDF.

[0464] Send assembly instructions

[0465] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and follow them to assemble their new building block creation.

[0466] Specific examples

[0467] For example, if a user wants to create a new building block piece at home with an "animal" theme, they first take a photo of the building blocks they own with their smartphone and upload it to the server via the app. The server receives and analyzes the image data to identify the attributes of each block. If the user then selects "animals" as the theme in the app, the server uses an art generation algorithm to generate a new animal model. Finally, it creates assembly instructions based on that model and sends them to the user in PDF format. The user can then assemble the new animal model by following the instructions.

[0468] Example prompts for generative AI models

[0469] "Please analyze images of building blocks taken by users and generate new animal-themed building blocks based on that data. Please also generate assembly instructions for the created building blocks and provide them in PDF format."

[0470] The above procedures and techniques allow users to more easily and efficiently create new works of art using building blocks.

[0471] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0472] Step 1:

[0473] The user takes a picture of the building blocks and uploads it

[0474] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[0475] Input: Image data taken by the user

[0476] Output: Compressed image data sent from the device to the server

[0477] Specifically, the terminal compresses the image data into JPEG format and transmits it to the server via the network.

[0478] Step 2:

[0479] Receiving and storing images on the server

[0480] The server receives the image data sent from the device. The received image data is saved in storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[0481] Input: Compressed image data

[0482] Output: Image file saved to storage

[0483] Specifically, the server assigns a unique file name and timestamp to the received data and saves it in a specified directory.

[0484] Step 3:

[0485] Applying image analysis algorithms to recognize building blocks

[0486] The server then performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first performs edge detection to identify the building blocks, then identifies attributes such as the block's shape, color, and size, and stores this data in a database.

[0487] Input: Saved image data

[0488] Output: Building block identification data stored in a database

[0489] Specifically, the image analysis algorithm applies an edge detection filter and extracts the outline of the building blocks from the result, then calculates shape features and identifies color and size attributes.

[0490] Step 4:

[0491] The user selects the theme of the artwork

[0492] On the app, users select the theme they want to create from a range of themes, including animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[0493] Input: User selected theme information

[0494] Output: Theme information sent to the server

[0495] Specifically, the device sends the theme information to the server as structured data (e.g., JSON).

[0496] Step 5:

[0497] Running the art generation algorithm on the server

[0498] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you choose an animal theme, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[0499] Input: Theme information and building block data

[0500] Output: Generated artwork design data

[0501] Specifically, the server combines building blocks based on a template corresponding to the theme, calculates the optimal layout, and generates design data.

[0502] Step 6:

[0503] Create assembly instructions based on generated artwork

[0504] The server then designs and creates assembly instructions based on the design data of the artwork, detailing the blocks to be used and their placement for each step, and generates instructions in PDF and image format.

[0505] Input: Design data for the generated artwork

[0506] Output: Assembly instructions

[0507] Specifically, the server uses a PDF generation library (e.g., Apache PDFBox) to create the assembly instructions in PDF format.

[0508] Step 7:

[0509] Send assembly instructions to your device

[0510] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and assemble the piece according to the instructions.

[0511] Input: Assembly instructions (PDF format)

[0512] Output: Instructions sent to the user's device

[0513] Specifically, the server associates the procedure file with the user's account and sends the file to the terminal via the network.

[0514] (Application example 1)

[0515] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0516] Traditional factory lines make it difficult to efficiently prototype and produce new product designs. Creating products using new parts is particularly time-consuming and costly. Furthermore, manual assembly is prone to errors, which can lead to reduced production efficiency. Addressing these issues, there is a growing need for more efficient and accurate automated assembly systems.

[0517] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0518] In this invention, the server includes means for automatically recognizing parts from an image taken by a user, means for generating a new product design based on data on the recognized parts, means for creating an automatic assembly procedure manual based on the generated product design, and means for transmitting assembly instructions to a robot arm based on the created assembly procedure manual, thereby enabling efficient and highly accurate automatic assembly.

[0519] "Images taken by a user" refers to digital data of visual information acquired by a user using their own device.

[0520] A "part" is an element or material that makes up part of a product.

[0521] "Automatic recognition means" refers to techniques or methods that allow machines or systems to identify objects without human intervention using specific algorithms.

[0522] A "new product design" is a new product shape or blueprint formed by a new arrangement or combination of existing parts.

[0523] An "automated assembly procedure manual" is a document that lists the steps that machines and humans follow to carry out a task in an orderly manner.

[0524] A "robot arm" is a mechanical arm device that has multiple axes and operates based on a program.

[0525] "Means for transmitting assembly instructions" refers to the technology or method for electronically transmitting work procedures from the system to assembly equipment such as robotic arms.

[0526] A "server" is a computer system on a network that receives requests from clients, processes them, and returns the results.

[0527] MODE FOR CARRYING OUT THE INVENTION

[0528] The system for realizing this invention consists of the following main components: a user terminal (smartphone or tablet), a server, and a network connecting them.

[0529] 1. Acquiring and recognizing images of parts

[0530] The user takes an image of the part using their own device (smartphone or tablet). The image is then uploaded to the server via a dedicated application. The server then uses an image analysis library such as OpenCV to automatically identify the part from the image data. The recognized part's characteristic data, such as shape, color, and size, is then stored in a database.

[0531] 2. Generating new product designs

[0532] When a user wants to design a new product, the server generates a new product design based on the recognized parts data. Using a generative AI model, a new design is created based on the parts data and a theme. For example, if a user wants to create a "new assembly robot hand," the generative AI model will suggest the optimal combination based on that theme.

[0533] 3. Creating automated assembly instructions

[0534] Based on the generated product design, the server creates an automatic assembly instruction manual, which details the placement order and position information of each part. This instruction manual is generated in PDF or image format and sent to the user's device.

[0535] 4. Sending assembly instructions to the robot arm

[0536] The server then sends assembly instructions to the robot arm based on the created assembly instructions. Using dedicated APIs such as the RoboticArm API, the robot arm accurately executes the instructions, enabling highly accurate automated assembly.

[0537] Hardware and software used

[0538] Hardware:

[0539] User devices (smartphones, tablets)

[0540] Robot arms (e.g. industrial robot arms)

[0541] server

[0542] software:

[0543] OpenCV (image analysis)

[0544] requests (HTTP requests)

[0545] RoboticArm API (Robot arm control)

[0546] Generative AI models (generating new product designs)

[0547] Specific examples

[0548] For example, if a user wants to assemble new parts to create a "new assembly robot hand," they first take a photo of the parts with their smartphone and upload it to the server via a dedicated app. The server recognizes the parts and uses a generative AI model to suggest the optimal combination. The server then creates a detailed assembly manual and sends specific assembly instructions to the robot arm based on that manual.

[0549] Prompt Sentence Examples

[0550] I want to make a new assembly robot hand. Please use the parts shown in the image below.

[0551] [Part image URL]

[0552] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0553] Specific explanations divided into processing steps

[0554] Step 1:

[0555] The user takes a picture of the part using a smartphone or tablet. This image data becomes the input. The user then uploads the image to the server using a dedicated application. The input is the image data of the part, and the output is the upload of the image data to the server.

[0556] Step 2:

[0557] The server receives image data received from the user and performs preprocessing. The input here is the image data of the parts uploaded by the user. The server uses an image analysis library (e.g., OpenCV) to automatically recognize parts from the image. Data processing includes image filtering, edge detection, and segmentation. The output is characteristic data (shape, color, size) of the recognized parts.

[0558] Step 3:

[0559] The server saves the characteristic data of the recognized parts in a database. The input here is the characteristic data of the recognized parts. By saving it in the database, the part data becomes available for subsequent processes. The output is the data saved in the database.

[0560] Step 4:

[0561] A user selects a theme for a new product design (e.g., "a new assembly robot hand") through the application. The input is the theme selection information from the user, and the output is the transmission of the theme information to the server.

[0562] Step 5:

[0563] The server runs a generative AI model based on the theme information and parts data in the database to generate a new product design. The input here is the theme information and parts data. The generative AI model proposes the optimal combination of parts based on the theme. Data calculation involves analyzing the parts data, comparing it with the theme, and synthesizing a new design. The output is new product design data.

[0564] Step 6:

[0565] The server creates an automated assembly procedure manual based on the generated product design. The input is new product design data. The server generates an assembly procedure manual that details the placement order and position information of each part. Data processing involves breaking down the procedure into steps and generating part placement information. The output is an assembly procedure manual (PDF or image format).

[0566] Step 7:

[0567] The server sends the created assembly instructions to the user terminal. The input is the assembly instructions data, and the output is the instructions sent to the user terminal. The user can then check the received instructions.

[0568] Step 8:

[0569] The server sends specific assembly instructions to the robot arm based on the assembly instructions. The input is the assembly instructions data. The assembly instructions are sent to the robot arm using a robot arm control API (e.g., RoboticArm API). The output is the assembly actions performed by the robot arm. This enables highly accurate automated assembly.

[0570] In this way, new products are designed and automatically assembled in a series of processes using images of parts taken by the user.

[0571] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0572] The system of the present invention creates new artworks from loose building blocks owned by the user and provides instructions for assembling them. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate artworks and provide instructions optimally according to the user's psychological state. This system is comprised of the user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with specific examples.

[0573] LEGO block recognition

[0574] User Input

[0575] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[0576] Receiving image data

[0577] The server receives the image data sent by the user, and the received data is stored in the server and held for subsequent processing.

[0578] Use of emotion engine

[0579] User Emotion Recognition

[0580] The device recognizes the user's emotions by analyzing the user's facial expressions, tone of voice, input data, etc. The recognized emotion data is sent to the server.

[0581] Receiving and processing emotion data

[0582] The server receives the emotion data sent from the device and analyzes it. Based on this data, the server identifies the emotion (e.g., joy, sadness, surprise, etc.) that the user is currently feeling.

[0583] Art Generation

[0584] Theme selection

[0585] Based on the user's selection or the emotion engine, the automatically selected theme (e.g., animals, landscapes, buildings, etc.) is sent to the server. If the user does not select a specific theme, the system will choose an appropriate theme based on the user's emotion.

[0586] Running an art generation algorithm

[0587] The server runs an art generation algorithm based on the selected or recommended theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated, and if they are feeling sad, a soothing and calming design will be generated.

[0588] Generating building instructions

[0589] Assembly step design

[0590] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[0591] Generate and send instructions

[0592] The server compiles all the steps and generates a comprehensive assembly manual, which is then sent to the user's device in PDF or image format. The user can then use the manual to assemble a new piece of work using the building blocks they already own.

[0593] Specific examples

[0594] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, and the user follows the instructions to assemble a new animal model.

[0595] In this way, the present invention is a system that provides an optimal experience for users by seamlessly combining building block recognition, use of an emotion engine, theme selection, art generation, and creation and transmission of assembly instructions.

[0596] The processing flow will be explained below.

[0597] Step 1:

[0598] Users take photos of building blocks at home with their smartphones, and the captured image data is saved on the device via a dedicated app.

[0599] Step 2:

[0600] The device uploads the saved image data to the server. The user presses the send button on the app to send the image data to the server.

[0601] Step 3:

[0602] The server receives the transmitted image data and stores it in its internal storage.

[0603] Step 4:

[0604] The server runs image analysis algorithms to identify building blocks in the image data, determining attributes such as color, shape, and size of the blocks, and stores each block in a database.

[0605] Step 5:

[0606] The device runs an emotion engine that analyzes the user's facial expressions, voice tone, input data, etc. to recognize the user's emotions. The emotion data is sent from the device to the server.

[0607] Step 6:

[0608] The server analyzes the received emotion data to determine the user's current emotional state, for example, whether the user is happy, sad, surprised, etc.

[0609] Step 7:

[0610] When a user selects a theme they want to create using the dedicated app, that theme information is sent from the device to the server. If the user does not select a theme, the server automatically selects an appropriate theme based on emotion data.

[0611] Step 8:

[0612] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated. If the user is feeling sad, a soothing and calming design will be generated.

[0613] Step 9:

[0614] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[0615] Step 10:

[0616] The server generates assembly instructions in PDF or image format and sends them to the user's device.

[0617] Step 11:

[0618] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, allowing them to complete a new, original work of art.

[0619] This system allows users to easily create and assemble the building block artwork that best suits their emotions.

[0620] Example 2

[0621] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0622] Conventional systems for generating artwork using building blocks simply generate artwork based on user input, and have the problem of not being able to generate optimal artworks or provide instructions that correspond to the user's emotions or psychological state. This makes it difficult to improve user satisfaction and prevents users from making the most of the building blocks they have on hand.

[0623] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving image data captured by a user and performing preprocessing, means for recognizing building blocks from the preprocessed image data, means for generating a work of art that corresponds to the user's emotional state based on the recognized building block data, means for creating assembly instructions based on the generated work of art and providing them to the user, means for recognizing the user's emotions using an emotion engine and analyzing the recognized emotion data, and means for executing an art generation algorithm based on the emotion analysis results. This makes it possible to generate an optimal work of art and provide instructions that correspond to the user's emotions and psychological state.

[0624] "Image data taken by a user" refers to photo data of building blocks that a user takes using a mobile device such as a smartphone or tablet and sends to the system.

[0625] "Preprocessing" refers to the data processing step of converting captured image data into an analyzable format, and includes noise reduction and resolution adjustment.

[0626] "Building block recognition" is the process of identifying building block attributes such as shape, color, and size from preprocessed image data.

[0627] "User's emotional state" refers to the user's current psychological state, including joy, sadness, surprise, and the like.

[0628] "Artwork generation" is the process of creating new designs and models based on user-provided building block data and the user's emotional state.

[0629] An "assembly manual" is a document that provides instructions for users to recreate the generated artwork, and is provided in PDF or image format.

[0630] An "emotion engine" is a technology that recognizes a user's emotional state by analyzing their facial expressions, tone of voice, and input data.

[0631] "Emotion data" is data that represents the user's emotional state as recognized by the emotion engine.

[0632] The "art generation algorithm" is an algorithm for automatically designing and generating new works of art based on the user's building block data and emotional data.

[0633] The "means for performing pre-processing" is a function within the system for converting captured image data into an analyzable format.

[0634] "Data of recognized building blocks" refers to attribute information of building blocks identified through pre-processing and recognition processes.

[0635] The "means for generating artwork according to the user's emotional state" is a function within the system for generating an optimal design based on the user's emotional state.

[0636] "Means for creating assembly instructions and providing them to users" is a function for generating and providing documentation that allows users to understand and reproduce the assembly process of the generated artwork.

[0637] "Means for recognizing a user's emotions using an emotion engine and analyzing the recognized emotion data" refers to a function within the system that analyzes the user's facial expressions and tone of voice to identify the user's emotional state and analyzes that data.

[0638] The "means for executing an art generation algorithm based on the emotion analysis results" is a function for executing an algorithm for generating an optimal work of art based on the user's emotion data.

[0639] The present invention relates to a system that creates new artworks from building blocks owned by a user and provides assembly instructions. This system further combines an emotion engine that recognizes the user's emotions to create artworks that are optimally tailored to the user's psychological state. A detailed description of specific embodiments of the present invention is provided below.

[0640] LEGO block recognition

[0641] 1. Hardware and Software Use

[0642] Users take pictures of the building blocks using a mobile device such as a smartphone or tablet. This image data is then processed through a dedicated application installed on the device. Specific examples include smartphones (e.g., iPhone, Samsung Galaxy), tablets (e.g., iPad), and dedicated apps (e.g., LEGO Master App).

[0643] 2. Data processing and calculation

[0644] Image data captured by the user is first preprocessed. This includes noise reduction and resolution adjustment. The preprocessed data is then used to recognize the building block attributes (shape, color, size, etc.) using an AI model such as TensorFlow. The results of this analysis are run on AWS EC2 servers and stored in a database (e.g., Amazon DynamoDB).

[0645] Use of emotion engine

[0646] 1. User Emotion Recognition

[0647] A dedicated app installed on the device captures the user's facial expressions and tone of voice in real time and recognizes their emotions using the Google Cloud Vision API and Microsoft Azure Emotion API, identifying the user's emotional state (e.g., joy, sadness, surprise, etc.) and sending the emotional data to a server.

[0648] 2. Emotion Data Analysis

[0649] The server receives the emotion data and analyzes it using an internal analysis system (e.g., Scikit-learn). Based on the analysis results, the user's current emotional state is classified.

[0650] Art creation and assembly instructions

[0651] 1. Theme selection and art creation

[0652] The user selects a specific theme (e.g., animals, landscapes, buildings), or a theme is automatically selected based on the emotion engine and sent to the server. The server then uses art generation algorithms such as GAN (Generative Adversarial Networks) to generate new artworks based on the selected theme and the building block data in the database.

[0653] 2. Generating assembly instructions

[0654] The server designs a manual based on the generated artwork. This manual arranges the steps in the optimal order according to the user's emotional state. The manual is created in PDF or image format and sent to the user's device. The user can then use this manual to assemble a new work of art.

[0655] Specific examples

[0656] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, allowing the user to assemble the new animal model by following the instructions.

[0657] Prompt Sentence Examples

[0658] "I want to build a new animal model using building blocks at home. Please walk me through the process by following these steps."

[0659] 1. Take a photo of the building blocks with your smartphone and upload it to the server via a dedicated app.

[0660] 2. The server receives and analyzes the image data.

[0661] 3. The device recognizes the user's emotions and sends the data to the server.

[0662] 4. The server receives and analyzes the emotion data.

[0663] 5. The server selects a theme and creates a design using an art generation algorithm.

[0664] 6. The server generates an assembly instruction manual and sends it to the user's device.

[0665] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0666] Step 1:

[0667] The user takes a photo of building blocks at home using the camera on their smartphone or tablet. Specifically, the user launches the camera app on their smartphone and takes a photo of the building blocks. They then open the dedicated app and import the image they took into the app. This becomes the input data. Next, the user presses the "upload image" button on the app to send the image data to the server. The output is the image data received by the server.

[0668] Step 2:

[0669] The server receives image data sent by the user and performs preprocessing. Specifically, the server takes the received image data as input and performs preprocessing such as noise reduction and resolution adjustment. This converts the image data into an analyzable format. The output is the preprocessed image data.

[0670] Step 3:

[0671] The server recognizes the attributes of the building blocks from the preprocessed image data. Specifically, the server analyzes the image data using an AI model such as TensorFlow and identifies the block attributes (shape, color, size, etc.). The input is the preprocessed image data, and the output is the recognized building block data. The recognition results are stored in a database.

[0672] Step 4:

[0673] The device recognizes the user's emotions and sends the data to the server. Specifically, the device's camera and microphone capture the user's facial expressions and tone of voice in real time. The app recognizes emotions using the Google Cloud Vision API and Microsoft Azure Emotion API. The input is the user's real-time facial expressions and voice, and the output is recognized emotion data. This data is then sent to the server.

[0674] Step 5:

[0675] The server receives and analyzes the emotion data sent from the device. Specifically, the server takes the emotion data as input, analyzes the data using an analysis system such as Scikit-learn, and identifies the user's emotional state. The output is the analyzed emotional state.

[0676] Step 6:

[0677] The server selects a theme based on the emotion analysis results and runs an art generation algorithm. Specifically, if the user does not select a specific theme, the system automatically selects an appropriate theme based on the user's emotional state. Based on the selected theme and the building block data in the database, a new work of art is generated using algorithms such as GAN (Generative Adversarial Networks). The input is emotion data and building block data, and the output is the generated artwork.

[0678] Step 7:

[0679] The server creates assembly instructions based on the generated artwork and provides them to the user. Specifically, the server designs the instructions based on the art model. Each step in the instructions is arranged in the optimal order depending on the user's emotional state. All steps are combined to generate the instructions in PDF or image format. The input is the generated artwork, and the output is the assembly instructions. This instruction is sent to the user's device.

[0680] (Application example 2)

[0681] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0682] There is a need to provide users with an appropriate and satisfying experience by generating new artworks using building blocks owned by the user and taking into account the user's psychological state during the creation process. Conventional systems can generate artworks by recognizing building blocks, but they cannot generate artworks that take the user's emotions into account or provide assembly instructions accordingly. In such a situation, it is difficult to provide an optimal experience that corresponds to the user's emotions.

[0683] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically recognizing building blocks from image data, means for generating a work of art based on the recognized building block data, means for analyzing the user's emotional state, means for selecting a theme for the work of art based on the user's emotional data, and means for creating an assembly instruction manual based on the generated work of art. This makes it possible to generate an optimal work of art based on the building blocks the user has and their psychological state at the time.

[0684] "Image data" refers to an image file taken by a user, which contains visual information about the building blocks.

[0685] "Building block recognition means" refers to an algorithm or process for automatically identifying building blocks from image data.

[0686] "Art generation tools" refers to algorithms and methods that create new designs and structures based on recognized building block data.

[0687] The "emotional state analysis means" is a system for analyzing the user's emotions, and includes technology for analyzing the user's facial expressions, tone of voice, and input data.

[0688] "Theme selection means" refers to a system or algorithm that has the function of automatically selecting the theme (e.g., animals, landscapes, buildings, etc.) of the artwork to be generated based on the user's emotional data.

[0689] "Assembly procedure creation means" refers to a process or system that documents the assembly method based on the generated artwork in a format that can be understood by the user.

[0690] A "system" refers to a series of devices and software that organically combines these means to provide users with convenient and appropriate services.

[0691] This invention relates to a system that analyzes image data of building blocks held by a user, generates an optimal artwork according to the user's emotional state, and provides instructions for assembling it. This system is mainly composed of a user's terminal, a server, and a network connecting them.

[0692] First, a user takes a photo of building blocks at home using a device such as a smartphone and uploads the image data to a server using a dedicated app. The server receives the image data and uses an image processing algorithm to recognize the building blocks. Image processing libraries such as OpenCV are commonly used software for this process.

[0693] Next, the device analyzes the user's emotional state. It uses an emotion analysis engine (e.g., EmotionDetector) to obtain emotional data based on the user's facial expressions, tone of voice, and input data, and sends the data to the server. Based on this emotional data, the server selects an appropriate theme. For example, if the user is feeling happy, it selects a bright and cheerful theme, and if the user is sad, it selects a soothing theme.

[0694] The server then generates a work of art based on the recognized building block data and the selected theme, using techniques such as generative AI models and art generation algorithms, such as the ArtGenerator library.

[0695] Then, based on the generated artwork, an assembly instruction manual is created according to the user's emotions. This instruction manual is generated in PDF or image format and uploaded to a cloud storage service (e.g., CloudStorageService). The user can download and use this instruction manual. Finally, the server provides the user with a download link for the cloud storage.

[0696] To give a specific example, a user takes a photo of building blocks on their smartphone and sends it to the server via the app. If the emotion analysis engine detects that the user is enjoying the image, the server generates an animal-themed artwork. Instructions for assembling the artwork are then created and provided to the user.

[0697] An example prompt to use is "Generate an appropriate themed artwork based on the user's emotional data."

[0698] In this way, the present invention analyzes images of building blocks held by the user, generates an optimal artwork based on the user's emotional state, and provides assembly instructions, providing a seamless and intuitive user experience.

[0699] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0700] Step 1:

[0701] The user takes a picture of the building blocks and uploads the image data to the server using a dedicated app. The image taken by the user with their smartphone is imported into the app as input, and the server receives this image data as output.

[0702] Step 2:

[0703] The server performs preprocessing to analyze the received image data. Specifically, it uses an image processing library (e.g., OpenCV) to perform preprocessing such as noise removal and filtering on the image data. As input, the raw image data uploaded by the user is passed to the server, and as output, preprocessed image data is generated.

[0704] Step 3:

[0705] The building blocks are recognized based on the preprocessed image data. The server uses machine learning and image recognition algorithms to identify the type and location of each block. The preprocessed image data is used as input, and a list of recognized building blocks is generated as output.

[0706] Step 4:

[0707] The device analyzes the user's emotional state by analyzing the user's facial expressions and tone of voice using an emotion recognition engine (e.g., EmotionDetector). The device takes in the user's facial expressions and voice data as input, and generates analyzed emotional data as output, which is then sent to the server.

[0708] Step 5:

[0709] The server receives the emotion data, analyzes it, and then selects a theme for the artwork. For example, if the user is feeling happy, it selects the "animal" theme. The emotion data sent from the device is passed to the server as input, and the selected theme is generated as output.

[0710] Step 6:

[0711] The server generates artwork using a generative AI model (e.g., ArtGenerator) based on the recognized building block data and the selected theme. As input, it receives a list of building blocks and theme information, and as output, it generates design data for the generated artwork.

[0712] Step 7:

[0713] The server creates assembly instructions based on the generated artwork. Using an instruction manual creation algorithm, it generates instructions in PDF format that are optimized for the user's emotions. The design data of the generated artwork and the user's emotional data are used as input, and a PDF file of the assembly instructions is generated as output.

[0714] Step 8:

[0715] The server uploads the PDF of the assembly instructions to cloud storage and generates a download link. The generated PDF of the assembly instructions is passed to the cloud storage service as input, and a download link is generated as output.

[0716] Step 9:

[0717] The user receives a download link through their device and downloads the instructions, which they can then use to assemble a new piece of work. As input, the download link from the server is given, and as output, the instructions are saved on the user's device.

[0718] In this way, the input and output are clear for each step, and the system is designed to be easy for users to operate.

[0719] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0720] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0721] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0722] [Third embodiment]

[0723] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0724] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0725] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0727] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[0729] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0730] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0731] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[0733] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0734] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0735] The system of the present invention is designed to create new artworks from loose building blocks owned by users and provide instructions for assembling them. This system is comprised of a user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with concrete examples.

[0736] LEGO block recognition

[0737] User Input

[0738] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[0739] Receiving image data

[0740] The server receives the image data sent by the user, and the received image data is stored in the server and saved for subsequent processing.

[0741] Building block recognition

[0742] The server applies image analysis algorithms to the received image data, identifying the building blocks in the image and determining their attributes, such as shape, color, and size. The server stores this data in a database for later use in generating artwork.

[0743] Art Generation

[0744] Theme selection

[0745] Users select the theme of the artwork they want to create on the app, such as animals, landscapes, buildings, etc. The theme information selected by the user is sent from the device to the server.

[0746] Running an art generation algorithm

[0747] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you select an animal theme, the server will generate a new animal model from the available blocks, taking into account the animal's shape and details.

[0748] Generating building instructions

[0749] Assembly step design

[0750] The server then designs assembly instructions based on the artwork generated by the server. The server then creates detailed instructions showing which blocks to use and where to place them at each step, making it easier for users to assemble the artwork.

[0751] Generate and send instructions

[0752] The server compiles all the steps and generates comprehensive building instructions, which are sent to the user's device in PDF or image format, allowing the user to build a new creation using their existing building blocks.

[0753] Specific examples

[0754] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to the server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, when the user selects "animals" as the theme in the app, the server generates a design for the new animal model based on that theme. Finally, the server creates assembly instructions based on the design and sends them to the user's device. The user can easily assemble the new animal model by following these instructions.

[0755] The processing flow will be explained below.

[0756] Step 1:

[0757] The user takes a photo of the building blocks at home with their smartphone, and the image data is imported into the device via a dedicated app.

[0758] Step 2:

[0759] The device uploads the captured image data to the server. The user presses the send button on the app to send the image data to the server.

[0760] Step 3:

[0761] The server receives the transmitted image data and stores it in the server's internal storage.

[0762] Step 4:

[0763] The server uses image analysis algorithms to recognize the building blocks in the image data. The server identifies each block by its color, shape, and size.

[0764] Step 5:

[0765] The server stores the information about the building blocks it recognizes in a database, which records the attribute data of each block (color, shape, size, etc.).

[0766] Step 6:

[0767] The user selects the theme they want to create (e.g., animals, landscapes, buildings, etc.) through a dedicated app. The selected theme information is sent from the device to the server.

[0768] Step 7:

[0769] The server runs an art generation algorithm based on the selected theme and the building block data in the database. The server creates designs that fit the theme and generates new artwork using the available blocks.

[0770] Step 8:

[0771] The server then designs assembly instructions based on the artwork it generates. The server determines the blocks required and their placement for each step, and creates detailed assembly instructions.

[0772] Step 9:

[0773] The server generates assembly instructions in PDF or image format, which are then sent to the user's device.

[0774] Step 10:

[0775] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, completing a new, original work of art.

[0776] Example 1

[0777] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0778] Conventional methods for creating artwork using building blocks have the drawback of requiring users to manually assemble the blocks, which is a cumbersome process and requires a great deal of time and effort to complete. It is also difficult for users to consider the theme of the artwork they want to create and devise specific steps to complete it. Therefore, there is a need for technology that allows users to efficiently and easily create new artworks while utilizing their creativity.

[0779] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0780] In this invention, the server includes means for uploading image data captured by a user from the terminal to the server, means for receiving and saving the uploaded image data in the server, means for applying an image analysis algorithm to the saved image data to identify building blocks and determine their attributes, means for sending theme information selected by the user from the terminal to the server, means for executing an art generation algorithm based on the selected theme and generating a new work of art based on the building block data, means for designing and creating assembly instructions for the generated work of art, and means for sending the assembly instructions to the terminal, thereby enabling a user to easily create a new work of art.

[0781] "User" means a person or end user who uses the system.

[0782] A "terminal" is a device, such as a smartphone, tablet, or personal computer, that a user uses to access the system.

[0783] A "server" is a central processing unit that receives, stores, analyzes data sent by users, and sends the generated results to the user terminal.

[0784] "Image data" refers to digital data including a photograph of building blocks that is taken by a user using a terminal and uploaded to the system.

[0785] "Upload" refers to the act of transferring data from a user's device to a server.

[0786] "Reception" refers to the operation of the server taking in data sent from the user's terminal.

[0787] "Storage" means that the server stores the received data in storage.

[0788] An "image analysis algorithm" is a program or method for identifying building blocks from received image data and determining their attributes.

[0789] "Building blocks" refer to building blocks of various shapes, colors, and sizes that a user owns.

[0790] A "theme" is the type or style of artwork a user wishes to create. Examples include animals, landscapes, buildings, etc.

[0791] An "art generation algorithm" is a program or method for designing and generating new works of art based on a user-selected theme and building block data.

[0792] "Artworks" are new building block creations generated by art generation algorithms.

[0793] A "assembly instruction" is a document that shows the procedures or steps required to actually assemble the generated artwork.

[0794] "Design" is the process of planning and describing in detail, step by step, the construction of a work of art.

[0795] "Send" refers to the operation of sending the assembly instructions generated by the server to the user's terminal.

[0796] The system of the present invention creates a new work of art using building blocks owned by the user and provides instructions for assembling it. This system is configured through the user's terminal, a server, and a network connecting them. Specific embodiments are described below.

[0797] Specific hardware and software names used

[0798] User devices: smartphones, tablets, personal computers

[0799] Server: Linux server, cloud server

[0800] Image analysis software: OpenCV, TensorFlow

[0801] PDF generation library: Apache PDFBox

[0802] Data processing and calculation

[0803] The user takes a picture of the building blocks and uploads it

[0804] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[0805] Receiving and storing images on the server

[0806] The server receives the image data sent from the device. The received image data is saved in the server's storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[0807] Applying image analysis algorithms to recognize building blocks

[0808] The server performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first detects edges in the image and identifies the building blocks. It then determines the shape, color, and size of the blocks and stores this data in a database.

[0809] The user selects the theme of the artwork

[0810] On the app, users select the theme of the artwork they want to create from themes such as animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[0811] Running the art generation algorithm on the server

[0812] The server runs an art generation algorithm based on the theme selected by the user and the building block data in the database. For example, if the theme is animals, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[0813] Generate assembly instructions

[0814] The server designs assembly instructions based on the generated artwork. It details the blocks to be used and their placement for each step, and generates instructions in PDF and image format. Apache PDFBox is used to generate the PDF.

[0815] Send assembly instructions

[0816] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and follow them to assemble their new building block creation.

[0817] Specific examples

[0818] For example, if a user wants to create a new building block piece at home with an "animal" theme, they first take a photo of the building blocks they own with their smartphone and upload it to the server via the app. The server receives and analyzes the image data to identify the attributes of each block. If the user then selects "animals" as the theme in the app, the server uses an art generation algorithm to generate a new animal model. Finally, it creates assembly instructions based on that model and sends them to the user in PDF format. The user can then assemble the new animal model by following the instructions.

[0819] Example prompts for generative AI models

[0820] "Please analyze images of building blocks taken by users and generate new animal-themed building blocks based on that data. Please also generate assembly instructions for the created building blocks and provide them in PDF format."

[0821] The above procedures and techniques allow users to more easily and efficiently create new works of art using building blocks.

[0822] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0823] Step 1:

[0824] The user takes a picture of the building blocks and uploads it

[0825] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[0826] Input: Image data taken by the user

[0827] Output: Compressed image data sent from the device to the server

[0828] Specifically, the terminal compresses the image data into JPEG format and transmits it to the server via the network.

[0829] Step 2:

[0830] Receiving and storing images on the server

[0831] The server receives the image data sent from the device. The received image data is saved in storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[0832] Input: Compressed image data

[0833] Output: Image file saved to storage

[0834] Specifically, the server assigns a unique file name and timestamp to the received data and saves it in a specified directory.

[0835] Step 3:

[0836] Applying image analysis algorithms to recognize building blocks

[0837] The server then performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first performs edge detection to identify the building blocks, then identifies attributes such as the block's shape, color, and size, and stores this data in a database.

[0838] Input: Saved image data

[0839] Output: Building block identification data stored in a database

[0840] Specifically, the image analysis algorithm applies an edge detection filter and extracts the outline of the building blocks from the result, then calculates shape features and identifies color and size attributes.

[0841] Step 4:

[0842] The user selects the theme of the artwork

[0843] On the app, users select the theme they want to create from a range of themes, including animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[0844] Input: User selected theme information

[0845] Output: Theme information sent to the server

[0846] Specifically, the device sends the theme information to the server as structured data (e.g., JSON).

[0847] Step 5:

[0848] Running the art generation algorithm on the server

[0849] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you choose an animal theme, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[0850] Input: Theme information and building block data

[0851] Output: Generated artwork design data

[0852] Specifically, the server combines building blocks based on a template corresponding to the theme, calculates the optimal layout, and generates design data.

[0853] Step 6:

[0854] Create assembly instructions based on generated artwork

[0855] The server then designs and creates assembly instructions based on the design data of the artwork, detailing the blocks to be used and their placement for each step, and generates instructions in PDF and image format.

[0856] Input: Design data for the generated artwork

[0857] Output: Assembly instructions

[0858] Specifically, the server uses a PDF generation library (e.g., Apache PDFBox) to create the assembly instructions in PDF format.

[0859] Step 7:

[0860] Send assembly instructions to your device

[0861] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and assemble the piece according to the instructions.

[0862] Input: Assembly instructions (PDF format)

[0863] Output: Instructions sent to the user's device

[0864] Specifically, the server associates the procedure file with the user's account and sends the file to the terminal via the network.

[0865] (Application example 1)

[0866] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0867] Traditional factory lines make it difficult to efficiently prototype and produce new product designs. Creating products using new parts is particularly time-consuming and costly. Furthermore, manual assembly is prone to errors, which can lead to reduced production efficiency. Addressing these issues, there is a growing need for more efficient and accurate automated assembly systems.

[0868] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0869] In this invention, the server includes means for automatically recognizing parts from an image taken by a user, means for generating a new product design based on data on the recognized parts, means for creating an automatic assembly procedure manual based on the generated product design, and means for transmitting assembly instructions to a robot arm based on the created assembly procedure manual, thereby enabling efficient and highly accurate automatic assembly.

[0870] "Images taken by a user" refers to digital data of visual information acquired by a user using their own device.

[0871] A "part" is an element or material that makes up part of a product.

[0872] "Automatic recognition means" refers to techniques or methods that allow machines or systems to identify objects without human intervention using specific algorithms.

[0873] A "new product design" is a new product shape or blueprint formed by a new arrangement or combination of existing parts.

[0874] An "automated assembly procedure manual" is a document that lists the steps that machines and humans follow to carry out a task in an orderly manner.

[0875] A "robot arm" is a mechanical arm device that has multiple axes and operates based on a program.

[0876] "Means for transmitting assembly instructions" refers to the technology or method for electronically transmitting work procedures from the system to assembly equipment such as robotic arms.

[0877] A "server" is a computer system on a network that receives requests from clients, processes them, and returns the results.

[0878] MODE FOR CARRYING OUT THE INVENTION

[0879] The system for realizing this invention consists of the following main components: a user terminal (smartphone or tablet), a server, and a network connecting them.

[0880] 1. Acquiring and recognizing images of parts

[0881] The user takes an image of the part using their own device (smartphone or tablet). The image is then uploaded to the server via a dedicated application. The server then uses an image analysis library such as OpenCV to automatically identify the part from the image data. The recognized part's characteristic data, such as shape, color, and size, is then stored in a database.

[0882] 2. Generating new product designs

[0883] When a user wants to design a new product, the server generates a new product design based on the recognized parts data. Using a generative AI model, a new design is created based on the parts data and a theme. For example, if a user wants to create a "new assembly robot hand," the generative AI model will suggest the optimal combination based on that theme.

[0884] 3. Creating automated assembly instructions

[0885] Based on the generated product design, the server creates an automatic assembly instruction manual, which details the placement order and position information of each part. This instruction manual is generated in PDF or image format and sent to the user's device.

[0886] 4. Sending assembly instructions to the robot arm

[0887] The server then sends assembly instructions to the robot arm based on the created assembly instructions. Using dedicated APIs such as the RoboticArm API, the robot arm accurately executes the instructions, enabling highly accurate automated assembly.

[0888] Hardware and software used

[0889] Hardware:

[0890] User devices (smartphones, tablets)

[0891] Robot arms (e.g. industrial robot arms)

[0892] server

[0893] software:

[0894] OpenCV (image analysis)

[0895] requests (HTTP requests)

[0896] RoboticArm API (Robot arm control)

[0897] Generative AI models (generating new product designs)

[0898] Specific examples

[0899] For example, if a user wants to assemble new parts to create a "new assembly robot hand," they first take a photo of the parts with their smartphone and upload it to the server via a dedicated app. The server recognizes the parts and uses a generative AI model to suggest the optimal combination. The server then creates a detailed assembly manual and sends specific assembly instructions to the robot arm based on that manual.

[0900] Prompt Sentence Examples

[0901] I want to make a new assembly robot hand. Please use the parts shown in the image below.

[0902] [Part image URL]

[0903] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0904] Specific explanations divided into processing steps

[0905] Step 1:

[0906] The user takes a picture of the part using a smartphone or tablet. This image data becomes the input. The user then uploads the image to the server using a dedicated application. The input is the image data of the part, and the output is the upload of the image data to the server.

[0907] Step 2:

[0908] The server receives image data received from the user and performs preprocessing. The input here is the image data of the parts uploaded by the user. The server uses an image analysis library (e.g., OpenCV) to automatically recognize parts from the image. Data processing includes image filtering, edge detection, and segmentation. The output is characteristic data (shape, color, size) of the recognized parts.

[0909] Step 3:

[0910] The server saves the characteristic data of the recognized parts in a database. The input here is the characteristic data of the recognized parts. By saving it in the database, the part data becomes available for subsequent processes. The output is the data saved in the database.

[0911] Step 4:

[0912] A user selects a theme for a new product design (e.g., "a new assembly robot hand") through the application. The input is the theme selection information from the user, and the output is the transmission of the theme information to the server.

[0913] Step 5:

[0914] The server runs a generative AI model based on the theme information and parts data in the database to generate a new product design. The input here is the theme information and parts data. The generative AI model proposes the optimal combination of parts based on the theme. Data calculation involves analyzing the parts data, comparing it with the theme, and synthesizing a new design. The output is new product design data.

[0915] Step 6:

[0916] The server creates an automated assembly procedure manual based on the generated product design. The input is new product design data. The server generates an assembly procedure manual that details the placement order and position information of each part. Data processing involves breaking down the procedure into steps and generating part placement information. The output is an assembly procedure manual (PDF or image format).

[0917] Step 7:

[0918] The server sends the created assembly instructions to the user terminal. The input is the assembly instructions data, and the output is the instructions sent to the user terminal. The user can then check the received instructions.

[0919] Step 8:

[0920] The server sends specific assembly instructions to the robot arm based on the assembly instructions. The input is the assembly instructions data. The assembly instructions are sent to the robot arm using a robot arm control API (e.g., RoboticArm API). The output is the assembly actions performed by the robot arm. This enables highly accurate automated assembly.

[0921] In this way, new products are designed and automatically assembled in a series of processes using images of parts taken by the user.

[0922] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0923] The system of the present invention creates new artworks from loose building blocks owned by the user and provides instructions for assembling them. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate artworks and provide instructions optimally according to the user's psychological state. This system is comprised of the user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with specific examples.

[0924] LEGO block recognition

[0925] User Input

[0926] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[0927] Receiving image data

[0928] The server receives the image data sent by the user, and the received data is stored in the server and held for subsequent processing.

[0929] Use of emotion engine

[0930] User Emotion Recognition

[0931] The device recognizes the user's emotions by analyzing the user's facial expressions, tone of voice, input data, etc. The recognized emotion data is sent to the server.

[0932] Receiving and processing emotion data

[0933] The server receives the emotion data sent from the device and analyzes it. Based on this data, the server identifies the emotion (e.g., joy, sadness, surprise, etc.) that the user is currently feeling.

[0934] Art Generation

[0935] Theme selection

[0936] Based on the user's selection or the emotion engine, the automatically selected theme (e.g., animals, landscapes, buildings, etc.) is sent to the server. If the user does not select a specific theme, the system will choose an appropriate theme based on the user's emotion.

[0937] Running an art generation algorithm

[0938] The server runs an art generation algorithm based on the selected or recommended theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated, and if they are feeling sad, a soothing and calming design will be generated.

[0939] Generating building instructions

[0940] Assembly step design

[0941] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[0942] Generate and send instructions

[0943] The server compiles all the steps and generates a comprehensive assembly manual, which is then sent to the user's device in PDF or image format. The user can then use the manual to assemble a new piece of work using the building blocks they already own.

[0944] Specific examples

[0945] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, and the user follows the instructions to assemble a new animal model.

[0946] In this way, the present invention is a system that provides an optimal experience for users by seamlessly combining building block recognition, use of an emotion engine, theme selection, art generation, and creation and transmission of assembly instructions.

[0947] The processing flow will be explained below.

[0948] Step 1:

[0949] Users take photos of building blocks at home with their smartphones, and the captured image data is saved on the device via a dedicated app.

[0950] Step 2:

[0951] The device uploads the saved image data to the server. The user presses the send button on the app to send the image data to the server.

[0952] Step 3:

[0953] The server receives the transmitted image data and stores it in its internal storage.

[0954] Step 4:

[0955] The server runs image analysis algorithms to identify building blocks in the image data, determining attributes such as color, shape, and size of the blocks, and stores each block in a database.

[0956] Step 5:

[0957] The device runs an emotion engine that analyzes the user's facial expressions, voice tone, input data, etc. to recognize the user's emotions. The emotion data is sent from the device to the server.

[0958] Step 6:

[0959] The server analyzes the received emotion data to determine the user's current emotional state, for example, whether the user is happy, sad, surprised, etc.

[0960] Step 7:

[0961] When a user selects a theme they want to create using the dedicated app, that theme information is sent from the device to the server. If the user does not select a theme, the server automatically selects an appropriate theme based on emotion data.

[0962] Step 8:

[0963] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated. If the user is feeling sad, a soothing and calming design will be generated.

[0964] Step 9:

[0965] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[0966] Step 10:

[0967] The server generates assembly instructions in PDF or image format and sends them to the user's device.

[0968] Step 11:

[0969] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, allowing them to complete a new, original work of art.

[0970] This system allows users to easily create and assemble the building block artwork that best suits their emotions.

[0971] Example 2

[0972] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0973] Conventional systems for generating artwork using building blocks simply generate artwork based on user input, and have the problem of not being able to generate optimal artworks or provide instructions that correspond to the user's emotions or psychological state. This makes it difficult to improve user satisfaction and prevents users from making the most of the building blocks they have on hand.

[0974] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving image data captured by a user and performing preprocessing, means for recognizing building blocks from the preprocessed image data, means for generating a work of art that corresponds to the user's emotional state based on the recognized building block data, means for creating assembly instructions based on the generated work of art and providing them to the user, means for recognizing the user's emotions using an emotion engine and analyzing the recognized emotion data, and means for executing an art generation algorithm based on the emotion analysis results. This makes it possible to generate an optimal work of art and provide instructions that correspond to the user's emotions and psychological state.

[0975] "Image data taken by a user" refers to photo data of building blocks that a user takes using a mobile device such as a smartphone or tablet and sends to the system.

[0976] "Preprocessing" refers to the data processing step of converting captured image data into an analyzable format, and includes noise reduction and resolution adjustment.

[0977] "Building block recognition" is the process of identifying building block attributes such as shape, color, and size from preprocessed image data.

[0978] "User's emotional state" refers to the user's current psychological state, including joy, sadness, surprise, and the like.

[0979] "Artwork generation" is the process of creating new designs and models based on user-provided building block data and the user's emotional state.

[0980] An "assembly manual" is a document that provides instructions for users to recreate the generated artwork, and is provided in PDF or image format.

[0981] An "emotion engine" is a technology that recognizes a user's emotional state by analyzing their facial expressions, tone of voice, and input data.

[0982] "Emotion data" is data that represents the user's emotional state as recognized by the emotion engine.

[0983] The "art generation algorithm" is an algorithm for automatically designing and generating new works of art based on the user's building block data and emotional data.

[0984] The "means for performing pre-processing" is a function within the system for converting captured image data into an analyzable format.

[0985] "Data of recognized building blocks" refers to attribute information of building blocks identified through pre-processing and recognition processes.

[0986] The "means for generating artwork according to the user's emotional state" is a function within the system for generating an optimal design based on the user's emotional state.

[0987] "Means for creating assembly instructions and providing them to users" is a function for generating and providing documentation that allows users to understand and reproduce the assembly process of the generated artwork.

[0988] "Means for recognizing a user's emotions using an emotion engine and analyzing the recognized emotion data" refers to a function within the system that analyzes the user's facial expressions and tone of voice to identify the user's emotional state and analyzes that data.

[0989] The "means for executing an art generation algorithm based on the emotion analysis results" is a function for executing an algorithm for generating an optimal work of art based on the user's emotion data.

[0990] The present invention relates to a system that creates new artworks from building blocks owned by a user and provides assembly instructions. This system further combines an emotion engine that recognizes the user's emotions to create artworks that are optimally tailored to the user's psychological state. A detailed description of specific embodiments of the present invention is provided below.

[0991] LEGO block recognition

[0992] 1. Hardware and Software Use

[0993] Users take pictures of the building blocks using a mobile device such as a smartphone or tablet. This image data is then processed through a dedicated application installed on the device. Specific examples include smartphones (e.g., iPhone, Samsung Galaxy), tablets (e.g., iPad), and dedicated apps (e.g., LEGO Master App).

[0994] 2. Data processing and calculation

[0995] Image data captured by the user is first preprocessed. This includes noise reduction and resolution adjustment. The preprocessed data is then used to recognize the building block attributes (shape, color, size, etc.) using an AI model such as TensorFlow. The results of this analysis are run on AWS EC2 servers and stored in a database (e.g., Amazon DynamoDB).

[0996] Use of emotion engine

[0997] 1. User Emotion Recognition

[0998] A dedicated app installed on the device captures the user's facial expressions and tone of voice in real time and recognizes their emotions using the Google Cloud Vision API and Microsoft Azure Emotion API, identifying the user's emotional state (e.g., joy, sadness, surprise, etc.) and sending the emotional data to a server.

[0999] 2. Emotion Data Analysis

[1000] The server receives the emotion data and analyzes it using an internal analysis system (e.g., Scikit-learn). Based on the analysis results, the user's current emotional state is classified.

[1001] Art creation and assembly instructions

[1002] 1. Theme selection and art creation

[1003] The user selects a specific theme (e.g., animals, landscapes, buildings), or a theme is automatically selected based on the emotion engine and sent to the server. The server then uses art generation algorithms such as GAN (Generative Adversarial Networks) to generate new artworks based on the selected theme and the building block data in the database.

[1004] 2. Generating assembly instructions

[1005] The server designs a manual based on the generated artwork. This manual arranges the steps in the optimal order according to the user's emotional state. The manual is created in PDF or image format and sent to the user's device. The user can then use this manual to assemble a new work of art.

[1006] Specific examples

[1007] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, allowing the user to assemble the new animal model by following the instructions.

[1008] Prompt Sentence Examples

[1009] "I want to build a new animal model using building blocks at home. Please walk me through the process by following these steps."

[1010] 1. Take a photo of the building blocks with your smartphone and upload it to the server via a dedicated app.

[1011] 2. The server receives and analyzes the image data.

[1012] 3. The device recognizes the user's emotions and sends the data to the server.

[1013] 4. The server receives and analyzes the emotion data.

[1014] 5. The server selects a theme and creates a design using an art generation algorithm.

[1015] 6. The server generates an assembly instruction manual and sends it to the user's device.

[1016] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1017] Step 1:

[1018] The user takes a photo of building blocks at home using the camera on their smartphone or tablet. Specifically, the user launches the camera app on their smartphone and takes a photo of the building blocks. They then open the dedicated app and import the image they took into the app. This becomes the input data. Next, the user presses the "upload image" button on the app to send the image data to the server. The output is the image data received by the server.

[1019] Step 2:

[1020] The server receives image data sent by the user and performs preprocessing. Specifically, the server takes the received image data as input and performs preprocessing such as noise reduction and resolution adjustment. This converts the image data into an analyzable format. The output is the preprocessed image data.

[1021] Step 3:

[1022] The server recognizes the attributes of the building blocks from the preprocessed image data. Specifically, the server analyzes the image data using an AI model such as TensorFlow and identifies the block attributes (shape, color, size, etc.). The input is the preprocessed image data, and the output is the recognized building block data. The recognition results are stored in a database.

[1023] Step 4:

[1024] The device recognizes the user's emotions and sends the data to the server. Specifically, the device's camera and microphone capture the user's facial expressions and tone of voice in real time. The app recognizes emotions using the Google Cloud Vision API and Microsoft Azure Emotion API. The input is the user's real-time facial expressions and voice, and the output is recognized emotion data. This data is then sent to the server.

[1025] Step 5:

[1026] The server receives and analyzes the emotion data sent from the device. Specifically, the server takes the emotion data as input, analyzes the data using an analysis system such as Scikit-learn, and identifies the user's emotional state. The output is the analyzed emotional state.

[1027] Step 6:

[1028] The server selects a theme based on the emotion analysis results and runs an art generation algorithm. Specifically, if the user does not select a specific theme, the system automatically selects an appropriate theme based on the user's emotional state. Based on the selected theme and the building block data in the database, a new work of art is generated using algorithms such as GAN (Generative Adversarial Networks). The input is emotion data and building block data, and the output is the generated artwork.

[1029] Step 7:

[1030] The server creates assembly instructions based on the generated artwork and provides them to the user. Specifically, the server designs the instructions based on the art model. Each step in the instructions is arranged in the optimal order depending on the user's emotional state. All steps are combined to generate the instructions in PDF or image format. The input is the generated artwork, and the output is the assembly instructions. This instruction is sent to the user's device.

[1031] (Application example 2)

[1032] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1033] There is a need to provide users with an appropriate and satisfying experience by generating new artworks using building blocks owned by the user and taking into account the user's psychological state during the creation process. Conventional systems can generate artworks by recognizing building blocks, but they cannot generate artworks that take the user's emotions into account or provide assembly instructions accordingly. In such a situation, it is difficult to provide an optimal experience that corresponds to the user's emotions.

[1034] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically recognizing building blocks from image data, means for generating a work of art based on the recognized building block data, means for analyzing the user's emotional state, means for selecting a theme for the work of art based on the user's emotional data, and means for creating an assembly instruction manual based on the generated work of art. This makes it possible to generate an optimal work of art based on the building blocks the user has and their psychological state at the time.

[1035] "Image data" refers to an image file taken by a user, which contains visual information about the building blocks.

[1036] "Building block recognition means" refers to an algorithm or process for automatically identifying building blocks from image data.

[1037] "Art generation tools" refers to algorithms and methods that create new designs and structures based on recognized building block data.

[1038] The "emotional state analysis means" is a system for analyzing the user's emotions, and includes technology for analyzing the user's facial expressions, tone of voice, and input data.

[1039] "Theme selection means" refers to a system or algorithm that has the function of automatically selecting the theme (e.g., animals, landscapes, buildings, etc.) of the artwork to be generated based on the user's emotional data.

[1040] "Assembly procedure creation means" refers to a process or system that documents the assembly method based on the generated artwork in a format that can be understood by the user.

[1041] A "system" refers to a series of devices and software that organically combines these means to provide users with convenient and appropriate services.

[1042] This invention relates to a system that analyzes image data of building blocks held by a user, generates an optimal artwork according to the user's emotional state, and provides instructions for assembling it. This system is mainly composed of a user's terminal, a server, and a network connecting them.

[1043] First, a user takes a photo of building blocks at home using a device such as a smartphone and uploads the image data to a server using a dedicated app. The server receives the image data and uses an image processing algorithm to recognize the building blocks. Image processing libraries such as OpenCV are commonly used software for this process.

[1044] Next, the device analyzes the user's emotional state. It uses an emotion analysis engine (e.g., EmotionDetector) to obtain emotional data based on the user's facial expressions, tone of voice, and input data, and sends the data to the server. Based on this emotional data, the server selects an appropriate theme. For example, if the user is feeling happy, it selects a bright and cheerful theme, and if the user is sad, it selects a soothing theme.

[1045] The server then generates a work of art based on the recognized building block data and the selected theme, using techniques such as generative AI models and art generation algorithms, such as the ArtGenerator library.

[1046] Then, based on the generated artwork, an assembly instruction manual is created according to the user's emotions. This instruction manual is generated in PDF or image format and uploaded to a cloud storage service (e.g., CloudStorageService). The user can download and use this instruction manual. Finally, the server provides the user with a download link for the cloud storage.

[1047] To give a specific example, a user takes a photo of building blocks on their smartphone and sends it to the server via the app. If the emotion analysis engine detects that the user is enjoying the image, the server generates an animal-themed artwork. Instructions for assembling the artwork are then created and provided to the user.

[1048] An example prompt to use is "Generate an appropriate themed artwork based on the user's emotional data."

[1049] In this way, the present invention analyzes images of building blocks held by the user, generates an optimal artwork based on the user's emotional state, and provides assembly instructions, providing a seamless and intuitive user experience.

[1050] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1051] Step 1:

[1052] The user takes a picture of the building blocks and uploads the image data to the server using a dedicated app. The image taken by the user with their smartphone is imported into the app as input, and the server receives this image data as output.

[1053] Step 2:

[1054] The server performs preprocessing to analyze the received image data. Specifically, it uses an image processing library (e.g., OpenCV) to perform preprocessing such as noise removal and filtering on the image data. As input, the raw image data uploaded by the user is passed to the server, and as output, preprocessed image data is generated.

[1055] Step 3:

[1056] The building blocks are recognized based on the preprocessed image data. The server uses machine learning and image recognition algorithms to identify the type and location of each block. The preprocessed image data is used as input, and a list of recognized building blocks is generated as output.

[1057] Step 4:

[1058] The device analyzes the user's emotional state by analyzing the user's facial expressions and tone of voice using an emotion recognition engine (e.g., EmotionDetector). The device takes in the user's facial expressions and voice data as input, and generates analyzed emotional data as output, which is then sent to the server.

[1059] Step 5:

[1060] The server receives the emotion data, analyzes it, and then selects a theme for the artwork. For example, if the user is feeling happy, it selects the "animal" theme. The emotion data sent from the device is passed to the server as input, and the selected theme is generated as output.

[1061] Step 6:

[1062] The server generates artwork using a generative AI model (e.g., ArtGenerator) based on the recognized building block data and the selected theme. As input, it receives a list of building blocks and theme information, and as output, it generates design data for the generated artwork.

[1063] Step 7:

[1064] The server creates assembly instructions based on the generated artwork. Using an instruction manual creation algorithm, it generates instructions in PDF format that are optimized for the user's emotions. The design data of the generated artwork and the user's emotional data are used as input, and a PDF file of the assembly instructions is generated as output.

[1065] Step 8:

[1066] The server uploads the PDF of the assembly instructions to cloud storage and generates a download link. The generated PDF of the assembly instructions is passed to the cloud storage service as input, and a download link is generated as output.

[1067] Step 9:

[1068] The user receives a download link through their device and downloads the instructions, which they can then use to assemble a new piece of work. As input, the download link from the server is given, and as output, the instructions are saved on the user's device.

[1069] In this way, the input and output are clear for each step, and the system is designed to be easy for users to operate.

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

[1071] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[1073] [Fourth embodiment]

[1074] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1075] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1076] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1077] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[1078] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[1080] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1081] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[1082] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1083] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

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

[1085] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

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

[1087] The system of the present invention is designed to create new artworks from loose building blocks owned by users and provide instructions for assembling them. This system is comprised of a user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with concrete examples.

[1088] LEGO block recognition

[1089] User Input

[1090] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[1091] Receiving image data

[1092] The server receives the image data sent by the user, and the received image data is stored in the server and saved for subsequent processing.

[1093] Building block recognition

[1094] The server applies image analysis algorithms to the received image data, identifying the building blocks in the image and determining their attributes, such as shape, color, and size. The server stores this data in a database for later use in generating artwork.

[1095] Art Generation

[1096] Theme selection

[1097] Users select the theme of the artwork they want to create on the app, such as animals, landscapes, buildings, etc. The theme information selected by the user is sent from the device to the server.

[1098] Running an art generation algorithm

[1099] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you select an animal theme, the server will generate a new animal model from the available blocks, taking into account the animal's shape and details.

[1100] Generating building instructions

[1101] Assembly step design

[1102] The server then designs assembly instructions based on the artwork generated by the server. The server then creates detailed instructions showing which blocks to use and where to place them at each step, making it easier for users to assemble the artwork.

[1103] Generate and send instructions

[1104] The server compiles all the steps and generates comprehensive building instructions, which are sent to the user's device in PDF or image format, allowing the user to build a new creation using their existing building blocks.

[1105] Specific examples

[1106] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to the server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, when the user selects "animals" as the theme in the app, the server generates a design for the new animal model based on that theme. Finally, the server creates assembly instructions based on the design and sends them to the user's device. The user can easily assemble the new animal model by following these instructions.

[1107] The processing flow will be explained below.

[1108] Step 1:

[1109] The user takes a photo of the building blocks at home with their smartphone, and the image data is imported into the device via a dedicated app.

[1110] Step 2:

[1111] The device uploads the captured image data to the server. The user presses the send button on the app to send the image data to the server.

[1112] Step 3:

[1113] The server receives the transmitted image data and stores it in the server's internal storage.

[1114] Step 4:

[1115] The server uses image analysis algorithms to recognize the building blocks in the image data. The server identifies each block by its color, shape, and size.

[1116] Step 5:

[1117] The server stores the information about the building blocks it recognizes in a database, which records the attribute data of each block (color, shape, size, etc.).

[1118] Step 6:

[1119] The user selects the theme they want to create (e.g., animals, landscapes, buildings, etc.) through a dedicated app. The selected theme information is sent from the device to the server.

[1120] Step 7:

[1121] The server runs an art generation algorithm based on the selected theme and the building block data in the database. The server creates designs that fit the theme and generates new artwork using the available blocks.

[1122] Step 8:

[1123] The server then designs assembly instructions based on the artwork it generates. The server determines the blocks required and their placement for each step, and creates detailed assembly instructions.

[1124] Step 9:

[1125] The server generates assembly instructions in PDF or image format, which are then sent to the user's device.

[1126] Step 10:

[1127] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, completing a new, original work of art.

[1128] Example 1

[1129] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1130] Conventional methods for creating artwork using building blocks have the drawback of requiring users to manually assemble the blocks, which is a cumbersome process and requires a great deal of time and effort to complete. It is also difficult for users to consider the theme of the artwork they want to create and devise specific steps to complete it. Therefore, there is a need for technology that allows users to efficiently and easily create new artworks while utilizing their creativity.

[1131] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1132] In this invention, the server includes means for uploading image data captured by a user from the terminal to the server, means for receiving and saving the uploaded image data in the server, means for applying an image analysis algorithm to the saved image data to identify building blocks and determine their attributes, means for sending theme information selected by the user from the terminal to the server, means for executing an art generation algorithm based on the selected theme and generating a new work of art based on the building block data, means for designing and creating assembly instructions for the generated work of art, and means for sending the assembly instructions to the terminal, thereby enabling a user to easily create a new work of art.

[1133] "User" means a person or end user who uses the system.

[1134] A "terminal" is a device, such as a smartphone, tablet, or personal computer, that a user uses to access the system.

[1135] A "server" is a central processing unit that receives, stores, analyzes data sent by users, and sends the generated results to the user terminal.

[1136] "Image data" refers to digital data including a photograph of building blocks that is taken by a user using a terminal and uploaded to the system.

[1137] "Upload" refers to the act of transferring data from a user's device to a server.

[1138] "Reception" refers to the operation of the server taking in data sent from the user's terminal.

[1139] "Storage" means that the server stores the received data in storage.

[1140] An "image analysis algorithm" is a program or method for identifying building blocks from received image data and determining their attributes.

[1141] "Building blocks" refer to building blocks of various shapes, colors, and sizes that a user owns.

[1142] A "theme" is the type or style of artwork a user wishes to create. Examples include animals, landscapes, buildings, etc.

[1143] An "art generation algorithm" is a program or method for designing and generating new works of art based on a user-selected theme and building block data.

[1144] "Artworks" are new building block creations generated by art generation algorithms.

[1145] A "assembly instruction" is a document that shows the procedures or steps required to actually assemble the generated artwork.

[1146] "Design" is the process of planning and describing in detail, step by step, the construction of a work of art.

[1147] "Send" refers to the operation of sending the assembly instructions generated by the server to the user's terminal.

[1148] The system of the present invention creates a new work of art using building blocks owned by the user and provides instructions for assembling it. This system is configured through the user's terminal, a server, and a network connecting them. Specific embodiments are described below.

[1149] Specific hardware and software names used

[1150] User devices: smartphones, tablets, personal computers

[1151] Server: Linux server, cloud server

[1152] Image analysis software: OpenCV, TensorFlow

[1153] PDF generation library: Apache PDFBox

[1154] Data processing and calculation

[1155] The user takes a picture of the building blocks and uploads it

[1156] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[1157] Receiving and storing images on the server

[1158] The server receives the image data sent from the device. The received image data is saved in the server's storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[1159] Applying image analysis algorithms to recognize building blocks

[1160] The server performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first detects edges in the image and identifies the building blocks. It then determines the shape, color, and size of the blocks and stores this data in a database.

[1161] The user selects the theme of the artwork

[1162] On the app, users select the theme of the artwork they want to create from themes such as animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[1163] Running the art generation algorithm on the server

[1164] The server runs an art generation algorithm based on the theme selected by the user and the building block data in the database. For example, if the theme is animals, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[1165] Generate assembly instructions

[1166] The server designs assembly instructions based on the generated artwork. It details the blocks to be used and their placement for each step, and generates instructions in PDF and image format. Apache PDFBox is used to generate the PDF.

[1167] Send assembly instructions

[1168] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and follow them to assemble their new building block creation.

[1169] Specific examples

[1170] For example, if a user wants to create a new building block piece at home with an "animal" theme, they first take a photo of the building blocks they own with their smartphone and upload it to the server via the app. The server receives and analyzes the image data to identify the attributes of each block. If the user then selects "animals" as the theme in the app, the server uses an art generation algorithm to generate a new animal model. Finally, it creates assembly instructions based on that model and sends them to the user in PDF format. The user can then assemble the new animal model by following the instructions.

[1171] Example prompts for generative AI models

[1172] "Please analyze images of building blocks taken by users and generate new animal-themed building blocks based on that data. Please also generate assembly instructions for the created building blocks and provide them in PDF format."

[1173] The above procedures and techniques allow users to more easily and efficiently create new works of art using building blocks.

[1174] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1175] Step 1:

[1176] The user takes a picture of the building blocks and uploads it

[1177] Users take a photo of building blocks they own at home using a smartphone or tablet. Next, they launch a dedicated app and import the image they have taken into the app. When the user presses the upload button, the device compresses the image data and sends it to the server.

[1178] Input: Image data taken by the user

[1179] Output: Compressed image data sent from the device to the server

[1180] Specifically, the terminal compresses the image data into JPEG format and transmits it to the server via the network.

[1181] Step 2:

[1182] Receiving and storing images on the server

[1183] The server receives the image data sent from the device. The received image data is saved in storage. At this time, a file name and timestamp are assigned to make it uniquely identifiable.

[1184] Input: Compressed image data

[1185] Output: Image file saved to storage

[1186] Specifically, the server assigns a unique file name and timestamp to the received data and saves it in a specified directory.

[1187] Step 3:

[1188] Applying image analysis algorithms to recognize building blocks

[1189] The server then performs image analysis on the stored image data using OpenCV and TensorFlow. The analysis algorithm first performs edge detection to identify the building blocks, then identifies attributes such as the block's shape, color, and size, and stores this data in a database.

[1190] Input: Saved image data

[1191] Output: Building block identification data stored in a database

[1192] Specifically, the image analysis algorithm applies an edge detection filter and extracts the outline of the building blocks from the result, then calculates shape features and identifies color and size attributes.

[1193] Step 4:

[1194] The user selects the theme of the artwork

[1195] On the app, users select the theme they want to create from a range of themes, including animals, landscapes, buildings, etc. The selected theme information is sent from the device to the server.

[1196] Input: User selected theme information

[1197] Output: Theme information sent to the server

[1198] Specifically, the device sends the theme information to the server as structured data (e.g., JSON).

[1199] Step 5:

[1200] Running the art generation algorithm on the server

[1201] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if you choose an animal theme, the server will take into account the animal's shape and details and generate a new animal model from the available blocks.

[1202] Input: Theme information and building block data

[1203] Output: Generated artwork design data

[1204] Specifically, the server combines building blocks based on a template corresponding to the theme, calculates the optimal layout, and generates design data.

[1205] Step 6:

[1206] Create assembly instructions based on generated artwork

[1207] The server then designs and creates assembly instructions based on the design data of the artwork, detailing the blocks to be used and their placement for each step, and generates instructions in PDF and image format.

[1208] Input: Design data for the generated artwork

[1209] Output: Assembly instructions

[1210] Specifically, the server uses a PDF generation library (e.g., Apache PDFBox) to create the assembly instructions in PDF format.

[1211] Step 7:

[1212] Send assembly instructions to your device

[1213] The server then sends the generated assembly instructions to the user's device, where the user can view the instructions through a dedicated app and assemble the piece according to the instructions.

[1214] Input: Assembly instructions (PDF format)

[1215] Output: Instructions sent to the user's device

[1216] Specifically, the server associates the procedure file with the user's account and sends the file to the terminal via the network.

[1217] (Application example 1)

[1218] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1219] Traditional factory lines make it difficult to efficiently prototype and produce new product designs. Creating products using new parts is particularly time-consuming and costly. Furthermore, manual assembly is prone to errors, which can lead to reduced production efficiency. Addressing these issues, there is a growing need for more efficient and accurate automated assembly systems.

[1220] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1221] In this invention, the server includes means for automatically recognizing parts from an image taken by a user, means for generating a new product design based on data on the recognized parts, means for creating an automatic assembly procedure manual based on the generated product design, and means for transmitting assembly instructions to a robot arm based on the created assembly procedure manual, thereby enabling efficient and highly accurate automatic assembly.

[1222] "Images taken by a user" refers to digital data of visual information acquired by a user using their own device.

[1223] A "part" is an element or material that makes up part of a product.

[1224] "Automatic recognition means" refers to techniques or methods that allow machines or systems to identify objects without human intervention using specific algorithms.

[1225] A "new product design" is a new product shape or blueprint formed by a new arrangement or combination of existing parts.

[1226] An "automated assembly procedure manual" is a document that lists the steps that machines and humans follow to carry out a task in an orderly manner.

[1227] A "robot arm" is a mechanical arm device that has multiple axes and operates based on a program.

[1228] "Means for transmitting assembly instructions" refers to the technology or method for electronically transmitting work procedures from the system to assembly equipment such as robotic arms.

[1229] A "server" is a computer system on a network that receives requests from clients, processes them, and returns the results.

[1230] MODE FOR CARRYING OUT THE INVENTION

[1231] The system for realizing this invention consists of the following main components: a user terminal (smartphone or tablet), a server, and a network connecting them.

[1232] 1. Acquiring and recognizing images of parts

[1233] The user takes an image of the part using their own device (smartphone or tablet). The image is then uploaded to the server via a dedicated application. The server then uses an image analysis library such as OpenCV to automatically identify the part from the image data. The recognized part's characteristic data, such as shape, color, and size, is then stored in a database.

[1234] 2. Generating new product designs

[1235] When a user wants to design a new product, the server generates a new product design based on the recognized parts data. Using a generative AI model, a new design is created based on the parts data and a theme. For example, if a user wants to create a "new assembly robot hand," the generative AI model will suggest the optimal combination based on that theme.

[1236] 3. Creating automated assembly instructions

[1237] Based on the generated product design, the server creates an automatic assembly instruction manual, which details the placement order and position information of each part. This instruction manual is generated in PDF or image format and sent to the user's device.

[1238] 4. Sending assembly instructions to the robot arm

[1239] The server then sends assembly instructions to the robot arm based on the created assembly instructions. Using dedicated APIs such as the RoboticArm API, the robot arm accurately executes the instructions, enabling highly accurate automated assembly.

[1240] Hardware and software used

[1241] Hardware:

[1242] User devices (smartphones, tablets)

[1243] Robot arms (e.g. industrial robot arms)

[1244] server

[1245] software:

[1246] OpenCV (image analysis)

[1247] requests (HTTP requests)

[1248] RoboticArm API (Robot arm control)

[1249] Generative AI models (generating new product designs)

[1250] Specific examples

[1251] For example, if a user wants to assemble new parts to create a "new assembly robot hand," they first take a photo of the parts with their smartphone and upload it to the server via a dedicated app. The server recognizes the parts and uses a generative AI model to suggest the optimal combination. The server then creates a detailed assembly manual and sends specific assembly instructions to the robot arm based on that manual.

[1252] Prompt Sentence Examples

[1253] I want to make a new assembly robot hand. Please use the parts shown in the image below.

[1254] [Part image URL]

[1255] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1256] Specific explanations divided into processing steps

[1257] Step 1:

[1258] The user takes a picture of the part using a smartphone or tablet. This image data becomes the input. The user then uploads the image to the server using a dedicated application. The input is the image data of the part, and the output is the upload of the image data to the server.

[1259] Step 2:

[1260] The server receives image data received from the user and performs preprocessing. The input here is the image data of the parts uploaded by the user. The server uses an image analysis library (e.g., OpenCV) to automatically recognize parts from the image. Data processing includes image filtering, edge detection, and segmentation. The output is characteristic data (shape, color, size) of the recognized parts.

[1261] Step 3:

[1262] The server saves the characteristic data of the recognized parts in a database. The input here is the characteristic data of the recognized parts. By saving it in the database, the part data becomes available for subsequent processes. The output is the data saved in the database.

[1263] Step 4:

[1264] A user selects a theme for a new product design (e.g., "a new assembly robot hand") through the application. The input is the theme selection information from the user, and the output is the transmission of the theme information to the server.

[1265] Step 5:

[1266] The server runs a generative AI model based on the theme information and parts data in the database to generate a new product design. The input here is the theme information and parts data. The generative AI model proposes the optimal combination of parts based on the theme. Data calculation involves analyzing the parts data, comparing it with the theme, and synthesizing a new design. The output is new product design data.

[1267] Step 6:

[1268] The server creates an automated assembly procedure manual based on the generated product design. The input is new product design data. The server generates an assembly procedure manual that details the placement order and position information of each part. Data processing involves breaking down the procedure into steps and generating part placement information. The output is an assembly procedure manual (PDF or image format).

[1269] Step 7:

[1270] The server sends the created assembly instructions to the user terminal. The input is the assembly instructions data, and the output is the instructions sent to the user terminal. The user can then check the received instructions.

[1271] Step 8:

[1272] The server sends specific assembly instructions to the robot arm based on the assembly instructions. The input is the assembly instructions data. The assembly instructions are sent to the robot arm using a robot arm control API (e.g., RoboticArm API). The output is the assembly actions performed by the robot arm. This enables highly accurate automated assembly.

[1273] In this way, new products are designed and automatically assembled in a series of processes using images of parts taken by the user.

[1274] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1275] The system of the present invention creates new artworks from loose building blocks owned by the user and provides instructions for assembling them. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it is possible to generate artworks and provide instructions optimally according to the user's psychological state. This system is comprised of the user's terminal, a server, and a network connecting them. The main components of the system and their functions are explained below with specific examples.

[1276] LEGO block recognition

[1277] User Input

[1278] Users take photos of building blocks at home using their smartphones or tablets. This image data is then imported into a dedicated app on the device, and the user can then upload the image data to a server through this app.

[1279] Receiving image data

[1280] The server receives the image data sent by the user, and the received data is stored in the server and held for subsequent processing.

[1281] Use of emotion engine

[1282] User Emotion Recognition

[1283] The device recognizes the user's emotions by analyzing the user's facial expressions, tone of voice, input data, etc. The recognized emotion data is sent to the server.

[1284] Receiving and processing emotion data

[1285] The server receives the emotion data sent from the device and analyzes it. Based on this data, the server identifies the emotion (e.g., joy, sadness, surprise, etc.) that the user is currently feeling.

[1286] Art Generation

[1287] Theme selection

[1288] Based on the user's selection or the emotion engine, the automatically selected theme (e.g., animals, landscapes, buildings, etc.) is sent to the server. If the user does not select a specific theme, the system will choose an appropriate theme based on the user's emotion.

[1289] Running an art generation algorithm

[1290] The server runs an art generation algorithm based on the selected or recommended theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated, and if they are feeling sad, a soothing and calming design will be generated.

[1291] Generating building instructions

[1292] Assembly step design

[1293] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[1294] Generate and send instructions

[1295] The server compiles all the steps and generates a comprehensive assembly manual, which is then sent to the user's device in PDF or image format. The user can then use the manual to assemble a new piece of work using the building blocks they already own.

[1296] Specific examples

[1297] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, and the user follows the instructions to assemble a new animal model.

[1298] In this way, the present invention is a system that provides an optimal experience for users by seamlessly combining building block recognition, use of an emotion engine, theme selection, art generation, and creation and transmission of assembly instructions.

[1299] The processing flow will be explained below.

[1300] Step 1:

[1301] Users take photos of building blocks at home with their smartphones, and the captured image data is saved on the device via a dedicated app.

[1302] Step 2:

[1303] The device uploads the saved image data to the server. The user presses the send button on the app to send the image data to the server.

[1304] Step 3:

[1305] The server receives the transmitted image data and stores it in its internal storage.

[1306] Step 4:

[1307] The server runs image analysis algorithms to identify building blocks in the image data, determining attributes such as color, shape, and size of the blocks, and stores each block in a database.

[1308] Step 5:

[1309] The device runs an emotion engine that analyzes the user's facial expressions, voice tone, input data, etc. to recognize the user's emotions. The emotion data is sent from the device to the server.

[1310] Step 6:

[1311] The server analyzes the received emotion data to determine the user's current emotional state, for example, whether the user is happy, sad, surprised, etc.

[1312] Step 7:

[1313] When a user selects a theme they want to create using the dedicated app, that theme information is sent from the device to the server. If the user does not select a theme, the server automatically selects an appropriate theme based on emotion data.

[1314] Step 8:

[1315] The server runs an art generation algorithm based on the selected theme and the building block data in the database. For example, if the user is feeling happy, a vibrant and joyful design will be generated. If the user is feeling sad, a soothing and calming design will be generated.

[1316] Step 9:

[1317] The server then designs assembly instructions based on the artwork. The steps in the instructions are arranged in the most appropriate order based on the user's emotions. For example, a user who is feeling stressed will be provided with instructions that start with the easiest steps.

[1318] Step 10:

[1319] The server generates assembly instructions in PDF or image format and sends them to the user's device.

[1320] Step 11:

[1321] The user opens the assembly instructions on the device and assembles the building blocks according to the instructions, allowing them to complete a new, original work of art.

[1322] This system allows users to easily create and assemble the building block artwork that best suits their emotions.

[1323] Example 2

[1324] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1325] Conventional systems for generating artwork using building blocks simply generate artwork based on user input, and have the problem of not being able to generate optimal artworks or provide instructions that correspond to the user's emotions or psychological state. This makes it difficult to improve user satisfaction and prevents users from making the most of the building blocks they have on hand.

[1326] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving image data captured by a user and performing preprocessing, means for recognizing building blocks from the preprocessed image data, means for generating a work of art that corresponds to the user's emotional state based on the recognized building block data, means for creating assembly instructions based on the generated work of art and providing them to the user, means for recognizing the user's emotions using an emotion engine and analyzing the recognized emotion data, and means for executing an art generation algorithm based on the emotion analysis results. This makes it possible to generate an optimal work of art and provide instructions that correspond to the user's emotions and psychological state.

[1327] "Image data taken by a user" refers to photo data of building blocks that a user takes using a mobile device such as a smartphone or tablet and sends to the system.

[1328] "Preprocessing" refers to the data processing step of converting captured image data into an analyzable format, and includes noise reduction and resolution adjustment.

[1329] "Building block recognition" is the process of identifying building block attributes such as shape, color, and size from preprocessed image data.

[1330] "User's emotional state" refers to the user's current psychological state, including joy, sadness, surprise, and the like.

[1331] "Artwork generation" is the process of creating new designs and models based on user-provided building block data and the user's emotional state.

[1332] An "assembly manual" is a document that provides instructions for users to recreate the generated artwork, and is provided in PDF or image format.

[1333] An "emotion engine" is a technology that recognizes a user's emotional state by analyzing their facial expressions, tone of voice, and input data.

[1334] "Emotion data" is data that represents the user's emotional state as recognized by the emotion engine.

[1335] The "art generation algorithm" is an algorithm for automatically designing and generating new works of art based on the user's building block data and emotional data.

[1336] The "means for performing pre-processing" is a function within the system for converting captured image data into an analyzable format.

[1337] "Data of recognized building blocks" refers to attribute information of building blocks identified through pre-processing and recognition processes.

[1338] The "means for generating artwork according to the user's emotional state" is a function within the system for generating an optimal design based on the user's emotional state.

[1339] "Means for creating assembly instructions and providing them to users" is a function for generating and providing documentation that allows users to understand and reproduce the assembly process of the generated artwork.

[1340] "Means for recognizing a user's emotions using an emotion engine and analyzing the recognized emotion data" refers to a function within the system that analyzes the user's facial expressions and tone of voice to identify the user's emotional state and analyzes that data.

[1341] The "means for executing an art generation algorithm based on the emotion analysis results" is a function for executing an algorithm for generating an optimal work of art based on the user's emotion data.

[1342] The present invention relates to a system that creates new artworks from building blocks owned by a user and provides assembly instructions. This system further combines an emotion engine that recognizes the user's emotions to create artworks that are optimally tailored to the user's psychological state. A detailed description of specific embodiments of the present invention is provided below.

[1343] LEGO block recognition

[1344] 1. Hardware and Software Use

[1345] Users take pictures of the building blocks using a mobile device such as a smartphone or tablet. This image data is then processed through a dedicated application installed on the device. Specific examples include smartphones (e.g., iPhone, Samsung Galaxy), tablets (e.g., iPad), and dedicated apps (e.g., LEGO Master App).

[1346] 2. Data processing and calculation

[1347] Image data captured by the user is first preprocessed. This includes noise reduction and resolution adjustment. The preprocessed data is then used to recognize the building block attributes (shape, color, size, etc.) using an AI model such as TensorFlow. The results of this analysis are run on AWS EC2 servers and stored in a database (e.g., Amazon DynamoDB).

[1348] Use of emotion engine

[1349] 1. User Emotion Recognition

[1350] A dedicated app installed on the device captures the user's facial expressions and tone of voice in real time and recognizes their emotions using the Google Cloud Vision API and Microsoft Azure Emotion API, identifying the user's emotional state (e.g., joy, sadness, surprise, etc.) and sending the emotional data to a server.

[1351] 2. Emotion Data Analysis

[1352] The server receives the emotion data and analyzes it using an internal analysis system (e.g., Scikit-learn). Based on the analysis results, the user's current emotional state is classified.

[1353] Art creation and assembly instructions

[1354] 1. Theme selection and art creation

[1355] The user selects a specific theme (e.g., animals, landscapes, buildings), or a theme is automatically selected based on the emotion engine and sent to the server. The server then uses art generation algorithms such as GAN (Generative Adversarial Networks) to generate new artworks based on the selected theme and the building block data in the database.

[1356] 2. Generating assembly instructions

[1357] The server designs a manual based on the generated artwork. This manual arranges the steps in the optimal order according to the user's emotional state. The manual is created in PDF or image format and sent to the user's device. The user can then use this manual to assemble a new work of art.

[1358] Specific examples

[1359] For example, consider a situation where a user wants to create a new "animal" model using building blocks at home. In this case, the user first takes a photo of the building blocks with their smartphone and uploads the image to a server via a dedicated app. The server analyzes the received image and identifies the attributes of each block. Next, the device recognizes the user's emotions and sends the data to the server. Based on the emotional data, the server generates an "animal"-themed design and creates assembly instructions tailored to the user's feelings. Finally, the instructions are sent to the user's device, allowing the user to assemble the new animal model by following the instructions.

[1360] Prompt Sentence Examples

[1361] "I want to build a new animal model using building blocks at home. Please walk me through the process by following these steps."

[1362] 1. Take a photo of the building blocks with your smartphone and upload it to the server via a dedicated app.

[1363] 2. The server receives and analyzes the image data.

[1364] 3. The device recognizes the user's emotions and sends the data to the server.

[1365] 4. The server receives and analyzes the emotion data.

[1366] 5. The server selects a theme and creates a design using an art generation algorithm.

[1367] 6. The server generates an assembly instruction manual and sends it to the user's device.

[1368] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1369] Step 1:

[1370] The user takes a photo of building blocks at home using the camera on their smartphone or tablet. Specifically, the user launches the camera app on their smartphone and takes a photo of the building blocks. They then open the dedicated app and import the image they took into the app. This becomes the input data. Next, the user presses the "upload image" button on the app to send the image data to the server. The output is the image data received by the server.

[1371] Step 2:

[1372] The server receives image data sent by the user and performs preprocessing. Specifically, the server takes the received image data as input and performs preprocessing such as noise reduction and resolution adjustment. This converts the image data into an analyzable format. The output is the preprocessed image data.

[1373] Step 3:

[1374] The server recognizes the attributes of the building blocks from the preprocessed image data. Specifically, the server analyzes the image data using an AI model such as TensorFlow and identifies the block attributes (shape, color, size, etc.). The input is the preprocessed image data, and the output is the recognized building block data. The recognition results are stored in a database.

[1375] Step 4:

[1376] The device recognizes the user's emotions and sends the data to the server. Specifically, the device's camera and microphone capture the user's facial expressions and tone of voice in real time. The app recognizes emotions using the Google Cloud Vision API and Microsoft Azure Emotion API. The input is the user's real-time facial expressions and voice, and the output is recognized emotion data. This data is then sent to the server.

[1377] Step 5:

[1378] The server receives and analyzes the emotion data sent from the device. Specifically, the server takes the emotion data as input, analyzes the data using an analysis system such as Scikit-learn, and identifies the user's emotional state. The output is the analyzed emotional state.

[1379] Step 6:

[1380] The server selects a theme based on the emotion analysis results and runs an art generation algorithm. Specifically, if the user does not select a specific theme, the system automatically selects an appropriate theme based on the user's emotional state. Based on the selected theme and the building block data in the database, a new work of art is generated using algorithms such as GAN (Generative Adversarial Networks). The input is emotion data and building block data, and the output is the generated artwork.

[1381] Step 7:

[1382] The server creates assembly instructions based on the generated artwork and provides them to the user. Specifically, the server designs the instructions based on the art model. Each step in the instructions is arranged in the optimal order depending on the user's emotional state. All steps are combined to generate the instructions in PDF or image format. The input is the generated artwork, and the output is the assembly instructions. This instruction is sent to the user's device.

[1383] (Application example 2)

[1384] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1385] There is a need to provide users with an appropriate and satisfying experience by generating new artworks using building blocks owned by the user and taking into account the user's psychological state during the creation process. Conventional systems can generate artworks by recognizing building blocks, but they cannot generate artworks that take the user's emotions into account or provide assembly instructions accordingly. In such a situation, it is difficult to provide an optimal experience that corresponds to the user's emotions.

[1386] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically recognizing building blocks from image data, means for generating a work of art based on the recognized building block data, means for analyzing the user's emotional state, means for selecting a theme for the work of art based on the user's emotional data, and means for creating an assembly instruction manual based on the generated work of art. This makes it possible to generate an optimal work of art based on the building blocks the user has and their psychological state at the time.

[1387] "Image data" refers to an image file taken by a user, which contains visual information about the building blocks.

[1388] "Building block recognition means" refers to an algorithm or process for automatically identifying building blocks from image data.

[1389] "Art generation tools" refers to algorithms and methods that create new designs and structures based on recognized building block data.

[1390] The "emotional state analysis means" is a system for analyzing the user's emotions, and includes technology for analyzing the user's facial expressions, tone of voice, and input data.

[1391] "Theme selection means" refers to a system or algorithm that has the function of automatically selecting the theme (e.g., animals, landscapes, buildings, etc.) of the artwork to be generated based on the user's emotional data.

[1392] "Assembly procedure creation means" refers to a process or system that documents the assembly method based on the generated artwork in a format that can be understood by the user.

[1393] A "system" refers to a series of devices and software that organically combines these means to provide users with convenient and appropriate services.

[1394] This invention relates to a system that analyzes image data of building blocks held by a user, generates an optimal artwork according to the user's emotional state, and provides instructions for assembling it. This system is mainly composed of a user's terminal, a server, and a network connecting them.

[1395] First, a user takes a photo of building blocks at home using a device such as a smartphone and uploads the image data to a server using a dedicated app. The server receives the image data and uses an image processing algorithm to recognize the building blocks. Image processing libraries such as OpenCV are commonly used software for this process.

[1396] Next, the device analyzes the user's emotional state. It uses an emotion analysis engine (e.g., EmotionDetector) to obtain emotional data based on the user's facial expressions, tone of voice, and input data, and sends the data to the server. Based on this emotional data, the server selects an appropriate theme. For example, if the user is feeling happy, it selects a bright and cheerful theme, and if the user is sad, it selects a soothing theme.

[1397] The server then generates a work of art based on the recognized building block data and the selected theme, using techniques such as generative AI models and art generation algorithms, such as the ArtGenerator library.

[1398] Then, based on the generated artwork, an assembly instruction manual is created according to the user's emotions. This instruction manual is generated in PDF or image format and uploaded to a cloud storage service (e.g., CloudStorageService). The user can download and use this instruction manual. Finally, the server provides the user with a download link for the cloud storage.

[1399] To give a specific example, a user takes a photo of building blocks on their smartphone and sends it to the server via the app. If the emotion analysis engine detects that the user is enjoying the image, the server generates an animal-themed artwork. Instructions for assembling the artwork are then created and provided to the user.

[1400] An example prompt to use is "Generate an appropriate themed artwork based on the user's emotional data."

[1401] In this way, the present invention analyzes images of building blocks held by the user, generates an optimal artwork based on the user's emotional state, and provides assembly instructions, providing a seamless and intuitive user experience.

[1402] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1403] Step 1:

[1404] The user takes a picture of the building blocks and uploads the image data to the server using a dedicated app. The image taken by the user with their smartphone is imported into the app as input, and the server receives this image data as output.

[1405] Step 2:

[1406] The server performs preprocessing to analyze the received image data. Specifically, it uses an image processing library (e.g., OpenCV) to perform preprocessing such as noise removal and filtering on the image data. As input, the raw image data uploaded by the user is passed to the server, and as output, preprocessed image data is generated.

[1407] Step 3:

[1408] The building blocks are recognized based on the preprocessed image data. The server uses machine learning and image recognition algorithms to identify the type and location of each block. The preprocessed image data is used as input, and a list of recognized building blocks is generated as output.

[1409] Step 4:

[1410] The device analyzes the user's emotional state by analyzing the user's facial expressions and tone of voice using an emotion recognition engine (e.g., EmotionDetector). The device takes in the user's facial expressions and voice data as input, and generates analyzed emotional data as output, which is then sent to the server.

[1411] Step 5:

[1412] The server receives the emotion data, analyzes it, and then selects a theme for the artwork. For example, if the user is feeling happy, it selects the "animal" theme. The emotion data sent from the device is passed to the server as input, and the selected theme is generated as output.

[1413] Step 6:

[1414] The server generates artwork using a generative AI model (e.g., ArtGenerator) based on the recognized building block data and the selected theme. As input, it receives a list of building blocks and theme information, and as output, it generates design data for the generated artwork.

[1415] Step 7:

[1416] The server creates assembly instructions based on the generated artwork. Using an instruction manual creation algorithm, it generates instructions in PDF format that are optimized for the user's emotions. The design data of the generated artwork and the user's emotional data are used as input, and a PDF file of the assembly instructions is generated as output.

[1417] Step 8:

[1418] The server uploads the PDF of the assembly instructions to cloud storage and generates a download link. The generated PDF of the assembly instructions is passed to the cloud storage service as input, and a download link is generated as output.

[1419] Step 9:

[1420] The user receives a download link through their device and downloads the instructions, which they can then use to assemble a new piece of work. As input, the download link from the server is given, and as output, the instructions are saved on the user's device.

[1421] In this way, the input and output are clear for each step, and the system is designed to be easy for users to operate.

[1422] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1423] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1424] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1425] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1426] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1427] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1428] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1429] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1430] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1431] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1432] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1433] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1434] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1435] 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.

[1436] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1437] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1438] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1439] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1440] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1441] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1442] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1443] The following is further disclosed regarding the above embodiment.

[1444] (Claim 1)

[1445] A means for automatically recognizing building blocks from image data;

[1446] A means for generating an artwork based on the recognized building block data;

[1447] The system includes means for generating assembly instructions based on the generated artwork.

[1448] (Claim 2)

[1449] 10. The system of claim 1, wherein the system receives image data captured by a user and pre-processes the image data for analysis.

[1450] (Claim 3)

[1451] 10. The system of claim 1, including an algorithm for organizing the generated artwork based on a theme.

[1452] "Example 1"

[1453] (Claim 1)

[1454] A means for uploading image data taken by a user from the terminal to a server;

[1455] means for receiving and storing the uploaded image data on a server;

[1456] means for applying image analysis algorithms to the stored image data to identify the building blocks and determine their attributes;

[1457] means for transmitting theme information selected by a user from the terminal to a server;

[1458] means for executing an art generation algorithm based on the selected theme to generate a new work of art based on the building block data;

[1459] a means for designing and creating assembly instructions for the generated artwork;

[1460] The system includes means for transmitting assembly instructions to a terminal.

[1461] (Claim 2)

[1462] 10. The system of claim 1, comprising an algorithm for receiving, pre-processing and analyzing image data captured by a user.

[1463] (Claim 3)

[1464] 10. The system of claim 1, further comprising an algorithm that composes the generated artwork based on a user-selected theme.

[1465] "Application Example 1"

[1466] (Claim 1)

[1467] means for automatically recognizing parts from an image taken by a user;

[1468] A means for generating a new product design based on the recognized part data;

[1469] A means for creating an automatic assembly procedure manual based on the generated product design;

[1470] A system including a means for transmitting assembly instructions to a robot arm based on the created assembly procedure manual.

[1471] (Claim 2)

[1472] The system according to claim 1, which receives image data captured by a user, preprocesses it for analysis, and converts it into a data format for controlling a robot arm.

[1473] (Claim 3)

[1474] 10. The system of claim 1, including an algorithm for organizing the generated product designs based on a theme, and an algorithm for automatically generating specific assembly instructions based on the theme.

[1475] "Example 2: Combining Emotion Engines"

[1476] (Claim 1)

[1477] means for receiving and pre-processing image data captured by a user;

[1478] means for recognizing building blocks from the preprocessed image data;

[1479] A means for generating an artwork based on the recognized building block data in accordance with the emotional state of the user;

[1480] A means for creating an assembly instruction manual based on the generated artwork and providing it to the user;

[1481] means for recognizing a user's emotion using an emotion engine and analyzing the recognized emotion data;

[1482] means for executing an art generation algorithm based on the sentiment analysis results;

[1483] A system including:

[1484] (Claim 2)

[1485] 10. The system of claim 1, further comprising a process for analyzing the received image data and emotion data.

[1486] (Claim 3)

[1487] 10. The system of claim 1, including an algorithm that organizes the generated artwork based on a theme and adjusts it according to an emotional state.

[1488] "Application example 2 when combining emotion engines"

[1489] (Claim 1)

[1490] A means for automatically recognizing building blocks from image data;

[1491] A means for generating an artwork based on the recognized building block data;

[1492] means for analyzing the emotional state of a user;

[1493] means for selecting a theme for the artwork based on the user's emotional data;

[1494] The system includes means for generating assembly instructions based on the generated artwork.

[1495] (Claim 2)

[1496] 10. The system of claim 1, wherein the system receives image data captured by a user and pre-processes the image data for analysis.

[1497] (Claim 3)

[1498] 10. The system of claim 1, including an algorithm for organizing the generated artwork based on a theme. [Explanation of symbols]

[1499] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for automatically recognizing building blocks from image data; A means for generating an artwork based on the recognized building block data; The system includes means for generating assembly instructions based on the generated artwork.

2. The system of claim 1, wherein the system receives image data captured by a user and pre-processes the image data for analysis.

3. 10. The system of claim 1, further comprising an algorithm for organizing the generated artwork based on a theme.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A