WO2019180917A1 - オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム - Google Patents

オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム Download PDF

Info

Publication number
WO2019180917A1
WO2019180917A1 PCT/JP2018/011705 JP2018011705W WO2019180917A1 WO 2019180917 A1 WO2019180917 A1 WO 2019180917A1 JP 2018011705 W JP2018011705 W JP 2018011705W WO 2019180917 A1 WO2019180917 A1 WO 2019180917A1
Authority
WO
WIPO (PCT)
Prior art keywords
tracking
detection
result
image
unit
Prior art date
Application number
PCT/JP2018/011705
Other languages
English (en)
French (fr)
Inventor
達勇 秋山
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2020507247A priority Critical patent/JP6943333B2/ja
Priority to US16/980,531 priority patent/US11494922B2/en
Priority to PCT/JP2018/011705 priority patent/WO2019180917A1/ja
Publication of WO2019180917A1 publication Critical patent/WO2019180917A1/ja

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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to an object tracking device, an object tracking method, and an object tracking program.
  • Patent Document 1 discloses a tracking device and a tracking system.
  • the tracking device includes high-precision tracking means, high-speed tracking means, correction means, and tracking target specifying means. If there is a difference between the tracking result at the past time obtained by the high-precision tracking means and the tracking result of the high-speed tracking means at the past time, the correction means will track the tracking result of the high-speed tracking means with high precision. The tracking result of the means is corrected, and the tracking process is performed again until the current time.
  • a high-precision tracking unit and a high-speed tracking unit are operated in parallel.
  • Patent Document 2 discloses a high-accuracy image recognition apparatus that detects and tracks a person or an object from video captured by a camera.
  • the object is detected based on the likelihood including the object for each partial region of the target image in the moving image, and the detected position of the object is output in combination with the tracking position of the object.
  • Patent Document 3 discloses an object tracking device that can correctly track an object even when mutual occlusion occurs between a plurality of objects in a moving image captured by a camera.
  • a plurality of overlapping objects are containerized (ie, This is managed in units of a set of objects associated between frames.
  • a container is created when an overlapping portion is generated between a plurality of independently tracked objects, and the object is detached from the container when the overlapping between objects is resolved.
  • Non-Patent Document 1 to Non-Patent Document 3 can be cited as methods for detecting an object in an image.
  • These non-patent documents disclose a technique for determining a region and a type in which an object exists by learning a neural network in advance.
  • Non-Patent Document 1 discloses a real-time object detection method using Faster R-CNN (Regional-based Convolutional Neural Network).
  • Non-Patent Document 2 discloses a real-time object detection system called YOLO (You Only Look Once) 9000. YOLO 9000 can detect 9000 or more object categories (or object classes).
  • Non-Patent Document 3 discloses an SSD (Single Shot Detector) as an object detection method using a single deep neural network.
  • Non-patent document 4 and non-patent document 5 can be cited as methods for tracking an object in an image.
  • Non-Patent Document 4 describes the object area image by using the object detection / tracking method (Kernerized Structure Output Support Machine) for visual object tracking in human computer interaction, surveillance, augmented reality, etc.
  • object detection / tracking method Kernelized Structure Output Support Machine
  • a technique for tracking an object with high accuracy even when the appearance of the object changes is disclosed.
  • the number of support vectors is managed by a mechanism called Budget Maintenance, an object can be tracked relatively quickly.
  • Non-Patent Document 5 discloses an object tracking method called ArtTrack (Articulated Multi-person Tracking), and discloses a technique for tracking an object with high accuracy even when there is partial concealment in an object related to a person. is doing. Specifically, the position of the object in the video is tracked by detecting the parts constituting the object and integrating the parts using a spatiotemporal model.
  • ArtTrack Articleated Multi-person Tracking
  • An object of the present invention is to provide an object tracking device, an object tracking method, and an object tracking program that solve the above-described problems.
  • a first aspect of the present invention relates to an object tracking apparatus, and relates to an image buffer for storing a plurality of images included in a video, and detection for detecting an object position by executing detection processing on an object appearing in the plurality of images.
  • a tracking unit that performs tracking processing based on the detection result of the detection process and tracks an object between a plurality of images, and integrates the detection result of the detection process and the tracking result of the tracking process to integrate the object position
  • a controller that determines a range of a plurality of images in the video based on the execution timing or end timing of the detection process, and executes the detection process and the tracking process in parallel.
  • a second aspect of the present invention relates to an object tracking method, and performs detection processing on an object shown in a plurality of images included in a video, detects an object position, and performs tracking processing based on a detection result of the detection processing.
  • To track the object between multiple images integrate the detection result of the detection process and the tracking result of the tracking process, calculate the integrated object position, and detect the range of multiple images in the video It is determined based on the execution timing or the end timing, and the detection process and the tracking process are executed in parallel.
  • a third aspect of the present invention relates to an object tracking program, and performs detection processing on an object shown in a plurality of images included in a video, detects an object position, and performs tracking processing based on a detection result of the detection processing.
  • To track the object between multiple images integrate the detection result of the detection process and the tracking result of the tracking process, calculate the integrated object position, and detect the range of multiple images in the video It is determined based on the execution timing or the end timing, and the detection process and the tracking process are executed in parallel.
  • the object tracking device and the object tracking method according to the present invention can detect and track an object with high computational efficiency and high accuracy by executing object detection processing and object tracking processing in parallel.
  • FIG. 16 shows the configuration of a general computer apparatus for carrying out the present invention, and the object tracking process is executed by a software program operating on the computer.
  • the hardware configuration of the object tracking device 1 shown in FIG. 16 includes a processor (for example, CPU) 2 that operates under program control, a storage unit 3 that stores software programs and data necessary for object tracking processing, data and calculation results.
  • An input / output unit 4 for inputting / outputting and an imaging unit 5 for capturing video are provided.
  • the object tracking device 1 may include at least one of the input / output unit 4 and the imaging unit 5.
  • the input / output unit 4 that inputs and outputs video stored in the external storage device of the object tracking device 1 may be provided.
  • the imaging unit 5 may be configured with a general camera, and the input / output unit 4 may input a video imaged by the imaging unit 5.
  • FIG. 1 shows a configuration of an object tracking apparatus 100 according to the first embodiment of the present invention.
  • the object tracking apparatus 100 includes a control unit 101, a detection unit 102, an image buffer 103, a tracking unit 104, and an integration unit 105. It has.
  • the control unit 101 controls the detection unit 102, the image buffer 103, the tracking unit 104, and the integration unit 105. Under the control of the control unit 101, the detection unit 102 and the tracking unit 104 can be operated in parallel, and the tracking unit 104 inputs information on the object detection position detected by the detection unit 102, so that at least only around the object detection region It is possible to track an object by searching for. Details of the control processing of the control unit 101 will be described later in the description of the operation of the object tracking apparatus 100.
  • the detection unit 102 detects an area where an object to be tracked exists (that is, an object detection area) from a frame image cut out from a video photographed by a camera or the like.
  • an object detection area an area where an object to be tracked exists
  • a known detection method may be applied to the processing of the detection unit 102.
  • the object detection method described in Non-Patent Document 1 to Non-Patent Document 4 can be used, but is not limited thereto. It is not a thing. In the following description, an example in which a sliding window is used as an object detection method will be described.
  • the image buffer 103 stores at least one frame image of the object tracking video.
  • the tracking unit 104 inputs the frame image stored in the image buffer 103.
  • the image buffer 103 has a function of managing frame images in an order determined by a predetermined condition, and can manage the order of a plurality of frame images. In the following description, the image buffer 103 stores a plurality of frame images in order from oldest to newest, but the present invention is not limited to this.
  • the image buffer 103 adds a flag for grouping image columns related to the objects tracked by the tracking unit 104. An image sequence from an image captured before in time and having a flag turned on to an image having the flag turned on next is a unit for the tracking unit 104 to perform tracking processing.
  • the tracking unit 104 receives the object detection position detected by the detection unit 102 and the frame image stored in the image buffer 103, and converts the object existing in the object detection position / region in the past frame image to the object region of the frame image.
  • the object is tracked by associating with.
  • the tracking unit 104 may adopt a known tracking method. For example, a time direction of a detection result by a corner detection method described in Patent Document 1 (for example, a method of extracting feature points near the contour of a human image) The feature point association may be used. Alternatively, an object search method in an image using a rectangular area in a past frame image as a key may be used.
  • the latter tracking method can be used to track the object more accurately. it can.
  • the tracking process will be described by taking the latter method as an example.
  • the integration unit 105 integrates the object detection area detected by the detection unit 102 and the object tracking area calculated by the tracking unit 104.
  • the object detection result and the tracking result may be simply used, or an area obtained by integrating the two may be calculated.
  • an integrated object region hereinafter referred to as an integrated object region
  • object detection areas and object tracking areas that are not associated with each other may be integrated object areas.
  • the image is temporarily stored in the image buffer 103, and after the object detection process in the frame image is completed by the detection unit 103, the frame image and the object detection result are input to the tracking unit 104. Thereby, the detection part 103 and the tracking part 104 can be operated in parallel.
  • processing (S1031, S1032) for storing an image input to the object tracking device 100 in the image buffer 103, object detection processing (S1021, S1022, S1012) by the detection unit 102, and tracking unit 104 An example in which the object tracking processes (S1041, S1042, and S1011) are operated in parallel will be described.
  • the process of storing the image input to the object tracking apparatus 100 in the image buffer 103 includes an image storage determination (S1031), an image storage process (S1032), and an overall process end determination (S1012).
  • the control unit 101 determines whether to store an image (S1031). Specifically, when a frame image is input to the object tracking apparatus 100 for an image captured by a camera or the like and the frame image is not stored in the image buffer 103, “YES” is determined, and an unstored frame image is determined. If the image buffer 103 does not exist, “NO” is determined. Thereafter, the control unit 101 stores the frame images in the image buffer 103 in a predetermined order (S1032).
  • the control unit 101 determines whether or not the detection end flag is turned on (S1033).
  • the detection end flag indicates whether the previous object detection process by the detection unit 102 has ended.
  • an identifier image identifier
  • the control unit 101 turns off the detection end flag (S1034). It is assumed that the detection end flag is initialized to ON when the entire operation of the object tracking apparatus 100 is started.
  • the above-described steps S1033 and S1034 are intended to specify an image to be an object detection target, and the image identifier may be stored in a different processing procedure.
  • the average processing time of the object detection processing per image is calculated based on the time history related to the object detection processing, and the image stored after the average processing time elapses from the image with the most recent image identifier. It may be detected. Specifically, if it takes a long time for the object detection process and the detection end flag does not turn on for a while, instead of storing the image identifier given to the image at the timing when the detection end flag is turned on, The image identifier may be stored for an image after the average processing time has elapsed from the image to which the image identifier is assigned. Thereby, it can suppress that the time interval between the images which perform an object detection process varies.
  • control unit 101 determines whether or not to end the entire process (S1012).
  • the object detection process (S1022, S1023), the object tracking process (S1042), and the result integration process (S1051) are not executed, and there is no object detection target image or object tracking target image sequence.
  • the control unit 101 ends the entire process of the object tracking device 100.
  • the detection unit 102 determines whether to start the object detection process (S1021). If the image specified by the image identifier (S1034) stored in the image buffer 103 exists and the object detection process is not executed, the determination result in S1021 is “YES”, and the detection unit 102 is temporally Object detection processing is performed on the oldest image (S1022). Details of the object detection process (S1022) will be described later. After the end of the object detection process, the detection unit 102 turns on the detection end flag and stores the object detection result (S1023). When the determination result in S1021 is “NO”, the object detection process is skipped and the process returns to the object detection process start determination (S1021).
  • FIG. 3 shows the relationship between the image and the image identifier.
  • N + 1 frame images are stored in the image buffer 103, and an image identifier for designating the first frame and an image identifier for designating the Nth frame are stored.
  • An image designated by the image identifier is indicated by a white circle, and other images are indicated by black circles.
  • the tracking unit 104 determines whether to start the object tracking process (S1041). As shown in FIG. 3, when the object tracking process is not started for an image specified by two image identifiers and a sequence (hereinafter, referred to as a tracking image sequence) composed of images existing therebetween, the tracking unit 104 Then, it is determined that the object tracking process is to be performed (determination result “YES” in S1041). As a result, the tracking unit 104 executes an object tracking process described later (S1042).
  • a sequence of N images corresponding to frame 1 to frame N is a tracking image sequence.
  • a tracking image group obtained by extracting a part of the images of the tracking image sequence may be set as the tracking target.
  • the tracking processing start determination is performed again (S1041), and the tracking unit 104 waits for generation of a tracking image sequence.
  • the image identifier assigned to the first image in the tracking image sequence may be deleted.
  • the image identifier may be deleted by excluding the image included in another tracking image sequence from the image included in the tracking image sequence.
  • the integration unit 105 performs integration processing for integrating the detection result by the detection unit 102 and the tracking result by the tracking unit 104 (S1051). If the detection result for the last image in the tracking image sequence is not obtained, the start of the integration process (S1051) is waited until the detection result is obtained.
  • a specific example of the integration process (S1051) will be described later together with specific examples of the detection process (S1022) and the tracking process (S1042).
  • FIG. 4 is a sequence diagram conceptually showing the relationship between detection processing, tracking processing, integration processing, and control processing related to an object.
  • FIG. 4 shows the passage of time from the top to the bottom, and shows the execution timing of each process and its relationship.
  • a detection image is designated (S1033)
  • detection processing is started (S1034, S1021), and detection processing (S1022) is performed.
  • the detection image is designated again (S1033), and the detection process is performed (S1022).
  • a tracking image group (a tracking image sequence determined in S1033 or a part of an image group extracted from the tracking image sequence) is designated, a tracking process (S1042) is performed.
  • an integration process (S1051) is executed. Thereafter, detection image designation, detection processing, tracking image group designation, tracking processing, and integration processing are repeatedly executed.
  • the detection end determination is performed using the detection end flag.
  • the control unit 101, the detection unit 102, the tracking unit 104, and the integration unit 105 may mutually signal the start timing and end timing of each process as shown in FIG. It may be.
  • FIG. 5 is a flowchart illustrating an example of the detection process (S1022).
  • the detection unit 102 sets a detection region in the image (detection region setting processing S10221), extracts an image feature from the detection region (detection feature extraction processing S10222), and compares the image feature with the feature calculated from the template. Then, the object detection score for the detection area is calculated (detection area collation processing S10223).
  • the image feature extracted from the detection region may be a known type of feature, for example, a brightness value or a brightness gradient.
  • the score calculation related to the object detection may adopt a known calculation method, for example, a norm or inner product of two vectors.
  • the region setting in the image is performed by performing raster scanning (sliding window) on the region corresponding to the template in the image until the detection region matching process is performed on all the template corresponding regions assumed in the image.
  • the process of S10223 is repeated.
  • the detection unit 102 performs a final detection determination (S10224). Specifically, an area where the object detection score is a predetermined value or more is finally determined as an object area.
  • an object detection score in an area where an object is present in the image, there may be a relatively high object detection score in an area slightly shifted from that area, so in addition to comparison with the threshold value of the object detection score, A region having a higher object detection score may be finally determined as an object region.
  • an image including a plurality of objects is not necessarily limited to one template.
  • the object matching score may be obtained for all combinations of the template equivalent region and the template.
  • the final detection determination may be performed using the maximum score value for the template type.
  • a known detection method can be employed as the detection process. For example, the detection methods described in Non-Patent Document 1 to Non-Patent Document 4 may be used.
  • the tracking unit 104 performs tracking processing (S1042) on the first image of the tracking image sequence, and is determined by the object position obtained by the integration processing (S1051) or as a result of the previous tracking.
  • the object existing at the object position is tracked to the last image in the tracking image sequence. Since the last image in the tracking image sequence is the first image in the next tracking image sequence, the result of tracking the image sequence up to the tracking image sequence is input.
  • FIG. 6 is a flowchart showing an example of the tracking process (S1042).
  • the tracking unit 104 sets a tracking region in the image (tracking region setting processing S10421), extracts an image feature from the tracking region (tracking feature extraction processing S10422), and calculates the image feature from the feature calculated from the template.
  • the object tracking score for the tracking region is calculated (tracking region matching process S10423).
  • the tracking unit 104 repeats these processes.
  • an image of an object position (or object area) before starting tracking may be used as a template, but the present invention is not limited to this.
  • the number of objects to be tracked is not limited to one, but a template for each object may be used when tracking a plurality of objects.
  • the tracking area in the image may be set so as to search for the object position obtained as a result of tracking in the previous image and its periphery.
  • an area around the object position obtained by the integration process (S1051) may be set instead of the object position obtained as a result of tracking.
  • the area around the object position obtained by the integration process (S1051) is set as the tracking area. You only have to set it.
  • a known method may be employed as an image feature extraction method or score calculation method, and the same image feature as that used in the above detection process may be used in the tracking process, or an image different from the detection process.
  • the tracking unit 104 After repeating the above-described processing (S10421 to S10423), the tracking unit 104 performs the tracking final determination (S10424) in the same manner as the detection final determination (S10224) described above.
  • an identifier object tracking ID
  • a new identifier may be added to an object that has not been a tracking target in the previous tracking process, and the identifier may be inherited according to the object to be tracked between the images.
  • a known method can be employed as the tracking process. For example, the tracking method disclosed in Non-Patent Document 4, Non-Patent Document 5, and Patent Document 3 may be used.
  • the integration process (S1051) integrates the object position obtained by the detection unit 102 and the object position obtained by the tracking unit 104 for the last image in the tracking image sequence.
  • FIG. 7 shows an example of an integration process that is executed on the first tracked image sequence when the entire process of the object tracking device 100 is started.
  • three images image 1 to image 3 are illustrated as the tracking image sequence, and the integration process is performed in the procedure indicated by the black arrows.
  • the result of the detection process (1) becomes the final determination result, and this is used as an input for the tracking process (2) for the image 2 and the tracking process for the image 3 (3) is performed.
  • the detection process (3) for the image 3 is performed.
  • the integration process integrates the result of the detection process (3) and the result of the tracking process (3).
  • Various methods are conceivable as a method for integrating the detection result and the tracking result. For example, the following integration methods (I), (II), and (III) can be considered.
  • FIG. 7 shows an example of the integration result by this integration method.
  • the detection process (1) two persons overlapping in front and rear are erroneously detected as one person. Since the image 2 and the image 3 are tracked in response to the erroneous detection result, two persons overlapping in front and back are continuously tracked.
  • the detection process (3) for the image 3 the area of the person positioned in front of the two persons overlapping in front and rear is correctly detected. According to this integration method, it is possible to obtain an effect of correcting the person area as a result while tracking the person.
  • the object position when the correspondence between the detection result and the tracking result is established may be either the object position based on the detection result or the object position of the tracking result. In this case, both the effect of correcting the person area described in (I) and the effect of correcting the detection omission described in (II) can be obtained.
  • a new identifier ID may be added to a detection result that does not have a corresponding relationship with the tracking result in the integration process (S1051).
  • FIG. 8 shows another example of the integration result by the integration method (I).
  • three images image 1 to image 3) are used as a tracking image sequence.
  • the detection process (1) for the image two persons overlapping before and after are erroneously detected as one person (see image identifier id1).
  • the tracking process (2) and the tracking process (3) are performed on the image 2 and the image 3, but the two persons overlapped before and after are erroneously tracked as one person. is doing.
  • the detection process (3) for the image 3 each of the two persons overlapping in front and back is correctly detected as a person area.
  • the tracking processing for the next tracking image sequence is performed.
  • control unit 101 and the image buffer 103 are provided in order to perform the object tracking process using the result of the object detection process and to enable the parallel operation of both.
  • the object detection processing and the object tracking processing can be performed in parallel, and the calculation efficiency of the object tracking processing is increased. be able to.
  • the object tracking result can be corrected using the object detection result, and the entire processing of the object tracking device 100 can be executed with high accuracy.
  • the object tracking position (object tracking area) can be corrected using the object detection result.
  • the configuration and operation of the object tracking apparatus 100 according to the second embodiment of the present invention will be described in detail with reference to FIGS.
  • the second embodiment has an object of distinguishing objects appearing in a video by adding a collation unit that can specify the type of object as compared with the first embodiment.
  • the same configurations and operations as those in the first embodiment are omitted, and differences between the first embodiment and the second embodiment will be described.
  • FIG. 9 shows a configuration of the object tracking apparatus 100 according to the second embodiment of the present invention, which includes a control unit 201, a detection unit 102, an image buffer 103, a tracking unit 104, an integration unit 205, and a collation unit 206.
  • the detection unit 102, the image buffer 103, and the tracking unit 104 are the same as those in the first embodiment, the description thereof is omitted.
  • the tracking unit 104 can manage an identifier (ID) that specifies the type of the object in addition to the position of the object by the above-described method.
  • the integration unit 205 has a function of integrating an identifier (ID) that identifies the type of object in addition to the function of the integration unit 105 of the first embodiment.
  • the collation unit 206 identifies the type of the object using a template prepared in advance for each type of object related to the detection target.
  • the template used by the collation unit 206 is prepared for each individual, while the template used by the detection unit 102 is generally prepared for detecting a person.
  • An identifier indicating the type of an object for example, a person
  • ID object type identifier
  • the collation processing by the collation unit 206 can be executed for any input area.
  • the object position (area) obtained by the detection process the object position (area) obtained by the tracking process, and the both are integrated.
  • the collation process can be executed on the object position. In the following description, it is assumed that the collation process is performed on the object position (region) obtained by the detection process.
  • the object detection template that does not depend on the object type is used by the detection unit 102, and the template prepared for each object type is used by the collation unit 206, but is not limited thereto.
  • FIG. 10 is a sequence diagram conceptually showing the relationship between detection processing, tracking processing, collation processing, and control processing related to an object.
  • the detection process (S1022) and the collation process (S2061) are executed continuously in time. That is, in FIG. 10, after the detection process is completed, the process is designed to wait for the start of the detection process until the collation process ends. However, these processes may be operated in parallel.
  • FIG. 11 the collation unit 206 executes collation processing (S2061 to S2062) after the detection processing (S1022), and the integration processing (S1051) is replaced with the integration processing (S2051). That is.
  • the collation unit 206 executes collation processing (S2061). That is, the object associated with the collation processing template is determined by comparing with the collation processing template by comparing the object at the object position (region) detected by the detection processing (S1022) with the collation processing template. A type identifier (ID) is acquired. Similar to the detection process, in the matching process, the image feature is calculated by a known method from both the image of the object position (area) and the template for the matching process, the matching score is calculated by a known method, and the object position (area) is calculated. The object type identifier (ID) associated with the template most similar to the image of) is acquired.
  • the collation unit 206 stores the result of the collation process (S2062).
  • the integration unit 205 performs integration processing (S2051).
  • the integration unit 205 executes the same integration process (S1051) as in the first embodiment, and then receives the result of the collation process (S2061), and if the object type identifier (ID) exists, the object type identifier (ID) And the object tracking identifier (id) used in the tracking process (S1042) described above are stored in association with each other.
  • FIG. 12 shows an example of procedures of detection processing, collation processing, tracking processing, and integration processing when the above-described (III) integration processing method is adopted. Similar to FIGS. 7 and 8, FIG. 12 also uses three images (images 1 to 3) showing a state in which two persons overlap each other.
  • images 1 to 3 showing a state in which two persons overlap each other.
  • ID object type identifier
  • FIG. 12 in the detection process for image 1, two persons overlapping before and after are erroneously detected as one person, but the correct object type identifier (ID) is acquired in the matching process.
  • tracking processing is performed from image 1 to image 3, but two people who overlap in the front and back are still being tracked as one person.
  • an object tracking identifier (id) is specified.
  • the object tracking identifier (ID1, ID2) is obtained in the matching process, respectively.
  • the object (person) to which the object type identifier ID1 is assigned is associated with the object (person) to which the object tracking identifier id1 is assigned, and the object position ( Area) is the integrated object position (area).
  • the object tracking identifier (id) is not assigned at the time of integration processing, and is not associated with the object of the object type identifier ID2.
  • an object tracking identifier for example, id2 is newly assigned to the object associated with the object type identifier ID2.
  • the advantage of the above integration method is that even if an erroneous tracking result occurs between objects that overlap each other in the tracking process, the erroneous tracking result can be corrected to a correct result.
  • FIG. 13 shows images 1 to 3 in which two persons overlap each other as in FIG. 12, but the two persons are recognized individually.
  • detection process + collation process (1) object type identifier ID1 is assigned to the person who appears in the front, and object type identifier ID2 is assigned to the person who moves to the back.
  • object tracking identifier id1 is assigned to the person shown in the front, and the object tracking identifier id2 is assigned to the person shown in the back.
  • the tracking process (3) for the image 3 misrecognizes the positions of two persons before and after, and sets the object tracking identifier id2 for the person in the front and the back
  • the object tracking identifier id1 is assigned to the person shown in FIG.
  • the object type identifier ID1 is correctly determined for the person photographed in front and the object type identifier ID2 is correctly determined for the person photographed behind.
  • the object type identifier ID1 and the object tracking identifier id2 are associated with each other, and the object type identifier ID2 and the object tracking identifier id1 are associated with each other. For this reason, if the association between the object type identifier at the start of the tracking process and the object tracking identifier is stored in advance and then compared with the result of the integration process (3), there is an erroneous determination of the object in the tracking process. This can be detected, and the influence of the erroneous determination can be prevented from spreading to the subsequent processing. In other words, the movement trajectory can be correctly obtained for each object.
  • the object type identifier (ID) is assigned to the object by the matching unit 206. An effect of correcting erroneous determination of an object can be obtained.
  • the configuration and operation of the object tracking apparatus 100 according to the third embodiment of the present invention will be described with reference to FIGS.
  • the third embodiment includes a reverse tracking unit in addition to the configuration of the first embodiment.
  • the same configurations and operations as those in the first embodiment are omitted, and differences between the first embodiment and the third embodiment will be described.
  • FIG. 14 shows a configuration of the object tracking apparatus 100 according to the third embodiment of the present invention.
  • the control unit 301, the detection unit 102, the image buffer 103, the tracking unit 104, the integration unit 305, and the backward tracking unit 307 are illustrated in FIG. It has.
  • the detection unit 102, the image buffer 103, and the tracking unit 104 are the same as those in the first embodiment, the description thereof is omitted.
  • the backward tracking unit 307 performs tracking processing in a direction opposite to the tracking unit 104 from a new image to an old image in terms of time based on the detection result by the detection unit 102.
  • the backward tracking unit 307 associates the tracking result with the tracking result of the tracking unit 104.
  • the image group specified by the image identifier is an image included in a section sandwiched between the latest image for which the detection result is obtained at the present time and the image for which the previous detection result is obtained.
  • the tracking unit 104 and the backward tracking unit 307 are separately described for convenience of explanation.
  • the tracking unit 104 and the backward tracking unit 307 may be realized by the same circuit and processing function.
  • the tracking unit 104 may perform the tracking process in the time-forward direction first
  • the backward tracking unit 307 may perform the tracking process in the backward direction.
  • the control unit 301 controls operations of the detection unit 102, the image buffer 103, the tracking unit 104, and the backward tracking unit 307.
  • FIG. 15 shows the overall processing of the object tracking apparatus 100 according to the third embodiment.
  • the overall processing of the third embodiment is identical to the steps S1021 to S1023, S1031 to S1034, S1012, S1041 to S1042, and S1051 of the first embodiment, and steps S3071 to S3073.
  • the backward tracking unit 307 Processing (S3071 to S3073) is executed.
  • the backward tracking unit 307 designates a backward tracking target image group (hereinafter referred to as a backward tracking image group) (S3071).
  • the reverse tracking image group (reverse tracking image sequence) of the backward tracking target may be specified immediately before processing the tracking image sequence (or tracking image sequence) of the tracking target. It is not limited.
  • reverse tracking processing is performed on the reverse tracking image group (S3072).
  • the reverse tracking process is the same as the above-described tracking process (S1042) except that the tracking is performed in the reverse direction in time, but a different tracking process may be performed. Thereafter, the past tracking result is corrected based on the result of the backward tracking process (S3073).
  • the result of the tracking process may be associated with the result of the backward tracking process.
  • the tracking image group and the backward tracking image group share the same image (strictly, the same image detection result), it is easy to associate them. If the tracking image group and the backward tracking image group do not share the same image, the Hungarian between the object position of the arbitrary image in the tracking image group and the object position of the arbitrary image in the backward tracking image group. It is also possible to perform association based on the law.
  • a tracking process can be performed retrospectively for a desired image group.
  • the first embodiment only the tracking result based on the detection result after the image subjected to the detection process in time order can be obtained.
  • the previous result is obtained.
  • the tracking result for the image can be obtained with a time delay.
  • the tracking result of the object can be corrected.
  • the tracking result for example, the object position
  • the past tracking result and the backward tracking result can be integrated by associating the past tracking result with the backward tracking result by the Hungarian method.
  • the present invention is not limited to this.
  • the movement trajectory of the person obtained by the object tracking device may be displayed on the screen of the display device.
  • a system may be realized in which an object tracking device is used to display and track that a specific person has been detected from a video.
  • the history of the object tracking result for example, the object position (area), the object tracking identifier
  • the history of the object type identifier are stored, and such information is displayed on the screen of the display device. May be.
  • the specific person may be emphasized on the screen by surrounding the position (area) of the person with a rectangular area of a specific color.
  • the detection unit, the tracking unit, and the collation unit refer to the prescribed processing time determined by an appropriate method (for example, a predetermined upper limit value of processing time per image), and
  • the search range may be controlled.
  • the object search range may be narrower than a predetermined range.
  • the tracking unit may skip the tracking process for a part of the images in the video with reference to the specified processing time determined by an appropriate method.
  • the integration process it is necessary to obtain both the result of the tracking process and the result of the detection process (and the result of the collation process) for the object.
  • the above-described method it is possible to reduce the waiting time for various processes and improve the calculation efficiency.
  • the tracking process is started when one tracking image sequence is generated. However, when one or more predetermined number of tracking image sequences are generated. The tracking process may be started. Even if the processing time related to object detection (and collation) per image is temporarily slower than the tracking processing for one tracking image sequence, the tracking processing for the next tracking image sequence is advanced in advance. Can do. Thereby, the effect which reduces waiting time when displaying a tracking process result on the screen of a display apparatus can be acquired.
  • the detection unit, the tracking unit, and the collation unit extract image features using a template, but the present invention is not limited to this.
  • an image feature calculated in advance may be stored in the storage unit and referred to when calculating a score related to the object.
  • the object tracking apparatus includes one detection unit and one verification unit.
  • a plurality of detection units and verification units may be provided in parallel. Thereby, the average processing time related to the object detection process and the collation process can be shortened, and the time delay of the object tracking process can be further reduced.
  • the collation unit performs the collation process on the object detection position by the detection unit.
  • the collation process may be performed on the object tracking position by the tracking unit.
  • the object tracking identifier may be corrected based on the object type identifier used by the matching unit.
  • the object type identifier may be corrected based on the object tracking identifier.
  • the object tracking device may realize the above-described detection processing, matching processing, tracking processing, and integration processing by reading and executing an object tracking program in a computer system.
  • the object tracking program may be recorded in advance in a storage device (such as a ROM) or a recording medium (such as a CD-ROM) and read into a computer system.
  • the object tracking program may be registered in a server or the like and downloaded to a computer system via a network.
  • the present invention relates to a technique for detecting and tracking a desired object (person or the like) from video captured by a camera or the like, but various application ranges are conceivable.
  • the present invention can also be applied to an information analysis apparatus that analyzes the movement trajectory and flow line (that is, a line indicating the direction and frequency of movement of a person or an object) in a store of a commercial facility.
  • the present invention can also be applied to a tracking device that tracks the movement of a specific person or the movement of a non-specific person in an image taken by a surveillance camera installed inside or outside a building or house.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (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)

Abstract

オブジェクト追跡装置は、映像に含まれる複数の画像を格納する画像バッファと、複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出する検出部と、オブジェクト検出結果が得られた画像から次のオブジェクト検出結果が得られる画像の範囲を追跡画像列とし、その追跡画像列に対してオブジェクトの追跡処理を実行する追跡部と、検出結果と追跡結果を統合して、統合オブジェクト位置を算出する統合部と、を具備する。ここで、複数の画像の範囲を検出処理の実行タイミング又は終了タイミングに基づいて決定し、検出処理と追跡処理を並列に実行する。

Description

オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム
 本発明は、オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラムに関する。
 近年、監視カメラなどで撮影された映像から特定の人物や物などのオブジェクトを検出して追跡する技術が開発されている。特許文献1は、追跡装置及び追尾システムを開示している。追跡装置は、高精度追跡手段、高速追跡手段、補正手段、及び追尾対象特定手段を具備している。補正手段は、高精度追跡手段が遅れて求めた過去時点における追跡結果と、過去時点における高速追跡手段の追跡結果に所定以上の相違がある場合には、高速追跡手段の追跡結果を高精度追跡手段の追跡結果に補正し、現時刻まで再度追跡処理を行なう。特許文献1では、高精度追跡手段と高速追跡手段とを並列に動作させている。
 特許文献2は、カメラで撮影された映像から人物や物体を検出して追跡する高精度の画像認識装置を開示している。ここで、動画中の注目画像の部分領域毎に物体を含む尤度に基づいて物体を検出しており、物体の検出位置は、その物体の追跡位置と統合して出力される。
特許文献3は、カメラで撮影された動画像において複数のオブジェクト間で相互遮蔽が起こる場合でも、そのオブジェクトを正しく追跡できるオブジェクト追跡装置を開示している。特に、複数のオブジェクト(人物)が個々に移動することにより生じるオブジェクト同士の重複部分が生じた場合でも、高精度にオブジェクトの追跡を行うために、相互に重複した複数のオブジェクトをコンテナ(即ち、フレーム間で対応付けられたオブジェクトの集合)単位で管理する。具体的には、独立に追跡されている複数のオブジェクト間で重複部分が生じた時点で、コンテナを作成し、オブジェクト間の重複が解消された時点でオブジェクトをコンテナから離脱させている。
 カメラで撮影された画像中のオブジェクトを検出するために種々の手法が開発されている。例えば、画像上で予め検出したいオブジェクトの画像をテンプレートとして保持し、画像上でテンプレートを操作すること(例えば、スライディングウィンドウ)によりオブジェクトを検出することができる。画像中のオブジェクトの検出手法として、非特許文献1乃至非特許文献3が挙げられる。これらの非特許文献は、予めニューラルネットワークを学習させておくことにより、オブジェクトの存在する領域と種別を判定する技術を開示している。
 非特許文献1は、Faster R-CNN(Regional-based Convolutional Neural Network)を用いたリアルタイムオブジェクト検出手法を開示している。非特許文献2は、YOLO(You Only Look Once)9000と呼ばれるリアルタイムオブジェクト検出システムを開示している。YOLO9000は、9000個以上のオブジェクトカテゴリ(又は、オブジェクトクラス)を検出できる。非特許文献3は、単一のディープニューラルネットワークを用いたオブジェクト検出手法としてSSD(Single Shot Detector)を開示している。
 画像中のオブジェクトの追跡手法として、非特許文献4及び非特許文献5が挙げられる。非特許文献4は、ヒューマン・コンピュータ・インタアクション、サベイランス、拡張現実などにおけるビジュアルオブジェクトトラッキングについて、オブジェクト検出・追跡手法(Kernelized Stucture Output Support Vector Machine)により、オブジェクト領域画像を逐次学習し、映像中のオブジェクトの見え方に変化が生じる場合でも高精度でオブジェクトを追跡する技術を開示している。ここで、Budget Maintenanceと呼ばれる仕組みにより、サポートベクトル数を管理しているため、比較的高速にオブジェクトを追跡することができる。
 非特許文献5は、ArtTrack(Articulated Multi-person Tracking)と呼ばれるオブジェクト追跡手法を開示しており、人物に係るオブジェクトに部分的な隠蔽が存在する場合でも、高精度にオブジェクトを追跡する技術を開示している。具体的には、オブジェクトを構成するパーツを検出し、時空間モデルを用いてパーツを統合することにより、映像中のオブジェクトの位置を追跡する。
特開2015-194901号公報 特開2016-162232号公報 国際公開番号WO2017/199840号公報
Shaoquing Ren et al., "Faster R-CNN: Towards Real-Time Object Detection with Regional Proposal Networks", ArXiv,https://arxiv.org/abs/1506.01497 Joseph Redmon et al., "YOLO9000: Better, Faster, Stronger", ArXiv, https://arxiv.org/abs/1612.08242 Wei Liu et al., "SSD: Single short MultiBox Detetor", ArXiv, https://arxiv.org/abs/1512.02325 Sam Hare et al., "Struck: Structured Output Tracking with Kernels", IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 38, Issue: 10, 2016 Eldar Insafutdinov et al., "ArtTrack: Articulated Multi-person Tracking in the Wild", ArXiv, https://arxiv.org/abs/1612.01465
上述の従来技術(特許文献及び非特許文献など)では、オブジェクトを高速に追跡する範囲について事前情報が与えられていない場合、映像の広範囲についてオブジェクトの特徴点を検出し追跡する必要があり、オブジェクトの検出処理及び追跡処理が非効率であるという問題点がある。
本発明は、上述の課題を解決するオブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラムを提供することを目的とする。
本発明の第1の態様は、オブジェクト追跡装置に関し、映像に含まれる複数の画像を格納する画像バッファと、複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出する検出部と、検出処理の検出結果に基づいて追跡処理を実行して、複数の画像間でオブジェクトを追跡する追跡部と、検出処理の検出結果と追跡処理の追跡結果を統合して、統合オブジェクト位置を算出する統合部と、映像中の複数の画像の範囲を検出処理の実行タイミング又は終了タイミングに基づいて決定し、検出処理と追跡処理を並列に実行させる制御部と、を具備する。
 本発明の第2の態様は、オブジェクト追跡方法に関し、映像に含まれる複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出し、検出処理の検出結果に基づいて追跡処理を実行して、複数の画像間でオブジェクトを追跡し、検出処理の検出結果と追跡処理の追跡結果を統合して、統合オブジェクト位置を算出し、映像中の複数の画像の範囲を検出処理の実行タイミング又は終了タイミングに基づいて決定し、検出処理と追跡処理を並列に実行させる。
 本発明の第3の態様は、オブジェクト追跡プログラムに関し、映像に含まれる複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出し、検出処理の検出結果に基づいて追跡処理を実行して、複数の画像間でオブジェクトを追跡し、検出処理の検出結果と追跡処理の追跡結果を統合して、統合オブジェクト位置を算出し、映像中の複数の画像の範囲を検出処理の実行タイミング又は終了タイミングに基づいて決定し、検出処理と追跡処理を並列に実行させる。
 本発明に係るオブジェクト追跡装置及びオブジェクト追跡方法は、オブジェクト検出処理とオブジェクト追跡処理を並列に実行することにより、高い計算効率で高精度にオブジェクトを検出して追跡することができる。
本発明の実施例1に係るオブジェクト追跡装置の構成を示すブロック図である。 本発明の実施例1に係るオブジェクト追跡装置の全体処理を示すフローチャートである。 オブジェクト検出・追跡対象の画像と画像識別子との関係を示す図である。 オブジェクトに係る検出処理、追跡処理、統合処理、及び制御処理の関係を概念的に示すシーケンス図である。 オブジェクトに係る検出処理の一例を示すフローチャートである。 オブジェクトに係る追跡処理の一例を示すフローチャートである。 オブジェクトに係る検出処理と追跡処理を統合する統合処理の一例を示す模式図である。 オブジェクトに係る検出処理と追跡処理を統合する統合処理の他の例を示す模式図である。 本発明の実施例2に係るオブジェクト追跡装置の構成を示すブロック図である。 オブジェクトに係る検出処理、追跡処理、統合処理、及び制御処理の関係を概念的に示すシーケンス図である。 本発明の実施例2に係るオブジェクト追跡装置の全体処理を示すフローチャートである。 オブジェクトに係る検出処理、照合処理、及び追跡処理を統合する統合処理の一例を示す模式図である。 オブジェクトに係る検出処理、照合処理、及び追跡処理を統合する統合処理の他の例を示す模式図である。 本発明の実施例3に係るオブジェクト追跡装置の構成を示すブロック図である。 本発明の実施例3に係るオブジェクト追跡装置の全体処理を示すフローチャートである。 本発明を実施するための一般的なコンピュータ装置の構成を示すブロック図である。
 本発明に係るオブジェクト追跡装置及びオブジェクト追跡方法について、実施例とともに添付図面を参照して詳細に説明する。
 図16は、本発明を実施するための一般的なコンピュータ装置の構成を示しており、オブジェクト追跡処理をコンピュータ上で動作するソフトウェアプログラムで実施している。図16に示されるオブジェクト追跡装置1のハードウェア構成は、プログラム制御により動作するプロセッサ(例えば、CPU)2、ソフトウェアプログラムとオブジェクト追跡処理に必要なデータを記憶する記憶部3、データ及び計算結果を入出力する入出力部4、及び映像を撮影する撮像部5を具備する。ここで、オブジェクト追跡装置1は、入出力部4と撮像部5の少なくとも一つを具備すればよい。例えば、オブジェクト追跡装置1の外部記憶装置に格納されている映像を入出力する入出力部4のみを具備してもよい。或いは、撮像部5を一般的なカメラで構成し、入出力部4は、撮像部5で撮影した映像を入力してもよい。
 本発明の実施例1に係るオブジェクト追跡装置100の構成及び動作について図1乃至図8を参照して詳細に説明する。
 図1は、本発明の実施例1に係るオブジェクト追跡装置100の構成を示しており、オブジェクト追跡装置100は、制御部101、検出部102、画像バッファ103、追跡部104、及び統合部105を具備する。
 制御部101は、検出部102、画像バッファ103、追跡部104、及び統合部105を制御する。制御部101の制御下、検出部102と追跡部104の並列動作を可能とし、追跡部104が検出部102により検出されるオブジェクト検出位置の情報を入力することで、少なくともオブジェクト検出領域の周辺のみを探索すればオブジェクトを追跡することが可能となる。制御部101の制御処理の詳細は、オブジェクト追跡装置100の動作説明において後述する。
 検出部102は、カメラなどで撮影された映像から切り出されたフレーム画像に対して、追跡対象のオブジェクトが存在する領域(即ち、オブジェクト検出領域)を検出する。ここで、既知の検出方法を検出部102の処理に適用してもよく、例えば、非特許文献1乃至非特許文献4に記載されたオブジェクト検出手法を用いることができるが、これに限定されるものではない。以下の説明では、オブジェクト検出手法として、スライディングウィンドウを用いる例について説明する。
 画像バッファ103は、オブジェクト追跡用の映像の少なくとも1つ以上のフレーム画像を格納する。追跡部104は、画像バッファ103に格納されたフレーム画像を入力する。また、画像バッファ103は、所定の条件で定められる順序でフレーム画像を管理できる機能を有し、複数のフレーム画像の順序を管理することができる。以下の説明では、画像バッファ103は、複数のフレーム画像を撮像時間の古いものから新しいものに順序付け格納するものとするが、これに限定されるものではない。また、画像バッファ103は、追跡部104が追跡するオブジェクトに係る画像の列をグルーピングするためのフラグを付加している。時間的に前に撮像された画像であってフラグがオンとなっているものから次にフラグがオンとなっている画像までの画像列が追跡部104で追跡処理を行なう一単位となる。
 追跡部104は、検出部102により検出されたオブジェクト検出位置と、画像バッファ103に格納されるフレーム画像を入力し、過去のフレーム画像におけるオブジェクト検出位置・領域に存在するオブジェクトをフレーム画像のオブジェクト領域に対応付けることで当該オブジェクトを追跡する。追跡部104は、既知の追跡手法を採用してもよく、例えば、特許文献1に記載されたコーナー検出手法(例えば、人物像の輪郭付近の特徴点を抽出する手法)による検出結果の時間方向における特徴点の対応付けを利用してもよい。或いは、過去のフレーム画像における矩形領域をキーとした画像中のオブジェクト探索手法を用いてもよい。両手法を比較すると、オブジェクトが比較的小さく画像に写っている場合、又は、オブジェクトがコーナーのような部分領域を持たない場合、後者の追跡手法を用いた方が精度良くオブジェクトを追跡することができる。以下の説明では、後者の方法を例にとり、追跡処理を説明する。
 統合部105は、検出部102により検出されたオブジェクト検出領域と、追跡部104によって算出されたオブジェクト追跡領域を統合する。ここで、オブジェクトの検出結果と追跡結果をそれぞれ単純に用いてもよく、或いは、両者を統合した領域を計算してもよい。例えば、オブジェクト検出領域とオブジェクト追跡領域を対応付けたペアに対して統合されたオブジェクト領域(以下、統合オブジェクト領域と称する)を求めてもよい。或いは、相互に対応付けられないオブジェクト検出領域やオブジェクト追跡領域もそれぞれ統合オブジェクト領域としてもよい。
 制御部101の制御下、画像バッファ103に一時的に画像を格納し、検出部103によってフレーム画像におけるオブジェクト検出処理が終了した後に、当該フレーム画像とオブジェクト検出結果を追跡部104に入力する。これにより、検出部103と追跡部104を並列に動作させることができる。
 次に、本発明の実施例1に係るオブジェクト追跡装置100の動作について図2のフローチャートを参照して説明する。以下の説明では、オブジェクト追跡装置100に入力された画像を画像バッファ103に格納する処理(S1031、S1032)と、検出部102によるオブジェクトの検出処理(S1021、S1022、S1012)と、追跡部104によるオブジェクトの追跡処理(S1041、S1042、S1011)を並列に動作させる例について説明する。
 まず、オブジェクト追跡装置100の全体の動作の概略を説明する。これにより、上述の処理がどのように関連しているかを説明する。その後、各処理について詳述する。
 オブジェクト追跡装置100に入力された画像を画像バッファ103に格納する処理は、画像格納判定(S1031)、画像格納処理(S1032)、及び全体処理終了判定(S1012)を具備する。まず、制御部101は、画像を格納するか判定する(S1031)。具体的には、カメラなどで撮影された画像についてフレーム画像がオブジェクト追跡装置100に入力され、当該フレーム画像が画像バッファ103に未格納の場合に「YES」と判定され、未格納のフレーム画像が画像バッファ103に存在しない場合に「NO」と判定される。その後、制御部101は、フレーム画像を所定の順序で画像バッファ103に格納する(S1032)。前述したように、複数のフレーム画像を時間的に古いものから新しいものの順序で画像バッファ103に格納する。次に、制御部101は、検出終了フラグがオンになっているかどうか判定する(S1033)。検出終了フラグは、検出部102による前回のオブジェクト検出処理が終了しているかどうかを示す。検出終了フラグがオンとなっている場合(即ち、S1033の判定結果「YES」の場合)、画像バッファ103に格納したフレーム画像を指定する識別子(画像識別子)も格納する。その後、制御部101は、検出終了フラグをオフにする(S1034)。なお、オブジェクト追跡装置100の全体動作開始時に、検出終了フラグはオンに初期化しておくものとする。
 上述のステップS1033及びS1034は、オブジェクト検出対象とすべき画像を指定することを目的としており、別の処理手順で画像識別子を格納してもよい。例えば、オブジェクト検出処理に係る時間履歴に基づいて、1枚の画像当たりのオブジェクト検出処理の平均処理時間を算出し、直近に画像識別子が付与された画像から平均処理時間経過後に格納された画像を検出してもよい。具体的には、オブジェクト検出処理に長時間かかり検出終了フラグが暫くオンにならない状態が続いた場合、検出終了フラグがオンになったタイミングの画像に付与される画像識別子を格納する代わりに、直近に画像識別子が付与された画像から平均処理時間経過後の画像について画像識別子を格納してもよい。これにより、オブジェクト検出処理を実行する画像間の時間間隔がばらつくことを抑制することができる。
 その後、制御部101は、全体処理を終了するかどうかを判定する(S1012)。ここで、オブジェクト検出処理(S1022、S1023)、オブジェクト追跡処理(S1042)、及び結果統合処理(S1051)が実行されておらず、オブジェクト検出対象の画像やオブジェクト追跡対象の画像の列が存在しない場合、制御部101は、オブジェクト追跡装置100の全体処理を終了させる。
 最初に、検出部102は、オブジェクト検出処理を開始するかどうかを判定する(S1021)。画像バッファ103に格納された画像識別子(S1034)により指定される画像が存在し、オブジェクト検出処理が実行されていない場合は、S1021の判定結果が「YES」となり、検出部102は、時間的に最も古い画像に対してオブジェクト検出処理を行なう(S1022)。なお、オブジェクト検出処理(S1022)の詳細については後述する。オブジェクト検出処理の終了後、検出部102は、検出終了フラグをオンとし、オブジェクト検出結果を格納する(S1023)。なお、S1021の判定結果が「NO」の場合には、オブジェクト検出処理をスキップして、オブジェクト検出処理開始判定(S1021)に戻る。
 図3は、上述の画像と画像識別子との関係を示す。ここで、N+1枚のフレーム画像が画像バッファ103に格納されており、1番目のフレームを指定する画像識別子と、N番目のフレームを指定する画像識別子とが格納されている。なお、画像識別子により指定された画像を白丸で示し、それ以外の画像を黒丸で示す。
 最初に、追跡部104は、オブジェクト追跡処理を開始するかどうかを判定する(S1041)。図3に示すように、2つの画像識別子により指定される画像と、その間に存在する画像からなる列(以下、追跡画像列と称する)についてオブジェクト追跡処理が開始されていない場合、追跡部104は、オブジェクト追跡処理を行なうものと判定する(S1041の判定結果「YES」)。これにより、追跡部104は、後述するオブジェクト追跡処理を実行する(S1042)。図3では、フレーム1からフレームNに相当するN個の画像の列が追跡画像列となる。なお、追跡画像列の代わりに、追跡画像列の一部の画像を抽出して得た追跡画像群を追跡対象と設定してもよい。また、S1041の判定結果が「NO」の場合、再度、追跡処理開始判定(S1041)を行ない、追跡部104は、追跡画像列が生成されるのを待つ。オブジェクト追跡処理(S1042)の終了後、追跡画像列の先頭の画像に付与された画像識別子を削除してもよい。ここで、追跡画像列に含まれる画像から、別の追跡画像列に含まれる画像を除いて、画像識別子を削除してもよい。
 その後、統合部105は、検出部102による検出結果と追跡部104による追跡結果を統合する統合処理を行なう(S1051)。なお、追跡画像列の最後の画像に対する検出結果が得られていない場合には、その検出結果が得られるまで統合処理(S1051)の開始を待つ。統合処理(S1051)の具体例は、検出処理(S1022)や追跡処理(S1042)の具体例とともに後述する。
 図4は、オブジェクトに係る検出処理、追跡処理、統合処理、及び制御処理の関係を概念的に示すシーケンス図である。図4では、上から下に向かって時間の経過を示しており、各処理の実行タイミングとその関連性を示している。
 まず、検出画像が指定されると(S1033)、検出処理が開始され(S1034、S1021)、検出処理(S1022)が行われる。検出処理が終了すると(S1023)、再度、検出画像が指定され(S1033)、検出処理が行なわれる(S1022)。また、追跡画像群(S1033で定められる追跡画像列、若しくは、追跡画像列から抽出された一部の画像群)が指定されると、追跡処理(S1042)が行われる。検出処理(S1022)と追跡処理(S1042)の双方が終了すると、統合処理(S1051)が実行される。その後、検出画像指定、検出処理、追跡画像群指定、追跡処理、及び統合処理が繰り返し実行される。
 上述の例では、検出終了フラグを用いて検出終了判定を行なっているが、図4に示す処理手順による制御が可能であれば、検出終了フラグを用いる方式を適用する必要はない。例えば、検出終了フラグを用いる代わりに、制御部101、検出部102、追跡部104、及び統合部105の間で、図4に示すように、各処理の開始タイミングや終了タイミングを互いにシグナリングするようにしてもよい。
 次に、検出処理、追跡処理、及び統合処理の詳細について説明する。検出処理(S1022)は、検出対象のオブジェクトについて予めテンプレートを用意し、検出部102は、テンプレートを用いて各画像におけるオブジェクトの位置を求める。図5は、検出処理(S1022)の一例を示すフローチャートである。検出部102は、画像中の検出領域を設定し(検出領域設定処理S10221)、検出領域から画像特徴を抽出し(検出特徴抽出処理S10222)、その画像特徴をテンプレートから計算された特徴と比較して、検出領域に対するオブジェクト検出スコアを計算する(検出領域照合処理S10223)。ここで、検出領域から抽出された画像特徴として、既知の種類の特徴であってもよく、例えば、輝度値や輝度勾配であってもよい。オブジェクト検出に係るスコア計算は、既知の計算手法を採用してもよく、例えば、2つのベクトルのノルムや内積であってもよい。画像中の領域設定は、画像中でテンプレートに相当する領域をラスタスキャン(スライディングウィンドウ)することで、画像中で想定される全てのテンプレート相当領域に対して検出領域照合処理を行なうまで、S10221~S10223の処理を繰り返す。その処理繰り返し終了後、検出部102は、検出最終判定(S10224)を行う。具体的には、オブジェクト検出スコアが所定値以上の領域をオブジェクト領域として最終判定する。また、画像中にオブジェクトが存在する領域では、その領域を僅かにシフトした領域で比較的高いオブジェクト検出スコアを持つ場合があるので、オブジェクト検出スコアの閾値との比較に加えて、周囲の領域よりも高いオブジェクト検出スコアを有する領域をオブジェクト領域として最終判定してもよい。また、画像中に存在するオブジェクトは必ずしも1つとは限らないため、複数のオブジェクトが存在する画像については、テンプレートは必ずしも1つに限定する必要はない。その場合、テンプレート相当領域とテンプレートの全ての組み合わせに対してオブジェクト照合スコアを求めてもよい。例えば、テンプレート相当領域を画像中で固定した場合、テンプレートの種類に対するスコアの最大値を用いて、検出最終判定を行なってもよい。前述のように、検出処理として既知の検出手法を採用することができ、例えば、非特許文献1乃至非特許文献4に記載された検出手法を用いてもよい。
 追跡部104は、追跡画像列の先頭の画像に対して追跡処理(S1042)を実行するものであり、統合処理(S1051)によって求められたオブジェクト位置、若しくは、それまでの追跡の結果求められたオブジェクト位置に存在するオブジェクトを、追跡画像列の最後の画像まで追跡する。追跡画像列の最後の画像は、次の追跡画像列の最初の画像とされているため、追跡画像列に至るまでの画像列について追跡を行った結果を入力する。
 図6は、追跡処理(S1042)の一例を示すフローチャートである。まず、追跡部104は、画像中の追跡領域を設定し(追跡領域設定処理S10421)、追跡領域から画像特徴を抽出し(追跡特徴抽出処理S10422)、その画像特徴をテンプレートから計算された特徴と比較し、追跡領域に対するオブジェクト追跡スコアを計算する(追跡領域照合処理S10423)。追跡部104は、これらの処理を繰り返す。ここで、テンプレートとして、追跡を開始する以前のオブジェクト位置(又は、オブジェクト領域)の画像を用いればよいが、これに限定されるものではない。また、追跡対象のオブジェクトは1つに限定されないが、複数のオブジェクトを追跡する場合には、オブジェクト毎のテンプレートを用いればよい。画像中の追跡領域は、前の画像で追跡した結果得られたオブジェクト位置及びその周辺を探索するように設定すればよい。また、追跡画像列の先頭の画像については、追跡の結果得られるオブジェクト位置の代わりに、統合処理(S1051)によって求められたオブジェクト位置の周辺の領域を設定してもよい。特に、オブジェクト追跡装置100の全体処理が開始されて始めての追跡処理においては、それ以前の追跡処理の結果が存在しないので、統合処理(S1051)によって求められるオブジェクト位置の周辺の領域を追跡領域として設定すればよい。画像特徴の抽出手法やスコア算出手法として、既知の手法を採用すればよく、前述の検出処理で用いた画像特徴と同一の画像特徴を追跡処理で用いてもよく、或いは、検出処理と異なる画像特徴を追跡処理で用いてもよい。上述の処理(S10421~S10423)の繰り返し後、追跡部104は、前述の検出最終判定(S10224)と同様に、追跡最終判定(S10424)を行う。また、追跡処理(S1024)では、オブジェクト毎に追跡が行えるため、各オブジェクトに識別子(オブジェクト追跡ID)を付加して、オブジェクト同士を区別してもよい。例えば、前の追跡処理で追跡対象とされなかったオブジェクトには新たな識別子を付加し、各画像間で追跡するオブジェクトに応じて識別子を引き継ぐようにしてもよい。なお、追跡処理として、既知の手法を採用することができ、例えば、非特許文献4、非特許文献5、及び特許文献3に開示される追跡手法を用いてもよい。
 統合処理(S1051)は、追跡画像列の最後の画像について検出部102によって求められたオブジェクト位置と、追跡部104によって求められたオブジェクト位置を統合する。図7は、オブジェクト追跡装置100の全体処理が開始されて、最初の追跡画像列に対して実行される統合処理の一例を示す。図7では、追跡画像列として3枚の画像(画像1~画像3)が例示されており、黒色の矢印で示す手順で統合処理が行なわれる。まず、検出処理(1)により所望のオブジェクト(例えば、人物)の領域を検出する(画像1)。2枚目の画像(画像2)については、検出処理は行なわれず、3枚目の画像(画像3)について検出処理(3)が行われる。初期状態においては、それ以前に追跡処理が行なわれていないため、検出処理(1)の結果が最終判定結果となり、これを入力として、画像2に対する追跡処理(2)と、画像3に対する追跡処理(3)が行われる。これと並行して、画像3に対する検出処理(3)が行われる。統合処理は、検出処理(3)の結果と追跡処理(3)の結果を統合する。検出結果と追跡結果の統合方法として、種々の手法が考えられる。例えば、以下の統合方法(I)、(II)、(III)が考えられる。
(I)追跡結果によらず検出結果を最終結果とする方法
 図7は、この統合方法による統合結果の一例を示す。ここでは、検出処理(1)を行う際、前後に重なった2人の人物を1人の人物として誤検出している。この誤検出結果を受けて、画像2と画像3について追跡処理を行なっているため、前後に重なる2人の人物を連続して追跡している。一方、画像3に対する検出処理(3)では、前後に重なる2人のうち前方に位置する人物の領域を正しく検出している。この統合方法によれば、人物を追跡しながら、結果的に人物領域を補正する効果が得られる。
(II)検出結果によらず追跡結果を最終結果とする方法
 この方法では、仮に2人の人物が前後に重複していても、検出処理が繰り返されることによる人物の検出漏れを修正する効果が得られる。
(III)検出結果と追跡結果の対応付けを行い、追跡結果に対応付かない検出結果を新規の追跡対象オブジェクトとする方法
 検出結果と追跡結果の対応付けは、ハンガリアン法などの既知の手法で実現可能である。検出結果と追跡結果との対応付けが困難な場合には、敢えて両者の対応関係を作成せずに、検出結果と追跡結果の双方を用いてもよい。また、検出結果と追跡結果の対応関係が成立するときのオブジェクト位置は、検出結果によるオブジェクト位置又は追跡結果のオブジェクト位置のいずれでもよい。この場合、(I)で述べた人物領域を補正する効果と、(II)で述べた検出漏れを修正する効果の双方が得られる。追跡処理において、複数のオブジェクトを区別する識別子を管理する場合、統合処理(S1051)で追跡結果と対応関係がない検出結果について新たな識別子(ID)を付加するようにしてもよい。
 図8は、(I)の統合方法による統合結果の別の例を示している。図7と同様に、3枚の画像(画像1~画像3)を追跡画像列としている。画像1に対する検出処理(1)では、前後に重なった2人の人物を1人の人物として誤検出している(画像識別子id1参照)。この誤検出結果を受けて、画像2と画像3に対して追跡処理(2)と追跡処理(3)をおこなっているが、前後に重なった2人の人物を1人の人物として誤って追跡している。一方、画像3に対する検出処理(3)では、前後に重なる2人の人物のそれぞれを人物領域として正しく検出している。統合処理の結果、2人の人物が正しく検出されている。この統合結果を受けて、次の追跡画像列に対する追跡処理が行なわれることになる。
 本発明の実施例1の効果について説明する。本実施例では、オブジェクトの検出処理の結果を利用してオブジェクトの追跡処理を行ない、かつ、両者の並列動作を可能とするために、制御部101と、画像バッファ103を備えている。また、オブジェクト追跡対象の追跡画像列を、オブジェクト検出処理終了フラグのオン・オフにより絞り込んでいるため、オブジェクト検出処理とオブジェクト追跡処理の並列動作を可能とし、かつ、オブジェクト追跡処理の計算効率を高めることができる。また、オブジェクト検出結果を利用して、オブジェクト追跡結果を補正することができ、オブジェクト追跡装置100の全体処理を高精度に実行することができる。さらに、オブジェクト検出結果を用いてオブジェクト追跡位置(オブジェクト追跡領域)を補正することもできる。
 本発明の実施例2に係るオブジェクト追跡装置100の構成及び動作について図9乃至図13を参照して詳細に説明する。実施例2では、実施例1に比べてオブジェクトの種類を特定できる照合部を追加することにより、映像中に写るオブジェクト同士を区別することを目的としている。以下の説明では、実施例1と同一の構成及び動作については省略し、実施例1と実施例2の相違点について説明する。
 図9は、本発明の実施例2に係るオブジェクト追跡装置100の構成を示しており、制御部201、検出部102、画像バッファ103、追跡部104、統合部205、及び照合部206を具備する。ここで、検出部102、画像バッファ103、及び追跡部104は、実施例1と同様であるため、その説明を省略する。なお、追跡部104は、前述の手法により、オブジェクトの位置に加えてオブジェクトの種別を特定する識別子(ID)を管理できるものとする。統合部205は、実施例1の統合部105の機能に加えて、オブジェクトの種別を特定する識別子(ID)を統合する機能を有する。
 照合部206は、検出対象に係るオブジェクトの種別毎に予め用意されたテンプレートを用いて、オブジェクトの種別を特定する。オブジェクトが人物の場合、照合部206が利用するテンプレートは個人毎に用意されるものであり、一方、検出部102が利用するテンプレートは一般的に人物を検出するために用意されるものである。以下の説明では、このように2種類のテンプレートを用いるものとする。照合部206で利用されるテンプレートには、オブジェクト(例えば、人物)の種別を示す識別子(以下、オブジェクト種別識別子(ID)と称する)を関連付けてもよい。照合部206による照合処理は、入力される任意の領域に対して実行することができ、例えば、検出処理により得られるオブジェクト位置(領域)、追跡処理により得られるオブジェクト位置(領域)、両者が統合されたオブジェクト位置に対して照合処理を実行することができる。以下の説明では、検出処理により得られるオブジェクト位置(領域)に対して照合処理を実行するものとする。上記のように、オブジェクト種別に依拠しないオブジェクト検出用テンプレートは検出部102により用いられ、オブジェクト種別毎に用意されるテンプレートは照合部206により利用されるが、これに限定されるものではない。
 図10は、オブジェクトに係る検出処理、追跡処理、照合処理、及び制御処理の関係を観念的に示したシーケンス図である。図4と比較すると、検出処理(S1022)と照合処理(S2061)が時間的に連続して実行されている。つまり、図10では、検出処理の終了後、照合処理が終了するまで検出処理の開始を待つように設計されているが、これらの処理を並列に動作させてもよい。
 次に、図11のフローチャートを参照して、実施例2に係るオブジェクト追跡装置100の全体処理について説明する。図11において、図2と同一のステップ(S1012、S1021~S1023、S1031~S1034、S1041~S1042)については、その説明を省略する。図11と図2との相違点は、検出処理(S1022)の後に照合部206が照合処理(S2061~S2062)を実行することと、統合処理(S1051)が統合処理(S2051)に置き換わっていることである。
 照合部206は、照合処理(S2061)を実行する。すなわち、検出処理(S1022)により検出されたオブジェクト位置(領域)のオブジェクトについて、照合処理用テンプレートと比較することにより、いずれのテンプレートと照合するのかを決めて、照合処理用テンプレートに関連付けられたオブジェクト種別識別子(ID)を取得する。検出処理と同様に、照合処理では、オブジェクト位置(領域)の画像と、照合処理用テンプレートの双方から既知の方法で画像特徴を計算し、既知の方法で照合スコアを算出し、オブジェクト位置(領域)の画像に最も類似するテンプレートに関連付けられたオブジェクト種別識別子(ID)を取得する。全てのテンプレートとの類似性が低いと判定された場合、「照合結果無し」と判断して、オブジェクト種別識別子(ID)を取得しないようにしてもよい。照合部206は、照合処理(S2061)の終了後、照合処理の結果を格納する(S2062)。
 次に、統合部205は統合処理(S2051)を行う。統合部205は、実施例1と同様の統合処理(S1051)を実行した後、照合処理(S2061)の結果を受けて、オブジェクト種別識別子(ID)が存在する場合は、オブジェクト種別識別子(ID)と前述の追跡処理(S1042)で使用したオブジェクト追跡識別子(id)とを対応付けて格納する。
 図12は、前述の(III)統合処理方法を採用した場合の、検出処理、照合処理、追跡処理、及び統合処理の手順の一例を示している。図7及び図8と同様に、図12でも、2人の人物が前後に重なった状態を示す3枚の画像(画像1~画像3)を用いている。図12において、画像1に対する検出処理では、前後に重なった2人の人物を1人の人物として誤検出しているが、照合処理では正しいオブジェクト種別識別子(ID)を取得している。この誤検出結果を受けて、画像1から画像3まで追跡処理を行なっているが、依然として前後に重なる2人の人物を1人の人物として追跡している。追跡処理において、オブジェクト追跡識別子(id)が指定されている。画像3に対する検出処理では、前後に重なる2人の人物を個別の人物領域として正しく検出しており、それぞれ、照合処理で正しいオブジェクト追跡識別子(ID1、ID2)を取得している。統合処理では、オブジェクト種別識別子ID1が割当てられたオブジェクト(人物)と、オブジェクト追跡識別子id1が割当てられたオブジェクト(人物)とが対応付けられたと判定しており、検出処理で得られたオブジェクト位置(領域)を統合オブジェクト位置(領域)としている。オブジェクト種別識別子ID2が割当てられたオブジェクトについては、統合処理の時点で、オブジェクト追跡識別子(id)が割当てられておらず、オブジェクト種別識別子ID2のオブジェクトとの対応付けは行われていない。なお、図12の統合処理に続いて、追跡処理を行なう際には、オブジェクト種別識別子ID2に係るオブジェクトに対して新たにオブジェクト追跡識別子(例えば、id2)が割当てられる。
 上述の統合方法の利点は、追跡処理で互いに重なり合うオブジェクト間で誤った追跡結果が発生しても、その誤追跡結果を正しい結果に補正できることである。
 次に、図13を参照して検出処理、照合処理、追跡処理、及び統合処理の手順の他の例について説明する。図13は、図12と同様に、2人の人物が前後に重なった画像1乃至画像3を示しているが、2人の人物は個別に認識されている。画像1に対する「検出処理+照合処理(1)」により、前に写る人物に対してオブジェクト種別識別子ID1が割り当てられ、後ろに移る人物に対してオブジェクト種別識別子ID2が割り当てられる。一方、追跡処理では、前に写る人物に対してオブジェクト追跡識別子id1が割り当てられ、後ろに写る人物に対してオブジェクト追跡識別子id2が割り当てられる。画像2に対する追跡処理(2)と異なり、画像3に対する追跡処理(3)では、2人の人物の位置を前後に誤認識しており、前に写る人物に対してオブジェクト追跡識別子id2とし、後ろに写る人物に対してオブジェクト追跡識別子id1としている。一方、画像3に対する「検出処理+照合処理(3)」では、前に写る人物に対してオブジェクト種別識別子ID1とし、後ろに写る人物に対してオブジェクト種別識別子ID2と正しく判定している。前述の(III)の統合方法を採用すれば、オブジェクト種別識別子ID1とオブジェクト追跡識別子id2とが対応付けられ、オブジェクト種別識別子ID2とオブジェクト追跡識別子id1とが対応付けられる。このため、追跡処理開始時のオブジェクト種別識別子とオブジェクト追跡識別子との対応付けを予め記憶しておき、その後、統合処理(3)の結果とを比較すれば、追跡処理でオブジェクトの誤判定があったことを検知することができ、その誤判定の影響が後段の処理に波及することを防止することができる。換言すれば、オブジェクトの各々について移動軌跡を正しく求めることができる。
 上述のように、実施例2では、実施例1の機能に加えて、照合部206によりオブジェクト種別識別子(ID)をオブジェクトに割り当てるようにしたので、実施例1の効果に加えて、追跡処理によるオブジェクトの誤判定を補正する効果が得られる。
 本発明の実施例3に係るオブジェクト追跡装置100の構成及び動作について、図14及び図15を参照して説明する。実施例3は、実施例1の構成に加えて、逆向き追跡部を備えている。以下の説明では、実施例1と同一の構成及び動作については省略し、実施例1と実施例3の相違点について説明する。
 図14は、本発明の実施例3に係るオブジェクト追跡装置100の構成を示しており、制御部301、検出部102、画像バッファ103、追跡部104、統合部305、及び逆向き追跡部307を具備する。ここで、検出部102、画像バッファ103、及び追跡部104は、実施例1と同様であるため、その説明を省略する。
 逆向き追跡部307は、検出部102による検出結果に基づいて、時間的に新しい画像から古い画像へ、追跡部104とは逆向きに追跡処理を行なう。また、逆向き追跡部307は、追跡部104の追跡結果との対応付けを行う。このとき、画像識別子によって指定される画像群は、現時点において検出結果が得られている最新の画像と、その一つ前の検出結果が得られた画像に挟まれる区間に含まれる画像となる。実施例3では、説明の都合上、追跡部104と逆向き追跡部307とを分けて記載したが、追跡部104と逆向き追跡部307とを同じ回路や処理機能で実現してもよい。例えば、先に追跡部104で時間順方向の追跡処理を行なった後、逆向き追跡部307で時間逆方向の追跡処理を行なってもよい。
 制御部301は、検出部102、画像バッファ103、追跡部104、及び逆向き追跡部307の動作を制御する。
 図15は、実施例3に係るオブジェクト追跡装置100の全体処理を示す。実施例3の全体処理は、実施例1の全体処理(図2参照)と比べて、実施例ステップS1021~S1023、S1031~S1034,S1012、S1041~S1042、S1051が同一であり、ステップS3071~S3073を追加している。つまり、実施例3に係るオブジェクト追跡装置100では、追跡処理(S1042)が開始されると判定されたとき(S1041「YES」)、追跡処理(S1042)に加えて、逆向き追跡部307に係る処理(S3071~S3073)を実行している。
 まず、逆向き追跡部307は、逆向き追跡対象の画像群(以下、逆向き追跡画像群と称する)を指定する(S3071)。例えば、現在、追跡対象の追跡画像列(又は、追跡画像列)を処理する直前に、逆向き追跡対象の逆向き追跡画像群(逆向き追跡画像列)を指定してもよいが、これに限定されるものではない。次に、逆向き追跡画像群に対して逆向き追跡処理を行なう(S3072)。逆向き追跡処理は、時間的に逆方向に追跡を行うこと以外は、前述の追跡処理(S1042)と同様であるが、異なる追跡処理を行なってもよい。その後、逆向き追跡処理の結果に基づいて、過去の追跡結果を修正する(S3073)。具体的には、追跡処理の結果と逆向き追跡処理の結果を対応付ければよい。追跡画像群と逆向き追跡画像群とが同一の画像(厳密には、同一の画像検出結果)を共有する場合には、両者の対応付けは容易である。また、追跡画像群と逆向き追跡画像群とで同一の画像を共有しない場合、追跡画像群の任意の画像のオブジェクト位置と逆向き追跡画像群の任意の画像のオブジェクト位置との間で、ハンガリアン法に基づく対応付けを行うことも可能である。
 本発明の実施例3では、所望の画像群について、過去に遡って追跡処理を行なうことができる。追跡画像群の途中の画像に新たに人物が出現した場合、実施例1では、時間順に検出処理を行なう画像以降の検出結果に基づく追跡結果しか得られないが、実施例3では、それ以前の画像に対する追跡結果を時間的に遅れて得ることができる。
 上述の実施例3の変形例として、追跡対象オブジェクトが遮蔽物に隠れるなどして追跡処理の途中でそのオブジェクトの追跡結果が途切れた場合でも、追跡結果を修正することができる。例えば、過去に追跡結果を得たときの追跡処理対象の追跡画像群の任意の画像で得られた追跡結果と、逆向き追跡画像の任意の画像(或いは、共通の画像でもよい)で得られた追跡結果(例えば、オブジェクト位置)を用いて、ハンガリアン法により、過去の追跡結果と逆向き追跡結果とを対応付けることにより、過去の追跡結果と逆向き追跡結果を統合することができる。
 本発明に係るオブジェクト追跡装置及びオブジェクト追跡方法について実施例1乃至実施例3とともに説明したが、これに限定されるものではない。例えば、オブジェクト追跡装置で得られた人物の移動軌跡を表示装置の画面上に表示してもよい。また、オブジェクト追跡装置を用いて、特定の人物が映像から検出されたことを表示して追尾するシステムを実現してもよい。さらに、オブジェクト追跡装置に加えて、オブジェクトの追跡結果(例えば、オブジェクト位置(領域)、オブジェクト追跡識別子)の履歴とオブジェクト種別識別子の履歴とを格納し、これらの情報を表示装置の画面上に表示してもよい。また、映像から特定の人物が検出されたとき、その人物位置(領域)を特定の色の矩形領域で囲むなどして、特定人物を画面上で強調してもよい。
 上述の実施例において、検出部、追跡部、及び照合部は、適切な方法で定めた規定処理時間(例えば、予め定めた画像1つ当たりの処理時間の上限値)を参照して、オブジェクトの探索範囲を制御するようにしてもよい。例えば、オブジェクト探索範囲を予め定めた所定範囲よりも狭めてもよい。
 また、追跡部は、適切な方法で定めた規定処理時間を参照して、映像中の一部の画像に対する追跡処理をスキップしてもよい。前述のように、統合処理においては、オブジェクトについての追跡処理の結果と検出処理の結果(及び照合処理の結果)の双方が得られていることが必要である。上述の方法では、各種処理の待ち時間を低減して、計算効率を向上させることができる。なお、上記の「適切な方法」として、例えば、「((予め定めた追跡画像例1つ当たりの処理時間の上限値)-(追跡画像列の追跡処理に要した時間))/(追跡画像列において追跡処理がスキップされていない画像の数)」を予め与えられた所定値よりも大きい場合に、追跡処理をスキップするような方法が考えられるが、これに限定されるものではない。
 上述の実施例において、オブジェクト追跡装置の動作直後、追跡画像列が1つ生成されたときに追跡処理を開始するようにしているが、1以上の所定数の追跡画像列が生成されたときに、追跡処理を開始するようにしてもよい。画像1枚当たりのオブジェクト検出(及び照合)に係る処理時間が、1つの追跡画像列に対する追跡処理よりも一時的に遅くなった場合でも、次の追跡画像列に対する追跡処理を先行して進めることができる。これにより、追跡処理結果を表示装置の画面上に表示するときの待ち時間を軽減する効果を得ることができる。
 上述の実施例において、検出部、追跡部、及び照合部は、テンプレートを用いて画像特徴を抽出しているが、これに限定されるものではない。例えば、予め計算された画像特徴を記憶部に格納しておき、オブジェクトに係るスコアの計算時に参照するようにしてもよい。
 上述の実施例において、オブジェクト追跡装置は、1つの検出部と1つの照合部を具備するものとしたが、検出部と照合部を複数並列に設けて動作させてもよい。これにより、オブジェクトの検出処理及び照合処理に係る平均処理時間が短縮され、オブジェクトの追跡処理の時間遅れを更に低減することができる。
 上述の実施例において、照合部は、検出部によるオブジェクト検出位置に対して照合処理を行なうものとしたが、追跡部によるオブジェクト追跡位置に対して照合処理を行なってもよい。このとき、照合部が用いるオブジェクト種別識別子に基づいてオブジェクト追跡識別子を補正してもよい。その逆に、オブジェクト追跡識別子に基づいてオブジェクト種別識別子を補正してもよい。
 本発明に係るオブジェクト追跡装置は、コンピュータシステムにオブジェクト追跡プログラムを読み込んで実行することにより、上述の検出処理、照合処理、追跡処理、及び統合処理を実現してもよい。オブジェクト追跡プログラムは、予め記憶装置(ROMなど)や記録媒体(CD-ROMなど)に記録しておき、コンピュータシステムに読み込ませてもよい。或いは、オブジェクト追跡プログラムをサーバなどに登録しておき、ネットワークを介してコンピュータシステムにダウンロードしてもよい。
 最後に、本発明は上述の実施例及び変形例に限定されるものではなく、請求の範囲に定義した発明の技術的範囲内における種々の設計変更や改造などをも包含するものである。
 本発明は、カメラなどで撮影した映像から所望のオブジェクト(人物など)を検出して追跡する技術に関するものであるが、種々の適用範囲が考えられる。例えば、商業施設の店舗内における商品、店員、顧客の移動軌跡や動線(即ち、人や物が移動する方向や頻度を示す線)を解析する情報解析装置にも適用できる。また、建物や家屋の内外に設置された監視カメラによる映像に写る特定の人物の動きや、非特定の人物の動きを追尾する追尾装置にも適用できる。
1、100 オブジェクト追跡装置
101、201、301 制御部
102 検出部
103 画像バッファ
104 追跡部
105、205、305 統合部
206 照合部
307 逆向き追跡部

Claims (10)

  1.  映像に含まれる複数の画像を格納する画像バッファと、
     前記複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出する検出部と、
     前記検出処理の検出結果に基づいて追跡処理を実行して、前記複数の画像間で前記オブジェクトを追跡する追跡部と、
     前記検出処理の検出結果と前記追跡処理の追跡結果を統合して、統合オブジェクト位置を算出する統合部と、
     前記映像中の前記複数の画像の範囲を前記検出処理の実行タイミング又は終了タイミングに基づいて決定し、前記検出処理と前記追跡処理を並列に実行させる制御部と、
     を具備したオブジェクト追跡装置。
  2.  前記複数の画像に写る前記オブジェクトに対して照合処理を実行して、オブジェクト種別を特定する照合部を更に具備し、
     前記統合部は、前記検出結果と前記追跡結果に加えて、前記照合処理の照合結果を参照して前記統合オブジェクト位置を、前記オブジェクト種別に対応付けて算出するようにした、請求項1に記載のオブジェクト追跡装置。
  3.  前記複数の画像に写る前記オブジェクトの前記追跡処理とは時間的に逆方法に逆向き追跡処理を行なう逆向き追跡部を更に具備し、
     前記追跡処理の追跡結果を前記逆向き追跡処理の結果に基づいて修正するようにした、請求項1に記載のオブジェクト追跡装置。
  4.  前記追跡部は、前記オブジェクトに対してオブジェクト追跡識別子を割り当て、前記照合部は、前記オブジェクトに対してオブジェクト種別識別子を割り当て、前記統合部は、前記オブジェクト追跡識別子と前記オブジェクト種別識別子とを対応付けて前記統合オブジェクト位置を算出するようにした、請求項2に記載のオブジェクト追跡装置。
  5.  映像に含まれる複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出し、
     前記検出処理の検出結果に基づいて追跡処理を実行して、前記複数の画像間で前記オブジェクトを追跡し、
     前記検出処理の検出結果と前記追跡処理の追跡結果を統合して、統合オブジェクト位置を算出し、
     前記映像中の前記複数の画像の範囲を前記検出処理の実行タイミング又は終了タイミングに基づいて決定し、前記検出処理と前記追跡処理を並列に実行させるようにした、オブジェクト追跡方法。
  6.  前記複数の画像に写る前記オブジェクトに対して照合処理を実行して、オブジェクト種別を特定し、
     前記検出結果と前記追跡結果に加えて、前記照合処理の照合結果を参照して前記統合オブジェクト位置を、前記オブジェクト種別に対応付けて算出するようにした、請求項5に記載のオブジェクト追跡方法。
  7.  前記複数の画像に写る前記オブジェクトの前記追跡処理とは時間的に逆方法に逆向き追跡処理を行ない、
     前記追跡処理の追跡結果を前記逆向き追跡処理の結果に基づいて修正するようにした、請求項5に記載のオブジェクト追跡装置。
  8.  映像に含まれる複数の画像に写るオブジェクトに対して検出処理を実行して、オブジェクト位置を検出し、
     前記検出処理の検出結果に基づいて追跡処理を実行して、前記複数の画像間で前記オブジェクトを追跡し、
     前記検出処理の検出結果と前記追跡処理の追跡結果を統合して、統合オブジェクト位置を算出し、
     前記映像中の前記複数の画像の範囲を前記検出処理の実行タイミング又は終了タイミングに基づいて決定し、前記検出処理と前記追跡処理を並列に実行させるようにした、オブジェクト追跡プログラム。
  9.  前記複数の画像に写る前記オブジェクトに対して照合処理を実行して、オブジェクト種別を特定し、
     前記検出結果と前記追跡結果に加えて、前記照合処理の照合結果を参照して前記統合オブジェクト位置を、前記オブジェクト種別に対応付けて算出するようにした、請求項8に記載のオブジェクト追跡プログラム。
  10.  前記複数の画像に写る前記オブジェクトの前記追跡処理とは時間的に逆方法に逆向き追跡処理を行ない、
     前記追跡処理の追跡結果を前記逆向き追跡処理の結果に基づいて修正するようにした、請求項8に記載のオブジェクト追跡プログラム。
PCT/JP2018/011705 2018-03-23 2018-03-23 オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム WO2019180917A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020507247A JP6943333B2 (ja) 2018-03-23 2018-03-23 オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム
US16/980,531 US11494922B2 (en) 2018-03-23 2018-03-23 Object tracking device, object tracking method, and object tracking program
PCT/JP2018/011705 WO2019180917A1 (ja) 2018-03-23 2018-03-23 オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/011705 WO2019180917A1 (ja) 2018-03-23 2018-03-23 オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム

Publications (1)

Publication Number Publication Date
WO2019180917A1 true WO2019180917A1 (ja) 2019-09-26

Family

ID=67988309

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/011705 WO2019180917A1 (ja) 2018-03-23 2018-03-23 オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム

Country Status (3)

Country Link
US (1) US11494922B2 (ja)
JP (1) JP6943333B2 (ja)
WO (1) WO2019180917A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428535A (zh) * 2019-01-09 2020-07-17 佳能株式会社 图像处理装置和方法及图像处理系统
JP7174252B2 (ja) * 2019-04-25 2022-11-17 日本電信電話株式会社 物体情報処理装置、物体情報処理方法及び物体情報処理プログラム
US20230394697A1 (en) * 2022-06-07 2023-12-07 Hong Kong Applied Science and Technology Research Institute Company Limited Method, device, and system for detecting and tracking objects in captured video using convolutional neural network
KR102593676B1 (ko) * 2023-06-30 2023-10-25 (주)하늘소프트 역방향 추적을 이용한 객체 검출 성능 향상 방법 및이를 위한 객체 추적 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072723A (ja) * 2008-09-16 2010-04-02 Omron Corp 追跡装置及び追跡方法
WO2016144431A1 (en) * 2015-03-12 2016-09-15 Qualcomm Incorporated Systems and methods for object tracking

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5213486B2 (ja) * 2008-03-14 2013-06-19 株式会社ソニー・コンピュータエンタテインメント 対象物追跡装置および対象物追跡方法
JP4507129B2 (ja) * 2008-06-06 2010-07-21 ソニー株式会社 追尾点検出装置および方法、プログラム、並びに記録媒体
WO2011021588A1 (ja) * 2009-08-20 2011-02-24 日本電気株式会社 移動体軌跡識別システム
US9135514B2 (en) * 2010-05-21 2015-09-15 Qualcomm Incorporated Real time tracking/detection of multiple targets
JP5507014B2 (ja) * 2011-08-10 2014-05-28 富士フイルム株式会社 動体検出装置及び方法
WO2013128839A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 画像認識システム、画像認識方法およびコンピュータ・プログラム
FR3017481B1 (fr) * 2014-02-07 2016-02-26 Sagem Defense Securite Procede de detection et de pistage de cibles
JP6240016B2 (ja) 2014-03-31 2017-11-29 セコム株式会社 追跡装置および追尾システム
US10925579B2 (en) * 2014-11-05 2021-02-23 Otsuka Medical Devices Co., Ltd. Systems and methods for real-time tracking of a target tissue using imaging before and during therapy delivery
JP6655878B2 (ja) 2015-03-02 2020-03-04 キヤノン株式会社 画像認識方法及び装置、プログラム
JP2017097510A (ja) * 2015-11-20 2017-06-01 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
JP6534609B2 (ja) * 2015-12-04 2019-06-26 クラリオン株式会社 追跡装置
US10867394B2 (en) 2016-05-18 2020-12-15 Nec Corporation Object tracking device, object tracking method, and recording medium
US10255507B2 (en) * 2016-12-19 2019-04-09 Canon Kabushiki Kaisha Detection of an object in a distorted image
WO2018128138A1 (ja) * 2017-01-05 2018-07-12 日本電気株式会社 画像処理装置、映像監視システム、画像処理方法およびプログラムを格納した記録媒体
US20180254065A1 (en) * 2017-03-03 2018-09-06 Qualcomm Incorporated Methods and systems for splitting non-rigid objects for video analytics
US10839257B2 (en) * 2017-08-30 2020-11-17 Qualcomm Incorporated Prioritizing objects for object recognition
CN108053427B (zh) * 2017-10-31 2021-12-14 深圳大学 一种基于KCF与Kalman的改进型多目标跟踪方法、系统及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072723A (ja) * 2008-09-16 2010-04-02 Omron Corp 追跡装置及び追跡方法
WO2016144431A1 (en) * 2015-03-12 2016-09-15 Qualcomm Incorporated Systems and methods for object tracking

Also Published As

Publication number Publication date
US20210004967A1 (en) 2021-01-07
JP6943333B2 (ja) 2021-09-29
JPWO2019180917A1 (ja) 2020-12-10
US11494922B2 (en) 2022-11-08

Similar Documents

Publication Publication Date Title
AU2022252799B2 (en) System and method for appearance search
WO2019180917A1 (ja) オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム
US11270108B2 (en) Object tracking method and apparatus
US9633265B2 (en) Method for improving tracking in crowded situations using rival compensation
JP4766495B2 (ja) 対象物追跡装置および対象物追跡方法
US11527000B2 (en) System and method for re-identifying target object based on location information of CCTV and movement information of object
JP5077164B2 (ja) 追跡装置及び追跡方法
JP6362085B2 (ja) 画像認識システム、画像認識方法およびプログラム
JP5754990B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2004227160A (ja) 侵入物体検出装置
KR102636558B1 (ko) 전자 장치, 행동 인스턴스 생성 방법 및 기록 매체
JP2021103598A (ja) 画像処理装置、画像処理方法、及びプログラム
US10997398B2 (en) Information processing apparatus, authentication system, method of controlling same, and medium
JP2004228770A (ja) 画像処理システム
KR102016262B1 (ko) 연기를 포함하는 환경에 대한 영상 분석 방법 및 그 시스템
JP7448006B2 (ja) 物体位置推定装置
JP6350331B2 (ja) 追尾装置、追尾方法及び追尾プログラム
JP2007213582A (ja) デジタル画像データ内のオブジェクト・パーツの場所を特定する方法および装置
Zhang et al. What makes for good multiple object trackers?
US20230177705A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US20230377188A1 (en) Group specification apparatus, group specification method, and computer-readable recording medium
WO2021131127A1 (ja) 識別情報付与装置、識別情報付与方法、及びプログラム
JP2023112262A (ja) 情報処理装置、情報処理方法、及びプログラム
TW202411949A (zh) 臉部屬性的串級偵測
KR20160147512A (ko) 전경 추출 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020507247

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18911025

Country of ref document: EP

Kind code of ref document: A1