WO2021005775A1 - 物体検知装置、学習方法、及び、記録媒体 - Google Patents

物体検知装置、学習方法、及び、記録媒体 Download PDF

Info

Publication number
WO2021005775A1
WO2021005775A1 PCT/JP2019/027481 JP2019027481W WO2021005775A1 WO 2021005775 A1 WO2021005775 A1 WO 2021005775A1 JP 2019027481 W JP2019027481 W JP 2019027481W WO 2021005775 A1 WO2021005775 A1 WO 2021005775A1
Authority
WO
WIPO (PCT)
Prior art keywords
object detection
unit
weight
weight calculation
image data
Prior art date
Application number
PCT/JP2019/027481
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 US17/624,906 priority Critical patent/US20220277552A1/en
Priority to JP2021530446A priority patent/JP7164048B2/ja
Priority to PCT/JP2019/027481 priority patent/WO2021005775A1/ja
Publication of WO2021005775A1 publication Critical patent/WO2021005775A1/ja

Links

Images

Classifications

    • 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/776Validation; Performance evaluation
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • 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
    • 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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • 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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data

Definitions

  • the present invention relates to a technique for detecting an object included in an image.
  • Patent Document 1 describes a pattern recognition device that performs recognition processing according to the environment in which characters are written. In this pattern recognition device, one or a plurality of registered recognizers are called to perform recognition processing according to the state of the processing target extracted from the input image.
  • Patent Document 2 describes an obstacle detection device that makes a final determination based on the determination results of a plurality of determination units that determine the presence or absence of an obstacle.
  • the above method is based on the premise that the accuracy of multiple recognition devices and judgment devices is almost the same. Therefore, if the accuracy of the plurality of recognition devices and determination devices is different, the accuracy of the final obtained result may decrease.
  • One object of the present invention is to provide an object detection device that enables highly accurate object detection according to an input image by using a plurality of recognizers having different characteristics.
  • the object detection device is A plurality of object detection units that output a score indicating the certainty that a predetermined object exists for each partial area set for the input image data, and Based on the image data, the weight calculation unit that calculates the weights for fusing the scores output by the plurality of object detection units for each of the plurality of object detection units using the weight calculation parameters, A fusion unit that fuses the scores output by the plurality of object detection units with the weights calculated by the weight calculation unit for each partial region.
  • a loss calculation unit that calculates the difference between the correct label of the image data and the score fused by the fusion unit as a loss. It is provided with a parameter correction unit that corrects the weight calculation parameter so that the loss is reduced.
  • the learning method of the object detection device is For each partial area set for the input image data, a score indicating the certainty that a predetermined object exists is output from a plurality of object detection units. Based on the image data, the weight at the time of fusing the scores output by the plurality of object detection units is calculated for each of the plurality of object detection units by using the weight calculation parameter. With the calculated weight, the scores output by the plurality of object detection units are fused for each of the partial regions. The difference between the correct label of the image data and the fused score is calculated as a loss. The weight calculation parameter is modified so that the loss is reduced.
  • the recording medium is: For each partial area set for the input image data, a score indicating the certainty that a predetermined object exists is output from a plurality of object detection units. Based on the image data, the weights for fusing the scores output by the plurality of object detection units are calculated for each of the plurality of object detection units using the weight calculation parameters. With the calculated weight, the scores output by the plurality of object detection units are fused for each of the partial regions. The difference between the correct label of the image data and the fused score is calculated as a loss.
  • a program for causing a computer to execute a learning process of an object detection device that modifies the weight calculation parameter so as to reduce the loss is recorded.
  • the present invention by integrating a plurality of recognizers for detecting objects having different characteristics, it is possible to detect an object with high accuracy according to an input image.
  • FIG. 1 It is a block diagram which shows the hardware structure of the object detection device.
  • the functional configuration of the object detection device for learning according to the first embodiment is shown. It is a figure explaining the concept of an anchor box. It is a figure explaining the example of an anchor. It is a flowchart of the learning process by the object detection device which concerns on 1st Embodiment.
  • the functional configuration of the object detection device for inference according to the first embodiment is shown. It is a flowchart of the inference processing by the object detection device which concerns on 1st Embodiment.
  • the functional configuration of the object detection device for learning according to the second embodiment is shown.
  • the functional configuration of the object detection device for inference according to the second embodiment is shown.
  • the functional configuration of the object detection device for learning according to the third embodiment is shown. It is a flowchart of the learning process by the object detection device of 3rd Embodiment.
  • the functional configuration of the object detection device for inference according to the third embodiment is shown.
  • FIG. 1 is a block diagram showing a hardware configuration of an object detection device.
  • the object detection device 10 includes an interface (IF) 2, a processor 3, a memory 4, a recording medium 5, and a database (DB) 6.
  • IF interface
  • DB database
  • Interface 2 communicates with an external device. Specifically, the interface 2 is used when inputting image data to be targeted for object detection or image data for learning from the outside, or when outputting the result of object detection to an external device.
  • the processor 3 is a computer such as a CPU (Central Processing Unit) or a CPU and a GPU (Graphics Processing Unit), and controls the entire object detection device 10 by executing a program prepared in advance.
  • the memory 4 is composed of a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
  • the memory 4 stores various programs executed by the processor 3.
  • the memory 4 is also used as a working memory during execution of various processes by the processor 3.
  • the recording medium 5 is a non-volatile, non-temporary recording medium such as a disk-shaped recording medium or a semiconductor memory, and is configured to be removable from the object detection device 10.
  • the recording medium 5 records various programs executed by the processor 3. When the object detection device 10 executes the learning process, the program recorded in the recording medium 5 is loaded into the memory 4 and executed by the processor 3.
  • the database 6 stores image data for learning used in the learning process of the object detection device 10.
  • the image data for learning includes the correct answer label.
  • the object detection device 10 may include an input device such as a keyboard and a mouse, a display device, and the like.
  • FIG. 2 is a block diagram showing a functional configuration of the object detection device 10 for learning. Note that FIG. 2 shows a configuration for executing a learning step of learning the optimum fusion ratio with respect to the outputs from the plurality of object detection units.
  • the object detection device 10 includes an image input unit 11, a weight calculation unit 12, a first object detection unit 13, a second object detection unit 14, a product sum unit 15, and a parameter correction unit.
  • a loss calculation unit 17, a loss calculation unit 17, and a correct label storage unit 18 are provided.
  • the image input unit 11 includes a weight calculation unit 12, a first object detection unit 13, a second object detection unit 14, a product sum unit 15, a parameter correction unit 16, and a weight calculation unit 12, which are realized by the interface 2 shown in FIG.
  • the loss calculation unit 17 is realized by the processor 3 shown in FIG.
  • the correct label storage unit 18 is realized by the database 6 shown in FIG.
  • weight calculation parameters parameters for weight calculation (hereinafter, referred to as "weight calculation parameters") that the weight calculation unit 12 has inside are optimized.
  • the first object detection unit 13 and the second object detection unit 14 have already been learned in advance, and learning is not performed in this learning step.
  • Image data is input to the image input unit 11.
  • the image data is image data for learning, and is taken in an area to be detected by an object. As described above, for each image data, a correct label indicating an object included in the image is prepared in advance.
  • the first object detection unit 13 has a configuration similar to a neural network for object detection by deep learning such as SSD (Single Shot Multibox Detector), RetinaNet, and Faster-RCNN (Regional Convolutional Neural Network). However, the first object detection unit 13 does not perform NMS (Non Maximum Support) processing and outputs the detected object and its score and coordinate information in a list format or the like, and does not perform processing until the anchor box before NMS processing. The score information and coordinate information of the recognition target object calculated for each are output as they are. Here, all the partial areas that verify the presence or absence of the recognition target object are called “anchor boxes".
  • NMS Non Maximum Support
  • FIG. 3 is a diagram for explaining the concept of the anchor box.
  • a sliding window is set on the feature map obtained by convolving the CNN.
  • anchor boxes having different sizes in k ways (hereinafter, also simply referred to as “anchors”) are set for one sliding window, and the presence or absence of a recognition target object is verified for each anchor.
  • each anchor refers to a subregion set in k ways for all sliding windows.
  • FIG. 4 is a diagram showing the structure of RetinaNet.
  • the upper part of the output network 901 stores score information (K dimension, that is, K type recognition target) for W ⁇ H ⁇ A anchors, and the lower part stores coordinate information for W ⁇ H ⁇ A anchors (K type recognition target). 4th dimension) is memorized.
  • K dimension that is, K type recognition target
  • W indicates the number of variations in the horizontal direction of the anchor center
  • H indicates the number of variations in the vertical direction of the anchor center
  • A indicates the number of variations in the vertical and horizontal sizes of the anchor.
  • the coordinate information may represent the coordinate information of the left, right, upper and lower four sides of the rectangular area where the recognition target exists as an absolute value or a relative position from the reference position uniquely determined for the anchor, and the upper and lower four sides may be represented. It may be expressed in terms of left side and top side and width and height.
  • the output network 901 shown in the figure is set for one layer of the feature pyramid net, and similarly for another layer of the feature pyramid net, K-dimensional score information and four-dimensional coordinates are also provided. Information is output.
  • the number of anchors set for all layers of the feature pyramid net will be referred to as "Na”. Since the score information and the coordinate information for the same anchor are stored in a predetermined memory position of the memory for storing the information, they can be easily associated with each other.
  • the first object detection unit 13 has been learned in advance, its parameters are fixed, and learning is not performed in the learning step of the object detection device 10.
  • the second object detection unit 14 is the same as the first object detection unit 13, and the structure of the model is also the same. However, the first object detection unit 13 and the second object detection unit 14 have one network parameter internally due to factors such as different learning data or different initial values of parameters at the time of learning. It is not done, and the recognition characteristics are different.
  • the weight calculation unit 12 is composed of a deep neural network or the like that can be applied to a regression problem such as ResNet (Resual Network: residual network).
  • the weight calculation unit 12 determines the weight at the time of fusing the score information and the coordinate information output by the first object detection unit 13 and the second object detection unit 14 with respect to the image data input to the image input unit 11. It is determined, and information indicating each weight is output to the product-sum unit 15. Basically, the number of dimensions of the weight is equal to the number of object detectors used. In this case, it is preferable that the weight calculation unit 12 calculates the weight so that the sum of the weights for the first object detection unit 13 and the weights for the second object detection unit 14 is “1”.
  • the weight calculation unit 12 may set the weight for the first object detection unit 13 to be “ ⁇ ” and the weight for the second object detection unit 14 to be “1- ⁇ ”.
  • the average value calculation process in the product-sum unit 15 can be simplified.
  • the object detection unit has two parameters related to one object (for example, a parameter indicating that it seems to be an object and a parameter indicating that it does not seem to be an object)
  • the number of dimensions of the weight is the number of object detection units to be used. It will be twice as much as.
  • the sum-of-products unit 15 sums up the score information and coordinate information output by the first object detection unit 13 and the second object detection unit 14 based on the weights output by the weight calculation unit 12 between the corresponding anchors. After that, find the average value.
  • the product-sum calculation of the coordinate information is performed only on the anchors whose existence of the recognition target object is indicated on the correct label, and the calculation is not required for the other anchors.
  • the average value is calculated for each anchor and each object to be recognized, and has a Na ⁇ (k + 4) dimension.
  • the sum-of-products portion 15 is an example of a fusion portion of the present invention.
  • the correct answer label storage unit 18 stores the correct answer label for the image data for learning. Specifically, the correct answer label storage unit 18 stores the class information and the coordinate information of the recognition target object existing in each anchor as the correct answer label in an array for each anchor. The correct answer label storage unit 18 stores class information and coordinate information indicating that the recognition target object does not exist in the storage area corresponding to the anchor in which the recognition target object does not exist.
  • the class information includes a class code indicating the type of the object and score information indicating the certainty that the object indicated by the class code exists.
  • the original correct answer information for the image data for learning is often text information indicating the type of the recognition target object and its rectangular area in the input image, but is stored in the correct answer label storage unit 18.
  • the correct answer label is data obtained by converting the correct answer information into class information and coordinate information for each anchor.
  • the correct answer label storage unit 18 sets the score of the object as class information at the position of the correct answer label representing the score of the object for the anchor having the overlap of the rectangular area in which the object is shown and the predetermined threshold or more.
  • the value 1.0 indicating is stored, and the relative amount of the position of the rectangular area where the object is reflected with respect to the standard rectangular position of the anchor (the amount of deviation of the left end x coordinate, the amount of deviation of the upper end y coordinate, and the width) The amount of deviation and the amount of deviation in height) are stored.
  • the correct answer label storage unit 18 stores a value indicating that no object exists at the position of the correct answer label representing the score of another object.
  • the correct answer label storage unit 18 places the object at the position of the correct answer label that stores the score and coordinate information of the object. Stores a value indicating that does not exist.
  • the class information is k-dimensional and the coordinate information is four-dimensional.
  • the class information is Na ⁇ k dimensions and the coordinate information is Na ⁇ 4 dimensions.
  • the loss calculation unit 17 calculates the loss value by collating the Na ⁇ (k + 4) -dimensional score information and coordinate information output by the product-sum unit 15 with the correct label stored in the correct label storage unit 18. .. Specifically, the loss calculation unit 17 calculates the identification loss related to the score information and the regression loss (Regression loss) related to the coordinate information.
  • the average value of the Na ⁇ (k + 4) dimension output by the product-sum unit 15 is synonymous with the score information and the coordinate information output by the first object detection unit 13 for each anchor and each recognition target object. Therefore, the loss calculation unit 17 can calculate the value of the identification loss by a method that is exactly the same as the method of calculating the identification loss for the output of the first object detection unit 13.
  • the loss calculation unit 17 calculates the identification loss by accumulating the differences in the score information for all the anchors. Regarding the regression loss, the loss calculation unit 17 accumulates the difference in coordinate information only for the anchor in which any object exists, and considers the difference in coordinate information for the anchor in which no object exists. do not do.
  • the parameter correction unit 16 corrects the network parameters inherent in the weight calculation unit 12 so as to reduce the loss calculated by the loss calculation unit 17. At this time, the parameter correction unit 16 fixes the network parameters of the first object detection unit 13 and the second object detection unit 14, and corrects only the parameters of the weight calculation unit 12. The parameter correction unit 16 can obtain the amount of parameter correction by a normal error back propagation method. By learning the parameters of the weight calculation unit 12 in this way, the object detection device that optimally sums the outputs of the first object detection unit 13 and the second object detection unit 14 and makes a comprehensive judgment is provided. It becomes possible to build.
  • FIG. 5 is a flowchart of the learning process by the object detection device 10. This process is realized by the processor 3 shown in FIG. 1 executing a program prepared in advance.
  • image data for learning is input to the image input unit 11 (step S11).
  • the first object detection unit 13 detects an object using image data, and outputs score information and coordinate information of the recognition target object in the image for each anchor and each recognition target object (step S12).
  • the second object detection unit 14 performs object detection using the image data, and outputs score information and coordinate information of the recognition target object in the image for each anchor and each recognition target object (step S13).
  • the weight calculation unit 12 reads the image data and calculates the weights for the outputs of the first object detection unit 13 and the second object detection unit 14 (step S14).
  • the product-sum unit 15 includes the score information and coordinate information of the recognition target object output by the first object detection unit 13, and the score information and coordinate information of the recognition target object output by the second object detection unit 14. Is multiplied by the weights calculated by the weight calculation unit 12 and added, and the average value thereof is output (step S15).
  • the loss calculation unit 17 collates the difference between the obtained average value and the correct label, and calculates the loss (step S16). Then, the parameter correction unit 16 corrects the weight calculation parameter inherent in the weight calculation unit 12 so that the loss value is reduced (step S17).
  • the object detection device 10 repeats the above steps S11 to S17 only for a predetermined condition, and ends the process.
  • the "predetermined condition” is a condition related to the number of repetitions, the degree of change in the loss value, and the like, and any of the methods adopted as many deep learning learning procedures can be used.
  • the weight calculation unit 12 predicts the strengths and weaknesses of each object detection unit with respect to the input image, optimizes the weight, and detects the weight for each object. Multiply the output of the unit and average. Therefore, the final determination can be made with higher accuracy than the single object detection unit. For example, when the first object detection unit 13 is good at detecting pedestrians walking alone and the second object detection unit 14 is good at detecting pedestrians walking in a group, a person who happens to walk alone in the input image. If is reflected, the weight calculation unit 12 assigns a larger weight to the first object detection unit 13. Further, the parameter correction unit 16 corrects the parameters of the weight calculation unit 12 so that the weight calculation unit 12 calculates a large weight for the object detection unit that is good at recognizing the image data for learning.
  • FIG. 6 is a block diagram showing a functional configuration of the object detection device 10x for inference.
  • the object detection device 10x for inference is also basically realized by the hardware configuration shown in FIG.
  • the object detection device 10x for inference includes an image input unit 11, a weight calculation unit 12, a first object detection unit 13, a second object detection unit 14, and a product sum unit. 15 and a maximum value selection unit 19 are provided.
  • the image input unit 11, the weight calculation unit 12, the first object detection unit 13, the second object detection unit 14, and the product-sum unit 15 are the object detection device 10 for learning shown in FIG. The same is true. Then, the weight calculation unit 12 uses what has been learned by the above learning process.
  • the maximum value selection unit 19 performs NMS processing on the Na ⁇ k-dimensional score information output by the product-sum unit 15 to identify the type of the object to be recognized, and identifies the position from the coordinate information corresponding to the anchor. Output the object detection result.
  • the object detection result includes the type and position of each object to be recognized. As a result, it is possible to obtain an object detection result when the outputs of the first object detection unit 13 and the second object detection unit 14 are optimally fused to make a comprehensive judgment.
  • FIG. 7 is a flowchart of inference processing by the object detection device 10x. This process is realized by the processor 3 shown in FIG. 1 executing a program prepared in advance.
  • image data for learning is input to the image input unit 11 (step S21).
  • the first object detection unit 13 detects an object using image data, and outputs score information and coordinate information of the recognition target object in the image for each anchor and each recognition target object (step S22).
  • the second object detection unit 14 detects the object using the image data, and outputs the score information and the coordinate information of the recognition target object in the image for each anchor and each recognition target object (step S23).
  • the weight calculation unit 12 reads the image data and calculates the weights for the outputs of the first object detection unit 13 and the second object detection unit 14 (step S24).
  • the product-sum unit 15 includes the score information and coordinate information of the recognition target object output by the first object detection unit 13, and the score information and coordinate information of the recognition target object output by the second object detection unit 14. Is multiplied by the weights calculated by the weight calculation unit 12 and added, and the average value thereof is output (step S25). Finally, the maximum value selection unit 19 performs NMS processing on the average value, and outputs the type of the object to be recognized and its position as an object detection result (step S26).
  • the dimension number (number) of the weight output by the weight calculation unit 22 may be equal to the number of the object detection unit.
  • the weight calculation unit 12 is not limited to deep learning for regression problems, but may be a function that can be learned by the error back propagation method, in other words, a function that can partially differentiate the error function with the parameters of the function that calculates the weight. Anything can be used.
  • the device is not limited to the detection of an object, and may be an event detection device that outputs event information occurring in an image and its coordinate information.
  • the "event” refers to, for example, a predetermined behavior or movement of a person, a gesture, or a natural phenomenon such as a landslide, an avalanche, or a rise in the water level of a river.
  • the first object detection unit 13 and the second object detection unit 14 use the same model structure, but different models may be used. .. However, in that case, it is necessary to devise the correspondence between the two anchors corresponding to substantially the same positions in the sum-of-products portion 15. This is because the anchors between different models do not exactly match.
  • each anchor set by the second object detection unit 14 corresponds to any one of the anchors set by the first object detection unit 13, and the first object detection unit 13 corresponds to one of the anchors.
  • the weighted average may be calculated for each anchor to be set, and the score information and the coordinate information for each anchor and each recognition target object set by the first object detection unit 13 may be output.
  • an image area (rectangular area where an object exists) corresponding to the anchor may be obtained, and anchors whose image areas overlap most just enough may be associated with each other.
  • FIG. 8 is a block diagram showing a functional configuration of the object detection device 20 for learning according to the second embodiment.
  • the object detection device 20 for learning replaces the weight calculation unit 12 and the parameter correction unit 16 in the object detection device 10 shown in FIG. 2 with the anchor per weight calculation unit 21 and the anchor per parameter correction unit 22.
  • the object detection device 20 of the second embodiment is the same as the object detection device 10 of the first embodiment. That is, the image input unit 11, the first object detection unit 13, the second object detection unit 14, the product-sum unit 15, the loss calculation unit 17, and the correct label storage unit 18 are the object detection device 10 of the first embodiment. They are the same and basically operate in the same manner as in the first embodiment.
  • the anchor-by-anchor weight calculation unit 21 has a first object detection unit 13 and a second object detection unit 14 for each anchor set in the image data based on the image data input to the image input unit 11.
  • the weight for the output of is calculated and output to the product-sum unit 15.
  • the anchor-by-anchor weight calculation unit 21 of the second embodiment sets each anchor of the image, that is, The weight for the output of each object detection unit is calculated for each partial area. Assuming that the number of anchors set in the image data is Na and the number of object detection units is Nf, the number of dimensions of the information indicating the magnification output by the weight calculation unit 21 for each anchor is Na ⁇ Nf.
  • the anchor-by-anchor weight calculation unit 21 can be configured by a deep neural network or the like that can be applied to a multidimensional regression problem. Further, the anchor-by-anchor weight calculation unit 21 may include a network having a structure that averages the weights corresponding to the nearby anchors so that the anchors in the vicinity of each object detection unit have the weights as close as possible.
  • the product-sum unit 15 weights each anchor while associating the same score information and coordinate information output by the first object detection unit 13 and the second object detection unit 14 for each anchor and each recognition target object.
  • the average value is obtained after summing up based on the weights of each object detection unit and each anchor output by the calculation unit 21.
  • the number of dimensions of the average value is Na ⁇ (k + 4), which is the same as that of the first embodiment.
  • the anchor-by-anchor parameter correction unit 22 corrects the weight calculation parameters for each object detection unit and each anchor included in the anchor-by-anchor weight calculation unit 21 so as to reduce the loss calculated by the loss calculation unit 17.
  • the network parameters of the first object detection unit 13 and the second object detection unit 14 are fixed, and the anchor per parameter correction unit 22 is the parameter of the anchor per weight calculation unit 21. Only fix. The amount of parameter correction can be obtained by the usual error back propagation method.
  • the object detection device 20 of the second embodiment basically executes the same process as the learning process of the first embodiment shown in FIG.
  • the weight calculation unit 21 for each anchor calculates the weight for the output of each object detection unit for each anchor in step S14.
  • the anchor-by-anchor parameter correction unit 22 corrects the weight calculation parameter in the anchor-by-anchor weight calculation unit 21 for each anchor.
  • FIG. 9 is a block diagram showing a functional configuration of the object detection device 20x for inference in the second embodiment.
  • the object detection device 20x for inference of the second embodiment has an anchor-by-anchor weight calculation unit 21 instead of the weight calculation unit 12 in the object detection device 10x for inference of the first embodiment shown in FIG.
  • the object detection device 20x for inference of the second embodiment is the same as the object detection device 10x for inference of the first embodiment. Therefore, in the second embodiment, the weight calculation unit 21 for each anchor calculates the weight for each anchor and outputs the weight to the first object detection unit 13 and the second object detection unit 14.
  • the object detection device 20x of the second embodiment basically executes the same process as the learning process of the first embodiment shown in FIG. 7.
  • the weight calculation unit 21 for each anchor calculates the weight for the output of each object detection unit for each anchor in step S24.
  • the certainty of the output of each object detection unit is estimated for each anchor, in other words, for each location, and the weight is calculated, and the weight is used for each object detection unit. Weighted and averaged the output of. Therefore, it is possible to perform a more accurate final determination by using the outputs of a plurality of object detection units. For example, when the first object detection unit 13 is good at detecting pedestrians walking alone and the second object detection unit 14 is good at detecting pedestrians walking in a group, it walks alone on the input image.
  • the weight calculation unit 21 for each anchor places more importance on the output of the first object detection unit 13 for the anchor corresponding to the vicinity of the position of the person walking alone, and in a group.
  • a weight is output to the anchor corresponding to the vicinity of the position of the pedestrian so as to give more importance to the output of the second object detection unit 14. In this way, more accurate final determination becomes possible.
  • the parameter correction unit 22 for each anchor has a parameter for each partial area of the image so that the weight calculation unit 21 for each anchor outputs a weight that emphasizes the output of the object detection unit that is good at recognizing image data for learning. Can be modified.
  • the weight calculation unit 21 for each anchor performs the optimum weighting for each anchor, but each object detection unit has a different binary classifier for each class, for example, Retina Net. If so, the weight may be changed for each class instead of each anchor.
  • a class-specific weight calculation unit may be provided instead of the anchor-specific weight calculation unit 21, and a class-specific parameter correction unit may be provided instead of the anchor-specific parameter correction unit 22.
  • the number of anchors set in the image data is Na and the number of object detection units is Nf
  • the number of dimensions of the weight output by the weight calculation unit 21 for each anchor is Na ⁇ Nf dimension.
  • the number of classes is Nc dimension
  • the number of dimensions of the weight output by the weight calculation unit for each class is Nc ⁇ Nf dimension.
  • backpropagation may be applied so as to minimize the loss from the output layer neuron side as usual. According to this configuration, for example, when the class that is good at detection is different for each object detection unit, it is possible to perform different optimum weighting for each class.
  • each object detection unit is weighted by using the shooting environment information of the image data.
  • the object detection device 30 for learning and the object detection device 30x for inference described below are both realized by the hardware configuration shown in FIG.
  • FIG. 10 is a block diagram showing a functional configuration of the object detection device 30 for learning according to the third embodiment.
  • the object detection device 30 for learning includes a weight calculation / environment prediction unit 31 instead of the weight calculation unit 12 in the object detection device 10 shown in FIG. 2, and a prediction loss calculation unit 32 is further added.
  • the object detection device 30 of the third embodiment is the same as the object detection device 10 of the first embodiment. That is, the image input unit 11, the first object detection unit 13, the second object detection unit 14, the product-sum unit 15, the loss calculation unit 17, and the correct label storage unit 18 are the object detection device 10 of the first embodiment. They are the same and basically operate in the same manner as in the first embodiment.
  • the shooting environment information is information indicating the environment in which the image data input to the image input unit 11 was shot.
  • the shooting environment information is (a) different indoors and outdoors (indoor or outdoor) where the camera that captured the image data is installed, (b) the weather at that time (sunny, cloudy, rainy or snowy), and (c) time. (Day or night), (d) Depression angle of the camera (0 to 30 degrees, 30 to 60 degrees or 60 to 90 degrees) and the like.
  • the weight calculation / environment prediction unit 31 calculates the weights for the first object detection unit 13 and the second object detection unit 14 by using the weight calculation parameters, and at the same time, the parameters for predicting the shooting environment (hereinafter, “shooting”). It is called an "environmental prediction parameter") to predict the shooting environment of the input image data, generate prediction environment information, and output it to the prediction loss calculation unit 32. For example, if the four types of shooting environment information (a) to (d) are used, the weight calculation / environment prediction unit 31 represents the attribute values of each type of information in one dimension, and the prediction environment information. Outputs a four-dimensional value as. The weight calculation / environment prediction unit 31 shares a part of the calculation when calculating the weight and the prediction environment information.
  • the weight calculation / environment prediction unit 31 when calculating with a deep neural network, the weight calculation / environment prediction unit 31 standardizes the lower layers of the network and specializes only the upper layers in the calculation of weights and prediction environment information. That is, the weight calculation / environment prediction unit 31 performs so-called multitask learning. As a result, some of the weight calculation parameters and the environment prediction parameters are common.
  • the prediction loss calculation unit 32 calculates the difference between the shooting environment information and the prediction environment calculated by the weight calculation / environment prediction unit 31, and outputs the difference as the prediction loss to the parameter correction unit 16.
  • the parameter correction unit 16 corrects the network parameters inherent in the weight calculation / environment prediction unit 31 so as to reduce the loss calculated by the loss calculation unit 17 and the prediction loss calculated by the prediction loss calculation unit 32.
  • the weight calculation / environment prediction unit 31 shares a part of the network for weight calculation and prediction environment information calculation, models in similar shooting environments tend to have similar weights. Become. As a result, the effect of stabilizing the learning in the weight calculation / environment prediction unit 31 can be obtained.
  • the weight calculation / environment prediction unit 31 and the parameter correction unit 16 perform equal weighting on the entire image as in the first embodiment.
  • the weight calculation / environment prediction unit 31 and the parameter correction unit 16 may be configured to perform weighting for each anchor (for each partial region) as in the second embodiment.
  • FIG. 11 is a flowchart of the learning process by the object detection device 30 of the third embodiment. This process is realized by the processor 3 shown in FIG. 1 executing a program prepared in advance. As can be seen by comparing with FIG. 5, the learning process by the object detection device 30 of the third embodiment is obtained by adding steps S31 to S33 to the learning process by the object detection process 10 of the first embodiment.
  • steps S11 to S16 are the same as the learning process of the first embodiment.
  • the loss calculation unit 17 collates the difference between the obtained average value and the correct label, calculates the loss, and outputs it to the parameter correction unit 16.
  • steps S31 to S33 are executed in parallel with steps S11 to S16. Specifically, first, the shooting environment information is input to the prediction loss calculation unit 32 (step S31). Next, the weight calculation / environment prediction unit 31 predicts the environment in which the image data was taken based on the image data output from the image input unit 11, generates prediction environment information, and predicts the prediction loss calculation unit 32. Is output to (step S32).
  • the prediction loss calculation unit 32 calculates the prediction loss based on the shooting environment information input in step S31 and the prediction environment information input in step S32, and outputs the prediction loss to the parameter correction unit 16 (step S33). Then, the parameter correction unit 16 corrects the parameters inherent in the weight calculation / environment prediction unit 31 so that the values of the loss calculated by the loss calculation unit 17 and the prediction loss calculated by the prediction loss calculation unit 32 are reduced. Step S17).
  • the object detection device 30 repeats the above steps S11 to S17 and S31 to 33 only for a predetermined condition, and ends the process.
  • FIG. 12 is a block diagram showing a functional configuration of the object detection device 30x for inference in the third embodiment.
  • the object detection device 20x for inference of the third embodiment has a weight calculation unit 35 instead of the weight calculation unit 12 in the object detection device 10x for inference of the first embodiment shown in FIG.
  • the object detection device 30x for inference of the third embodiment is the same as the object detection device 10x for inference of the first embodiment.
  • the object detection device 30x of the third embodiment basically executes the same process as the learning process of the first embodiment shown in FIG. 7.
  • the weight calculation unit 35 uses the internal parameters learned by the object detection device 30 for learning using the shooting environment information to make the first object detection unit 13 and the second object.
  • the weight for the detection unit 14 is calculated and input to the product-sum unit 15.
  • the object detection device 30x of the third embodiment operates in the same manner as the object detection device 10x of the first embodiment. Therefore, the object detection device 30x of the third embodiment performs inference processing according to the flowchart shown in FIG. 7, similarly to the object detection device 10x of the first embodiment.
  • the weight calculation unit 35 calculates the weight using the internal parameters learned using the shooting environment information.
  • FIG. 13 is a block diagram showing a functional configuration of the object detection device 40 for learning according to the fourth embodiment.
  • the object detection device 40 is realized by the hardware configuration shown in FIG.
  • the object detection device 40 for learning includes a plurality of object detection units 41, a weight calculation unit 42, a fusion unit 43, a loss calculation unit 44, and a parameter correction unit 45.
  • image data for learning image data having a correct label is prepared.
  • the plurality of object detection units 41 output a score indicating the certainty that a predetermined object exists for each partial area set for the input image data.
  • the weight calculation unit 42 calculates the weight when fusing the scores output by the plurality of object detection units 41 by using the weight calculation parameters based on the image data.
  • the fusion unit 43 fuses the scores output by the plurality of object detection units 41 for each partial region with the weights calculated by the weight calculation unit 42.
  • the loss calculation unit 44 calculates the difference between the correct label of the image data and the score fused by the fusion unit 43 as a loss. Then, the parameter correction unit 45 corrects the weight calculation parameter so that the calculated loss is reduced.
  • Appendix 1 A plurality of object detection units that output a score indicating the certainty that a predetermined object exists for each partial area set for the input image data, and Based on the image data, the weight calculation unit that calculates the weights for fusing the scores output by the plurality of object detection units for each of the plurality of object detection units using the weight calculation parameters, A fusion unit that fuses the scores output by the plurality of object detection units with the weights calculated by the weight calculation unit for each partial region. A loss calculation unit that calculates the difference between the correct label of the image data and the score fused by the fusion unit as a loss. A parameter correction unit that corrects the weight calculation parameter so that the loss is reduced, An object detection device equipped with.
  • the weight calculation unit calculates one weight for the entire image data, and then calculates one weight.
  • the weight calculation unit calculates the weight for each of the partial regions of the image data.
  • the object detection device according to Appendix 1, wherein the fusion unit fuses scores output by the plurality of object detection units with weights calculated for each partial region.
  • the weight calculation unit calculates the weight for each class indicating the object.
  • the object detection device according to Appendix 1, wherein the fusion unit fuses scores output by the plurality of object detection units with weights calculated for each class.
  • the fusion unit is added by multiplying the scores output by the plurality of object detection units by the weights of the respective object detection units calculated by the weight calculation unit, and then the average value is obtained.
  • the object detection device according to paragraph 1.
  • Each of the plurality of object detection units outputs the coordinate information of the rectangular region in which the object exists for each of the partial regions.
  • the fusion unit fuses the coordinate information of the rectangular region in which the object exists with the weight calculated by the weight calculation unit.
  • the object detection device according to any one of Supplementary note 1 to 4, wherein the loss calculation unit calculates a loss including a difference between the correct label and the coordinate information fused by the fusion unit.
  • Appendix 7 The fusion unit is described in Appendix 6 for obtaining an average value after multiplying the coordinate information output by the plurality of object detection units by the weights of the respective object detection units calculated by the weight calculation unit and adding them.
  • Object detection device The fusion unit is described in Appendix 6 for obtaining an average value after multiplying the coordinate information output by the plurality of object detection units by the weights of the respective object detection units calculated by the weight calculation unit and adding them.
  • the weight calculation unit predicts the shooting environment of the image data by using the shooting environment prediction parameter, and outputs the prediction environment information. Further, a prediction loss calculation unit for calculating the prediction loss of the shooting environment based on the shooting environment information prepared in advance for the image data and the prediction environment information is provided.
  • the object detection device according to any one of Supplementary note 1 to 7, wherein the parameter correction unit corrects the shooting environment prediction parameter so as to reduce the prediction loss.
  • the weight calculation unit includes a first network having the weight calculation parameters and a second network having the shooting environment prediction parameters, and the first network and the second network are partially shared.
  • a score indicating the certainty that a predetermined object exists is output from a plurality of object detection units.
  • the weight at the time of fusing the scores output by the plurality of object detection units is calculated for each of the plurality of object detection units by using the weight calculation parameter.
  • the scores output by the plurality of object detection units are fused for each of the partial regions.
  • the difference between the correct label of the image data and the fused score is calculated as a loss.
  • a learning method of an object detection device that modifies the weight calculation parameter so that the loss is reduced.
  • a score indicating the certainty that a predetermined object exists is output from a plurality of object detection units.
  • the weight at the time of fusing the scores output by the plurality of object detection units is calculated for each of the plurality of object detection units by using the weight calculation parameter.
  • the scores output by the plurality of object detection units are fused for each of the partial regions.
  • the difference between the correct label of the image data and the fused score is calculated as a loss.
  • a recording medium on which a program for causing a computer to execute a learning process of an object detection device, which modifies the weight calculation parameters so as to reduce the loss, is recorded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

物体検知装置において、複数の物体検知部は、入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する。重み算出部は、画像データに基づいて、重み算出パラメータを用いて、複数の物体検知部が出力するスコアを融合する際の重みを前記複数の物体検知部の各々について算出する。融合部は、重み算出部が算出した重みで、複数の物体検知部が出力するスコアを部分領域毎に融合する。ロス算出部は、画像データの正解ラベルと、融合部が融合したスコアとの差異をロスとして算出する。そして、パラメータ修正部は、重み算出パラメータを、算出されたロスが減少するように修正する。

Description

物体検知装置、学習方法、及び、記録媒体
 本発明は、画像に含まれる物体を検知する技術に関する。
 多くのパターンデータを用いて学習を行うことで、認識器の性能を向上できることが知られている。基礎となる認識器から各環境に適合させた認識器にチューニングすることも行われている。また、異なる環境に応じて認識精度を向上させる方法も各種提案されている。例えば、特許文献1には、文字の書かれている環境に応じた認識処理を行うパターン認識装置が記載されている。このパターン認識装置では、入力画像から抽出された処理対象の状態に応じて、複数登録されている認識器の中のいずれか1つ又は複数を呼び出して認識処理を行わせる。
 また、認識器の性能を向上する別の方策として、特性の異なる複数の認識器を構築して、それらの出力に基づいて総合判断する方式が提案されている。例えば、特許文献2には、障害物の有無を判定する複数の判定部の判定結果に基づいて最終判定を行う障害物検出装置が記載されている。
特開2007-058882号公報 特開2019-036240号公報
 上記の手法では、複数の認識装置や判定装置の精度がほぼ同等であることを前提としている。このため、複数の認識装置や判定装置の精度が異なる場合には、最終的に得られる結果の精度が低下してしまう場合がある。
 本発明の1つの目的は、特性の異なる複数の認識器を用いて、入力画像に応じた高精度な物体検知を可能とする物体検知装置を提供することにある。
 上記の課題を解決するため、本発明の一つの観点では、物体検知装置は、
 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知部と、
 前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出する重み算出部と、
 前記重み算出部が算出した重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合する融合部と、
 前記画像データの正解ラベルと、前記融合部が融合したスコアとの差異をロスとして算出するロス算出部と、
 前記重み算出パラメータを、前記ロスが減少するように修正するパラメータ修正部と、を備える。
 本発明の他の観点では、物体検知装置の学習方法は、
 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
 前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
 算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
 前記画像データの正解ラベルと、融合したスコアとの差異をロスとして算出し、
 前記重み算出パラメータを、前記ロスが減少するように修正する。
 本発明のさらに他の観点では、記録媒体は、
 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
 前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
 算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
 前記画像データの正解ラベルと、融合したスコアとの差異をロスとして算出し、
 前記重み算出パラメータを、前記ロスが減少するように修正する、物体検知装置の学習処理をコンピュータに実行させるプログラムを記録する。
 本発明によれば、特性の異なる複数の物体検知用の認識器を統合することで、入力画像に応じた高精度の物体検知が可能となる。
物体検知装置のハードウェア構成を示すブロック図である。 第1実施形態に係る学習のための物体検知装置の機能構成を示す。 アンカーボックスの概念を説明する図である。 アンカーの例を説明する図である。 第1実施形態に係る物体検知装置による学習処理のフローチャートである。 第1実施形態に係る推論のための物体検知装置の機能構成を示す。 第1実施形態に係る物体検知装置による推論処理のフローチャートである。 第2実施形態に係る学習のための物体検知装置の機能構成を示す。 第2実施形態に係る推論のための物体検知装置の機能構成を示す。 第3実施形態に係る学習のための物体検知装置の機能構成を示す。 第3実施形態の物体検知装置による学習処理のフローチャートである。 第3実施形態に係る推論のための物体検知装置の機能構成を示す。 第4実施形態に係る学習のための物体検知装置の機能構成を示す。
 [第1実施形態]
 次に、本発明の第1実施形態について説明する。
 (ハードウェア構成)
 図1は、物体検知装置のハードウェア構成を示すブロック図である。図示のように、物体検知装置10は、インタフェース(IF)2と、プロセッサ3と、メモリ4と、記録媒体5と、データベース(DB)6と、を備える。
 インタフェース2は、外部装置との通信を行う。具体的に、インタフェース2は、物体検知の対象となる画像データや学習用の画像データを外部から入力したり、物体検知の結果を外部装置へ出力する際に使用される。
 プロセッサ3は、CPU(Central Processing Unit)、又はCPUとGPU(Graphics Processing Uit)などのコンピュータであり、予め用意されたプログラムを実行することにより、物体検知装置10の全体を制御する。メモリ4は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ4は、プロセッサ3により実行される各種のプログラムを記憶する。また、メモリ4は、プロセッサ3による各種の処理の実行中に作業メモリとしても使用される。
 記録媒体5は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、物体検知装置10に対して着脱可能に構成される。記録媒体5は、プロセッサ3が実行する各種のプログラムを記録している。物体検知装置10が学習処理を実行する際には、記録媒体5に記録されているプログラムがメモリ4にロードされ、プロセッサ3により実行される。
 データベース6は、物体検知装置10の学習処理において使用される、学習用の画像データを記憶する。学習用の画像データは、正解ラベルを含む。なお、上記に加えて、物体検知装置10は、キーボード、マウスなどの入力機器や、表示装置などを備えていても良い。
 (学習のための機能構成)
 次に、学習のための物体検知装置10の機能構成について説明する。図2は、学習のための物体検知装置10の機能構成を示すブロック図である。なお、図2は、複数の物体検知部からの出力に対する最適な融合割合を学習する学習ステップを実行するための構成を示す。図示のように、物体検知装置10は、画像入力部11と、重み算出部12と、第1の物体検知部13と、第2の物体検知部14と、積和部15と、パラメータ修正部16と、ロス算出部17と、正解ラベル記憶部18とを備える。画像入力部11は、図1に示すインタフェース2により実現される、重み算出部12、第1の物体検知部13、第2の物体検知部14、積和部15、パラメータ修正部16、および、ロス算出部17は、図1に示すプロセッサ3により実現される。正解ラベル記憶部18は図1に示すデータベース6により実現される。
 物体検知装置10の学習ステップでは、重み算出部12が内部に有する重み算出のためのパラメータ(以下、「重み算出パラメータ」と呼ぶ。)を最適化する。なお、第1の物体検知部13及び第2の物体検知部14は、事前に学習済みであり、この学習ステップにおいて学習は行わない。
 画像入力部11には、画像データが入力される。画像データは、学習用の画像データであり、物体検知の対象となるエリアで撮影されたものである。前述のように、各画像データに対しては、その画像に含まれる物体を示す正解ラベルが予め用意されている。
 第1の物体検知部13は、例えばSSD(Single Shot Multibox Detector)、RetinaNet、Faster-RCNN(Regional Convolutional Neural Network)などのディープラーニングによる物体検知用のニューラルネットワークに類似する構成を有する。但し、第1の物体検知部13は、NMS(Non Maximum Suppression)処理を行って、検知した物体とそのスコアおよび座標情報をリスト形式などで出力する処理までは行わず、NMS処理前のアンカーボックス毎に算出された認識対象物体のスコア情報および座標情報をそのまま出力する。ここでは、認識対象物体の有無を検証する、すべての部分領域のことを「アンカーボックス」と呼ぶ。
 図3は、アンカーボックスの概念を説明する図である。図示のように、CNNの畳み込みにより得られた特徴マップ上に、スライディングウィンドウ(sliding window)が設定される。図3の例では、1つのスライディングウィンドウに対してk通りの大きさの異なるアンカーボックス(以下、単に「アンカー」とも呼ぶ。)が設定され、各アンカーに対して認識対象物体の有無が検証される。即ち、各アンカーは、すべてのスライディングウィンドウに対してk通りずつ設定される部分領域を指す。
 アンカーの数はニューラルネットワークの構造やサイズに依存する。一例として、図4を参照して、モデルとしてRetinaNetを使った場合のアンカーの例を説明する。図4は、RetinaNetの構造を示す図である。出力ネットワーク901の上段は、W×H×A個のアンカーに対するスコア情報(K次元。つまり、K種類の認識対象)を記憶しており、下段はW×H×A個のアンカーに対する座標情報(4次元)を記憶する。ここで、「W」はアンカー中心の横方向のバリエーション数、「H」はアンカー中心の縦方向バリエーション数、「A」はアンカーの縦横サイズのバリエーション数を示す。座標情報は、認識対象物が存在する矩形領域の左右、上下4辺の座標情報を絶対値もしくはアンカーに対して一意に定められる基準位置からの相対位置で表してもよいし、上下4辺ではなく左辺と上辺および幅と高さの観点で表してもよい。
 図示の出力ネットワーク901はfeature pyramid net(特徴ピラミッドネット)の1層分に対して設定されたもので、feature pyramid netの別の階層に対しても同様にK次元のスコア情報と4次元の座標情報が出力される。以下、feature pyramid netのすべての階層に対して設定されるアンカーの数を「Na」と記すこととする。同一のアンカーに対するスコア情報と座標情報は、それらの情報を記憶するためのメモリの予め定められたメモリ位置に保存されるので、それらを容易に対応づけることができる。なお、前述のように、第1の物体検知部13は事前に学習済みで、そのパラメータは固定されており、物体検知装置10の学習ステップにおいて学習は行わない。
 第2の物体検知部14は、第1の物体検知部13と同様であり、モデルの構造も同一とする。ただし、第1の物体検知部13と第2の物体検知部14とは、学習データが異なるか、もしくは学習時のパラメータの初期値が異なるなどの要因により、内部に所持するネットワークのパラメータは一致しておらず、認識特性も異なるものとする。
 重み算出部12は、ResNet(Residual Network:残差ネットワーク)などの回帰問題に適用可能なディープニューラルネットワークなどによって構成される。重み算出部12は、画像入力部11に入力された画像データに対して、第1の物体検知部13と第2の物体検知部14が出力するスコア情報および座標情報を融合する際の重みを決定し、それぞれの重みを示す情報を積和部15へ出力する。基本的に、重みの次元数は用いる物体検知部の数に等しい。この場合、重み算出部12は、第1の物体検知部13に対する重みと第2の物体検知部14に対する重みの総和が「1」になるように重みを算出することが好ましい。例えば、重み算出部12は、第1の物体検知部13に対する重みを「α」とし、第2の物体検知部14に対する重みを「1-α」とすればよい。これにより、積和部15における平均値算出処理を簡略化することができる。なお、物体検知部において、1つの物体に関するパラメータが2つある場合(例えば、ある物体らしいことを示すパラメータと、ある物体らしくないことを示すパラメータ)、重みの次元数は用いる物体検知部の数の2倍となる。
 積和部15は、第1の物体検知部13および第2の物体検知部14が出力するスコア情報および座標情報を、それぞれ対応するアンカー同士で、重み算出部12が出力する重みに基づき積和した後に平均値を求める。なお、座標情報の積和演算は、正解ラベルに認識対象物体の存在が示されているアンカーに対してのみ行い、それ以外のアンカーに対しては計算不要である。平均値はアンカー毎かつ認識対象物体毎に算出され、Na×(k+4)次元となる。なお、積和部15は、本発明の融合部の一例である。
 正解ラベル記憶部18は、学習用の画像データに対する正解ラベルを記憶している。具体的に、正解ラベル記憶部18は、正解ラベルとして、各アンカーに存在する認識対象物体のクラス情報、および座標情報をアンカー毎に配列状に記憶する。正解ラベル記憶部18は、認識対象物体が存在しないアンカーに対応する記憶エリアには、認識対象物体が存在しない旨を示すクラス情報、および座標情報を記憶する。クラス情報は、物体の種類を示すクラスコードと、そのクラスコードが示す物体が存在する確からしさを示すスコア情報とを含む。なお、学習用の画像データに対するもともとの正解情報は、入力画像に写っている認識対象物体の種類とその矩形領域を示すテキスト情報である場合が多いが、正解ラベル記憶部18に記憶されている正解ラベルは、その正解情報をアンカー毎のクラス情報および座標情報に変換したデータとなっている。
 例えば、正解ラベル記憶部18は、ある物体が写っている矩形領域とあらかじめ定めた閾値以上の重複を有するアンカーについては、当該物体のスコアを表す正解ラベルの位置に、クラス情報として当該物体のスコアを示す値1.0を格納し、座標情報として当該アンカーの標準矩形位置に対する当該物体が写っている矩形領域の位置の相対量(左端x座標のずれ量、上端y座標のずれ量、幅のずれ量、高さのずれ量)を格納する。また、正解ラベル記憶部18は、他の物体のスコアを表す正解ラベルの位置には物体が存在しない旨を示す値を格納する。また、ある物体が写っている矩形領域とあらかじめ定めた閾値以上の重複を有さないアンカーに対しては、正解ラベル記憶部18は、物体のスコアおよび座標情報を格納する正解ラベルの位置に物体が存在しない旨を示す値を格納する。1つのアンカーに対し、クラス情報はk次元、座標情報は4次元となる。すべてのアンカーに対しては、クラス情報はNa×k次元、座標情報はNa×4次元となる。この変換には、広く一般に公開されている物体検知課題向けのディープニューラルネットワークプログラムで使われている手法を適用することができる。
 ロス算出部17は、積和部15が出力するNa×(k+4)次元のスコア情報および座標情報と、正解ラベル記憶部18に記憶されている正解ラベルとを照合してロスの値を算出する。具体的には、ロス算出部17は、スコア情報に関する識別ロス、および、座標情報に関する回帰ロス(Regression loss)を算出する。積和部15が出力するNa×(k+4)次元の平均値は、第1の物体検知部13がアンカー毎かつ認識対象物体毎に出力するスコア情報および座標情報と同義である。したがって、ロス算出部17は、第1の物体検知部13の出力に対する識別ロスの算出方法と全く等しい方法で識別ロスの値を算出することができる。ロス算出部17は、すべてのアンカーに対するスコア情報の差分を累積して識別ロスを算出する。また、回帰ロスについては、ロス算出部17は、いずれかの物体が存在するアンカーに対してのみ座標情報の差分を累積し、いずれの物体も存在しないアンカーに対しては座標情報の差分を考慮しない。
 なお、識別ロスと回帰ロスを用いたディープニューラルネットワークの学習については以下の文献に記載されており、これを参考文献として取り込む。
  ”Learning Efficient Object Detection Models with Knowledge Distillation”,NeurIPS2017
 パラメータ修正部16は、ロス算出部17が算出したロスを減少させるように、重み算出部12に内在するネットワークのパラメータを修正する。この時、パラメータ修正部16は、第1の物体検知部13および第2の物体検知部14のネットワークのパラメータを固定し、重み算出部12のパラメータのみを修正する。パラメータ修正部16は、パラメータの修正量を通常の誤差逆伝搬法により求めることができる。このようにして重み算出部12のパラメータを学習することで、第1の物体検知部13および第2の物体検知部14の出力を最適に積和し、総合的に判定を行う物体検知装置を構築することが可能となる。
 次に、学習のための物体検知装置10の動作について説明する。図5は、物体検知装置10による学習処理のフローチャートである。この処理は、図1に示すプロセッサ3が予め用意されたプログラムを実行することにより実現される。
 まず、画像入力部11に学習用の画像データが入力される(ステップS11)。第1の物体検知部13は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS12)。同様に、第2の物体検知部14は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS13)。また、重み算出部12は、画像データを読み込み、第1の物体検知部13および第2の物体検知部14の出力それぞれに対する重みを算出する(ステップS14)。
 次に、積和部15は、第1の物体検知部13が出力した認識対象物体のスコア情報と座標情報、並びに、第2の物体検知部14が出力した認識対象物体のスコア情報と座標情報に、重み算出部12が算出したそれぞれに対する重みを掛け合わせて加算し、それらの平均値を出力する(ステップS15)。次に、ロス算出部17は、得られた平均値と正解ラベルとの差を照合し、ロスを算出する(ステップS16)。そして、パラメータ修正部16は、ロスの値が減少するように、重み算出部12に内在する重み算出パラメータを修正する(ステップS17)。
 物体検知装置10は、上記のステップS11~S17を所定の条件の間だけ繰返し、処理を終了する。なお、「所定の条件」とは、繰返しの回数やロスの値の変化度合いなどに関する条件であり、多くのディープラーニングの学習手順として採用されている方法のいずれかを使用することができる。
 以上のように、第1実施形態の物体検知装置10によれば、重み算出部12が入力画像に対する各物体検知部の得手・不得手を予測して重みを最適化し、その重みを各物体検知部の出力に乗じて平均する。よって、単体の物体検知部に比べて高精度な最終判定を行うことができる。例えば、第1の物体検知部13は単独で歩く歩行者の検知を得意とし、第2の物体検知部14は集団で歩く歩行者の検知を得意としている場合、入力画像にたまたま単独で歩く人が映っていたならば、重み算出部12は第1の物体検知部13により大きな重みを割り当てる。また、パラメータ修正部16は、学習用の画像データの認識を得意とする物体検知部に対して重み算出部12が大きな重みを算出するように、重み算出部12のパラメータを修正する。
 (推論のための機能構成)
 次に、推論のための物体検知装置の機能構成について説明する。図6は、推論のための物体検知装置10xの機能構成を示すブロック図である。なお、推論のための物体検知装置10xも、基本的に図1に示すハードウェア構成で実現される。
 図6に示すように、推論のための物体検知装置10xは、画像入力部11と、重み算出部12と、第1の物体検知部13と、第2の物体検知部14と、積和部15と、極大値選択部19と、を備える。ここで、画像入力部11、重み算出部12、第1の物体検知部13、第2の物体検知部14、および、積和部15は、図2に示す学習のための物体検知装置10と同様である。そして、重み算出部12は、上記の学習処理により学習されたものを使用する。
 極大値選択部19は、積和部15が出力するNa×k次元のスコア情報にNMS処理を施して認識対象物体の種類を同定し、そのアンカーに対応する座標情報からその位置を特定して物体検知結果を出力する。物体検知結果は、認識対象物体毎に、その種類と位置とを含む。これにより、第1の物体検知部13および第2の物体検知部14の出力を最適に融合して総合判断した場合の物体検知結果を得ることができる。
 次に、推論のための物体検知装置10xの動作について説明する。図7は、物体検知装置10xによる推論処理のフローチャートである。この処理は、図1に示すプロセッサ3が予め用意されたプログラムを実行することにより実現される。
 まず、画像入力部11に学習用の画像データが入力される(ステップS21)。第1の物体検知部13は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS22)。同様に、第2の物体検知部14は、画像データを用いて物体検知を行い、画像中の認識対象物体のスコア情報と座標情報をアンカー毎かつ認識対象物体毎に出力する(ステップS23)。また、重み算出部12は、画像データを読み込み、第1の物体検知部13および第2の物体検知部14の出力それぞれに対する重みを算出する(ステップS24)。
 次に、積和部15は、第1の物体検知部13が出力した認識対象物体のスコア情報と座標情報、並びに、第2の物体検知部14が出力した認識対象物体のスコア情報と座標情報に、重み算出部12が算出したそれぞれに対する重みを掛け合わせて加算し、それらの平均値を出力する(ステップS25)。最後に、極大値選択部19は、平均値に対してNMS処理を施し、認識対象物体の種類とその位置を物体検知結果として出力する(ステップS26)。
 (変形例)
 上記の第1実施形態に対しては、以下の変形例を適用することができる。
(1)上記の第1実施形態では、各物体検知部が出力するスコア情報および座標情報を用いて学習を行っているが、座標情報は用いず、スコア情報のみを用いて学習を行うこととしてもよい。
(2)上記の第1実施形態では、第1の物体検知部13および第2の物体検知部14の2つの物体検知部を用いたが、物体検知部は原理上3つ以上でも全く問題ない。その場合は、重み算出部22が出力する重みの次元数(数)を、物体検知部の数と等しくすればよい。
(3)第1の物体検知部13および第2の物体検知部14を構成する具体的なアルゴリズムとしては、物体検知のためのディープラーニング手法であれば何を用いてもよい。また、重み算出部12としては、回帰問題向けのディープラーニングに限らず、誤差逆伝搬法で学習できる関数、いいかえると、重みを算出する関数のパラメータで誤差関数を偏微分可能な関数、であれば何を用いても構わない。
(4)また、上記の第1実施形態は物体検知装置としたが、物体の検知に限らず、映像中で起きている事象情報とその座標情報を出力する事象検知装置としてもよい。「事象」とは、例えばあらかじめ定めた人物の振る舞いや動作、ジェスチャーのようなものや、土砂崩れや雪崩、河川の水位上昇といった自然現象などを指す。
(5)また、上記の第1実施形態では、第1の物体検知部13と第2の物体検知部14とはモデルの構造の等しいものを用いるものとしているが、異なるモデルを用いてもよい。ただし、その場合は、積和部15にて、略等しい位置に対応する双方のアンカーの対応づけを工夫する必要がある。これは、異なるモデル間のアンカーは、完全一致しないためである。現実的な実装としては、第2の物体検知部14で設定される各アンカーを第1の物体検知部13で設定されるアンカーのいずれか1つに対応させ、第1の物体検知部13で設定されるアンカー毎に重み付け平均を計算し、第1の物体検知部13で設定されるアンカー毎かつ認識対象物体毎のスコア情報および座標情報を出力するようにすればよい。アンカーの対応の決め方としては、アンカーに対応する画像領域(物体が存在する矩形領域)を求め、その画像領域がもっとも過不足なく重複するアンカー同士を対応付ければよい。
 [第2実施形態]
 次に、本発明の第2実施形態について説明する。なお、以下に説明する学習のための物体検知装置20及び推論のための物体検知装置20xは、いずれも図1に示すハードウェア構成により実現される。
 (学習のための機能構成)
 図8は、第2実施形態に係る学習のための物体検知装置20の機能構成を示すブロック図である。図示のように、学習のための物体検知装置20は、図2に示す物体検知装置10における重み算出部12及びパラメータ修正部16の代わりに、アンカー毎重み算出部21及びアンカー毎パラメータ修正部22を有する。これ以外は、第2実施形態の物体検知装置20は、第1実施形態の物体検知装置10と同一である。即ち、画像入力部11、第1の物体検知部13、第2の物体検知部14、積和部15、ロス算出部17および正解ラベル記憶部18は、第1実施形態の物体検知装置10とそれぞれ同一であり、基本的に第1実施形態と同様に動作する。
 アンカー毎重み算出部21は、画像入力部11に入力された画像データに基づいて、その画像データに設定される各アンカーに対して、第1の物体検知部13と第2の物体検知部14の出力に対する重みを算出し、積和部15に出力する。ここで、第1実施形態の重み算出部12が画像全体に対して1通りの重みを設定していたのに対し、第2実施形態のアンカー毎重み算出部21は、画像のアンカー毎、即ち部分領域毎に、各物体検知部の出力に対する重みを算出する。画像データに設定されるアンカー数をNa、物体検知部の数をNfとすると、アンカー毎重み算出部21が出力する倍率を示す情報の次元数はNa×Nf次元となる。アンカー毎重み算出部21は、多次元の回帰問題に適用できるディープニューラルネットワークなどで構成することができる。また、アンカー毎重み算出部21は、それぞれの物体検知部に対する近傍のアンカー同士ができるだけ近い重みを持つように、近傍のアンカーに対応する重みを平均化するような構造のネットワークを含んでもよい。
 積和部15は、第1の物体検知部13および第2の物体検知部14がそれぞれアンカー毎かつ認識対象物体毎に出力するスコア情報および座標情報を、同じもの同士対応づけながら、アンカー毎重み算出部21が出力する物体検知部毎かつアンカー毎の重みに基づき積和した後に平均値を求める。平均値の次元数は、第1実施形態と等しくNa×(k+4)次元となる。
 アンカー毎パラメータ修正部22は、ロス算出部17が算出したロスを減少させるようにアンカー毎重み算出部21に含まれる物体検知部毎かつアンカー毎の重み算出パラメータを修正する。この時、第1実施形態と同様に、第1の物体検知部13および第2の物体検知部14のネットワークのパラメータは固定し、アンカー毎パラメータ修正部22は、アンカー毎重み算出部21のパラメータのみを修正する。パラメータの修正量は、通常の誤差逆伝搬法により求めることができる。
 学習時において、第2実施形態の物体検知装置20は、基本的に図5に示す第1実施形態の学習処理と同様の処理を実行する。但し、第2実施形態では、図5に示す学習処理において、ステップS14でアンカー毎重み算出部21がアンカー毎に各物体検知部の出力に対する重みを算出する。また、ステップS17では、アンカー毎パラメータ修正部22がアンカー毎に、アンカー毎重み算出部21内の重み算出パラメータを修正する。
 (推論のための機能構成)
 第2実施形態における、推論のための物体検知装置の構成について説明する。図9は、第2実施形態における、推論のための物体検知装置20xの機能構成を示すブロック図である。第2実施形態の推論のための物体検知装置20xは、図6に示す第1実施形態の推論のための物体検知装置10xにおける重み算出部12の代わりに、アンカー毎重み算出部21を有する。これ以外の点では、第2実施形態の推論のための物体検知装置20xは、第1実施形態の推論のための物体検知装置10xと同一である。よって、第2実施形態では、アンカー毎重み算出部21がアンカー毎に重みを算出し、第1の物体検知部13及び第2の物体検知部14に出力する。
 推論時において、第2実施形態の物体検知装置20xは、基本的に図7に示す第1実施形態の学習処理と同様の処理を実行する。但し、第2実施形態では、図7に示す学習処理において、ステップS24でアンカー毎重み算出部21がアンカー毎に各物体検知部の出力に対する重みを算出する。
 第2実施形態では、入力された画像データに基づいて、各物体検知部の出力の確からしさをアンカー毎、言い換えると場所毎に推測して重みを算出し、その重みを用いて各物体検知部の出力を重み付け平均する。よって、複数の物体検知部の出力を用いて、より高精度な最終判定を行うことができる。例えば、第1の物体検知部13は単独で歩く歩行者の検知を得意とし、第2の物体検知部14は集団で歩く歩行者の検知を得意としている場合、入力された画像に単独で歩く人と集団で歩く人が共に映っていたならば、アンカー毎重み算出部21は単独で歩く人の位置付近に対応するアンカーには第1の物体検知部13の出力をより重視し、集団で歩く人の位置付近に対応するアンカーには第2の物体検知部14の出力をより重視するような重みを出力する。こうして、より高精度な最終判定が可能となる。また、アンカー毎パラメータ修正部22は、学習用の画像データの認識を得意とする物体検知部の出力をより重視する重みをアンカー毎重み算出部21が出力するよう、画像の部分領域毎にパラメータを修正することができる。
 (変形例)
 上述した第1実施形態における変形例(1)~(5)は、第2実施形態においても適用することができる。さらに、第2実施形態では、以下の変形例(6)を適用することができる。
(6)上記の第2実施形態では、アンカー毎重み算出部21がアンカー毎に最適な重み付けを行っているが、例えばRetinaNetのように各物体検知部がクラス毎に異なるバイナリ識別器を持っているならば、アンカー毎ではなくクラス毎に重みを変えられるようにしてもよい。この場合は、アンカー毎重み算出部21に代えてクラス毎重み算出部を設け、アンカー毎パラメータ修正部22に代えてクラス毎パラメータ修正部を設ければよい。画像データに設定されるアンカー数をNa、物体検知部の数をNfとすると、アンカー毎重み算出部21が出力する重みの次元数はNa×Nf次元である。これに対し、クラス数をNc次元とすると、クラス毎重み算出部が出力する重みの次元数はNc×Nf次元となる。クラス毎パラメータ修正部によるクラス毎重み算出部のパラメータの学習は、通常のように出力層ニューロン側からロスを最小化するようにバックプロパゲーションを適用すればよい。この構成によれば、例えば、物体検知部毎に検知が得意なクラスが異なる場合、クラス毎に異なる最適な重み付けを行うことが可能となる。
 [第3実施形態]
 次に、本発明の第3実施形態について説明する。第3実施形態は、画像データの撮影環境情報を用いて、各物体検知部に対する重み付けを行うものである。なお、以下に説明する学習のための物体検知装置30及び推論のための物体検知装置30xは、いずれも図1に示すハードウェア構成により実現される。
 (学習のための機能構成)
 図10は、第3実施形態に係る学習のための物体検知装置30の機能構成を示すブロック図である。図示のように、学習のための物体検知装置30は、図2に示す物体検知装置10における重み算出部12の代わりに重み算出/環境予測部31を備え、さらに予測ロス算出部32を追加した構成を有する。これ以外は、第3実施形態の物体検知装置30は、第1実施形態の物体検知装置10と同一である。即ち、画像入力部11、第1の物体検知部13、第2の物体検知部14、積和部15、ロス算出部17および正解ラベル記憶部18は、第1実施形態の物体検知装置10とそれぞれ同一であり、基本的に第1実施形態と同様に動作する。
 予測ロス算出部32には、撮影環境情報が入力される。撮影環境情報は、画像入力部11に入力される画像データが撮影された環境を示す情報である。例えば、撮影環境情報は、(a)画像データを撮影したカメラの設置位置の屋内外の別(屋内または屋外)、(b)その時の天候(晴天、曇天、雨または雪)、(c)時刻(昼または夜)、(d)カメラの俯角(0~30度、30~60度または60~90度)などである。
 重み算出/環境予測部31は、重み算出パラメータを用いて第1の物体検知部13および第2の物体検知部14に対する重みを算出すると同時に、撮影環境を予測するためのパラメータ(以下、「撮影環境予測パラメータ」と呼ぶ。)を用いて、入力された画像データの撮影環境を予測して予測環境情報を生成し、予測ロス算出部32に出力する。例えば、撮影環境情報として上記(a)~(d)の4種類のものを用いるとすれば、重み算出/環境予測部31は、各種類の情報の属性値を1次元で表し、予測環境情報として4次元の値を出力する。重み算出/環境予測部31は、重みと予測環境情報を算出するにあたり、計算の一部を共通化する。例えば、ディープニューラルネットワークで算出する場合、重み算出/環境予測部31は、ネットワークの下位層を共通化し、上位層のみを重みおよび予測環境情報の算出に特化させる。即ち、重み算出/環境予測部31はいわゆるマルチタスク学習を行う。これにより、重み算出パラメータと環境予測パラメータは、その一部が共通することとなる。
 予測ロス算出部32は、撮影環境情報と、重み算出/環境予測部31が算出した予測環境との差異を計算し、予測ロスとしてパラメータ修正部16に出力する。パラメータ修正部16は、ロス算出部17が算出したロスおよび予測ロス算出部32が算出した予測ロスを減少させるように、重み算出/環境予測部31に内在するネットワークのパラメータを修正する。
 第3実施形態では、重み算出/環境予測部31において、重みの算出と予測環境情報の算出に一部のネットワークを共有しているので、類似した撮影環境のモデル同士は類似した重みをもちやすくなる。その結果、重み算出/環境予測部31における学習を安定させる効果が得られる。
 なお、上記の第3実施形態では、重み算出/環境予測部31およびパラメータ修正部16は、第1実施形態と同様に画像全体に対して等しい重み付けを行っている。その代わりに、重み算出/環境予測部31およびパラメータ修正部16が、第2実施形態のようにアンカー毎(部分領域毎)に重み付けを行うように構成してもよい。
 次に、学習のための物体検知装置30の動作について説明する。図11は、第3実施形態の物体検知装置30による学習処理のフローチャートである。この処理は、図1に示すプロセッサ3が予め用意されたプログラムを実行することにより実現される。図5と比較するとわかるように、第3実施形態の物体検知装置30による学習処理は、第1実施形態の物体検知処理10による学習処理に、ステップS31~S33を追加したものとなっている。
 図11において、ステップS11~S16は、第1実施形態の学習処理と同様である。ステップS16で、ロス算出部17は、得られた平均値と正解ラベルとの差を照合し、ロスを算出してパラメータ修正部16に出力する。一方、ステップS11~S16と並行して、ステップS31~S33が実行される。具体的には、まず、撮影環境情報が予測ロス算出部32に入力される(ステップS31)。次に、重み算出/環境予測部31は、画像入力部11から出力された画像データに基づいて、その画像データが撮影された環境を予測し、予測環境情報を生成して予測ロス算出部32に出力する(ステップS32)。予測ロス算出部32は、ステップS31で入力された撮影環境情報と、ステップS32で入力された予測環境情報とに基づいて予測ロスを算出し、パラメータ修正部16に出力する(ステップS33)。そして、パラメータ修正部16は、ロス算出部17が算出したロスおよび予測ロス算出部32が算出した予測ロスの値が減少するように、重み算出/環境予測部31に内在するパラメータを修正する(ステップS17)。物体検知装置30は、上記のステップS11~S17及びS31~33を所定の条件の間だけ繰返し、処理を終了する。
 (推論のための機能構成)
 次に、第3実施形態における、推論のための物体検知装置の構成について説明する。図12は、第3実施形態における、推論のための物体検知装置30xの機能構成を示すブロック図である。第3実施形態の推論のための物体検知装置20xは、図6に示す第1実施形態の推論のための物体検知装置10xにおける重み算出部12の代わりに、重み算出部35を有する。これ以外の点では、第3実施形態の推論のための物体検知装置30xは、第1実施形態の推論のための物体検知装置10xと同一である。
 推論時において、第3実施形態の物体検知装置30xは、基本的に図7に示す第1実施形態の学習処理と同様の処理を実行する。但し、第3実施形態では、重み算出部35は、上述の学習のための物体検知装置30により撮影環境情報を用いて学習した内部パラメータを用いて第1の物体検知部13及び第2の物体検知部14に対する重みを算出し、積和部15に入力する。この点以外では、第3実施形態の物体検知装置30xは、第1実施形態の物体検知装置10xと同様に動作する。よって、第3実施形態の物体検知装置30xは、第1実施形態の物体検知装置10xと同様に、図7に示すフローチャートに従って推論処理を行う。但し、ステップS24において、重み算出部35は、撮影環境情報を用いて学習した内部パラメータを用いて重みを算出する。
 (変形例)
 上述した第1実施形態における変形例(1)~(5)は、第3実施形態においても適用することができる。
 [第4実施形態]
 次に、本発明の第4実施形態について説明する。図13は、第4実施形態による、学習のための物体検知装置40の機能構成を示すブロック図である。なお、物体検知装置40は、図1に示すハードウェア構成により実現される。
 学習のための物体検知装置40は、複数の物体検知部41と、重み算出部42と、融合部43と、ロス算出部44と、パラメータ修正部45とを備える。学習用の画像データとして、正解ラベルを有する画像データが用意される。複数の物体検知部41は、入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する。重み算出部42は、画像データに基づいて、重み算出パラメータを用いて、複数の物体検知部41が出力するスコアを融合する際の重みを算出する。融合部43は、重み算出部42が算出した重みで、複数の物体検知部41が出力するスコアを部分領域毎に融合する。ロス算出部44は、画像データの正解ラベルと、融合部43が融合したスコアとの差異をロスとして算出する。そして、パラメータ修正部45は、重み算出パラメータを、算出されたロスが減少するように修正する。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知部と、
 前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出する重み算出部と、
 前記重み算出部が算出した重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合する融合部と、
 前記画像データの正解ラベルと、前記融合部が融合したスコアとの差異をロスとして算出するロス算出部と、
 前記重み算出パラメータを、前記ロスが減少するように修正するパラメータ修正部と、
 を備える物体検知装置。
 (付記2)
 前記重み算出部は、前記画像データの全体に対して1つの重みを算出し、
 前記融合部は、前記複数の物体検知部が出力するスコアを、前記1つの重みで融合する付記1に記載の物体検知装置。
 (付記3)
 前記重み算出部は、前記画像データの前記部分領域毎に前記重みを算出し、
 前記融合部は、前記複数の物体検知部が出力するスコアを、前記部分領域毎に算出された重みで融合する付記1に記載の物体検知装置。
 (付記4)
 前記重み算出部は、前記物体を示すクラス毎に前記重みを算出し、
 前記融合部は、前記複数の物体検知部が出力するスコアを、前記クラス毎に算出された重みで融合する付記1に記載の物体検知装置。
 (付記5)
 前記融合部は、前記複数の物体検知部が出力するスコアに、前記重み算出部が算出したそれぞれの物体検知部についての重みを乗じて加算した後、平均値を求める付記1乃至4のいずれか一項に記載の物体検知装置。
 (付記6)
 前記複数の物体検知部の各々は、前記物体が存在する矩形領域の座標情報を前記部分領域毎に出力し、
 前記融合部は、前記重み算出部が算出した重みで、前記物体が存在する矩形領域の座標情報を融合し、
 前記ロス算出部は、前記正解ラベルと前記融合部が融合した座標情報との差異を含むロスを算出する付記1乃至4のいずれか一項に記載の物体検知装置。
 (付記7)
 前記融合部は、前記複数の物体検知部が出力する前記座標情報に、前記重み算出部が算出したそれぞれの物体検知部についての重みを乗じて加算した後、平均値を求める付記6に記載の物体検知装置。
 (付記8)
 前記重み算出部は、撮影環境予測パラメータを用いて、前記画像データの撮影環境を予測して予測環境情報を出力し、
 前記画像データについて予め用意された撮影環境情報と、前記予測環境情報とに基づいて、撮影環境の予測ロスを算出する予測ロス算出部をさらに備え、
 前記パラメータ修正部は、前記撮影環境予測パラメータを、前記予測ロスが減少するように修正する付記1乃至7のいずれか一項に記載の物体検知装置。
 (付記9)
 前記重み算出部は、前記重み算出パラメータを有する第1のネットワークと、前記撮影環境予測パラメータを有する第2のネットワークとを備え、前記第1のネットワークと前記第2のネットワークは一部が共通化されている付記8に記載の物体検知装置。
 (付記10)
 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
 前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
 算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
 前記画像データの正解ラベルと、融合したスコアとの差異をロスとして算出し、
 前記重み算出パラメータを、前記ロスが減少するように修正する、物体検知装置の学習方法。
 (付記11)
 入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
 前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
 算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
 前記画像データの正解ラベルと、融合したスコアとの差異をロスとして算出し、
 前記重み算出パラメータを、前記ロスが減少するように修正する、物体検知装置の学習処理をコンピュータに実行させるプログラムを記録した記録媒体。
 以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 10、10x、20、20x、30、30x、40 物体検知装置
 11 画像入力部
 12、35、42 重み算出部
 13、14、41 物体検知部
 15 積和部
 16、45 パラメータ修正部
 17、44 ロス算出部
 18 正解ラベル記憶部
 19 極大値選択部
 21 アンカー毎重み算出部
 22 アンカー毎パラメータ修正部
 31 重み算出/環境予測部
 32 予測ロス算出部
 43 融合部

Claims (11)

  1.  入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを出力する複数の物体検知部と、
     前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出する重み算出部と、
     前記重み算出部が算出した重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合する融合部と、
     前記画像データの正解ラベルと、前記融合部が融合したスコアとの差異をロスとして算出するロス算出部と、
     前記重み算出パラメータを、前記ロスが減少するように修正するパラメータ修正部と、
     を備える物体検知装置。
  2.  前記重み算出部は、前記画像データの全体に対して1つの重みを算出し、
     前記融合部は、前記複数の物体検知部が出力するスコアを、前記1つの重みで融合する請求項1に記載の物体検知装置。
  3.  前記重み算出部は、前記画像データの前記部分領域毎に前記重みを算出し、
     前記融合部は、前記複数の物体検知部が出力するスコアを、前記部分領域毎に算出された重みで融合する請求項1に記載の物体検知装置。
  4.  前記重み算出部は、前記物体を示すクラス毎に前記重みを算出し、
     前記融合部は、前記複数の物体検知部が出力するスコアを、前記クラス毎に算出された重みで融合する請求項1に記載の物体検知装置。
  5.  前記融合部は、前記複数の物体検知部が出力するスコアに、前記重み算出部が算出したそれぞれの物体検知部についての重みを乗じて加算した後、平均値を求める請求項1乃至4のいずれか一項に記載の物体検知装置。
  6.  前記複数の物体検知部の各々は、前記物体が存在する矩形領域の座標情報を前記部分領域毎に出力し、
     前記融合部は、前記重み算出部が算出した重みで、前記物体が存在する矩形領域の座標情報を融合し、
     前記ロス算出部は、前記正解ラベルと前記融合部が融合した座標情報との差異を含むロスを算出する請求項1乃至4のいずれか一項に記載の物体検知装置。
  7.  前記融合部は、前記複数の物体検知部が出力する前記座標情報に、前記重み算出部が算出したそれぞれの物体検知部についての重みを乗じて加算した後、平均値を求める請求項6に記載の物体検知装置。
  8.  前記重み算出部は、撮影環境予測パラメータを用いて、前記画像データの撮影環境を予測して予測環境情報を出力し、
     前記画像データについて予め用意された撮影環境情報と、前記予測環境情報とに基づいて、撮影環境の予測ロスを算出する予測ロス算出部をさらに備え、
     前記パラメータ修正部は、前記撮影環境予測パラメータを、前記予測ロスが減少するように修正する請求項1乃至7のいずれか一項に記載の物体検知装置。
  9.  前記重み算出部は、前記重み算出パラメータを有する第1のネットワークと、前記撮影環境予測パラメータを有する第2のネットワークとを備え、前記第1のネットワークと前記第2のネットワークは一部が共通化されている請求項8に記載の物体検知装置。
  10.  入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
     前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
     算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
     前記画像データの正解ラベルと、融合したスコアとの差異をロスとして算出し、
     前記重み算出パラメータを、前記ロスが減少するように修正する、物体検知装置の学習方法。
  11.  入力された画像データに対して設定される部分領域毎に、予め定めた物体が存在する確からしさを示すスコアを複数の物体検知部から出力し、
     前記画像データに基づいて、前記複数の物体検知部が出力するスコアを融合する際の重みを、重み算出パラメータを用いて、前記複数の物体検知部の各々について算出し、
     算出された重みで、前記複数の物体検知部が出力するスコアを前記部分領域毎に融合し、
     前記画像データの正解ラベルと、融合したスコアとの差異をロスとして算出し、
     前記重み算出パラメータを、前記ロスが減少するように修正する、物体検知装置の学習処理をコンピュータに実行させるプログラムを記録した記録媒体。
PCT/JP2019/027481 2019-07-11 2019-07-11 物体検知装置、学習方法、及び、記録媒体 WO2021005775A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/624,906 US20220277552A1 (en) 2019-07-11 2019-07-11 Object sensing device, learning method, and recording medium
JP2021530446A JP7164048B2 (ja) 2019-07-11 2019-07-11 物体検知装置、学習方法、及び、プログラム
PCT/JP2019/027481 WO2021005775A1 (ja) 2019-07-11 2019-07-11 物体検知装置、学習方法、及び、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/027481 WO2021005775A1 (ja) 2019-07-11 2019-07-11 物体検知装置、学習方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2021005775A1 true WO2021005775A1 (ja) 2021-01-14

Family

ID=74115039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/027481 WO2021005775A1 (ja) 2019-07-11 2019-07-11 物体検知装置、学習方法、及び、記録媒体

Country Status (3)

Country Link
US (1) US20220277552A1 (ja)
JP (1) JP7164048B2 (ja)
WO (1) WO2021005775A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220277553A1 (en) * 2019-07-11 2022-09-01 Nec Corporation Object detection device, learning method, and recording medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045433A (ja) * 2011-08-26 2013-03-04 Canon Inc 学習装置、学習装置の制御方法、検出装置、検出装置の制御方法、およびプログラム
JP2019061579A (ja) * 2017-09-27 2019-04-18 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置
JP2019079445A (ja) * 2017-10-27 2019-05-23 ホーチキ株式会社 火災監視システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045433A (ja) * 2011-08-26 2013-03-04 Canon Inc 学習装置、学習装置の制御方法、検出装置、検出装置の制御方法、およびプログラム
JP2019061579A (ja) * 2017-09-27 2019-04-18 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置
JP2019079445A (ja) * 2017-10-27 2019-05-23 ホーチキ株式会社 火災監視システム

Also Published As

Publication number Publication date
US20220277552A1 (en) 2022-09-01
JPWO2021005775A1 (ja) 2021-01-14
JP7164048B2 (ja) 2022-11-01

Similar Documents

Publication Publication Date Title
CN111127513B (zh) 一种多目标跟踪方法
CN107808122B (zh) 目标跟踪方法及装置
CN108470354B (zh) 视频目标跟踪方法、装置和实现装置
KR101362961B1 (ko) 이동 로봇 환경의 실시간 위치 측정 및 매핑을 위한 방법 및 장치
JP2020061066A (ja) 学習プログラム、検出プログラム、学習装置、検出装置、学習方法および検出方法
JP5806606B2 (ja) 情報処理装置、情報処理方法
KR20180051335A (ko) 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
CN106774312B (zh) 一种为移动机器人确定移动轨迹的方法和装置
CN112052802A (zh) 一种基于机器视觉的前方车辆行为识别方法
JP2020091664A (ja) 人物を追跡する映像解析装置、プログラム及び方法
CN115412301A (zh) 一种网络安全的预测分析方法及系统
Durán-Rosal et al. Detection and prediction of segments containing extreme significant wave heights
JP7384217B2 (ja) 学習装置、学習方法、及び、プログラム
CN116625368A (zh) 一种基于人工大猩猩部队优化算法的路径规划方法
WO2021005775A1 (ja) 物体検知装置、学習方法、及び、記録媒体
WO2022064610A1 (ja) 物体検知装置、学習済みモデル生成方法、および、記録媒体
JP7024881B2 (ja) パターン認識装置およびパターン認識方法
CN109492816B (zh) 一种基于混合智能的煤与瓦斯突出动态预测方法
JP7438365B2 (ja) 学習活用システム、活用装置、学習装置、プログラム及び学習活用方法
JP7235134B2 (ja) 物体検知装置、学習方法、及び、プログラム
JP7444279B2 (ja) 物体追跡装置、物体追跡方法、及び、プログラム
CN112819960B (zh) 一种对抗性点云生成方法、存储介质和终端
CN110147768B (zh) 一种目标跟踪方法及装置
CN112424849A (zh) 信息处理装置、信息处理方法及程序
WO2021005776A1 (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: 19936591

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021530446

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19936591

Country of ref document: EP

Kind code of ref document: A1