WO2021054217A1 - 画像処理装置、画像処理方法及びプログラム - Google Patents
画像処理装置、画像処理方法及びプログラム Download PDFInfo
- Publication number
- WO2021054217A1 WO2021054217A1 PCT/JP2020/034093 JP2020034093W WO2021054217A1 WO 2021054217 A1 WO2021054217 A1 WO 2021054217A1 JP 2020034093 W JP2020034093 W JP 2020034093W WO 2021054217 A1 WO2021054217 A1 WO 2021054217A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature point
- image
- feature
- reliability
- image processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Definitions
- the present invention relates to the detection of a person in an image.
- a technology that detects an object such as a person from a camera image and determines whether or not it is the same as an object detected by another camera.
- the object to be identified is a person
- the object is first detected in the camera image.
- collation features representing the features unique to the object are extracted from the area of the object.
- the matching features of the objects detected by different cameras it is possible to identify whether or not these objects are the same.
- the feature points of an object are extracted, and the object region is determined from the circumscribing rectangle of the feature point group.
- a first detection means for detecting a first feature point cloud corresponding to a part of the object from an image obtained by capturing an object having a plurality of parts, and the first detection means.
- an acquisition means for acquiring the reliability indicating the certainty that the position indicated by the feature point is the portion corresponding to the feature point, and the reliability is small.
- a second detecting means for detecting the second feature point based on a part of the first feature point, and a part of the first feature point. It is characterized by having a determination means for determining a region in which the object exists based on the second feature point.
- Block diagram showing a functional configuration example of the image display device of the embodiment Block diagram showing a functional configuration example of the image feature determination unit Block diagram showing a hardware configuration example
- Embodiment A flowchart showing the flow of processing executed by the image processing apparatus.
- Flowchart showing the flow of processing executed by the image processing device Flowchart showing the flow of processing executed by the image processing device
- the figure explaining an example of the correction of the characteristic point of the waist The figure explaining an example of the correction of the characteristic point of the waist
- the figure explaining an example of the correction of the characteristic point of the waist The figure explaining an example of the correction of the characteristic point of the waist
- the figure explaining an example of correction of a feature point of a foot The figure explaining an example of correction of a feature point of a foot
- the figure explaining an example of correction of a feature point of a foot The figure explaining the process of determining the area of an object
- the figure explaining the configuration example of the neural network Flowchart showing the flow of processing to be trained by the neural network
- the figure explaining the screen display example The figure explaining the example of the part in a face
- the figure explaining the configuration example of the sub-network The figure explaining the configuration example of the sub-network
- the figure explaining the configuration example of the sub-network The figure explaining the configuration example of the sub-network
- the figure explaining the configuration example of the image integration subnetwork The figure explaining an example of the shielding part of a person
- FIG. 3 shows an example of the hardware configuration of the present embodiment.
- 301 is an image pickup device (imaging means) for converting a subject image from light into an electric signal, which is composed of a CCD, CMOS, or the like.
- Reference numeral 302 denotes a signal processing circuit that processes a time-series signal related to a subject image obtained from the image sensor 301 and converts it into a digital signal.
- 301 and 302 are connected to the bus as cameras.
- Reference numeral 303 denotes a CPU, which controls the entire apparatus by executing a control program stored in the ROM 304.
- Reference numeral 304 denotes a ROM, which stores a control program executed by the CPU 303 and various parameter data.
- Reference numeral 305 is RAM, which stores images and various information. Further, the RAM 305 functions as a work area of the CPU 303 and a temporary save area for data.
- Reference numeral 306 is a display.
- Reference numeral 307 is a pointing device such as a mouse or an input device such as a keyboard, which receives input from a user.
- Reference numeral 308 is a communication device such as a network or a bus, which communicates data and control signals with other communication devices.
- the processing corresponding to each step of the flowchart described later is realized by software using the CPU 303, but a part or all of the processing is realized by hardware such as an electronic circuit. It doesn't matter.
- the image display device of the present invention may be realized by using a general-purpose PC by omitting the image pickup element 301 and the signal processing circuit 302, or may be realized as a dedicated device.
- software (program) acquired via a network or various storage media may be executed by a processing device (CPU, processor) such as a personal computer.
- a feature point is a point associated with a structural unit of an object composed of a plurality of parts.
- the feature points are specifically the positions (two-dimensional coordinates) of the joints of a person in the image.
- the reliability is calculated for each of the detected feature points, and is a real number from 0 to 1 indicating the likelihood that the portion corresponding to the feature point exists on the image. For example, when detecting the position of a person's head as a feature point, the reliability increases if the person's head is clearly shown in the image. Conversely, if the head appears hazy, or if the head is shielded by some other object, the reliability of the feature points corresponding to the head is reduced.
- the present embodiment will be described by taking a person as an example of the object to be monitored, but the present embodiment is not limited to this, and other objects such as animals and cars may be used. That is, any structure composed of a plurality of parts can be applied.
- a person is identified by using the feature amount of the whole body of the person.
- a person may be identified using a face, and in this case, it is known by names such as "face recognition”, “face matching", and "face search”.
- FIG. 1 The configuration of this embodiment is shown in FIG.
- the image acquisition unit 101 acquires an image frame obtained by capturing an image of an object having a plurality of parts from a camera.
- the first detection unit 102 detects the position of the feature point of the object and its reliability from the image frame. Details of the method for detecting the position of a person's joint in an image and its reliability will be described later.
- the feature group determination unit 103 determines a feature group for detecting feature points whose reliability is less than a predetermined value, based on the position and reliability of the feature points detected by the first detection unit 102.
- the combination of the feature point groups is prepared in advance, and is determined from among them according to the condition of the reliability of the feature points. The specific method will be described later.
- the second detection unit 104 uses a method different from that of the first detection means from the image.
- the predetermined feature point is detected.
- the feature points are detected by using the relative positional relationship between the feature points. The specific method will be described later.
- the feature point storage unit 105 stores the detected feature points.
- the area determination unit 106 determines the area where the object exists from the feature points. Among the detected feature points, a region in which the object to be extracted for image feature exists is determined by using a combination of specific feature points determined in advance.
- the image extraction unit 107 cuts out a region determined by the region determination unit from the image frame.
- the image feature extraction unit 108 extracts an image feature for identifying a person from the cut out partial image by using a neural network or the like.
- the recognition unit 109 performs image recognition using the extracted image features. In this embodiment, a person is identified as image recognition. Specifically, by comparing the extracted image features with each other, it is determined whether or not the feature amounts belong to the same person. Details will be described later.
- the display unit 110 displays the result of image recognition on the screen.
- the learning unit 111 learns a neural network or the like used for image feature extraction by the image feature extraction unit 108.
- the object storage means 112 stores information on the object used by the recognition unit 109.
- FIG. 2 shows a configuration example of the image feature extraction unit 108 of FIG.
- the image feature extraction unit 108 is composed of an out-of-area feature point correction unit 202, an object part extraction unit 203, an intermediate image feature extraction unit 204, a reliability conversion unit 205, a feature integration unit 206, and an image feature output unit 207.
- the out-of-area feature point correction unit 202 corrects the feature points outside the partial image area among the feature points extracted by the feature point extraction unit 102 in FIG.
- the object part extraction unit 203 extracts an object part (part) from the image.
- the intermediate image feature extraction unit 204 extracts intermediate image features from parts of an image and an object.
- the reliability conversion unit 205 applies the conversion process to the reliability of the feature points extracted by the feature point extraction unit 102.
- the feature integration unit 206 integrates the output of the intermediate image feature extraction unit 204 and the output of the reliability conversion unit 205.
- the image feature output unit 207 generates an image feature from the output of the feature integration unit 206.
- step 401 the image acquisition unit 101 acquires an image frame from the camera. This step corresponds to the operation of the image acquisition unit 101 of FIG.
- Step 402 detects a plurality of feature points associated with the parts of the object from the image of the object having the plurality of parts acquired in step 401 (first detection method). This step corresponds to the operation of the first detection unit 102 in FIG. Further, in step 402, the image frame is input, and a plurality of feature points of the person existing in the image and their reliabilitys are extracted. For each of the detected feature points, the reliability indicating the certainty that the feature points are reflected in the image is acquired. If the image processing target is a person, the joint position of the human body can be used as a feature point. The five feature points detected in this step are the crown, neck, hips, right ankle, and left ankle. Convolutional Pose Machines is used to detect the feature points.
- a trained model (neural network) is used to calculate a reliability map showing where each joint position is located on the image.
- the reliability map is a two-dimensional map, and if the number of joint points is P, there are P + 1 (one is a map corresponding to the background).
- P the number of joint points
- P + 1 one is a map corresponding to the background.
- the reliability map of a certain joint point the position with high reliability is regarded as the position where the joint point exists.
- the reliability is a real number from 0 to 1 indicating the likelihood that the feature point exists. The closer it is to 1, the higher the probability that the joint point exists.
- a method other than Convolutional Poses Machines may be used.
- a rule-based method may be used to identify each breakpoint using image features extracted for each breakpoint of the human body.
- the image feature of the head may be extracted from the image, and the position of the body may be estimated from the position where the head is extracted.
- the joint points of the human body are used as the feature points, but if the image processing target is a face, the face feature points can be used.
- the facial feature points the center and end points of parts such as eyes, eyebrows, nose, mouth, and ears, points on the contour line, points on the contour line of the entire face shape, and the like can be used.
- the feature group determination unit 103 determines the feature point cloud to be used in the second detection method.
- Step 403 corresponds to the operation of the feature group determination unit 103 of FIG.
- the feature point group determined in step 403 is used in the second detection method.
- a plurality of combination patterns are prepared for the feature point group, and the combination pattern is selected from among them according to the condition of the reliability of the feature points, and the feature point group is determined.
- the feature point cloud will be used in the second detection method in step 404 later.
- the feature point group includes feature points (here, head, neck or waist) used to determine the corrected position.
- the feature points to be corrected as predetermined feature points are the waist, the right ankle, and the left ankle. Since the correction of the right ankle and the correction of the left ankle are performed in the same procedure, only the correction of the right ankle will be described.
- the ankle on one side to be processed is simply referred to as "ankle”.
- step 403 The process executed by the feature group determination unit 103 in step 403 will be described with reference to the flowchart of FIG.
- six types of feature point groups A1, A2, A3, B1, B2, and B3 are prepared in advance as candidates for the feature point group used for correction.
- One of the feature point groups A1, A2, and A3 related to the correction of the waist and one of the feature point groups B1, B2, and B3 related to the detection of the ankle in the second detection method are determined according to the conditions.
- the feature point group A1 is an empty set, and the detection result of the first detection unit is adopted as it is.
- the position of the waist is detected from the positions of the head and neck on the current frame.
- the feature point group A3 the current waist position is detected from the head and waist positions in the past frame.
- the feature point group B1 is an empty set, and the detection result of the first detection unit is adopted as it is.
- the position of the ankle is detected from the positions of the neck and waist on the current frame.
- the position of the ankle in the current frame is detected from the positions of the neck and ankle in the past frame.
- step 501 of FIG. 5 the feature group determination unit 103 evaluates whether or not the reliability of the waist in the current frame determined in step 402 is equal to or higher than a predetermined threshold value. If it is above the threshold, the process proceeds to step 503, and if not, the process proceeds to step 502. ..
- the feature group determination unit 103 evaluates whether or not the reliability of the waist in the past frame stored in the feature point storage unit 105 is equal to or higher than the threshold value. If it is above the threshold, the process proceeds to step 505, and if not, the process proceeds to 504.
- the past frame is an image frame acquired in step 401 of the previous repeating loop in the repeating loop of the flowchart of FIG. However, when the feature points in the past frame are not stored in the feature point storage unit 105, that is, when step 403 of FIG. 4 is executed for the first time, the process proceeds to step 504.
- the feature group determination unit 103 determines the feature point group A1 as the feature point group used in the second detection method, and proceeds to step 506.
- the feature point group A1 it is a case where the waist feature points of the current frame are reliable, and it is not necessary to detect the waist feature points again in the subsequent processing.
- step 504 the feature group determination unit 103 determines the feature point group A2 as the feature point group used in the second detection method, and proceeds to step 506.
- the feature point group A2 is determined, the hip joint points of both the current frame and the past frame are unreliable, and the position of the waist of the current frame is changed from the position of the head and neck of the current frame. Detect by processing.
- step 505 the feature group determination unit 103 selects the feature point group A3 as the feature point group used for correction, and proceeds to step 506.
- the waist feature points of the current frame are unreliable, but the waist feature points of the past frame are reliable, and the current frame is from the head and waist positions of the past frame. The waist position is corrected in the subsequent processing.
- step 506 the feature group determination unit 103 evaluates whether or not the reliability of the ankle in the current frame determined in step 402 is equal to or higher than a predetermined threshold value. If it is above the threshold, the process proceeds to step 508, and if not, the process proceeds to step 507.
- step 507 the feature group determination unit 103 evaluates whether or not the reliability of the ankle in the past frame stored in the feature point storage unit 105 is equal to or higher than a predetermined threshold value. If it is above the threshold, the process proceeds to step 510, and if not, the process proceeds to 509. However, when the feature points in the past frame are not stored in the feature point storage unit 105, that is, when step 403 of FIG. 4 is executed for the first time, the process proceeds to step 509.
- threshold values used in S501, S502, S506, and S507 are different values in this embodiment, but may be the same value.
- the feature group determination unit 103 selects the feature point group B1 as the feature point group used for the correction, and ends the processing of the flowchart of FIG.
- the feature point group B1 it means that the feature points of the foot in the current frame are reliable, and it is not necessary to detect the position of the foot in a later process.
- the feature group determination unit 103 selects the feature point group B2 as the feature point group used for the correction, and ends the processing of the flowchart of FIG.
- the foot position is unreliable in both the current frame and the past frame, and the foot position of the current frame is detected from the foot and waist positions of the current frame in the subsequent processing. To do.
- the feature group determination unit 103 selects the feature point group B3 as the feature point group used for the correction, and ends the processing of the flowchart of FIG.
- the feature point group B3 is selected, the feature points of the foot are unreliable in the current frame, but the feature points of the foot are reliable in the past frame, and the position of the current frame is determined from the positions of the neck and foot of the past frame. It will be detected in the subsequent processing.
- the feature group determination unit 103 also applies to the other ankle (left ankle).
- the feature point group used for the detection method of is determined.
- the position of the ankle can be estimated from a feature point as close to the position of the ankle as possible. Therefore, when the waist position can be adopted (the waist position is highly reliable), the waist position is used to detect the ankle position. If the position of the waist is unknown (the position of the waist is unreliable), the position of the ankle is detected by using the position of the neck next to the waist and the position of the neck closest to the ankle.
- the following processing order is based on the above intention, but the order may be changed. Further, the feature group may be determined so as to detect only the position of the ankle without detecting the position of the waist.
- step 404 of FIG. 4 the second detection unit 104 detects a predetermined feature point by the second detection method using the feature point cloud determined in step 403.
- the process of step 404 corresponds to the second detection unit 104 of FIG.
- the operation of step 404 will be described with reference to the flowchart of FIG.
- the second detection unit 104 determines a predetermined feature point (position of the ankle) based on the feature point groups A1, A2, A3, B1, B2, and B3 determined in the process of the flowchart of FIG. To detect.
- step 601 of FIG. 6 the second detection unit 104 determines which of the feature point groups A1, A2, and A3 related to the waist is selected. If the feature point group A1 is selected, the process proceeds to step 602, if the feature point group A2 is selected, the process proceeds to step 603, and if the feature point group A3 is selected, the process proceeds to step 604. In step 602, step 603, and step 604, the second detection unit 104 detects the position of the feature point of the waist by the second detection method.
- step 602 the second detection unit 104 does not correct the position of the currently detected waist feature point. This is because the reliability of the waist feature points in the previous process is larger than a certain threshold value and is considered to be reliable.
- Step 603 detects the position of the waist from the positions of the head and neck detected in the current image frame.
- the process will be described with reference to FIG. 7.
- the feature points of the crown 701, the neck 702, the waist 703, the right ankle 704, and the left ankle 705 are detected by step 402 of FIG.
- a straight line 706 connecting the head and the neck is calculated.
- the distance between the head and neck is calculated from the respective position coordinates.
- the ratio of the distance between the head and the neck of the human body and the distance between the head and the waist is approximately the same, although there are individual differences.
- the position of the waist is on a straight line connecting the head and the neck, and the ratio of the distance between the head and the neck and the distance between the head and the waist is detected so as to be a predetermined value.
- FIG. 7C shows an example of the corrected waist feature point 707. This predetermined ratio can be determined, for example, from the ratio of the average adult human body part.
- the second detection unit 104 detects the current waist position from the head and waist positions in the past frame.
- the distance between the head and the waist is calculated from the feature points of the past frame stored in the feature point storage unit 105.
- a straight line connecting the head and the neck is calculated as in FIG. 7B.
- the position of the waist in the current frame is detected so that the position of the waist is on the straight line connecting the head and the neck and the distance between the head and the waist in the current frame is equal to the distance between the head and the waist in the past frame. ..
- step 605 of FIG. 6 the second detection unit 104 determines which of the feature point groups B1, B2, and B3 related to the ankle is selected. If the feature point group B1 is selected, the process proceeds to step 606, if the feature point group B2 is selected, the process proceeds to step 607, and if the feature point group B3 is selected, the process proceeds to step 608. In step 607 and step 608, the position of the feature point of the ankle is detected. In step 606, the second detection unit 104 does not correct the position of the currently detected feature point of the ankle.
- the second detection unit 104 detects the position of the ankle from the positions of the neck and waist on the current frame.
- the process will be described with reference to FIGS. 8A to 8C.
- the feature points of the crown 801 and the neck 802, the waist 803, the right ankle 804, and the left ankle 805 are detected by step 402 of FIG.
- a straight line 806 body axis
- the distance between the neck and hips is calculated from the respective position coordinates.
- the ratio of the distance between the neck and the waist of the human body and the distance between the neck and the right ankle is approximately the same, although there are individual differences.
- FIG. 8C shows an example after the detection of the feature points of the ankle 807.
- the second detection unit 104 detects the position of the ankle in the current frame from the positions of the neck and ankle in the past frame.
- the distance between the neck and the waist is calculated from the feature points of the past frame stored in the feature point storage unit 105.
- a straight line (body axis) connecting the neck and the waist is calculated in the same manner as in FIG. 8B.
- the distance between the neck and the ankle in the past frame and the distance between the neck and the ankle in the current frame are approximately the same.
- the position of the ankle in the current frame is detected so that the position of the ankle is on the body axis and the distance between the neck and the ankle in the current frame is equal to the distance between the neck and the ankle in the past frame.
- steps 605, 606, 607, and 608 only the right ankle was targeted, but the left ankle is also detected in the same manner. By this process, even if the ankle portion is not detected well by the first detection unit due to occlusion or noise, a more probable ankle position can be detected.
- step 405 of FIG. 4 the area determination unit 106 determines the area where the object exists based on the detected feature points.
- This partial image area indicates an area in which a person exists in the captured image, and is used to specify an area for extracting the person image from the image frame in a later process.
- the operation of step 405 corresponds to the area determination unit 106 of FIG.
- the process of step 405 will be described with reference to FIG. 9A.
- the feature points of the crown, neck, waist, right ankle, and left ankle are present in the image frame 903.
- the area determination unit 106 calculates the midpoint between the right ankle and the left ankle.
- the region determination unit 106 calculates a straight line 901 (body axis) connecting the head and its midpoint.
- the partial image area is rectangular and the aspect ratio is predetermined.
- the area determination unit 106 determines the rectangle 902 so that the vertical direction of the rectangle is parallel to the body axis, the central axis of the rectangle is equal to the body axis, the upper side of the rectangle is in contact with the head, and the lower side of the rectangle is in contact with the ankle. To do.
- a margin may be provided between the upper side of the rectangle and the head, and between the lower side of the rectangle and the ankle.
- a margin having a size obtained by multiplying the distance (height) between the head and ankle by a certain coefficient may be provided. That is, the partial image area is determined based on the circumscribed rectangle of the feature point.
- the aspect ratio of the rectangle is fixed in order to facilitate input to the later neural network, but it may not be fixed depending on the configuration of the later processing.
- the corrected joint position it is possible that the part of the person is shielded or a lot of noise is generated in the region determined here. For example, as shown in FIG. 18, even when the part of the ankle is hidden by the shield 1803, it is determined as the area including the part of the person.
- the region By determining the region in this way, it is possible to determine the partial image region in which the arrangement of the parts of the human body in the rectangle is consistent.
- the arrangement of the parts consistent, there is an effect that the feature amount of each part that more reflects the characteristics of each part can be extracted in the feature amount extraction process performed in the subsequent stage.
- step 406 of FIG. 4 the image extraction unit 107 cuts out the partial image area determined in step 405 from the image frame as a person image. If the rectangle of the partial image area determined in step 405 is tilted, the image is rotated so that the rectangle stands upright. An example cut out from FIG. 9A is shown in FIG. 9B. The operation of step 406 corresponds to the image extraction unit 107 of FIG.
- step 407 the feature point storage unit 105 stores the corrected portion in the current frame.
- the operation of step 407 corresponds to the feature point storage unit 105 of FIG.
- step 408 the image feature extraction unit 108 extracts the feature amount from the partial image area (human image).
- the operation of step 408 corresponds to the image feature extraction unit 108 of FIGS. 1 and 2. The operation of step 408 will be described with reference to the flowchart of FIG.
- step 1001 of FIG. 10 the out-of-area feature point correction unit 202 corrects the reliability of the feature points outside the partial image area based on the coordinates of the partial image area and the feature points.
- Step 1001 is a process executed by the out-of-area feature point correction unit 202 of FIG.
- the feature points may not be included in the partial image area, such as when the limbs are spread out.
- the human body part outside the partial image area is out of the range of feature extraction, and there is a problem that the accuracy of feature extraction in this part is lowered. Therefore, in order to mitigate the influence in a later step, an adjustment is made to reduce the reliability of the feature points outside the partial region. For example, in FIG.
- the right ankle 1104 is outside the range of the rectangle 1106, which reduces the reliability of the feature points of the right ankle.
- the value obtained by multiplying the original reliability by a predetermined real value smaller than 1 is used as the corrected reliability. In this way, by reducing the reliability of the feature points outside the partial region, the problem of the decrease in the accuracy of feature extraction due to the placement of human body parts outside the partial region and the decrease in the accuracy of feature extraction due to shielding are reduced. The problem can be dealt with by a common process thereafter.
- the image feature output unit 207 extracts the feature amount from the reliability of the partial image area and the feature points.
- a neural network as described below can be used to extract the features.
- FIG. 12 shows a configuration example of the neural network.
- the neural network of FIG. 12 inputs the image 1201 and the feature point reliability 1206, and outputs the image feature 1210.
- the neural network is composed of an image conversion subnet 1202, a reliability transformation subnet 1207, an integrated subnet 1208, and a feature output subnet 1209.
- the image conversion sub-network 1202 corresponds to the intermediate image feature extraction unit 204 of FIG.
- the reliability conversion sub-network 1207 corresponds to the reliability conversion unit 205 of FIG.
- the integrated subnetwork 1208 corresponds to the feature integrated section 206 of FIG.
- the feature output sub-network 1209 corresponds to the image feature output unit 207 of FIG.
- Input data, intermediate data, and output data handled by the neural network are treated as tensors.
- a tensor is data expressed as a multidimensional array, and the number of dimensions is called the rank.
- a tensor with a rank of 0 is called a scalar
- a tensor with a rank of 1 is called a vector
- a tensor with a rank of 2 is called a matrix.
- an image having one channel (such as a grayscale image) can be treated as a size H ⁇ W rank 2 tensor or a size H ⁇ W ⁇ 1 rank 3 tensor.
- an image having an RGB component can be treated as a tensor having a size of H ⁇ W ⁇ 3 and a rank of 3.
- the data obtained by extracting the surface of the tensor cut at a certain position in a certain dimension and its operation are called slices. For example, by slicing a rank 3 tensor of size H ⁇ W ⁇ C at the cth position of the third dimension, a rank 2 tensor of H ⁇ W or a rank 3 tensor of H ⁇ W ⁇ 1 can be obtained. Be done.
- the layer that performs the convolution operation on a certain tensor is called the convolution layer (abbreviated as Conv).
- Conv The coefficient of the filter used for the convolution operation is called "weight”.
- the convolution layer generates an H ⁇ W ⁇ D output tensor from an H ⁇ W ⁇ C input tensor.
- a layer that multiplies a certain vector by a weight matrix and adds a bias vector is called a fully connected layer (abbreviated as FC).
- FC fully connected layer
- a vector of length D is generated from a vector of length C by applying a fully connected layer.
- the operation of reducing the size of a tensor by dividing a tensor into sections and taking the maximum value of that section is called maximum pooling.
- maximum pooling When the average value of the section is taken instead of the maximum value, it is called average pooling.
- the maximum pooling is used, and the layer of the neural network that performs this is simply referred to as a pooling layer (abbreviated as Polling).
- the pooling layer outputs a tensor in which the size of the first dimension and the second dimension is half of the input. Specifically, an H / 2 ⁇ W / 2 ⁇ C output tensor is generated from an H ⁇ W ⁇ C input tensor.
- the activation function includes a rectified linear function (abbreviated as ReLU) and a sigmoid function.
- ReLU rectified linear function
- sigmoid function has the property that the range of output values is 0 to 1.
- ReLU is used as an activation function unless otherwise specified.
- connection In a neural network, the operation of arranging and connecting tensors in a certain dimensional direction is called "connection".
- Global average polling will be explained.
- H ⁇ W ⁇ C tensor the average value of all the elements contained in each slice is taken for the slices at all positions in the third dimension. Then, by arranging the average values of C pieces, a vector of length C is generated. This operation is called Global average polling.
- the size of the image 1201 that is the input of the neural network is width W1, height H1, and the number of channels 3. That is, the image can be regarded as a H1 ⁇ W1 ⁇ 3 tensor.
- the image conversion subnet 1202 converts the image 1201 into a feature map.
- the image conversion subnet 1202 is further composed of a preprocessing subnet 1203, a parts estimation subnet 1204, and an image integration subnet 1205.
- the image conversion sub-network 1202 extracts a feature amount for identifying an object for each part corresponding to the detected feature point.
- L. Includes a module that estimates parts and extracts the characteristics of parts, as in the paper by Zhao et al.
- the image conversion sub-network 1202 corresponds to the object part extraction unit 203 of FIG. (L. Zhao et al. "Deeply-Learned Part-Aligned Representations for Person Re-Mentalization," IEEE, 2017.)
- the object part extraction unit 203 is operated in the neural network for feature extraction.
- the object part extraction unit 203 may be operated outside the neural network to provide information on the position and size of the part from the outside.
- the object part extraction unit 203 and the first detection unit 102 in FIG. 1 may be used for each other, and the information derived from the output of the first detection unit 102 may be used as the output of the object part extraction unit 203.
- the feature amount for each part extracted here is integrated as the total feature amount in the later processing. At that time, weighting is performed so that the feature amount of each part is reflected in the overall feature amount according to the reliability of each feature point. That is, it is suppressed that the feature amount extracted from the part corresponding to the feature point having low reliability contributes to the final recognition result.
- Feature points with low reliability may be obstructed by an object or have a lot of noise, and the features extracted from that part do not always indicate the characteristics of the part of the object. Because there is no such thing.
- a feature amount that more reflects the features of the object can be generated, and the effect of improving the recognition accuracy of the object can be expected.
- the image conversion subnet 1202 can be composed of a sequence of one or more convolution layers (Conv) and a maximum pooling layer (Pooling). In the present embodiment, it is composed of a sequence such as "Conv, Conv, Polling, Conv, Polling, Conv, Polling, Conv". The outline of the configuration is shown in FIG. 16A. As a result of applying the image conversion subnetwork to the image, a tensor of H2 ⁇ W2 ⁇ C2 is obtained.
- the parts estimation sub-network 1204 takes the output of the image conversion sub-network 1202 as an input, and outputs a tensor of H2 ⁇ W2 ⁇ P1 which is a feature map.
- P1 is the number of parts to be estimated, and may be an arbitrary number determined in advance.
- the slice (tensor having a size of H2 ⁇ W2 ⁇ 1) at the position p in the third dimension of this tensor is a mask image showing the existence position of the p-th part. Each pixel takes a value from 0 to 1, and the closer it is to 1, the higher the probability that the part exists at that position.
- the parts estimation subnet 1204 is composed of one convolution layer and a sigmoid function. The outline of the configuration is shown in FIG. 16B.
- the configuration of the parts estimation network is not limited to this, and may be configured by a plurality of convolution layers.
- the image integration subnet 1205 integrates the output of the image conversion subnet 1202 and the parts estimation subnet 1204.
- FIG. 17 shows the processing flow. First, C2 slices 1702 (tensors of size H2 ⁇ W2 ⁇ 1) at position p in the third dimension of the output tensor 1701 of the parts estimation subnetwork are copied and connected in the third dimension, and the size is increased. Extend to H2 x W2 x C2 tensor 1703. Then, each element of this tensor is multiplied by each element of the output tensor 1704 of the image conversion subnet 1202 to generate a new tensor 1705 (size H2 ⁇ W2 ⁇ C2).
- a vector 1706 of length C2 is generated, and by further applying a fully connected layer, a vector 1707 of length C3 is generated.
- This process is applied to the channel p of all parts to generate a vector 1708 that concatenates each generated vector. That is, the length of the vector 1708 generated by the image integration subnet is (C3) P1.
- the data to be integrated is a vector, but the vector is a kind of tensor, and even when the data to be integrated is a tensor of the second or higher order, it may be integrated by combining in the same manner.
- the reliability conversion subnet 1207 converts the feature point reliability 1206 into a vector of length C5.
- the reliability conversion subnetwork 1207 can be composed of 0 or more fully connected layers. In this embodiment, there is one fully connected layer. The outline of the configuration is shown in FIG. 16C.
- the integrated subnet 1208 integrates the output vector of the image integrated subnet 1205 and the output vector of the reliability conversion subnet 1207.
- the feature output subnet 1209 takes the output vector of the integrated subnet 1208 as an input and outputs the image feature 1210 which is a vector of length C7.
- the output subnetwork 1209 can consist of one or more fully coupled layers. In this embodiment, it is composed of two fully connected layers. The outline of the configuration is shown in FIG. 16E. This image feature is also referred to as a "matching feature”, a "personal feature”, a “descriptor”, or an "embedding".
- the recognition unit 109 compares the feature amount of the person image extracted in step 408 with the feature amount stored in the person database.
- the person database is a storage means in which cut-out images and feature quantities (feature vectors) of N people to be identified are registered in advance. An image of the person to be identified is taken in advance, and the image is cut out and the feature amount is extracted by the same method as in steps 402 to 408 and saved.
- the person database is stored in the object storage unit 112 of FIG.
- the recognition unit 109 calculates the distance between the feature amount of the person in the person database and the feature amount of the person image extracted in step 408.
- Step 409 corresponds to the processing of the recognition unit 109 in FIG.
- the Euclidean distance is used for comparison of features.
- the feature quantities may be compared by other methods, other distance indexes such as L1 distance and cosine distance, and may be compared by using machine learning such as metric learning or neural network.
- step 410 of FIG. 4 the display unit 110 displays the corresponding person on the screen in step 409.
- Step 410 corresponds to the processing of the image display unit 110 of FIG.
- An example of the display screen is shown in FIG.
- the display screen 1401 is composed of a query 1402 and a gallery 1403.
- Query 1402 is an image of the person to be searched, and displays the person image cut out in step 406.
- the gallery 1403 is a list of search results, and displays the top five images in order of the images in the person database sorted in order of distance in step 409. At this time, the top five people may be displayed, or only the people whose distance is less than or equal to a predetermined threshold value may be displayed from among the five people.
- the image displayed in the gallery may be cut out by the same method as in step 407 from step 401 of FIG. 4, or may be cut out by another method.
- a marker indicating the position of the detected feature point may be superimposed and displayed on the image of the person in the query and the gallery.
- step 411 of FIG. 4 the information processing device 10 determines whether or not to end the processing of the flowchart. In the present embodiment, when the number of times of execution of step 411 exceeds the specified number of times, it is determined that the process ends. If not, the process proceeds to step 401 and the flowchart processing is continued.
- ⁇ Neural network learning> The method of learning the neural network used in the image feature extraction unit 108 of FIG. 1 will be described with reference to the flowchart of FIG. The processing of the flowchart of FIG. 13 corresponds to the learning unit 111 of FIG.
- the structure of the neural network is shown in FIG. 12 as described above.
- the neural network inputs the image 1201 and the feature point reliability 1206, and outputs the image feature 1210.
- Neural network is learned by triplet loss.
- triplet loss a triplet consisting of a sample called an anchor sample, a sample of the same person as the anchor called a positive sample, and a sample of a person different from the anchor called a negative sample is used.
- the network is updated by calculating the loss function by comparing the features obtained from the anchor sample, positive sample, and negative sample.
- step 1301 of FIG. 13 the learning unit 111 initializes the weights of the convolution layer and the fully connected layer constituting the network.
- a random number is used as the initial value of the weight.
- the learning unit 111 randomly acquires learning data from the learning data group.
- One training data is a triplet and includes one anchor sample, one positive sample, and one negative sample.
- Anchor sample, positive sample, and negative sample are each composed of an image and feature point reliability. The image and the feature point reliability are generated by the same procedure as that input to the neural network used in the flowchart of FIG.
- step 1303 the learning unit 111 updates the network with the learning data.
- the current state network is applied to the anchor sample, the positive sample, and the negative sample, and the features are calculated for each.
- the loss is calculated by triplet loss for these three features.
- the weight in the network is updated by the backpropagation method.
- step 1304 the learning unit 111 determines whether or not the learning is completed. When step 1304 is executed a predetermined number of times, it is determined that the step 1304 is finished, and the series of processes of the flowchart of FIG. 13 is finished. If it is determined that the process does not end, the process proceeds to step 1302.
- the feature group determination unit 103 and the second detection unit 104 can detect the bad feature points from the good feature points again. Therefore, even in a situation where a part of the object is shielded by another object or is subjected to disturbance, the effect of reducing the error of the object area determination by the area determination unit 106 can be expected.
- the reliability of the feature points acquired by the first detection unit 102 is lower than that in the normal state in the region where a part of the object is shielded by another object or the region is disturbed. it can. At this time, it is considered that the quality of the image features for image recognition extracted from these local regions also deteriorates at the same time. Therefore, by using the information on the reliability of the feature points as an index showing the reliability of a certain local region in the image feature extraction unit 108, the effect of reducing the deterioration of the quality of the image features can be expected. Therefore, the effect of improving the accuracy of image recognition can be expected.
- Step 1001 in FIG. 10 reduces the reliability of feature points outside the partial image area.
- the human body part outside the partial image area is outside the range of feature extraction, and there is a problem that the accuracy of feature extraction in this part is lowered. Therefore, in order to reduce the influence in a later step, the effect of reducing the deterioration of the quality of the image feature can be expected by reducing the reliability of the feature points outside the partial region.
- the feature points used for correction are selected and the feature points are corrected by using not only the feature points of the current frame but also the feature points of the past frame.
- the effect of improving the correction accuracy of the feature points can be expected even when the reliability of the feature points is low in the current frame.
- step 403 the feature points are selected in a predetermined order.
- the feature points are selected in a predetermined order.
- the feature points are corrected in a predetermined order.
- the feature points are corrected in the order of waist and legs. This is because the body parts of a person are connected in the order of neck, waist, and legs.
- the hip position can be corrected, and then the legs can be corrected using the more correct hip position.
- the position of the feature point is corrected from the relative positional relationship between the feature points.
- the feature points are corrected based on the ratio of the distances between the feature points and the straight line (body axis) obtained from the feature points. In this way, by using the prior knowledge about the structure of the object, the effect of being able to correct the position of the feature point more correctly can be expected.
- the feature points extracted in step 402 are not limited to the crown, neck, hips, right ankle, and left ankle, but may be other parts such as wrists, elbows, and knees. In addition, it does not necessarily have to be on the body part, and other points determined by the positional relationship of the body part such as the midpoint between the right ankle and the left ankle and the intersection of the lines connecting the body axis and the left ankle / right ankle may be used. Absent.
- the position of the waist in the current frame was corrected from the distance between the head and the waist in the past frame, but other methods may be used.
- the position of the waist of the current frame may be corrected from the difference in the position coordinates of the head and the waist in the past frame. For example, as a difference between the position coordinates of the head and the waist in the past frame, it is assumed that the x-coordinate and the y-coordinate of the waist are X-pixel and Y-pixel larger than the x-coordinate and the y-coordinate of the head, respectively.
- the position of the waist may be corrected in the current frame so as to be equal to the difference in the position coordinates between the head and the waist in the past frame. Further, instead of the difference in the position coordinates of the head and the waist, the difference in the position coordinates of the neck and the waist may be used.
- step 607 the ratio of the distance between the neck and the waist of the human body and the distance between the neck and the right ankle (or the left ankle) was used, but the ratio is not limited to this, and the ratio between other feature points may be used.
- the head may be used instead of the neck, such as the ratio of the head-to-waist distance to the head-to-right ankle (or left ankle) distance.
- the ratio of the distance between the head and the neck and the distance between the waist and the right ankle (or left ankle) may be used. The same applies to step 608.
- step 607 the right ankle and the left ankle were corrected so as to be on the body axis. Not limited to this, correction may be made by moving the right ankle (or left ankle) in the body axis direction so that the ratio between the feature points becomes a predetermined value. The same applies to step 608.
- the partial image area is rectangular, but other shapes may be used. For example, it may be a polygon or may be surrounded by a curve. Instead of a figure, a mask image that distinguishes an object area from another area may be used.
- the structure of the neural network of the first embodiment is not limited to this.
- another subnet may be inserted between subnets.
- the branch structure of the network may be different.
- the types and numbers of components such as the convolution layer, the pooling layer, and the fully connected layer may be different.
- the two vectors are integrated by combining the two vectors, but other calculation methods may be used. For example, if the sizes of the two vectors are the same, multiplication or addition between the elements of the vectors may be used instead.
- the reliability conversion unit 205 of FIG. 2 is implemented as the reliability conversion sub-network 1207 as shown in FIG. 12, the reliability conversion unit 205 may be provided outside the neural network. For example, processing such as normalization processing or conversion processing may be performed on the reliability of the feature points outside the neural network, and the processing result may be used as one of the inputs of the neural network.
- step 403 and step feature point correction in FIG. 4 the feature point group to be used for correction was selected from the current frame and the previous frame, and the feature points were corrected. Not only the previous frame but also the previous frame may be used to select the feature point group and correct the feature points. Further, a frame of 3 or more may be used in combination with the current frame.
- the image feature extraction unit 108 is composed of a neural network, a method other than the neural network may be used. For example, HOG (Histogram of Oriented Gradients) features and LBP (Local Binary Pattern) features may be extracted, and image features may be determined based on these. Alternatively, parts may be estimated from HOG features and LBP features.
- HOG Heistogram of Oriented Gradients
- LBP Long Binary Pattern
- the straight line 706 of FIG. 7B was calculated from the head and neck in step 603 of FIG. 6, the straight line may be calculated only from the head or neck. For example, if it can be assumed that the body axis of a person is parallel to the y-axis of the image frame, then the straight line can be assumed to be parallel to the y-axis of the image frame, starting from either the neck or the head. You can calculate a straight line.
- the straight line 901 of FIG. 9A is calculated from a plurality of points, but it may be calculated from one point.
- the value obtained by multiplying the original reliability by a predetermined real value smaller than 1 is used as the corrected reliability, but other methods may be used.
- the method for updating the reliability is not limited to this, and the reliability may be set to 0, a predetermined real value may be subtracted from the reliability, or another method may be used.
- the facial feature points are detected in step 402 of FIG. It is illustrated in FIG. Here, it is assumed that the right eye 1501, the left eye 1502, the nose 1503, the right end 1504 of the mouth, and the left end 1505 of the mouth are detected as feature points.
- step 403 the process of step 403 will be described. First, the reliability of the feature points of the right eye is evaluated. If the reliability is equal to or higher than the threshold value, the feature point group C1 is selected. When the reliability is smaller than the threshold value, the feature point group C2 is selected if the reliability of the right eye in the past frame is not equal to or higher than the threshold value, and the feature point group C3 is selected if the reliability is higher than the threshold value.
- step 404 The process of step 404 will be described. If the feature point group used for correction is the feature point group C1, the position of the right eye is not corrected. If it is the feature point group C2, the position of the right eye of the current frame is corrected so as to be close to the arrangement of the facial parts of the average person from the positional relationship between the nose and the right end of the mouth and the left end of the mouth of the current frame. .. If it is the feature point group C3, the position of the right eye of the current frame is corrected so as to be close to the arrangement of the right eye, the nose, the right end of the mouth, and the left end of the mouth of the past frame.
- the processing of the other steps is the same as the processing of the first embodiment if the feature points extracted from the whole body are replaced with the facial feature points.
- the facial feature points are the right eye, the left eye, the nose, the right end of the mouth, and the left end of the mouth. It may be a feature point. Then, the processing of step 403 and step 404 may be changed accordingly.
- the effect of cutting out the face image from the image frame and improving the performance of face recognition can be expected.
- it is effective in a case where the face is partially covered with accessories such as sunglasses and a mask, and a case where a part of the face is temporarily hidden by a hand or the like.
- the present invention is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiment is supplied to the system or device via a network for data communication or various storage media. Then, the computer (or CPU, MPU, etc.) of the system or device reads and executes the program. Further, the program may be recorded and provided on a computer-readable recording medium.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
画像処理装置において、複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて第1の特徴点群を検出する第1の検出手段(102)と、前記第1の検出手段によって検出された前記第1の特徴点毎に、該特徴点が示す位置が該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得手段(102)と、前記信頼度が小さい前記第1の特徴点に対応する前記部位について、前記第1の特徴点の一部に基づいて第2の特徴点を検出する第2の検出手段(104)と、前記第1の特徴点の一部と前記第2の特徴点とに基づいて、前記物体が存在する領域を決定する決定手段(106)と、を設けることにより、物体の一部が遮蔽された状況においても、物体の領域を決定できるようにする。
Description
本発明は、画像における人物の検出に関する。
監視カメラシステムにおいて、カメラ画像から人物などの物体を検出して、他のカメラで検出された物体と同一であるか否かを判定する技術がある。同定対象の物体が人物である場合、まず、カメラ画像中から物体を検出する。次に、その物体の領域から物体固有の特徴を表す照合特徴を抽出する。そして、異なるカメラで検出された物体の照合特徴を比較することで、これらの物体が同一であるか否かを識別する。特許文献1では、物体の特徴点を抽出し、特徴点群の外接矩形から物体領域を決定する。
物体領域の決定、画像処理、画像認識の精度低下の原因として、被写体の一部が他の物体に遮蔽される「オクルージョン」が知られている。特徴点の検出であれば、遮蔽された周辺領域は被写体の画像特徴を正しく抽出することができないため、特徴点を正しく推定することができない。また、人物照合のための照合特徴の抽出であれば、人物を特定するための情報を遮蔽された周辺領域から正しく抽出することができない。このような場合、特許文献1の方法では、物体の領域を決定できない。本発明は上記課題に鑑みてなされたものであり、物体の一部が遮蔽された状況においても、物体の領域を決定することを目的とする。
本発明の目的を達成するために、複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて第1の特徴点群を検出する第1の検出手段と、前記第1の検出手段によって検出された前記第1の特徴点毎に、該特徴点が示す位置が該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得手段と、前記信頼度が小さい前記第1の特徴点に対応する前記部位について、前記第1の特徴点の一部に基づいて第2の特徴点を検出する第2の検出手段と、前記第1の特徴点の一部と前記第2の特徴点とに基づいて、前記物体が存在する領域を決定する決定手段と、を有することを特徴とする。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
以下、本発明の実施形態について説明する。
<実施形態1>
図3に、本実施形態のハードウェア構成例を示す。図3で、301はCCD、CMOS、等で構成され、被写体像を光から電気信号に変換するための撮像素子(撮像手段)である。302は撮像素子301から得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する信号処理回路である。301と302はカメラとしてバスに接続されている。303はCPUであり、ROM304に格納されている制御プログラムを実行することにより、本装置全体の制御を行う。304はROMであり、CPU303が実行する制御プログラムや各種パラメータデータを格納する。制御プログラムは、CPU303で実行されることにより、後述するフローチャートに示す各処理を実行するための各種手段として、当該装置を機能させる。305はRAMであり、画像や各種情報を記憶する。また、RAM305は、CPU303のワークエリアやデータの一時待避領域として機能する。306はディスプレイである。307はマウス等のポインティングデバイスや、キーボード等の入力装置であり、ユーザからの入力を受け付ける。308はネットワークやバス等の通信装置であり、他の通信装置とデータや制御信号を通信する。なお、本実施形態では、後述するフローチャートの各ステップに対応する処理を、CPU303を用いてソフトウェアで実現することとするが、その処理の一部または全部を電子回路などのハードウェアで実現するようにしても構わない。また、本発明の画像表示装置は、撮像素子301や信号処理回路302を省いて汎用PCを用いて実現してもよいし、専用装置として実現するようにしても構わない。また、ネットワークまたは各種記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ等の処理装置(CPU,プロセッサ)にて実行してもよい。
図3に、本実施形態のハードウェア構成例を示す。図3で、301はCCD、CMOS、等で構成され、被写体像を光から電気信号に変換するための撮像素子(撮像手段)である。302は撮像素子301から得られた被写体像に関する時系列信号を処理し、デジタル信号に変換する信号処理回路である。301と302はカメラとしてバスに接続されている。303はCPUであり、ROM304に格納されている制御プログラムを実行することにより、本装置全体の制御を行う。304はROMであり、CPU303が実行する制御プログラムや各種パラメータデータを格納する。制御プログラムは、CPU303で実行されることにより、後述するフローチャートに示す各処理を実行するための各種手段として、当該装置を機能させる。305はRAMであり、画像や各種情報を記憶する。また、RAM305は、CPU303のワークエリアやデータの一時待避領域として機能する。306はディスプレイである。307はマウス等のポインティングデバイスや、キーボード等の入力装置であり、ユーザからの入力を受け付ける。308はネットワークやバス等の通信装置であり、他の通信装置とデータや制御信号を通信する。なお、本実施形態では、後述するフローチャートの各ステップに対応する処理を、CPU303を用いてソフトウェアで実現することとするが、その処理の一部または全部を電子回路などのハードウェアで実現するようにしても構わない。また、本発明の画像表示装置は、撮像素子301や信号処理回路302を省いて汎用PCを用いて実現してもよいし、専用装置として実現するようにしても構わない。また、ネットワークまたは各種記憶媒体を介して取得したソフトウェア(プログラム)をパーソナルコンピュータ等の処理装置(CPU,プロセッサ)にて実行してもよい。
実施形態の説明に先立って用語について説明する。特徴点とは、複数の部位から構成される物体の構成単位と対応づけられた点である。以下の説明において、特徴点は、具体的には画像における人物の関節の位置(2次元座標)とする。信頼度は、検出された前記特徴点毎に算出され、その特徴点に対応する部位が画像上の存在する尤度を示す0から1の実数である。例えば、特徴点として人物の頭の位置を検出するとき、画像においてある人物の頭部がはっきりと映っていれば信頼度は大きくなる。逆に、頭部が霞んで映っている場合や、何か他の物体に頭部が遮蔽されている場合は、頭部に対応する特徴点の信頼度は小さくなる。つまり、該特徴点が示す位置が該特徴点に対応する前記部位である確からしさを示す。本実施形態は監視対象の物体として人物を例に説明するが、これに限定せず、動物や車など他の物体でも構わない。すなわち、複数の部位からなる構造物であれば適用可能である。本実施形態では、人物の全身の特徴量を用いて人物を同定する。一方、顔を用いて人物の同定を行ってもよく、この場合、特に「顔認証」、「顔照合」、「顔検索」などの名称で知られている。
本実施形態の構成を図1に示す。本実施形態は、画像取得部101、第1の検出部102、特徴群部103、第2の検出部104、特徴点記憶部105、領域決定部106、画像抽出部107、画像特徴抽出部108、認識部109、表示部110、学習部111、物体記憶部112で構成される。
画像取得部101はカメラから複数の部位を有する物体を撮像した画像フレームを取得する。第1の検出部102は画像フレームから物体の特徴点の位置とその信頼度を検出する。画像における人物の関節の位置とその信頼度を検出する方法の詳細は後述する。特徴群決定部103は、第1の検出部102で検出された特徴点の位置と信頼度に基づいて、信頼度が所定の値より小さい特徴点を検出するための特徴群を決定する。この特徴点群の組み合わせは事前に用意されており、この中から特徴点の信頼度の条件に応じて決定する。この具体的な方法は後述する。第2の検出部104は、第1の検出部によって検出された特徴点のうち所定の特徴点の信頼度が所定の値より小さい場合は、第1の検出手段とは異なる方法で、画像から前記所定の特徴点を検出する。特徴点の検出は、特徴点間の相対位置関係を用いて行う。具体的な方法は後述する。特徴点記憶部105は検出された特徴点を記憶する。領域決定部106は特徴点から物体が存在する領域を決定する。検出された特徴点のうち、事前に決められた特定の特徴点の組み合わせを用いて、画像特徴抽出の対象の物体が存在する領域を決定する。画像抽出部107は画像フレームから、領域決定部で決定された領域を切り出す。画像特徴抽出部108は切り出された部分画像からニューラルネットワークなどを用いて人物を識別するための画像特徴を抽出する。認識部109は抽出された画像特徴を用いて画像認識を行う。本実施形態では画像認識として人物の同定を行う。具体的には、抽出した画像特徴同士を比較することで、この特徴量が同一人物のものか否かを判別する。詳細は後述する。表示部110は画像認識の結果を画面に表示する。学習部111は画像特徴抽出部108で画像特徴抽出に用いるニューラルネットワークなどを学習する。物体記憶手段112は認識部109で使用する物体の情報が記憶されている。
図1の画像特徴抽出部108の構成例を図2に示す。画像特徴抽出部108は領域外特徴点補正部202、物体部位抽出部203、中間画像特徴抽出部204、信頼度変換部205、特徴統合部206、画像特徴出力部207で構成される。
領域外特徴点補正部202は図1の特徴点抽出部102で抽出した特徴点のうち、部分画像領域外の特徴点を補正する。物体部位抽出部203は画像から物体の部位(パーツ)を抽出する。中間画像特徴抽出部204は画像と物体の部位から中間画像特徴を抽出する。信頼度変換部205は特徴点抽出部102で抽出した特徴点の信頼度に変換処理を適用する。特徴統合部206は中間画像特徴抽出部204の出力と信頼度変換部205の出力を統合する。画像特徴出力部207は特徴統合部206の出力から画像特徴を生成する。
本画像処理装置の動作を図4のフローチャートで説明する。図4のフローチャートに示した処理は、コンピュータである図3のCPU303によりROM304に格納されているコンピュータプログラムに従って実行される。
ステップ401では、画像取得部101が、カメラから画像フレームを取得する。本ステップは図1の画像取得部101の動作に該当する。
ステップ402は、ステップ401で取得した複数の部位を有する物体を撮像した画像から、該物体の部位に対応づけられた複数の特徴点を検出する(第1の検出方法)。本ステップは図1の第1の検出部102の動作に該当する。また、ステップ402では画像フレームを入力とし、画像中に存在する人物の複数の特徴点とそれらの信頼度を抽出する。検出された前記特徴点毎に、該特徴点が前記画像に映っている確からしさを示す信頼度を取得する。画像処理対象が人物であれば、特徴点として人体の関節位置を用いることができる。本ステップで検出する特徴点は、頭頂、首、腰、右足首、左足首の5点である。特徴点の検出には、Convolutional Pose Machinesを使用する。(Shih-En Wei et al.,“Convolutional PoseMachines,”IEEE,2016.)。この方法では、学習済みモデル(ニューラルネットワーク)を用いて、それぞれの関節位置が画像上のどこに存在しているかを示す信頼度マップを算出する。信頼度マップは2次元のマップであり、関節点の数をPとすると、P+1枚存在する(1枚は背景に対応するマップ)。ある関節点の信頼度マップにおいて、信頼度の大きい位置をその関節点が存在する位置とみなす。信頼度は、その特徴点の存在する尤度を示す0から1の実数である。1に近いほど関節点が存在する確度が高い。他の物体に遮蔽されている関節点は、人物でない物体上から抽出されるため、人物関節としての尤もらしさが低下する。したがって、他の物体に遮蔽されていない関節に比べ、関節の位置の信頼度が低くなる。一方、他の物体に隠されていない関節は、人物上から良好に抽出されるため、関節の信頼度が高くなる。
なお、物体の特徴点とその信頼度の検出方法は、Convolutional Pose Machines以外の方法を用いても構わない。例えば、ルールベースの方法を用いて、人体の各関節点について抽出した画像特徴を用いて各関節点を特定しても良い。他、画像から頭部の画像特徴を抽出し、頭部が抽出された位置から胴体の位置を推定しても良い。また、本実施形態では特徴点として人体の関節点を用いるが、画像処理対象が顔ならば、顔特徴点を用いることができる。顔特徴点として、目、眉毛、鼻、口、耳などのパーツの中心や端点、輪郭線上の点、顔全体形状の輪郭線上の点などを用いることができる。
ステップ403では、特徴群決定部103が、第2の検出方法に用いる特徴点群を決定する。ステップ403は図1の特徴群決定部103の動作に該当する。ステップ403で決定された特徴点群は、第2の検出方法に用いる。特徴点群は組み合わせのパターンが複数用意されており、この中から特徴点の信頼度の条件に応じて組み合わせのパターンを選択し、特徴点群を決定する。特徴点群は後のステップ404での第2の検出方法で使用される。特徴点群には、補正後の位置を決定するために用いる特徴点(ここでは、頭、首または腰)が含まれる。本実施形態において、所定の特徴点として補正の対象となる特徴点は、腰、右足首、左足首である。右足首と左足首の補正は同じ手順で行うため、右足首の補正のみを取り上げて説明する。以下、処理対象の片側の足首を単に「足首」と表記する。
ステップ403の特徴群決定部103が実行する処理を図5のフローチャートで説明する。後述するように、補正に用いる特徴点群の候補として、特徴点群A1、A2、A3、B1、B2、B3の6種類が事前に用意されている。腰の補正に関する特徴点群A1、A2、A3から1つと、第2の検出方法における足首の検出に関する特徴点群B1、B2、B3から1つを条件に応じて決定する。
詳細は後述するが、特徴点群A1は空集合であり、第1の検出部の検出結果をそのまま採用する。特徴点群A2を用いて、現在フレームでの頭と首の位置から、腰の位置を検出する。特徴点群A3を用いて、過去フレームでの頭と腰の位置から現在の腰の位置を検出する。特徴点群B1は空集合であり、第1の検出部の検出結果をそのまま採用する。特徴点群B2を用いて、現在フレームでの首と腰の位置から、足首の位置を検出する。特徴点群B3を用いて、過去フレームでの首と足首の位置から現在のフレームでの足首の位置を検出する。
図5のステップ501では、特徴群決定部103がステップ402で決定した現在のフレームでの腰の信頼度が事前に定められたしきい値以上か否かを評価する。しきい値以上だったらステップ503に進み、そうでなかったらステップ502に進む。。
ステップ502では、特徴群決定部103が、特徴点記憶部105で記憶された過去のフレームにおける腰の信頼度がしきい値以上か否かを評価する。しきい値以上だったらステップ505に進み、そうでなかったら504に進む。過去のフレームとは、図4のフローチャートの繰り返しループにおいて、1つ前の繰り返しループのステップ401で取得された画像フレームである。ただし、特徴点記憶部105に過去のフレームにおける特徴点が記憶されていない場合、すなわち初めて図4のステップ403を実行する場合は、ステップ504に進む。
ステップ503では、特徴群決定部103が、第2の検出方法に用いる特徴点群として特徴点群A1を決定し、ステップ506に進む。特徴点群A1が決定される場合は、現在フレームの腰の特徴点が信頼できる場合であり、腰の特徴点を以降の処理で検出し直す必要がない。
ステップ504では、特徴群決定部103が、第2の検出方法に用いる特徴点群として特徴点群A2を決定し、ステップ506に進む。特徴点群A2が決定される場合は、現在のフレームと過去のフレームの両方の腰の関節点が信頼できず、現在のフレームの頭と首の位置から現在のフレームの腰の位置を以降の処理で検出する。
ステップ505では、特徴群決定部103が、補正に用いる特徴点群として特徴点群A3を選択し、ステップ506に進む。特徴点群A3が選択される場合は現在のフレームの腰の特徴点が信頼できないが、過去のフレームの腰の特徴点は信頼できる場合であり、過去のフレームの頭と腰の位置から現在の腰の位置を以降の処理で補正する。
ステップ506は、特徴群決定部103が、ステップ402で決定した現在のフレームでの足首の信頼度が事前に定められたしきい値以上か否かを評価する。しきい値以上だったらステップ508に進み、そうでなかったらステップ507に進む。
ステップ507では、特徴群決定部103が、特徴点記憶部105で記憶された過去のフレームにおける足首の信頼度が事前に定められたしきい値以上か否かを評価する。しきい値以上だったらステップ510に進み、そうでなかったら509に進む。ただし、特徴点記憶部105に過去のフレームにおける特徴点が記憶されていない場合、すなわち初めて図4のステップ403を実行する場合は、ステップ509に進む。
ここで、S501、S502、S506、S507で用いるしきい値は、本実施例ではそれぞれ異なる値とするが、同じ値としても構わない。
ステップ508では、特徴群決定部103が、補正に用いる特徴点群として特徴点群B1を選択し、図5のフローチャートの処理を終了する。特徴点群B1が選択された場合は、現在フレームでの足の特徴点が信頼できる場合であり、足の位置を後の処理で検出する必要がない。
ステップ509では、特徴群決定部103が、補正に用いる特徴点群として特徴点群B2を選択し、図5のフローチャートの処理を終了する。特徴点群B2が選択された場合は、現在フレームと過去フレームの両方で足の位置が信頼できない場合であり、現在フレームの足と腰の位置から現在フレームの足の位置を以降の処理で検出する。
ステップ510では、特徴群決定部103が、補正に用いる特徴点群として特徴点群B3を選択し、図5のフローチャートの処理を終了する。特徴点群B3が選択された場合は現在フレームで足の特徴点が信頼できないが、過去フレームで足の特徴点が信頼できる場合であり、過去フレームの首と足の位置から現在フレームの位置を以降の処理で検出する。
以上のステップ506、507、508、509、510の説明では片側の足首(右足首)のみを対象としたが、特徴群決定部103は、もう片側の足首(左足首)についても同様に第2の検出方法に用いる特徴点群を決定する。なお、足首の位置を検出するには、なるべく足首の位置に近い特徴点から足首の位置を推定できると良い。そのため、腰の位置が採用できる(腰の位置の信頼度が高い)場合は、腰の位置を用いて足首の位置を検出する。腰の位置が分からない(腰の位置の信頼度が低い)場合は、腰の次に足首に近い首の位置を用いて足首の位置を検出する。以下の処理順序は上記の意図を踏まえた順序になっているが、順序は変えても構わない。また、腰の位置を検出せずに、足首の位置だけを検出するように特徴群を決定してもよい。
図4のステップ404では、第2の検出部104が、ステップ403で決定した特徴点群を用いて、第2の検出方法により所定の特徴点を検出する。ステップ404の処理は、図1の第2の検出部104に該当する。ステップ404の動作を図6のフローチャートを用いて説明する。図6の処理では、第2の検出部104は、図5のフローチャートの処理で決定した特徴点群A1、A2、A3、B1、B2、B3に基づいて所定の特徴点(足首の位置)を検出する。
図4のステップ403と同様に、右足首と左足首の補正は同じ手順で行うため、右足首の検出のみを取り上げて説明する。以下、処理対象の片側の足首を単に「足首」と表記する。
図6のステップ601では第2の検出部104が、腰に関する特徴点群A1、A2、A3のいずれが選択されているか判定する。特徴点群A1が選択されていたらステップ602に進み、特徴点群A2が選択されていたらステップ603に進み、特徴点群A3が選択されていたらステップ604に進む。ステップ602、ステップ603、ステップ604では、第2の検出部104が、第2の検出方法で腰の特徴点の位置を検出する。
ステップ602では、第2の検出部104が、現在検出されている腰の特徴点の位置を補正しない。なぜなら、以前の処理で腰の特徴点の信頼度があるしきい値より大きく、信頼できると考えられるためである。
ステップ603は、現在の画像フレームで検出された頭と首の位置から、腰の位置を検出する。図7を用いて処理を説明する。図7Aのように、図4のステップ402によって、頭頂701、首702、腰703、右足首704、左足首705の特徴点が検出されている。まず、図7Bのように、頭と首を結ぶ直線706を計算する。また、頭と首の間の距離をそれぞれの位置座標から計算する。ここで、人体の頭と首の距離と頭と腰の距離の比は、個人差はあるものの、およそ同じであると仮定できる。このため、腰の位置が、頭と首を結ぶ直線上となり、頭と首の距離と頭と腰の距離の比が所定のものとなるように検出する。図7Cに補正後の腰の特徴点707の例を示す。この所定の比は、例えば平均的な成人の人体部位の比から定めることができる。
ステップ604では、第2の検出部104が、過去フレームでの頭と腰の位置から現在の腰の位置を検出する。まず、特徴点記憶部105で記憶された過去のフレームの特徴点から、頭と腰の距離を計算する。次に、現在のフレームにおいて、図7Bと同様に、頭と首を結ぶ直線を計算する。ここで、過去のフレームにおける頭と腰の距離と現在のフレームにおける頭と腰の距離はおよそ同じであると仮定する。そして、腰の位置が頭と首を結ぶ直線上となり、現在のフレームにおける頭と腰の距離が過去のフレームにおける頭と腰の距離と等しくなるように、現在のフレームにおける腰の位置を検出する。
図6のステップ605では第2の検出部104が、足首に関する特徴点群B1、B2、B3のいずれが選択されているか判定する。特徴点群B1が選択されていたらステップ606に進み、特徴点群B2が選択されていたらステップ607に進み、特徴点群B3が選択されていたらステップ608に進む。ステップ607、ステップ608では、足首の特徴点の位置を検出する。ステップ606では、第2の検出部104が、現在検出されている足首の特徴点の位置を補正しない。
ステップ607では、第2の検出部104が、現在フレームでの首と腰の位置から、足首の位置を検出する。図8Aから図8Cを用いて処理を説明する。図8Aのように、図4のステップ402によって、頭頂801、首802、腰803、右足首804、左足首805の特徴点が検出されている。まず、図8Bのように、首と腰を結ぶ直線806(体軸)を計算する。また、首と腰の間の距離をそれぞれの位置座標から計算する。ここで、人体の首と腰の距離と首と右足首の距離の比は、個人差はあるものの、およそ同じであると仮定できる。このため、足首の位置が、首と腰を結ぶ直線上となり、首と腰の距離と首と足首の距離の比が所定のものとなるように検出する。図8Cに足首807の特徴点の検出後の例を示す。
ステップ604は、第2の検出部104が、過去フレームでの首と足首の位置から現在のフレームでの足首の位置を検出する。まず、特徴点記憶部105で記憶された過去のフレームの特徴点から、首と腰の距離を計算する。次に、現在のフレームにおいて、図8Bと同様に、首と腰を結ぶ直線(体軸)を計算する。ここで、過去のフレームにおける首と足首の距離と現在のフレームにおける首と足首の距離はおよそ同じであると仮定する。そして、足首の位置が体軸上となり、現在のフレームにおける首と足首の距離が過去のフレームにおける首と足首の距離と等しくなるように、現在のフレームにおける足首の位置を検出する。
以上のステップ605、606、607、608の説明では右足首のみを対象としたが、左足首についても同様に検出を行う。この処理によって、足首部分がオクルージョンやノイズによって第1の検出部で上手く検出されない場合でも、より確からしい足首の位置を検出することができる。
図4のステップ405では、領域決定部106が、検出された前記特徴点に基づいて、前記物体が存在する領域を決定する。この部分画像領域は、撮像画像における人物が存在する領域を示し、後の処理で人物画像を画像フレームから抽出する領域の指定に用いる。ステップ405の動作は図1の領域決定部106に該当する。ステップ405の処理を図9Aを用いて説明する。図9Aのように、画像フレーム903中に頭頂、首、腰、右足首、左足首の特徴点が存在する。まず、領域決定部106が、右足首と左足首の中点を計算する。そして、領域決定部106が、頭とその中点を結ぶ直線901(体軸)を計算する。本実施形態では、部分画像領域は矩形であり、アスペクト比が事前に定められたものとする。領域決定部106は、矩形の縦方向が体軸に平行であり、矩形の中心軸が体軸と等しく、矩形の上辺が頭と接し、矩形の下辺が足首と接するように、矩形902を決定する。このとき、矩形の上辺と頭の間と、矩形の下辺と足首の間に余白を設けても構わない。例えば、頭と足首の距離(身長)に一定の係数を乗算した大きさの余白を設けても構わない。すなわち、部分画像領域は特徴点の外接矩形を基に決定する。本実施形態では、矩形のアスペクト比は後のニューラルネットワークへの入力を容易にするために固定としたが、後の処理の構成によっては固定でなくても構わない。なお、補正した関節位置を用いる場合、ここで決定した領域には人物の部位が遮蔽されていることや、ノイズが多く出ていることがあり得る。例えば、図18のように、足首の部位が遮蔽物1803によって隠されている場合でも人物の部位を含む領域として決定する。このように領域を決定することで、矩形の中における人体の部位の配置が整合的な部分画像領域を決定できる。部位の配置を整合的にすることで、後段で行う特徴量の抽出処理において、各部位の特徴がより反映された各部位の特徴量を抽出できる効果がある。
図4のステップ406では、画像抽出部107が、ステップ405で決定した部分画像領域を人物画像として画像フレームから切り出す。ステップ405で決定した部分画像領域の矩形が傾斜している場合は、矩形が直立するように画像を回転する。図9Aから切り出した例を図9Bに図示する。ステップ406の動作は図1の画像抽出部107に該当する。
ステップ407では、特徴点記憶部105が、現在フレームにおける補正後の部位を記憶する。ステップ407の動作は図1の特徴点記憶部105に該当する。
ステップ408では、画像特徴抽出部108が部分画像領域(人物画像)から特徴量を抽出する。ステップ408の動作は図1および図2の画像特徴抽出部108に該当する。ステップ408の動作を図10のフローチャートを用いて説明する。
図10のステップ1001は領域外特徴点補正部202が、部分画像領域と特徴点の座標に基づいて、部分画像領域外の特徴点の信頼度を補正する。ステップ1001は図2の領域外特徴点補正部202が実行する処理である。部分画像領域の矩形のアスペクト比が固定である場合、手足を広げているときなど、特徴点が部分画像領域に含まれない場合がある。部分画像領域外にある人体部位は特徴抽出の範囲外であり、この部分における特徴抽出の精度が低下する問題がある。このため、後のステップでその影響を軽減するために、部分領域外の特徴点の信頼度を減少させる調整を施す。例えば、図11において、右足首1104が矩形1106の範囲外であり、この右足首の特徴点の信頼度を減少させる。本実施形態では、元の信頼度に1より小さいあらかじめ定めた実数値を乗じた値を補正後の信頼度とする。このように、部分領域外の特徴点の信頼度を減少させることで、部分領域外に人体パーツが配置されたことによる特徴抽出の精度の低下の問題と、遮蔽による特徴抽出の精度の低下の問題を、以降で共通の処理で対処することができる。
ステップ1002では画像特徴出力部207が部分画像領域と特徴点の信頼度から特徴量を抽出する。特徴量の抽出は次に説明するようなニューラルネットワークが使用できる。図12にニューラルネットワークの構成例を示す。図12のニューラルネットワークは画像1201と特徴点信頼度1206を入力とし、画像特徴1210を出力する。ニューラルネットワークは、画像変換サブネットワーク1202、信頼度変換サブネットワーク1207、統合サブネットワーク1208、特徴出力サブネットワーク1209で構成される。画像変換サブネットワーク1202は図2の中間画像特徴抽出部204に該当する。信頼度変換サブネットワーク1207は図2の信頼度変換部205に該当する。統合サブネットワーク1208は図2の特徴統合部206に該当する。特徴出力サブネットワーク1209は図2の画像特徴出力部207に該当する。
ニューラルネットワークで扱う入力データ、中間データ、出力データはテンソルとして扱われる。テンソルは多次元の配列として表現されるデータで、その次元数は階数とよばれる。階数が0のテンソルはスカラー、階数が1のテンソルはベクトル、階数が2のテンソルは行列と呼ばれる。例えば、チャネル数が1の画像(グレースケール画像など)はサイズH×Wの階数2のテンソル、またはサイズH×W×1の階数3のテンソルとして扱える。また、RGB成分を持つ画像はサイズH×W×3の階数3のテンソルとして扱える。
テンソルをある次元のある位置で切断した面を取り出したデータおよびその操作をスライスと呼ぶ。例えば、サイズH×W×Cの階数3のテンソルを3番目の次元のc番目の位置でスライスすることで、H×Wの階数2のテンソルまたはH×W×1の階数3のテンソルが得られる。
あるテンソルに畳み込み演算を行う層をコンボリューション層(Convと略記)と呼ぶ。畳み込み演算に用いるフィルタの係数を「重み」と呼ぶ。一例として、コンボリューション層によって、H×W×Cの入力テンソルからH×W×Dの出力テンソルを生成する。
あるベクトルに重み行列を乗算し、バイアスベクトルを加算する操作を行う層を全結合層(FCと略記)と呼ぶ。一例として、長さCのベクトルから、全結合層を適用することで長さDのベクトルを生成する。
あるテンソルを区間に区切り、その区間の最大値を取ることで、テンソルのサイズを縮小する操作を最大プーリングと呼ぶ。最大値ではなく、区間の平均値をとる場合には平均プーリングと呼ぶ。本実施形態では、最大プーリングを用い、これを行うニューラルネットワークの層を単にプーリング層(Poolingと略記)と呼ぶ。本実施形態では、プーリング層によって、1次元目と2次元目の大きさが入力の半分となるようなテンソルを出力する。具体的には、H×W×Cの入力テンソルからH/2×W/2×Cの出力テンソルを生成する。
ニューラルネットワークにおいて、通常コンボリューション層の後に適用する非線形関数を活性化関数と呼ぶ。活性化関数として正規化線形関数(ReLUと略記)、シグモイド関数などがある。特に、シグモイド関数は出力値の範囲が0から1となる性質がある。本実施形態では、断りがなければ活性化関数としてReLUを用いる。
ニューラルネットワークにおいて、テンソル同士をある次元方向に並べて連結する操作を「連結」と呼ぶ。
Global average poolingについて説明する。階数3のサイズH×W×Cのテンソルにおいて、3番目の次元の全ての位置でのスライスに対し、それぞれスライスに含まれる全要素の平均値をとる。そして、このC個の平均値を並べることで、長さCのベクトルを生成する。この操作をGlobal average poolingと呼ぶ。
図12において、ニューラルネットワークの入力となる画像1201のサイズは幅W1、高さH1、チャネル数3とする。すなわち、画像はH1×W1×3のテンソルとみなせる。
画像変換サブネットワーク1202は画像1201を特徴マップに変換する。画像変換サブネットワーク1202はさらに前処理サブネットワーク1203、パーツ推定サブネットワーク1204、画像統合サブネットワーク1205で構成される。
画像変換サブネットワーク1202は、検出された特徴点に対応する部位毎に物体を識別するための特徴量を抽出する。具体的にはL. Zhaoらの論文のように、パーツを推定し、パーツの特徴を抽出するモジュールを含む。画像変換サブネットワーク1202は図2の物体部位抽出部203に該当する。(L. Zhao et al.“Deeply-Learned Part-Aligned Representations for Person Re-Identification,” IEEE,2017。)本実施形態では特徴抽出を行うニューラルネットワーク内で物体部位抽出部203を動作させるが、このニューラルネットの外で物体部位抽出部203を動作させ、外からパーツの位置や大きさに関する情報を与えてもいい。また、物体部位抽出部203と図1の第1の検出部102は互いに用途を兼ねてもよく、第1の検出部102の出力に由来する情報を物体部位抽出部203の出力として用いてもよく、その逆を行ってもよい。なお、ここで抽出される部位毎の特徴量は、後の処理で全体特徴量として統合される。その際、特徴点毎の信頼度に応じて各部位の特徴量を全体特徴量に反映する重みづけをする。つまり、信頼度が小さい特徴点に対応する部位から抽出された特徴量が最終的な認識結果に寄与することを抑制する。信頼度が小さい特徴点は物体が遮蔽されていることや、ノイズが多くなっている可能性があり、その部位から抽出された特徴量は必ずしもその物体の部位の特徴を示しているとは限らないためである。このような処理を行うことで、物体の特徴をより反映した特徴量を生成でき、物体の認識精度が向上する効果が期待できる。
画像変換サブネットワーク1202は1つ以上のコンボリューション層(Conv)、最大プーリング層(Pooling)のシーケンスで構成できる。本実施形態では、「Conv、Conv、Pooling、Conv、Pooling、Conv、Pooling、Conv」といったシーケンスで構成する。構成の概略を図16Aに示す。画像に画像変換サブネットワークを適用した結果、H2×W2×C2のテンソルを得る。
パーツ推定サブネットワーク1204は画像変換サブネットワーク1202の出力を入力とし、特徴マップであるH2×W2×P1のテンソルを出力する。ここで、P1は推定するパーツの数であり、事前に定められた任意の数でよい。このテンソルの3番目の次元の位置pでのスライス(サイズがH2×W2×1のテンソル)はp番目のパーツの存在位置を示すマスク画像である。それぞれの画素は0から1の値を取り、1に近いほどその位置にそのパーツが存在する確度が高い。パーツ推定サブネットワーク1204は1つのコンボリューション層とシグモイド関数で構成される。構成の概略を図16Bに示す。パーツ推定ネットワークの構成はこれに限らず、複数のコンボリューション層で構成しても構わない。
画像統合サブネットワーク1205は画像変換サブネットワーク1202とパーツ推定サブネットワーク1204の出力を統合する。図17に処理の流れを示す。まず、パーツ推定サブネットワークの出力テンソル1701の3番目の次元での位置pでのスライス1702(サイズがH2×W2×1のテンソル)をC2個コピーして3番目の次元方向に連結し、サイズH2×W2×C2のテンソル1703に拡張する。そして、このテンソルの各要素について、画像変換サブネットワーク1202の出力テンソル1704の各要素と乗算することで、新たなテンソル1705(サイズH2×W2×C2)を生成する。そして、このテンソルに対し、global average poolingを適用することで、長さC2のベクトル1706を生成し、さらに全結合層を適用することで長さC3のベクトル1707を生成する。この処理をすべてのパーツのチャネルpに対して適用し、それぞれの生成されたベクトルを連結したベクトル1708を生成する。すなわち、画像統合サブネットワークで生成されるベクトル1708の長さは(C3)P1である。本実施形態では統合対象のデータがベクトルであるが、ベクトルはテンソルの一種であり、統合対象のデータが2階以上のテンソルである場合にも同様に結合によって統合しても構わない。
特徴点信頼度1206は長さC4のベクトルとする。本実施形態では、図4のステップ402で検出される特徴点の数が5なのでC4=5である。
信頼度変換サブネットワーク1207は、特徴点信頼度1206を長さC5のベクトルに変換する。信頼度変換サブネットワーク1207は0個以上の全結合層で構成できる。本実施形態では1個の全結合層とする。構成の概略を図16Cに示す。
統合サブネットワーク1208は画像統合サブネットワーク1205の出力ベクトルと信頼度変換サブネットワーク1207の出力ベクトルを統合する。統合サブネットワーク1208は長さC6のベクトルを出力する。本実施形態では、この2つのベクトルを連結する。構成の概略を図16Dに示す。そのため、C6=(C3)P1+C5となる。
特徴出力サブネットワーク1209は統合サブネットワーク1208の出力ベクトルを入力とし、長さC7のベクトルである画像特徴1210を出力する。特徴出力サブネットワーク1209は1つ以上の全結合層で構成できる。本実施形態では2つの全結合層で構成する。構成の概略を図16Eに示す。この画像特徴は、「照合特徴」、「人物特徴」、「ディスクリプタ」、「embedding」とも呼ばれる。
図4のステップ409では、認識部109が、ステップ408で抽出した人物画像の特徴量を人物データベースに保存してある特徴量と比較する。人物データベースとは、人物同定の対象のN人の人物の切り出し画像と特徴量(特徴ベクトル)があらかじめ登録されている記憶手段である。事前に人物同定対象の人物の画像を撮影しておき、ステップ402からステップ408と同様の方法で画像切り出しと特徴量抽出を行い保存してある。人物データベースは図1の物体記憶部112に記憶される。ステップ409では、認識部109が、人物データベース内の人物の特徴量とステップ408で抽出した人物画像の特徴量の距離を計算する。そして、距離順に人物データベース内の人物の並び替えを行い、最も距離の小さい人物を並びの先頭に配置する。ステップ409は図1の認識部109の処理に該当する。本実施形態では、特徴量の比較にユークリッド距離を用いる。特徴量の比較は他の方法でもよく、L1距離やコサイン距離などの他の距離指標でもよく、メトリクスラーニングやニューラルネットワークなどの機械学習を利用して比較しても構わない。
図4のステップ410では、表示部110が、ステップ409で該当する人物を画面に表示する。ステップ410は図1の画像表示部110の処理に該当する。表示画面例を図14に示す。表示画面1401にはクエリ1402とギャラリ1403で構成される。クエリ1402は検索したい人物の画像であり、ステップ406で切り出した人物画像を表示する。ギャラリ1403は検索結果の一覧であり、ステップ409で距離順に並び替えた人物データベース内の画像を順番に上位5人を表示する。この際、上位5人を表示してもいいし、5人の中から距離が事前に定めたしきい値以下の人物だけを表示しても構わない。ギャラリに表示される画像は、図4のステップ401からステップ407と同様の方法で切り出されてもいいし、他の方法で切り出されたものでよい。クエリとギャラリの人物の画像には、図14のように、検出した特徴点の位置を示すマーカを重畳表示しても構わない。
図4のステップ411では、情報処理装置10が、フローチャートの処理を終了するか否かを判定する。本実施形態では、ステップ411の実行回数が規定回数以上になった場合、終了すると判定する。そうでなかった場合、ステップ401に進み、フローチャートの処理を続行する。
<ニューラルネットワークの学習>
図1の画像特徴抽出部108で使用するニューラルネットワークの学習の方法を図13のフローチャートを用いて説明する。図13のフローチャートの処理は図1の学習部111に該当する。
図1の画像特徴抽出部108で使用するニューラルネットワークの学習の方法を図13のフローチャートを用いて説明する。図13のフローチャートの処理は図1の学習部111に該当する。
ニューラルネットワークの構造は上述のように図12で示される。ニューラルネットワークは画像1201と特徴点信頼度1206を入力とし、画像特徴1210を出力する。
ニューラルネットワークはtriplet lossで学習する。(F. Shroff et al.“Face Net: A Unified Embedding for Face Recognition and Clustering,”arXiv:1503.03832)。triplet lossでは、アンカーサンプルと呼ばれるサンプル、ポジティブサンプルと呼ばれるアンカーと同じ人物のサンプル、ネガティブサンプルと呼ばれるアンカーと異なる人物のサンプルで構成される三つ組(triplet)を使用する。アンカーサンプル、ポジティブサンプル、ネガティブサンプルから得られるそれぞれの特徴量を比較してロス関数を計算することで、ネットワークを更新する。
図13のステップ1301では、学習部111が、ネットワークを構成するコンボリューション層と全結合層の重みを初期化する。本実施形態では、重みの初期値として乱数を使用する。
ステップ1302では、学習部111が、学習データ群から学習データをランダムに取得する。1つの学習データは三つ組(triplet)であり、アンカーサンプル、ポジティブサンプル、ネガティブサンプルを1つずつ含む。アンカーサンプル、ポジティブサンプル、ネガティブサンプルは、それぞれ画像と特徴点信頼度で構成される。画像と特徴点信頼度は図4のフローチャートで使用するニューラルネットワークに入力するものと同様の手順で生成が行われている。
ステップ1303では、学習部111が、学習データでネットワークを更新する。まず、アンカーサンプル、ポジティブサンプル、ネガティブサンプルに対し、現在の状態のネットワークを適用して、それぞれ特徴量を計算する。これらの3つの特徴量に対し、triplet lossによってロスを計算する。そして、バックプロパゲーション法によって、ネットワーク内の重みを更新する。
ステップ1304では、学習部111が学習を終了するか判定する。ステップ1304を規定回数実行した場合、終了すると判定し、図13のフローチャートの一連の処理を終了する。終了しないと判定した場合、ステップ1302に進む。
本実施形態によれば、特徴群決定部103および第2の検出部104において、良好な特徴点から良好でない特徴点をもう一度検出することができる。そのため、物体の一部が他の物体に遮蔽された状況や外乱を受けている状況においても、領域決定部106による物体領域決定の誤りを低減する効果が見込める。
物体の一部が他の物体に遮蔽された領域や外乱を受けている領域において、第1の検出部102で取得される特徴点の信頼度は正常時よりも低下して出力されると仮定できる。このとき、これらの局所領域から抽出される画像認識のための画像特徴の品質も同時に低下すると考えられる。そのため、画像特徴抽出部108において、ある局所領域の信頼性を表す指標として特徴点の信頼度の情報を用いることで、画像特徴の品質の低下を軽減する効果が見込める。したがって、画像認識の精度が向上する効果が見込める。
図10のステップ1001は部分画像領域外の特徴点の信頼度を減少させる。部分画像領域外にある人体部位は特徴抽出の範囲外であり、この部分における特徴抽出の精度が低下する問題がある。このため、後のステップでその影響を軽減するために、部分領域外の特徴点の信頼度を減少させることで、画像特徴の品質の低下を軽減する効果が見込める。
ステップ403とステップ404において、現在のフレームだけでなく過去のフレームの特徴点も用いて補正に用いる特徴点群の選択と特徴点の補正を行っている。過去のフレームの特徴点を用いることで、現在のフレームで特徴点の信頼度が低い場合においても、特徴点の補正精度を向上させる効果が見込める。
ステップ403において、特徴点の選択を予め定められた順序で行っている。ステップ404の特徴点の位置の補正において精度がよりよいと見込まれる特徴点を優先的に選択することで、より正しく特徴点位置を修正できる効果が見込める。
ステップ404において、所定の順序で特徴点を補正している。ここでは、腰、足という順番で特徴点を補正している。これは、人物は首、腰、足という順番で体の部位がつながっているためである。まず、腰の位置を修正した後、そのより正しい腰の位置を用いて足を修正することができる。このように、所定の順序で特徴点を比較することで、より正しく特徴点位置を修正できる効果が見込める。
ステップ404において、特徴点間の相対位置関係から特徴点の位置を補正している。実施形態では、特徴点間の距離の比や、特徴点から求められる直線(体軸)を基に特徴点を補正している。このように、物体の構造に関する事前知識を用いることで、より正しく特徴点の位置を修正できる効果が見込める。
<実施形態1の変形例>
ステップ402で抽出する特徴点は、頭頂、首、腰、右足首、左足首に限らず、手首、肘、膝など、他の部位でも構わない。また、必ずしも体の部位上でなくてもよく、右足首と左足首の中間点や体軸と左足首・右足首を結ぶ線の交点など、体の部位の位置関係から決まる他の点でも構わない。
ステップ402で抽出する特徴点は、頭頂、首、腰、右足首、左足首に限らず、手首、肘、膝など、他の部位でも構わない。また、必ずしも体の部位上でなくてもよく、右足首と左足首の中間点や体軸と左足首・右足首を結ぶ線の交点など、体の部位の位置関係から決まる他の点でも構わない。
ステップ604で、過去フレームでの頭と腰の距離から現在のフレームにおける腰の位置を補正したが、他の方法でも構わない。過去のフレームでの頭と腰の位置座標の差異から、現在フレームの腰の位置を補正しても構わない。例えば、過去フレームでの頭と腰の位置座標の差異として、腰のx座標・y座標は、頭のx座標・y座標よりそれぞれXピクセル、Yピクセル大きいとする。この過去フレームでの頭と腰との位置座標の差異と等しくなるように、現在のフレームにおいて腰の位置を補正しても構わない。また、頭と腰の位置座標の差異の代わりに、首と腰の位置座標の差異を用いても構わない。
ステップ607では、人体の首と腰の距離と首と右足首(または左足首)の距離の比を用いたが、これに限らず、他の特徴点間の比を用いても構わない。一例として、頭と腰の距離と頭と右足首(または左足首)の距離の比のように、首の代わりに頭を用いてもよい。他の例として、頭と首の距離と腰と右足首(または左足首)の距離の比を用いてもよい。ステップ608も同様である。
ステップ607では、右足首と左足首が体軸の上になるように補正した。これに限らず、特徴点間の比があらかじめ定めたものとなるように、右足首(または左足首)を体軸方向に移動させることで補正しても構わない。ステップ608も同様である。
領域決定部106では、部分画像領域を矩形としたが、他の形状でも構わない。例えば、多角形でもいいし、曲線に囲まれていてもよい。図形ではなく、物体領域とその他の領域を区別するマスク画像でもよい。
実施形態1のニューラルネットワークの構造はこれに限定されない。例えば、サブネットワークの間に別のサブネットワークが挿入されてもいい。また、ネットワークの分岐構造が異なっていても構わない。サブネットワークの構成について、コンボリューション層やプーリング層、全結合層などの構成要素の種類や数が異なっていても構わない。
図12の統合サブネットワーク1208では2つのベクトルを結合することで2つのベクトルを統合したが、他の演算方法を用いても構わない。例えば、2つのベクトルのサイズが同じであれば、ベクトルの要素同士の乗算や加算を代わりに用いても構わない。
図2の信頼度変換部205を図12のように信頼度変換サブネットワーク1207として実施しているが、信頼度変換部205はニューラルネットワークの外部に設けても構わない。例えば、特徴点の信頼度に正規化処理や変換処理などの処理をニューラルネットワークの外部で行い、その処理結果をニューラルネットワークの入力の1つとしても構わない。
図4のステップ403およびステップ特徴点を補正において、現在のフレームと1つ前のフレームから補正に用いる特徴点群の選択や特徴点の補正を行った。1つ前のフレームだけでなく、それ以前のフレームを用いて特徴点群の選択や特徴点の補正を行っても構わない。さらに、現在のフレームと合わせ、3フレーム以上のフレームを用いても構わない。
画像特徴抽出部108をニューラルネットで構成したが、ニューラルネット以外の方法を用いても構わない。例えば、HOG(Histogram of Oriented Gradients)特徴やLBP(Local Binary Pattern)特徴を抽出して、これを基に画像特徴を決定してもいい。他には、HOG特徴やLBP特徴からパーツ推定を行ってもいい。
図6のステップ603で頭と首から図7Bの直線706を計算したが、頭または首のみから直線を計算しても構わない。例えば、人物の体軸が画像フレームのy軸と平行であると仮定できる場合には、直線は画像フレームのy軸に平行であると仮定することができ、首または頭のどちらか1点から直線を計算できる。同様に、図4のステップ405でも複数点から図9Aの直線901を計算しているが、1点から計算しても構わない。
図10のS1001では、元の信頼度に1より小さいあらかじめ定めた実数値を乗じた値を補正後の信頼度としたが、他の方法でも構わない。信頼度の更新方法はこれに限らず、信頼度を0としてもいいし、信頼度からあらかじめ定めた実数値を減じてもいいし、他の方法を用いても構わない。
以上のように、実施形態1で説明した処理によって、画像において物体の一部が遮蔽されている場合やノイズが多い場合であっても、見えにくくなっている部位の特徴点を検出できる。
<実施形態2>
実施形態1では人物の全身を画像処理の対象としたが、代わりに顔を画像処理の対象にしても構わない。実施形態2では実施形態1との差分のみ説明する。
実施形態1では人物の全身を画像処理の対象としたが、代わりに顔を画像処理の対象にしても構わない。実施形態2では実施形態1との差分のみ説明する。
顔を対象とする場合、図4のステップ402では顔特徴点を検出する。図15に図示する。ここでは、右目1501、左目1502、鼻1503、口の右端1504、口の左端1505を特徴点として検出するとする。
実施形態2においては、ステップ403、404において、右目の特徴点を鼻と口から補正するケースを考える。左目については、右目と同様の処理である。
ステップ403の処理を説明する。まず右目の特徴点の信頼度を評価する。信頼度がしきい値以上の場合は特徴点群C1を選択する。信頼度がしきい値より小さい場合は、過去のフレームでの右目の信頼度がしきい値以上でなかったら特徴点群C2を選択し、しきい値以上だったら特徴点群C3を選択する。
ステップ404の処理を説明する。補正に用いる特徴点群が特徴点群C1であったら、右目の位置を補正しない。特徴点群C2であったら、現在フレームの鼻と口の右端と口の左端の位置関係から、平均的な人物の顔のパーツの配置に近くなるように、現在フレームの右目の位置を補正する。特徴点群C3であったら、過去のフレームの右目、鼻、口の右端、口の左端の配置に近くなるように、現在フレームの右目の位置を補正する。
他のステップの処理も全身から抽出する特徴点を顔の特徴点に置き換えれば、実施形態1の処理と同様である。
実施形態2では顔特徴点を右目、左目、鼻、口の右端、口の左端としたが、目じり、目頭、瞳、鼻の右端、鼻の下端、眉毛、顔の輪郭など、他の部分を特徴点としても構わない。そして、ステップ403やステップ404の処理をそれに合わせて変更しても構わない。
実施形態2によれば、画像フレームからの顔画像の切り出しや顔認識の性能を向上させる効果が見込める。例えば、顔がサングラスやマスクなどのアクセサリで一部分が覆われているケースや、手などで一時的に顔の一部が隠れるケースにおいて有効である。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
本願は、2019年9月20日提出の日本国特許出願特願2019-172191と日本国特許出願特願2019-172192を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。
Claims (23)
- 複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて第1の特徴点群を検出する第1の検出手段と、
前記第1の検出手段によって検出された前記第1の特徴点毎に、該特徴点が示す位置が該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得手段と、
前記信頼度が小さい前記第1の特徴点に対応する前記部位について、前記第1の特徴点の一部に基づいて第2の特徴点を検出する第2の検出手段と、
前記第1の特徴点の一部と前記第2の特徴点とに基づいて、前記物体が存在する領域を決定する決定手段と、を有することを特徴とする画像処理装置。 - 前記第2の検出手段は、前記第1の特徴点のうち前記信頼度が所定の値より小さい特徴点が示す部位の位置を、前記第1の特徴点のうち前記信頼度が所定の値より小さい特徴点が示す部位に近接する部位の位置を示す前記第1の特徴点に基づいて補正した第2の特徴点を検出することを特徴とする請求項1に記載の画像処理装置。
- 前記第2の検出手段は、前記第1の特徴点のうち前記信頼度が所定の値より小さい特徴点が示す部位の位置を、前記第1の特徴点のうち前記信頼度が所定の値より大きい特徴点に基づいて補正した第2の特徴点を検出することを特徴とする請求項1に記載の画像処理装置。
- 前記第2の検出手段は、前記物体が有する複数の部位の位置関係に基づいて、前記第1の特徴点のうち前記信頼度が小さい特徴点が示す部位の位置を補正した前記第2の特徴点を検出することを特徴とする請求項1に記載の画像処理装置。
- 前記第1の検出手段は、前記第1の特徴点として人物の頭、首、腰、足首の位置を検出し、
前記第2の検出手段は、前記足首の位置の前記信頼度が小さい場合、前記人物の頭または腰と、足首との位置関係に基づいて、前記第2の特徴点として前記足首の位置を検出することを特徴とする請求項4に記載の画像処理装置。 - 前記第2の検出手段は、前記第1の検出手段によって検出された前記第1の特徴点のうち、前記信頼度が所定の値より小さい前記第1の特徴点が示す部位について、過去の画像において前記信頼度が所定の値より大きい前記部位を示す第1の特徴点に基づいて、前記第2の特徴点を検出することを特徴とする請求項1に記載の画像処理装置。
- 前記第1の検出手段は、前記画像から前記第1の特徴点群として人物の頭、首、腰、足首の位置を検出し、
前記取得手段は、前記画像より前に撮像された過去の画像における人物の足首の位置について前記信頼度を取得し、
前記第2の検出手段は、前記過去の画像における人物の足首の位置について前記信頼度が前記所定の値より大きい場合は、前記過去の画像における人物の足首の位置を、前記画像における前記第2の特徴点として検出することを特徴とする請求項6に記載の画像処理装置。 - 前記物体は人物であって、
前記第1の検出手段は、人物の前記第1の特徴点として該人物の部位に対応した特徴点を学習させた学習済みモデルに前記画像を入力することで前記第1の特徴点を検出することを特徴とする請求項1に記載の画像処理装置。 - 前記決定手段によって決定された前記領域を前記画像から切り出した部分画像に基づいて、前記物体を認識するための特徴量を抽出する抽出手段と、
前記抽出された特徴量と、予め登録された特定の物体の特徴量と、を比較することによって、前記画像で撮像された物体が前記特定の物体であるか否かを認識する認識手段と、をさらに有することを特徴とする請求項1に記載の画像処理装置。 - 前記物体は人体であって、
前記認識手段は、予め登録された人物の特徴量と、抽出された特徴量とを比較することによって、前記予め登録された人物から前記画像で撮像された人物を同定することを特徴とする請求項9に記載の画像処理装置。 - 前記抽出手段は、入力画像から前記物体の部位毎を示す特徴量を出力する学習済みモデルに基づいて、前記決定手段によって決定された前記領域を前記画像から切り出した部分画像の前記特徴量を抽出することを特徴とする請求項10に記載の画像処理装置。
- 前記抽出手段は、前記決定手段によって決定された前記領域を前記画像から切り出した部分画像のうち、前記第1の特徴点の前記信頼度がより大きい部位に対応する部分領域から特徴量を抽出することを特徴とする請求項10に記載の画像処理装置。
- 前記信頼度に基づいて前記部位毎に前記画像から抽出された前記特徴量を統合する統合手段を更に有することを特徴とする請求項1に記載の画像処理装置。
- 前記取得手段は、前記特徴点が所定の領域の範囲外に位置する場合、該特徴点の信頼度をより小さくなるように前記信頼度を取得することを特徴とする請求項1に記載の画像処理装置。
- 前記決定手段は、前記検出された前記第1の特徴点から推定された前記物体の中心軸に基づいて、前記物体が存在する領域を決定することを特徴とする請求項1に記載の画像処理装置。
- 前記決定手段は、前記第1の特徴点の一部を含む矩形を前記物体の存在する領域として決定することを特徴とする請求項1に記載の画像処理装置。
- 前記出力手段は、前記第1の検出手段で検出された前記第1の特徴点と、前記第2の検出手段で検出された前記第2の特徴点とを区別して出力する出力手段をさらに有することを特徴とする請求項1に記載の画像処理装置。
- 複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて特徴点を検出する検出手段と、
前記検出された特徴点毎に、該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得手段と、
前記画像から前記特徴点が対応する部位毎に物体を識別するための前記特徴量を抽出する抽出手段と、
前記特徴点毎に前記取得された信頼度に応じて、抽出された前記特徴量を、予め登録された前記物体の特徴量と比較することで、前記物体を認識する認識手段と、を有することを特徴とする画像処理装置。 - 画像から検出された物体について、該物体を構成する複数の部位の前記画像における位置を示す特徴点と、該特徴点に対応する前記部位である確からしさを示す信頼度と、を取得する取得手段と、
前記特徴点が示す部位毎に第1の画像特徴を前記画像から抽出する抽出手段と、
前記信頼度と、前記第1の画像特徴と、に基づいて、前記物体に固有の特徴量を示す第2の画像特徴を出力する出力手段と、
予め登録された所定の物体を示す特徴量と、前記第2の特徴量とに基づいて、前記画像から検出された前記物体と予め登録された所定の物体とを同定する認識手段と、を有する画像処理装置。 - 複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて第1の特徴点群を検出する第1の検出工程と、
前記第1の検出工程によって検出された前記第1の特徴点毎に、該特徴点が示す位置が該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得工程と、
前記信頼度が小さい前記第1の特徴点に対応する前記部位について、前記第1の特徴点の一部に基づいて第2の特徴点を検出する第2の検出工程と、
前記第1の特徴点の一部と前記第2の特徴点とに基づいて、前記物体が存在する領域を決定する決定工程と、を有することを特徴とする画像処理方法。 - 複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて特徴点を検出する検出工程と、
前記検出された特徴点毎に、該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得工程と、
前記画像から前記特徴点が対応する部位毎に物体を識別するための前記特徴量を抽出する抽出工程と、
前記特徴点毎に前記取得された信頼度に応じて、抽出された前記特徴量を、予め登録された前記物体の特徴量と比較することで、前記物体を認識する認識工程と、を有することを特徴とする画像処理方法。 - 画像処理方法をコンピュータに実行させるためのプログラムが記憶された記憶媒体であって、
複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて第1の特徴点群を検出する第1の検出工程と、
前記第1の検出工程によって検出された前記第1の特徴点毎に、該特徴点が示す位置が該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得工程と、
前記信頼度が小さい前記第1の特徴点に対応する前記部位について、前記第1の特徴点の一部に基づいて第2の特徴点を検出する第2の検出工程と、
前記第1の特徴点の一部と前記第2の特徴点とに基づいて、前記物体が存在する領域を決定する決定工程と、を有することを特徴とする。 - 画像処理方法をコンピュータに実行させるためのプログラムが記憶された記憶媒体であって、
複数の部位を有する物体を撮像した画像から、該物体の部位に対応させて特徴点を検出する検出工程と、
前記検出された特徴点毎に、該特徴点に対応する前記部位である確からしさを示す信頼度を取得する取得工程と、
前記画像から前記特徴点が対応する部位毎に物体を識別するための前記特徴量を抽出する抽出工程と、
前記特徴点毎に前記取得された信頼度に応じて、抽出された前記特徴量を、予め登録された前記物体の特徴量と比較することで、前記物体を認識する認識工程と、を有することを特徴とする。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/695,622 US20220207904A1 (en) | 2019-09-20 | 2022-03-15 | Image processing apparatus, image processing method, and storage medium |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019172192A JP7479809B2 (ja) | 2019-09-20 | 2019-09-20 | 画像処理装置、画像処理方法及びプログラム |
JP2019172191A JP2021051375A (ja) | 2019-09-20 | 2019-09-20 | 画像処理装置、画像処理方法及びプログラム |
JP2019-172192 | 2019-09-20 | ||
JP2019-172191 | 2019-09-20 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/695,622 Continuation US20220207904A1 (en) | 2019-09-20 | 2022-03-15 | Image processing apparatus, image processing method, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021054217A1 true WO2021054217A1 (ja) | 2021-03-25 |
Family
ID=74884482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/034093 WO2021054217A1 (ja) | 2019-09-20 | 2020-09-09 | 画像処理装置、画像処理方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220207904A1 (ja) |
WO (1) | WO2021054217A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022196016A1 (ja) * | 2021-03-17 | 2022-09-22 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置および情報処理方法、ならびに、センシングシステム |
CN118570233A (zh) * | 2024-08-05 | 2024-08-30 | 大连冉星信息科技有限公司 | 一种耳鼻喉检查图像智能分割方法及系统 |
KR102721005B1 (ko) | 2021-07-28 | 2024-10-23 | 엔에이치엔 주식회사 | 딥러닝 기반의 온라인 시험 부정행위 탐지 방법 및 그 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005384A (ja) * | 2002-04-19 | 2004-01-08 | Sony Corp | 画像処理方法、画像処理装置、プログラム及び記録媒体、自動トリミング装置、並びに肖像写真撮影装置 |
JP2010165052A (ja) * | 2009-01-13 | 2010-07-29 | Canon Inc | 画像処理装置及び画像処理方法 |
JP2014178862A (ja) * | 2013-03-14 | 2014-09-25 | Secom Co Ltd | 特徴点抽出装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4696857B2 (ja) * | 2005-11-02 | 2011-06-08 | オムロン株式会社 | 顔照合装置 |
KR101381439B1 (ko) * | 2011-09-15 | 2014-04-04 | 가부시끼가이샤 도시바 | 얼굴 인식 장치 및 얼굴 인식 방법 |
JP5795979B2 (ja) * | 2012-03-15 | 2015-10-14 | 株式会社東芝 | 人物画像処理装置、及び人物画像処理方法 |
JP6639123B2 (ja) * | 2015-07-06 | 2020-02-05 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
WO2018163404A1 (ja) * | 2017-03-10 | 2018-09-13 | 三菱電機株式会社 | 顔向き推定装置および顔向き推定方法 |
-
2020
- 2020-09-09 WO PCT/JP2020/034093 patent/WO2021054217A1/ja active Application Filing
-
2022
- 2022-03-15 US US17/695,622 patent/US20220207904A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005384A (ja) * | 2002-04-19 | 2004-01-08 | Sony Corp | 画像処理方法、画像処理装置、プログラム及び記録媒体、自動トリミング装置、並びに肖像写真撮影装置 |
JP2010165052A (ja) * | 2009-01-13 | 2010-07-29 | Canon Inc | 画像処理装置及び画像処理方法 |
JP2014178862A (ja) * | 2013-03-14 | 2014-09-25 | Secom Co Ltd | 特徴点抽出装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022196016A1 (ja) * | 2021-03-17 | 2022-09-22 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置および情報処理方法、ならびに、センシングシステム |
KR102721005B1 (ko) | 2021-07-28 | 2024-10-23 | 엔에이치엔 주식회사 | 딥러닝 기반의 온라인 시험 부정행위 탐지 방법 및 그 시스템 |
CN118570233A (zh) * | 2024-08-05 | 2024-08-30 | 大连冉星信息科技有限公司 | 一种耳鼻喉检查图像智能分割方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20220207904A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147721B (zh) | 一种三维人脸识别方法、模型训练方法和装置 | |
JP7094702B2 (ja) | 画像処理装置及びその方法、プログラム | |
US7925093B2 (en) | Image recognition apparatus | |
US7912253B2 (en) | Object recognition method and apparatus therefor | |
US9020250B2 (en) | Methods and systems for building a universal dress style learner | |
JP5873442B2 (ja) | 物体検出装置および物体検出方法 | |
US7995805B2 (en) | Image matching apparatus, image matching method, computer program and computer-readable storage medium | |
JP6639123B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN109558810B (zh) | 基于部位分割与融合目标人物识别方法 | |
US20130243278A1 (en) | Biological information processor | |
CN109753891A (zh) | 基于人体关键点检测的足球运动员姿势校准方法及系统 | |
JP6773829B2 (ja) | 対象物認識装置、対象物認識方法、及び対象物認識プログラム | |
CN111027464A (zh) | 对卷积神经网络和序特征编码联合优化的虹膜识别方法 | |
JP2024107488A (ja) | 画像処理装置、画像処理方法及びプログラム | |
WO2021054217A1 (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN110263768A (zh) | 一种基于深度残差网络的人脸识别方法 | |
CN111723687A (zh) | 基于神经网路的人体动作识别方法和装置 | |
CN108875623B (zh) | 一种基于图像特征融合对比技术的人脸识别方法 | |
US11836944B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2011113313A (ja) | 姿勢推定装置 | |
JP2019175093A (ja) | 推定装置、推定方法、推定プログラム、学習装置、学習方法、及び学習プログラム | |
CN111898571A (zh) | 动作识别系统及方法 | |
JP2005351814A (ja) | 検出装置および検出方法 | |
JP7479809B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP7258375B2 (ja) | ユーザのバイオメトリック特性を有する画像中の物体を識別して、画像のうちバイオメトリック特性を含む部分を他の部分から分離することにより当該ユーザのidを検証するための方法 |
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: 20864716 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20864716 Country of ref document: EP Kind code of ref document: A1 |