WO2021005898A1 - 物体検出装置、物体検出方法およびプログラム - Google Patents

物体検出装置、物体検出方法およびプログラム Download PDF

Info

Publication number
WO2021005898A1
WO2021005898A1 PCT/JP2020/020344 JP2020020344W WO2021005898A1 WO 2021005898 A1 WO2021005898 A1 WO 2021005898A1 JP 2020020344 W JP2020020344 W JP 2020020344W WO 2021005898 A1 WO2021005898 A1 WO 2021005898A1
Authority
WO
WIPO (PCT)
Prior art keywords
tag
rectangle
rectangles
object detection
unit
Prior art date
Application number
PCT/JP2020/020344
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/621,469 priority Critical patent/US11836960B2/en
Priority to EP20837344.9A priority patent/EP3998577A4/en
Priority to JP2021530515A priority patent/JPWO2021005898A1/ja
Publication of WO2021005898A1 publication Critical patent/WO2021005898A1/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/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/273Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]

Definitions

  • the present invention relates to an object detection device that detects the above object from an image of the object, an object detection method, and a program.
  • CNN Convolutional Neural Network
  • NMS Non Maximum Suppression processing
  • object rectangles when there are a plurality of rectangles (hereinafter, also referred to as "object rectangles") indicating candidate positions of objects in the image, the certainty of the category of the object surrounded by each object rectangle (hereinafter, also referred to as "object rectangle”).
  • object rectangles Multiple object rectangles are sorted (sorted) in descending order of "object certainty"), and the degree of overlap of the object with the highest degree of certainty is the same category and exceeds the threshold.
  • IoU Intersection over Union
  • the certainty of the object to be originally left becomes zero, and the rectangle of the object may be deleted.
  • the categories of the objects 1001 and 1002 surrounded by the object rectangles 1001a and 1002a are the same (for example, a person), and their certainty is 0.8 and 0.9, respectively.
  • Is detected by CNN the degree of overlap between the object rectangle 1001a and the object rectangle 1002a is large (because IoU is equal to or more than the threshold value), and therefore the certainty is 0.9.
  • the certainty of the object 1001 which is relatively low with a certainty of 0.8 becomes zero, and the object rectangle 1001a of the object 1001 which is originally desired to be left is deleted. That is, in this case, although the object 1001 can be detected by the CNN, the object 1001 cannot be detected by performing the NMS processing.
  • Non-Patent Document 1 Soft-NMS processing
  • the object rectangle 1001a and the object Depending on the size of the IoU with the rectangle 1002a, the certainty of the category of the object 1001 is reduced (for example, from 0.8 to 0.4 in the figure). In this process, the certainty is not zero, and the object rectangle 1001a remains, so that the object 1001 can be detected.
  • Non-Patent Document 2 when narrowing down an object rectangle, the certainty level itself is updated by DNN (Deep Neural Network) without performing NMS processing.
  • DNN Deep Neural Network
  • Non-Patent Document 1 when the objects to be detected are close to each other and the certainty of the object rectangle is relatively low, the certainty of the object rectangle becomes extremely low by the Soft-NMS process. ..
  • the Soft-NMS treatment may reduce the certainty of the object 1001 to 0.05. .. In this case, the state is almost equivalent to the case where the certainty of the object 1001 is zero, and the object 1001 cannot be detected accurately.
  • the present invention has been made to solve the above problems, and an object of the present invention is to obtain an object rectangle of an object to be detected without reducing the certainty even when the objects to be detected in the image are close to each other. It is an object of the present invention to provide an object detection device, an object detection method, and a program that can be left behind and thereby accurately detect each of adjacent objects.
  • the object detection device is an object detection device including an object detection unit that detects the object by neurocalculation by a convolutional neural network from an image including the object.
  • a feature amount extraction unit that extracts the feature amount of the object from the image, and a plurality of object rectangles indicating candidates for the position of the object are obtained based on the feature amount, and each object rectangle is classified into the object category.
  • An information acquisition unit for obtaining information and certainty, and an object tag calculation unit for calculating an object tag indicating which object in the image the object rectangle is associated with based on the feature amount for each object rectangle.
  • the object detection device separates a plurality of the object rectangles having the same object category into a plurality of groups according to the object tag, and in each of the separated groups, an extra is based on the certainty. It also has an extra rectangle suppressor that deletes various object rectangles.
  • the object detection method is an object detection method including an object detection step of detecting the object from an image including the object by a neuro operation by a convolutional neural network, and the object detection step is Based on the feature amount extraction step of extracting the feature amount of the object from the image and the feature amount, a plurality of object rectangles indicating candidates for the position of the object are obtained, and each object rectangle is classified into the object category.
  • a plurality of the object rectangles having the same object category are separated into a plurality of groups according to the object tag, and in each of the separated groups, based on the certainty. It further includes an extra rectangle suppression step of removing the extra object rectangle.
  • the program according to still another aspect of the present invention is a program for causing a computer to execute the above object detection method.
  • Multiple object rectangles with the same object category are separated into a plurality of groups according to the object tag. For example, a plurality of object rectangles are separated into each group so that object rectangles having the same object tag belong to the same group and object rectangles having different object tags belong to different groups. Then, in each group, a process of deleting an extra object rectangle (NMS process) is performed. Since the object rectangles belonging to each group are linked to the same object by the object tag, even if the objects to be detected in the image are close to each other, by performing NMS processing for each group, the adjacent objects Only one object rectangle can be left for each, leaving information and certainty of the object category corresponding to the remaining object rectangle. That is, the object rectangle of the object to be detected can be left as it is without lowering the certainty. As a result, it is possible to accurately detect each of the adjacent objects.
  • NMS process deleting an extra object rectangle
  • FIG. 1 is a block diagram showing a schematic configuration of the object detection device 1 of the present embodiment.
  • the object detection device 1 of the present embodiment is composed of, for example, a personal computer, and is connected to the camera CA via a communication line.
  • the camera CA captures an object and acquires an image.
  • the above image is a color image here, and the image data of red (R), green (G), and blue (B) is, for example, 8-bit (0 to 255) data.
  • the communication line is composed of, for example, a wireless LAN (Local Area Network), but may be composed of a wired LAN or an Internet line.
  • a wireless LAN Local Area Network
  • the object detection device 1 includes an object detection unit 2, a tag update unit 3, an extra rectangle suppression unit 4, a storage unit 5, an input unit 6, a display unit 7, a communication unit 8, and a reading unit 9. It includes a control unit 10.
  • the object detection unit 2 is composed of, for example, a GPU (Graphics Processing Unit).
  • the GPU is an arithmetic unit (processor) specialized in real-time image processing.
  • a convolutional neural network (CNN) that detects the object by a neuro operation from an image including the object is constructed.
  • the object detection unit 2 includes a feature amount extraction unit 2a, an information acquisition unit 2b, and an object tag calculation unit 2c.
  • the feature amount extraction unit 2a extracts the feature amount (joint point, shape, color, etc.) of the object from the input image.
  • the information acquisition unit 2b obtains a plurality of object rectangles indicating candidate positions of the object based on the feature amount extracted by the feature amount extraction unit 2a, and also obtains information on the object category (person, cat, etc.) for each object rectangle. Find dogs, cars, etc.) and certainty (probability, score).
  • the above-mentioned certainty includes the certainty of the category, the certainty indicating the object-likeness of the object surrounded by the object rectangle, and the certainty of whether or not the object exists there.
  • the object tag calculation unit 2c calculates an object tag indicating which object in the image the object rectangle is associated with based on the feature amount extracted by the feature amount extraction unit 2a for each object rectangle.
  • the object tag is represented by the value of a tag such as "1", “2", "3”, and a different tag value is assigned to the object rectangle for each individual object.
  • tag values for example, "1.2" and "1.5" may be assigned to each object rectangle even for the same object.
  • the feature amount extraction accuracy by the feature amount extraction unit 2a, the detection accuracy of category information and certainty by the information acquisition unit 2b, and the object tag calculation accuracy by the object tag calculation unit 2c are machine-learned in advance by the object detection unit 2. It can be increased by updating the weight described later.
  • the tag update unit 3 updates the tag value of the object tag calculated by the object tag information calculation unit 2c. For example, the tag updating unit 3 updates the tag value of the object tag so that the same object has the same value and different objects have different values.
  • the tag value can be updated, for example, by using a grouping using a threshold value or a clustering method, and the details thereof will be described later.
  • the extra rectangle suppressing unit 4 separates a plurality of object rectangles having the same object category into a plurality of groups according to the object tag, and in each of the separated groups, the extra object rectangle is based on the above certainty. Perform NMS processing to delete. The details of the NMS processing of this embodiment will be described together with the object detection method described later.
  • the tag update unit 3 and the extra rectangle suppression unit 4 described above are composed of, for example, a CPU (Central Processing Unit).
  • a CPU Central Processing Unit
  • the storage unit 5 is a memory that stores various information and operation programs of the control unit 10, and includes, for example, a hard disk, a RAM (RandomAccessMemory), and a ROM (ReadOnlyMemory).
  • the input unit 6 is composed of, for example, a keyboard, a mouse, a touch pad, a touch panel, and the like, and receives various instruction inputs by the user.
  • the display unit 7 is composed of, for example, a liquid crystal display device, and displays various types of information. For example, the display unit 7 displays an object rectangle after NMS processing for each object, and also displays information on the category of the object and the degree of certainty (see FIG. 9).
  • the communication unit 8 is a communication interface for transmitting and receiving information to and from the outside, and includes an input / output port, a transmission circuit, a reception circuit, an antenna, a modulation circuit, a demodulation circuit, and the like.
  • the image data acquired by the camera CA is taken into the object detection device 1 via the communication unit 8.
  • the image data is temporarily stored in the storage unit 5 and transferred to the object detection unit 2.
  • the reading unit 9 is a device that reads the information recorded on the recording medium R, and is composed of, for example, a disk drive.
  • the recording medium R is a portable non-volatile memory
  • the reading unit 9 also includes a connection port into which the connection portion of the non-volatile memory is pointed.
  • the operation program of the object detection device 1 is recorded on the recording medium R, and is read by the reading unit 9.
  • the read operation program is stored in the storage unit 5.
  • the image data acquired by the camera CA may be recorded on the recording medium R.
  • the control unit 10 is composed of, for example, a CPU, and includes a main control unit 10a and a learning control unit 10b.
  • the main control unit 10a controls the operation of each unit of the object detection device 1 according to the operation program stored in the storage unit 5.
  • the main control unit 10a may also have the functions of the tag updating unit 3 and the extra rectangle suppressing unit 4 described above.
  • the learning control unit 10b causes the object detection unit 2 to perform machine learning in advance.
  • FIG. 2 is an explanatory diagram schematically showing a CNN constituting the object detection unit 2.
  • the explanation of CNN will be supplemented below.
  • the CNN is composed of an input layer 21, a convolution layer 22, a pooling layer 23, and an output layer 24. At least one set of the convolution layer 22 and the pooling layer 23 may be used.
  • Each layer (input layer 21, convolution layer 22, pooling layer 23, output layer 24) constituting the CNN has a plurality of nodes (or units).
  • a neural network is an information processing system that imitates a human neural network, and the above-mentioned nodes represent an engineering neuron model corresponding to a human nerve cell.
  • FIG. 3 schematically shows the relationship between input and output for one node U.
  • the node U an element having multiple inputs and one output is usually used.
  • the signal is transmitted in only one direction, is given a certain weight (coupling load: wi), and is input to the node U.
  • This weight represents the strength of the connection between the nodes U and U arranged hierarchically.
  • the above weights can be changed by learning.
  • a value X obtained by subtracting the threshold value ⁇ from the sum of each weighted input value (wixi) is transformed by the response function f (X) and output. That is, the output value y of the node U is expressed by the following mathematical formula.
  • y f (X) here
  • X ⁇ (wixi- ⁇ ) Is.
  • the response function for example, a sigmoid function can be used.
  • Data (pixel value) of each pixel of the input image is input to each node U of the input layer 21.
  • the convolution layer 22 performs a filter process on the value output from the predetermined node U of the previous layer to obtain a feature map (feature amount).
  • the pooling layer 23 further reduces the feature map output from the convolution layer 22 to obtain a new feature map.
  • the output layer 24 is the final layer of the CNN, and the object identification result (category information) is confirmed from the value of the node U of the previous layer, the weight of the edge, and the response function of the output layer 24. Output with.
  • Such an output layer 24 is composed of, for example, a fully connected layer that combines the outputs from all the nodes U of the previous layer, performs a predetermined operation, and outputs an identification result.
  • the fully bonded layer may be two or more layers.
  • a CNN learning algorithm for example, image data with a correct answer is used, and the square error between the output value from the output layer 24 obtained when the above image data is input and the value indicating the correct answer is minimized.
  • an error backpropagation method can be used in which the weight of each layer (edge) is sequentially changed from the output layer 24 side to the input layer 21 side by using the steepest descent method.
  • backpropagation Such machine learning of CNN is performed under the control of the learning control unit 10b.
  • FIG. 4 is a flowchart showing the flow of processing by the object detection method.
  • the object detection method of the present embodiment includes an image acquisition step (S10), an object detection step (S20), a tag update step (S30), an extra rectangle suppression step (S40), and a detection result output step (S50). including.
  • S10 image acquisition step
  • S20 object detection step
  • S30 tag update step
  • S40 extra rectangle suppression step
  • S50 detection result output step
  • the object detection device 1 acquires an image (image data) input from the outside.
  • an image acquired by the camera CA (see FIG. 1) is considered.
  • the image acquired by the object detection device 1 may be an image previously stored in an external terminal device (for example, a personal computer) or a server and output to the object detection device 1 from the terminal device or the like, or may be electronic. It may be an image attached to an e-mail and transmitted to the object detection device 1, or an image read from the recording medium R.
  • the object detection unit 2 detects the object from the image including the object by a neuro calculation by CNN.
  • This object detection step further includes a feature amount extraction step (S21), an information acquisition step (S22), and an object tag calculation step (S23).
  • the CNN constituting the object detection unit 2 has been machine-learned in advance, so that each of the steps S21 to S23 can be performed.
  • the feature amount extraction unit 2a extracts the feature amount (shape, etc.) of the object included in the image from the image acquired in S10 by a neuro calculation.
  • the information acquisition unit 2b obtains a plurality of object rectangles indicating candidates for the position of the object by neurocalculation based on the feature amount, and obtains information and certainty of the object category for each object rectangle.
  • FIG. 5 shows an example of object rectangles 101a to 101c and 102a to 102c acquired by the information acquisition unit 2b with respect to the objects 101 and 102 included in the input image.
  • the categories of the object 101 for each of the object rectangles 101a to 101c acquired by the information acquisition unit 2b are all "Person", and the certainty of the category of the object 101 for each of the object rectangles 101a to 101c. That is, it is assumed that the certainty that the object 101 is a "person” is, for example, 0.8, 0.9, and 0.4, respectively.
  • the categories of the object 102 for each of the object rectangles 102a to 102c acquired by the information acquisition unit 2b are all set as "Person" here, and the certainty of the category of the object 102 for each of the object rectangles 102a to 102c is different. For example, 0.9, 0.7, 0.5.
  • the object tag calculation unit 2c calculates an object tag indicating which object in the image the object rectangle is associated with, based on the feature amount extracted in S21, for each object rectangle. For example, since the object rectangles 101a to 101c are associated with the object 101, the object tag calculation unit 2c calculates, for example, "2" as the tag value of the object tags of the object rectangles 101a to 101c. On the other hand, since the object rectangles 102a to 102c are associated with the object 102, the object tag calculation unit 2c calculates, for example, "10" as the tag value of the object tags of the object rectangles 102a to 102c.
  • the tag values of the object rectangles 101a to 101c are all set to "2", and the tag values of the object rectangles 102a to 102c are all set to "10".
  • the tag values of the object rectangles 101a to 101c are set to, for example, “. It may be a value that varies around the tag value "2", such as "1.9", “2", and “2.2”, and the tag value of the object rectangles 102a to 102c is, for example, "9.5". , "10", “10.3”, and the like may be a value that varies around the tag value "10".
  • the degree of variation in the tag value differs depending on the degree of machine learning of the object detection unit 2.
  • the tag updating unit 3 changes (updates) each tag value to the same tag value when the tag value calculated in S23 varies among a plurality of object rectangles associated with the same object. .. If the tag value calculated in S23 is the same value among a plurality of object rectangles linked to the same object, the step of S30 can be omitted. Here, it will be described that the tag values for the same object calculated in S23 vary.
  • FIG. 6 schematically shows a method for updating tag values using grouping by threshold value processing.
  • the tag value calculated for each object rectangle by the object tag calculation unit 2c does not exist between the first threshold value TA and the second threshold value TB, and is less than the first threshold value TA.
  • the second tag area MB that is larger than the second threshold value, and the first tag area MA and the second tag area TB are separated by a predetermined margin M or more (TB-TA).
  • ⁇ M the tag update unit 3 groups the tag values of each tag area, and converts the tag values into the same tag values in the same tag area and different tag values between different tag areas.
  • the tag update unit 3 converts each tag value of the first tag area MA into the same tag value “2”, and converts each tag value of the second tag area MB into the same tag value. It is converted to "10".
  • FIG. 7 schematically shows a method for updating tag values using grouping by k-means method + elbow method.
  • the tag updating unit 3 generates a plurality of clusters by changing the number of clusters (k value) in an arbitrary range by the k-means method with respect to the tag value calculated for each object rectangle.
  • FIG. 7 shows a case where the tag update unit 3 generates two clusters CL-1 and CL-2 by the k-means method and a case where three clusters CL-1 to CL-3 are generated.
  • the tag update unit 3 calculates the optimum number of clusters for each cluster generated above by the elbow method.
  • the elbow method as shown in FIG. 7, the sum of squared errors (SSE) for each cluster is plotted, and the number of clusters at the point where the graph showing the change in SSE is bent like an “elbow” is optimal.
  • SSE squared errors
  • the tag update unit 3 groups the tag values of each cluster of the number of clusters calculated by the elbow method, and converts them into the same tag values in the same cluster and different tag values among different clusters. That is, the tag update unit 3 converts each tag value of the cluster CL-1 into the same tag value (for example, the tag value “2”), and converts each tag value of the cluster CL-2 into the same tag value (for example, the tag). Convert to the value "10").
  • the optimum number of clusters is obtained by using the k-means method and the elbow method, and the tag value is unified for each cluster, so that the individual object rectangles are the same as in (1) above. There is no doubt as to whether it is associated with an object that is different from each other, and it becomes clear which object each object rectangle is associated with by a unified tag value.
  • an upper limit is set for the number of groups (number of clusters), and the optimum number of groups (number of clusters) can be obtained within the range up to the upper limit. Good.
  • the extra rectangle suppressing unit 4 separates a plurality of object rectangles having the same object category into a plurality of groups according to the object tag (tag value), and in each of the separated groups, based on the certainty. , Perform NMS processing to delete the extra object rectangle.
  • the categories are the same as "person". Therefore, the extra rectangle suppressing unit 4 sets the object rectangles 101a to 101c and 102a to 102c into a group having a tag value of "2" (object rectangles 101a to 101c) and a group having a tag value of "10" (object rectangle). It is separated into 102a to 102c), and NMS processing is performed on the object rectangles 101a to 101c, and NMS processing is performed on the object rectangles 102a to 102c.
  • the extra rectangle suppressing unit 4 since the certainty of the object rectangles 101a to 101c is 0.8, 0.9, and 0.4, respectively, as described above, the extra rectangle suppressing unit 4 has the highest certainty of the object rectangle 101b.
  • the object rectangles 101a and 101c are deleted by setting the certainty of the category of the object 101 indicated by the object rectangles 101a and 101c whose overlap degree (IoU) with respect to the object rectangle 101b is equal to or greater than the threshold value to zero. Further, since the certainty levels of the object rectangles 102a to 102c are 0.9, 0.7, and 0.5, respectively, as described above, the extra rectangle suppressing unit 4 uses only the object rectangle 102a having the highest certainty.
  • the object rectangles 102b and 102c are deleted by setting the certainty of the category of the object 102 indicated by the object rectangles 102b and 102c whose IoU with respect to the object rectangle 102a is equal to or more than the threshold value to zero.
  • FIG. 8 shows the object rectangles 101b and 102a remaining by the NMS processing.
  • the control unit 10 causes the display unit 7 to display the result after the NMS processing, that is, the information and the certainty of the categories of the objects 101 and 102 shown by the object rectangles 101b and 102a.
  • FIG. 9 shows an example of a display screen of the display unit 7. For example, for the object 101 in FIG. 8, "PERSON" indicating the category of "person”, the number "1" for distinguishing from other persons, and the certainty level "0.9” for the category of the object 101 indicated by the object rectangle 101b. Is displayed together with the object rectangle 101b.
  • the control unit 10 may output the detection result to an external terminal via the communication unit 8 instead of displaying the result after the NMS processing on the display unit 7.
  • the object rectangles belonging to each group separated by the extra rectangle suppressing unit 4 are associated with the same object by the object tag. That is, in the above example, the object rectangles 101a to 101c belonging to one group are associated with the same object 101 by the tag value “2”. Further, the object rectangles 102a to 102c belonging to the other group are associated with the same object 102 by the tag value "10". Therefore, even if the objects 101 and 102 to be detected in the image are close to each other, only one object rectangle is left for each of the adjacent objects 101 and 102 by performing NMS processing for each group based on the tag value.
  • the information and the certainty of the categories of the objects 101 and 102 corresponding to the object rectangles can be left and output as shown in FIG. That is, the object rectangles 101b and 102a of the objects 101 and 102 to be detected can be left as they are without lowering the certainty. Therefore, both adjacent objects 101 and 102 can be detected accurately (without being deleted by NMS processing).
  • the tag updating unit 3 groups the tag values of each tag area when the tag values calculated for each object rectangle are dispersed in a plurality of tag areas separated by a predetermined margin M or more. In addition, it is converted to the same tag value in the same tag area and different tag values between different tag areas. As a result, even if the tag values of the object tags associated with the same object vary, the extra rectangle suppression unit 4 is unified for each tag area, that is, the tag value updated by the tag update unit 3. A plurality of object rectangles can be separated into a plurality of groups based on the tag values, and the separation becomes easy.
  • the tag updating unit 3 generates a plurality of clusters by changing the number of clusters in an arbitrary range by the k-means method with respect to the tag value calculated for each object rectangle, and then the elbow method.
  • the optimum number of clusters may be calculated, and the tag value of each cluster of the calculated number of clusters may be grouped, and the same cluster may be converted into different tag values, and different clusters may be converted into different tag values.
  • the extra rectangle suppression unit 4 sets the tag value updated by the tag update unit 3, that is, the tag value unified for each cluster. Based on this, a plurality of object rectangles can be separated into a plurality of groups, and the separation becomes easy.
  • the IoU of the object rectangle (for example, the object rectangle 101b) having the highest certainty among the plurality of object rectangles (for example, the object rectangles 101a to 101c) having the same object tag is equal to or more than the threshold value.
  • the certainty of the category of the object (for example, object 101) indicated by the object rectangles (for example, object rectangles 101a and 101c) zero ensure that an extra (unnecessary) object rectangle is obtained from multiple object rectangles indicating the same object. Can be deleted in.
  • the learning control unit 10b of the control unit 10 has a first error Loss # 1 calculated by a first loss function for bringing each tag value of a plurality of object rectangles close to each other for the same object, and a plurality of errors for different objects.
  • the object detection unit 2 is configured by back-propagating the second error Loss # 2, which is calculated by the second loss function for keeping the tag values of the object rectangle away from each other, by using the inverse error propagation method.
  • the weight (bonding load wi) indicating the strength of the coupling between the nodes of each layer of the CNN may be updated.
  • the first error Loss # 1 and the second error Loss # 2 described above are expressed as follows.
  • the right-hand side of the formula for finding Loss # 1 shows the first loss function
  • the right-hand side of the formula for finding Loss # 2 shows the second loss function.
  • Loss # 1 ⁇ (tag value of target object rectangle)-(average of tag value of object rectangle of the same object) ⁇ 2
  • Loss # 2 exp [- ⁇ (Average tag value of target object rectangle)-(Average tag value of object rectangle of other object) ⁇ 2 ]
  • each object rectangle determines an IoU equal to or greater than the threshold value for the object (ground truth, hereinafter also referred to as “GT”). It can be judged by whether or not it has. However, when one object rectangle has an IoU equal to or greater than a threshold value for a plurality of objects, it is determined that the object rectangle is an object rectangle for the object having the largest IoU.
  • GT threshold value for the object
  • the extra rectangle suppressing unit 4 can divide the object rectangles having the same or similar tag values into the same group among the plurality of object rectangles, and the object rectangles having significantly different tag values can be divided into different groups. Therefore, it becomes easy to separate the plurality of object rectangles into each group.
  • the learning control unit 10b determines the third error Loss # 3 calculated by the third loss function for increasing the position accuracy of the object rectangle as compared with that before learning, and the certainty of whether or not the object exists.
  • the fourth error Loss # 4 calculated by the fourth loss function to increase the certainty of the object category from before learning
  • the fifth loss function calculated by the fifth loss function to increase the certainty of the object category than before learning.
  • the above weights may be updated by further back-propagating the error Loss # 5 of the above using the reverse error propagation method.
  • the above-mentioned third error Loss # 3, the fourth error Loss # 4, and the fifth error Loss # 5 are expressed as follows.
  • the right-hand side of the formula for finding Loss # 3 shows the third loss function
  • the right-hand side of the formula for finding Loss # 4 shows the fourth loss function
  • the right-hand side of the formula for finding Loss # 5 is the fifth loss function. Is shown.
  • the object detection unit 2 Since the object detection unit 2 is machine-learned in advance so as to increase the position accuracy of the object rectangle, the certainty of whether or not the object exists, and the certainty of the object category, the object detection unit 2 is used during actual inference. (In particular, the information acquisition unit 2b) makes it possible to accurately obtain the object rectangle and the certainty. This makes it possible to further enhance the effect of the present embodiment, that is, the effect of improving the detection accuracy of adjacent objects.
  • the learning control unit 10b changes the coefficient of the second loss function according to the distance between the plurality of object rectangles for different objects, thereby causing the second loss function.
  • the error Loss # 2 of may be changed according to the above distance.
  • the coefficient of the second loss function is ⁇
  • FIG. 10 shows an example of the tag value of the arbitrary object rectangle 101b of the object 101 and the tag value of the arbitrary object rectangles 102a and 103a of the objects 102 and 103.
  • the categories of the objects 101 to 103 are the same (for example, a person), the object 101 and the object 102 are close to each other on the image (the distance between them is close), and the object 101 and the object 103 are separated from each other on the image. (They are far from each other).
  • the object 101 and the object 102 When the object 101 and the object 102 are close to each other, it is necessary to separate the tag values from each other in order to accurately separate the object rectangle 101b and the object rectangle 102a.
  • the IoU of the object rectangle 101b and the object rectangle 103a is zero, which is equal to or less than the threshold value. Therefore, the object rectangle 101b and the object rectangle 103a are simultaneously subject to NMS processing. Therefore, even if the tag values are close to each other, it is possible to perform separate NMS processing on the respective object rectangles 101b and 103a to detect the respective objects 101 and 103. is there.
  • the learning control unit 10b increases the coefficient ⁇ of the second loss function and increases the second error Loss # 2 when the distances between the plurality of object rectangles for different objects are short during learning. On the other hand, when the distance is long, the coefficient ⁇ of the second loss function is reduced to reduce the second error Loss # 2.
  • the learning control unit 10b back-propagates the second error Loss # 2 adjusted as described above to cause the object detection unit 2 to perform machine learning in advance. Therefore, at the time of inference, the object detection unit 2 has two objects. The closer they are, the more tag values that the values are separated from each other can be calculated. As a result, it becomes easy to separate a plurality of object rectangles into different groups based on the tag value, and it becomes possible to perform NMS processing for each group and detect each of adjacent objects with higher accuracy.
  • the tag value “2” of the object rectangle 101b of the object 101 is sufficiently separated from “2” as the tag value of the object rectangle 102a of the object 102 close to the object 101.
  • An example is shown in which "12" is calculated and "1", which is close to "2", is calculated as the tag value of the object rectangle 103a of the object 103 away from the object 101. Since the object rectangle 101b and the object rectangle 103a are sufficiently separated from each other, it is possible to separate these object rectangles 101b and 103a even if the tag values are close to each other. On the other hand, although the object rectangle 101b and the object rectangle 102a are close to each other, the tag values are separated from each other. Therefore, the object rectangles 101b and 102a are accurately separated based on the tag values, and the objects 101 and 102 are accurately separated. It becomes possible to detect.
  • 11 to 13 show examples of a method of calculating the distance D between the object rectangle 101a and the object rectangle 102a when a plurality of object rectangles for different objects are 101a and 102a, respectively.
  • the distance D may be the distance between the center of gravity G1 of the object rectangle 101a and the center of gravity G2 of the object rectangle 102a.
  • the x-coordinate and y-coordinate of the center of gravity D1 are the average values of the x-coordinate and y-coordinate of the four vertices of the object rectangle 101a, respectively, and the x-coordinate and y-coordinate of the center of gravity D2 are the four vertices of the object rectangle 102a, respectively. It is the average value of the x-coordinate and the y-coordinate of.
  • the learning control unit 10b uses the above method to determine the distance between the plurality of object rectangles for different objects.
  • the second error Loss # 2 can be changed according to the above distance.
  • FIG. 14 shows an example of tag values of arbitrary object rectangles 101b, 102a, 103a, 104a of objects 101 to 104.
  • the categories of the objects 101, 102, and 104 are the same (for example, a person), and the category of the object 103 is "dog", which is different from the categories of the objects 101, 102, and 104.
  • the object 101 and the object 102 are close to each other, and the object 103 and the object 104 are close to each other.
  • the learning control unit 10b increases the coefficient ⁇ of the second loss function to increase the second error Loss # 2, while increasing the above.
  • the coefficient ⁇ of the second loss function is reduced to reduce the second error Loss # 2.
  • the learning control unit 10b back-propagates the second error Loss # 2 adjusted as described above to cause the object detection unit 2 to perform machine learning in advance, so that the object detection unit 2 is an object of the same category at the time of inference. When they are close to each other, it is possible to calculate tag values whose values are separated from each other.
  • the tag value “2” of the object rectangle 101b of the object 101 is sufficiently large as the tag value of the object rectangle 102a of the object 102 of the same category adjacent to the object 101.
  • the distance "12" is calculated. This makes it easy to separate the plurality of object rectangles into different groups based on the above tag values "2" and "12". Therefore, it is possible to perform NMS processing for each group and detect each of the adjacent objects of the same category with higher accuracy.
  • the object detection unit 2 has the tag value "2" of the object rectangle 103a, for example, the object rectangle 104a.
  • the tag value "1" which is close to "2" is calculated. Since the categories of the objects 103 and 104 are different, even if the tag values are close to each other as described above, the object rectangle 103a and the object rectangle 104a are not subject to NMS processing at the same time. Therefore, for the objects 103 and 104 in different categories, even if the tag values are close to each other, they can be detected separately.
  • the object detection device 1 (particularly the object detection unit 2) described in the present embodiment can be configured by, for example, a computer (PC) in which a predetermined program (application software) is installed.
  • a computer for example, a control unit 10 of a PC
  • each process (each step) of the above-mentioned object detection method can be executed by the computer.
  • the object detection method of the present embodiment can be realized by machine learning the object detection unit 2 of the object detection device 1.
  • a program is acquired by downloading from the outside via a network, for example, and is stored in the storage unit 5.
  • the program is recorded on a computer-readable recording medium R (see FIG. 1) such as a CD-ROM (Compact Disk-Read Only Memory), and the computer reads the program from the recording medium R and stores the program. It may be in the form of being stored in 5.
  • An object detection device including an object detection unit that detects an object from an image including an object by a neuro operation by a convolutional neural network.
  • the object detection unit A feature amount extraction unit that extracts the feature amount of the object from the image, Based on the feature amount, a plurality of object rectangles indicating candidates for the position of the object are obtained, and for each object rectangle, an information acquisition unit for obtaining information on the category of the object and certainty. It includes an object tag calculation unit that calculates an object tag indicating which object in the image the object rectangle is associated with based on the feature amount for each object rectangle.
  • the object detection device is A plurality of the object rectangles having the same object category are separated into a plurality of groups according to the object tag, and in each of the separated groups, an extra rectangle is deleted based on the certainty.
  • An object detection device characterized by further including a suppression unit.
  • a tag update unit for updating the tag value of the object tag calculated by the object tag information calculation unit is further provided.
  • the tag update unit groups the tag values in each tag area.
  • a tag update unit for updating the tag value of the object tag calculated by the object tag information calculation unit is further provided.
  • the tag updating unit is optimal by the elbow method after generating a plurality of clusters by changing the number of clusters in an arbitrary range with respect to the tag value calculated for each object rectangle by the k-means method.
  • the above-mentioned 1 is characterized in that the number of clusters is calculated, the tag value of each cluster of the calculated number of clusters is grouped, and the tag value is the same in the same cluster and converted into a different tag value between different clusters.
  • Object detection device is characterized in that the number of clusters is calculated, the tag value of each cluster of the calculated number of clusters is grouped, and the tag value is the same in the same cluster and converted into a different tag value between different clusters.
  • the extra rectangle suppressing unit sets the certainty of the object category indicated by the object rectangle having the overlap degree with respect to the object rectangle having the highest certainty among the plurality of object rectangles having the same object tag to zero.
  • the object detection device according to any one of 1 to 3 above.
  • a learning control unit for machine learning the object detection unit in advance is further provided.
  • the learning control unit determines the first error calculated by the first loss function for bringing the tag values of the plurality of object rectangles for the same object closer to each other, and the tag values of the plurality of object rectangles for different objects.
  • the object detection device according to any one of 1 to 4, wherein the weight indicating the strength of the coupling of the above is updated.
  • the learning control unit increases the third error calculated by the third loss function for increasing the position accuracy of the object rectangle than before learning and the certainty of whether or not the object exists.
  • the fourth error calculated by the fourth loss function for the object and the fifth error calculated by the fifth loss function for increasing the certainty of the object category than before learning are further inverse errors.
  • the object detection device wherein the weight is updated by back-propagating using a propagation method.
  • the learning control unit changes the second error according to the distance by changing the coefficient of the second loss function according to the distance between a plurality of object rectangles for different objects.
  • the object detection device according to 5 or 6 above.
  • the learning control unit changes the coefficient of the second loss function according to the category of adjacent objects, thereby changing the second error according to the category.
  • the object detection device according to 6.
  • An object detection method including an object detection step of detecting an object from an image including an object by a neuro operation by a convolutional neural network.
  • the object detection step is A feature amount extraction step for extracting the feature amount of the object from the image, and
  • An information acquisition step of obtaining a plurality of object rectangles indicating candidates for the position of the object based on the feature amount, and obtaining information on the category of the object and certainty for each object rectangle.
  • the object detection method is A plurality of the object rectangles having the same object category are separated into a plurality of groups according to the object tag, and in each of the separated groups, an extra rectangle is deleted based on the certainty.
  • An object detection method comprising a further suppression step.
  • tag update step of updating the tag value of the object tag calculated by the object tag information calculation step.
  • the tag updating step when the tag values calculated for each object rectangle are dispersed in a plurality of tag areas separated by a predetermined margin or more, the tag values in each tag area are grouped and the tag values are grouped.
  • a tag update step of updating the tag value of the object tag calculated by the object tag information calculation step is included.
  • the tag updating step a plurality of clusters are generated by changing the number of clusters in an arbitrary range by the k-means method with respect to the tag value calculated for each object rectangle, and then the elbow method is optimal. 12.
  • the above-described 12 is characterized in that the number of clusters is calculated, the tag value of each cluster of the calculated number of clusters is grouped, and the tag value is the same in the same cluster and converted into different tag values among different clusters.
  • Object detection method is included in the tag updating step.
  • the certainty of the object category indicated by the object rectangle whose degree of overlap with the object rectangle having the highest certainty is equal to or greater than the threshold is set to zero.
  • the learning step the first error calculated by the first loss function for bringing the tag values of the plurality of object rectangles for the same object close to each other and the tag values of the plurality of object rectangles for different objects are set to each other.
  • the object detection method according to any one of 12 to 15, wherein the object is updated.
  • the learning step in order to increase the third error calculated by the third loss function for increasing the positional accuracy of the object rectangle compared to before learning and the certainty of whether or not the object exists, compared to before learning. Further, the inverse error propagation of the fourth error calculated by the fourth loss function of the object and the fifth error calculated by the fifth loss function for increasing the certainty of the object category than before learning. 16. The object detection method according to 16, wherein the weight is updated by back-propagating using the method.
  • the learning step is characterized in that the second error is changed according to the distance by changing the coefficient of the second loss function according to the distance between a plurality of object rectangles for different objects.
  • the object detection method according to 16 or 17 above.
  • the 16 or 17 in the learning step is characterized in that the second error is changed according to the category by changing the coefficient of the second loss function according to the category of adjacent objects.
  • the object detection method according to.
  • the present invention can be used in devices or systems that detect objects from images using CNN.

Landscapes

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

Abstract

物体検出装置(1)は、物体を含む画像からCNNによるニューロ演算によって物体を検出する物体検出部(2)を備える。物体検出部(2)は、画像から物体の特徴量を抽出する特徴量抽出部(2a)と、特徴量に基づいて、物体の位置の候補を示す物体矩形を複数求めるとともに、物体矩形ごとに、物体のカテゴリの情報および確信度を求める情報取得部(2b)と、特徴量に基づいて、物体矩形が画像中のどの物体に紐づくかを示す物体タグを物体矩形ごとに算出する物体タグ算出部(2c)とを含む。物体検出装置(2)は、物体のカテゴリが同一である複数の物体矩形を、物体タグに応じて複数の群に分離し、分離した各群において、確信度に基づいて、余分な物体矩形を削除する余分矩形抑制部(4)をさらに備える。

Description

物体検出装置、物体検出方法およびプログラム
 本発明は、物体を撮影した画像から上記物体を検出する物体検出装置と、物体検出方法と、プログラムとに関する。
 近年、セキュリティまたはマーケティング調査のために、カメラで撮影した画像に映っている物体(例えば人物)のカテゴリ(クラス)や位置を特定する技術が求められている。物体の検出を頑健に行うために機械学習が広く用いられ、中でも、CNN(Convolutional Neural Network)と呼ばれる畳み込み型ニューラルネットワークを用いる技術が近年多く提案されている。
 ところで、CNNを用いた物体検出では、NMS(Non Maximum Suppression)処理が一般的に利用されている。このNMS処理は、画像中で物体の位置の候補を示す矩形(以下では、「物体矩形」とも言う)が複数存在するときに、各物体矩形で囲まれる物体のカテゴリの確信度(以下では、単に「物体の確信度」とも言う)の高い順に、複数の物体矩形をソートし(並び替え)、確信度の最も高い物体の矩形に対して、カテゴリが同一で、かつ、閾値以上の重なり度合い(IoU;Intersection over Union)を持つ物体矩形で囲まれる物体の確信度をゼロにして上記物体矩形を削除し、確信度の最も高い物体の矩形を残す処理である。
 ところが、従来のNMS処理では、画像中で検出したい物体同士が近接すると、本来残したい物体の確信度がゼロとなり、上記物体の矩形が削除される場合がある。例えば、図15に示すように、画像中で、物体矩形1001aおよび1002aで囲まれた物体1001および1002のカテゴリが同一(例えば人物)で、その確信度がそれぞれ0.8および0.9であることがCNNによって検出されたとする。このような物体矩形1001aおよび1002aに対して、従来のNMS処理を行うと、物体矩形1001aと物体矩形1002aとの重なり度合いが大きいため(IoUが閾値以上であるため)、確信度が0.9と相対的に高い物体1002の物体矩形1002aに対して、確信度が0.8と相対的に低い物体1001の上記確信度がゼロとなり、本来残したい物体1001の物体矩形1001aが削除される。つまり、この場合、CNNによって物体1001を検出できているにもかかわらず、NMS処理を行うことによって物体1001を検出することができなくなる。
 そこで、例えば非特許文献1に開示された技術(Soft-NMS処理)では、図16に示すように、画像中で同一カテゴリの物体1001および1002が近接している場合に、物体矩形1001aと物体矩形1002aとのIoUの大きさに応じて、物体1001のカテゴリの確信度を(例えば同図では0.8から0.4に)低下させるようにしている。この処理では、上記確信度がゼロではなく、物体矩形1001aが残るため、物体1001を検出することが可能となる。
 また、例えば非特許文献2に開示された技術では、物体矩形を絞りこむ際に、NMS処理を行わずに、DNN(Deep Neural Network)によって確信度自体を更新するようにしている。
Navaneeth Bodla, et al., "Soft-NMS-Improving Object Detection With One Line of Code", 2017 IEEE International Conference on Computer Vision (ICCV), 8 Aug 2017 Jan Hosang, et al., "Learning non-maximum suppression", IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 9 May 2017
 ところが、非特許文献1の技術では、検出したい物体同士が近接し、かつ、物体矩形の確信度が比較的低い場合に、Soft-NMS処理によって上記物体矩形の確信度が限りなく低くなってしまう。例えば、図17に示すように、物体1001および1002の確信度がそれぞれ0.3および0.9である場合、Soft-NMS処理により、物体1001の確信度が0.05に低下する場合がある。これでは、物体1001の確信度がゼロである場合とほとんど等価な状態となり、物体1001を精度よく検出することができなくなる。
 また、非特許文献2のように、DNNによって確信度自体を更新する処理では、検出したい物体の確信度が全て高くなるとは限らず、確信度が低下する場合も当然考えられる。確信度が低下すると、非特許文献1と同様に、物体を精度よく検出することができなくなる。
 本発明は、上記の問題点を解決するためになされたもので、その目的は、画像中で検出したい物体同士が近接する場合でも、検出したい物体の物体矩形を、確信度を低下させることなく残すことができ、これによって、近接する物体のそれぞれを精度よく検出することができる物体検出装置、物体検出方法およびプログラムを提供することにある。
 本発明の一側面に係る物体検出装置は、物体を含む画像から、畳み込み型ニューラルネットワークによるニューロ演算によって前記物体を検出する物体検出部を備えた物体検出装置であって、前記物体検出部は、前記画像から前記物体の特徴量を抽出する特徴量抽出部と、前記特徴量に基づいて、前記物体の位置の候補を示す物体矩形を複数求めるとともに、前記物体矩形ごとに、前記物体のカテゴリの情報および確信度を求める情報取得部と、前記特徴量に基づいて、前記物体矩形が前記画像中のどの物体に紐づくかを示す物体タグを前記物体矩形ごとに算出する物体タグ算出部とを含み、該物体検出装置は、前記物体のカテゴリが同一である複数の前記物体矩形を、前記物体タグに応じて複数の群に分離し、分離した各群において、前記確信度に基づいて、余分な物体矩形を削除する余分矩形抑制部をさらに備えている。
 本発明の他の側面に係る物体検出方法は、物体を含む画像から、畳み込み型ニューラルネットワークによるニューロ演算によって前記物体を検出する物体検出工程を含む物体検出方法であって、前記物体検出工程は、前記画像から前記物体の特徴量を抽出する特徴量抽出工程と、前記特徴量に基づいて、前記物体の位置の候補を示す物体矩形を複数求めるとともに、前記物体矩形ごとに、前記物体のカテゴリの情報および確信度を求める情報取得工程と、前記特徴量に基づいて、前記物体矩形が前記画像中のどの物体に紐づくかを示す物体タグを前記物体矩形ごとに算出する物体タグ算出工程と、を含み、該物体検出方法は、前記物体のカテゴリが同一である複数の前記物体矩形を、前記物体タグに応じて複数の群に分離し、分離した各群において、前記確信度に基づいて、余分な物体矩形を削除する余分矩形抑制工程をさらに含む。
 本発明のさらに他の側面に係るプログラムは、上記物体検出方法をコンピュータに実行させるためのプログラムである。
 物体のカテゴリが同一である複数の物体矩形は、物体タグに応じて複数の群に分離される。例えば、物体タグが同じである物体矩形は同じ群に属し、物体タグが互いに異なる物体矩形同士は異なる群に属するように、複数の物体矩形が各群に分離される。そして、各群において、余分な物体矩形を削除する処理(NMS処理)が行われる。各群に属する物体矩形は、物体タグによって同一の物体と紐づけられているため、たとえ画像中で検出したい物体同士が近接する場合でも、各群ごとにNMS処理を行うことによって、近接する物体ごとに物体矩形を1つのみ残し、残った物体矩形に対応する物体のカテゴリの情報および確信度を残すことができる。つまり、検出したい物体の物体矩形を、確信度を低下させることなくそのまま残すことができる。これにより、近接する物体のそれぞれを精度よく検出することができる。
本発明の実施の一形態に係る物体検出装置の概略の構成を示すブロック図である。 上記物体検出部が備える物体検出部を構成するCNNを模式的に示す説明図である。 上記CNNにおいて、1つのノードに対する入力および出力の関係を模式的に示す説明図である。 上記物体検出装置によって実施される物体検出方法による処理の流れを示すフローチャートである。 入力画像に含まれる複数の物体に対する物体矩形の例を示す説明図である。 タグ値のグループ化および更新手法の一例を示す説明図である。 タグ値のグループ化および更新手法の他の例を示す説明図である。 NMS処理後の物体矩形を示す説明図である。 物体の検出結果の表示画面例を示す説明図である。 複数の物体についての任意の物体矩形のタグ値の例を示す説明図である。 異なる物体についての複数の物体矩形間の距離の算出方法の一例を示す説明図である。 上記距離の算出方法の他の例を示す説明図である。 上記距離の算出方法のさらに他の例を示す説明図である。 複数の物体についての任意の物体矩形のタグ値の他の例を示す説明図である。 従来のNMS処理を模式的に示す説明図である。 従来の他のNMS処理を模式的に示す説明図である。 上記他のNMS処理によって生じる不都合を示す説明図である。
 本発明の各実施の形態について、図面に基づいて説明すれば、以下の通りである。
 〔1.物体検出装置の構成〕
 図1は、本実施形態の物体検出装置1の概略の構成を示すブロック図である。本実施形態の物体検出装置1は、例えばパーソナルコンピュータで構成されており、カメラCAと通信回線を介して接続されている。カメラCAは、物体を撮影して画像を取得する。上記画像は、ここではカラー画像とし、赤(R)、緑(G)、青(B)の画像データは、例えば8ビット(0~255)のデータとする。通信回線は、例えば無線LAN(Local Area Network)で構成されるが、有線LANやインターネット回線で構成されてもよい。
 物体検出装置1は、物体検出部2と、タグ更新部3と、余分矩形抑制部4と、記憶部5と、入力部6と、表示部7と、通信部8と、読取部9と、制御部10とを備えている。
 物体検出部2は、例えばGPU(Graphics Processing Unit)で構成されている。GPUは、リアルタイムな画像処理に特化した演算装置(プロセッサ)である。GPUにおいては、物体を含む画像からニューロ演算によって上記物体を検出する畳み込み型ニューラルネットワーク(CNN)が構築されている。
 上記の物体検出部2は、特徴量抽出部2aと、情報取得部2bと、物体タグ算出部2cとを含む。特徴量抽出部2aは、入力される画像から物体の特徴量(関節点、形状、色など)を抽出する。情報取得部2bは、特徴量抽出部2aによって抽出された特徴量に基づいて、物体の位置の候補を示す物体矩形を複数求めるとともに、物体矩形ごとに、物体のカテゴリの情報(人物、猫、犬、自動車など)および確信度(尤度、スコア)を求める。なお、上記の確信度には、カテゴリの確信度と、物体矩形で囲まれた物体の物体らしさを示す確信度と、物体がそこに存在するか否かの確信度が含まれる。
 物体タグ算出部2cは、特徴量抽出部2aによって抽出された特徴量に基づいて、物体矩形が画像中のどの物体に紐づくかを示す物体タグを物体矩形ごとに算出する。物体タグは、例えば“1”、“2”、“3”などのタグの値で表され、個々の物体ごとに異なるタグ値が物体矩形に割り当てられる。なお、CNNの学習の程度によっては、同じ物体でも各物体矩形間で異なるタグ値(例えば“1.2”と“1.5”)が割り当てられる場合もあり得る。
 なお、特徴量抽出部2aによる特徴量の抽出精度、情報取得部2bによるカテゴリの情報および確信度の検出精度、物体タグ算出部2cによる物体タグの算出精度は、物体検出部2を予め機械学習させて後述する重みを更新することにより、上げることができる。
 タグ更新部3は、物体タグ情報算出部2cによって算出した物体タグのタグ値を更新する。例えば、タグ更新部3は、同じ物体については同一の値となり、異なる物体については異なる値となるように、上記物体タグのタグ値を更新する。タグ値の更新は、例えば閾値やクラスタリング手法を用いたグループ化を利用することによって行うことができるが、その詳細については後述する。
 余分矩形抑制部4は、物体のカテゴリが同一である複数の物体矩形を、物体タグに応じて複数の群に分離し、分離した各群において、上記の確信度に基づいて、余分な物体矩形を削除するNMS処理を行う。本実施形態のNMS処理の詳細については、後述する物体検出方法と併せて説明する。
 上記のタグ更新部3および余分矩形抑制部4は、例えばCPU(Central Processing Unit;中央演算処理装置)で構成されている。
 記憶部5は、各種の情報および制御部10の動作プログラムを記憶するメモリであり、例えばハードディスク、RAM(Random Access Memory)、ROM(Read Only Memory)を含んで構成される。入力部6は、例えばキーボード、マウス、タッチパッド、タッチパネルなどで構成され、ユーザによる各種の指示入力を受け付ける。表示部7は、例えば液晶表示装置で構成され、各種の情報を表示する。例えば、表示部7には、物体ごとにNMS処理後の物体矩形が表示されるとともに、物体のカテゴリの情報および確信度が表示される(図9参照)。
 通信部8は、外部との間で情報を送受信するための通信インターフェースであり、入出力ポート、送信回路、受信回路、アンテナ、変調回路、復調回路などを含んで構成される。例えば、カメラCAで取得された画像のデータは、通信部8を介して物体検出装置1に取り込まれる。上記画像のデータは、記憶部5に一時的に記憶されて物体検出部2に転送される。
 読取部9は、記録媒体Rに記録された情報を読み取る装置であり、例えばディスクドライブで構成される。なお、記録媒体Rが可搬型の不揮発性メモリである場合、上記不揮発性メモリの接続部が指し込まれる接続ポートも読取部9に含まれるとする。記録媒体Rには、例えば物体検出装置1の動作プログラムが記録されており、読取部9によって読み取られる。読み取った動作プログラムは、記憶部5に記憶される。なお、記録媒体Rには、カメラCAで取得された画像のデータが記録されていてもよい。
 制御部10は、例えばCPUで構成されており、主制御部10aと、学習制御部10bとを含む。主制御部10aは、記憶部5に記憶された動作プログラムに従って物体検出装置1の各部の動作を制御する。なお、主制御部10aは、上記したタグ更新部3および余分矩形抑制部4の機能を兼ねるようにしてもよい。学習制御部10bは、物体検出部2を予め機械学習させる。
 〔2.物体検出部を構成するCNNについて〕
 図2は、物体検出部2を構成するCNNを模式的に示す説明図である。以下、CNNについて説明を補足しておく。上記のCNNは、入力層21と、畳み込み層22と、プーリング層23と、出力層24とを有して構成される。なお、畳み込み層22およびプーリング層23は、少なくとも1組あればよい。
 CNNを構成する各層(入力層21、畳み込み層22、プーリング層23、出力層24)はそれぞれ、複数のノード(またはユニット)を有する。ニューラルネットワークとは、人間の神経ネットワークを模倣した情報処理システムのことであるが、上記のノードは、人間の神経細胞に相当する工学的なニューロンのモデルを表す。
 図3は、1つのノードUに対する入力および出力の関係を模式的に示している。ノードUとしては、通常、多入力1出力の素子が用いられる。信号は一方向にだけ伝わり、ある重み(結合荷重:wi)をつけられて、ノードUに入力される。この重みによって、階層的に並ぶノードU・U間の結合の強さが表される。上記の重みは、学習によって変化させることができる。ノードUからは、重みをつけられたそれぞれの入力値(wixi)の総和から閾値θを引いた値Xが応答関数f(X)による変形を受けて出力される。つまり、ノードUの出力値yは、以下の数式で表される。
   y=f(X)
 ここで、
   X=Σ(wixi-θ)
である。なお、応答関数としては、例えばシグモイド関数を用いることができる。
 入力層21の各ノードUには、入力画像の各画素のデータ(画素値)がそれぞれ入力される。畳み込み層22は、前の層の所定のノードUから出力される値に対してフィルタ処理を行って特徴マップ(特徴量)を得る。プーリング層23は、畳み込み層22から出力された特徴マップをさらに縮小して新たな特徴マップを得る。出力層24は、CNNの最終層であり、前の層のノードUの値と、エッジの重みと、出力層24が持つ応答関数とから、物体の識別結果(カテゴリの情報)を確信度付きで出力する。このような出力層24は、例えば1つ前の層の全ノードUからの出力を結合し、所定の演算を行って識別結果を出力する全結合層で構成される。なお、全結合層は、2層以上であってもよい。
 CNNの学習アルゴリズムとしては、例えば、正解付きの画像データを用い、上記画像データを入力したときに得られる出力層24からの出力値と、正解を示す値との2乗誤差が最小となるように、最急降下法を用いて、各層(エッジ)の重みを出力層24側から入力層21側に向かって順次変化させていく誤差逆伝播法(バックプロパゲーション)を用いることができる。このようなCNNの機械学習は、学習制御部10bの制御のもとで行われる。
 〔3.推論方法について〕
 次に、上記構成の物体検出装置1によって実施される物体検出方法(物体の推論方法)について説明する。図4は、上記物体検出方法による処理の流れを示すフローチャートである。本実施形態の物体検出方法は、画像取得工程(S10)と、物体検出工程(S20)と、タグ更新工程(S30)と、余分矩形抑制工程(S40)と、検出結果出力工程(S50)とを含む。以下、各工程について説明する。
 (S10;画像取得工程)
 S10では、物体検出装置1が、外部から入力される画像(画像データ)を取得する。ここでは、上記画像として、カメラCA(図1参照)で取得された画像を考える。なお、物体検出装置1が取得する画像は、外部の端末装置(例えばパーソナルコンピュータ)やサーバーに予め記憶され、上記端末装置等から物体検出装置1に出力された画像であってもよいし、電子メールに添付されて物体検出装置1に送信された画像であってもよいし、記録媒体Rから読み取られた画像であってもよい。
 (S20;物体検出工程)
 S20の物体検出工程では、物体検出部2が、物体を含む画像から、CNNによるニューロ演算によって上記物体を検出する。この物体検出工程は、さらに、特徴量抽出工程(S21)と、情報取得工程(S22)と、物体タグ算出工程(S23)とを含む。なお、物体検出部2を構成するCNNは予め機械学習されており、これによって、S21~S23の各工程を行うことができる。
 S21では、特徴量抽出部2aが、S10で取得した画像から、ニューロ演算によって上記画像に含まれる物体の特徴量(形状など)を抽出する。S22では、情報取得部2bが、上記特徴量に基づいて、ニューロ演算により、物体の位置の候補を示す物体矩形を複数求めるとともに、物体矩形ごとに物体のカテゴリの情報および確信度を求める。
 例えば、図5は、入力画像に含まれる物体101および102に対して、情報取得部2bが取得した物体矩形101a~101cおよび102a~102cの例を示している。ここでは、情報取得部2bが取得した、物体矩形101a~101cごとの物体101のカテゴリは、ここでは全て「人物(Person)」とし、物体矩形101a~101cごとの物体101のカテゴリの確信度、つまり、物体101が「人物」である確からしさはそれぞれ、例えば0.8、0.9、0.4であるとする。また、情報取得部2bが取得した、物体矩形102a~102cごとの物体102のカテゴリは、ここでは全て「人物(Person)」とし、物体矩形102a~102cごとの物体102のカテゴリの確信度はそれぞれ、例えば0.9、0.7、0.5であるとする。
 S23では、物体タグ算出部2cが、S21で抽出した特徴量に基づいて、物体矩形が画像中のどの物体に紐づくかを示す物体タグを物体矩形ごとに算出する。例えば、物体矩形101a~101cは物体101と紐づいていることから、物体タグ算出部2cは物体矩形101a~101cの物体タグのタグ値として、例えば“2”を算出する。一方、物体矩形102a~102cは物体102と紐づいていることから、物体タグ算出部2cは物体矩形102a~102cの物体タグのタグ値として、例えば“10”を算出する。
 なお、図5では、物体矩形101a~101cのタグ値を全て“2”とし、物体矩形102a~102cのタグ値を全て“10”としているが、物体矩形101a~101cのタグ値は、例えば“1.9”、“2”、“2.2”のように、タグ値“2”を中心としてばらつく値であってもよく、物体矩形102a~102cのタグ値は、例えば“9.5”、“10”、“10.3”のように、タグ値“10”を中心としてばらつく値であってもよい。タグ値のばらつき度合いは、物体検出部2の機械学習の程度によって異なる。
 (S30;タグ更新工程)
 S30では、タグ更新部3が、S23で算出されたタグ値が、同一の物体と紐づいた複数の物体矩形の間でばらつく場合に、各タグ値を同一のタグ値に変更(更新)する。なお、S23で算出されたタグ値が、同一の物体と紐づいた複数の物体矩形の間で同じ値である場合には、S30の工程を省略することが可能である。ここでは、S23で算出された同一物体についてのタグ値がばらついているとして説明する。
 タグ値の更新方法としては、(1)閾値処理によるグループ化を用いた方法と、(2)k-means法+エルボー法によるグループ化を用いた方法とがある。
 (1)閾値処理によるグループ化を用いた方法
 図6は、閾値処理によるグループ化を用いたタグ値の更新手法を模式的に示している。物体タグ算出部2cによって物体矩形ごとに算出されたタグ値が、第1の閾値TAと第2の閾値TBとの間には存在せず、第1の閾値TA未満の第1のタグ領域MAと、第2の閾値よりも大きい第2のタグ領域MBとに分散しており、第1のタグ領域MAと第2のタグ領域TBとが所定のマージンM以上離れている場合(TB-TA≧M)、タグ更新部3は、各タグ領域のタグ値をそれぞれグループ化するとともに、同じタグ領域では同一で、異なるタグ領域間では異なるタグ値に変換する。図6の例では、タグ更新部3は、第1のタグ領域MAの各タグ値を同一のタグ値“2”に変換するとともに、第2のタグ領域MBの各タグ値を同一のタグ値“10”に変換している。
 例えば、複数の物体矩形のタグ値が“2”と“2.2”とばらついていると、個々の物体矩形が同じ物体と紐づいているのか、相互に異なる物体と紐づいているのかの疑義が生じる場合がある。しかし、上記のように、複数の物体矩形を各グループに分けて、各グループごとにタグ値を統一することにより、上記のような疑義が生じることがなくなる。つまり、例えばタグ値が“2”で統一された物体矩形については全て同じ物体101に紐づける一方、タグ値が“2”とは異なる値(例えば“10”)で統一された物体矩形については全て、物体101とは異なる物体(例えば物体102)に紐づけることが可能となり、各物体矩形がどの物体と紐づくのかが明確となる。
 (2)k-means法+エルボー法によるグループ化を用いた方法
 図7は、k-means法+エルボー法によるグループ化を用いたタグ値の更新手法を模式的に示している。まず、タグ更新部3は、物体矩形ごとに算出されたタグ値に対して、k-means法により、任意の範囲でクラスタ数(k値)を変化させて複数のクラスタを生成する。図7では、タグ更新部3がk-means法によって2つのクラスタCL-1およびCL-2を生成した場合と、3つのクラスタCL-1~CL-3を生成した場合とを示している。
 その後、タグ更新部3は、上記で生成した各クラスタに対して、エルボー法によって最適なクラスタ数を算出する。ここで、エルボー法とは、図7に示すように、クラスタごとの誤差平方和(SSE)をプロットし、SSEの変化を示すグラフが「ヒジ」のように曲がった箇所のクラスタ数を最適なクラスタ数とみなす手法である。図7の例では、最適なクラスタ数として、クラスタ数“2”が算出される。
 そして、タグ更新部3は、エルボー法によって算出したクラスタ数の各クラスタのタグ値をそれぞれグループ化するとともに、同じクラスタでは同一で、異なるクラスタ間では異なるタグ値に変換する。つまり、タグ更新部3は、クラスタCL-1の各タグ値を同一のタグ値(例えばタグ値“2”)に変換するとともに、クラスタCL-2の各タグ値を同一のタグ値(例えばタグ値“10”)に変換する。
 上記のように、k-means法とエルボー法とを用いて最適なクラスタ数を求め、各クラスタごとにタグ値を統一することにより、上記(1)と同様に、個々の物体矩形が同じ物体と紐づいているのか、相互に異なる物体と紐づいているのかの疑義が生じることがなくなり、統一したタグ値によって各物体矩形がどの物体と紐づくのかが明確となる。
 なお、上記(1)および(2)のいずれの手法においても、グループ数(クラスタ数)に上限を設けておき、上限までの範囲内で最適なグループ数(クラスタ数)を求めるようにしてもよい。
 (S40;余分矩形抑制工程)
 S40では、余分矩形抑制部4が、物体のカテゴリが同一である複数の物体矩形を、物体タグ(タグ値)に応じて複数の群に分離し、分離した各群において、確信度に基づいて、余分な物体矩形を削除するNMS処理を行う。例えば、図5で示したように、物体101および102については、カテゴリが「人物」で同一である。したがって、余分矩形抑制部4は、これらの物体矩形101a~101cおよび102a~102cを、タグ値が“2”の群(物体矩形101a~101c)と、タグ値が“10”の群(物体矩形102a~102c)とに分離し、物体矩形101a~101cに対してNMS処理を行うとともに、物体矩形102a~102cに対してNMS処理を行う。
 より詳しくは、物体矩形101a~101cの確信度はそれぞれ、上述したように、0.8、0.9、0.4であるため、余分矩形抑制部4は、確信度が最も高い物体矩形101bのみを残し、物体矩形101bに対する重なり度合い(IoU)が閾値以上である物体矩形101aおよび101cが示す物体101のカテゴリの確信度をゼロにして、物体矩形101aおよび101cを削除する。また、物体矩形102a~102cの確信度はそれぞれ、上述したように、0.9、0.7、0.5であるため、余分矩形抑制部4は、確信度が最も高い物体矩形102aのみを残し、物体矩形102aに対するIoUが閾値以上である物体矩形102bおよび102cが示す物体102のカテゴリの確信度をゼロにして、物体矩形102bおよび102cを削除する。
 図8は、NMS処理によって残った物体矩形101bおよび102aを示している。上記のNMS処理により、物体101に対して1つの物体矩形101bのみが残り、物体102に対して1つの物体矩形102aのみが残る。しかも、物体矩形101bが示す物体101のカテゴリの確信度、および物体矩形102aが示す物体102の確信度を変える処理は何ら行われていない。
 (S50;検出結果出力工程)
 S50では、制御部10は、表示部7に、NMS処理後の結果、つまり、物体矩形101bおよび102aで示される物体101および102のカテゴリの情報および確信度を表示させる。図9は、表示部7の表示画面例を示している。例えば図8の物体101については、「人物」のカテゴリを示す“PERSON”と、他の人物と区別するための番号“1”と、物体矩形101bで示す物体101のカテゴリの確信度“0.9”とが、物体矩形101bとともに表示される。また、図8の物体102については、「人物」のカテゴリを示す“PERSON”と、他の人物と区別するための番号“2”と、物体矩形102aで示す物体102のカテゴリの確信度“0.9”とが、物体矩形102aとともに表示される。なお、制御部10は、NMS処理後の結果を表示部7に表示させる代わりに、通信部8を介して検出結果を外部の端末に出力するようにしてもよい。
 〔4.効果〕
 以上のように、余分矩形抑制部4によって分離された各群に属する物体矩形は、物体タグによって同一の物体と紐づけられている。つまり、上記の例では、一方の群に属する物体矩形101a~101cは、タグ値“2”によって同一の物体101と紐づけられている。また、他方の群に属する物体矩形102a~102cは、タグ値“10”によって同一の物体102と紐づけられている。このため、たとえ画像中で検出したい物体101および102が近接する場合でも、タグ値に基づいて各群ごとにNMS処理を行うことにより、近接する物体101および102ごとに物体矩形を1つのみ残して、上記物体矩形(例えば図8の物体矩形101b、102a)に対応する物体101および102のカテゴリの情報および確信度を残し、これらを図9のように出力させることができる。つまり、検出したい物体101および102の物体矩形101bおよび102aを、確信度を低下させることなくそのまま残すことができる。したがって、近接する物体101および102を両方とも精度よく(NMS処理によって削除することなく)検出することができる。
 また、S30において、タグ更新部3は、物体矩形ごとに算出されたタグ値が、所定のマージンM以上離れた複数のタグ領域に分散しているときに、各タグ領域のタグ値をそれぞれグループ化するとともに、同じタグ領域では同一で、異なるタグ領域間では異なるタグ値に変換する。これにより、同一の物体と紐づけられた物体タグのタグ値がばらついている場合でも、余分矩形抑制部4は、タグ更新部3によって更新されたタグ値、つまり、各タグ領域ごとに統一されたタグ値に基づいて、複数の物体矩形を複数の群に分離することができ、その分離が容易となる。
 また、S30では、タグ更新部3は、物体矩形ごとに算出されたタグ値に対して、k-means法により、任意の範囲でクラスタ数を変化させて複数のクラスタを生成した後、エルボー法によって最適なクラスタ数を算出し、算出したクラスタ数の各クラスタのタグ値をそれぞれグループ化するとともに、同じクラスタでは同一で、異なるクラスタ間では異なるタグ値に変換してもよい。同一の物体と紐づけられた物体タグのタグ値がばらついている場合でも、余分矩形抑制部4は、タグ更新部3によって更新されたタグ値、つまり、各クラスタごとに統一されたタグ値に基づいて、複数の物体矩形を複数の群に分離することができ、その分離が容易となる。
 また、余分矩形抑制部4は、物体タグが同一である複数の物体矩形(例えば物体矩形101a~101c)のうち、確信度が最も高い物体矩形(例えば物体矩形101b)に対するIoUが閾値以上である物体矩形(例えば物体矩形101aおよび101c)が示す物体(例えば物体101)のカテゴリの確信度をゼロにするため、同一の物体を示す複数の物体矩形から、余分な(不要な)物体矩形を確実に削除することができる。
 〔5.物体タグを算出するための学習について〕
 制御部10の学習制御部10bは、同一の物体に対する複数の物体矩形の各タグ値を互いに近づけるための第1の損失関数によって算出される第1の誤差Loss#1と、異なる物体に対する複数の物体矩形の各タグ値を互いに遠ざけるための第2の損失関数によって算出される第2の誤差Loss#2とを、逆誤差伝播法を用いて逆伝播することにより、物体検出部2を構成するCNNの各層のノード間の結合の強さを示す重み(結合荷重wi)を更新してもよい。
 ここで、上記の第1の誤差Loss#1および第2の誤差Loss#2は、以下のように表される。なお、Loss#1を求める式の右辺が第1の損失関数を示し、Loss#2を求める式の右辺が第2の損失関数を示す。
 Loss#1={(対象とする物体矩形のタグ値)-(同一物体の物体矩形のタグ値の平均)}2
 Loss#2=exp[-{(対象とする物体矩形のタグ値の平均)-(他の物体の物体矩形のタグ値の平均)}2
 なお、各物体矩形が同一の物体に対する物体矩形であるか、異なる物体に対する物体矩形であるかは、各物体矩形が物体(ground truth、以下“GT”とも称する)に対して閾値以上のIoUを有するか否かで判断することができる。ただし、1つの物体矩形が複数の物体に対して閾値以上のIoUを有する場合、上記物体矩形はIoUの最も大きい物体に対する物体矩形であると判断する。
 上記のように第1の誤差Loss#1および第2の誤差Loss#2を逆伝播して物体検出部2を機械学習させることにより、機械学習後の推論時(物体検出時)には、同一の物体に対する複数の物体矩形のタグ値は互いに同じ値(例えば“2”)に近づくようになり、異なる物体に対する複数の物体矩形のタグ値は互いに遠ざかるように(例えば“2”と“12”に離れるように)算出される。これにより、余分矩形抑制部4は、複数の物体矩形のうち、タグ値が同じまたは近い物体矩形は同じ群とし、タグ値が大きく異なる物体矩形同士は互いに異なる群に分けることが可能となる。したがって、複数の物体矩形の各群への分離が容易となる。
 また、学習制御部10bは、物体矩形の位置精度を学習前よりも高めるための第3の損失関数によって算出される第3の誤差Loss#3と、物体が存在するか否かの確信度を学習前よりも高めるための第4の損失関数によって算出される第4の誤差Loss#4と、物体のカテゴリの確信度を学習前よりも高めるための第5の損失関数によって算出される第5の誤差Loss#5とをさらに、逆誤差伝播法を用いて逆伝播することにより、上記の重みを更新してもよい。
 ここで、上記の第3の誤差Loss#3、第4の誤差Loss#4および第5の誤差Loss#5は、以下のように表される。なお、Loss#3を求める式の右辺が第3の損失関数を示し、Loss#4を求める式の右辺が第4の損失関数を示し、Loss#5を求める式の右辺が第5の損失関数を示す。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 物体矩形の位置精度、物体が存在するか否かの確信度、および物体のカテゴリの確信度が高まるように、物体検出部2が予め機械学習されるため、実際の推論時には、物体検出部2(特に情報取得部2b)によって物体矩形および確信度を精度よく求めることが可能となる。これにより、本実施形態の効果、つまり、近接する物体の検出精度を向上させる効果をさらに高めることが可能となる。
 〔6.物体タグを算出するための効率的な学習について(その1)〕
 学習制御部10bは、上記した第2の誤差Loss#2を算出するにあたって、異なる物体についての複数の物体矩形間の距離に応じて、第2の損失関数の係数を変化させることにより、第2の誤差Loss#2を上記距離に応じて変化させてもよい。なお、上記距離の算出方法の詳細については後述する。例えば、第2の損失関数の係数をαとしたとき、上記距離に応じて係数αの値を変化させて第2の誤差Loss#2を算出してもよい。すなわち、この場合の第2の誤差Loss#2は、以下の式によって算出される。
 Loss#2=α×exp[-{(対象とする物体矩形のタグ値の平均)-(他の物体の物体矩形のタグ値の平均)}2
 図10は、物体101の任意の物体矩形101bのタグ値と、物体102および103の任意の物体矩形102aおよび103aのタグ値の例を示している。ただし、物体101~103のカテゴリは同一(例えば人物)であり、物体101と物体102とは画像上で近接しており(互いの距離が近く)、物体101と物体103とは画像上で離れている(互いの距離が遠い)とする。
 物体101と物体102とが近接している場合、物体矩形101bと物体矩形102aとを精度よく分別するためには、それぞれのタグ値を離す必要がある。一方、物体101と物体103とが離れている場合、物体矩形101bと物体矩形103aとのIoUはゼロであり、閾値以下であるため、物体矩形101bと物体矩形103aとが同時にNMS処理の対象となることはなく、それゆえ、タグ値が互いに近い値であっても、それぞれの物体矩形101bおよび103aに対して別々のNMS処理を行って、それぞれの物体101および103を検出することが可能である。
 そこで、学習制御部10bは、学習時に、異なる物体についての複数の物体矩形間の距離が近い場合には、第2の損失関数の係数αを大きくして、第2の誤差Loss#2を大きくする一方、上記距離が遠い場合には、第2の損失関数の係数αを小さくして、第2の誤差Loss#2を小さくする。学習制御部10bは、上記のように調整した第2の誤差Loss#2を逆伝播して物体検出部2を予め機械学習させることにより、推論時において、物体検出部2は、2つの物体が近づくほど、値が互いに離れるタグ値を算出することが可能となる。これにより、上記タグ値に基づく複数の物体矩形の異なる群への分離がしやすくなり、各群ごとにNMS処理を行って、近接する物体のそれぞれをより精度よく検出することが可能となる。
 ちなみに、図10では、物体101の物体矩形101bのタグ値“2”に対して、物体101と近接する物体102の物体矩形102aのタグ値として、“2”とは値が十分に離れた“12”を算出し、物体101と離れた物体103の物体矩形103aのタグ値として、“2”に近い“1”を算出した例を示している。物体矩形101bと物体矩形103aとは、十分に離れた距離にあるため、タグ値が近い値であっても、これらの物体矩形101bおよび103aを分別することが可能である。一方、物体矩形101bと物体矩形102aとは、距離が近いが、タグ値が互いに離れているため、タグ値に基づく物体矩形101bおよび102aの分別を精度よく行って、物体101および102を精度よく検出することが可能となる。
 次に、異なる物体についての複数の物体矩形間の距離の算出方法について説明する。図11~図13は、異なる物体についての複数の物体矩形を101aおよび102aとしたときの、物体矩形101aと物体矩形102aとの間の距離Dの算出方法の例をそれぞれ示している。図11に示すように、距離Dは、物体矩形101aの重心G1と、物体矩形102aの重心G2との間の距離であってもよい。なお、重心D1のx座標およびy座標はそれぞれ、物体矩形101aの4つの頂点のx座標およびy座標の平均値であり、重心D2のx座標およびy座標はそれぞれ、物体矩形102aの4つの頂点のx座標およびy座標の平均値である。
 また、図12に示すように、距離Dは、物体矩形101aと物体矩形102aとの間で対応する頂点同士の距離の平均であってもよい。つまり、対応する頂点同士の距離をそれぞれ、d1、d2、d3およびd4としたとき、D=(d1+d2+d3+d4)/4であってもよい。さらに、図13に示すように、距離Dは、物体矩形101aと物体矩形102aとの重なり度合い(全体に対する斜線部分の面積の割合)を示すIoUであってもよい。
 上記したいずれの方法によっても、物体矩形101aと物体矩形102aとの距離Dを算出することができるため、学習制御部10bは、異なる物体についての複数の物体矩形間の距離を、上記の手法で算出して第2の損失関数の係数を変化させることにより、第2の誤差Loss#2を上記距離に応じて変化させることができる。
 〔7.物体タグを算出するための効率的な学習について(その2)〕
 学習制御部10bは、上記した第2の誤差Loss#2を算出するにあたって、画像中で隣り合う物体のカテゴリに応じて、第2の損失関数の係数を変化させることにより、第2の誤差Loss#2を上記カテゴリに応じて変化させてもよい。例えば、第2の損失関数の係数をβとしたとき、上記カテゴリに応じて係数βの値を変化させて第2の誤差Loss#2を算出してもよい。すなわち、この場合の第2の誤差Loss#2は、以下の式によって算出される。
 Loss#2=β×exp[-{(対象とする物体矩形のタグ値の平均)-(他の物体の物体矩形のタグ値の平均)}2
 図14は、物体101~104の任意の物体矩形101b、102a、103a、104aのタグ値の例を示している。ただし、物体101、102、104のカテゴリは同一(例えば人物)であり、物体103のカテゴリは「犬」であって、物体101、102、104のカテゴリとは異なっているとする。また、物体101と物体102とは互いに近接しており、物体103と物体104とは互いに近接しているとする。
 カテゴリが同一である物体101と物体102とが近接している場合、物体矩形101bと物体矩形102aとを精度よく分別するためには、それぞれのタグ値を離す必要がある。一方、物体103と物体104とが近接していても、これらは異なるカテゴリとして検出されているため、物体矩形103aと物体矩形104aとが同時にNMS処理の対象となることはない(NMS処理はカテゴリが同一の物体矩形に対して行われるため)。したがって、物体矩形103aおよび物体矩形104aのタグ値が互いに近い値であっても、これらは別々にNMS処理されることになり、これによって物体103と物体104と別々に検出することができる。
 そこで、学習制御部10bは、学習時に、隣り合う物体のカテゴリが同一である場合には、第2の損失関数の係数βを大きくして、第2の誤差Loss#2を大きくする一方、上記カテゴリが異なる場合には、第2の損失関数の係数βを小さくして、第2の誤差Loss#2を小さくする。学習制御部10bは、上記のように調整した第2の誤差Loss#2を逆伝播して物体検出部2を予め機械学習させることにより、推論時において、物体検出部2は、同じカテゴリの物体が近接している場合には、値が互いに離れたタグ値を算出することが可能となる。ちなみに、図14では、物体101の物体矩形101bのタグ値“2”に対して、物体101と近接する同一カテゴリの物体102の物体矩形102aのタグ値として、“2”とは値が十分に離れた“12”を算出している。これにより、上記のタグ値“2”および“12”に基づいて、複数の物体矩形を異なる群に分離することが容易となる。したがって、各群ごとにNMS処理を行って、近接する同一カテゴリの物体のそれぞれを、より精度よく検出することが可能となる。
 一方、物体矩形103aと物体矩形104aとの距離は近いが、物体103および104のカテゴリは異なるため、物体検出部2は、例えば物体矩形103aのタグ値“2”に対して、物体矩形104aのタグ値として、“2”に近い“1”を算出している。物体103および104のカテゴリが異なるため、上記のようにタグ値が互いに近い値であっても、物体矩形103aと物体矩形104aとが同時にNMS処理の対象となることはない。したがって、カテゴリの異なる物体103および104については、タグ値が互いに近い値であっても、これらを別々に検出することが可能となる。
 〔8.プログラムおよび記録媒体〕
 本実施形態で説明した物体検出装置1(特に物体検出部2)は、例えば、所定のプログラム(アプリケーションソフトウェア)をインストールしたコンピュータ(PC)で構成することができる。上記プログラムをコンピュータ(例えばPCの制御部10)が読み取って実行することにより、上述した物体検出方法の各処理(各工程)をコンピュータに実行させることができる。つまり、物体検出装置1の物体検出部2を機械学習させて、本実施形態の物体検出方法を実現することができる。このようなプログラムは、例えばネットワークを介して外部からダウンロードすることによって取得されて記憶部5に記憶される。また、上記プログラムは、例えばCD-ROM(Compact Disk-Read Only Memory)などのコンピュータ読取可能な記録媒体R(図1参照)に記録され、この記録媒体Rから上記プログラムをコンピュータが読み取って記憶部5に記憶する形態であってもよい。
 〔9.その他〕
 以上で説明した本実施形態の物体検出装置、物体検出方法、プログラムおよび記録媒体は、以下のように表現することができる。
 1.物体を含む画像から、畳み込み型ニューラルネットワークによるニューロ演算によって前記物体を検出する物体検出部を備えた物体検出装置であって、
 前記物体検出部は、
 前記画像から前記物体の特徴量を抽出する特徴量抽出部と、
 前記特徴量に基づいて、前記物体の位置の候補を示す物体矩形を複数求めるとともに、前記物体矩形ごとに、前記物体のカテゴリの情報および確信度を求める情報取得部と、
 前記特徴量に基づいて、前記物体矩形が前記画像中のどの物体に紐づくかを示す物体タグを前記物体矩形ごとに算出する物体タグ算出部とを含み、
 該物体検出装置は、
 前記物体のカテゴリが同一である複数の前記物体矩形を、前記物体タグに応じて複数の群に分離し、分離した各群において、前記確信度に基づいて、余分な物体矩形を削除する余分矩形抑制部をさらに備えていることを特徴とする物体検出装置。
 2.前記物体タグ情報算出部によって算出した前記物体タグのタグ値を更新するタグ更新部をさらに備え、
 前記タグ更新部は、前記物体矩形ごとに算出された前記タグ値が、所定のマージン以上離れた複数のタグ領域に分散しているときに、各タグ領域の前記タグ値をそれぞれグループ化するとともに、同じタグ領域では同一で、異なるタグ領域間では異なるタグ値に変換することを特徴とする前記1に記載の物体検出装置。
 3.前記物体タグ情報算出部によって算出した前記物体タグのタグ値を更新するタグ更新部をさらに備え、
 前記タグ更新部は、前記物体矩形ごとに算出された前記タグ値に対して、k-means法により、任意の範囲でクラスタ数を変化させて複数のクラスタを生成した後、エルボー法によって最適なクラスタ数を算出し、算出した前記クラスタ数の各クラスタの前記タグ値をそれぞれグループ化するとともに、同じクラスタでは同一で、異なるクラスタ間では異なるタグ値に変換することを特徴とする前記1に記載の物体検出装置。
 4.前記余分矩形抑制部は、前記物体タグが同一である複数の物体矩形のうち、前記確信度が最も高い物体矩形に対する重なり度合いが閾値以上である物体矩形が示す物体のカテゴリの確信度をゼロにすることを特徴とする前記1から3のいずれかに記載の物体検出装置。
 5.前記物体検出部を予め機械学習させる学習制御部をさらに備え、
 前記学習制御部は、同一の物体に対する複数の物体矩形の各タグ値を互いに近づけるための第1の損失関数によって算出される第1の誤差と、異なる物体に対する複数の物体矩形の各タグ値を互いに遠ざけるための第2の損失関数によって算出される第2の誤差とを、逆誤差伝播法を用いて逆伝播することにより、前記物体検出部を構成する前記畳み込み型ニューラルネットワークの各層のノード間の結合の強さを示す重みを更新することを特徴とする前記1から4のいずれかに記載の物体検出装置。
 6.前記学習制御部は、物体矩形の位置精度を学習前よりも高めるための第3の損失関数によって算出される第3の誤差と、物体が存在するか否かの確信度を学習前よりも高めるための第4の損失関数によって算出される第4の誤差と、物体のカテゴリの確信度を学習前よりも高めるための第5の損失関数によって算出される第5の誤差とをさらに、逆誤差伝播法を用いて逆伝播することにより、前記重みを更新することを特徴とする前記5に記載の物体検出装置。
 7.前記学習制御部は、異なる物体についての複数の物体矩形間の距離に応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記距離に応じて変化させることを特徴とする前記5または6に記載の物体検出装置。
 8.前記異なる物体についての複数の物体矩形間の前記距離は、各物体矩形の重心間の距離であることを特徴とする前記7に記載の物体検出装置。
 9.前記異なる物体についての複数の物体矩形間の前記距離は、各物体矩形間で対応する頂点同士の距離の平均であることを特徴とする前記7に記載の物体検出装置。
 10.前記異なる物体についての複数の物体矩形間の前記距離は、各物体矩形同士の重なり度合いであることを特徴とする前記7に記載の物体検出装置。
 11.前記学習制御部は、隣り合う物体のカテゴリに応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記カテゴリに応じて変化させることを特徴とする前記5または6に記載の物体検出装置。
 12.物体を含む画像から、畳み込み型ニューラルネットワークによるニューロ演算によって前記物体を検出する物体検出工程を含む物体検出方法であって、
 前記物体検出工程は、
 前記画像から前記物体の特徴量を抽出する特徴量抽出工程と、
 前記特徴量に基づいて、前記物体の位置の候補を示す物体矩形を複数求めるとともに、前記物体矩形ごとに、前記物体のカテゴリの情報および確信度を求める情報取得工程と、
 前記特徴量に基づいて、前記物体矩形が前記画像中のどの物体に紐づくかを示す物体タグを前記物体矩形ごとに算出する物体タグ算出工程と、を含み、
 該物体検出方法は、
 前記物体のカテゴリが同一である複数の前記物体矩形を、前記物体タグに応じて複数の群に分離し、分離した各群において、前記確信度に基づいて、余分な物体矩形を削除する余分矩形抑制工程をさらに含むことを特徴とする物体検出方法。
 13.前記物体タグ情報算出工程によって算出した前記物体タグのタグ値を更新するタグ更新工程をさらに含み、
 前記タグ更新工程では、前記物体矩形ごとに算出された前記タグ値が、所定のマージン以上離れた複数のタグ領域に分散しているときに、各タグ領域の前記タグ値をそれぞれグループ化するとともに、同じタグ領域では同一で、異なるタグ領域間では異なるタグ値に変換することを特徴とする前記12に記載の物体検出方法。
 14.前記物体タグ情報算出工程によって算出した前記物体タグのタグ値を更新するタグ更新工程をさらに含み、
 前記タグ更新工程では、前記物体矩形ごとに算出された前記タグ値に対して、k-means法により、任意の範囲でクラスタ数を変化させて複数のクラスタを生成した後、エルボー法によって最適なクラスタ数を算出し、算出した前記クラスタ数の各クラスタの前記タグ値をそれぞれグループ化するとともに、同じクラスタでは同一で、異なるクラスタ間では異なるタグ値に変換することを特徴とする前記12に記載の物体検出方法。
 15.前記余分矩形抑制工程では、前記物体タグが同一である複数の物体矩形のうち、前記確信度が最も高い物体矩形に対する重なり度合いが閾値以上である物体矩形が示す物体のカテゴリの確信度をゼロにすることを特徴とする前記12から14のいずれかに記載の物体検出方法。
 16.前記畳み込み型ニューラルネットワークを予め機械学習させる学習工程をさらに含み、
 前記学習工程では、同一の物体に対する複数の物体矩形の各タグ値を互いに近づけるための第1の損失関数によって算出される第1の誤差と、異なる物体に対する複数の物体矩形の各タグ値を互いに遠ざけるための第2の損失関数によって算出される第2の誤差とを、逆誤差伝播法を用いて逆伝播することにより、前記畳み込み型ニューラルネットワークの各層のノード間の結合の強さを示す重みを更新することを特徴とする前記12から15のいずれかに記載の物体検出方法。
 17.前記学習工程では、物体矩形の位置精度を学習前よりも高めるための第3の損失関数によって算出される第3の誤差と、物体が存在するか否かの確信度を学習前よりも高めるための第4の損失関数によって算出される第4の誤差と、物体のカテゴリの確信度を学習前よりも高めるための第5の損失関数によって算出される第5の誤差とをさらに、逆誤差伝播法を用いて逆伝播することにより、前記重みを更新することを特徴とする前記16に記載の物体検出方法。
 18.前記学習工程では、異なる物体についての複数の物体矩形間の距離に応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記距離に応じて変化させることを特徴とする前記16または17に記載の物体検出方法。
 19.前記学習工程では、隣り合う物体のカテゴリに応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記カテゴリに応じて変化させることを特徴とする前記16または17に記載の物体検出方法。
 20.前記12から19のいずれかに記載の物体検出方法をコンピュータに実行させるためのプログラム。
 21.前記20に記載のプログラムを記録したコンピュータ読取可能な記録媒体。
 以上、本発明の実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で拡張または変更して実施することができる。
 本発明は、CNNを用いて画像から物体を検出する装置またはシステムに利用可能である。
   1   物体検出装置
   2   物体検出部
   2a  特徴量抽出部
   2b  情報取得部
   2c  物体タグ算出部
   3   タグ更新部
   4   余分矩形抑制部
  10b  学習制御部

Claims (20)

  1.  物体を含む画像から、畳み込み型ニューラルネットワークによるニューロ演算によって前記物体を検出する物体検出部を備えた物体検出装置であって、
     前記物体検出部は、
     前記画像から前記物体の特徴量を抽出する特徴量抽出部と、
     前記特徴量に基づいて、前記物体の位置の候補を示す物体矩形を複数求めるとともに、前記物体矩形ごとに、前記物体のカテゴリの情報および確信度を求める情報取得部と、
     前記特徴量に基づいて、前記物体矩形が前記画像中のどの物体に紐づくかを示す物体タグを前記物体矩形ごとに算出する物体タグ算出部とを含み、
     該物体検出装置は、
     前記物体のカテゴリが同一である複数の前記物体矩形を、前記物体タグに応じて複数の群に分離し、分離した各群において、前記確信度に基づいて、余分な物体矩形を削除する余分矩形抑制部をさらに備えている、物体検出装置。
  2.  前記物体タグ情報算出部によって算出した前記物体タグのタグ値を更新するタグ更新部をさらに備え、
     前記タグ更新部は、前記物体矩形ごとに算出された前記タグ値が、所定のマージン以上離れた複数のタグ領域に分散しているときに、各タグ領域の前記タグ値をそれぞれグループ化するとともに、同じタグ領域では同一で、異なるタグ領域間では異なるタグ値に変換する、請求項1に記載の物体検出装置。
  3.  前記物体タグ情報算出部によって算出した前記物体タグのタグ値を更新するタグ更新部をさらに備え、
     前記タグ更新部は、前記物体矩形ごとに算出された前記タグ値に対して、k-means法により、任意の範囲でクラスタ数を変化させて複数のクラスタを生成した後、エルボー法によって最適なクラスタ数を算出し、算出した前記クラスタ数の各クラスタの前記タグ値をそれぞれグループ化するとともに、同じクラスタでは同一で、異なるクラスタ間では異なるタグ値に変換する、請求項1に記載の物体検出装置。
  4.  前記余分矩形抑制部は、前記物体タグが同一である複数の物体矩形のうち、前記確信度が最も高い物体矩形に対する重なり度合いが閾値以上である物体矩形が示す物体のカテゴリの確信度をゼロにする、請求項1から3のいずれかに記載の物体検出装置。
  5.  前記物体検出部を予め機械学習させる学習制御部をさらに備え、
     前記学習制御部は、同一の物体に対する複数の物体矩形の各タグ値を互いに近づけるための第1の損失関数によって算出される第1の誤差と、異なる物体に対する複数の物体矩形の各タグ値を互いに遠ざけるための第2の損失関数によって算出される第2の誤差とを、逆誤差伝播法を用いて逆伝播することにより、前記物体検出部を構成する前記畳み込み型ニューラルネットワークの各層のノード間の結合の強さを示す重みを更新する、請求項1から4のいずれかに記載の物体検出装置。
  6.  前記学習制御部は、物体矩形の位置精度を学習前よりも高めるための第3の損失関数によって算出される第3の誤差と、物体が存在するか否かの確信度を学習前よりも高めるための第4の損失関数によって算出される第4の誤差と、物体のカテゴリの確信度を学習前よりも高めるための第5の損失関数によって算出される第5の誤差とをさらに、逆誤差伝播法を用いて逆伝播することにより、前記重みを更新する、請求項5に記載の物体検出装置。
  7.  前記学習制御部は、異なる物体についての複数の物体矩形間の距離に応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記距離に応じて変化させる、請求項5または6に記載の物体検出装置。
  8.  前記異なる物体についての複数の物体矩形間の前記距離は、各物体矩形の重心間の距離である、請求項7に記載の物体検出装置。
  9.  前記異なる物体についての複数の物体矩形間の前記距離は、各物体矩形間で対応する頂点同士の距離の平均である、請求項7に記載の物体検出装置。
  10.  前記異なる物体についての複数の物体矩形間の前記距離は、各物体矩形同士の重なり度合いである、請求項7に記載の物体検出装置。
  11.  前記学習制御部は、隣り合う物体のカテゴリに応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記カテゴリに応じて変化させる、請求項5または6に記載の物体検出装置。
  12.  物体を含む画像から、畳み込み型ニューラルネットワークによるニューロ演算によって前記物体を検出する物体検出工程を含む物体検出方法であって、
     前記物体検出工程は、
     前記画像から前記物体の特徴量を抽出する特徴量抽出工程と、
     前記特徴量に基づいて、前記物体の位置の候補を示す物体矩形を複数求めるとともに、前記物体矩形ごとに、前記物体のカテゴリの情報および確信度を求める情報取得工程と、
     前記特徴量に基づいて、前記物体矩形が前記画像中のどの物体に紐づくかを示す物体タグを前記物体矩形ごとに算出する物体タグ算出工程と、を含み、
     該物体検出方法は、
     前記物体のカテゴリが同一である複数の前記物体矩形を、前記物体タグに応じて複数の群に分離し、分離した各群において、前記確信度に基づいて、余分な物体矩形を削除する余分矩形抑制工程をさらに含む、物体検出方法。
  13.  前記物体タグ情報算出工程によって算出した前記物体タグのタグ値を更新するタグ更新工程をさらに含み、
     前記タグ更新工程では、前記物体矩形ごとに算出された前記タグ値が、所定のマージン以上離れた複数のタグ領域に分散しているときに、各タグ領域の前記タグ値をそれぞれグループ化するとともに、同じタグ領域では同一で、異なるタグ領域間では異なるタグ値に変換する、請求項12に記載の物体検出方法。
  14.  前記物体タグ情報算出工程によって算出した前記物体タグのタグ値を更新するタグ更新工程をさらに含み、
     前記タグ更新工程では、前記物体矩形ごとに算出された前記タグ値に対して、k-means法により、任意の範囲でクラスタ数を変化させて複数のクラスタを生成した後、エルボー法によって最適なクラスタ数を算出し、算出した前記クラスタ数の各クラスタの前記タグ値をそれぞれグループ化するとともに、同じクラスタでは同一で、異なるクラスタ間では異なるタグ値に変換する、請求項12に記載の物体検出方法。
  15.  前記余分矩形抑制工程では、前記物体タグが同一である複数の物体矩形のうち、前記確信度が最も高い物体矩形に対する重なり度合いが閾値以上である物体矩形が示す物体のカテゴリの確信度をゼロにする、請求項12から14のいずれかに記載の物体検出方法。
  16.  前記畳み込み型ニューラルネットワークを予め機械学習させる学習工程をさらに含み、
     前記学習工程では、同一の物体に対する複数の物体矩形の各タグ値を互いに近づけるための第1の損失関数によって算出される第1の誤差と、異なる物体に対する複数の物体矩形の各タグ値を互いに遠ざけるための第2の損失関数によって算出される第2の誤差とを、逆誤差伝播法を用いて逆伝播することにより、前記畳み込み型ニューラルネットワークの各層のノード間の結合の強さを示す重みを更新する、請求項12から15のいずれかに記載の物体検出方法。
  17.  前記学習工程では、物体矩形の位置精度を学習前よりも高めるための第3の損失関数によって算出される第3の誤差と、物体が存在するか否かの確信度を学習前よりも高めるための第4の損失関数によって算出される第4の誤差と、物体のカテゴリの確信度を学習前よりも高めるための第5の損失関数によって算出される第5の誤差とをさらに、逆誤差伝播法を用いて逆伝播することにより、前記重みを更新する、請求項16に記載の物体検出方法。
  18.  前記学習工程では、異なる物体についての複数の物体矩形間の距離に応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記距離に応じて変化させる、請求項16または17に記載の物体検出方法。
  19.  前記学習工程では、隣り合う物体のカテゴリに応じて、前記第2の損失関数の係数を変化させることにより、前記第2の誤差を前記カテゴリに応じて変化させる、請求項16または17に記載の物体検出方法。
  20.  請求項12から19のいずれかに記載の物体検出方法をコンピュータに実行させるためのプログラム。
PCT/JP2020/020344 2019-07-11 2020-05-22 物体検出装置、物体検出方法およびプログラム WO2021005898A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/621,469 US11836960B2 (en) 2019-07-11 2020-05-22 Object detection device, object detection method, and program
EP20837344.9A EP3998577A4 (en) 2019-07-11 2020-05-22 OBJECT RECOGNITION DEVICE, OBJECT RECOGNITION METHOD AND PROGRAM
JP2021530515A JPWO2021005898A1 (ja) 2019-07-11 2020-05-22

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019129183 2019-07-11
JP2019-129183 2019-07-11

Publications (1)

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

Family

ID=74113977

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/020344 WO2021005898A1 (ja) 2019-07-11 2020-05-22 物体検出装置、物体検出方法およびプログラム

Country Status (4)

Country Link
US (1) US11836960B2 (ja)
EP (1) EP3998577A4 (ja)
JP (1) JPWO2021005898A1 (ja)
WO (1) WO2021005898A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11828657B2 (en) * 2021-12-28 2023-11-28 University Of North Dakota Surface temperature estimation for building energy audits
CN114627556B (zh) * 2022-03-15 2023-04-07 北京百度网讯科技有限公司 动作检测方法、动作检测装置、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006010652A (ja) * 2004-06-29 2006-01-12 Toyota Motor Corp 物体検出装置
WO2019013246A1 (ja) * 2017-07-14 2019-01-17 オムロン株式会社 物体検出装置、物体検出方法、およびプログラム
JP2019061505A (ja) * 2017-09-27 2019-04-18 株式会社デンソー 情報処理システム、制御システム、及び学習方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4318465B2 (ja) * 2002-11-08 2009-08-26 コニカミノルタホールディングス株式会社 人物検出装置および人物検出方法
US8098891B2 (en) * 2007-11-29 2012-01-17 Nec Laboratories America, Inc. Efficient multi-hypothesis multi-human 3D tracking in crowded scenes
US9202144B2 (en) * 2013-10-30 2015-12-01 Nec Laboratories America, Inc. Regionlets with shift invariant neural patterns for object detection
US9881234B2 (en) * 2015-11-25 2018-01-30 Baidu Usa Llc. Systems and methods for end-to-end object detection
CN105628951B (zh) * 2015-12-31 2019-11-19 北京迈格威科技有限公司 用于测量对象的速度的方法和装置
US10387740B2 (en) * 2016-10-10 2019-08-20 Gyrfalcon Technology Inc. Object detection and recognition apparatus based on CNN based integrated circuits
CA3079983A1 (en) * 2017-10-24 2019-05-02 Waterloo Controls Inc. Systems and methods for detecting waste receptacles using convolutional neural networks
US10452959B1 (en) * 2018-07-20 2019-10-22 Synapse Tehnology Corporation Multi-perspective detection of objects
WO2020102988A1 (zh) * 2018-11-20 2020-05-28 西安电子科技大学 基于特征融合和稠密连接的红外面目标检测方法
JP6965299B2 (ja) * 2019-03-18 2021-11-10 株式会社東芝 物体検出装置、物体検出方法、プログラム、および移動体
US10650265B1 (en) * 2019-05-29 2020-05-12 Capital One Services, Llc Systems and methods for enhancing real-time image recognition
JP7481995B2 (ja) * 2020-10-28 2024-05-13 株式会社東芝 状態判定装置、方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006010652A (ja) * 2004-06-29 2006-01-12 Toyota Motor Corp 物体検出装置
WO2019013246A1 (ja) * 2017-07-14 2019-01-17 オムロン株式会社 物体検出装置、物体検出方法、およびプログラム
JP2019061505A (ja) * 2017-09-27 2019-04-18 株式会社デンソー 情報処理システム、制御システム、及び学習方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAN HOSANG ET AL.: "Learning non-maximum suppression", IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 9 May 2017 (2017-05-09)
NAVANEETH BODLA ET AL.: "Soft-NMS-Improving Object Detection With One Line of Code", 2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION, 8 August 2017 (2017-08-08)
See also references of EP3998577A4

Also Published As

Publication number Publication date
US20220351486A1 (en) 2022-11-03
US11836960B2 (en) 2023-12-05
EP3998577A4 (en) 2022-08-24
EP3998577A1 (en) 2022-05-18
JPWO2021005898A1 (ja) 2021-01-14

Similar Documents

Publication Publication Date Title
JP7185039B2 (ja) 画像分類モデルの訓練方法、画像処理方法及びその装置、並びにコンピュータプログラム
WO2020224403A1 (zh) 分类任务模型的训练方法、装置、设备及存储介质
WO2022017245A1 (zh) 一种文本识别网络、神经网络训练的方法以及相关设备
CN107609541B (zh) 一种基于可变形卷积神经网络的人体姿态估计方法
CN108734210B (zh) 一种基于跨模态多尺度特征融合的对象检测方法
CN111709310B (zh) 一种基于深度学习的手势跟踪与识别方法
US20180025249A1 (en) Object Detection System and Object Detection Method
US20210064871A1 (en) Apparatus and method for recognition of text information
CN108345827B (zh) 识别文档方向的方法、系统和神经网络
JP2020119527A (ja) レーンマスク(Lane Mask)を使用して後処理なしに入力イメージに含まれた一つ以上の車線を検出する方法及び装置、並びにそれを利用したテスト方法及びテスト装置{METHOD AND DEVICE FOR LANE DETECTION WITHOUT POST−PROCESSING BY USING LANE MASK, AND TESTING METHOD, AND TESTING DEVICE USING THE SAME}
WO2022179587A1 (zh) 一种特征提取的方法以及装置
WO2021005898A1 (ja) 物体検出装置、物体検出方法およびプログラム
TW202013311A (zh) 一種圖像處理方法、電子設備及存儲介質
CN112561060B (zh) 神经网络训练方法及装置、图像识别方法及装置和设备
JP2010157118A (ja) パターン識別装置及びパターン識別装置の学習方法ならびにコンピュータプログラム
CN112419326B (zh) 图像分割数据处理方法、装置、设备及存储介质
CN113449806A (zh) 基于层次结构的二阶段林业害虫识别与检测系统及方法
JP2021103347A (ja) 情報処理装置、情報処理方法及びプログラム
CN115018999A (zh) 一种多机器人协作的稠密点云地图构建方法及装置
EP3352112A1 (en) Architecture adapted for recognising a category of an element from at least one image of said element
WO2021218725A1 (zh) 一种图像数据处理方法及相关装置
JP7491308B2 (ja) 物体検出装置、物体検出方法、プログラムおよび記録媒体
WO2021155661A1 (zh) 一种图像处理方法以及相关设备
US20230326041A1 (en) Learning device, learning method, tracking device, and storage medium
CN112633179A (zh) 基于视频分析的农贸市场过道物体占道检测方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021530515

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020837344

Country of ref document: EP

Effective date: 20220211