WO2022097489A1 - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
WO2022097489A1
WO2022097489A1 PCT/JP2021/038880 JP2021038880W WO2022097489A1 WO 2022097489 A1 WO2022097489 A1 WO 2022097489A1 JP 2021038880 W JP2021038880 W JP 2021038880W WO 2022097489 A1 WO2022097489 A1 WO 2022097489A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
frame image
subject
image processing
region
Prior art date
Application number
PCT/JP2021/038880
Other languages
English (en)
French (fr)
Inventor
朝貴 田港
Original Assignee
キヤノン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by キヤノン株式会社 filed Critical キヤノン株式会社
Publication of WO2022097489A1 publication Critical patent/WO2022097489A1/ja
Priority to US18/180,166 priority Critical patent/US20230222672A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Definitions

  • the present invention relates to a subject tracking technique.
  • a technique for detecting a specific part of a subject is also known.
  • such a technique can be used for crime prevention by detecting a license plate or windshield after setting a car showing a specific behavior as a subject and zooming it, or pinpointing the eyes of the person or animal of the subject.
  • Various uses such as focusing can be considered.
  • Patent Document 1 when the subject is a person and the specific part is a facial organ, the face area of the subject is detected and then the face area is enlarged to accurately capture a small specific part such as a pupil. Techniques for detection have been proposed.
  • Patent Document 1 when trying to accurately detect a specific part of a subject from a moving image, the specific part is detected after first detecting the subject, so that the specific part is detected after acquiring a frame image.
  • the detection process will be performed multiple times before this is done.
  • the time delay (latency) from the acquisition of the frame image to the detection of the specific portion becomes large.
  • the difference between the detection result of a specific part of a moving subject and the actual position at the time of detection becomes large, so that AF does not match. Occurs.
  • the present invention provides a technique for reducing the time from acquiring a frame image to detecting a specific part of a subject as compared with the conventional technique.
  • the uniformity of the present invention is a detection means for detecting a specific part of the subject before detecting the subject from the search area in the first frame image, and the first frame image after the detection means detects the specific part. It is characterized by providing a processing means for performing the tracking process of the subject in the above.
  • the time from the acquisition of the frame image to the detection of a specific part of the subject can be reduced as compared with the conventional case.
  • the block diagram which shows the functional structure example of the image processing apparatus 1.
  • a time chart showing an example of the execution order of the site detection unit 103 and the tracking unit 104.
  • the flowchart which shows the operation of the part detection part 103.
  • the figure explaining the detection of a specific part from a frame image The figure explaining the detection of a specific part from a frame image.
  • the figure explaining the detection of a specific part from a frame image The figure explaining the detection of a specific part from a frame image.
  • the figure explaining the detection of a specific part from a frame image The figure explaining the detection of a specific part from a frame image.
  • the flowchart which shows the operation of the area calculation part 105 The flowchart which shows the operation of the part detection part 103.
  • the figure explaining the detection of a subject and a specific part from a frame image The figure explaining the detection of a subject and a specific part from a frame image.
  • the figure explaining the detection of a subject and a specific part from a frame image The figure explaining the detection of a subject and a specific part from a frame image.
  • the figure explaining the detection of a subject and a specific part from a frame image The figure explaining the detection of a subject and a specific part from a frame image.
  • the figure explaining the detection of a subject and a specific part from a frame image The figure explaining the detection of a subject and a specific part from a frame image.
  • the flowchart which shows the operation of the area calculation part 105 The block diagram which shows the functional structure example of the image processing apparatus 10.
  • the flowchart which shows the operation of the determination unit 1001. A block diagram showing a hardware configuration example of
  • a "vehicle showing a specific behavior (for example, overrunning speed)" captured by a surveillance camera installed outdoors is tracked as a subject, and the license plate of the vehicle, which is the subject being tracked, is used as a specific part.
  • the surveillance camera system to be detected will be described.
  • the acquisition time of the frame image captured by the surveillance camera is represented by t, and the acquisition time t of the frame image first (first) acquired from the surveillance camera is 1. Further, assuming that the acquisition time t of the frame image of interest acquired from the surveillance camera is T, the acquisition time t of the frame image acquired immediately before (preceding) the frame image of interest is expressed as (T-1). The acquisition time t of the frame image acquired immediately after (following) the frame image of interest is expressed as (T + 1).
  • acquisition time t the frame image
  • a method of detecting a subject and a specific part of the subject from the frame image for example, an automobile passing through a set area in the frame image is detected as the subject, and the specific part of the subject is detected by a well-known object detection technique with high accuracy. Can be considered.
  • the area extraction unit 102 extracts the image in the search area calculated by the area calculation unit 105 for the current frame image as a crop image.
  • the part detection unit 103 detects a specific part of the subject from the crop image extracted by the area extraction unit 102.
  • the site detection unit 103 executes the detection process of the specific region from the crop image in the current frame image without waiting for the processing result of the tracking unit 104 for the current frame image.
  • the detection process of a specific part from the cropped image by the part detection unit 103 will be described with reference to the flowchart of FIG.
  • step S301 the site detection unit 103 acquires the crop image extracted by the area extraction unit 102.
  • FIG. 4A shows the current frame image 401
  • FIG. 4B shows the crop image 402 extracted by the region extraction unit 102 from the current frame image 401.
  • step S302 the site detection unit 103 estimates the region of the specific site in the crop image.
  • a technique for estimating the region of a specific part in a crop image for example, there is a technique using machine learning, deep learning, template matching, and feature point matching.
  • learning that trains a multi-layered neural network using training data consisting of a set of pairs of annotation data representing an image containing a specific part and an annotation data representing a region of the specific part in the image. Generate a model in advance. By using such a learning model, it is possible to estimate the region (for example, position and size (vertical size and horizontal size)) of a specific part for an unknown image. Furthermore, the weight of the neural network model is reduced in order to perform inference with relatively high accuracy while suppressing the calculation load.
  • FIG. 4C shows the likelihood map 403 obtained from the learning model by inputting the crop image 402 into the learning model.
  • the block of the position (x, y) in the likelihood map 403 "probability (likelihood) that a specific part exists" in the region (region corresponding to the block) of the position (x, y) in the crop image 402. Is stored.
  • the high and low likelihoods are shown in shades.
  • the likelihood of the position (x, y) in the likelihood map 403 is referred to as S (x, y).
  • the likelihood map can be treated like an image by associating the likelihood S (x, y) with the pixel values by appropriate conversion.
  • the site detection unit 103 will be described as generating a likelihood map from the crop image in step S302.
  • step S303 the site detection unit 103 performs a filtering process on the likelihood map.
  • FIG. 4D shows an example of the filtered likelihood map 404 obtained by performing the filtering process on the likelihood map 403. This filtering process will be described with reference to FIG.
  • step S304 the site detection unit 103 applies, for example, an NMS (Non-maximum Suppression) algorithm to the filtered likelihood map (404, 504) obtained in step S303, and a region having a high likelihood.
  • the area in the crop image corresponding to the selected area is defined as the "region of a specific part in the crop image”.
  • FIG. 4E shows a region 405 in the current frame image 401 (that is, a region of a specific region in the current frame image 401) corresponding to the “region of the specific region in the crop image”.
  • step S305 the site detection unit 103 outputs the region in the current frame image corresponding to the "region of the specific region in the crop image" specified in step S304 as the "detection region of the specific region" (detection result).
  • the tracking unit 104 performs tracking processing for tracking the vehicle as the subject from the current frame image.
  • the "tracking process for the current frame image” is performed in parallel with the process of the site detection unit 103 for the current frame image, or the site detection unit 103 for the current frame image. It is done after the processing of.
  • the tracking process for tracking the vehicle as the subject from the current frame image uses, for example, a method using background subtraction or optical flow, a method using Bayesian filter such as Kalman filter or particle filter, machine learning or deep learning. It can be performed by using various methods such as the method used, the method using template matching and the method using feature point matching.
  • the automobile is tracked by using any known method, and the details thereof will be omitted.
  • the tracking unit 104 outputs the position and size (vertical size and horizontal size) of the rectangular area surrounding the subject in the current frame image as a result of the tracking process for the current frame.
  • the tracking unit 104 may output any information as the "result of the tracking process" as long as the information can specify the rectangular area surrounding the subject in the current frame image.
  • the process Since the result of the tracking process by the tracking unit 104 is used to determine the search area in the frame image at the next acquisition time, it is said that the result is completed before the frame image at the next acquisition time is acquired. It is desirable that the processing load of the tracking process is small. If the tracking process is not in time for the acquisition of the frame image at the next acquisition time, the process may be periodically executed, for example, by skipping the process frame by frame. By doing so, the tracking process does not affect the processing time from the acquisition of the frame image at the next acquisition time to the detection process.
  • FIG. 2 illustrates the parts related to the following description.
  • the initial position detection unit 101 detects the specific portion of the subject after detecting the subject.
  • the subject tracking process is performed after detecting a specific part of the subject.
  • AF processing and / or zoom processing using the detection result of a specific part can be performed before the tracking processing, and the latency of those processings can be suppressed.
  • the part detection unit 103 detects a specific part of the subject, the detected specific part or the feature amount of the specific part is transmitted to the surveillance camera, and the surveillance camera performs AF processing and / or zoom processing on the specific part. May be done.
  • the tracking unit 104 can perform tracking processing on the specific portion of the frame image after AF processing or zoom processing on the specific portion.
  • the area calculation unit 105 "acquires the next acquisition time of the current frame image" based on the search area in the current frame image or the area of the subject detected by the initial position detection unit 101 and the result of the tracking process by the tracking unit 104.
  • the search area in the frame image of the time is calculated. The calculation of the search area by the area calculation unit 105 will be described with reference to the flowchart of FIG.
  • step S601 the area calculation unit 105 acquires the result of the tracking process by the tracking unit 104 (the result of the tracking process in the current frame image, the result of the tracking process at the acquisition time immediately before the current frame image).
  • the area calculation unit 105 has the center of gravity position (Xc, Yc) of the search area calculated by the area calculation unit 105 for the current frame image. ).
  • the area calculation unit 105 obtains the movement V ( ⁇ x, ⁇ y) of the subject between the frame images.
  • the area calculation unit 105 is based on the result of tracking processing at the acquisition time one before the current frame image (the position of the rectangular area surrounding the subject in the frame image at the acquisition time one before the current frame image).
  • the motion vector V1 to the result of the tracking process in the current frame image may be obtained as V ( ⁇ x, ⁇ y).
  • the area calculation unit 105 moves the motion vector V2 ( ⁇ x, ⁇ y) from the position of the center of gravity of the specific portion in the frame image at the acquisition time immediately before the current frame image to the position of the center of gravity of the specific portion in the current frame image. May be obtained as V ( ⁇ x, ⁇ y). Further, for example, the region calculation unit 105 may obtain the average vector of the motion vector V1 and the motion vector V2 as V ( ⁇ x, ⁇ y).
  • step S604 the area calculation unit 105 obtains the position of the center of gravity of the "search area in the frame image at the acquisition time next to the acquisition time of the current frame image" as (Xc + ⁇ x, Yc + ⁇ y).
  • the area calculation unit 105 determines the size (vertical size and horizontal size) of the "search area in the frame image at the acquisition time next to the acquisition time of the current frame image". For example, the area calculation unit 105 obtains in advance the length L of one side of the search area that maximizes the detection rate with respect to the length of one side of the area surrounding the specific portion, and “acquires the current frame image”. The size of the "search area” in the frame image at the next acquisition time of the time is determined to be the length L.
  • the method for determining the size (vertical size and horizontal size) of the "search area in the frame image at the acquisition time next to the acquisition time of the current frame image” is not limited to the specific determination method. For example, in consideration of the movement of a specific part of the subject, the larger the movement, the larger the size of the search area may be. In that case, the loss of the subject or the specific part from the frame image may be suppressed. Can be done.
  • a specific part of the subject is detected from the frame image by one detection process, and the subject is tracked after the detection.
  • another method using the detection result of the specific part from the acquisition of the frame image is performed. It is possible to suppress the latency until the processing is performed. By doing so, for example, before the automobile passes through the field of view of the surveillance camera, AF and zoom-up to the license plate, which is a specific part, can be performed at high speed, and the details of the specific part can be grasped more accurately. become able to.
  • the image processing device 1 having the configuration shown in FIG. 1 can be applied to such a camera system, but in the present embodiment, the operations of the site detection unit 103 and the area calculation unit 105 are the same as those of the first embodiment. different.
  • step S701 the site detection unit 103 acquires the crop image extracted by the area extraction unit 102.
  • FIG. 8A shows the current frame image 801 and
  • FIG. 8B shows the crop image 802 extracted from the current frame image 801 by the region extraction unit 102.
  • step S702 the site detection unit 103 estimates the regions of the first site and the second site in the crop image. Also in this embodiment, the learning model learned by using deep learning is used as in the first embodiment.
  • a set of pairs of an image including a first part and a second part and an annotation data representing an existing area of each part is prepared as learning data.
  • this learning data to generate a learning model in which a multi-layered neural network such as a convolution layer is trained in advance, the existing regions of the first part and the second part with respect to an unknown image are generated. (Eg position and size) can be estimated.
  • the first part and the second part are learned by one neural network model.
  • this learning method it is possible to estimate a plurality of parts at the same processing speed as when estimating one part.
  • the site detection unit 103 outputs the likelihood maps corresponding to each of the first site and the second site by using the learning model generated in advance in this way.
  • the likelihood map 803 is a likelihood map of a first portion obtained from the learning model by inputting the crop image 802 into the learning model.
  • the likelihood map 804 is a likelihood map of a second portion obtained from the learning model by inputting the crop image 802 into the learning model.
  • the block of the position (x, y) in the likelihood map 803 stores the "probability (likelihood) that the first part exists" in the region of the position (x, y) in the crop image 802. Further, in the block of the position (x, y) in the likelihood map 804, the "probability (likelihood) that the second part exists” in the region of the position (x, y) in the crop image 802 is stored. .. In FIG. 8C, the high and low likelihoods are shown by shading.
  • step S703 the site detection unit 103 performs the same filtering process as in the first embodiment on the likelihood map corresponding to the first site.
  • FIG. 8D shows the likelihood map 805 after applying the filtering process in this way.
  • step S704 the site detection unit 103 applies, for example, an NMS (Non-maximum Suppression) algorithm to the filtered likelihood map obtained in step S703, in order from the region of maximum likelihood to the maximum. Two are selected, and the region in the crop image corresponding to the selected region is determined as the "region of the first portion in the crop image".
  • FIG. 8E shows the region 806 of the first portion in the crop image 802.
  • step S705 the site detection unit 103 outputs the "region of the first region in the crop image" specified in step S704 as the "detection region of the first region" (detection result of the first region). Therefore, also in this embodiment, it is possible to detect a specific portion of the subject with the same amount of processing as in the first embodiment.
  • step S706 the site detection unit 103 performs the same filtering process as in the first embodiment on the likelihood map corresponding to the second site.
  • FIG. 8F shows a filtered likelihood map 807 obtained by performing a filtering process on the likelihood map 804.
  • step S707 the site detection unit 103 applies, for example, an NMS (Non-maximum Suppression) algorithm to the filtered likelihood map obtained in step S706 to select a region having the maximum likelihood, and the region is selected.
  • the region in the crop image corresponding to the selected region is determined as the "region of the second portion in the crop image".
  • FIG. 8G shows the region 808 of the second portion in the crop image 802.
  • step S708 the site detection unit 103 outputs the "region of the second region in the crop image" specified in step S707 as the "detection region of the second region" (detection result of the second region).
  • the series of processes of steps S703 to S705 and the series of processes of steps S706 to S708 may be performed in parallel.
  • the face can be detected with the latency suppressed as in the case of the pupil.
  • the false detection can be suppressed by removing the pupil detection result existing outside the region surrounding the face.
  • step S902 the area calculation unit 105 acquires the "detection area of the second portion" output in step S708. Then, in step S903, the region calculation unit 105 obtains the position of the center of gravity (Xc, Yc) of the “detection region of the second portion”. After that, it is the same as the flowchart of FIG.
  • the second part contains the first part, it is easier to detect it more accurately than the first part, and it is easier to capture the movement of a specific part than the tracking result of the subject, so that the center of gravity and the accuracy of the movement are stable. .. Therefore, the search area in the frame image at the next acquisition time can be set more stably than in the first embodiment, and the detection accuracy of the specific portion is improved.
  • the first portion of the subject and the second portion including the first portion are detected by one detection process immediately after the frame image is acquired, and the matching thereof is performed.
  • the detection rate of a specific site is improved.
  • the pupil of the subject can be detected more accurately while the latency from the acquisition of the frame image to the detection of the specific portion of the subject is suppressed as in the first embodiment.
  • the image processing device 10 is the above-mentioned image processing device 1 plus a determination unit 1001.
  • the operation of the determination unit 1001 will be described with reference to the flowchart of FIG.
  • step S1101 the determination unit 1001 acquires the "detection region of the first region" and the "detection region of the second region” detected by the region detection unit 103.
  • step S1102 the determination unit 1001 acquires the likelihood score S2 from the likelihood map of the second portion.
  • the likelihood score S2 may be, for example, the maximum likelihood in the likelihood map of the second site, or near the center of gravity position of the "detection region of the second site" in the likelihood map of the second site. It may be the average value of the likelihoods in.
  • the determination unit 1001 determines whether or not the likelihood score S2 is equal to or greater than the threshold value. As a result of this determination, if the likelihood score S2 is equal to or higher than the threshold value (the accuracy of the second portion in the likelihood map of the second portion is high), the process proceeds to step S1103. On the other hand, if the likelihood score S2 is less than the threshold value (the accuracy of the second portion in the likelihood map of the second portion is low), the process proceeds to step S1105.
  • the determination unit 1001 acquires the likelihood score S1 from the likelihood map of the first portion.
  • the likelihood score S1 may be, for example, the maximum likelihood in the likelihood map of the first site, or near the center of gravity position of the "detection region of the first site" in the likelihood map of the first site. It may be the average value of the likelihoods in.
  • the determination unit 1001 determines whether or not the likelihood score S1 is equal to or greater than the threshold value. As a result of this determination, if the likelihood score S1 is equal to or higher than the threshold value (the accuracy of the first portion in the likelihood map of the first portion is high), the process proceeds to step S1104. On the other hand, if the likelihood score S1 is less than the threshold value (the accuracy of the first portion in the likelihood map of the first portion is low), the process proceeds to step S1105.
  • step S1104 the determination unit 1001 obtains the variance ⁇ of the distance from the position of the center of gravity of the second portion to the “position showing the likelihood of a certain value or more” in the likelihood map of the second portion. If the variance ⁇ is equal to or less than the threshold value, the process proceeds to step S1106, and if the variance ⁇ is larger than the threshold value, the process proceeds to step S1105.
  • the variance ⁇ tends to be large, so even if it can be detected correctly, it may be easily falsely detected by other subjects in the next frame image. It takes into account that there is. On the contrary, when the variance ⁇ is small, it can be interpreted that the detection of a specific part is easy because only the subject is reflected in the periphery.
  • step S1105 the determination unit 1001 determines that the tracking process is necessary, and notifies the tracking unit 104 to that effect.
  • step S1106 the determination unit 1001 determines that the tracking process is unnecessary, and notifies the tracking unit 104 to that effect.
  • the tracking unit 104 performs tracking processing when it receives a notification from the determination unit 1001 that tracking processing is necessary, and does not perform tracking processing when it receives that tracking processing is unnecessary. While the tracking unit 104 is not performing the tracking process, the area calculation unit 105 continues to output the search area recently output to the area extraction unit 102 to the area extraction unit 102.
  • the processing speed can be improved and the calculation load in the image processing apparatus 10 can be reduced. ..
  • Each functional unit shown in FIGS. 1 and 10 may be implemented by hardware or software (computer program).
  • the computer device capable of executing the computer program can be applied to the image processing device 1 and the image processing device 10 described above.
  • FIG. 12 is an example of the hardware configuration of the computer device applicable to the image processing device 1 and the image processing device 10, and can be appropriately modified / changed.
  • the CPU 1201 executes various processes using computer programs and data stored in the RAM 1202 and the ROM 1203. As a result, the CPU 1201 controls the operation of the entire computer device, and also executes or controls each of the above-mentioned processes described as those performed by the image processing device 1 and the image processing device 10.
  • the RAM 1202 has an area for storing computer programs and data loaded from the ROM 1203 and the storage device 1206, and an area for storing data received from the outside via the I / F 1207. Further, the RAM 1202 has a work area used by the CPU 1201 to execute various processes. As described above, the RAM 1202 can appropriately provide various areas.
  • the ROM 1203 stores computer device setting data, computer programs and data related to the startup of the computer device, computer programs and data related to the basic operation of the computer device, and the like.
  • the operation unit 1204 is a user interface such as a keyboard, a mouse, and a touch panel, and various instructions can be input to the CPU 1201 by the user's operation.
  • the display unit 1205 is a device having a liquid crystal screen and a touch panel screen, and can display the processing result by the CPU 1201 with images, characters, and the like.
  • the display unit 1205 can display a frame image and a display item for explicitly notifying the user of a subject or a specific part (first part or second part) in the frame image.
  • the display unit 1205 may be a projection device such as a projector that projects an image or characters.
  • the storage device 1206 is a non-volatile memory such as a hard disk drive device.
  • the storage device 1206 stores computer programs and data for causing the CPU 1201 to execute or control each of the above-mentioned processes as performed by the OS and the image processing device 1/10.
  • the computer programs and data stored in the storage device 1206 are appropriately loaded into the RAM 1202 according to the control by the CPU 1201 and become the processing target by the CPU 1201.
  • the I / F 1207 is a communication interface for performing data communication with the outside. For example, a frame image captured by an image pickup device such as a surveillance camera or an electronic camera described above is transmitted to a RAM 1202 or a storage device 1206 via the I / F 1207. Stored in.
  • an image pickup device such as a surveillance camera or an electronic camera described above is transmitted to a RAM 1202 or a storage device 1206 via the I / F 1207.
  • the CPU 1201, RAM 1202, ROM 1203, operation unit 1204, display unit 1205, storage device 1206, and I / F 1207 are all connected to the system bus 1208.
  • the image pickup device (surveillance camera, electronic camera, etc.) for capturing the frame image and the image processing device 1/10 are separate devices.
  • the image pickup device and the image processing device 1/10 may be integrated to form one device (image processing device with an image pickup function).
  • the present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC
  • Image processing device 101 Initial position detection unit 102: Area extraction unit 103: Site detection unit 104: Tracking unit 105: Area calculation unit

Abstract

第1フレーム画像における探索領域から被写体を検出する前に該被写体の特定部位を検出し、該検出の後、第1フレーム画像における被写体の追尾処理を行う。

Description

画像処理装置、画像処理方法
 本発明は、被写体の追尾技術に関するものである。
 従来から、動画像中のフレーム画像から特定の被写体を検出する技術が知られており、例えば、特定の人物や物体を検出する機能を搭載した監視カメラや、被写体に自動的に焦点を合わせるオートフォーカス(AF)機能を搭載した電子カメラが実現されている。
 さらに、被写体の特定部位を検出する技術も知られている。このような技術は例えば、特定の挙動を示す自動車を被写体に定めた後にナンバープレートやフロントガラスなどを検出してズームすることで防犯に利用したり、被写体の人物や動物の瞳にピンポイントでフォーカスを合わせる、といった様々な用途が考えられる。
 特許文献1では、被写体が人物であり、特定部位が顔の器官である場合、被写体の顔領域を検出した後に該顔領域を拡大することにより、瞳のような小さく映った特定部位を精度良く検出する技術が提案されている。
特開2009-245100号公報
 しかしながら、特許文献1のように、動画像から被写体の特定部位を精度良く検出しようとすると、最初に被写体を検出してから特定部位を検出するため、フレーム画像を取得してから特定部位を検出するまでに複数回の検出処理を行うことになる。これにより、フレーム画像を取得してから特定部位を検出するまでの時間的な遅延(レイテンシー)が大きくなってしまう。このような状況では、例えば、電子カメラのAF機能において、移動している被写体の特定部位の検出結果と、検出時の実際の位置とのズレが大きくなってしまうため、AFが合わないといった問題が生じる。
 本発明は、フレーム画像を取得してから被写体の特定部位を検出するまでの時間を従来よりも減少させるための技術を提供する。
 本発明の一様態は、第1フレーム画像における探索領域から被写体を検出する前に該被写体の特定部位を検出する検出手段と、前記検出手段による前記特定部位の検出の後、前記第1フレーム画像における前記被写体の追尾処理を行う処理手段とを備えることを特徴とする。
 本発明の構成によれば、フレーム画像を取得してから被写体の特定部位を検出するまでの時間を従来よりも減少させることができる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
画像処理装置1の機能構成例を示すブロック図。 部位検出部103と追尾部104の実行順序の一例を示すタイムチャート。 部位検出部103の動作を示すフローチャート。 フレーム画像からの特定部位の検出を説明する図。 フレーム画像からの特定部位の検出を説明する図。 フレーム画像からの特定部位の検出を説明する図。 フレーム画像からの特定部位の検出を説明する図。 フレーム画像からの特定部位の検出を説明する図。 フィルタリング処理を説明する図。 領域算出部105の動作を示すフローチャート。 部位検出部103の動作を示すフローチャート。 フレーム画像から被写体および特定部位の検出を説明する図。 フレーム画像から被写体および特定部位の検出を説明する図。 フレーム画像から被写体および特定部位の検出を説明する図。 フレーム画像から被写体および特定部位の検出を説明する図。 フレーム画像から被写体および特定部位の検出を説明する図。 フレーム画像から被写体および特定部位の検出を説明する図。 フレーム画像から被写体および特定部位の検出を説明する図。 領域算出部105の動作を示すフローチャート。 画像処理装置10の機能構成例を示すブロック図。 判断部1001の動作を示すフローチャート。 コンピュータ装置のハードウェア構成例を示すブロック図。
 以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
 [第1の実施形態]
 本実施形態では、屋外に設置された監視カメラで撮像された「特定の挙動(例えば走行速度超過)を示す自動車」を被写体として追尾し、追尾中の被写体である自動車のナンバープレートを特定部位として検出する監視カメラシステムについて説明する。
 また、以下では、監視カメラによって撮像されるフレーム画像の取得時刻をtで表し、該監視カメラから最初(1番目)に取得されるフレーム画像の取得時刻tは1とする。また、監視カメラから取得した着目フレーム画像の取得時刻tがTであるとすると、該着目フレーム画像の1つ前(先行する)に取得したフレーム画像の取得時刻tは(T-1)と表し、該着目フレーム画像の1つ後(後続する)に取得したフレーム画像の取得時刻tは(T+1)と表す。
 まず、本実施形態に係る監視カメラシステムにおいて、監視カメラにより撮像されたフレーム画像中の被写体を追尾する画像処理装置1の機能構成例について、図1のブロック図を用いて説明する。
 初期位置検出部101は、取得時刻t=1、2に対応するフレーム画像における被写体および該被写体の特定部位を検出することで、該フレーム画像における被写体の位置および該被写体の特定部位の位置を検出する。また初期位置検出部101は、被写体が監視カメラの視界から消えた後に再び該視界に入ったときには、該被写体がフレーム画像中に再登場するので、該被写体が再登場したフレーム画像(取得時刻t=1のフレーム画像と称する)および該フレーム画像に隣接して後続するフレーム画像(取得時刻t=2のフレーム画像と称する)から被写体および該被写体の特定部位を検出することで、該フレーム画像における被写体の位置および該被写体の特定部位の位置を検出する。
 なお、フレーム画像から被写体および該被写体の特定部位を検出する方法としては、例えば、フレーム画像における設定領域を通過する自動車を被写体として検出し、精度の良い公知の物体検知技術で該被写体の特定部位を検出するといった方法が考えられる。
 領域抽出部102は、現フレーム画像について領域算出部105が算出した探索領域内の画像をクロップ画像として抽出する。
 部位検出部103は、領域抽出部102によって抽出されたクロップ画像から被写体の特定部位を検出する。なお、部位検出部103は、現フレーム画像におけるクロップ画像からの特定部位の検出処理を、現フレーム画像に対する追尾部104の処理結果を待たずに実行する。部位検出部103によるクロップ画像からの特定部位の検出処理について、図3のフローチャートに従って説明する。
 ステップS301では、部位検出部103は、領域抽出部102により抽出されたクロップ画像を取得する。図4Aは現フレーム画像401を示しており、図4Bは、現フレーム画像401から領域抽出部102が抽出したクロップ画像402を示している。
 ステップS302では、部位検出部103は、クロップ画像における特定部位の領域を推定する。クロップ画像における特定部位の領域を推定する技術としては、例えば、機械学習や深層学習、テンプレートマッチング、特徴点マッチングを用いた技術がある。
 深層学習を用いた方法では、特定部位を含んだ画像と、画像における特定部位の領域を表すアノテーションデータのペアの集合で構成される学習データを用いて、多層からなるニューラルネットワークを学習させた学習モデルを事前に生成しておく。このような学習モデルを用いることにより、未知の画像に対して特定部位の領域(例えば位置とサイズ(縦サイズおよび横サイズ))を推定することができる。更に、計算負荷を抑えながら比較的高精度に推論を行うため、ニューラルネットワークモデルを軽量化する。
 本実施形態では、このようにして事前に生成した学習モデルを用いて、クロップ画像における特定部位の位置とサイズ(縦サイズおよび横サイズ)を推定する。図4Cは、上記の学習モデルに上記のクロップ画像402を入力することで該学習モデルから得られる尤度マップ403を示している。尤度マップ403における位置(x、y)のブロックには、クロップ画像402における位置(x、y)の領域(該ブロックに対応する領域)における「特定部位が存在する確からしさ(尤度)」が格納されている。図4Cでは、尤度の高低を濃淡で示している。以下では、尤度マップ403における位置(x、y)の尤度をS(x,y)と表す。尤度マップは尤度S(x,y)を適切な変換により画素値に対応付けることで、画像のように取り扱うことができる。以下では、ステップS302で部位検出部103は、クロップ画像から尤度マップを生成したものとして説明する。
 次に、ステップS303では、部位検出部103は、尤度マップに対してフィルタリング処理を行う。図4Dは、尤度マップ403に対してフィルタリング処理を行ったことで得られるフィルタリング処理済み尤度マップ404の一例を示している。このフィルタリング処理について、図5を用いて説明する。
 まず、取得時刻t=(T-1)のフレーム画像に対応する尤度マップ501から尤度の重心位置と分散を計算する。そして、該重心位置を中心として該分散に応じたサイズの範囲外をフィルタリングするためのガウシアンフィルタ502を生成する。そして、取得時刻t=Tのフレーム画像に対応する尤度マップ503とガウシアンフィルタ502との積を取ることにより、特定部位以外の領域がフィルタリングされたフィルタリング処理済み尤度マップ504を生成する。
 ステップS304では、部位検出部103は、ステップS303で求めたフィルタリング処理済み尤度マップ(404,504)に対して、例えば、NMS(Non-maximum Suppression)アルゴリズムを適用して、尤度が高い領域から適切に選び、該選んだ領域に対応するクロップ画像中の領域を「クロップ画像における特定部位の領域」とする。図4Eは、「クロップ画像における特定部位の領域」に対応する現フレーム画像401における領域405(つまり現フレーム画像401における特定部位の領域)を示している。
 ステップS305では、部位検出部103は、ステップS304で特定した「クロップ画像における特定部位の領域」に対応する現フレーム画像中の領域を「特定部位の検出領域」(検出結果)として出力する。
 図1に戻って、追尾部104は、現フレーム画像から被写体となる自動車を追尾する追尾処理を行う。なお、「現フレーム画像に対する追尾処理」は、部位検出部103が動作する場合には、現フレーム画像に対する部位検出部103の処理と並行して行われるか、若しくは現フレーム画像に対する部位検出部103の処理よりも後に行われる。
 ここで、現フレーム画像から被写体となる自動車を追尾する追尾処理は、例えば、背景差分やオプティカルフローを用いた方法、カルマンフィルタやパーティクルフィルタ等のベイズフィルタを用いた方法、機械学習や深層学習を用いた方法、テンプレートマッチングや特徴点マッチングを用いた方法等、様々な方法を用いて行うことができる。本実施形態では、何れかの公知の方法を用いて自動車を追尾するものとし、詳細については説明を省略する。
 そして追尾部104は、現フレームに対する追尾処理の結果として、現フレーム画像中の被写体を囲む矩形領域の位置およびサイズ(縦サイズおよび横サイズ)を出力する。なお、現フレーム画像中の被写体を囲む矩形領域を特定することができる情報であれば、追尾部104は如何なる情報を「追尾処理の結果」として出力しても良い。
 なお、追尾部104による追尾処理の結果は、次の取得時刻のフレーム画像における探索領域の決定に用いられることから、次の取得時刻のフレーム画像を取得する前に完了している程度に、該追尾処理の処理負荷は小さいことが望ましい。追尾処理が次の取得時刻のフレーム画像の取得までに間に合わない場合は、例えば、処理を1フレームずつスキップする等で周期的に実行するようにしてもよい。このようにすることで、追尾処理は次の取得時刻でフレーム画像を取得してから検出処理を行うまでの処理時間に影響を与えないで済む。
 ここで、部位検出部103と追尾部104の実行順序の一例について、図2のタイムチャートを用いて説明する。なお、図2には以下の説明に関連する部分について図示している。
 取得時刻t=1および取得時刻t=2では、被写体および該被写体の特定部位を正確に定める必要があるため、初期位置検出部101は被写体を検出した後に、該被写体の特定部位を検出する。
 取得時刻t=3以降のフレーム画像では、被写体の特定部位を検出した後に被写体の追尾処理を行う。これにより、監視カメラであれば、追尾処理の前に特定部位の検出結果を利用したAF処理および/またはズーム処理を行うことができ、それらの処理のレイテンシーを抑制することができる。
 よって、部位検出部103は、被写体の特定部位を検出すると、該検出した特定部位もしくは該特定部位の特徴量を監視カメラに送信し、該監視カメラに該特定部位に対するAF処理および/またはズーム処理を行わせても良い。これにより、追尾部104は、特定部位に対するAF処理やズーム処理を行った後のフレーム画像に対して該特定部位に対する追尾処理を行うことができる。
 領域算出部105では、現フレーム画像における探索領域もしくは初期位置検出部101が検出した被写体の領域と、追尾部104による追尾処理の結果と、に基づいて「現フレーム画像の取得時刻の次の取得時刻のフレーム画像における探索領域」を算出する。領域算出部105による探索領域の算出について、図6のフローチャートに従って説明する。
 ステップS601では、領域算出部105は、追尾部104による追尾処理の結果(現フレーム画像における追尾処理の結果、該現フレーム画像よりも1つ前の取得時刻における追尾処理の結果)を取得する。
 ステップS602では、領域算出部105は、現フレーム画像が取得時刻t=2のフレーム画像である場合は、該現フレーム画像について初期位置検出部101が検出した被写体の領域の重心位置(Xc,Yc)を求める。一方、領域算出部105は、現フレーム画像が取得時刻t=3以降の取得時刻のフレーム画像である場合は、該現フレーム画像について領域算出部105が算出した探索領域の重心位置(Xc,Yc)を求める。
 ステップS603では、領域算出部105は、フレーム画像間における被写体の動きV(Δx、Δy)を求める。例えば、領域算出部105は、現フレーム画像よりも1つ前の取得時刻における追尾処理の結果(現フレーム画像よりも1つ前の取得時刻におけるフレーム画像における被写体を囲む矩形領域の位置)から、現フレーム画像における追尾処理の結果(現フレーム画像における被写体を囲む矩形領域の位置)への動きベクトルV1をV(Δx、Δy)として求めても良い。また例えば、領域算出部105は、現フレーム画像よりも1つ前の取得時刻におけるフレーム画像における特定部位の重心位置から、現フレーム画像における特定部位の重心位置への動きベクトルV2(Δx、Δy)をV(Δx、Δy)として求めても良い。また例えば、領域算出部105は、動きベクトルV1と動きベクトルV2との平均ベクトルをV(Δx、Δy)として求めても良い。
 ステップS604では、領域算出部105は、「現フレーム画像の取得時刻の次の取得時刻のフレーム画像における探索領域」の重心位置を(Xc+Δx,Yc+Δy)として求める。
 ステップS605では、領域算出部105は、「現フレーム画像の取得時刻の次の取得時刻のフレーム画像における探索領域」のサイズ(縦サイズおよび横サイズ)を決定する。例えば、領域算出部105は、事前に特定部位を囲む領域の1辺の長さに対して検出率が最大となる探索領域の1辺の長さLを求めておき、「現フレーム画像の取得時刻の次の取得時刻のフレーム画像における探索領域」のサイズを長さLに決定する。なお、「現フレーム画像の取得時刻の次の取得時刻のフレーム画像における探索領域」のサイズ(縦サイズおよび横サイズ)の決定方法は特定の決定方法に限らない。例えば、被写体の特定部位の動きを考慮し、該動きがより大きいほど、探索領域のサイズをより大きくするようにしてもよく、その場合、フレーム画像からの被写体や特定部位のロストを抑制することができる。
 このように、本実施形態では、フレーム画像から1度の検出処理で被写体の特定部位を検出し、該検出の後に該被写体の追尾を行う。これにより、従来技術のように、被写体の特定部位を検出するまでに複数回の検出処理または追尾処理の実行を行う場合と比べて、フレーム画像の取得から特定部位の検出結果を用いた別の処理を行うまでのレイテンシーを抑制することができる。このようにすることで、例えば、自動車が監視カメラの視界を通過する前に、特定部位であるナンバープレートへのAFやズームアップを高速に実行でき、特定部位の詳細をより正確に捉えることができるようになる。
 [第2の実施形態]
 本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、電子カメラで撮影される特定の人物を被写体とし、該人物の瞳を特定部位(第1の部位)として検出し、更に、該人物の瞳を内包する顔を第2の部位として検出するようなカメラシステムについて説明する。
 このようなカメラシステムにも、図1に示した構成を有する画像処理装置1が適用可能であるが、本実施形態では、部位検出部103および領域算出部105の動作が第1の実施形態と異なる。
 本実施形態に係る部位検出部103の動作について、図7のフローチャートに従って説明する。
 ステップS701では、部位検出部103は、領域抽出部102により抽出されたクロップ画像を取得する。図8Aは現フレーム画像801を示しており、図8Bは、現フレーム画像801から領域抽出部102により抽出されたクロップ画像802を示している。
 ステップS702では、部位検出部103は、クロップ画像における第1の部位および第2の部位の領域を推定する。本実施形態でも、第1の実施形態と同様に深層学習を用いて学習した学習モデルを用いる。
 深層学習を用いた方法では、第1の部位と第2の部位を含んだ画像と各部位の存在領域を表すアノテーションデータのペアの集合を学習データとして用意する。この学習データを用いて、畳み込み層などの多層からなるニューラルネットワークを事前に学習させた学習モデルを生成しておくことにより、未知の画像に対して第1の部位および第2の部位の存在領域(例えば位置とサイズ)を推定することができる。
 更に、ここではマルチタスク学習により、第1の部位と第2の部位を1つのニューラルネットワークモデルで学習する。この学習方法では、1つの部位を推定するときと同等の処理速度で複数の部位を推定することができる。
 本実施形態では、部位検出部103はステップS702において、このようにして事前に生成した学習モデルを用いて、第1の部位および第2の部位のそれぞれに対応する尤度マップを出力する。図8Cにおいて尤度マップ803は、上記の学習モデルに上記のクロップ画像802を入力することで該学習モデルから得られる第1の部位の尤度マップである。また、尤度マップ804は、上記の学習モデルに上記のクロップ画像802を入力することで該学習モデルから得られる第2の部位の尤度マップである。
 尤度マップ803における位置(x、y)のブロックには、クロップ画像802における位置(x、y)の領域における「第1の部位が存在する確からしさ(尤度)」が格納されている。また尤度マップ804における位置(x、y)のブロックには、クロップ画像802における位置(x、y)の領域における「第2の部位が存在する確からしさ(尤度)」が格納されている。図8Cでは、尤度の高低を濃淡で示している。
 ステップS703では、部位検出部103は、第1の部位に対応する尤度マップに対して第1の実施形態と同様のフィルタリング処理を行う。図8Dは、尤度マップ803に対してフィルタリング処理を行ったことで得られるフィルタリング処理済み尤度マップ805を示している。つまり、取得時刻t=(T-1)のフレーム画像に対応する第2の部位の尤度マップから尤度の重心位置と分散を計算し、該重心位置を中心として該分散に応じたサイズの範囲外をフィルタリングするためのガウシアンフィルタを生成する。そして、取得時刻t=Tのフレーム画像に対応する第1の部位の尤度マップとガウシアンフィルタとの積を取ることにより、第1の部位以外の領域がフィルタリングされたフィルタリング処理済み尤度マップを生成する。
 このとき、顔の中心と瞳がほぼ同じ位置にあるため、第2の部位に対応する尤度マップからガウシアンフィルタを生成することが有効である。図8Dは、そのようにしてフィルタリング処理を適用した後の尤度マップ805を示している。
 ステップS704では、部位検出部103は、ステップS703で求めたフィルタリング処理済み尤度マップに対して、例えば、NMS(Non-maximum Suppression)アルゴリズムを適用して、最大の尤度の領域から順に最大で2つ選び、該選んだ領域に対応するクロップ画像中の領域を「クロップ画像における第1の部位の領域」として決定する。図8Eは、クロップ画像802における第1の部位の領域806を示している。
 ステップS705では、部位検出部103は、ステップS704で特定した「クロップ画像における第1の部位の領域」を「第1の部位の検出領域」(第1の部位の検出結果)として出力する。したがって、本実施形態においても、第1の実施形態と同等の処理量で、被写体の特定部位を検出することができる。
 ステップS706では、部位検出部103は、第2の部位に対応する尤度マップに対して第1の実施形態と同様のフィルタリング処理を行う。図8Fは、尤度マップ804に対してフィルタリング処理を行ったことで得られるフィルタリング処理済み尤度マップ807を示している。このとき用いるガウシアンフィルタは、ステップS703において用いたガウシアンフィルタと同じである。そして、取得時刻t=Tのフレーム画像に対応する第2の尤度マップとガウシアンフィルタとの積を取ることにより、第2の部位以外の領域がフィルタリングされたフィルタリング処理済み尤度マップを生成する。
 ステップS707では、部位検出部103は、ステップS706で求めたフィルタリング処理済み尤度マップに対して、例えば、NMS(Non-maximum Suppression)アルゴリズムを適用して、最大の尤度の領域を選び、該選んだ領域に対応するクロップ画像中の領域を「クロップ画像における第2の部位の領域」として決定する。図8Gは、クロップ画像802における第2の部位の領域808を示している。
 ステップS708では、部位検出部103は、ステップS707で特定した「クロップ画像における第2の部位の領域」を「第2の部位の検出領域」(第2の部位の検出結果)として出力する。
 なお、ステップS703~S705の一連の処理と、ステップS706~S708の一連の処理と、は並列して行っても良い。これにより、顔の検出も瞳と同様にレイテンシーを抑制して行うことができる。更に、瞳の検出結果よりも先に顔の検出結果が存在する場合は、顔を囲む領域の外側に存在する瞳の検出結果を除去することにより、誤検知を抑制することもできる。
 次に、領域算出部105の動作について、図9のフローチャートに従って説明する。図9において、図6に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
 ステップS902では、領域算出部105は、ステップS708で出力された「第2の部位の検出領域」を取得する。そしてステップS903では、領域算出部105は、「第2の部位の検出領域」の重心位置(Xc,Yc)を求める。以降は、図6のフローチャートと同様である。
 第2の部位は第1の部位を内包するため、第1の部位よりも精度良く検出しやすく、被写体の追尾結果よりも特定部位の動きが捉えやすいため、その重心や動きの精度が安定する。したがって、次の取得時刻におけるフレーム画像における探索領域は第1の実施形態よりも安定して設定することができ、特定部位の検出精度が上がる。
 このように、本実施形態によれば、フレーム画像を取得してすぐに1度の検出処理で被写体の第1の部位および該第1の部位を内包する第2の部位を検出し、その整合性を利用することにより、特定部位の検出率が向上する。これにより、第1の実施形態と同様にフレーム画像を取得してから被写体の特定部位を検出するまでのレイテンシーが抑制されながらも、より精度良く被写体の瞳を検出することができる。
 [第3の実施形態]
 本実施形態では、第2の実施形態で検出した部位の検出状況に基づき、追尾処理を実行するか否かを判断するシステムについて説明する。本実施形態に係るシステムによれば、全体の検出処理が速くなり、追尾処理に係る計算負荷を軽減することができる。
 本実施形態に係るシステムにおける画像処理装置10の機能構成例について、図10のブロック図を用いて説明する。画像処理装置10は、上記の画像処理装置1に判断部1001を加えたものである。判断部1001の動作について、図11のフローチャートに従って説明する。
 ステップS1101では、判断部1001は、部位検出部103により検出された「第1の部位の検出領域」と「第2の部位の検出領域」とを取得する。ステップS1102では、判断部1001は、第2の部位の尤度マップから尤度スコアS2を取得する。尤度スコアS2は、例えば、第2の部位の尤度マップにおける最大の尤度であっても良いし、第2の部位の尤度マップにおける「第2の部位の検出領域」の重心位置近傍における尤度の平均値であっても良い。
 そして判断部1001は、尤度スコアS2が閾値以上であるか否かを判断する。この判断の結果、尤度スコアS2が閾値以上(第2の部位の尤度マップにおける該第2の部位の確度が高い)であれば、処理はステップS1103に進む。一方、尤度スコアS2が閾値未満(第2の部位の尤度マップにおける該第2の部位の確度が低い)であれば、処理はステップS1105に進む。
 ステップS1103では、判断部1001は、第1の部位の尤度マップから尤度スコアS1を取得する。尤度スコアS1は、例えば、第1の部位の尤度マップにおける最大の尤度であっても良いし、第1の部位の尤度マップにおける「第1の部位の検出領域」の重心位置近傍における尤度の平均値であっても良い。
 そして判断部1001は、尤度スコアS1が閾値以上であるか否かを判断する。この判断の結果、尤度スコアS1が閾値以上(第1の部位の尤度マップにおける該第1の部位の確度が高い)であれば、処理はステップS1104に進む。一方、尤度スコアS1が閾値未満(第1の部位の尤度マップにおける該第1の部位の確度が低い)であれば、処理はステップS1105に進む。
 ステップS1104では、判断部1001は、第2の部位の尤度マップにおいて、第2の部位の重心位置から「一定値以上の尤度を示す位置」までの距離の分散σを求める。この分散σが閾値以下であれば、処理はステップS1106に進み、分散σが閾値よりも大きい場合には、処理はステップS1105に進む。
 この判断処理は、尤度マップに複数の被写体が含まれる場合は分散σが大きくなる傾向が見られるため、正しく検出できたとしても次のフレーム画像では他の被写体に誤検知されやすい可能性があることを考慮に入れている。逆に、分散σが小さい場合は周辺に被写体以外が映っていないため、特定部位の検出が容易な状態であると解釈することができる。
 ステップS1105では、判断部1001は、追尾処理は必要であると判断し、その旨を追尾部104に通知する。一方、ステップS1106では、判断部1001は、追尾処理は不要と判断し、その旨を追尾部104に通知する。
 追尾部104は、判断部1001から追尾処理が必要である旨を受けた場合には追尾処理を行い、追尾処理は不要である旨を受けた場合には追尾処理は行わない。なお、追尾部104が追尾処理を行っていない間は、領域算出部105は、最近に領域抽出部102に出力した探索領域を該領域抽出部102に出力し続ける。
 このように、本実施形態によれば、検出結果が不安定になると判断される場合に追尾処理を実行するため、処理速度が向上するとともに、画像処理装置10における計算負荷を軽減することができる。
 [第4の実施形態]
 図1,10に示した各機能部はハードウェアで実装しても良いし、ソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、該コンピュータプログラムを実行可能なコンピュータ装置は、上記の画像処理装置1や画像処理装置10に適用可能である。
 このようなコンピュータ装置のハードウェア構成例について、図12のブロック図を用いて説明する。なお、図12に示したハードウェア構成は、画像処理装置1や画像処理装置10に適用可能なコンピュータ装置のハードウェア構成の一例であり、適宜変形/変更が可能である。
 CPU1201は、RAM1202やROM1203に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU1201は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置1や画像処理装置10が行うものとして説明した上記の各処理を実行もしくは制御する。
 RAM1202は、ROM1203や記憶装置1206からロードされたコンピュータプログラムやデータを格納するためのエリア、I/F1207を介して外部から受信したデータを格納するためのエリア、を有する。さらにRAM1202は、CPU1201が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM1202は各種のエリアを適宜提供することができる。
 ROM1203には、コンピュータ装置の設定データ、コンピュータ装置の起動に係るコンピュータプログラムやデータ、コンピュータ装置の基本動作に係るコンピュータプログラムやデータ、などが格納されている。
 操作部1204は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで各種の指示をCPU1201に対して入力することができる。
 表示部1205は、液晶画面やタッチパネル画面を有する装置であり、CPU1201による処理結果を画像や文字などでもって表示することができる。例えば、表示部1205には、フレーム画像や、該フレーム画像における被写体や特定部位(第1の部位や第2の部位)を明示的にユーザに通知するための表示アイテムを表示することができる。また、表示部1205は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
 記憶装置1206は、ハードディスクドライブ装置などの不揮発性メモリである。記憶装置1206には、OS、画像処理装置1/10が行うものとして上述した各処理をCPU1201に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。記憶装置1206に保存されているコンピュータプログラムやデータは、CPU1201による制御に従って適宜RAM1202にロードされ、CPU1201による処理対象となる。
 I/F1207は、外部とのデータ通信を行うための通信インターフェースであり、例えば、上記の監視カメラや電子カメラなどの撮像装置によって撮像されたフレーム画像はI/F1207を介してRAM1202や記憶装置1206に格納される。
 上記のCPU1201、RAM1202、ROM1203、操作部1204、表示部1205、記憶装置1206、I/F1207は何れもシステムバス1208に接続されている。
 なお、上記の各実施形態では、フレーム画像を撮像する撮像装置(監視カメラ、電子カメラなど)と画像処理装置1/10とは別個の装置としていた。しかし、該撮像装置と該画像処理装置1/10とを一体化させて1台の装置(撮像機能付きの画像処理装置)を構成しても良い。
 また、領域算出部105は、取得時刻t=1のフレーム画像における追尾処理の結果(被写体を囲む矩形領域)を拡大率Rに従って拡大した拡大領域を「取得時刻t=2のフレーム画像における探索領域」として生成するようにしても良い。拡大率Rは、例えば、被写体の移動速度が高いほど大きくする。そして上記のステップS602では、領域算出部105は、現フレーム画像が取得時刻t=2以降の取得時刻のフレーム画像である場合は、該現フレーム画像について領域算出部105が算出した探索領域の重心位置(Xc,Yc)を求める。
 また、上記の各実施形態で使用した数値、処理タイミング、処理順、データ(情報)の送信先/送信元などは、具体的な説明を行うために一例として挙げたものであり、このような一例に限定することを意図したものではない。
 また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
 (その他の実施例)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
 本願は、2020年11月9日提出の日本国特許出願特願2020-186749を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
 1:画像処理装置 101:初期位置検出部 102:領域抽出部 103:部位検出部 104:追尾部 105:領域算出部

Claims (12)

  1.  第1フレーム画像における探索領域から被写体を検出する前に該被写体の特定部位を検出する検出手段と、
     前記検出手段による前記特定部位の検出の後、前記第1フレーム画像における前記被写体の追尾処理を行う処理手段と
     を備えることを特徴とする画像処理装置。
  2.  前記検出手段は、前記第1フレーム画像における探索領域内の画像をクロップ画像として取得し、該クロップ画像における前記特定部位の尤度マップを生成し、該生成した尤度マップに基づいて前記特定部位を検出することを特徴とする請求項1に記載の画像処理装置。
  3.  前記検出手段は、前記尤度マップにおいて前記特定部位以外の領域がフィルタリングされたフィルタリング処理済み尤度マップに基づいて前記特定部位を検出することを特徴とする請求項2に記載の画像処理装置。
  4.  更に、
     前記第1フレーム画像における探索領域と、前記第1フレーム画像に先行するフレーム画像における追尾処理の結果と、前記第1フレーム画像における追尾処理の結果と、に基づいて、前記第1フレーム画像に後続する第2フレーム画像における探索領域を求める手段を備えることを特徴とする請求項1ないし3の何れか1項に記載の画像処理装置。
  5.  前記特定部位は、第1の部位と、該第1の部位を内包する第2の部位と、を含み、
     前記検出手段は、前記第1フレーム画像における探索領域内の画像をクロップ画像として取得し、該クロップ画像における前記第1の部位の尤度マップに基づいて前記第1の部位を検出し、該クロップ画像における前記第2の部位の尤度マップに基づいて前記第2の部位を検出することを特徴とする請求項1に記載の画像処理装置。
  6.  前記検出手段は、前記第1の部位の尤度マップにおいて該第1の部位以外の領域がフィルタリングされたフィルタリング処理済み尤度マップに基づいて前記第1の部位を検出し、前記第2の部位の尤度マップにおいて該第2の部位以外の領域がフィルタリングされたフィルタリング処理済み尤度マップに基づいて前記第2の部位を検出することを特徴とする請求項5に記載の画像処理装置。
  7.  更に、
     前記第1フレーム画像における前記第2の部位の領域と、前記第1フレーム画像に先行するフレーム画像における追尾処理の結果と、前記第1フレーム画像における追尾処理の結果と、に基づいて、前記第1フレーム画像に後続する第2フレーム画像における探索領域を求める手段を備えることを特徴とする請求項5または6に記載の画像処理装置。
  8.  更に、
     前記第1の部位の尤度マップと前記第2の部位の尤度マップとに基づいて前記追尾処理を行うか否かを判断する手段を備えることを特徴とする請求項5ないし7の何れか1項に記載の画像処理装置。
  9.  更に、
     撮像装置により撮像されたフレーム画像を取得する手段を備えることを特徴とする請求項1ないし8の何れか1項に記載の画像処理装置。
  10.  前記検出手段は、前記第1フレーム画像における探索領域から検出した被写体の特定部位もしくは該特定部位の特徴量を前記撮像装置に送信して該撮像装置に該特定部位に対するAF処理および/またはズーム処理を行わせることを特徴とする請求項9に記載の画像処理装置。
  11.  画像処理装置が行う画像処理方法であって、
     前記画像処理装置の検出手段が、第1フレーム画像における探索領域から被写体を検出する前に該被写体の特定部位を検出する検出工程と、
     前記画像処理装置の処理手段が、前記検出工程による前記特定部位の検出の後、前記第1フレーム画像における前記被写体の追尾処理を行う処理工程と
     を備えることを特徴とする画像処理方法。
  12.  コンピュータを、請求項1ないし10の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
PCT/JP2021/038880 2020-11-09 2021-10-21 画像処理装置、画像処理方法 WO2022097489A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/180,166 US20230222672A1 (en) 2020-11-09 2023-03-08 Image processing apparatus, image processing method, and non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-186749 2020-11-09
JP2020186749A JP2022076369A (ja) 2020-11-09 2020-11-09 画像処理装置、画像処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/180,166 Continuation US20230222672A1 (en) 2020-11-09 2023-03-08 Image processing apparatus, image processing method, and non-transitory computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2022097489A1 true WO2022097489A1 (ja) 2022-05-12

Family

ID=81457889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/038880 WO2022097489A1 (ja) 2020-11-09 2021-10-21 画像処理装置、画像処理方法

Country Status (3)

Country Link
US (1) US20230222672A1 (ja)
JP (1) JP2022076369A (ja)
WO (1) WO2022097489A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009212637A (ja) * 2008-03-03 2009-09-17 Sanyo Electric Co Ltd 撮像装置
JP2012138013A (ja) * 2010-12-27 2012-07-19 Canon Inc 追尾装置およびその制御方法
JP2017212581A (ja) * 2016-05-25 2017-11-30 キヤノン株式会社 追尾装置、追尾方法及びプログラム
JP2020043544A (ja) * 2018-09-13 2020-03-19 キヤノン株式会社 撮像装置およびその制御方法、プログラムならびに記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009212637A (ja) * 2008-03-03 2009-09-17 Sanyo Electric Co Ltd 撮像装置
JP2012138013A (ja) * 2010-12-27 2012-07-19 Canon Inc 追尾装置およびその制御方法
JP2017212581A (ja) * 2016-05-25 2017-11-30 キヤノン株式会社 追尾装置、追尾方法及びプログラム
JP2020043544A (ja) * 2018-09-13 2020-03-19 キヤノン株式会社 撮像装置およびその制御方法、プログラムならびに記憶媒体

Also Published As

Publication number Publication date
JP2022076369A (ja) 2022-05-19
US20230222672A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
AU2016352215B2 (en) Method and device for tracking location of human face, and electronic equipment
JP6141079B2 (ja) 画像処理システム、画像処理装置、それらの制御方法、及びプログラム
EP2309454B1 (en) Apparatus and method for detecting motion
JP2018508078A (ja) オブジェクト追跡のためのシステムおよび方法
JP6617085B2 (ja) 物体状況推定システム、物体状況推定装置、物体状況推定方法、及び物体状況推定プログラム
CN115315679A (zh) 在多用户环境中使用手势来控制设备的方法和系统
JP2016085487A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
KR20160020498A (ko) 트랙커 보조 이미지 캡쳐
US11070729B2 (en) Image processing apparatus capable of detecting moving objects, control method thereof, and image capture apparatus
JP2019186955A (ja) 情報処理システム、情報処理方法及びプログラム
KR20150067680A (ko) 차량용 제스처 인식 시스템 및 그 방법
JP7438684B2 (ja) 画像処理装置、画像処理方法、及びプログラム
CN109543534B (zh) 一种目标跟踪中目标丢失重检的方法及装置
EP3757878A1 (en) Head pose estimation
JP2018025988A (ja) 画像処理プログラム、画像処理方法および画像処理装置
JP7104611B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20210256713A1 (en) Image processing apparatus and image processing method
JP2006259847A (ja) 自動追尾装置及び自動追尾方法
JP6798609B2 (ja) 映像解析装置、映像解析方法およびプログラム
WO2022097489A1 (ja) 画像処理装置、画像処理方法
JP2007510994A (ja) ビデオ画像内でのオブジェクトトラッキング
US10880457B2 (en) Image processing apparatus, image capturing apparatus, image processing method, and storage medium
JP2018151685A (ja) 動き量算出プログラム、動き量算出方法、動き量算出装置及び業務支援システム
CN106960203B (zh) 一种面部特征点跟踪方法及系统
US11451705B2 (en) Imaging control apparatus, imaging control method, and storage medium

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

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

Country of ref document: EP

Kind code of ref document: A1