WO2019064375A1 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
WO2019064375A1
WO2019064375A1 PCT/JP2017/034940 JP2017034940W WO2019064375A1 WO 2019064375 A1 WO2019064375 A1 WO 2019064375A1 JP 2017034940 W JP2017034940 W JP 2017034940W WO 2019064375 A1 WO2019064375 A1 WO 2019064375A1
Authority
WO
WIPO (PCT)
Prior art keywords
person
height
target person
upright
state
Prior art date
Application number
PCT/JP2017/034940
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 PCT/JP2017/034940 priority Critical patent/WO2019064375A1/ja
Priority to US16/650,544 priority patent/US11308315B2/en
Priority to JP2019545446A priority patent/JP6969611B2/ja
Publication of WO2019064375A1 publication Critical patent/WO2019064375A1/ja
Priority to JP2021136281A priority patent/JP7342919B2/ja
Priority to US17/690,140 priority patent/US11715227B2/en
Priority to US18/208,632 priority patent/US12094149B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/022Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/06Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness for measuring thickness ; e.g. of sheet material
    • G01B11/0608Height gauges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to image processing.
  • Patent documents 1 and 2 are documents which disclose such a technique.
  • Patent Document 1 describes a method of classifying the state of a person into "walking”, “upright”, “sit”, and “sleeping", and estimating the foot position in real space. In this method, after detecting a person from an image, the posture determination based on the inclination of the main axis of the person area and the posture determination using the horizontal distance from the camera to the head and the horizontal distance from the camera to the foot are integrated. “Sit” and “sleep” are determined.
  • the horizontal distance from the camera to the head is converted from the coordinates on the image of the head to the coordinates in the real space using the assumed head height, and the obtained position and the camera Calculated by taking the difference from the position.
  • the “standing” state is calculated on the assumption that the height of the head is the height value.
  • predetermined values are used for the "sit" and "sleep" states.
  • Patent Document 2 discloses a method of obtaining a height by designating an area where a foot can be seen from a camera as a height identification area, and converting positions of a person's foot and a head on an image in real space into coordinates in real space.
  • the height identification region is defined in a position where the foot to the head can be imaged by the camera, and when entering the region, the foot position and the position of the head are calculated from the image to obtain the height.
  • Patent Document 1 does not mention a method of calculating the height of a person included in an image, or a method of calculating the height of the head in the state of "sitting" or "sleeping". Further, in Patent Document 2, the posture of the person in the height identification area is not considered. Therefore, for example, when the person bends in the height identification area, the height of the person can not be determined correctly. Further, since the height of the person can be estimated only when the person is included in the height identification area, the persons are overlapped in this area on the image, and the height can be estimated if the foot of the person can not be detected from the image. become unable.
  • the present invention has been made in view of the above problems.
  • One of the objects of the present invention is to provide a technique for estimating the height of a person included in an image generated by a camera with high accuracy.
  • the information processing apparatus comprises 1) detection means for detecting a person from a video frame, 2) state estimation means for estimating the state of a target person using the detection result, and 3) the state of the target person is predetermined. And a height estimation unit configured to estimate the height of the target person based on the height of the target person in the video frame.
  • the control method of the present invention is executed by a computer.
  • the control method includes 1) detecting a person from a moving image frame, 2) estimating a state of a target person using a detection result, and 3) a state of the target person satisfying a predetermined condition. And a height estimation step of estimating the height of the target person based on the height of the target person in the video frame.
  • the program of the present invention causes a computer to execute each step of the control method of the present invention.
  • a technique for estimating the height of a person included in an image generated by a camera with high accuracy.
  • FIG. 6 is a diagram for describing an overview of the operation of the information processing apparatus of the first embodiment. It is a figure which illustrates the moving image frame in which an object person is contained.
  • FIG. 1 is a diagram illustrating the configuration of an information processing apparatus of a first embodiment. It is a figure which illustrates the computer for realizing an information processor.
  • 5 is a first flowchart illustrating the flow of processing executed by the information processing apparatus of the first embodiment; 5 is a second flowchart illustrating the flow of processing performed by the information processing apparatus of the first embodiment; It is a figure which illustrates tracking information.
  • FIG. 8 is a diagram illustrating a functional configuration of the information processing apparatus of the second embodiment.
  • FIG. 16 is a first flowchart illustrating the flow of processing performed by the information processing apparatus of the second embodiment;
  • FIG. 16 is a second flowchart illustrating the flow of processing performed by the information processing device of the second embodiment;
  • FIG. 14 is a block diagram illustrating a functional configuration of the information processing apparatus of the third embodiment.
  • 15 is a flowchart showing an outline of a flow of processing executed by the information processing apparatus of the third embodiment. It is a figure which illustrates matching with a person for whom tracking was detected from an animation frame at the 1st time, and a person for tracking.
  • each block diagram represents a configuration of a function unit, not a configuration of a hardware unit, unless otherwise described.
  • FIG. 1 is a diagram for explaining the outline of the operation of the information processing apparatus of the first embodiment (an information processing apparatus 2000 described later in FIG. 3 described later).
  • the operation of the information processing apparatus 2000 described below is an example for facilitating the understanding of the information processing apparatus 2000, and the operation of the information processing apparatus 2000 is not limited to the following example. Details and variations of the operation of the information processing apparatus 2000 will be described later.
  • the information processing apparatus 2000 detects a person 20 from the moving image data 12 generated by the camera 10.
  • the moving image frame 14 is one of time-series captured images constituting the moving image data 12. That is, the moving image data 12 is composed of a plurality of moving image frames 14 in time series.
  • the information processing apparatus 2000 estimates the height of the person 20 by analyzing the plurality of moving image frames 14 in which the person 20 is included.
  • the target person whose height is to be estimated is referred to as a target person.
  • height is an invariant inherent to each person that does not change during a certain observation period (for example, from entry to exit of a certain customer in the case of flow line analysis in a store) .
  • the height of the person observed from the image changes due to posture change or the like. Therefore, for the invariant "height", the height of a person observed from an image generated at a certain point in time will be called “temporary height" and used separately from the height.
  • temporary height the significance of image analysis of a part of moving image frames 14 will be described.
  • FIG. 2 is a diagram illustrating a moving image frame 14 including a target person.
  • the person 20 is bowed.
  • the moving image frame 14-2 the person 20 stands upright.
  • the height of the person 20 is the height of the person 20 in the upright state. Therefore, it is difficult to estimate the height of the person 20 with high accuracy even if the image analysis is performed on the moving image frame 14 including the person 20 who is crooked, such as the moving image frame 14-1. On the other hand, the height of the person 20 can be accurately estimated by analyzing the moving image frame 14 including the person 20 standing upright as in the moving image frame 14-2.
  • the information processing apparatus 2000 estimates the state of the target person included in the moving image frame 14 for each of the plurality of moving image frames 14 including the target person. Furthermore, the information processing apparatus 2000 determines the height of the target person based on the height of the target person in the moving image frame 14 in which the state of the target person estimated among the plurality of moving image frames 14 including the target person satisfies the predetermined condition.
  • the predetermined condition is a condition that is satisfied when the state of the target person is an upright posture or a posture close to an upright posture.
  • the height of the target person is estimated using the height d2 of the target person in the moving image frame 14-2 instead of the height d1 of the target person in the moving image frame 14-1.
  • the estimated height is also referred to as “estimated height”.
  • estimating height is also described as “calculating estimated height.”
  • some of the moving image frames 14 in which the target person is included include the target person who is not suitable for height estimation. If the height of the target person is estimated using such a moving image frame 14, the height of the target person can not be accurately estimated.
  • the information processing apparatus 2000 of the present embodiment estimates the state of the target person included in the moving image frame 14, and based on the height of the target person in the moving image frame 14 including the target person in a state suitable for height estimation. , Estimate the height of the target person. By doing this, it is possible to accurately estimate the height of the target person.
  • FIG. 3 is a diagram illustrating the configuration of the information processing apparatus 2000 according to the first embodiment.
  • the information processing apparatus 2000 includes, for example, a detection unit 2020, a state estimation unit 2040, and a height estimation unit 2080.
  • the detection unit 2020 detects the person 20 from the video frame 14.
  • the state estimation unit 2040 estimates the state of the detected person 20.
  • the height estimation unit 2080 estimates the height of the person 20 based on the height of the person 20 in the moving image frame 14.
  • Each functional component of the information processing apparatus 2000 may be realized by hardware (for example, a hard-wired electronic circuit or the like) that realizes each functional component, or a combination of hardware and software (for example: It may be realized by a combination of an electronic circuit and a program for controlling it.
  • hardware for example, a hard-wired electronic circuit or the like
  • software for example: It may be realized by a combination of an electronic circuit and a program for controlling it.
  • each functional configuration unit of the information processing apparatus 2000 is realized by a combination of hardware and software will be further described.
  • FIG. 4 is a diagram illustrating a computer 1000 for realizing the information processing apparatus 2000.
  • the computer 1000 is an arbitrary computer.
  • the computer 1000 is a personal computer (PC), a server machine, a tablet terminal, a smartphone, or the like.
  • the computer 1000 may be the camera 10.
  • the computer 1000 may be a dedicated computer designed to realize the information processing apparatus 2000, or may be a general-purpose computer.
  • the computer 1000 includes a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.
  • the bus 1020 is a data transmission path for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to mutually transmit and receive data.
  • the processor 1040 is various processors such as a central processing unit (CPU) and a graphics processing unit (GPU).
  • the memory 1060 is a main storage device implemented using a random access memory (RAM) or the like.
  • the storage device 1080 is an auxiliary storage device implemented using a hard disk, a solid state drive (SSD), a memory card, or a read only memory (ROM). However, the storage device 1080 may be configured by hardware similar to the hardware that configures the main storage device, such as a RAM.
  • the input / output interface 1100 is an interface for connecting the computer 1000 and an input / output device.
  • the network interface 1120 is an interface for connecting the computer 1000 to a communication network.
  • This communication network is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network).
  • the method of connecting the network interface 1120 to the communication network may be wireless connection or wired connection.
  • the computer 1000 is communicably connected to the camera 10 via a network.
  • the method of communicably connecting the computer 1000 to the camera 10 is not limited to connection via a network.
  • the computer 1000 may not be communicably connected to the camera 10.
  • the storage device 1080 stores program modules for realizing the respective functional components (the detection unit 2020, the state estimation unit 2040, and the height estimation unit 2080) of the information processing apparatus 2000.
  • the processor 1040 implements the functions corresponding to each program module by reading the program modules into the memory 1060 and executing them.
  • the computer 1000 may be realized using a plurality of computers.
  • the detection unit 2020, the state estimation unit 2040, and the height estimation unit 2080 can be realized by different computers.
  • the program modules stored in the storage device of each computer may be only the program modules corresponding to the functional components realized by the computer.
  • the camera 10 is an arbitrary camera that generates moving image data 12 by repeatedly capturing images and generating a time-series moving image frame 14.
  • the camera 10 is a surveillance camera provided to monitor a specific facility or a road.
  • the computer 1000 that implements the information processing apparatus 2000 may be the camera 10.
  • the camera 10 analyzes the moving image frame 14 generated by itself to detect the person 20, estimate the state of the target person, and estimate the height of the target person.
  • a camera called an intelligent camera, a network camera, or an IP (Internet Protocol) camera can be used as the camera 10 having such a function.
  • the server device acquires various information such as the position of the detected person 20 and image features from the camera 10.
  • the server device may acquire only a part of the image area of the moving image frame 14 generated by the camera 10 including the person 20 and the periphery thereof.
  • FIG. 5 is a first flowchart illustrating the flow of processing executed by the information processing apparatus 2000 of the first embodiment.
  • the loop process A is a loop process that is repeatedly executed until a predetermined end condition is satisfied.
  • the detection unit 2020 acquires the latest video frame 14 (S104).
  • the detection unit 2020 detects the person 20 from the acquired video frame 14 (S106).
  • the loop process B is a process executed for each of the detected persons 20.
  • the person 20 to be processed in the loop processing B is referred to as a person i. Person i is the target person described above.
  • FIG. 6 is a second flowchart illustrating the flow of processing executed by the information processing apparatus 2000 of the first embodiment.
  • the detection unit 2020 further associates the detected person with the tracking result so far, and obtains the tracking result (S120).
  • the loop process B is a process executed for each person 20 included in the tracking target obtained by the tracking process. Also here, the person 20 to be processed in the loop processing B is referred to as a person i.
  • the state estimation unit 2040 estimates the state of the person i (S110, S130).
  • the height estimation unit 2080 determines whether the state of the person i satisfies a predetermined condition (S112, S132). If the state of the person i satisfies the predetermined condition (S112, S132: YES), the estimated height of the person i is calculated based on the height of the person i obtained from the moving image frame 14 acquired in S102 (S114, S134 ). If the state of the person i does not satisfy the predetermined condition (S112, S132: NO), the estimated height of the person i is not calculated.
  • the condition for ending the loop processing A is arbitrary. For example, when a predetermined input operation is received from the user, the loop processing A ends.
  • the information processing apparatus 2000 acquires one or more moving image frames 14 to be processed. There are various methods by which the information processing apparatus 2000 acquires the moving image frame 14. For example, the information processing apparatus 2000 receives the moving image frame 14 transmitted from the camera 10. Further, for example, the information processing apparatus 2000 accesses the camera 10 and acquires the moving image frame 14 stored in the camera 10.
  • the camera 10 may store the moving image frame 14 in a storage device provided outside the camera 10.
  • the information processing apparatus 2000 accesses the storage device to acquire the moving image frame 14. Therefore, in this case, the information processing apparatus 2000 and the camera 10 may not be communicably connected.
  • the information processing apparatus 2000 acquires the moving image frame 14 generated by the information processing apparatus 2000 itself.
  • the moving image frame 14 is stored, for example, in a storage device (for example, storage device 1080) inside the information processing apparatus 2000. Therefore, the information processing apparatus 2000 acquires the moving image frame 14 from these storage devices.
  • the timing at which the information processing apparatus 2000 acquires the moving image frame 14 is arbitrary. For example, each time a new moving image frame 14 constituting the moving image data 12 is generated by the camera 10, the information processing apparatus 2000 acquires the newly generated moving image frame 14. Besides, for example, the information processing apparatus 2000 may periodically acquire the unacquired moving image frame 14. For example, when the information processing device 2000 acquires the moving image frame 14 once per second, the information processing device 2000 generates a plurality of moving image frames 14 (for example, the frame rate of the moving image data 12 is 30 fps) In the case of frames / second, 30 moving image frames 14) are acquired collectively.
  • the frame rate of the moving image data 12 is 30 fps
  • the information processing apparatus 2000 may acquire all the moving image frames 14 constituting the moving image data 12 or may acquire only a part of the moving image frames 14. In the latter case, for example, the information processing apparatus 2000 acquires the moving image frame 14 generated by the camera 10 at a ratio of one to a predetermined number.
  • the detection unit 2020 detects the person 20 from the moving image frame 14 (S102).
  • the detection unit 2020 includes a detector that has learned an image feature of a person.
  • the detector detects an image area matching the learned image feature from the moving image frame 14 as an area representing the person 20 (hereinafter referred to as a person area).
  • a detector for example, one that performs detection based on HOG (Histograms of Oriented Gradients) features or one that uses a CNN (Convolutional Neural Network) can be used.
  • the detector may be learned to detect the entire area of the person 20 or may be learned to detect a partial area of the person 20. For example, if a head position and a foot position can be detected using a detector which has learned the head and the foot, a person area can be specified.
  • the human region may be obtained by combining silhouette information (information of a region having a difference with the background model) obtained by background difference and head detection information.
  • the detector outputs information related to the detected person 20 (hereinafter, detected information).
  • the detection information indicates, for example, the position and the size of the person 20.
  • the position of the person 20 in the detection information may be represented by a position on the moving image frame 14 (for example, coordinates with the upper left end of the moving image frame 14 as an origin) or may be represented by real world coordinates.
  • existing techniques can be used as a technique for calculating real world coordinates of an object included in an image generated by a camera.
  • the real world coordinates of the person 20 can be calculated from the position on the moving image frame 14 using camera parameters.
  • the size of the person 20 is, for example, the size of the circumscribed rectangle of a partial area of the person such as the circumscribed rectangle of the person (hereinafter also referred to as a person rectangle) or a head or a foot Or their average value). This size may be the size on the moving picture frame 14 or may be the size on the real world.
  • the detection unit 2020 further performs tracking processing of a person.
  • the tracking process is a process of associating a person detected from a moving image frame input at the current time point with a person detected in a past frame and being tracked.
  • the technique described in the third embodiment described later can be used.
  • Other existing technologies can also be used.
  • the information processing apparatus 2000 generates tracking information representing a history of the position and size of the person 20 by tracking the person 20.
  • a person registered in the tracking information that is, a person who has already been detected from the video frame 14 and is to be tracked is referred to as a tracking target person.
  • FIG. 7 is a diagram illustrating tracking information.
  • a table 200 is generated for each tracking target person.
  • the table 200 shows a history such as the position of the tracking target person that is associated.
  • the table 200 shows a frame ID 202, a position 204, a state 206, an observation value 208, a motion 210, a feature amount 212, and a region 214.
  • the frame ID 202 is an identifier of the moving picture frame 14. For example, a record in which the frame ID 202 indicates n indicates the position or the like of the person to be tracked in the moving image frame 14 in which the frame ID is n.
  • the movement 210 indicates, for the tracking target person in the movement state, parameters of a movement model used to predict the movement.
  • TL and BR in the area 214 represent the coordinates of the upper left end (top left) and the coordinates of the lower right end (bottom right), respectively.
  • the observed values 208 will be described later.
  • the detection unit 2020 may also extract information necessary for tracking at the time of detection of S106. That is, the detection information may include a feature amount representing the feature of the appearance of the person 20. As the feature amount, a feature amount that describes the size of the person 20, the color and pattern of the surface (the color and pattern of clothes, etc.) can be used. More specifically, feature quantities such as color histograms, color layouts, edge histograms, and Gabor features can be used. Also, the detection information may include a feature that represents the shape of the object. For example, a shape descriptor standardized by MPEG-7 can be used as the feature amount representing the shape of the object.
  • feature points of the person 20 may be extracted, and local feature amounts such as Scale Invariant Feature Transform (SIFT) and Speeded Up Robust Features (SURF) may be extracted for each feature point.
  • SIFT Scale Invariant Feature Transform
  • SURF Speeded Up Robust Features
  • feature extraction by a network learned by deep learning may be used.
  • the information processing apparatus 2000 sets at least one of the persons 20 detected from the moving image frame 14 as a target of the process of estimating the height (that is, a target person).
  • a target person that is, a target person.
  • a method of determining which person 20 is to be treated as a target person is arbitrary. For example, in the process shown in the flowchart of FIG. 5, all persons 20 detected from the moving image frame 14 are treated as target persons.
  • the information processing apparatus 2000 may treat only the person 20 included in a predetermined image area in the moving image frame 14 as a target person.
  • the predetermined image area may be an area defined in advance or an area determined dynamically. In the latter case, for example, the information processing apparatus 2000 detects a predetermined object from the moving image frame 14 and treats each person 20 detected from an image area of a predetermined size based on the object as a target person.
  • the predetermined object may be an object that is always placed (such as a chair, a shelf, a door, or a bronze statue), or an object that appears dynamically, such as a neglected object.
  • the existing technology can be used as a technology for detecting an object that is always placed or an object that appears dynamically from an image.
  • the state estimation unit 2040 estimates the state of the target person (S110).
  • the state estimated by the state estimation unit 2040 includes at least information on the posture of the target person (for example, information indicating whether the posture is upright or not).
  • Various methods can be adopted as a method of estimating the state of the target person. Hereinafter, some specific examples of the method will be described.
  • the state estimation unit 2040 has a classifier (hereinafter, state classifier) that classifies the state by learning, and performs state discrimination using this classifier.
  • state classifier a classifier that classifies the state by learning
  • the correct state can be obtained Make the state classifier learn.
  • Various classifiers such as SVM (Support Vector Machine) and neural networks can be used for this learning.
  • the state discriminator is trained to distinguish a non-upright state such as squatting or bending from an upright state.
  • the state estimation unit 2040 inputs the moving image frame 14 and the detection result of the person with respect to the input moving image frame 14 to the state identifier.
  • the state discriminator outputs information (hereinafter referred to as state information) representing the state of each person 20 detected in the moving image frame 14.
  • state information information representing the state of each person 20 detected in the moving image frame 14.
  • the state estimation unit 2040 may input only the image area of the target person detected from the moving image frame 14 to the state discriminator, or may input detection information of the target person to the state discriminator .
  • the state information may be information specifying which state the posture of the target person is, or may be information indicating the likelihood that the target person is in each state. In the latter case, the state identifier calculates the likelihood that the target person is in each of the possible states of the target person. The state discriminator then includes the likelihood of each state in the state information.
  • the state estimation unit 2040 may be configured to determine posture information that classifies the upright state more finely as the state. By considering these pieces of information, as described later, it is possible to improve the height estimation accuracy.
  • the state discriminator may discriminate both by making the state discriminator learn so as to distinguish them. Furthermore, with regard to the state in which the crotch is open, it may be determined in several stages depending on the degree of opening. From such a state discriminator, information indicating whether the crotch of the target person is closed or open, information indicating the degree of opening of the crotch, or the like is also output.
  • the state information may further include the direction of the person.
  • the determination of the direction is also possible by learning the state identifier in advance.
  • Method 2 is a method in which the state estimation unit 2040 determines the state using time-series human rectangle information included in the tracking information without performing posture determination using an image.
  • the case where posture determination based on an image is performed as in method 1 will be described later as method 3.
  • the state estimation unit 2040 estimates the state of the target person in a certain moving picture frame 14 using the tracking result of the target person over the moving picture frame 14 and the plurality of moving picture frames 14 in the past. Note that existing technology can be used as technology for tracking the same person across multiple moving picture frames 14.
  • the information processing apparatus 2000 may also use the estimated height of the person 20 estimated by the height estimation unit 2080 for tracking the person 20. The specific method is demonstrated by the below-mentioned embodiment.
  • the information processing apparatus 2000 generates tracking information representing a history of the position and size of the person 20 by tracking the person 20.
  • a person registered in the tracking information that is, a person who has already been detected from the video frame 14 and is to be tracked is referred to as a tracking target person.
  • the state estimation unit 2040 transmits the target person from each moving image frame 14 Calculate the height above the real world.
  • the height of the target person in the real world can be obtained, for example, by converting the height of the target person on the moving image frame 14 into a value in the real world using camera parameters.
  • the height of the target person on the moving picture frame 14 can be calculated, for example, as the distance between the foot and the top of the head of the target person on the moving picture frame 14.
  • the height of the target person in the real world, which is calculated from the moving image frame 14 is also referred to as "observed value".
  • This observation value is the value shown in the observation value 206 described above. That is, the observation value of the target person calculated from the moving image frame 14 is stored in the observation value 206 of the tracking information.
  • the state estimation unit 2040 uses the accumulated observation values to calculate a threshold for identifying whether the target person is standing upright.
  • the threshold means a boundary between an area where the person 20 is considered to be upright and an area where the person 20 is considered not to be upright in the distribution of observation values.
  • the state estimation unit 2040 estimates the posture of the target person obtained from the moving image frame 14 using the threshold value. For example, the state estimation unit 2040 estimates that the state of the target person is upright when the observed value of the target person is significantly larger than the threshold (for example, when the observed value is equal to or greater than the threshold). On the other hand, if the observed value is not significantly larger than the threshold (for example, if the observed value is less than the threshold), the state estimating unit 2040 estimates that the state of the target person is in the non-upright state.
  • the state estimation unit 2040 may calculate an index value indicating the degree to which the observed value deviates from the threshold, and use this index value as the likelihood that the state of the target person is in the upright state.
  • the threshold value (for example, the value obtained by subtracting 5 cm). It is preferable that the value to be reduced be determined in consideration of the error of the observed value. For example, it can be determined based on the value of the standard deviation of the error.
  • the representative value (average value, center)
  • a threshold value is set by subtracting a fixed value based on the value, mode value, etc.). On the way, if the height of the real world increases with a significant difference than the set threshold, it is considered that it was originally not upright, so the threshold is set again based on the newly obtained observation value . And, the state before that is not upright but corrected as non-upright.
  • the states which can be taken by the target person may be the upright movement state, the non-upright movement state, and the upright still state. For this purpose, it is necessary to determine the presence or absence of movement. In the following, a method of determining the presence or absence of movement and determining which of the upright movement state, the non-upright movement state, and the upright and stationary state is described will be described.
  • the state estimation unit 2040 determines whether the target person is moving, using the tracking information described above. For example, the state estimation unit 2040 compares the position of the target person detected from the moving image frame 14 with the position of the target person at a predetermined time before (for example, the immediately preceding frame). (If there is any), it is determined that the target person is stationary. On the other hand, if the change in position is large, the state estimation unit 2040 determines that the target person is moving. As the position of the target person, it is possible to use the position of the head, a predetermined position of the person rectangle (for example, the center or the upper left end), or the foot position. In addition to the position of the target person in the moving image frame 14 before the predetermined time, comparison may be performed with the positions of the target person in a plurality of past frames.
  • the state estimation unit 2040 may further determine whether the target person is moving, taking into consideration the direction in which the position of the target person has changed. For example, the change of the head of the target person in the vertical direction can be said to indicate that the target person stands up or sits down, that is, changes the posture in the same place. Therefore, for example, when the direction of change of the position of the target person is a direction close to the vertical direction, the state estimation unit 2040 determines that the state estimation unit 2040 is not moving. On the other hand, when the direction of the change in the position of the head of the target person is not the direction close to the vertical direction, the state estimation unit 2040 determines that the state estimation unit 2040 is moving.
  • Whether or not the direction of change in the position of the head of the target person is close to the vertical direction can be determined, for example, by determining the angle between the direction of change in the position of the target person and the vector in the vertical direction. If the angle between the direction of change in position and the vertical direction is large, the state estimation unit 2040 may determine that the target person is moving.
  • the state estimation unit 2040 may determine the posture change and the movement in consideration of the change in the foot position. Specifically, when the change in the foot position is small and it can be regarded as stationary, it is considered that the person is not moving but only the posture change is occurring. Therefore, the state of the state estimation unit 2040 is in the non-upright stationary state. On the other hand, when the foot position moves in conjunction with the movement of the head, it is in the upright movement state.
  • the foot is hidden and can not be seen.
  • the foot when it can be considered that the foot is not interlocked with the head (for example, the foot remains hidden by an obstacle or the like although the head is moving in the vertical direction of the image of the camera 10) And so on) may be determined as a non-upright stationary state, assuming that the foot position is stationary.
  • the probability of sitting will be high even if the foot position is not seen, so it may be determined as a non-upright stationary state.
  • the detailed status may be output. That is, it may be configured to output information such as whether you are walking with your crotch open, how much the degree of opening is, or which direction of the person is. These discriminations can be realized by generating image classifiers as described in the method 1. By considering these pieces of information, as described later, it is possible to improve the height estimation accuracy.
  • the height estimation unit 2080 selects the target person based on the height of the target person in the moving image frame 14. Estimate the height of the subject (S114).
  • the predetermined condition is a condition representing that the state of the target person is in the upright state or a state close thereto.
  • the state information is information for specifying the state of the target person.
  • the predetermined condition is the condition that "the state of the target person is in the upright state”.
  • the state estimation unit 2040 calculates the likelihood for each of a plurality of states with respect to the target person.
  • the predetermined condition is that "the likelihood that the state of the target person is in the upright state is equal to or higher than the threshold".
  • the height estimation unit 2080 calculates an observation value of the target person in the video frame 14.
  • the observed value of the target person in the moving image frame 14 is a value obtained by converting the height of the target person on the moving image frame 14 into a height in the real world using camera parameters and the like.
  • the detection unit 2020 may be configured to calculate the observation value of the target person and include it in the detection information. In this case, the height estimation unit 2080 obtains an observation value from the detection information.
  • the height estimation unit 2080 sets the observation value of the target person in the moving image frame 14 as the estimated height of the target person.
  • the state estimation unit 2040 also outputs finer state information (for example, a state in which a crotch is opened and walking, a crotch open degree, a person's direction) together
  • these conditions Conditions may also be included.
  • the height may be estimated only when the crotch is not opened (or the degree of opening is small) even in the same upright state.
  • the height may be estimated only when the direction of the person is largely different from the optical axis direction of the camera.
  • the height estimation unit 2080 determines the target person based on the height of the target person in the moving image frame 14. Estimate the height of the person (S134).
  • the predetermined condition is a condition representing that the state of the target person is in the upright state or a state close thereto. That is, the state is the upright stationary state or the upright moving state.
  • the predetermined condition is that “the likelihood that the state of the target person is upright is equal to or higher than the threshold”. It is.
  • the height estimation unit 2080 calculates the observed value (height in the real world) of the target person in the video frame 14.
  • the detection unit 2020 may be configured to calculate the observation value of the target person and include it in the detection information. In this case, the height estimation unit 2080 obtains an observation value from the detection information.
  • the height estimation unit 2080 is obtained from the past moving image frame 14 (which may be one or more) in which the state of the target person satisfies the predetermined condition, in addition to the observation value obtained in the latest moving image frame 14
  • the observed height is also used to calculate the estimated height of the target person.
  • the statistical value of the observation value obtained from the latest moving image frame 14 and the observation value obtained from the past moving image frame 14 is calculated, and the statistical value is set as the estimated height of the target person.
  • the height estimation unit 2080 may use an observation value obtained from the moving image frame 14 and a predetermined number of past states in which the state of the target person satisfies the predetermined condition.
  • the estimated height of the target person is calculated using the observation values obtained from each of the video frames 14.
  • statistical processing is an average value.
  • the statistical value may be calculated by statistical processing that excludes outliers by a method such as robust estimation.
  • techniques such as RANSAC (Random Sampling Consensus) can be used.
  • observation values may be weighted and added according to the likelihood of the state of the target person. For example, when the depression angle becomes large because the target person is located near the camera, estimation of the top of the head of the target person becomes difficult, and the observation value of the target person tends to include an error. On the other hand, when the target person leaves the camera, the resolution (size on the video frame 14) of the target person decreases, and a slight deviation of the detection position affects the estimation of the height. Therefore, according to the depression angle from the camera and the distance from the camera, the average may be calculated by weighting and adding in consideration of the likelihood of occurrence of an error of the observation value.
  • the weight may be determined so as to decrease as the error increases, and used as a weighted average.
  • weights may be added in consideration of the type of state of the person.
  • state classification while the posture during movement is only upright, there are two postures during standstill: upright and non-upright. Therefore, in the moving state, it is highly probable that the observation value of the target person represents the height.
  • the observed value of the target person has a high probability of including a certain error because the height moves up and down a little when moving. Also, when stationary, it is unlikely that the observed value contains an error. From this, it is possible to estimate the height of the target person with the highest degree of certainty in the upright and still state.
  • weighting may be performed in consideration of the direction of the target person and the degree of opening of the crotch.
  • the degree to which the observed value of the target person represents the height varies depending on the direction of movement and the posture of the person at that time.
  • the weight given to the observation value of the target person in the posture in which the legs are aligned is set larger than the weight given to the observation value of the target person in the posture in which the crotch is open.
  • an approximate value of the height may be obtained, and when transitioning to a stationary state, a detailed value may be estimated from the approximate value. That is, if the observed value is stable at a value close to the estimated value obtained in the upright movement state after the person moves to (or before) the upright state, the probability that the correct height can be obtained is high. Therefore, height may be obtained by giving high weight to the observation value of such a state.
  • the above-described approximate value of the height is, for example, a temporary height obtained for the target person in the upright movement state.
  • both the foot and the head of the target person are visible in the moving image frame 14.
  • the foot may be hidden.
  • the condition that “the foot of the target person is visible” may be added to the predetermined condition.
  • various methods can be used to determine whether or not the foot of the target person is visible. Specifically, the foot may be detected directly, or it may be determined whether it is hidden by an obstacle or whether it is overlapping with a person. Since an obstacle such as a shelf is usually at a predetermined position, the area on the floor where the foot position is hidden when viewed from the camera can be predetermined.
  • the overlap with a person can be determined based on the position of each person 20 detected by the detection unit 2020. For example, when the circumscribed rectangle of another person 20 overlaps the lower end of the circumscribed rectangle of the target person, it is determined that the foot of the target person is not visible. At this time, in consideration of the three-dimensional position of each person 20, it may be determined whether or not the foot of the object person can be seen using the anteroposterior relationship between the object person viewed from the camera and the other person 20. That is, when the circumscribed rectangles of the target person and the other person 20 overlap and the other person 20 is closer to the camera than the target person, it is determined that the foot of the target person can not be seen.
  • FIG. 8 is a diagram illustrating the functional configuration of the information processing apparatus 2000 of the second embodiment.
  • the information processing apparatus 2000 of the second embodiment has the same function as the information processing apparatus 2000 of the first embodiment except for the matters described below.
  • the information processing apparatus 2000 of the second embodiment has a temporary height estimation unit 2100.
  • the temporary height estimation unit 2100 calculates the temporary height of the target person at a certain point in time.
  • the temporary height is a height that can be obtained regardless of whether the target person is upright. For example, when the target person is squatting, the height from the foot to the top of the head of the target person in that state is the temporary height of the target person at that time. In the upright state, the temporary height matches the height within the observation error range.
  • FIG. 9 is a first flowchart illustrating the flow of processing performed by the information processing apparatus 2000 of the second embodiment.
  • the flowchart of FIG. 9 is different from the flowchart of FIG. 5 in that processing (S202) of calculating a temporary height of a target person is performed after height estimation (S114). Other than that, it is the same as that of the flowchart of FIG.
  • FIG. 10 is a second flowchart illustrating the flow of processing performed by the information processing apparatus 2000 of the second embodiment.
  • the flowchart of FIG. 10 is different from the flowchart of FIG. 6 in that processing (S212) for calculating the temporary height of the target person is performed after height estimation (S134).
  • the other parts are the same as those in the flowchart of FIG.
  • the temporary height estimation unit 2100 sets the observation values of the target person in all the frames including the video frame 14 in which the state of the target person does not satisfy the predetermined condition described above It is assumed that the height of the target person at the time when 14 is generated.
  • the temporary height estimation unit 2100 also uses the information obtained from the plurality of moving image frames 14 in the past to The temporary height of may be calculated.
  • the temporary height of the target person has a characteristic of continuously changing in time and a characteristic of becoming equal to or less than the estimated height. Therefore, when it is considered that the reliability of the observed value calculated from one moving image frame 14 is low, such as when the foot of the target person can not be seen due to an obstacle or the like, complementation in the time direction taking into account continuity. It is preferable to calculate the temporary height of the target person by interpolation or extrapolation.
  • the method of complementation can use the existing arbitrary methods.
  • the temporary height estimation unit 2100 compensates for the temporal change of the height of the target person calculated from each of the plurality of moving image frames 14 past the time t, thereby compensating for the time Calculate the temporary height of the target person at t.
  • one temporary height of the target person may be calculated using a plurality of moving image frames 14 that are temporally near each other. For example, the observation value of the target person calculated for each moving image frame 14 is averaged within a time window of a certain fixed width. In this way, the temporary height of the target person can be obtained for each time window. At this time, the observation value obtained from each moving image frame 14 may be weighted according to the accuracy of the observation value.
  • the time window when there is little change in posture and the observation value of the target person is stable, take a longer width of the time window, and when the height changes rapidly in one direction due to sitting or standing up, the time window The width of may be shortened.
  • the position of the person does not change in the non-upright stationary state such as squatting, bending or sitting. This tendency is particularly strong in areas where there are chairs, etc., and where sitting is assumed. Therefore, in the non-upright stationary state, even if the foot can not be seen, the foot position may not be moved, and only the height of the head may be changed to calculate the temporary height. That is, the foot position is set to a common position among the plurality of moving image frames 14.
  • Example of hardware configuration The hardware configuration of a computer that implements the information processing apparatus 2000 of the second embodiment is represented, for example, by FIG. 4 as in the first embodiment. However, in the storage device 1080 of the computer 1000 for realizing the information processing apparatus 2000 of the present embodiment, a program module for realizing the function of the information processing apparatus 2000 of the present embodiment is further stored.
  • the estimated height of the person 20 and the temporary height of the person 20 are , Is calculated separately. Therefore, while the estimated height of the person 20 is accurately calculated, the temporary height of the person 20 at that time can also be accurately determined.
  • FIG. 11 is a block diagram illustrating the functional configuration of the information processing apparatus 2000 of the third embodiment.
  • the information processing apparatus 2000 includes a position estimation unit 2120 and an update unit 2140.
  • the information processing apparatus 2000 of the third embodiment has the same function as the information processing apparatus 2000 of the second embodiment except for the matters described below.
  • the information processing apparatus 2000 of the third embodiment has a function of tracking a person included in the moving image data 12. Specifically, tracking of a person is performed by generating / updating the tracking information described above.
  • FIG. 12 is a flowchart showing an outline of the flow of processing executed by the information processing apparatus 2000 of the third embodiment.
  • the information processing apparatus 2000 detects the person 20 from the latest moving image frame 14 (S302).
  • the information processing apparatus 2000 generates tracking information with the detected person 20 as a tracking target person (S304).
  • the tracking target person means the person 20 already detected by the information processing apparatus 2000.
  • the loop process C is a process that is repeatedly executed until a predetermined end condition is satisfied. If the predetermined end condition is satisfied in S306, the information processing apparatus 2000 ends the process of FIG. On the other hand, when the predetermined end condition is not satisfied, the process of FIG. 12 proceeds to S308.
  • the detection unit 2020 detects the person 20 from the latest video frame 14.
  • the generation time point of the acquired moving image frame 14 is referred to as a first time point.
  • the position estimation unit 2120 estimates the position of each tracking target person at the first time point using the tracking information (S310).
  • the updating unit 2140 associates the person 20 detected from the moving image frame 14 with the person to be tracked (S312).
  • the updating unit 2140 updates the tracking information based on the result of the association (S314).
  • the timing at which the information processing apparatus 2000 of the third embodiment calculates the estimated height and the temporary height of the target person is arbitrary.
  • the information processing apparatus 2000 calculates the estimated height or the temporary height of the target person.
  • the position estimation unit 2120 estimates the position of each tracking target person at the first time point using the tracking information (S310).
  • the position of the tracking target person indicated in the tracking information is the past position (e.g., the position in the preceding moving image frame 14). Therefore, the position estimation unit 2120 estimates the position of the tracking target person at the first time point from the past position of the tracking target person.
  • the position estimation unit 2120 predicts the position of the tracking target person at the first time based on the position of the tracking target person indicated in the tracking information and the movement model of the person.
  • various existing methods such as a method using a Kalman filter and a method using a particle filter can be used.
  • the position information to be predicted may be coordinates on an image or may be real world coordinates. In the case of coordinates on an image, a prediction result may be generated as person rectangle information.
  • the movement model of the person may be different for each person to be tracked.
  • the position estimation unit 2120 determines the movement model of the tracking target person using the state estimated for the tracking target person in the past. For example, prediction models corresponding to the upright movement state, the upright rest state, and the non-upright rest state are prepared in advance.
  • the position estimation unit 2120 calculates the estimated position of the tracking target person using a prediction model corresponding to the latest state of the tracking target person (the state of the tracking target person indicated in the latest tracking information).
  • a model that predicts movement based on the history of the position of the tracking target person indicated in the tracking information is used.
  • the following constant velocity linear motion model can be used.
  • the tracking vector of the tracking target person is determined using tracking information of a predetermined period in the past, and the motion vector of the tracking target person is determined according to the velocity vector and the frame time interval.
  • the constant velocity linear motion model calculates the estimated position of the tracking target person at the first time point by adding the motion vector to the position of the tracking target person indicated by the latest tracking information.
  • the position of the tracking target person at the first time point is the same as the position indicated in the latest tracking information.
  • posture change may occur. For example, even if the foot position does not move, the head position can move in a direction close to the vertical. Therefore, in the non-upright stationary state, a model that predicts such posture change is used.
  • the position estimation unit 2120 may perform position estimation in consideration of the state of the tracking target person as described above only for the state with the highest accuracy (maximum likelihood state) or for each of a plurality of states. It is also good. In the latter case, estimated positions corresponding to each of a plurality of states are calculated.
  • the updating unit 2140 associates the person 20 detected from the moving image frame 14 at the first point in time with the person to be tracked. This association is processing for specifying to which tracking target person each person 20 detected from the moving image frame 14 at the first time point corresponds.
  • FIG. 13 is a view exemplifying the correspondence between the person 20 detected from the moving image frame 14 at the first time point and the person to be tracked. In FIG. 13, a person 20 and a tracking target person connected by a double arrow are a person 20 and a tracking target person associated with each other.
  • the height estimation unit 2080 may be a likelihood (e.g., the possibility that the two may correspond to each other) based on the predicted position of the tracking target person and the proximity of the detected position of the person 20, the similarity of appearance features of both,
  • a likelihood e.g., the possibility that the two may correspond to each other
  • the likelihood can be converted into cost
  • the correspondence problem between the tracking target person and the detected person can be reduced to the cost minimization problem, and solved by an algorithm such as the Hungarian method.
  • the proximity information of the person is determined by, for example, the distance in the real space. That is, the position on the moving image frame 14 is converted into position coordinates in the real space using camera parameters and height information of a person, and the distance between the coordinates is determined.
  • the updating unit 2140 determines the height of the person to be used for the conversion in accordance with the state of the person.
  • the information processing apparatus 2000 distinguishes and calculates the estimated height of the target person and the temporary height.
  • the temporary height of the target person at each time point is stored in the tracking information.
  • the updating unit 2140 calculates the position using either the estimated height of the person 20 or the temporary height according to the state of the person 20 at the first time point.
  • the height of the person 20 may be considered to be equal to the height because it is stationary or moving in a standing state. Therefore, the updating unit 2140 considers that the height of the top of the head of the person 20 detected from the moving picture frame 14 is the height, and converts the coordinates on the moving picture frame 14 of the person 20 into real world coordinates using camera parameters. Do.
  • the height of the person 20 is different from the height, so the calculation is performed using the temporary height of the person 20 at the first time point.
  • the position estimation unit 2120 when the position estimation unit 2120 also predicts the movement of the head of the person 20 in the non-upright stationary state, the temporary height of the person 20 changes due to this movement. And the position of the person 20 may be calculated. That is, instead of using the temporary height of the person 20 included in the tracking information in the past as it is, the amount of change caused by the movement of the head is reflected on the temporary height of the person 20 to estimate position information. You may
  • the proximity information of the person may be calculated by coordinates on the image. For example, the coordinates on the image of a specific position (for example, the foot position) of the human rectangle may be determined, and the proximity may be determined by the distance between the coordinates. Alternatively, the proximity may be determined by the overlap between the human rectangles. In this case, it is determined that the persons are closer as the overlap between the rectangles is larger.
  • the updating unit 2140 obtains the correspondence likelihood between the position of each tracking target person in the maximum likelihood state and the position of the person 20 detected from the moving image frame 14 at the first time point. Just do it.
  • the association likelihood is calculated for each state, and the association likelihood is highest when the association likelihood is highest. Choose a degree.
  • the similarity of appearance features may be considered together.
  • the determination is made using a scale that represents the distance or similarity between feature amounts.
  • various existing ones such as Euclidean distance and histogram intersection can be used.
  • the updating unit 2140 updates the information of the person to be tracked indicated in the tracking information based on the result of the above-mentioned association. Specifically, information on each tracking target person at the first time point is added to the tracking information.
  • the updating unit 2140 updates the position information of the tracking target person.
  • the updating unit 2140 sets the position of the tracking target person at the first time point as the position of the person 20 associated with the tracking target person.
  • the updating unit 2140 may use the position information of the tracking target person at the first time, the estimated position of the tracking target person at the first time, and the position of the person 20 associated with the tracking target person. It may be a position obtained by weighted addition.
  • the parameters of the movement model are updated based on the difference between the updated position information and the movement prediction information. For example, in the case of a person who can assume uniform linear motion, updating can be considered by adding the difference between the estimated position and the updated position to the current movement.
  • the motion information may be updated together with the position information based on a known Kalman filter update equation.
  • the rectangle may be recalculated based on the updated position information.
  • the rectangle information may be updated in consideration of not only the movement of the position but also the change of the apparent size.
  • the persons 20 detected from the moving image frame 14 there may be one in which no corresponding tracking target person exists.
  • some persons to be tracked may have no corresponding person 20.
  • information indicating that the corresponding person is out of the imaging range of the camera 10 is added to the tracking information (for example, the bit of the exclusion flag is set to 1). It is also good.
  • Example of hardware configuration The hardware configuration of a computer that implements the information processing apparatus 2000 of the third embodiment is represented, for example, by FIG. 4 as in the first embodiment. However, in the storage device 1080 of the computer 1000 for realizing the information processing apparatus 2000 of the present embodiment, a program module for realizing the function of the information processing apparatus 2000 of the present embodiment is further stored.
  • the state of the person is taken into consideration in the calculation of the estimated position of the person to be tracked and the correspondence between the person to be tracked and the person 20 detected from the video frame 14. Either the estimated height or the temporary height, whichever is appropriate, is used. By doing this, it becomes possible to track the person with higher accuracy.
  • the information processing apparatus 2000 of the fourth embodiment is represented, for example, in FIG. 11 like the information processing apparatus 2000 of the third embodiment.
  • the information processing apparatus 2000 of the fourth embodiment has the same function as the information processing apparatus 2000 of the third embodiment except for the matters described below.
  • moving image data 12 is obtained from a plurality of cameras 10. Therefore, it has the following features.
  • the detection unit 2020 generates detection information so that it can be identified by which camera 10 each detected person 20 is captured. Specifically, the detection information is provided with an identifier (camera identifier) indicating which information is detected from the moving image frame 14 generated by which camera 10. For example, the detection unit 2020 generates individual detection information for each of the plurality of cameras 10, and associates a camera identifier with each detection information. In addition, for example, the detection unit 2020 generates one piece of detection information indicating all the persons 20 detected from the plurality of cameras 10, and indicates which camera 10 the person detected from each camera in each record. It is also good.
  • an identifier camera identifier
  • the information processing apparatus 2000 updates the tracking information using the moving image frame 14 obtained from a certain camera 10 in consideration of the fact that the person 20 detected for each moving image frame 14 is different as described above, the information processing apparatus 2000 is an update target The person to be tracked by is narrowed down to a part of the person to be tracked included in the tracking information. For example, it is assumed that the information processing apparatus 2000 updates tracking information using the moving image frame 14 generated by the first camera. In this case, the position estimation unit 2120 calculates the estimated position only for the tracking target person having a high probability of existing in the imaging range of the first camera among the tracking target persons indicated in the tracking information.
  • the position estimation unit 2120 obtains an area in real space that can be imaged from the first camera in advance, and determines from the position information whether each tracking target person is included in the area. The tracking target person estimated to be included in the imaging range of is extracted. Then, the position estimation unit 2120 calculates the estimated position only for the extracted tracking target person.
  • the updating unit 2140 updates the tracking information and the association with the person 20 detected from the moving image frame 14, targeting only the extracted tracking target person. At this time, information indicating that tracking information is not updated for a person not included in the imaging range of the first camera among persons to be tracked because the person is not included in the imaging range of the first camera May be included in the tracking information and used in the subsequent processing.
  • the state estimation unit 2040 of the fourth embodiment estimates the state of the person in consideration of this point. For example, when the person is closer to the camera, the size (resolution) of the person area on the moving image frame 14 becomes larger, and movement of the person can be easily determined. In addition, when determining the movement of a person, it is easier to determine movement in the direction perpendicular to the optical axis than movement of the camera in the optical axis direction. As described above, the easiness and the certainty of the state determination of the person change depending on the positional relationship between the camera and the person.
  • the state estimation unit 2040 estimates the state of each person 20 using the moving image frame 14 obtained from each of the plurality of cameras 10, and uses the state with the highest reliability among them. For example, for each moving image frame 14, the state estimation unit 2040 determines, for each moving image frame 14, the distance between the camera 10 that generated the moving image frame 14 and the detected person 20 (the higher the reliability is), the movement of the person 20 and the The reliability of state estimation is calculated on the basis of the relationship between the angle with the optical axis (the closer the perpendicular is to the higher reliability). Then, the state of the person 20 estimated using the moving image frame 14 with the highest degree of reliability is used as the state of the person 20.
  • each moving image frame 14 it may be determined whether or not the target person is hidden by another person or an obstacle, and may be reflected in the priority of the camera which performs the state determination. That is, the state of the target person is estimated by preferentially using the moving image frame 14 in which the target person is not hidden by another person or an obstacle.
  • the height estimation unit 2080 utilizes the moving image frames 14 respectively generated by the plurality of cameras 10 at the same time (that is, the plurality of cameras generated by different cameras 10). Make use of the video frame 14) to increase the accuracy of the estimated height.
  • the estimated height of a person is different from the actual height, when attempting to estimate the position of the person in real space using the estimated height, the image is projected to a position shifted in the depth direction of the camera. For example, if the estimated height is smaller than the actual height, converting the coordinates on the image to the coordinates in the real space using the camera parameters will convert the image to be farther from the camera than the actual position. .
  • the estimated height is larger, it is converted to be closer to the actual position. Therefore, when there is a gap between the estimated height and the actual height, when the positions are determined by a plurality of cameras at the same time, a person is projected to a different position for each camera despite the same person. . Conversely, when the position is shifted in this way, the estimated height can be made closer to the correct value by correcting the estimated height so that the position matches.
  • the estimated height is increased if the difference in position in real space obtained between the cameras is smaller than in the case of the original estimated height.
  • the estimated height is reduced by a fixed value, the estimated height is reduced if the difference in real space position obtained between the cameras is reduced.
  • the temporary height of the person can also be corrected by the same method.
  • the result of human detection may include erroneous detection or non-detection
  • the estimated height or temporary height may not be changed at a time, but it may be gradually changed with the lapse of time.
  • a method is also conceivable. In this case, since the estimated height and the temporary height gradually change, it is possible to obtain smooth flow line information. In addition, highly accurate position estimation can be performed without being greatly affected by a sudden erroneous detection result.
  • the information of that camera is Do not use for comparison of Whether or not the tracking target persons overlap, the camera parameters are used to convert the position information of the tracking target person to the position on the image, and the presence area on the image of each tracking target person is estimated, and that area is It can be determined by whether it overlaps with the area of another person.
  • Example of hardware configuration The hardware configuration of a computer that implements the information processing apparatus 2000 of the fourth embodiment is represented, for example, by FIG. 4 as in the first embodiment. However, in the storage device 1080 of the computer 1000 for realizing the information processing apparatus 2000 of the present embodiment, a program module for realizing the function of the information processing apparatus 2000 of the present embodiment is further stored.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)

Abstract

情報処理装置(2000)は、検出部(2020)、状態推定部(2040)、及び身長推定部(2080)を有する。検出部(2020)は、動画フレームから対象人物を検出する。状態推定部(2040)は、検出された対象人物の状態を推定する。身長推定部(2080)は、推定された状態が所定条件を満たす場合、上記動画フレームにおける対象人物の高さに基づいて、その人物の身長を推定する。

Description

情報処理装置、制御方法、及びプログラム
 本発明は画像処理に関する。
 カメラによって生成される映像に含まれる人物を追跡する技術が開発されている。このような技術を開示する文献として、特許文献1と2がある。特許文献1には、人物の状態を「歩行」、「直立」、「座る」、及び「寝る」に分類し、実空間上での足元位置を推定する方式が記載されている。この方式では、画像から人物を検出した後、人物領域の主軸の傾きによる姿勢判定と、カメラから頭部までの水平距離及びカメラから足元までの水平距離を用いた姿勢判定を統合し、「立つ」、「座る」、及び「寝る」の3つの状態を判別している。このとき、カメラから頭部までの水平距離は、仮定された頭部の高さを用いて、頭部の画像上での座標を実空間上での座標に変換し、求まった位置とカメラの位置との差分をとることで算出される。この際、「立つ」状態については、頭部の高さが身長値であると仮定して算出する。また、「座る」及び「寝る」状態については、あらかじめ定められた値が用いられている。
 また、特許文献1では、一定時間間隔空いたフレーム間での位置を比較することにより、静止か歩行状態かを判定し、上記の姿勢状態と合わせて最終的に「歩行」、「直立」、「座る」、及び「寝る」のいずれの状態であるかが判定される。そして、求まった状態に応じて人物の実空間上での座標をカメラパラメータにより算出している。また、状態間では、人物の軌跡がなめらかになるように内挿し、人物の動線情報を算出している。
 特許文献2は、カメラから足元がみえるエリアを身長同定領域として指定し、人物の足元と頭部の画像上の位置を実空間上の座標に変換することによって身長を求める方式を開示している。身長同定領域は、足元から頭部までがカメラによって撮像できる位置の中で規定されており、この領域に入った時に、足元位置と頭の位置を画像から算出し、身長を求めている。
特開2002-197463号公報 特開2001-056853号公報
 特許文献1は、画像に含まれる人物の身長を算出する方法や、「座り」又は「寝る」の状態における頭部の高さを算出する方法について言及していない。また、特許文献2では、身長同定領域における人物の姿勢を考慮していない。そのため、例えば身長同定領域で人物が屈んでいる場合などには、人物の身長を正しく求めることができない。また、人物が身長同定領域に含まれるときにしかその人物の身長を推定できないため、画像上においてこの領域で人物同士が重なり合ってしまい、人物の足元が画像から検出できない場合などでは、身長を推定できなくなる。
 本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、カメラによって生成される画像に含まれる人物の身長を高い精度で推定する技術を提供することである。
 本発明の情報処理装置は、1)動画フレームから人物を検出する検出手段と、2)検出の結果を用いて、対象人物の状態を推定する状態推定手段と、3)対象人物の状態が所定条件を満たす場合、動画フレームにおける対象人物の高さに基づいて、対象人物の身長を推定する身長推定手段と、を有する。
 本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)動画フレームから人物を検出する検出ステップと、2)検出の結果を用いて、対象人物の状態を推定する状態推定ステップと、3)対象人物の状態が所定条件を満たす場合、動画フレームにおける対象人物の高さに基づいて、対象人物の身長を推定する身長推定ステップと、を有する。
 本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
 本発明によれば、カメラによって生成される画像に含まれる人物の身長を高い精度で推定する技術が提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の動作の概要を説明するための図である。 対象人物が含まれる動画フレームを例示する図である。 実施形態1の情報処理装置の構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示する第1のフローチャートである。 実施形態1の情報処理装置によって実行される処理の流れを例示する第2のフローチャートである。 追跡情報を例示する図である。 実施形態2の情報処理装置の機能構成を例示する図である。 実施形態2の情報処理装置によって実行される処理の流れを例示する第1のフローチャートである。 実施形態2の情報処理装置によって実行される処理の流れを例示する第2のフローチャートである。 実施形態3の情報処理装置の機能構成を例示するブロック図である。 実施形態3の情報処理装置によって実行される処理の流れの概略を示すフローチャートである。 第1時点の動画フレームから検出された人物と、追跡対象人物との対応付けを例示する図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
 図1は、実施形態1の情報処理装置(後述する図3における後述する情報処理装置2000)の動作の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
 情報処理装置2000は、カメラ10によって生成された動画データ12から人物20を検出する。図1では、動画フレーム14から4人の人物が検出されている。ここで、動画フレーム14は、動画データ12を構成する時系列の撮像画像の内の1つである。すなわち、動画データ12は、時系列の複数の動画フレーム14によって構成される。
 情報処理装置2000は、人物20が含まれる複数の動画フレーム14を画像解析することで、人物20の身長を推定する。身長を推定する対象とする人物を、対象人物と表記する。ここで、身長は、一定の観測期間中(例えば,店舗内での動線解析の場合には、ある顧客の入店から退店まで)変化しない、各人物に対して固有の不変量である。一方で、画像から観測される人物の高さは、姿勢変動等によって変化する。そこで、不変量である「身長」に対し、或る時点に生成された画像から観測される人物の高さを「一時的高さ」と呼ぶことにし、身長とは区別して用いる。以下、一部の動画フレーム14を画像解析する意義について説明する。
 図2は、対象人物が含まれる動画フレーム14を例示する図である。動画フレーム14-1では、人物20が屈んでいる。一方、動画フレーム14-2では、人物20が直立している。
 人物20の身長は、直立している状態における人物20の高さである。そのため、動画フレーム14-1のように、屈んでいる人物20が含まれる動画フレーム14を画像解析しても、人物20の身長を精度よく推定することは難しい。一方で、動画フレーム14-2のように、直立している人物20が含まれる動画フレーム14を画像解析すれば、人物20の身長を精度よく推定することができる。
 そこで情報処理装置2000は、対象人物が含まれる複数の動画フレーム14それぞれについて、動画フレーム14に含まれる対象人物の状態を推定する。さらに情報処理装置2000は、対象人物が含まれる複数の動画フレーム14のうち、推定された対象人物の状態が所定条件を満たす動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する。ここで、所定条件は、対象人物の状態が直立姿勢又は直立に近い姿勢である場合に満たされる条件であるとする。
 例えば図2のケースでは、動画フレーム14-1における対象人物の高さ d1 ではなく、動画フレーム14-2における対象人物の高さ d2 を用いて、対象人物の身長を推定する。ここで、推定される身長を「推定身長」とも表記する。そして、身長を推定することを、「推定身長を算出する」とも表記する。
<作用・効果>
 図2に示したように、対象人物が含まれる動画フレーム14の中には、身長の推定に適さない状態の対象人物が含まれるものもある。このような動画フレーム14を利用して対象人物の身長を推定すると、対象人物の身長を精度良く推定することができない。
 そこで本実施形態の情報処理装置2000は、動画フレーム14に含まれる対象人物の状態を推定し、身長の推定に適した状態の対象人物が含まれる動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する。こうすることで、対象人物の身長を精度良く推定することができる。
 以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
 図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、例えば、検出部2020、状態推定部2040、及び身長推定部2080を有する。検出部2020は、動画フレーム14から人物20を検出する。状態推定部2040は、検出された人物20の状態を推定する。身長推定部2080は、推定された状態が所定条件を満たす場合、上記動画フレーム14における人物20の高さに基づいて、その人物20の身長を推定する。
<情報処理装置2000のハードウエア構成>
 情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図4は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。その他にも例えば、計算機1000はカメラ10であってもよい。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
 計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)や GPU(Graphics Processing Unit)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
 入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
 例えば計算機1000は、ネットワークを介してカメラ10と通信可能に接続されている。ただし、計算機1000をカメラ10と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機1000は、カメラ10と通信可能に接続されていなくてもよい。
 ストレージデバイス1080は、情報処理装置2000の各機能構成部(検出部2020、状態推定部2040、身長推定部2080)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
 なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば検出部2020、状態推定部2040、及び身長推定部2080は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
 カメラ10は、繰り返し撮像を行って時系列の動画フレーム14を生成することにより、動画データ12を生成する任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
 前述したように、情報処理装置2000を実現する計算機1000は、カメラ10であってもよい。この場合、カメラ10は、自身で生成した動画フレーム14を解析することで、人物20の検出、対象人物の状態の推定、及び対象人物の身長の推定を行う。このような機能を持たせるカメラ10としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを用いることができる。
 なお、情報処理装置2000の全ての機能をカメラ10で実現するのではなく、情報処理装置2000の一部の機能のみがカメラ10で実現されてもよい。例えば、動画フレーム14から人物20を検出する機能のみをカメラ10で実現し、それ以外の情報処理装置2000の機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ10から、検出された人物20の位置や画像特徴などの種々の情報を取得する。また、サーバ装置は、カメラ10によって生成された動画フレーム14のうち、人物20及びその周辺が含まれる一部の画像領域のみを取得してもよい。
<処理の流れ>
 図5は、実施形態1の情報処理装置2000によって実行される処理の流れを例示する第1のフローチャートである。ループ処理Aは、所定の終了条件が満たされるまで繰り返し実行されるループ処理である。検出部2020は、最新の動画フレーム14を取得する(S104)。検出部2020は、取得した動画フレーム14から人物20を検出する(S106)。ループ処理Bは、検出された各人物20について実行される処理である。ここで、ループ処理Bにおける処理対象の人物20を、人物iと呼ぶ。人物iが、前述した対象人物となる。
 また、図6は、実施形態1の情報処理装置2000によって実行される処理の流れを例示する第2のフローチャートである。この場合、検出部2020は、さらに、検出した人物を、それまでの追跡結果と対応付け、追跡結果を得る(S120)。ループ処理Bは、追跡処理によって得られた追跡対象に含まれる各人物20について実行される処理である。ここでも、ループ処理Bにおける処理対象の人物20を、人物iと呼ぶ。
 状態推定部2040は、人物iの状態を推定する(S110、S130)。身長推定部2080は、人物iの状態が所定条件を満たすか否かを判定する(S112、S132)。人物iの状態が所定条件を満たす場合(S112、S132:YES)、S102で取得された動画フレーム14から得られる人物iの高さに基づいて、人物iの推定身長を算出する(S114、S134)。人物iの状態が所定条件を満たさない場合(S112、S132:NO)、人物iの推定身長は算出されない。
 なお、ループ処理Aを終了する条件は任意である。例えば、ユーザから所定の入力操作を受け付けた場合に、ループ処理Aを終了する。
<動画フレーム14の取得方法:S104>
 情報処理装置2000は、処理対象とする1つ以上の動画フレーム14を取得する。情報処理装置2000が動画フレーム14を取得する方法は様々である。例えば情報処理装置2000は、カメラ10から送信される動画フレーム14を受信する。また例えば、情報処理装置2000は、カメラ10にアクセスし、カメラ10に記憶されている動画フレーム14を取得する。
 なお、カメラ10は、カメラ10の外部に設けられている記憶装置に動画フレーム14を記憶させてもよい。この場合、情報処理装置2000は、この記憶装置にアクセスして動画フレーム14を取得する。そのため、この場合、情報処理装置2000とカメラ10は通信可能に接続されていなくてもよい。
 情報処理装置2000の一部又は全部の機能がカメラ10で実現される場合、情報処理装置2000は、情報処理装置2000自身によって生成された動画フレーム14を取得する。この場合、動画フレーム14は、例えば情報処理装置2000の内部にある記憶装置(例えばストレージデバイス1080)に記憶されている。そこで情報処理装置2000は、これらの記憶装置から動画フレーム14を取得する。
 情報処理装置2000が動画フレーム14を取得するタイミングは任意である。例えば情報処理装置2000は、カメラ10によって動画データ12を構成する新たな動画フレーム14が生成される度に、その新たに生成された動画フレーム14を取得する。その他にも例えば、情報処理装置2000は、定期的に未取得の動画フレーム14を取得してもよい。例えば情報処理装置2000が1秒間に1回動画フレーム14を取得する場合、情報処理装置2000は、カメラ10によって1秒間に生成される複数の動画フレーム14(例えば動画データ12のフレームレートが 30fps(frames/second)であれば、30枚の動画フレーム14)をまとめて取得する。
 情報処理装置2000は、動画データ12を構成する全ての動画フレーム14を取得してもよいし、一部の動画フレーム14のみを取得してもよい。後者の場合、例えば情報処理装置2000は、カメラ10によって生成される動画フレーム14を、所定数に1つの割合で取得する。
<人物20の検出:S106>
 検出部2020は、動画フレーム14から人物20を検出する(S102)。動画フレーム14から人物20を検出する技術には、既知の種々の技術を利用することができる。例えば検出部2020は、人物の画像特徴を学習させた検出器を含む。検出器は、動画フレーム14から、学習済みの画像特徴にマッチする画像領域を、人物20を表す領域(以下、人物領域)として検出する。検出器には、例えば、HOG(Histograms of Oriented Gradients)特徴に基づいて検出を行うものや、CNN(Convolutional Neural Network)を用いるものが利用できる。なお、検出器は、人物20全体の領域を検出するように学習させたものであってもよいし、人物20の一部の領域を検出するように学習させたものであってもよい。例えば頭部や足元を学習させた検出器を用い、頭部位置と足元位置が検出できれば、人物領域を特定できる。その他にも例えば、背景差分によって求まるシルエット情報(背景モデルと差分がある領域の情報)と頭部検出情報を組み合わせることにより、人物領域を求めるように構成されていてもよい。
 検出器は、検出した人物20に関する情報(以下、検出情報)を出力する。検出情報は、例えば、人物20の位置及び大きさを示す。ここで、検出情報における人物20の位置は、動画フレーム14上の位置(例えば動画フレーム14の左上端を原点とする座標)で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、人物20の実世界座標は、カメラパラメータを用いて、動画フレーム14上の位置から算出することができる。
 人物20の大きさは、例えば、人物の外接矩形(以下、人物矩形とも表記する)や、頭部や足元などの人物の一部の領域の外接矩形の大きさ(例えば、縦、横の辺の長さ、あるいはそれらの平均値など)で表される。この大きさは、動画フレーム14上の大きさであってもよいし、実世界上の大きさであってもよい。
<人物20の追跡:S120>
 なお、図6に示すフローの場合には、検出部2020は、さらに人物の追跡処理も行う。追跡処理は、現時点で入力された動画フレームから検知された人物と、過去のフレームで検知されて追跡中である人物とを対応付ける処理である。複数の動画フレーム14にわたって同一の人物を追跡する技術には、例えば、後述する実施形態3において説明する技術を利用することができる。また、その他の既存の技術を利用することもできる。
 情報処理装置2000は、人物20を追跡することで、人物20の位置や大きさの履歴を表す追跡情報を生成する。ここで、追跡情報に登録されている人物、すなわち既に動画フレーム14から検出されており、追跡対象となっている人物を、追跡対象人物と呼ぶ。
 図7は追跡情報を例示する図である。図7の追跡情報では、追跡対象人物ごとにテーブル200が生成されている。テーブル200は、対応づけられている追跡対象人物の位置等の履歴を示す。テーブル200は、フレームID202、位置204、状態206、観測値208、動き210、特徴量212、及び領域214を示す。フレームID202は、動画フレーム14の識別子である。例えばフレームID202がnを示すレコードは、フレームIDがnである動画フレーム14における追跡対象人物の位置等を示す。なお、動き210は、移動状態にある追跡対象人物について、その移動の予測に利用される動きモデルのパラメータを示す。動きモデルについては、後述の実施形態3で説明する。また、領域214における TL と BR はそれぞれ、左上端(top left)の座標と右下端(bottom right)の座標を表している。観測値208については後述する。
 図6に示すフローの場合には、検出部2020は、S106の検出時に追跡に必要な情報も抽出してもよい。すなわち、検出情報は、人物20の外見の特徴を表す特徴量を含んでいてもよい。特徴量としては、人物20の大きさ、表面の色や模様(服の色や模様)などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、検出情報は、オブジェクトの形状を表す特徴量を含んでもよい。オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプデスクリプタを用いることができる。その他にも例えば、人物20の特徴点を抽出し、特徴点ごとに SIFT(Scale Invariant Feature Transform)や SURF(Speeded Up Robust Features)などの局所特徴量を抽出するようにしてもよい。その他に例えば、深層学習により学習されたネットワークによる特徴抽出を用いてもよい。
<対象人物について:S108>
 情報処理装置2000は、動画フレーム14から検出される人物20の内の少なくとも1つを、身長を推定する処理の対象(すなわち対象人物)とする。ここで、動画フレーム14から複数の人物20が検出される場合に、どの人物20を対象人物として扱うかを決める方法は任意である。例えば図5のフローチャートに示す処理では、動画フレーム14から検出された全ての人物20を対象人物として扱っている。
 その他にも例えば、情報処理装置2000は、動画フレーム14内の所定の画像領域に含まれる人物20のみを、対象人物として扱ってもよい。所定の画像領域は、予め定まっている領域であってもよいし、動的に定められる領域であってもよい。後者の場合、例えば情報処理装置2000は、動画フレーム14の中から所定の物体を検出し、その物体を基準とした所定の大きさの画像領域から検出される各人物20を、対象人物として扱う。所定の物体は、常時置かれている物体(椅子、棚、ドア、又は銅像など)であってもよいし、放置物体などのように動的に現れる物体であってもよい。なお、常時置かれている物体や動的に現れる物体を画像から検出する技術には、既存の技術を利用することができる。
<状態の推定:S110>
 状態推定部2040は対象人物の状態を推定する(S110)。状態推定部2040によって推定される状態には、少なくとも、対象人物の姿勢に関する情報(例えば、直立と非直立のどちらであるかを示す情報)が含まれる。対象人物の状態を推定する方法には、様々な方法を採用することができる。以下、その方法の具体例をいくつか説明する。
<<方法1>>
 まず、動画フレーム14の中の1枚の画像のみから身長を求める場合(図5の処理フローの場合)について述べる。この場合、例えば状態推定部2040は、学習によって状態を分別する識別器(以下、状態識別器)を有し、この識別器を利用して状態判別を行う。例えば、「直立」と「非直立」それぞれの状態(人物姿勢)に該当する画像の学習データを準備し、学習データの画像と人物検出結果を入力としたときに、正解の状態が得られるように、状態識別器を学習させる。この学習には、SVM(Support Vector Machine)やニューラルネットワーク等、様々な識別器を用いることができる。
 より具体的には、しゃがみ・屈みなどの非直立状態を、直立状態と区別するように、状態識別器を学習させておく。
 例えば状態推定部2040は、状態識別器に対し、動画フレーム14、及び入力された動画フレーム14に対する人物の検出結果を入力する。状態識別器は、その動画フレーム14で検出された各人物20について、その状態を表す情報(以下、状態情報)を出力する。その他にも例えば、状態推定部2040は、動画フレーム14から検出された対象人物の画像領域のみを状態識別器に入力したり、対象人物の検出情報を状態識別器に入力したりしてもよい。
 状態情報は、対象人物の姿勢がどの状態であるかを特定する情報であってもよいし、対象人物が各状態であることの尤度を示す情報であってもよい。後者の場合、状態識別器は、対象人物がとりうる各状態について、対象人物がその状態であることの尤度を算出する。そして状態識別器は、状態情報に各状態の尤度を含める。
 なお、状態推定部2040は、状態として直立状態をさらに細かく分類する姿勢情報を判定するように構成されていてもよい。これらの情報を考慮することで、後述するように、身長推定の精度を高めることが可能となる。
 例えば、直立して歩いている状態の場合には、同じ直立状態でも、股を開いて歩いている姿勢と足が揃っている姿勢とが考えられる。そのため、これらを区別するように状態識別器を学習させることで、状態識別器が両者を判別するようにしてもよい。さらに、股が開いている状態については、その開き具合に応じて数段階に場合分けして判定するようになっていてもよい。このような状態識別器からは、対象人物の股が閉じているのか開いているのかを表す情報や、股の開き具合を表す情報なども出力される。
 また、状態情報には人物の向きがさらに含まれるようにしてもよい。向きの判定も、状態識別器を予め学習させておくことで可能となる。
<<方法2>>
 次に、複数の動画フレーム14を用いた追跡処理を含む場合(図6のフローの場合)について述べる。なお、方法2は、状態推定部2040において、画像による姿勢判定を行わずに追跡情報に含まれる時系列の人物矩形情報を用いて状態を判定する方法である。方法1のように画像による姿勢判定を行う場合については、方法3として後述する。
 状態推定部2040は、或る動画フレーム14における対象人物の状態を、その動画フレーム14及び過去複数の動画フレーム14にわたるその対象人物の追跡結果を利用して推定する。なお、複数の動画フレーム14にわたって同一の人物を追跡する技術には、既存の技術を利用することができる。また、情報処理装置2000は、身長推定部2080によって推定される人物20の推定身長を、その人物20の追跡に利用してもよい。その具体的な方法については、後述の実施形態で説明する。
 追跡の結果が利用可能な場合、「直立状態」、「非直立状態」以外に、「移動状態」と「静止状態」を区別することが可能となる。この場合、例えば、「直立移動状態」、「直立静止状態」、及び「非直立静止状態」という3つの状態のいずれであるのかが判別される。なお、非直立移動状態という状態も選択肢に含めてもよいが、通常は想定されない状態であるため、以下の説明では選択肢に含めないこととする。以下では、まず、直立か非直立かの区別について述べた後、移動か静止かの区別について述べる。
 情報処理装置2000は、人物20を追跡することで、人物20の位置や大きさの履歴を表す追跡情報を生成する。ここで、追跡情報に登録されている人物、すなわち既に動画フレーム14から検出されており、追跡対象となっている人物を、追跡対象人物と呼ぶ。
 対象人物の追跡情報の履歴が一定数格納されるまでの間は(対象人物のテーブル200のレコード数が一定数に達するまでの間は)、状態推定部2040は、各動画フレーム14から対象人物の実世界上の高さを算出する。対象人物の実世界上の高さは、例えば、動画フレーム14上における対象人物の高さを、カメラパラメータを利用して実世界上の値に変換することで得られる。なお、動画フレーム14上における対象人物の高さは、例えば、動画フレーム14上における対象人物の足元と頭頂部との間の距離として算出することができる。以下、動画フレーム14から算出される、対象人物の実世界上の高さを、「観測値」とも表記する。この観測値が、前述した観測値206に示される値である。すなわち、動画フレーム14から算出した対象人物の観測値が、追跡情報の観測値206に格納される。
 対象人物について一定数の観測値が蓄積されたら、状態推定部2040は、蓄積された観測値を用いて、対象人物が直立しているか否かを識別するための閾値を算出する。この閾値は、観測値の分布において、人物20が直立していると考えられる領域と、人物20が直立していないと考えられる領域との境界線を意味する。
 この閾値を算出した後から、状態推定部2040は、上記閾値を用いて、動画フレーム14から得られる対象人物の姿勢を推定する。例えば状態推定部2040は、対象人物の観測値が閾値と比較して有意に大きい場合に(例えば、観測値が閾値以上である場合に)、対象人物の状態が直立状態であると推定する。一方、観測値が閾値より有意に大きいとはいえなければ(例えば、観測値が閾値未満であれば)、状態推定部2040は、対象人物の状態が非直立状態であると推定する。
 その他にも例えば、状態推定部2040は、観測値が閾値から乖離している程度を表す指標値を算出し、この指標値を、対象人物の状態が直立状態である尤度としてもよい。
 ここで、閾値の決め方について説明する。履歴が一定数格納されたときに、実世界上の高さに有意な変化がある場合には、一番高い値が身長に近いと考えられるため、この高さを基準に一定の値だけ減じた値(例えば 5cm を減じた値)を閾値として設定する。なお、この減じる値は、観測値の誤差を考慮して決めることが好適である。例えば、誤差の標準偏差の値に基づいて決定することができる。一方、履歴が一定数格納されたときに、実世界上の高さに有意な変化がない場合(観測値の分布が誤差の範囲と考えられる場合)には、その代表値(平均値、中央値、モード値など)を基準に一定の値だけ減じた値を閾値として設定する。途中で、実世界の高さが定めた閾値よりも有意な差をもって大きくなる場合には、もともと直立ではなかったと考えられるため、新たに得られた観測値を基準にして、閾値を設定し直す。そして、それまでの状態を直立ではなく、非直立と修正するようにする。
<<移動・静止の考慮>>
 前述したように、対象人物がとりうる状態は、直立移動状態、非直立移動状態、及び直立静止状態であってもよい。このためには、移動の有無を判定する必要がある。以下では、移動の有無を判定し、直立移動状態、非直立移動状態、及び直立静止状態のいずれに該当するかを判定する方法について述べる。
 状態推定部2040は、前述した追跡情報を利用して、対象人物が移動しているか否かを判別する。例えば状態推定部2040は、動画フレーム14から検出された対象人物の位置と、所定時間前(例えば直前のフレーム)における対象人物の位置を比較し、位置の変化が小さければ(例えば所定値以下であれば)、対象人物が静止していると判定する。一方、位置の変化が大きければ、状態推定部2040は、対象人物が移動していると判定する。対象人物の位置としては、頭部の位置、人物矩形の所定位置(例えば中心や左上端など)、又は足元位置などを利用することができる。なお、所定時間前の動画フレーム14における対象人物の位置だけでなく、過去複数フレームにおける対象人物の位置との比較を行ってもよい。
 状態推定部2040は、対象人物の位置が変化した方向をさらに考慮して、対象人物が移動しているか否かを判定してもよい。例えば対象人物の頭部が鉛直方向に変化することは、対象人物が立ち上がったり座ったりすること、すなわち同じ場所で姿勢を変えていることを表すと言える。そこで例えば、状態推定部2040は、対象人物の位置の変化の方向が鉛直方向に近い方向である場合、状態推定部2040は移動していないと判定する。一方、状態推定部2040は、対象人物の頭部の位置の変化の方向が鉛直方向に近い方向でない場合、状態推定部2040は移動していると判定する。
 対象人物の頭部の位置の変化の方向が鉛直方向に近いか否かは、例えば、対象人物の位置の変化の方向と鉛直方向のベクトルとのなす角を求めることによって判定することができる。なお、状態推定部2040は、位置の変化の方向と鉛直方向とのなす角が大きい場合に、対象人物が移動していると判定してもよい。
 また、画像上での頭部の動きが鉛直方向に近い場合、状態推定部2040は、足元位置の変動も考慮して、姿勢変動と移動とを判別してもよい。具体的には、足元位置の変動が小さく、静止とみなせる場合には、姿勢変動が起きているだけで人物は移動していないと考えられる。よって、状態推定部2040の状態は、非直立静止状態となる。一方、足元位置が頭部の動きと連動して動いている場合、直立移動状態となる。
 なお、足元が隠れていて見えない場合もある。この場合も、足元が頭部と連動していないと見なせる場合(例えば、頭部がカメラ10の画像の鉛直方向に移動しているにもかかわらず、足元は障害物などに隠れたままである場合など)は、足元位置は静止していると仮定して、非直立静止状態と判定してもよい。また、椅子があり、座ることが想定されている場所の場合には、足元位置がみえなくても、着席する蓋然性が高いと考えられるため、非直立静止状態と判定してもよい。また、静止していると仮定すると矛盾が生じる場合(例えば、人物矩形の高さが想定される高さよりも大幅にずれるなど)には、直立移動状態であると判定してもよい。もし、どちらとも判定が難しい場合には、両方の状態の尤度を同程度にし、将来のどこかのフレームでどちらの状態かがはっきりした時点で状態推定をする(状態の尤度に大きな差をつける)ようにしてもよい。
<<方法3>>
 次に、複数の動画フレーム14を用いた追跡処理を含む場合(図6のフローの場合)で、かつ、状態推定部2040において、画像による姿勢判定を行う場合について述べる。この場合、人物の姿勢を画像によって判定可能なため、直立、非直立を直接的に分類することができる。これと、方法2で述べた移動情報と組み合わせることで、「直立移動」、「直立静止」、「非直立静止」の3状態を区別できるようになる。
 さらに、方法1で述べたように、詳細な状態を出力するようになっていてもよい。すなわち、股を開いて歩いている状態か、さらに、その開き具合はどのぐらいか、あるいは、人物の向きはどちらかといった情報も合わせて出力するようになっていてもよい。これらの識別は、方法1のところで述べたように、画像による識別器を生成することで実現できる。これらの情報を考慮することで、後述するように、身長推定の精度を高めることが可能となる。
<身長の推定:S114>
 図5のフローの場合、身長推定部2080は、動画フレーム14を用いて推定された対象人物の状態が所定条件を満たすときに、その動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する(S114)。所定条件は、「対象人物の状態が、直立状態又はこれに近い状態であること」を表す条件である。
 例えば状態情報が、対象人物の状態を特定する情報であるとする。この場合、所定条件は、「対象人物の状態が直立状態である」という条件となる。
 その他にも例えば、状態推定部2040が対象人物に関し、複数の状態それぞれについて尤度を算出するとする。この場合、所定条件は、「対象人物の状態が直立状態である尤度が閾値以上である」という条件である。
 身長推定部2080は、動画フレーム14における対象人物の状態が所定条件を満たしている場合に、その動画フレーム14における対象人物の観測値を算出する。前述したように、動画フレーム14における対象人物の観測値は、対象人物の動画フレーム14上のける高さを、カメラパラメータなどを用いて、実世界上の高さに変換した値である。ここで、対象人物の状態にかかわらず、検出部2020が対象人物の観測値を算出して検出情報に含めるように構成されていてもよい。この場合、身長推定部2080は、検出情報から観測値を取得する。
 例えば身長推定部2080は、動画フレーム14における対象人物の状態が所定条件を満たしている場合、その動画フレーム14における対象人物の観測値を、対象人物の推定身長とする。
 その他にも例えば、状態推定部2040がより細かい状態情報(例えば、股を開いて歩いている状態か、股の開き具合、人物の向き)も一緒に出力する場合には、所定条件にこれらの条件も含めてもよい。例えば、同じ直立状態であっても、股を開いていない(あるいは開き具合が小さい)場合のみ、身長を推定するようになっていてもよい。あるいは、人物の向きがカメラの光軸方向と大きく異なる場合のみ、身長を推定するようになっていてもよい。
<身長の推定:S134>
 図6のフローの場合も、身長推定部2080は、動画フレーム14を用いて推定された対象人物の状態が所定条件を満たす場合、その動画フレーム14における対象人物の高さに基づいて、対象人物の身長を推定する(S134)。所定条件は、「対象人物の状態が、直立状態又はこれに近い状態であること」を表す条件である。すなわち、状態が直立静止状態か、あるいは直立移動状態のときとなる。その他にも例えば、状態推定部2040が対象人物に関し、複数の状態それぞれについて尤度を算出する場合、所定条件は、「対象人物の状態が直立状態である尤度が閾値以上である」という条件である。
 身長推定部2080は、動画フレーム14における対象人物の状態が所定条件を満たしている場合に、その動画フレーム14における対象人物の観測値(実世界上の高さ)を算出する。ここで、対象人物の状態にかかわらず、検出部2020が対象人物の観測値を算出して検出情報に含めるように構成されていてもよい。この場合、身長推定部2080は、検出情報から観測値を取得する。
 例えば、身長推定部2080は、最新の動画フレーム14で得られた観測値に加え、対象人物の状態が所定条件を満たしている過去の動画フレーム14(1つでも複数でもよい)から得られた観測値も用いて、対象人物の推定身長を算出する。具体的には、最新の動画フレーム14から得られた観測値と、過去の動画フレーム14から得られた観測値の統計値を算出し、その統計値を対象人物の推定身長とする。
 例えば身長推定部2080は、最新の動画フレーム14において対象人物の状態が所定条件を満たしていたら、その動画フレーム14から得られた観測値、及び対象人物の状態が所定条件を満たす過去所定数の動画フレーム14それぞれから得られた観測値を用いて、対象人物の推定身長を算出する。対象人物の状態が所定条件を満たす動画フレーム14が得られる度にこのように対象人物の推定身長を算出していくことで、対象人物の推定身長を段々と精度の高い値に更新していくことができる。
 上記統計値には、様々なものを利用することができる。例えば統計処理は、平均値である。ただし、誤検出の場合など、推定身長が正しく求まらない場合もある。このため、ロバスト推定等の手法により、外れ値を除外する統計処理で統計値を算出してもよい。例えば、RANSAC(Random Sampling Consensus)などの手法を利用することができる。
 その他にも例えば、対象人物の状態の尤度に応じて観測値に重みづけをして加算するようにしてもよい。例えば、対象人物がカメラの近くに位置するために俯角が大きくなると、対象人物の頭頂部分の推定が難しくなり、対象人物の観測値が誤差を含みやすくなる。一方、対象人物がカメラから離れると対象人物の解像度(動画フレーム14上での大きさ)が下がり、検出位置のわずかなずれが身長の推定に影響を与えるようになる。よって、カメラからの俯角や、カメラからの距離に応じて、観測値の誤差の生じやすさを考慮して重みづけして加算し、平均を算出してもよい。誤差の生じやすさについては、あらかじめ身長が既知の人物をカメラで撮影することによって、カメラの俯角や距離に応じた誤差の傾向を把握できるため、この結果に基づいて予め決めておくことができる。すなわち、誤差が大きくなるにつれ、重みが小さくなるように重みを決定し、重みづけ平均で用いるようにすればよい。
 また、人物の状態の種類を考慮した重みをつけるようにしてもよい。上述の状態分類によれば、移動しているときの姿勢は直立のみであるのに対し、静止しているときの姿勢には直立と非直立の2通りがある。よって、移動状態であれば、対象人物の観測値が身長を表わす蓋然性が高い。一方で、移動しているときは多少高さが上下するため、対象人物の観測値は一定の誤差を含む蓋然性が高い。また、静止しているときは観測値が誤差を含む蓋然性が低い。このことから、直立静止状態のとき、もっとも高い確度で対象人物の身長が推定できる。
 そこで、対象人物の状態が直立静止状態である動画フレーム14から得られる対象人物の観測値に大きい重みを付与する。例えば、移動状態から静止状態に遷移した直後で、計測される観測値の状態が安定しており、かつ、移動状態の時に算出された推定身長に近い場合は、直立の姿勢で静止している確度が高いと見做せる。よって、このような状況で計測された観測値の重みを高くして推定するようにしてもよい。また、同じ移動状態でも、移動速度によって求まりやすさも変わる。例えば、早く移動している場合には、歩幅が大きくなる分、人物の高さの変動も大きくなる。よって、速度が大きい場合には、重みを下げるように制御してもよい。
 さらに、対象人物の向きや股の開き具合なども考慮して重み付けをしてもよい。対象人物が直立移動状態の場合、移動の向きやその時の人物の姿勢によって、対象人物の観測値が身長を表す程度が異なる。具体的には、股が開いている状態では、足が揃っている場合に比べ、高さが低くなる。よって、対象人物の股が開いている場合、その時の対象人物の観測値は、実際の身長よりも小さい値になりやすい。そこで、足が揃っている姿勢の対象人物の観測値に与える重みを、股が開いている姿勢の対象人物の観測値に与える重みよりも大きくする。
 また、移動の方向がカメラの光軸方向に近い場合には、人物領域として求まる矩形の足元位置が定まりにくくなり、対象人物の観測値に誤差が生じやすい。このことは、股が開いている状態ではより顕著になる。よって、カメラの光軸方向に近い方向に移動している対象人物の観測値の重みを小さくして統計処理を行うようにする。
 また、直立移動状態のときに、身長の概算値を求めておき、静止状態に移行した時点で、概算値から詳細な値を推定するようになっていてもよい。すなわち、人物が直立静止状態に移行した後(あるいは移行する前)、直立移動状態で求まった概算値に近い値で観測値が安定している場合には、正しい身長が求められる蓋然性が高い。よって、このような状態の観測値に高い重みをつけて身長を求めるようになっていてもよい。上述した身長の概算値は、例えば、直立移動状態の対象人物について求まる一時的な高さである。
 なお、推定身長を精度良く求めるためには、動画フレーム14において対象人物の足元と頭部の双方が見えていることが好適であるといえる。しかしながら、障害物や他の人物との重なりによって、足元が隠れる場合がある。身長の推定には、足元が隠れている場合を除くことが望ましい。そこで、上記所定条件に、「対象人物の足元が見えている」という条件を加えてもよい。なお、対象人物の足元が見えているか否かを判定する方法には、様々な方法を利用できる。具体的には、直接的に足元の検知を行ってもよいし、障害物に隠れているかどうか、あるいは、人物と重なっているかどうかの判定を行ってもよい。棚などの障害物は、通常予め定まった位置にあるため、カメラから見たときに足元位置が隠れる床面上の領域は、あらかじめ定めることができる。よって、対象人物の位置がこの領域内にあるか否かを判定することで、対象人物の足元が見えるか否かを判定することができる。また、人との重なりについては、検出部2020によって検出された各人物20の位置に基づいて判定可能である。例えば、対象人物の外接矩形の下端に他の人物20の外接矩形が重なっている場合には、対象人物の足元が見えないと判定する。この際、各人物20の3次元位置を考慮し、カメラから見た対象人物と他の人物20との前後関係も用いて、対象人物の足元が見えるか否かを判定してもよい。すなわち、対象人物と他の人物20の外接矩形が重なっており、なおかつ他の人物20が対象人物よりもカメラの近くにいる場合に、対象人物の足元が見えないと判定する。
[実施形態2]
 図8は、実施形態2の情報処理装置2000の機能構成を例示する図である。下記で説明する事項を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
 実施形態2の情報処理装置2000は、一時的高さ推定部2100を有する。一時的高さ推定部2100は、或る時点における対象人物の一時的な高さを算出する。一時的な高さとは、対象人物が直立しているか否かにかかわらず求まる高さである。例えば対象人物がしゃがんでいる場合、その状態における対象人物の足元から頭頂部までの高さが、その時における対象人物の一時的な高さである。直立状態の時には、一時的な高さは、観測誤差範囲内で身長と一致する。
<処理の流れ>
 図9は、実施形態2の情報処理装置2000によって実行される処理の流れを例示する第1のフローチャートである。図9のフローチャートは、図5のフローチャートに比べ、身長推定(S114)の後に、対象人物の一時的な高さを算出する処理(S202)が実行される点が異なる。それ以外は、図5のフローチャートと同様である。
 図10は、実施形態2の情報処理装置2000によって実行される処理の流れを例示する第2のフローチャートである。図10のフローチャートは、図6のフローチャートに比べ、身長推定(S134)の後に、対象人物の一時的高さを算出する処理(S212)が実行される点が異なる。それ以外の部分については、図6のフローチャートと同様である。
<一時的高さの推定:S202>
 図9のフローの場合には、例えば一時的高さ推定部2100は、対象人物の状態が前述した所定条件を満たさない動画フレーム14も含むすべてのフレームにおける対象人物の観測値を、その動画フレーム14が生成された時点における対象人物の一時的な高さとする。
<一時的高さの推定:S212>
 追跡処理が含まれる場合(図10のフローの場合には)には、その他にも例えば、一時的高さ推定部2100は、過去複数の動画フレーム14から得られる情報も利用して、対象人物の一時的な高さを算出してもよい。対象人物の一時的な高さは、時間的に連続的に変化する特性、及び推定身長以下になるという特性を有する。よって、障害物等によって対象人物の足元が見えない場合など、1つの動画フレーム14から算出される観測値の信頼度が低いと考えられる場合には、連続性を考慮して時間方向に補完(内挿や外挿)することにより、対象人物の一時的な高さを算出することが好適である。なお、補完の方法は、既存の任意の方式を用いることができる。
 例えば、時点tで生成された動画フレーム14が、推定身長を算出するための所定条件を満たさず、なおかつその動画フレーム14において対象人物の足元が見えないとする。この場合、例えば一時的高さ推定部2100は、時点tよりも過去の複数の動画フレーム14それぞれから算出された対象人物の一時的な高さの時間変化に対して補完を行うことで、時点tにおける対象人物の一時的な高さを算出する。
 なお、時間的に近傍の複数の動画フレーム14を用いて、対象人物の一時的な高さを1つ算出してもよい。例えば、各動画フレーム14について算出された対象人物の観測値を、ある一定の幅の時間窓内で平均する。こうすることで、各時間窓内について、対象人物の一時的な高さが得られる。この際、各動画フレーム14から得られる観測値に、観測値の確度に応じた重みづけをしてもよい。
 また、姿勢変動が少なく、対象人物の観測値が安定しているときは時間窓の幅を長めにとり、座り込みや立ち上がりなどで、高さが急激に一方向に変化しているときは、時間窓の幅を短くするようにしてもよい。
 ただし、特定の人物状態においては、以下に述べる制約を以って推定することが望ましい。しゃがみや屈み、座りなどの非直立静止状態においては、人物の位置は変化しないと考えられる。特に椅子などがあり、座ることが想定されるエリアにおいては、特にこの傾向が強い。よって、非直立静止状態においては、足元が見えなくても、足元位置は動かさず、頭頂位置のみを変化させて、一時的な高さを算出するようにすればよい。すなわち、複数の動画フレーム14間で、足元位置を共通の位置に設定する。
<ハードウエア構成の例>
 実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用・効果>
 本実施形態の情報処理装置2000によれば、人物20の状態に基づいて、人物20の推定身長と、人物20の一時的な高さ(人物20が直立していないケースにおける高さ)とが、区別して算出される。よって、人物20の推定身長を正確に算出しつつ、その時々における人物20の一時的な高さも精度良く求めることができる。
[実施形態3]
 図11は、実施形態3の情報処理装置2000の機能構成を例示するブロック図である。情報処理装置2000は、位置推定部2120及び更新部2140を有する。下記で説明する事項を除き、実施形態3の情報処理装置2000は、実施形態2の情報処理装置2000と同様の機能を有する。
 実施形態3の情報処理装置2000は、動画データ12に含まれる人物を追跡する機能を有する。具体的には、前述した追跡情報の生成・更新を行うことで、人物の追跡を行う。
 まず、フローチャートを用いて、人物追跡処理の全体的な流れを説明する。図12は、実施形態3の情報処理装置2000によって実行される処理の流れの概略を示すフローチャートである。情報処理装置2000は、最新の動画フレーム14から人物20を検出する(S302)。情報処理装置2000は、検出した人物20を追跡対象人物として、追跡情報を生成する(S304)。追跡対象人物は、情報処理装置2000によって既に検出された人物20を意味する。
 ループ処理Cは、所定の終了条件が満たされるまで繰り返し実行される処理である。S306において、所定の終了条件が満たされている場合、情報処理装置2000は、図12の処理を終了する。一方、所定の終了条件が満たされていない場合、図12の処理はS308に進む。
 S308において、検出部2020は、最新の動画フレーム14から人物20を検出する。ここで、取得される動画フレーム14の生成時点を第1時点と表記する。位置推定部2120は、追跡情報を用いて、第1時点における各追跡対象人物の位置を推定する(S310)。更新部2140は、動画フレーム14から検出された人物20と、追跡対象人物との対応付けを行う(S312)。更新部2140は、対応付けの結果に基づいて追跡情報を更新する(S314)。
 なお、実施形態3の情報処理装置2000が対象人物の推定身長や一時的な高さを算出するタイミングは任意である。例えば情報処理装置2000は、ループ処理Cの中で、対象人物の推定身長又は一時的な高さの算出を行う。
<推定位置の算出:S310>
 位置推定部2120は、追跡情報を用いて、第1時点における各追跡対象人物の位置を推定する(S310)。追跡情報に示されている追跡対象人物の位置は、過去の位置(例えば1つ前の動画フレーム14における位置)である。そこで位置推定部2120は、追跡対象人物の過去の位置から、第1時点における追跡対象人物の位置を推定する。
 上記推定の方法は様々である。例えば位置推定部2120は、追跡情報に示されている追跡対象人物の位置及び人物の動きモデルに基づいて、第1時点における追跡対象人物の位置を予測する。この手法としては、カルマンフィルタを用いる方法や、パーティクルフィルタを用いる方法など、既存の様々な方法を用いることができる。なお、予測する位置情報は画像上の座標であってもよいし、実世界座標であってもよい。画像上の座標の場合には、人物矩形情報として予測結果を生成するようになっていてもよい。
 人物の動きモデルは追跡対象人物ごとに異なっていてもよい。例えば位置推定部2120は、追跡対象人物について過去に推定された状態を利用して、その追跡対象人物の動きモデルを決定する。例えば、直立移動状態、直立静止状態、及び非直立静止状態それぞれに対応する予測モデルを予め用意しておく。位置推定部2120は、追跡対象人物の直近の状態(最新の追跡情報に示されている追跡対象人物の状態)に対応した予測モデルを用いて、その追跡対象人物の推定位置を算出する。
 例えば直立移動状態では、追跡情報に示される追跡対象人物の位置の履歴に基づいて動きを予測するモデルを用いる。具体的な例としては、以下のような等速直線運動モデルを用いることができる。まず、等速直線運動モデルは、過去所定期間の追跡情報を用いて追跡対象人物の速度ベクトルを求め、その速度ベクトル及びフレーム時間間隔に応じて、追跡対象人物の動きベクトルを求める。そして、等速直線運動モデルは、直近の追跡情報に示される追跡対象人物の位置に上記動きベクトルを加算することで、第1時点における追跡対象人物の推定位置を算出する。
 直立静止状態では、追跡対象人物は動かないと予測できるため、移動量0のモデルを用いる。すなわち、第1時点における追跡対象人物の位置は、直近の追跡情報に示されている位置と同一となる。
 非直立静止状態では、歩行による移動はないものの、姿勢変動が起こりうる。例えば、足元位置は動かなくても、頭部位置は、鉛直に近い方向に動き得る。そこで、非直立静止状態では、このような姿勢変動を予測するモデルを用いる。
 ここで、位置推定部2120は、上述のように追跡対象人物の状態を考慮した位置推定を、最も確度が高い状態(最尤状態)についてのみ行ってもよいし、複数の状態それぞれについて行ってもよい。後者の場合、複数の状態それぞれに対応した推定位置が算出される。
<人物20と追跡対象人物との対応付け:S312>
 更新部2140は、第1時点の動画フレーム14から検出された人物20と、追跡対象人物との対応付けを行う。この対応付けは、第1時点の動画フレーム14から検出された各人物20が、どの追跡対象人物に相当するのかを特定する処理である。図13は、第1時点の動画フレーム14から検出された人物20と、追跡対象人物との対応付けを例示する図である。図13において、互いに両矢印で結ばれている人物20と追跡対象人物が、互いに対応付けられた人物20と追跡対象人物である。
 上記対応付けを行う方法は様々である。例えば身長推定部2080は、予測した追跡対象人物の位置と検出された人物20の位置の近さや、両者の外見特徴量の類似性等に基づいて、両者が対応づく可能性を表す尤度(以後対応づけ尤度と呼ぶ)を算出し、対応付けを行うことができる。例えば、尤度をコストに変換し、追跡対象人物と検出された人物との対応付け問題をコスト最小化問題に帰着させ、ハンガリアン法などのアルゴリズムによって解くことができる。
 ここで、対応づけ尤度を求める際、人物の近さ情報は、例えば実空間上の距離で判定する。すなわち、動画フレーム14上の位置をカメラパラメータと人物の高さ情報を用いて実空間上の位置座標に変換し、座標間の距離を求める。
 この際、更新部2140は、上記変換に利用する人物の高さを、人物の状態に応じて決定する。前述したように、情報処理装置2000は、対象人物の推定身長と、一時的な高さとを区別して算出している。また、各時点における対象人物の一時的な高さは、追跡情報に記憶されている。
 そこで更新部2140は、第1時点における人物20の状態に応じて、人物20の推定身長と一時的な高さのいずれかを用いて位置を算出する。具体的には、直立静止状態又は直立移動状態では、立った状態で静止しているか移動しているかであるため、人物20の高さは身長と等しいと見なしてよい。よって、更新部2140は、動画フレーム14から検出された人物20の頭頂位置の高さが身長であると見なし、カメラパラメータを用いて、人物20の動画フレーム14上の座標を実世界座標に変換する。一方、非直立静止状態の場合には、人物20の高さは身長とは異なるため、第1時点における人物20の一時的な高さを用いて算出する。
 なお、前述のように、位置推定部2120において非直立静止状態の場合に人物20の頭部の動きも予測している場合には、この動きによって人物20の一時的な高さが変化することも反映させて、人物20の位置を算出してもよい。すなわち、過去の追跡情報に含まれる人物20の一時的な高さをそのまま用いるのではなく、頭部の動きによって変化が生じる分を人物20の一時的な高さに反映させ、位置情報を推定してもよい。
 また、人物の近さ情報は、画像上の座標で計算するようになっていてもよい。たとえば、人物矩形の特定の位置(例えば足元位置)の画像上での座標を求め、その座標間の距離によって近さを判定するようになっていてもよい。あるいは、人物矩形同士の重なりよって、近さを判定するようになっていてもよい。この場合は、矩形同士の重なりが大きいほど、人物同士が近づいていると判定される。
 なお、追跡対象人物の推定位置が、最尤状態についてのみ求まっているとする。この場合、更新部2140は、各追跡対象人物の最尤状態についての位置と、第1時点の動画フレーム14から検出された人物20の位置との間で、対応づけ尤度を求めるようにすればよい。一方、複数の状態について追跡対象人物の推定位置が求まっている場合には、それぞれの状態に対して対応付け尤度を算出し、最も対応づけ尤度が高くなる状態とそのときの対応付け尤度を選択する。
 また、外見特徴量の類似性も一緒に考慮してもよい。この場合、特徴量間の距離や類似性を表す尺度を用いて判定する。尺度としては、ユークリッド距離やヒストグラムインターセクション等、既存の様々なものを用いることができる。
<追跡情報の更新>
 更新部2140は、上記対応付けの結果に基づいて、追跡情報に示される追跡対象人物の情報を更新する。具体的には、第1時点における各追跡対象人物に関する情報が、追跡情報に追加される。
 例えば更新部2140は、追跡対象人物の位置情報を更新する。例えば更新部2140は、第1時点における追跡対象人物の位置を、その追跡対象人物と対応づけられた人物20の位置とする。その他にも例えば、更新部2140は、第1時点における追跡対象人物の位置情報を、第1時点におけるその追跡対象人物の推定位置と、その追跡対象人物と対応づけられた人物20の位置とを重みづけ加算した位置としてもよい。
 追跡対象人物の動き情報については、更新した位置情報と動きの予測情報との差異に基づいて、動きモデルのパラメータを更新する。例えば等速直線運動を仮定できる人物の場合は、推定位置と更新位置の差分を現在の動きに加算することで、更新することが考えられる。あるいは、カルマンフィルタにより追跡を行っている場合には、既知のカルマンフィルタの更新式に基づいて、位置情報とともに動き情報を更新してもよい。
 領域情報の更新については、領域情報が人物の外接矩形である場合には、更新された位置情報に基づいて、矩形を再計算してもよい。このとき、カメラのキャリブレーション情報を用いて、位置の移動だけでなく、見かけの大きさの変化等も考慮して、矩形情報を更新してもよい。
 ここで、動画フレーム14から検出された人物20の中には、対応する追跡対象人物が存在しないものもありうる。この人物20については、新たに現れた(カメラ10の撮像範囲に入った)人物かどうかを判定し、新たに現れた人物と判定された場合には、新たな追跡対象人物として追跡情報に追加する。一方で、新たに現れた人物でなければ、追跡情報への追加は行われない。例えば、この人物20の領域が、既存の追跡対象人物の領域と大きく重なっている場合には、誤検知である可能性が高いと判定し、新規追加を行わない。
 一方で、追跡対象人物の中には、対応する人物20が存在しないものもありうる。この追跡対象人物については、カメラ10の撮像範囲から外れた人物かどうかを判定し、撮像範囲から外れた人物と判定された場合には、追跡情報から該当人物を除く。例えば、前回の更新時にカメラ10の撮像範囲の縁のあたりで、撮像範囲の外に向かって移動していた追跡対象人物や、前回更新時に出口付近に存在していた追跡対象人物が、どの人物20とも対応付かない場合には、カメラ10の撮像範囲から外れた人物であるといえる。ここで、追跡情報から該当人物を除く代わりに、追跡情報に、該当人物がカメラ10の撮像範囲から外れたことを示す情報を付加する(例えば、除外フラグのビットを1にする)ようにしてもよい。
<ハードウエア構成の例>
 実施形態3の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用・効果>
 本実施形態の情報処理装置2000によれば、追跡対象人物の推定位置の算出や、追跡対象人物と動画フレーム14から検出された人物20との対応付けにおいて、人物の状態が考慮され、人物の推定身長と一時的な高さのうち、いずれか適切な方が用いられる。こうすることで、人物の追跡をより高精度に行えるようになる。
 人物の追跡をより高精度に行うことで、その時々における人物の位置を高精度に推定することができる。これにより、従来よりも高精度な動線解析が可能になる。例えば、店舗において、顧客の動線を分析してマーケティングに活用したり、店員の動きを可視化して、作業効率を計測したりする用途で用いることができる。また、倉庫や工場において、作業員がどのように動いているかを可視化し、ワークフローや業務効率の改善の検討に活用できる。
[実施形態4]
 実施形態4の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、例えば図11で表される。以下で説明する事項を除き、実施形態4の情報処理装置2000は、実施形態3の情報処理装置2000と同様の機能を有する。
 実施形態4の情報処理装置2000では、複数のカメラ10から動画データ12を得ることを前提とする。そのため、以下の特徴を有する。
<検出情報の生成について>
 検出部2020は、検出された各人物20がどのカメラ10によって撮像されたものであるかを特定できるように、検出情報を生成する。具体的には、検出情報に、どのカメラ10によって生成された動画フレーム14から検出された情報であるかを示す識別子(カメラ識別子)を設ける。例えば検出部2020は、複数のカメラ10それぞれについて個別の検出情報を生成し、各検出情報にカメラ識別子を対応づける。その他にも例えば、検出部2020は、複数のカメラ10から検出される人物20を全て示した一つの検出情報を生成し、各レコードにどのカメラ10から検出した人物であるかを示すようにしてもよい。
<追跡情報の更新について>
 複数のカメラ10それぞれから得た動画フレーム14を得ると、動画フレーム14ごとに、検出される人物20が異なるといえる。ただし、カメラ10の撮像範囲が一部重なっていれば、複数の動画フレーム14から同一の人物20が検出されることもある。
 情報処理装置2000は、このように動画フレーム14ごとに検出される人物20が異なることを考慮し、或るカメラ10から得られる動画フレーム14を利用して追跡情報を更新する際に、更新対象の追跡対象人物を、追跡情報に含まれる追跡対象人物の一部に絞り込む。例えば情報処理装置2000が、第1カメラによって生成された動画フレーム14を用いて、追跡情報の更新を行うとする。この場合、位置推定部2120は、追跡情報に示される追跡対象人物のうち、第1カメラの撮像範囲に存在する蓋然性が高い追跡対象人物のみを対象として、推定位置の算出を行う。例えば、位置推定部2120は、予め第1カメラから撮像可能な実空間上の領域を求めておき、各追跡対象人物がその領域に含まれるかどうかを位置情報から判定することにより、第1カメラの撮像範囲に含まれると推定される追跡対象人物を抽出する。そして位置推定部2120は、抽出された追跡対象人物に対してのみ推定位置の算出を行う。
 また、更新部2140は、上記抽出された追跡対象人物のみを対象として、動画フレーム14から検出される人物20との対応付け、及び追跡情報の更新を行う。この際、追跡対象人物の中で、第1カメラの撮像範囲に含まれない人物に対しては、第1カメラの撮像範囲に含まれないために追跡情報の更新を行っていないことを表す情報を追跡情報に含めるようにし、後段の処理で用いるようにしてもよい。
<状態の推定について>
 カメラ10が複数ある場合、カメラによって人物の状態判定のしやすさが異なることがある。実施形態4の状態推定部2040は、この点を考慮して人物の状態を推定する。例えば、人物がカメラに近い方が、動画フレーム14上での人物領域の大きさ(解像度)が大きくなり、人物の動き等が判定しやすくなる。また、人物の動きを判定する際、カメラの光軸方向の動きに比べ、光軸と垂直な方向に対する動きの方が判定しやすい。このように、カメラと人物の位置関係等によって、人物の状態判定のしやすさ、確からしさが変化する。
 そこで状態推定部2040は、複数のカメラ10それぞれから得られる動画フレーム14を利用して各人物20の状態を推定し、その中で最も信頼度が高い状態を利用する。例えば状態推定部2040は、各動画フレーム14について、その動画フレーム14を生成したカメラ10と検出された人物20との距離(近い方が信頼度が高い)や、人物20の動きとカメラ10の光軸とのなす角の関係(垂直に近い方が信頼度が高い)に基づいて、状態推定の信頼度を算出する。そして、信頼度が最も高い動画フレーム14を利用して推定された人物20の状態を、その人物20の状態として利用する。
 また、各動画フレーム14について、対象人物が他の人物や障害物によって隠されているかどうかを判定し、状態判定を行うカメラの優先度に反映させてもよい。すなわち、対象人物が他の人物や障害物に隠されていない動画フレーム14を優先的に利用して、その対象人物の状態を推定する。
<推定身長や一時的な高さの補正>
 対象人物が複数のカメラ10によって撮像される場合、身長推定部2080は、同一時刻について複数のカメラ10がそれぞれ生成する動画フレーム14を利用して(すなわち、それぞれ異なるカメラ10によって生成される複数の動画フレーム14を利用して)、推定身長の精度を高める。人物の推定身長が実際の身長と異なる場合、その推定身長を用いて実空間上での人物位置を推定しようとすると、カメラの奥行き方向にずれた位置に射影される。例えば、実際の身長よりも推定身長が小さい場合には、カメラパラメータを用いて画像上の座標から実空間上の座標に変換すると、実際の位置よりもカメラから遠くにいるように変換されてしまう。逆に、推定身長の方が大きければ、実際の位置よりも近くにいるように変換される。よって、推定身長と実際の身長にずれがあると、同じ時刻に複数のカメラでそれぞれ位置を求めた場合に、同一人物であるにもかかわらず、カメラごとに異なった位置に人物が投影される。逆に言えば、このように位置がずれている場合に、位置が合うように推定身長を補正することで、推定身長を正しい値に近づけることができる。
 具体的には、推定身長に一定値を加算したときに、元の推定身長の場合よりも、カメラ間で求まる実空間上での位置の差が縮まる場合には、推定身長を増加させる。逆に推定身長に一定値を減算したときに、カメラ間で求まる実空間位置の差が縮まる場合には、推定身長を減らすようにする。その結果、カメラ間で位置が十分近くなれば、そのときの推定身長は真値に近いと考えられるため、求まった値を推定身長とする。このように各時点における推定身長の精度が高まれば、各時点における推定身長の統計値として最終的に算出される推定身長の精度も高まる。
 なお、人物の一時的な高さについても、同様の方法で補正することができる。
 ここで、人物検出の結果に誤検出や未検出が含まれる場合もあるため、一度に推定身長や一時的な高さを大きく変更させずに、時間の経過とともに徐々に変更させて合わせていく方法も考えられる。この場合、徐々に推定身長や一時的な高さが変化するため、なめらかな動線情報を得ることが可能になる。また、突発的に誤った検出結果の影響を大きく受けることなく、高精度な位置推定が可能となる。
 なお、複数のカメラから捉えることができる人物であっても、あるカメラから見た時には、他の人物と重なって、人物矩形を高い信頼度で推定できない場合には、そのカメラの情報は、上述の比較に用いないようにする。追跡対象人物同士に重なりが生じるかどうかは、カメラパラメータを用いて追跡対象人物の位置情報を画像上の位置に変換し、各追跡対象人物の画像上での存在領域を推定し、その領域が他の人物の領域と重なるかどうかによって判定できる。
<ハードウエア構成の例>
 実施形態4の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<作用・効果>
 本実施形態の情報処理装置2000によれば、複数のカメラ10から得られる動画フレーム14を利用して、追跡情報の更新や推定身長の算出などが行われる。よって、人物の追跡や身長の推定などを、より高精度に行うことができる。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態を組み合わせた構成や、上記以外の様々な構成を採用することもできる。

Claims (25)

  1.  動画フレームから人物を検出する検出手段と、
     前記検出の結果を用いて、対象人物の状態を推定する状態推定手段と、
     前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定する身長推定手段と、
     を有する、情報処理装置。
  2.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記対象人物の状態が前記直立かつ移動の状態又は前記直立かつ静止の状態である場合に前記所定条件が満たされる、請求項1に記載の情報処理装置。
  3.  前記身長推定手段は、前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出する、請求項1又は2に記載の情報処理装置。
  4.  前記身長推定手段は、複数の動画フレームそれぞれから算出した前記対象人物の実世界上の高さに対し、前記対象人物と前記動画フレームを生成するカメラの向きによって定まる俯角、及び前記対象人物の前記動画フレーム上の解像度に基づく重みを付与して、前記統計処理を行う、請求項3に記載の情報処理装置。
  5.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記状態推定手段は、前記対象人物の股の開き具合か、又は前記対象人物の向きか少なくとも一方をさらに推定し、
     前記統計処理において、前記対象人物の状態が前記直立かつ移動の状態である場合、前記対象人物の股の開き具合が小さいほど、前記対象人物の実世界上の高さに対して大きい重みが付与されるか、又は前記対象人物の向きが前記動画フレームを撮像するカメラの向きと異なる度合が大きいほど、前記対象人物の実世界上の高さに対して大きい重みが付与される、請求項3に記載の情報処理装置。
  6.  前記状態推定手段は、
      前記対象人物が含まれる複数の動画フレームそれぞれから、前記対象人物の実世界上における高さを算出し、前記算出された高さに基づいて、人物が直立しているか否かを判定する閾値を決定し、
      その後に生成される前記動画フレームについては、前記対象人物について実世界上の高さを算出し、その高さと前記閾値とを比較することで、その動画フレームにおいて前記対象人物が直立しているか否かを判定し、
     前記対象人物が直立している場合に前記所定条件が満たされる、請求項3乃至5いずれか一項に記載の情報処理装置。
  7.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記身長推定手段は、前記対象人物の状態を考慮して重みづけを行って身長を推定し、直立移動状態の時を基準にして身長の概算値を算出し、直立移動状態の前後で身長の概算値に近い値で安定している観測値の重みを高くして身長を推定する、請求項3に記載の情報処理装置。
  8.  前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の一時的な高さを推定する一時的高さ推定手段を有する、請求項1乃至7いずれか一項に記載の情報処理装置。
  9.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記一時的高さ推定手段は、人物の足元位置が見えない場合でも、直立静止状態、非直立静止状態においては、画像上の足元位置は動いていないことを仮定して頭部位置のみからでも一時的な高さの観測値を算出する、請求項8に記載の情報処理装置。
  10.  前記検出手段は、2つ以上の、カメラによって生成されたそれぞれの画像に対して人物検出処理を行って、カメラごとに人物検出結果を生成し、
     前記一時的高さ推定手段及び前記身長推定手段は、複数のカメラで観測可能な領域に存在する追跡対象人物に対しては、それぞれのカメラから取得した、生成時刻の差が所定時間以内である画像に対する検出結果に基づく追跡結果に含まれる位置座標を比較し、その座標間の距離が小さくなるように、身長や一時的高さの観測値を修正する、請求項8又は9に記載の情報処理装置。
  11.  前記一時的高さ推定手段及び前記身長推定手段は、人物が直立移動状態のときは、人物が同一位置に存在すると見做せる程度に前記所定時間を短く設定し、人物が直立静止状態か非直立静止状態の場合には、人物が同一位置に存在し、姿勢変動が生じていないと見做せる範囲で前記所定時間を長く設定する、請求項8乃至10いずれか一項に記載の情報処理装置。
  12.  前記検出手段は、第1時点に生成された第1動画フレームから人物を検出し、
     前記第1時点よりも前に生成された前記動画フレームから検出された追跡対象人物に関する情報の履歴を示す追跡情報を利用して、前記第1時点における各追跡対象人物の位置を推定する推定位置算出手段と、
     前記第1動画フレームから検出された各人物の実世界上又は画像上の位置と、前記第1時点における各追跡対象人物の実世界上又はまたは画像上の位置とを比較することで、前記第1動画フレームから検出された人物と前記追跡対象人物との対応付けを行い、その結果を用いて、前記追跡情報を更新する更新手段と、を有し、
     前記更新手段は、前記第1動画フレームから検出された人物が直立している場合、その人物の推定身長を用いてその人物の実世界上の位置を推定し、前記第1動画フレームから検出された人物が直立していない場合、その人物の一時的な高さを用いてその人物の実世界上の位置を推定する、請求項8乃至11いずれか一項に記載の情報処理装置。
  13.  コンピュータによって実行される制御方法であって、
     動画フレームから人物を検出する検出ステップと、
     前記検出の結果を用いて、対象人物の状態を推定する状態推定ステップと、
     前記対象人物の状態が所定条件を満たす場合、前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の身長を推定する身長推定ステップと、
     を有する、制御方法。
  14. 前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記対象人物の状態が前記直立かつ移動の状態又は前記直立かつ静止の状態である場合に前記所定条件が満たされる、請求項13に記載の制御方法。
  15.  前記身長推定ステップにおいて、前記推定された状態が所定条件を満たす複数の動画フレームそれぞれから、前記対象人物の実世界上の高さを算出し、算出された複数の高さを統計処理することで、前記対象人物の推定身長を算出する、請求項13又は14に記載の制御方法。
  16.  前記身長推定ステップにおいて、複数の動画フレームそれぞれから算出した前記対象人物の実世界上の高さに対し、前記対象人物と前記動画フレームを生成するカメラの向きによって定まる俯角、及び前記対象人物の前記動画フレーム上の解像度に基づく重みを付与して、前記統計処理を行う、請求項15に記載の制御方法。
  17.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記状態推定ステップにおいて、前記対象人物の股の開き具合か、又は前記対象人物の向きか少なくとも一方をさらに推定し、
     前記統計処理において、前記対象人物の状態が前記直立かつ移動の状態である場合、前記対象人物の股の開き具合が小さいほど、前記対象人物の実世界上の高さに対して大きい重みが付与されるか、又は前記対象人物の向きが前記動画フレームを撮像するカメラの向きと異なる度合が大きいほど、前記対象人物の実世界上の高さに対して大きい重みが付与される、請求項15に記載の制御方法。
  18.  前記状態推定ステップにおいて、
      前記対象人物が含まれる複数の動画フレームそれぞれから、前記対象人物の実世界上における高さを算出し、前記算出された高さに基づいて、人物が直立しているか否かを判定する閾値を決定し、
      その後に生成される前記動画フレームについては、前記対象人物について実世界上の高さを算出し、その高さと前記閾値とを比較することで、その動画フレームにおいて前記対象人物が直立しているか否かを判定し、
     前記対象人物が直立している場合に前記所定条件が満たされる、請求項15乃至17いずれか一つに記載の制御方法。
  19.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記身長推定ステップにおいて、前記対象人物の状態を考慮して重みづけを行って身長を推定し、直立移動状態の時を基準にして身長の概算値を算出し、直立移動状態の前後で身長の概算値に近い値で安定している観測値の重みを高くして身長を推定する、請求項15に記載の制御方法。
  20.  前記動画フレームにおける前記対象人物の高さに基づいて、前記対象人物の一時的な高さを推定する一時的高さ推定ステップを有する、請求項13乃至19いずれか一つに記載の制御方法。
  21.  前記対象人物がとりうる状態は、直立かつ移動の状態、直立かつ静止の状態、及び非直立かつ静止の状態を含み、
     前記一時的高さ推定ステップにおいて、人物の足元位置が見えない場合でも、直立静止状態、非直立静止状態においては、画像上の足元位置は動いていないことを仮定して頭部位置のみからでも一時的な高さの観測値を算出する、請求項20に記載の制御方法。
  22.  前記検出ステップにおいて、2つ以上の、カメラによって生成されたそれぞれの画像に対して人物検出処理を行って、カメラごとに人物検出結果を生成し、
     前記一時的高さ推定ステップ及び前記身長推定ステップにおいて、複数のカメラで観測可能な領域に存在する追跡対象人物に対しては、それぞれのカメラから取得した、生成時刻の差が所定時間以内である画像に対する検出結果に基づく追跡結果に含まれる位置座標を比較し、その座標間の距離が小さくなるように、身長や一時的高さの観測値を修正する、請求項20又は21に記載の制御方法。
  23.  前記一時的高さ推定ステップ及び前記身長推定ステップにおいて、人物が直立移動状態のときは、人物が同一位置に存在すると見做せる程度に前記所定時間を短く設定し、人物が直立静止状態か非直立静止状態の場合には、人物が同一位置に存在し、姿勢変動が生じていないと見做せる範囲で前記所定時間を長く設定する、請求項20乃至22いずれか一項に記載の制御方法。
  24.  前記検出ステップにおいて、第1時点に生成された第1動画フレームから人物を検出し、
     前記第1時点よりも前に生成された前記動画フレームから検出された追跡対象人物に関する情報の履歴を示す追跡情報を利用して、前記第1時点における各追跡対象人物の位置を推定する推定位置算出ステップと、
     前記第1動画フレームから検出された各人物の実世界上又は画像上の位置と、前記第1時点における各追跡対象人物の実世界上又は画像上の位置とを比較することで、前記第1動画フレームから検出された人物と前記追跡対象人物との対応付けを行い、その結果を用いて、前記追跡情報を更新する更新ステップと、を有し、
     前記更新ステップにおいて、前記第1動画フレームから検出された人物が直立している場合、その人物の推定身長を用いてその人物の実世界上の位置を推定し、前記第1動画フレームから検出された人物が直立していない場合、その人物の一時的な高さを用いてその人物の実世界上の位置を推定する、請求項20乃至23いずれか一項に記載の制御方法。
  25.  請求項13乃至24いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
PCT/JP2017/034940 2017-09-27 2017-09-27 情報処理装置、制御方法、及びプログラム WO2019064375A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/JP2017/034940 WO2019064375A1 (ja) 2017-09-27 2017-09-27 情報処理装置、制御方法、及びプログラム
US16/650,544 US11308315B2 (en) 2017-09-27 2017-09-27 Information processing apparatus, control method, and program
JP2019545446A JP6969611B2 (ja) 2017-09-27 2017-09-27 情報処理システム、制御方法、及びプログラム
JP2021136281A JP7342919B2 (ja) 2017-09-27 2021-08-24 情報処理システム、制御方法、及びプログラム
US17/690,140 US11715227B2 (en) 2017-09-27 2022-03-09 Information processing apparatus, control method, and program
US18/208,632 US12094149B2 (en) 2017-09-27 2023-06-12 Information processing apparatus, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/034940 WO2019064375A1 (ja) 2017-09-27 2017-09-27 情報処理装置、制御方法、及びプログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/650,544 A-371-Of-International US11308315B2 (en) 2017-09-27 2017-09-27 Information processing apparatus, control method, and program
US17/690,140 Continuation US11715227B2 (en) 2017-09-27 2022-03-09 Information processing apparatus, control method, and program

Publications (1)

Publication Number Publication Date
WO2019064375A1 true WO2019064375A1 (ja) 2019-04-04

Family

ID=65902431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/034940 WO2019064375A1 (ja) 2017-09-27 2017-09-27 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (3) US11308315B2 (ja)
JP (2) JP6969611B2 (ja)
WO (1) WO2019064375A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020261404A1 (ja) * 2019-06-26 2020-12-30
WO2021084687A1 (ja) 2019-10-31 2021-05-06 日本電気株式会社 画像処理装置、画像処理方法及び画像処理プログラムが格納された非一時的なコンピュータ可読媒体
JP2021135794A (ja) * 2020-02-27 2021-09-13 ソフトバンク株式会社 画像処理装置、プログラム、システム及び画像処理方法
WO2021192811A1 (en) * 2020-03-23 2021-09-30 Nec Corporation A method and an apparatus for estimating an appearance of a first target
CN115053248A (zh) * 2020-03-17 2022-09-13 富士通株式会社 信息处理装置、工作计划决定方法以及工作计划决定程序
JP7487020B2 (ja) 2020-06-18 2024-05-20 清水建設株式会社 工事進捗状況管理システム、工事進捗状況管理方法
CN112001948B (zh) * 2020-07-30 2024-06-11 浙江大华技术股份有限公司 一种目标跟踪处理方法及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003628B2 (ja) * 2017-12-19 2022-01-20 富士通株式会社 物体追跡プログラム、物体追跡装置、及び物体追跡方法
CN109614848B (zh) * 2018-10-24 2021-07-20 百度在线网络技术(北京)有限公司 人体识别方法、装置、设备及计算机可读存储介质
US11188763B2 (en) * 2019-10-25 2021-11-30 7-Eleven, Inc. Topview object tracking using a sensor array
CN110110787A (zh) * 2019-05-06 2019-08-09 腾讯科技(深圳)有限公司 目标的位置获取方法、装置、计算机设备及存储介质
US20200380252A1 (en) * 2019-05-29 2020-12-03 Walmart Apollo, Llc Systems and methods for detecting egress at an entrance of a retail facility
US11625859B2 (en) * 2020-07-22 2023-04-11 Motorola Solutions, Inc. Method and system for calibrating a camera and localizing objects within the camera field of view
CN112767438B (zh) * 2021-01-05 2022-08-05 北京航空航天大学 结合时空运动的多目标跟踪方法
CN112862864B (zh) * 2021-03-05 2024-07-02 上海有个机器人有限公司 多行人追踪方法、装置、电子设备及存储介质
JP2024006695A (ja) * 2022-07-04 2024-01-17 富士通株式会社 照合プログラム、照合方法および情報処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007078354A (ja) * 2005-09-09 2007-03-29 Toa Corp 長さ測定装置
JP2013037406A (ja) * 2011-08-03 2013-02-21 Sogo Keibi Hosho Co Ltd 身長推定装置、身長推定方法、及び身長推定プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056853A (ja) 1999-08-19 2001-02-27 Matsushita Electric Ind Co Ltd 挙動検出装置および種類識別装置、並びに挙動検出方法および挙動検出用プログラムが記録された記録媒体
JP2002197463A (ja) 2000-12-26 2002-07-12 Matsushita Electric Ind Co Ltd 挙動検出装置および挙動検出システム
JP4628911B2 (ja) * 2005-09-09 2011-02-09 ティーオーエー株式会社 身長測定装置
JP2010237872A (ja) * 2009-03-30 2010-10-21 Sogo Keibi Hosho Co Ltd 人物領域検出装置、人物領域検出方法、及び人物領域検出プログラム
JP6428144B2 (ja) * 2014-10-17 2018-11-28 オムロン株式会社 エリア情報推定装置、エリア情報推定方法、および空気調和装置
JP6735583B2 (ja) * 2016-03-17 2020-08-05 キヤノン株式会社 ズーム制御装置、撮像装置及びそれらの制御方法、プログラム並びに記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007078354A (ja) * 2005-09-09 2007-03-29 Toa Corp 長さ測定装置
JP2013037406A (ja) * 2011-08-03 2013-02-21 Sogo Keibi Hosho Co Ltd 身長推定装置、身長推定方法、及び身長推定プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020261404A1 (ja) * 2019-06-26 2020-12-30
WO2020261404A1 (ja) * 2019-06-26 2020-12-30 日本電気株式会社 人物状態検出装置、人物状態検出方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JP7173341B2 (ja) 2019-06-26 2022-11-16 日本電気株式会社 人物状態検出装置、人物状態検出方法及びプログラム
WO2021084687A1 (ja) 2019-10-31 2021-05-06 日本電気株式会社 画像処理装置、画像処理方法及び画像処理プログラムが格納された非一時的なコンピュータ可読媒体
JP2021135794A (ja) * 2020-02-27 2021-09-13 ソフトバンク株式会社 画像処理装置、プログラム、システム及び画像処理方法
CN115053248A (zh) * 2020-03-17 2022-09-13 富士通株式会社 信息处理装置、工作计划决定方法以及工作计划决定程序
WO2021192811A1 (en) * 2020-03-23 2021-09-30 Nec Corporation A method and an apparatus for estimating an appearance of a first target
JP2023517219A (ja) * 2020-03-23 2023-04-24 日本電気株式会社 第1のターゲットの出現を推定するための方法、装置およびシステム
JP7364094B2 (ja) 2020-03-23 2023-10-18 日本電気株式会社 第1のターゲットの出現を推定するための方法、装置およびシステム
JP7487020B2 (ja) 2020-06-18 2024-05-20 清水建設株式会社 工事進捗状況管理システム、工事進捗状況管理方法
CN112001948B (zh) * 2020-07-30 2024-06-11 浙江大华技术股份有限公司 一种目标跟踪处理方法及装置

Also Published As

Publication number Publication date
US20230326063A1 (en) 2023-10-12
US20200285845A1 (en) 2020-09-10
JP7342919B2 (ja) 2023-09-12
US20220198817A1 (en) 2022-06-23
US11715227B2 (en) 2023-08-01
JP6969611B2 (ja) 2021-11-24
US12094149B2 (en) 2024-09-17
JPWO2019064375A1 (ja) 2020-10-15
JP2021182448A (ja) 2021-11-25
US11308315B2 (en) 2022-04-19

Similar Documents

Publication Publication Date Title
JP7342919B2 (ja) 情報処理システム、制御方法、及びプログラム
JP6942488B2 (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
JP5285575B2 (ja) 人物行動判定装置及びそのプログラム
KR101964397B1 (ko) 정보처리장치 및 정보처리방법
US9251400B2 (en) Learning apparatus, method for controlling learning apparatus, detection apparatus, method for controlling detection apparatus and storage medium
US11188788B2 (en) System and method to determine a timing update for an image recognition model
KR102338486B1 (ko) 3d 골격 정보를 이용한 사용자 동작 인식 방법 및 시스템
JP2017041022A (ja) 情報処理装置、情報処理方法及びプログラム
JP5438601B2 (ja) 人物動作判定装置およびそのプログラム
JP2016206795A (ja) 実空間情報によって学習する識別器を用いて物体を追跡する装置、プログラム及び方法
JP2009230751A (ja) 年令推定装置
JP7409499B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7488674B2 (ja) 物体認識装置、物体認識方法及び物体認識プログラム
CN107665495B (zh) 对象跟踪方法及对象跟踪装置
US20230206643A1 (en) Occlusion detection and object coordinate correction for estimating the position of an object
JP6893812B2 (ja) 物体検出装置
US20220138458A1 (en) Estimation device, estimation system, estimation method and program
JP7435781B2 (ja) 画像選択装置、画像選択方法、及びプログラム
JP7422572B2 (ja) 移動物体追跡装置、移動物体追跡方法及び移動物体追跡プログラム
JP7302741B2 (ja) 画像選択装置、画像選択方法、およびプログラム
WO2023112321A1 (ja) 画像処理システム、画像処理方法及び非一時的なコンピュータ可読媒体
JP7435754B2 (ja) 画像選択装置、画像選択方法、及びプログラム
WO2022249331A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2022249278A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2022079795A1 (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: 17927259

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019545446

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17927259

Country of ref document: EP

Kind code of ref document: A1