WO2021095693A1 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
WO2021095693A1
WO2021095693A1 PCT/JP2020/041754 JP2020041754W WO2021095693A1 WO 2021095693 A1 WO2021095693 A1 WO 2021095693A1 JP 2020041754 W JP2020041754 W JP 2020041754W WO 2021095693 A1 WO2021095693 A1 WO 2021095693A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
data
attribute
attributes
recognition target
Prior art date
Application number
PCT/JP2020/041754
Other languages
English (en)
French (fr)
Inventor
敦史 野上
Original Assignee
キヤノン株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by キヤノン株式会社 filed Critical キヤノン株式会社
Priority to CN202080079100.1A priority Critical patent/CN114730394A/zh
Priority to EP20887656.5A priority patent/EP4060607A4/en
Publication of WO2021095693A1 publication Critical patent/WO2021095693A1/ja
Priority to US17/743,568 priority patent/US20220269996A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/87Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • G06F18/2185Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30132Masonry; Concrete
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30184Infrastructure

Definitions

  • the present invention relates to an information processing device, an information processing method and a program, and more particularly to a technique for selecting a trained model.
  • training data is trained to create a trained model, but if the data content of the training dataset is different, models with different characteristics are created. In this way, when a plurality of models are trained using a plurality of different training data sets, an appropriate model should be selected according to the recognition target.
  • Patent Document 1 discloses that a model learned from an image with shooting conditions similar to the shooting conditions consisting of the shooting position and shooting angle of the image to be recognized is selected as a model to be used for recognition.
  • a model trained with a training data set composed of various data can correspond to various recognition target data.
  • the model trained with the training data set composed of limited data has few variations of the recognition target data that can be supported.
  • the recognition target data of the conditions included in the training data set can be recognized with better performance than the model trained with various data. Therefore, when there are multiple models with different training data sets, select the model trained with the training data set that matches the attributes of the recognition target data as much as possible and is composed of limited data. Is desired.
  • Patent Document 1 only a model having similar shooting conditions is selected. Therefore, there is a problem that it is difficult to select a model that is trained with data corresponding to the attribute of the recognition target and has good recognition performance for the recognition target.
  • the present invention has been made in view of the above problems, and a model that is trained with data corresponding to the attribute of the recognition target and has good recognition performance for the recognition target is selected from a plurality of models. To provide the technology to do.
  • the information processing device that achieves the above object is A first acquisition means for acquiring information on learning data used for learning each of a plurality of models that have been trained in advance and for recognizing the input data.
  • a second acquisition means for acquiring information indicating the attributes of the data to be recognized, and Based on the degree of agreement between the attributes of the recognition target data and the attributes of the training data used for learning each of the plurality of models, and the diversity of the attributes of the training data used for training each of the plurality of models, the above.
  • a model selection means for selecting a model to be used for recognizing recognition target data from the plurality of models, and It is characterized by having.
  • the present invention it is possible to select a model that is trained with data corresponding to the attribute of the recognition target and has good recognition performance for the recognition target from a plurality of models.
  • FIG. 1 shows an example of the hardware composition of the information processing apparatus which concerns on Embodiment 1.
  • FIG. 2 is a block diagram which shows an example of the functional structure of the information processing apparatus which concerns on Embodiment 1.
  • FIG. It is a figure explaining the learning data and the trained model which concerns on Embodiment 1.
  • FIG. It is a flowchart which shows the procedure of the process which the information processing apparatus which concerns on Embodiment 1 carry out.
  • FIG. 1 It is a flowchart which shows the procedure of the process which the model selection part which concerns on Embodiment 1 performs. It is a figure for demonstrating the model selection process which concerns on Embodiment 1. It is a figure explaining the learning data set and recognition target data which concerns on Embodiment 3. It is a figure explaining the user interface which concerns on Embodiment 4. It is a figure which shows an example of the usage form of the information processing apparatus which concerns on Embodiment 4. FIG. It is a block diagram which shows an example of the functional structure of the information processing apparatus which concerns on Embodiment 5. It is a figure which shows the user interface which inputs the user evaluation which concerns on Embodiment 5. It is a figure which shows the user interface which sets the attribute of the recognition target data which concerns on Embodiment 6.
  • (Embodiment 1) Originally, it is preferable to recognize the recognition target data using a model trained by a learning data set having attributes that completely match the attributes of the recognition target data. If such a trained model exists, the model can be selected as a model suitable for recognition, but when the types of attributes become diverse, the model trained with the training data set of all combinations of attribute patterns is selected. It becomes difficult to prepare. For example, in the case where 10 types of attributes are set for data, if a data set is created by a combination of including or not including each attribute, a data set of 1023 patterns is created. When the model is trained for each data set, it is necessary to perform training 1023 times. By subdividing the data conditions, as the types of attributes increase, so does the number of models to be trained. In general, it is difficult to create a trained model of all attribute patterns in this way because training takes an enormous amount of calculation time.
  • the recognition target data is recognized using a model in which the attributes included in the recognition target data are not learned, it may not be possible to sufficiently recognize the recognition target data. Therefore, it is necessary to select a model that has learned the attributes of the recognition target data, but the simple and reliable method of selecting a model that has learned the attributes of the recognition target data is to select a model that has learned all the attributes. is there. However, when the attributes of the recognition target data are limited, a model that includes the attributes of the recognition target data but does not learn the extra attribute data as much as possible is selected rather than the model that has learned all the attributes. The recognition performance for the data to be recognized is higher.
  • the learning of the deformation recognition model in the inspection of the infrastructure structure and the recognition target are described as a method of selecting a model that includes the attributes of the recognition target data and does not learn the extra attribute data as much as possible.
  • a model selection suitable for a structure image will be described as an example.
  • the inspection of infrastructure structures will be explained.
  • the inspector records the deformation such as cracks on the concrete wall surface.
  • the inspector photographs the wall surface of the structure and creates the inspection result by recording the position and range of the deformation from the captured images.
  • the created inspection results are managed in association with the drawings of the structure together with the images.
  • the work of finding and recording all the deformations in the image becomes a difficult work. Therefore, in recent years, machine learning has been used to learn a recognition model for recognizing deformation of a concrete wall surface image to improve the efficiency of image inspection.
  • the recognition model that recognizes the deformation in this embodiment is an image recognition model that recognizes cracks from the concrete wall surface image.
  • the deformation recognition model in the infrastructure inspection is not limited to the crack recognition model, and may be a model that recognizes other deformations.
  • it may be a recognition model that recognizes a water leakage region, a peeling region, or a rust juice region, or a model that determines the degree of deterioration of a certain concrete wall surface region by machine learning.
  • the data in this embodiment has the following contents.
  • learning data composed of a concrete wall surface image including the crack and teacher data indicating the correct position of the crack in the image is used.
  • one of the examples of data attributes in this embodiment is the type of infrastructure structure such as a bridge or a tunnel.
  • the model learned from the images of all structure types is a model that can be applied to any structure type.
  • the image to be recognized is a bridge
  • the attribute indicates the condition of the data included in the training data set and the recognition target data.
  • Various items are included in the attribute, and this one item is referred to as an attribute item below.
  • An example of an attribute item is a structure type of an infrastructure structure. Examples of structure types include “bridges", “tunnels", “dams” and the like.
  • one example of the attribute item is the type of recognition target indicated by the data.
  • Another example of the attribute item is the wall surface condition of the infrastructure structure. As an example of the wall surface condition, "many cracks" and “many rust juice” are shown.
  • the attribute item may include the appearance of the image data and the pattern of wall surface deterioration. Further, in FIG.
  • the attributes of this embodiment may include any item that classifies the data. Further, in FIG. 5, for convenience of illustration, only the above attribute items are shown, but more attribute items may be added to classify the data conditions, and the contents of the attribute items may be subdivided. It may be converted. The other contents of FIG. 5 will be described later.
  • FIG. 1 is a hardware configuration diagram of the information processing device 100 according to the present embodiment.
  • the information processing apparatus 100 includes a CPU 101, a ROM 102, a RAM 103, an HDD 104, a display unit 105, an operation unit 106, and a communication unit 107.
  • the CPU 101 is a central processing unit that performs arithmetic operations, logical determinations, and the like for various processes, and controls each component connected to the system bus 108.
  • the ROM (Read-Only Memory) 102 is a program memory, and stores a program for control by the CPU 101 including various processing procedures described later.
  • the RAM (Random Access Memory) 103 is used as a temporary storage area for the main memory, work area, etc. of the CPU 101.
  • the program memory may be realized by loading the program into the RAM 103 from an external storage device or the like connected to the information processing device 100.
  • HDD 104 is a hard disk for storing electronic data and programs according to this embodiment.
  • An external storage device may be used to play a similar role.
  • the external storage device can be realized by, for example, a medium (recording medium) and an external storage drive for realizing access to the medium.
  • a medium for example, a flexible disk (FD), a CD-ROM, a DVD, a USB memory, an MO, a flash memory and the like are known.
  • the external storage device may be a server device or the like connected by a network.
  • the display unit 105 is, for example, a CRT display, a liquid crystal display, or the like, and is a device that outputs an image on a display screen.
  • the display unit 105 may be an external device connected to the information processing device 100 by wire or wirelessly.
  • the operation unit 106 includes a keyboard, a mouse, and the like, and accepts various operations by the user.
  • the communication unit 107 performs two-way communication by wire or wireless with another information processing device, a communication device, an external storage device, or the like by using a known communication technology.
  • FIG. 2 is an example of a block diagram showing a functional configuration of the information processing apparatus 100 according to the present embodiment.
  • the information processing device 100 has a learning unit 201, a model storage unit 202, an attribute processing unit 203, a model selection unit 204, and a recognition unit 205.
  • Each of these functional units is realized by the CPU 101 expanding the program stored in the ROM 102 into the RAM 103 and executing processing according to each flowchart described later. Then, the execution result of each process is held in the RAM 103 or the HDD 104.
  • a calculation unit or a circuit corresponding to the processing of each functional unit described here may be configured.
  • the learning unit 201 learns a plurality of models.
  • the model storage unit 202 stores a plurality of learned models in a recording device such as the HDD 104.
  • the attribute processing unit 203 processes the attribute information of the recognition target data and passes it to the model selection unit 204.
  • the model selection unit 204 receives information on the attributes of the recognition target data from 203 of the attribute processing unit, and also acquires information on the trained model from the model storage unit 202.
  • the model selection unit 204 selects a model suitable for recognizing the recognition target data from the information.
  • the recognition unit 205 performs recognition processing on the recognition target data using the model selected by the model selection unit 204.
  • the information processing device 100 may be configured to minimize processing by transmitting and receiving necessary information by communicating with an external device.
  • the learning data for learning the model for recognizing the crack in the image is composed of a pair of the image of the concrete wall surface and the teacher data indicating the crack position in the image.
  • a learning data set is obtained by collecting a large number of pairs of this image and teacher data.
  • Model training is performed by training using a training data set. Any machine learning algorithm may be used for learning the model of the present embodiment, and for example, an algorithm such as a neural network can be used.
  • learning data under various conditions is prepared in order to support image recognition of various infrastructure structures and shooting conditions.
  • all the prepared learning data will be referred to as all learning data.
  • the model in which all the training data is trained as a training data set becomes a robust model that can correspond to various conditions.
  • training data with limited conditions is extracted from all training data, and a training data set that is a subset of all training data is created. Models trained with this subset of training datasets can, under limited conditions, produce higher performance results than models trained with all training data.
  • the attribute set of the training data set is recorded in association with the trained model.
  • FIG. 3 shows how training data sets D1 to D3 are created as a subset of all training data, and models M1 to M3 are created by training with each training data set.
  • the blowout 300 shows the data included in all the training data, and includes a large number of learning data consisting of a pair of the image 310 of the concrete wall surface and the teacher data 311 indicating the crack position of the image 310. Further, the learning data is associated with information 312 indicating the attributes of each learning data.
  • the balloon 301 shows an example of information indicating the attribute of a certain learning data.
  • the balloon 301 includes "bridge" as an attribute item, and indicates information on whether or not the learning data image is an image of a bridge.
  • the attribute item is set by two values of True and False.
  • True is set in the attribute item of "bridge”. There is.
  • the training data set is created by extracting the training data of the predetermined conditions from all the training data for the purpose of creating the training data of the model suitable for the predetermined conditions. For this purpose, an attribute indicating a predetermined condition is set, training data satisfying the attribute is collected from all training data, and a training data set is created.
  • a recognition model suitable for a bridge only the image of the bridge may be extracted from all the training data to create a training data set.
  • the learning data set may be created by extracting only the images of the bridge and the wall surface having many cracks by further narrowing down the conditions.
  • a training data set composed of training data of bridges and tunnels may be created to create a training data set for training a relatively robust model.
  • Such a method of creating a training data set may be created by manually distributing the training data by a human being, or learning a combination of various attributes based on the information of the attributes associated with each training data.
  • the dataset may be created automatically.
  • the attributes of the training data that make up the training data set are aggregated for the training data set that is a subset of all the training data.
  • the balloon 302 in FIG. 3 shows the result of totaling the attributes of the learning data included in the learning data set D3.
  • the training data set D3 includes not only the training data of the image of the bridge but also the training data of the image of the tunnel. Therefore, True is set in the attribute items "bridge” and "tunnel" in the attribute in the balloon 302.
  • the information obtained by aggregating the attributes of the learning data included in the learning data set and recording the True and False of each attribute item is hereinafter referred to as an attribute set.
  • the learning data is composed of a plurality of learning data, and the attributes of the learning data are determined based on the result of aggregating the attributes of the plurality of learning data.
  • a method of creating a training data set a plurality of training data sets are randomly created from all the training data, and the attributes of the training data included in each training data set are collected to collect the attributes of each training data set. You may try to create a set.
  • the model selection unit 204 can refer to the contents of the training data set in which the model is trained by calling the attribute set together with the model.
  • the information indicating the attributes in all the training data may be collectively prepared for a plurality of training data.
  • information in which the attribute item of "bridge" is set to True may be collectively added to a plurality of learning data consisting of a group of images of the wall surface of the bridge.
  • the attribute information of each learning data in all the learning data is given in advance, and the attribute set of the learning data set is created by aggregating the attributes of the learning data included in the learning data set.
  • the morphology was described.
  • the method of creating the attribute set of the training data set is not limited to this method, and may be created by another method.
  • a human confirms the image data of the training data included in a certain training data set and the attribute information, and the human sets the True and False of each attribute of the training data set to create the attribute set of the training data set. You may try to do it.
  • the training data of a certain attribute is contained in a small amount in the training data set, it is judged that the learning effect of the attribute is small, and even if the training data set contains the attribute, the attribute is set. May be set to False.
  • the tunnel attribute may be set to True and the bridge attribute may be set to False.
  • the trained model and the attribute set of the training data set in which the model is trained are stored in the model storage unit 202.
  • the attribute set of the training data set in which the model is trained may be simply referred to as the model attribute set.
  • step S401 the attribute processing unit 203 creates the information of the attribute set of the recognition target data.
  • the recognition target data of this embodiment will be described.
  • the recognition target data in this embodiment is an image of a specific infrastructure structure to be inspected. Inspection images of infrastructure structures are taken at very high resolution to inspect for deformation of concrete walls such as cracks. Therefore, in order to record all the wall surfaces of the infrastructure structure as images, it is necessary to take a large number of images. That is, in order to inspect a certain infrastructure structure, the process of recognizing a crack from an image is to execute the recognition process for a large number of images. As described above, the recognition target data in the present embodiment is composed of a large number of images.
  • step S401 the attribute processing unit 203 executes a process of creating an attribute set of the recognition target data in order to select a model suitable for the recognition target data.
  • the attribute set of the recognition target data is information in which True and False are set for each item of the attribute, similarly to the attribute set of the learning data set.
  • the method of setting the attribute set related to the recognition target data can be set, for example, by a human being checking the content of the recognition target data and inputting the information of each attribute.
  • FIG. 5 described above shows an example of a user interface for setting the recognition target data.
  • the model selection unit 204 selects a model based on the contents of the attribute set of the recognition target data and the attribute set of the training data set. Therefore, the attribute items of the recognition target data are common to the learning data set, and specifically, the item of the attribute set of the balloon 302 in FIG. 3 and the item of the attribute set of FIG. 5 are the same item. ..
  • the recognition target data is composed of a plurality of images. Therefore, the recognition target data includes images having various attributes. For example, regarding the attribute of the structure type, when the recognition target data is an image of a bridge, True is set in the attribute item of "Bridge”, and False is set in the attribute of another structure type.
  • the attributes of the recognition target data will be described using the attribute items of the camera parameters as an example.
  • the wall surface of a structure it is assumed that many structure parts are photographed with exposure EV0. However, when there is a partially dark part such as a shadow part of a structure, there is a case where only that part is photographed with exposure EV + 2.
  • the exposure is reduced and the exposure EV-2 is used. True is set in both the exposure EV-2 and the exposure EV + 2 attribute items of the recognition target data composed of the images captured in this way.
  • the user is a person who operates the information processing device 100 of the present embodiment, and is a person who wants to execute a process of selecting a learned model suitable for the recognition target data.
  • the following processing related to the user interface is a processing executed by the attribute processing unit 203.
  • the attribute processing unit 203 executes GUI information display processing on the display unit 105, reception processing for receiving information set by the user via the operation unit 106, recording processing for recording the setting information in the recording area, and the like. To do.
  • the user confirms the content of the recognition target data and sets each attribute.
  • the user interface of FIG. 5 shows an example of a GUI that sets True and False with radio buttons for each attribute item.
  • the method of implementing the user interface is not limited to this, and other interfaces may be used.
  • the attribute may be set in the interface for setting the content of the attribute in the pull-down menu.
  • the mouse cursor 501 shows a state in which True is set for the bridge and False is set for the tunnel. The user performs an operation of setting other attribute items from the state shown in FIG.
  • initial values may be set for the attributes of the data to be recognized.
  • Void is set for the attribute that has not been set by the user. Void indicates that the attribute is unknown. If the user cannot determine a certain attribute of the recognition target data and the attribute is not input, the initial value Void is set.
  • the attribute item in which Void is set is not used for model selection in the process of the model selection unit 204 described later. As described above, an example of setting Void as the initial value of the attribute has been shown, but False may be set as the initial value instead of Void.
  • each attribute of the recognition target data is either True or False. This information is used as the attribute set of the data to be recognized.
  • Void information is also used, a pattern whose attribute is Void may be included.
  • the attribute processing unit 203 executes a process of determining the content of the recognition target data and sets the attribute of the recognition target data.
  • a process for determining the content is performed for each attribute item. For example, for the attribute items related to the camera parameters, the shooting information associated with the image of the recognition target data is read, and the camera parameters such as the exposure setting and the ISO sensitivity are acquired. Based on the acquired camera parameters, True and False are set in the attribute items related to the camera parameters.
  • the type of the structure at the shooting position may be determined based on the position information and the database of the structure. For attribute items that cannot be determined by the information attached to the image, prepare an image classifier to determine each attribute, and set the True and False attributes based on the identification result of this image classifier. Is also good. For example, using an image classifier trained to discriminate between an image with many cracks and an image with few cracks, it is determined whether the recognition target data includes an image with many cracks, and an attribute related to the amount of cracks is set. You may try to do it. In addition, it is not necessary to automatically judge all attributes, the attribute judgment result is set for the attribute that can be judged automatically, and the attribute that cannot be judged automatically is configured to require the user to input the attribute. You may.
  • the information of the attribute set of the recognition target data is created by the processing of the attribute processing unit 203.
  • step S402 the model selection unit 204 selects a model suitable for the recognition target data from a plurality of models based on the attribute set of the training data set and the attribute set of the recognition target data. More specifically, the model selection unit 204 selects a model by gradually determining the degree of matching between the attribute set of the training data set and the attribute set of the recognition target data and the diversity of the training data set. ..
  • FIG. 7 is a diagram showing an example of an attribute set of recognition target data and an attribute set of a plurality of (n) models.
  • the attributes True and False are represented by ⁇ and ⁇ for convenience of illustration.
  • Models M1 to M4 in FIG. 7 are models trained with a training data set of a subset of all training data, and are models trained with training data having limited attributes. For example, focusing on the attributes of the structure type, the models M1 to M3 are models learned from the training data of the bridge image, and the model M4 is a model learned from the training data of the tunnel image. Further, the model Mn is a model learned from all the training data, and all the attribute items are True.
  • the flowchart of FIG. 6 shows a detailed procedure of the process of step S402 performed by the model selection unit 204.
  • step S601 the model selection unit 204 determines the degree of matching between the attribute set of the training data set and the attribute set of the recognition target data.
  • the degree of matching of the attribute set is determined by confirming the inclusion relationship between the attribute set of the recognition target data and the attribute set of the learning data set. More specifically, pay attention to the attribute item set as True in the recognition target data, and select a model in which the same attribute item is set as True. In the example of FIG. 7, True is set to "bridge", "many cracks", and "EV-2 or less" among the attribute items of the recognition target data.
  • step S601 the model selection unit 204 confirms whether or not there is a model whose attribute set completely matches. If there is a model with an exact match of the attribute set, select that model. If there is a model with an exact match of the attribute set, the process of determining the diversity of step S602 is unnecessary, so step S602 may be skipped and ended.
  • step S601 the model selection unit 204 selects a model including the attributes of the recognition target data. Specifically, as with the recognition target data, a model in which True is set in the attribute items of "bridge", "many cracks", and "EV-2 or less” is selected. This is because it is necessary to select a model that has learned the conditions of these attributes in order to correspond to the attributes of the data to be recognized. According to this criterion, in the example of FIG. 7, three models of models M2, M3 and Mn are selected. When there are a plurality of models selected in step S601 in this way, the model is further limited by the process of step S602.
  • step S602 the model selection unit 204 selects a model based on the variety of attribute sets of the model selected in step S601.
  • the attributes of the recognition target data are included and extra by selecting the model learned by the training data having low (less) variety of attributes from the models selected in step S601.
  • the diversity of the model is calculated by aggregating the number of attributes of the training data set that trained the model. Specifically, the number in which the attribute of the training data set of each model is set as True is calculated, and this is used as diversity. In the example of FIG.
  • model M2 the diversity of the models selected in step S601 is 4, model M2 is 4, model M3 is 5, and model Mn is 7, respectively.
  • model M2 the model with the smallest diversity value is selected from the models selected in step S601. Therefore, in the example of FIG. 7, model M2 will be selected.
  • step S601 If there is no model that includes the attributes of the recognition target data in step S601, the model with the highest degree of matching of the attributes (the model that includes the attributes of the recognition target data most) is selected. At this time, the attribute items that must always match may be set in advance.
  • the structure type is an important attribute item in model selection. Therefore, first, a model having at least the same attribute settings of the structure type may be selected, and then a model having the most matching other attribute items from the selected models based on the structure type may be selected.
  • Void may be set as information whose attributes are unknown in the attributes of the recognition target data.
  • the process may be executed by ignoring the attribute in which Void is set in the attribute item of the recognition target data.
  • the attribute item for which Void is set in the attribute set of the recognition target data is the model regardless of whether the attribute item of the model is True or False. It suffices not to affect the degree of agreement of.
  • the model suitable for recognizing the recognition target data is selected by the processing of the model selection unit 204.
  • step S403 the recognition unit 205 executes the recognition process using the model selected in step S402 to create a recognition result for the recognition target image.
  • the crack of the image to be recognized is recognized, and the recognition result indicating the crack position in the image is created. This completes the series of processes shown in FIG.
  • the recognition target Select the model used for data recognition from multiple models. That is, the model selected in the present embodiment is a model that includes the attributes of the recognition target data and does not learn the extra attributes. Therefore, from a plurality of models, it is possible to select a model that is trained with data corresponding to the attribute of the recognition target and has good recognition performance for the recognition target, so that a preferable recognition result can be obtained. You can expect it.
  • the model selected in the first embodiment is a model that includes the attributes of the recognition target data and does not learn extra attributes, and can be expected to recognize the recognition target data with high performance. In order to obtain this effect, it is necessary to set the attributes of the recognition target data correctly. However, in cases such as when the image data of the recognition target data is very large, it may be difficult to correctly determine all the attributes of the recognition target data. In particular, when the user sets the attributes of the recognition target data, it is difficult to confirm all the recognition target images, so there is a possibility that the attributes related to the image appearance such as the wall surface state cannot be set correctly.
  • a model having a high variety of model attribute sets (many) and capable of performing robust recognition is also selected.
  • the model with the minimum diversity is selected, and this is used as the first model.
  • a model with a relatively high diversity value is selected as a second model for performing robust recognition. More specifically, a model in which more attribute items are set as True than the number of True of the attribute items of the first model is selected as the second model. That is, a model trained by learning data with a large variety is selected.
  • a relatively robust model is also selected as the second model, so even if the recognition target data is more diverse than expected.
  • a model that may correspond to the data to be recognized is selected.
  • the model trained with all training data will always be selected.
  • a model showing a large diversity by a predetermined value set in advance may be selected with respect to the diversity of the first model. This makes it possible to select a model that includes the attributes of the data to be recognized and has a slightly high robustness. This model shows intermediate performance between the model of all training data and the first model, and although it is less robust than the model of all training data, it has relatively little extra training data, so the data to be recognized It becomes a model suitable for recognition of.
  • a robust model for the attribute related to the wall surface state may be selected as the second model. Therefore, it is possible to select a model in which the attribute items related to the wall surface state are set to True as many as a predetermined number as compared with the attributes of the first model. In this way, when selecting the second model based on diversity, the attributes for evaluating diversity may be limited and the second model may be selected.
  • the recognition unit 205 creates recognition results for each of the two selected models, and presents both results to the user.
  • the user may confirm the two recognition results and adopt the recognition result that can be determined to be more appropriate.
  • the recognition unit 205 displays the recognition result on the display unit 105 and accepts the selection of the user's recognition result via the operation unit 106.
  • the presentation of the two recognition results displays the recognition results of each model in a comparable state. Specifically, an image in which the crack recognition result of each model is superimposed on the recognition target image is created and displayed side by side or switched and displayed.
  • the user may be made to determine the model to be used for the recognition process by displaying the information of the two models selected by the model selection unit 204 on the display unit 105 before the recognition process is executed by the recognition unit 205. ..
  • the model information displayed here is, for example, the information of the attribute set of each model. Further, in order to make it easier to compare the information of the attribute set of each model, the information may be displayed side by side or the attribute items having differences may be highlighted.
  • the model to be selected is not limited to two, and three or more models may be selected based on diversity.
  • multiple second models are selected based on diversity. Specifically, a model with a little higher diversity and a model with higher diversity than the first model are selected. This makes it possible to select a plurality of models having different robustness.
  • the attributes are clear items that can be seen and understood by humans, such as the type of structure, but the attributes are not limited thereto.
  • the third embodiment an example of creating attribute information based on the image feature amount will be described. Since the hardware configuration and the functional configuration of the information processing apparatus 100 according to the third embodiment are the same as those of the first embodiment, the description thereof will be omitted. Further, in the third embodiment as well, the embodiment using the crack recognition model for the inspection of the infrastructure structure will be described as in the first embodiment.
  • the attribute set information is created from the image group of the learning data set or the image group of the recognition target data by a method called Bag-of-Features or Bag-of-Visual Words. Since Bag-of-Features is a known method, detailed description of the algorithm itself will be omitted. Hereinafter, an embodiment in which an attribute set is created by Bag-of-Features will be described with reference to FIG.
  • FIG. 8 shows the training data sets 801 to 80n.
  • the process of creating the information of the attribute set 841 from the training data set 801 will be described.
  • the Visual word in the present embodiment will be described.
  • Visual word is created by clustering the image features of the image group of all training data and setting the center of each cluster as Visual word.
  • the image feature may be a local feature amount such as SIFT or SURF, which is often used in the conventional Bag-of-Features, or an image feature extracted using the Convolutional Neural Network (CNN) may be used.
  • SIFT is an abbreviation for Scale Invariant Features Transform
  • SURF is an abbreviation for Speeded Up Robust Features.
  • a histogram 831 is created based on the image group and Visual word included in the training data set 801.
  • the bin of the histogram 831 shows the index of Visual word.
  • FIG. 8 for convenience of illustration, four types of Visual words are described, but Visual words are usually composed of a larger number.
  • the image features of the images included in the training data set 801 are extracted, and the Visual word having the most similar image features is voted. For example, in FIG. 8, since the image feature of the image 821 is similar to the Visual word of the index No. 1, the state of voting from the image 821 to the index No. 1 is indicated by an arrow 822.
  • the histogram feature is created from one image, but in the present embodiment, the purpose is to create information indicating the tendency of the training data set. Therefore, the image features are extracted from all the images of the training data set 801 and the histogram is voted.
  • one vote 822 is carried out from one image 821, because the image 821 is a local patch size image.
  • partial image features may be extracted from one image and voted in the histogram based on each image feature.
  • the Visual word histogram 831 is created.
  • This histogram shows the tendency of the image features of the training data set 801. That is, in the present embodiment, the data conditions of the learning data set are expressed based on the image features by setting each Visual word as an attribute item.
  • the histogram 831 is threshold-processed in order to create an attribute set in which the binary information of True and False is set for each item.
  • the attribute set 841 as a result of performing the threshold processing of the histogram 831 by the threshold value 832 is shown, and the attribute set 841 in which only the index 1 showing the value of the threshold value 832 or more is True is created.
  • the attribute set may be created by using the Visual word index voted even once as True without performing such threshold processing. However, if a small amount of voting results are thresholded as noise, an attribute set for showing the tendency of the training data set can be correctly created.
  • the attribute set of the training data set is created.
  • the information of these attribute sets is stored in the model storage unit 202 together with the model trained using the training data set, as in the first embodiment.
  • FIG. 8 shows an image group 810 of the recognition target data. From this image group, a histogram 833 is created using the same Visual word as when the training data set is made into a histogram, and information on the attribute set 851 is further obtained.
  • the attribute sets 841 to 84n of the training data set and the attribute set 851 of the recognition target data can be obtained.
  • the same processing as in the first embodiment may be performed, and thus the description thereof will be omitted.
  • Visual words are automatically created by clustering, so it is difficult to determine what kind of image features each Visual word shows.
  • Visual word since Visual word is used as an attribute item, it is difficult to judge the tendency of the learning data set and the recognition target data by the True and False of the attribute items. Therefore, in order to clarify the attributes indicated by Visual word, Visual word for representing a specific image may be created manually. For example, an image with many cracks may be manually collected from all the training data, and the feature distribution center of this image group may be used as one Visual word. As a result, this Visual word becomes a Visual word that clearly shows the attribute of "many cracks".
  • attribute items that can be understood by humans used in the first embodiment and the attributes based on the image features of the third embodiment may be used together.
  • an attribute that can be explicitly input such as a structure type or a camera parameter is set as an attribute item having an explicit name of the first embodiment
  • an image-based attribute such as a wall surface state is an image feature.
  • the hardware configuration and functional configuration of the information processing device 100 according to the fourth embodiment are the same as those of the first embodiment, the description thereof will be omitted. Further, in the fourth embodiment as well, the embodiment using the crack recognition model for the inspection of the infrastructure structure will be described as in the first embodiment.
  • FIG. 9 is a diagram illustrating a GUI application for model selection.
  • the application window 900 includes an area 901 showing information about the recognition target data and an area 902 showing information of the model selected by the model selection unit 204.
  • the CPU 101 functions as a display control unit, and the application window is displayed by controlling the display of the display unit 105.
  • the application window 900 is provided with an area 911 for inputting the attributes of the recognition target data.
  • This is an interface having the same purpose and function as in FIG. 5, but in FIG. 9, it is an interface for setting True and False for each attribute item with a pull-down button. After setting the attribute items, the user presses the optimum model search button 912.
  • the model selection unit 204 selects a model suitable for the data to be recognized.
  • three types of models, model M3, model M8, and model M6, are selected, and model information is displayed on each tab.
  • the order of the tabs of the model indicates the order of the diversity of the model.
  • FIG. 9 shows buttons 922 and 923 for switching and displaying these models. The user switches and displays the model with the buttons 922 and 923, and determines the model to be used for the recognition process while checking the information of each model.
  • FIG. 9 is provided with a decision button 924 for selecting the model being displayed as a model to be used for the recognition process.
  • the display of the plurality of models is not limited to such a display, and a plurality of models may be displayed at the same time so that the contents can be compared.
  • the model to be selected is not limited to one, and a plurality of models may be selected. When a plurality of models are selected, recognition processing is executed for each model, the recognition results are compared, and a more appropriate recognition result is determined.
  • the model attribute set information 925 is displayed.
  • the user can select the model learned under more similar conditions by comparing and confirming the information 925 of the attribute set of this model and the information 911 of the attribute set of the recognition target data.
  • the attribute set 911 of the recognition target data and the attribute set 925 of the model may highlight items having the same attribute item settings. Alternatively, conversely, items with different settings may be highlighted. Further, at least one of the information 925 of the attribute set of the selected model and the information 925 of the attribute set of the recognition target data may be displayed.
  • an example of the training image obtained by learning the model may be further displayed as in the image 926.
  • the learning image By displaying the learning image as the model information in this way, the user can more intuitively understand under what conditions the model is learned.
  • the image of the recognition target data may also be displayed in the area 901 showing the information regarding the recognition target data.
  • FIG. 9 shows a state in which an image of the recognition target data is displayed in the area 901 showing information regarding the recognition target data, as in the image 913.
  • the image of the recognition target data is, for example, an image of a part of the wall surface of the structure to be recognized.
  • model-trained image 926 may not display all the trained images, but may select a representative image of each attribute in advance and display it. Further, if the tendency of the image learned by the model can be understood, a similar sample image, an image diagram, or the like may be used instead of the actually learned image. This makes it possible to display an image that can be easily compared with the image of the recognition target data.
  • these images may be virtually generated images instead of the actually learned images.
  • GAN Geneative Adversarial Networks
  • the tendency of the image of the image group of the training data set is learned, the trained model is used to generate an image similar to the image of the training data set, and the generated image is displayed as a training image for display. May be. Further, at least one of the image 926 of the training data obtained by learning the selected model and the image 913 of the recognition target data may be displayed.
  • the user can easily select a model.
  • the user interface according to the present embodiment may be provided.
  • the buttons 922 and 923 for switching and displaying the plurality of models in FIG. 9 and the decision button 924 for selecting the model are unnecessary.
  • the above processing is realized by the CPU 101 of the information processing device 100 expanding the program stored in the ROM 102 into the RAM 103 and executing the program. Further, if necessary, the GUI is displayed on the display unit 105, and the operation unit 106 accepts the operation from the user.
  • FIG. 10 shows information processing devices 110, 120, 121, 122 in the form of SaaS. Similar to the information processing device 100, these information processing devices include a CPU 101, a ROM 102, a RAM 103, an HDD 104, a display unit 105, an operation unit 106, and a communication unit 107. Since the configuration of each information processing device is the same as the description of the information processing device 100, the details will be omitted.
  • the information processing device 110 is a server, and the information processing devices 120, 121, 122 are clients.
  • the information processing devices 120, 121, and 122 of the client receive information from the information processing device 110 of the server and execute processing related to the user interface. Specifically, the GUI display as shown in FIG. 9 described in the present embodiment and the reception of user operations are executed.
  • the functions of the model selection process and the recognition process described in the first embodiment are executed by the information processing device 110 of the server.
  • the number of information processing devices of the client is not limited to the illustrated example. By implementing the service in the form of SaaS, it becomes possible to provide the service to a large number of users.
  • FIG. 11 is an example of a block diagram showing the functional configuration of the information processing apparatus 100 of the fifth embodiment.
  • Each of these functional units is realized by the CPU 100 expanding the program stored in the ROM 102 into the RAM 103 and executing processing according to each flowchart. Then, the execution result of each process is held in the RAM 103 or the HDD 104. Further, for example, when hardware is configured as an alternative to software processing using the CPU 101, a calculation unit or a circuit corresponding to the processing of each functional unit described here may be configured.
  • the embodiment in the form of SaaS is also included in the description, but in the form of SaaS, the following processing is performed by the information processing device of the server and the information processing device of the client as in the description of the fourth embodiment. Execute.
  • the information processing device 100 further includes a model evaluation unit 206 in addition to the functional block diagram of FIG.
  • the model evaluation unit 206 executes model evaluation and collects information.
  • the processing executed by the model evaluation unit 206 will be described.
  • One of the embodiments of model evaluation is a method of using model user evaluation.
  • the service can be provided to a large number of users by the embodiment of SaaS.
  • the user eventually receives a recognition result using the selected model, which may or may not be satisfactory.
  • the satisfaction level of this user is collected for each model and used as the evaluation of the model.
  • FIG. 12 is a diagram illustrating an interface for collecting user satisfaction for each model.
  • the interface of FIG. 12 shall be presented to the user by the information processing device of the client.
  • the recognition result 1201 of the recognition target image recognized by a certain model is displayed.
  • the recognition result 1201 is a crack recognition result of a certain structure wall surface image.
  • the user views this result and inputs the satisfaction level of the recognition result.
  • an input unit 1202 for inputting user satisfaction is provided, and in this example, selection can be accepted by a radio button for performing a three-stage evaluation of “good”, “normal”, and “bad”. it can.
  • the user inputs one of the evaluations and presses the send button 1203.
  • the model that created the recognition result is associated with the user evaluation and recorded in the information processing device of the server.
  • the evaluation value (evaluation accuracy) for each model is determined.
  • the evaluation value of the model may be simply scored and aggregated from the evaluation from the user. For example, the user's evaluation is accumulated for each model as good +1 point, normal 0 point, and bad -1 point. As a result, the higher the user satisfaction and the higher the performance of the model, the higher the model evaluation value.
  • the model evaluation unit 206 collects and accumulates user evaluations and calculates the evaluation value of the model as described above.
  • the model selection unit 204 acquires the evaluation value of each model from the model evaluation unit 206 in the process of selecting a model, and uses it as a reference for model selection. That is, the model is selected based on the user's evaluation of the model. Specifically, for example, in step S602 of the first embodiment, a model having a small diversity value and a high model evaluation value is selected. In this way, by selecting the model in consideration of the model evaluation value, it becomes possible to select a model with high user satisfaction and a proven track record.
  • the number of times the model is selected may be recorded.
  • the model selection unit 204 may select a plurality of models and present them to the user.
  • the user selects a model to be used for the recognition process from a plurality of models.
  • the number of times selected may be recorded for each model, and the records may be aggregated so that the higher the number of times selected, the higher the model evaluation value.
  • the model in order to reuse the model selected by the user, the model is configured to be bookmarked, and the model evaluation value is calculated based on the number of registrations. Is also good.
  • a method of evaluating a model using performance evaluation data prepared in advance will be described.
  • a large number of performance evaluation data including a pair of an image and correct answer information indicating a crack position in the image are prepared as total performance evaluation data like the total learning data of the first embodiment.
  • information indicating the attributes of the performance evaluation data is associated and recorded with each performance evaluation data.
  • a performance evaluation data set that matches the attribute set of the data to be recognized is created, recognition processing using the model is performed on the performance evaluation data set, and the correct answer rate and accuracy are calculated for the model. Calculate the evaluation value. Therefore, the performance evaluation data set is created by collecting the performance evaluation data from all the performance evaluation data so as to be a data set of the attribute set similar to the attribute set of the recognition target data. The process of calculating the correct answer rate and accuracy for the performance evaluation data set and creating the evaluation value may be performed for all models, or the model attribute set is limited to be similar to the recognition target data attribute set. It is also possible to carry out only the model that has been used.
  • the evaluation value of the model calculated as described above is used for model selection. Model selection using this evaluation value can be executed in the same manner as the evaluation value based on the user evaluation described above.
  • the model is evaluated and evaluated in advance with an arbitrary performance evaluation data set. You may calculate the value.
  • various performance evaluation data sets having different attribute sets are created, each model is evaluated by each performance evaluation data set, an evaluation value is calculated, and the performance evaluation data set and the model are recorded in association with each other.
  • the attributes of the recognition target data are set, and when the recognition target data attribute set is obtained, the performance evaluation data of the attribute set similar to the recognition target data attribute set is used as the evaluation value of each model. Call the evaluation value evaluated in the set. Then, the called evaluation value is used as the evaluation value of each model in model selection.
  • a model suitable for the recognition target data if a model suitable for the recognition target data cannot be selected, a new model may be learned. For example, when the model including the attribute set of the recognition target data cannot be selected from the existing trained models, the learning unit 201 executes a process of learning a new model.
  • the learning unit 201 creates a learning data set of a model to be newly learned based on the attribute set of the recognition target data. Specifically, the data of the training data set is collected from all the training data so that the attribute set is similar to the attribute set of the recognition target data.
  • the process of creating a training data set similar to the attribute set of the recognition target data it is possible to construct an attribute set of the training data set including at least the attribute set of the recognition target data.
  • a new model is trained with the training data set created in this way. As a result, a model suitable for the recognition target data can be created.
  • additional learning may be performed based on the existing trained model in order to reduce the learning time.
  • additional learning is performed using the model selected in the above embodiment as a base model. More specifically, first, a model suitable for recognizing the recognition target data is selected from the existing trained models by the processing described in this embodiment or another embodiment. By using this model as a base model, the learning time can be shortened. Further, as the learning data set used in the additional learning, as described above, a learning data set of an attribute set similar to the attribute set of the recognition target data is created. Furthermore, the attribute set of the model used as the base model is compared with the attribute set of the recognition target data, and only the training data of the attributes that are insufficient for the recognition of the recognition target data is collected to construct the training data set. You may.
  • a model suitable for an environment in which a fixed camera such as a surveillance camera is installed is selected from a plurality of trained models.
  • the attribute of the recognition target as described in the first to fifth embodiments may be changed to the attribute related to the recognition by the fixed camera. Except for the attribute items, the same processing as that of the first to fifth embodiments can be performed. Therefore, the attributes used in the embodiment for the fixed camera will be described below.
  • FIG. 13 shows a user interface for setting the attributes of the recognition target data for selecting the model of the fixed camera.
  • Attributes in the fixed camera embodiment include, for example, items related to the camera installation environment, recognition target, and shooting.
  • FIG. 13 shows an example in which the camera installation environment includes the attribute items of “store”, “station”, and “road”. Further, the main recognition target in the camera installation environment may be an attribute item, and
  • FIG. 13 shows an example in which the attribute items of "person” and "vehicle” are included.
  • the attribute items shown in FIG. 13 are examples, and are not limited to these attribute items, and other attribute items may be included as the camera installation environment.
  • FIG. 13 shows a state in which the user has set True for the “store” and False for the “station”, and the user continues to set the attributes of the fixed camera to be model selected for other attribute items. I will go. Further, as shown in FIG. 13, Void may be set for the attribute item as in the first embodiment.
  • the attribute is set for the fixed camera of the target for which the model is selected as described above.
  • the attribute set of the fixed camera image which is the recognition target data is created.
  • the process of selecting the trained model based on the attribute set of the recognition target data may be performed in the same manner as in other embodiments. For this process, each trained model and the information of the attribute set indicating what kind of attribute combination of training data is used for the trained model are associated and saved in advance. ..
  • the information processing apparatus can be used for model selection of an arbitrary recognition target by changing the attribute items.
  • the present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC

Abstract

情報処理装置であって、予め学習された複数のモデルであって、入力されたデータに対して認識を行うための複数のモデルそれぞれの学習に用いた学習データに関する情報を取得する第1の取得手段と、認識対象データの属性を示す情報を取得する第2の取得手段と、前記認識対象データの属性と前記複数のモデルそれぞれの学習に用いた学習データの属性との一致度と、前記複数のモデルそれぞれの学習に用いた学習データの属性の多様性とに基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択するモデル選択手段とを備える。

Description

情報処理装置、情報処理方法およびプログラム
 本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に、学習済みモデルを選択するための技術に関する。
 機械学習では、学習データを学習して学習済みモデルを作成するが、学習データセットのデータ内容が異なると、特性が異なるモデルが作成される。このように、異なる複数の学習データセットを用いて複数のモデルを学習している場合には、認識対象に合わせて適切なモデルを選択すべきである。
 特許文献1は、認識対象画像の撮影位置および撮影角度からなる撮影条件と類似した撮影条件の画像で学習したモデルを、認識に用いるモデルとして選択することを開示している。
 また、一般に、多様なデータで構成された学習データセットで学習したモデルは、多様な認識対象データに対応することができる。一方、限定的なデータで構成された学習データセットで学習したモデルは、対応できる認識対象データのバリエーションは少ない。しかし、学習データセットに含まれる条件の認識対象データに対しては多様なデータで学習したモデルよりも良好な性能で認識することができる。従って、学習データセットが異なる複数のモデルが存在するときには、認識対象データの属性と可能な限り一致しており、且つ、限定的なデータで構成される学習データセットで学習したモデルを選択することが望まれる。
特許第6474946号公報
 しかしながら、特許文献1に記載の技術では、撮影条件が類似するモデルを選択するに過ぎない。従って、認識対象の属性に対応するデータで学習されたモデルであって且つ認識対象に対する認識性能が良好なモデルを選択することは難しいという課題がある。
 本発明は、上記の課題に鑑みてなされたものであり、複数のモデルの中から、認識対象の属性に対応するデータで学習されたモデルであり且つ認識対象に対する認識性能が良好なモデルを選択するための技術を提供する。
 上記の目的を達成する本発明の一態様に係る情報処理装置は、
 予め学習された複数のモデルであって、入力されたデータに対して認識を行うための複数のモデルそれぞれの学習に用いた学習データに関する情報を取得する第1の取得手段と、
 認識対象データの属性を示す情報を取得する第2の取得手段と、
 前記認識対象データの属性と前記複数のモデルそれぞれの学習に用いた学習データの属性との一致度と、前記複数のモデルそれぞれの学習に用いた学習データの属性の多様性とに基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択するモデル選択手段と、
 を備えることを特徴とする。
 本発明によれば、複数のモデルの中から、認識対象の属性に対応するデータで学習されたモデルであり且つ認識対象に対する認識性能が良好なモデルを選択することが可能となる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
実施形態1に係る情報処理装置のハードウェア構成の一例を示す図である。 実施形態1に係る情報処理装置の機能構成の一例を示すブロック図である。 実施形態1に係る学習データと学習済みモデルについて説明する図である。 実施形態1に係る情報処理装置が実施する処理の手順を示すフローチャートである。 実施形態1に係る認識対象データの属性を設定するユーザインターフェースを示す図である。 実施形態1に係るモデル選択部が実施する処理の手順を示すフローチャートである。 実施形態1に係るモデル選択処理を説明するための図である。 実施形態3に係る学習データセット及び認識対象データを説明する図である。 実施形態4に係るユーザインターフェースを説明する図である。 実施形態4に係る情報処理装置の使用形態の一例を示す図である。 実施形態5に係る情報処理装置の機能構成の一例を示すブロック図である。 実施形態5に係るユーザ評価を入力するユーザインターフェースを示す図である。 実施形態6に係る認識対象データの属性を設定するユーザインターフェースを示す図である。
 以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
 (実施形態1)
 本来、認識対象データの属性と完全に一致した属性の学習データセットにより学習したモデルを用いて認識対象データを認識することが好ましい。このような学習済みモデルが存在する場合には、そのモデルを認識に適したモデルとして選択すればよいが、属性の種類が多彩になると、あらゆる組み合わせの属性パターンの学習データセットで学習したモデルを準備することが困難になる。例えば、データに対して、10種類の属性を設定するケースにおいて、各属性を含む、含まない、の組み合わせによりデータセットを作成すると、1023パターンのデータセットが作成される。各データセットについて、モデルを学習すると、1023回の学習を実施する必要がある。データ条件を細分化することにより、属性の種類が増加すると、学習するモデルの数もさらに増加する。一般に、学習には膨大な計算時間がかかるため、このようにあらゆる属性パターンの学習済みモデルを作成することは困難である。
 従って、現実的には、属性パターンの全組み合わせの内、一部の組み合わせの属性パターンのモデルしか準備できないので、認識対象データ対して、常に完全に属性パターンが一致するモデルを選択することは難しい。
 一方、認識対象データに含まれる属性が学習されていないモデルを用いて、認識対象データを認識すると、認識対象データに対して十分な認識を行うことができないことがある。従って、認識対象データの属性を学習したモデルを選択する必要があるが、単純かつ確実に認識対象データの属性を学習したモデルを選択する方法は、全ての属性を学習したモデルを選択することである。しかし、認識対象データの属性が限定的な場合には、全ての属性を学習したモデルよりも、認識対象データの属性を包含しつつ、できるだけ余分な属性のデータを学習していないモデルを選択する方が、認識対象データに対する認識性能は高くなる。
 実施形態1では、認識対象データの属性を包含しつつ、できるだけ余分な属性のデータを学習していないモデルを選択する方法について、インフラ構造物の点検における変状認識モデルの学習と、認識対象の構造物画像に適したモデル選択を例に説明する。
 まず、インフラ構造物の点検について説明する。インフラ構造物の壁面の点検では、点検者は、コンクリート壁面のひび割れ等の変状を記録する。画像を用いた点検では、点検者は、構造物の壁面を撮影し、撮影した画像の中から、変状の位置や範囲を記録することにより点検結果を作成する。作成した点検結果は、画像とともに構造物の図面に対応づけて管理する。このとき、画像の中から、全ての変状を発見、記録する作業は大変な作業となる。従って、近年、機械学習により、コンクリート壁面画像の変状を認識する認識モデルを学習し、画像点検の効率化を図ることが行われている。
 本実施形態における変状を認識する認識モデルは、コンクリート壁面画像からひび割れを認識する画像認識モデルであるとする。なお、インフラ点検における変状認識モデルは、ひび割れ認識モデルに限らず、他の変状を認識するモデルでも良い。例えば、漏水領域や、剥落領域、さび汁領域を認識する認識モデルでも良いし、あるコンクリート壁面領域の劣化度合いの判定を機械学習により実施するモデルであっても良い。
 また、詳細は後述するが、本実施形態におけるデータは、以下のような内容となる。まず、ひび割れを認識するためのモデルを学習するためには、ひび割れを含むコンクリート壁面画像と、当該画像でのひび割れ正解位置を示す教師データとから構成される学習データを用いる。また、本実施形態におけるデータの属性の例の一つは、橋梁やトンネルといったインフラ構造物の種類である。この属性に関して、全ての構造物の種類の画像で学習したモデルは、どの構造物の種類にも適用できるモデルとなる。しかし、認識対象の画像が橋梁であることが分かっている場合には、橋梁画像のみ(構造物種類の属性が橋梁のデータのみ)で学習したモデルを用いる方が高精度の結果を得ることができる。
 本実施形態における属性について、さらに図5を用いて説明する。属性は、学習データセットや認識対象データに含まれるデータの条件を示す。属性には様々な項目が含まれるが、この一つの項目を、以下では属性項目と呼ぶ。属性項目の例として、インフラ構造物の構造物種類がある。構造物種類の例としては「橋梁」、「トンネル」、「ダム」などを含む。このように、属性項目の一つの例は、データが示す認識対象の種類である。また、別の属性項目の例として、インフラ構造物の壁面状態がある。壁面状態の例としては、「ひび割れ多い」「錆汁多い」が示されている。属性項目は、このように、画像データのアピアランスや、壁面劣化のパターンを含んでも良い。さらに、図5には、撮影の条件に基づく属性項目の例として、カメラパラメータがある。カメラパラメータの例としては、露出パラメータである「EV-2以下」、「EV+2以上」が示されている。撮影の条件については、このような撮影パラメータだけでなく、カメラ種類や撮影時の天候・時期などの情報も含めても良い。このように、本実施形態の属性には、データを分類するあらゆる項目を含んでも良い。また、図5では、図示の都合上、上記の属性項目のみを示しているが、データの条件を分類するために、さらに多くの属性項目を追加しても良いし、属性項目の内容を細分化しても良い。なお、図5のその他の内容については後述する。
 続いて、図1及び図2を用いて、本実施形態における情報処理装置100の構成を説明する。
 <情報処理装置のハードウェア構成>
 図1は、本実施形態に係る情報処理装置100のハードウェア構成図である。図1に示すように、情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、操作部106と、通信部107とを有している。CPU101は、中央演算装置(Central Processing Unit)であり、各種処理のための演算や論理判断等を行い、システムバス108に接続された各構成要素を制御する。ROM(Read-Only Memory)102は、プログラムメモリであって、後述する各種処理手順を含むCPU101による制御のためのプログラムを格納する。RAM(Random Access Memory)103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。尚、情報処理装置100に接続された外部記憶装置等からRAM103にプログラムをロードすることで、プログラムメモリを実現しても構わない。
 HDD104は、本実施形態に係る電子データやプログラムを記憶しておくためのハードディスクである。同様の役割を果たすものとして外部記憶装置を用いてもよい。ここで、外部記憶装置は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD-ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置は、ネットワークで接続されたサーバ装置等であってもよい。
 表示部105は、例えばCRTディスプレイや、液晶ディスプレイ等であって、表示画面に画像を出力するデバイスである。なお、表示部105は、情報処理装置100と有線あるいは無線で接続された外部デバイスでも構わない。操作部106は、キーボードやマウスなどを含み、ユーザによる各種操作を受け付ける。通信部107は、公知の通信技術により、他の情報処理装置や通信機器、外部記憶装置等との間で、有線又は無線による双方向の通信を行う。
 <情報処理装置の機能構成>
 図2は、本実施形態に係る情報処理装置100の機能構成を示すブロック図の一例である。情報処理装置100は、学習部201と、モデル格納部202と、属性処理部203と、モデル選択部204と、認識部205とを有している。これらの各機能部は、CPU101が、ROM102に格納されたプログラムをRAM103に展開し、後述する各フローチャートに従った処理を実行することで実現されている。そして、各処理の実行結果をRAM103またはHDD104に保持する。また、例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
 次に、図2の各機能部の概要について説明する。学習部201は、複数のモデルを学習する。モデル格納部202は、複数の学習済みモデルをHDD104等の記録装置へ格納する。属性処理部203は、認識対象データの属性の情報を処理し、モデル選択部204へと受け渡す。モデル選択部204は、属性処理部の203から認識対象データの属性に関する情報を受け取り、また、モデル格納部202から、学習済みモデルに関する情報を取得する。モデル選択部204は、これらの情報から、認識対象データの認識に適したモデルを選択する。認識部205は、モデル選択部204で選択したモデルを用いて、認識対象データに対して認識処理を実施する。なお、これらの各機能部は全て情報処理装置100に含まれている必要はなく、少なくともその一部の機能が情報処理装置100と接続可能な外部装置で実施されてもよい。例えば、学習部201や認識部205の機能は外部装置で実現されてもよいし、モデル格納部202も外部装置に設けられていてもよい。適宜、外部装置と通信することで必要な情報を送受信することで、情報処理装置100での処理を最少化するように構成してもよい。
 本実施形態では、学習部201により予め複数のモデルを学習しており、モデル格納部202に格納されているとする。この複数モデルの学習と、各モデルの学習データセットの属性について説明する。
 まず、前述したように、本実施形態では、画像中のひび割れを認識するモデルを学習するための学習データは、コンクリート壁面の画像と、画像中のひび割れ位置を示す教師データとのペアから構成される。この画像と教師データとのペアを多数集めることで学習データセットとなる。モデルの学習は、学習データセットを用いて学習することで実施される。本実施形態のモデルの学習には、どのような機械学習アルゴリズムを用いても良く、例えば、ニューラルネットワークのようなアルゴリズムを用いることができる。
 本実施形態では、様々なインフラ構造物や撮影条件の画像の認識に対応するため、多様な条件の学習データを準備しておく。以下、準備した全ての学習データを全学習データとする。この全学習データを学習データセットとして学習したモデルは、様々な条件に対応可能なロバストなモデルとなる。
 一方、限定的な条件に特化したモデルを作成するために、全学習データから、限定的な条件の学習データを抽出し、全学習データのサブセットとなる学習データセットを作成する。このサブセットの学習データセットで学習したモデルは、限定的な条件では、全学習データで学習したモデルよりも高性能な結果を得ることができる。また、学習データセットの属性セットを学習済みモデルに関連付けて記録しておく。
 以下、図3を用いて、本実施形態に係る学習部201が実施するモデルの学習と、学習データセットの属性セットについて説明する。図3では、全学習データのサブセットとして、学習データセットD1~D3を作成し、それぞれの学習データセットで学習することで、モデルM1~M3を作成している様子を示している。
 吹き出し300は、全学習データに含まれるデータを示しており、コンクリート壁面の画像310と、画像310のひび割れ位置を示す教師データ311のペアからなる学習データが多数含まれている。また、学習データには、各学習データの属性を示す情報312が関連付けられている。
 吹き出し301は、ある学習データの属性を示す情報の例を示す。吹き出し301には、例えば、属性項目として「橋梁」が含まれており、学習データ画像が橋梁の画像であるか否かの情報を示す。本実施形態では、属性項目はTrue、Falseの2値で設定されるものとしており、吹き出し301の例では、学習データ画像が橋梁画像であるため、「橋梁」の属性項目にTrueが設定されている。
 学習データセットは、所定条件に適したモデルの学習データを作成することを目的に、全学習データから所定の条件の学習データを抽出することで作成する。このために、所定の条件を示す属性を設定して、全学習データからその属性を満たす学習データを収集して、学習データセットを作成する。例えば、橋梁に適した認識モデルを作成するために、全学習データから、橋梁の画像のみを抽出して学習データセットを作成しても良い。また、さらに条件を絞って、橋梁、且つ、ひび割れが多い壁面の画像のみを抽出して学習データセットを作成しても良い。また、逆に、橋梁とトンネルの学習データから構成される学習データセットを作成して、比較的、ロバストなモデルを学習するための学習データセットを作成しても良い。このような、学習データセットの作成方法は、人間が学習データを手動で分配して作成しても良いし、各学習データに関連付けられた属性の情報に基づいて、様々な属性の組み合わせの学習データセットを自動的に作成するようにしても良い。
 次に、全学習データのサブセットである学習データセットに対して、学習データセットを構成する学習データの属性を集計する。図3の吹き出し302は、学習データセットD3に含まれる学習データの属性を集計した結果を示している。ここで、学習データセットD3は、橋梁の画像の学習データだけでなく、トンネルの画像の学習データも含まれているとする。このため、吹き出し302での属性には、属性の項目「橋梁」及び「トンネル」にTrueが設定されている。このように、学習データセットに含まれる学習用データの属性を集計し、各属性項目のTrue、Falseを記録した情報を以下では属性セットと呼ぶ。このように、学習データは、複数の学習用データにより構成されており、学習データの属性は、複数の学習用データの属性の集計の結果に基づいて決定される。
 また、学習データセットの作成方法として、全学習データから無作為に、複数の学習データセットを作成し、各学習データセットに含まれる学習データの属性を収集することで、各学習データセットの属性セットを作成するようにしても良い。
 以上のように、学習データセットそれぞれについて、その学習データセットに含まれる学習データの属性に応じて、属性セットを作成する。属性セットの情報は、各学習データセットを用いて学習したモデルとともに、モデル格納部202に格納しておく。これにより、後述するモデル選択部204は、モデルと共に属性セットを呼び出すことにより、モデルを学習した学習データセットの内容を参照することができるようになる。
 なお、上記の全学習データの説明では、各学習データに対して、属性を示す情報を一対一で関連付けた例を説明した。これに限らず、全学習データにおける属性を示す情報は、複数の学習データに対してまとめて準備するようにしてもよい。例えば、橋梁の壁面を撮影した画像群からなる複数の学習データに対して、「橋梁」の属性項目がTrueに設定された情報を一括で付与するようにしても良い。
 以上では、全学習データの中の各学習データについて、予め属性の情報を付与しておき、学習データセットに含まれる学習用データの属性を集計することで学習データセットの属性セットを作成する実施形態について説明した。
 しかしながら、学習データセットの属性セットの作成方法は、この方法に限らず、他の方法で作成しても良い。例えば、ある学習データセットに含まれる学習データの画像データや、属性の情報を人間が確認し、学習データセットの各属性のTrue、Falseを人間が設定することで学習データセットの属性セットを作成するようにしても良い。さらに、ある属性の学習データが学習データセット中に少量しか含まれていない場合、その属性の学習効果が少ないと判断して、学習データセットにその属性が含まれていたとしても、属性の設定をFalseとするようにしても良い。例えば、トンネル画像を認識対象とするモデルを学習するために、トンネルの画像を中心に収集した学習データセットがあり、この中に数枚の橋梁画像の学習データが含まれているとする。このような場合、トンネルの属性をTrue、橋梁の属性はFalse、と設定するようにしても良い。
 以上のようにして、モデル格納部202には、学習済みモデルと、モデルを学習した学習データセットの属性セットが格納される。以下では、説明の簡略化のため、モデルを学習した学習データセットの属性セットを単純にモデルの属性セットと呼ぶこともある。
 <処理>
 図4のフローチャートを参照しながら、本実施形態に係る情報処理装置100が実施する全体処理の手順を説明する。
 [S401]
 ステップS401では、属性処理部203が、認識対象データの属性セットの情報を作成する。ステップS401の詳細を説明する前に、まず、本実施形態の認識対象データについて説明する。
 本実施形態での認識対象データは、点検対象となるある特定のインフラ構造物の画像である。インフラ構造物における点検画像は、ひび割れ等のコンクリート壁面の変状を点検するために、非常に高解像度の画像を撮影する。従って、インフラ構造物の全ての壁面を画像として記録するためには、多数の画像を撮影する必要がある。すなわち、あるインフラ構造物の点検を行うために、画像からひび割れを認識する処理は、多数の画像に対して認識処理を実行することになる。このように、本実施形態での認識対象データは、多数の画像から構成される。
 この多数の画像は、ある一つのインフラ構造物で構成されるため、あらゆるインフラ構造物の画像に比べると、画像の多様性は低い(少ない)。あるインフラ構造物の点検を行うためには、この限定的な条件の画像に対して認識処理を実施することになるため、認識対象データに適したモデルを選択すると、良好な認識性能結果を得ることができる。
 認識対象データに適したモデルを選択するために、ステップS401では、属性処理部203が、認識対象データの属性セットを作成する処理を実行する。認識対象データの属性セットは、学習データセットの属性セットと同様に、属性の各項目について、True、Falseが設定された情報である。
 認識対象データに関する属性セットの設定方法は、例えば、人間が認識対象データの内容を確認して、各属性の情報を入力することで設定することができる。前述した図5には、認識対象データを設定するためのユーザインターフェースの例を示している。後述するように、モデル選択部204は、認識対象データの属性セットと学習データセットの属性セットの内容に基づいてモデルを選択する。従って、認識対象データの属性項目は、学習データセットと共通であり、具体的には、図3の吹き出し302の属性セットの項目と、図5の属性セットの項目は同一の項目となっている。
 前述したように、認識対象データは、複数の画像から構成されている。従って、認識対象データには様々な属性の画像が含まれる。例えば、構造物種類の属性については、認識対象データが橋梁の画像である場合には、「橋梁」の属性項目にTrueを設定し、他の構造物種類の属性にはFalseを設定する。
 続いて、カメラパラメータの属性項目を例に、認識対象データの属性について説明する。構造物の壁面の撮影において、多くの構造物部分は露出EV0で撮影するものとする。しかし、構造物の影の部分など、部分的に暗い部分が存在する場合、その部分だけ露出EV+2で撮影するケースがある。また、逆に、日差しが強く当たる壁面については、露出を絞り、露出EV-2で撮影するケースもある。このようにして撮影した画像から構成される認識対象データの属性には、露出EV-2、露出EV+2の両方の属性項目にTrueを設定する。
 以下では、認識対象データの属性の設定方法に関するユーザインターフェースを説明する。ここで、ユーザとは、本実施形態の情報処理装置100を操作する人物であり、認識対象データに適した学習済みモデルを選択する処理を実行したい人物である。また、以下のユーザインターフェースに係る処理は、属性処理部203が実行する処理である。属性処理部203は、表示部105へのGUI情報の表示処理や、ユーザが設定した情報を、操作部106を介して受け付ける受付処理、及び、設定情報を記録領域に記録する記録処理等を実行する。
 図5のユーザインターフェースでは、ユーザが認識対象データの内容を確認して、各属性を設定する。図5のユーザインターフェースでは、各属性の項目について、ラジオボタンでTrue、Falseを設定するGUIの例を示している。なお、ユーザインターフェースの実施方法はこれに限らず、他のインターフェースでも良い。例えば、プルダウンメニューで属性の内容を設定するインターフェースで属性を設定するようにしても良い。また、図5の例では、認識対象データの構造物が橋梁であることから、マウスカーソル501により、橋梁にTrueを設定し、トンネルにFalseを設定している状態を示している。ユーザは、図5の状態から、さらに他の属性項目を設定する操作を行う。
 また、認識対象データの属性には、初期値を設定しておいても良い。図5では、ユーザが未設定の属性には、Voidが設定されている。Voidは、属性が不明であることを示す。ユーザが認識対象データの、ある属性を判断できない場合に、その属性を未入力とすると初期値のVoidが設定される。属性の設定にVoidを含む場合、後述するモデル選択部204の処理では、Voidが設定されている属性項目をモデル選択に利用しない。以上、属性の初期値にVoidを設定する例を示したが、初期値にはVoidではなく、Falseを設定するようにしても良い。
 以上のようにして、各属性の設定を行うことで、認識対象データの各属性がTrueまたはFalseのいずれかであることを示す情報が作成される。この情報を認識対象データの属性セットとする。なお、Voidの情報も利用する場合は、属性がVoidであるパターンを含んでも良い。
 以上、ユーザが認識対象データの内容を確認して、認識対象データの属性を入力する実施形態を説明したが、これに限定されない。例えば、認識対象データの属性を自動的に判定して設定するようにしても良い。この実施形態では、属性処理部203は、認識対象データの内容を判定する処理を実施し、認識対象データの属性を設定する。認識対象データの内容の判定は、各属性項目について、それぞれ内容を判定するための処理を実施する。例えば、カメラパラメータに関する属性項目については、認識対象データの画像に付随した撮影情報を読み取り、露出設定、ISO感度、などのカメラパラメータを取得する。この取得したカメラパラメータに基づいて、カメラパラメータ関係の属性項目に、True、Falseを設定する。また、撮影画像の緯度、経度などの撮影位置情報が取得できる場合には、位置情報と構造物のデータベースに基づいて、撮影位置の構造物の種類を判定するようにしても良い。画像に付属した情報では判定できない属性項目については、各属性を判定するための画像識別器を準備しておき、この画像識別器の識別結果に基づいて属性のTrue、Falseを設定するようにしても良い。例えば、ひび割れが多い画像と、ひび割れが少ない画像を判別するように学習した画像識別器を用いて、認識対象データにひび割れが多い画像が含まれるかを判定して、ひび割れの量に関する属性を設定するようにしても良い。また、全ての属性を自動的に判定する必要はなく、自動的に判定できた属性は、属性判定結果を設定し、自動で判定できなかった属性は、ユーザに属性の入力を要求する構成にしても良い。
 以上、属性処理部203の処理により、認識対象データの属性セットの情報が作成される。
 [S402]
 次に、ステップS402では、モデル選択部204が、学習データセットの属性セットと認識対象データの属性セットとに基づいて、複数のモデルから認識対象データに適したモデルを選択する。より具体的には、モデル選択部204は、学習データセットの属性セットと認識対象データの属性セットとの一致度と、学習データセットの多様性を段階的に判定することで、モデルを選択する。
 ここで、図7は、認識対象データの属性セットと、複数(n個)のモデルの属性セットの例を示す図である。図7は、属性のTrue、Falseを図示の都合上、○と×で表している。図7のモデルM1からM4は、全学習データのサブセットの学習データセットで学習したモデルであり、限定的な属性の学習データで学習したモデルである。例えば、構造物種類の属性に着目すると、モデルM1からM3は、橋梁の画像の学習データで学習したモデルであり、モデルM4はトンネルの画像の学習データで学習したモデルである。また、モデルMnは、全学習データで学習したモデルで、全ての属性の項目がTrueとなっているモデルである。
 以下、図6のフローチャート及び図7を参照しながら、モデル選択部204の処理の詳細について説明する。図6のフローチャートは、モデル選択部204が実施するステップS402の処理の詳細手順を示している。
 ステップS601では、モデル選択部204が、学習データセットの属性セットと認識対象データの属性セットとの一致度を判定する。本実施形態では、属性セットの一致度は、認識対象データの属性セットと、学習データセットの属性セットとの包含関係を確認することにより判定する。より具体的には、認識対象データでTrueと設定されている属性項目に着目し、同じ属性項目がTrueと設定されているモデルを選択する。図7の例では、認識対象データの属性項目の内、「橋梁」、「ひび割れ多い」、「EV-2以下」にTrueが設定されている。
 本来は、この3種類の属性項目がTrueと設定されており、属性セットが完全一致するモデルが、最も認識対象データに適したモデルとなる。ステップS601では、モデル選択部204が、属性セットが完全に一致するモデルが存在するかを確認する。もし、属性セットが完全に一致するモデルが存在する場合には、そのモデルを選択する。属性セットが完全に一致するモデルが存在する場合には、ステップS602の多様性を判定する処理は不要なので、ステップS602をスキップして終了して良い。
 しかし、前述したように、あらゆる属性セットのパターンに備えた複数のモデルを、予め学習しておくことは困難なので、属性セットが完全に一致しないモデルから、最適なモデルを選択するケースが発生する。図7の例では、認識対象データの属性セットと完全に一致する属性セットを有するモデルは存在しない。
 このような状況においては、ステップS601で、モデル選択部204が、認識対象データの属性を包含するモデルを選択する。具体的には、認識対象データと同様に、「橋梁」、「ひび割れ多い」、「EV-2以下」の属性項目にTrueが設定されているモデルを選択する。これは、認識対象データの属性に対応するためには、これらの属性の条件を学習したモデルを選択する必要があるためである。この基準によると、図7の例では、モデルM2、M3、Mnの3つのモデルが選択される。このようにステップS601で選択されたモデルが複数存在する場合、ステップS602の処理によりさらにモデルを限定する。
 ステップS602では、モデル選択部204が、ステップS601で選択したモデルの属性セットの多様性に基づいて、モデルを選択する。良好な性能で認識を実行するためには、認識対象データの属性に対して、余分な学習データを含まずに学習したモデルを選択することが望ましい。従って、ステップS602では、ステップS601で選択したモデルの中から、属性の多様性が低い(少ない)学習データにより学習されたモデルを選択することで、認識対象データの属性を包含し、且つ、余分な学習を行っていないモデルを選択する。ここで、モデルの多様性は、モデルを学習した学習データセットの属性の数を集計することで算出する。具体的には、各モデルの学習データセットの属性がTrueと設定されている数を算出し、これを多様性とする。図7の例で、ステップS601で選択されたモデルの多様性は、それぞれ、モデルM2は4、モデルM3は5、モデルMnは7となる。ステップS602の多様性に基づくモデル選択では、ステップS601で選択されたモデルのうち多様性の値が最も小さなモデルを選択する。従って、図7の例では、モデルM2が選択されることになる。
 以上、図6のフローチャートに従って、認識対象データの認識に適したモデルを選択する処理の詳細を説明した。なお、ステップS601において、認識対象データの属性を包含するモデルが全く存在しない場合には、属性の一致度が最も高いモデル(最も認識対象データの属性を含むモデル)を選択する。このとき、予め、必ず一致しなければならない属性項目を設定しておくようにしても良い。例えば、構造物種類は、モデル選択において重要な属性項目である。従って、まず、少なくとも構造物種類の属性設定が一致するモデルを選択し、構造物種類に基づいて選択したモデルの中から他の属性項目が最も一致するモデルを選択するようにしてもよい。
 また、前述したように、認識対象データの属性には、属性が不明である情報としてVoidを設定するようにしても良い。この場合、モデル選択部204の処理においては、認識対象データの属性項目にVoidが設定された属性を無視して処理を実行すれば良い。具体的には、認識対象データの属性とモデルの属性の一致度を判定する処理において、認識対象データの属性セットにVoidが設定された属性項目は、モデルの属性項目がTrueでもFalseでも、モデルの一致度に影響を与えないようにすればよい。
 以上説明したように、モデル選択部204の処理により、認識対象データの認識に適したモデルが選択される。
 [S403]
 ステップS403では、認識部205は、ステップS402で選択されたモデルを用いて認識処理を実行し、認識対象画像に対する認識結果を作成する。本実施形態においては、認識対象画像のひび割れを認識し、画像中のひび割れ位置を示す認識結果を作成する。以上で図4の一連の処理が終了する。
 以上説明したように、本実施形態では、予め学習された複数のモデルであって、入力されたデータに対して認識を行うための複数のモデルそれぞれの学習に用いた学習データに関する情報し、認識対象データの属性を示す情報を取得する。そして、認識対象データの属性と複数のモデルそれぞれの学習に用いた学習データの属性との一致度と、複数のモデルそれぞれの学習に用いた学習データの属性の多様性とに基づいて、認識対象データの認識に用いるモデルを複数のモデルから選択する。すなわち、本実施形態で選択したモデルは、認識対象データの属性を包含し、且つ、余分な属性を学習していないモデルである。従って、複数のモデルの中から、認識対象の属性に対応するデータで学習されたモデルであり且つ認識対象に対する認識性能が良好なモデルを選択することができるため、好ましい認識結果が得られることが期待できる。
 (実施形態2)
 実施形態1では、認識対象データの認識に適したモデルを一つ選択する例を説明した。しかしながら、モデルの選択は、一つのモデルを選択することに限定されず、多様性に基づいて複数のモデルを選択するようにしても良い。以下、実施形態2では、認識対象データの認識に適した複数のモデルを選択する例を説明する。
 なお、実施形態2に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1と同様であるので、説明を省略する。また、実施形態2においても、実施形態1と同様に、インフラ構造物の点検のための、ひび割れ認識モデルを用いる実施形態を説明する。実施形態2に係る処理は図4及び図6のフローチャートに従った手順となる。
 実施形態1で選択したモデルは、認識対象データの属性を包含し、且つ、余分な属性を学習していないモデルであり、認識対象データに対して高い性能で認識することが期待できる。この効果を得るためには、認識対象データの属性を正しく設定する必要がある。しかし、認識対象データの画像データが非常に多いケースなどでは、認識対象データの全ての属性を正しく判断することが難しい場合がある。特に、ユーザが認識対象データの属性を設定する場合に、全ての認識対象画像を確認することが難しいため、壁面状態などの画像アピアランスに関する属性を正しく設定できない可能性がある。
 実施形態2では、このような状況に対応するために、実施形態1で選択したモデルに加えて、モデルの属性セットの多様性が高く(多く)、ロバストな認識が実施できるモデルも選択する。具体的には、実施形態1で説明したステップS602において、実施形態1と同様に、多様性が最小のモデルを選択し、これを第一のモデルとする。そして、さらに、比較的、多様性の値が高いモデルを、ロバストな認識を実施する第二のモデルとして選択する。より具体的には、第一のモデルの属性項目のTrueの数よりも、多くの属性項目がTrueと設定されているモデルを第二のモデルとして選択する。すなわち、多様性が多い学習データにより学習されたモデルを選択する。これにより、認識対象データの属性の設定にミスがあっても、比較的ロバストなモデルも第二のモデルとして選択されるため、認識対象データが想定よりも多様なデータであった場合にも、認識対象データに対応できる可能性があるモデルが選択される。
 ここで、全学習データで学習したモデルが存在する場合に、多様性が最大のモデルを選択すると、常に全学習データで学習したモデルが選択されることになる。これも一つの実施形態ではあるが、第一のモデルの多様性に対して、予め設定した所定の値だけ大きな多様性を示すモデルを選択するようにしてもよい。これにより、認識対象データの属性を包含し、且つ、若干ロバスト性が高いモデルを選択できるようになる。このモデルは、全学習データのモデルと第一のモデルとの中間的な性能を示し、全学習データのモデルよりもロバスト性は劣るものの、余分な学習データが相対的に少ないため、認識対象データの認識に適したモデルとなる。
 また、前述したように、壁面状態に関する認識対象データの属性の設定が正しく設定できない可能性があるため、壁面状態に係る属性についてロバストなモデルを第二のモデルとして選択するようにしてもよい。従って、壁面状態に関する属性項目が、第一のモデルの属性に比べて所定の数だけ多くTrueと設定されているモデルを選択するようにしても良い。このように、多様性に基づいて第二のモデルを選択する場合に、多様性を評価するための属性を限定して、第二のモデルを選択するようにしても良い。
 以上の処理により、認識対象データの属性セットに基づいて、認識対象に最適と判断される第一のモデルと、比較的ロバストな第二のモデルを選択することができるようになる。
 その後、実施形態1で説明したステップS403において、認識部205は、選択された2つのモデルそれぞれの認識結果を作成し、その両方の結果をユーザに提示する。ユーザは、2つの認識結果を確認して、より適切と判断できる認識結果を採用すればよい。
 この処理のために、認識部205は、表示部105への認識結果の表示と、操作部106を介したユーザの認識結果の選択の受け付け処理を実施する。また、2つの認識結果の提示は、各モデルの認識結果を比較可能な状態で表示する。具体的には、各モデルのひび割れ認識結果を認識対象画像に重畳した画像を作成し、並べて表示したり、切り替えて表示したりする。
 また、認識部205で認識処理を実行する前に、モデル選択部204により選択された2つのモデルの情報を表示部105に表示することで、認識処理に用いるモデルをユーザに判断させても良い。ここで表示するモデルの情報は、例えば、各モデルの属性セットの情報である。さらに、各モデルの属性セットの情報を比較しやすくするために、並べて表示したり、差分がある属性項目を強調表示したりしても良い。事前にユーザにモデルを選択させることで、認識部205で認識処理を実施するモデル数を削減することができるため、認識処理の時間を削減することができるようになる。
 なお、本実施形態では、2つのモデルを選択する例を説明したが、選択するモデルは2つに限らず、多様性に基づいて、3つ以上のモデルを選択するようにしても良い。この場合、多様性に基づいて、第二のモデルを複数選択する。具体的には、第一のモデルに比べて、多様性が少し高いモデルと、さらに多様性が高いモデルとを選択する。これにより、ロバスト性が異なる複数のモデルを選択することができるようになる。
 (実施形態3)
 上述した各実施形態では、属性は、構造物種類など、人間が見て理解できる明確な項目としたが、これに限定されない。実施形態3では、画像特徴量に基づいて属性の情報を作成する例を説明する。なお、実施形態3に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1と同様であるので、説明を省略する。また、実施形態3においても、実施形態1と同様に、インフラ構造物の点検のための、ひび割れ認識モデルを用いる実施形態を説明する。
 実施形態3では、学習データセットの画像群、または、認識対象データの画像群からBag-of-FeaturesやBag-of-Visual Wordsと呼ばれる手法で属性セットの情報を作成する。Bag-of-Featuresは公知の手法であるので、アルゴリズム自体の詳細な説明は省略する。以下では、図8を用いて、Bag-of-Featuresにより属性セットを作成する実施形態について説明する。
 図8には、学習データセット801~80nが示されている。これらのうち、学習データセット801から属性セット841の情報を作成する処理について説明する。この説明のため、まず、本実施形態におけるVisual wordについて説明する。Visual wordは、全学習データの画像群の画像特徴をクラスタリングして、各クラスタの中心をVisual wordとすることで作成する。ここで、画像特徴は、従来のBag-of-Featuresでよく利用されているSIFTやSURFのような局所特徴量でも良いし、Convolutional Neural Network(CNN)を用いて抽出した画像特徴を用いても良い。ここで、SIFTはScale Invariant Feature Transformの略であり、SURFはSpeeded Up Robust Featuresの略である。
 次に、学習データセット801に含まれる画像群とVisual wordに基づいて、ヒストグラム831を作成する。ヒストグラム831のbinは、Visual wordのインデックスを示している。図8では、図示の都合上、Visual wordが4種類のケースについて説明しているが、Visual wordは通常、さらに多数で構成される。ヒストグラム831を作成するためには、学習データセット801に含まれる画像の画像特徴を抽出し、画像特徴が最も類似するVisual wordに投票を行う。例えば、図8では、画像821の画像特徴は、1番のインデックスのVisual wordに類似していたため、画像821からインデックス1番に投票している様子を矢印822で示している。通常のBag-of-Featureでは、1枚の画像からヒストグラム特徴を作成するが、本実施形態では、学習データセットの傾向を示す情報を作成することが目的である。そのため、学習データセット801の全画像から画像特徴の抽出と、ヒストグラムへの投票を行う。
 また、図8の説明では、1枚の画像821から一つの投票822を実施している様子を示しているが、これは、画像821が局所パッチサイズの画像であることによる。学習画像のサイズが大きな場合は、1枚の画像から部分的な画像特徴を抽出し、それぞれの画像特徴に基づいてヒストグラムに投票するようにしても良い。
 以上の処理により、Visual wordのヒストグラム831が作成される。このヒストグラムは、学習データセット801の画像特徴の傾向を示すものである。すなわち、本実施形態では、各Visual wordを属性項目とすることで、画像特徴に基づいて、学習データセットのデータ条件を表現する。
 次に、実施形態1と同様に、各項目にTrue、Falseの2値の情報が設定された属性セットを作成するために、ヒストグラム831を閾値処理する。図8では、閾値832により、ヒストグラム831を閾値処理した結果の属性セット841を示しており、閾値832以上の値を示すインデックス1のみがTrueとなった属性セット841が作成されている。なお、このような閾値処理を実施せずに、1回でも投票されたVisual wordインデックスをTrueとして属性セットを作成しても良い。しかし、少量の投票結果はノイズとして閾値処理した方が、学習データセットの傾向を示すための属性セットを正しく作成することができる。
 以上の処理を、各学習データセットに対して実施することにより、学習データセットの属性セットを作成する。これらの属性セットの情報は、実施形態1と同様に、学習データセットを用いて学習したモデルと共に、モデル格納部202に格納しておく。
 認識対象データについても、同様の方法で、画像特徴に基づく属性セットを作成する。図8には、認識対象データの画像群810を示している。この画像群から、学習データセットをヒストグラム化したときと同じVisual wordを用いて、ヒストグラム833を作成し、さらに、属性セット851の情報を得る。
 以上の処理によって、学習データセットの属性セット841~84nと、認識対象データの属性セット851が得られる。これらの情報を用いたモデル選択方法は、実施形態1と同様の処理を行えばよいので、説明は省略する。
 なお、上述した方法では、Visual wordは自動的にクラスタリングにより作成されるので、各Visual wordがどのような画像特徴を示しているのか判断することが難しい。本実施形態では、Visual wordを属性項目としているので、属性項目のTrue、Falseにより、学習データセットや認識対象データの傾向を判断することも難しくなる。従って、Visual wordが示す属性を明確にするため、特定の画像を表すためのVisual wordを手動で作成しても良い。例えば、全学習データから手動で、ひび割れが多い画像を収集し、この画像群の特徴量分布中心を一つのVisual wordとしても良い。これにより、このVisual wordは、「ひび割れ多い」という属性を明確に示すVisual wordとなる。
 以上説明したように、本実施形態によれば、画像に基づいて属性セットを作成することにより、画像のアピアランスや雰囲気に基づいて、認識に用いるモデルを選択することができるようになる。
 なお、実施形態1で用いた人間が理解可能な属性項目と、実施形態3の画像特徴に基づく属性を合わせて利用しても良い。例えば、構造物種類やカメラパラメータなどの明示的に入力可能な属性は、実施形態1の明示的な名称を持つ属性項目として属性を設定し、壁面状態などの画像に基づく属性は、画像特徴に基づく属性を作成してもよい。これらの属性の設定を合わせて、モデル選択に用いる属性セットとすることもできる。
 (実施形態4)
 実施形態2では、複数のモデルを選択してユーザに提示し、選択されたモデルをユーザが確認し、さらに選択する実施形態について説明した。実施形態4では、このように、モデル選択結果をユーザに提示する例を、さらに詳細に説明する。
 なお、実施形態4に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1と同様であるので、説明を省略する。また、実施形態4においても、実施形態1と同様に、インフラ構造物の点検のための、ひび割れ認識モデルを用いる実施形態を説明する。
 図9は、モデル選択のためのGUIアプリケーションを説明する図である。アプリケーションウィンドウ900には、認識対象データに関する情報を示す領域901と、モデル選択部204により選択されたモデルの情報を示す領域902とが含まれる。以下、本実施形態では、認識対象データの属性を設定する処理から、モデルを選択する処理までを、ユーザインターフェースの観点で説明する。CPU101が表示制御部として機能し、表示部105の表示を制御することでアプリケーションウィンドウが表示される。
 アプリケーションウィンドウ900には、認識対象データの属性を入力するための領域911が設けられている。これは、図5と同様の目的、機能のインターフェースであるが、図9では、プルダウンボタンで各属性項目に対してTrue、Falseを設定するインターフェースである。ユーザは、属性項目を設定した後に、最適モデル検索のボタン912を押下する。
 この操作に伴い、モデル選択部204は、認識対象データに適したモデルを選択する。図9の例では、モデルM3、モデルM8、モデルM6の3種類のモデルが選択され、それぞれのタブにモデルの情報が表示された例を示している。なお、モデルのタブの順序は、モデルの多様性の順を示している。図9には、これらのモデルを切り替えて表示するためのボタン922、923を示している。ユーザは、ボタン922、923によりモデルを切り替えて表示し、各モデルの情報を確認しながら、認識処理に用いるモデルを決定する。
 図9には、表示中のモデルを認識処理に用いるモデルとして選択するための決定ボタン924が設けられている。なお、複数モデルの表示は、このような表示に限定することなく、複数のモデルを同時に表示し、その内容を比較できるようにしても良い。また、選択するモデルも一つに限らず、複数のモデルを選択できるようにしても良い。複数のモデルを選択する場合には、各モデルで認識処理を実行し、その認識結果を比較して、より適切な認識結果を決定する。
 次に、モデルの情報を示す領域902について説明する。モデルの情報を示す領域902には、モデルの属性セットの情報925が表示されている。ユーザは、このモデルの属性セットの情報925と、認識対象データの属性セットの情報911とを比較して確認することで、より似た条件で学習したモデルを選択することができる。なお、この比較を容易にするために、認識対象データの属性セット911とモデルの属性セット925とで、属性項目の設定が同一の項目を強調表示するようにしても良い。または、逆に、設定が異なる項目を強調表示するようにしても良い。また、選択されたモデルの属性セットの情報925と、認識対象データの属性セットの情報925とのうち少なくとも一方を表示させるように構成してもよい。
 モデルの情報を示す領域902には、さらに、画像926のように、モデルを学習した学習画像の例を表示するようにしても良い。このように、モデルの情報として、学習画像を表示することで、ユーザは、そのモデルがどのような条件で学習されたモデルなのかを、より直感的に理解することができるようになる。
 なお、実施形態1のように、各学習データに属性の情報が関連付けられている場合、所定の属性がTrueと設定された画像のみを表示するようにしても良い。これにより、例えば、あるモデルが学習した「ひび割れ多い」の属性の画像が、どのようなものであるかを、ユーザが簡単に把握できるようになる。
 また、合わせて、認識対象データの画像も、認識対象データに関する情報を示す領域901に表示するようにしても良い。図9には、認識対象データに関する情報を示す領域901に、画像913のように、認識対象データの画像を表示した様子を示している。この認識対象データの画像は、例えば、認識対象の構造物壁面の一部の画像である。このように、認識対象データの画像と、モデルを学習した画像とを比較表示することで、学習画像の条件が認識対象データの画像に類似したモデルを選択することが容易になる。
 さらに、モデルを学習した画像926は、全ての学習画像を表示せず、各属性の代表的な画像を予め選択しておき、これを表示するようにしても良い。また、モデルが学習した画像の傾向が理解できれば、実際に学習した画像ではなく、類似したサンプル画像や、イメージ図等でも良い。これにより、認識対象データの画像と比較しやすい画像を表示することができるようになる。
 また、モデルを学習した画像926の表示について、これらの画像は実際に学習した画像ではなく、仮想的に生成した画像でも良い。近年、GAN(Generative Adversarial Networks)と呼ばれる技術により、学習に基づいて、画像を生成する技術が発展している。このような技術により、学習データセットの画像群の画像の傾向を学習し、学習したモデルを用いて、学習データセットの画像に類似した画像を生成し、この生成した画像を表示用の学習画像としてもよい。また、選択されたモデルを学習した学習データの画像926と、認識対象データの画像913とのうち少なくとも一方を表示させるように構成してもよい。
 以上説明したように、モデル選択部204により選択された複数のモデルから1以上のモデルを選択するためのインターフェースを提供することで、ユーザは容易にモデルを選択することができるようになる。なお、以上の説明では、複数のモデルから、認識処理に用いるモデルを選択する例を説明したが、モデル選択部204が選択したモデルが一つである場合であっても、選択したモデルを確認するために、本実施形態に係るユーザインターフェースを提供しても良い。この場合、図9の複数モデルを切り替え表示するボタン922、923や、モデルを選択するための決定ボタン924は不要となる。
 以上の処理は、情報処理装置100のCPU101が、ROM102に格納されたプログラムをRAM103に展開して実行することで実現される。また、必要に応じて、表示部105にGUIを表示し、ユーザからの操作を操作部106で受け付ける。
 また、モデル選択や認識処理をSaaS(Software as a Service)の形態で実施しても良い。図10は、SaaSの形態における情報処理装置110、120、121、122を示している。これらの情報処理装置は、情報処理装置100と同様に、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、操作部106と、通信部107とを有している。各情報処理装置の構成は情報処理装置100の説明と同様であるので、詳細は省略する。
 図10の例では、情報処理装置110がサーバ、情報処理装置120、121、122がクライアントである。クライアントの情報処理装置120、121、122では、サーバの情報処理装置110から情報を受け取り、ユーザインターフェースに係る処理を実行する。具体的には、本実施形態で説明した図9のようなGUIの表示や、ユーザ操作の受付を実行する。実施形態1で説明したモデル選択処理や、認識処理の機能は、サーバの情報処理装置110で実行する。なお、クライアントの情報処理装置の数は図示の例に限定されるものではない。このようなSaaSの形態でサービスを実施することにより、多数のユーザにサービスを提供することができるようになる。
 (実施形態5)
 実施形態5では、モデル選択の判断基準として、モデルの評価を加える例を説明する。
 図11は、実施形態5の情報処理装置100の機能構成を示すブロック図の一例である。これらの各機能部は、CPU100が、ROM102に格納されたプログラムをRAM103に展開し、各フローチャートに従った処理を実行することで実現される。そして、各処理の実行結果をRAM103またはHDD104に保持する。また例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。なお、以下では、SaaSの形態での実施形態も説明に含むが、SaaSの形態では、実施形態4での説明と同様に、サーバの情報処理装置とクライアントの情報処理装置により、以下の処理を実行する。
 本実施形態に係る情報処理装置100は、図2の機能ブロック図に加えて、モデル評価部206をさらに備える。モデル評価部206は、モデルの評価の実行や、情報の収集を実施する。以下、このモデル評価部206が実行する処理について説明する。
 モデルの評価の実施形態の一つは、モデルのユーザ評価を利用する方法である。実施形態4で説明したように、SaaSの形態により、多数のユーザにサービスを提供することができる。ユーザは最終的に、選択されたモデルを用いた認識結果を受け取るが、その結果に満足する場合もあれば、不満がある場合もある。本実施形態では、このユーザの満足度をモデルごとに収集してモデルの評価とする。
 図12は、モデルごとのユーザの満足度を収集するための、インターフェースを説明する図である。図12のインターフェースは、クライアントの情報処理装置により、ユーザに提示されるものとする。GUIウィンドウ1200には、あるモデルで認識された認識対象画像の認識結果1201が表示されている。図12の例では、認識結果1201は、ある構造物壁面画像のひび割れ認識結果である。ユーザはこの結果を閲覧して、認識結果の満足度を入力する。図12には、ユーザ満足度を入力する入力部1202が設けられており、この例では、「良い」「普通」「悪い」の3段階の評価を行うためのラジオボタンにより選択を受け付けることができる。ユーザは、いずれかの評価を入力して、送信ボタン1203を押下する。これにより、認識結果を作成したモデルと、ユーザ評価が関連付けられて、サーバの情報処理装置に記録される。
 このようなユーザ評価を蓄積することで、モデルごとの評価値(評価精度)を決定する。モデルの評価値は、単純に、ユーザからの評価を点数化し、集計すればよい。例えば、良い+1点、普通0点、悪い-1点として、ユーザの評価をモデルごとに蓄積する。これにより、ユーザの満足度が高く、性能が高いモデルほど、モデル評価値が高くなる。モデル評価部206は、以上のような、ユーザ評価の収集、蓄積、モデルの評価値の算出を実行する。
 モデル選択部204は、モデルを選択する処理において、モデル評価部206から各モデルの評価値を取得し、モデル選択の基準として活用する。すなわち、モデルに対するユーザの評価に基づいてモデルを選択する。具体的には、例えば、実施形態1のステップS602において、多様性の値が小さく、且つ、モデル評価値が高いモデルを選択する。このように、モデル評価値を考慮してモデルを選択することで、ユーザの満足度が高く、実績のあるモデルを選択することができるようになる。
 また、ユーザの満足度の他の計測方法として、モデルが選択された回数を記録しても良い。実施形態2及び実施形態4で説明したように、モデル選択部204は、複数のモデルを選択し、ユーザに提示するようにしても良い。この場合、ユーザは複数のモデルから、認識処理に用いるモデルを選択する。この選択された回数をモデルごとに記録しておき、選択された回数が多いほど、高いモデル評価値となるように記録を集計しても良い。
 また、ユーザ満足度の他の計測方法として、ユーザが選択されたモデルを再利用するために、モデルをブックマーク登録できるように構成し、その登録した回数に基づいて、モデル評価値を算出しても良い。
 以上、ユーザ満足度に基づくモデルの評価をモデル選択に利用する例を説明した。
 次に、モデルの評価を用いたモデル選択方法の別の実施形態として、予め準備した性能評価データを用いてモデルを評価する方法について説明する。この実施形態では、実施形態1の全学習データのように、全性能評価データとして、画像と画像中のひび割れ位置を示す正解情報とのペアを含む性能評価データを多数準備しておく。また、各性能評価データには、性能評価データの属性を示す情報を関連付けて記録しておく。このような性能評価データの画像に対して、あるモデルで認識処理を実施し、認識処理結果と正解情報とを比較することで、モデルの正解率や精度を得ることができる。性能評価結果を評価値とする実施形態では、このようにして得られる正解率や精度をモデルの評価値とする。
 また、ここでは、認識対象データの属性セットに合わせた性能評価データセットを作成し、性能評価データセットに対して、モデルを用いた認識処理を実施し、正解率や精度を算出してモデルの評価値を算出する。そこで、性能評価データセットは、認識対象データの属性セットと類似した属性セットのデータセットとなるように、全性能評価データから性能評価データを収集して作成する。性能評価データセットに対して、正解率、精度を算出して評価値を作成する処理は、全てのモデルについて実施してもよいし、モデルの属性セットが認識対象データの属性セットと類似する限定したモデルのみを実施するようにしても良い。
 以上のようにして算出したモデルの評価値を、モデル選択に利用する。この評価値を用いたモデル選択は、前述したユーザ評価に基づく評価値と同様に実行することができる。
 なお、ここでは、認識対象データの属性セットに合わせて、評価データセットを構築し、モデルの評価を実施する実施形態について説明したが、予め、任意の性能評価データセットでモデルを評価して評価値を算出しておいても良い。この場合、属性セットが異なる様々な性能評価データセットを作成し、それぞれの性能評価データセットで各モデルを評価して評価値を算出し、性能評価データセット及びモデルと関連付けて記録しておく。そして、モデルの選択処理では、認識対象データの属性が設定され、認識対象データの属性セットが得られると、各モデルの評価値として、認識対象データの属性セットと類似した属性セットの性能評価データセットで評価された評価値を呼び出す。そして、この呼び出した評価値を各モデルの評価値として、モデル選択で利用する。
 このように、予め性能評価データセットを構築し、モデルを評価しておくことで、認識対象データの属性が設定される度に、モデルの評価を実施しなくても良く、評価、及びモデル選択の時間を省略することができる。
 なお、認識対象データの属性に基づいてモデルを選択する処理を実施した結果、認識対象データに好適なモデルが選択できなかった場合に、新規のモデルを学習するようにしても良い。例えば、認識対象データの属性セットを包含するモデルが、既存の学習済みモデルから選択できなかった場合に、学習部201が新規のモデルを学習する処理を実行する。
 学習部201は、認識対象データの属性セットに基づいて、新規で学習するモデルの学習データセットを作成する。具体的には、認識対象データの属性セットと類似する属性セットとなるように、学習データセットのデータを全学習データから収集する。ここで、認識対象データの属性セットと類似した学習データセットを作成する処理では、少なくとも認識対象データの属性セットを包含する学習データセットの属性セットを構築することができる。このようにして作成した学習データセットで、新規にモデルを学習する。これにより、認識対象データに適したモデルを作成することができる。
 なお、認識対象データに合わせてモデルを学習する場合、学習時間を削減するために、既存の学習済みモデルをベースに追加学習を行うようにしても良い。追加学習を行う際は、上記の実施形態で選択したモデルをベースモデルとして追加学習を行う。より具体的には、まず、本実施形態、または、他の実施形態で説明した処理により、認識対象データの認識に適したモデルを、既存の学習済みモデルから選択する。このモデルをベースモデルとすることで、学習時間を短縮することができる。また、追加学習で用いる学習データセットとしては、前述したように、認識対象データの属性セットと類似する属性セットの学習データセットを作成する。さらに、ベースモデルとするモデルの属性セットと、認識対象データの属性セットとを比較して、認識対象データの認識に対して不足している属性の学習データのみを収集し、学習データセットを構築しても良い。
 (実施形態6)
 上述の各実施形態では、認識対象の例として、インフラ構造物の点検のための、ひび割れ認識を挙げて説明を行った。しかしながら、これに限らず、他の用途に用いても良い。実施形態6では、監視カメラ等の固定カメラで用いる認識モデルの選択について説明する。なお、実施形態6に係る情報処理装置100のハードウェア構成、機能構成は、実施形態1~実施形態5と同様であるので、説明を省略する。
 本実施形態では、監視カメラ等の固定カメラを設置した環境に適したモデルを複数の学習済みモデルから選択する。この場合、実施形態1~実施形態5で説明したような認識対象の属性を、固定カメラでの認識に関する属性に変更すればよい。属性の項目以外については、実施形態1~実施形態5の処理と同様の処理を実施することができる。従って、以下では、固定カメラを対象とした実施形態で用いる属性について説明する。
 図13を参照して、本実施形態の属性項目を説明する。図13には、固定カメラのモデルを選択するための認識対象データの属性を設定するユーザインターフェースを示す。この図は、実施形態1の図5の変形例である。固定カメラの実施形態における属性には、例えば、カメラ設置環境、認識対象、撮影に関する項目がある。図13には、例えば、カメラ設置環境として、「店舗」「駅」「道路」の属性項目を含む例を示している。また、カメラ設置環境における主要な認識対象を属性項目としてもよく、図13には、「人物」「車両」の属性項目が含まれている例を示している。なお、図13に示した属性項目は、一例であり、これらの属性項目に限らず、カメラ設置環境として他の属性項目を含めてもよく、例えば、「屋内」「屋外」「夜間撮影あり」などの項目を含めてもよい。なお、図13では、ユーザが「店舗」にTrue、「駅」にFalseを設定した状態を示しており、ユーザは引き続き、他の属性項目についてもモデル選択対象の固定カメラの属性を設定していく。また、図13に示すように、実施形態1と同様に、属性項目にはVoidの設定ができるようにしても良い。
 認識対象データの属性の設定では、以上のようにして、モデルを選択する対象の固定カメラについて属性の設定を行う。この処理により、すべての属性項目についての設定が完了すると、認識対象データである固定カメラ画像の属性セットが作成される。認識対象データの属性セットに基づいて学習済みモデルを選択する処理は、他の実施形態と同様の処理を行えばよい。なお、この処理のためには、各学習済みモデルと、どのような属性の組み合わせの学習データで学習したモデルであるかを示す属性セットの情報とを、予め関連付けて保存しておくようにする。
 以上説明したように、上述の各実施形態に係る情報処理装置は、属性項目を変更することにより、任意の認識対象のモデル選択に利用することができる。
 (その他の実施形態)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
 本願は、2019年11月14日提出の日本国特許出願特願2019-206352を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (14)

  1.  予め学習された複数のモデルであって、入力されたデータに対して認識を行うための複数のモデルそれぞれの学習に用いた学習データに関する情報を取得する第1の取得手段と、
     認識対象データの属性を示す情報を取得する第2の取得手段と、
     前記認識対象データの属性と前記複数のモデルそれぞれの学習に用いた学習データの属性との一致度と、前記複数のモデルそれぞれの学習に用いた学習データの属性の多様性とに基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択するモデル選択手段と、
     を備えることを特徴とする情報処理装置。
  2.  前記モデル選択手段は、前記認識対象データの属性を包含する属性を有する学習データにより学習されたモデルを選択することを特徴とする請求項1に記載の情報処理装置。
  3.  前記モデル選択手段は、前記一致度に基づいて選択されたモデルから、前記多様性に基づいて1以上のモデルをさらに選択することを特徴とする請求項1又は2に記載の情報処理装置。
  4.  前記多様性は、前記学習データの属性の数により表されることを特徴とする請求項3に記載の情報処理装置。
  5.  前記モデル選択手段は、前記一致度に基づいて選択されたモデルから、前記多様性が少ない学習データにより学習されたモデルを選択することを特徴とする請求項3または4に記載の情報処理装置。
  6.  前記モデル選択手段は、前記一致度に基づいて選択されたモデルから、前記多様性が多い学習データにより学習されたモデルを選択することを特徴とする請求項3または4に記載の情報処理装置。
  7.  前記モデル選択手段により選択されたモデルの属性と、前記認識対象データの属性とのうち少なくとも一方を表示部に表示させる表示制御手段をさらに備えることを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8.  前記表示制御手段は、前記モデル選択手段により選択されたモデルを学習した学習データの画像と、前記認識対象データの画像とのうち少なくとも一方を前記表示部にさらに表示させることを特徴とする請求項7に記載の情報処理装置。
  9.  前記モデル選択手段は、モデルの認識精度にさらに基づいてモデルを選択することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  10.  前記モデル選択手段は、モデルに対するユーザの評価にさらに基づいてモデルを選択することを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  11.  前記属性は、画像の画像特徴に基づくことを特徴とする請求項1乃至10の何れか1項に記載の情報処理装置。
  12.  前記学習データは、複数の学習用データにより構成され、
     前記学習データの属性は、前記複数の学習用データの属性の集計の結果に基づいて、決定されることを特徴とする請求項1乃至11の何れか1項に記載の情報処理装置。
  13.  予め学習された複数のモデルであって、入力されたデータに対して認識を行うための複数のモデルそれぞれの学習に用いた学習データに関する情報を取得し、
     認識対象データの属性を示す情報を取得し、
     前記認識対象データの属性と前記複数のモデルそれぞれの学習に用いた学習データの属性との一致度と、前記複数のモデルそれぞれの学習に用いた学習データの属性の多様性とに基づいて、前記認識対象データの認識に用いるモデルを前記複数のモデルから選択する
     ことを特徴とする情報処理方法。
  14.  コンピュータを、請求項1乃至12の何れか1項に記載の情報処理装置として機能させるためのプログラム。
PCT/JP2020/041754 2019-11-14 2020-11-09 情報処理装置、情報処理方法およびプログラム WO2021095693A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080079100.1A CN114730394A (zh) 2019-11-14 2020-11-09 信息处理装置、信息处理方法和程序
EP20887656.5A EP4060607A4 (en) 2019-11-14 2020-11-09 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
US17/743,568 US20220269996A1 (en) 2019-11-14 2022-05-13 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-206352 2019-11-14
JP2019206352A JP2021081793A (ja) 2019-11-14 2019-11-14 情報処理装置、情報処理装置の制御方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/743,568 Continuation US20220269996A1 (en) 2019-11-14 2022-05-13 Information processing apparatus, information processing method, and storage medium

Publications (1)

Publication Number Publication Date
WO2021095693A1 true WO2021095693A1 (ja) 2021-05-20

Family

ID=75912911

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/041754 WO2021095693A1 (ja) 2019-11-14 2020-11-09 情報処理装置、情報処理方法およびプログラム

Country Status (5)

Country Link
US (1) US20220269996A1 (ja)
EP (1) EP4060607A4 (ja)
JP (1) JP2021081793A (ja)
CN (1) CN114730394A (ja)
WO (1) WO2021095693A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4293620A1 (en) * 2022-06-15 2023-12-20 Canon Kabushiki Kaisha Image processing apparatus, control method, storage medium, and program
WO2024034196A1 (ja) * 2022-08-09 2024-02-15 堺化学工業株式会社 学習済モデル選択方法、学習済モデル選択装置および学習済モデル選択プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7452068B2 (ja) * 2020-02-17 2024-03-19 コニカミノルタ株式会社 情報処理装置、情報処理方法及びプログラム
CN113705628B (zh) * 2021-08-06 2024-02-06 北京百度网讯科技有限公司 预训练模型的确定方法、装置、电子设备以及存储介质
KR102662130B1 (ko) * 2021-09-30 2024-04-30 한국전자기술연구원 포인트 클라우드 컨텍스트 및 경량화 딥러닝 기반 3차원 객체 인지 방법
EP4184432A4 (en) * 2021-09-30 2023-10-11 Rakuten Group, Inc. INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM
KR102413588B1 (ko) * 2021-11-15 2022-06-27 주식회사 테스트웍스 학습 데이터에 따른 객체 인식 모델 추천 방법, 시스템 및 컴퓨터 프로그램
WO2023176393A1 (ja) * 2022-03-14 2023-09-21 キヤノン株式会社 認識装置、認識処理方法、及びプログラム
JP2023136811A (ja) 2022-03-17 2023-09-29 株式会社東芝 磁気ディスク装置のrwパラメータ調整方法及び調整装置と磁気ディスク装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016067483A1 (ja) * 2014-10-28 2016-05-06 日本電気株式会社 推定結果表示システム、推定結果表示方法および推定結果表示プログラム
JP2018106662A (ja) * 2016-12-22 2018-07-05 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
WO2018173121A1 (ja) * 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP6474946B1 (ja) 2017-06-28 2019-02-27 株式会社オプティム 画像解析結果提供システム、画像解析結果提供方法、およびプログラム
JP2019075159A (ja) * 2014-03-28 2019-05-16 日本電気株式会社 学習モデル選択システム、学習モデル選択方法およびプログラム
JP2019125113A (ja) * 2018-01-15 2019-07-25 キヤノン株式会社 情報処理装置、情報処理方法
JP2019206352A (ja) 2018-05-28 2019-12-05 トキコシステムソリューションズ株式会社 燃料荷卸しシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6796015B2 (ja) * 2017-03-30 2020-12-02 キヤノン株式会社 シーケンス生成装置およびその制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019075159A (ja) * 2014-03-28 2019-05-16 日本電気株式会社 学習モデル選択システム、学習モデル選択方法およびプログラム
WO2016067483A1 (ja) * 2014-10-28 2016-05-06 日本電気株式会社 推定結果表示システム、推定結果表示方法および推定結果表示プログラム
JP2018106662A (ja) * 2016-12-22 2018-07-05 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
WO2018173121A1 (ja) * 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP6474946B1 (ja) 2017-06-28 2019-02-27 株式会社オプティム 画像解析結果提供システム、画像解析結果提供方法、およびプログラム
JP2019125113A (ja) * 2018-01-15 2019-07-25 キヤノン株式会社 情報処理装置、情報処理方法
JP2019206352A (ja) 2018-05-28 2019-12-05 トキコシステムソリューションズ株式会社 燃料荷卸しシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4293620A1 (en) * 2022-06-15 2023-12-20 Canon Kabushiki Kaisha Image processing apparatus, control method, storage medium, and program
WO2024034196A1 (ja) * 2022-08-09 2024-02-15 堺化学工業株式会社 学習済モデル選択方法、学習済モデル選択装置および学習済モデル選択プログラム

Also Published As

Publication number Publication date
EP4060607A4 (en) 2023-08-23
US20220269996A1 (en) 2022-08-25
EP4060607A1 (en) 2022-09-21
CN114730394A (zh) 2022-07-08
JP2021081793A (ja) 2021-05-27

Similar Documents

Publication Publication Date Title
WO2021095693A1 (ja) 情報処理装置、情報処理方法およびプログラム
CN106290378B (zh) 缺陷分类方法和缺陷检查系统
US20210224613A1 (en) Method, Apparatus, and Device for Classifying LiDAR Point Cloud Data, and Storage Medium
US9141184B2 (en) Person detection system
US20090231359A1 (en) Methods and systems for compound feature creation, processing, and identification in conjunction with a data analysis and feature recognition system
US20180174000A1 (en) Defect image classification device and defect image classification method
JP6397379B2 (ja) 変化領域検出装置、方法、及びプログラム
JP7058941B2 (ja) 辞書生成装置、辞書生成方法、及びプログラム
JP5116608B2 (ja) 情報処理装置、制御方法、及びプログラム
CN106295666A (zh) 分类器生成、更新与对象检测方法和装置及图像处理设备
JP2015191426A (ja) 学習データ生成装置
JP5290227B2 (ja) 対象物検知装置及びその学習装置
CN107133629B (zh) 图片分类方法、装置和移动终端
CN110516707B (zh) 一种图像标注方法及其装置、存储介质
CN110213605B (zh) 图像纠正方法、装置及设备
JP5746550B2 (ja) 画像処理装置、画像処理方法
CN109740527B (zh) 一种视频帧中图像处理方法
CN111242176A (zh) 计算机视觉任务的处理方法、装置及电子系统
JP2021165909A (ja) 情報処理装置、情報処理装置の情報処理方法およびプログラム
KR102230559B1 (ko) 데이터 프로그래밍에 기반한 레이블링 모델 생성 방법 및 장치
JP7001150B2 (ja) 識別システム、モデル再学習方法およびプログラム
CN115690514A (zh) 图像识别方法及相关设备
KR102342495B1 (ko) 데이터 프로그래밍에 기반한 레이블링 모델 생성 방법 및 장치
CN112733864B (zh) 模型训练方法、目标检测方法、装置、设备及存储介质
JP2019074774A (ja) 工事現場画像判定装置及び工事現場画像判定プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20887656

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020887656

Country of ref document: EP

Effective date: 20220614