Programs, information processing devices, methods, and systems
By defining a covariance matrix based on pixel proximity and structural information, the program improves the accuracy of importance visualization in image recognition AI systems, enabling precise identification of important regions.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SEPTENI JAPAN CO LTD
- Filing Date
- 2025-05-28
- Publication Date
- 2026-04-23
AI Technical Summary
Existing image recognition AI systems lack clarity in explaining the basis of their predictions due to the use of random masks that are difficult to adjust in size, shape, and position, and do not account for image structure, leading to inaccurate identification of important regions.
A program that generates mask images by defining a covariance matrix based on pixel proximity and structural information in the input image, using a multivariate Gaussian distribution to improve the accuracy of importance visualization.
Enhances the accuracy of visualizing the basis for predictions by generating mask images that reflect the image structure, allowing for precise identification of important regions.
Smart Images

Figure 0007850850000001_ABST
Abstract
Description
[Technical Field]
[0001] This disclosure relates to programs, information processing devices, methods, and systems. [Background technology]
[0002] Image recognition AI is widely used, but the black-box problem—the lack of clarity regarding the basis of its predictions—remains a challenge. Therefore, the importance of Explainable AI (XAI), a technology that identifies and explains the regions of the input image that contributed to the AI's judgment, is increasing. One approach to XAI technology is to visualize the image regions that the AI focused on as a saliency map.
[0003] Patent Document 1 discloses a technique for generating importance maps in object detection models. Furthermore, RISE (Randomized Input Sampling for Explanation) is a known method for generating importance maps, and it is used in practical applications such as predicting advertising effectiveness. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Chinese Patent Application Publication No. 117911559 Specification [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] However, the random masks used in RISE are difficult to adjust in size, shape, and position, and cannot take into account the structure of the image (such as the boundaries of objects or regions). Furthermore, because the masks are generated independently of the image structure, they tend to show a broad influence not only on the important regions that the AI has focused on, but also on unrelated areas such as the background, making it difficult to accurately identify important regions.
[0006] The purpose of this disclosure is to improve the accuracy of visualizing the basis for predictions in black-box prediction models. [Means for solving the problem]
[0007] To solve the above problems, a program according to one aspect of the present disclosure is a program for operating a computer comprising a processor and memory, which causes the processor to perform the following steps: acquiring structural information of an input image; defining a covariance matrix of a multivariate Gaussian distribution based on the proximity between pixels and structural information in the input image; generating a plurality of mask images by sampling from a multivariate Gaussian distribution having the defined covariance matrix; generating a plurality of mask input images by applying each of the generated mask images to an input image; acquiring predicted values for each mask input image using a black-box prediction model; calculating information indicating importance in the input image based on each of the acquired predicted values and each of the corresponding mask images; and presenting the information. [Effects of the Invention]
[0008] According to this disclosure, it is possible to improve the accuracy of visualizing the basis for predictions in black-box prediction models. [Brief explanation of the drawing]
[0009] [Figure 1] This is a block diagram showing the overall configuration of System 1. [Figure 2] This is a block diagram showing an example of the functional configuration of the terminal device 10. [Figure 3] This block shows a functional configuration example for server 20. [Figure 4] This figure shows an example of the processing flow in System 1. [Figure 5] This figure shows an example of the screen in this disclosure. [Figure 6] This figure shows an example of the screen in this disclosure. [Figure 7]This is a diagram showing an example screen of the present disclosure. [Figure 8] This is a block diagram showing the basic hardware configuration of the computer 90.
Mode for Carrying Out the Invention
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all the drawings for describing the embodiments, the same reference numerals are assigned to common components, and repeated descriptions will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Also, not all of the components shown in the embodiments are essential components of the present disclosure. Also, each drawing is a schematic diagram and is not necessarily drawn precisely.
[0011] Also, in the following description, the "processor" is one or more processors. At least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may also be another type of processor such as a GPU (Graphics Processing Unit). At least one processor may be single-core or multi-core.
[0012] Also, at least one processor may be a processor in a broad sense such as a hardware circuit (e.g., FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)) that performs part or all of the processing.
[0013] Also, in the following description, expressions such as "xxx table" may be used to describe information from which an output is obtained for an input, but this information may be data of any structure or a learning model such as a neural network that generates an output for an input. Therefore, "xxx table" can be referred to as "xxx information".
[0014] Furthermore, in the following explanation, the structure of each table is just an example; one table may be divided into two or more tables, or all or part of two or more tables may constitute a single table.
[0015] Furthermore, in the following explanation, the subject of the process may sometimes be "program," but since a program is executed by a processor and performs defined processes using the memory and / or interface units as appropriate, the subject of the process may also be the processor (or a device such as a controller that has that processor).
[0016] The program may be installed on a device such as a computer, or it may reside on a program distribution server or a computer-readable (e.g., non-temporary) recording medium. Furthermore, in the following description, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs.
[0017] Furthermore, in the following explanation, identification numbers are used as identification information for various objects, but other types of identification information (for example, identifiers that include letters or symbols) may also be used.
[0018] Furthermore, in the following explanations, when describing similar elements without distinction, a reference code (or a common code among reference codes) may be used, and when describing similar elements with distinction, the element's identification number (or reference code) may be used.
[0019] Furthermore, in the following explanation, only control lines and information lines deemed necessary for the explanation are shown, and not all control lines and information lines in the product are necessarily shown. All components may be interconnected.
[0020] Each information processing device consists of a computer equipped with an arithmetic unit and a memory device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by said hardware configuration will be described later. For each of the terminal device 10 and the server 20, explanations that overlap with the basic hardware configuration and basic functional configuration of the computer described later will be omitted.
[0021] <Overview> This embodiment relates to a technique for explaining the basis for predictions such as image recognition using a black-box prediction model. A computer is made to define a covariance matrix of a multivariate Gaussian distribution, considering the structural information and pixel proximity of the input image. A mask image reflecting the structure is generated by sampling from this distribution. Based on these mask images and the predicted values of the black-box prediction model applied to the input image, information on importance indicating the important regions that contributed to the prediction is calculated, thereby providing an easily interpretable explanation of the prediction results that takes structural information into account. The information on importance may include importance map data that associates the "importance" of each pixel in the input image, indicating which parts of the image the prediction model focused on when making its judgment; an importance map that visualizes the importance map data; a list of highly important regions; or numerical information indicating the importance of each region. While this embodiment primarily assumes that the input image is a still image, it can be applied similarly to each frame constituting a video, not just still images. Therefore, the technique of this embodiment can also be used for frame-by-frame analysis of videos.
[0022] In this embodiment, the structural information includes at least one of segment regions or depth information. A segment region refers to each individual region divided by image segmentation. Image segmentation refers to the process of grouping each pixel that makes up an image based on some criterion, such as color similarity, texture, brightness, or the type of object depicted in the image, and dividing the image into multiple meaningful regions.
[0023] (First Embodiment) <1. System Configuration Diagram> The configuration of the information processing system according to the first embodiment will now be described. Figure 1 is a block diagram illustrating the configuration of the information processing system according to the first embodiment.
[0024] System 1, shown in Figure 1, includes, for example, a terminal device 10, a server 20, and a prediction model system 30. The terminal device 10, the server 20, and the prediction model system 30 are connected via, for example, a network 80. The prediction model system 30 is a system that runs a trained prediction model, which is the subject of the explanation of the prediction results. The prediction model includes, but is not limited to, black-box prediction models whose internal structure and decision logic are unclear or too complex to be directly analyzed. System 1 analyzes the basis for predictions without accessing the inside of the prediction model, and various trained machine learning models used for image classification, object detection, or advertising effectiveness prediction, including deep neural networks (DNNs), can be targeted.
[0025] Figure 1 shows an example where System 1 includes one terminal device 10, but the number of terminal devices 10 included in System 1 is not limited to one. System 1 may include two or more terminal devices 10.
[0026] Figure 1 shows an example where System 1 includes one predictive model system 30, but the number of predictive model systems 30 included in System 1 is not limited to one. System 1 may include multiple predictive model systems 30 that perform different types of predictive models.
[0027] Figure 1 shows an example where the server 20 is independent of the prediction model system 30, but the server 20 may include the functions of the prediction model system 30. In other words, the server 20 may have the function of storing and executing the prediction model to be explained.
[0028] In this embodiment, a collection of multiple devices may be treated as a single server. The method of allocating the multiple functions required to implement the server 20 according to this embodiment to one or more hardware can be appropriately determined in view of the processing capacity of each hardware and / or the specifications required for the server 20.
[0029] The terminal device 10 shown in Figure 1 is an information processing device used by users who utilize the prediction result explanation service provided by the server 20. For example, the terminal device 10 is an information processing device operated by the user who transmits input images and structural information to the server 20 and receives and displays the information generated by the server 20. The terminal device 10 can be implemented as, for example, a stationary PC (Personal Computer), a laptop PC, a head-mounted display, etc. Alternatively, the terminal device 10 may be a portable computer such as a smartphone or a tablet device.
[0030] The terminal device 10 comprises a communication interface 12, an input device 13, an output device 14, memory 15, storage 16, and a processor 19. The input device 13 is a device (e.g., a touch panel, touchpad, mouse or other pointing device, keyboard, camera, etc.) for receiving input operations from the user (e.g., specifying an image to be explained, inputting parameters, etc.). The output device 14 is a device (e.g., a display, speaker, etc.) for presenting information (e.g., a generated importance map, etc.) to the user.
[0031] Server 20 is an information processing device that provides a service for generating importance maps to explain the prediction results of a prediction model for input images. Server 20 is an information processing device implemented, for example, by a computer connected to network 80. As shown in Figure 1, Server 20 includes a communication IF 22, an I / O IF 23, memory 25, storage 26, and a processor 29. The I / O IF 23 can function as an interface to an input device for receiving input operations from an administrator, etc., and to an output device for outputting the server status, etc. The main functions of Server 20 are realized by the processor 29 executing a program loaded into memory 25.
[0032] The prediction model system 30 is a system that runs a pre-trained prediction model that explains the prediction results. This prediction model is typically composed of a deep neural network or the like, and performs predictions related to image classification, object detection, or regression (e.g., predicting the effect of an advertising image). The prediction model system 30 receives a masked input image from the server 20, calculates predicted values (e.g., probability of class classification, regression value, etc.) for it, and returns them to the server 20.
[0033] Each information processing device consists of a computer equipped with an arithmetic unit and a memory device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by said hardware configuration will be described later. For each of the terminal device 10 and the server 20, explanations that overlap with the basic hardware configuration and basic functional configuration of the computer described later will be omitted.
[0034] <2. Configuration of terminal equipment> A functional configuration example of the terminal device 10 shown in Figure 2 will be described. As shown in Figure 2, the terminal device 10 includes a communication unit 120, an input device 13, an output device 14, an audio processing unit 17, a microphone 171, a speaker 172, a camera 160, a location information sensor 150, a storage unit 180, and a control unit 190. Each block included in the terminal device 10 is electrically connected, for example, by a bus.
[0035] The communication unit 120 performs processing such as modulation and demodulation processing for the terminal device 10 to communicate with other devices (e.g., server 20). The communication unit 120 performs transmission processing on signals generated by the control unit 190 (e.g., requests for explanation of prediction results, input image data, etc.) and transmits them to an external source (e.g., server 20). The communication unit 120 performs reception processing on signals received from an external source (e.g., importance map data transmitted from server 20, etc.) and outputs them to the control unit 190.
[0036] The input device 13 is a device for a user operating the terminal device 10 to input instructions or information. The input device 13 can be implemented, for example, by a touch-sensitive device 131 on which instructions are input by touching the operating surface. The user uses the input device 13 to specify the input image to be explained, input parameters to be used for explanation, and give instructions to start the explanation process. If the terminal device 10 is a PC, the input device 13 may be implemented by a reader, keyboard, mouse, etc. The input device 13 converts the instructions input by the user into electrical signals and outputs the electrical signals to the control unit 190. The input device 13 may also include, for example, a receiving port that accepts electrical signals input from an external input device.
[0037] The output device 14 is a device for presenting information to the user operating the terminal device 10. The output device 14 is implemented by, for example, a display 141. The display 141 displays data corresponding to the control of the control unit 190 (for example, the visualization result of the importance map received from the server 20). The display 141 is implemented by, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
[0038] The audio processing unit 17 performs, for example, digital-to-analog conversion of the audio signal. The audio processing unit 17 converts the signal received from the microphone 171 into a digital signal and provides the converted signal to the control unit 190. The audio processing unit 17 also provides the audio signal to the speaker 172. The audio processing unit 17 is implemented, for example, by an audio processing processor. The microphone 171 receives an audio input and provides the audio signal corresponding to that audio input to the audio processing unit 17. The speaker 172 converts the audio signal received from the audio processing unit 17 into audio and outputs the audio to the outside of the terminal device 10. These can be used, for example, to assist in application operation and notification of results.
[0039] Camera 160 is a device that receives light using a photodetector and outputs it as a shooting signal. Camera 160 may be used, for example, to capture an image containing an object for which the user wants to seek an explanation of the prediction results, and acquire it as an input image.
[0040] The location information sensor 150 is a sensor that detects the position of the terminal device 10, and is, for example, a GPS (Global Positioning System) module. A GPS module is a receiving device used in a satellite positioning system. In a satellite positioning system, signals are received from at least three or four satellites, and the current position of the terminal device 10, which is equipped with a GPS module, is detected based on the received signals. The location information sensor 150 may also detect the current position of the terminal device 10 from the position of the wireless base station to which the terminal device 10 is connected.
[0041] The storage unit 180 is implemented, for example, by memory 15 and storage 16, and stores data and programs used by the terminal device 10. The storage unit 180 stores, for example, the OS, application programs for using the prediction result explanation service, input image data, importance map data received from the server 20, etc. The storage unit 180 may also store, for example, user information 181.
[0042] User information 181 includes, for example, information about a user using terminal device 10. This user information includes, for example, the user's name, age, address, date of birth, contact information, login information, etc. This information may be used, for example, for authentication when using the service.
[0043] The control unit 190 is realized when the processor 19 reads a program stored in the memory unit 180 and executes instructions contained in the program. The control unit 190 controls the operation of the terminal device 10. By operating according to the program, the control unit 190 performs the functions of an operation reception unit 191, a transmission / reception unit 192, and a presentation control unit 193.
[0044] The operation reception unit 191 performs processing to receive instructions or information input from the input device 13. Specifically, for example, the operation reception unit 191 receives information such as the specification of the image to be explained, parameter settings, and processing start instructions input from the touch-sensitive device 131, etc.
[0045] Furthermore, the operation reception unit 191 can receive voice instructions input from the microphone 171. Specifically, for example, the operation reception unit 191 receives voice signals input from the microphone 171 and converted into digital signals by the voice processing unit 17. The operation reception unit 191 obtains instructions from the user by, for example, analyzing the received voice signals and recognizing predetermined commands.
[0046] The transmitting / receiving unit 192 performs processing to enable the terminal device 10 to send and receive data with external devices such as the server 20 in accordance with a communication protocol. Specifically, for example, the transmitting / receiving unit 192 transmits input image data and information related to explanation requests received from the user to the server 20 via the communication unit 120. The transmitting / receiving unit 192 also receives importance map data and the like transmitted from the server 20 via the communication unit 120.
[0047] The presentation control unit 193 controls the output device 14 in order to present information received from the server 20 to the user. Specifically, for example, the presentation control unit 193 processes the importance map data received from the server 20 and displays the visualization results on the display 141. In addition, it displays messages regarding the processing status and results on the display 141 or outputs them as audio from the speaker 172 as needed.
[0048] <3. Functional Configuration of the Server> A functional configuration example of the server 20 shown in Figure 3 will be described. As shown in Figure 3, the server 20 performs the functions of a communication unit 201, a storage unit 202, and a control unit 203.
[0049] The communication unit 201 performs processing to enable the server 20 to communicate with external devices (for example, terminal device 10, prediction model system 30).
[0050] The storage unit 202 is implemented, for example, by memory 25 and storage 26, and stores programs or data necessary for processing by the server 20. The storage unit 202 stores, for example, the prediction result explanation program according to the present invention, input image data received from the terminal device 10, structural information or mask image data generated during processing, predicted value data obtained from the prediction model system 30, generated importance map data, etc. If the server 20 includes the functions of the prediction model system 30, the prediction model itself may also be stored in the storage unit 202.
[0051] The control unit 203 is realized when the processor 29 reads a program (including the prediction result explanation program of the present invention) stored in the memory unit 202 and executes instructions contained in the program. By operating according to the program, the control unit 203 performs functions such as the reception control module 2031, the transmission control module 2032, the presentation control module 2033, the matrix definition module 2034, the mask input image creation module 2035, the importance calculation module 2036, and the prediction value calculation module 2037.
[0052] The receive control module 2031 controls the process by which the server 20 receives signals (e.g., input image data, explanation request) from an external device (e.g., terminal device 10) according to a communication protocol.
[0053] The transmission control module 2032 controls the process by which the server 20 transmits signals (e.g., importance map data) to an external device (e.g., terminal device 10) according to a communication protocol.
[0054] The presentation control module 2033 processes information to be transmitted to the terminal device 10 (for example, importance map data calculated by the importance calculation module 2036) into a format suitable for display on the terminal device 10, and controls the structure of the data to be transmitted.
[0055] The matrix definition module 2034 obtains structural information based on the received input image data and performs a process to define a multivariate Gaussian distribution covariance matrix based on pixel proximity and structural information.
[0056] The mask input image creation module 2035 generates multiple mask images based on the covariance matrix defined by the matrix definition module 2034, and applies them to the original input image to generate multiple mask input images.
[0057] The importance calculation module 2036 obtains predicted values from the prediction model system 30 using the mask input image generated by the mask input image creation module 2035, and calculates importance map data based on the obtained predicted values and the corresponding mask image. The importance calculation module 2036 also generates various forms of information to present to the user from this calculated importance map data. For example, it generates an importance map (heatmap image, etc.) that visualizes the importance map data, or generates a list of high-importance regions (for example, a list of average importance for each segment, or a list of top-priority segments, etc.).
[0058] The prediction value calculation module 2037 uses the calculated importance map data to perform further prediction calculations. For example, if the input image is an advertisement image, the prediction value calculation module 2037 calculates prediction values regarding the effectiveness of that advertisement (e.g., predicted CTR (Click-Through Rate) or predicted CVR (Conversion Rate)). However, the prediction value calculation module 2037 is not a required component.
[0059] <4.Operation> An example of the flow of the prediction result explanation process executed by the prediction result explanation system 1 in this embodiment will be described.
[0060] Figure 4 is a flowchart illustrating an example of the operation of the control unit 203 of the server 20 when it generates an importance map showing the basis for the prediction results of the prediction model for the input image, based on a request from the terminal device 10.
[0061] In step S1, the server 20 acquires structural information of the input image. Specifically, first the receiving control module 2031 receives the input image data and description request from the terminal device 10. Next, the matrix definition module 2034 acquires structural information (segmentation information, depth information, etc.) on the received input image by, for example, executing a known segmentation algorithm or depth estimation algorithm, or by using data provided from an external source. If the input image is an advertisement image, the structural information may include not only the area of the main subject but also each text area where advertisement-related captions, etc., are displayed, each identified as a separate segment. The matrix definition module 2034 stores the structural information in the storage unit 202.
[0062] In step S2, the server 20 defines a covariance matrix. Specifically, the matrix definition module 2034 defines a multivariate Gaussian distribution covariance matrix Σ based on the proximity between pixels of the input image and the structural information obtained in step S1. For example, a basic covariance matrix can be defined using an RBF kernel as shown in equation (1).
[0063]
number
[0064] Furthermore, the matrix definition module 2034 adjusts the covariance matrix Σ using the acquired structural information. When segmentation information is used as structural information, the matrix definition module 2034 obtains the adjusted covariance matrix Σ′ using, for example, equation (2) below, so that the covariance between pixels belonging to the same segment is high. If the input image is an advertisement image, for example, a covariance matrix Σ′ is obtained that is set so that the covariance between pixels within the same text area is high.
[0065]
number
[0066] In equation (2), α is a parameter that adjusts the weighting between the original covariance matrix Σ and the correction matrix S based on segment information, and takes a value between 0 and 1. In other words, α is a parameter that determines how much emphasis to place on "proximity between pixels" and "whether or not they belong to the same segment region" when defining the covariance matrix used for mask generation. The correction matrix S is an N×N matrix, where N is the total number of pixels in the input image. Each element of the matrix S ij (Shows the relationship between pixel i and pixel j) If pixel i and pixel j belong to the same segment area, S ij =1, and if pixel i and pixel j belong to different segment regions, S ij = 0 (or a small value close to 0). In other words, the correction matrix S is a matrix that strongly represents the relationship between pixels belonging to the same object or region (segment) (value to 1), and weakly represents the relationship between pixels belonging to different objects or regions (value to 0).
[0067] When using depth information, the covariance matrix Σ′ is defined using an extended RBF kernel, for example, using equation (3) below, so that the covariance between pixels with similar depths is high.
[0068]
number
[0069] In equation (3), K(λ,λ′) represents the covariance (kernel value) between pixel λ and pixel λ′. (λ-λ′) 2 d(λ)-d(λ′) is the square of the spatial distance (Euclidean distance) between pixels. d(λ) and d(λ′) are the depth values at pixels λ and λ′, respectively, and are usually normalized so that the maximum difference is 1. ((d(λ)-d(λ′)) 2 σ is the square of the absolute value of the depth difference between pixels. β is a positive parameter that adjusts the degree of influence of the depth difference. The larger β is, the greater the influence of the depth difference. 2 This parameter adjusts the overall width (range of influence) of the kernel.
[0070] In this embodiment, it is also possible to define the covariance matrix Σ′ by considering both segmentation information and depth information as structural information. In this case, for example, Σ′ is defined by combining the covariance matrix Σ defined in equation (1), the correction matrix S in equation (2), and the covariance matrix defined by the extended RBF kernel in equation (3). The method of combination is not particularly limited, and multiplication, sequential application, or weighted sum can be applied. The matrix definition module 2034 stores the defined covariance matrix in, for example, the storage unit 202.
[0071] In step S3, the server 20 generates a plurality of mask images. The mask images generated here play a role like a "pattern" or "instruction manual" for which part of the input image to hide or modify in subsequent step S4, and they are themselves data different from the original input image. Specifically, the mask input image creation module 2035 performs sampling a plurality of times (M times) from the multivariate Gaussian distribution N(0,Σ′) having the covariance matrix Σ′ defined in step S2, and obtains a vector M that is the basis of the mask as a result of each sampling. raw That is, according to the probabilistic rule of the multivariate Gaussian distribution N(0,Σ′), the vector M that is the basis of the mask is randomly generated. raw Next, for each sampling result M raw , the mask input image creation module 2035 applies the sigmoid function σ to convert the value of each element into the range of [0,1], and generates a continuous-valued mask image M. This conversion normalizes the real-valued obtained from the Gaussian distribution to values in the range of [0,1] that can be used as a mask by applying a scaling coefficient a (e.g., a = 2) and an offset b (e.g., b = 0) to each element of M raw and then applying the sigmoid function, as shown in the following formula (4) for example.
[0072]
Number
[0073] The mask input image creation module 2035 stores the generated M mask images {m1, m2, …, m k , …, mM} (k is any integer from 1 to M) in, for example, the storage unit 202.
[0074] In step S4, the server 20 generates a plurality of mask input images. Specifically, the mask input image creation module 2035 calculates, for example, the Hadamard product (product for each element) for the original input image I and each mask image m k generated in step S3, to obtain a mask input image Im kThis generates the following: each pixel value of the input image I and the corresponding mask image m. k By multiplying each element value (a value between 0 and 1) by the mask input image Im, a mask input image is created in which a portion of the input image is attenuated (masked) according to the value of the mask image. k The following is generated. The mask input image creation module 2035 generates M mask input images {Im1, Im2, ..., Im k ,…,Im M The value (where k is an integer from 1 to M) is stored, for example, in the memory unit 202.
[0075] In step S5, the server 20 obtains a predicted value for each mask input image. Specifically, the importance calculation module 2036 obtains a predicted value for each mask input image Im generated in step S4. k This is input to a prediction model system 30 (running a trained prediction model f) either inside or outside the server 20, and the corresponding predicted value y is input. k =f(Im k ) is obtained. If the input image is an advertisement image, the prediction model f is a prediction model that has been trained to predict the effect of the advertisement image (e.g., click-through rate or conversion rate, visual attractiveness, etc.). If the prediction model system 30 is located externally, the importance calculation module 2036 communicates via the transmission control module 2032 and the reception control module 2031.
[0076] In step S6, the server 20 calculates an importance map showing the importance of each input image. Specifically, the importance calculation module 2036 calculates the importance of each predicted value y obtained in step S5. k and the corresponding mask image m k Based on this, an importance map S is calculated, which shows the importance of each pixel (or region) in the original input image I for prediction, for example, by training a local linear model or calculating Shapley values. The calculated importance map is stored in, for example, a storage unit 202, and then transmitted to the requesting terminal device 10 by a transmission control module 2032.
[0077] In step S7, the server 20 processes the calculated importance map S for transmission to the terminal device 10. Specifically, the presentation control module 2033 processes the importance map S into a format suitable for display on the output device 14 of the terminal device 10. For example, the presentation control module 2033 configures a data structure for display, or adds display instruction information, so that the importance map S is superimposed as a heatmap on the original input image I, or the original input image I and the importance map S are displayed side by side, and transmits it to the terminal device 10 via the transmission control module 2032. The control unit 190 (specifically the presentation control unit 193) of the terminal device 10 displays the importance map S received from the server 20 on the output device 14 (e.g., display 141). This allows the user to visually confirm the basis for the prediction model's predictions while comparing it with the original input image.
[0078] In step S8, the server 20 may calculate further predicted values using the importance map S calculated in step S6. For example, if the input image is an advertisement image, the prediction value calculation module 2037 uses the distribution or value of importance of specific areas (e.g., text area, product area, etc.) in the importance map S as features to calculate predicted values regarding the effectiveness of the advertisement (e.g., click-through rate, conversion rate, etc.). The prediction value calculation module 2037 inputs features such as the distribution of importance into a prediction model that has learned the relationship between "features extracted from the importance map" and "actual advertisement effectiveness," and outputs the effectiveness of the advertisement for the input image as a predicted value. Examples of predicted values include predicted CTR or predicted CVR. The prediction value calculation module 2037 transmits the predicted values to the terminal device 10 via the transmission control module 2032. Step S8 is an arbitrary flow.
[0079] This flow assumes the presentation of an importance map as information indicating importance. However, other forms of information indicating importance can also be presented, such as outputting a list of highly important areas. This list can be created by, for example, dividing an image into meaningful areas (segments), calculating the average importance of pixels within each segment, and presenting that average in list format. Specifically, it could be presented in a format such as "Background area: 0.2, Product A: 0.8, Text area 1: 0.7". Furthermore, after calculating the importance (e.g., average) for each segment, it is also possible to sort them in descending order of importance and output a "List of Top Important Segments" listing the top few segments (e.g., top 3, top 5, etc.). This makes it possible to concisely grasp the areas that the predictive model is particularly focusing on.
[0080] <5. Screen example> This disclosure describes an example of a screen displayed on the display 141 of the terminal device 10.
[0081] Figure 5 shows an example of a screen for specifying the input image for which an explanation of the prediction results is requested, or for setting parameters (e.g., σ, α, β, etc.) related to the definition of the covariance matrix and mask generation.
[0082] Area 1411 is an area for displaying or specifying the input image to be explained. The user sets the input image in this area by, for example, selecting an image file from the storage unit 180 using the "Select File" button, or by taking a new image using the camera 160. Although not shown in the illustration, the set input image may be displayed as a preview in this area.
[0083] Area 1412 is an area for setting parameters related to the generation of prediction result explanations. For example, it may contain a pull-down menu for selecting the prediction model to be explained, checkboxes for selecting the type of structural information to use (e.g., "segmentation information", "depth information"), sliders or input boxes for adjusting parameters, etc. By adjusting these parameters, the user can change, for example, the degree to which structural information is emphasized (adjustment of α), the degree to which depth difference has an influence (adjustment of β), or the basic smoothness or influence range of the mask (adjustment of σ), and the characteristics of the generated mask image may change accordingly. As a result, the granularity of the final importance map, or its ability to follow the structure, can also be changed.
[0084] Button 1413 is an execution button that requests the server 20 to generate an importance map based on the configured input image and parameters. When the user presses this button, the transmitting / receiving unit 192 of the control unit 190 sends a request to the server 20 that includes the input image data or configured parameters.
[0085] Figures 6 and 7 are examples of screens displaying explanations (importance maps) of prediction results received from server 20. The examples in Figures 6 and 7 show cases where an advertisement image including text overlays is used as the input image. As shown in Figures 6 and 7, the advertisement image includes multiple text areas along with the main subject (e.g., cosmetic bottles and cream containers).
[0086] In Figure 6, area 1414 displays the original input image used as input. In area 1415, the importance map calculated by the server 20 and received by the transmitting / receiving unit 192 is displayed alongside the input image. In the example in Figure 6, the input image and importance map are displayed side by side, but they may also be displayed side by side. In addition, in area 1416 of Figure 7, the importance map is superimposed on the original input image. The importance map indicates the level of importance of each area by the intensity of color or brightness, etc. In this example, it can be visually confirmed that both the product area and the text area have high importance. Note that, for the sake of explanation, the importance maps in Figures 6 and 7 show a simplified representation of the importance of the main structural elements, namely the product and text areas, which were determined to have high importance. In reality, a more detailed and continuous distribution of importance can be represented within and along the boundaries of the areas, for example, in the form of a heat map.
[0087] The importance map in this embodiment does not simply show vaguely the areas that the AI has focused on, but rather reflects the structural information of the input image (for example, the boundaries between the subject and text areas). As a result, as shown in area 1415 in Figure 6 and area 1416 in Figure 7, importance is clearly visualized along the contours of specific structures such as cosmetic bottles and text areas, making it easier to grasp the degree of contribution at the structural unit level, which was difficult with conventional methods using random masks. In the examples in Figures 6 and 7, importance can be represented for both the product area and the text area in a way that follows the contours of each area.
[0088] <6.Summary> As described above, according to System 1 of the first embodiment, a multivariate Gaussian distribution covariance matrix is defined by simultaneously considering the structural information of the input image and the proximity between pixels, and a mask image reflecting the image structure can be generated by sampling from that distribution. Then, by calculating information indicating importance based on these mask images and the output of the prediction model, the basis for the prediction model can be presented in a way that reflects the structural characteristics of the image. This improves the accuracy of visualizing the basis for the prediction model's predictions.
[0089] Furthermore, in the first embodiment, if the structural information includes both segmentation information and depth information of the input image, in step S2 (the step of defining the covariance matrix), the covariance matrix is defined considering both the segmentation information and depth information. In this case, a more detailed structure-based importance map can be generated that considers both the region and depth of the object.
[0090] Furthermore, in the first embodiment, when the input image is an advertisement image, it is possible to visualize the degree to which not only the main subject such as the product image, but also the text area such as captions within the advertisement has an influence on the prediction results of the advertising effect, etc., by distinguishing it from other areas, and to obtain useful insights for improving the advertising creative.
[0091] <Basic Computer Hardware Configuration> Figure 8 is a block diagram showing the basic hardware configuration of computer 90. Computer 90 includes at least a processor 901, main memory 902, auxiliary storage 903, and a communication interface IF991. These are electrically connected to each other by a communication bus.
[0092] The processor 901 is hardware for executing the instruction set written in a program. The processor 901 consists of an arithmetic unit, registers, peripheral circuits, etc.
[0093] Main memory 902 is used to temporarily store programs and data processed by programs, etc. For example, it is a volatile memory such as DRAM (Dynamic Random Access Memory).
[0094] Auxiliary storage device 903 refers to a storage device for saving data and programs. Examples include flash memory, HDD (Hard Disc Drive), magneto-optical disk, CD-ROM, DVD-ROM, and semiconductor memory.
[0095] The IF991 communication interface is an interface for inputting and outputting signals for communication with other computers via a network using wired or wireless communication standards. A network consists of various mobile communication systems, such as the internet, LANs, and wireless base stations. For example, a network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks that can connect to the internet via designated access points (e.g., Wi-Fi®). When connecting wirelessly, communication protocols include, for example, Z-Wave®, ZigBee®, and Bluetooth®. When connecting via a wired connection, the network also includes connections made directly via USB (Universal Serial Bus) cables, etc.
[0096] Furthermore, by distributing all or part of each hardware configuration across multiple computers 90 and connecting them to each other via a network, a computer 90 can be virtually realized. Thus, the concept of computer 90 includes not only a computer 90 housed in a single enclosure or case, but also a virtualized computer system.
[0097] <Basic Functional Configuration of Computer 90> The functional configuration of the computer realized by the basic hardware configuration of computer 90 (Figure 8) will be explained. The computer comprises at least one functional unit: a control unit, a memory unit, and a communication unit.
[0098] Furthermore, the functional units of computer 90 can also be realized by distributing all or part of each functional unit across multiple computers 90 interconnected via a network. The term "computer 90" is a concept that includes not only a single computer 90 but also a virtualized computer system.
[0099] The control unit is realized when the processor 901 reads various programs stored in the auxiliary storage device 903, loads them into the main memory device 902, and executes processing according to those programs. The control unit can realize various functional units that perform information processing depending on the type of program. In this way, the computer is realized as an information processing device that performs information processing.
[0100] The memory unit is implemented by the main memory 902 and the auxiliary memory 903. The memory unit stores data, various programs, and various databases. The processor 901 can also reserve memory areas corresponding to the memory unit in the main memory 902 or the auxiliary memory 903 according to the program. The control unit can also cause the processor 901 to perform operations such as adding, updating, and deleting data stored in the memory unit according to the various programs.
[0101] A database, specifically a relational database, is used to manage and link together tabular data sets called masters, which are structurally defined by rows and columns. In a database, tables are called tables, masters are called masters, the columns of tables are called columns, and the rows of tables are called records. In a relational database, relationships can be established and linked between tables and masters. Typically, each table and master has a primary key column to uniquely identify records, but setting a primary key column is not mandatory. The control unit can instruct the processor 901 to add, delete, or update records in specific tables and masters stored in the memory unit, according to various programs. Furthermore, by storing data, various programs, and various databases in the memory unit, the information processing device and information processing system related to this disclosure can be considered to have been manufactured.
[0102] Furthermore, the databases and masters in this disclosure may include any data structures (lists, dictionaries, associative arrays, objects, etc.) in which information is structurally defined. Data structures also include data that can be considered as data structures by combining data with functions, classes, methods, etc. written in any programming language.
[0103] The communication unit is implemented by the communication IF991. The communication unit provides the functionality to communicate with other computers 90 via the network. The communication unit can receive information transmitted from other computers 90 and input it to the control unit. The control unit can cause the processor 901 to perform information processing on the received information according to various programs. The communication unit can also transmit information output from the control unit to other computers 90.
[0104] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, in whole or in part, for example, by designing them as integrated circuits. The present invention can also be implemented by software program code that realizes the functions of the embodiment. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiment described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, etc.
[0105] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, and Java (registered trademark).
[0106] Furthermore, the program code for the software that implements the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium.
[0107] The functions realized by the components described herein may be implemented in a circuit or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the functions described herein. A processor is considered a circuit or processing circuitry, including transistors and other circuits. A processor may be a programmed processor that executes a program stored in memory. In this specification, circuitry, unit, and means are hardware programmed to perform or execute the functions described herein. Such hardware may be any hardware disclosed herein, or any hardware known to be programmed to perform or execute the functions described herein. If the hardware is a processor that is considered to be a type of circuitry, then the circuitry, means, or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0108] While several embodiments of this disclosure have been described above, these embodiments can be implemented in a variety of other forms, and various omissions, substitutions, and modifications are permitted without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.
[0109] (Note) The details described in each of the above embodiments are noted below.
[0110] (Note 1) A program for operating a computer comprising a processor and memory, wherein the program is configured to operate the processor, Steps include obtaining structural information of the input image, The steps include defining a covariance matrix of a multivariate Gaussian distribution based on the proximity between pixels in the input image and the structural information, The steps include generating multiple mask images by sampling from a multivariate Gaussian distribution having the defined covariance matrix, The steps include: applying each of the generated mask images to the input image to generate a plurality of mask input images; A step of obtaining predicted values for each of the mask input images using a prediction model, A step of calculating information indicating importance in the input image based on each of the obtained predicted values and each of the corresponding mask images, A step of presenting information indicating the calculated importance, A program that executes the command. (Note 2) The program described in <Appendix 1> is an importance map that visualizes the importance of each pixel, where the information indicating the aforementioned importance is the importance map. (Note 3) The program described in <Appendix 1> or <Appendix 2> includes at least one of the segmentation information or depth information of the input image. (Note 4) The program described in <Appendix 3>, wherein in the step of defining the covariance matrix, the covariance matrix is defined such that the covariance between pixels belonging to the same segment region in the input image or between pixels having a similar depth is high. (Note 5) A program according to any one of <Appendix 1> to <Appendix 4>, wherein the structural information includes the segmentation information, and the segmentation information includes information indicating a text display area in the input image. (Note 6) The structural information includes both segmentation information and depth information of the input image. A program according to any of <Appendix 1> to <Appendix 5>, wherein in the step of defining the covariance matrix, the covariance matrix is defined taking into account both the segmentation information and the depth information. (Note 7) A program according to any of <Appendix 2> to <Appendix 6> that, in the steps described above, displays on a display device either superimposed on the input image or alongside the input image. (Note 8) The program described in any of the <Appendix 1> to <Appendix 7> further causes the processor to perform the step of calculating a predicted value regarding the effectiveness of the advertisement using the information indicating the calculated importance. (Note 9) An information processing device comprising a processor and memory, An information processing device in which the processor executes all steps in the program described in any of the appendices 1 to 8. (Note 10) A method to be performed on a computer having a processor and memory, A method by which the processor executes all steps in the program described in any of the appendices 1 to 8. (Note 11) A system comprising means for executing all steps in a program described in any of the <Appendix 1> to <Appendix 8>. [Explanation of Symbols]
[0111] 1... System 10…Terminal device 120... Communications Department 13…Input device 14…Output device 15…Memory 16…Storage 19… Processor 20... Server 22...Communication IF 23…Input / Output Interface 25…Memory 2 hours… storage 29… Processor 30…Predictive model system
Claims
1. A program for operating a computer comprising a processor and memory, wherein the program is configured to operate the processor, Steps include obtaining structural information of the input image, The steps include defining a covariance matrix of a multivariate Gaussian distribution based on the proximity between pixels in the input image and the structural information, The steps include generating multiple mask images by sampling from a multivariate Gaussian distribution having the defined covariance matrix, The steps include: applying each of the generated mask images to the input image to generate a plurality of mask input images; A step of obtaining predicted values for each of the mask input images using a prediction model, A step of calculating information indicating the importance of identifying the region that the prediction model focused on when making a decision in the input image, based on each of the acquired predicted values and the corresponding mask images, A program to perform the steps of presenting information indicating the calculated importance.
2. The program according to claim 1, wherein the information indicating importance is an importance map that visualizes the importance of each pixel in the input image.
3. The program according to claim 1, wherein the structural information includes at least one of segmentation information or depth information of the input image.
4. The program according to claim 1, wherein in the step of defining the covariance matrix, the covariance matrix is defined such that the covariance between pixels belonging to the same segment region in the input image or between pixels having a similar depth is high.
5. The program according to claim 3, wherein the structural information includes the segmentation information, and the segmentation information includes information indicating a text display area in the input image.
6. The structural information includes both segmentation information and depth information of the input image. The program according to claim 1, wherein in the step of defining the covariance matrix, the covariance matrix is defined taking into consideration both the segmentation information and the depth information.
7. The program according to claim 2, wherein in the steps described above, the importance map is displayed superimposed on the input image, or displayed on a display device alongside the input image.
8. The program according to claim 1, further comprising the step of causing the processor to calculate a predicted value regarding the effectiveness of an advertisement using the information indicating the calculated importance.
9. An information processing device comprising a processor and memory, An information processing apparatus wherein the processor performs all steps in the program described in any one of claims 1 to 8.
10. A method to be performed on a computer having a processor and memory, A method by which the processor performs all steps in the program described in any one of claims 1 to 8.
11. A system comprising means for performing all steps in a program according to any one of claims 1 to 8.
Citation Information
Patent Citations
Explainable visual attention for deep learning
JP2025069057A
Target detection model saliency map generation method and system based on hierarchical mask
CN117911559A