WO2019244276A1 - 検索システム、検索方法、及びプログラム - Google Patents
検索システム、検索方法、及びプログラム Download PDFInfo
- Publication number
- WO2019244276A1 WO2019244276A1 PCT/JP2018/023456 JP2018023456W WO2019244276A1 WO 2019244276 A1 WO2019244276 A1 WO 2019244276A1 JP 2018023456 W JP2018023456 W JP 2018023456W WO 2019244276 A1 WO2019244276 A1 WO 2019244276A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- search
- image
- information
- searched
- input
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Definitions
- the present invention relates to a search system, a search method, and a program.
- the present invention has been made in view of the above problems, and an object of the present invention is to provide a search system, a search method, and a program capable of speeding up a search.
- a search system calculates a feature amount of input information and prepares a learning device that outputs a classification result of the information based on the feature amount, and a learning device for each classification.
- Storage means for storing at least one of the feature amount and the classification result of the searched information in a database corresponding to the classification of the searched information input to the learning device,
- the feature amount and the classification result At least one of which includes search means for searching for searched information similar to the input information.
- the search method calculates a feature amount of input information in a database prepared for each classification, and, based on the feature amount, outputs a classification result of the information to a learning device that has already input the information.
- a search step of searching for is
- a program calculates a feature amount of input information in a database prepared for each classification, and, based on the feature amount, a learning device that has input to a learning device that outputs a classification result of the information.
- Storage means for storing at least one of the feature amount and the classification result of the information to be searched in a database corresponding to the classification of the search information; input means for inputting input information to the learning device; Searching the retrieved information in which at least one of the feature amount and the classification result is similar to the input information, based on a database corresponding to the classification result of the input information output from the learning device, from the database.
- the computer functions as search means.
- the learning device calculates a feature vector as the feature amount
- the search means includes: a feature vector of information to be searched stored in a database corresponding to a classification result of the input information; The search is performed based on the distance between the input information and the feature vector.
- the storage unit stores at least one of the feature amount of the searched information and the classification result in a database according to a classification result of the searched information output from the learning device. , Is characterized.
- the learning device outputs a probability of each classification as the classification result
- the storage unit stores a probability of the search target information output from the learning device being a threshold or more. At least one of the feature amount of the searched information and the classification result is stored in a database.
- the learning device outputs a probability for each classification as the classification result
- the search unit outputs a database of classifications in which the probability of the input information output from the learning device is equal to or greater than a threshold value. The search is performed based on
- At least one of the feature amount and the classification result is based on each of the plurality of databases. It is characterized in that candidates for information to be searched that are similar to the input information are searched, and the candidates are narrowed down from the candidates.
- the search system includes at least one of the feature amount and the classification result of the input information, and at least one of the feature amount and the classification result of the searched information searched by the search unit. , And a display control means for displaying the similarity in association with the searched information searched by the search means.
- the learning device calculates a feature amount of an input image, outputs a classification result of an object included in the image, the search target information is a search target image, and the input The information is an input image, and the search unit searches for a searched image in which at least one of the feature amount and the classification result is similar to the input image.
- the learning device calculates the feature amount of a region indicating an object included in the input image, and outputs a classification result of the region.
- a classification result of the region is output based on the feature amount of the region with the highest probability of the classification result.
- the storage unit stores at least one of the feature amount and the classification result of a region indicating an object included in the searched image in a database, and the storage unit stores a plurality of overlapping regions.
- the region is included in the searched image, at least one of the feature amount and the classification result of the region where the probability of the classification result is the highest is stored.
- the learning device outputs a classification result of the object included in the input image and position information regarding the position of the object, and the search system is searched by the search unit.
- a display control unit that displays the position information of the search target image in association with the search target image.
- the learning device outputs a classification result of an object included in the input image and position information regarding the position of the object, and the search system associates the input image with the input image.
- a display control unit that displays the position information of the input image.
- the learning device calculates the feature amount and outputs a classification result for each object, and outputs the classification result to the input image and the search target.
- Each of the images includes a plurality of objects, and the search unit searches for a searched image in which at least one of the feature amount and the classification result of some objects is similar to the input image. .
- FIG. 1 is a diagram illustrating an entire configuration of a search system. It is a functional block diagram showing an example of a function realized in a search system. It is a figure showing signs that a learning device outputs a score of an input image. It is a figure showing signs that a learning device outputs a score of an input image. It is a figure showing the example of data storage of a database.
- FIG. 4 is an explanatory diagram of processing of a storage unit.
- FIG. 9 is a diagram illustrating a manner in which a result of a similar image search is displayed on the user terminal. It is a flowchart which shows an example of the process performed in a search system.
- FIG. 9 is a functional block diagram according to a modification of the first embodiment. It is a figure showing signs that a similarity is displayed.
- FIG. 9 is a schematic diagram of a process according to a second embodiment. It is a flowchart which shows an example of the process performed in a search system.
- Embodiment 1 Hereinafter, an example of an embodiment of a search system according to the present invention will be described.
- FIG. 1 is a diagram showing the overall configuration of the search system.
- the search system 1 includes a server 10 and a user terminal 20.
- the server 10 and the user terminal 20 can each be connected to a network such as the Internet.
- a network such as the Internet.
- one server 10 and one user terminal 20 are shown, but a plurality of them may be provided.
- the server 10 is a server computer.
- the server 10 includes a control unit 11, a storage unit 12, and a communication unit 13.
- the control unit 11 includes, for example, at least one microprocessor.
- the control unit 11 performs processing according to programs and data stored in the storage unit 12.
- Storage unit 12 includes a main storage unit and an auxiliary storage unit.
- the main storage unit is a volatile memory such as a RAM
- the auxiliary storage unit is a nonvolatile memory such as a hard disk or a flash memory.
- the communication unit 13 is a communication interface for wired communication or wireless communication, and performs data communication via a network.
- the user terminal 20 is a computer operated by the user, and is, for example, a mobile phone (including a smartphone), a portable information terminal (including a tablet computer), or a personal computer. As shown in FIG. 1, the user terminal 20 includes a control unit 21, a storage unit 22, a communication unit 23, an operation unit 24, a display unit 25, and an imaging unit 26.
- the hardware configurations of the control unit 21, the storage unit 22, and the communication unit 23 may be the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively, and a description thereof will not be repeated.
- the operation unit 24 is an input device, and includes, for example, a pointing device such as a touch panel and a mouse, a keyboard, and the like.
- the operation unit 24 transmits the operation content to the control unit 21.
- the display unit 25 is, for example, a liquid crystal display unit or an organic EL display unit.
- the imaging unit 26 includes at least one camera, and includes, for example, a CMOS image sensor or a CCD image sensor.
- the image capturing unit 26 captures a still image or a moving image and generates image data. In the present embodiment, a case will be described in which the imaging unit 26 is included in the user terminal 20. However, the imaging unit 26 may be provided outside the user terminal 20.
- the programs and data described as being stored in the storage units 12 and 22 may be supplied from another computer via a network.
- the hardware configuration of the server 10 and the user terminal 20 is not limited to the above example, and various hardware can be applied.
- a reading unit for example, an optical disk drive or a memory card slot
- an input / output unit for example, a USB port
- a program or data stored in an information storage medium may be supplied via a reading unit or an input / output unit.
- the search system 1 of the present embodiment stores a learning device for classifying input information and, based on a classification result of the input information input to the learning device, selects input information from a plurality of pieces of information to be searched. Search for information similar to.
- the learning device is a machine learning algorithm.
- a learning device is a type of program that substitutes input information into a calculation expression and outputs a calculation result.
- supervised learning is used as machine learning.
- Various methods can be applied to the machine learning itself.
- a convolutional neural network will be described.
- a recursive neural network may be used. Since the learning device is used to classify information, it can be called a classifier.
- the input information is information used as a query at the time of search.
- the searched information is information to be searched, and is information with an index.
- the searched information is information that has been input to the learning device, and can be said to be classified information.
- the input information and the searched information may be various types of information, and may be, for example, an image, a moving image, an article, a document, text, sound, music, or a website.
- any similar information search may be performed, for example, similar image search, similar video search, similar article search, similar document search, similar text search, similar voice search, similar music search, or similar website.
- a search may be performed.
- a similar image search will be described as an example of a similar information search. Therefore, the portion described as similar image search in the present embodiment can be read as similar information search.
- each of the input information and the searched information is an image
- the portion described as the input image can be read as the input information
- the portion described as the searched image is read as the searched information. be able to.
- each of the input image and the searched image may be a computer graphic created by graphic software.
- the learning device various learning devices that can be used for similar image search can be applied.
- R-CNN for classifying objects included in an image R-CNN for classifying objects included in an image
- Fast @ R-CNN R-CNN
- Faster @ R-CNN R-CNN
- Illustration ⁇ 2 ⁇ vec for vectorizing the features of the image may be used.
- the database is divided for each classification of the object photographed in the searched image, instead of managing the searched images collectively in one database. That is, the search system 1 divides and manages the database for each object classification, executes a similar image search based on the database corresponding to the classification of the input image output from the learning device, and searches for similar data. Reducing the number speeds up similar image retrieval.
- the search system 1 divides and manages the database for each object classification, executes a similar image search based on the database corresponding to the classification of the input image output from the learning device, and searches for similar data. Reducing the number speeds up similar image retrieval.
- FIG. 2 is a functional block diagram illustrating an example of a function realized in the search system 1.
- the search system 1 implements a data storage unit 100, a learning unit 101, a storage unit 102, an input unit 103, a search unit 104, and a display control unit 105.
- the main function related to the search is realized by the server 10 will be described.
- the function is shared between the server 10 and the user terminal 20. Good.
- the data storage unit 100 is realized mainly by the storage unit 12.
- the data storage unit 100 stores data necessary for performing a similar image search.
- the data storage unit 100 stores the learning device L and the database group.
- the learning device L calculates a feature amount of the input information, and outputs a classification result of the information based on the feature amount.
- the search target information is the search target image and the input information is the input image
- the learning device L calculates the feature amount of the input image and outputs the classification result of the object included in the image.
- the input image may mean the input image or the search target image.
- the feature amount is information indicating the feature of the input image or the searched image, and is calculated, for example, by a calculation formula included in the learning device L.
- a convolutional neural network will be described as an example of machine learning. Therefore, a feature amount is calculated by an intermediate layer of the learning device L.
- the hidden layer is a layer arranged between the input layer and the output layer, and is also called a hidden layer.
- the intermediate layer includes at least one calculation formula for calculating a feature value. For example, the coefficients of the calculation formula are determined by the learning unit 101 described later.
- the learning device L may include one intermediate layer or a plurality of intermediate layers. When the learning device L includes a plurality of intermediate layers, each of the plurality of intermediate layers calculates a feature amount.
- the feature amount may be represented in any format, for example, in a vector format, an array format, a numerical format, or a character string format.
- the feature amount is information indicating a feature as an image. For example, at least one of a shape feature of an object and a color feature of an image is determined. Show.
- the shape feature is a feature of the contour of the object, and may mean, for example, a feature of a positional relationship of a feature point or a feature of a shape of a contour detected by an edge detection process.
- the color feature is a feature of a pixel value in an image, and is obtained, for example, by substituting the pixel value into a predetermined calculation formula or calculating a distribution (histogram) of the pixel value.
- the feature vector is n-dimensional (n is a natural number) dimension vector information, and includes n numerical values.
- the feature vector may indicate a feature analyzed from n viewpoints, and each of the n numerical values of the feature vector may indicate a feature of each of the n viewpoints.
- the learning device L outputs a classification result based on the feature vector.
- the classification is the type of the input image or the image to be searched.
- a classification can also be called an attribute, a category, a genre, or a division.
- a classification defined by taxonomy may be used, or a classification uniquely defined by the search system 1 may be used regardless of taxonomy.
- the learning device L classifies the object captured in the input image or the searched image.
- the object may be any object included in the input image or the searched image, and may be, for example, a foreground or a background. If the image is a photograph, a subject included in the photographing range of the photographing unit 26 corresponds to an object, and if the image is a computer graphic, an illustration or a three-dimensional model drawn by graphic software corresponds to the object.
- the learning device L outputs the probability of each classification as a classification result.
- Probability can also be the probability, degree, or scale of belonging to a classification. The higher the probability, the higher the probability of belonging to the class, and the lower the probability, the lower the probability of belonging to the class.
- the probability is indicated by a numerical value of 0 or more and 1 or less. For example, if the probability of a certain class is p (p is a numerical value of 0 or more and 1 or less), the probability of belonging to the class is “100 * p” percent.
- the probability may be shown in an arbitrary numerical range, for example, a numerical value larger than 1 (for example, a numerical range of about several tens to several tens of thousands). .. (For example, symbols indicating ranks such as S, A, B... In descending order of probability).
- the learning device L if the learning device L has learned the characteristics of m types (m is a natural number), the learning device L outputs the probability of each of the m types of classification.
- m is a natural number
- the learning device L outputs the probability of each of the m types of classification.
- a combination of m probabilities output by the learning device L as a classification result is referred to as a score.
- the location described as a score in the present embodiment can be read as a classification result.
- the learning device L learns the characteristics of m types of objects such as dogs, cats, and sheep, and captures each of these m types of objects. Probability is output as a score.
- the object to be learned by the learning device L may be an organism such as an animal or a plant, or may be an inanimate object such as a vehicle or a building.
- FIG. 3-4 is a diagram showing how the learning device L outputs the score of the input image. 3-4, the input layer and the output layer of the learning device L are omitted, and the intermediate layers C1 to C5, FC6, and FC7 included in the learning device L are shown.
- the number of the intermediate layers is seven, the number of the intermediate layers may be arbitrary, and may be, for example, 1 to 6, or 8 or more.
- each of the intermediate layers C1 to C5 includes a convolutional layer for extracting local features of an image, and a pooling layer for collecting the local features.
- the convolutional layer outputs a feature map indicating the shading pattern of the image, and the pooling layer reduces the feature map to create a new feature map.
- the feature maps created by the intermediate layers C1 to C5 may correspond to the feature amounts.
- the number of convolutional layers and pooling layers is five in this example, the number of these may be arbitrary, and may be one to four, or six or more.
- Each of the intermediate layers FC6 and FC7 is a fully connected layer, and combines an image from which a characteristic portion has been extracted through the intermediate layers C1 to C5 into one node, and outputs a value converted by an activation function as a characteristic vector.
- FIG. 3-4 shows the feature vector of the intermediate layer FC7, but the intermediate layer FC6 also outputs the feature vector.
- the total number of the coupling layers is two, but the number of the total coupling layers may be arbitrary, may be one, or may be three or more.
- An output layer (not shown) of the learning device L calculates and outputs a score based on the feature vector output from the intermediate layer FC7.
- the input image I1 in which the dog is photographed is input to the learning device L. Since a dog is an object that has been learned by the learning device L, the score output from the learning device L has a high probability of the dog and a low probability of the other classification. As shown in FIG. 3, the score includes m probabilities, the probability of the dog is high as “0.8”, and all other probabilities are low.
- the input image I2 in which the alpaca is photographed is input to the learning device L.
- the alpaca is an object that has not been learned by the learning device L.
- the score output from the learning device L indicates that the probability of the dog is “0.5”.
- the probability of sheep is "0.6", and these probabilities are slightly higher. All other probabilities are low.
- the probability of the object is high (for example, 0.7 to 1). Is output (for example, less than 0.5).
- an input image of an object which is not a learned object but is similar to a plurality of learned objects (an object having an intermediate characteristic of the plurality of learned objects) is input to the learning device L.
- a score is output in which the probability of each of these objects is slightly higher (for example, 0.5 to 0.7) and the probability of the other objects is lower.
- the learning device L receives an input image of an object whose feature is not similar to any of the learned objects, all the scores with low probabilities are output.
- the learning device L of this embodiment also outputs information other than the score, and can output a plurality of pieces of information. For this reason, as shown in FIG. 3-4, the learning device L branches into two portions after the intermediate layer FC7, and outputs two different pieces of information. Stated another way, the learning device L has a plurality of output layers disposed after the intermediate layer FC7. Note that the learning device L may output only the score without splitting the output layer into two.
- the learning device L may output any information other than the score.
- the case where the position information relating to the position of the object is output will be described. This will be described in 2.
- the learning device L of the present embodiment outputs a score of an object included in the input image and position information on the position of the object.
- the position information is the position of the object in the image, and is indicated by, for example, two-dimensional coordinates.
- box information on a bounding box surrounding an object will be described as an example of position information. Therefore, a portion described as box information in the present embodiment can be read as position information.
- the bounding box may have any shape, for example, a polygon such as a square, a circle or an ellipse.
- a polygon such as a square, a circle or an ellipse.
- the bounding box may be larger or smaller than the circumscribed rectangle.
- the bounding box is an example of an area indicating an object. Therefore, a portion described as a bounding box in the present embodiment can be read as a region indicating an object. Note that the region does not have to be particularly called a box, and may have an arbitrary shape such as a circle or an ellipse as described above.
- the box information may indicate only the position of the bounding box
- the present embodiment describes a case where the box information also indicates the shape of the bounding box.
- the box information includes two-dimensional coordinates indicating the position of the bounding box, and the height and width of the bounding box.
- the two-dimensional coordinates may indicate an arbitrary position of the bounding box, and indicate, for example, a center point, an upper left position, an upper right position, a lower left position, or a lower right position.
- the shape of the bounding box may be specified by arbitrary information, and may be specified by, for example, a diagonal distance or angle.
- the box information indicates that the bounding box is at the position of the two-dimensional coordinates (100, 100), the vertical width is “50” pixels, and the horizontal width is “70” pixels.
- the box information indicates that the bounding box is at the position of the two-dimensional coordinates (80, 90), the vertical width is “60” pixels, and the horizontal width is “65” pixels. .
- the learning device L of the present embodiment calculates and outputs a score based on the feature vector output by the intermediate layer FC7 and the first calculation formula of the output layer. Further, the learning device L calculates and outputs box information based on the feature vector output by the intermediate layer FC7 and the second calculation formula of the output layer.
- the first formula and the second formula are different from each other.
- the first calculation formula is a calculation formula specialized for calculating a score
- the second calculation formula is a calculation formula specialized for calculating box information. The coefficients of the first calculation formula and the second calculation formula are adjusted by the learning unit 101 described later.
- the learning device L may calculate a feature vector from the entire input image and output a classification result of the entire input image, or may calculate a feature vector of a bounding box included in the input image and calculate the feature vector of the bounding box.
- the classification result may be output.
- the learning device L calculates a feature vector based on the pixel values in the bounding box. That is, the learning device L does not need to output the classification result outside the bounding box without referring to the pixel value outside the bounding box.
- a plurality of bounding boxes may be detected depending on the object detection algorithm. For example, in the example of FIG. 3, a large number of bounding boxes may be detected so as to surround the dog photographed in the input image.
- the number of detected bounding boxes may be two, or three to several tens or hundreds, and these bounding boxes overlap each other. Overlap means that the bounding boxes overlap. Stated another way, duplication is that a portion of one bounding box overlaps a portion of another bounding box, and that one bounding box includes another.
- the classification results of all the bounding boxes may be output, but since only one dog is photographed in the bounding boxes, the learning device L outputs the classification results for each of the multiple bounding boxes. The need to do so is low.
- the learning device L outputs the classification result of the bounding box based on the feature vector of the bounding box with the highest probability of the classification result. Is also good.
- the learning device L calculates a score for each bounding box based on the method described above.
- the learning device L leaves the bounding box with the highest probability included in the score and deletes the other bounding boxes.
- the learning device L integrates a plurality of overlapping bounding boxes into a bounding box having the highest probability.
- the learning device may output the classification result of the bounding box having the highest probability, and may not output the classification result of another bounding box.
- the image may include only one object.
- the learning device L calculates a feature vector for each object and calculates a score. May be output.
- the learning device L performs the process described with reference to FIG. 3-4 on each of the plurality of objects to calculate a feature vector, and outputs a score and box information based on the feature vector.
- various object detection algorithms can be applied to the method of detecting an object from an image. For example, Selective Search For Object Recognition (https://koen.me/research/pub/uijlings-ijcv2013-draft.pdf ) Or an algorithm implemented in Fast @ R-CNN or Faster @ R-CNN.
- the classification result may be any information regarding the classification.
- the learning device L may output the classification result among a plurality of classifications.
- the belonging classification may be output.
- the learning device L may output a numerical value indicating a class belonging to a plurality of classes, or may output, for each class, information of “0” or “1” indicating whether or not the class belongs to the class. May be output.
- the database group includes, for each classification, a database DB in which feature vectors of the searched images of the classification are stored.
- the classification and the database DB have a one-to-one relationship, and there are as many database DBs as the number of classifications.
- a plurality of classifications are not collected in one database DB, but the database DB is divided for each classification.
- m types of classifications have been learned in the learning device L, there are m database DBs.
- the database group since the features of objects such as dogs, cats, and sheep are learned in the learning device L, the database group includes a dog database DB1, a cat database DB2, and a sheep database DB3, as shown in FIG. Includes a database DB for each category. For this reason, there is no database (eg, alpaca database) for objects that have not been learned by the learning device L.
- database DBs when it is not necessary to distinguish individual databases such as the dog database DB1, the cat database DB2, and the sheep database DB3, they are simply referred to as database DBs.
- FIG. 5 is a diagram showing an example of data storage in the database DB.
- the database DB stores a file name of the searched image, a feature vector, box information, and a score.
- the data structure of each database DB will be described as being the same, but the data structure may be different depending on the database DB.
- the file name is the name of the image data (image file) of the searched image.
- the image data may be stored in the database DB, or may be stored in a database different from the database DB.
- the database DB may include a path name indicating the storage location of the searched image.
- the feature vector is a feature vector calculated by the intermediate layer FC7 when the search target image is input to the learning device L.
- the feature vector calculated by the intermediate layer FC6 may be stored.
- the box information is box information output when the search target image is input to the learning device L.
- the score is a score output when the search target image is input to the learning device L.
- a case in which a feature vector is used in a similar image search will be described. That is, a case where a search target image having a feature vector similar to the input image is searched will be described. Therefore, the feature vector stored in the database DB becomes an index at the time of search.
- a search target image having a score similar to the input image may be searched.
- the score stored in the database DB becomes an index at the time of search.
- a search target image whose box information is similar to the input image may be searched.
- the box information stored in the database DB includes the index at the time of the search.
- ⁇ Circle around (2) ⁇ Other information may be stored in the database DB. For example, instead of the file name of the searched image, an image ID for uniquely identifying the searched image may be stored. For example, information that does not serve as an index at the time of search may be omitted from the database DB.
- the data stored in the data storage unit 100 is not limited to the above example.
- the data storage unit 100 may store data necessary for the search, and may store, for example, a database in which image data of the searched image is stored. Alternatively, for example, the data storage unit 100 may store teacher data used at the time of learning.
- the learning unit 101 is realized mainly by the control unit 11.
- the learning unit 101 causes the learning device L to learn features of information belonging to each of the plurality of classifications based on the teacher data.
- the learning unit 101 since the similar image search is performed, the learning unit 101 causes the learning device L to learn the features of the objects belonging to each of the plurality of classifications based on the teacher data.
- Teacher data is also called training data, and is data indicating the relationship between input and output.
- the teacher data since the input is an image and the output is score and box information, the teacher data is data in which many combinations of the image and the correct answer of the score and the box information are stored.
- the teacher data may be created by part or all of the searched image, or may be created by an image that is not the searched image.
- the correct answer of the score is a score that accurately indicates the classification, and is input by a human hand, for example.
- the correct answer of the score is a score that the learning device L wants to output (a score that the learning device L should output).
- a score that the learning device L should output For example, in the case of an image in which a dog is photographed, a score such as [1, 0, 0...] Is correct, and in the case of an image in which a cat is photographed, a score such as [0, 1, 0. Is the correct answer.
- a score such as [0.5, 0, 0.6...] May be used as the correct answer.
- the correct answer of the box information is information that accurately indicates the position and shape of the bounding box, and is input, for example, by a human hand.
- the correct answer of the box information is box information desired to be output to the learning device L (box information to be output by the learning device L).
- the learning unit 101 determines the calculation formula of each layer of the learning device L so that the relationship between the input and the output indicated by the teacher data can be obtained. For example, each of the intermediate layers C1 to C5, FC6, and FC7 is learned based on the relationship between the image and the correct answer of the score and box information. On the other hand, since the middle layer FC7 and thereafter are branched into two, the output layer of the score is learned by the relationship between the image and the correct answer of the score, and the output layer of the box is learned by the relationship between the image and the correct answer of the box information. Will be done.
- the storage unit 102 is realized mainly by the control unit 11.
- the storage unit 102 stores at least one of the feature vector and the score of the search target image in a database DB corresponding to the classification of the search target image input to the learning device L among the database DBs prepared for each classification. .
- the storage unit 102 stores both the feature vector and the score in the database DB.
- the storage unit 102 may store, in the database DB, the feature vector and the score used as an index for similar image search.
- the storage unit 102 may store other information such as a file name and box information in the database DB.
- ⁇ ⁇ Being already input to the learning device L means that it has been input to the learning device L in the past. That is, it is assumed that the search target image is input to the learning device L at least once, and the learning device L has calculated the feature vector of the search target image and output the score and the box information.
- the storage unit 102 acquires the feature vector and the score of the searched image output from the learning device L.
- the database DB according to the classification is a database DB of the classification to which the searched image belongs.
- the search target image may be classified by a human hand or may be classified by the score output from the learning device L. That is, the storage unit 102 may store the feature vector and the score of the searched image in the database DB of the classification specified by the person, or may store the feature vector and the score of the searched image in the database DB determined by the score. You may.
- the storage unit 102 stores the feature vector and the score of the searched information in a database DB corresponding to the score of the searched information output from the learning device L. That is, for example, the storage unit 102 determines the database DB that stores the feature vector of the searched image based on the score of the searched image output from the learning device L.
- the storage unit 102 since the score indicates the probability of each classification, stores, in the database DB of the classification in which the probability of the search target image output from the learning device L is equal to or more than the threshold, the feature vector of the search target image and Store the score.
- the threshold value may be a predetermined value, and is assumed to be stored in the data storage unit 100.
- the threshold value may be a value common to all classifications, or a value corresponding to the classification may be set.
- the threshold value may be any value, but when an object that has not been learned by the learning device L is also used as the search target image, such as an alpaca in FIG. 4, it is preferable not to set a numerical value higher than necessary.
- the threshold value may be set to about 30% to 70% of the upper limit value of the probability (here, 1.0), and is set to 50% (here, 0.5) in the present embodiment.
- the storage unit 102 compares the probability of each classification indicated by the score of the searched image with the threshold, and specifies the classification having the probability equal to or higher than the threshold. If there are a plurality of classes whose probabilities are equal to or larger than the threshold, the storage unit 102 specifies these plurality of classes.
- the storage unit 102 stores the file name, feature vector, box information, and score of the searched image in the database DB of the specified classification. It should be noted that the file name may be given so as not to overlap with other searched images.
- FIG. 6 is an explanatory diagram of the processing of the storage unit 102.
- data stored in each database DB is indicated by a solid-line circle.
- the solid line circle in FIG. 6 indicates the searched image with a probability of 0.5 or more
- the dotted line A circle indicates a searched image whose probability is 0.8 or more.
- the search target image I1 (FIG. 3) in which the dog is photographed is stored only in the dog database DB1 because the probability of the dog is 0.8 and the other probabilities are less than 0.5.
- the searched image I3 is stored only in the cat database DB2.
- the searched image I4 is stored only in the sheep database DB3. .
- the search target image in which the object of the classification learned by the learning device L is captured is stored only in the database DB of the classification.
- the object is stored in the database DB of each of the plurality of classifications. Is done.
- a search target image for example, the input image I2 in FIG. 4 in which an alpaca not learned by the learning device L is captured
- the probability of a dog is 0.5
- the probability of a sheep is 0.6
- other probabilities are less than 0.5
- they are stored in the dog database DB1 and the sheep database DB3.
- a lion that has not been trained by the learning device L looks similar to a dog and a cat (has an intermediate characteristic between a dog and a cat), so that the probability of a dog and the probability of a cat increase considerably.
- the searched image I5 is , Are stored in the dog database DB1 and the cat database DB2.
- the storage unit 102 may store the feature vector and the score of the entire searched image in the database DB, or may store the feature vector and the score of the bounding box included in the searched image in the database DB.
- the learning device L stores the feature vector and the score obtained based on the pixel values in the bounding box. That is, the storage unit 102 may store the feature vector and the score obtained without referring to the pixel values outside the bounding box.
- the storage unit 102 stores the feature vector of each of the multiple bounding boxes. And the need to store the scores in the database DB is low.
- the storage unit 102 may store at least one of the feature vector and the score of the bounding box with the highest probability of the classification result.
- a feature vector and a score are calculated for each bounding box based on the above-described method, the bounding box with the highest probability included in the score remains, and the other bounding boxes are deleted. Stated another way, multiple overlapping bounding boxes are merged into the most probable bounding box.
- the storage unit 102 may store the feature vector and the score of the bounding box with the highest probability in the database DB.
- the storage unit 102 may store the feature vector and the score of the image to be searched in the database DB of the classification having the highest probability indicated by the score of the image to be searched, instead of using the threshold. Further, for example, the storage unit 102 specifies a predetermined number of classifications in descending order of the probability indicated by the score of the search target image, and stores the feature vector and the score of the search target image in each database DB of the predetermined number of classifications. You may.
- the classification of the searched image is performed by a person, and the storage unit 102 determines the database DB that stores the file name, the feature vector, the box information, and the score of the searched image based on the classification determined by the person. May be.
- the storage unit 102 stores the file of the image to be searched based on the teacher data. A name, a feature vector, box information, and a score may be stored.
- the searched image may be an image prepared in advance by the search system 1 or an image acquired from the Internet by the search system 1, but a similar image search has been executed.
- the input image may be a new search target image.
- the storage unit 102 assigns a file name to the input image at an arbitrary timing before and after the similar image search ends, and adds a new search target image together with the feature vector, box information, and score obtained from the learning device L. May be stored in the database DB corresponding to the score.
- the input unit 103 is realized mainly by the control unit 11.
- the input unit 103 inputs an input image to the learning device L. Since the input image is transmitted from the user terminal 20 to the server 10, when the server 10 receives the input image from the user terminal 20, the input unit 103 inputs the input image to the learning device L.
- a convolutional neural network will be described as an example of the learning device L. Therefore, the input unit 103 inputs an input image to the input layer of the learning device L.
- the search unit 104 is realized mainly by the control unit 11.
- the search unit 104 is configured such that at least one of the feature vector and the score is similar to the input information, based on the database DB corresponding to the classification result of the input information output from the learning device L among the database DB prepared for each classification. Search the searched information.
- the search unit 104 searches for a search target image in which at least one of the feature vector and the score is similar to the input image.
- the search unit 104 searches for a searched image whose feature vector is similar to the input image.
- the search unit 104 determines that the searched image whose both the feature vector and the score are similar to the input image. May be searched, or a searched image whose score is similar to the input image may be searched. That is, the index of the similar image search may be both the feature vector and the score, or only one of the feature vector and the score.
- Similar feature vectors mean that the difference (shift) between feature vectors is small.
- the difference may mean a distance between the vectors or an angle between the vectors.
- the smaller the difference between the feature vectors is the more similar the input image and the searched image are.
- the larger the difference between the feature vectors is the more dissimilar the input image and the searched image are.
- the shorter the distance the more similar the input image and the searched image, and the longer the distance, the more dissimilar the input image and the searched image.
- the smaller the angle the more similar the input image and the searched image are. The larger the angle, the more dissimilar the input image and the searched image.
- Similar scores mean that differences (shifts) in scores are small.
- the difference here means a difference between numerical values.
- the smaller the difference between the scores the more similar the input image and the searched image are.
- the larger the difference between the scores the more dissimilar the input image and the searched image are.
- the smaller the difference between the numerical values indicated by the scores the more similar the input image and the searched image are.
- the larger the difference between the numerical values indicated by the scores the more dissimilar the input image and the searched image are.
- the database DB corresponding to the score of the input image is a database DB determined based on the score of the input image.
- the database DB corresponding to the score of the input image is a database DB of a classification to which the input image belongs.
- the search unit 104 sets a database DB according to the score of the input image as a search target, and does not set other database DBs as search targets.
- the search target refers to referring to data for a search, and refers to an index (here, a feature vector) in the database DB.
- the search unit 104 since the probability of each class is included in the score, the search unit 104 performs a search based on the database DB of the class in which the probability of the input image output from the learning device L is equal to or larger than the threshold.
- the threshold value may be a predetermined value, and is assumed to be stored in the data storage unit 100.
- the threshold value may be the same value as the threshold value described in the storage unit 102, or may be a different value.
- the threshold value may be a value common to all classifications, or a value corresponding to the classification may be set.
- the threshold value may be any value, but an input image of an object that has not been learned by the learning device L may be input to the learning device L, such as an alpaca in FIG. It is preferable not to set a high numerical value.
- the threshold value may be set to about 30% to 70% of the upper limit value of the probability (here, 1.0), and is set to 50% (here, 0.5) in the present embodiment.
- the search unit 104 compares the probability of each classification indicated by the score of the input image with a threshold, and specifies a classification having a probability equal to or higher than the threshold. If there are a plurality of classes whose probabilities are equal to or larger than the threshold, the storage unit 102 specifies these plurality of classes. The search unit 104 specifies the database DB of the specified classification as a database DB corresponding to the score.
- the search unit 104 may search all records in the database DB according to the score, or may search only some records. If only some of the records are to be searched, the search unit 104 may randomly select the records to be searched, or may refer to a predetermined number of records in ascending record number. Alternatively, for example, the search unit 104 may terminate the similar image search when a predetermined number of searched images whose feature vectors are similar to the input image are found, and may not search other records. For the search itself, various methods can be used. For example, a k-nearest neighbor method (k is a natural number), which is one of the nearest neighbor search problems, may be used.
- the search unit 104 performs a search based on the distance between the feature vector of the search target image stored in the database DB corresponding to the score of the input image and the feature vector of the input image.
- Various methods can be used for the method of calculating the distance itself. For example, the Euclidean distance may be used.
- the search unit 104 calculates the distance between the feature vector of the search target image and the feature vector of the input image for each search target image whose feature vector is stored in the database DB according to the score of the input image.
- the search unit 104 acquires a predetermined number of searched images in ascending order of distance as searched images similar to the input image.
- the predetermined number may be an arbitrary number, and is a value of k when the k-nearest neighbor method is used.
- the search unit 104 may acquire a search target image having the shortest distance as a search target image similar to the input image, or the search unit 104 may search for a search target image whose distance is less than the threshold. May be acquired as search target images similar to the input image.
- the search unit 104 may search each of the plurality of database DBs for a search target image similar to the input image, but in the present embodiment, In a case where there are a plurality of database DBs corresponding to the scores of the input image, the search unit 104 determines a candidate for the searched image whose at least one of the feature vector and the score is similar to the input image based on each of the plurality of database DBs. And narrow down from the candidates. For example, the search unit 104 specifies a search target image similar to the input image as a candidate for each database DB in the same manner as described above. After that, the search unit 104 narrows down the candidates.
- the search unit 104 may refer to the distances of the candidates searched from each of the plurality of database DBs, and narrow down a predetermined number of searched images in ascending order as the searched images similar to the input image. The meaning of the predetermined number is as described above. Further, for example, the search unit 104 may acquire the candidate having the shortest distance as a search target image similar to the input image. Further, for example, the search unit 104 may acquire all the candidates whose distance is less than the threshold as search target images similar to the input image. However, the threshold value in this case is smaller than the threshold value for obtaining a candidate, and the conditions are strict.
- each of the input image and the searched image may include only one object, but when each of the input image and the searched image includes a plurality of objects, the search unit 104 A search target image in which at least one of the feature vector and the score of the object is similar to the input image may be searched. That is, similar images may be searched for as a whole image, but in the present embodiment, it is assumed that images similar in part to one another are searched.
- the display control unit 105 is realized mainly by the control unit 11.
- the display control unit 105 displays the box information of the searched image in association with the searched image searched by the searching unit 104.
- the display control unit 105 is realized by the server 10.
- the display control unit 105 transmits the image data of the search target image searched by the search unit 104 to the user terminal 20, and The search image is displayed on the display unit 25 of the user terminal 20.
- Displaying the box information means displaying the position indicated by the box information in an identifiable manner.
- the box information indicates the position and shape of the bounding box
- displaying the position and shape of the bounding box in an identifiable manner corresponds to displaying the box information.
- the display control unit 105 since the display control unit 105 is realized by the server 10, for example, the display control unit 105 causes the display unit 25 of the user terminal 20 to display the box information by transmitting the box information to the user terminal 20. Displaying the box information in association with the image means displaying the box information together with the image.
- the display control unit 105 may display the position information of the box image in association with the input image.
- the display control unit 105 since the display control unit 105 is realized by the server 10, for example, the display control unit 105 displays the box information on the display unit 25 of the user terminal 20 by transmitting the box information to the user terminal 20. Let it.
- FIG. 7 is a diagram illustrating a state in which the result of the similar image search is displayed on the user terminal 20.
- an image selection screen G1 for the user to select an input image is displayed on the display unit 25.
- the user selects an input image from the input form F10 and selects the button B11, the input image is uploaded to the server 10, and a similar image search is performed by the search unit 104.
- the display control unit 105 transmits the box information of the input image, the image data of the searched image, and the box information of the searched image to the user terminal 20.
- a search result screen G2 for displaying the result of the similar image search is displayed on the display unit 25.
- a bounding box B22A is displayed on the input image selected by the user, and in the display area A21, for each image to be searched, a bounding box is displayed on the image to be searched.
- B22B and B22C are displayed.
- FIG. 8 is a flowchart illustrating an example of a process performed in the search system 1.
- the process illustrated in FIG. 8 is executed by the control unit 11 operating according to the program stored in the storage unit 12, and the control unit 21 operating according to the program stored in the storage unit 22.
- the processing described below is an example of processing executed by the functional blocks illustrated in FIG.
- the control unit 21 transmits the input image selected on the image selection screen G1 to the server 10 (S100).
- the control unit 21 may transmit, as an input image, an image selected from images stored in the storage unit 22 or a cloud server (not shown), or may transmit an image captured by the imaging unit 26. It may be transmitted as an input image.
- the control unit 11 inputs the input image to the learning device L (S101).
- the learning device L calculates a feature vector of the input image, and outputs a score and box information based on the feature vector.
- the learning device L outputs a feature vector, box information, and a score for each bounding box. Output a data set.
- the control unit 11 acquires the feature vector, the box information, and the score of the input image from the learning device L (S102).
- the control unit 11 detects a bounding box from the input image and acquires a feature vector based on pixels in the bounding box. Then, the control unit 11 acquires box information indicating the position and shape of the detected bounding box. Further, the control unit 11 acquires the score of the bounding box based on the feature vector of the bounding box.
- the control unit 11 may combine the plurality of bounding boxes into a bounding box having the highest score, and then execute the processing of S103 to S106. .
- Various well-known processes can be applied to the process of collecting the bounding boxes. For example, an algorithm of Non-Maximum ⁇ Suppression can be applied.
- the control unit 11 executes the subsequent processing of S103 to S106 based on the score of the highest bounding box among the plurality of bounding boxes.
- the processing of S102 to S106 may be executed for each bounding box.
- the control unit 11 specifies a classification in which the probability indicated by the score of the input image is equal to or higher than the threshold (S103). If there is no classification whose probability is equal to or larger than the threshold, the processing of S103 to S106 may not be performed, and a message such as "No similar image exists" may be displayed on the user terminal 20.
- the control unit 11 refers to the database DB of the classification specified in S103 among the group of databases stored in the storage unit 12 (S104).
- the control unit 11 refers to the database DB of each of the plurality of classifications.
- the control unit 11 calculates the distance between the feature vector of the searched image stored in the database DB referred to in S104 and the feature vector of the input image acquired in S102 (S105).
- the control unit 11 determines the feature vector of the search target image stored in each of the plurality of database DBs and the feature of the input image. Calculate the distance between the vector and the vector.
- the control unit 11 specifies a searched image similar to the input image based on the distance calculated in S106 (S106).
- the control unit 11 selects a predetermined number of objects from the searched images in which the feature vectors are stored in the database DB specified in S104 (that is, the searched images whose distances have been calculated in S105) in ascending order of distance. Identify the search image.
- the control unit 11 executes the processing in the database DB.
- a predetermined number of searched images are specified in ascending order of distance.
- the control unit 11 may narrow down a predetermined number of searched images from the specified searched images in ascending order of distance.
- the control unit 11 acquires the image data and the box information of the searched image specified in S106 based on the database DB specified in S104 (S107). In S107, the control unit 11 acquires the image data of the searched image based on the file name referred to in the record of the searched image specified in S106, and acquires the box information stored in the record. .
- the control unit 11 transmits the box information of the input image acquired in S102 and the image data and the box information of the searched image acquired in S107 to the user terminal 20 (S108).
- the control unit 11 stores the feature vector, the box information, and the score of the input image as the search target image in the database DB in which the probability indicated by the score of the input image is equal to or larger than the threshold (S109). In S109, the control unit 11 adds the input image as a new search target image.
- the control unit 21 causes the display unit 25 to display the search result screen G2 (S110), and the process ends.
- the control unit 21 displays the input image and the bounding box B22A in the display area A20, and displays the search target image and the bounding boxes B22B and B22C in the display area A21.
- the database DB is divided for each classification, the search is executed based on the database DB corresponding to the score of the input image, and the search is performed by reducing the data to be searched.
- Speed can be increased. For example, by dividing the database into m database DBs, if there is one classification whose probability of the score is equal to or more than the threshold, compared to a case where all the searched images are managed by one database, Can be reduced to “1 / m”, and the similar image search can be performed m times faster. Further, by suppressing the amount of data to be searched, the processing load on the server 10 can be reduced.
- a search is performed based on the distance between the feature vector of the image to be searched and the feature vector of the input image, and the accuracy of the search can be improved by using an accurate index of the distance. Further, by using a distance that can be easily calculated, similar image retrieval can be performed at a higher speed, and the processing load on the server 10 can be reduced.
- the feature vector and the like of the searched image are stored in the database DB corresponding to the score of the searched image output from the learning device L, it is not necessary to specify the database DB in which the searched image is to be stored. be able to. Further, immediately after the similarity search of the input image is executed, the input image can be used as the search target image, so that the amount of the search target image can be increased. As a result, the probability of searching for a more similar image to be searched increases, and the accuracy of the search can be improved.
- the database of the searched image is stored in a more suitable database DB. Since the feature vector and the like are stored, the speed of the search can be further increased, and the accuracy of the search can be improved.
- a more suitable database DB can be set as a search target, and the search can be performed more efficiently. It is also possible to increase the speed and reduce the processing load on the server 10. Further, the accuracy of the search can be improved.
- a search for a candidate for an image to be searched similar to the input image is performed based on each of the plurality of database DBs, and narrowing down is performed from among them.
- the accuracy of the search can be improved.
- the similarity is integrated by integrating the bounding boxes with the highest probability indicated by the score and outputting the classification result based on the feature vector of the bounding box. Search accuracy can be improved. In other words, it is possible to prevent a similar image from being searched based on a bounding box having a relatively low probability indicated by the score. In addition, when a large number of bounding boxes are detected, searching for similar images for each of the bounding boxes takes a long time to perform a search process. Can be effectively reduced.
- the accuracy of similar image search is improved by storing the feature vector and the score of the bounding box having the highest probability of the score in the database DB. Can be. In other words, it is possible to prevent a similar image from being searched based on a feature vector of a bounding box having a relatively low probability indicated by a score and the score.
- the feature vectors and scores of many bounding boxes are stored in the database DB, the memory consumption of the database DB increases, but the feature vectors and scores are stored in the database DB after integrating the bounding boxes. By doing so, the memory consumption of the database DB can be reduced. Further, by reducing the information referred to in the similar image search, the similar image search can be further speeded up, and the processing load on the server 20 can be effectively reduced.
- FIG. 9 is a functional block diagram according to a modification of the first embodiment. As shown in FIG. 9, in a modification of the first embodiment, a similarity acquisition unit 106 is realized in addition to the functions described in the first embodiment. The similarity acquisition unit 106 is implemented mainly by the control unit 11.
- the similarity acquisition unit 106 acquires a similarity based on at least one of the feature vector and the score of the input image and at least one of the feature vector and the score of the search target image searched by the search unit 104.
- a similarity is obtained based on the feature vector will be described, but the similarity may be obtained based on both the feature vector and the score, or may be obtained based on only the score. .
- Similarity is a value indicating the degree of similarity. The higher the similarity, the higher the similarity, and the lower the similarity, the lower the similarity. For example, the similarity increases as the difference between the feature vectors decreases, and decreases as the difference between the feature vectors increases. Further, for example, the similarity increases as the score difference decreases, and decreases as the score difference increases.
- the similarity calculation formula may be stored in advance in the data storage unit 100, and the similarity acquisition unit 106 calculates the similarity based on the feature vector of the input image, the feature vector of the searched image, and the similarity calculation formula. Get similarity.
- the similarity acquisition unit 106 may acquire the similarity by substituting the distance between these feature vectors into a calculation formula, or may acquire the distance as the similarity as it is.
- the display control unit 105 displays the similarity in association with the searched image searched by the search unit 104.
- the display control unit 105 since the display control unit 105 is realized by the server 10, for example, the display control unit 105 causes the display unit 25 of the user terminal 20 to display the similarity by transmitting the similarity to the user terminal 20. Displaying the similarity in association with the searched image means displaying the similarity together with the searched image.
- FIG. 10 is a diagram showing a state in which the similarity is displayed.
- the similarities D23A and D23B of the searched image are displayed for each searched image.
- FIG. 10 shows a case where the similarities D23A and D23B are displayed on the searched image
- the similarities D23A and D23B may be displayed inside the searched image or may be displayed on the searched image. It may be displayed below, to the left or to the right of the image.
- the similarity between the input image and the searched image is displayed on the search result screen G2, and it is easy to grasp how similar the input image and the searched image are.
- the search system 1 may execute another arbitrary similar information search.
- the learning device L may calculate a feature vector of an input moving image and output a classification result of the moving image.
- the category of the moving image is a genre of the moving image, and may be, for example, a comedy, an action, or a horror.
- the data storage unit 100 stores a database DB in which at least one of the feature vector and the score of the searched moving image is stored for each moving image classification.
- the search unit 104 searches for a searched video in which at least one of the feature vector and the score is similar to the input video, based on the database DB corresponding to the score of the input video output from the learning device L.
- the learning device L calculates a feature vector of an input character string, and determines a classification result of the character string. May be output.
- the classification of the character string is a genre of contents, and may be, for example, a classification such as economy, sports, entertainment, academic paper, or word of mouth.
- the data storage unit 100 stores a database DB in which at least one of a feature vector and a score of a searched article, a searched document, or a searched text is stored for each classification.
- the search unit 104 determines that at least one of the feature vector and the score is based on the input article, the input document, or the input text based on the database DB corresponding to the score of the input article, the input document, or the input text output from the learning device L. A similar searched article, searched document, or searched text is searched.
- the learning device L calculates a feature vector of the input voice or music, and outputs a classification result of the voice or music. Is also good.
- the classification of the character string is a genre of audio or music, and may be, for example, a classification such as rock, classic, pop, news program, or educational program.
- the data storage unit 100 stores a database DB in which at least one of a feature vector and a score of a searched voice or a searched music is stored for each classification.
- the search unit 104 is configured to search a voice or a search target for which at least one of a feature vector and a score is similar to the input voice or the input music, based on the database DB corresponding to the score of the input voice or the input music output from the learning device L. Search for music.
- the search system 1 when used for similar website search, the input web is searched for using at least one of similar image search, similar video search, similar article search, similar document search, and similar text search.
- a search target website similar to the site may be searched.
- the box information is used to display a bounding box on the search result screen G2.
- the box information may be used in a similar image search.
- FIG. 11 is a schematic diagram of the processing of the second embodiment. As illustrated in FIG. 11, not only a feature vector and a score but also box information may be searched for a searched image to search for a searched image in which the position and shape of a bounding box are similar to the input image. . In the example of FIG. 11, it is assumed that images to be searched I6 to I8 whose feature vectors are similar to the input image I2 have been searched.
- the searched image I7 has the most similar position and shape to the bounding box B2 of the input image I2.
- the searched image I7 is displayed on the search result screen G2.
- the search system 1 according to the second embodiment can improve search accuracy by searching for images to be searched that are similar from a plurality of viewpoints.
- details of the search system 1 of the second embodiment will be described.
- description of the same contents as in the first embodiment will be omitted.
- the data storage unit 100 according to the second embodiment may be similar to the data storage unit 100 described in the first embodiment.
- the data storage unit 100 stores a learning device L and a database group.
- a configuration in which a database DB is prepared for each classification (a configuration in which the database DB is divided according to the classification) may not be adopted, and one database DB may be used for a plurality of classifications.
- the feature vectors and the like of the searched images of each of the plurality of classifications may be stored in one database DB.
- the processing in which the search unit 104 refers to the database DB according to the classification of the input image is omitted.
- the learning device L of the second embodiment may be the same as the learning device L described in the first embodiment. For example, the learning device L calculates a feature amount of the input information, and based on the feature amount, a first analysis result of the information in a first viewpoint and a second analysis result of the information in a second viewpoint. And the analysis result of.
- the learning device L calculates the feature amount of the input image and determines the feature of the image from the first viewpoint. The first analysis result that has been analyzed and the second analysis result that has analyzed the characteristics of the image from a second viewpoint are output.
- the meaning of the feature amount is as described in the first embodiment, and also in the second embodiment, the case where the learning device L calculates the feature vector as the feature amount will be described as an example.
- a point of view is a way of analyzing information, and can also be a viewpoint.
- the learning device L includes an intermediate layer, a first output layer, and a second output layer.
- the hidden layer is arranged before branching into the first output layer and the second output layer, and calculates the "feature vector". Stated another way, the hidden layer calculates a feature vector before each of the first output layer and the second output layer calculates, and each of the first output layer and the second output layer , The calculated feature vector is sent.
- the first output layer outputs a first analysis result based on the feature vector calculated by the intermediate layer before branching.
- the first output layer includes a first calculation expression, and a first analysis result is calculated by substituting the feature vector into the first calculation expression.
- the second output layer outputs a second analysis result based on the feature vector calculated by the intermediate layer before branching.
- the second output layer includes a second calculation expression, and a second analysis result is calculated by substituting the feature vector into the second calculation expression.
- the first calculation formula is a calculation formula reflecting the learning result from the first viewpoint
- the second calculation formula is a calculation formula reflecting the learning result from the second viewpoint.
- the learning device L may calculate a feature vector from the entire input image and output the first analysis result and the second analysis result, or may output a bounding box included in the input image. May be calculated, and the first analysis result and the second analysis result of the bounding box may be output. Further, the processing when a plurality of bounding boxes overlap each other may be the same as that in the first embodiment. When the plurality of overlapping bounding boxes are included in the input image, the learning device L performs the first processing. The first analysis result and the second analysis result of the region may be output based on the characteristic vector of the bounding box having the highest probability of at least one of the analysis result and the second analysis result.
- classification of information and extraction of the position of a bounding box will be described as an example of the analysis.
- the analysis is not limited to these, and various analysis may be performed.
- the analysis is applicable. For example, extracting a feature amount of information may correspond to analysis.
- the first analysis result may be a classification result of the input information.
- the first analysis result since a similar image search is executed, a case where the first analysis result is the score of the input image will be described. Therefore, the portion described as the score in the second embodiment can be read as the first analysis result.
- ⁇ Learning device L of the second embodiment outputs the probability of each classification as a classification result, as in the first embodiment. Note that the learning device L may output information other than the probability as the classification result, as described in the first embodiment.
- the second analysis result may be box information on the position of the object. Therefore, the portion described as the box information in the second embodiment can be read as the second analysis result.
- the learning device L according to the second embodiment outputs the score of the object included in the input image as the first analysis result, and outputs the box information regarding the position of the object as the second analysis result, as in the first embodiment. Will be.
- each of the input image and the searched image may include only one object, but each of the input image and the searched image may include a plurality of objects.
- the learning device L is similar to the first embodiment in that, when a plurality of objects are included in an input image, the learning device L may calculate a feature vector for each object and output scores and box information.
- the learning unit 101 of the second embodiment may be the same as the learning unit 101 described in the first embodiment.
- the teacher data defines the relationship between the information and the correct answer of each of the first analysis result and the second analysis result
- the learning unit 101 configures the learning device L based on the teacher data. Let them learn.
- the learning unit 101 adjusts the coefficient of the first calculation formula of the first output layer so as to obtain the correct answer of the first analysis result indicated by the teacher data, and adjusts the coefficient of the second analysis result indicated by the teacher data.
- the coefficients of the second calculation formula of the second output layer are adjusted so as to obtain the correct answer.
- the storage unit 102 of the second embodiment may be the same as the storage unit 102 described in the first embodiment, and stores the feature vector of the searched image input to the learning device L in the database DB.
- the database DB does not have to be divided for each classification. In this case, the process of determining the database DB that stores the feature vector is omitted.
- the storage unit 102 may store the feature vector of the searched information in a database DB corresponding to the classification of the searched image, of the database DB prepared for each classification. . Further, for example, similarly to the first embodiment, the storage unit 102 may store the searched image in a database DB corresponding to the score of the searched image output from the learning device L. Further, for example, similarly to the first embodiment, the storage unit 102 may store the searched image in the database DB of the classification in which the probability of the searched image output from the learning device L is equal to or more than the threshold. The details of these processes are as described in the first embodiment.
- the storage unit 102 may determine at least one of the first analysis result and the second analysis result. May be stored. A feature vector and a score are calculated for each bounding box based on the above-described method, the bounding box with the highest probability included in the score remains, and the other bounding boxes are deleted. Stated another way, multiple overlapping bounding boxes are merged into the most probable bounding box.
- the storage unit 102 may store the feature vector of the bounding box with the highest probability in the database DB.
- the input unit 103 of the second embodiment may be the same as the data storage unit 100 described in the first embodiment, and inputs an input image to the learning device L.
- the search unit 104 searches for searched information whose feature vector is similar to the input information based on the database DB. In the second embodiment, since a similar image search is performed, the search unit 104 searches for a searched image whose feature vector is similar to the input image.
- the similar image search may be performed based on the feature vector.
- Other information may be used or may not be used.
- the similar image search is performed using only the feature vector without using other information, the feature vector includes the features of both the first viewpoint and the second viewpoint, and as a result, A search target image having a similar score and box information is also searched.
- the search unit 104 may search for a searched image whose score is similar to the input image, and may search the searched searched image for a searched image whose feature vector is similar to the input image. That is, not only the feature vector but also the score may be used as an index.
- the meaning of similar scores is as described in the first embodiment.
- the search unit 104 refers to the database DB and searches for a searched image whose score is similar to the input image based on the difference between the score of the searched image and the score of the input image. For example, the search unit 104 acquires a predetermined number of images to be searched as a search result in ascending order of the score difference. Further, for example, the search unit 104 may acquire, as a search result, a search target image in which the difference between the scores is less than the threshold.
- the search unit 104 searches for a search target image whose box information is similar to the input image from search target images whose scores are similar to the input information.
- a search target image similar to the input image may be searched. That is, not only the feature vector and score, but also box information may be used as an index.
- Similar box information means that the difference (shift) between the box information is small.
- the difference here means a difference between numerical values.
- the larger the difference between the numerical values indicated by the box information is, the more dissimilar the input image and the searched image are.
- the search unit 104 searches for a search target image whose analysis result is similar to the input image. What is necessary is just to search for a similar image to be searched.
- the search unit 104 may search for a searched image whose feature vector is similar to the input image based on the database DB corresponding to the score of the input image among the database DB prepared for each classification. Further, for example, the search unit 104 may perform a search based on the distance between the feature vector of the searched image stored in the database DB and the feature vector of the input image.
- the search unit 104 may perform the search based on the database DB of the classification in which the probability of the input image output from the learning device L is equal to or more than the threshold. Further, for example, when there are a plurality of database DBs according to the classification result of the input image, the search unit 104 searches for a candidate of a searched image whose feature vector is similar to the input image based on each of the plurality of database DBs. Then, the candidates may be narrowed down from the candidates. For example, each of the input image and the search target image includes a plurality of objects, and the search unit 104 may search for a search target image in which the feature vectors of some objects are similar to the input image. These processes are also as described in the first embodiment.
- the display control unit 105 according to the second embodiment may be the same as the display control unit 105 described in the first embodiment.
- the display control unit 105 may display the box information of the search target image in association with the search target image searched by the search unit 104. Further, for example, the display control unit 105 may display the position information of the input image in association with the input image.
- FIG. 12 is a flowchart illustrating an example of a process performed in the search system 1.
- the process illustrated in FIG. 12 is executed by the control unit 11 operating according to the program stored in the storage unit 12, and the control unit 21 operating according to the program stored in the storage unit 22.
- the processing described below is an example of processing performed by the functional blocks illustrated in FIG.
- S200 to S204 are the same as S100 to S104, respectively.
- the control unit 11 searches for a searched image whose box information is similar to the input image (S205).
- the control unit 11 searches a predetermined number of searched images in ascending order of the difference between the box information of the searched image and the box information of the input image.
- control unit 11 may acquire a difference (distance) between the two-dimensional coordinates indicated by the box information of the search target image and the two-dimensional coordinates indicated by the box information of the input image.
- the difference (width difference) between the shape (height and width) indicated by the box information of the search image and the shape (height and width) indicated by the box information of the input image may be obtained, or both may be obtained. May be obtained.
- the control unit 11 calculates the distance between the feature vector of the searched image searched in S205 and the feature vector of the input image (S206).
- step S206 the control unit 11 sets not the entire database DB referred to in step S204 but the search target image searched in step S205 as a distance calculation target. Other points such as the method of calculating the distance are the same as those in the processing of S105.
- control unit 11 acquires the image data of the searched image in which all of the feature vector, the score, and the box information are similar to the input image, and in S211 all the input data is input.
- the searched image similar to the image is displayed on the search result screen G2.
- a feature that has not been learned by the learning device L is also similar. Since the search can be performed, the accuracy of the search can be improved. When searching for similar images, it is possible to use the score and box information. However, even if only the feature vector is used, it is necessary to search for a search target image in which the score and box information are also similar. Can be. In this case, since it is not necessary to refer to the score and the box information at the time of similar image search, similar image search can be speeded up.
- the search accuracy can be further improved.
- a search is performed for a search target image whose classification is similar to the input image, a search target image whose box information is similar to the input image is searched, and a search target image whose feature vector is similar to the input image is searched therefrom.
- the database DB is divided for each classification, and a search is executed based on the database DB according to the score of the input image, and the search can be speeded up by reducing the data to be searched. For example, by dividing the database into m database DBs, if there is one classification whose probability of the score is equal to or more than the threshold, compared to a case where all the searched images are managed by one database, Can be reduced to “1 / m”, and the similar image search can be performed m times faster.
- the accuracy of the search can be improved by using an accurate index called the distance.
- similar image retrieval can be further speeded up.
- the feature vector and the like of the searched image are stored in the database DB corresponding to the score of the searched image output from the learning device L, it is not necessary to specify the database DB in which the searched image is to be stored. be able to. Further, immediately after the similarity search of the input image is executed, the input image can be used as the search target image, so that the amount of the search target image can be increased. As a result, the probability of searching for a more similar image to be searched increases, and the accuracy of the search can be improved.
- the database of the searched image is stored in a more suitable database DB. Since the feature vector and the like are stored, the speed of the search can be further increased, and the accuracy of the search can be improved.
- a more suitable database DB can be set as a search target, and the search can be performed more efficiently. It is possible to increase the speed and improve the accuracy of the search.
- a search for a candidate for an image to be searched similar to the input image is performed based on each of the plurality of database DBs, and narrowing down is performed from among them.
- the accuracy of the search can be improved.
- the accuracy of similar image search can be improved by storing the feature vector of the bounding box having the highest probability of score in the database DB. .
- the memory consumption of the database DB increases.
- the memory consumption of the database DB can be reduced.
- the similar image search can be further speeded up, and the processing load on the server 20 can be effectively reduced.
- the functional blocks (FIG. 9) described in the modification of the first embodiment are realized.
- the similarity acquisition unit 106 acquires the similarity based on the feature vector of the input image and the feature vector of the search target image searched by the search unit 104, and the display control unit 105 Alternatively, the similarity may be displayed in association with the searched image searched by the search unit 104. The details of these processes are as described in the modification of the first embodiment.
- the similarity between the input image and the searched image is displayed on the search result screen G2, and it is easy to grasp how similar the input image and the searched image are.
- the learning device L can output an arbitrary analysis result. May be output.
- the first viewpoint may be to classify information in a first classification group
- the second viewpoint may be to classify information in a second classification group.
- the first and second taxa may be different taxa, for example, the first taxonomy indicates a foreground classification, and the second taxonomy indicates a background classification. Is also good.
- the first classification group may be a classification of an object
- the second classification group may be a classification of a background (scene). In this way, for example, images that are similar from multiple viewpoints such as “a dog at the seaside” and “a person in the snow scene” can be searched.
- the first analysis result is a first score in the first classification group
- the second analysis result is a second score in the second classification group. Since the feature vector calculated by the intermediate layer of the learning device L includes a feature from a viewpoint not learned by the learning device L, the search unit 104 receives the feature vector, the first score, and the second score. By searching for a searched image similar to an image, it is possible to search for a searched image similar to other viewpoints that have not been learned by the learning device L.
- search system 1 may execute any other similar information search.
- the learning device L calculates a feature vector of the input moving image and outputs a first classification result and a second classification result of the moving image.
- the first classification result may be, for example, a genre of a moving image
- the second classification result may be, for example, a classification in terms of a moving image length or a box office revenue.
- the search unit 104 searches for a searched video whose feature vector is similar to the input video.
- the learning device L calculates the feature vector of the input character string, and calculates the first character string.
- the classification result and the second classification result may be output.
- the first classification result may be, for example, a rough genre of a sentence
- the second classification result may be, for example, a fine genre.
- the search unit 104 searches for a searched article, a searched document, or a searched text whose feature vector is similar to the input article, the input document, or the input text.
- the learning device L calculates a feature vector of the input voice or music, and obtains a first classification result of the voice or music.
- the second classification result may be output.
- the first classification result may be, for example, a rough genre of voice or music
- the second classification result may be, for example, a fine genre of voice or music.
- the search unit 104 searches for a searched voice or a searched music whose feature vector is similar to the input voice or the input music.
- the search system 1 when used for similar website search, the input web is searched for using at least one of similar image search, similar video search, similar article search, similar document search, and similar text search.
- a search target website similar to the site may be searched.
- the processing described as being executed in the server 10 may be executed in the user terminal 20.
- the learning device L may be stored in the user terminal 20.
- the learning device L is stored in the storage unit 22 of the user terminal 20.
- the learning unit 101 and the input unit 103 may be realized by the user terminal 20. In this case, these functions are implemented mainly by the control unit 21.
- the learning unit 101 of the user terminal 20 may cause its own learning device L to learn.
- the input unit 103 of the user terminal 20 inputs an input image to its own learning device L.
- the storage unit 102 may be realized by the user terminal 20.
- the storage unit 102 is realized mainly by the control unit 21.
- the storage unit 102 may transmit a feature vector or the like of the searched image to the server 10 and instruct storage to the database DB.
- the search unit 104 may be realized by the user terminal 20.
- the search unit 104 is realized mainly by the control unit 21.
- the search unit 104 may transmit a score or the like of the input image to the server 10 and instruct a search.
- the display control unit 105 may be realized by the user terminal 20, for example.
- the display control unit 105 is realized mainly by the control unit 21.
- the display control unit 105 of the user terminal 20 may receive the image data and the box information of the searched image from the server 10 and display them on the search result screen G2. Further, for example, each function may be shared between the server 10 and the user terminal 20.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
Description
以下、本発明に関わる検索システムの実施形態の例を説明する。
図1は、検索システムの全体構成を示す図である。図1に示すように、検索システム1は、サーバ10とユーザ端末20とを含む。サーバ10とユーザ端末20とは、それぞれインターネットなどのネットワークに接続可能である。なお、図1では、サーバ10とユーザ端末20とをそれぞれ1台ずつ示しているが、これらは複数台ずつあってもよい。
本実施形態の検索システム1は、入力された情報を分類するための学習器を記憶し、学習器に入力された入力情報の分類結果に基づいて、複数の被検索情報の中から、入力情報と類似する情報を検索する。
図2は、検索システム1において実現される機能の一例を示す機能ブロック図である。図2に示すように、検索システム1では、データ記憶部100、学習部101、格納部102、入力部103、検索部104、及び表示制御部105が実現される場合を説明する。なお、本実施形態では、検索に係る主な機能がサーバ10で実現される場合を説明するが、後述する変形例のように、サーバ10とユーザ端末20との間で機能が分担されてもよい。
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、類似画像検索を実行するために必要なデータを記憶する。ここでは、データ記憶部100が、学習器Lと、データベース群と、を記憶する場合を説明する。
学習器Lは、入力された情報の特徴量を計算し、当該特徴量に基づいて、当該情報の分類結果を出力する。本実施形態では、被検索情報が被検索画像であり、入力情報が入力画像なので、学習器Lは、入力された画像の特徴量を計算し、当該画像に含まれるオブジェクトの分類結果を出力する。学習器Lには、入力画像と被検索画像の両方が入力されるので、上記入力された画像とは、入力画像を意味することもあるし、被検索画像を意味することもある。
データベース群は、分類ごとに、当該分類の被検索画像の特徴ベクトルが格納されたデータベースDBを含む。分類とデータベースDBとは、1対1の関係にあり、分類の数だけデータベースDBが存在する。別の言い方をすれば、本実施形態では、複数の分類が1つのデータベースDBにまとめられているのではなく、分類ごとにデータベースDBが分割されている。本実施形態では、学習器Lにm種類の分類が学習されているので、データベースDBもm個存在することになる。
学習部101は、制御部11を主として実現される。学習部101は、教師データに基づいて、複数の分類の各々に属する情報の特徴を学習器Lに学習させる。本実施形態では、類似画像検索が実行されるので、学習部101は、教師データに基づいて、複数の分類の各々に属するオブジェクトの特徴を学習器Lに学習させることになる。
格納部102は、制御部11を主として実現される。格納部102は、分類ごとに用意されたデータベースDBのうち、学習器Lに入力済みの被検索画像の分類に応じたデータベースDBに、当該被検索画像の特徴ベクトル及びスコアの少なくとも一方を格納する。
入力部103は、制御部11を主として実現される。入力部103は、学習器Lに対し、入力画像を入力する。入力画像は、ユーザ端末20からサーバ10に送信されるので、サーバ10がユーザ端末20から入力画像を受信すると、入力部103は、当該入力画像を学習器Lに入力する。本実施形態では、学習器Lの一例として、畳み込みニューラルネットワークを説明するので、入力部103は、学習器Lの入力層に対し、入力画像を入力することになる。
検索部104は、制御部11を主として実現される。検索部104は、分類ごとに用意されたデータベースDBのうち、学習器Lから出力された入力情報の分類結果に応じたデータベースDBに基づいて、特徴ベクトル及びスコアの少なくとも一方が入力情報と類似する被検索情報を検索する。本実施形態では、類似画像検索が実行されるので、検索部104は、特徴ベクトル及びスコアの少なくとも一方が入力画像と類似する被検索画像を検索することになる。
表示制御部105は、制御部11を主として実現される。表示制御部105は、検索部104により検索された被検索画像に関連付けて、当該被検索画像のボックス情報を表示させる。本実施形態では、サーバ10によって表示制御部105が実現されるので、例えば、表示制御部105は、検索部104により検索された被検索画像の画像データをユーザ端末20に送信することによって、被検索画像をユーザ端末20の表示部25に表示させる。
図8は、検索システム1において実行される処理の一例を示すフロー図である。図8に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作し、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。
なお、実施形態1に係る発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
次に、検索システム1の別実施形態を説明する。実施形態1では、ボックス情報は、検索結果画面G2においてバウンディングボックスを表示させるために用いられたが、ボックス情報は、類似画像検索で用いられてもよい。
実施形態2の機能ブロックは、実施形態1と同様である。ただし、各機能の詳細は、実施形態1と異なる部分を含む。
実施形態2のデータ記憶部100は、実施形態1で説明したデータ記憶部100と同様であってもよい。例えば、データ記憶部100は、学習器Lと、データベース群と、を記憶する。なお、実施形態2では、分類ごとにデータベースDBを用意する構成(分類に応じてデータベースDBを分割する構成)は採用しなくてもよく、複数の分類で1つのデータベースDBとしてもよい。このため、実施形態2では、複数の分類の各々の被検索画像の特徴ベクトル等が、1つのデータベースDBに格納されていてもよい。この場合、検索部104が、入力画像の分類に応じたデータベースDBを参照する処理は省略される。
実施形態2の学習部101は、実施形態1で説明した学習部101と同様であってもよい。例えば、教師データには、情報と、第1の分析結果及び第2の分析結果の各々の正解と、の関係が定義されており、学習部101は、教師データに基づいて、学習器Lを学習させる。例えば、学習部101は、教師データが示す第1の分析結果の正解を得るように、第1の出力層の第1の計算式の係数を調整し、教師データが示す第2の分析結果の正解を得るように、第2の出力層の第2の計算式の係数を調整する。
実施形態2の格納部102は、実施形態1で説明した格納部102と同様であってもよく、学習器Lに入力済みの被検索画像の特徴ベクトルをデータベースDBに格納する。なお、先述したように、実施形態2では、データベースDBは分類ごとに分割されていなくてもよいので、この場合、特徴ベクトルを格納するデータベースDBを決定する処理は省略される。
実施形態2の入力部103は、実施形態1で説明したデータ記憶部100と同様であってよく、学習器Lに対し、入力画像を入力する。
実施形態2の検索部104は、データベースDBに基づいて、特徴ベクトルが入力情報と類似する被検索情報を検索する。実施形態2では、類似画像検索が実行されるので、検索部104は、特徴ベクトルが入力画像と類似する被検索画像を検索することになる。
実施形態2の表示制御部105は、実施形態1で説明した表示制御部105と同様であってもよい。例えば、表示制御部105は、検索部104により検索された被検索画像に関連付けて、当該被検索画像のボックス情報を表示させてもよい。また例えば、表示制御部105は、入力画像に関連付けて、入力画像の位置情報を表示させてもよい。これらの処理は、実施形態1で説明した通りである。
図12は、検索システム1において実行される処理の一例を示すフロー図である。図12に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作し、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図12に示す機能ブロックにより実行される処理の一例である。
なお、実施形態2に係る発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
Claims (15)
- 入力された情報の特徴量を計算し、当該特徴量に基づいて、当該情報の分類結果を出力する学習器と、
分類ごとに用意されたデータベースのうち、前記学習器に入力済みの被検索情報の分類に応じたデータベースに、当該被検索情報の前記特徴量及び前記分類結果の少なくとも一方を格納する格納手段と、
前記学習器に対し、入力情報を入力する入力手段と、
分類ごとに用意された前記データベースのうち、前記学習器から出力された前記入力情報の分類結果に応じたデータベースに基づいて、前記特徴量及び前記分類結果の少なくとも一方が前記入力情報と類似する被検索情報を検索する検索手段と、
を含むことを特徴とする検索システム。 - 前記学習器は、前記特徴量として、特徴ベクトルを計算し、
前記検索手段は、前記入力情報の分類結果に応じたデータベースに格納された被検索情報の特徴ベクトルと、前記入力情報の特徴ベクトルと、の距離に基づいて検索を行う、
ことを特徴とする請求項1に記載の検索システム。 - 前記格納手段は、前記学習器から出力された前記被検索情報の分類結果に応じたデータベースに、当該被検索情報の前記特徴量及び前記分類結果の少なくとも一方を格納する、
ことを特徴とする請求項1又は2に記載の検索システム。 - 前記学習器は、前記分類結果として、分類ごとの蓋然性を出力し、
前記格納手段は、前記学習器から出力された前記被検索情報の蓋然性が閾値以上である分類のデータベースに、前記被探索情報の前記特徴量及び前記分類結果の少なくとも一方を格納する、
ことを特徴とする請求項3に記載の検索システム。 - 前記学習器は、前記分類結果として、分類ごとの蓋然性を出力し、
前記検索手段は、前記学習器から出力された前記入力情報の蓋然性が閾値以上である分類のデータベースに基づいて検索を行う、
ことを特徴とする請求項1~4の何れかに記載の検索システム。 - 前記検索手段は、前記入力情報の分類結果に応じたデータベースが複数ある場合に、当該複数のデータベースの各々に基づいて、前記特徴量及び前記分類結果の少なくとも一方が前記入力情報と類似する被検索情報の候補を検索し、当該候補の中から絞り込みを行う、
ことを特徴とする請求項1~5の何れかに記載の検索システム。 - 前記検索システムは、
前記入力情報の前記特徴量及び前記分類結果の少なくとも一方と、前記検索手段により検索された被検索情報の前記特徴量及び前記分類結果の少なくとも一方と、に基づく類似度を取得する類似度取得手段と、
前記検索手段により検索された被検索情報に関連付けて、前記類似度を表示させる表示制御手段と、
を更に含むことを特徴とする請求項1~6の何れかに記載の検索システム。 - 前記学習器は、入力された画像の特徴量を計算し、当該画像に含まれるオブジェクトの分類結果を出力し、
前記被検索情報は、被検索画像であり、
前記入力情報は、入力画像であり、
前記検索手段は、前記特徴量及び前記分類結果の少なくとも一方が前記入力画像と類似する被検索画像を検索する、
ことを特徴とする請求項1~7の何れかに記載の検索システム。 - 前記学習器は、前記入力画像に含まれるオブジェクトを示す領域の前記特徴量を計算し、当該領域の分類結果を出力し、
前記学習器は、互いに重複する複数の前記領域が前記入力画像に含まれる場合には、前記分類結果の蓋然性が最も高い領域の前記特徴量に基づいて、当該領域の分類結果を出力する、
ことを特徴とする請求項8に記載の検索システム。 - 前記格納手段は、前記被検索画像に含まれるオブジェクトを示す領域の前記特徴量及び前記分類結果の少なくとも一方をデータベースに格納し、
前記格納手段は、互いに重複する複数の前記領域が前記被検索画像に含まれる場合には、前記分類結果の蓋然性が最も高い領域の前記特徴量及び前記分類結果の少なくとも一方を格納する、
ことを特徴とする請求項8又は9に記載の検索システム。 - 前記学習器は、入力された画像に含まれるオブジェクトの分類結果と、当該オブジェクトの位置に関する位置情報と、を出力し、
前記検索システムは、前記検索手段により検索された被検索画像に関連付けて、当該被検索画像の前記位置情報を表示させる表示制御手段を更に含む、
ことを特徴とする請求項8~10の何れかに記載の検索システム。 - 前記学習器は、入力された画像に含まれるオブジェクトの分類結果と、当該オブジェクトの位置に関する位置情報と、を出力し、
前記検索システムは、前記入力画像に関連付けて、前記入力画像の前記位置情報を表示させる表示制御手段を更に含む、
ことを特徴とする請求項8~11の何れかに記載の検索システム。 - 前記学習器は、入力された画像に複数のオブジェクトが含まれる場合に、オブジェクトごとに、前記特徴量を計算して分類結果を出力し、
前記入力画像及び前記被検索画像の各々は、複数のオブジェクトを含み、
前記検索手段は、一部のオブジェクトの前記特徴量及び前記分類結果の少なくとも一方が前記入力画像と類似する被検索画像を検索する、
ことを特徴とする請求項8~12の何れかに記載の検索システム。 - 分類ごとに用意されたデータベースのうち、入力された情報の特徴量を計算し、当該特徴量に基づいて、当該情報の分類結果を出力する学習器に入力済みの被検索情報の分類に応じたデータベースに、当該被検索情報の前記特徴量及び前記分類結果の少なくとも一方を格納する格納ステップと、
前記学習器に対し、入力情報を入力する入力ステップと、
分類ごとに用意された前記データベースのうち、前記学習器から出力された前記入力情報の分類結果に応じたデータベースに基づいて、前記特徴量及び前記分類結果の少なくとも一方が前記入力情報と類似する被検索情報を検索する検索ステップと、
を含むことを特徴とする検索方法。 - 分類ごとに用意されたデータベースのうち、入力された情報の特徴量を計算し、当該特徴量に基づいて、当該情報の分類結果を出力する学習器に入力済みの被検索情報の分類に応じたデータベースに、当該被検索情報の前記特徴量及び前記分類結果の少なくとも一方を格納する格納手段、
前記学習器に対し、入力情報を入力する入力手段、
分類ごとに用意された前記データベースのうち、前記学習器から出力された前記入力情報の分類結果に応じたデータベースに基づいて、前記特徴量及び前記分類結果の少なくとも一方が前記入力情報と類似する被検索情報を検索する検索手段、
としてコンピュータを機能させるためのプログラム。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/969,964 US20200410397A1 (en) | 2018-06-20 | 2018-06-20 | Search system, search method, and program |
| JP2019528788A JP6639743B1 (ja) | 2018-06-20 | 2018-06-20 | 検索システム、検索方法、及びプログラム |
| EP18923260.6A EP3748460A4 (en) | 2018-06-20 | 2018-06-20 | SEARCH SYSTEM, SEARCH METHOD AND PROGRAM |
| PCT/JP2018/023456 WO2019244276A1 (ja) | 2018-06-20 | 2018-06-20 | 検索システム、検索方法、及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2018/023456 WO2019244276A1 (ja) | 2018-06-20 | 2018-06-20 | 検索システム、検索方法、及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019244276A1 true WO2019244276A1 (ja) | 2019-12-26 |
Family
ID=68983540
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/023456 Ceased WO2019244276A1 (ja) | 2018-06-20 | 2018-06-20 | 検索システム、検索方法、及びプログラム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20200410397A1 (ja) |
| EP (1) | EP3748460A4 (ja) |
| JP (1) | JP6639743B1 (ja) |
| WO (1) | WO2019244276A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111783786A (zh) * | 2020-07-06 | 2020-10-16 | 上海摩勤智能技术有限公司 | 图片的识别方法、系统、电子设备及存储介质 |
| JP2022127043A (ja) * | 2021-02-19 | 2022-08-31 | Necソリューションイノベータ株式会社 | 行動判定装置、行動判定方法、プログラム及び記録媒体 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11556736B2 (en) * | 2019-09-12 | 2023-01-17 | Sap Se | Optimizing inference time of entity matching models |
| US11087163B2 (en) * | 2019-11-01 | 2021-08-10 | Vannevar Labs, Inc. | Neural network-based optical character recognition |
| US11238275B2 (en) | 2019-11-08 | 2022-02-01 | Dst Technologies, Inc. | Computer vision image feature identification via multi-label few-shot model |
| US12572589B2 (en) * | 2021-10-11 | 2026-03-10 | Rakuten Group, Inc. | Information processing apparatus, information processing method, and non-transitory computer readable medium |
| US20250005048A1 (en) * | 2023-06-30 | 2025-01-02 | Adobe Inc. | One-shot document snippet search |
| US12608422B2 (en) * | 2024-07-24 | 2026-04-21 | Robert Bosch Gmbh | Video management system and method for audio event search and classification |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001184358A (ja) * | 1999-12-24 | 2001-07-06 | Fujitsu Ltd | カテゴリ因子による情報検索装置,情報検索方法およびそのプログラム記録媒体 |
| JP2003256427A (ja) * | 2002-02-27 | 2003-09-12 | Fuji Xerox Co Ltd | 画像検索装置 |
| JP2010250630A (ja) * | 2009-04-17 | 2010-11-04 | Seiko Epson Corp | 画像サーバー、画像検索システムおよび画像検索方法 |
| WO2011070832A1 (ja) * | 2009-12-09 | 2011-06-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム |
| JP2015153034A (ja) * | 2014-02-12 | 2015-08-24 | 株式会社エヌ・ティ・ティ・データ | ストレージシステム、インデクシング方法、インデクシングプログラム |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040225865A1 (en) * | 1999-09-03 | 2004-11-11 | Cox Richard D. | Integrated database indexing system |
| JP3944159B2 (ja) * | 2003-12-25 | 2007-07-11 | 株式会社東芝 | 質問応答システムおよびプログラム |
| US20090043637A1 (en) * | 2004-06-01 | 2009-02-12 | Eder Jeffrey Scott | Extended value and risk management system |
| CN102057371A (zh) * | 2008-06-06 | 2011-05-11 | 汤姆逊许可证公司 | 用于图像的类似性搜索的系统和方法 |
| US8352494B1 (en) * | 2009-12-07 | 2013-01-08 | Google Inc. | Distributed image search |
| JP2011150541A (ja) * | 2010-01-21 | 2011-08-04 | Sony Corp | 学習装置、学習方法、及びプログラム |
| GB2509773A (en) * | 2013-01-15 | 2014-07-16 | Ibm | Automatic genre determination of web content |
| US20160063394A1 (en) * | 2014-08-27 | 2016-03-03 | Microsoft Corporation | Computing Device Classifier Improvement Through N-Dimensional Stratified Input Sampling |
| US10685408B2 (en) * | 2015-03-27 | 2020-06-16 | Omniearth, Inc. | System and method for predicting crop yield |
| US9641680B1 (en) * | 2015-04-21 | 2017-05-02 | Eric Wold | Cross-linking call metadata |
| EP3391290A4 (en) * | 2015-12-16 | 2019-08-07 | Intel Corporation | PYRAMIDAL NETWORKS FULLY CONVOLVED FOR PEDESTRIAN DETECTION |
| JP6543729B2 (ja) * | 2015-12-25 | 2019-07-10 | 富士フイルム株式会社 | 類似損傷検索装置及び類似損傷検索方法 |
| JP6267840B1 (ja) * | 2016-11-30 | 2018-01-24 | 株式会社オプティム | コンピュータシステム、エッジデバイス制御方法及びプログラム |
| WO2018187632A1 (en) * | 2017-04-05 | 2018-10-11 | Carnegie Mellon University | Deep learning methods for estimating density and/or flow of objects, and related methods and software |
| US10748215B1 (en) * | 2017-05-30 | 2020-08-18 | Michael C. Winfield | Predicting box office performance of future film releases based upon determination of likely patterns of competitive dynamics on a particular future film release date |
| US10402448B2 (en) * | 2017-06-28 | 2019-09-03 | Google Llc | Image retrieval with deep local feature descriptors and attention-based keypoint descriptors |
| US10423850B2 (en) * | 2017-10-05 | 2019-09-24 | The Climate Corporation | Disease recognition from images having a large field of view |
| US20190129989A1 (en) * | 2017-11-01 | 2019-05-02 | Sap Se | Automated Database Configurations for Analytics and Visualization of Human Resources Data |
| KR101882704B1 (ko) * | 2017-12-18 | 2018-07-27 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
-
2018
- 2018-06-20 JP JP2019528788A patent/JP6639743B1/ja active Active
- 2018-06-20 WO PCT/JP2018/023456 patent/WO2019244276A1/ja not_active Ceased
- 2018-06-20 US US16/969,964 patent/US20200410397A1/en active Pending
- 2018-06-20 EP EP18923260.6A patent/EP3748460A4/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001184358A (ja) * | 1999-12-24 | 2001-07-06 | Fujitsu Ltd | カテゴリ因子による情報検索装置,情報検索方法およびそのプログラム記録媒体 |
| JP2003256427A (ja) * | 2002-02-27 | 2003-09-12 | Fuji Xerox Co Ltd | 画像検索装置 |
| JP2010250630A (ja) * | 2009-04-17 | 2010-11-04 | Seiko Epson Corp | 画像サーバー、画像検索システムおよび画像検索方法 |
| WO2011070832A1 (ja) * | 2009-12-09 | 2011-06-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索キーワードから文書データを検索する方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム |
| JP2015153034A (ja) * | 2014-02-12 | 2015-08-24 | 株式会社エヌ・ティ・ティ・データ | ストレージシステム、インデクシング方法、インデクシングプログラム |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111783786A (zh) * | 2020-07-06 | 2020-10-16 | 上海摩勤智能技术有限公司 | 图片的识别方法、系统、电子设备及存储介质 |
| JP2022127043A (ja) * | 2021-02-19 | 2022-08-31 | Necソリューションイノベータ株式会社 | 行動判定装置、行動判定方法、プログラム及び記録媒体 |
| JP7632871B2 (ja) | 2021-02-19 | 2025-02-19 | Necソリューションイノベータ株式会社 | 行動判定装置、行動判定方法、プログラム及び記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3748460A1 (en) | 2020-12-09 |
| JP6639743B1 (ja) | 2020-02-05 |
| US20200410397A1 (en) | 2020-12-31 |
| EP3748460A4 (en) | 2021-01-27 |
| JPWO2019244276A1 (ja) | 2020-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6639743B1 (ja) | 検索システム、検索方法、及びプログラム | |
| CN114283316B (zh) | 一种图像识别方法、装置、电子设备和存储介质 | |
| US20220075806A1 (en) | Natural language image search | |
| US9600499B2 (en) | System for collecting interest graph by relevance search incorporating image recognition system | |
| Sumbul et al. | Informative and representative triplet selection for multilabel remote sensing image retrieval | |
| KR20200075114A (ko) | 이미지와 텍스트간 유사도 매칭 시스템 및 방법 | |
| JP6764992B2 (ja) | 検索システム、検索方法、及びプログラム | |
| US20140193077A1 (en) | Image retrieval apparatus, image retrieval method, query image providing apparatus, query image providing method, and program | |
| Liu et al. | Super-pixel cloud detection using hierarchical fusion CNN | |
| CN112328823A (zh) | 多标签分类模型的训练方法、装置、电子设备及存储介质 | |
| JP6637221B1 (ja) | 検索システム、検索方法、及びプログラム | |
| JP6787831B2 (ja) | 検索結果による学習が可能な対象検出装置、検出モデル生成装置、プログラム及び方法 | |
| CN116597267B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
| JP2022180942A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
| CN113822143B (zh) | 文本图像的处理方法、装置、设备以及存储介质 | |
| KR101917369B1 (ko) | 컨볼루션 신경망을 이용한 영상 검색 방법 및 그 장치 | |
| Feng et al. | Urban zoning using higher-order markov random fields on multi-view imagery data | |
| CN118799919B (zh) | 一种基于模拟增广与原型学习的全时段多模态行人重识别方法 | |
| Wu et al. | Action recognition by hidden temporal models | |
| CN114708653B (zh) | 基于行人重识别算法的指定行人动作检索方法 | |
| CN110163106A (zh) | 一体式纹身检测与识别方法和系统 | |
| KR20230059027A (ko) | 색채 기반의 공간정보 데이터베이스를 이용한 여행지 검색 시스템 및 방법 | |
| CN117156078B (zh) | 一种视频数据处理方法、装置、电子设备及存储介质 | |
| Juliet | Image-based bird species identification using machine learning | |
| Meena et al. | Hybrid neural network architecture for multi-label object recognition using feature fusion |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 2019528788 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: JP2018023456 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2018923260 Country of ref document: EP Effective date: 20200831 |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18923260 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |