WO2021084590A1 - 学習方法、学習プログラム、および学習装置 - Google Patents
学習方法、学習プログラム、および学習装置 Download PDFInfo
- Publication number
- WO2021084590A1 WO2021084590A1 PCT/JP2019/042225 JP2019042225W WO2021084590A1 WO 2021084590 A1 WO2021084590 A1 WO 2021084590A1 JP 2019042225 W JP2019042225 W JP 2019042225W WO 2021084590 A1 WO2021084590 A1 WO 2021084590A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- feature vector
- learning
- impression
- learning device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
Definitions
- the present invention relates to a learning method, a learning program, and a learning device.
- This technique may be used, for example, to estimate what kind of impression a person will receive when viewing an image created as an advertisement, and to improve the appeal effect.
- Prior art includes, for example, filtering the entire image, creating a feature vector and an attention map, and estimating the impression of the image using the created feature vector and the attention map.
- the filtering process is performed by, for example, CNN (Convolutional Neural Network).
- the present invention aims to learn a model that can accurately estimate the impression of an image.
- an image is acquired, a first feature vector relating to the entire image is extracted from the acquired image, and a second feature vector relating to the object is extracted and extracted from the acquired image.
- the first feature vector is combined with the extracted second feature vector to generate a third feature vector, and the generated third feature vector is associated with a label indicating the impression of the image.
- a learning method, a learning program, and a learning device for learning a model that outputs a label indicating an impression corresponding to the input feature vector are proposed.
- FIG. 1 is an explanatory diagram showing an embodiment of a learning method according to an embodiment.
- FIG. 2 is an explanatory diagram showing an example of the impression estimation system 200.
- FIG. 3 is a block diagram showing a hardware configuration example of the learning device 100.
- FIG. 4 is a block diagram showing a functional configuration example of the learning device 100.
- FIG. 5 is an explanatory diagram showing an example of a learning image associated with a label anger showing an impression.
- FIG. 6 is an explanatory diagram showing an example of a learning image associated with a label disgust indicating an impression.
- FIG. 7 is an explanatory diagram showing an example of a learning image associated with a label fear indicating an impression.
- FIG. 8 is an explanatory diagram showing an example of a learning image associated with a label joy indicating an impression.
- FIG. 9 is an explanatory diagram showing an example of a learning image associated with a label sadness indicating an impression.
- FIG. 10 is an explanatory diagram showing an example of a learning image associated with a label surrise indicating an impression.
- FIG. 11 is an explanatory diagram (No. 1) showing an example of learning the model.
- FIG. 12 is an explanatory diagram (No. 2) showing an example of learning the model.
- FIG. 13 is an explanatory diagram (No. 3) showing an example of learning the model.
- FIG. 14 is an explanatory diagram (No. 4) showing an example of learning the model.
- FIG. 15 is an explanatory diagram (No. 5) showing an example of learning the model.
- FIG. 16 is an explanatory diagram (No. 6) showing an example of learning the model.
- FIG. 17 is an explanatory diagram (No. 7) showing an example of learning the model.
- FIG. 18 is an explanatory diagram (No. 8) showing an example of learning the model.
- FIG. 19 is an explanatory diagram showing an example of estimating the impression of the target image.
- FIG. 20 is an explanatory diagram showing a display example of a label showing an impression of the target image.
- FIG. 21 is a flowchart showing an example of the learning processing procedure.
- FIG. 22 is a flowchart showing an example of the estimation processing procedure.
- FIG. 1 is an explanatory diagram showing an embodiment of a learning method according to an embodiment.
- the learning device 100 is a computer capable of generating learning data used when learning a model for estimating the impression of an image and learning a model for estimating the impression of an image based on the learning data. is there.
- the first method of estimating the impression that a person receives when he / she sees an image of a person's face can be considered by using AU (Action Unit).
- AU Application Unit
- the first method it is not possible to estimate the impression that a person receives when he / she sees an image that does not show a person's face, such as a natural painting or a landscape painting.
- the first method may not be applicable to the field of advertising because the impression of an image created as an advertisement cannot be estimated without showing a human face.
- the first method has a low robustness regarding how a person's face appears on the image. For example, when the person's face on the image is sideways, the impression of the image is improved as compared with the case where the person's face is facing forward. It becomes difficult to estimate accurately.
- the entire image is filtered, a feature vector and an attention map are created, and the impression of the image is estimated using the created feature vector and the attention map.
- a second method can be considered.
- the filtering process is performed by, for example, CNN.
- the impression received from a part of the image is not taken into consideration. It is difficult to accurately estimate what kind of impression a person will get when he sees an image.
- a multimodal third method for estimating the impression of an image using various sensor data in addition to the image can be considered.
- a third method for example, in addition to the image, it is conceivable to estimate the impression of the image by using the sound at the time of taking the image or a sentence such as a caption given to the image. The third method cannot be realized unless various sensor data other than the image can be acquired.
- a fourth method for estimating the impression of an image using time-series data related to the image can be considered. Similar to the third method, the fourth method cannot be realized unless the time series data can be acquired.
- the learning device 100 acquires the image 101.
- the learning device 100 acquires, for example, the image 101 associated with a label indicating the impression of the image 101.
- Labels that give an impression are, for example, anger, disgust, fear, joy, sadness, surprise, and the like.
- the learning device 100 extracts the first feature vector 111 related to the entire image 101 from the acquired image 101.
- the first feature vector 111 is extracted, for example, by CNN. A specific example of extracting the first feature vector 111 will be described later with reference to, for example, FIGS. 11 to 18.
- the learning device 100 extracts the second feature vector 112 related to the object from the acquired image 101.
- the learning device 100 detects, for example, a portion of the acquired image 101 in which the object is captured, and extracts a second feature vector 112 relating to the object from the detected portion.
- a specific example of extracting the second feature vector 112 will be described later with reference to, for example, FIGS. 11 to 18.
- the learning device 100 combines the extracted first feature vector 111 and the extracted second feature vector 112 to generate a third feature vector 113.
- the learning device 100 generates the third feature vector 113 by, for example, combining the first feature vector 111 with the second feature vector 112.
- the order of connecting the first feature vector 111 and the second feature vector 112 either the first feature vector 111 or the second feature vector 112 may come first.
- a specific example of generating the third feature vector 113 will be described later with reference to, for example, FIGS. 11 to 18.
- the learning device 100 learns the model based on the learning data in which the generated third feature vector 113 is associated with the label indicating the impression of the image 101.
- the model outputs a label indicating the impression corresponding to the input feature vector.
- the learning device 100 generates learning data by associating the generated third feature vector 113 with a label indicating the impression of the image 101 associated with the acquired image 101, and based on the generated learning data. And learn the model. Specific examples of learning the model will be described later with reference to FIGS. 11 to 18, for example.
- the learning device 100 can learn a model capable of accurately estimating the impression of the image.
- the learning device 100 can easily secure the robustness of an image such as a natural painting or a landscape painting in which a human face is not shown, and can also be used for an image such as a natural painting or a landscape painting in which the human face is not shown. It is possible to learn a model that can accurately estimate the impression of an image. Further, the learning device 100 can learn the model so that the impression of a part of the image can be taken into consideration in addition to the impression of the whole image, for example. Further, the learning device 100 can improve the accuracy of estimating the impression of the image by the learned model, and can easily bring the accuracy of estimating the impression of the image closer to the practical accuracy.
- the learning device 100 may acquire an image to be the target for estimating the impression.
- an image for which an impression is estimated may be referred to as a “target image”.
- the learning device 100 may estimate the impression of the acquired target image by using the learned model.
- the learning device 100 extracts a fourth feature vector related to the entire target image and a fifth feature vector related to an object from the target image, and combines the fourth feature vector and the fifth feature vector. Generate a sixth feature vector. Then, the learning device 100 inputs the generated sixth feature vector into the learned model, and acquires a label indicating the impression of the target image.
- a label indicating the impression of the target image A specific example of acquiring a label indicating the impression of the target image will be described later with reference to, for example, FIG.
- the learning device 100 can accurately estimate the impression of the target image. For example, when estimating the impression of the target image, the learning device 100 can easily consider the impression of a part of the target image in addition to the overall impression of the target image, and can accurately estimate the impression of the target image. .. Further, the learning device 100 can accurately estimate the impression of a target image such as a natural image or a landscape image in which a human face is not shown. Further, the learning device 100 can accurately estimate the impression of the target image even if it is not possible to acquire various sensor data, time series data, and the like in addition to the target image.
- the learning device 100 may generate a plurality of learning data based on the plurality of images 101, and may train the model based on the generated plurality of learning data. At this time, the learning device 100 can learn a model capable of accurately estimating the impression of the image 101 even if the learning data is small.
- the learning device 100 learns the model based on the learning data
- the present invention is not limited to this.
- the learning device 100 may transmit the learning data to another computer.
- another computer that has received the training data will train the model based on the received training data.
- FIG. 2 is an explanatory diagram showing an example of the impression estimation system 200.
- the impression estimation system 200 includes a learning device 100 and one or more client devices 201.
- the learning device 100 and the client device 201 are connected via a wired or wireless network 210.
- the network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.
- the learning device 100 acquires an image for learning the model.
- an image for learning a model may be referred to as a "learning image”.
- the learning device 100 acquires, for example, by reading one or more learning images from a detachable recording medium. Further, the learning device 100 may acquire, for example, one or more learning images by receiving them via a network. Further, the learning device 100 may acquire, for example, by receiving one or more learning images from the client device 201. Further, the learning device 100 may acquire, for example, one or more learning images based on the operation input of the user of the learning device 100.
- the learning device 100 generates learning data based on the acquired learning image, and learns the model based on the generated learning data. After that, the learning device 100 acquires the target image.
- the target image may be, for example, one image included in the moving image.
- the learning device 100 acquires, for example, by receiving the target image from the client device 201. Further, the learning device 100 may acquire, for example, the target image based on the operation input of the user of the learning device 100.
- the learning device 100 acquires and outputs a label indicating the impression of the acquired target image by using the learned model.
- the output destination is, for example, the client device 201.
- the output destination may be, for example, the display of the learning device 100.
- the learning device 100 is, for example, a server, a PC (Personal Computer), or the like.
- the client device 201 is a computer capable of communicating with the learning device 100.
- the client device 201 acquires the target image. For example, the client device 201 acquires the target image based on the operation input of the user of the client device 201.
- the client device 201 transmits the acquired target image to the learning device 100.
- the client device 201 receives a label indicating the impression of the acquired target image from the learning device 100.
- the client device 201 outputs a label indicating the impression of the received target image.
- the output destination is, for example, the display of the client device 201.
- the client device 201 is, for example, a PC, a tablet terminal, a smartphone, or the like.
- the learning device 100 is a device different from the client device 201 has been described, but the present invention is not limited to this.
- the learning device 100 may also be able to operate as the client device 201.
- the impression estimation system 200 does not have to include the client device 201.
- the learning device 100 generates learning data, learns a model, and acquires a label indicating an impression of a target image
- the present invention is not limited to this.
- a plurality of devices may collaborate to share a process of generating learning data, a process of learning a model, and a process of acquiring a label indicating an impression of a target image.
- the learning device 100 transmits the learned model to the client device 201, the client device 201 acquires the target image, and the received model is used to acquire a label indicating the impression of the acquired target image. And output in some cases.
- the output destination is, for example, the display of the client device 201. In this case, the learning device 100 does not have to acquire the target image, and the client device 201 does not have to transmit the target image to the learning device 100.
- impression estimation system 200 For example, in order to estimate what kind of impression a person will have when viewing an image created as an advertisement, and to realize a service that makes it easier for the image creator to improve the appealing effect of the advertisement. It is conceivable that the impression estimation system 200 will be used. In this case, the client device 201 is used by the creator of the image.
- the client device 201 acquires the image created as an advertisement based on the operation input of the image creator and transmits it to the learning device 100.
- the learning device 100 uses the learned model to acquire a label indicating the impression of the image created as an advertisement and transmits it to the client device 201.
- the client device 201 displays a label indicating the impression of the image created as the received advertisement on the display of the client device 201 so that the creator of the image can grasp it.
- the image creator determines whether or not the image created as an advertisement gives the person who sees the advertisement the impression that the image creator expected, and aims to improve the appealing effect of the advertisement. be able to.
- the impression estimation system 200 is used to estimate what kind of impression a person will have when viewing a website, and to realize a service that makes it easier for the creator of the website to design the website. It is possible that it will be done.
- the client device 201 is used by the creator of the website.
- the client device 201 acquires an image of the website based on the operation input of the creator of the website and transmits it to the learning device 100.
- the learning device 100 uses the learned model to acquire a label indicating the impression of the image of the website and transmits it to the client device 201.
- the client device 201 displays a label indicating the impression of the image of the received website on the display of the client device 201 so that the creator of the website can grasp it. This allows the website creator to determine if the website gives the viewer the impression that the website creator envisioned, and how to design the website. Can be examined.
- impression estimation system 200 (Part 3) For example, in order to estimate what kind of impression a person will have when looking at an image of an office space, and to realize a service that makes it easier for workers who design the office space to design the office space. It is conceivable that the impression estimation system 200 is used. In this case, the client device 201 is used by the worker who designs the office space.
- the client device 201 acquires an image of the designed office space based on the operator's operation input and transmits it to the learning device 100.
- the learning device 100 uses the learned model to acquire a label indicating the impression of an image showing the office space after design, and transmits the label to the client device 201.
- the client device 201 displays a label indicating the impression of the received image of the office space after the design on the display of the client device 201 so that the operator can grasp it. In this way, the worker determines whether or not the office space gives the visitor of the office space the impression that the worker expected, and considers how it is preferable to design the office space. Can be done.
- impression estimation system 200 For example, an image seller automatically associates an image registered in a database with a label indicating the impression of the image, and realizes a service in which an image purchaser searches for an image having a specific impression. Therefore, it is conceivable that the impression estimation system 200 is used. In this case, some client devices 201 are used by the image seller. Also, some client devices 201 are used by image purchasers.
- the client device 201 used by the image seller acquires the image to be sold based on the operation input of the image seller and transmits it to the learning device 100.
- the learning device 100 uses the learned model to acquire a label indicating the impression of the acquired image.
- the learning device 100 associates the acquired image with a label indicating the impression of the acquired image and registers it in the database of the learning device 100.
- the client device 201 used by the image purchaser acquires a label indicating the impression of the image as a search condition based on the operation input of the image purchaser, and transmits it to the learning device 100.
- the learning device 100 searches the database for an image associated with a label indicating the impression of the received image, and transmits the found image to the client device 201 used by the purchaser of the image.
- the client device 201 used by the image purchaser displays the received image on the display of the client device 201 used by the image purchaser so that the image purchaser can grasp it.
- the purchaser of the image can refer to the image giving a desired impression, and can use it for the cover of a book, the decoration of the case, the material, or the like.
- images may be distributed free of charge.
- the seller of the image may be able to register a keyword in addition to the label indicating the impression of the image, and the purchaser of the image may use the keyword in addition to the label indicating the impression of the image. May be searchable.
- FIG. 3 is a block diagram showing a hardware configuration example of the learning device 100.
- the learning device 100 includes a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Further, each component is connected by a bus 300.
- the CPU 301 controls the entire learning device 100.
- the memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and RAM is used as a work area of CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded process.
- the network I / F 303 is connected to the network 210 through a communication line, and is connected to another computer via the network 210. Then, the network I / F 303 controls the internal interface with the network 210 and controls the input / output of data from another computer.
- the network I / F 303 is, for example, a modem or a LAN adapter.
- the recording medium I / F 304 controls data read / write to the recording medium 305 according to the control of the CPU 301.
- the recording medium I / F 304 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like.
- the recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304.
- the recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, or the like.
- the recording medium 305 may be detachable from the learning device 100.
- the learning device 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like, in addition to the above-described components. Further, the learning device 100 may have a plurality of recording media I / F 304 and recording media 305. Further, the learning device 100 does not have to have the recording medium I / F 304 or the recording medium 305.
- FIG. 4 is a block diagram showing a functional configuration example of the learning device 100.
- the learning device 100 includes a storage unit 400, an acquisition unit 401, a first extraction unit 402, a second extraction unit 403, a generation unit 404, a classification unit 405, and an output unit 406.
- the second extraction unit 403 includes, for example, a detection unit 411 and a conversion unit 412.
- the storage unit 400 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 shown in FIG.
- a storage area such as the memory 302 or the recording medium 305 shown in FIG.
- the storage unit 400 may be included in a device different from the learning device 100, and the stored contents of the storage unit 400 may be referred to by the learning device 100.
- the acquisition unit 401 to the output unit 406 function as an example of the control unit.
- the acquisition unit 401 to the output unit 406 may be, for example, by causing the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, or the network I / F 303. To realize the function.
- the processing result of each functional unit is stored in a storage area such as the memory 302 or the recording medium 305 shown in FIG. 3, for example.
- the storage unit 400 stores various information referred to or updated in the processing of each functional unit.
- the storage unit 400 stores a model that outputs a label indicating the impression of the image corresponding to the input feature vector.
- the model is, for example, SVM (Support Vector Machine).
- the model may be, for example, a tree-structured network.
- the model may be, for example, a mathematical formula.
- the model may be, for example, a neural network.
- the model is referenced or updated, for example, by classification unit 405. Labels that give an impression are, for example, anger, disgust, fear, joy, sadness, surprise, and the like.
- the vector corresponds, for example, to an array of elements.
- the storage unit 400 stores an image.
- the image is, for example, a photograph or a painting.
- the image may be a single image included in the moving image.
- the storage unit 400 stores, for example, a learning image and a label indicating an impression of the learning image in association with each other.
- the training image is for training the model.
- the learning image is acquired by, for example, the acquisition unit 401, and is referred to by the first extraction unit 402 and the second extraction unit 403.
- the label indicating the impression of the learning image is acquired by, for example, the acquisition unit 401 and referred to by the classification unit 405.
- the storage unit 400 stores, for example, a target image.
- the target image is the target for estimating the impression.
- the target image is acquired by, for example, the acquisition unit 401, and is referred to by the first extraction unit 402 and the second extraction unit 403.
- the acquisition unit 401 acquires various information used for processing of each functional unit.
- the acquisition unit 401 stores various acquired information in the storage unit 400 or outputs it to each function unit. Further, the acquisition unit 401 may output various information stored in the storage unit 400 to each function unit.
- the acquisition unit 401 acquires various information based on, for example, the operation input of the user of the learning device 100.
- the acquisition unit 401 may receive various information from a device different from the learning device 100, for example.
- the acquisition unit 401 acquires an image.
- the acquisition unit 401 acquires, for example, the learning image associated with the label indicating the impression of the learning image.
- the acquisition unit 401 acquires the learning image associated with the label indicating the impression of the learning image based on the operation input of the user of the learning device 100.
- the acquisition unit 401 may acquire the learning image associated with the label indicating the impression of the learning image by reading it from the detachable recording medium 305.
- the acquisition unit 401 may acquire the learning image associated with the label indicating the impression of the learning image by receiving the learning image from another computer.
- Another computer is, for example, the client device 201.
- the acquisition unit 401 acquires, for example, the target image. Specifically, the acquisition unit 401 acquires the target image by receiving it from the client device 201. Specifically, the acquisition unit 401 may acquire the target image based on the operation input of the user of the learning device 100. Specifically, the acquisition unit 401 may acquire the target image by reading it from the detachable recording medium 305.
- the acquisition unit 401 may accept a start trigger to start processing of any of the functional units.
- the start trigger is, for example, that the user of the learning device 100 has input a predetermined operation.
- the start trigger may be, for example, the receipt of predetermined information from another computer.
- the start trigger may be, for example, that any functional unit outputs predetermined information.
- the acquisition unit 401 receives, for example, the acquisition of the learning image as a start trigger for processing between the first extraction unit 402 and the second extraction unit 403. For example, the acquisition unit 401 accepts that the target image has been acquired as a trigger for starting processing between the first extraction unit 402 and the second extraction unit 403.
- the first extraction unit 402 extracts a feature vector related to the entire image from the acquired image.
- the first extraction unit 402 extracts, for example, the first feature vector related to the entire learning image from the acquired learning image.
- the first extraction unit 402 extracts the first feature vector by filtering the acquired learning image by CNN.
- the method of filtering by CNN is, for example, ResNet (Resual Network) or SENEt (Squareze-and-Excitation Networks).
- the first extraction unit 402 can make the generation unit 404 able to refer to the feature vector related to the entire image and generate the feature vector as a reference for classifying the image.
- the second extraction unit 403 extracts a feature vector related to the object from the acquired image.
- the object is set in advance as a candidate to be detected from the image, for example. There may be a plurality of objects.
- the second extraction unit 403 extracts, for example, a second feature vector related to the object from the acquired learning image. Specifically, the second extraction unit 403 extracts the second feature vector from the learning image by using the detection unit 411 and the conversion unit 412. As a result, the second extraction unit 403 can make the generation unit 404 able to refer to the feature vector related to the object and generate the feature vector as a reference for classifying the images.
- the detection unit 411 analyzes the image and detects each object of one or more objects from the image.
- the detection unit 411 analyzes the learning image, for example, and calculates the probability that each object of one or more objects is reflected in the learning image based on the result of analyzing the learning image.
- the probability corresponds to the reliability of object detection.
- the detection unit 411 can obtain information for generating the second feature vector.
- the detection unit 411 analyzes the learning image, for example, and determines whether or not each object of one or more objects is reflected in the learning image based on the result of analyzing the learning image. Specifically, the detection unit 411 calculates the probability that each object of one or more objects appears in the learning image based on the result of analyzing the learning image, and detects an object having a probability of the threshold value or more. Judge that it is reflected in the learning image. As a result, the detection unit 411 can obtain information for generating the second feature vector.
- the detection unit 411 analyzes the learning image, for example, and identifies the size of each of the one or more objects on the learning image based on the result of analyzing the learning image. Specifically, the detection unit 411 uses a method such as SSD (Single Shot Multibox Detector) or YOLO (You Look Only Once) to set the size of each object of one or more objects as the bounding box of one or more objects. Identify the size of. As a result, the detection unit 411 can obtain information for generating the second feature vector.
- SSD Single Shot Multibox Detector
- YOLO You Look Only Once
- the detection unit 411 analyzes the learning image, for example, and identifies the color feature on the learning image of each of the one or more objects based on the result of analyzing the learning image.
- the color feature is, for example, a color histogram. Colors are expressed in, for example, RGB (Red, Green, Blue) format, HSL (Hue, Saturation, Lightness) format, HSB (Hue, Saturation, Brightness) format, or the like.
- RGB Red, Green, Blue
- HSL Human, Saturation, Lightness
- HSB Human, Saturation, Brightness
- the conversion unit 412 generates the second feature vector.
- the conversion unit 412 generates, for example, a second feature vector based on the calculated probability. Specifically, the conversion unit 412 generates a second feature vector in which the probabilities calculated for each object are arranged as elements. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 generates, for example, a second feature vector based on the specified size. Specifically, the conversion unit 412 generates a second feature vector in which the size specified for each object is arranged as an element. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 generates, for example, a second feature vector based on the specified color feature.
- the color feature is, for example, a color histogram.
- the conversion unit 412 generates a second feature vector in which the color features specified for each object are arranged as elements. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 may generate a second feature vector based on, for example, a combination of any two or more of the calculated probability, the specified size, and the specified color feature. Specifically, the conversion unit 412 generates a second feature vector in which the probabilities calculated for each object are weighted by a specific size for each object and arranged as elements. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 generates a second feature vector, for example, based on the name of one or more objects that are determined to be reflected in the learning image. Specifically, the conversion unit 412 has a second feature in which the names of the objects determined to be reflected in the learning image are vector-converted and arranged by a method such as word2vec or GloVe (Global Vectors for Word Presentation). Generate a vector. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 generates a second feature vector based on, for example, the size of one or more objects on the learning image that are determined to be reflected in the learning image. Specifically, the conversion unit 412 converts the name of the object determined to be reflected in the learning image into a vector, weights the object with a specified size, and generates a second feature vector arranged as an element. To do. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 generates, for example, a second feature vector based on the name of an object that is determined to be reflected in the learning image and whose size on the learning image is a certain size or more. Specifically, the conversion unit 412 vector-converts and arranges the names of the objects that are determined to be reflected in the learning image and that the size on the learning image is equal to or larger than a certain size. Generate a second feature vector. As a result, the conversion unit 412 can generate a third feature vector.
- the conversion unit 412 generates a second feature vector based on, for example, the color features on the learning image of one or more objects that are determined to be reflected in the learning image. Specifically, the conversion unit 412 vector-converts the names of the objects determined to be reflected in the learning image, weights them based on the color features specified for the objects, and arranges them as elements. To generate. As a result, the conversion unit 412 can generate a third feature vector.
- the generation unit 404 generates a third feature vector by combining the generated first feature vector and the generated second feature vector.
- the generation unit 404 generates an N + M-dimensional third feature vector by, for example, combining the N-dimensional first feature vector with the M-dimensional second feature vector.
- N M may be set.
- the generation unit 404 can obtain an input sample to the model.
- the generation unit 404 generates, for example, the sum of the elements of the first feature vector and the second feature vector or the product of the elements as the third feature vector. As a result, the generation unit 404 can obtain an input sample to the model.
- the generation unit 404 generates a third feature vector by, for example, combining the sum of the elements of the first feature vector and the second feature vector and the product of the elements. As a result, the generation unit 404 can obtain an input sample to the model.
- the classification unit 405 learns the model. For example, the classification unit 405 generates learning data in which a label indicating an impression of a learning image is associated with the generated third feature vector, and learns a model based on the generated learning data. Specifically, the classification unit 405 generates learning data in which the generated third feature vector is associated with a label indicating the impression of the learning image. Then, the classification unit 405 updates the model by the method of maximizing the margin based on the learning data. As a result, the learning device 100 can learn a model capable of accurately estimating the impression of the image.
- the classification unit 405 generates learning data in which the generated third feature vector is associated with a label indicating the impression of the learning image. Then, the classification unit 405 identifies a label indicating an impression corresponding to the third feature vector included in the training data using the model, and compares the identified label with the label included in the training data to obtain the model. Update. As a result, the learning device 100 can learn a model capable of accurately estimating the impression of the image.
- the second extraction unit 403, the generation unit 404, and the classification unit 405 an example of the operation when the acquisition unit 401 acquires the learning image. explained.
- the second extraction unit 403, the generation unit 404, and the classification unit 405 an example of the operation when the acquisition unit 401 acquires the target image will be described. To do.
- the first extraction unit 402 extracts a fourth feature vector related to the entire target image from the acquired target image.
- the first extraction unit 402 extracts the fourth feature vector from the acquired target image in the same manner as the first feature vector.
- the first extraction unit 402 can make the generation unit 404 able to refer to the feature vector related to the entire image and generate the feature vector as a reference for classifying the target image.
- the second extraction unit 403 extracts the fifth feature vector related to the object from the acquired target image.
- the second extraction unit 403 extracts the fifth feature vector from the acquired target image in the same manner as the second feature vector.
- the second extraction unit 403 can make the generation unit 404 able to refer to the feature vector related to the object and generate the feature vector as a reference for classifying the target image.
- the generation unit 404 generates a sixth feature vector by combining the extracted fourth feature vector and the extracted fifth feature vector.
- the generation unit 404 generates a sixth feature vector, for example, in the same manner as the third feature vector. As a result, the generation unit 404 can obtain a sixth feature vector as a reference for classifying the target image.
- the classification unit 405 uses a model to specify a label to be classified as a classification destination for the acquired target image.
- the classification unit 405 specifies, for example, a label indicating an impression corresponding to the generated sixth feature vector as a label to be classified as a classification destination for classifying the target image by using a model. As a result, the classification unit 405 can accurately classify the target image.
- the output unit 406 outputs the processing result of any of the functional units.
- the output format is, for example, display on a display, print output to a printer, transmission to an external device by the network I / F 303, or storage in a storage area such as a memory 302 or a recording medium 305.
- the output unit 406 can notify the user of the learning device 100 or the user of the client device 201 of the processing result of any of the functional units, and can improve the convenience of the learning device 100.
- the output unit 406 outputs, for example, the learned model. Specifically, the output unit 406 transmits the trained model to another computer. As a result, the output unit 406 can make the trained model available to other computers. Therefore, other computers can use the model to accurately classify the target image.
- the output unit 406 outputs, for example, a label as a classification destination for classifying the specified target image. Specifically, the output unit 406 displays a label as a classification destination for classifying the specified target image on the display. As a result, the output unit 406 can make available a label as a classification destination for classifying the target image. Therefore, the user of the learning device 100 can refer to the label to be the classification destination for classifying the target image.
- the first extraction unit 402, the second extraction unit 403, the generation unit 404, and the classification unit 405 perform predetermined processing on the learning image and the target image has been described, but the present invention is not limited to this. ..
- the first extraction unit 402, the second extraction unit 403, the generation unit 404, and the classification unit 405 may not perform a predetermined process on the target image.
- another computer may perform a predetermined process on the target image.
- FIG. 5 is an explanatory diagram showing an example of a learning image associated with a label anger showing an impression.
- the impression label angle indicates that the impression when a person looks at the image tends to be angry.
- a learning image associated with a label anger indicating an impression may be referred to as an “anger image”.
- the image 500 is an example of an anger image, and specifically, is an image of a person holding a knife with blood.
- an anger image specifically, an image showing a scene such as a quarrel, a fight, a war, or a riot can be considered.
- an angler image specifically, an image showing anthropomorphic natural anger such as lightning, a tornado, and a flood can be considered.
- FIG. 6 is an explanatory diagram showing an example of a learning image associated with a label disgust indicating an impression.
- the impression label disgust indicates that a person tends to dislike the impression when looking at the image.
- the learning image associated with the label disgust indicating the impression may be referred to as a “disgust image”.
- the image 600 is an example of a disgust image, specifically, an image showing a worm-eaten fruit.
- the disgust image specifically, an image showing an insect, a corpse, or the like can be considered.
- the disgust image specifically, an image showing a dirty person, an object, a place, or the like can be considered.
- FIG. 7 is an explanatory diagram showing an example of a learning image associated with a label fear indicating an impression.
- the impression label fair indicates that the impression when a person looks at the image tends to be horrifying.
- the learning image associated with the label fear indicating the impression may be referred to as a “fear image”.
- the image 700 is an example of a fear image, which is an image showing a silhouette of a monster's hand.
- a fear image specifically, an image taking downward from a high place such as the roof of a building can be considered.
- the fear image specifically, an image showing an insect, a monster, a skeleton, or the like can be considered.
- FIG. 8 is an explanatory diagram showing an example of a learning image associated with a label joy indicating an impression.
- the impression label joy indicates that the impression when a person looks at the image tends to be pleasing or comfortable.
- the learning image associated with the label joy indicating the impression may be referred to as a "joy image”.
- the image 800 is an example of a joy image, which is an image of a bird staying on a tree.
- a joy image specifically, an image showing a flower, a jewel, a child, or the like can be considered.
- an image showing a leisure scene can be considered.
- an image whose color tone is a bright tone can be considered.
- FIG. 9 is an explanatory diagram showing an example of a learning image associated with a label sadness indicating an impression.
- the impression label sadness indicates that the impression when a person looks at an image tends to be sad or sad.
- a learning image associated with a label sadness indicating an impression may be referred to as a "sadness image”.
- the image 900 is an example of a sadness image, which is an image showing a leaf having a dark tone and water droplets.
- a sadness image specifically, an image showing a sad person can be considered.
- an image showing an image imitating a sad person can be considered.
- an image showing a trace of a disaster can be considered.
- FIG. 10 is an explanatory diagram showing an example of a learning image associated with a label surrise indicating an impression.
- the impression label surprise indicates that the impression when a person looks at an image tends to be astonishing.
- the learning image associated with the label surrise indicating the impression may be referred to as a "surprise image”.
- the image 1000 is an example of a surprise image, and is an image showing a scene in which a frog was present when the lid of the toilet seat was opened.
- an image of nature such as a flower field, an image of an animal, or the like can be considered.
- an image showing an accident scene can be considered.
- an image showing a present such as a ring for proposal can be considered.
- 11 to 18 are explanatory diagrams showing an example of learning a model.
- the learning device 100 acquires an image 800 associated with a label joy indicating an impression as a learning image.
- the learning device 100 receives, for example, an image 800 associated with a label joy indicating an impression from the client device.
- the learning device 100 generates a first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402.
- the first extraction unit 402 generates a first feature vector for the entire image 800, for example, by ResNet 50 incorporating SENEt.
- the first feature vector is, for example, 300 dimensions.
- the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- Candidate objects to be detected include, for example, bird, leaf, human, car, and animal.
- the detection unit 411 detects the bird from the part 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and calculates the probability that the bird appears in the image 800 with a probability of 90%. Similarly, the detection unit 411 detects the leaf from the portion 1102 of the image 800, and calculates the probability that the leaf appears in the image 800 with a probability of 95%. At this time, the detection unit 411 sets the probability that the undetected human, car, animal, etc. are captured in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 generates a 1446-dimensional feature vector in which, for example, the probability that bird, leaf, human, car, animal, etc. are shown in the image 800 is arranged as an element. Then, the conversion unit 412 converts the generated 1446-dimensional feature vector into a 300-dimensional feature vector by PCA (Principal Component Analysis), normalizes it, and sets it as the second feature vector.
- PCA Principal Component Analysis
- 300 dimensions with a relatively large variance are set as the conversion destination dimensions.
- the PCA is set with 300 dimensions, for example, based on a predetermined data set.
- a given dataset is, for example, an existing dataset.
- the predetermined data set may be, for example, a 1446-dimensional feature vector obtained from each learning image of a plurality of learning images.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404.
- the generation unit 404 combines, for example, a 300-dimensional first feature vector and a 300-dimensional second feature vector to generate a 600-dimensional third feature vector.
- the learning device 100 generates learning data in which the label of the correct answer is associated with the third feature vector by the classification unit 405, and updates the model based on the learning data.
- the model is, for example, SVM.
- the correct label is a label joy indicating an impression associated with the image 800.
- the classification unit 405 generates learning data in which the correct label is associated with the third feature vector, and updates the SVM based on the generated learning data by the method of maximizing the margin. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 (12-1) acquires an image 800 associated with the label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402 in the same manner as in (11-2). As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the portion 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and identifies the size 35% of the bird appearing in the image 800.
- the size is specified as, for example, the ratio of the portion of the entire image 800 in which the object is shown.
- the size may be specified as a statistical value of the size in which each object is shown, for example, when a plurality of the same objects are shown on the image 800.
- the statistical value is, for example, a maximum value, an average value, a total value, and the like.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, and specifies 25% of the size of the leaf reflected in the image 800. At this time, the detection unit 411 sets the size of the undetected human, car, animal, etc. in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 generates a 1446-dimensional feature vector in which, for example, bird, leaf, human, car, animal, etc. are arranged with the size shown in the image 800 as an element. Then, the conversion unit 412 converts the generated 1446-dimensional feature vector into a 300-dimensional feature vector by the PCA, normalizes it, and sets it as the second feature vector. In the PCA, 300 dimensions having a relatively large variance are set as the conversion destination dimensions. As a result, the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404 in the same manner as in (11-5).
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the correct label is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 acquires an image 800 associated with a label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 Similar to (11-2), the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402. As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the portion 1101 of the image 800 by using the object detection method learned by ImageNet, calculates the probability that the bird appears in the image 800, and calculates the probability that the bird appears in the image 800. Identify 35% of the size of the image.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, calculates the probability of the leaf appearing in the image 800 95%, and specifies the size 25% of the leaf appearing in the image 800. To do. At this time, the detection unit 411 sets the probability and size of the undetected human, car, animal, etc. in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 weights the probability that bird, leaf, human, car, animal, etc. are shown in the image 800 by the size shown in the image 800, and generates a 1446-dimensional feature vector arranged as an element.
- the conversion unit 412 is a 1446-dimensional feature in which the probability that a vector, leaf, human, car, animal, etc. are shown in the image 800 is multiplied by the size shown in the image 800 and arranged as elements. Generate a vector.
- the conversion unit 412 converts the generated 1446-dimensional feature vector into a 300-dimensional feature vector by PCA and sets it as the second feature vector.
- 300 dimensions having a relatively large variance are set as the conversion destination dimensions.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404.
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the correct label is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 acquires an image 800 associated with a label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 Similar to (11-2), the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402. As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the part 1101 of the image 800 by using the object detection method learned by ImageNet, calculates the probability that the bird appears in the image 800, and calculates the color feature of the part 1101. To identify.
- Color features are represented, for example, by a color histogram.
- the color histogram is, for example, a bar graph showing the number of colors. Specifically, as shown in graphs 1401 and 1402, the color histogram is a bar graph showing the number of colors of each luminance.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, calculates the probability that the leaf appears in the image 800, and specifies the color feature of the portion 1102. At this time, the detection unit 411 sets the probability that the undetected human, car, animal, etc. are captured in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 weights the probability that, for example, bird, leaf, human, car, animal, etc. are reflected in the image 800 based on the color features, and generates a 1446-dimensional feature vector arranged as elements. Specifically, the conversion unit 412 multiplies the probability that bird, leaf, human, car, animal, etc. are shown in the image 800 by the brightness that takes the peak value, and generates a 1446-dimensional feature vector arranged as an element. To do.
- the conversion unit 412 converts the generated 1446-dimensional feature vector into a 300-dimensional feature vector by PCA and sets it as the second feature vector.
- 300 dimensions having a relatively large variance are set as the conversion destination dimensions.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404 in the same manner as in (11-5).
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the label of the correct answer is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates the learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 acquires an image 800 associated with a label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 Similar to (11-2), the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402. As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the part 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and calculates the probability that the bird appears in the image 800 with a probability of 90%.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, and calculates the probability that the leaf appears in the image 800 with a probability of 95%. At this time, the detection unit 411 sets the probability that the undetected human, car, animal, etc. are captured in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 generates a 1446-dimensional feature vector in which, for example, the probability that bird, leaf, human, car, animal, etc. are reflected in the image 800 is arranged as an element, and sets it as the second feature vector.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404 in the same manner as in (11-5).
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the label of the correct answer is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates the learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 (16-1) acquires an image 800 associated with a label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 Similar to (11-2), the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402. As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the portion 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and identifies the size 35% of the bird appearing in the image 800.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, and specifies 25% of the size of the leaf reflected in the image 800. At this time, the detection unit 411 sets the size of the undetected human, car, animal, etc. in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 generates a 1446-dimensional feature vector in which the sizes of the bird, leaf, human, car, animal, etc. appearing in the image 800 are arranged as elements, and sets them as the second feature vector.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404 in the same manner as in (11-5).
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the label of the correct answer is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates the learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 (17-1) acquires an image 800 associated with a label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 Similar to (11-2), the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402. As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the part 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and calculates the probability that the bird appears in the image 800 with a probability of 90%.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, and calculates the probability that the leaf appears in the image 800 with a probability of 95%. At this time, the detection unit 411 sets the probability that the undetected human, car, animal, etc. are captured in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 identifies, for example, the bird and the leaf whose probability of being reflected in the image 800 is equal to or greater than the threshold value.
- the conversion unit 412 converts the specified bird and leaf into a 300-dimensional feature vector by word2vec.
- the conversion unit 412 sets the sum of the converted feature vectors in the second feature vector.
- the conversion unit 412 may, for example, convert the leaf having the maximum probability of being reflected in the image 800 into a 300-dimensional feature vector by word2vec and set it as the second feature vector.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404 in the same manner as in (11-5).
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the label of the correct answer is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates the learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the learning device 100 (18-1) acquires an image 800 associated with a label joy indicating an impression as a learning image, similarly to (11-1).
- the learning device 100 generates the first feature vector related to the entire image 800 from the image 800 by the first extraction unit 402 in the same manner as in (11-2). As a result, the learning device 100 can obtain a first feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- the detection unit 411 detects the bird from the portion 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and identifies the size 35% of the bird appearing in the image 800.
- the detection unit 411 detects the leaf from the portion 1102 of the image 800, and specifies 25% of the size of the leaf reflected in the image 800. At this time, the detection unit 411 sets the size of the undetected human, car, animal, etc. in the image 800 to 0%. As a result, the learning device 100 can easily consider the impression of the combination of a plurality of objects.
- the learning device 100 generates a second feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 specifies, for example, a bird and a leaf whose size shown in the image 800 is a certain size or more.
- the conversion unit 412 converts the specified bird and leaf into a 300-dimensional feature vector by word2vec.
- the conversion unit 412 sets the sum of the converted feature vectors in the second feature vector.
- the conversion unit 412 may, for example, convert the bird having the maximum size shown in the image 800 into a 300-dimensional feature vector by word2vec and set it as the second feature vector.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image 800.
- the learning device 100 combines the first feature vector and the second feature vector by the generation unit 404 in the same manner as in (11-5).
- the learning device 100 Similar to (11-6), the learning device 100 generates learning data in which the label of the correct answer is associated with the third feature vector by the classification unit 405, and based on the learning data, the learning device 100 generates the learning data. Update the model. As a result, the learning device 100 can update the model so that the impression of the image can be estimated accurately.
- the conversion unit 412 has described a plurality of methods for calculating the second feature vector, but the present invention is not limited to this.
- the conversion unit 412 is a combination of two or more of the probability of being reflected in the image of each object, the size of being reflected in the image of each object, and the color feature of the portion reflected in the image of each object.
- the second feature vector may be calculated based on.
- the conversion unit 412 may calculate the second feature vector based on the position shown in the image for each object. In this case, specifically, the conversion unit 412 gives a larger weight to the probability of being reflected in the image as the position reflected in the image is closer to the center for each object, and arranges them as elements. It is conceivable to calculate the vector.
- the conversion unit 412 may set a 1446-dimensional feature vector arranged as an element with the brightness of peak values such as bird, leaf, human, car, and animal as it is, as the second feature vector. You may.
- FIG. 19 is an explanatory diagram showing an example of estimating the impression of the target image.
- the learning device 100 acquires an image 800 as a target image.
- the learning device 100 receives the image 800 from the client device 201.
- the learning device 100 generates a fourth feature vector related to the entire image 800 from the image 800 by the first extraction unit 402.
- the first extraction unit 402 generates a fourth feature vector for the entire image 800, for example, by ResNet 50 incorporating SENEt.
- the fourth feature vector is, for example, 300 dimensions.
- the learning device 100 can obtain a fourth feature vector representing the features of the entire image 800.
- the learning device 100 detects each of the 1446 candidate objects to be detected from the image 800 by the detection unit 411 included in the second extraction unit 403, and converts the detected result. Output to unit 412.
- Candidate objects to be detected include, for example, bird, leaf, human, car, and animal.
- the detection unit 411 detects the bird from the part 1101 of the image 800 by using, for example, the object detection method learned by ImageNet, and calculates the probability that the bird appears in the image 800 with a probability of 90%. Similarly, the detection unit 411 detects the leaf from the portion 1102 of the image 800, and calculates the probability that the leaf appears in the image 800 with a probability of 95%. At this time, the detection unit 411 sets the probability that the undetected human, car, animal, etc. are captured in the image 800 to 0%.
- the learning device 100 generates a fifth feature vector related to the object based on the detected result by the conversion unit 412 included in the second extraction unit 403.
- the conversion unit 412 generates a 1446-dimensional feature vector in which, for example, the probability that bird, leaf, human, car, animal, etc. are shown in the image 800 is arranged as an element. Then, the conversion unit 412 converts the generated 1446-dimensional feature vector into a 300-dimensional feature vector by PCA (Principal Component Analysis), normalizes it, and sets it as the fifth feature vector. In the PCA, 300 dimensions having a relatively large variance are set as the conversion destination dimensions. As a result, the learning device 100 can obtain a fifth feature vector representing a partial feature of the image 800.
- PCA Principal Component Analysis
- the learning device 100 combines the fourth feature vector and the fifth feature vector by the generation unit 404.
- the generation unit 404 for example, combines a 300-dimensional fourth feature vector and a 300-dimensional fifth feature vector to generate a 600-dimensional sixth feature vector.
- the learning device 100 uses a model to specify a label indicating the impression of the target image corresponding to the sixth feature vector by the classification unit 405.
- the model is, for example, SVM.
- the classification unit 405 inputs a sixth feature vector to the model, acquires a label joy indicating the impression output by the model, and specifies it as a label indicating the impression of the target image.
- the learning device 100 can accurately estimate the impression of the image.
- the learning device 100 displays a label indicating the impression of the specified target image on the display of the client device 201.
- FIG. 20 an example in which the learning device 100 displays a label indicating the impression of the specified target image on the display of the client device 201 will be described.
- FIG. 20 is an explanatory diagram showing a display example of a label showing an impression of the target image.
- the learning device 100 acquires the image 800 as the target image from the client device 201, for example, the learning device 100 transmits a label joy indicating the specified impression to the client device 201 to display the screen 2001.
- the screen 2001 includes an image 800, which is a target image, and a display field 2002 for notifying a label joy indicating a specified impression.
- the learning device 100 can make the label joy indicating the specified impression visible to the user of the client device 201.
- the learning device 100 when the learning device 100 acquires the image 900 as the target image from the client device 201, the learning device 100 transmits a label sadness indicating the specified impression to the client device 201 to display the screen 2003.
- the screen 2003 includes an image 900 which is a target image and a display field 2004 for notifying a label sadness indicating a specified impression.
- the learning device 100 can make the label sadness indicating the specified impression visible to the user of the client device 201.
- the learning device 100 estimates the impression of the image using the model learned in FIG. 11 has been described, but the present invention is not limited to this.
- the learning device 100 may use any of the models learned in FIGS. 12 to 18.
- the learning process is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as a memory 302 or a recording medium 305, and a network I / F 303.
- FIG. 21 is a flowchart showing an example of the learning processing procedure.
- the learning device 100 acquires a learning image associated with a label indicating an impression (step S2101).
- the learning device 100 extracts a feature vector related to the entire learning image from the acquired learning image (step S2102). Then, the learning device 100 reduces the number of dimensions of the feature vector related to the entire learning image and sets it as the first feature vector (step S2103).
- the learning device 100 detects an object appearing in the acquired learning image among a plurality of objects set as candidates for detection (step S2104). Then, the learning device 100 determines whether or not there is an object whose probability of being reflected in the learning image is equal to or greater than the threshold value among the plurality of objects set as candidates for detection (step S2105).
- step S2105: No when there is no object whose probability of being reflected in the learning image is equal to or greater than the threshold value (step S2105: No), the learning device 100 sets a predetermined vector as the second feature vector (step S2106). Then, the learning device 100 shifts to the process of step S2111. On the other hand, when there is an object whose probability of being reflected in the learning image is equal to or greater than the threshold value (step S2105: Yes), the learning device 100 shifts to the process of step S2107.
- step S2107 the learning device 100 vector-converts the word of each object whose probability of being reflected in the learning image is equal to or greater than the threshold value (step S2107). Then, the learning device 100 determines whether or not a plurality of words have been vector-converted (step S2108).
- step S2108 when a plurality of words are not vector-converted (step S2108: No), the learning device 100 sets the vector obtained by vector-converting the words as the second feature vector (step S2109). Then, the learning device 100 shifts to the process of step S2111.
- step S2108 when a plurality of words are vector-converted (step S2108: Yes), the learning device 100 adds the vectors obtained by vector-converting the plurality of words, and adds the added vector to the second feature. Set to a vector (step S2110). Then, the learning device 100 shifts to the process of step S2111.
- step S2111 the learning device 100 combines the first feature vector and the second feature vector to generate a third feature vector (step S2111). Then, the learning device 100 associates the third feature vector with the label indicating the impression associated with the acquired learning image to generate learning data (step S2112).
- the learning device 100 learns the model based on the generated learning data (step S2113). Then, the learning device 100 ends the learning process. As a result, the learning device 100 can learn a model capable of accurately estimating the impression of the image.
- the learning device 100 learns the model using the third vector generated based on one learning image has been described, but the present invention is not limited to this.
- the learning device 100 may repeatedly execute the learning process based on each learning image and update the model.
- Estimatiation processing procedure Next, an example of the estimation processing procedure executed by the learning device 100 will be described with reference to FIG.
- the estimation process is realized, for example, by the CPU 301 shown in FIG. 3, a storage area such as a memory 302 or a recording medium 305, and a network I / F 303.
- FIG. 22 is a flowchart showing an example of the estimation processing procedure.
- the learning device 100 acquires the target image (step S2201).
- the learning device 100 extracts a feature vector related to the entire target image from the acquired target image (step S2202). Then, the learning device 100 reduces the number of dimensions of the feature vector with respect to the entire target image and sets it as the fourth feature vector (step S2203).
- the learning device 100 detects an object appearing in the acquired target image among a plurality of objects set as candidates for detection (step S2204). Then, the learning device 100 determines whether or not there is an object whose probability of being reflected in the learning image is equal to or greater than the threshold value among the plurality of objects set as candidates for detection (step S2205).
- step S2205: No when there is no object whose probability of being reflected in the learning image is equal to or greater than the threshold value (step S2205: No), the learning device 100 sets a predetermined vector as the fifth feature vector (step S2206). Then, the learning device 100 shifts to the process of step S2211. On the other hand, when there is an object whose probability of being reflected in the learning image is equal to or greater than the threshold value (step S2205: Yes), the learning device 100 shifts to the process of step S2207.
- step S2207 the learning device 100 vector-converts the word of each object whose probability of being reflected in the learning image is equal to or greater than the threshold value (step S2207). Then, the learning device 100 determines whether or not a plurality of words have been vector-converted (step S2208).
- step S2208 when a plurality of words are not vector-converted (step S2208: No), the learning device 100 sets the vector obtained by vector-converting the words as the fifth feature vector (step S2209). Then, the learning device 100 shifts to the process of step S2211.
- step S2208 when a plurality of words are vector-converted (step S2208: Yes), the learning device 100 adds the vectors obtained by vector-converting the plurality of words, and the added vector is the fifth feature. Set to a vector (step S2210). Then, the learning device 100 shifts to the process of step S2211.
- step S2211 the learning device 100 combines the fourth feature vector and the fifth feature vector to generate the sixth feature vector (step S2211). Then, the learning device 100 inputs the sixth feature vector into the model and acquires a label indicating an impression (step S2212).
- the learning device 100 outputs a label indicating the acquired impression (step S2213). Then, the learning device 100 ends the estimation process. As a result, the learning device 100 can accurately estimate the impression of the image, and the result of estimating the impression of the image can be made available.
- the learning device 100 may execute the learning device 100 by changing the order of processing of some steps in each of the flowcharts of FIGS. 21 and 22.
- the order of the processes of steps S2102 and S2103 and the processes of steps S2104 to S2110 can be exchanged.
- the order of the processes of steps S2202 and S2203 and the processes of steps S2204 to S2210 can be exchanged.
- an image can be acquired.
- the first feature vector related to the entire image can be extracted from the acquired image.
- a second feature vector related to the object can be extracted from the acquired image.
- the extracted first feature vector and the extracted second feature vector can be combined to generate a third feature vector.
- a model that outputs a label indicating an impression corresponding to an input feature vector is learned based on learning data in which a label indicating an impression of an image is associated with a generated third feature vector. can do.
- the learning device 100 can learn a model capable of accurately estimating the impression of the image.
- the learning device 100 it is possible to calculate the probability that each object of one or more objects appears in the image based on the result of analyzing the image.
- the second feature vector can be extracted based on the calculated probability.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image.
- the learning device 100 it is possible to determine whether or not each object of one or more objects is reflected in the image based on the result of analyzing the image.
- the second feature vector can be extracted based on the name of the object determined to be reflected in the image among one or more objects. As a result, the learning device 100 can obtain a second feature vector representing a partial feature of the image.
- the size of one or more objects on the image can be specified based on the result of analyzing the image.
- the second feature vector can be extracted based on the specified size.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image.
- the learning device 100 it is possible to determine whether or not each object of one or more objects is reflected in the image based on the result of analyzing the image. According to the learning device 100, it is possible to specify the size of one or more objects on the image that are determined to be reflected in the image. According to the learning device 100, the second feature vector can be extracted based on the specified size. As a result, the learning device 100 can obtain a second feature vector representing a partial feature of the image.
- the learning device 100 it is possible to specify the color characteristics on the image of each of one or more objects based on the result of analyzing the image.
- the second feature vector can be extracted based on the specified color feature.
- the learning device 100 can obtain a second feature vector representing a partial feature of the image.
- the learning device 100 it is possible to determine whether or not each object of one or more objects is reflected in the image based on the result of analyzing the image. According to the learning device 100, it is possible to specify the color feature on the image of the object determined to be reflected in the image among one or more objects. According to the learning device 100, the second feature vector can be extracted based on the specified color feature. As a result, the learning device 100 can obtain a second feature vector representing a partial feature of the image.
- the learning device 100 it is possible to combine the first feature vector of the N dimension with the second feature vector of the M dimension to generate the third feature vector of the N + M dimension. As a result, the learning device 100 can generate a third feature vector so as to represent the overall feature of the image and the partial feature of the image.
- the target image can be acquired.
- a fourth feature vector relating to the entire target image can be extracted from the acquired target image.
- a fifth feature vector related to an object can be extracted from the acquired target image.
- the sixth feature vector can be generated by combining the extracted fourth feature vector and the extracted fifth feature vector. According to the learning device 100, it is possible to output a label indicating an impression corresponding to the generated sixth feature vector by using the learned model. As a result, the learning device 100 can accurately estimate the impression of the target image.
- a support vector machine can be used as a model.
- the learning device 100 can accurately estimate the impression of the image by using the model.
- the learning method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a PC or a workstation.
- the learning program described in this embodiment is executed by being recorded on a computer-readable recording medium and being read from the recording medium by the computer.
- the recording medium is a hard disk, a flexible disk, a CD (Compact Disc) -ROM, an MO, a DVD (Digital entirely Disc), or the like.
- the learning program described in this embodiment may be distributed via a network such as the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Image Analysis (AREA)
Abstract
学習装置(100)は、画像(101)の印象を示すラベルと対応付けられた、当該画像(101)を取得する。学習装置(100)は、取得した画像(101)から、画像(101)全体に関する第一の特徴ベクトル(111)を抽出する。学習装置(100)は、取得した画像(101)から、物体に関する第二の特徴ベクトル(112)を抽出する。学習装置(100)は、抽出した第一の特徴ベクトル(111)と、抽出した第二の特徴ベクトル(112)とを組み合わせて、第三の特徴ベクトル(113)を生成する。学習装置(100)は、生成した第三の特徴ベクトル(113)に、画像(101)の印象を示すラベルを対応付けた学習データに基づいて、モデルを学習する。
Description
本発明は、学習方法、学習プログラム、および学習装置に関する。
従来、画像を解析し、人が画像を見た際にどのような印象を受けるのかを推定する技術がある。この技術は、例えば、人が、広告として作成した画像を見た際にどのような印象を受けるのかを推定し、訴求効果の向上を図るために用いられることがある。
先行技術としては、例えば、画像全体に対しフィルタ処理を行い、特徴ベクトルとアテンションマップとを作成し、作成した特徴ベクトルとアテンションマップとを用いて、画像の印象を推定するものがある。フィルタ処理は、例えば、CNN(Convolutional Neural Network)により行われる。
Yang, Jufeng, et al. "Weakly supervised coupled networks for visual sentiment analysis." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
しかしながら、従来技術では、画像の印象を精度よく推定することは難しい。例えば、人が画像を見た際、画像の全体から受ける印象の他に、画像の一部分から受ける印象もあり、画像の全体に関する特徴ベクトルを参照するだけでは、人が画像を見た際にどのような印象を受けるのかを精度よく推定することは難しい。
1つの側面では、本発明は、画像の印象を精度よく推定可能であるモデルを学習することを目的とする。
1つの実施態様によれば、画像を取得し、取得した前記画像から、前記画像全体に関する第一の特徴ベクトルを抽出し、取得した前記画像から、物体に関する第二の特徴ベクトルを抽出し、抽出した前記第一の特徴ベクトルと、抽出した前記第二の特徴ベクトルとを組み合わせて、第三の特徴ベクトルを生成し、生成した前記第三の特徴ベクトルに、前記画像の印象を示すラベルを対応付けた学習データに基づいて、入力された特徴ベクトルに対応する印象を示すラベルを出力するモデルを学習する学習方法、学習プログラム、および学習装置が提案される。
一態様によれば、画像の印象を精度よく推定可能であるモデルを学習することが可能になる。
以下に、図面を参照して、本発明にかかる学習方法、学習プログラム、および学習装置の実施の形態を詳細に説明する。
(実施の形態にかかる学習方法の一実施例)
図1は、実施の形態にかかる学習方法の一実施例を示す説明図である。学習装置100は、画像の印象を推定するためのモデルを学習する際に用いられる学習データを生成し、学習データに基づいて、画像の印象を推定するためのモデルを学習することができるコンピュータである。
図1は、実施の形態にかかる学習方法の一実施例を示す説明図である。学習装置100は、画像の印象を推定するためのモデルを学習する際に用いられる学習データを生成し、学習データに基づいて、画像の印象を推定するためのモデルを学習することができるコンピュータである。
ここで、画像の印象を推定する手法として、例えば、下記の各種手法などが考えられるが、下記の各種手法では、画像の印象を精度よく推定することが難しい場合がある。
例えば、AU(Action Unit)を用いて、人が、人の顔が写った画像を見た際に受ける印象を推定する第一の手法が考えられる。第一の手法では、人が、自然画や風景画などの人の顔が写らない画像を見た際に受ける印象を推定することができない。このため、第一の手法は、人の顔が写らない、広告として作成した画像の印象を推定することができず、広告の分野に適用することができないことがある。また、第一の手法は、画像上の人の顔の写り方に関するロバスト性が低く、例えば、画像上の人の顔が横向きである場合、正面向きである場合に比べて、画像の印象を精度よく推定することが難しくなる。
また、例えば、上記非特許文献1を参考に、画像全体に対しフィルタ処理を行い、特徴ベクトルとアテンションマップとを作成し、作成した特徴ベクトルとアテンションマップとを用いて、画像の印象を推定する第二の手法が考えられる。フィルタ処理は、例えば、CNNにより行われる。また、第二の手法では、ImageNetのデータセットを用いて、CNNの係数を学習した上で、印象の推定に関するデータセットを用いて、学習したCNNの係数を補正することが考えられる。第二の手法でも、印象の推定に関するデータセットの数が少ないほど、CNNの係数を適切に設定することが難しくなり、画像の印象を精度よく推定することが難しくなる。また、人が画像を見た際、画像の全体から受ける印象の他に、画像の一部分から受ける印象もあるため、第二の手法では、画像の一部分から受ける印象を考慮しておらず、人が画像を見た際にどのような印象を受けるのかを精度よく推定することは難しい。
また、例えば、画像の他に、様々なセンサーデータを用いて、画像の印象を推定するマルチモーダルな第三の手法が考えられる。第三の手法は、例えば、画像の他に、画像の撮影時の音声、または、画像に付与されたキャプションなどの文章を用いて、画像の印象を推定することが考えられる。第三の手法は、画像の他に、様々なセンサーデータを取得可能な状況でなければ、実現することができない。
また、例えば、画像に関する時系列データを用いて、画像の印象を推定する第四の手法が考えられる。第四の手法は、第三の手法と同様に、時系列データを取得可能な状況でなければ、実現することができない。
以上から、様々な分野や状況に適用可能であり、かつ、画像の印象を精度よく推定可能である手法が望まれる。そこで、本実施の形態では、画像に関する特徴ベクトルと、物体に関する特徴ベクトルとを用いることにより、様々な分野や状況に適用可能であり、かつ、画像の印象を精度よく推定可能であるモデルを学習することができる学習方法について説明する。
図1において、(1-1)学習装置100は、画像101を取得する。学習装置100は、例えば、画像101の印象を示すラベルと対応付けられた、当該画像101を取得する。印象を示すラベルは、例えば、anger、disgust、fear、joy、sadness、surpriseなどである。
(1-2)学習装置100は、取得した画像101から、画像101全体に関する第一の特徴ベクトル111を抽出する。第一の特徴ベクトル111は、例えば、CNNにより抽出される。第一の特徴ベクトル111を抽出する具体例については、例えば、図11~図18を用いて後述する。
(1-3)学習装置100は、取得した画像101から、物体に関する第二の特徴ベクトル112を抽出する。学習装置100は、例えば、取得した画像101内の物体が写った部分を検出し、検出した部分から、物体に関する第二の特徴ベクトル112を抽出する。第二の特徴ベクトル112を抽出する具体例については、例えば、図11~図18を用いて後述する。
(1-4)学習装置100は、抽出した第一の特徴ベクトル111と、抽出した第二の特徴ベクトル112とを組み合わせて、第三の特徴ベクトル113を生成する。学習装置100は、例えば、第一の特徴ベクトル111に、第二の特徴ベクトル112を結合することにより、第三の特徴ベクトル113を生成する。第一の特徴ベクトル111と第二の特徴ベクトル112とを結合する順序は、第一の特徴ベクトル111と第二の特徴ベクトル112とのいずれが先であってもよい。第三の特徴ベクトル113を生成する具体例については、例えば、図11~図18を用いて後述する。
(1-5)学習装置100は、生成した第三の特徴ベクトル113に、画像101の印象を示すラベルを対応付けた学習データに基づいて、モデルを学習する。モデルは、入力された特徴ベクトルに対応する印象を示すラベルを出力する。学習装置100は、例えば、生成した第三の特徴ベクトル113に、取得した画像101に対応付けられた画像101の印象を示すラベルを対応付けて、学習データを生成し、生成した学習データに基づいて、モデルを学習する。モデルを学習する具体例については、例えば、図11~図18を用いて後述する。
これにより、学習装置100は、画像の印象を精度よく推定可能なモデルを学習することができる。学習装置100は、例えば、自然画や風景画などの人の顔が写っていない画像に関するロバスト性を確保しやすく、自然画や風景画などの人の顔が写っていない画像に対しても、画像の印象を精度よく推定可能なモデルを学習することができる。また、学習装置100は、例えば、画像の全体の印象の他に、画像の一部分の印象を考慮可能なように、モデルを学習することができる。また、学習装置100は、学習したモデルにより、画像の印象を推定する精度の向上を図ることができ、画像の印象を推定する精度を実用的な精度に近付けやすくすることができる。
その後、学習装置100は、印象を推定する対象となる画像を取得してもよい。以下の説明では、印象を推定する対象となる画像を「対象画像」と表記する場合がある。そして、学習装置100は、学習したモデルを用いて、取得した対象画像の印象を推定してもよい。
学習装置100は、例えば、対象画像から、対象画像全体に関する第四の特徴ベクトルと、物体に関する第五の特徴ベクトルとを抽出し、第四の特徴ベクトルと第五の特徴ベクトルとを組み合わせて、第六の特徴ベクトルを生成する。そして、学習装置100は、学習したモデルに、生成した第六の特徴ベクトルを入力し、対象画像の印象を示すラベルを取得する。対象画像の印象を示すラベルを取得する具体例については、例えば、図19を用いて後述する。
これにより、学習装置100は、対象画像の印象を精度よく推定することができる。学習装置100は、例えば、対象画像の印象を推定する際、対象画像の全体の印象の他に、対象画像の一部分の印象を考慮しやすくなり、対象画像の印象を精度よく推定することができる。また、学習装置100は、例えば、自然画や風景画などの人の顔が写っていない対象画像の印象を精度よく推定することができる。また、学習装置100は、対象画像の他に、様々なセンサーデータや時系列データなどを取得可能な状況でなくても、対象画像の印象を精度よく推定することができる。
ここでは、説明の便宜上、学習装置100が、1つの画像101を基に、1つの学習データを生成し、生成した1つの学習データに基づいて、モデルを学習する場合について説明したが、これに限らない。例えば、学習装置100が、複数の画像101を基に、複数の学習データを生成し、生成した複数の学習データに基づいて、モデルを学習する場合があってもよい。この際、学習装置100は、学習データが少なくても、画像101の印象を精度よく推定可能なモデルを学習することができる。
ここでは、学習装置100が、学習データに基づいて、モデルを学習する場合について説明したが、これに限らない。例えば、学習装置100が、学習データを、他のコンピュータに送信する場合があってもよい。この場合、学習データを受信した他のコンピュータが、受信した学習データに基づいて、モデルを学習することになる。
(印象推定システム200の一例)
次に、図2を用いて、図1に示した学習装置100を適用した、印象推定システム200の一例について説明する。
次に、図2を用いて、図1に示した学習装置100を適用した、印象推定システム200の一例について説明する。
図2は、印象推定システム200の一例を示す説明図である。図2において、印象推定システム200は、学習装置100と、1以上のクライアント装置201とを含む。
印象推定システム200において、学習装置100とクライアント装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
学習装置100は、モデルの学習用である画像を取得する。以下の説明では、モデルの学習用である画像を「学習用画像」と表記する場合がある。学習装置100は、例えば、1以上の学習用画像を、着脱可能な記録媒体から読み込むことにより取得する。また、学習装置100は、例えば、1以上の学習用画像を、ネットワークを介して受信することにより取得してもよい。また、学習装置100は、例えば、1以上の学習用画像を、クライアント装置201から受信することにより取得してもよい。また、学習装置100は、例えば、1以上の学習用画像を、学習装置100のユーザの操作入力に基づき取得してもよい。
学習装置100は、取得した学習用画像に基づいて、学習データを生成し、生成した学習データに基づいて、モデルを学習する。その後、学習装置100は、対象画像を取得する。対象画像は、例えば、動画像に含まれる1枚の画像であってもよい。学習装置100は、例えば、対象画像を、クライアント装置201から受信することにより取得する。また、学習装置100は、例えば、対象画像を、学習装置100のユーザの操作入力に基づき取得してもよい。学習装置100は、学習したモデルを用いて、取得した対象画像の印象を示すラベルを取得して出力する。出力先は、例えば、クライアント装置201である。出力先は、例えば、学習装置100のディスプレイであってもよい。学習装置100は、例えば、サーバやPC(Personal Computer)などである。
クライアント装置201は、学習装置100と通信可能なコンピュータである。クライアント装置201は、対象画像を取得する。クライアント装置201は、例えば、対象画像を、クライアント装置201のユーザの操作入力に基づき取得する。クライアント装置201は、取得した対象画像を、学習装置100に送信する。クライアント装置201は、取得した対象画像を、学習装置100に送信した結果、取得した対象画像の印象を示すラベルを、学習装置100から受信する。クライアント装置201は、受信した対象画像の印象を示すラベルを出力する。出力先は、例えば、クライアント装置201のディスプレイなどである。クライアント装置201は、例えば、PC、タブレット端末、または、スマートフォンなどである。
ここでは、学習装置100が、クライアント装置201とは異なる装置である場合について説明したが、これに限らない。例えば、学習装置100が、クライアント装置201としても動作可能である場合があってもよい。この場合、印象推定システム200は、クライアント装置201を含まなくてもよい。
また、ここでは、学習装置100が、学習データを生成し、モデルを学習し、対象画像の印象を示すラベルを取得する場合について説明したが、これに限らない。例えば、複数の装置が、協働し、学習データを生成する処理、モデルを学習する処理、対象画像の印象を示すラベルを取得する処理を分担する場合があってもよい。
また、例えば、学習装置100が、学習したモデルを、クライアント装置201に送信し、クライアント装置201が、対象画像を取得し、受信したモデルを用いて、取得した対象画像の印象を示すラベルを取得して出力する場合があってもよい。出力先は、例えば、クライアント装置201のディスプレイなどである。この場合、学習装置100は、対象画像を取得しなくてもよいし、クライアント装置201は、対象画像を、学習装置100に送信しなくてもよい。
・印象推定システム200の利用例(その1)
例えば、人が、広告として作成された画像を見た際にどのような印象を受けるのかを推定し、画像の作成者が、広告の訴求効果の向上を図りやすくするサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、クライアント装置201は、画像の作成者によって利用される。
例えば、人が、広告として作成された画像を見た際にどのような印象を受けるのかを推定し、画像の作成者が、広告の訴求効果の向上を図りやすくするサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、クライアント装置201は、画像の作成者によって利用される。
この場合、例えば、クライアント装置201は、画像の作成者の操作入力に基づき、広告として作成された画像を取得し、学習装置100に送信する。学習装置100は、学習したモデルを用いて、広告として作成された画像の印象を示すラベルを取得し、クライアント装置201に送信する。クライアント装置201は、受信した広告として作成された画像の印象を示すラベルを、クライアント装置201のディスプレイに表示し、画像の作成者が把握可能にする。これにより、画像の作成者は、広告として作成された画像が、広告を見た人に、画像の作成者が想定した印象を与えられるか否かを判断し、広告の訴求効果の向上を図ることができる。
・印象推定システム200の利用例(その2)
例えば、人が、ウェブサイトを見た際にどのような印象を受けるのかを推定し、ウェブサイトの作成者が、ウェブサイトをデザインしやすくするサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、クライアント装置201は、ウェブサイトの作成者によって利用される。
例えば、人が、ウェブサイトを見た際にどのような印象を受けるのかを推定し、ウェブサイトの作成者が、ウェブサイトをデザインしやすくするサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、クライアント装置201は、ウェブサイトの作成者によって利用される。
この場合、例えば、クライアント装置201は、ウェブサイトの作成者の操作入力に基づき、ウェブサイトを写した画像を取得し、学習装置100に送信する。学習装置100は、学習したモデルを用いて、ウェブサイトを写した画像の印象を示すラベルを取得し、クライアント装置201に送信する。クライアント装置201は、受信したウェブサイトを写した画像の印象を示すラベルを、クライアント装置201のディスプレイに表示し、ウェブサイトの作成者が把握可能にする。これにより、ウェブサイトの作成者は、ウェブサイトが、ウェブサイトを見た人に、ウェブサイトの作成者が想定した印象を与えられるか否かを判断し、どのようにウェブサイトをデザインすることが好ましいかを検討することができる。
・印象推定システム200の利用例(その3)
例えば、人が、オフィス空間を写した画像を見た際にどのような印象を受けるのかを推定し、オフィス空間をデザインする作業者が、オフィス空間をデザインしやすくするサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、クライアント装置201は、オフィス空間をデザインする作業者によって利用される。
例えば、人が、オフィス空間を写した画像を見た際にどのような印象を受けるのかを推定し、オフィス空間をデザインする作業者が、オフィス空間をデザインしやすくするサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、クライアント装置201は、オフィス空間をデザインする作業者によって利用される。
この場合、例えば、クライアント装置201は、作業者の操作入力に基づき、デザイン後のオフィス空間を写した画像を取得し、学習装置100に送信する。学習装置100は、学習したモデルを用いて、デザイン後のオフィス空間を写した画像の印象を示すラベルを取得し、クライアント装置201に送信する。クライアント装置201は、受信したデザイン後のオフィス空間を写した画像の印象を示すラベルを、クライアント装置201のディスプレイに表示し、作業者が把握可能にする。これにより、作業者は、オフィス空間が、オフィス空間の訪問者に、作業者が想定した印象を与えられるか否かを判断し、どのようにオフィス空間をデザインすることが好ましいかを検討することができる。
・印象推定システム200の利用例(その4)
例えば、画像の販売者によって、データベースに登録された画像に、当該画像の印象を示すラベルを自動で対応付けておき、画像の購入者が、特定の印象を有する画像を検索するサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、一部のクライアント装置201は、画像の販売者によって利用される。また、一部のクライアント装置201は、画像の購入者によって利用される。
例えば、画像の販売者によって、データベースに登録された画像に、当該画像の印象を示すラベルを自動で対応付けておき、画像の購入者が、特定の印象を有する画像を検索するサービスを実現するために、印象推定システム200が利用される場合が考えられる。この場合、一部のクライアント装置201は、画像の販売者によって利用される。また、一部のクライアント装置201は、画像の購入者によって利用される。
この場合、例えば、画像の販売者に利用されるクライアント装置201は、画像の販売者の操作入力に基づき、販売する画像を取得し、学習装置100に送信する。これに対し、学習装置100は、学習したモデルを用いて、取得した画像の印象を示すラベルを取得する。学習装置100は、取得した画像と、取得した画像の印象を示すラベルとを対応付けて、学習装置100が有するデータベースに登録する。
画像の購入者に利用されるクライアント装置201は、画像の購入者の操作入力に基づき、検索する条件として、画像の印象を示すラベルを取得し、学習装置100に送信する。学習装置100は、受信した画像の印象を示すラベルと対応付けられた画像を、データベースから検索し、発見された画像を、画像の購入者に利用されるクライアント装置201に送信する。画像の購入者に利用されるクライアント装置201は、受信した画像を、画像の購入者に利用されるクライアント装置201のディスプレイに表示し、画像の購入者が把握可能にする。これにより、画像の購入者は、所望の印象を与える画像を参照することができ、書籍の表紙、ケースの飾り、または、資料などに利用することができる。
ここでは、画像が有料で販売される場合について説明したが、これに限らない。例えば、画像が無料で配布される場合があってもよい。また、画像の販売者が、画像の印象を示すラベルの他に、キーワードを登録可能であってもよく、画像の購入者が、画像の印象を示すラベルの他に、キーワードを用いて、画像を検索可能であってもよい。
(学習装置100のハードウェア構成例)
次に、図3を用いて、学習装置100のハードウェア構成例について説明する。
次に、図3を用いて、学習装置100のハードウェア構成例について説明する。
図3は、学習装置100のハードウェア構成例を示すブロック図である。図3において、学習装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、学習装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、学習装置100から着脱可能であってもよい。
学習装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、学習装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、学習装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(クライアント装置201のハードウェア構成例)
クライアント装置201のハードウェア構成例は、図3に示した、学習装置100のハードウェア構成例と同様であるため、説明を省略する。
クライアント装置201のハードウェア構成例は、図3に示した、学習装置100のハードウェア構成例と同様であるため、説明を省略する。
(学習装置100の機能的構成例)
次に、図4を用いて、学習装置100の機能的構成例について説明する。
次に、図4を用いて、学習装置100の機能的構成例について説明する。
図4は、学習装置100の機能的構成例を示すブロック図である。学習装置100は、記憶部400と、取得部401と、第一の抽出部402と、第二の抽出部403と、生成部404と、分類部405と、出力部406とを含む。第二の抽出部403は、例えば、検出部411と、変換部412とを含む。
記憶部400は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、学習装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、学習装置100とは異なる装置に含まれ、記憶部400の記憶内容が学習装置100から参照可能である場合があってもよい。
取得部401~出力部406は、制御部の一例として機能する。取得部401~出力部406は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、入力された特徴ベクトルに対応する画像の印象を示すラベルを出力するモデルを記憶する。モデルは、例えば、SVM(Support Vector Machine)である。モデルは、例えば、木構造のネットワークであってもよい。モデルは、例えば、数式であってもよい。モデルは、例えば、ニューラルネットワークであってもよい。モデルは、例えば、分類部405によって参照され、または更新される。印象を示すラベルは、例えば、anger、disgust、fear、joy、sadness、surpriseなどである。ベクトルは、例えば、要素の配列に対応する。
記憶部400は、画像を記憶する。画像は、例えば、写真や絵画などである。画像は、動画像に含まれる1枚の画像であってもよい。記憶部400は、例えば、学習用画像と、当該学習用画像の印象を示すラベルとを対応付けて記憶する。学習用画像は、モデルの学習用である。学習用画像は、例えば、取得部401によって取得され、第一の抽出部402と、第二の抽出部403とによって参照される。学習用画像の印象を示すラベルは、例えば、取得部401によって取得され、分類部405によって参照される。記憶部400は、例えば、対象画像を記憶する。対象画像は、印象を推定する対象となる。対象画像は、例えば、取得部401によって取得され、第一の抽出部402と、第二の抽出部403とによって参照される。
取得部401は、各機能部の処理に用いられる各種情報を取得する。取得部401は、取得した各種情報を、記憶部400に記憶し、または、各機能部に出力する。また、取得部401は、記憶部400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部401は、例えば、学習装置100のユーザの操作入力に基づき、各種情報を取得する。取得部401は、例えば、学習装置100とは異なる装置から、各種情報を受信してもよい。
取得部401は、画像を取得する。取得部401は、例えば、学習用画像の印象を示すラベルと対応付けられた、当該学習用画像を取得する。取得部401は、具体的には、学習装置100のユーザの操作入力に基づき、学習用画像の印象を示すラベルと対応付けられた、当該学習用画像を取得する。取得部401は、具体的には、学習用画像の印象を示すラベルと対応付けられた、当該学習用画像を、着脱可能な記録媒体305から読み込むことにより取得してもよい。取得部401は、具体的には、学習用画像の印象を示すラベルと対応付けられた、当該学習用画像を、他のコンピュータから受信することにより取得してもよい。他のコンピュータは、例えば、クライアント装置201である。
取得部401は、例えば、対象画像を取得する。取得部401は、具体的には、対象画像を、クライアント装置201から受信することにより取得する。取得部401は、具体的には、学習装置100のユーザの操作入力に基づき、対象画像を取得してもよい。取得部401は、具体的には、対象画像を、着脱可能な記録媒体305から読み込むことにより取得してもよい。
取得部401は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、学習装置100のユーザによる所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。
取得部401は、例えば、学習用画像を取得したことを、第一の抽出部402と、第二の抽出部403との処理の開始トリガーとして受け付ける。取得部401は、例えば、対象画像を取得したことを、第一の抽出部402と、第二の抽出部403との処理の開始トリガーとして受け付ける。
第一の抽出部402は、取得した画像から、画像全体に関する特徴ベクトルを抽出する。第一の抽出部402は、例えば、取得した学習用画像から、学習用画像全体に関する第一の特徴ベクトルを抽出する。第一の抽出部402は、具体的には、取得した学習用画像に対して、CNNによるフィルタ処理を行い、第一の特徴ベクトルを抽出する。CNNによるフィルタ処理の手法は、例えば、ResNet(Residual Network)やSENet(Squeeze-and-Excitation Networks)などである。これにより、第一の抽出部402は、生成部404が、画像全体に関する特徴ベクトルを参照可能にし、画像を分類する基準となる特徴ベクトルを生成可能にすることができる。
第二の抽出部403は、取得した画像から、物体に関する特徴ベクトルを抽出する。物体は、例えば、予め、画像から検出する候補として設定される。物体は、複数あってもよい。第二の抽出部403は、例えば、取得した学習用画像から、物体に関する第二の特徴ベクトルを抽出する。第二の抽出部403は、具体的には、検出部411と変換部412とを用いて、学習用画像から第二の特徴ベクトルを抽出する。これにより、第二の抽出部403は、生成部404が、物体に関する特徴ベクトルを参照可能にし、画像を分類する基準となる特徴ベクトルを生成可能にすることができる。
検出部411は、画像を解析し、画像から1以上の物体のそれぞれの物体を検出する。検出部411は、例えば、学習用画像を解析し、学習用画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が学習用画像に写っている確率を算出する。確率は、物体検出の信頼度に対応する。これにより、検出部411は、第二の特徴ベクトルを生成するための情報を得ることができる。
検出部411は、例えば、学習用画像を解析し、学習用画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が学習用画像に写っているか否かを判断する。検出部411は、具体的には、学習用画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が学習用画像に写っている確率を算出し、確率が閾値以上の物体を、学習用画像に写っていると判断する。これにより、検出部411は、第二の特徴ベクトルを生成するための情報を得ることができる。
検出部411は、例えば、学習用画像を解析し、学習用画像を解析した結果に基づいて、1以上の物体のそれぞれの物体の学習用画像上の大きさを特定する。検出部411は、具体的には、SSD(Single Shot Multibox Detector)やYOLO(You Look Only Onse)などの手法により、学習用画像上の大きさとして、1以上の物体のそれぞれの物体のbounding boxの大きさを特定する。これにより、検出部411は、第二の特徴ベクトルを生成するための情報を得ることができる。
検出部411は、例えば、学習用画像を解析し、学習用画像を解析した結果に基づいて、1以上の物体のそれぞれの物体の学習用画像上の色特徴を特定する。色特徴は、例えば、カラーヒストグラムである。色は、例えば、RGB(Red・Green・Blue)形式やHSL(Hue・Saturation・Lightness)形式、または、HSB(Hue・Saturation・Brightness)形式などで表現される。これにより、検出部411は、第二の特徴ベクトルを生成するための情報を得ることができる。
変換部412は、第二の特徴ベクトルを生成する。変換部412は、例えば、算出した確率に基づいて、第二の特徴ベクトルを生成する。変換部412は、具体的には、それぞれの物体について算出した確率を要素として並べた第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、特定した大きさに基づいて、第二の特徴ベクトルを生成する。変換部412は、具体的には、それぞれの物体について特定した大きさを要素として並べた第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、特定した色特徴に基づいて、第二の特徴ベクトルを生成する。色特徴は、例えば、カラーヒストグラムである。変換部412は、具体的には、それぞれの物体について特定した色特徴を要素として並べた第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、算出した確率と、特定した大きさと、特定した色特徴とのいずれか2つ以上の組み合わせに基づいて、第二の特徴ベクトルを生成してもよい。変換部412は、具体的には、それぞれの物体について算出した確率を、それぞれの物体について特定した大きさで重み付けして要素として並べた第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、1以上の物体のうち、学習用画像に写っていると判断した物体の名称に基づいて、第二の特徴ベクトルを生成する。変換部412は、具体的には、word2vecやGloVe(Global Vectors for Word Representation)などの手法により、学習用画像に写っていると判断した物体の名称をベクトル変換して並べた、第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、1以上の物体のうち、学習用画像に写っていると判断した物体の学習用画像上の大きさに基づいて、第二の特徴ベクトルを生成する。変換部412は、具体的には、学習用画像に写っていると判断した物体の名称をベクトル変換し、当該物体について特定した大きさで重み付けして要素として並べた第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、学習用画像に写っていると判断した物体であり、学習用画像上の大きさが一定以上である物体の名称に基づいて、第二の特徴ベクトルを生成する。変換部412は、具体的には、学習用画像に写っていると判断し、かつ、学習用画像上の大きさが一定以上であると特定した物体の名称をベクトル変換して並べた、第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
変換部412は、例えば、1以上の物体のうち、学習用画像に写っていると判断した物体の学習用画像上の色特徴に基づいて、第二の特徴ベクトルを生成する。変換部412は、具体的には、学習用画像に写っていると判断した物体の名称をベクトル変換し、当該物体について特定した色特徴に基づいて重み付けして要素として並べた第二の特徴ベクトルを生成する。これにより、変換部412は、第三の特徴ベクトルを生成可能にすることができる。
生成部404は、生成した第一の特徴ベクトルと、生成した第二の特徴ベクトルとを組み合わせて、第三の特徴ベクトルを生成する。生成部404は、例えば、N次元の第一の特徴ベクトルに、M次元の第二の特徴ベクトルを結合することにより、N+M次元の第三の特徴ベクトルを生成する。ここで、N=Mであってもよい。これにより、生成部404は、モデルへの入力サンプルを得ることができる。
生成部404は、例えば、第一の特徴ベクトルと第二の特徴ベクトルとの要素同士の和または要素同士の積を、第三の特徴ベクトルとして生成する。これにより、生成部404は、モデルへの入力サンプルを得ることができる。
生成部404は、例えば、第一の特徴ベクトルと第二の特徴ベクトルとの要素同士の和および要素同士の積を結合することにより、第三の特徴ベクトルを生成する。これにより、生成部404は、モデルへの入力サンプルを得ることができる。
分類部405は、モデルを学習する。分類部405は、例えば、生成した第三の特徴ベクトルに、学習用画像の印象を示すラベルを対応付けた学習データを生成し、生成した学習データに基づいて、モデルを学習する。分類部405は、具体的には、生成した第三の特徴ベクトルに、学習用画像の印象を示すラベルを対応付けた学習データを生成する。そして、分類部405は、学習データに基づいて、マージン最大化の手法により、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なモデルを学習することができる。
分類部405は、具体的には、生成した第三の特徴ベクトルに、学習用画像の印象を示すラベルを対応付けた学習データを生成する。そして、分類部405は、モデルを用いて、学習データに含まれる第三の特徴ベクトルに対応する印象を示すラベルを特定し、特定したラベルと学習データに含まれるラベルとの比較により、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なモデルを学習することができる。
ここでは、第一の抽出部402と、第二の抽出部403と、生成部404と、分類部405との動作の一例として、取得部401が学習用画像を取得した場合における動作の一例について説明した。次に、第一の抽出部402と、第二の抽出部403と、生成部404と、分類部405との動作の一例として、取得部401が対象画像を取得した場合における動作の一例について説明する。
第一の抽出部402は、取得した対象画像から、対象画像全体に関する第四の特徴ベクトルを抽出する。第一の抽出部402は、第一の特徴ベクトルと同様に、取得した対象画像から第四の特徴ベクトルを抽出する。これにより、第一の抽出部402は、生成部404が、画像全体に関する特徴ベクトルを参照可能にし、対象画像を分類する基準となる特徴ベクトルを生成可能にすることができる。
第二の抽出部403は、取得した対象画像から、物体に関する第五の特徴ベクトルを抽出する。第二の抽出部403は、第二の特徴ベクトルと同様に、取得した対象画像から第五の特徴ベクトルを抽出する。これにより、第二の抽出部403は、生成部404が、物体に関する特徴ベクトルを参照可能にし、対象画像を分類する基準となる特徴ベクトルを生成可能にすることができる。
生成部404は、抽出した第四の特徴ベクトルと、抽出した第五の特徴ベクトルとを組み合わせて、第六の特徴ベクトルを生成する。生成部404は、例えば、第三の特徴ベクトルと同様に、第六の特徴ベクトルを生成する。これにより、生成部404は、対象画像を分類する基準となる第六の特徴ベクトルを得ることができる。
分類部405は、モデルを用いて、取得した対象画像を分類する分類先となるラベルを特定する。分類部405は、例えば、モデルを用いて、対象画像を分類する分類先となるラベルとして、生成した第六の特徴ベクトルに対応する印象を示すラベルを特定する。これにより、分類部405は、対象画像を精度よく分類することができる。
出力部406は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部406は、いずれかの機能部の処理結果を、学習装置100のユーザまたはクライアント装置201のユーザに通知可能にし、学習装置100の利便性の向上を図ることができる。
出力部406は、例えば、学習したモデルを出力する。出力部406は、具体的には、学習したモデルを他のコンピュータに送信する。これにより、出力部406は、学習したモデルを他のコンピュータで利用可能にすることができる。このため、他のコンピュータは、モデルを用いて、対象画像を精度よく分類することができる。
出力部406は、例えば、特定した対象画像を分類する分類先となるラベルを出力する。出力部406は、具体的には、特定した対象画像を分類する分類先となるラベルを、ディスプレイに表示する。これにより、出力部406は、対象画像を分類する分類先となるラベルを利用可能にすることができる。このため、学習装置100のユーザは、対象画像を分類する分類先となるラベルを参照することができる。
ここでは、第一の抽出部402と第二の抽出部403と生成部404と分類部405とが、学習用画像と対象画像とについて所定の処理を行う場合について説明したが、これに限らない。例えば、第一の抽出部402と第二の抽出部403と生成部404と分類部405とが、対象画像について所定の処理を行わない場合があってもよい。この場合、他のコンピュータが、対象画像について所定の処理を行うようにしてもよい。
(学習装置100の動作例)
次に、図5~図19を用いて、学習装置100の動作例について説明する。具体的には、まず、図5~図10を用いて、学習装置100がモデルを学習する際に用いられる学習用画像の一例について説明する。
次に、図5~図19を用いて、学習装置100の動作例について説明する。具体的には、まず、図5~図10を用いて、学習装置100がモデルを学習する際に用いられる学習用画像の一例について説明する。
図5は、印象を示すラベルangerと対応付けられた学習用画像の一例を示す説明図である。印象を示すラベルangerは、人が画像を見た際の印象が怒りである傾向があることを示す。以下の説明では、印象を示すラベルangerと対応付けられた学習用画像を「anger画像」と表記する場合がある。
図5において、画像500は、anger画像の一例であり、具体的には、血の付いた刃物を持った人物を写した画像である。他に、anger画像としては、具体的には、口論や喧嘩、戦争、または、暴動などのシーンを写した画像が考えられる。また、anger画像としては、具体的には、雷、竜巻、洪水などの擬人的な自然の怒りを写した画像が考えられる。次に、図6の説明に移行する。
図6は、印象を示すラベルdisgustと対応付けられた学習用画像の一例を示す説明図である。印象を示すラベルdisgustは、人が画像を見た際の印象が嫌悪である傾向があることを示す。以下の説明では、印象を示すラベルdisgustと対応付けられた学習用画像を「disgust画像」と表記する場合がある。
図6において、画像600は、disgust画像の一例であり、具体的には、虫食いの果物を写した画像である。他に、disgust画像としては、具体的には、虫や死体などを写した画像が考えられる。また、disgust画像としては、具体的には、汚い人や物、場所などを写した画像が考えられる。次に、図7の説明に移行する。
図7は、印象を示すラベルfearと対応付けられた学習用画像の一例を示す説明図である。印象を示すラベルfearは、人が画像を見た際の印象が恐怖である傾向があることを示す。以下の説明では、印象を示すラベルfearと対応付けられた学習用画像を「fear画像」と表記する場合がある。
図7において、画像700は、fear画像の一例であり、怪物の手のシルエットを写した画像である。他に、fear画像としては、具体的には、ビルの屋上などの高所から下方向を写した画像が考えられる。また、fear画像としては、具体的には、虫、怪物、または、骸骨などを写した画像が考えられる。次に、図8の説明に移行する。
図8は、印象を示すラベルjoyと対応付けられた学習用画像の一例を示す説明図である。印象を示すラベルjoyは、人が画像を見た際の印象が喜や楽である傾向があることを示す。以下の説明では、印象を示すラベルjoyと対応付けられた学習用画像を「joy画像」と表記する場合がある。
図8において、画像800は、joy画像の一例であり、木に留まった鳥を写した画像である。他に、joy画像としては、具体的には、花や宝石、または、子供などを写した画像が考えられる。また、joy画像としては、具体的には、レジャーシーンを写した画像が考えられる。また、joy画像としては、具体的には、色調がブライトトーンである画像が考えられる。次に、図9の説明に移行する。
図9は、印象を示すラベルsadnessと対応付けられた学習用画像の一例を示す説明図である。印象を示すラベルsadnessは、人が画像を見た際の印象が悲や哀である傾向があることを示す。以下の説明では、印象を示すラベルsadnessと対応付けられた学習用画像を「sadness画像」と表記する場合がある。
図9において、画像900は、sadness画像の一例であり、色調がダークトーンであり、水滴が付いた葉を写した画像である。他に、sadness画像としては、具体的には、悲しんでいる人を写した画像が考えられる。また、sadness画像としては、具体的には、悲しんでいる人を模した像を写した画像が考えられる。また、sadness画像としては、具体的には、災害の痕跡を写した画像が考えられる。次に、図10の説明に移行する。
図10は、印象を示すラベルsurpriseと対応付けられた学習用画像の一例を示す説明図である。印象を示すラベルsurpriseは、人が画像を見た際の印象が驚愕である傾向があることを示す。以下の説明では、印象を示すラベルsurpriseと対応付けられた学習用画像を「surprise画像」と表記する場合がある。
図10において、画像1000は、surprise画像の一例であり、便座の蓋を開けたら蛙が居たシーンを写した画像である。他に、surprise画像としては、具体的には、花畑などの自然を写した画像、または、動物を写した画像などが考えられる。また、surprise画像としては、具体的には、アクシデントのシーンを写した画像が考えられる。また、surprise画像としては、具体的には、プロポーズ用の指輪などのプレゼントを写した画像が考えられる。
(モデルを学習する一例)
次に、図11~図18を用いて、学習用画像を用いて、学習装置100がモデルを学習する一例について説明する。
次に、図11~図18を用いて、学習用画像を用いて、学習装置100がモデルを学習する一例について説明する。
図11~図18は、モデルを学習する一例を示す説明図である。図11において、(11-1)学習装置100は、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。学習装置100は、例えば、印象を示すラベルjoyと対応付けられた画像800を、クライアント装置から受信する。
(11-2)学習装置100は、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。第一の抽出部402は、例えば、SENetを組み込んだResNet50により、画像800全体に関する第一の特徴ベクトルを生成する。第一の特徴ベクトルは、例えば、300次元である。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(11-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。検出する候補となる物体は、例えば、bird、leaf、human、car、animalなどである。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている確率90%を算出する。また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている確率95%を算出する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている確率を、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(11-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている確率を要素として並べた1446次元の特徴ベクトルを生成する。そして、変換部412は、生成した1446次元の特徴ベクトルを、PCA(Principal Component Analysis)で300次元の特徴ベクトルに変換し、正規化し、第二の特徴ベクトルに設定する。
PCAは、分散が比較的大きい300個の次元が、変換先の次元として設定される。PCAは、例えば、所定のデータセットに基づき、300個の次元が設定される。所定のデータセットは、例えば、既存のデータセットである。所定のデータセットは、例えば、複数の学習用画像のそれぞれの学習用画像から得られる1446次元の特徴ベクトルであってもよい。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(11-5)学習装置100は、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。生成部404は、例えば、300次元の第一の特徴ベクトルと、300次元の第二の特徴ベクトルとを結合し、600次元の第三の特徴ベクトルを生成する。
(11-6)学習装置100は、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。モデルは、例えば、SVMである。正解のラベルは、画像800と対応付けられた印象を示すラベルjoyである。分類部405は、例えば、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、マージン最大化の手法により、生成した学習データに基づいて、SVMを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図12の説明に移行し、学習装置100が、図11の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図12において、(12-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(12-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(12-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている大きさ35%を特定する。ここでは、大きさは、例えば、画像800全体のうち物体が写っている部分の占める割合として特定される。また、大きさは、例えば、画像800上に同じ物体が複数写っている場合、それぞれの物体が写っている大きさの統計値として特定されてもよい。統計値は、例えば、最大値、平均値、合計値などである。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている大きさ25%を特定する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている大きさを、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(12-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている大きさを要素として並べた1446次元の特徴ベクトルを生成する。そして、変換部412は、生成した1446次元の特徴ベクトルを、PCAで300次元の特徴ベクトルに変換し、正規化し、第二の特徴ベクトルに設定する。PCAは、分散が比較的大きい300個の次元が、変換先の次元として設定される。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(12-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(12-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図13の説明に移行し、学習装置100が、図11および図12の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図13において、(13-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(13-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(13-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている確率90%を算出し、birdが画像800に写っている大きさ35%を特定する。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている確率95%を算出し、leafが画像800に写っている大きさ25%を特定する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている確率および大きさを、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(13-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている確率に、画像800に写っている大きさで重み付けし、要素として並べた1446次元の特徴ベクトルを生成する。変換部412は、具体的には、bird、leaf、human、car、animalなどが画像800に写っている確率に、画像800に写っている大きさを乗算し、要素として並べた1446次元の特徴ベクトルを生成する。
そして、変換部412は、生成した1446次元の特徴ベクトルを、PCAで300次元の特徴ベクトルに変換し、第二の特徴ベクトルに設定する。PCAは、分散が比較的大きい300個の次元が、変換先の次元として設定される。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(13-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(13-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図14の説明に移行し、学習装置100が、図11~図13の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図14において、(14-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(14-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(14-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている確率90%を算出し、部分1101の色特徴を特定する。色特徴は、例えば、カラーヒストグラムで表現される。カラーヒストグラムは、例えば、色の多さを表す棒グラフである。カラーヒストグラムは、具体的には、グラフ1401,1402に示すように、それぞれの輝度の色の多さを表す棒グラフである。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている確率95%を算出し、部分1102の色特徴を特定する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている確率を、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(14-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている確率に、色特徴に基づいて重み付けし、要素として並べた1446次元の特徴ベクトルを生成する。変換部412は、具体的には、bird、leaf、human、car、animalなどが画像800に写っている確率に、ピーク値を取る輝度を乗算し、要素として並べた1446次元の特徴ベクトルを生成する。
そして、変換部412は、生成した1446次元の特徴ベクトルを、PCAで300次元の特徴ベクトルに変換し、第二の特徴ベクトルに設定する。PCAは、分散が比較的大きい300個の次元が、変換先の次元として設定される。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(14-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(14-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図15の説明に移行し、学習装置100が、図11~図14の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図15において、(15-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(15-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(15-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている確率90%を算出する。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている確率95%を算出する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている確率を、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(15-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている確率を、要素として並べた1446次元の特徴ベクトルを生成し、第二の特徴ベクトルに設定する。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(15-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(15-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図16の説明に移行し、学習装置100が、図11~図15の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図16において、(16-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(16-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(16-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている大きさ35%を特定する。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている大きさ25%を特定する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている大きさを、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(16-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている大きさを、要素として並べた1446次元の特徴ベクトルを生成し、第二の特徴ベクトルに設定する。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(16-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(16-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図17の説明に移行し、学習装置100が、図11~図16の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図17において、(17-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(17-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(17-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている確率90%を算出する。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている確率95%を算出する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている確率を、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(17-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、画像800に写っている確率が閾値以上であるbirdおよびleafを特定する。変換部412は、特定したbirdおよびleafを、word2vecにより300次元の特徴ベクトルに変換する。変換部412は、変換した特徴ベクトルの和を、第二の特徴ベクトルに設定する。
また、変換部412は、例えば、画像800に写っている確率が最大であるleafを、word2vecにより300次元の特徴ベクトルに変換し、第二の特徴ベクトルに設定する場合があってもよい。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(17-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(17-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
次に、図18の説明に移行し、学習装置100が、図11~図17の説明とは異なる手法で、第二の特徴ベクトルを生成する場合について説明する。
図18において、(18-1)学習装置100は、(11-1)と同様に、学習用画像として、印象を示すラベルjoyと対応付けられた画像800を取得する。
(18-2)学習装置100は、(11-2)と同様に、第一の抽出部402により、画像800から、画像800全体に関する第一の特徴ベクトルを生成する。これにより、学習装置100は、画像800全体の特徴を表す第一の特徴ベクトルを得ることができる。
(18-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている大きさ35%を特定する。
また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている大きさ25%を特定する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている大きさを、0%に設定する。これにより、学習装置100は、複数の物体の組み合わせの印象も考慮しやすくすることができる。
(18-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第二の特徴ベクトルを生成する。
変換部412は、例えば、画像800に写っている大きさが一定以上であるbirdおよびleafを特定する。変換部412は、特定したbirdおよびleafを、word2vecにより300次元の特徴ベクトルに変換する。変換部412は、変換した特徴ベクトルの和を、第二の特徴ベクトルに設定する。
また、変換部412は、例えば、画像800に写っている大きさが最大であるbirdを、word2vecにより300次元の特徴ベクトルに変換し、第二の特徴ベクトルに設定する場合があってもよい。これにより、学習装置100は、画像800の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
(18-5)学習装置100は、(11-5)と同様に、生成部404により、第一の特徴ベクトルと第二の特徴ベクトルとを結合する。
(18-6)学習装置100は、(11-6)と同様に、分類部405により、第三の特徴ベクトルに、正解のラベルを対応付けた学習データを生成し、学習データに基づいて、モデルを更新する。これにより、学習装置100は、画像の印象を精度よく推定可能なように、モデルを更新することができる。
ここでは、図11~図18を用いて、変換部412が、第二の特徴ベクトルを算出する複数の手法について説明したが、これに限らない。例えば、変換部412は、物体ごとの画像に写っている確率と、物体ごとの画像に写っている大きさと、物体ごとの画像に写っている部分の色特徴とのいずれか2つ以上の組み合わせに基づいて、第二の特徴ベクトルを算出する場合があってもよい。
また、例えば、変換部412が、物体ごとの画像に写っている位置に基づいて、第二の特徴ベクトルを算出する場合があってもよい。この場合、具体的には、変換部412は、物体ごとに、画像に写っている位置が中央に近いほど、画像に写っている確率に大きい重みを付けて、要素として並べて、第二の特徴ベクトルを算出することが考えられる。
また、例えば、変換部412が、bird、leaf、human、car、animalなどのピーク値を取る輝度をそのまま、要素として並べた1446次元の特徴ベクトルを、第二の特徴ベクトルに設定する場合があってもよい。
(対象画像の印象を推定する一例)
次に、図19を用いて、図11で学習したモデルを用いて、学習装置100が対象画像の印象を推定する一例について説明する。
次に、図19を用いて、図11で学習したモデルを用いて、学習装置100が対象画像の印象を推定する一例について説明する。
図19は、対象画像の印象を推定する一例を示す説明図である。図19において、(19-1)学習装置100は、対象画像として、画像800を取得する。学習装置100は、クライアント装置201から、画像800を受信する。
(19-2)学習装置100は、第一の抽出部402により、画像800から、画像800全体に関する第四の特徴ベクトルを生成する。第一の抽出部402は、例えば、SENetを組み込んだResNet50により、画像800全体に関する第四の特徴ベクトルを生成する。第四の特徴ベクトルは、例えば、300次元である。これにより、学習装置100は、画像800全体の特徴を表す第四の特徴ベクトルを得ることができる。
(19-3)学習装置100は、第二の抽出部403に含まれる検出部411により、画像800から、検出する候補となる1446個の物体のそれぞれの物体を検出し、検出した結果を変換部412に出力する。検出する候補となる物体は、例えば、bird、leaf、human、car、animalなどである。
検出部411は、例えば、ImageNetで学習済みの物体検出手法を用いて、画像800の部分1101からbirdを検出し、birdが画像800に写っている確率90%を算出する。また、検出部411は、同様に、画像800の部分1102からleafを検出し、leafが画像800に写っている確率95%を算出する。この際、検出部411は、検出されなかったhuman、car、animalなどが画像800に写っている確率を、0%に設定する。
(19-4)学習装置100は、第二の抽出部403に含まれる変換部412により、検出した結果に基づいて、物体に関する第五の特徴ベクトルを生成する。
変換部412は、例えば、bird、leaf、human、car、animalなどが画像800に写っている確率を要素として並べた1446次元の特徴ベクトルを生成する。そして、変換部412は、生成した1446次元の特徴ベクトルを、PCA(Principal Component Analysis)で300次元の特徴ベクトルに変換し、正規化し、第五の特徴ベクトルに設定する。PCAは、分散が比較的大きい300個の次元が、変換先の次元として設定される。これにより、学習装置100は、画像800の部分的な特徴を表す第五の特徴ベクトルを得ることができる。
(19-5)学習装置100は、生成部404により、第四の特徴ベクトルと第五の特徴ベクトルとを結合する。生成部404は、例えば、300次元の第四の特徴ベクトルと、300次元の第五の特徴ベクトルとを結合し、600次元の第六の特徴ベクトルを生成する。
(19-6)学習装置100は、分類部405により、モデルを用いて、第六の特徴ベクトルに対応する、対象画像の印象を示すラベルを特定する。モデルは、例えば、SVMである。分類部405は、例えば、モデルに第六の特徴ベクトルを入力し、モデルが出力する印象を示すラベルjoyを取得し、対象画像の印象を示すラベルとして特定する。これにより、学習装置100は、画像の印象を精度よく推定することができる。
学習装置100は、特定した対象画像の印象を示すラベルを、クライアント装置201のディスプレイに表示させる。次に、図20を用いて、学習装置100が、特定した対象画像の印象を示すラベルを、クライアント装置201のディスプレイに表示させる一例について説明する。
(対象画像の印象を示すラベルの表示例)
図20は、対象画像の印象を示すラベルの表示例を示す説明図である。図20において、学習装置100は、例えば、クライアント装置201から対象画像として画像800を取得した場合、特定した印象を示すラベルjoyをクライアント装置201に送信し、画面2001を表示させる。画面2001は、対象画像である画像800と、特定した印象を示すラベルjoyを通知する表示欄2002とを含む。これにより、学習装置100は、特定した印象を示すラベルjoyを、クライアント装置201のユーザに把握可能にすることができる。
図20は、対象画像の印象を示すラベルの表示例を示す説明図である。図20において、学習装置100は、例えば、クライアント装置201から対象画像として画像800を取得した場合、特定した印象を示すラベルjoyをクライアント装置201に送信し、画面2001を表示させる。画面2001は、対象画像である画像800と、特定した印象を示すラベルjoyを通知する表示欄2002とを含む。これにより、学習装置100は、特定した印象を示すラベルjoyを、クライアント装置201のユーザに把握可能にすることができる。
また、学習装置100は、例えば、クライアント装置201から対象画像として画像900を取得した場合、特定した印象を示すラベルsadnessをクライアント装置201に送信し、画面2003を表示させる。画面2003は、対象画像である画像900と、特定した印象を示すラベルsadnessを通知する表示欄2004とを含む。これにより、学習装置100は、特定した印象を示すラベルsadnessを、クライアント装置201のユーザに把握可能にすることができる。
ここでは、学習装置100が、図11で学習したモデルを用いて、画像の印象を推定する場合について説明したが、これに限らない。例えば、学習装置100が、図12~図18で学習したいずれかのモデルを用いる場合があってもよい。
(学習処理手順)
次に、図21を用いて、学習装置100が実行する、学習処理手順の一例について説明する。学習処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
次に、図21を用いて、学習装置100が実行する、学習処理手順の一例について説明する。学習処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図21は、学習処理手順の一例を示すフローチャートである。図21において、学習装置100は、印象を示すラベルが対応付けられた学習用画像を取得する(ステップS2101)。
次に、学習装置100は、取得した学習用画像から、学習用画像全体に関する特徴ベクトルを抽出する(ステップS2102)。そして、学習装置100は、学習用画像全体に関する特徴ベクトルの次元数を削減し、第一の特徴ベクトルに設定する(ステップS2103)。
次に、学習装置100は、検出する候補に設定された複数の物体のうち、取得した学習用画像に写っている物体を検出する(ステップS2104)。そして、学習装置100は、検出する候補に設定された複数の物体のうち、学習用画像に写っている確率が閾値以上である物体があるか否かを判定する(ステップS2105)。
ここで、学習用画像に写っている確率が閾値以上である物体がない場合(ステップS2105:No)、学習装置100は、所定のベクトルを、第二の特徴ベクトルに設定する(ステップS2106)。そして、学習装置100は、ステップS2111の処理に移行する。一方で、学習用画像に写っている確率が閾値以上である物体がある場合(ステップS2105:Yes)、学習装置100は、ステップS2107の処理に移行する。
ステップS2107では、学習装置100は、学習用画像に写っている確率が閾値以上であるそれぞれの物体のwordをベクトル変換する(ステップS2107)。そして、学習装置100は、複数のwordをベクトル変換したか否かを判定する(ステップS2108)。
ここで、複数のwordをベクトル変換していない場合(ステップS2108:No)、学習装置100は、wordをベクトル変換して得たベクトルを、第二の特徴ベクトルに設定する(ステップS2109)。そして、学習装置100は、ステップS2111の処理に移行する。
一方で、複数のwordをベクトル変換している場合(ステップS2108:Yes)、学習装置100は、複数のwordをベクトル変換して得たベクトルを加算し、加算後のベクトルを、第二の特徴ベクトルに設定する(ステップS2110)。そして、学習装置100は、ステップS2111の処理に移行する。
ステップS2111では、学習装置100は、第一の特徴ベクトルと第二の特徴ベクトルとを結合し、第三の特徴ベクトルを生成する(ステップS2111)。そして、学習装置100は、第三の特徴ベクトルを、取得した学習用画像に対応付けられた印象を示すラベルと対応付けて、学習データを生成する(ステップS2112)。
次に、学習装置100は、生成した学習データに基づいて、モデルを学習する(ステップS2113)。そして、学習装置100は、学習処理を終了する。これにより、学習装置100は、画像の印象を精度よく推定可能なモデルを学習することができる。
ここでは、学習装置100が、1つの学習用画像を基に生成した第三のベクトルを用いて、モデルを学習する場合について説明したが、これに限らない。例えば、学習装置100は、学習用画像が複数ある場合、それぞれの学習用画像を基に学習処理を実行し、モデルを更新することを繰り返してもよい。
(推定処理手順)
次に、図22を用いて、学習装置100が実行する、推定処理手順の一例について説明する。推定処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
次に、図22を用いて、学習装置100が実行する、推定処理手順の一例について説明する。推定処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図22は、推定処理手順の一例を示すフローチャートである。図22において、学習装置100は、対象画像を取得する(ステップS2201)。
次に、学習装置100は、取得した対象画像から、対象画像全体に関する特徴ベクトルを抽出する(ステップS2202)。そして、学習装置100は、対象画像全体に関する特徴ベクトルの次元数を削減し、第四の特徴ベクトルに設定する(ステップS2203)。
次に、学習装置100は、検出する候補に設定された複数の物体のうち、取得した対象画像に写っている物体を検出する(ステップS2204)。そして、学習装置100は、検出する候補に設定された複数の物体のうち、学習用画像に写っている確率が閾値以上である物体があるか否かを判定する(ステップS2205)。
ここで、学習用画像に写っている確率が閾値以上である物体がない場合(ステップS2205:No)学習装置100は、所定のベクトルを、第五の特徴ベクトルに設定する(ステップS2206)。そして、学習装置100は、ステップS2211の処理に移行する。一方で、学習用画像に写っている確率が閾値以上である物体がある場合(ステップS2205:Yes)、学習装置100は、ステップS2207の処理に移行する。
ステップS2207では、学習装置100は、学習用画像に写っている確率が閾値以上であるそれぞれの物体のwordをベクトル変換する(ステップS2207)。そして、学習装置100は、複数のwordをベクトル変換したか否かを判定する(ステップS2208)。
ここで、複数のwordをベクトル変換していない場合(ステップS2208:No)、学習装置100は、wordをベクトル変換して得たベクトルを、第五の特徴ベクトルに設定する(ステップS2209)。そして、学習装置100は、ステップS2211の処理に移行する。
一方で、複数のwordをベクトル変換している場合(ステップS2208:Yes)、学習装置100は、複数のwordをベクトル変換して得たベクトルを加算し、加算後のベクトルを、第五の特徴ベクトルに設定する(ステップS2210)。そして、学習装置100は、ステップS2211の処理に移行する。
ステップS2211では、学習装置100は、第四の特徴ベクトルと第五の特徴ベクトルとを結合し、第六の特徴ベクトルを生成する(ステップS2211)。そして、学習装置100は、第六の特徴ベクトルをモデルに入力し、印象を示すラベルを取得する(ステップS2212)。
次に、学習装置100は、取得した印象を示すラベルを出力する(ステップS2213)。そして、学習装置100は、推定処理を終了する。これにより、学習装置100は、画像の印象を精度よく推定することができ、画像の印象を推定した結果を利用可能にすることができる。
ここで、学習装置100は、図21および図22の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS2102,S2103の処理と、ステップS2104~S2110の処理との順序は入れ替え可能である。同様に、例えば、ステップS2202,S2203の処理と、ステップS2204~S2210の処理との順序は入れ替え可能である。
以上説明したように、学習装置100によれば、画像を取得することができる。学習装置100によれば、取得した画像から、画像全体に関する第一の特徴ベクトルを抽出することができる。学習装置100によれば、取得した画像から、物体に関する第二の特徴ベクトルを抽出することができる。学習装置100によれば、抽出した第一の特徴ベクトルと、抽出した第二の特徴ベクトルとを組み合わせて、第三の特徴ベクトルを生成することができる。学習装置100によれば、生成した第三の特徴ベクトルに、画像の印象を示すラベルを対応付けた学習データに基づいて、入力された特徴ベクトルに対応する印象を示すラベルを出力するモデルを学習することができる。これにより、学習装置100は、画像の印象を精度よく推定可能なモデルを学習することができる。
学習装置100によれば、画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が画像に写っている確率を算出することができる。学習装置100によれば、算出した確率に基づいて、第二の特徴ベクトルを抽出することができる。これにより、学習装置100は、画像の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
学習装置100によれば、画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が画像に写っているか否かを判断することができる。学習装置100によれば、1以上の物体のうち、画像に写っていると判断した物体の名称に基づいて、第二の特徴ベクトルを抽出することができる。これにより、学習装置100は、画像の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
学習装置100によれば、画像を解析した結果に基づいて、1以上の物体のそれぞれの物体の画像上の大きさを特定することができる。学習装置100によれば、特定した大きさに基づいて、第二の特徴ベクトルを抽出することができる。これにより、学習装置100は、画像の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
学習装置100によれば、画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が画像に写っているか否かを判断することができる。学習装置100によれば、1以上の物体のうち、画像に写っていると判断した物体の画像上の大きさを特定することができる。学習装置100によれば、特定した大きさに基づいて、第二の特徴ベクトルを抽出することができる。これにより、学習装置100は、画像の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
学習装置100によれば、画像を解析した結果に基づいて、1以上の物体のそれぞれの物体の画像上の色特徴を特定することができる。学習装置100によれば、特定した色特徴に基づいて、第二の特徴ベクトルを抽出することができる。これにより、学習装置100は、画像の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
学習装置100によれば、画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が画像に写っているか否かを判断することができる。学習装置100によれば、1以上の物体のうち、画像に写っていると判断した物体の画像上の色特徴を特定することができる。学習装置100によれば、特定した色特徴に基づいて、第二の特徴ベクトルを抽出することができる。これにより、学習装置100は、画像の部分的な特徴を表す第二の特徴ベクトルを得ることができる。
学習装置100によれば、N次元の第一の特徴ベクトルに、M次元の第二の特徴ベクトルを結合し、N+M次元の第三の特徴ベクトルを生成することができる。これにより、学習装置100は、画像の全体の特徴と、画像の部分的な特徴とを表すように、第三の特徴ベクトルを生成することができる。
学習装置100によれば、対象画像を取得することができる。学習装置100によれば、取得した対象画像から、対象画像全体に関する第四の特徴ベクトルを抽出することができる。学習装置100によれば、取得した対象画像から、物体に関する第五の特徴ベクトルを抽出することができる。学習装置100によれば、抽出した第四の特徴ベクトルと、抽出した第五の特徴ベクトルとを組み合わせて、第六の特徴ベクトルを生成することができる。学習装置100によれば、学習したモデルを用いて、生成した第六の特徴ベクトルに対応する印象を示すラベルを出力することができる。これにより、学習装置100は、対象画像の印象を精度よく推定することができる。
学習装置100によれば、モデルとして、サポートベクターマシンを用いることができる。これにより、学習装置100は、モデルを用いて、画像の印象を精度よく推定可能にすることができる。
なお、本実施の形態で説明した学習方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した学習プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した学習プログラムは、インターネットなどのネットワークを介して配布してもよい。
100 学習装置
101,500,600,700,800,900,1000 画像
111~113 特徴ベクトル
200 印象推定システム
201 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 記憶部
401 取得部
402 第一の抽出部
403 第二の抽出部
404 生成部
405 分類部
406 出力部
411 検出部
412 変換部
1101,1102 部分
1401,1402 グラフ
2001,2003 画面
2002,2004 表示欄
101,500,600,700,800,900,1000 画像
111~113 特徴ベクトル
200 印象推定システム
201 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 記憶部
401 取得部
402 第一の抽出部
403 第二の抽出部
404 生成部
405 分類部
406 出力部
411 検出部
412 変換部
1101,1102 部分
1401,1402 グラフ
2001,2003 画面
2002,2004 表示欄
Claims (12)
- 画像を取得し、
取得した前記画像から、前記画像全体に関する第一の特徴ベクトルを抽出し、
取得した前記画像から、物体に関する第二の特徴ベクトルを抽出し、
抽出した前記第一の特徴ベクトルと、抽出した前記第二の特徴ベクトルとを組み合わせて、第三の特徴ベクトルを生成し、
生成した前記第三の特徴ベクトルに、前記画像の印象を示すラベルを対応付けた学習データに基づいて、入力された特徴ベクトルに対応する印象を示すラベルを出力するモデルを学習する、
処理をコンピュータが実行することを特徴とする学習方法。 - 前記第二の特徴ベクトルを抽出する処理は、
前記画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が前記画像に写っている確率を算出し、算出した前記確率に基づいて、前記第二の特徴ベクトルを抽出する、ことを特徴とする請求項1に記載の学習方法。 - 前記第二の特徴ベクトルを抽出する処理は、
前記画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が前記画像に写っているか否かを判断し、前記1以上の物体のうち、前記画像に写っていると判断した物体の名称に基づいて、前記第二の特徴ベクトルを抽出する、ことを特徴とする請求項1または2に記載の学習方法。 - 前記第二の特徴ベクトルを抽出する処理は、
前記画像を解析した結果に基づいて、1以上の物体のそれぞれの物体の前記画像上の大きさを特定し、特定した前記大きさに基づいて、前記第二の特徴ベクトルを抽出する、ことを特徴とする請求項1~3のいずれか一つに記載の学習方法。 - 前記第二の特徴ベクトルを抽出する処理は、
前記画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が前記画像に写っているか否かを判断し、前記1以上の物体のうち、前記画像に写っていると判断した物体の前記画像上の大きさを特定し、特定した前記大きさに基づいて、前記第二の特徴ベクトルを抽出する、ことを特徴とする請求項1~4のいずれか一つに記載の学習方法。 - 前記第二の特徴ベクトルを抽出する処理は、
前記画像を解析した結果に基づいて、1以上の物体のそれぞれの物体の前記画像上の色特徴を特定し、特定した前記色特徴に基づいて、前記第二の特徴ベクトルを抽出する、ことを特徴とする請求項1~5のいずれか一つに記載の学習方法。 - 前記第二の特徴ベクトルを抽出する処理は、
前記画像を解析した結果に基づいて、1以上の物体のそれぞれの物体が前記画像に写っているか否かを判断し、前記1以上の物体のうち、前記画像に写っていると判断した物体の前記画像上の色特徴を特定し、特定した前記色特徴に基づいて、前記第二の特徴ベクトルを抽出する、ことを特徴とする請求項1~6のいずれか一つに記載の学習方法。 - 前記第三の特徴ベクトルを生成する処理は、
N次元の前記第一の特徴ベクトルに、M次元の前記第二の特徴ベクトルを結合し、N+M次元の前記第三の特徴ベクトルを生成する、ことを特徴とする請求項1~7のいずれか一つに記載の学習方法。 - 対象画像を取得し、
取得した前記対象画像から、前記対象画像全体に関する第四の特徴ベクトルを抽出し、
取得した前記対象画像から、物体に関する第五の特徴ベクトルを抽出し、
抽出した前記第四の特徴ベクトルと、抽出した前記第五の特徴ベクトルとを組み合わせて、第六の特徴ベクトルを生成し、
学習した前記モデルを用いて、生成した前記第六の特徴ベクトルに対応する印象を示すラベルを出力する、
処理を前記コンピュータが実行することを特徴とする請求項1~8のいずれか一つに記載の学習方法。 - 前記モデルは、サポートベクターマシンである、ことを特徴とする請求項1~9のいずれか一つに記載の学習方法。
- 画像を取得し、
取得した前記画像から、前記画像全体に関する第一の特徴ベクトルを抽出し、
取得した前記画像から、物体に関する第二の特徴ベクトルを抽出し、
抽出した前記第一の特徴ベクトルと、抽出した前記第二の特徴ベクトルとを組み合わせて、第三の特徴ベクトルを生成し、
生成した前記第三の特徴ベクトルに、前記画像の印象を示すラベルを対応付けた学習データに基づいて、入力された特徴ベクトルに対応する印象を示すラベルを出力するモデルを学習する、
処理をコンピュータに実行させることを特徴とする学習プログラム。 - 画像を取得し、
取得した前記画像から、前記画像全体に関する第一の特徴ベクトルを抽出し、
取得した前記画像から、物体に関する第二の特徴ベクトルを抽出し、
抽出した前記第一の特徴ベクトルと、抽出した前記第二の特徴ベクトルとを組み合わせて、第三の特徴ベクトルを生成し、
生成した前記第三の特徴ベクトルに、前記画像の印象を示すラベルを対応付けた学習データに基づいて、入力された特徴ベクトルに対応する印象を示すラベルを出力するモデルを学習する、
制御部を有することを特徴とする学習装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021553907A JP7322965B2 (ja) | 2019-10-28 | 2019-10-28 | 学習方法、学習プログラム、および学習装置 |
| PCT/JP2019/042225 WO2021084590A1 (ja) | 2019-10-28 | 2019-10-28 | 学習方法、学習プログラム、および学習装置 |
| US17/725,592 US20220245523A1 (en) | 2019-10-28 | 2022-04-21 | Machine learning method, recording medium, and machine learning device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2019/042225 WO2021084590A1 (ja) | 2019-10-28 | 2019-10-28 | 学習方法、学習プログラム、および学習装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/725,592 Continuation US20220245523A1 (en) | 2019-10-28 | 2022-04-21 | Machine learning method, recording medium, and machine learning device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021084590A1 true WO2021084590A1 (ja) | 2021-05-06 |
Family
ID=75715848
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/042225 Ceased WO2021084590A1 (ja) | 2019-10-28 | 2019-10-28 | 学習方法、学習プログラム、および学習装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20220245523A1 (ja) |
| JP (1) | JP7322965B2 (ja) |
| WO (1) | WO2021084590A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220012365A1 (en) * | 2020-07-11 | 2022-01-13 | AVAST Software s.r.o. | System and method for differentiated privacy management of user content |
| JP2023040332A (ja) * | 2021-09-10 | 2023-03-23 | 大日本印刷株式会社 | 集合間関係性算出装置および情報処理装置 |
| JP2023073734A (ja) * | 2021-11-16 | 2023-05-26 | 日本電信電話株式会社 | 物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム |
| US11924218B2 (en) | 2020-03-16 | 2024-03-05 | AVAST Software s.r.o. | Network resource privacy negotiation system and method |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117274702B (zh) * | 2023-09-27 | 2024-03-29 | 湖南景为电子科技有限公司 | 一种基于机器视觉的手机钢化玻璃膜裂纹自动分类方法和系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015008567A1 (ja) * | 2013-07-18 | 2015-01-22 | Necソリューションイノベータ株式会社 | 顔印象度推定方法、装置、及びプログラム |
| WO2016009569A1 (ja) * | 2014-07-17 | 2016-01-21 | Necソリューションイノベータ株式会社 | 属性要因分析方法、装置、およびプログラム |
| JP2017201454A (ja) * | 2016-05-02 | 2017-11-09 | 日本放送協会 | 画像処理装置及びプログラム |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7680341B2 (en) * | 2006-05-05 | 2010-03-16 | Xerox Corporation | Generic visual classification with gradient components-based dimensionality enhancement |
| US9111146B2 (en) * | 2008-02-15 | 2015-08-18 | Tivo Inc. | Systems and methods for semantically classifying and normalizing shots in video |
| US8086616B1 (en) * | 2008-03-17 | 2011-12-27 | Google Inc. | Systems and methods for selecting interest point descriptors for object recognition |
| US8775424B2 (en) * | 2010-01-26 | 2014-07-08 | Xerox Corporation | System for creative image navigation and exploration |
| US9443314B1 (en) * | 2012-03-29 | 2016-09-13 | Google Inc. | Hierarchical conditional random field model for labeling and segmenting images |
| WO2016070098A2 (en) * | 2014-10-31 | 2016-05-06 | Paypal, Inc. | Determining categories for weakly labeled images |
| US9996768B2 (en) * | 2014-11-19 | 2018-06-12 | Adobe Systems Incorporated | Neural network patch aggregation and statistics |
| US11238362B2 (en) * | 2016-01-15 | 2022-02-01 | Adobe Inc. | Modeling semantic concepts in an embedding space as distributions |
| US10169647B2 (en) * | 2016-07-27 | 2019-01-01 | International Business Machines Corporation | Inferring body position in a scan |
| US10460470B2 (en) * | 2017-07-06 | 2019-10-29 | Futurewei Technologies, Inc. | Recognition and reconstruction of objects with partial appearance |
| US10909423B2 (en) * | 2018-06-07 | 2021-02-02 | Microsoft Technology Licensing, Llc | Generating training data for machine learning classifier |
| CN108810620B (zh) * | 2018-07-18 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 识别视频中的关键时间点的方法、装置、设备及存储介质 |
| US10504027B1 (en) * | 2018-10-26 | 2019-12-10 | StradVision, Inc. | CNN-based learning method, learning device for selecting useful training data and test method, test device using the same |
| US10902264B2 (en) * | 2018-11-25 | 2021-01-26 | International Business Machines Corporation | Automatic generation of secondary class annotations |
| US10540572B1 (en) * | 2019-01-31 | 2020-01-21 | StradVision, Inc. | Method for auto-labeling training images for use in deep learning network to analyze images with high precision, and auto-labeling device using the same |
| US11710034B2 (en) * | 2019-02-27 | 2023-07-25 | Intel Corporation | Misuse index for explainable artificial intelligence in computing environments |
| US11513504B2 (en) * | 2019-10-18 | 2022-11-29 | Applied Materials, Inc. | Characterizing and monitoring electrical components of manufacturing equipment |
| US20220405531A1 (en) * | 2021-06-15 | 2022-12-22 | Etsy, Inc. | Blackbox optimization via model ensembling |
-
2019
- 2019-10-28 WO PCT/JP2019/042225 patent/WO2021084590A1/ja not_active Ceased
- 2019-10-28 JP JP2021553907A patent/JP7322965B2/ja active Active
-
2022
- 2022-04-21 US US17/725,592 patent/US20220245523A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015008567A1 (ja) * | 2013-07-18 | 2015-01-22 | Necソリューションイノベータ株式会社 | 顔印象度推定方法、装置、及びプログラム |
| WO2016009569A1 (ja) * | 2014-07-17 | 2016-01-21 | Necソリューションイノベータ株式会社 | 属性要因分析方法、装置、およびプログラム |
| JP2017201454A (ja) * | 2016-05-02 | 2017-11-09 | 日本放送協会 | 画像処理装置及びプログラム |
Non-Patent Citations (1)
| Title |
|---|
| YANG JUFENG; SHE DONGYU; LAI YU-KUN; ROSIN PAUL L.; YANG MING-HSUAN: "Weakly Supervised Coupled Networks for Visual Sentiment Analysis", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, IEEE, 18 June 2018 (2018-06-18), pages 7584 - 7592, XP033473678, DOI: 10.1109/CVPR.2018.00791 * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11924218B2 (en) | 2020-03-16 | 2024-03-05 | AVAST Software s.r.o. | Network resource privacy negotiation system and method |
| US12113798B2 (en) | 2020-03-16 | 2024-10-08 | AVAST Software s.r.o. | Network resource privacy negotiation system and method |
| US20220012365A1 (en) * | 2020-07-11 | 2022-01-13 | AVAST Software s.r.o. | System and method for differentiated privacy management of user content |
| JP2023040332A (ja) * | 2021-09-10 | 2023-03-23 | 大日本印刷株式会社 | 集合間関係性算出装置および情報処理装置 |
| JP7771580B2 (ja) | 2021-09-10 | 2025-11-18 | 大日本印刷株式会社 | 集合間関係性算出装置および情報処理装置 |
| JP2023073734A (ja) * | 2021-11-16 | 2023-05-26 | 日本電信電話株式会社 | 物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム |
| JP7694350B2 (ja) | 2021-11-16 | 2025-06-18 | 日本電信電話株式会社 | 物体検出装置、物体検出方法、学習装置、学習方法、及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220245523A1 (en) | 2022-08-04 |
| JP7322965B2 (ja) | 2023-08-08 |
| JPWO2021084590A1 (ja) | 2021-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7322965B2 (ja) | 学習方法、学習プログラム、および学習装置 | |
| JPWO2021084590A5 (ja) | ||
| Zuffi et al. | Three-D Safari: Learning to Estimate Zebra Pose, Shape, and Texture from Images" In the Wild" | |
| JP5782404B2 (ja) | 画質評価 | |
| JP5899472B2 (ja) | 人物属性推定システム、及び学習用データ生成装置 | |
| JP6783479B1 (ja) | 動画生成プログラム、動画生成装置及び動画生成方法 | |
| US11677897B2 (en) | Generating stylized images in real time on mobile devices | |
| CN112487207A (zh) | 图像的多标签分类方法、装置、计算机设备及存储介质 | |
| US20190042873A1 (en) | Metric-based recognition, systems and methods | |
| Ververas et al. | Slidergan: Synthesizing expressive face images by sliding 3d blendshape parameters | |
| CN103582902A (zh) | 向现实世界对象的虚拟表示添加属性 | |
| US11393144B2 (en) | System and method for rendering an image | |
| CN108280426B (zh) | 基于迁移学习的暗光源表情识别方法及装置 | |
| CN101601287A (zh) | 产生照片级真实感图像缩略图的设备和方法 | |
| Huang et al. | Visualcritic: Making lmms perceive visual quality like humans | |
| AU2021377685A1 (en) | Systems and methods for artificial facial image generation conditioned on demographic information | |
| CN112242002A (zh) | 基于深度学习的物体识别和全景漫游方法 | |
| Fu et al. | Personality trait detection based on ASM localization and deep learning | |
| CN115797723B (zh) | 滤镜推荐方法、装置、电子设备及存储介质 | |
| CN115080707A (zh) | 对话生成模型的训练方法、装置、电子设备及存储介质 | |
| Zhang et al. | Lidarcapv2: 3d human pose estimation with human–object interaction from lidar point clouds | |
| Hassan | Bangla Sign Language Gesture Recognition System: Using CNN Model | |
| Kasiran et al. | Facial expression as an implicit customers' feedback and the challenges | |
| KR102688501B1 (ko) | 이미지 변환 장치 및 이미지 변환 방법 | |
| Castro et al. | A systematic survey of ML datasets for prime CV research areas—Media and metadata |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19951008 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2021553907 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19951008 Country of ref document: EP Kind code of ref document: A1 |