WO2022091166A1 - 追跡装置、追跡システム、追跡方法、および記録媒体 - Google Patents

追跡装置、追跡システム、追跡方法、および記録媒体 Download PDF

Info

Publication number
WO2022091166A1
WO2022091166A1 PCT/JP2020/040031 JP2020040031W WO2022091166A1 WO 2022091166 A1 WO2022091166 A1 WO 2022091166A1 JP 2020040031 W JP2020040031 W JP 2020040031W WO 2022091166 A1 WO2022091166 A1 WO 2022091166A1
Authority
WO
WIPO (PCT)
Prior art keywords
tracking
tracking target
detected
key point
frames
Prior art date
Application number
PCT/JP2020/040031
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 JP2022558600A priority Critical patent/JPWO2022091166A5/ja
Priority to PCT/JP2020/040031 priority patent/WO2022091166A1/ja
Priority to US18/031,710 priority patent/US20230386049A1/en
Publication of WO2022091166A1 publication Critical patent/WO2022091166A1/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
    • 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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • 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/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • 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
    • 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

  • This disclosure relates to a tracking device or the like that tracks a tracking target in a video.
  • the person tracking technique is a technique for detecting a person from an image frame (hereinafter, also referred to as a frame) constituting an image taken by a surveillance camera or the like, and tracking the detected person in the image.
  • a frame constituting an image taken by a surveillance camera or the like
  • each detected person is identified by face recognition or the like and an identification number is given, and the person to which the identification number is given is tracked in a video.
  • Patent Document 1 discloses a posture estimation device that estimates a three-dimensional posture based on a two-dimensional joint position.
  • the apparatus of Patent Document 1 calculates the feature amount in the position candidate of the tracking target from the input image, and estimates the position of the tracking target based on the weight of the similarity obtained as a result of comparing the feature amount with the template data.
  • the apparatus of Patent Document 1 sets a position candidate to be tracked based on the weight of similarity and the three-dimensional motion model data.
  • the apparatus of Patent Document 1 tracks the position of the tracking target by repeating the estimation of the position of the tracking target and the setting of the position candidate of the tracking target a plurality of times. Further, the apparatus of Patent Document 1 estimates the three-dimensional posture of the posture estimation target by referring to the estimation information of the position of the tracking target and the three-dimensional motion model data.
  • Patent Document 2 discloses an image processing device that identifies a person from an image.
  • the device of Patent Document 2 is based on the attitude similarity between the posture of the person shown in the input image and the posture of the person shown in the reference image, the feature amount of the input image, and the feature amount of the reference image for each person. Match the person in the image with the registered person.
  • Non-Patent Document 1 discloses a technique for tracking the posture of a plurality of people included in a video.
  • a pair of posture estimates are sampled from different frames of a video, and binary classification is performed to determine whether one pose follows another pose in time. Further, in the method of Non-Patent Document 1, the posture estimation method is improved by using the key point adjustment method that does not use parameters.
  • Non-Patent Document 2 discloses a related technique for estimating the skeletons of a plurality of people in a two-dimensional image.
  • a technique called Part Affinity Fields is used to estimate the skeletons of a plurality of people in a two-dimensional image.
  • the three-dimensional posture can be estimated from the information on the two-dimensional joint position of one person, but the three-dimensional posture of a plurality of people cannot be estimated. Further, in the method of Patent Document 1, it is not possible to determine whether or not the persons appearing in different frames are the same person based on the estimated three-dimensional posture, and it is possible to track the person between the frames. There wasn't.
  • posture tracking is performed using deep learning, so the tracking accuracy depends on the learning data. Therefore, in the method of Non-Patent Document 1, if the conditions such as the degree of congestion, the angle of view, the distance between the camera and the person, and the frame rate are different from the learned conditions, the tracking can be continued based on the posture of the tracking target. could not.
  • An object of the present disclosure is to provide a tracking device capable of tracking a plurality of tracking targets based on a posture in a plurality of frames constituting an image.
  • the tracking device of one aspect of the present disclosure includes a detection unit that detects a tracking target from at least two frames constituting the video data, an extraction unit that extracts at least one key point from the detected tracking target, and at least one.
  • a posture information generation unit that generates posture information of the tracking target based on key points, a tracking unit that tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames, and a tracking unit. To prepare for.
  • a computer detects a tracking target from at least two frames constituting the video data, extracts at least one key point from the detected tracking target, and at least one key point.
  • the posture information of the tracking target is generated based on the above, and the tracking target is tracked based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the program of one aspect of the present disclosure includes a process of detecting a tracking target from at least two frames constituting the video data, a process of extracting at least one key point from the detected tracking target, and at least one key point.
  • the computer is made to perform a process of generating the posture information of the tracked object based on the process and a process of tracking the tracked object based on the position and orientation of the posture information of the tracked object detected from each of at least two frames.
  • a tracking device capable of tracking a plurality of tracking targets based on a posture in a plurality of frames constituting an image.
  • the tracking system of the present embodiment detects a tracking target such as a person from an image frame (also referred to as a frame) constituting a moving image taken by a surveillance camera or the like, and tracks the detected tracking target between frames.
  • the tracking target of the tracking system of the present embodiment is not particularly limited.
  • the tracking system of the present embodiment may target not only a person but also an animal such as a dog or a cat, a moving object such as a car or a bicycle or a robot, or an arbitrary object.
  • an example of tracking a person in a video will be described.
  • FIG. 1 is a block diagram showing an example of the configuration of the tracking system 1 of the present embodiment.
  • the tracking system 1 includes a tracking device 10, a surveillance camera 110, and a terminal device 120.
  • FIG. 1 shows only one surveillance camera 110 and terminal device 320, there may be a plurality of surveillance cameras 110 and terminal devices 120.
  • the surveillance camera 110 is arranged at a position where the surveillance target range can be photographed.
  • the surveillance camera 110 has the function of a general surveillance camera.
  • the surveillance camera 110 may be a camera having sensitivity in the visible region or an infrared camera having sensitivity in the infrared region.
  • the surveillance camera 110 is arranged on a busy street or in a room.
  • the connection method between the surveillance camera 110 and the tracking device 10 is not particularly limited.
  • the surveillance camera 110 is connected to the tracking device 10 via a network such as the Internet or an intranet. Further, the surveillance camera 110 may be connected to the tracking device 10 with a cable or the like.
  • the surveillance camera 110 captures the surveillance target range at the set shooting interval and generates video data.
  • the surveillance camera 110 outputs the generated video data to the tracking device 10.
  • the video data is composed of a plurality of frames shot at set shooting intervals.
  • the surveillance camera 110 may output video data composed of a plurality of frames to the tracking device 10, or may output each of the plurality of frames to the tracking device 10 in chronological order in which they were photographed. ..
  • the timing at which the surveillance camera 110 outputs data to the tracking device 10 is not particularly limited.
  • the tracking device 10 includes a video acquisition unit 11, a storage unit 12, a detection unit 13, an extraction unit 15, a posture information generation unit 16, a tracking unit 17, and a tracking information output unit 18.
  • the tracking device 10 is arranged in a server or a cloud.
  • the tracking device 10 may be provided as an application installed on the terminal device 120.
  • the tracking device 10 tracks the tracking target between two verification target frames (hereinafter, referred to as verification frames).
  • the verification frame that precedes in chronological order is called the preceding frame
  • the succeeding verification frame is called the succeeding frame.
  • the tracking device 10 tracks the tracking target between frames by collating the tracking target included in the preceding frame with the tracking target included in the succeeding frame.
  • the preceding frame and the succeeding frame may be continuous frames or may be separated by several frames.
  • the video acquisition unit 11 acquires the video data to be processed from the surveillance camera 110.
  • the video acquisition unit 11 stores the acquired video data in the storage unit 12.
  • the timing at which the tracking device 10 acquires data from the surveillance camera 110 is not particularly limited.
  • the video acquisition unit 11 may acquire video data composed of a plurality of frames from the surveillance camera 110, or may acquire each of the plurality of frames from the surveillance camera 110 in the order of shooting.
  • the video acquisition unit 11 may acquire not only the video data generated by the surveillance camera 110 but also the video data stored in an external storage, a server, or the like (not shown).
  • the storage unit 12 stores the video data generated by the surveillance camera 110.
  • the frame constituting the video data stored in the storage unit 12 is acquired by the tracking unit 17 and used for tracking the tracking target.
  • the detection unit 13 acquires a verification frame from the storage unit 12.
  • the detection unit 13 detects the tracking target from the acquired verification frame.
  • the detection unit 13 assigns an ID (Identifier) to all the tracking targets detected from the verification frame. In the following, it is assumed that a formal ID is assigned to the tracking target detected from the preceding frame.
  • the detection unit 13 assigns a temporary ID to the tracking target detected from the subsequent frame.
  • the detection unit 13 detects the tracking target from the verification frame by a detection technique such as the background subtraction method.
  • the detection unit 13 may detect the tracking target from the verification frame by a detection technique (for example, a detection algorithm) using a feature amount such as a motion vector.
  • the tracking target detected by the detection unit 13 is a person or a moving object (also referred to as a moving object).
  • the detection unit 13 detects the tracking target from the verification frame by using the face detection technique.
  • the detection unit 13 may detect the tracking target from the verification frame by using the human body detection technique or the object detection technique.
  • the detection unit 13 may detect an object that is not a moving object but whose features such as shape, pattern, and color change at a certain position.
  • the extraction unit 15 extracts a plurality of key points from the tracking target detected from the verification frame. For example, when the tracking target is a person, the extraction unit 15 extracts the positions of the head, joints, limbs, etc. of the person included in the verification frame as key points. For example, the extraction unit 15 detects the skeletal structure of a person included in the verification frame, and extracts key points based on the detected skeletal structure. For example, the extraction unit 15 detects the skeleton structure of a person based on the characteristics such as the joints of the person included in the verification frame by using the skeleton estimation technique using machine learning.
  • the extraction unit 15 detects the skeleton structure of a person included in the verification frame by using the skeleton estimation technique disclosed in Non-Patent Document 2 (Non-Patent Document 2: Z. Cao et al., The IEEE Conference. onComputerVision and PatternRecognition (CVPR), 2017, pp.7291-7299).
  • the extraction unit 15 assigns a number from 1 to n to each extracted key point, such as 0 for the right shoulder and 1 for the right elbow (n is a natural number). For example, if the kth key point of a person detected from the verification frame is not extracted, the key point is not detected (k is a natural number of 1 or more and n or less).
  • FIG. 2 is a conceptual diagram for explaining a key point when the tracking target is a person.
  • FIG. 2 is a front view of a person.
  • 14 key points are set for one person.
  • HD is a key point set on the head.
  • N is a key point set on the neck.
  • Each of RS and LS is a key point set on each of the right and left shoulders.
  • Each of RE and LE is a key point set for each of the right elbow and the left elbow.
  • Each of RH and LH is a key point set for each of the right and left hands.
  • Each of the RW and LW is a key point set for each of the right hip and the left hip.
  • Each of RK and LK is a key point set for each of the right and left knees.
  • Each of RF and LF is a key point set for each of the right and left feet.
  • the number of key points set for one person is not limited to 14. Further, the position of each key point is not limited to the example of FIG.
  • face detection may be used in combination, and key points may be set for eyes, eyebrows, nose, mouth, etc. according to face detection.
  • the posture information generation unit 16 generates posture information of all tracking targets detected from the verification frame based on the key points extracted by the extraction unit 15.
  • the posture information is the position information of each key point of each tracking target in the verification frame.
  • the posture information f p of the tracking target detected from the preceding frame is expressed by the following equation 1, and the posture information f s of the person detected from the succeeding frame is described below. It is expressed by the formula 2.
  • f p ⁇ (x p0 , y p0 ), (x p1 , y p1 ), ..., (x pn , y pn ) ⁇ ...
  • the tracking unit 17 uses the posture information generated for the tracking target detected from the preceding frame and the posture information generated for the tracking target detected from the preceding frame to track the tracking target between frames. Chase.
  • the tracking unit 17 tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the tracking unit 17 assigns the ID of the tracking target detected from the preceding frame to the tracking target identified as the tracking target detected from the preceding frame among the tracking targets detected from the succeeding frame. Track the subject. If the tracking target corresponding to the tracking target detected from the succeeding frame is not detected from the preceding frame, the temporary ID assigned to the tracking target detected from the succeeding frame may be used as a formal ID or a new one. ID may be given as a formal ID.
  • the tracking unit 17 calculates the position of the key point to be tracked using the coordinate information in the frame.
  • the tracking unit 17 calculates the distance between the position of the reference key point and the key point of the head in a specific direction as the orientation of the tracking target.
  • the tracking unit 17 calculates the distance (distance in the x direction) from the key point of the neck to the key point of the head in the horizontal direction (x direction) of the screen as the direction of the tracking target.
  • the tracking unit 17 calculates the distances regarding the positions and orientations of all the tracking targets detected from the preceding frame and all the tracking targets detected from the succeeding frames in a round-robin manner.
  • the tracking unit 17 calculates the sum of the distances related to the position and the distances related to the orientation calculated between all the tracking targets detected from the preceding frame and all the tracking targets detected from the succeeding frame as a score.
  • the tracking unit 17 tracks the tracking target by assigning the same ID to the tracking target having the lowest score among the pair of the tracking target detected from the preceding frame and the tracking target detected from the succeeding frame. ..
  • the distance D p with respect to the position is a weighted average of the absolute values of the differences in coordinate values of each key point extracted from the tracked object being compared in the preceding frame and the succeeding frame. Assuming that the weight related to the position of each key point is w k , the tracking unit 17 calculates the distance D p related to the position using the following equation 3. However, in the above equation 3, for the key points where the attitude information f pk or the attitude information f sk is not detected, the inside of the parentheses of the molecule and w k are set to 0.
  • the orientation distance D d is a weighted average of the absolute value of the difference in x-coordinate relative to the reference point for each keypoint extracted from the tracked object being compared in the preceding and following frames. Assuming that the key point of the neck is the reference point, the reference point of the preceding frame is represented by x p_neck , the reference point of the succeeding frame is represented by x s_neck , and the weight regarding the position of each key point is w k , the tracking unit 17 is described below.
  • the distance D d with respect to the direction is calculated using the equation 4 of. However, in the above equation 4, for the key points where the attitude information f pk or the attitude information f sk is not detected, the inside of the parentheses of the numerator and w k are set to 0.
  • the total value of the distance D p related to the position and the distance D d related to the direction is the score S.
  • the tracking unit 17 calculates the score S using the following formula 5.
  • S D p + D d ... (5)
  • the tracking unit 17 calculates the score S as a round-robin for the tracking target of the comparison target detected from the preceding frame and the succeeding frame.
  • the tracking unit 17 assigns the same ID to the tracking target having the lowest score S.
  • FIG. 3 is for explaining an example (A) of extracting key points by the tracking unit 17, an example (B) of extracting key points (skeleton lines) used for tracking, and an example (C) of assigning IDs. It is a conceptual diagram. In FIG. 3, the upper figure corresponds to the preceding frame, and the lower figure corresponds to the succeeding frame.
  • FIG. 3 is an example of extracting key points from the tracking target included in the verification frame.
  • FIG. 3A shows a line segment connecting the outline of the tracking target and the key points extracted from the tracking target.
  • two people are included in the preceding frame and the succeeding frame.
  • IDs P_ID4 and P_ID8 are given to each of the two persons extracted from the preceding frame.
  • IDs S_ID1 and S_ID2 are assigned to each of the two persons extracted from the subsequent frames.
  • the ID given to each of the two persons extracted from the subsequent frame is a temporary ID.
  • FIG. 3B is a diagram in which only the line segment (also referred to as a skeleton line) connecting the key points used for tracking the tracking target is extracted from the key points extracted from the tracking target.
  • the key points used for tracking may be preset or may be set for each verification.
  • FIG. 4 is a table summarizing the scores calculated by the tracking unit 17 with respect to the example of FIG.
  • the score between the tracking target of S_ID1 detected from the succeeding frame and P_ID4 detected from the preceding frame is 0.2.
  • the score between the tracking target of S_ID1 detected from the succeeding frame and P_ID8 detected from the preceding frame is 1.5.
  • the score between the tracking target of S_ID2 detected from the succeeding frame and P_ID4 detected from the preceding frame is 1.3.
  • the score between the tracking target of S_ID2 detected from the succeeding frame and P_ID8 detected from the preceding frame is 0.3. That is, the tracking target having the smallest score with respect to the tracking target of S_ID1 is P_ID4.
  • the tracking unit 17 allocates an ID of P_ID4 to the tracking target of S_ID1 and an ID of P_ID8 to the tracking target of S_ID2.
  • FIG. 3C shows a situation in which the same ID is assigned to the same tracking target detected from the preceding frame and the succeeding frame based on the score value in FIG. In this way, the tracking target to which the same ID is assigned in the preceding frame and the succeeding frame is further referred to in the succeeding frame.
  • the tracking information output unit 18 outputs tracking information including the tracking result by the tracking unit 17 to the terminal device 120.
  • the tracking information output unit 18 outputs an image in which a key point or a skeleton line is superimposed on a tracking target detected from a verification frame as tracking information.
  • the tracking information output unit 18 outputs an image in which a key point or a skeleton line is displayed as tracking information at a position of a tracking target detected from a verification frame.
  • the image output from the tracking information output unit 18 is displayed on the display unit of the terminal device 120.
  • the terminal device 120 acquires tracking information for each of a plurality of frames constituting the video data from the tracking device 10.
  • the terminal device 120 displays an image including the acquired tracking information on the screen.
  • the terminal device 120 causes an image including tracking information to be displayed on the screen according to preset display conditions.
  • the preset display condition is a condition in which images including tracking information corresponding to a predetermined number of consecutive frames including a preset frame number are displayed in chronological order.
  • the preset display condition is a condition that images including tracking information corresponding to a plurality of frames generated in a predetermined time zone including a preset time are displayed in chronological order.
  • the display conditions are not limited to the examples given here if they are set in advance.
  • FIG. 5 is a flowchart for explaining the operation of the tracking device 10.
  • the tracking device 10 acquires a verification frame (step S11).
  • the tracking device 10 may acquire a verification frame stored in advance, or may acquire a newly input verification frame.
  • step S12 When the tracking target is detected from the verification frame (Yes in step S12), the tracking device 10 assigns an ID to the detected tracking target (step S13). At this time, the ID given to the tracking target by the tracking device 10 is a temporary ID. On the other hand, if the tracking target is not detected from the verification frame (No in step S12), the process proceeds to step S18.
  • step S13 the tracking device 10 extracts key points from the detected tracking target (step S14).
  • the tracking device 10 extracts a key point for each of the detected tracking targets.
  • the tracking device 10 generates posture information for each tracking target (step S15).
  • the posture information is information in which the position information of the key points extracted for each tracking target is integrated for each tracking target.
  • the tracking device 10 generates posture information for each of the detected tracking targets.
  • step S16 if there is a preceding frame (Yes in step S16), the tracking device 10 executes the tracking process (step S17). On the other hand, if there is no preceding frame (No in step S16), the process proceeds to step S18. The details of the tracking process will be described later with reference to the flowchart of FIG.
  • step S18 if there is a further subsequent frame (Yes in step S18), the process returns to step S11. On the other hand, when there is no further subsequent frame (No in step S18), the process according to the flowchart of FIG. 5 is completed.
  • FIG. 6 is a flowchart for explaining the tracking process by the tracking unit 17 of the tracking device 10.
  • the tracking unit 17 calculates the distance regarding the position and orientation between the tracking targets with respect to the preceding frame and the succeeding frame (step S171).
  • the tracking unit 17 calculates the score between the tracking targets from the distances regarding the position and orientation between the tracking targets (step S172). For example, the tracking unit 17 calculates the sum of the distances related to the positions and the distances related to the directions between the tracking targets as a score.
  • the tracking unit 17 selects the optimum combination of tracking targets according to the score between the tracking targets (step S173). For example, the tracking unit 17 selects the combination of tracking targets having the minimum score from the preceding frame and the succeeding frame.
  • the tracking unit 17 assigns an ID to the tracking target detected from the succeeding frame according to the selected combination (step S174). For example, the tracking unit 17 assigns the same ID to the combination of tracking targets having the minimum score in the preceding frame and the succeeding frame.
  • the tracking device of the tracking system of the present embodiment includes a detection unit, an extraction unit, a posture information generation unit, and a tracking unit.
  • the detection unit detects the tracking target from at least two frames constituting the video data.
  • the extraction unit extracts at least one key point from the detected tracking target.
  • the posture information generation unit generates posture information to be tracked based on at least one key point.
  • the tracking unit tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the tracking device of the present embodiment tracks the tracking target based on the position and orientation of the posture information of the tracking target. If tracking targets are tracked only by position, the identification numbers may be exchanged between different tracking targets when multiple tracking targets pass each other. Since the tracking device of the present embodiment tracks the tracking target based not only on the position of the tracking target but also on the orientation of the tracking target, when a plurality of tracking targets pass each other, the identification numbers are exchanged between different tracking targets. Less likely. Therefore, according to the tracking device of the present embodiment, it is possible to track a plurality of tracking targets over a plurality of frames based on the posture of the tracking target. That is, according to the tracking device of the present embodiment, a plurality of tracking targets can be tracked based on the posture in a plurality of frames constituting the image.
  • the tracking target can be tracked based on the posture even if the reference image for each posture of each tracking target is not stored in the database. Further, according to the tracking device of the present embodiment, the tracking accuracy does not decrease even when the conditions such as the degree of congestion, the angle of view, the distance between the camera and the tracking target, and the frame rate are different from the learned conditions. That is, according to the present embodiment, it is possible to track the tracking target in the frame constituting the image with high accuracy.
  • the tracking device of the present embodiment can be applied to, for example, monitoring the flow line of a person in a city, a public facility, a store, or the like.
  • the tracking unit calculates a score according to the distance regarding the position and orientation of the tracking target detected from each of at least two frames based on the posture information.
  • the tracking unit tracks the tracking target based on the calculated score.
  • a plurality of tracking targets can be continuously tracked between frames constituting an image by tracking the tracking target based on a score according to a distance regarding the position and orientation of the tracking target.
  • the tracking unit tracks the pair with the smallest score as the same tracking target for the tracking target detected from each of at least two frames. According to this aspect, by identifying the pair having the smallest score as the same tracking target, it is possible to more continuously track the tracking target between the frames constituting the image.
  • the tracking unit calculates the weighted average of the absolute values of the differences between the coordinate values of the key points as the distance to the position with respect to the tracking target detected from each of at least two frames.
  • the tracking unit calculates the weighted average of the absolute value of the difference between the relative coordinate values in a specific direction with respect to the reference point of the key point as the distance with respect to the tracking target detected from each of at least two frames.
  • the tracking unit calculates the sum of the distance regarding the position and the distance regarding the orientation as a score for the tracking target detected from each of at least two frames. According to this aspect, weights related to position and orientation are clearly defined, and tracking of a tracking target between frames can be appropriately performed according to the weighting.
  • the tracking device includes a tracking information output unit that outputs tracking information regarding tracking of a tracking target.
  • the tracking information is, for example, an image in which a key point is displayed at a position of a tracking target detected from a verification frame.
  • the posture of the tracking target can be easily grasped visually by displaying the image on which the tracking information is superimposed on the tracking target on the screen of the display device.
  • the tracking system of the present embodiment differs from the first embodiment in that the distances regarding the positions and orientations between the tracking objects are normalized by the size of the tracking objects in the frame.
  • FIG. 7 is a block diagram showing an example of the configuration of the tracking system 2 of the present embodiment.
  • the tracking system 2 includes a tracking device 20, a surveillance camera 210, and a terminal device 220.
  • FIG. 7 shows only one surveillance camera 210 and terminal device 220, there may be a plurality of surveillance cameras 210 and terminal devices 220. Since each of the surveillance camera 210 and the terminal device 220 is the same as each of the surveillance camera 110 and the terminal device 120 of the first embodiment, detailed description thereof will be omitted.
  • the tracking device 20 includes a video acquisition unit 21, a storage unit 22, a detection unit 23, an extraction unit 25, a posture information generation unit 26, a tracking unit 27, and a tracking information output unit 28.
  • the tracking device 20 is arranged in a server or a cloud.
  • the tracking device 20 may be provided as an application installed on the terminal device 220.
  • the image acquisition unit 21, the storage unit 22, the detection unit 23, the extraction unit 25, the posture information generation unit 26, and the tracking information output unit 28 each have the same configuration as the corresponding configuration of the first embodiment. Explanation is omitted.
  • the tracking unit 27 uses the posture information generated for the tracking target detected from the preceding frame and the posture information generated for the tracking target detected from the preceding frame to track the tracking target between frames. Chase.
  • the tracking unit 27 tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the tracking unit 27 assigns the ID of the tracking target detected from the preceding frame to the tracking target identified as the tracking target detected from the preceding frame among the tracking targets detected from the succeeding frame. Track the subject. If the tracking target corresponding to the tracking target detected from the succeeding frame is not detected from the preceding frame, the temporary ID assigned to the tracking target detected from the succeeding frame may be used as a formal ID or a new one. ID may be given as a formal ID.
  • the tracking unit 27 totals the distances related to the position and orientation normalized by the size of the tracking target for all the tracking targets detected from the preceding frame and all the tracking targets detected from the succeeding frame. Calculate by hit.
  • the tracking unit 27 is the distance regarding the position and orientation normalized by the size of the tracking target calculated for all the tracking targets detected from the preceding frame and all the tracking targets detected from the succeeding frame. The sum is calculated as a normalized score.
  • the tracking unit 27 assigns the same ID to the tracking target having the smallest normalized score among the pair of the tracking target detected from the preceding frame and the tracking target detected from the succeeding frame. Track the subject.
  • the size when the person to be tracked in the frame is walking upright, the size can be estimated by surrounding the person with a frame such as a rectangle.
  • the size may be estimated based on the skeleton of the person to be tracked as described below.
  • FIG. 8 is a conceptual diagram for explaining the skeleton line used by the tracking unit 27 when estimating the size of the tracking target (person).
  • a skeletal line is a line segment that connects specific key points.
  • FIG. 8 is a front view of a person. In the example of FIG. 8, 14 key points are set for one person, and 15 skeleton lines are set.
  • L1 is a line segment connecting HD and N.
  • L21 is a line segment connecting N and RS
  • L22 is a line segment connecting N and LS.
  • L31 is a line segment connecting RS and RE
  • L32 is a line segment connecting LS and LE.
  • L41 is a line segment connecting RE and RH
  • L42 is a line segment connecting LE and LH.
  • L51 is a line segment connecting N and RW
  • L52 is a line segment connecting N and LW
  • L61 is a line segment connecting RW and RK
  • L62 is a line segment connecting LW and LK
  • L71 is a line segment connecting RK and RF
  • L42 is a line segment connecting LK and LF.
  • the number of key points set for one person is not limited to 14. Further, the number of skeleton lines set for one person is not limited to 13. Further, the positions of the key points and the skeleton lines are not limited to the example of FIG.
  • the tracking unit 27 calculates the height of the person when standing upright (referred to as the number of height pixels) based on the skeleton line corresponding to the person in the verification frame.
  • the number of height pixels corresponds to the height of the person in the verification frame (the length of the whole body of the person in the two frames).
  • the tracking unit 27 obtains the number of height pixels (number of pixels) from the length of each skeleton line in the frame.
  • the tracking unit 27 estimates the number of height pixels using the length of the skeletal line from the head (HD) to the foot (RF, LF). For example, the tracking unit 27 calculates the sum HR of the lengths of L1, L51, L61, and L71 in the verification frame among the skeleton lines extracted from the person in the verification frame as the number of height pixels. For example, the tracking unit 27 calculates the sum HL of the lengths of L1 , L52, L62, and L72 in the verification frame as the number of height pixels among the skeleton lines extracted from the person in the verification frame.
  • the tracking unit 27 has an average value of the sum HR of the lengths of L1, L51, L61, and L71 in the verification frame and the sum HL of the lengths of L1, L52, L62, and L72 in the verification frame. Is calculated as the number of height pixels. For example, the tracking unit 27 calculates the number of height pixels after correcting each skeleton line with a correction coefficient for correcting the inclination, posture, etc. of each skeleton line in order to calculate the number of height pixels more accurately. You may.
  • the tracking unit 27 may estimate the number of height pixels using the length of each skeleton line based on the relationship between the length of each skeleton line of an average person and the height.
  • the length of the skeleton line (L1) connecting the head (HD) and the neck (N) is about 20% of the height.
  • the length of the skeletal line connecting the elbow (RE, LE) and the hand (RH, LH) is about 25% of the height.
  • the ratio of the length of each skeletal line to the height of the average person tends to vary with age. Therefore, for each age of the person, the ratio of the length of each skeletal line of the average person to the height may be stored in the storage unit. For example, if the ratio of the length of each skeleton line of an average person to the height is stored in the storage unit, and if an upright person can be detected from the verification frame, it is based on the length of each skeleton line of that person. It is also possible to estimate the approximate age of the person.
  • the above-mentioned method for estimating the number of height pixels based on the length of the skeleton line is an example, and does not limit the method for estimating the number of height pixels by the tracking unit 27.
  • the tracking unit 27 normalizes the distance D p regarding the position and the distance D d regarding the orientation with the estimated number of height pixels.
  • the height detected from the preceding frame is H p
  • the height detected from the succeeding frame is H s .
  • the tracking unit 27 calculates the normalized distance ND p regarding the position using the following equation 6, and the tracking unit 27 calculates the normalized distance ND d regarding the orientation using the following equation 7.
  • the tracking unit 27 calculates a normalized score (normalized score NS) using the following formula 8.
  • NS ND p + ND d ...
  • the tracking unit 27 calculates the normalized score NS round-robin for the tracked object being compared detected from the preceding frame and the succeeding frame, and assigns the same ID to the tracked object having the smallest normalized score NS.
  • FIG. 9 is a flowchart for explaining the tracking process by the tracking unit 27 of the tracking device 20.
  • the tracking unit 27 estimates the number of height pixels of the tracking target based on the skeleton line of the detection target detected from the verification frame (step S271).
  • the tracking unit 27 calculates the normalized distance regarding the position and orientation between the tracking targets for the preceding frame and the succeeding frame (step S272).
  • the normalized distance is the distance relative to the position and orientation normalized by the estimated height pixels.
  • the tracking unit 27 calculates the normalization score between the tracking targets from the normalization distance regarding the position and orientation between the tracking targets (step S273). For example, the tracking unit 17 calculates the sum of the normalized distance regarding the position between the tracking targets and the normalized distance regarding the orientation as the normalized score.
  • the tracking unit 27 selects the optimum combination of tracking targets according to the normalization score between the tracking targets (step S274). For example, the tracking unit 27 selects the combination of tracking targets having the minimum normalization score from the preceding frame and the succeeding frame.
  • the tracking unit 27 assigns an ID to the tracking target detected from the succeeding frame according to the selected combination (step S275). For example, the tracking unit 27 allocates the same ID to the combination of tracking targets having the minimum normalization score in the preceding frame and the succeeding frame.
  • the tracking device of the tracking system of the present embodiment includes a detection unit, an extraction unit, a posture information generation unit, and a tracking unit.
  • the detection unit detects the tracking target from at least two frames constituting the video data.
  • the extraction unit extracts at least one key point from the detected tracking target.
  • the posture information generation unit generates posture information to be tracked based on at least one key point.
  • the tracking unit tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the tracking unit estimates the number of height pixels of the tracking target based on the skeleton line connecting any one of the plurality of key points.
  • the tracking unit normalizes the score with the estimated height pixels and tracks the tracking target detected from each of at least two frames according to the normalized score.
  • the score is normalized according to the size of the tracking target in the frame. Therefore, according to the present embodiment, it is not possible to overestimate the tracking target that is greatly reflected by the positional relationship with the surveillance camera, and it is possible to reduce the bias of tracking at the position in the frame. Therefore, according to the present embodiment, more accurate tracking is possible over a plurality of frames constituting the video. Further, according to the present embodiment, since the tracking target can be tracked regardless of the posture of the tracking target, the tracking of the tracking target can be continued even when the posture change between frames is large.
  • the tracking device includes a tracking information output unit that outputs tracking information regarding tracking of a tracking target.
  • the tracking information is, for example, an image in which a skeleton line is displayed at a position of a tracking target detected from a verification frame.
  • the posture of the tracking target can be easily grasped visually by displaying the image on which the tracking information is superimposed on the tracking target on the screen of the display device.
  • the tracking system of the present embodiment differs from the first and second embodiments in that it displays a user interface for setting position and orientation weights and setting key points.
  • FIG. 10 is a block diagram showing an example of the configuration of the tracking system 3 of the present embodiment.
  • the tracking system 3 includes a tracking device 30, a surveillance camera 310, and a terminal device 320. Although only one surveillance camera 310 or terminal device 320 is shown in FIG. 10, there may be a plurality of surveillance cameras 310 and terminal devices 320. Since the surveillance camera 310 is the same as the surveillance camera 110 of the first embodiment, detailed description thereof will be omitted.
  • the tracking device 30 includes a video acquisition unit 31, a storage unit 32, a detection unit 33, an extraction unit 35, a posture information generation unit 36, a tracking unit 37, a tracking information output unit 38, and a setting acquisition unit 39.
  • the tracking device 30 is arranged in a server or a cloud.
  • the tracking device 30 may be provided as an application installed on the terminal device 320.
  • the image acquisition unit 31, the storage unit 32, the detection unit 33, the extraction unit 35, the posture information generation unit 36, the tracking unit 37, and the tracking information output unit 38 are all the same as the corresponding configurations of the first embodiment. Since there is, a detailed explanation will be omitted.
  • FIG. 11 is a block diagram showing an example of the configuration of the terminal device 320 and the like.
  • the terminal device 320 has a tracking information acquisition unit 321, a tracking information storage unit 322, a display unit 323, and an input unit 324.
  • FIG. 11 also shows a tracking device 10, an input device 327, and a display device 330 connected to the terminal device 320.
  • the tracking information acquisition unit 321 acquires tracking information for each of a plurality of frames constituting the video data from the tracking device 30.
  • the tracking information acquisition unit 321 stores tracking information for each frame in the tracking information storage unit 322.
  • the tracking information storage unit 322 stores the tracking information acquired from the tracking device 30.
  • the tracking information stored in the tracking information storage unit 322 is displayed as a GUI (Graphical User Interface) on the screen of the display unit 323, for example, in response to a user operation or the like.
  • GUI Graphic User Interface
  • the display unit 323 is connected to a display device 330 having a screen.
  • the display unit 323 acquires tracking information from the tracking information storage unit 322.
  • the display unit 323 displays the display information including the acquired tracking information on the screen of the display device 330.
  • the terminal device 320 may include the function of the display device 330.
  • the display unit 323 accepts an operation by the user via the input unit 324, and displays display information according to the received operation content on the screen of the display device 330.
  • the display unit 323 displays the display information corresponding to the frame of the frame number specified by the user on the screen of the display device 330.
  • the display unit 323 displays the display information corresponding to each of a series of a plurality of frames including the frame of the frame number specified by the user on the screen of the display device 330 in chronological order.
  • the display unit 323 may display at least one display information on the screen of the display device 330 according to the preset display conditions.
  • the preset display condition is a condition in which a plurality of display information corresponding to a predetermined number of consecutive frames including a preset frame number is displayed in chronological order.
  • the preset display condition is a condition that a plurality of display information corresponding to a plurality of frames generated in a predetermined time zone including a preset time is displayed in chronological order.
  • the display conditions are not limited to the examples given here if they are set in advance.
  • the input unit 324 is connected to an input device 327 that accepts operations by the user.
  • the input device 327 is realized by a keyboard, a touch panel, a mouse, or the like.
  • the input unit 324 outputs to the tracking device 30 the operation content by the user input via the input device 327. Further, when the input unit 324 receives the designation of the video data, the frame, the display information, etc. from the user, the input unit 324 outputs an instruction to display the designated image on the screen to the display unit 323.
  • the setting acquisition unit 39 acquires the settings input using the terminal device 320.
  • the setting acquisition unit 39 acquires the setting of the weight related to the position and the direction, the setting of the key point, and the like.
  • the setting acquisition unit 39 reflects the acquired settings in the function of the tracking device 30.
  • FIG. 12 is a conceptual diagram for explaining an example of display information displayed on the screen of the display device 330.
  • a weight setting area 340 and an image display area 350 are set on the screen of the display device 330.
  • a first operation image 341 for setting a weight related to a position and a second operation image 342 for setting a weight related to an orientation are displayed.
  • a tracking image for each frame constituting the image captured by the surveillance camera 310 is displayed.
  • a display area other than the weight setting area 340 and the image display area 350 may be set on the screen of the display device 330. Further, the display positions of the weight setting area 340 and the image display area 350 on the screen can be arbitrarily changed.
  • the scroll bar for setting the weight related to the position is displayed on the first operation image 341.
  • the position weight is an index value indicating how much the position of the tracking target is emphasized when comparing the tracking targets detected from each of the preceding frame and the succeeding frame.
  • the weight related to the position is set in the range of 0 or more and 1 or less.
  • a minimum value (left end) and a maximum value (right end) of the weight related to the position are set in the scroll bar displayed on the first operation image 341. Moving the knob 361 on the scroll bar left or right changes the weight with respect to the position. In the example of FIG. 12, the position weight is set to 0.8.
  • the first operation image 341 may display a vertical scroll bar instead of a horizontal scroll bar.
  • the first operation image 341 may display a spin button, a combo box, or the like for setting a weight related to the position instead of the scroll bar. Further, in the first operation image 341, an element different from the scroll bar or the like may be displayed in order to set the weight related to the position.
  • the second operation image 342 displays a scroll bar for setting a weight related to the orientation.
  • the orientation weight is an index value indicating how much importance is given to the orientation of the tracking targets when comparing the tracking targets detected from each of the preceding frame and the succeeding frame.
  • the weight related to the orientation is set in the range of 0 or more and 1 or less.
  • a minimum value (left end) and a maximum value (right end) of weights related to orientation are set in the scroll bar displayed on the second operation image 342. Moving the knob 362 on the scroll bar left or right changes the orientation weights. In the example of FIG. 12, the orientation weight is set to 0.2.
  • the second operation image 342 may display a vertical scroll bar instead of a horizontal scroll bar.
  • the second operation image 342 may display a spin button, a combo box, or the like for setting a weight related to the direction instead of the scroll bar. Further, in the second operation image 342, an element different from the scroll bar or the like may be displayed in order to set the weight related to the direction.
  • FIG. 12 shows an example of displaying an image corresponding to a subsequent frame in the image display area 350.
  • the preceding frame and the succeeding frame may be displayed side by side. Further, the image display area 350 may be displayed so as to switch between the preceding frame and the succeeding frame according to the selection of a button (not shown) or the like.
  • the tracking information associated with the person detected from the frame is displayed.
  • the tracking information is displayed in which a plurality of key points extracted from the person detected from the frame and a line segment (skeleton line) connecting the key points are associated with the person.
  • a line segment skeleton line
  • six people are walking in the same direction. In this way, when there are many tracking targets that move in the same direction, it is better to emphasize the position rather than the orientation in order to track the tracking target between frames with high accuracy.
  • the weights related to position and the weights related to orientation are the same, the weights related to orientation may be overestimated and the tracking accuracy may decrease. Therefore, when there are many tracking targets that move in the same direction, if the weight related to the position is set to be large, the weight related to the direction is set to be low, so that the decrease in tracking accuracy can be reduced.
  • FIG. 13 is a conceptual diagram for explaining another example of the display information displayed on the screen of the display device 330.
  • the weight for position is set to 0.2 and the weight for orientation is set to 0.8.
  • six people are walking so as to pass each other. In this way, when there are many tracking targets that move so as to pass each other, in order to track the tracking targets between frames with high accuracy, it is better to emphasize the orientation rather than the position. If there are many tracking targets that move by passing each other, if the weights related to orientation and the weights related to position are the same, the weights related to position may be overestimated and the tracking accuracy may decrease. Therefore, when there are many tracking targets that move so as to pass each other, it is possible to reduce the decrease in tracking accuracy by setting the weight related to the orientation to be large and the weight related to the position to be low.
  • FIG. 14 is a conceptual diagram for explaining still another example of the display information displayed on the screen of the display device 330.
  • a third operation image 343 for setting weights related to position and orientation and a fourth operation image 344 for setting weights related to position and orientation according to a scene are displayed in the weight setting area 340. ..
  • the third operation image 343 and the fourth operation image 344 do not have to be displayed in the weight setting area 340 at the same time.
  • the third operation image 343 displays a scroll bar for setting the position and the weight related to it.
  • the maximum value of the weight related to the position (left end) and the maximum value of the weight related to the direction (right end) are set.
  • the weight for position is set to the maximum value (far left)
  • the weight for orientation is set to the minimum value.
  • the weight related to the orientation is set to the maximum value (right end)
  • the weight related to the position is set to the minimum value.
  • Moving the knob 363 on the scroll bar left or right changes the position and orientation weights in bulk.
  • the third operation image 343 may display a vertical scroll bar instead of a horizontal scroll bar.
  • the third operation image 343 may display a spin button, a combo box, or the like for setting weights related to the position and orientation instead of the scroll bar.
  • an element different from the scroll bar or the like may be displayed in order to set weights related to the position and the direction.
  • the weights related to position and the weights related to orientation often have a complementary relationship depending on the scene. Therefore, in a scene where the weight related to the position is important, it is better to reduce the weight related to the orientation. On the contrary, in a scene where the weight related to the orientation is important, it is better to reduce the weight related to the position.
  • the weights related to the position and the position can be set collectively according to the situation of the tracking target in the frame displayed in the image display area 350, the weights related to the position and the direction can be set appropriately according to the scene. Can be changed.
  • FIG. 14 is an example in which weights are set according to the “passing” scene in response to the operation of the pointer 365 via the terminal device 320.
  • the setting of the third operation image 343 is also changed at the same time. For example, in a scene where many people pass each other, it is preferable to consider the orientation of the face and emphasize the orientation so that the IDs are less likely to be misplaced between the passing tracking targets. For example, when the "passing" scene is selected, the position weight is set to 0.2 and the orientation weight is set to 0.8.
  • the position weight is set to 0.8 and the orientation weight is set to 0.2.
  • FIG. 15 is a conceptual diagram for explaining another example of the display information displayed on the screen of the display device 330.
  • a key point designation area 370 and a key point designation area 380 are set on the screen of the display device 330.
  • An individual designated image 371 and a batch designated image 372 are displayed in the key point designated area 370.
  • an image in which the key point designated in the key point designated area 370 is associated with the human body is displayed.
  • the key points are designated according to the selection of each key point in the individually designated image 371 or the selection of the body part in the batch designated image 372.
  • all the key points designated in the individually designated image 371 are displayed in the key point designated area 380.
  • the selected key point is displayed in a blackened state.
  • a display area other than the key point designation area 370 and the key point designation area 380 may be set on the screen of the display device 330. Further, the display positions of the key point designation area 370 and the key point designation area 380 on the screen can be arbitrarily changed.
  • FIG. 16 is a conceptual diagram for explaining still another example of the display information displayed on the screen of the display device 330.
  • the “trunk” is selected in the batch designated image 372 in response to the operation of the pointer 365 via the terminal device 320.
  • the head (HD), neck (N), right hip (RW), and left hip (LW) are collectively designated.
  • the key point of the “trunk” designated in the batch designated image 372 is displayed in the key point designated area 380.
  • the selected key point is displayed in a blackened state.
  • both hands and feet have a larger change between frames than the trunk, so if the weight is too large, the tracking accuracy may decrease. Therefore, the weights of both hands and feet may be set smaller by default than the weights of the trunk.
  • the right hip (RW), left hip (LW), right knee (RK), left knee (LK), right foot (RF), and left foot (LF) are collectively specified.
  • the right shoulder (RS), right elbow (RE), right hand (RH), right knee (RK), and right foot (RF) are collectively designated.
  • the left shoulder (LS), left elbow (LE), left hand (LH), left knee (LK), and left foot (LF) are collectively designated.
  • right elbow (RE), left elbow (LE), right hand (HR), left hand (LH), right knee (RK), left knee (LK), right foot (RF), The left foot (LF) is specified at once.
  • the right elbow (RE), the left elbow (LE), the right hand (RH), and the left hand (LH) are collectively designated.
  • the right knee (RK), the left knee (LK), the right foot (RF), and the left foot (LF) are collectively designated.
  • the weight of the selected key point is set to 1, and the weight of the non-selected key point is set to 0.
  • the weight of the key points included in the upper body is set to 1.
  • the weight of the key points included in the upper body may be set to 1
  • the weight of the key points included in the lower body may be set to 0.5.
  • the key points that are collectively selected when selected in the batch designated image 372 as described above are an example, and may be a combination different from the above. For example, instead of selecting key points all at once according to body parts, prepare an appropriate set of key points according to the scene or situation in advance so that you can intuitively select those key points. It may be configured. For example, a model in which a skillful user learns key points selected according to a scene or situation may be used to estimate an appropriate key point according to the scene or situation. For example, a question item for setting a key point may be prepared, and a key point may be set according to the answer to the question item. If you configure it so that you can select a set of key points prepared in advance, even users without skills who can individually select key points according to the scene or situation are as appropriate as users with skills. Can be selected.
  • the frame is in a state where the “trunk” is selected and the head (HD), neck (N), right hip (RW), and left hip (LW) are collectively specified.
  • tracking information is associated and displayed with a person detected from.
  • four key points (HD, N, RW, LW) extracted from the person detected from the frame and a line segment (skeleton line) connecting those key points are displayed in association with the person. Will be done.
  • the display information of FIGS. 15 to 16 and the display information of FIG. 17 may be configured to be switched by pressing a button (not shown) displayed on the screen of the display device 330.
  • step S31 the tracking device 30 determines whether or not a key point (KP: KeyPoint) is specified.
  • KP KeyPoint
  • step S32 the tracking device 30 sets the specified key point as an extraction target.
  • step S33 the process proceeds to step S33.
  • step S34 when the position and orientation weights are adjusted (Yes in step S33), the tracking device 30 sets the position and orientation weights according to the adjustment (step S34). After step S34, the process proceeds to the subsequent processing of the flowchart of FIG. If the position and orientation weights have not been adjusted (No in step S33), the process proceeds to the subsequent processing of the flowchart of FIG. 5 without readjusting the position and orientation weights.
  • the tracking system of the present embodiment includes a surveillance camera, a tracking device, and a terminal device.
  • the surveillance camera captures the surveillance target range and generates video data.
  • the terminal device is connected to a display device having a screen for displaying the display information generated by the tracking device.
  • the tracking device includes a video acquisition unit, a storage unit, a detection unit, an extraction unit, a posture information generation unit, a tracking unit, a tracking information output unit, and a setting acquisition unit.
  • the video acquisition unit acquires video data from the surveillance camera.
  • the storage unit stores the acquired video data.
  • the detection unit detects the tracking target from at least two frames constituting the video data.
  • the extraction unit extracts at least one key point from the detected tracking target.
  • the posture information generation unit generates posture information to be tracked based on at least one key point.
  • the tracking unit tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the tracking information output unit outputs tracking information regarding the tracking of the tracking target to the terminal device.
  • the setting acquisition unit acquires the settings input by using the terminal device.
  • the setting acquisition unit acquires weight settings related to position and orientation, key point settings, and the like.
  • the setting acquisition unit reflects the acquired settings in the function of the tracking device.
  • the terminal device sets the image display area and the weight setting area on the screen of the display device.
  • a tracking image in which key points are associated with the tracking target detected from the frames constituting the video data is displayed.
  • the weight setting area an operation image for setting a weight related to a position and a weight related to an orientation is displayed.
  • the terminal device outputs the weight related to the position set in the weight setting area and the weight related to the direction to the tracking device.
  • the tracking device acquires weights related to the selected position and weights related to the orientation in the weight setting area from the terminal device.
  • the tracking device uses the acquired position-related weights and orientation-related weights to calculate a score according to the distance regarding the tracking target and the orientation detected from each of at least two frames constituting the video data.
  • the tracking device tracks the tracked object based on the calculated score.
  • weights related to position and orientation can be arbitrarily adjusted according to the user's operation. Therefore, according to the present embodiment, it is possible to realize highly accurate tracking of the tracking target based on the weight according to the user's request.
  • the terminal device displays an operation image for setting a weight related to a position and a weight related to an orientation according to a scene in a weight setting area.
  • the terminal device outputs the weight related to the position and the weight related to the direction according to the scene set in the weight setting area to the tracking device.
  • the weight regarding the position and the orientation can be arbitrarily adjusted according to the scene. Therefore, according to the present embodiment, it is possible to realize highly accurate tracking of the tracking target suitable for the scene.
  • the terminal device sets a key point designation area on the screen of the display device on which a designated image for designating a key point used for generating posture information to be tracked is displayed.
  • the terminal device outputs the keypoint selected in the keypoint area to the tracking device.
  • the tracking device acquires the key points selected in the key point selection area from the terminal device.
  • the tracking device generates attitude information regarding the acquired key points.
  • the key points used for generating the posture information can be arbitrarily adjusted according to the operation of the user. Therefore, according to the present embodiment, it is possible to realize highly accurate tracking of the tracking target by using the posture information according to the user's request.
  • the tracking device of the present embodiment has a simplified configuration of the tracking device of the first to third embodiments.
  • FIG. 19 is a block diagram showing an example of the configuration of the tracking device 40 of the present embodiment.
  • the tracking device 40 includes a detection unit 43, an extraction unit 45, a posture information generation unit 46, and a tracking unit 47.
  • the detection unit detects the tracking target from 43, at least two frames constituting the video data.
  • the extraction unit 45 extracts at least one key point from the detected tracking target.
  • the posture information generation unit 46 generates posture information to be tracked based on at least one key point.
  • the tracking unit 47 tracks the tracking target based on the position and orientation of the posture information of the tracking target detected from each of at least two frames.
  • the tracking device of the present embodiment tracks a plurality of tracking targets based on the posture in the frame constituting the image by tracking the tracking target based on the position and orientation of the posture information of the tracking target. can.
  • the information processing device 90 of FIG. 20 is a configuration example for executing the processing of the tracking device and the like of each embodiment, and does not limit the scope of the present disclosure.
  • the information processing device 90 includes a processor 91, a main storage device 92, an auxiliary storage device 93, an input / output interface 95, and a communication interface 96.
  • the interface is abbreviated as I / F (Interface).
  • the processor 91, the main storage device 92, the auxiliary storage device 93, the input / output interface 95, and the communication interface 96 are connected to each other via the bus 98 so as to be capable of data communication. Further, the processor 91, the main storage device 92, the auxiliary storage device 93, and the input / output interface 95 are connected to a network such as the Internet or an intranet via the communication interface 96.
  • the processor 91 expands the program stored in the auxiliary storage device 93 or the like to the main storage device 92, and executes the expanded program.
  • the software program installed in the information processing apparatus 90 may be used.
  • the processor 91 executes processing by the tracking device or the like according to the present embodiment.
  • the main storage device 92 has an area in which the program is expanded.
  • the main storage device 92 may be a volatile memory such as a DRAM (Dynamic Random Access Memory). Further, a non-volatile memory such as MRAM (Magnetoresistive Random Access Memory) may be configured / added as the main storage device 92.
  • DRAM Dynamic Random Access Memory
  • MRAM Magnetic Random Access Memory
  • the auxiliary storage device 93 stores various data.
  • the auxiliary storage device 93 is composed of a local disk such as a hard disk or a flash memory. It is also possible to store various data in the main storage device 92 and omit the auxiliary storage device 93.
  • the input / output interface 95 is an interface for connecting the information processing device 90 and peripheral devices.
  • the communication interface 96 is an interface for connecting to an external system or device through a network such as the Internet or an intranet based on a standard or a specification.
  • the input / output interface 95 and the communication interface 96 may be shared as an interface for connecting to an external device.
  • the information processing device 90 may be configured to connect an input device such as a keyboard, a mouse, or a touch panel, if necessary. These input devices are used to input information and settings. When the touch panel is used as an input device, the display screen of the display device may also serve as the interface of the input device. Data communication between the processor 91 and the input device may be mediated by the input / output interface 95.
  • the information processing apparatus 90 may be equipped with a display device for displaying information.
  • a display device it is preferable that the information processing device 90 is provided with a display control device (not shown) for controlling the display of the display device.
  • the display device may be connected to the information processing device 90 via the input / output interface 95.
  • the information processing device 90 may be equipped with a drive device.
  • the drive device mediates between the processor 91 and the recording medium (program recording medium), such as reading data and programs from the recording medium and writing the processing result of the information processing device 90 to the recording medium.
  • the drive device may be connected to the information processing device 90 via the input / output interface 95.
  • the above is an example of a hardware configuration for enabling a tracking device or the like according to each embodiment of the present invention.
  • the hardware configuration of FIG. 20 is an example of a hardware configuration for executing arithmetic processing of the tracking device or the like according to each embodiment, and does not limit the scope of the present invention.
  • a program for causing a computer to execute a process related to a tracking device or the like according to each embodiment is also included in the scope of the present invention.
  • a program recording medium on which a program according to each embodiment is recorded is also included in the scope of the present invention.
  • the recording medium can be realized by, for example, an optical recording medium such as a CD (Compact Disc) or a DVD (Digital Versatile Disc).
  • the recording medium may be realized by a semiconductor recording medium such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) card, a magnetic recording medium such as a flexible disk, or another recording medium.
  • a semiconductor recording medium such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) card
  • a magnetic recording medium such as a flexible disk, or another recording medium.
  • the components such as the tracking device of each embodiment can be arbitrarily combined. Further, the components such as the tracking device of each embodiment may be realized by software or by a circuit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

映像を構成するフレームにおいて、複数の追跡対象を姿勢に基づいて追跡するために、映像データを構成する少なくとも二つのフレームから追跡対象を検出する検出部と、検出された追跡対象から少なくとも一つのキーポイントを抽出する抽出部と、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する姿勢情報生成部と、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する追跡部と、を備える追跡装置とする。

Description

追跡装置、追跡システム、追跡方法、および記録媒体
 本開示は、映像において追跡対象を追跡する追跡装置等に関する。
 人物追跡技術は、監視カメラ等によって撮影された映像を構成する画像フレーム(以下、フレームとも呼ぶ)から人物を検出し、検出された人物を映像において追跡する技術である。人物追跡技術では、例えば、検出された個々の人物を顔認証等で識別して識別番号を付与し、識別番号が付与された人物を映像において追跡する。
 特許文献1には、2次元の関節位置に基づいて3次元の姿勢を推定する姿勢推定装置について開示されている。特許文献1の装置は、入力画像から、追跡対象の位置候補における特徴量を算出し、該特徴量をテンプレートデータと比較した結果得られる類似度の重みに基づき、追跡対象の位置を推定する。特許文献1の装置は、類似度の重みと、3次元動作モデルデータに基づき、追跡対象の位置候補を設定する。特許文献1の装置は、追跡対象の位置の推定と、追跡対象の位置候補の設定とを複数回数繰り返すことにより、追跡対象の位置を追跡する。また、特許文献1の装置は、追跡対象の位置の推定情報と、3次元動作モデルデータを参照して、姿勢推定対象の3次元姿勢を推定する。
 特許文献2には、画像から人物を同定する画像処理装置について開示されている。特許文献2の装置は、入力画像に写る人物の姿勢と、参照画像に写る人物の姿勢との姿勢類似度、入力画像の特徴量、および人物ごとの参照画像の特徴量に基づいて、入力画像に写る人物と、登録された人物とを照合する。
 非特許文献1には、映像に含まれる複数の人物を姿勢追跡する技術について開示されている。非特許文献1の手法では、ビデオの異なるフレームから一対の姿勢推定値をサンプリングし、あるポーズが別のポーズに時間的に追随するかバイナリ分類を行う。さらに、非特許文献1の手法では、パラメータを使用しないキーポイント調整手法を用いて、姿勢推定方法を改善する。
 非特許文献2には、二次元画像に写った複数の人物の骨格を推定する関連技術が開示されている。非特許文献2の技術では、Part Affinity Fieldsという手法を用いて、二次元画像に写った複数の人物の骨格を推定する。
特開2013-092876号公報 特開2017-097549号公報
Michael Snower、 Asim Kadav, Farley Lai, Hans Peter Graf, "15 Keypoints Is All You Need", Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp.6738-6748 Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp.7291-7299
 特許文献1の手法では、一人の人物の2次元の関節位置に関する情報から3次元の姿勢を推定できるが、複数人の人物の3次元の姿勢を推定することができなかった。また、特許文献1の手法では、推定された3次元の姿勢に基づいて、異なるフレームに映る人物が同一人物か否かを判定することはできず、フレーム間にわたって人物の追跡を行うことができなかった。
 特許文献2の手法では、推定された姿勢に関して予め登録された、各人物の姿勢ごとの参照画像の特徴量との類似度に基づいて人物を登録する。そのため、特許文献2の手法では、各人物の姿勢ごとの参照画像がデータベース化されていない限り、姿勢に基づいて人物を追跡することができなかった。
 非特許文献1の手法では、深層学習を用いて姿勢追跡を行うため、追跡精度が学習データに依存する。そのため、非特許文献1の手法では、混雑度や画角、カメラと人との距離、フレームレート等の条件が学習された条件と異なる場合、追跡対象の姿勢に基づいて追跡を継続することができなかった。
 本開示の目的は、映像を構成する複数のフレームにおいて、複数の追跡対象を姿勢に基づいて追跡できる追跡装置を提供することにある。
 本開示の一態様の追跡装置は、映像データを構成する少なくとも二つのフレームから追跡対象を検出する検出部と、検出された追跡対象から少なくとも一つのキーポイントを抽出する抽出部と、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する姿勢情報生成部と、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する追跡部と、を備える。
 本開示の一態様の追跡方法においては、コンピュータが、映像データを構成する少なくとも二つのフレームから追跡対象を検出し、検出された追跡対象から少なくとも一つのキーポイントを抽出し、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成し、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。
 本開示の一態様のプログラムは、映像データを構成する少なくとも二つのフレームから追跡対象を検出する処理と、検出された追跡対象から少なくとも一つのキーポイントを抽出する処理と、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する処理と、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する処理と、をコンピュータに実行させる。
 本開示によれば、映像を構成する複数のフレームにおいて、複数の追跡対象を姿勢に基づいて追跡できる追跡装置を提供することが可能になる。
第1の実施形態に係る追跡システムの構成の一例を示すブロック図である。 第1の実施形態に係る追跡システムの追跡装置が抽出するキーポイントの一例について説明するための概念図である。 第1の実施形態に係る追跡システムの追跡装置による追跡処理について説明するための概念図である。 第1の実施形態に係る追跡システムの追跡装置が追跡対象の追跡に用いるスコアの一例を示すテーブルである。 第1の実施形態に係る追跡システムの動作の概略の一例について説明するためのフローチャートである。 第1の実施形態に係る追跡システムの追跡装置による追跡処理の一例について説明するためのフローチャートである。 第2の実施形態に係る追跡システムの構成の一例を示すブロック図である。 第2の実施形態に係る追跡システムの追跡装置が抽出する骨格線の一例について説明するための概念図である。 第2の実施形態に係る追跡システムの追跡装置による追跡処理の一例について説明するためのフローチャートである。 第3の実施形態に係る追跡システムの構成の一例を示すブロック図である。 第3の実施形態に係る追跡システムの端末装置の構成の一例を示すブロック図である。 第3の実施形態に係る追跡システムの追跡装置が追跡対象の追跡に用いる位置および向きの重みを調整するための画像を含む表示情報を、表示機器の画面に表示させる一例を示す概念図である。 第3の実施形態に係る追跡システムの追跡装置が追跡対象の追跡に用いる位置および向きの重みを調整するための画像を含む表示情報を、表示機器の画面に表示させる一例を示す概念図である。 第3の実施形態に係る追跡システムの追跡装置が追跡対象の追跡に用いる位置および向きの重みを調整するための画像を含む表示情報を、表示機器の画面に表示させる一例を示す概念図である。 第3の実施形態に係る追跡システムの追跡装置が姿勢情報の生成に用いるキーポイントの指定を調整するための画像を含む表示情報を、表示機器の画面に表示させる一例を示す概念図である。 第3の実施形態に係る追跡システムの追跡装置が姿勢情報の生成に用いるキーポイントの指定を調整するための画像を含む表示情報を、表示機器の画面に表示させる一例を示す概念図である。 第3の実施形態に係る追跡システムの追跡装置が追跡対象の追跡に用いる位置および向きの重みを調整するための画像を含む表示情報を、表示機器の画面に表示させる一例を示す概念図である。 第3の実施形態に係る追跡システムの追跡装置が、端末装置を介して設定を受け付ける処理の一例を示すフローチャートである。 第4の実施形態に係る追跡装置の構成の一例を示すブロック図である。 各実施形態に係る追跡装置を実現するハードウェア構成の一例を示すブロック図である。
 以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。
 (第1の実施形態)
 まず、第1の実施形態に係る追跡システムについて図面を参照しながら説明する。本実施形態の追跡システムは、監視カメラ等によって撮影された動画を構成する画像フレーム(フレームとも呼ぶ)から人物等の追跡対象を検出し、検出された追跡対象をフレーム間で追跡する。なお、本実施形態の追跡システムの追跡対象には特に限定を加えない。例えば、本実施形態の追跡システムは、人物のみならず、犬や猫等の動物、自動車や自転車、ロボット等の移動体、任意の物体などを追跡対象としてもよい。以下においては、映像において人物を追跡する例について説明する。
 (構成)
 図1は、本実施形態の追跡システム1の構成の一例を示すブロック図である。追跡システム1は、追跡装置10、監視カメラ110、および端末装置120を備える。図1には、監視カメラ110や端末装置320を一つしか図示していないが、監視カメラ110や端末装置120は複数あってもよい。
 監視カメラ110は、監視対象範囲を撮影可能な位置に配置される。監視カメラ110は、一般的な監視カメラの機能を有する。監視カメラ110は、可視領域に感度があるカメラであってもよいし、赤外領域に感度がある赤外線カメラであってもよい。例えば、監視カメラ110は、人通りのある街頭や室内に配置される。監視カメラ110と追跡装置10の接続方式については、特に限定を加えない。例えば、監視カメラ110は、インターネットやイントラネットなどのネットワークを介して、追跡装置10に接続される。また、監視カメラ110は、追跡装置10にケーブル等で接続されてもよい。
 監視カメラ110は、設定された撮影間隔で監視対象範囲を撮影し、映像データを生成する。監視カメラ110は、生成された映像データを追跡装置10に出力する。映像データは、設定された撮影間隔で撮影された複数のフレームによって構成される。例えば、監視カメラ110は、複数のフレームによって構成される映像データを追跡装置10に出力してもよいし、複数のフレームの各々を撮影された時系列順で追跡装置10に出力してもよい。監視カメラ110が追跡装置10にデータを出力するタイミングには、特に限定を加えない。
 追跡装置10は、映像取得部11、記憶部12、検出部13、抽出部15、姿勢情報生成部16、追跡部17、および追跡情報出力部18を有する。例えば、追跡装置10は、サーバやクラウドに配置される。例えば、追跡装置10は、端末装置120にインストールされるアプリケーションとして提供されてもよい。
 本実施形態において、追跡装置10は、二つの検証対象のフレーム(以下、検証フレームと呼ぶ)の間で追跡対象を追跡していく。時系列順で先行する検証フレームを先行フレームと呼び、後続する検証フレームを後続フレームと呼ぶ。追跡装置10は、先行フレームに含まれる追跡対象と、後続フレームに含まれる追跡対象とを照合することで、フレーム間において追跡対象を追跡する。先行フレームと後続フレームは、連続するフレームであってもよいし、何フレームかを離れていてもよい。
 映像取得部11は、処理対象の映像データを監視カメラ110から取得する。映像取得部11は、取得した映像データを記憶部12に記憶させる。追跡装置10が監視カメラ110からデータを取得するタイミングには、特に限定を加えない。例えば、映像取得部11は、複数のフレームによって構成される映像データを監視カメラ110から取得してもよいし、複数のフレームの各々を撮影順で監視カメラ110から取得してもよい。なお、映像取得部11は、監視カメラ110によって生成された映像データのみならず、図示しない外部のストレージやサーバ等に保存された映像データを取得してもよい。
 記憶部12は、監視カメラ110によって生成された映像データを記憶する。記憶部12に記憶された映像データを構成するフレームは、追跡部17によって取得され、追跡対象の追跡に用いられる。
 検出部13は、記憶部12から検証フレームを取得する。検出部13は、取得した検証フレームから追跡対象を検出する。検出部13は、検証フレームから検出された全ての追跡対象に対してID(Identifier)を割り振る。以下において、先行フレームから検出された追跡対象については、正式なIDが付与されているものとする。検出部13は、後続フレームから検出された追跡対象については、仮のIDを付与する。
 例えば、検出部13は、背景差分法等の検出技術によって、検証フレームから追跡対象を検出する。例えば、検出部13は、動きベクトル等の特徴量を用いた検出技術(例えば、検出アルゴリズム)によって、検証フレームから追跡対象を検出してもよい。検出部13が検出する追跡対象は、人物や、移動する物体(移動体とも呼ぶ)である。例えば、追跡対象が人物である場合、検出部13は、顔検出技術を用いて、検証フレームから追跡対象を検出する。例えば、検出部13は、人体検出技術や物体検出技術を用いて、検証フレームから追跡対象を検出してもよい。例えば、検出部13は、移動体ではないものの、一定の位置において、形や模様、色等の特徴量が変化する物体を検出してもよい。
 抽出部15は、検証フレームから検出された追跡対象から複数のキーポイントを抽出する。例えば、追跡対象が人物の場合、抽出部15は、検証フレームに含まれる人物の頭部や関節、手足等の位置をキーポイントとして抽出する。例えば、抽出部15は、検証フレームに含まれる人物の骨格構造を検出し、検出された骨格構造に基づいてキーポイントを抽出する。例えば、抽出部15は、機械学習を用いた骨格推定技術を用いて、検証フレームに含まれる人物の関節等の特徴に基づいて人物の骨格構造を検出する。例えば、抽出部15は、非特許文献2に開示された骨格推定技術を用いて、検証フレームに含まれる人物の骨格構造を検出する(非特許文献2:Z. Cao et al., The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp.7291-7299)。
 例えば、抽出部15は、右肩は0、右肘は1というように、抽出された各キーポイントに1~nの番号を付す(nは自然数)。例えば、検証フレームから検出された人物のk番目のキーポイントが抽出されなかった場合、そのキーポイントに関しては未検出とする(kは、1以上n以下の自然数)。
 図2は、追跡対象が人物である場合のキーポイントについて説明するための概念図である。図2は、人物を正面から見た図である。図2の例では、一人の人物に対して14個のキーポイントが設定される。HDは、頭部に設定されるキーポイントである。Nは、首に設定されるキーポイントである。RSおよびLSの各々は、右肩および左肩の各々に設定されるキーポイントである。REおよびLEの各々は、右肘および左肘の各々に設定されるキーポイントである。RHおよびLHの各々は、右手および左手の各々に設定されるキーポイントである。RWおよびLWの各々は、右腰および左腰の各々に設定されるキーポイントである。RKおよびLKの各々は、右膝および左膝の各々に設定されるキーポイントである。RFおよびLFの各々は、右足および左足の各々に設定されるキーポイントである。なお、一人の人物に対して設定されるキーポイントの数は14個に限定されない。また、各キーポイントの位置は、図2の例に限定されない。例えば、顔検出を併用し、顔の検出に応じて、目や眉、鼻、口等にキーポイントを設定してもよい。
 姿勢情報生成部16は、抽出部15によって抽出されたキーポイントに基づいて、検証フレームから検出された全ての追跡対象の姿勢情報を生成する。姿勢情報は、検証フレームにおける各追跡対象の各キーポイントの位置情報である。二つの検証フレーム間で追跡対象を追跡する場合、先行フレームから検出される追跡対象の姿勢情報fpは下記の式1で表され、後続フレームから検出される人物の姿勢情報fsは下記の式2で表される。
p={(xp0,yp0),(xp1,yp1),・・・,(xpn,ypn)}・・・(1)
s={(xs0,ys0),(xs1,ys1),・・・,(xsn,ysn)}・・・(2)
上記の式1および式2において、(xpk、ypk)は、k番目のキーポイントの画像上の位置座標である(k、nは自然数)。ただし、先行フレームの人物のk番目のキーポイントが抽出されなかった場合、姿勢情報fpkは未検出となる。同様に、後続フレームの人物のk番目のキーポイントがされなかった場合、姿勢情報fskは未検出となる。
 追跡部17は、先行フレームから検出された追跡対象に対して生成された姿勢情報と、先行フレームから検出された追跡対象に対して生成された姿勢情報とを用いて、フレーム間で追跡対象を追跡する。追跡部17は、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。追跡部17は、後続フレームから検出された追跡対象のうち、先行フレームから検出された追跡対象と同定された追跡対象には、その先行フレームから検出された追跡対象のIDを割り振ることによって、追跡対象を追跡する。なお、後続フレームから検出された追跡対象に対応する追跡対象が先行フレームから検出されなかった場合、その後続フレームから検出された追跡対象に付与されていた仮のIDを正式なIDとしたり、新たなIDを正式なIDとして付与したりすればよい。
 例えば、追跡部17は、フレームにおける座標情報を用いて、追跡対象のキーポイントの位置を計算する。追跡部17は、基準となるキーポイントの位置と、頭部のキーポイントとの間の特定方向における距離を追跡対象の向きとして計算する。例えば、追跡部17は、画面水平方向(x方向)における、首のキーポイントから頭部のキーポイントまでの距離(x方向の距離)を追跡対象の向きとして計算する。追跡部17は、先行フレームから検出された全ての追跡対象と、後続フレームから検出された全ての追跡対象に対して、位置および向きに関する距離を総当たりで計算する。追跡部17は、先行フレームから検出された全ての追跡対象と、後続フレームから検出された全ての追跡対象との間で計算された、位置に関する距離と向きに関する距離の和をスコアとして算出する。追跡部17は、先行フレームから検出された追跡対象と、後続フレームから検出された追跡対象とのペアのうち、スコアが最小となる追跡対象に同一のIDを割り振ることによって、追跡対象を追跡する。
 位置に関する距離Dpは、先行フレームと後続フレームにおける比較中の追跡対象から抽出された各キーポイントの、座標値の差の絶対値の重み付き平均である。各キーポイントの位置に関する重みをwkとすると、追跡部17は、下記の式3を用いて、位置に関する距離Dpを算出する。
Figure JPOXMLDOC01-appb-I000001
ただし、上記の式3において、姿勢情報fpkまたは姿勢情報fskが未検出のキーポイントに関しては、分子の丸括弧の内部とwkは0とする。
 向きに関する距離Ddは、先行フレームと後続フレームにおける比較中の追跡対象から抽出された各キーポイントの、基準点に対する相対的なx座標の差の絶対値の重み付き平均である。首のキーポイントを基準点とし、先行フレームの基準点をxp_neckと表し、後続フレームの基準点をxs_neckと表し、各キーポイントの位置に関する重みをwkとすると、追跡部17は、下記の式4を用いて、向きに関する距離Ddを算出する。
Figure JPOXMLDOC01-appb-I000002
ただし、上記の式4において、姿勢情報fpkまたは姿勢情報fskが未検出のキーポイントに関しては、分子の丸括弧の内部とwkは0とする。
 位置に関する距離Dpと向きに関する距離Ddの合計値がスコアSである。追跡部17は、下記の式5を用いて、スコアSを算出する。
S=Dp+Dd・・・(5)
追跡部17は、先行フレームと後続フレームから検出された比較対象の追跡対象に対してスコアSを総当たりで計算する。追跡部17は、スコアSが最小の追跡対象に対して同一のIDを付与する。
 図3は、追跡部17による、キーポイントの抽出の例(A)、追跡に用いられるキーポイント(骨格線)の抽出の例(B)、IDの割り振りの例(C)について説明するための概念図である。図3においては、上段の図が先行フレームに相当し、下段の図が後続フレームに相当する。
 図3の(A)は、検証フレームに含まれる追跡対象からキーポイントを抽出する例である。図3の(A)には、追跡対象の輪郭と、追跡対象から抽出されたキーポイントを結んだ線分が示されている。図3の(A)においては、先行フレームと後続フレームに二人の人物が含まれる。先行フレームから抽出された二人の人物の各々には、P_ID4とP_ID8というIDが付与されている。後続フレームから抽出された二人の人物の各々には、S_ID1とS_ID2というIDが付与されている。後続フレームから抽出された二人の人物の各々に付与されたIDは、仮のIDである。
 図3の(B)は、追跡対象から抽出されたキーポイントのうち、追跡対象の追跡に用いられるキーポイントを結んだ線分(骨格線とも呼ぶ)のみを抜き出した図である。例えば、追跡に用いられるキーポイントは、予め設定されていてもよいし、検証ごとに設定されてもよい。
 図4は、図3の例に関して、追跡部17が算出するスコアをまとめたテーブルである。後続フレームから検出されたS_ID1の追跡対象と、先行フレームから検出されたP_ID4との間のスコアは0.2である。後続フレームから検出されたS_ID1の追跡対象と、先行フレームから検出されたP_ID8との間のスコアは1.5である。後続フレームから検出されたS_ID2の追跡対象と、先行フレームから検出されたP_ID4との間のスコアは1.3である。後続フレームから検出されたS_ID2の追跡対象と、先行フレームから検出されたP_ID8との間のスコアは0.3である。すなわち、S_ID1の追跡対象に対してスコアが最小の追跡対象はP_ID4である。また、S_ID2の追跡対象に対してスコアが最小の追跡対象はP_ID8である。追跡部17は、S_ID1の追跡対象に対してP_ID4というIDを割り振り、S_ID2の追跡対象に対してP_ID8というIDを割り振る。
 図3の(C)は、図4のスコアの値に基づいて、先行フレームと後続フレームから検出された同一の追跡対象に対して同一のIDが割り振られた状況を示す。このように、先行フレームと後続フレームにおいて同一のIDが割り振られた追跡対象は、さらに後続するフレームにおいて参照される。
 追跡情報出力部18は、追跡部17による追跡結果を含む追跡情報を端末装置120に出力する。例えば、追跡情報出力部18は、検証フレームから検出された追跡対象にキーポイントや骨格線を重ね合わせた画像を追跡情報として出力する。例えば、追跡情報出力部18は、検証フレームから検出された追跡対象の位置に、キーポイントや骨格線が表示される画像を追跡情報として出力する。例えば、追跡情報出力部18から出力された画像は、端末装置120の表示部に表示される。
 端末装置120は、映像データを構成する複数のフレームごとの追跡情報を追跡装置10から取得する。端末装置120は、取得した追跡情報を含む画像を画面に表示させる。例えば、端末装置120は、予め設定された表示条件に従って、追跡情報を含む画像を画面に表示させる。例えば、予め設定された表示条件とは、予め設定されたフレーム番号を含む連続した所定枚数のフレームに対応する追跡情報を含む画像を時系列順に表示させるという条件である。例えば、予め設定された表示条件とは、予め設定された時刻を含む所定時間帯に生成された複数のフレームに対応する追跡情報を含む画像を、時系列順に表示させるという条件である。なお、表示条件は、予め設定されていれば、ここであげた例に限定されない。
 (動作)
 次に、追跡装置10の動作の一例について図面を参照しながら説明する。以下においては、追跡装置10による処理の概要と、追跡装置10の追跡部17による追跡処理の詳細について説明する。
 図5は、追跡装置10の動作について説明するためのフローチャートである。図5において、まず、追跡装置10は、検証フレームを取得する(ステップS11)。追跡装置10は、予め蓄積しておいた検証フレームを取得してもよいし、新たに入力された検証フレームを取得してもよい。
 検証フレームから追跡対象を検出すると(ステップS12でYes)、追跡装置10は、検出された追跡対象にIDを付与する(ステップS13)。このとき追跡装置10が追跡対象に付与するIDは仮のIDである。一方、検証フレームから追跡対象を検出しなかった場合(ステップS12でNo)、ステップS18に進む。
 ステップS13の次に、追跡装置10は、検出された追跡対象からキーポイントを抽出する(ステップS14)。複数の追跡対象が検出された場合、追跡装置10は、検出された追跡対象ごとにキーポイントを抽出する。
 次に、追跡装置10は、追跡対象ごとに姿勢情報を生成する(ステップS15)。姿勢情報は、追跡対象ごとに抽出されたキーポイントの位置情報を、追跡対象ごとに統合した情報である。複数の追跡対象が検出された場合、追跡装置10は、検出された追跡対象ごとに姿勢情報を生成する。
 ここで、先行フレームがある場合(ステップS16でYes)、追跡装置10は、追跡処理を実行する(ステップS17)。一方、先行フレームがない場合(ステップS16でNo)、ステップS18に進む。追跡処理の詳細については、図6のフローチャートを用いて後ほど説明する。
 そして、さらなる後続フレームがある場合(ステップS18でYes)、ステップS11に戻る。一方、さらなる後続フレームがない場合(ステップS18でNo)、図5のフローチャートに沿った処理は終了である。
 図6は、追跡装置10の追跡部17による追跡処理について説明するためのフローチャートである。図6において、まず、追跡部17は、先行フレームと後続フレームに関して、追跡対象間の位置および向きに関する距離を計算する(ステップS171)。
 次に、追跡部17は、追跡対象間の位置および向きに関する距離から追跡対象間のスコアを計算する(ステップS172)。例えば、追跡部17は、追跡対象間の位置に関する距離と向きに関する距離の和をスコアとして算出する。
 次に、追跡部17は、追跡対象間のスコアに応じて、最適な追跡対象の組み合わせを選択する(ステップS173)。例えば、追跡部17は、先行フレームと後続フレームから、スコアが最小となる追跡対象の組み合わせを選択する。
 次に、追跡部17は、選択された組み合わせに応じて、後続フレームから検出された追跡対象にIDを割り振る(ステップS174)。例えば、追跡部17は、先行フレームと後続フレームにおいて、スコアが最小となる追跡対象の組み合わせに対して同一のIDを割り振る。
 以上のように、本実施形態の追跡システムの追跡装置は、検出部、抽出部、姿勢情報生成部、および追跡部を備える。検出部は、映像データを構成する少なくとも二つのフレームから追跡対象を検出する。抽出部は、検出された追跡対象から少なくとも一つのキーポイントを抽出する。姿勢情報生成部は、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する。追跡部は、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。
 本実施形態の追跡装置は、追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。追跡対象を位置のみで追跡すると、複数の追跡対象がすれ違う際に、異なる追跡対象間で識別番号が入れ替わってしまう可能性がある。本実施形態の追跡装置は、追跡対象の位置だけではなく、追跡対象の向きに基づいて追跡対象を追跡するため、複数の追跡対象がすれ違う際に、異なる追跡対象間で識別番号が入れ替わってしまう可能性が低くなる。そのため、本実施形態の追跡装置によれば、追跡対象の姿勢に基づいて、複数のフレームに亘って複数の追跡対象を追跡することが可能になる。すなわち、本実施形態の追跡装置によれば、映像を構成する複数のフレームにおいて、複数の追跡対象を姿勢に基づいて追跡できる。
 また、本実施形態の追跡装置によれば、各追跡対象の姿勢毎の参照画像がデータベース化されていなくても、姿勢に基づいて追跡対象を追跡することができる。さらに、本実施形態の追跡装置によれば、混雑度や画角、カメラと追跡対象との距離、フレームレート等の条件が学習された条件と異なる場合でも、追跡精度が低下しない。すなわち、本実施形態によれば、映像を構成するフレーム中の追跡対象を高精度で追跡できる。本実施形態の追跡装置は、例えば、街中や公共施設、店内等における人物の動線の監視等に適用できる。
 本実施形態の一態様において、追跡部は、少なくとも二つのフレームの各々から検出された追跡対象に関する位置および向きに関する距離に応じたスコアを姿勢情報に基づいて計算する。追跡部は、算出されたスコアに基づいて追跡対象を追跡する。本態様によれば、追跡対象の位置および向きに関する距離に応じたスコアに基づいて追跡対象を追跡することによって、映像を構成するフレーム間において、複数の追跡対象を継続的に追跡できる。
 本実施形態の一態様において、追跡部は、少なくとも二つのフレームの各々から検出された追跡対象に関して、スコアが最小になるペアを同一の追跡対象として追跡する。本態様によれば、スコアが最小になるペアを同一の追跡対象として同定することによって、映像を構成するフレーム間における追跡対象の追跡をより継続的に行うことができる。
 本実施形態の一態様において、追跡部は、少なくとも二つのフレームの各々から検出された追跡対象に関して、キーポイントの座標値の差の絶対値の重み付き平均を位置に関する距離として計算する。追跡部は、少なくとも二つのフレームの各々から検出された追跡対象に関して、キーポイントの基準点に対する特定方向の相対的な座標値の差の絶対値の重み付き平均を向きに関する距離として計算する。追跡部は、少なくとも二つのフレームの各々から検出された追跡対象に関して、位置に関する距離と向きに関する距離の和をスコアとして計算する。本態様によれば、位置および向きに関する重みが明確に定義され、フレーム間における追跡対象の追跡を重み付けに応じて適切に行うことができる。
 本実施形態の一態様において、追跡装置は、追跡対象の追跡に関する追跡情報を出力する追跡情報出力部を備える。追跡情報は、例えば、検証フレームから検出された追跡対象の位置に、キーポイントが表示される画像である。本態様によれば、追跡対象に追跡情報が重ねた画像を表示機器の画面に表示させることによって、追跡対象の姿勢が視覚的に把握しやすくなる。
 (第2の実施形態)
 次に、第2の実施形態に係る追跡システムについて図面を参照しながら説明する。本実施形態の追跡システムは、追跡対象間の位置および向きに関する距離を、フレーム内の追跡対象の大きさで正規化する点において第1の実施形態とは異なる。
 (構成)
 図7は、本実施形態の追跡システム2の構成の一例を示すブロック図である。追跡システム2は、追跡装置20、監視カメラ210、および端末装置220を備える。図7には、監視カメラ210や端末装置220を一つしか図示していないが、監視カメラ210や端末装置220は複数あってもよい。監視カメラ210および端末装置220の各々は、第1の実施形態の監視カメラ110や端末装置120の各々と同様であるので、詳細な説明は省略する。
 追跡装置20は、映像取得部21、記憶部22、検出部23、抽出部25、姿勢情報生成部26、追跡部27、および追跡情報出力部28を有する。例えば、追跡装置20は、サーバやクラウドに配置される。例えば、追跡装置20は、端末装置220にインストールされるアプリケーションとして提供されてもよい。映像取得部21、記憶部22、検出部23、抽出部25、姿勢情報生成部26は、および追跡情報出力部28の各々は、第1の実施形態の対応する構成と同様であるので、詳細な説明を省略する。
 追跡部27は、先行フレームから検出された追跡対象に対して生成された姿勢情報と、先行フレームから検出された追跡対象に対して生成された姿勢情報とを用いて、フレーム間で追跡対象を追跡する。追跡部27は、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。追跡部27は、後続フレームから検出された追跡対象のうち、先行フレームから検出された追跡対象と同定された追跡対象には、その先行フレームから検出された追跡対象のIDを割り振ることによって、追跡対象を追跡する。なお、後続フレームから検出された追跡対象に対応する追跡対象が先行フレームから検出されなかった場合、その後続フレームから検出された追跡対象に付与されていた仮のIDを正式なIDとしたり、新たなIDを正式なIDとして付与したりすればよい。
 例えば、追跡部27は、先行フレームから検出された全ての追跡対象と、後続フレームから検出された全ての追跡対象に対して、追跡対象の大きさで正規化された位置および向きに関する距離を総当たりで計算する。追跡部27は、先行フレームから検出された全ての追跡対象と、後続フレームから検出された全ての追跡対象に対して算出された、追跡対象の大きさで正規化された位置および向きに関する距離の和を、正規化されたスコアとして算出する。追跡部27は、先行フレームから検出された追跡対象と、後続フレームから検出された追跡対象とのペアのうち、正規化されたスコアが最小となる追跡対象に同一のIDを割り振ることによって、追跡対象を追跡する。例えば、フレーム内の追跡対象の人物が直立歩行している場合、人物を矩形等の枠で囲うことによって大きさを推定できる。しかしながら、フレーム内の追跡対象の人物が、座っていたり、頻繁に方向転換をしていたりする場合、人物を矩形等の枠で囲うだけでは大きさを推定することが難しい。このような場合は、下記のように、追跡対象の人物の骨格に基づいて大きさを推定すればよい。
 図8は、追跡部27が追跡対象(人物)の大きさを推定する際に用いる骨格線について説明するための概念図である。骨格線は、特定のキーポイント間を接続する線分である。図8は、人物を正面から見た図である。図8の例では、一人の人物に対して14個のキーポイントが設定され、15本の骨格線が設定される。L1は、HDとNを結ぶ線分である。L21はNとRSを結ぶ線分であり、L22はNとLSを結ぶ線分である。L31はRSとREを結ぶ線分であり、L32はLSとLEを結ぶ線分である。L41はREとRHを結ぶ線分であり、L42はLEとLHを結ぶ線分である。L51はNとRWを結ぶ線分であり、L52はNとLWを結ぶ線分である。L61はRWとRKを結ぶ線分であり、L62はLWとLKを結ぶ線分である。L71はRKとRFを結ぶ線分であり、L42はLKとLFを結ぶ線分である。なお、一人の人物に対して設定されるキーポイントの数は14個に限定されない。また、一人の人物に対して設定される骨格線の数は13個に限定されない。また、各キーポイントや骨格線の位置は、図8の例に限定されない。
 追跡部27は、検証フレーム内の人物に対応する骨格線に基づいて、その人物の直立時の高さ(身長画素数と呼ぶ)を計算する。身長画素数は、検証フレームにおける人物の身長(2フレームにおける人物の全身の長さ)に相当する。追跡部27は、フレームにおける各骨格線の長さから身長画素数(ピクセル数)を求める。
 例えば、追跡部27は、頭部(HD)から足部(RF、LF)までの骨格線の長さを用いて、身長画素数を推定する。例えば、追跡部27は、検証フレーム内の人物から抽出された骨格線のうち、検証フレーム内におけるL1、L51、L61、およびL71の長さの和HRを身長画素数として算出する。例えば、追跡部27は、検証フレーム内の人物から抽出された骨格線のうち、検証フレーム内におけるL1、L52、L62、およびL72の長さの和HLを身長画素数として算出する。例えば、追跡部27は、検証フレーム内におけるL1、L51、L61、およびL71の長さの和HRと、検証フレーム内におけるL1、L52、L62、およびL72の長さの和HLの平均値を身長画素数として算出する。例えば、追跡部27は、より正確な身長画素数を算出するために、各骨格線の傾きや姿勢等を補正するための補正係数で各骨格線を補正した上で、身長画素数を算出してもよい。
 例えば、追跡部27は、平均的な人物の各骨格線の長さと身長との関係に基づいて、個々の骨格線の長さを用いて身長画素数を推定してもよい。例えば、頭部(HD)と首(N)を結ぶ骨格線(L1)の長さは、身長の20パーセント程度である。例えば、肘(RE、LE)と手(RH、LH)を結ぶ骨格線の長さは、身長の25パーセント程度である。このように、各骨格線の長さの身長に対する割合を記憶部(図示しない)に記憶させておけば、検証フレームから検出された人物の各骨格線の長さに基づいて、その人物の身長に対応する身長画素数を推定できる。また、平均的な人物の各骨格線の長さの身長に対する割合は、年齢によって異なる傾向がある。そのため、人物の年齢ごとに、平均的な人物の各骨格線の長さの身長に対する割合を記憶部に記憶させておいてもよい。例えば、平均的な人物の各骨格線の長さの身長に対する割合を記憶部に記憶させておけば、直立した人物を検証フレームから検出できた場合、その人物の各骨格線の長さに基づいて、その人物の大まかな年齢を推定することもできる。なお、上述した骨格線の長さに基づく身長画素数の推定方法は、一例であって、追跡部27による身長画素数の推定方法を限定するものではない。
 追跡部27は、推定された身長画素数で、位置に関する距離Dpと向きに関する距離Ddを正規化する。ここで、比較対象の人物に関して、先行フレームから検出された身長をHp、後続フレームから検出された身長をHsとする。追跡部27は、位置に関する正規化距離NDpを下記の式6を用いて算出し、向きに関する正規化距離NDdを下記の式7を用いて算出する。
Figure JPOXMLDOC01-appb-I000003

Figure JPOXMLDOC01-appb-I000004
そして、追跡部27は、下記の式8を用いて、正規化されたスコア(正規化スコアNS)を算出する。
NS=NDp+NDd・・・(8)
追跡部27は、先行フレームと後続フレームから検出された比較中の追跡対象に対して正規化スコアNSを総当たりで計算し、正規化スコアNSが最小の追跡対象に同一のIDを付与する。
 (動作)
 次に、追跡装置20の動作の一例について図面を参照しながら説明する。追跡装置20による処理の概要は、第1の実施形態と同様であるので省略する。以下においては、追跡装置20の追跡部27による追跡処理の詳細について説明する。
 図9は、追跡装置20の追跡部27による追跡処理について説明するためのフローチャートである。図9において、まず、追跡部27は、検証フレームから検出された検出対象の骨格線に基づいて、追跡対象の身長画素数を推定する(ステップS271)。
 次に、追跡部27は、先行フレームと後続フレームに関して、追跡対象間の位置および向きに関する正規化距離を計算する(ステップS272)。正規化距離は、推定された身長画素数で正規化された位置および向きに関する距離である。
 次に、追跡部27は、追跡対象間の位置および向きに関する正規化距離から追跡対象間の正規化スコアを計算する(ステップS273)。例えば、追跡部17は、追跡対象間の位置に関する正規化距離と向きに関する正規化距離の和を正規化スコアとして算出する。
 次に、追跡部27は、追跡対象間の正規化スコアに応じて、最適な追跡対象の組み合わせを選択する(ステップS274)。例えば、追跡部27は、先行フレームと後続フレームから、正規化スコアが最小となる追跡対象の組み合わせを選択する。
 次に、追跡部27は、選択された組み合わせに応じて、後続フレームから検出された追跡対象にIDを割り振る(ステップS275)。例えば、追跡部27は、先行フレームと後続フレームにおいて、正規化スコアが最小となる追跡対象の組み合わせに対して同一のIDを割り振る。
 以上のように、本実施形態の追跡システムの追跡装置は、検出部、抽出部、姿勢情報生成部、および追跡部を備える。検出部は、映像データを構成する少なくとも二つのフレームから追跡対象を検出する。抽出部は、検出された追跡対象から少なくとも一つのキーポイントを抽出する。姿勢情報生成部は、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する。追跡部は、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。
 さらに、本実施形態において、追跡部は、複数のキーポイントのうちいずれかの間を結ぶ骨格線に基づいて追跡対象の身長画素数を推定する。追跡部は、推定された身長画素数でスコアを正規化し、正規化されたスコアに応じて、少なくとも二つのフレームの各々から検出された追跡対象を追跡する。
 本実施形態では、フレーム中における追跡対象の大きさに応じてスコアを正規化する。そのため、本実施形態によれば、監視カメラとの位置関係によって大きく映った追跡対象を過大に評価することがなくなり、フレーム内の位置における追跡の偏りを低減できる。そのため、本実施形態によれば、映像を構成する複数のフレームに亘って、より高精度な追跡が可能になる。また、本実施形態によれば、追跡対象の姿勢にかかわらず追跡できるため、フレーム間における姿勢の変化が大きい場合であっても、追跡対象の追跡を継続できる。
 本実施形態の一態様において、追跡装置は、追跡対象の追跡に関する追跡情報を出力する追跡情報出力部を備える。追跡情報は、例えば、検証フレームから検出された追跡対象の位置に、骨格線が表示される画像である。本態様によれば、追跡対象に追跡情報が重ねた画像を表示機器の画面に表示させることによって、追跡対象の姿勢が視覚的に把握しやすくなる。
 (第3の実施形態)
 次に、第3の実施形態に係る追跡システムについて図面を参照しながら説明する。本実施形態の追跡システムは、位置および向きの重みの設定や、キーポイントの設定をするためのユーザインタフェースを表示させる点において、第1および第2の実施形態とは異なる。
 (構成)
 図10は、本実施形態の追跡システム3の構成の一例を示すブロック図である。追跡システム3は、追跡装置30、監視カメラ310、および端末装置320を備える。図10には、監視カメラ310や端末装置320を一つしか図示していないが、監視カメラ310や端末装置320は複数あってもよい。監視カメラ310は、第1の実施形態の監視カメラ110と同様であるので、詳細な説明は省略する。
 追跡装置30は、映像取得部31、記憶部32、検出部33、抽出部35、姿勢情報生成部36、追跡部37、追跡情報出力部38、および設定取得部39を有する。例えば、追跡装置30は、サーバやクラウドに配置される。例えば、追跡装置30は、端末装置320にインストールされるアプリケーションとして提供されてもよい。映像取得部31、記憶部32、検出部33、抽出部35、姿勢情報生成部36は、追跡部37、および追跡情報出力部38の各々は、第1の実施形態の対応する構成と同様であるので、詳細な説明を省略する。
 図11は、端末装置320等の構成の一例を示すブロック図である。端末装置320は、追跡情報取得部321、追跡情報記憶部322、表示部323、および入力部324を有する。図11には、端末装置320に接続される追跡装置10、入力機器327、および表示機器330を併せて図示する。
 追跡情報取得部321は、映像データを構成する複数のフレームごとの追跡情報を追跡装置30から取得する。追跡情報取得部321は、フレームごとの追跡情報を追跡情報記憶部322に記憶させる。
 追跡情報記憶部322は、追跡装置30から取得した追跡情報を記憶する。追跡情報記憶部322に記憶された追跡情報は、例えばユーザの操作等に応じて、表示部323の画面にGUI(Graphical User Interface)として表示される。
 表示部323は、画面を有する表示機器330に接続される。表示部323は、追跡情報記憶部322から追跡情報を取得する。表示部323は、取得した追跡情報を含む表示情報を表示機器330の画面に表示させる。なお、端末装置320が表示機器330の機能を含んでいてもよい。
 例えば、表示部323は、入力部324を介してユーザによる操作を受け付け、受け付けた操作内容に応じた表示情報を表示機器330の画面に表示させる。例えば、表示部323は、ユーザによって指定されたフレーム番号のフレームに対応する表示情報を表示機器330の画面に表示させる。例えば、表示部323は、ユーザによって指定されたフレーム番号のフレームを含む一連の複数のフレームの各々に対応する表示情報を、時系列順に表示機器330の画面に表示させる。
 例えば、表示部323は、予め設定された表示条件に従って、少なくとも一つの表示情報を表示機器330の画面に表示させてもよい。例えば、予め設定された表示条件とは、予め設定されたフレーム番号を含む連続した所定枚数のフレームに対応する複数の表示情報を時系列順に表示させるという条件である。例えば、予め設定された表示条件とは、予め設定された時刻を含む所定時間帯に生成された複数のフレームに対応する複数の表示情報を時系列順に表示させるという条件である。なお、表示条件は、予め設定されていれば、ここであげた例に限定されない。
 入力部324は、ユーザによる操作を受け付ける入力機器327に接続される。例えば、入力機器327は、キーボードやタッチパネル、マウス等によって実現される。入力部324は、入力機器327を介して入力されたユーザによる操作内容を追跡装置30に出力する。また、入力部324は、映像データやフレーム、表示情報等の指定をユーザから受け付けた場合、指定された画像を画面に表示させる指示を表示部323に出力する。
 設定取得部39は、端末装置320を用いて入力された設定を取得する。設定取得部39は、位置や向きに関する重みの設定や、キーポイントの設定等を取得する。設定取得部39は、取得した設定を追跡装置30の機能に反映させる。
 図12は、表示機器330の画面に表示される表示情報の一例について説明するための概念図である。表示機器330の画面には、重み設定領域340と画像表示領域350が設定される。設定領域340には、位置に関する重みを設定するための第1操作画像341と、向きに関する重みを設定するための第2操作画像342とが表示される。画像表示領域350には、監視カメラ310によって撮影された映像を構成するフレームごとの追跡画像が表示される。なお、表示機器330の画面には、重み設定領域340および画像表示領域350以外の表示領域を設定してもよい。また、重み設定領域340および画像表示領域350の画面上における表示位置は、任意に変更できる。
 第1操作画像341には、位置に関する重みを設定するためのスクロールバーが表示される。位置に関する重みは、先行フレームと後続フレームの各々から検出された追跡対象を比較する際に、それらの追跡対象の位置をどの程度重視するかを示す指標値である。位置に関する重みは、0以上1以下の範囲に設定される。第1操作画像341に表示されるスクロールバーには、位置に関する重みの最小値(左端)と最大値(右端)が設定される。スクロールバー上のノブ361を左右に移動させると、位置に関する重みが変更される。図12の例では、位置に関する重みは0.8に設定される。なお、第1操作画像341には、横方向のスクロールバーではなく、縦方向のスクロールバーが表示されてもよい。また、第1操作画像341には、スクロールバーではなく、位置に関する重みを設定するためのスピンボタンやコンボボックス等を表示させてもよい。また、第1操作画像341には、位置に関する重みを設定するために、スクロールバー等とは異なる要素が表示されてもよい。
 第2操作画像342には、向きに関する重みを設定するためのスクロールバーが表示される。向きに関する重みは、先行フレームと後続フレームの各々から検出された追跡対象を比較する際に、それらの追跡対象の向きをどの程度重視するかを示す指標値である。向きに関する重みは、0以上1以下の範囲に設定される。第2操作画像342に表示されるスクロールバーには、向きに関する重みの最小値(左端)と最大値(右端)が設定される。スクロールバー上のノブ362を左右に移動させると、向きに関する重みが変更される。図12の例では、向きに関する重みは0.2に設定される。なお、第2操作画像342には、横方向のスクロールバーではなく、縦方向のスクロールバーが表示されてもよい。また、第2操作画像342には、スクロールバーではなく、向きに関する重みを設定するためのスピンボタンやコンボボックス等を表示させてもよい。また、第2操作画像342には、向きに関する重みを設定するために、スクロールバー等とは異なる要素が表示されてもよい。
 図12の例では、11~16のIDが付与された6人の人物を追跡対象として含むフレームが画像表示領域350に表示される。図12には、後続フレームに対応する画像を画像表示領域350に表示させる例を示す。画像表示領域350には、先行フレームと後続フレームを並べて表示させてもよい。また、画像表示領域350には、図示しないボタンの選択等に応じて、先行フレームと後続フレームを切り替えるように表示させてもよい。
 図12の例では、フレームから検出された人物に対応付けられた追跡情報が表示される。追跡情報は、フレームから検出された人物から抽出された複数のキーポイントと、それらのキーポイントを結ぶ線分(骨格線)とが人物に対応付けられて表示される。例えば、端末装置320を介したユーザの操作に応じて、画像表示領域350に追跡情報を表示させるか否かを切り替えることができるようにしてもよい。図12の例では、6人の人物が同じ向きに向けて歩いている。このように、同じ向きに移動する追跡対象が多い場合、フレーム間で追跡対象を高精度で追跡するためには、向きに比べて位置を重視する方がよい。同じ向きに移動する追跡対象が多い場合、位置に関する重みと向きに関する重みを同じにすると、向きに関する重みが過剰に見積もられ、追跡精度が低下する可能性がある。そのため、同じ向きに移動する追跡対象が多い場合には、位置に関する重みを大きめに設定すれば、向きに関する重みを低めに設定することによって、追跡精度の低下を低減できる。
 図13は、表示機器330の画面に表示される表示情報の別の一例について説明するための概念図である。図13の例では、位置に関する重みが0.2に設定され、向きに関する重みが0.8に設定される。図13の例では、6人の人物がすれ違うように歩いている。このように、すれ違うように移動する追跡対象が多い場合、フレーム間で追跡対象を高い精度で追跡するためには、位置に比べて向きを重視する方がよい。すれ違うように移動する追跡対象が多い場合、向きに関する重みと位置に関する重みを同じにすると、位置に関する重みが過剰に見積もられ、追跡精度が低下する可能性がある。そのため、すれ違うように移動する追跡対象が多い場合には、向きに関する重みを大きめに設定し、位置に関する重みを低めに設定することによって、追跡精度の低下を低減できる。
 図14は、表示機器330の画面に表示される表示情報のさらに別の一例について説明するための概念図である。図14の例では、位置および向きに関する重みを設定するための第3操作画像343と、シーンに応じた位置および向きに関する重みを設定するための第4操作画像344を重み設定領域340に表示させる。なお、第3操作画像343と第4操作画像344は、重み設定領域340に同時に表示させなくてもよい。
 第3操作画像343には、位置およびに関する重みを設定するためのスクロールバーが表示される。第1操作画像341に表示されるスクロールバーには、位置に関する重みの最大値(左端)と、向きに関する重みの最大値(右端)が設定される。位置に関する重みが最大値(左端)に設定されると、向きに関する重みが最小値に設定される。一方、向きに関する重みが最大値(右端)に設定されると、位置に関する重みが最小値に設定される。スクロールバー上のノブ363を左右に移動させると、位置および向きに関する重みが一括で変更される。なお、第3操作画像343には、横方向のスクロールバーではなく、縦方向のスクロールバーが表示されてもよい。また、第3操作画像343には、スクロールバーではなく、位置および向きに関する重みを設定するためのスピンボタンやコンボボックス等を表示させてもよい。また、第3操作画像343には、位置および向きに関する重みを設定するために、スクロールバー等とは異なる要素が表示されてもよい。位置に関する重みと、向きに関する重みは、シーンに応じて相補的な関係にあることが多い。そのため、位置に関する重みを重視するシーンでは、向きに関する重みを小さくした方がよい。その反対に、向きに関する重みを重視するシーンでは、位置に関する重みを小さくした方がよい。図14の例では、画像表示領域350に表示されたフレーム内における追跡対象の状況に応じて、位置およびに関する重みを一括で設定できるので、位置および向きに関する重みの設定をシーンに応じて適切に変更できる。
 第4操作画像344には、シーンに応じた位置および向きに関する重みを設定するためのチェックボックスが表示される。図14は、端末装置320を介したポインター365の操作に応じて、「すれ違い」のシーンに応じた重みが設定された例である。図14の例では、第4操作画像344でいずれかのシーンが選択されると、第3操作画像343の設定も同時に変更されるものとする。例えば、多くの人がすれ違うシーンでは、すれ違った追跡対象間でIDの入れ違いが起こりにくくなるように、顔の向きを考慮して向きを重視する方が好ましい。例えば、「すれ違い」のシーンが選択されると、位置の重みが0.2、向きの重みが0.8に設定される。例えば、同じ向きに移動する人物が多いシーンでは、顔の向きによらず、位置を重視すればよい。例えば、「同じ向き」のシーンが選択されると、位置の重みが0.8、向きの重みが0.2に設定される。画像表示領域350に表示されたフレーム内における追跡対象の状況に応じてシーンを選択することによって、位置および向きに関する重みの設定を直感的に変更できる。
 図15は、表示機器330の画面に表示される表示情報の別の一例について説明するための概念図である。表示機器330の画面には、キーポイント指定領域370とキーポイント指定領域380が設定される。キーポイント指定領域370には、個別指定画像371と一括指定画像372が表示される。キーポイント指定領域380には、キーポイント指定領域370で指定されたキーポイントが人体に対応付けられた画像が表示される。例えば、個別指定画像371における各キーポイントの選択や、一括指定画像372における体の部分の選択に応じて、キーポイントが指定される。図15の例は、個別指定画像371において指定された全てのキーポイントは、キーポイント指定領域380に表示される。キーポイント指定領域380には、選択されたキーポイントが黒く塗り潰された状態で表示される。なお、表示機器330の画面には、キーポイント指定領域370およびキーポイント指定領域380以外の表示領域を設定してもよい。また、キーポイント指定領域370およびキーポイント指定領域380の画面上における表示位置は、任意に変更できる。
 図16は、表示機器330の画面に表示される表示情報のさらに別の一例について説明するための概念図である。図16の例では、端末装置320を介したポインター365の操作に応じて、一括指定画像372において「体幹」が選択された例である。一括指定画像372において「体幹」が選択されると、頭部(HD)、首(N)、右腰(RW)、左腰(LW)が一括で指定される。図16の例では、一括指定画像372において指定された「体幹」のキーポイントは、キーポイント指定領域380に表示される。キーポイント指定領域370には、選択されたキーポイントが黒く塗り潰された状態で表示される。例えば、両手両足は、体幹に比べてフレーム間における変化が大きいため、重みが大きすぎると追跡精度が低下する可能性がある。そのため、両手両足の重みは、体幹の重みと比べて、デフォルトで小さく設定されてもよい。
 例えば、「上半身」が選択されると、頭部(HD)、首(N)、右肩(RS)、左肩(LS)、右肘(RE)、左肘(LE)、右手(RH)、左手(LH)が一括で指定される。例えば、「下半身」が選択されると、右腰(RW)、左腰(LW)、右膝(RK)、左膝(LK)、右足(RF)、左足(LF)が一括で指定される。例えば、「右半身」が選択されると、右肩(RS)、右肘(RE)、右手(RH)、右膝(RK)、右足(RF)が一括で指定される。例えば、「左半身」が選択されると、左肩(LS)、左肘(LE)、左手(LH)、左膝(LK)、左足(LF)が一括で指定される。例えば、「手足」が選択されると、右肘(RE)、左肘(LE)、右手(HR)、左手(LH)、右膝(RK)、左膝(LK)、右足(RF)、左足(LF)が一括で指定される。例えば、「腕」が選択されると、右肘(RE)、左肘(LE)、右手(RH)、左手(LH)が一括で指定される。例えば、「足」が選択されると、右膝(RK)、左膝(LK)、右足(RF)、左足(LF)が一括で指定される。
 例えば、選択されたキーポイントの重みは1に設定され、選択されなかったキーポイントの重みは0に設定される。例えば、上半身が選択された場合、上半身に含まれるキーポイントの重みが1に設定される。例えば、上半身が選択された場合、上半身に含まれるキーポイントの重みが1に設定され、下半身に含まれるキーポイントの重みが0.5に設定されるように構成してもよい。
 上述したような、一括指定画像372で選択された際に一括で選択されるキーポイントは、一例であって、上述とは異なる組み合わせであってもよい。例えば、体の部分によって一括でキーポイントを選択するのではなく、シーンや状況に応じた適切なキーポイントのセットを予め用意しておき、それらのキーポイントのセットを直感的に選択できるように構成してもよい。例えば、スキルのあるユーザによってシーンや状況に応じて選択されたキーポイントを学習させたモデルを用いて、シーンや状況に応じた適切なキーポイントを推定するように構成してもよい。例えば、キーポイントを設定するための質問事項を用意しておき、質問事項の答えに応じてキーポイントを設定してもよい。予め用意されたキーポイントのセットを選択できるように構成すれば、シーンや状況に応じてキーポイントを個別に選択できるスキルのないユーザであっても、スキルのあるユーザと同様に適切なキーポイントを選択できる。
 図17は、図16のように、「体幹」が選択され、頭部(HD)、首(N)、右腰(RW)、左腰(LW)が一括で指定された状態で、フレームから検出された人物に追跡情報が対応付けられて表示される例である。追跡情報は、フレームから検出された人物から抽出された4つのキーポイント(HD、N、RW、LW)と、それらのキーポイントを結ぶ線分(骨格線)とが人物に対応付けられて表示される。図17のように、追跡対象が同じ向きに向けて移動する場合、追跡対象の位置を把握できれば十分であるので、比較的移動の少ない体幹のキーポイントを重視して追跡すればよい。例えば、図15~図16の表示情報と、図17の表示情報は、表示機器330の画面に表示させた図示しないボタンの押下によって切り替わるように構成すればよい。
 (動作)
 次に、追跡装置30の動作の一例について図面を参照しながら説明する。追跡装置30による処理の概要は、第1の実施形態と同様であるので省略する。以下においては、追跡装置30の追跡部37における設定処理の詳細について説明する。例えば、図5のステップS13~S14の間のいずれかに挿入される。設定処理は、キーポイントの指定や、位置および向きの重みの調整に応じて実行される。
 図18において、まず、追跡装置30は、キーポイント(KP:Key Point)の指定の有無を判定する(ステップS31)。キーポイントの指定があった場合(ステップS31でYes)、追跡装置30は、指定されたキーポイントを抽出対象として設定する(ステップS32)。一方、キーポイントの指定がなかった場合(ステップS31でNo)、ステップS33に進む。
 次に、位置および向きの重みの調整があった場合(ステップS33でYes)、追跡装置30は、調整に応じて位置および向きの重みを設定する(ステップS34)。ステップS34の後は、図5のフローチャートの後続する処理に移行する。また、位置および向きの重みの調整がなかった場合(ステップS33でNo)、位置および向きの重みの再調整はせずに、図5のフローチャートの後続する処理に移行する。
 以上のように、本実施形態の追跡システムは、監視カメラ、追跡装置、および端末装置を備える。監視カメラは、監視対象範囲を撮影して映像データを生成する。端末装置は、追跡装置によって生成される表示情報を表示させる画面を有する表示機器に接続される。追跡装置は、映像取得部、記憶部、検出部、抽出部、姿勢情報生成部、追跡部、追跡情報出力部、および設定取得部を有する。映像取得部は、監視カメラから映像データを取得する。記憶部は、取得された映像データを記憶する。検出部は、映像データを構成する少なくとも二つのフレームから追跡対象を検出する。抽出部は、検出された追跡対象から少なくとも一つのキーポイントを抽出する。姿勢情報生成部は、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する。追跡部は、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。追跡情報出力部は、追跡対象の追跡に関する追跡情報を端末装置に出力する。設定取得部は、端末装置を用いて入力された設定を取得する。設定取得部は、位置や向きに関する重みの設定や、キーポイントの設定等を取得する。設定取得部は、取得した設定を追跡装置の機能に反映させる。
 本実施形態において、端末装置は、画像表示領域と重み設定領域を表示機器の画面に設定する。画像表示領域には、映像データを構成するフレームから検出された追跡対象に対してキーポイントが対応付けられた追跡画像が表示される。重み設定領域には、位置に関する重みと向きに関する重みを設定するための操作画像が表示される。端末装置は、重み設定領域において設定された位置に関する重みと向きに関する重みを追跡装置に出力する。追跡装置は、重み設定領域において選択された位置に関する重みと向きに関する重みを端末装置から取得する。追跡装置は、取得した位置に関する重みと向きに関する重みを用いて、映像データを構成する少なくとも二つのフレームの各々から検出された追跡対象に関する位置および向きに関する距離に応じたスコアを計算する。追跡装置は、算出されたスコアに基づいて追跡対象を追跡する。
 本実施形態では、ユーザの操作に応じて、位置および向きに関する重みを任意に調整できる。そのため、本実施形態によれば、ユーザの要求に応じた重みに基づいて、高精度な追跡対象の追跡を実現できる。
 本実施形態の一態様において、端末装置は、位置に関する重みと向きに関する重みをシーンに応じて設定するための操作画像を重み設定領域に表示させる。端末装置は、重み設定領域において設定されたシーンに応じた位置に関する重みと向きに関する重みを追跡装置に出力する。本態様によれば、シーンに応じて、位置および向きに関する重みを任意に調整できる。そのため、本実施形態によれば、シーンに適した高精度な追跡対象の追跡を実現できる。
 本実施形態の一態様において、端末装置は、追跡対象の姿勢情報の生成に用いられるキーポイントを指定するための指定画像が表示されるキーポイント指定領域を表示機器の画面に設定する。端末装置は、キーポイント領域において選択されたキーポイントを追跡装置に出力する。追跡装置は、キーポイント選択領域において選択されたキーポイントを端末装置から取得する。追跡装置は、取得したキーポイントに関して姿勢情報を生成する。本態様では、ユーザの操作に応じて、姿勢情報の生成に用いられるキーポイントを任意に調整できる。そのため、本実施形態によれば、ユーザの要求に応じた姿勢情報を用いて、高精度な追跡対象の追跡を実現できる。
 (第4の実施形態)
 次に、第4の実施形態に係る追跡装置について図面を参照しながら説明する。本実施形態の追跡装置は、第1~第3の実施形態の追跡装置を簡略化した構成である。図19は、本実施形態の追跡装置40の構成の一例を示すブロック図である。追跡装置40は、検出部43、抽出部45、姿勢情報生成部46、および追跡部47を備える。
 検出部は43、映像データを構成する少なくとも二つのフレームから追跡対象を検出する。抽出部45は、検出された追跡対象から少なくとも一つのキーポイントを抽出する。姿勢情報生成部46は、少なくとも一つのキーポイントに基づいて追跡対象の姿勢情報を生成する。追跡部47は、少なくとも二つのフレームの各々から検出された追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡する。
 以上のように、本実施形態の追跡装置は、追跡対象の姿勢情報の位置および向きに基づいて追跡対象を追跡することによって、映像を構成するフレームにおいて、複数の追跡対象を姿勢に基づいて追跡できる。
 (ハードウェア)
 ここで、本開示の各実施形態に係る追跡装置や端末装置等(以下、追跡装置等とよぶ)の処理を実行するハードウェア構成について、図20の情報処理装置90を一例として挙げて説明する。なお、図20の情報処理装置90は、各実施形態の追跡装置等の処理を実行するための構成例であって、本開示の範囲を限定するものではない。
 図20のように、情報処理装置90は、プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95、および通信インターフェース96を備える。図20においては、インターフェースをI/F(Interface)と略して表記する。プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95、および通信インターフェース96は、バス98を介して互いにデータ通信可能に接続される。また、プロセッサ91、主記憶装置92、補助記憶装置93および入出力インターフェース95は、通信インターフェース96を介して、インターネットやイントラネットなどのネットワークに接続される。
 プロセッサ91は、補助記憶装置93等に格納されたプログラムを主記憶装置92に展開し、展開されたプログラムを実行する。本実施形態においては、情報処理装置90にインストールされたソフトウェアプログラムを用いる構成とすればよい。プロセッサ91は、本実施形態に係る追跡装置等による処理を実行する。
 主記憶装置92は、プログラムが展開される領域を有する。主記憶装置92は、例えばDRAM(Dynamic Random Access Memory)などの揮発性メモリとすればよい。また、MRAM(Magnetoresistive Random Access Memory)などの不揮発性メモリを主記憶装置92として構成・追加してもよい。
 補助記憶装置93は、種々のデータを記憶する。補助記憶装置93は、ハードディスクやフラッシュメモリなどのローカルディスクによって構成される。なお、種々のデータを主記憶装置92に記憶させる構成とし、補助記憶装置93を省略することも可能である。
 入出力インターフェース95は、情報処理装置90と周辺機器とを接続するためのインターフェースである。通信インターフェース96は、規格や仕様に基づいて、インターネットやイントラネットなどのネットワークを通じて、外部のシステムや装置に接続するためのインターフェースである。入出力インターフェース95および通信インターフェース96は、外部機器と接続するインターフェースとして共通化してもよい。
 情報処理装置90には、必要に応じて、キーボードやマウス、タッチパネルなどの入力機器を接続するように構成してもよい。それらの入力機器は、情報や設定の入力に使用される。なお、タッチパネルを入力機器として用いる場合は、表示機器の表示画面が入力機器のインターフェースを兼ねる構成とすればよい。プロセッサ91と入力機器との間のデータ通信は、入出力インターフェース95に仲介させればよい。
 また、情報処理装置90には、情報を表示するための表示機器を備え付けてもよい。表示機器を備え付ける場合、情報処理装置90には、表示機器の表示を制御するための表示制御装置(図示しない)が備えられていることが好ましい。表示機器は、入出力インターフェース95を介して情報処理装置90に接続すればよい。
 また、情報処理装置90には、ドライブ装置を備え付けてもよい。ドライブ装置は、プロセッサ91と記録媒体(プログラム記録媒体)との間で、記録媒体からのデータやプログラムの読み込み、情報処理装置90の処理結果の記録媒体への書き込みなどを仲介する。ドライブ装置は、入出力インターフェース95を介して情報処理装置90に接続すればよい。
 以上が、本発明の各実施形態に係る追跡装置等を可能とするためのハードウェア構成の一例である。なお、図20のハードウェア構成は、各実施形態に係る追跡装置等の演算処理を実行するためのハードウェア構成の一例であって、本発明の範囲を限定するものではない。また、各実施形態に係る追跡装置等に関する処理をコンピュータに実行させるプログラムも本発明の範囲に含まれる。さらに、各実施形態に係るプログラムを記録したプログラム記録媒体も本発明の範囲に含まれる。記録媒体は、例えば、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光学記録媒体で実現できる。また、記録媒体は、USB(Universal Serial Bus)メモリやSD(Secure Digital)カードなどの半導体記録媒体や、フレキシブルディスクなどの磁気記録媒体、その他の記録媒体によって実現してもよい。プロセッサが実行するプログラムが記録媒体に記録されている場合、その記録媒体はプログラム記録媒体に相当する。
 各実施形態の追跡装置等の構成要素は、任意に組み合わせることができる。また、各実施形態の追跡装置等の構成要素は、ソフトウェアによって実現してもよいし、回路によって実現してもよい。
 以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 1、2、3  追跡システム
 10、20、30、40  追跡装置
 11、21、31  映像取得部
 12、22、32  記憶部
 13、23、33、43  検出部
 15、25、35、45  抽出部
 16、26、36、46  姿勢情報生成部
 17、27、37、47  追跡部
 18、28、38  追跡情報出力部
 39  設定取得部
 110、210、310  監視カメラ
 120、220、320  端末装置
 321  追跡情報取得部
 322  追跡情報記憶部
 323  表示部
 324  入力部
 327  入力機器
 330  表示機器

Claims (10)

  1.  映像データを構成する少なくとも二つのフレームから追跡対象を検出する検出手段と、
     検出された前記追跡対象から少なくとも一つのキーポイントを抽出する抽出手段と、
     前記少なくとも一つのキーポイントに基づいて前記追跡対象の姿勢情報を生成する姿勢情報生成手段と、
     前記少なくとも二つのフレームの各々から検出された前記追跡対象の前記姿勢情報の位置および向きに基づいて前記追跡対象を追跡する追跡手段と、を備える追跡装置。
  2.  前記追跡手段は、
     前記少なくとも二つのフレームの各々から検出された前記追跡対象に関する位置および向きに関する距離に応じたスコアを前記姿勢情報に基づいて計算し、算出された前記スコアに基づいて前記追跡対象を追跡する請求項1に記載の追跡装置。
  3.  前記追跡手段は、
     前記少なくとも二つのフレームの各々から検出された前記追跡対象に関して、前記スコアが最小になるペアを同一の前記追跡対象として追跡する請求項2に記載の追跡装置。
  4.  前記追跡手段は、
     前記少なくとも二つのフレームの各々から検出された前記追跡対象に関して、前記キーポイントの座標値の差の絶対値の重み付き平均を前記位置に関する距離として計算し、前記キーポイントの基準点に対する特定方向の相対的な座標値の差の絶対値の重み付き平均を前記向きに関する距離として計算し、前記位置に関する距離と前記向きに関する距離の和を前記スコアとして計算する請求項2または3に記載の追跡装置。
  5.  前記追跡手段は、
     複数の前記キーポイントのうちいずれかの間を結ぶ骨格線に基づいて前記追跡対象の身長画素数を推定し、
     推定された前記身長画素数で前記スコアを正規化し、
     正規化された前記スコアに応じて、前記少なくとも二つのフレームの各々から検出された前記追跡対象を追跡する請求項2乃至4のいずれか一項に記載の追跡装置。
  6.  請求項1乃至5のいずれか一項に記載の追跡装置と、
     監視対象範囲を撮影して映像データを生成する監視カメラと、
     前記追跡装置によって生成される表示情報を表示させる画面を有する表示機器に接続される端末装置と、を備える追跡システム。
  7.  前記端末装置は、
     前記映像データを構成するフレームから検出された追跡対象に対してキーポイントが対応付けられた追跡画像が表示される画像表示領域と、
     位置に関する重みと向きに関する重みを設定するための操作画像が表示される重み設定領域と、を前記表示機器の画面に設定し、
     前記重み設定領域において設定された前記位置に関する重みと前記向きに関する重みを前記追跡装置に出力し、
     前記追跡装置は、
     前記重み設定領域において選択された前記位置に関する重みと前記向きに関する重みを前記端末装置から取得し、
     取得した前記位置に関する重みと前記向きに関する重みを用いて、前記映像データを構成する少なくとも二つのフレームの各々から検出された前記追跡対象に関する位置および向きに関する距離に応じたスコアを計算し、算出された前記スコアに基づいて前記追跡対象を追跡する請求項6に記載の追跡システム。
  8.  前記端末装置は、
     前記追跡対象の姿勢情報の生成に用いられるキーポイントを指定するための指定画像が表示されるキーポイント指定領域を前記表示機器の画面に設定し、
     前記キーポイント指定領域において選択された前記キーポイントを前記追跡装置に出力し、
     前記追跡装置は、
     前記キーポイント指定領域において選択された前記キーポイントを前記端末装置から取得し、
     取得した前記キーポイントに関して前記姿勢情報を生成する請求項6または7に記載の追跡システム。
  9.  コンピュータが、
     映像データを構成する少なくとも二つのフレームから追跡対象を検出し、
     検出された前記追跡対象から少なくとも一つのキーポイントを抽出し、
     前記少なくとも一つのキーポイントに基づいて前記追跡対象の姿勢情報を生成し、
     前記少なくとも二つのフレームの各々から検出された前記追跡対象の前記姿勢情報の位置および向きに基づいて前記追跡対象を追跡する追跡方法。
  10.  映像データを構成する少なくとも二つのフレームから追跡対象を検出する処理と、
     検出された前記追跡対象から少なくとも一つのキーポイントを抽出する処理と、
     前記少なくとも一つのキーポイントに基づいて前記追跡対象の姿勢情報を生成する処理と、
     前記少なくとも二つのフレームの各々から検出された前記追跡対象の前記姿勢情報の位置および向きに基づいて前記追跡対象を追跡する処理と、をコンピュータに実行させるプログラムを記録させた非一過性のプログラム記録媒体。
PCT/JP2020/040031 2020-10-26 2020-10-26 追跡装置、追跡システム、追跡方法、および記録媒体 WO2022091166A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022558600A JPWO2022091166A5 (ja) 2020-10-26 追跡装置、追跡システム、追跡方法、およびプログラム
PCT/JP2020/040031 WO2022091166A1 (ja) 2020-10-26 2020-10-26 追跡装置、追跡システム、追跡方法、および記録媒体
US18/031,710 US20230386049A1 (en) 2020-10-26 2020-10-26 Tracking apparatus, tracking system, tracking method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/040031 WO2022091166A1 (ja) 2020-10-26 2020-10-26 追跡装置、追跡システム、追跡方法、および記録媒体

Publications (1)

Publication Number Publication Date
WO2022091166A1 true WO2022091166A1 (ja) 2022-05-05

Family

ID=81383696

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/040031 WO2022091166A1 (ja) 2020-10-26 2020-10-26 追跡装置、追跡システム、追跡方法、および記録媒体

Country Status (2)

Country Link
US (1) US20230386049A1 (ja)
WO (1) WO2022091166A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011181014A (ja) * 2010-03-03 2011-09-15 Secom Co Ltd 移動物体追跡装置
JP2016015043A (ja) * 2014-07-02 2016-01-28 トヨタ自動車株式会社 対象物認識装置
JP2019175321A (ja) * 2018-03-29 2019-10-10 大日本印刷株式会社 画像評価装置、画像評価方法及びコンピュータプログラム
JP2019185752A (ja) * 2018-03-30 2019-10-24 株式会社日立製作所 画像抽出装置
JP2020107071A (ja) * 2018-12-27 2020-07-09 日本放送協会 オブジェクト追跡装置及びそのプログラム
JP2020134971A (ja) * 2019-02-12 2020-08-31 コニカミノルタ株式会社 現場学習評価プログラム、現場学習評価方法、および現場学習評価装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011181014A (ja) * 2010-03-03 2011-09-15 Secom Co Ltd 移動物体追跡装置
JP2016015043A (ja) * 2014-07-02 2016-01-28 トヨタ自動車株式会社 対象物認識装置
JP2019175321A (ja) * 2018-03-29 2019-10-10 大日本印刷株式会社 画像評価装置、画像評価方法及びコンピュータプログラム
JP2019185752A (ja) * 2018-03-30 2019-10-24 株式会社日立製作所 画像抽出装置
JP2020107071A (ja) * 2018-12-27 2020-07-09 日本放送協会 オブジェクト追跡装置及びそのプログラム
JP2020134971A (ja) * 2019-02-12 2020-08-31 コニカミノルタ株式会社 現場学習評価プログラム、現場学習評価方法、および現場学習評価装置

Also Published As

Publication number Publication date
US20230386049A1 (en) 2023-11-30
JPWO2022091166A1 (ja) 2022-05-05

Similar Documents

Publication Publication Date Title
JP6025845B2 (ja) オブジェクト姿勢検索装置及び方法
US9330470B2 (en) Method and system for modeling subjects from a depth map
JP6013241B2 (ja) 人物認識装置、及び方法
US20100208038A1 (en) Method and system for gesture recognition
US20230360434A1 (en) Facial authentication device, facial authentication method, and program recording medium
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
Monir et al. Rotation and scale invariant posture recognition using Microsoft Kinect skeletal tracking feature
JP2010123019A (ja) 動作認識装置及び方法
JP7230345B2 (ja) 情報処理装置及び情報処理プログラム
WO2020145224A1 (ja) 映像処理装置、映像処理方法、及び映像処理プログラム
JP2010113530A (ja) 画像認識装置及びプログラム
WO2020032254A1 (ja) 注意対象推定装置及び注意対象推定方法
Kondori et al. Direct hand pose estimation for immersive gestural interaction
CN113228117B (zh) 创作装置、创作方法和记录有创作程序的记录介质
WO2022091166A1 (ja) 追跡装置、追跡システム、追跡方法、および記録媒体
JP6922768B2 (ja) 情報処理装置
JP7396364B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP7211495B2 (ja) 教師データ生成装置
JP7152651B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP2017227687A (ja) カメラアセンブリ、そのカメラアセンブリを用いる手指形状検出システム、そのカメラアセンブリを用いる手指形状検出方法、その検出方法を実施するプログラム、及び、そのプログラムの記憶媒体
De Beugher et al. Semi-automatic hand annotation making human-human interaction analysis fast and accurate
JP7098180B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7359306B2 (ja) 追跡装置、追跡システム、追跡方法、およびプログラム
WO2023209955A1 (ja) 情報処理装置、情報処理方法及び記録媒体
JP7521704B2 (ja) 姿勢推定装置、学習モデル生成装置、姿勢推定方法、学習モデル生成方法及び、プログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022558600

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18031710

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20959684

Country of ref document: EP

Kind code of ref document: A1