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

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

Info

Publication number
WO2019171779A1
WO2019171779A1 PCT/JP2019/001487 JP2019001487W WO2019171779A1 WO 2019171779 A1 WO2019171779 A1 WO 2019171779A1 JP 2019001487 W JP2019001487 W JP 2019001487W WO 2019171779 A1 WO2019171779 A1 WO 2019171779A1
Authority
WO
WIPO (PCT)
Prior art keywords
detection
region
integrated
face
area
Prior art date
Application number
PCT/JP2019/001487
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 US16/970,689 priority Critical patent/US11494906B2/en
Priority to CN201980012610.4A priority patent/CN111699509B/zh
Priority to DE112019001138.3T priority patent/DE112019001138T5/de
Publication of WO2019171779A1 publication Critical patent/WO2019171779A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Definitions

  • the present invention relates to a technique for detecting an object from an image.
  • Patent Documents 1 and 2 a technique for detecting a predetermined object such as a human face from an image.
  • image detection accuracy has been dramatically improved.
  • deep learning is much more computationally intensive than conventional methods.
  • detection is first performed with an algorithm with a low computational load (lightweight algorithm), and the computational load such as deep learning is limited to only the detected area. It is conceivable to perform detection with a high-precision algorithm (high-precision algorithm). At this time, as a countermeasure against detection of many areas in detection using a lightweight algorithm, it is also possible to integrate these multiple areas and perform detection with a high-precision algorithm on the integrated area. It is done. According to such a method, the detection can be performed at a higher speed with the same accuracy as the detection using only the high-precision algorithm.
  • the number of integrated areas increases, so that sufficient speedup cannot be achieved.
  • the number of integrated regions is the same as or more than the number of people in the image. End up.
  • an object of the present invention is to provide a technique capable of detecting an object with high speed and high accuracy.
  • the present invention has first detection means and second detection means for detecting a predetermined object from an image using different detection algorithms, integrates candidate areas detected by the first detection means, and extracts candidate areas after integration. Object detection by the second detection means is executed only for the selected candidate region.
  • the target object may be any object, but examples include a human body part such as a human face and body, an animal or its part, a car, and a product.
  • an object detection apparatus is an object detection apparatus that detects an object from an image, and includes first detection means, second detection means, region integration means, and selection means.
  • the first detection means and the second detection means are both configured to detect a predetermined object from the image, but their detection algorithms are different.
  • the detection algorithm of the second detection means may be a detection algorithm that has higher detection accuracy but a larger amount of calculation than the first detection means.
  • the first detection means is configured to detect a plurality of candidate regions in which it is estimated that an object exists from the image.
  • the region integration unit is configured to determine one or a plurality of integrated regions based on the plurality of candidate regions.
  • the selecting means selects at least a part from the integrated area determined by the area integrating means.
  • the second detection means is configured to detect an object for the integrated region selected by the selection means.
  • the object can be detected by the second detection means only in the integrated region, so that the processing speed can be increased and the detection accuracy of the second detection means can be maintained.
  • the number of integrated areas to be processed by the second detecting means is narrowed down by the selecting means, a large number of objects are included in the image, and therefore a large number of integrated areas are determined. , A reduction in processing speed can be suppressed. That is, according to the object detection apparatus of the present invention, high-speed and high-precision object recognition can be realized.
  • the object detection apparatus can be suitably used when detecting an object from a moving image by further including tracking means for tracking the object. That is, the tracking unit is used to track an object or region that has been determined to be an object by the previous frame, and the first detection unit, the region integration unit, the selection unit, and the second detection unit are used for other regions. You may comprise so that the detection using may be performed.
  • an object (region) determined to be an object by the previous frame means an object (region) detected as an object by the second detection means in the processing for the previous frame and a tracking means. Includes both objects (regions) detected by tracking.
  • the tracking means may perform the tracking process in the current frame on the object determined to be the target in the previous frame.
  • the selection unit may select at least a part of the integrated region located in a region other than the region determined to be the object in the previous frame. In this way, even if the number of faces newly detected using the second detection means is limited in each frame, face detection by the tracking means can be performed. Therefore, even if there are a large number of objects in the image, if there is no change in the composition, the number of objects detected as objects by the second detection means increases, and after several frames, all objects are detected. Expected to be tracked by tracking means. In addition, since the integrated region to be processed by the second detection unit in each frame is limited, it is possible to prevent the calculation amount in each frame from becoming excessive.
  • the selection criteria are not particularly limited as long as the selection means is configured to select a predetermined number or less of integrated regions.
  • the selection unit may select a predetermined number of integrated regions whose reliability is equal to or greater than a threshold value from integrated regions located outside the region determined to be the object in the previous frame.
  • the reliability is a value related to the probability that the object is included in the integrated region.
  • the selection unit may select a predetermined number of integrated regions from the larger size among the integrated regions located outside the region determined to be the object in the previous frame.
  • the attributes of the objects included in the integrated area (for example, if the object is a person, age, gender, etc.) may be taken into account. It may be considered whether it is a unified area.
  • the reliability may be taken into consideration. For example, if the reliability of detection by the second detection means in the previous frame is low, the same integrated region may not be selected in the current frame, or the selection priority may be lowered.
  • the selection means does not always need to select “predetermined number” of integrated regions, and if there are no predetermined number of integrated regions that satisfy the condition, only the integrated regions that satisfy the condition need be selected.
  • the selection unit may select the integrated region in consideration of the detection score by the second detection unit in the previous frame.
  • the detection score reliability
  • the second detection means By selecting in consideration of the detection score by the second detection means in the previous frame, it is possible to prevent the same integrated region from being selected in such a case.
  • the detection score not only in the most recent one frame but also in the previous frame may be considered, and in this case, it is preferable to consider with a weight according to time. Further, the selection may be performed in consideration of the similarity of the area between frames.
  • the selection means can finally select “at least a part of the integrated region located in a region other than the region determined to be the object in the previous frame”.
  • One method for realizing this is to prevent the integrated region input to the selection unit from including “an integrated region located in a region determined to be an object in the previous frame”.
  • Another method is to exclude the “integrated region located in the region determined to be the object in the previous frame” from the input integrated region by the selection unit.
  • the object detection apparatus is configured such that the region is the object with respect to the region of the current frame image corresponding to the region of the object determined to be the target in the previous frame.
  • a pre-processing unit that performs pre-processing so that it is not detected may be further included.
  • a process of replacing a region with a predetermined pattern for example, a solid color filling pattern
  • filter processing is also assumed, but it is preferable that the processing load be as small as possible.
  • the object detection apparatus may further include a storage unit that stores a position of an area determined to be the object in the previous frame image.
  • the selection means can exclude the integrated area at the position stored in the storage means from the selection target.
  • the specific processing content is not particularly limited.
  • a representative area may be determined from the candidate areas, and other candidate areas within a predetermined distance from the representative area may be integrated.
  • the probability that an object exists in the integrated area can be increased.
  • the integration can be performed so that only one object is included in one integrated region.
  • the present invention can be understood as an object detection apparatus including at least a part of the above means.
  • the present invention can also be understood as an object detection method.
  • it can also be grasped as a computer program for causing a computer to execute each step of these methods, or a computer-readable storage medium storing the program in a non-temporary manner.
  • high-speed and high-accuracy object detection is possible, and high-precision object detection can be used even in a computer with scarce calculation resources.
  • FIG. 1 is a block diagram showing a configuration of an application example of the present invention.
  • FIG. 2 is a diagram illustrating a hardware configuration of the face detection apparatus according to the first embodiment.
  • FIG. 3 is a block diagram showing a configuration of the face detection apparatus according to the embodiment of the table.
  • 4A and 4B are diagrams illustrating the face detection process by the first detection unit 112.
  • FIG. 5A and 5B are diagrams illustrating the face detection process by the first detection unit 112.
  • FIG. FIG. 6 is a flowchart showing the flow of region integration processing by the region selection unit 114.
  • FIG. 7A and FIG. 7B are flowcharts showing an example of integrated area determination in the area integration process.
  • FIG. 8 is a diagram for explaining an example of the region integration processing.
  • FIG. 1 is a block diagram showing a configuration of an application example of the present invention.
  • FIG. 2 is a diagram illustrating a hardware configuration of the face detection apparatus according to the first embodiment.
  • FIG. 3 is
  • FIG. 9 is a flowchart showing a flow of region selection processing by the region selection unit 114.
  • FIG. 10 is a flowchart illustrating a flow of face detection processing by the face detection apparatus according to the first embodiment.
  • FIG. 11 is a diagram for explaining face detection processing by the face detection apparatus according to the first embodiment.
  • FIG. 12 is a block diagram illustrating a configuration of a face detection device according to a modification of the first embodiment.
  • FIG. 13A and FIG. 13B are diagrams for explaining an example of pre-processing in a modification of the first embodiment.
  • the object to be detected by the object detection apparatus of the present invention may be any object, but here, an application example applied to face detection will be described.
  • a face detection apparatus having a first face detection unit using Haar-like feature quantities and Adaboost and a second face detection unit using deep learning
  • the following detection method is conceivable.
  • the entire input image is detected by the first face detection unit to determine a region (face candidate region) where a face is likely to exist. Since many face candidate regions are obtained by the first face detection unit, a plurality of regions corresponding to the same face are integrated, and face detection by the second face detection unit is performed only on the integrated region.
  • highly accurate face detection using deep learning can be realized in a short time.
  • the input image includes a large number of persons, the number of integrated regions increases, and thus sufficient speedup cannot be achieved.
  • FIG. 1 is a block diagram showing a configuration of a face detection apparatus 10 to which the present invention is applied.
  • the face detection device 10 includes a first detection unit 12, a region integration unit 13, a region selection unit 14, and a second detection unit 15. Each of these units may be mounted by the CPU executing a program, or may be mounted by a dedicated logic circuit such as an ASIC.
  • the image input unit 11 acquires image data to be a face detection target.
  • the input image may be a still image or a moving image.
  • the first detection unit 12 performs face detection using a relatively fast and lightweight algorithm. For example, an algorithm using Haar-like features and Adaboost can be employed.
  • the area where the face is estimated to be present by the first detection unit 112 is hereinafter referred to as a face candidate area.
  • the first detection unit 112 detects a plurality of face candidate regions for the periphery of one face.
  • the 1st detection part 112 is an example of the 1st detection means of this invention.
  • the first detection unit 12 can use an arbitrary feature amount such as a HoG (Histgram of Gradient) feature amount, a SIFT feature amount, or a SURF feature amount as a feature amount.
  • a learning method a boosting method other than Adaboost, an arbitrary learning method such as SVM (Support Vector Vector), neural network, or decision tree learning can be used.
  • the region integration unit 113 integrates the face candidate regions detected by the first detection unit 112. As described above, since the first detection unit 112 detects a plurality of face candidate regions for the periphery of one face, the region integration unit 113 integrates a plurality of face candidate regions estimated to correspond to one face. To generate an integrated area.
  • the region integration unit 113 is an example of a region integration unit of the present invention.
  • the area selection unit 114 selects an integrated area to be processed by the second detection unit 115 from the integrated areas determined by the area integration unit 113.
  • An upper limit may be set for the number of integrated regions selected by the region selection unit 114.
  • the area selection unit 114 selects a predetermined number (within) of integrated areas having a high conformity rate of the standard according to a predetermined standard.
  • the detection score (reliability) by the first detection unit 112 the size of the integrated region, the attributes (such as age and gender) of the face (person) included in the integrated region can be employed.
  • the area selection unit 114 is an example of a selection unit of the present invention.
  • the second detection unit 115 performs face detection using a relatively high accuracy and low speed algorithm.
  • an algorithm using deep learning such as CNN (convolutional neural network) can be employed. Face detection is performed on the integrated region selected by the second detection unit 115 and the region selection unit 114.
  • the 2nd detection part 115 is an example of the 2nd detection means of this invention.
  • the algorithm of the second detection unit 15 is not limited to CNN, and any method such as RNN (Recurrent Neural Network), SAE (Stacked Auto Encoder), DBN (Deep Belief Network) can be used.
  • the number of integrated regions to be detected by the second detection unit 15 is limited. Therefore, even when there are a large number of faces in the input image, high speed and high accuracy. Face detection can be performed.
  • the face detection device 10 has a limitation that the maximum number of faces that can be detected from one image (frame image) is limited to a predetermined number. All faces can be detected. That is, the face detection apparatus 10 tracks the detected face by the face tracking process, and detects a new face by the first detection unit 12 and the second detection unit 15. In this way, a new face is detected by the second detection unit 15 for each frame while suppressing the amount of calculation in each frame, and finally becomes a tracking target by the face tracking process, and finally all the faces in the image Will be tracked by the tracking process. Since the face tracking process is light and accurate enough, such a configuration can detect all faces in a moving image with high accuracy while minimizing the decrease in processing speed. it can.
  • the embodiment described below relates to a face detection device (object detection device) that is mounted on a portable information terminal such as a smartphone and detects a face from a moving image.
  • a face detection device object detection device
  • the object to be detected from the image need not be a face, and may be any object.
  • the face detection device object detection device
  • the face detection device may be mounted on any information processing device (computer) other than the portable information terminal.
  • the face detection apparatus is used for, for example, autofocus (AF), person count, vehicle driver monitoring (driver monitoring), and person detection with a security camera installed in a place where a large number of people are present. Applicable.
  • FIG. 2 is a diagram illustrating a hardware configuration of the face detection apparatus 100 according to the present embodiment.
  • the face detection device 100 includes an image input unit 101, a calculation device 102, a storage device 103, a communication device 104, an input device 105, and an output device 106.
  • the image input unit 101 is an interface that receives image data from the camera 110. In this embodiment, image data is directly received from the camera 110, but image data may be received via the communication device 104 or image data may be received via a recording medium.
  • the arithmetic device 102 is a general-purpose processor such as a CPU (Central Processing Unit), and executes a program stored in the storage device 103 to execute processing to be described later.
  • CPU Central Processing Unit
  • the storage device 103 includes a main storage device and an auxiliary storage device, stores a program executed by the arithmetic device 102, and stores image data and temporary data during execution of the program.
  • the communication device 104 is a device for the face detection device 100 to communicate with an external computer. The form of communication may be wired or wireless, and the communication standard may be arbitrary.
  • the input device 105 includes any one of a touch screen, a button, a keyboard, and the like, and is a device for a user to input an instruction to the face detection device.
  • the output device 106 includes a display device, a speaker, and the like, and is a device for the face detection device to output to the user.
  • the arithmetic device 102 executes processing of each unit illustrated in FIG. 3 by executing a program. That is, the arithmetic device 102 executes the respective processes performed by the image input unit 111, the first detection unit 112, the region integration unit 113, the region selection unit 114, the second detection unit 115, the face tracking unit 116, and the result output unit 117. To do. The processing content of each part will be described below.
  • the image input unit 111 acquires image data as a face detection target.
  • the image input in this embodiment assumes a moving image, but the input image may be a still image.
  • the input image may be acquired from the camera 20 via the image input unit 101, may be acquired from another computer via the communication device 104, or acquired from a storage medium via the storage device 103. Also good.
  • the first detection unit 112 detects a face candidate area (an area where a face is estimated to exist) from the input image.
  • the first detection unit 112 is configured to be able to detect faces of various sizes and orientations from the input image.
  • the first detection unit 112 also estimates the certainty factor and the face direction.
  • the first detection unit 112 may estimate attributes such as gender, age, and race, and may perform face authentication, and the results of these processes may be used in subsequent processes.
  • the first detection unit 112 is configured to use Haar-like feature quantities as image feature quantities and AdaBoost as a learning algorithm.
  • Haar-like feature quantities as image feature quantities
  • AdaBoost AdaBoost
  • the first detector 112 detects a rectangular area 310 having a predetermined size from each of the reduced images 301 to 303 obtained by reducing the input image at a plurality of magnifications in order to detect faces of various sizes.
  • the discriminator 320 is used to determine whether or not a face is included in the area. By scanning the rectangular area 310 in the reduced images 301 to 303, faces of various sizes included in the image can be detected.
  • the rectangular area is cut out, but the cut out area may be an area having an arbitrary shape other than the rectangle.
  • the discriminator 320 determines whether or not the collation pattern cut out by the rectangular area 310 is a face.
  • the discriminator 320 extracts feature quantities (Haar-like feature quantities) based on a light / dark relationship from a plurality of local regions in the matching pattern.
  • the classifier 320 has a plurality of weak classifiers, and each weak classifier determines whether or not the matching pattern is a face based on a small number of feature amounts. Although the discrimination performance of each weak classifier is low, it is possible to discriminate whether or not it is a face with high accuracy by combining the plurality of weak classifiers.
  • the discriminator 320 outputs the probability (reliability) that the collation pattern is a face pattern as an output value. Therefore, an area having a reliability greater than or equal to a predetermined threshold is treated as a face candidate area.
  • FIG. 5A shows an input image 400.
  • people 401 and 402 are shown.
  • face detection processing by the first detection unit 112 is performed on the input image 400 as described above, a plurality of face candidate regions are detected around the faces of the persons 401 and 402. This is because the collation pattern is determined to be a face even if the position and size of the collation pattern slightly change around the face.
  • FIG. 5B shows an exemplary detection result for the input image 400.
  • Three face candidate areas 411, 412, 413 are detected around the face of the person 401, and three face candidate areas 414, 415, 416 are detected around the face of the person 402. Further, the face candidate area 417 is detected from an area where no face actually exists. This occurs when the background pattern happens to be similar to a face.
  • the region integration unit 113 integrates a plurality of candidate regions detected by the first detection unit 112.
  • the region integration unit 113 groups a plurality of candidate regions and determines one integrated region from the candidate regions of each group.
  • FIG. 6 is a flowchart showing details of the integrated region determination processing by the region integration unit 113. Hereinafter, description will be given according to the flowchart of FIG.
  • the region integration unit 113 selects, from the plurality of candidate regions detected in step S2, the one with the highest reliability as the representative region.
  • the representative area need not be determined based on the reliability alone, and may be determined in consideration of other information such as the area size and face orientation.
  • the region size a region having a large size may be given priority, or a region close to a predetermined size may be given priority. Further, when determining the representative area, the determination may be performed based on the area size or other information without using the reliability.
  • the processing loop L1 of steps S32 to S34 is executed for a region other than the representative region among the plurality of detected candidate regions.
  • a candidate area to be processed in the loop L1 is referred to as a target candidate area here.
  • the region integration unit 113 calculates a related score between the representative region and the target candidate region.
  • the related score is a score representing the probability that the representative area and the target candidate area are the same face area.
  • the related score can be calculated based on the distance between the regions (for example, the distance between the region centers) and the size of the candidate region. For example, the related score is calculated to be larger as the distance between the regions is shorter. Further, the smaller the difference in region size, the larger the related score is calculated.
  • the distance between regions and the similarity of region sizes can be regarded as examples of the similarity of detection results by the first detection unit 112.
  • the related score may be determined based on the similarity of other items of the detection result by the first detection unit 112. For example, the related score may be calculated based on the degree of similarity of the detected face orientation and the degree of similarity of the detected face attributes (for example, age, gender, race, facial expression, etc.).
  • a function including these plurality of elements as a variable may be used.
  • the related score may be determined by the average or the weighted average of the similarity of each element. What is necessary is just to determine the weight in the case of a weighted average suitably.
  • step S33 the region integration unit 113 determines whether or not the related score of the candidate region of interest is equal to or greater than a threshold T1. If the related score is greater than or equal to the threshold T1 (S33—YES), in step S34, the region integration unit 113 determines that the candidate region of interest is a related region of the representative region. That is, the attention candidate areas are grouped into the same group as the representative area.
  • the candidate areas related to the representative area can be determined by performing the above steps S32 to S34 for all candidate areas.
  • region whose related score is more than threshold value T1 is determined as a related area
  • region here, you may determine the predetermined number of candidate area with the largest related score as a related area.
  • a candidate area having a related score that is equal to or higher than the threshold value T1 and having a higher related score may be determined as the related area.
  • step S35 the region integration unit 113 determines the integrated region by integrating the representative region and the related region.
  • the method for determining the integrated area is not particularly limited. Here, two integrated area determination methods will be described with reference to FIGS. 7A and 7B.
  • the representative area itself may be determined as the integrated area (step S351).
  • the integrated region determination process S35 may be configured by the following steps. First, a related area belonging to the same group as the representative area is acquired (S352). Next, an average value of each parameter for determining the region for the representative region and the related region is calculated. (Step S353). Finally, an area having the calculated average value as a parameter is determined as an integrated area (S354). Examples of parameters include an average value at the center of the region and an average value of the region size. Examples of other parameters include reliability, face orientation, age, gender, race, facial expression, and the like.
  • step S36 it is determined whether or not a candidate area having a reliability level equal to or higher than the threshold T2 remains. Specifically, whether or not there is a candidate area detected by the first detector 112 other than the representative area or the related area that is determined as the related area has a reliability level equal to or higher than the threshold T2. Is judged. If there is a candidate area with a reliability level equal to or greater than the threshold value G2, the process returns to step S31 and the above process is repeated. At this time, the area determined to be the representative area or the related area is excluded from the processing target, and the processes of steps S31 to S35 are performed.
  • FIG. 8 is a diagram illustrating a processing example in which the above-described integration processing is performed on the detection result illustrated in FIG. 5B.
  • candidate areas 411 to 417 for example, candidate areas 411, 415, and 417 are determined as representative areas, respectively. Then, an integrated area 421 composed of candidate areas 411 to 413, an integrated area 422 composed of candidate areas 414 to 416, and an integrated area 423 composed only of candidate areas 417 are determined.
  • the region selection unit 114 selects a target for face detection by the second detection unit 115 from among a plurality of integrated regions integrated by the region integration unit 113.
  • the area selection unit 114 selects an integrated area according to the following criteria. (1) Do not select an integrated region at a position determined to be a face in the previous frame. (2) Select a predetermined number of integrated regions with higher evaluation values from integrated regions other than (1).
  • the area selection processing by the area selection unit 114 will be described with reference to the flowchart of FIG.
  • step S91 the region selection unit 114 acquires the position of the face region detected in the previous frame.
  • the final face detection result in each frame is obtained by the second detection unit 115 or the face tracking unit 116, and information such as the position, size, reliability, and attribute of the detected face area is stored in the detection result storage unit 118. Stored.
  • the region selection unit 114 can grasp the position of the face region detected in the previous frame by referring to the detection result storage unit 118.
  • step S92 the area selection unit 114 compares the position of the integrated area of the current frame with the position of the face area in the previous frame, thereby excluding the integrated area at the position determined to be a face in the previous frame from the selection target. To do. In determining whether or not the integrated area of the current frame matches the face area in the previous frame, not only the position but also the area size and the similarity of images in the area may be considered.
  • the area selecting unit 114 calculates an evaluation value for the integrated area remaining after step S92.
  • the evaluation value of the integrated area is a value calculated higher as the probability that a face is included in the integrated area is higher.
  • the reliability of the integrated area can be adopted.
  • the reliability of the integrated region can be determined based on the reliability (detection score) of the first detection unit 112 with respect to each of the face candidate regions constituting the integrated region. For example, the average value of the reliability of the first detection unit 112 can be adopted as the reliability of the integrated region.
  • the size of the integrated region may be adopted as the evaluation value of the integrated region, and the evaluation value may be increased as the size increases.
  • the evaluation value of the integrated area may be adopted as the evaluation value of the integrated area.
  • the evaluation value may be determined in consideration of a plurality of items. For example, the evaluation value may be determined by an average (simple average, weighted average) of the first evaluation value based on the reliability and the second evaluation value based on the region size.
  • the evaluation value may be determined in consideration of the detection reliability by the second detection unit 115.
  • the area selection unit 114 selects a predetermined number of integrated areas having higher evaluation values.
  • the predetermined number is determined as a value such that the face detection process is completed within one frame period. Therefore, the predetermined number is a parameter to be determined according to the amount of calculation resources of the face detection apparatus 100. Further, a condition that the evaluation value is equal to or greater than a threshold value may be added as a condition for selecting the integrated region. In this way, it is possible to suppress a region having a low probability of including a face from being a processing target of the second detection unit 115.
  • the threshold value is a value that may be considered that no face is included in the integrated region if the evaluation value is less than that.
  • the second detection unit 115 determines whether or not each integrated region selected by the region selection unit 114 includes a face.
  • the second detection unit 115 is a discriminator learned using a multilayer neural network called a convolutional neural network (CNN). With heterogeneous learning, not only face / non-face discrimination but also multiple tasks such as face orientation, age, gender, race, and facial expression can be discriminated.
  • the second detection unit 115 of the present embodiment also implements these discrimination tasks.
  • Information regarding the area detected as a face by the second detection unit 115 is stored in the detection result storage unit 118.
  • Information relating to the integrated area detected as a face by the second detection unit 115 may also be stored in the detection result storage unit 118.
  • the face tracking unit 116 detects the face detected in the previous frame in the current frame.
  • the tracking processing by the face tracking unit 116 can employ any known tracking algorithm.
  • the face tracking unit 116 detects a face only for the periphery of the face area detected in the previous frame. Since the tracking process is performed in this way, it can be executed at high speed.
  • Information on the face area detected by the face tracking unit 116 is stored in the detection result storage unit 118.
  • the result output unit 117 outputs the detection result for the face area detected by the second detection unit 115 and the face tracking unit 116.
  • the result output unit 117 outputs result information indicating that a face has been detected for the integrated region where the reliability of the detection result is equal to or greater than the threshold.
  • the integrated area whose reliability is less than the threshold need not be included in the result information.
  • the detection result information preferably includes at least a face region, and in addition to this, includes at least one of reliability, face orientation, age, sex, race, facial expression, and the like.
  • the result output unit 117 may output the detection result information in any manner.
  • the result output unit 117 may display the detection result information on a screen, store it in a storage device, notify other modules or other devices, A plurality of may be performed.
  • the detection result storage unit 118 stores information such as the position / size / attribute of the face area detected by the second detection unit 115 and the face tracking unit 116.
  • the detection result storage unit 118 includes face detection reliability (detection score) for each integrated region in which the second detection unit 115 has performed the detection process, including integrated regions determined not to include a face. May be stored.
  • step S1001 a frame image to be treated is acquired from the moving image data acquired by the image input unit 111. Note that not all frames of the moving image need to be subject to face detection processing, and face detection processing may be performed every several frames.
  • the frame image acquired in step S1001 is referred to as a current frame image. Further, the frame image that has been processed until then is referred to as a previous frame image.
  • step S1002 a detection result for the previous frame image is acquired, and an area detected as a face area in the previous frame is grasped.
  • face detection is performed by the processing in steps S1003 to S1006 for an area determined not to be a face area in the previous frame.
  • face tracking is performed in step S1007 for an area determined to be a face area in the previous frame.
  • steps S1003 to S1006 are performed for an area that is determined not to be a face area in the previous frame, but the face area detected in the previous frame is detected in step S1006. If it is not the processing target of the second detection process, the area may be the processing target of steps S1003 to S1005.
  • step S1003 the first detection unit 112 performs face detection processing on the entire current frame image using a relatively lightweight algorithm using Haar-like feature values and Adaboost.
  • the face detection process by the first detection unit 112 is as described with reference to FIGS.
  • the first detection unit 112 detects a plurality of face candidate regions for the periphery of one face. Therefore, in step S1004, the region integration unit 113 is estimated to correspond to one face.
  • the face candidate areas are integrated to generate an integrated area.
  • the area integration processing is as described with reference to FIGS.
  • step S1005 the area selection unit 114 selects a part from the integrated area integrated in step S1005.
  • the area selection unit 114 excludes the integrated area at the position determined to be a face in the previous frame, and selects a predetermined number of integrated areas with higher evaluation values.
  • the area selection process by removing the integrated area corresponding to the face area detected in the previous frame, the areas other than the face area detected in the previous frame are processed by the second detection unit 115. .
  • step S1006 the second detection unit 115 performs face detection processing using the deep learning algorithm for the integrated region selected in step S1005.
  • the detection result by the second detection unit 115 is stored in the detection result storage unit 118.
  • step S1007 the face tracking unit 116 performs tracking processing of the face detected in the previous frame, and detects the position in the current frame.
  • the face tracking unit 116 stores the result of the tracking process in the detection result storage unit 118.
  • step S1008 After the completion of both the detection process by the second detection unit 115 and the tracking process by the face tracking unit 116, the detection result for the current frame image is determined.
  • step S1009 the result output unit 117 outputs the detection result. For example, an image in which a rectangle indicating a face area is superimposed on a frame image is displayed on the output device 106 (display).
  • step S1010 it is determined whether or not the face detection process ends.
  • the end of the face detection may be explicitly instructed by the user, for example, or the face detection may be ended when the image input is completed.
  • the process returns to step S1001 and the same process is repeated for the next frame.
  • FIGS. 11A to 11D an operation example when the face detection processing according to the present embodiment is applied to continuous frames will be described.
  • the number of integration processing (predetermined number) selected by the region selection unit 114 is two, and an image in which three persons are captured is processed.
  • FIG. 11A is a diagram for explaining processing for the first frame.
  • five integrated regions A to E are acquired as a result of processing by the first detection unit 112 and the region integration unit 113.
  • all integrated regions are candidates for detection processing using the second detection unit 115.
  • the second detection unit 115 performs face detection processing using the deep learning algorithm for the integrated regions B and C, and detects faces from both B and C in the integrated regions. Thereby, in the first frame, it is determined that the integrated regions B and C are face regions.
  • FIG. 11B is a diagram illustrating processing for the second frame.
  • the faces existing in the regions B and C are targeted for tracking processing by the face tracking unit 116.
  • the face tracking unit 116 detects a face from a position substantially the same as that of the first frame.
  • the results of the first detection unit 112 and the region integration unit 113 are the same as those in the first frame, and five integrated regions A to E are included. To be acquired.
  • the areas B and C are determined as face areas in one frame, the areas are not selected by the area selection unit 114. It is assumed that the area selection unit 114 selects two integrated areas A and D having higher evaluation values from the areas A, D, and E.
  • the second detection unit 115 performs face detection processing using the deep learning algorithm for the integrated regions A and D, and determines that the integrated region D is a face region, but determines that the integrated region A is not a face region. .
  • the integrated regions B, C, and D are face regions.
  • FIG. 11C is a diagram illustrating processing for the third frame. This time, faces existing in the regions B, C, and D are targeted for the tracking processing by the face tracking unit 116.
  • the face tracking unit 116 detects a face from a position substantially the same as that in the second frame.
  • the results of the first detection unit 112 and the region integration unit 113 are the same as those in the first frame, and five integrated regions A to E are included. To be acquired.
  • the areas B, C, and D are determined to be face areas in one frame, the areas are not selected by the area selection unit 114. Therefore, the region selection unit 114 selects the region E.
  • the second detection unit 115 performs face detection processing using the deep learning algorithm for the integrated region E, and determines that the integrated region E is not a face region.
  • the integrated regions B, C, and D are face regions.
  • FIG. 11D is a diagram illustrating processing for the fourth frame. This time, the faces existing in the regions B, C, and D are also subjected to tracking processing by the face tracking unit 116.
  • the face tracking unit 116 detects a face from a position substantially the same as that in the third frame.
  • the integrated region E is selected in the third frame, but the integrated region A may also be selected. Similarly, the integrated region E may be selected in the fourth and subsequent frames.
  • the first detection unit 112 always detects that the areas A and E are face areas. It can be expected that the first detection unit 112 will not detect the face area.
  • the processing load can be reduced by limiting the number of integrated regions for deep learning type face detection, the number of faces that can be detected at one time is limited. Therefore, by applying this method to moving images, detected faces are detected by face tracking processing, and undetected faces are detected by deep learning type face detection processing. All faces can be detected.
  • the region selection unit 114 excludes the integrated region at the position of the face region detected in the previous frame from the selection target, so that the integrated region at the position of the face detected in the previous frame is obtained. This prevents the second detection unit 115 from being a target of detection processing.
  • similar effects can be obtained by methods other than those described above.
  • FIG. 12 is a diagram showing a configuration of the face detection apparatus 100 according to this modification. Compared to the first embodiment, a difference is that a pre-processing unit 119 is provided in front of the first detection unit 112.
  • the preprocessing unit 119 refers to the detection result storage unit 118 and processes the area in which the face is detected in the previous frame so that the first detection unit 112 does not detect the face from the area. .
  • FIG. 13A it is assumed that a face is detected from the integrated regions B and C in the first frame image.
  • a process of filling the position of the face area (integrated areas B and C) with a single color pattern is performed on the second frame image as a preprocess.
  • the face area may be replaced with a pattern image other than a single color pattern, or the face area may be filtered.
  • the region to be processed need not be the entire face region, and may be only a part of the face region as long as it is not detected as a face.
  • the face candidate area detected by the first detection unit 112 and hence the integration area determined by the area integration unit 113, does not include the area determined to be the face area in the previous frame. . Therefore, in this modification, the area selection unit 114 does not need to refer to the detection result of the previous frame, and simply selects the integrated area according to the evaluation value.
  • Modification 2 When the region selection unit 114 selects the integrated region, the region detected by the second detection unit 115 in the previous frame is determined not to be a face by using the detection result that the second detection unit 115 does not face in the previous frame. May not be selected. This is because the detection accuracy of face detection by the second detection unit 115 is high, and there is a high possibility that the area does not include a face.
  • the area selection unit 114 does not select the frame for only several frames determined by the second detection unit 115 as not being a face.
  • the area selection unit 114 may be configured not to select when the area is determined not to be a face area in the previous frame and the image similarity is equal to or greater than a threshold value.
  • the processing described here may not be performed. This is because if the region is not a face, the first detection unit 112 is unlikely to be continuously detected as a face. In addition, if the region is not a face, even if the first detection unit 112 detects the face, the reliability is low, and the priority selected by the region selection unit is lowered. In addition, even if the second detection unit 115 selected by the region selection unit 114 becomes a processing target, the number of regions processed by the second detection unit 115 is limited, so that the processing load becomes a problem. This is because it can be avoided.
  • the first detection unit 112 is a detector using Haar-like feature quantities and adaboost learning, but is not limited thereto.
  • any feature amount such as a HoG (Histgram of Gradient) feature amount, SIFT feature amount, SURF feature amount, or Sparse feature amount can be used as the feature amount.
  • a learning means a boosting method other than adaboost, an arbitrary learning method such as SVM (Support Vector Machine), neural network, or decision tree learning can be used.
  • SVM Small Vector Machine
  • feature amount extraction using an integral image, a discriminator using a cascade structure, and the like can also be employed.
  • the second detection unit 115 is not limited to the CNN, and is a detector by any method such as RNN (Recurrent Neural Network), SAE (Stacked Auto Encoder), DBN (Deep Belief Network), or DNN (Deep Neural Network). Good. Further, the second detector 115 may not be a detector using deep learning. However, it is desirable that the detection algorithm of the second detection unit 115 can be detected with higher accuracy and has a larger calculation amount than the detection algorithm of the first detection unit 112. *
  • the algorithm of the first detection unit 112 is not a technique for deep learning
  • the algorithm of the second detection unit 115 is not a technique for deep learning, and may be different from each other. Both of the two algorithms may be non-deep learning algorithms or both may be deep learning algorithms.
  • the algorithm of the first detection unit 112 may be a method using a Haar feature amount and a Boosting learning method
  • the algorithm of the second detection unit 115 may be a method using a HoG feature amount and a Boosting learning method.
  • the algorithm of the first detection unit 112 may be CNN and the algorithm of the second detection unit 115 may be DNN.
  • the detection target object is a face, but the detection target object may be any object. That is, the present invention is applicable to an object detection device that detects an arbitrary predetermined object.
  • detection target objects there are human bodies, specific animals, automobiles, specific products, and the like.
  • the object detection device is mounted on a portable information terminal such as a smartphone, but may be mounted on any device.
  • the object detection apparatus according to the present invention can be mounted on any information processing apparatus (computer) such as a desktop computer, a notebook computer, a slate computer, a smartphone, a mobile phone, a digital camera, or a digital video camera.
  • a desktop computer such as a desktop computer, a notebook computer, a slate computer, a smartphone, a mobile phone, a digital camera, or a digital video camera.
  • a mobile phone such as a digital camera, or a digital video camera.
  • the effect of the present invention becomes more conspicuous by being mounted on a device having relatively few computing resources.
  • An object detection apparatus comprising:
  • 100 face detection device
  • 111 image input unit
  • 112 first detection unit
  • 113 region integration unit
  • 114 region selection unit
  • 115 second detection unit
  • 116 Face tracking unit
  • 117 Result output unit
  • 118 Detection result storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Image Analysis (AREA)

Abstract

画像から対象物を検出する物体検出装置であって、前記画像から前記対象物が存在する候補領域を複数検出する第1検出手段と、前記第1検出手段によって検出された複数の候補領域に基づいて、1つまたは複数の統合領域を決定する領域統合手段と、前記統合領域の中から、少なくとも一部を選択する選択手段と、選択された統合領域を対象として、前記第1検出手段とは異なる検出アルゴリズムによって前記対象物を検出する第2検出手段と、を備える。

Description

物体検出装置、物体検出方法、およびプログラム
 本発明は、画像から物体を検出する技術に関する。
 従来より、画像から人の顔などの所定の物体を検出する技術が知られている(特許文献1、特許文献2)。近年、深層学習(ディープラーニング)の登場により、画像検出精度が飛躍的に向上している。しかし、深層学習は計算量が従来手法に比べて格段に多い。
 このように深層学習は計算負荷が高いため、モバイルデバイスのような組込機器には適さないとみなされていた。近年の技術革新を考慮しても、組込機器において深層学習アルゴリズムを実行することは容易ではない。このような状況を考慮すると、組込機器のような計算資源の乏しい機器においても動作可能な、高速かつ高精度な物体検出アルゴリズムが求められる。
特開2007-133840号公報 特開2008-102611号公報
 計算資源の乏しい機器においても高速かつ高精度な物体検出を行うために、まず計算負荷が少ないアルゴリズム(軽量アルゴリズム)で検出を行い、検出された領域のみを対象として深層学習のような計算負荷は多いが高精度なアルゴリズム(高精度アルゴリズム)で検出を行うことが考えられる。この際、軽量アルゴリズムを用いた検出において多くの領域が検出されることへの対策として、これら複数の領域を統合して、統合後の領域に対して高精度アルゴリズムでの検出を行うことも考えられる。このような手法によれば、高精度アルゴリズムのみを用いた検出と同様の精度で、それよりも高速に検出が行える。
 しかしながら、画像中に検出対象物が多数含まれる場合には、統合領域の数が多くなるため十分な高速化が達成できない。たとえば、集合写真を対象として顔検出を行う場合、統合領域の数は画像内の人物の数と同じまたはそれ以上となり、これら全てを対象に高精度アルゴリズムによる検出を行うと計算時間が多大になってしまう。
 このような問題を考慮して、本発明は、高速かつ高精度な物体検出が可能な技術を提供することを目的とする。
 本発明は、互いに異なる検出アルゴリズムによって画像から所定の物体を検出する第1検出手段および第2検出手段を有し、第1検出手段によって検出された候補領域を統合し、統合後の候補領域から選択された候補領域に対してのみ第2検出手段による物体検出を実行する。対象物は任意の物体であって構わないが、人の顔や身体などの人体部位、動物あるいはその部位、自動車、商品が例として挙げられる。
 より具体的には、本発明の一態様に係る物体検出装置は、画像から対象物を検出する物体検出装置であり、第1検出手段、第2検出手段、領域統合手段、選択手段を備える。第1検出手段及び第2検出手段は、いずれも画像から所定の対象物を検出するように構成されるが、それぞれの検出アルゴリズムは異なる。ここで、第2検出手段の検出アルゴリズムは、第1検出手段と比較して、検出精度が高いが計算量が多い検出アルゴリズムであってよい。
 第1検出手段は、画像から対象物が存在すると推定される候補領域を複数検出するように構成される。領域統合手段は、これら複数の候補領域に基づいて、1つまたは複数の統合領域を決定するように構成される。選択手段は、領域統合手段によって決定された統合領域の中から、少なくとも一部を選択する。第2検出手段は、選択手段によって選択された統合領域を対象として、物体検出を行うように構成される。
 このような構成によれば、統合領域に限定して第2検出手段による物体検出を行えるので、処理の高速化が実現できると共に、第2検出手段の検出精度を維持できる。特に、第2検出手段の処理対象とする統合領域の数を、選択手段によって絞り込んでいるため、画像中に多数の対象物が含まれ、したがって多数の統合領域が決定される場合であっても、処理速度の低下を抑制することができる。すなわち、本発明に係る物体検出装置によれば、高速かつ高精度な物体認識が実現できる。
 本態様に係る物体検出装置は、対象物の追跡を行う追跡手段をさらに備えるように構成することで、動画像から対象物を検出する際に好適に利用できる。すなわち、前フレームまでに対象物であると確定された物体あるいは領域については追跡手段を用いて追跡を行い、その他の領域については第1検出手段、領域統合手段、選択手段、および第2検出手段を用いた検出を行うように構成してもよい。ここで、「前フレームまでに対象物であると確定された物体(領域)」とは、前フレームに対する処理において、第2検出手段によって対象物として検出された物体(領域)と、追跡手段による追跡によって検出された物体(領域)の両方を含む。
 この場合、追跡手段は、前フレームにおいて対象物であると確定された物体を対象として、現フレームにおける追跡処理を行うとよい。また、選択手段は、前フレームにおいて対象物であると確定された領域以外に位置する少なくとも一部の統合領域を選択するとよい。このようにすれば、各フレームで第2検出手段を用いて新たに検出する顔の数を制限しても、追跡手段による顔検出が行える。したがって、画像中に多数の対象物が存在する場合であっても、構図に変化がなければ、第2検出手段によって対象物として検出される対象物の数が増え、数フレーム後には全ての対象物が追跡手段によって追跡されることが期待される。また、各フレームでの第2検出手段の処理対象の統合領域には制限がかかっているので、各フレームでの計算量が過大となることを防止できる。
 選択手段は、所定数以内の統合領域を選択するように構成されれば、その選択基準は特に限定されない。たとえば、選択手段は、前フレームにおいて前記対象物であると確定された領域以外に位置する統合領域の中から、信頼度が閾値以上の所定数個の統合領域を選択してもよい。ここでの信頼度は、統合領域に対象物が含まれている確率に関連する値である。また、選択手段は、前フレームにおいて前記対象物であると確定された領域以外に位置する統合領域の中から、サイズが大きい方から所定数個の統合領域を選択してもよい。信頼度やサイズ以外にも、統合領域に含まれる対象物の属性(たとえば、対象物が人物であれば、年齢や性別など)を考慮してもよいし、いくつの候補領域を統合して得られた統合領域であるかを考慮してもよい。また、これら複数の基準を組み合わせて基準にしたがって統合領域を選択してもよい。また、前フレームにおいて第2検出手段による検出が行われた場合には、その信頼度も考慮してもよい。たとえば、前フレームにおける第2検出手段での検出の信頼度が低ければ、現フレームにおいて同じ統合領域を選択しないようにしたり、選択の優先度を下げるようにしてもよい。選択手段は、常に「所定数」個の統合領域を選択する必要はなく、条件を満たす統合領域が所定数個存在しなければ、条件を満たす統合領域のみを選択すればよい。
 本態様において、選択手段は、前フレームにおける前記第2検出手段による検出スコアも考慮して、統合領域の選択を行ってもよい。第1検出手段によれば検出スコア(信頼度)が高く算出されるが、第2検出手段によれば検出スコアが低く算出されるような領域が存在しうる。前フレームにおける第2検出手段による検出スコアを考慮して選択を行うことで、このような場合に同じ統合領域が選択されることを防止できる。なお、直近1フレームだけでなくさらに前のフレームにおける検出スコアを考慮してもよく、この際には時間的に応じた重みを付けて考慮することが好ましい。また、フレーム間での領域の類似度をさらに考慮して、選択を行ってもよい。
 本態様において、選択手段は、最終的に「前フレームにおいて対象物であると確定された領域以外に位置する少なくとも一部の統合領域」を選択できればよい。これを実現するための一手法は、選択手段に入力される統合領域に「前フレームにおいて対象物であると確定された領域に位置する統合領域」が含まれないようにすることである。別の手法は、選択手段が、入力された統合領域の中から、「前フレームにおいて対象物であると確定された領域に位置する統合領域」を除外するようにすることである。
 前者の手法を実現するために、本態様に係る物体検出装置は、前フレームにおいて前記対象物であると確定された物体の領域に対応する現フレーム画像の領域に対して、当該領域が前記物体として検出されないような前処理を施す前処理部をさらに備えてもよい。このような前処理の例として、領域を所定のパターン(たとえば、単色の塗り潰しパターン)で置き換える処理が考えられる。別の例として、フィルタ処理も想定されるが、処理負荷はできるだけ少ないものが好ましい。このような前処理を施すことで、前フレームにおいて前記対象物であると確定された物体の領域からは、第1検出手段によって対象物が検出されなくなるので、選択手段に入力される統合領域の中に上記の領域は含まれなくなる。
 後者の手法を実現するために、本態様に係る物体検出装置は、前フレーム画像において前記対象物であると確定された領域の位置を記憶する記憶手段をさらに備えてもよい。このような記憶手段を参照することで、選択手段は、記憶手段に記憶された位置にある統合領域を選択対象から除外できる。
 領域統合手段は、第1検出手段が検出した候補領域を統合すれば、その具体的な処理内容は特に限定されない。候補領域の中から代表領域を決定し、代表領域から所定距離以内にあるその他の候補領域を統合してもよい。代表領域の決定の際に、検出スコアや領域サイズを基準とすれば、統合領域内に対象物が存在する確率が高くできる。また、統合の際に領域サイズの類似度や対象物の属性の類似度を考慮すると、1つの統合領域に1つの対象物のみが含まれるように統合できる。
 なお、本発明は、上記手段の少なくとも一部を含む物体検出装置として捉えることができる。また、本発明は、物体検出方法として捉えることもできる。また、これらの方法の各ステップをコンピュータに実行させるためのコンピュータプログラムや、当該プログラムを非一時的に記憶したコンピュータ読取可能な記憶媒体として捉えることもできる。上記構成および処理の各々は技術的な矛盾が生じない限り互いに組み合わせて本発明を構成することができる。
 本発明によれば、高速かつ高精度な物体検出が可能となり、計算資源が乏しい計算機においても高精度な物体検出が利用できる。
図1は、本発明の適用例の構成を示すブロック図である。 図2は、第1の実施形態に係る顔検出装置のハードウェア構成を示す図である。 図3は、台の実施形態に係る顔検出装置の構成を示すブロック図である。 図4Aおよび図4Bは、第1検出部112により顔検出処理を説明する図である。 図5Aおよび図5Bは、第1検出部112により顔検出処理を説明する図である。 図6は、領域選択部114による領域統合処理の流れを示すフローチャートである。 図7Aおよび図7Bは、領域統合処理における統合領域決定の例を示すフローチャートである。 図8は、領域統合処理の例を説明する図である。 図9は、領域選択部114による領域選択処理の流れを示すフローチャートである。 図10は、第1の実施形態に係る顔検出装置による顔検出処理の流れを示すフローチャートである。 図11は、第1の実施形態に係る顔検出装置による顔検出処理を説明する図である。 図12は、第1の実施形態の変形例に係る顔検出装置の構成を示すブロック図である。 図13Aおよび図13Bは、第1の実施形態の変形例における前処理の例を説明する図である。
(適用例)
 本発明の物体検出装置が検出対象とする物体は任意の物体であって構わないが、ここでは顔検出に適用した適用例について説明する。Haar-like特徴量とAdaboostを用いた第1顔検出部と、深層学習を用いた第2顔検出部とを有する顔検出装置において、次のような検出方法が考えられる。まず、入力画像全体に対して第1顔検出部による検出を行って顔が存在しそうな領域(顔候補領域)を決定する。第1顔検出部による顔候補領域は多数求められるので、同じ顔に対応する複数の領域を統合して、統合された領域に対してのみ第2顔検出部による顔検出を行う。これにより、深層学習を用いた高精度な顔検出を短時間で実現可能となる。しかしながら、入力画像に多数の人物が含まれている場合は、統合領域の数が多くなるので十分な高速化が達成できない。
 図1は、本発明が適用された顔検出装置10の構成を示すブロック図である。顔検出装置10は、第1検出部12、領域統合部13、領域選択部14、第2検出部15を有する。これらの各部は、CPUがプログラムを実行することで実装されてもよいし、ASIC等の専用のロジック回路により実装されてもよい。
 画像入力部11は、顔検出の対象とする画像データを取得する。入力画像は、静止画像であってもよいし、動画像であってもよい。
 第1検出部12は、比較的高速で軽量なアルゴリズムにより顔検出を行う。たとえば、Haar-like特徴量とAdaboostを用いたアルゴリズムが採用可能である。第1検出部112によって顔が存在すると推定される領域を、以下では顔候補領域と称する。一般に、第1検出部112は、1つの顔の周辺に対して複数の顔候補領域を検出する。第1検出部112は、本発明の第1検出手段の一例である。第1検出部12は、例えば、特徴量として、HoG (Histgram of Gradient)特徴量、SIFT特徴量、SURF特徴量など任意の特徴量を用いることができる。また、学習手法も、Adaboost以外のboosting手法や、SVM (Support Vector Machine)、ニューラルネットワーク、決定木学習などの任意の学習手法を用いることができる。
 領域統合部113は、第1検出部112によって検出された顔候補領域を統合する。上述のように第1検出部112は1つの顔の周辺に対して複数の顔候補領域を検出するので、領域統合部113は、1つの顔に対応すると推定される複数の顔候補領域を統合して統合領域を生成する。領域統合部113は、本発明の領域統合手段の一例である。
 領域選択部114は、領域統合部113によって決定された統合領域の中から、第2検出部115による処理の対象とする統合領域を選択する。領域選択部114が選択する統合領域の数には上限が設定されていてもよい。領域選択部114は、所定の基準にしたがって、当該基準の適合率が高い所定数個(以内)の統合領域を選択する。所定の基準として、第1検出部112による検出スコア(信頼度)、統合領域のサイズ、統合領域に含まれる顔(人物)の属性(年齢や性別など)などを採用することができる。領域選択部114は、本発明の選択手段の一例である。
 第2検出部115は、比較的高精度で低速なアルゴリズムを用いて顔検出を行う。たとえば、CNN(畳み込みニューラルネットワーク)のような深層学習を用いたアルゴリズムを採用できる。第2検出部115、領域選択部114によって選択された統合領域を対象として顔検出を行う。第2検出部115は、本発明の第2検出手段の一例である。第2検出部15のアルゴリズムは、CNNに限らずRNN (Recurrent Neural Network)やSAE (Stacked Auto Encoder)、DBN (Deep Belief Network)などの任意の手法を用いることができる。
 顔検出装置10の上記構成によれば、第2検出部15による検出の対象となる統合領域の数が制限されるので、入力画像中に多数の顔が存在する場合でも、高速かつ高精度に顔検出が行える。
 顔検出装置10は、1枚の画像(フレーム画像)から検出できる顔の数が最大で所定数個になるという制限があるが、顔追跡処理を組み合わせて動画像に適用することで動画像中の全ての顔を検出できる。すなわち、顔検出装置10は、検出済みの顔は顔追跡処理による追跡を行い、新たな顔の検出は第1検出部12および第2検出部15によって行うようにする。このようにすれば、各フレームでの計算量を抑制しつつ、フレームごとに新しい顔が第2検出部15によって検出されて顔追跡処理による追跡対象となり、最終的には画像中の全ての顔が追跡処理による追跡対象となる。顔追跡処理は、処理が軽くまた精度も十分であるため、このような構成とすることで、処理速度の低下を最小限としつつ、動画像中の全ての顔を高精度に検出することができる。
(第1の実施形態)
 以下で説明する実施形態は、スマートフォンのような携帯情報端末に搭載され、動画像から顔を検出する顔検出装置(物体検出装置)に関する。しかしながら、これは例示に過ぎず、画像から検出する物体は顔である必要はなく任意の物体であってよい。また、顔検出装置(物体検出装置)は、携帯情報端末以外の任意の情報処理装置(コンピュータ)に搭載されてよい。
 本実施形態に係る顔検出装置は、たとえば、オートフォーカス(AF)、人数カウント、車両の運転手監視(ドライバーモニタリング)、大人数がいる場所に設置されるセキュリティカメラでの人物検出などの用途に適用できる。
<構成>
 図2は、本実施形態にかかる顔検出装置100のハードウェア構成を示す図である。顔検出装置100は、画像入力部101、演算装置102、記憶装置103、通信装置104、入力装置105、出力装置106を含む。画像入力部101は、カメラ110から画像データを受け取るインタフェースである。なお本実施形態ではカメラ110から直接画像データを受け取っているが、通信装置104を介して画像データを受け取ったり、記録媒体を経由して画像データを受け取ったりしてもよい。演算装置102は、CPU(Central Processing Unit)などの汎用のプロセッサであり、記憶装置103に格納されたプログラムを実行して、後述する処理を実行する。記憶装置103は、主記憶装置および補助記憶装置を含み、演算装置102によって実行されるプログラムを格納するとともに、画像データやプログラム実行中の一時データを格納する。通信装置104は、顔検出装置100が外部のコンピュータと通信を行うための装置である。通信の形態は、有線であっても無線であってもよく、通信規格は任意であってよい。入力装置105は、タッチスクリーン、ボタン、キーボードなどの何れかから構成され、ユーザが顔検出装置に指示を入力するための装置である。出力装置106は、表示装置やスピーカーなどからなり、顔検出装置がユーザに対する出力を行うための装置である。
<顔検出装置の機能と処理>
 演算装置102は、プログラムを実行することにより、図3に示す各部の処理を実行する。すなわち、演算装置102は、画像入力部111、第1検出部112、領域統合部113、領域選択部114、第2検出部115、顔追跡部116、結果出力部117が行うそれぞれの処理を実行する。各部の処理内容については以下で説明する。
[画像入力部111]
 画像入力部111は、顔検出の対象とする画像データを取得する。本実施形態で入力される画像は動画像を想定するが、入力画像は静止画像であっても。入力画像は、画像入力部101を介してカメラ20から取得されてもよいし、通信装置104を介して他のコンピュータから取得されてもよいし、記憶装置103を介して記憶媒体から取得されてもよい。
[第1検出部112]
 第1検出部112は、入力画像から顔候補領域(顔が存在すると推定される領域)を検出する。第1検出部112は、入力画像から、種々の大きさや向きの顔を検出可能に構成される。第1検出部112は、顔候補領域を検出する際に、確信度・顔の向きも推定する。第1検出部112は、性別・年齢・人種等の属性を推定したり、顔認証も行ったりし、これらの処理の結果も後段の処理で利用できるようにしてもよい。
 本実施形態においては、第1検出部112は、画像特徴量としてHaar-like特徴量を用い、学習アルゴリズムとしてAdaBoostを用いるように構成される。以下、図4A,4Bを用いて、本実施形態における第1検出部112について説明する。
 図4Aに示すように、第1検出部112は、種々の大きさの顔を検出するために、入力画像を複数の倍率で縮小した縮小画像301~303のそれぞれから所定のサイズの矩形領域310を切り出して、識別器320を用いてその領域に顔が含まれるか否かを判別する。矩形領域310を縮小画像301~303内で走査することにより、画像中に含まれる種々のサイズの顔を検出できる。なお、本実施形態では矩形領域を切り出しているが、切り出す領域は矩形以外の任意形状の領域であっても構わない。
 図4Bに示すように、識別器320は、矩形領域310によって切り出された照合パターンが、顔であるか否かを判別する。識別器320は、照合パターン中の複数の局所領域から、明暗の関係に基づく特徴量(Haar-like特徴量)をそれぞれ抽出する。識別器320は、複数の弱識別器を有しており、それぞれの弱識別器は少数の特徴量に基づいて照合パターンが顔である否かを判別する。弱識別器のそれぞれの判別性能は低いが、これら複数の弱識別器を組み合わせることにより、高精度で顔であるか否かを判別可能となる。なお、識別器320は、出力値として、照合パターンが顔パターンである確からしさ(信頼度)を出力する。したがって、信頼度が所定の閾値以上の領域が、顔候補領域として扱われる。
 図5A,5Bを参照して、ステップS2の第1検出部112による顔検出処理の具体例について説明する。図5Aは、入力画像400を示す。入力画像400には、人物401,402が写っている。このような入力画像400を対象として第1検出部112による顔検出処理を行うと、人物401,402の顔周辺に、複数の顔候補領域が検出される。これは、顔の周辺では、照合パターンの位置や大きさが多少変化しても、照合パターンが顔だと判断されるためである。
 図5Bは、入力画像400に対する例示的な検出結果を示す。人物401の顔周辺に3つの顔候補領域411,412,413が検出され、人物402の顔周辺に3つの顔候補領域414,415,416が検出されている。また、実際には顔が存在しない領域からも、顔候補領域417が検出されている。これは、背景の模様がたまたま顔に類似している場合に発生する。
[領域統合部113]
 領域統合部113は、第1検出部112によって検出された複数の候補領域を統合する。領域統合部113は、複数の候補領域をグループ分けし、各グループの候補領域から1つの統合領域を決定する。図6は、領域統合部113による統合領域決定処理の詳細を示すフローチャートである。以下、図6のフローチャートにしたがって説明する。
 ステップS31において、領域統合部113は、ステップS2で検出された複数の候補領域の中から信頼度が最大のものを代表領域として選択する。なお、代表領域の決定は、信頼度のみに基づいて行う必要はなく、領域サイズや顔向きなどその他の情報を考慮して行ってもよい。領域サイズを考慮する際には、大きいサイズの領域を優先してもよいし、所定のサイズに近い領域を優先してもよい。また、代表領域を決定する際に、信頼度を用いずに、領域サイズやその他の情報に基づいて行ってもよい。
 ステップS32~S34の処理ループL1は、検出された複数の候補領域のうち、代表領域以外について実行される。ループL1において処理対象とされる候補領域を、ここでは注目候補領域と称する。
 ステップS32では、領域統合部113は、代表領域と注目候補領域とのあいだの関連スコアを算出する。関連スコアは、代表領域と注目候補領域が同じ顔の領域である確からしさを表すスコアである。関連スコアは、領域間の距離(例えば、領域中心間の距離)や候補領域のサイズに基づいて算出することができる。例えば、領域間の距離が近いほど関連スコアは大きく算出される。また、領域サイズの差が少ないほど関連スコアは大きく算出される。
 領域間の距離や領域サイズの類似度は、第1検出部112による検出結果の類似度の例とみなせる。関連スコアは、第1検出部112による検出結果のその他の項目の類似度に基づいて決定してもよい。例えば、検出された顔の向きの類似度、検出された顔の属性(例えば、年齢・性別・人種・表情など)の類似度に基づいて関連スコアを算出してもよい。複数の要素を考慮して関連スコアを決定する場合には、これら複数の要素を変数として含む関数を用いればよい。単純には、各要素の類似度の平均または加重平均によって関連スコアを決定すればよい。加重平均の際の重みは適宜決定すればよい。
 ステップS33において、領域統合部113は、注目候補領域の関連スコアが閾値T1以上であるか否かを判定する。関連スコアが閾値T1以上である場合(S33-YES)には、ステップS34において、領域統合部113は、注目候補領域を代表領域の関連領域であると決定する。すなわち、注目候補領域は、代表領域と同じグループにグループ分けされる。
 全ての候補領域について、上記のステップS32~S34の処理を行うことにより、代表領域と関連する候補領域を決定することができる。
 なお、ここでは、関連スコアが閾値T1以上である候補領域を関連領域として決定しているが、関連スコアが最も大きい所定数個の候補領域を関連領域として決定してもよい。あるいは、関連スコアが閾値T1以上であり、かつ、関連スコアが上位所定数の候補領域を関連領域として決定してもよい。
 ステップS35では、領域統合部113は、代表領域およびその関連領域を統合して統合領域を決定する。統合領域の決定方法は特に限定されない。ここでは、図7A,7Bを参照して、2つの統合領域決定方法を説明する。
 例えば、図7Aに示すように、統合領域決定処理S35では、代表領域そのものを統合領域として決定してもよい(ステップS351)。あるいは、図7Bに示すように、統合領域決定処理S35は次のようなステップにより構成されてもよい。まず、代表領域と同じグループに属する関連領域を取得する(S352)。次に、代表領域と関連領域を対象として領域を決定するパラメータそれぞれの平均値を算出する。(ステップS353)。最後に、算出された平均値をパラメータとして有する領域を統合領域として決定する(S354)。パラメータの例として、領域中心の平均値、領域サイズの平均値が挙げられる。その他のパラメータの例として、信頼度・顔向き・年齢・性別・人種・表情などが含まれる。
 ステップS36では、信頼度が閾値T2以上の候補領域が残存しているか否かを判断する。詳細には、第1検出部112によって検出された候補領域のうち、代表領域や関連領域である判断された領域以外の候補領域のうち、信頼度が閾値T2以上のものが存在するか否かが判断される。信頼度が閾値G2以上の候補領域が存在する場合には、ステップS31に戻って上記の処理が繰り返される。この際、代表領域や関連領域であると判断された領域は処理対象から除外した上で、ステップS31~S35の処理が行われる。
 図8は、上述のような統合処理を図5Bに示す検出結果に施した処理例を説明する図である。候補領域411~417の中から、たとえば、候補領域411,415,417がそれぞれ代表領域として決定される。そして、候補領域411~413からなる統合領域421、候補領域414~416からなる統合領域422、候補領域417のみからなる統合領域423が決定される。
[領域選択部114]
 領域選択部114は、領域統合部113によって統合された複数の統合領域の中から第2検出部115による顔検出の対象とするものを選択する。領域選択部114は、以下の基準にしたがって、統合領域を選択する。
(1)前フレームにおいて顔であると判断された位置の統合領域は選択しない
(2)(1)以外の統合領域の中から評価値が上位の所定数個の統合領域を選択する。
 図9のフローチャートを参照して、領域選択部114による領域選択処理について説明する。
 ステップS91において、領域選択部114は前フレームにおいて検出された顔領域の位置を取得する。各フレームにおける最終的な顔検出の結果は、第2検出部115または顔追跡部116によって得られ、検出された顔領域の位置・サイズ・信頼度・属性などの情報は検出結果記憶部118に格納される。領域選択部114は、検出結果記憶部118を参照することで、前フレームにおいて検出された顔領域の位置を把握できる。
 ステップS92において、領域選択部114は、現フレームの統合領域の位置と前フレームにおける顔領域の位置と比較することで、前フレームにおいて顔であると判断された位置の統合領域を選択対象から除外する。なお、現フレームの統合領域が前フレームにおける顔領域と一致するか否かの判断には、位置だけでなく領域サイズや領域内の画像の類似度などを考慮してもよい。
 ステップS93において、領域選択部114は、ステップS92の後に残った統合領域について、評価値を算出する。統合領域の評価値は、当該統合領域に顔が含まれている確率が高いほど高く算出される値である。評価値の例として、統合領域の信頼度を採用できる。統合領域の信頼度は、統合領域を構成する顔候補領域のそれぞれに対する第1検出部112の信頼度(検出スコア)に基づいて決定できる。たとえば、第1検出部112の信頼度の平均値を、統合領域の信頼度として採用できる。また、統合領域の評価値として、統合領域のサイズを採用し、サイズが大きいほど評価値を高くしてもよい。これは領域が大きいほど顔が含まれる確率が高いと考えられるためである。また統合領域の評価値として、統合領域内の対象物の向きを採用してもよい。どの向きの評価を高くするかは適宜設定可能だが、正面を向いているときに評価値を最も高くし、次いで、斜め、横、後向きの順とすることが考えられる。評価値は、複数の項目を考慮して決定してもよい。たとえば、信頼度に基づく第1評価値と領域サイズに基づく第2評価値の平均(単純平均、加重平均)により評価値を決定してもよい。また、以前のフレームにおいて第2検出部115によって検出処理が行われている場合には、第2検出部115による検出信頼度も考慮に入れて評価値を決定してもよい。
 ステップS94において、領域選択部114は、評価値が上位の所定数個の統合領域を選択する。所定数個は、顔検出処理が1フレーム期間内で終了するような値として決定される。したがって、所定数個は、顔検出装置100の計算資源の多寡に応じて決定されるべきパラメータである。また、評価値が閾値以上であるという条件を統合領域選択の条件として付加してもよい。このようにすれば、顔が含まれている確率が低い領域が第2検出部115の処理対象となることを抑制できる。ここでの閾値は、評価値がそれ未満であれば統合領域に顔が含まれないとみなしてよいような値である。
[第2検出部115]
 第2検出部115は、領域選択部114によって選択された統合領域のそれぞれに顔が含まれるか否かを判定する。第2検出部115は、たたみ込みニューラルネットワーク(CNN)と呼ばれる多層ニューラルネットワークを用いて学習した識別器である。ヘテロジニアス学習により、顔/非顔の判別だけでなく、顔向き、年齢、性別、人種、表情など複数タスクの判別が可能である。本実施形態の第2検出部115は、これらの判別タスクも実装する。
 第2検出部115によって顔であると検出された領域に関する情報は、検出結果記憶部118に格納される。なお、第2検出部115によって顔でないと検出された統合領域に関する情報も、検出結果記憶部118に格納してもよい。
[顔追跡部116]
 顔追跡部116は、前フレームにおいて検出された顔を、現フレームにおいて検出する。顔追跡部116による追跡処理は、公知の任意の追跡アルゴリズムを採用可能である。顔追跡部116は、前フレームにおいて検出された顔領域の周囲のみを対象として顔を検出する。追跡処理はこのように行われるため高速に実行できる。顔追跡部116によって検出された顔領域の情報は、検出結果記憶部118に格納される。
[結果出力部117]
 結果出力部117が、第2検出部115および顔追跡部116によって検出された顔領域について検出結果を出力する。結果出力部117は、検出結果の信頼度が閾値以上である統合領域について、顔が検出されたことを示す結果情報を出力する。信頼度が閾値未満の統合領域については、結果情報に含めなくてよい。検出結果情報は、少なくとも顔領域を含み、これに加えて、信頼度、顔の向き、年齢、性別、人種、表情などの1つ以上を含むことが好ましい。
 結果出力部117は、検出結果情報をどのような態様で出力してもよい。例えば、結果出力部117は、検出結果情報を、画面に表示してもよいし、記憶装置に格納してもよいし、他のモジュールや他の装置に通知してもよいし、これらのうちの複数を行ってもよい。
[検出結果記憶部118]
 検出結果記憶部118には、第2検出部115および顔追跡部116によって検出された顔領域の位置・サイズ・属性などの情報が格納される。また、検出結果記憶部118には、顔が含まれないと判断された統合領域も含めて、第2検出部115が検出処理を行った各統合領域について、顔検出の信頼度(検出スコア)を格納してもよい。
<処理フロー>
 本実施形態における顔検出処理について、図10のフローチャートを参照して説明する。なお、このフローチャートは本実施形態における顔検出処理を概念的に説明するものであり、実施形態においてこのフローチャートの通りの処理が実装される必要はないことに留意されたい。
 ステップS1001において、画像入力部111が取得した動画像データのうちから、処置対象とするフレーム画像を取得する。なお、動画像の全てのフレームを顔検出処理の対象とする必要はなく、数フレームおきに顔検出処理を行ってもよい。以下では、ステップS1001において取得されたフレーム画像を現フレーム画像と称する。また、それまで処理対象であったフレーム画像を前フレーム画像と称する。
 次に、ステップS1002において、前フレーム画像に対する検出結果を取得し、前フレームにおいて顔領域として検出された領域を把握する。現フレーム画像においては、前フレームにおいて顔領域ではないと判断されている領域についてはステップS1003~S1006の処理によって顔検出を行う。一方、前フレームにおいて顔領域であると判断されている領域についてはステップS1007によって顔追跡を行う。
 なお、図10のフローチャートでは、ステップS1003~S1006の処理は前フレームにおいて顔領域ではないと判断されている領域について行われるものと説明しているが、前フレームにおいて検出された顔領域がステップS1006の第2検出処理の処理対象とならなければ、当該領域がステップS1003~S1005の処理対象となっても構わない。
 ステップS1003では、第1検出部112が、現フレーム画像の全体に対して、Haar-like特徴量とAdaboostを用いた比較的軽量なアルゴリズムによる顔検出処理を実行する。第1検出部112による顔検出処理は、図4,図5等を参照して説明したとおりである。
 上述したように、第1検出部112は、1つの顔の周辺に対して複数の顔候補領域を検出するので、ステップS1004において、領域統合部113が、1つの顔に対応すると推定される複数の顔候補領域を統合して統合領域を生成する。領域統合処理は、図6,図7等を作用して説明したとおりである。
 ステップS1005において、領域選択部114が、ステップS1005において統合された統合領域の中から一部を選択する。上述したように、領域選択部114は、前フレームにおいて顔であると判断された位置の統合領域は除外して、評価値が上位の所定数個の統合領域を選択する。本実施形態では、領域選択処理において、前フレームで検出された顔領域に対応する統合領域を除外することで、前フレームで検出された顔領域以外を第2検出部115による処理の対象としている。
 ステップS1006において、第2検出部115は、ステップS1005において選択された統合領域を対象として深層学習アルゴリズムを用いた顔検出処理を行う。第2検出部115による検出結果は検出結果記憶部118に格納される。
 ステップS1007では、顔追跡部116は、前フレームにおいて検出された顔の追跡処理を行い、現フレームで位置を検出する。顔追跡部116は、追跡処理の結果を検出結果記憶部118に格納する。
 第2検出部115による検出結果と顔追跡部116による追跡結果を足し合わせた結果が、現フレームにおける顔検出結果である。ステップS1008において、第2検出部115による検出処理と顔追跡部116による追跡処理の両方の完了を待って、現フレーム画像に対する検出結果を確定する。
 ステップS1009では、結果出力部117が検出結果を出力する。たとえば、フレーム画像に顔領域を示す矩形を重畳した画像を出力装置106(ディスプレイ)に表示する。
 ステップS1010では、顔検出処理が終了するか否かを判定する。顔検出の終了は、たとえば、ユーザからの明示的に指示されてもよいし、画像の入力が終了した時点で顔検出を終了してもよい。顔検出処理を継続する場合には、ステップS1001に戻って、次のフレームについて同様の処理を繰り返す。
 図11A~図11Dを参照して、連続するフレームに対して本実施形態に係る顔検出処理を適用した際の動作例を説明する。ここでは、領域選択部114による統合処理の選択数(所定数個)が2個であるものとし、3人の人物が写っている画像を処理する例を説明する。
 図11Aは、第1フレーム目に対する処理を説明する図である。ここでは、第1検出部112および領域統合部113による処理の結果、5つの統合領域A~Eが取得されている。第1フレームを処理する際には、検出済みの顔は存在しないので全ての統合領域が第2検出部115を用いた検出処理の対象の候補となる。ここでは、領域選択部114による領域選択の結果、評価値が上位の2つの統合領域B,Cが選択されたものとする。第2検出部115は、統合領域B,Cを対象として深層学習アルゴリズムを用いた顔検出処理を行い、統合領域のB,Cの両方から顔を検出する。これにより、第1フレーム目では、統合領域B,Cが顔領域であると判定される。
 図11Bは、第2フレーム目に対する処理を説明する図である。今回は、領域B,Cに存在する顔は、顔追跡部116による追跡処理の対象とする。顔追跡部116は、1フレーム目とほぼ同様の位置から顔を検出する。
 また、フレーム間で構図に大幅な変更がないことを想定しているので、第1検出部112および領域統合部113による結果は第1フレーム目と同様であり、5つの統合領域A~Eが取得される。ここで、領域B,Cは1フレームで顔領域と判断されているので、領域選択部114による選択の対象外となる。領域選択部114は、領域A,D,Eの中から評価値が上位の2つの統合領域A,Dが選択されたものとする。第2検出部115は、統合領域A,Dを対象として深層学習アルゴリズムを用いた顔検出処理を行い、統合領域Dは顔領域であると判断するが統合領域Aは顔領域ではないと判断する。
 以上の処理の結果、第2フレーム目では、統合領域B,C,Dが顔領域であると判定される。
 図11Cは、第3フレーム目に対する処理を説明する図である。今回は、領域B,C、Dに存在する顔が、顔追跡部116による追跡処理に対象となる。顔追跡部116は、2フレーム目とほぼ同様の位置から顔を検出する。
 また、フレーム間で構図に大幅な変更がないことを想定しているので、第1検出部112および領域統合部113による結果は第1フレーム目と同様であり、5つの統合領域A~Eが取得される。ここで、領域B,C,Dは1フレームで顔領域と判断されているので、領域選択部114による選択の対象外となる。したがって、領域選択部114は、領域Eを選択する。第2検出部115は、統合領域Eを対象として深層学習アルゴリズムを用いた顔検出処理を行い、統合領域Eは顔領域ではないと判断する。
 以上の処理の結果、第3フレーム目では、統合領域B,C,Dが顔領域であると判定される。
 図11Dは、第4フレーム目に対する処理を説明する図である。今回も引き続き、領域B,C、Dに存在する顔が顔追跡部116による追跡処理に対象となる。顔追跡部116は、3フレーム目とほぼ同様の位置から顔を検出する。
 ここでは画像中に3つの顔のみが含まれる例を説明したが、より多くの顔が含まれている場合であっても、上記の処理を繰り返すことで最終的に全ての顔を第2検出部115によって検出し、以降は顔追跡部116によって追跡できる。
 上記の説明では、3フレーム目において統合領域Eのみが選択されるように説明しているが、統合領域Aも選択されてもよい。同様に、4フレーム以降においても統合領域Eが選択されてもよい。なお、図11の説明では常に第1検出部112は常に領域A,Eが顔領域であると検出しているが、統合領域A,Eは非顔領域であることから、時間の経過によりいずれ第1検出部112によって顔領域として検出されなくなることが期待できる。
<本実施形態の効果>
 Haar-like特徴量+adaboost学習の顔検出処理と、深層学習(CNN)の顔検出処理を比較すると、後者の方が高精度であるが演算量も多い。したがって、携帯情報端末のような演算資源が比較的乏しい計算機では、入力画像全体に対して深層学習型の顔検出を行うと処理時間が長大となってしまう。これに対して、本実施形態は、まず、顔が存在しそうな領域を簡易型の顔検出処理を用いて絞り込み、さらに候補領域を統合して統合領域に対してのみ深層学習型の顔検出を行う。これにより、検出精度と検出速度の両立が期待できるが、画像中に含まれる顔の数が多い場合には計算量が多くなり処理が間に合わない場合が生じうる。そこで、統合領域の中から深層学習型の顔検出の対象とする領域を選択する(絞り込む)ことで、画像中に含まれる顔の数にかかわらずに高速な処理が行えるようにする。
 深層学習型の顔検出を行う統合領域の数を限定することで処理負荷を抑えられるが、一度に検出可能な顔の数が限られてしまう。そこで、動画像に本手法を適用して、検出済みの顔は顔追跡処理で検出し、未検出の顔を深層学習型の顔検出処理により検出するようにすることで、数フレーム後には画像内の全ての顔を検出できる。
(変形例1)
 上記の実施形態では、領域選択部114が、前フレームで検出された顔領域の位置にある統合領域を選択の対象から除外することで、前フレームで検出された顔の位置にある統合領域が第2検出部115による検出処理の対象となることを防止している。しかしながら、上記以外の手法によっても同様の効果が得られる。
 図12は本変形例に係る顔検出装置100の構成を示す図である。第1の実施形態と比較して、第1検出部112の前に前処理部119が設けられている点が異なる。前処理部119は、検出結果記憶部118を参照して、前フレームにおいて顔が検出された領域に対して加工を施すことで、当該領域から第1検出部112によって顔が検出されないようにする。
 図13Aおよび図13Bを用いて説明する。たとえば、図13Aに示すように、1フレーム目の画像において統合領域B,Cから顔が検出されたとする。この場合、第2フレーム目の画像に対して、図13Bに示すように、顔領域(統合領域B,C)の位置を単色パターンで塗りつぶす加工を前処理として行う。顔領域を単一色パターン以外のパターン画像で置き換えてもよいし、顔領域にフィルタ処理を施しても構わない。また、加工の対象する領域は顔領域全体である必要はなく、顔として検出されなくなるのであればそのうちの一部のみであっても構わない。
 このようにすれば、第1検出部112が検出する顔候補領域、ひいては領域統合部113が決定する統合領域には、前フレームにおいて顔領域であると判断された領域は含まれないものとなる。したがって、本変形例では、領域選択部114は、前フレームの検出結果を参照する必要がなく、単純に評価値にしたがって統合領域を選択すれば良い。
(変形例2)
 領域選択部114が統合領域を選択する際に、前フレームにおける第2検出部115による顔ではないという検出結果を利用して、前フレームにおいて第2検出部115において顔ではないと判断された領域は選択しないようにしてもよい。第2検出部115による顔検出の検出精度は高いため、その領域には顔が含まれていない可能性が高いためである。
 ただし、一度顔ではないと判断された領域を継続して選択しないようにするのは、時間とともに構図が変化することを想定すると好ましくない。したがって、第2検出部115によって顔ではないと判断された数フレームの間だけ、領域選択部114が選択しないようにするのがよい。あるいは、前フレームにおいて顔領域ではないと判断された領域であり、かつ、画像の類似度が閾値以上ある場合に、領域選択部114が選択しないようにしてもよい。
 なお、ここで説明した処理は行わなくても構わない。顔ではない領域であれば、第1検出部112によって継続して顔であると検出される可能性が低いためである。また、顔ではない領域であれば、第1検出部112によって顔であると検出されたとしてもその信頼度が低く、領域選択部によって選択される優先度が下がるためである。さらに、仮に領域選択部114によって選択された第2検出部115の処理対象となったとしても、第2検出部115が処理する領域の数は制限されているので処理負荷が課題になることは避けられるためである。
(その他実施形態)
 上記の説明では、第1検出部112がHaar-like特徴量とadaboost学習を用いた検出器であるが、これに限られない。例えば、特徴量として、HoG (Histgram of Gradient)特徴量、SIFT特徴量、SURF特徴量、Sparse特徴量など任意の特徴量を用いることができる。また、学習手段も、adaboost以外のboosting手法や、SVM (Support Vector Machine)、ニューラルネットワーク、決定木学習などの任意の学習手法を用いることができる。これ以外にも、積分画像を用いた特徴量抽出や、カスケード構造を用いた識別器なども採用可能である。
 また、第2検出部115も、CNNに限らずRNN (Recurrent Neural Network)やSAE (Stacked Auto Encoder)、DBN (Deep Belief Network)、DNN (Deep Neural Network)などの任意の手法による検出器あってよい。また、第2検出部115は、深層学習を用いた検出器でなくても構わない。ただし、第2検出部115の検出アルゴリズムは、第1検出部112の検出アルゴリズムよりも高精度な検出が可能かつ計算量がより多いことが望ましい。 
 なお、第1検出部112のアルゴリズムが深層学習以外の手法で、第2検出部115のアルゴリズムが深層学習の手法である必要はなく、互いに異なればよい。2つのアルゴリズムが、ともに非深層学習アルゴリズムであっても、ともに深層学習アルゴリズムであってもよい。たとえば、第1検出部112のアルゴリズムがHaar特徴量とBoosting学習法を用いた手法で、第2検出部115のアルゴリズムがHoG特徴量とBoosting学習法を用いた手法でもよい。あるいは、第1検出部112のアルゴリズムがCNNで、第2検出部115のアルゴリズムがDNNであってもよい。
 また、上記の説明では検出対象の物体は顔であったが、検出対象物体は任意の物体であって構わない。すなわち、本発明は、任意の所定物体を検出する物体検出装置に適用可能である。検出対象物体のごく少数の例として、人体、特定の動物、自動車、特定の商品などがあげられる。
 また、上記の説明では、物体検出装置はスマートフォンなどの携帯情報端末に搭載されているが、どのような装置に搭載されても構わない。本発明にかかる物体検出装置は、デスクトップ型コンピュータ、ノート型コンピュータ、スレート型コンピュータ、スマートフォン、携帯電話機、デジタルカメラ、デジタルビデオカメラなど任意の情報処理装置(コンピュータ)に実装することができる。ただし、演算資源が比較的乏しい装置に搭載することで、本発明の効果がより顕著となる。
(付記)
 画像から対象物を検出する物体検出装置(10,100)であって、
 前記画像から前記対象物が存在する候補領域を複数検出する第1検出手段(12,112)と、
 前記第1検出手段によって検出された複数の候補領域に基づいて、1つまたは複数の統合領域を決定する領域統合手段(13,113)と、
 前記統合領域の中から、少なくとも一部を選択する選択手段(14,114)と、
 選択された統合領域を対象として、前記第1検出手段とは異なる検出アルゴリズムによって前記対象物を検出する第2検出手段(15,115)と、
 を備える、物体検出装置。
100:顔検出装置, 111:画像入力部, 112:第1検出部
113:領域統合部, 114:領域選択部, 115:第2検出部,
116:顔追跡部,  117:結果出力部, 118:検出結果記憶部

Claims (16)

  1.  画像から対象物を検出する物体検出装置であって、
     前記画像から前記対象物が存在する候補領域を複数検出する第1検出手段と、
     前記第1検出手段によって検出された複数の候補領域に基づいて、1つまたは複数の統合領域を決定する領域統合手段と、
     前記統合領域の中から、少なくとも一部を選択する選択手段と、
     選択された統合領域を対象として、前記第1検出手段とは異なる検出アルゴリズムによって前記対象物を検出する第2検出手段と、
     を備える、物体検出装置。
  2.  前記画像は動画像であり、
     対象物の追跡を行う追跡手段をさらに備え、
     各フレームにおいて、前記第2検出手段または前記追跡手段による結果を最終的な検出結果とし、
     前記追跡手段は、前フレームにおいて前記対象物であると確定された物体を対象として、現フレームにおける追跡を行い、
     前記選択手段は、前フレームにおいて前記対象物であると確定された領域以外に位置する少なくとも一部の統合領域を選択する、
     請求項1に記載の物体検出装置。
  3.  前記選択手段は、前フレームにおいて前記対象物であると確定された領域以外に位置する統合領域の中から、信頼度が閾値以上の所定数個の統合領域を選択する、
     請求項2に記載の物体検出装置。
  4.  前記選択手段は、前フレームにおいて前記対象物であると確定された領域以外に位置する統合領域の中から、サイズが大きい方から所定数個の統合領域を選択する、
     請求項2に記載の物体検出装置。
  5.  前記選択手段は、前フレームにおける前記第2検出手段による検出スコアも考慮して、統合領域の選択を行う、
     請求項2から4のいずれか1項に記載の物体検出装置。
  6.  前記選択手段は、前記対象物の向きも考慮して統合領域の選択を行う、
     請求項2から5のいずれか1項に記載の物体検出装置。
  7.  前フレームにおいて前記対象物であると確定された物体の領域に対応する現フレーム画像の領域に対して、当該領域が前記物体として検出されないような前処理を施す前処理部をさらに備え、
     前記第1検出手段が、前処理済みの現フレーム画像を対象に前記対象物の検出を行うことで、前フレーム画像において前記対象物であると確定された領域が統合領域とならないようにする、
     請求項2から6のいずれか1項に記載の物体検出装置。
  8.  前フレーム画像において前記対象物であると確定された領域の位置を記憶する記憶手段をさらに備え、
     前記選択手段は、前記記憶手段に記憶された位置にある統合領域を選択対象から除外する、
     請求項2から6のいずれか1項に記載の物体検出装置。
  9.  前記第2検出手段の検出アルゴリズムは、前記第1検出手段の検出アルゴリズムよりも、計算量が多い、
     請求項1から8のいずれか1項に記載の物体検出装置。
  10.  前記対象物は、人の顔または人体である、
     請求項1から9のいずれか1項に記載の物体検出装置。
  11.  画像から対象物を検出する物体検出方法であって、
     コンピュータが、
     前記対象物が存在する候補領域を複数検出する第1検出ステップと、
     前記第1検出ステップにおいて検出された複数の候補領域に基づいて、1つまたは複数の統合領域を決定する領域統合ステップと、
     前記統合領域の中から、少なくとも一部を選択する選択ステップと、
     選択された統合領域を対象として、前記第1検出ステップとは異なる検出アルゴリズムによって前記対象物を検出する第2検出ステップと、
     を実行する物体検出方法。
  12.  前記画像は動画像であり、
     前記コンピュータは、対象物の追跡を行う追跡ステップをさらに実行し、
     各フレームにおいて、前記第2検出ステップまたは前記追跡ステップによる結果を最終的な検出結果とし、
     前記追跡ステップは、前フレームにおいて前記対象物であると確定された物体を対象として、現フレームにおける追跡を行い、
     前記選択ステップでは、前フレームにおいて前記対象物であると確定された領域以外に位置する少なくとも一部の統合領域を選択する、
     請求項11に記載の物体検出方法。
  13.  前記選択ステップは、前フレームにおいて前記対象物であると確定された領域以外に位置する統合領域の中から、信頼度、サイズ、または対象物の向きの少なくともいずれかに基づく評価値が大きい方から所定数個の統合領域を選択する、
     請求項12に記載の物体検出方法。
  14.  前フレームにおいて前記対象物であると確定された物体の領域に対応する現フレーム画像の領域に対して、当該領域が前記物体として検出されないような前処理を施す前処理ステップをさらに含み、
     前記第1検出ステップでは、前処理済みの現フレーム画像を対象に前記対象物の検出を行うことで、前フレーム画像において前記対象物であると確定された領域が統合領域とならないようにする、
     請求項11から13のいずれか1項に記載の物体検出方法。
  15.  前フレーム画像において前記対象物であると確定された領域の位置を記憶する記憶ステップをさらに含み、
     前記選択ステップでは、前記記憶ステップにおいて記憶された位置にある統合領域を選択対象から除外する、
     請求項11から14のいずれか1項に記載の物体検出方法。
  16.  請求項11から15のいずれか1項に記載の方法の各ステップをコンピュータに実行させるプログラム。
PCT/JP2019/001487 2018-03-07 2019-01-18 物体検出装置、物体検出方法、およびプログラム WO2019171779A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/970,689 US11494906B2 (en) 2018-03-07 2019-01-18 Object detection device, object detection method, and program
CN201980012610.4A CN111699509B (zh) 2018-03-07 2019-01-18 物体检测装置、物体检测方法以及记录介质
DE112019001138.3T DE112019001138T5 (de) 2018-03-07 2019-01-18 Objekterfassungsvorrichtung, Objekterfassungsverfahren und Programm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-040927 2018-03-07
JP2018040927A JP6977624B2 (ja) 2018-03-07 2018-03-07 物体検出装置、物体検出方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2019171779A1 true WO2019171779A1 (ja) 2019-09-12

Family

ID=67846994

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/001487 WO2019171779A1 (ja) 2018-03-07 2019-01-18 物体検出装置、物体検出方法、およびプログラム

Country Status (5)

Country Link
US (1) US11494906B2 (ja)
JP (1) JP6977624B2 (ja)
CN (1) CN111699509B (ja)
DE (1) DE112019001138T5 (ja)
WO (1) WO2019171779A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7382240B2 (ja) * 2020-01-30 2023-11-16 富士フイルムヘルスケア株式会社 医用画像処理装置及び医用画像処理方法
JP2022136840A (ja) * 2021-03-08 2022-09-21 オムロン株式会社 物体検出装置、物体検出方法、およびプログラム
KR20230134846A (ko) * 2022-03-15 2023-09-22 연세대학교 산학협력단 멀티스케일 객체탐지 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118634A (ja) * 2010-11-29 2012-06-21 Panasonic Corp 画像認識方法、画像認識装置及び撮像システム
JP2015536517A (ja) * 2012-12-20 2015-12-21 インテル・コーポレーション ビデオモーション推定モジュールを用いた加速対象検出フィルタ
JP2016162232A (ja) * 2015-03-02 2016-09-05 キヤノン株式会社 画像認識方法及び装置、プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6940545B1 (en) * 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
US7130446B2 (en) * 2001-12-03 2006-10-31 Microsoft Corporation Automatic detection and tracking of multiple individuals using multiple cues
JP4318465B2 (ja) * 2002-11-08 2009-08-26 コニカミノルタホールディングス株式会社 人物検出装置および人物検出方法
KR100724932B1 (ko) * 2005-08-02 2007-06-04 삼성전자주식회사 얼굴 검출 장치 및 방법
JP2007133840A (ja) 2005-11-07 2007-05-31 Hirotaka Niitsuma EMObjectLocalizationusingHaar−likefeature
JP4712563B2 (ja) * 2006-01-16 2011-06-29 富士フイルム株式会社 顔検出方法および装置並びにプログラム
US7916897B2 (en) * 2006-08-11 2011-03-29 Tessera Technologies Ireland Limited Face tracking for controlling imaging parameters
JP2008102611A (ja) 2006-10-17 2008-05-01 Canon Inc 画像処理装置
JP5077164B2 (ja) * 2008-09-16 2012-11-21 オムロン株式会社 追跡装置及び追跡方法
JP5214533B2 (ja) * 2009-05-21 2013-06-19 富士フイルム株式会社 人物追跡方法、人物追跡装置および人物追跡プログラム
JP2011053915A (ja) * 2009-09-02 2011-03-17 Sony Corp 画像処理装置、画像処理方法、プログラム及び電子機器
JP5251800B2 (ja) * 2009-09-16 2013-07-31 株式会社豊田中央研究所 対象物追跡装置及びプログラム
JP5399502B2 (ja) * 2009-10-07 2014-01-29 パナソニック株式会社 追尾対象選択装置、方法、プログラム及び回路
JP5675229B2 (ja) * 2010-09-02 2015-02-25 キヤノン株式会社 画像処理装置及び画像処理方法
CN102411703A (zh) * 2010-09-21 2012-04-11 索尼公司 检测图像序列中的特定对象的装置、方法和视频摄像设备
CN103597514B (zh) * 2011-06-10 2016-04-06 松下电器产业株式会社 物体检测框显示装置和物体检测框显示方法
JP5963525B2 (ja) * 2012-04-27 2016-08-03 キヤノン株式会社 認識装置、その制御方法、および制御プログラム、並びに撮像装置および表示装置
JP6509027B2 (ja) * 2015-05-12 2019-05-08 キヤノン株式会社 被写体追跡装置、光学機器、撮像装置、被写体追跡装置の制御方法、プログラム
JP6639123B2 (ja) * 2015-07-06 2020-02-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US11004209B2 (en) * 2017-10-26 2021-05-11 Qualcomm Incorporated Methods and systems for applying complex object detection in a video analytics system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118634A (ja) * 2010-11-29 2012-06-21 Panasonic Corp 画像認識方法、画像認識装置及び撮像システム
JP2015536517A (ja) * 2012-12-20 2015-12-21 インテル・コーポレーション ビデオモーション推定モジュールを用いた加速対象検出フィルタ
JP2016162232A (ja) * 2015-03-02 2016-09-05 キヤノン株式会社 画像認識方法及び装置、プログラム

Also Published As

Publication number Publication date
JP2019159391A (ja) 2019-09-19
CN111699509B (zh) 2023-09-26
US20200394797A1 (en) 2020-12-17
DE112019001138T5 (de) 2020-12-03
JP6977624B2 (ja) 2021-12-08
US11494906B2 (en) 2022-11-08
CN111699509A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
US11334775B2 (en) Object detection device, object detection method, and program
US10726244B2 (en) Method and apparatus detecting a target
US10002290B2 (en) Learning device and learning method for object detection
JP4767595B2 (ja) 対象物検出装置及びその学習装置
US8837773B2 (en) Apparatus which detects moving object from image and method thereof
JP6494253B2 (ja) 物体検出装置、物体検出方法、画像認識装置及びコンピュータプログラム
US9418440B2 (en) Image segmenting apparatus and method
WO2019171779A1 (ja) 物体検出装置、物体検出方法、およびプログラム
KR102476022B1 (ko) 얼굴검출 방법 및 그 장치
US11113576B2 (en) Information processing apparatus for training neural network for recognition task and method thereof
US20170075993A1 (en) Information processing apparatus, method of controlling the same, and storage medium
US8478055B2 (en) Object recognition system, object recognition method and object recognition program which are not susceptible to partial concealment of an object
CN110069989B (zh) 人脸图像处理方法及装置、计算机可读存储介质
CN109063626B (zh) 动态人脸识别方法和装置
WO2012046426A1 (ja) 物体検出装置、物体検出方法および物体検出プログラム
JP2012190159A (ja) 情報処理装置、情報処理方法及びプログラム
US11334759B2 (en) Information processing apparatus, information processing method, and medium
CN111183455A (zh) 图像数据处理系统与方法
JP2010271861A (ja) オブジェクト識別装置及びオブジェクト識別方法
CN112651321A (zh) 档案处理方法、装置及服务器
CN117237867A (zh) 基于特征融合的自适应场面监视视频目标检测方法和系统
US9531969B2 (en) Image processing apparatus, image processing method, and storage medium
WO2009096208A1 (ja) 物体認識システム,物体認識方法および物体認識用プログラム
WO2022049704A1 (ja) 情報処理システム、情報処理方法、及びコンピュータプログラム
US20230177716A1 (en) Information processing device, non-transitory computer-readable storage medium, and information processing method

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19763873

Country of ref document: EP

Kind code of ref document: A1