WO2020079933A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents

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

Info

Publication number
WO2020079933A1
WO2020079933A1 PCT/JP2019/031587 JP2019031587W WO2020079933A1 WO 2020079933 A1 WO2020079933 A1 WO 2020079933A1 JP 2019031587 W JP2019031587 W JP 2019031587W WO 2020079933 A1 WO2020079933 A1 WO 2020079933A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
likelihood
information processing
candidate
determination
Prior art date
Application number
PCT/JP2019/031587
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
Priority claimed from JP2019092489A external-priority patent/JP7311310B2/ja
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to EP19872900.6A priority Critical patent/EP3869450A4/en
Priority to CN201980005337.2A priority patent/CN111417960A/zh
Publication of WO2020079933A1 publication Critical patent/WO2020079933A1/ja
Priority to US16/859,264 priority patent/US11526708B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program.
  • Patent Document 1 a plurality of single class classification units that identify the presence or absence of an object from a target image, and a multi-class classification unit that classifies an image into another single class classification unit when an object is identified by the single class classification unit.
  • a detection device and a detection method including a class classification unit are disclosed.
  • Non-Patent Document 1 discloses a method of inputting a target image and executing a search for candidate frames and class classification for all object candidates by convolution filter processing.
  • the processing amount for classifying objects may increase.
  • the processing amount is large and it takes time.
  • NMS Non-Maximum suppression
  • the present disclosure provides an information processing device, an information processing method, and a program that can reduce the processing amount for classifying objects.
  • an information processing apparatus including a processor, and the processor acquires a input image and executes a classification likelihood calculation process.
  • the input image is input to the input image to obtain the likelihoods for each of the plurality of classes of each object candidate in the input image, and for each of the object candidates, the likelihood for the first class in the plurality of classes, Using the likelihood having a negative correlation with the likelihood with respect to the class, a first determination of whether to be classified into the first class is performed, and it is determined that the first class is not classified in the first determination.
  • a second judgment is made as to whether or not the object is classified into the other class, and the result of the second judgment is used to output the classification result of the object shown in the input image.
  • an information processing method is a method of causing a processor to execute, and the input image is input to a machine learning model that acquires an input image and performs classification likelihood calculation processing.
  • a machine learning model that acquires an input image and performs classification likelihood calculation processing.
  • the likelihood is used to perform a first determination as to whether or not to be classified into the first class, and for each object candidate that is determined not to be classified into the first class in the first determination, the other class
  • the second determination of whether or not the object is to be classified is performed, and the result of the second determination is used to output the classification result of the object shown in the input image.
  • one aspect of the present disclosure can be realized as a program for causing a computer to execute the above information processing method.
  • it may be realized as a computer-readable non-transitory recording medium that stores the program.
  • FIG. 1 is a diagram for explaining an example of an object detection algorithm.
  • FIG. 2 is a diagram showing an example of the calculation result of the likelihood for each class of each candidate frame.
  • FIG. 3 is a flowchart for explaining a conventional object detection method.
  • FIG. 4 is a block diagram showing an example of the functional configuration of the information processing apparatus according to the embodiment.
  • FIG. 5 is a block diagram showing an implementation example of the information processing apparatus according to the embodiment.
  • FIG. 6 is a flowchart showing an example of the operation of the information processing device according to the embodiment.
  • FIG. 7 is a flowchart showing an example of offline processing of a machine learning model.
  • FIG. 8 is a flowchart showing another example of the offline processing of the machine learning model.
  • FIG. 9 is a first flowchart showing an example of the operation of the information processing apparatus according to the modified example of the embodiment.
  • FIG. 10 is a second flowchart showing an example of the operation of the information processing device according to the modification of the embodiment.
  • FIG. 1 is a diagram for explaining an example of an object detection method.
  • the convolutional network (CNN) used for the object detection method is, for example, SSD (The Single Shot Detector) (see Non-Patent Document 1).
  • FIG. 1A is a diagram showing an example of an input image to the CNN. The area surrounded by the broken line shown in FIG. 1A indicates the object area. The object area is an area in which the object is imaged.
  • FIG. 1B is a diagram showing an 8 ⁇ 8 feature map obtained by inputting an input image into CNN.
  • FIG. 1C is a diagram showing a 4 ⁇ 4 feature map. The area surrounded by the dashed line shown in (b) and (c) of FIG. 1 indicates a candidate frame.
  • FIG. 1D is a diagram showing an example of CNN.
  • the input image shown in (a) of FIG. 1 is input to CNN.
  • the input image is convolved by the CNN, which is composed of different types of convolution filters, and converted into feature maps of various sizes.
  • a plurality of candidate frames here, four candidate frames
  • the candidate frames hereinafter, all candidate frames
  • the maximum value search for example, NMS processing
  • the feature map obtained by the convolution filter processing is input to another convolution filter and convolution is repeated.
  • the output values in the figure are offsets of the positions of the object area and the default box (for example, the four-dimensional parameters of the center X coordinate, the center Y coordinate, the width, and the height), and the category score (for example, It is the data associated with the likelihood of each classification class).
  • FIG. 2 is a diagram showing an example of output values from each feature map described in FIG.
  • two object regions of the input image shown in FIG. 1A will be described as an example.
  • the two object regions in the input image respectively correspond to a set of two candidate frames on the 8 ⁇ 8 feature map shown in FIG. 1 (b).
  • the set of candidate frames of one set shown in FIG. 2 on the 4 ⁇ 4 feature map shown in FIG. 1C corresponds to the object area of the automobile shown in FIG. To do.
  • the likelihoods calculated for each of the candidate frames are shown for each of the five classes of pedestrian, automobile, bicycle, motorcycle, and background. As shown in FIG.
  • the likelihood of each class is calculated for all candidate frames, and data in which the shape offset of each candidate frame and the category score are associated is obtained.
  • the normalized likelihood is used, but the unnormalized likelihood may be used.
  • the NMS process is a first process that is a classification process that classifies all candidate frames detected in the above process flow into each class, and a first process that integrates overlapping candidate frames of all classified candidate frames into one candidate frame. 2 treatments are included.
  • FIG. 3 is a flowchart showing an example of classification processing in the conventional technique.
  • the process of step S301 shown in FIG. 3 is the process of detecting all the above candidate frames.
  • the likelihood for each of the plurality of classes of each candidate frame in the input image is calculated.
  • the classification loop processing is executed for all candidate frames. As shown in FIG.
  • the classification process is performed on a plurality of classes even for the candidate background frame. For example, it is determined whether or not the likelihood (likelihood [candidate frame]) of a certain candidate frame with respect to the vehicle class is greater than or equal to the threshold value of the vehicle class (threshold value [vehicle]) (step S302).
  • the threshold value of the vehicle class threshold value [vehicle]
  • the certain candidate frame is added to the list of vehicle classes (list [vehicle]) (step S303).
  • the likelihood of the certain candidate frame for the vehicle is smaller than the threshold value of the vehicle (No in step S302), the certain candidate frame is not added to the vehicle class list.
  • step S302 it is determined whether or not the likelihood of the other candidate frame for the vehicle class is equal to or more than the threshold value of the vehicle class.
  • the likelihood of the certain candidate frame for the vehicle is equal to or more than the threshold value of the vehicle (Yes in step S302)
  • the certain candidate frame is added to the list of vehicle classes (step S303).
  • the likelihood of the certain candidate frame for the vehicle is smaller than the threshold value of the vehicle (No in step S302), the certain candidate frame is not added to the vehicle class list.
  • the classification process for the automobile class has been completed for all candidate frames
  • the classification process for classes other than the automobile class for example, pedestrian class
  • the classification process (first process) for each of the plurality of classes is completed for all candidate frames
  • the second process is executed for all candidate frames.
  • the NMS processing is executed for all candidate frames, the processing amount of the final determination processing is large. Further, unlike convolutional arithmetic processing, NMS processing is difficult to speed up with a dedicated processor, and is often executed by a CPU (Central Processing Unit). Further, the object detection device is often mounted on an in-vehicle network or the like. Since the CPU mounted in the vehicle-mounted network has a lower processing capacity than the CPU mounted in the computer, the NMS processing takes time.
  • the detection target It was found that the amount of processing can be reduced by extracting candidate frames that are highly likely to include the object. For example, do you classify into a background class and a class other than the background and classify only the candidate frames of the classes other than the background, that is, the candidate frames in which the object to be detected is likely to be reflected, into other classes? It was found that the processing amount in the second processing can be reduced by executing the determination processing of whether or not. As a result, an information processing apparatus and an information processing method capable of reducing the processing amount of the final determination process have been conceived.
  • An information processing device is an information processing device including a processor, wherein the processor acquires an input image and inputs the input image to a machine learning model that executes a classification likelihood calculation process. Likelihood of each object candidate in the input image with respect to each of the plurality of classes is obtained, and the likelihood of the object candidate with respect to the first class of the plurality of classes is less than the likelihood with respect to other classes.
  • a first determination of whether or not to be classified into the first class is performed, and for each object candidate that is determined not to be classified into the first class in the first determination, The second determination of whether or not the object is classified into the other class is performed, and the result of the second determination is used to output the classification result of the object shown in the input image.
  • the first determination is performed using the likelihood for the first class, which has a negative correlation with the likelihood for other classes, so that each candidate frame is divided into the first class, And, it is accurately classified into any of the classes other than the first class. Only the object candidate determined not to be the first class is subjected to the second determination as to whether it is classified into a class other than the first class. Therefore, the information processing device according to the aspect of the present disclosure can reduce the amount of processing for classifying objects.
  • the processor may determine whether or not the likelihood of each of the object candidates for the first class is equal to or more than a first threshold. At this time, for example, the processor further performs a third determination as to whether each of the object candidates is classified into the other class, and determines that the object candidate is classified into the other class by the third determination. A value larger than the likelihood of the generated object candidate for the first class may be determined as the first threshold. For example, the processor performs the third determination for each of the object candidates of the plurality of input images, and is classified into the other class by the third determination of each of the object candidates of the plurality of input images. A value larger than all the likelihoods of the object candidate determined to be for the first class may be determined as the first threshold.
  • the first determination is performed based on the first threshold, so that the object candidates that are determined not to be classified into the first class in the first determination are object candidates that are classified into a class other than the first class. Including all. Therefore, according to the information processing apparatus according to an aspect of the present disclosure, by performing the first determination, all object candidates in the input image are accurately classified into the first class and the classes other than the first class. Can be classified.
  • the first class may be a background class.
  • the processor further acquires a candidate frame for each of the object candidates from the machine learning model, and for each of the object candidates that are determined not to be classified into the first class in the second determination, It may be determined whether or not the likelihood for another class is equal to or larger than a threshold value corresponding to the other class according to the size of the candidate frame.
  • the detection accuracy of the object candidate having the large candidate frame size is improved and In addition, it is possible to reduce erroneous detection for an object candidate having a small candidate frame size.
  • an information processing method is a method of causing a processor to execute, and the input image is input to a machine learning model that acquires an input image and performs classification likelihood calculation processing.
  • a machine learning model that acquires an input image and performs classification likelihood calculation processing.
  • the likelihood is used to perform a first determination as to whether or not to be classified into the first class, and for each object candidate that is determined not to be classified into the first class in the first determination, the other class
  • the second determination of whether or not the object is to be classified is performed, and the result of the second determination is used to output the classification result of the object shown in the input image.
  • the first determination is performed using the likelihood for the first class, which has a negative correlation with the likelihood for other classes, so that each candidate frame is divided into the first class, And, it is accurately classified into any of the classes other than the first class. Only the object candidate determined not to be the first class is subjected to the second determination as to whether it is classified into a class other than the first class. Therefore, according to the information processing method according to the aspect of the present disclosure, the processing amount of the determination process can be reduced.
  • one aspect of the present disclosure can be realized as a program for causing a computer to execute the above information processing method.
  • it may be realized as a computer-readable non-transitory recording medium that stores the program.
  • each diagram is a schematic diagram and is not necessarily an exact illustration. Therefore, for example, the scales and the like in the drawings do not necessarily match.
  • substantially the same configurations are denoted by the same reference numerals, and overlapping description will be omitted or simplified.
  • a term indicating a relationship between elements such as horizontal or vertical and a numerical range are not expressions expressing only a strict meaning, but a substantially equivalent range, for example, a difference of about several percent. It is an expression that means to include.
  • the information processing device is a device for detecting an object in an image.
  • the information processing device may be one configuration of a camera system mounted on a vehicle such as an automobile, a motorcycle, a bicycle, and a train, a flying body such as a drone, or a moving body such as an airplane. It may be one configuration.
  • the information processing device outputs the classification result of the objects shown in the image using the trained machine learning model.
  • the machine learning model is, for example, a convolution filter network (CNN), and is trained using teacher data. The operation of the information processing device and the training of the machine learning model will be described later.
  • FIG. 4 is a block diagram showing an example of the functional configuration of the information processing device 100 according to the embodiment.
  • the information processing apparatus 100 acquires an input image and inputs the input image into the input unit 11.
  • the input unit 11 outputs the input image to the classification likelihood calculation unit 12.
  • the classification likelihood calculation unit 12 is, for example, a machine learning model that executes a classification likelihood calculation process.
  • the classification likelihood calculating unit 12 calculates the likelihood for each of the plurality of classes of each object candidate in the input image. More specifically, as described with reference to FIG. 1D, the classification likelihood calculation unit 12 convolves the input image with a convolution filter process to extract feature maps of various sizes. Next, the classification likelihood calculating unit 12 calculates the likelihood for each of the plurality of classes with respect to each of the plurality of candidate frames assigned to each feature point on each feature map. That is, the classification likelihood calculation unit 12 performs the detection process of all candidate frames shown in (d) of FIG.
  • the first extraction unit 13 extracts object candidates (hereinafter, candidate frames) classified into the first class from the plurality of classes, and classifies them into classes other than the first class (hereinafter, other classes).
  • the candidate frame is output to the second extraction unit 14.
  • the second extraction unit 14 classifies each of the candidate frames classified into other classes into each class, and outputs the class to the integration unit 15. That is, the processing in the first extracting unit 13 and the second extracting unit 14 is the first processing of the Non-Maximum supplement (NMS) processing described in (d) of FIG.
  • NMS Non-Maximum supplement
  • the integration unit 15 acquires a plurality of candidate frames that are output from the second extraction unit 14 and are classified into other classes, and executes the second process of the NMS process on the acquired plurality of candidate frames. .
  • the integrating unit 15 deletes candidate frames other than the candidate frame having the maximum likelihood among the overlapping candidate frames, and integrates the candidate frames into one.
  • the output unit 16 outputs the integrated candidate frame as a final detection result
  • FIG. 5 is a block diagram showing an implementation example of the information processing apparatus 100 according to the embodiment.
  • the information processing device 100 includes a processor 10 and a memory 20.
  • the plurality of components of the information processing apparatus 100 shown in FIG. 4 are realized by the processor 10 and the memory 20 shown in FIG.
  • the processor 10 is an electronic circuit that can access the memory 20 and performs information processing.
  • the processor 10 is a dedicated or general-purpose processor that detects an object in an image using the memory 20.
  • the processor 10 may be, for example, a CPU.
  • the memory 20 may be read and executed.
  • the software program may be distributed by downloading or the like, or may be recorded in a recording medium such as a semiconductor memory and distributed.
  • the processor 10 may be composed of a plurality of electronic circuits, or may be composed of a plurality of sub-processors. Further, the processor 10 may play the role of a plurality of constituent elements, excluding the constituent element for storing information, among the plurality of constituent elements of the information processing apparatus 100 shown in FIGS. 4 and 5.
  • the memory 20 is a dedicated or general-purpose memory in which information for the processor 10 to detect an object in an image is stored.
  • the memory 20 may be an electronic circuit, may be connected to the processor 10, or may be included in the processor 10.
  • the memory 20 may be composed of a plurality of electronic circuits or a plurality of sub memories.
  • the memory 20 may be a magnetic disk, an optical disk, or the like, and may be expressed as a storage, a recording medium, or the like.
  • the memory 20 may be a non-volatile memory or a volatile memory.
  • the memory 20 may serve as a component for storing information among the plurality of components of the information processing device 100 shown in FIGS. 4 and 5.
  • the memory 20 may store a moving image used for the object detection process, or may store a bit string corresponding to the moving image used for the object detection process. Further, the memory 20 may store a program for the processor 10 to detect an object in an image.
  • the processor 10 of the information processing device 100 shown in FIG. 5 uses the memory 20 of the information processing device 100 to detect an object in an image.
  • the processor 10 acquires an input image, inputs the input image to a machine learning model that executes a classification likelihood calculation process, and calculates the likelihood of each object candidate (hereinafter, candidate frame) in the input image for each of a plurality of classes. To get.
  • the processor 10 classifies each candidate frame into the first class by using the likelihood with respect to the first class in the plurality of classes and having the negative correlation with the likelihood with respect to the other classes.
  • the first determination of whether or not to perform is performed. More specifically, in the first determination, the processor 10 determines whether or not the likelihood of each candidate frame for the first class is greater than or equal to a first threshold.
  • the above negative correlation is a relationship in which the likelihood for the first class and the likelihood for other classes do not increase at the same time. If the likelihood does not increase, it means that the likelihood does not exceed the threshold. Therefore, for each candidate frame, the likelihood for the first class and the likelihood for classes other than the first class do not increase at the same time. More specifically, for each candidate frame, if the likelihood for the first class is equal to or greater than the threshold, the likelihood for other classes other than the first class is smaller than the threshold. Therefore, the processor 10 performs a classification process on each candidate frame using the likelihood for the first class, which has a negative correlation with the likelihood for other classes. And, it is accurately classified into any of the classes other than the first class.
  • the first class may be a class having a higher appearance frequency in images than other classes other than the first class.
  • the high appearance frequency in the image means, for example, that the number of times of detection in the image is large, or that the number of candidate frames in which the likelihood is larger than the threshold value is large among all the candidate frames in the image.
  • the processor 10 further executes, for each candidate frame, a third determination as to whether or not the candidate frame is classified into another class, and determines the first candidate frame that is determined to be classified into another class by the third determination.
  • a value larger than the likelihood for one class is determined as the first threshold.
  • the processor 10 executes the third determination for each object candidate of the plurality of input images, and determines the object candidates that are determined to be classified into another class by the third determination of each object candidate of the plurality of input images.
  • a value larger than all likelihoods for the first class is determined as the first threshold.
  • the candidate frames determined to be classified into other classes by the third determination are selected. All are classified in classes other than the first class. Therefore, it is possible to reduce erroneous classification of candidate frames that should be classified into a class other than the first class into the first class.
  • the first class is a background class.
  • the processor 10 classifies each candidate frame into a background class and a non-background class.
  • a candidate frame having a high possibility that the object to be detected is reflected is extracted from all the candidate frames. This eliminates the need to perform further classification processing on the candidate frame in which the object to be detected is not reflected, so that the processing amount in the classification processing is reduced.
  • the efficiency of the classification process is improved because the process of classifying only the candidate frames in which the object is highly likely to be reflected out of all the candidate frames is classified into a class other than the background.
  • the processor 10 executes a second determination as to whether or not each candidate frame determined to be not classified into the first class in the first determination is classified into another class.
  • the first class in the plurality of classes is a class having a high appearance frequency in the image, it is determined that the first class is classified into the first class rather than the number of candidate frames determined not to be classified in the first class.
  • the number of candidate slots is larger. Therefore, if the second determination is performed only for each of the candidate frames that are determined not to be classified into the first class, the processing amount is significantly reduced compared to the case where the second determination is performed for all the candidate frames.
  • the processor 10 outputs the classification result of the objects shown in the input image using the results of the first judgment and the second judgment. As a result, the classification result of the objects shown in the input image can be output easily and quickly.
  • the software that realizes the information processing apparatus 100 according to the present embodiment is the following program.
  • this program acquires an input image to a computer, inputs the input image to a machine learning model that executes classification likelihood calculation processing, and acquires the likelihood for each of a plurality of classes of each object candidate in the image, For each object candidate, the likelihood of the first class in the plurality of classes, which has a negative correlation with the likelihoods of the other classes, is used to determine whether or not to classify into the first class. 1 determination is performed, and for each object candidate determined not to be classified into the first class in the first determination, a second determination is performed to determine whether or not the object candidate is classified into another class, and the result of the second determination is used.
  • an information processing method of outputting the classification result of the objects shown in the input image may be executed.
  • FIG. 6 is a flowchart showing an example of the operation of the information processing device 100 according to the embodiment.
  • the information processing apparatus 100 acquires an input image (not shown).
  • the information processing device 100 calculates the likelihood for each candidate frame in the input image (step S601). More specifically, the information processing apparatus 100 inputs an input image into a machine learning model that executes a classification likelihood calculation process, and calculates likelihoods for each of a plurality of classes of each candidate frame in the input image.
  • the information processing apparatus 100 assigns the first class to all the candidate frames by using the likelihood with respect to the first class in the plurality of classes and the likelihood having a negative correlation with the likelihood with respect to other classes.
  • a first determination of whether or not to be classified is performed.
  • the definition regarding the first class has been described in the above implementation example, and thus the description thereof is omitted here.
  • BG Background
  • the information processing apparatus 100 determines whether or not the likelihood of each candidate frame with respect to the background class is greater than or equal to the threshold value of the background (step S602).
  • the likelihood of a certain candidate frame with respect to the background class is equal to or higher than the threshold value of the background (Yes in step S602)
  • the certain candidate frame is added to the background (BG) class list.
  • the likelihood of a certain candidate frame with respect to the background class is smaller than the threshold value of the background (No in step S602)
  • the certain candidate frame is added to the list of classes that are not background (not BG) (step S603).
  • the information processing apparatus 100 executes the above-described processing loop for all candidate frames, so that all candidate frames are classified into the above two classes, that is, the background (BG) class and the non-background (not BG) class. Classify into.
  • the information processing apparatus 100 assigns each of the candidate frames determined not to be classified into the background class in the first determination (step S602) (that is, the candidate frames added to the list of classes that are not background) to other classes.
  • a second determination (step S604) of whether or not to be classified is performed. Specifically, for each candidate frame, it is determined whether or not the likelihood for each of the other classes is greater than or equal to the threshold of each class (step S604). When the likelihood of a certain candidate frame with respect to a certain class (for example, the likelihood of a vehicle class) is equal to or higher than the threshold value of the vehicle (Yes in step S604), the certain candidate frame is added to the list of vehicle classes (step S605). ). On the other hand, when the likelihood of the certain candidate frame with respect to the vehicle class is smaller than the threshold value of the vehicle (No in step S604), the certain candidate frame is not added to the vehicle class list.
  • the other one candidate frame is the vehicle class list. (Step S605).
  • the likelihood of the other one candidate frame with respect to the vehicle class is smaller than the vehicle threshold (No in step S604), the other one candidate frame is not added to the vehicle class list.
  • the classification process for one class here, the automobile class
  • the classification process for another class for example, a pedestrian class
  • the information processing apparatus 100 first, for each of all candidate frames in the input image, for example, the class having the highest appearance frequency in the image (that is, the likelihood of another class). It is determined whether or not it is classified into a likelihood class having a negative correlation with. Thereby, for example, all the detected candidate frames can be classified into two classes, that is, a background class and a non-background class.
  • the background class is, for example, a class having a high appearance frequency in an image. Since the information processing apparatus 100 performs the classification process on each of the candidate frames classified into the class that is not the background, it classifies the classes other than the background class, so that the processing amount is reduced.
  • FIG. 7 is a flowchart showing an example of offline processing of the machine learning model according to the embodiment.
  • the information processing apparatus 100 inputs the input image into the machine learning model that executes the classification likelihood calculation process, and calculates the likelihood for each of the plurality of classes of each candidate frame in the input image.
  • the machine learning model is trained in the detection of candidate frames in the input image and the calculation of the likelihood for each of the plurality of classes of the candidate frames using the teacher data.
  • the information processing apparatus 100 inputs a predetermined input image to a machine learning model offline, for example, and the machine learning model calculates likelihoods for a plurality of classes for each of all the detected candidate frames (not shown).
  • the information processing apparatus 100 starts a classification loop using the machine learning model.
  • the information processing apparatus 100 performs a classification process on one of a plurality of classes for all candidate frames using a machine learning model. For example, it is determined whether or not the likelihood of a certain candidate frame with respect to the background class is greater than or equal to the threshold value of the background (step S701). If the likelihood of the certain candidate frame with respect to the background class is equal to or more than the threshold value of the background (Yes in step S701), the certain candidate frame is added to the list of background classes (step S702). On the other hand, if the likelihood of the certain candidate frame with respect to the background class is smaller than the threshold value of the background (No in step S701), the certain candidate frame is not added to the background class list.
  • step S701 the process of step S701 is executed for the other one candidate frame, and when the likelihood of the other one candidate frame for the background class is equal to or more than the threshold value of the background (Yes in step S701), the other one One candidate frame is added to the list of background classes (step S702). On the other hand, when the likelihood of the other one candidate frame with respect to the background class is smaller than the background threshold value (No in step S701), the one other candidate frame is not added to the background class list.
  • the classification process (the process of the third determination) for the classes other than the background class (for example, the automobile class) is executed for all the candidate frames. .
  • the classification process for the automobile class is completed, the classification process is performed for all the candidate frames other than the background class and the automobile class (for example, a pedestrian class). In this way, the classification process for all classes is executed for all candidate frames.
  • the information processing apparatus 100 determines, as the first threshold, a value larger than the likelihood of each candidate frame added to the list of classes other than the background class by the series of processes described above with respect to the background class.
  • the first threshold value may be a value larger than the average value of the likelihoods of the candidate frames added to the list of other classes with respect to the background class, or may be a value larger than the maximum value. Accordingly, the information processing apparatus 100 can classify the candidate frame in which the object may be reflected in the class other than the background in the first determination without dropping the candidate frame.
  • the information processing apparatus 100 uses the first threshold value determined by the process illustrated in FIG. 7 to perform the first determination on all candidate frames in the input image, and whether the first threshold value is appropriate. Whether or not it is determined and the value of the first threshold value is adjusted based on the determination result.
  • FIG. 8 is a flowchart showing another example of offline processing of the machine learning model.
  • the information processing apparatus 100 determines whether or not the likelihood for the first class (here, the background class) is greater than or equal to the first threshold for all candidate frames in the input image. The judgment is executed and all candidate frames are classified into the background class and the non-background class.
  • the first threshold is a threshold of the first class (here, the background class). Note that in the processing flows shown in FIGS. 7 and 8, the information processing apparatus 100 inputs the same input image to the machine learning model.
  • the information processing apparatus 100 determines whether or not all candidate frames are classified into the background class by the machine learning model. For example, it is determined whether or not the likelihood of a certain candidate frame with respect to the background class is equal to or more than the threshold value of the background (step S801). When the likelihood of the certain candidate frame with respect to the background class is equal to or more than the threshold value of the background (Yes in step S801), the certain candidate frame is added to the background class. On the other hand, when the likelihood of the certain candidate frame with respect to the background class is smaller than the threshold value of the background (No in step S801), the certain candidate frame is added to the class that is not the background (not BG) (step S802).
  • the information processing apparatus 100 performs similar processing on each of the other candidate frames and classifies them into either the background list or the non-background list.
  • the loop for all candidate frames ends.
  • the information processing apparatus 100 determines whether or not all the candidate frames classified into classes other than the background class in the processing flow shown in FIG. 7 have been added to the list of classes that are not background by the processing shown in FIG. To determine.
  • the information processing apparatus 100 determines the number of candidate frames added to the list of classes that are not background and the other classes.
  • a predetermined merge may be added to the first threshold according to the difference from the number of classified candidate frames.
  • the information processing apparatus 100 adjusts the first threshold value. At this time, the information processing apparatus 100 may adjust the first threshold value based on the data of candidate frames that are not added to the list of classes that are not background among the candidate frames that are determined to be classified into other classes. Good.
  • the information processing apparatus 100 uses the adjusted first threshold value to execute the processing flow shown in FIG. 8. Then, again, the information processing apparatus 100 determines whether all the candidate frames classified into other classes in the processing flow shown in FIG. 7 are included in the list of classes that are not background. In this way, the information processing apparatus 100 executes the training of the machine learning model offline by using the predetermined training data, and determines the appropriate first threshold value.
  • the information processing apparatus sets, for each candidate frame that is determined not to be classified into the first class (for example, the background class) in the first determination, a threshold value corresponding to another class according to the size of each candidate frame. This is different from the information processing apparatus 100 according to the embodiment in that it is determined and whether or not the likelihood of each candidate frame with respect to another class is greater than or equal to the threshold value.
  • FIG. 9 is a first flowchart showing an example of the operation of the information processing apparatus according to the modified example.
  • FIG. 10 is a second flowchart showing an example of the operation of the information processing apparatus according to the modification.
  • the information processing apparatus calculates the likelihood for each of the plurality of classes of each candidate frame in the input image (step S901).
  • the information processing device executes the first determination for all candidate frames. For example, the information processing apparatus performs a first determination as to whether the likelihood of a certain candidate frame with respect to the background is greater than or equal to the background threshold value (step S902).
  • the likelihood of the certain candidate frame with respect to the background is equal to or more than the threshold value of the background (Yes in step S902)
  • the certain candidate frame is added to the background class list.
  • the likelihood of the certain candidate frame with respect to the background is smaller than the threshold value of the background (No in step S902), the certain candidate frame is added to the non-background (not BG) list (step S903).
  • the likelihood of the other one candidate frame with respect to the background is equal to or more than the threshold value of the background (Yes in step S902)
  • the other one candidate frame is added to the background class list.
  • the likelihood of the other one candidate frame with respect to the background is smaller than the threshold value of the background (No in step S902)
  • the other one candidate frame is added to the list of the class that is not the background (not BG) class.
  • the information processing apparatus determines the threshold value corresponding to another class according to the size of the candidate frame. For example, a smaller threshold value is set as the size of the candidate frame becomes smaller. As a result, it is possible to reduce erroneous detection of an object that appears small in the image by the information processing device.
  • the information processing device determines the size of each candidate frame. For example, the information processing apparatus determines whether or not the size of each candidate frame added to the list of classes that is not the background by the process shown in FIG. 9 is larger than h1 (height 1) and less than or equal to h2 (height 2). It is determined whether or not (step S1001). At this time, if the size of the first candidate frame is larger than h1 and equal to or smaller than h2 (Yes in step S1001), it is determined whether the likelihood of the first candidate frame for the vehicle class is equal to or more than the threshold value 1 of the vehicle. The determination is made (step S1002).
  • the certain candidate frame is added to the list of vehicle classes (step S1003).
  • the likelihood of the first candidate frame with respect to the vehicle class is smaller than the threshold value of the vehicle (No in step S1002), the first candidate frame is not added to the vehicle class list.
  • step S1001 it is determined whether or not the size of the second candidate frame is larger than h1 and smaller than or equal to h2 (step S1001).
  • the size of the second candidate frame is larger than h1 and not h2 or less (No in step S1001)
  • the size of the second candidate frame is larger than h2 (height 2) and h3 (height 3) or less. It is determined whether there is any (step S1004).
  • the likelihood of the second candidate frame for the vehicle class is equal to or greater than the threshold value 2 of the vehicle. It is determined whether or not (step S1005).
  • the second candidate frame is added to the vehicle class list (step S1006).
  • the likelihood of the second candidate frame with respect to the vehicle class is smaller than the vehicle threshold value 2 (No in step S1005), the second candidate frame is not added to the vehicle class list.
  • step S1001 it is determined whether or not the size of the third candidate frame is larger than h1 and smaller than or equal to h2 (step S1001).
  • the size of the third candidate frame is larger than h2 (height 2) and h3 (height 3) or less. It is determined whether there is any (step S1004).
  • the size of the third candidate frame is larger than h3 (height 3) and h4 (height 4).
  • step S1007 It is determined whether or not the following.
  • the likelihood of the third candidate frame for the vehicle class is equal to or greater than the threshold value 3 of the vehicle. It is determined (step S1008).
  • the third candidate frame is added to the vehicle class list (step S1009).
  • the likelihood of the third candidate frame with respect to the vehicle class is smaller than the vehicle threshold value 3 (No in step S1008), the third candidate frame is not added to the vehicle class list.
  • the processing described in the above embodiments may be realized by centralized processing using a single device (system), or realized by distributed processing using a plurality of devices. Good. Further, the number of processors that execute the program may be singular or plural. That is, centralized processing may be performed or distributed processing may be performed.
  • the general or specific aspects of the present disclosure may be realized by any combination of a system, a device, a method, an integrated circuit, a computer program, and a recording medium.
  • the present disclosure can be used as an information processing device or the like that can reduce the processing amount in classification processing, and can be used, for example, for automatic driving control or person detection in a security camera system.

Abstract

情報処理装置(100)は、プロセッサ(10)を備える情報処理装置であって、プロセッサ(10)は、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに入力画像を入力して入力画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、各物体候補について、複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、第1クラスに分類されるか否かの第1判定を実行し、第1判定において第1クラスに分類されないと判定された物体候補それぞれについて、他のクラスに分類されるか否かの第2判定を実行し、第2判定の結果を用いて入力画像に映る物体の分類結果を出力する。

Description

情報処理装置、情報処理方法及びプログラム
 本開示は、情報処理装置、情報処理方法及びプログラムに関する。
 近年、画像内の物体を効率的に検出する装置及び方法が求められている。
 例えば、特許文献1には、対象画像から物体の有無を識別する複数のシングルクラス分類部と、シングルクラス分類部により物体が識別された場合に、画像を他のシングルクラス分類部へ分類するマルチクラス分類部と、を備える検出装置及び検出方法が開示されている。
 また、例えば、非特許文献1には、対象画像を入力して畳み込みフィルタ処理にて全ての物体候補について候補枠の探索とクラス分類を実行する方法が開示されている。
特開2016-151805号公報
Wei Liu et.al., "SSD:Single Shot MultiBox Detector", arXiv:1512.02324v5 [cs.CV], 29 Dec.,2016
 しかしながら、従来技術では、物体のクラス分類のための処理量が増大する場合がある。例えば、特許文献1に記載の従来技術では、分類処理を複数回実行するため、処理量が多く、時間がかかる。また、非特許文献1に記載の従来技術では、検出された全ての候補枠に対してNon-Maximum suppression(NMS)処理を行うため、候補枠が多くなると処理量も増大してしまう。
 そこで、本開示は、物体のクラス分類のための処理量を低減できる情報処理装置、情報処理方法及びプログラムを提供する。
 上記課題を解決するため、本開示の一態様に係る情報処理装置は、プロセッサを備える情報処理装置であって、前記プロセッサは、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに前記入力画像を入力して前記入力画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、前記各物体候補について、前記複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、前記第1クラスに分類されるか否かの第1判定を実行し、前記第1判定において前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに分類されるか否かの第2判定を実行し、前記第2判定の結果を用いて前記入力画像に映る物体の分類結果を出力する。
 また、本開示の一態様に係る情報処理方法は、プロセッサに実行させる方法であって、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに前記入力画像を入力して前記画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、前記各物体候補について、前記複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、前記第1クラスに分類されるか否かの第1判定を実行し、前記第1判定において前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに分類されるか否かの第2判定を実行し、前記第2判定の結果を用いて前記入力画像に映る物体の分類結果を出力する。
 また、本開示の一態様は、上記情報処理方法をコンピュータに実行させるためのプログラムとして実現することができる。あるいは、当該プログラムを格納したコンピュータ読み取り可能な非一時的な記録媒体として実現することもできる。
 本開示によれば、物体のクラス分類のための処理量を低減することができる。
図1は、物体検出アルゴリズムの一例を説明するための図である。 図2は、各候補枠の各クラスに対する尤度の算出結果の一例を示す図である。 図3は、従来技術の物体検出方法を説明するためのフローチャートである。 図4は、実施の形態に係る情報処理装置の機能構成の一例を示すブロック図である。 図5は、実施の形態に係る情報処理装置の実装例を示すブロック図である。 図6は、実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。 図7は、機械学習モデルのオフライン処理の一例を示すフローチャートである。 図8は、機械学習モデルのオフライン処理の他の例を示すフローチャートである。 図9は、実施の形態の変形例に係る情報処理装置の動作の一例を示す第1フローチャートである。 図10は、実施の形態の変形例に係る情報処理装置の動作の一例を示す第2フローチャートである。
 (本開示に至った知見)
 以下、従来の物体検出方法について説明する。図1は、物体検出方法の一例を説明するための図である。物体検出方法に用いられる畳み込みネットワーク(CNN:Convolutional Neural Network)は、例えば、SSD(The Single Shot Detector)である(非特許文献1を参照)。図1の(a)は、CNNへの入力画像の一例を示す図である。図1の(a)に示される破線で囲まれた領域は、物体領域を示す。物体領域は、物体が撮像された領域である。また、図1の(b)は、入力画像をCNNに入力して得られた8×8特徴マップを示す図である。図1の(c)は、4×4特徴マップを示す図である。図1の(b)及び(c)に示される一点破線で囲まれた領域は、候補枠を示す。また、図1の(d)は、CNNの一例を示す図である。
 図1に示される物体検出方法では、図1の(a)に示される入力画像をCNNに入力する。入力画像は、異なる種類の畳み込みフィルタからなるCNNによって畳み込まれ、様々なサイズの特徴マップに変換される。そして、図1の(b)及び(c)に示されるように、各特徴マップ上の各マス目に対して複数の候補枠(ここでは、4つの候補枠)が割り当てられる。全ての特徴マップ上の候補枠(以下、全候補枠)を検出し、最後に、最大値検索(例えば、NMS処理)を実行して、入力画像における物体の検出結果を出力する。なお、図1の(d)に示されるように、SSDでは、畳み込みフィルタ処理で得られた特徴マップをさらに別の畳み込みフィルタに入力して畳み込むことを繰り返す。このように、複数の異なる畳み込みフィルタを用いて特徴マップを少しずつ小さく畳み込むことにより、特徴の大小に関わらず、様々なスケールの候補枠を検出することができる。なお、図中の出力値は、物体領域とデフォルトボックスとの位置のオフセット(例えば、中心のX座標、中心のY座標、幅、及び高さの4次元のパラメータ)と、カテゴリスコア(例えば、各分類クラスに対する尤度)とを紐づけたデータである。
 図2は、図1で説明した各特徴マップからの出力値の一例を示す図である。ここでは、図1の(a)に示される入力画像の2つの物体領域を例に説明する。入力画像における2つの物体領域は、それぞれ、図1の(b)に示される8×8特徴マップ上の2つの候補枠の集合に対応する。さらに、図1の(c)に示される4×4特徴マップ上の1組の図2に示される1組の候補枠の集合は、図1の(a)に示される自動車の物体領域に対応する。図2では、候補枠毎に算出された、歩行者、自動車、自転車、バイク、及び、背景の5つのクラスそれぞれに対する尤度を示している。図2に示されるように、全候補枠の検出処理では、全候補枠について各クラスの尤度が算出され、各候補枠の形状オフセットとカテゴリスコアとが紐づけられたデータが得られる。なお、図2に示される例では、正規化された尤度を用いているが、正規化されていない尤度を用いてもよい。
 続いて、NMS処理について説明する。NMS処理は、上記の処理フローで検出された全候補枠を各クラスに分類する分類処理である第1処理と、分類された全候補枠のうち重なり合う候補枠を1つの候補枠に統合する第2処理と、を含む。図3は、従来技術における分類処理の一例を示すフローチャートである。図3に示されるステップS301の処理は、上記の全候補枠の検出処理を示す。ステップS301の処理では、入力画像における各候補枠の複数のクラスそれぞれに対する尤度が算出される。図3に示されるように、従来技術では、ステップS301の処理の後、全候補枠について分類ループの処理が実行される。全候補は、図2に示されるように、検出対象の物体が映っていない背景の候補枠も含まれる。従来技術では、背景の候補枠についても、複数のクラスに対する分類処理が実行される。例えば、ある候補枠の自動車クラスに対する尤度(尤度[候補枠])が、自動車クラスの閾値(閾値[自動車])以上であるか否かを判定する(ステップS302)。当該ある候補枠の自動車に対する尤度が、自動車の閾値以上である場合(ステップS302でYes)、当該ある候補枠は、自動車クラスのリスト(リスト[自動車])に追加される(ステップS303)。一方、当該ある候補枠の自動車に対する尤度が、自動車の閾値よりも小さい場合(ステップS302でNo)、当該ある候補枠は、自動車クラスのリストに追加されない。
 次いで、他の1つの候補枠の自動車クラスに対する尤度が、自動車クラスの閾値以上であるか否かを判定する(ステップS302)。当該ある候補枠の自動車に対する尤度が、自動車の閾値以上である場合(ステップS302でYes)、当該ある候補枠は、自動車クラスのリストに追加される(ステップS303)。一方、当該ある候補枠の自動車に対する尤度が、自動車の閾値よりも小さい場合(ステップS302でNo)、当該ある候補枠は、自動車クラスのリストに追加されない。
 このように、全候補枠について、自動車クラスに対する分類処理が終了すると、全候補枠について、自動車クラス以外の他のクラス(例えば、歩行者クラス)に対する分類処理が実行される。全候補枠について、複数のクラスそれぞれに対する分類処理(第1処理)が終了すると、全候補枠について、第2処理が実行される。
 第2処理では、検出された全候補枠について、ある候補枠が当該ある候補枠よりも検出尤度の高い候補枠と重なっている場合、これらの候補枠の重なり度合いが所定の閾値を超えるとき、当該ある候補枠を削除する。つまり、重なり合う候補枠のうち、最大尤度を有する候補枠以外の候補枠を削除することにより、候補枠を1つに統合する。
 以上のように、従来の物体検出方法では、全候補枠についてNMS処理を実行するため、最終段階の判定処理の処理量が多い。さらに、NMS処理は、畳み込み演算処理と異なり、専用のプロセッサでの高速化が難しく、CPU(Central Processing Unit)で実行されることが多い。また、物体検出装置は、車載ネットワークなどに実装されることが多い。車載ネットワークに実装されるCPUは、コンピュータに実装されるCPUよりも処理能力が低いため、NMS処理に時間がかかる。
 本願発明者は、上記課題を鑑み鋭意検討した結果、検出された全候補枠について、他のクラスに対する尤度と負の相関関係を有するクラス(例えば、背景)に対する尤度に基づいて、検出対象の物体が映っている可能性の高い候補枠を抽出することにより、処理量を低減できることを見出した。例えば、背景クラスと、背景以外のクラスとに分類し、背景以外のクラスの候補枠、つまり、検出対象の物体が映っている可能性の高い候補枠についてのみ、他のクラスに分類されるか否かの判定処理を実行することで、第2処理における処理量を低減できることを見出した。これにより、最終段階の判定処理の処理量を低減できる情報処理装置及び情報処理方法に想到した。
 本開示の一態様の概要は、以下の通りである。
 本開示の一態様に係る情報処理装置は、プロセッサを備える情報処理装置であって、前記プロセッサは、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに前記入力画像を入力して前記入力画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、前記各物体候補について、前記複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、前記第1クラスに分類されるか否かの第1判定を実行し、前記第1判定において前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに分類されるか否かの第2判定を実行し、前記第2判定の結果を用いて前記入力画像に映る物体の分類結果を出力する。
 このように、各物体候補について、他のクラスに対する尤度と負の相関関係を有する、第1クラスに対する尤度を用いて第1判定が実行されるため、各候補枠は、第1クラス、及び、第1クラスではないクラスのいずれかに精度良く分類される。第1クラスではないと判定された物体候補についてのみ、第1クラス以外の他のクラスに分類されるか否かの第2判定を実施する。そのため、本開示の一態様に係る情報処理装置によれば、物体のクラス分類のための処理量を低減することができる。
 また、例えば、前記プロセッサは、前記第1判定では、前記各物体候補の前記第1クラスに対する尤度が第1閾値以上か否かを判定するとしてもよい。このとき、例えば、前記プロセッサは、さらに前記各物体候補について、前記他のクラスに分類されるか否かの第3判定を実行し、前記第3判定により前記他のクラスに分類されると判定された物体候補の前記第1クラスに対する尤度より大きい値を前記第1閾値として決定するとしてもよい。例えば、前記プロセッサは、複数の前記入力画像の前記各物体候補について前記第3判定を実行し、複数の前記入力画像の前記各物体候補についての前記第3判定により前記他のクラスに分類されると判定された物体候補の前記第1クラスに対する尤度の全てより大きい値を前記第1閾値として決定するとしてもよい。
 これにより、第1閾値に基づいて第1判定が実施されるため、第1判定において第1クラスに分類されないと判定された物体候補は、第1クラス以外の他のクラスに分類される物体候補を全て含む。そのため、本開示の一態様に係る情報処理装置によれば、第1判定を実行することにより、入力画像における全物体候補を、第1クラスと、第1クラス以外の他のクラスとに精度良く分類することができる。
 また、例えば、前記第1クラスは、背景クラスであるとしてもよい。
 これにより、本開示の一態様に係る情報処理装置によれば、検出対象の物体が映っている可能性の高い物体候補について、第1クラス以外の他のクラスのいずれに分類されるか否かの判定処理を実行することができる。
 また、例えば、前記プロセッサは、前記機械学習モデルから、さらに、前記各物体候補について候補枠を取得し、前記第2判定では、前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに対する尤度が前記候補枠のサイズに応じた前記他のクラスに対応する閾値以上か否かを判定するとしてもよい。
 このように、各物体候補について出力された候補枠のサイズに応じて第1クラス以外の他のクラスに対応する閾値を用いることにより、候補枠のサイズが大きい物体候補の検出精度を向上させるとともに、候補枠のサイズが小さい物体候補について誤検出を低減することができる。
 また、本開示の一態様に係る情報処理方法は、プロセッサに実行させる方法であって、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに前記入力画像を入力して前記画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、前記各物体候補について、前記複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、前記第1クラスに分類されるか否かの第1判定を実行し、前記第1判定において前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに分類されるか否かの第2判定を実行し、前記第2判定の結果を用いて前記入力画像に映る物体の分類結果を出力する。
 このように、各物体候補について、他のクラスに対する尤度と負の相関関係を有する、第1クラスに対する尤度を用いて第1判定が実行されるため、各候補枠は、第1クラス、及び、第1クラスではないクラスのいずれかに精度良く分類される。第1クラスではないと判定された物体候補についてのみ、第1クラス以外の他のクラスに分類されるか否かの第2判定を実施する。そのため、本開示の一態様に係る情報処理方法によれば、判定処理の処理量を低減することができる。
 また、本開示の一態様は、上記情報処理方法をコンピュータに実行させるためのプログラムとして実現することができる。あるいは、当該プログラムを格納したコンピュータ読み取り可能な非一時的な記録媒体として実現することもできる。
 以下では、実施の形態について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する趣旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 また、各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、例えば、各図において縮尺などは必ずしも一致しない。また、各図において、実質的に同一の構成については同一の符号を付しており、重複する説明は省略又は簡略化する。
 また、本明細書において、水平又は垂直などの要素間の関係性を示す用語、並びに、数値範囲は、厳密な意味のみを表す表現ではなく、実質的に同等な範囲、例えば数%程度の差異をも含むことを意味する表現である。
 (実施の形態)
 [1.概要]
 まず、実施の形態に係る情報処理装置の概要について説明する。情報処理装置は、画像内の物体を検出するための装置である。例えば、情報処理装置は、自動車、バイク、自転車、及び、電車などの車両、ドローンなどの飛行体、又は、飛行機など移動体に搭載されるカメラシステムの一構成であってもよく、防犯カメラシステムの一構成であってもよい。
 情報処理装置は、訓練済みの機械学習モデルを用いて画像に映る物体の分類結果を出力する。機械学習モデルは、例えば、畳み込みフィルタネットワーク(CNN)であり、教師データを用いて訓練される。情報処理装置の動作及び機械学習モデルの訓練については、後述する。
 [2.機能構成]
 続いて、情報処理装置の機能構成の一例について、図4を用いて説明する。図4は、実施の形態に係る情報処理装置100の機能構成の一例を示すブロック図である。
 図4に示されるように、情報処理装置100は、入力画像を取得し、入力画像を入力部11に入力する。入力部11は、入力画像を分類尤度算出部12に出力する。分類尤度算出部12は、例えば、分類尤度の算出処理を実行する機械学習モデルである。分類尤度算出部12は、入力画像における各物体候補の複数のクラスそれぞれに対する尤度を算出する。より具体的には、図1の(d)で説明したように、分類尤度算出部12は、入力画像を畳み込みフィルタ処理により畳み込み、様々なサイズの特徴マップを抽出する。次いで、分類尤度算出部12は、各特徴マップ上の各特徴点に割り当てられた複数の候補枠それぞれについて、複数のクラスそれぞれに対する尤度を算出する。すなわち、分類尤度算出部12は、図1の(d)に示される全候補枠の検出処理を行う。
 第1抽出部13は、複数のクラスのうち第1クラスに分類される物体候補(以下、候補枠)を抽出し、第1クラス以外の他のクラス(以下、他のクラス)に分類される候補枠を第2抽出部14に出力する。第2抽出部14は、他のクラスに分類される候補枠のそれぞれを各クラスに分類し、統合部15に出力する。すなわち、第1抽出部13及び第2抽出部14における処理は、図1の(d)で説明したNon-Maximum suppression(NMS)処理の第1処理である。続いて、統合部15は、第2抽出部14から出力された他のクラスに分類される複数の候補枠を取得し、取得した複数の候補枠に対してNMS処理の第2処理を実行する。統合部15は、重なり合う候補枠のうち最大尤度を有する候補枠以外の候補枠を削除し、候補枠を1つに統合する。出力部16は、統合された候補枠を最終的な検出結果として出力する。
 [3.実装例]
 続いて、情報処理装置100の実装例について説明する。図5は、実施の形態に係る情報処理装置100の実装例を示すブロック図である。情報処理装置100は、プロセッサ10と、メモリ20と、を備える。例えば、図4に示される情報処理装置100の複数の構成要素は、図5に示されるプロセッサ10及びメモリ20によって実現される。
 プロセッサ10は、メモリ20にアクセス可能な電子回路であって、情報処理を行う。例えば、プロセッサ10は、メモリ20を用いて画像中の物体を検出する専用又は汎用のプロセッサである。プロセッサ10は、例えば、CPUであってもよい。
 また、例えば、専用のハードウェアで構成されてもよく、メモリ20に記録されたソフトウェアプログラムを読み出して実行してもよい。また、ソフトウェアプログラムは、ダウンロードなどにより配布されてもよいし、半導体メモリなどの記録媒体に記録して配布されてもよい。
 また、プロセッサ10は、複数の電子回路で構成されていてもよいし、複数のサブプロセッサで構成されていてもよい。また、プロセッサ10は、図4及び図5に示される情報処理装置100の複数の構成要素のうち、情報を記憶するための構成要素を除く、複数の構成要素の役割を果たしてもよい。
 メモリ20は、プロセッサ10が画像中の物体を検出するための情報が記憶される専用又は汎用のメモリである。メモリ20は、電子回路であってもよく、プロセッサ10に接続されていてもよいし、プロセッサ10に含まれていてもよい。
 また、メモリ20は、複数の電子回路で構成されていてもよいし、複数のサブメモリで構成されていてもよい。また、メモリ20は、磁気ディスク又は光ディスク等であってもよいし、ストレージ又は記録媒体等と表現されてもよい。また、メモリ20は、不揮発性メモリでもよいし、揮発性メモリでもよい。
 例えば、メモリ20は、図4及び図5に示される情報処理装置100の複数の構成要素のうち、情報を記憶するための構成要素の役割を果たしてもよい。
 また、メモリ20には、物体検出処理に供される動画像が記憶されてもよいし、物体検出処理に供される動画像に対応するビット列が記憶されてもよい。また、メモリ20には、プロセッサ10が画像中の物体を検出するためのプログラムが記憶されていてもよい。
 また、情報処理装置100において、図4及び図5に示される複数の構成要素の全てが実装されなくてもよいし、上述された複数の処理の全てが行われなくてもよい。図4及び図5に示される複数の構成要素の一部は、他の装置に含まれていてもよいし、上述された複数の処理の一部は、他の装置によって実行されてもよい。そして、情報処理装置100において、図4及び図5に示される複数の構成要素のうちの一部が実装され、上述された複数の処理の一部が行われることによって、最終段階の判定処理の処理量を低減することができる。
 上述した通り、図5に示される情報処理装置100のプロセッサ10は、情報処理装置100のメモリ20を用いて画像中の物体を検出する。
 例えば、プロセッサ10は、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに入力画像を入力して入力画像における各物体候補(以下、候補枠)の複数のクラスそれぞれに対する尤度を取得する。次いで、プロセッサ10は、各候補枠について、複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、第1クラスに分類されるか否かの第1判定を実行する。より具体的には、プロセッサ10は、第1判定では、各候補枠の第1クラスに対する尤度が第1閾値以上か否かを判定する。
 なお、上記の負の相関関係とは、第1クラスに対する尤度と、他のクラスに対する尤度とが同時に高くならない関係である。尤度が高くならないとは、尤度が閾値以上にならないことをいう。そのため、各候補枠について、第1クラスに対する尤度と、第1クラス以外の他のクラスに対する尤度とは、同時に高くならない。より具体的には、各候補枠について、第1クラスに対する尤度が閾値以上である場合、第1クラス以外の他のクラスに対する尤度は、閾値よりも小さくなる。したがって、プロセッサ10は、各候補枠について、他のクラスに対する尤度と負の相関関係を有する、第1クラスに対する尤度を用いて分類処理を行うことにより、各候補枠は、第1クラス、及び、第1クラスではないクラスのいずれかに精度良く分類される。
 なお、第1クラスは、第1クラス以外の他のクラスよりも画像における出現頻度が高いクラスであってよい。画像における出現頻度が高いとは、例えば、画像において検出される回数が多いこと、又は、画像における全候補枠のうち尤度が閾値よりも大きくなる候補枠の数が多いことである。
 例えば、プロセッサ10は、さらに、各候補枠について、他のクラスに分類されるか否かの第3判定を実行し、第3判定により他のクラスに分類されると判定された候補枠の第1クラスに対する尤度より大きい値を第1閾値として決定する。例えば、プロセッサ10は、複数の入力画像の各物体候補について第3判定を実行し、複数の入力画像の各物体候補についての第3判定により他のクラスに分類されると判定された物体候補の第1クラスに対する尤度の全てより大きい値を第1閾値として決定する。これにより、第1判定において、各候補枠の第1クラスに対する尤度が第1閾値以上か否かを判定した場合に、第3判定により他のクラスに分類されると判定された候補枠の全てが第1クラスではないクラスに分類される。そのため、第1クラス以外の他のクラスに分類されるべき候補枠が誤って第1クラスに分類されることを低減することができる。
 例えば、第1クラスは、背景クラスである。この場合、プロセッサ10は、各候補枠を、背景クラスと、背景ではないクラスとに分類する。これにより、全候補枠のうち、検出対象の物体が映っている可能性の高い候補枠が抽出される。これにより、検出対象の物体が映っていない候補枠について、さらなる分類処理が実行される必要がなくなるため、分類処理における処理量が低減される。また、全候補枠のうち、物体が映っている可能性の高い候補枠についてのみ、背景以外の他のクラスに分類する処理を実行するため、分類処理の効率が向上される。
 例えば、プロセッサ10は、第1判定において第1クラスに分類されないと判定された候補枠それぞれについて、他のクラスに分類されるか否かの第2判定を実行する。ここで、複数のクラスにおける第1クラスが画像において出現頻度が高いクラスである場合、第1クラスに分類されないと判定された候補枠の数よりも、第1クラスに分類されると判定された候補枠の数の方が多くなる。そのため、第1クラスに分類されないと判定された候補枠それぞれについてのみ第2の判定を実行すると、全候補枠について第2の判定を実行する場合に比べて、処理量が大幅に低減される。
 次いで、プロセッサ10は、第1判定及び第2判定の結果を用いて、入力画像に映る物体の分類結果を出力する。これにより、入力画像に映る物体の分類結果を簡便にかつ迅速に出力することができる。
 ここで、本実施の形態の情報処理装置100を実現するソフトウェアは、次のようなプログラムである。
 すなわち、このプログラムは、コンピュータに、入力画像を取得し、分類尤度算出処理を実行する機械学習モデルに入力画像を入力して画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、各物体候補について、複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、第1クラスに分類されるか否かの第1判定を実行し、第1判定において第1クラスに分類されないと判定された物体候補それぞれについて、他のクラスに分類されるか否かの第2判定を実行し、第2判定の結果を用いて入力画像に映る物体の分類結果を出力する情報処理方法を実行させてもよい。
 [4.動作]
 [4-1.各候補枠の分類処理]
 続いて、情報処理装置100の動作について説明する。図6は、実施の形態に係る情報処理装置100の動作の一例を示すフローチャートである。
 まず、情報処理装置100は、入力画像を取得する(不図示)。次いで、図6に示されるように、情報処理装置100は、入力画像における候補枠毎に尤度を算出する(ステップS601)。より具体的には、情報処理装置100は、分類尤度算出処理を実行する機械学習モデルに入力画像を入力して、入力画像における各候補枠の複数のクラスそれぞれに対する尤度を算出させる。
 次いで、情報処理装置100は、全候補枠について、複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、第1クラスに分類されるか否かの第1判定を実行する。第1クラスに関する定義については、上記の実装例にて説明したため、ここでの説明を省略する。以下、第1クラスは、背景(BG:Background)クラスである例について説明する。
 情報処理装置100は、各候補枠の背景クラスに対する尤度が背景の閾値以上であるか否かを判定する(ステップS602)。ある候補枠の背景クラスに対する尤度が背景の閾値以上である場合(ステップS602でYes)、当該ある候補枠は、背景(BG)クラスのリストに追加される。一方、ある候補枠の背景クラスに対する尤度が背景の閾値より小さい場合(ステップS602でNo)、当該ある候補枠は、背景ではない(not BG)クラスのリストに追加される(ステップS603)。情報処理装置100は、全候補枠について、上記の処理ループを実行することにより、全候補枠を上記の2つのクラス、つまり、背景(BG)クラス及び背景ではない(not BG)クラスのいずれかに分類する。
 次いで、情報処理装置100は、第1判定(ステップS602)において背景クラスに分類されないと判定された候補枠(つまり、背景ではないクラスのリストに追加された候補枠)それぞれについて、他のクラスに分類されるか否かの第2判定(ステップS604)を実行する。具体的には、各候補枠について、他のクラスのそれぞれに対する尤度が各クラスの閾値以上であるか否かを判定する(ステップS604)。ある候補枠のあるクラスに対する尤度(例えば、自動車クラスに対する尤度)が自動車の閾値以上である場合(ステップS604でYes)、当該ある候補枠は、自動車クラスのリストに追加される(ステップS605)。一方、当該ある候補枠の自動車クラスに対する尤度が自動車の閾値よりも小さい場合(ステップS604でNo)、当該ある候補枠は、自動車クラスのリストに追加されない。
 次いで、情報処理装置100は、例えば、他の1つの候補枠の自動車クラスに対する尤度が自動車の閾値以上である場合(ステップS604でYes)、当該他の1つの候補枠は、自動車クラスのリストに追加される(ステップS605)。一方、当該他の1つの候補枠の自動車クラスに対する尤度が自動車の閾値よりも小さい場合(ステップS604でNo)、当該他の1つの候補枠は、自動車クラスのリストに追加されない。
 このように、背景ではないクラスのリスト中の全候補枠について、1つのクラス(ここでは、自動車クラス)に対する分類処理を実行した後、別のクラス(例えば、歩行者クラス)に対する分類処理を実行する。同様の処理を繰り替えし、背景ではないクラスのリスト中の全候補枠に対する分類ループが終了する。
 以上のように、本実施の形態に係る情報処理装置100によれば、まず、入力画像における全候補枠のそれぞれについて、例えば、画像において最も出現頻度の高いクラス(つまり、他のクラスの尤度と負の相関関係を有する尤度のクラス)に分類されるか否かを判定する。これにより、例えば、検出された全候補枠を、背景クラスと背景ではないクラスとの2つの分類することができる。背景クラスは、例えば、画像における出現頻度が高いクラスである。情報処理装置100は、背景ではないクラスに分類された各候補枠について、背景クラス以外の他のクラスに対する分類処理を行うため、処理量が低減される。
 [4-2.第1クラスの第1閾値の決定処理]
 続いて、情報処理装置100が実行する第1クラス(ここでは、背景クラス)の尤度閾値である第1閾値の決定処理フローの一例について説明する。図7は、実施の形態における機械学習モデルのオフライン処理の一例を示すフローチャートである。
 図6で説明したように、情報処理装置100は、分類尤度算出処理を実行する機械学習モデルに入力画像を入力し、入力画像における各候補枠の複数のクラスそれぞれに対する尤度を算出する。機械学習モデルは、教師データを用いて、入力画像における候補枠の検出、及び、各候補枠の複数のクラスそれぞれに対する尤度の算出を訓練される。
 情報処理装置100は、例えば、オフラインで、所定の入力画像を機械学習モデルに入力し、機械学習モデルは検出した全候補枠のそれぞれについて複数のクラスに対する尤度を算出する(不図示)。
 次いで、情報処理装置100は、機械学習モデルによって、分類ループを開始する。まず、情報処理装置100は、機械学習モデルによって、全候補枠について、複数のクラスのうちの1つのクラスについて分類処理を実行する。例えば、ある候補枠の背景クラスに対する尤度が背景の閾値以上であるか否かを判定する(ステップS701)。当該ある候補枠の背景クラスに対する尤度が背景の閾値以上である場合(ステップS701でYes)、当該ある候補枠は、背景クラスのリストに追加される(ステップS702)。一方、当該ある候補枠の背景クラスに対する尤度が背景の閾値よりも小さい場合(ステップS701でNo)、当該ある候補枠は、背景クラスのリストに追加されない。
 次いで、他の1つの候補枠について、ステップS701の処理を実行し、当該他の1つの候補枠の背景クラスに対する尤度が背景の閾値以上である場合(ステップS701でYes)、当該他の1つの候補枠は、背景クラスのリストに追加される(ステップS702)。一方、当該他の1つの候補枠の背景クラスに対する尤度が背景の閾値よりも小さい場合(ステップS701でNo)、当該他の1つの候補枠は、背景クラスのリストに追加されない。
 以上のように、全候補枠について、背景クラスに対する分類処理を実行した後、全候補枠について、背景クラス以外の他のクラス(例えば自動車クラス)に対する分類処理(第3判定の処理)を実行する。同様に、自動車クラスに対する分類処理が終了した後、全候補枠について、背景クラス及び自動車クラス以外の他のクラス(例えば、歩行者クラス)に対する分類処理を実行する。このようにして、全候補枠について、全クラスに対する分類処理を実行する。
 図示していないが、情報処理装置100は、上記の一連の処理により背景クラス以外の他のクラスのリストに追加された各候補枠の背景クラスに対する尤度より大きい値を第1閾値として決定する。例えば、第1閾値は、他のクラスのリストに追加された各候補枠の背景クラスに対する尤度の平均値よりも大きい値であってもよく、最大値よりも大きい値であってもよい。これにより、情報処理装置100は、第1判定において、物体が映っている可能性のある候補枠を取りこぼすことなく、背景ではないクラスに分類することができる。
 [4-3.決定された第1閾値の調整]
 続いて、情報処理装置100は、図7に示される処理によって決定された第1閾値を用いて、入力画像における全候補枠に対して第1判定を実行し、第1閾値が適切であるか否かを判定し、判定結果に基づいて、第1閾値の値を調整する。
 図8は、機械学習モデルのオフライン処理の他の例を示すフローチャートである。図8に示される処理フローでは、情報処理装置100は、入力画像における全候補枠について、第1クラスに(ここでは、背景クラス)に対する尤度が第1閾値以上か否かを判定する第1判定を実行し、全候補枠を背景クラス及び背景ではないクラスのいずれかに分類する。第1閾値は、第1クラス(ここでは、背景クラス)の閾値である。なお、図7及び図8に示される処理フローでは、情報処理装置100は、同じ入力画像を機械学習モデルに入力している。
 図8に示されるように、情報処理装置100は、機械学習モデルによって、全候補枠について、背景クラスに分類されるか否かを判定する。例えば、ある候補枠の背景クラスに対する尤度が背景の閾値以上であるか否かを判定する(ステップS801)。当該ある候補枠の背景クラスに対する尤度が背景の閾値以上である場合(ステップS801でYes)、当該ある候補枠は、背景クラスに追加される。一方、当該ある候補枠の背景クラスに対する尤度が背景の閾値よりも小さい場合(ステップS801でNo)、当該ある候補枠は、背景ではない(not BG)クラスに追加される(ステップS802)。
 次いで、情報処理装置100は、他の候補枠のそれぞれについて、同様の処理を実行し、背景リスト及び背景ではないリストのいずれかに分類する。全候補枠について第1判定を実行し終えると、全候補枠のループが終了する。
 情報処理装置100は、図7に示される処理フローにおいて背景クラス以外の他のクラスに分類された候補枠の全てが、図8に示される処理により背景ではないクラスのリストに追加されているか否かを判定する。他のクラスに分類された候補枠の全てが背景ではないクラスのリストに追加されている場合、情報処理装置100は、背景ではないクラスのリストに追加された候補枠の数と他のクラスに分類された候補枠の数との差分に応じて、第1閾値に所定のマージを加えてもよい。一方、他のクラスに分類された候補枠のうち、背景ではないクラスのリストに追加されていない候補枠がある場合、情報処理装置100は、第1閾値を調整する。このとき、情報処理装置100は、他のクラスに分類されると判定された候補枠のうち背景ではないクラスのリストに追加されていない候補枠のデータに基づいて第1閾値を調整してもよい。
 情報処理装置100は、第1閾値を調整した場合、調整した第1閾値を用いて、図8に示される処理フローを実行する。そして、再び、情報処理装置100は、図7に示される処理フローにおいて他のクラスに分類された候補枠の全てが、背景ではないクラスのリストに含まれるか否かを判定する。このように、情報処理装置100は、オフラインで、所定の訓練用データを用いて機械学習モデルの訓練を実行し、適切な第1閾値を決定する。
 (変形例)
 続いて、変形例に係る情報処理装置について説明する。ここでは、実施の形態に係る情報処理装置100と異なる点を中心に説明する。
 変形例に係る情報処理装置は、第1判定において第1クラス(例えば、背景クラス)に分類されないと判定された候補枠それぞれについて、各候補枠のサイズに応じて他のクラスに対応する閾値を決定し、各候補枠の他のクラスに対する尤度が当該閾値以上か否かを判定する点で、実施の形態に係る情報処理装置100と異なる。
 図9は、変形例に係る情報処理装置の動作の一例を示す第1フローチャートである。図10は、変形例に係る情報処理装置の動作の一例を示す第2フローチャートである。
 図9に示されるように、変形例に係る情報処理装置は、入力画像における各候補枠の複数のクラスそれぞれに対する尤度を算出する(ステップS901)。次いで、情報処理装置は、全候補枠について第1判定を実行する。例えば、情報処理装置は、ある候補枠の背景に対する尤度が背景の閾値以上であるか否かの第1判定を実行する(ステップS902)。当該ある候補枠の背景に対する尤度が背景の閾値以上である場合(ステップS902でYes)、当該ある候補枠は、背景クラスのリストに追加される。一方、当該ある候補枠の背景に対する尤度が背景の閾値よりも小さい場合(ステップS902でNo)、当該ある候補枠は、背景ではない(not BG)リストに追加される(ステップS903)。
 次いで、他の1つの候補枠の背景に対する尤度が背景の閾値以上であるか否かの第1判定を実行する(ステップS902)。当該他の1つの候補枠の背景に対する尤度が背景の閾値以上である場合(ステップS902でYes)、当該他の1つの候補枠は、背景クラスのリストに追加される。一方、当該他の1つの候補枠の背景に対する尤度が背景の閾値よりも小さい場合(ステップS902でNo)、当該他の1つの候補枠は、背景ではない(not BG)クラスのリストに追加される(ステップS903)。
 全候補枠について、上記の処理ループを終了すると、背景ではないクラスのリスト中の候補枠の分類ループ処理を開始する(図10参照)。
 図示していないが、変形例に係る情報処理装置は、候補枠のサイズに応じて他のクラスに対応する閾値を決定する。例えば、候補枠のサイズが小さくなるほど小さい値の閾値を設定する。これにより、情報処理装置が映像において小さく映る物体を誤検出することを低減することができる。
 図10に示されるように、まず、情報処理装置は、各候補枠のサイズを判定する。例えば、情報処理装置は、図9に示される処理により背景ではないクラスのリストに追加された各候補枠のサイズがh1(高さ1)より大きく、h2(高さ2)以下であるか否かを判定する(ステップS1001)。このとき、1つめの候補枠のサイズがh1より大きくh2以下である場合(ステップS1001でYes)、当該1つめの候補枠の自動車クラスに対する尤度が自動車の閾値1以上であるか否かを判定する(ステップS1002)。当該1つめの候補枠の自動車クラスに対する尤度が自動車の閾値以上である場合、当該ある候補枠は自動車クラスのリストに追加される(ステップS1003)。一方、当該1つめ候補枠の自動車クラスに対する尤度が自動車の閾値よりも小さい場合(ステップS1002でNo)、当該1つめの候補枠は、自動車クラスのリストに追加されない。
 次いで、2つめの候補枠のサイズがh1より大きく、h2以下であるか否かを判定する(ステップS1001)。当該2つめの候補枠のサイズがh1より大きく、h2以下でない場合(ステップS1001でNo)、当該2つめの候補枠のサイズがh2(高さ2)より大きく、h3(高さ3)以下であるか否かを判定する(ステップS1004)。このとき、当該2つめの候補枠のサイズがh2より大きく、h3以下である場合(ステップS1004でYes)、当該2つめの候補枠の自動車クラスに対する尤度が自動車の閾値2以上であるか否かを判定する(ステップS1005)。当該2つめの候補枠の自動車クラスに対する尤度が自動車の閾値2以上である場合(ステップS1005でYes)、当該2つめの候補枠は、自動車クラスのリストに追加される(ステップS1006)。一方、当該2つめの候補枠の自動車クラスに対する尤度が自動車の閾値2より小さい場合(ステップS1005でNo)、当該2つめの候補枠は、自動車クラスのリストに追加されない。
 次いで、3つめの候補枠のサイズがh1より大きく、h2以下であるか否かを判定する(ステップS1001)。当該3つめの候補枠のサイズがh1より大きく、h2以下でない場合(ステップS1001でNo)、当該3つめの候補枠のサイズがh2(高さ2)より大きく、h3(高さ3)以下であるか否かを判定する(ステップS1004)。このとき、当該3つめの候補枠のサイズがh2より大きく、h3以下でない場合(ステップS1004でNo)、当該3つめの候補枠のサイズがh3(高さ3)より大きく、h4(高さ4)以下であるか否かを判定する(ステップS1007)。このとき、当該3つめの候補枠のサイズがh3より大きく、h4以下である場合(ステップS1007でYes)、当該3つめの候補枠の自動車クラスに対する尤度が自動車の閾値3以上であるか否かを判定する(ステップS1008)。当該3つめの候補枠の自動車クラスに対する尤度が自動車の閾値3以上である場合(ステップS1008でYes)、当該3つめの候補枠は、自動車クラスのリストに追加される(ステップS1009)。一方、当該3つめの候補枠の自動車クラスに対する尤度が自動車の閾値3より小さい場合(ステップS1008でNo)、当該3つめの候補枠は、自動車クラスのリストに追加されない。
 このように、背景ではないクラスに分類された全候補枠について、自動車に対する尤度閾値の判定処理が終わると、背景クラス及び自動車クラス以外の他のクラスについて、上記の分類処理が実行される。
 (他の実施の形態)
 以上、1つ又は複数の態様に係る情報処理装置及び情報処理方法について、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲に含まれる。
 例えば、上記の実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は、分散処理を行ってもよい。
 また、本開示の全般的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 また、上記の各実施の形態は、請求の範囲又はその均等の範囲において種々の変更、書き換え、付加、及び、省略などを行うことができる。
 本開示は、分類処理における処理量を低減できる情報処理装置などとして利用でき、例えば、自動運転の制御、又は、防犯カメラシステムにおける人検知などに利用することができる。
 10 プロセッサ
 11 入力部
 12 分類尤度算出部
 13 第1抽出部
 14 第2抽出部
 15 統合部
 16 出力部
 20 メモリ
 100 情報処理装置

Claims (8)

  1.  プロセッサを備える情報処理装置であって、
     前記プロセッサは、
     入力画像を取得し、
     分類尤度算出処理を実行する機械学習モデルに前記入力画像を入力して前記入力画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、
     前記各物体候補について、前記複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、前記第1クラスに分類されるか否かの第1判定を実行し、
     前記第1判定において前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに分類されるか否かの第2判定を実行し、
     前記第2判定の結果を用いて前記入力画像に映る物体の分類結果を出力する、
     情報処理装置。
  2.  前記プロセッサは、前記第1判定では、前記各物体候補の前記第1クラスに対する尤度が第1閾値以上か否かを判定する、
     請求項1に記載の情報処理装置。
  3.  前記プロセッサは、さらに前記各物体候補について、前記他のクラスに分類されるか否かの第3判定を実行し、
     前記第3判定により前記他のクラスに分類されると判定された物体候補の前記第1クラスに対する尤度より大きい値を前記第1閾値として決定する、
     請求項2に記載の情報処理装置。
  4.  前記プロセッサは、
     複数の前記入力画像の前記各物体候補について前記第3判定を実行し、
     複数の前記入力画像の前記各物体候補についての前記第3判定により前記他のクラスに分類されると判定された物体候補の前記第1クラスに対する尤度の全てより大きい値を前記第1閾値として決定する
     請求項3に記載の情報処理装置。
  5.  前記第1クラスは、背景クラスである、
     請求項1~4のいずれか一項に記載の情報処理装置。
  6.  前記プロセッサは、
     前記機械学習モデルから、さらに、前記各物体候補について候補枠を取得し、
     前記第2判定では、前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに対する尤度が前記候補枠のサイズに応じた前記他のクラスに対応する閾値以上か否かを判定する、
     請求項5に記載の情報処理装置。
  7.  プロセッサに実行させる情報処理方法であって、
     入力画像を取得し、
     分類尤度算出処理を実行する機械学習モデルに前記入力画像を入力して前記画像における各物体候補の複数のクラスそれぞれに対する尤度を取得し、
     前記各物体候補について、前記複数のクラスにおける第1クラスに対する尤度であって、他のクラスに対する尤度と負の相関関係を有する尤度を用いて、前記第1クラスに分類されるか否かの第1判定を実行し、
     前記第1判定において前記第1クラスに分類されないと判定された物体候補それぞれについて、前記他のクラスに分類されるか否かの第2判定を実行し、
     前記第2判定の結果を用いて前記入力画像に映る物体の分類結果を出力する、
     情報処理方法。
  8.  請求項7に記載の情報処理方法をコンピュータに実行させるための、
     プログラム。
PCT/JP2019/031587 2018-10-18 2019-08-09 情報処理装置、情報処理方法及びプログラム WO2020079933A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19872900.6A EP3869450A4 (en) 2018-10-18 2019-08-09 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
CN201980005337.2A CN111417960A (zh) 2018-10-18 2019-08-09 信息处理装置、信息处理方法及程序
US16/859,264 US11526708B2 (en) 2018-10-18 2020-04-27 Information processing device, information processing method, and recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862747276P 2018-10-18 2018-10-18
US62/747,276 2018-10-18
JP2019092489A JP7311310B2 (ja) 2018-10-18 2019-05-15 情報処理装置、情報処理方法及びプログラム
JP2019-092489 2019-05-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/859,264 Continuation US11526708B2 (en) 2018-10-18 2020-04-27 Information processing device, information processing method, and recording medium

Publications (1)

Publication Number Publication Date
WO2020079933A1 true WO2020079933A1 (ja) 2020-04-23

Family

ID=70283880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/031587 WO2020079933A1 (ja) 2018-10-18 2019-08-09 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2020079933A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515128A (ja) * 2011-03-04 2014-06-26 エルビーティー イノベーションズ リミテッド 明細書微生物増殖を分析する方法およびソフトウェア
JP2016151805A (ja) 2015-02-16 2016-08-22 大日本印刷株式会社 オブジェクト検出装置、オブジェクト検出方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014515128A (ja) * 2011-03-04 2014-06-26 エルビーティー イノベーションズ リミテッド 明細書微生物増殖を分析する方法およびソフトウェア
JP2016151805A (ja) 2015-02-16 2016-08-22 大日本印刷株式会社 オブジェクト検出装置、オブジェクト検出方法、及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GIRSHICK, R. ET AL.: "Fast R-CNN", 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), 7 December 2015 (2015-12-07) - 13 December 2015 (2015-12-13), pages 1440 - 1448, XP055646790, DOI: 10.1109/ICCV.2015.169 *
REN, S. ET AL: "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 39, no. 6, 6 June 2016 (2016-06-06), pages 1137 - 1149, XP055583592, DOI: 10.1109/TPAMI.2016.2577031 *
See also references of EP3869450A4 *
WEI LIU ET AL.: "SSD: SINGLE SHOT MULTIBOX DETECTOR", ARXIV:1512.02324V5 [CS.CV, 29 December 2016 (2016-12-29)

Similar Documents

Publication Publication Date Title
Vennelakanti et al. Traffic sign detection and recognition using a CNN ensemble
CN108960266B (zh) 图像目标检测方法及装置
CN107169421B (zh) 一种基于深度卷积神经网络的汽车驾驶场景目标检测方法
JP6897335B2 (ja) 学習プログラム、学習方法および物体検知装置
WO2020151166A1 (zh) 多目标跟踪方法、装置、计算机装置及可读存储介质
CN108388879B (zh) 目标的检测方法、装置和存储介质
US9142011B2 (en) Shadow detection method and device
WO2017059576A1 (en) Apparatus and method for pedestrian detection
WO2019051941A1 (zh) 车型识别方法、装置、设备及计算机可读存储介质
CN107871130A (zh) 图像处理
US10964033B2 (en) Decoupled motion models for object tracking
JP7311310B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN107305635A (zh) 对象识别方法、对象识别装置和分类器训练方法
WO2016144431A1 (en) Systems and methods for object tracking
KR20160096460A (ko) 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법
KR102476022B1 (ko) 얼굴검출 방법 및 그 장치
JP2019061505A (ja) 情報処理システム、制御システム、及び学習方法
KR101753097B1 (ko) 차량검출방법, 차량검출을 위한 데이터베이스의 구조, 및 차량검출을 위한 데이터베이스 구축방법
JP2014531097A (ja) マルチレイヤ連結成分をヒストグラムと共に用いるテキスト検出
CN108960115B (zh) 基于角点的多方向文本检测方法
Nguyen et al. Yolo based real-time human detection for smart video surveillance at the edge
CN112036395A (zh) 基于目标检测的文本分类识别方法及装置
JP2010165046A (ja) 情報処理装置及び情報処理方法
CN111797711A (zh) 一种模型训练的方法及装置
KR101821242B1 (ko) 영상 인식에 기반하여 차량을 계수하는 방법 및 이를 이용한 장치

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: 19872900

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: 2019872900

Country of ref document: EP

Effective date: 20210518