WO2019003709A1 - 情報処理装置、制御方法、及びプログラム - Google Patents
情報処理装置、制御方法、及びプログラム Download PDFInfo
- Publication number
- WO2019003709A1 WO2019003709A1 PCT/JP2018/019304 JP2018019304W WO2019003709A1 WO 2019003709 A1 WO2019003709 A1 WO 2019003709A1 JP 2018019304 W JP2018019304 W JP 2018019304W WO 2019003709 A1 WO2019003709 A1 WO 2019003709A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tracking target
- target object
- information
- tracking
- column
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Definitions
- the present invention relates to image processing.
- Patent Document 1 is known as a method of tracking a person in a matrix.
- Patent Document 1 discloses a method in which a camera is disposed on a ceiling so as to face directly below, and an area in which a matrix such as a register is formed is photographed to determine whether each person imaged by the camera is a person in the matrix. There is. More specifically, the technique of Patent Document 1 sets an area at a position where a matrix can be formed, and determines whether or not a person present in the area is included in the matrix by using a matrix behavior pattern parameter.
- the matrix behavior pattern parameter is a parameter for determining whether the person photographed by the camera is a person in the matrix.
- the matrix behavior pattern parameters include a fine movement parameter, a static parameter, a distance from the last person in the matrix (proximity parameter), and a distance from the matrix line segment for interruption / separation determination (interruption distance / separation distance parameter).
- the technique of Patent Document 1 uses these parameters to determine whether each person is a person in a matrix.
- the state of the person is first set to the state of "possibly in a matrix.” Furthermore, when the person is stationary in the area, it is determined that the person is arranged in a matrix. The condition for determining that the person is stationary is that the position of the person is within the range of the "fine movement parameter", and the person stays within the range specified by the "rest parameter” It is. Once there is a person included in the matrix, the state of the person in the proximity parameter from the last person is "a possibility of being arranged in the matrix". Then, for those persons, it is determined whether or not they are added to the matrix in the same manner.
- the determination as to whether or not a certain person has broken into the matrix is performed on the basis of how close the person is to a line segment connecting the positions of the persons arranged in the matrix. Similarly, the determination as to whether or not a person has left the matrix is made on the basis of how far the person is from the line segment connecting the positions of the persons in the matrix.
- the threshold value of the distance used for these determinations is the interruption distance and the deviation distance parameter.
- Some or all of the matrices move with time. For example, a row of people in a supermarket's cash register moves one part ahead as a whole when the first person's account is finished. Also, when a person leaves the procession, people who are behind the person move forward.
- Patent Document 1 performs each process described above on the assumption that the entire matrix is stopped. That is, a technique for tracking a person while the matrix is moving is not disclosed in Patent Document 1.
- 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 accurately tracking objects included in a row of objects.
- the information processing apparatus 1) generates a tracking information indicating a position of each tracking target object by detecting a row of objects from the moving image frame and setting each object included in the detected row as the tracking target object And 2) a column behavior estimating means for estimating column behavior at the first point in time using the tracking information on the object to be tracked at the first point in time, and generating column behavior information on the behavior of the column; , 3) estimated position calculation means for calculating an estimated position of each of the tracking target objects at a second time point after the first time point, based on the tracking information at the first time point and the column behavior information; Detecting one or more objects from the moving image frame at the second point of time, and detecting the position of each of the detected objects; Based definitive upon the estimated position of the tracked object, having a updating means for updating the information of each of the tracked object shown in the tracking information.
- the control method of the present invention is a control method executed by a computer.
- the control method includes: 1) detecting a row of objects from a moving image frame, and generating tracking information indicating the position of each tracking target object with each object included in the detected row as the tracking target object; 2) a column behavior estimation step of estimating column behavior of the first point in time using the tracking information on the object to be tracked at the first point in time, and generating column behavior information on behavior of the column; 3) Calculating an estimated position of each of the tracking target objects at a second time point after the first time point based on the tracking information at the first time point and the column behavior information; 4) the second one Detecting one or more objects from the moving image frame at a point in time, the position of each of the detected objects, and the second time Based on the estimated position of the tracked object in, having, an updating step of updating the information of each of the tracked object shown in the tracking information.
- the program of the present invention causes a computer to execute each step of the control method of the present invention.
- a technique for accurately tracking objects included in a column of objects.
- FIG. 6 is a diagram for describing an overview of the operation of the information processing apparatus of the first embodiment.
- FIG. 6 is a diagram for describing an overview of the operation of the information processing apparatus of the first embodiment.
- 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 flowchart showing an outline of a flow of processing executed by the information processing apparatus of the first embodiment. It is a flowchart which illustrates the specific flow of a process of S108. It is a figure which illustrates an object row whose shape is not a straight line. It is a figure which illustrates tracking information in a table form.
- FIG. 7 is a diagram illustrating a case in which a partial sequence is further decomposed after association with a high degree of reliability is performed, and subsequent association is performed.
- 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 the object sequence 20 from the moving image data 12 generated by the camera 10.
- the object column 20 is a column configured by the objects 22.
- an object row 20 is configured by the objects 22-1 to 22-4.
- the moving image frame 14 is one of time-series captured images constituting the moving image data 12.
- the object row 20 is a row of persons who wait for use of a cash register, a ticket vending machine, or the like.
- the object 22 is a person.
- the object row 20 is a row of vehicles waiting for use of the parking lot.
- the object 22 is a vehicle.
- the object 22 is a person.
- the information processing apparatus 2000 generates tracking information with the object 22 included in the object column 20 as the tracking target object.
- the tracking information includes various information on the tracking target object, and indicates at least the position of each tracking target object.
- the information processing apparatus 2000 repeatedly updates tracking information.
- the update of the tracking information includes at least an update of the position of each tracking target object.
- the information processing apparatus 2000 updates the tracking information in consideration of the behavior of the object sequence 20 in addition to the behavior of each object 22.
- the behavior of the object 22 is represented by the state, movement, etc. of the object 22.
- the state of the object 22 is, for example, a stationary state or a moving state.
- the movement of the object 22 is represented by, for example, the direction or speed in which the object 22 is moving.
- the behavior of the object row 20 is represented by the state, movement, etc. of the object row 20.
- the state of the object column 20 is, for example, a state in which the entire object column 20 is stationary, a state in which the entire object column 20 is moving, or a state in which a part of the object column 20 is moving.
- the movement of the object row 20 is represented by, for example, the direction or speed in which the object row 20 is moving.
- the information processing apparatus 2000 updates tracking information at a first point in time (tracking information on an object to be tracked included in the object string 20 at the first point of time) to tracking information at a second point in time after the first point of time. (See Figure 2).
- the information processing apparatus 2000 estimates the behavior of the object sequence 20 using the tracking information at the first point of time, and generates sequence behavior information.
- Column behavior information indicates the behavior of the object column 20.
- the information processing apparatus 2000 causes each tracking target object at the second time point to be based on the tracking information at the first time point and the column behavior information at the first time point (the column behavior information generated for the object column 20 at the first time point). Estimate the position.
- the information processing apparatus 2000 detects each position of each tracking target object at the estimated second time point, and each detected from the moving picture frame 14 at the second time point (the moving picture frame 14 representing the imaging result of the camera 10 at the second time point).
- the tracking information is updated based on the position of the object 22.
- the tracking information at the first time point is depicted as being generated from the moving image frame 14 at the first time point.
- the tracking information at the first point of time may be updated from past tracking information.
- the behavior of the objects 22 included in the object sequence 20 is affected by the behavior of the entire object sequence 20. For example, even if an object 22 is stationary at a certain point in time, if an object before the object 22 has moved forward at that time, there is a high probability that the object 22 will also move immediately thereafter. Similarly, even if the object 22 is moving at a certain point in time, if the object before the object 22 is at that point in time, it is highly likely that the object 22 will also be immediately after that.
- the information processing apparatus 2000 updates the tracking information at the first time point in consideration of the behavior of the object sequence 20 at the first time point.
- the tracking information is updated in consideration of the influence of each object 22 on the behavior of the entire object string 20. Therefore, the update of the tracking information, that is, the tracking of the objects included in the object column 20 can be performed with higher accuracy.
- 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 generation unit 2020, a column behavior estimation unit 2040, an estimated position calculation unit 2060, and an update unit 2080.
- the generation unit 2020 detects the object string 20 from the moving image frame 14, and generates tracking information indicating the position of each tracking target object, using each object 22 included in the object string 20 as a tracking target object.
- the column behavior estimation unit 2040 estimates the behavior of the object column 20 at the first point in time using tracking information at the first point in time, and generates column behavior information.
- the estimated position calculation unit 2060 calculates an estimated position of each tracking target object at a second time point after the first time point, based on the tracking information at the first time point and the column behavior information at the first time point.
- the update unit 2080 detects one or more objects 22 from the moving image frame 14 at the second point in time, and performs tracking based on the detected positions of the objects 22 and the estimated positions of the respective tracking target objects at the second point in time Update information
- 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 functional components (generation unit 2020, column behavior estimation unit 2040, estimated position calculation unit 2060, and update 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 generation unit 2020, the column behavior estimation unit 2040, the estimated position calculation unit 2060, and the update 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 generates and updates tracking information by analyzing the moving image frame 14 generated by itself.
- 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 object 22 and image features from the camera 10.
- FIG. 5 is a flowchart showing an outline of the flow of processing executed by the information processing apparatus 2000 of the first embodiment.
- the information processing apparatus 2000 detects the object sequence 20 from the moving image frame 14 (S102).
- the information processing apparatus 2000 generates tracking information with the object 22 included in the detected object column 20 as the tracking target object (S104).
- Steps S106 to S110 are loop processing A that is repeatedly executed until a predetermined end condition is satisfied. If the predetermined end condition is satisfied in S106, the information processing apparatus 2000 ends the process of FIG. On the other hand, when the predetermined termination condition is not satisfied, the process of FIG. 5 proceeds to S108. In S108, the information processing device 2000 updates tracking information. Since S110 is the end of the loop process, the process of FIG. 5 proceeds to S106. Thereafter, the loop processing A is repeatedly executed until the predetermined termination condition is satisfied, whereby the tracking information is repeatedly updated.
- the predetermined termination condition is arbitrary.
- the predetermined end condition is that the number of objects 22 included in the object string 20 becomes zero, that is, the object string 20 disappears.
- the information processing apparatus 2000 executes the process of FIG. 5 again from the beginning on the moving image data 12 composed of the moving image frame 14 not to be processed yet. In this way, detection of a newly formed object row 20 and detection of a change in the object row 20 are performed.
- FIG. 6 is a flowchart illustrating a specific flow of the process of S108.
- the column behavior estimation unit 2040 generates column behavior information using the tracking information at the first point of time (S108-1).
- the estimated position calculation unit 2060 calculates an estimated position of the tracking target object at the second time based on the tracking information and the column behavior information at the first time (S108-2).
- the updating unit 2080 is detected from the moving image frame 14 at the second time based on the estimated position of each tracking target object at the second time and the position of each object 22 detected from the moving image frame 14 at the second time.
- the object 22 is associated with the tracking target object at the first time point (S108-3).
- the updating unit 2080 updates the tracking information based on the result of the association (S108-4).
- the series of processes shown in FIG. 6 is a process included in the loop process A, and thus is repeatedly executed. Then, in the loop process A which is repeatedly executed, the first time points become different time points.
- the first time point in the n + 1-th (n is a positive integer) loop process A is a time when a predetermined value is added to the first time point in the n-th loop process A.
- the first time point in the (n + 1) -th loop process A may be the same time point as the second time in the n-th loop process A.
- the second time points become different time points.
- the second time point in the (n + 1) -th loop process A is a time point when a predetermined value is added to the second time point in the n-th loop process A.
- 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 generation unit 2020 detects the object string 20 from the moving image frame 14 (S102). Also, as the premise, the generation unit 2020 detects the object 22 from the moving image frame 14. Various methods can be used to detect the object 22 from the video frame 14. For example, the generation unit 2020 includes a detector that has learned image features of an object to be detected. When the person is treated as the object 22, the detector learns the image feature of the person. When the vehicle is treated as the object 22, the detector learns the image features of the vehicle.
- the detector detects an image area matching the learned image feature from the moving image frame 14 as an area representing an object (hereinafter referred to as an object area).
- an object area 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 trained to detect the area of the entire object, or may be trained to detect a partial area of the object (for example, the head of a person). It may be.
- the detector outputs information on the detected object 22 (hereinafter, detection information).
- detection information indicates, for example, the position and size of each object 22.
- the position of the object 22 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 the 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 object 22 can be calculated from the position on the moving image frame 14 using parameters representing the position and orientation obtained by the calibration of the camera.
- the detection information may include feature quantities that represent the features of the appearance of each object 22.
- the feature amount a feature amount that describes the size of the object, the color or pattern of the surface (in the case of a person, the color or pattern of clothes) can be used. More specifically, feature quantities such as color histograms, color layouts, edge histograms, and Gabor features can be used.
- 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.
- the generation unit 2020 detects a row of objects 22 detected from the moving image frame 14, that is, a row of objects 20.
- various existing technologies for example, the technology disclosed in Patent Document 1 can be used as a technology for detecting a row configured by an object detected from an image.
- the shape of the object row 20 may or may not be a straight line.
- the latter case is a case where the object row 20 meanders in an S-shape or is bent halfway.
- FIG. 7 is a diagram illustrating an object row 20 whose shape is not a straight line.
- a matrix line 30 is defined along the object column 20
- the state of the object column 20 and the movement direction are defined along the matrix line.
- the generation unit 2020 generates tracking information for the identified object column 20 (S104).
- the tracking information at the first time point indicates information on the tracking target object included in the object column 20 at the first time point.
- the tracking information indicates at least the position of the tracking target object. Besides, for example, the tracking information indicates the state, movement, feature amount, or area of the tracking target object.
- the state of the tracking target object indicates, for example, either "moving" or "rest”.
- the movement of the tracking target object indicates, for example, parameters of the movement model.
- the parameters of the motion model include the moving direction and speed.
- the feature amount of the tracking target object is, for example, information in which the size, color, pattern, shape or the like of the tracking target object is described.
- the area of the tracking target object is represented, for example, by information defining the circumscribed rectangle of the image area representing the tracking target object (for example, the coordinates of the upper left end and the lower right end).
- FIG. 8 is a diagram illustrating tracking information in the form of a table.
- the table of FIG. 8 is referred to as a table 200.
- the table 200 shows the tracking ID 202, the position 204, the state 206, the motion 208, the feature amount 210, and the area 212.
- the tracking ID 202 is an identifier assigned to the tracking target object. Note that TL and BR in the area 212 represent the coordinates of the upper left end (top left) and the coordinates of the lower right end (bottom right), respectively.
- the tracking information generated by the generation unit 2020 is stored in the storage area.
- this storage area is the storage device 1080 of FIG.
- the storage area in which the tracking information is stored is not limited to the storage area provided inside the information processing apparatus 2000.
- the tracking information may be stored in a storage area such as an external server apparatus of the information processing apparatus 2000 or a NAS (Network Attached Storage).
- the generation unit 2020 transmits the generated tracking information to the server device or the like.
- the column behavior estimation unit 2040 generates column behavior information at the first time point using the tracking information at the first time point (S108-1).
- the column behavior information is information on the behavior of the object column 20.
- the "behavior of the object row 20" means the state or movement of the object row 20.
- the state of the object row 20 indicates, for example, whether the object row 20 is stationary or the object row 20 is moving. Also, the state of the object row 20 may indicate whether the object row 20 is moving entirely or a part of the object row 20 is moving.
- the stationary state is a state in which the object row 20 is stationary.
- the entire movement state is a state in which the entire object row 20 is moving.
- the partial movement state is a state in which a part of the object row 20 is moving.
- the column behavior information indicates which of the above three states the state of the object column 20 is.
- the column behavior information may further indicate motion information of the object sequence 20 when the object sequence 20 is in the whole movement state or the partial movement state.
- the motion information of the object row 20 indicates, for example, the speed or direction of the object row 20.
- the row behavior information indicates which part of the object row 20 is moving and movement information about each moving portion.
- FIG. 9 is a diagram illustrating the behavior of the object row 20 in the partial movement state.
- the left side is the head of the object column 20, and the left direction is the moving direction of the matrix.
- Circles represent stationary objects 22.
- the triangle marks represent moving objects 22.
- the area of the object row 20 is divided into a moving area (an area of the moving object 22) and a stationary area (an area of the stationary object 22).
- the area surrounded by a solid line represents a stationary area
- the area surrounded by a broken line represents a movement area.
- the column behavior information includes, for example, that an object row 20 is in a partially moved state, information specifying each moving region and still region, motion information of each moving region, etc., for the object row 20 as shown in FIG. 9. Show.
- the information specifying the movement area indicates, for example, the position of the movement area or information (such as an identifier assigned to the object 22) for specifying each object 22 included in the movement area.
- the information specifying the static area indicates, for example, the position of the static area, or information specifying the objects 22 included in the static area.
- the column behavior estimation unit 2040 estimates the behavior of the object sequence 20 based on the state of each object 22 indicated in the tracking information. The following more specifically describes.
- the column behavior estimation unit 2040 estimates that the state of the object row 20 is in the stationary state if all the states of the objects 22 indicated in the tracking information are in the stationary state. Further, the column behavior estimation unit 2040 estimates that the state of the object row 20 is the entire movement state if all the states of the objects 22 indicated in the tracking information are in the movement state. Further, the column behavior estimation unit 2040 estimates that the state of the object row 20 is partially moved when both of the moving object 22 and the stationary object 22 are indicated in the tracking information. Do.
- the row behavior estimation unit 2040 estimates the movement of the object row 20 and includes the movement information of the object row 20 in the row behavior information.
- the column behavior estimation unit 2040 estimates the speed and the movement direction of the object column 20.
- existing techniques can be used as a technique for estimating the speed and the moving direction of an object string.
- the row behavior estimation unit 2040 divides the object row 20 into a movement area in which the object 22 is moving and a stationary area in which the object 22 is stationary. For example, the column behavior estimation unit 2040 sets a region constituted by a plurality of moving objects 22 adjacent to each other in the object row 20 as a movement region. On the other hand, the column behavior estimation unit 2040 sets an area constituted by a plurality of stationary objects 22 adjacent to each other in the object column 20 as a stationary area.
- the column behavior estimation unit 2040 generates motion information of the movement area for the movement area, and includes the motion information in the column behavior information.
- a technique for estimating the movement (speed and movement direction) of the movement area a technique for estimating the speed and movement direction of the object row can be used.
- the tracking information indicates the behavior of each tracking target object.
- situations may occur where the behavior of the individual tracked objects does not match the behavior of the entire object column 20.
- a tracked target object located in between is moved although the tracked target object is stationary.
- This case is, for example, a case in which the state of the tracking target object is determined to be a moving state because a small change occurs in the position of the tracking target object due to a posture change of the tracking target object.
- the behavior of the object string 20 can be estimated by considering the behavior of each tracked object independently of each other. Estimation errors may occur.
- the state of the object row 20 in the stationary state may be estimated as a partial movement state, or the state of the object row 20 in a partial movement state may be estimated as an entire movement state.
- the column behavior estimation unit 2040 does not use the behavior of the tracking target object indicated in the tracking information as it is, but takes into consideration the consistency with the behavior of the other tracking target objects in the surroundings, You may modify the behavior of the object. Specifically, with respect to the tracking target object indicated as “moving state” in the tracking information, the column behavior estimation unit 2040 indicates the state of another tracking target object located immediately before the tracking target object, and When the states of the other tracking target objects located behind one of the tracking target objects are all "rest states", the states of the tracking target objects are treated as "rest states”.
- the column behavior estimation unit 2040 indicates the state of the other tracking target object located immediately before the tracking target object and the tracking target When the states of other tracking target objects located behind one of the objects are all in the “moving state”, the state of the tracking target object may be treated as the “moving state”.
- the column behavior estimation unit 2040 uses the column behavior information generated in the past (for example, the latest column behavior information generated before the first time point) to calculate the behavior of the tracking target object. It may be corrected. For example, if the state of the object row 20 indicated by the latest row behavior information generated prior to the first point of time is in the stationary state, the entire object row 20 at the first point in time remains in the stationary state, or It is considered that the tracking target object near the top is moving. The state of the object row 20 in the former case is stationary, and the state of the object row 20 in the latter case is partially moving.
- the column behavior estimation unit 2040 selects a tracking target object near the top of the object string 20 among the tracking target objects indicated as “moving state” in the tracking information. Treat only as moving state. In other words, the column behavior estimation unit 2040 treats, among the tracking target objects indicated as the “moving state” in the tracking information, the tracking target object that is not located near the top of the object string 20 as the stationary state.
- the tracking object of the movement state located immediately after the stationary area indicated by the behavior information is thereafter stationary.
- the stationary tracking target object located immediately after the movement area may start moving. Other tracked objects are likely to stay in the same state.
- the column behavior estimation unit 2040 indicates that the latest column behavior information indicates a partial movement state, and in the tracking information at the first time, the tracking target object located immediately after the stationary area indicated by the latest column behavior information.
- the state indicates the movement state
- the state of the tracking target object is treated as the stationary state.
- the state of the tracking target object located immediately after the moving region indicated by the latest behavior information in the tracking information at the first time point indicates that the most recent column behavior information indicates a partial movement state.
- the state of the tracking target object is treated as a moving state.
- the behavior of the object to be tracked shown in the tracking information is not always used as it is, but the state of the object to be tracked is corrected and handled in consideration of the states of other objects to be tracked and the latest column behavior information By this, it is possible to eliminate the influence of errors in tracking information regarding individual tracked objects. Therefore, the accuracy of estimation of the behavior of the object string 20 can be improved.
- the estimated position calculation unit 2060 calculates the estimated position of each tracking target object at the second time based on the tracking information at the first time and the column behavior information at the first time (S108-2). By using the column behavior information in addition to the tracking information, the estimated position of the tracking target object is calculated such that the behavior of the tracking target object matches the behavior of the entire object column 20.
- the estimated position calculation unit 2060 estimates that there is no change in the position of the tracking target at the first time point and the second time point. That is, the estimated position calculation unit 2060 sets the position of each tracking target object indicated by the tracking information at the first time as the estimated position of each tracking target object at the second time.
- the estimated position calculation unit 2060 determines the second time based on the behavior of the tracking target indicated by the tracking information at the first time. Calculate the estimated position of the tracking target object in.
- the behavior of the tracking target object at the first time point is indicated in the tracking information at the first time point.
- the estimated position p2 of the object to be tracked at the second time t2 is expressed by the following equation (1) It is calculated.
- the tracking information at the first time may not indicate the movement of the tracking target object at the first time.
- the speed of the tracking target object to be moved is previously defined as a fixed value, and the position of the tracking target object at the second time point based on the defined speed and the position of the tracking target object at the first time point Is estimated.
- the movement direction of the tracking target object is, for example, the same as the movement direction of the object column 20 indicated by the column behavior information.
- the estimated position calculation unit 2060 calculates the estimated position at the second time point using different methods for the tracking target object included in the static area and the tracking target object included in the moving area. The method is specifically described below.
- the tracking target object included in the static area does not change in position at the first time point and the second time point. Also, it is considered that the tracking target object included in the movement region moves according to the movement of the tracking target object at the first time point.
- the tracking target object located behind the moving area may start moving thereafter even if it is stationary at the first time point.
- the tracking target object located behind the stationary area may be stationary thereafter even if it is moving at the first time.
- the estimated position calculation unit 2060 calculates the estimated position of each tracking target object at the second time point in the flow illustrated in the flowcharts of FIGS. 10 and 11.
- FIGS. 10 and 11 are diagrams illustrating the flow of processing for calculating the estimated position of each tracking target object when the column behavior information indicates a partial movement state.
- the estimated position is calculated for the tracking target object i.
- the flowcharts illustrated in FIGS. 10 and 11 are performed for each tracking target object indicated by the tracking information at the first time point.
- the estimated position calculation unit 2060 determines whether the tracking target object i is included in the static area (S202). When the tracking target object i is included in the static area (S202: YES), the estimated position calculation unit 2060 determines whether or not there is a movement area in front of the static area (hereinafter, static area s1) to which the tracking target object i belongs. Is determined (S204). When there is no movement area in front of the stationary area s1 (S204: NO), the estimated position calculation unit 2060 sets the position of the tracking target object at the first time as the estimated position of the tracking target object i at the second time S206).
- the estimated position calculation unit 2060 If there is a movement area in front of the stationary area s1 (S204: YES), the estimated position calculation unit 2060 is behind the movement area (hereinafter, movement area m1) in which the tracking target object i exists in front of the stationary area s1. It is determined whether it is located in the predetermined range of (S208). When the tracking target object i is not located within the predetermined range (S208: NO), the estimated position calculation unit 2060 sets the position of the tracking target object at the first time as the estimated position of the tracking target object i at the second time ( S206).
- the estimated position calculation unit 2060 estimates and estimates the movement of the tracking target object i based on the movement of the tracking target object belonging to the movement region m1. Based on the movement, the estimated position of the tracking target object i at the second time point is calculated (S210). A specific method of estimating the movement of the tracking target object i based on the movement of the tracking target object belonging to the movement area m1 will be described later.
- the estimated position calculation unit 2060 can track the tracking target object i. It is determined whether or not there is a stationary area in front of the moving area (hereinafter, moving area m2) to which X belongs (S212). If there is no stationary area ahead of the movement area m2 (S212: NO), the estimated position calculation unit 2060 determines the tracking target object i at the second time based on the position and the motion of the tracking target i at the first time. An estimated position is calculated (S214). This calculation method is, for example, a method using the above-mentioned equation (1).
- the estimated position calculation unit 2060 is behind the stationary area (hereinafter, stationary area s2) where the tracking target object i exists in front of the movement area m2. It is determined whether it is located in the predetermined range of (S216). When the tracking target object i is not located in the predetermined range (S216: NO), the estimated position calculation unit 2060 determines the tracking target object i at the second time based on the position and the motion of the tracking target object i at the first time. An estimated position is calculated (S214).
- the estimated position calculation unit 2060 tracks the tracking target after the first time point based on the movement of the tracking target object i indicated by the tracking information at the first time point.
- the motion of the object i is estimated, and the estimated position of the tracking target object i at the second time point is calculated based on the estimated motion (S218).
- the movement of the tracking target object i after the first time point is estimated as a movement smaller than the movement of the tracking target object i indicated by the tracking information of the first time point. Details of the estimation method will be described later.
- the estimated position calculation unit 2060 estimates the movement of the tracking target object i based on a vector representing the movement of the tracking target object located at the end of the movement area m1.
- the movement of the tracking target object i is ⁇ vo obtained by multiplying the velocity vector vo of the tracking target object located at the end of the moving region m1 by the parameter ⁇ (0 ⁇ ⁇ 1). Estimated to be represented.
- the estimated position calculation unit 2060 calculates an estimated position p2 of the tracking target object i at the second time point using the following equation (2).
- p1 represents the position of the tracking target object i at the first time point.
- t1 and t2 represent the first and second time points, respectively.
- a predetermined number from the beginning of the tracking target object located behind the movement area is taken as a “predetermined range behind movement area m1”. That is, among the tracking target objects located behind the moving area, a predetermined number of tracking target objects from the top are treated as moving target objects.
- a range included in the predetermined distance from the end of the moving area m1 is set as “a predetermined range behind the moving area m1”.
- the parameter ⁇ used for estimating the movement of the tracking target object i may be a value common to all the tracking target objects, or may be a different value for each tracking target object. In the latter case, for example, the value of ⁇ decreases as the position of the tracking target object moves further backward.
- the estimated position calculation unit 2060 Based on the movement of the tracking target object i indicated by the tracking information at the first point in time, the movement of the tracking target object i after the first point in time is estimated.
- the movement of the tracking target object i after the first time point is a table of ⁇ vi in which the velocity vector vi of the tracking target object at the first time point is multiplied by the parameter ⁇ (0 ⁇ ⁇ 1).
- the estimated position calculation unit 2060 calculates the estimated position p2 of the tracking target object i at the second time point using the following equation (3).
- p1 represents the position of the tracking target object at the first time point.
- t1 and t2 represent the first and second time points, respectively.
- the “predetermined range behind the stationary area s2” described above can be determined by the same method as the “predetermined range behind the moving area m1” described above.
- the parameter ⁇ used for estimating the movement of the tracking target object i may be a value common to all the tracking target objects, or may be a different value for each tracking target object. In the latter case, for example, the value of ⁇ is decreased as the position of the tracking target object is further forward.
- the estimated position calculation unit 2060 may estimate the state and likelihood of the tracking target object at the second point in time and the motion of the tracking target object.
- the updating unit 2080 detects the object 22 from the moving image frame 14 at the second time point. For this detection, a detector similar to the detector of the generation unit 2020 described above can be used. The detector may be provided in each of the generation unit 2020 and the update unit 2080, or may be provided so as to be shared by these. The detector used by the update unit 2080 may be configured to output only detection information regarding the object 22 estimated to be included in the object string 20.
- the existing technology can be used as a technology for estimating whether or not the object 22 is included in the object string.
- the updating unit 2080 is detected from the moving image frame 14 at the second time point based on the position of the object 22 detected from the moving image frame 14 at the second time point and the estimated position at each second time point of the tracking target objects.
- the object 22 is associated with the tracking target object (S108-3).
- the above-mentioned correspondence is processing for specifying which tracking target object each object 22 detected from the moving image frame 14 at the second time point corresponds to.
- FIG. 12 is a view exemplifying the correspondence between the object 22 detected from the moving image frame 14 at the second time point and the tracking target object for which the estimated position at the second time point is calculated.
- an object 22 and a tracking target object connected by a double arrow between each other are the object 22 and the tracking target object which are associated with each other.
- the updating unit 2080 associates the object 22 detected at the position closest to the estimated position with the tracking target object for which the estimated position at the second time point has been calculated.
- the updating unit 2080 may perform the above-described association by the method described below.
- FIG. 13 is a diagram for describing a method of associating the object 22 detected from the moving image frame 14 at the second time point with the tracking target object.
- “not detected” in FIG. 13 means that the object 22 to be associated with the tracking target object is not detected from the moving image frame 14 for some reason (for example, the object is not detected from the moving image frame 14 due to image noise) Means).
- “false detection” means that an object that is not actually present is detected for some reason (for example, image noise is detected as an object). The handling of undetected and erroneous detection will be described later.
- the updating unit 2080 preferentially associates the tracking target object in the stationary state, and then associates the tracking target object in the moving state.
- the updating unit 2080 associates the tracking target object as the anchor.
- the tracking target object which is an anchor is a tracking target object which is hardly moved in the object column 20 and is surely associated. That is, the tracking target object to be an anchor is a tracking target object in a stationary state.
- the tracking target object serving as the anchor is associated with one of the objects 22 detected from the moving image frame 14 in which the distance between the tracking target object and the estimated position of the tracking target object is equal to or less than a threshold. In FIG. 13, the correspondence surrounded by the broken-line oval corresponds to this.
- column behavior information may be further used for the above association. For example, even in the tracking target object included in the static area, the tracking target object immediately after the moving area may not be treated as the tracking target object of the anchor.
- the updating unit 2080 divides the object string 20 according to the association result of the tracking target object serving as the anchor.
- the object row 20 is divided into two partial rows surrounded by solid square.
- the updating unit 2080 associates each partial sequence. That is, the correspondence between the tracking target object divided by the correspondence of the tracking target object of the anchor and the object 22 detected from the moving image frame 14 is performed for each partial sequence.
- the Hungarian method can be used as a method of association at this time.
- the likelihood of correspondence is obtained between the tracking target object in the subsequence and the object 22 detected from the moving image frame 14 and the cost is obtained by the monotonous non-increasing function. Convert to.
- the likelihood in this case can be calculated, for example, by the degree of overlap between the circumscribed rectangle of the object 22 detected from the moving image frame 14 and the position and size of the circumscribed rectangle of the tracking target object adjusted by estimation. .
- the distance between the position of the object 22 detected from the moving image frame 14 and the estimated position of the object to be tracked may be determined and converted to a likelihood by a monotonous non-increasing function.
- the distance at this time may be a distance on the image or may be a distance on real world coordinates.
- the state of the tracking target object may be taken into consideration. That is, depending on whether the tracking target object is stationary or moving, the function or parameter for obtaining the likelihood may be changed. As a result, in the stationary state, the likelihood can be obtained under more severe conditions, and in the moving state, the likelihood can also be calculated under the looser conditions.
- an error is likely to occur in the distance between the estimated position of the tracking target object and the position (actual position) of the object detected from the moving image frame 14 as compared to the stationary state.
- the characteristic of each state can be reflected on the likelihood.
- the similarity of appearance features may be reflected in the likelihood. That is, the likelihood may be set to be higher as objects have similar appearance characteristics.
- the association considered to have a higher degree of reliability may be prioritized.
- the updating unit 2080 selects the tracking target object and the object 22 may be corresponded.
- the tracking target object which is in the stationary state but is not selected as the anchor object is associated with a certain object 22 detected from the moving image frame 14 according to a slightly loose standard
- the updating unit 2080 is a tracking target object And the object 22 may be associated with each other. In this case, the updating unit 2080 divides the partial sequence according to the result of the association, and performs subsequent association.
- FIG. 14 is a diagram exemplifying a case in which the partial sequence is further decomposed after the association with high reliability is performed in the second step, and the subsequent association is performed.
- the correspondence surrounded by the broken-lined ellipse is the correspondence of the object selected as the anchor
- the correspondence surrounded by the solid-lined ellipse is the tracking target object in the stationary state not selected as the anchor. This is a correspondence that is preferentially performed because it is determined that the reliability is high.
- the remaining objects are divided into subsequences.
- the partial sequences are associated by the Hungarian method or the like, as in the case of the second step described above.
- the updating unit 2080 updates the information of the tracking target object indicated in the tracking information based on the result of the above-mentioned association (S108-4). That is, the tracking information at the first time is updated to the tracking information at the second time.
- the tracking information may be updated by storing the tracking information at the second time point in the storage area without deleting the tracking information at the first time point from the storage area, or the tracking information at the first time point It may be performed by overwriting the storage area where is stored with the tracking information of the second time point.
- the history of tracking information is accumulated in the storage area.
- the history of tracking information is not accumulated, and only the latest tracking information is always stored in the storage area.
- the contents of the tracking information updated by the updating unit 2080 include, for example, the position, feature amount, movement, or state of the tracking target object.
- methods for updating the respective information will be described.
- the updating unit 2080 updates the position of the tracking target object (the position 204 in the table 200) based on the position of the object 22 associated with the tracking target object. For example, the updating unit 2080 updates the position 204 of the tracking information to the position of the object 22 associated with the tracking target object. In addition, for example, the updating unit 2080 performs statistical processing (for example, weighted addition) on the estimated position of the tracking target object at the second point in time and the position of the object 22 associated with the tracking target object. The position 204 is updated to the position obtained as a result of statistical processing.
- Update movement of tracking target object The updating unit 2080 moves the tracking target object based on the difference between the position of the tracking target object after the update (hereinafter, update position) and the estimated position of the tracking target object estimated by the estimated position calculation unit 2060. (Motion 208 in table 200) is updated. By doing this, the movement of the tracking target object is corrected in consideration of the degree of error in the estimation by the estimated position calculation unit 2060.
- the motion of the tracking target object is uniform linear motion
- the motion 208 of the tracking information indicates the velocity vector of the tracking target object.
- the updating unit 2080 divides the difference vector between the estimated position and the updated position by the difference between the time of the second time and the time of the first time (the time interval between the second time and the first time).
- the movement 208 of the tracking information is updated by adding to the velocity vector of the tracking target object indicated by the movement 208 of the tracking information.
- the update unit 2080 updates the state variable of the Kalman filter by applying the estimated position and the update position to the update equation of the state variable of the Kalman filter.
- a known update formula can be used for the update formula of the state variable of the Kalman filter.
- the updating unit 2080 updates the state of the tracking target object (the state 206 of the table 200). For example, when the size (speed) of the speed of the updated tracking target object is equal to or less than a predetermined value (for example, 0), the updating unit 2080 updates the state 206 of the tracking target object to a stationary state. On the other hand, when the size of the velocity of the updated tracking target object is larger than the predetermined value, the updating unit 2080 updates the state 206 of the tracking target object to the movement state.
- a predetermined value for example, 0
- the updating unit 2080 updates the feature amount (feature amount 210 of the table 200) of the tracking target object associated with the object 22 based on the feature amount of the object 22 detected from the moving image frame 14 at the second time point. .
- the updating unit 2080 performs statistical processing (for example, weighted addition) of the feature amount of the object 22 and the feature amount indicated by the feature amount 210 of the tracking information on the tracking target object associated with the object 22.
- the feature amount 210 of the tracking target object indicated by the tracking information is updated with the obtained feature amount.
- the updating unit 2080 may replace the feature 210 indicated by the tracking information of the tracking target object associated with the object 22 with the feature of the object 22.
- the updating unit 2080 is the feature quantity 210 of the tracking target object indicated by the tracking information.
- One may be replaced with the feature amount of the object 22 associated with the tracking target object.
- the updating unit 2080 updates the area (the area 212 of the table 200) of the tracking target object indicated by the tracking information.
- the updating unit 2080 updates the area 212 of the tracking information by moving the area 212 of the tracking target object indicated by the tracking information in accordance with the change in the position of the tracking target object.
- the updating unit 2080 is an area 212 (for example, a circumscribed rectangle) of the object 22 detected from the moving image frame 14 at the second time point, and an area 212 where tracking information indicates the tracking target object associated with the object 22. You may replace
- the updating unit 2080 When there is one of the tracking target objects indicated by the tracking information at the first point of time that can not be associated with the object 22 detected from the moving image frame 14 at the second point of time, the updating unit 2080 The position of the tracking target object indicated by is updated with the estimated position of the tracking target object calculated by the estimated position calculation unit 2060.
- the updating unit 2080 is either the case of new subscription or the case of false detection. Determine if there is.
- the updating unit 2080 adds the above-described object 22 not associated with the tracking target object as a new tracking target object to the tracking information at the second time point.
- the updating unit 2080 does not add the above-described object 22 not associated with the tracking target object to the tracking information of the second time point.
- the updating unit 2080 erroneously detects It is determined that the case of Besides, for example, although the updating unit 2080 associates the preceding and succeeding objects 22 with the tracking target objects without any excess or deficiency due to the structure of the object column 20, the updating unit 2080 corresponds to any tracking target object in the meantime. When there is no object 22, it may be determined as a false detection case regardless of whether the image area of the object 22 overlaps the image area of the existing tracking target object. If the updating unit 2080 does not determine that the case is a false detection, it determines that the case is a new joining case.
- the updating unit 2080 determines whether or not an object 22 not associated with the tracking target object is an object constituting an object sequence from the result of object detection performed on the moving image frame 14. Good. In this case, when it is determined that the updating unit 2080 is a case of a new subscription and the object 22 is determined to be an object constituting an object string, the tracking information is set as the new tracking target object for the object 22. Add to On the other hand, if it is determined that the object 22 is not an object constituting an object string although the case is determined to be a case of new subscription, the updating unit 2080 does not add the object 22 to the tracking information.
- the existing technology can be used as the technology for determining whether or not each object detected from the moving image frame constitutes an object string.
- the updating unit 2080 deletes the tracking target object that has left the object column 20 from the tracking information (the tracking information at the second point in time does not include the tracking target object that has left).
- An existing method can be used to determine whether the tracking target object has left the object column 20. For example, it is assumed that the object row 20 is a row in which objects are sequentially detached from the head. In this case, the image area of the moving image frame 14 treated as the head of the object sequence 20 is determined in advance.
- the update unit 2080 controls the position of the tracking target object located at the top of the object string 20 at the first time point in the moving image frame 14 of the object 22 associated with the tracking target object as the above-described image area It is determined that the tracking target object has left the object column 20. Therefore, the updating unit 2080 deletes the tracking target object from the tracking information.
- Generation means for detecting a row of objects from the video frame and generating tracking information indicating the position of each tracking target object, with each object included in the detected row as the tracking target object;
- Column behavior estimation means for estimating column behavior of the first point in time using the tracking information on the object to be tracked at the first point in time, and generating column behavior information on behavior of the column;
- Estimated position calculation means for calculating an estimated position of each of the tracking target objects at a second time point after the first time point based on the tracking information and the column behavior information at the first time point;
- One or more objects are detected from the moving image frame at the second time, and the tracking information is indicated based on the positions of the detected objects and the estimated positions of the tracking target objects at the second time.
- An updating unit configured to update information of each of the tracking target objects.
- the updating unit updates the tracking information on the tracking target object by associating the tracking target object whose position at the second time point is estimated with an object detected from the moving image frame at the second time point.
- the information processing apparatus according to claim 1.
- the column behavior estimation means is a stationary state in which all the tracking target objects are stationary, a general movement state in which all the tracking target objects are moving, and a part in which the tracking target objects are moving. Estimating one of the partial movement states as the state of the column, and generating the column behavior information indicating the state of the estimated column; Or 2.
- the column behavior estimation means when the state of the column is the partial movement state, indicates, in the column behavior information, a movement area in which the tracking target object is moving, and a stationary state in which the tracking target object is stationary. Include information identifying each other with the area; 3.
- the estimated position calculation means calculates the estimated position of the tracking target object by estimating that the tracking target object located in a predetermined range behind the moving area and in a stationary state moves.
- the estimated position calculation means includes the size of the movement of the tracking target object, which is located in a predetermined range behind the movement area and is still, in the size of the movement of the movement area or the movement area thereof.
- the estimated position calculation means estimates the movement of the tracking target object located in a predetermined range behind the stationary region and still in a moving state smaller than the size of the movement indicated in the tracking information, and Calculate the position of the tracking target object To 6.
- the update unit preferentially associates the tracking target object in the stationary state among the tracking target objects. To 7.
- a control method implemented by a computer A generation step of detecting a row of objects from the video frame and generating tracking information indicating the position of each tracking target object, with each object included in the detected row as the tracking target object; Estimating the behavior of the column at the first point of time using the tracking information on the object to be tracked at the first point of time, and generating column behavior information on the behavior of the column; Calculating an estimated position of each of the tracking target objects at a second time point after the first time point based on the tracking information at the first time point and the column behavior information; One or more objects are detected from the moving image frame at the second time, and the tracking information is indicated based on the positions of the detected objects and the estimated positions of the tracking target objects at the second time.
- the tracking information on the tracking target object is updated by associating the tracking target object whose position at the second time point is estimated with an object detected from the moving image frame at the second time point. Yes, 9. Control method described in. 11.
- the column behavior estimation step one stationary state in which all the tracking target objects are stationary, a general movement state in which all the tracking target objects are moving, and one moving part of the tracking object 9. Estimate one of the partial movement states as the state of the column, and generate the column behavior information indicating the state of the estimated column; Or 10. Control method described in. 12.
- the column behavior information when the state of the column is the partial movement state, the column behavior information includes a movement area in which the tracking target object is moving, and a stationary state in which the tracking target object is stationary. Include information identifying each other with the area Control method described in. 13. 11.
- the estimated position of the tracking target object is calculated by estimating that the tracking target object located in a predetermined range behind the moving area and in a stationary state moves in the estimated position calculating step; Control method described in. 14.
- the magnitude of the movement of the tracking target object located in a predetermined range behind the movement area and still in a stationary state is included in the movement size of the movement area or the movement area 13. Estimate based on the magnitude of the movement of the tracking target object Control method described in. 15.
- the motion of the tracking target object located in a predetermined range behind the stationary region and still in a moving state is estimated to be smaller than the magnitude of the motion indicated in the tracking information, Calculate the position of the tracking target object 12.
- the control method according to any one 16.
- the updating step among the tracking target objects, the tracking target objects in the stationary state are preferentially associated.
- the control method according to any one is preferentially associated.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
Abstract
情報処理装置は、動画フレームからオブジェクト列を検出し、オブジェクト列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。情報処理装置は、第1時点の追跡情報を用いて、第1時点のオブジェクト列の振る舞いに関する列振る舞い情報を生成する。情報処理装置は、第1時点の追跡情報及び列振る舞い情報に基づき、第1時点よりも後の第2時点における各追跡対象オブジェクトの推定位置を算出する。情報処理装置は、第2時点の動画フレームから検出される各オブジェクトの位置と、第2時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報の更新を行う。
Description
本発明は画像処理に関する。
行列内の人物を追跡する方式として、例えば特許文献1の技術が知られている。特許文献1では、真下を向くようにカメラを天井に配置し、レジ等の行列ができるエリアを撮影し、カメラによって撮像される各人物が行列内の人物かどうかを判定する方式が開示されている。より具体的には、特許文献1の技術は、行列ができる位置にエリアを設定し、エリア内に存在する人物が行列に含まれるかどうかを行列挙動パターンパラメータによって判定している。
ここで、行列挙動パターンパラメータは、カメラで撮影された人物が行列内の人物かどうかを判定するためのパラメータである。行列挙動パターンパラメータには、微動パラメータ、静止パラメータ、行列最後尾人物からの距離(近接パラメータ)、及び割り込み・離脱判定用の行列線分からの距離(割り込み距離・乖離距離パラメータ)がある。特許文献1の技術は、これらのパラメータを用いて、各人物が行列内の人物かどうかを判定している。
或る人物が設定されたエリア内に入ると、まずその人物の状態は、「行列に並んでいる可能性がある」という状態に設定される。さらに、エリア内でその人物が静止していると、その人物は行列に並んでいると判定される。人物が静止していると判定されるための条件は、その人物の位置が「微動パラメータ」内の範囲に収まっていること、及びその人物が「静止パラメータ」で指定される時間その範囲に留まることである。一旦行列内に含まれる人物が存在するようになると、その最後尾の人物からの近接パラメータ内の人物の状態が、「行列に並んでいる可能性がある」という状態になる。そして、それらの人物について、行列に加わったかどうかの判定が、同様の方法で行われる。
或る人物が行列へ割り込んだか否かの判定は、その人物が、行列に並んでいる人物の位置を結んだ線分にどれだけ近づいたかを基準として行われる。同様に、或る人物が行列から離脱したか否かの判定は、その人物が、行列に並んでいる人物の位置を結んだ線分からどれだけ離れたかを基準として行われる。これらの判定に用いる距離の閾値が、割込距離・乖離距離パラメータである。
行列の一部又は全部は、時間と共に移動する。例えばスーパーのレジに並ぶ人の列は、先頭の人の会計が終了すると、全体的に一人分前に移動する。また、行列から人が離脱すると、その人よりも後ろに並んでいた人たちが前に移動する。
この点、特許文献1の技術は、行列全体が止まっていることを前提として上述した各処理を行う。すなわち、行列が移動している状態で人物の追跡を行う技術は、引用文献1に開示されていない。
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、オブジェクトの列に含まれるオブジェクトを精度良く追跡する技術を提供することである。
本発明の情報処理装置は、1)動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、2)第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、3)前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、4)前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する。
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、1)動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、2)第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、3)前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、4)前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する。
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明によれば、オブジェクトの列に含まれるオブジェクトを精度良く追跡する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
図1は、実施形態1の情報処理装置(後述する図3における後述する情報処理装置2000)の動作の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
<概要>
図1は、実施形態1の情報処理装置(後述する図3における後述する情報処理装置2000)の動作の概要を説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
情報処理装置2000は、カメラ10によって生成された動画データ12からオブジェクト列20を検出する。オブジェクト列20は、オブジェクト22によって構成される列である。図1では、動画フレーム14に含まれるオブジェクト22-1からオブジェクト22-8のうち、オブジェクト22-1からオブジェクト22-4によって、オブジェクト列20が構成されている。動画フレーム14は、動画データ12を構成する時系列の撮像画像の内の1つである。
オブジェクト列20としては、任意のものを扱うことができる。例えばオブジェクト列20は、レジカウンタや券売機などの利用を待つ人の列である。この場合、オブジェクト22は人である。その他にも例えば、オブジェクト列20は、駐車場の利用を待つ車両の列である。この場合、オブジェクト22は車両である。図1において、オブジェクト22は人である。
情報処理装置2000は、オブジェクト列20に含まれるオブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する。追跡情報は、追跡対象オブジェクトに関する種々の情報を含み、少なくとも各追跡対象オブジェクトの位置を示す。
情報処理装置2000は、追跡情報の更新を繰り返し行う。追跡情報の更新は、少なくとも、各追跡対象オブジェクトの位置の更新を含む。情報処理装置2000は、各オブジェクト22の振る舞いに加え、オブジェクト列20の振る舞いを考慮して、追跡情報の更新を行う。
ここで、オブジェクト22の振る舞いとは、オブジェクト22の状態や動きなどによって表される。オブジェクト22の状態とは、例えば、静止している状態や移動している状態などである。オブジェクト22の動きとは、例えば、オブジェクト22が移動している方向や速さなどで表される。
一方、オブジェクト列20の振る舞いとは、オブジェクト列20の状態や動きなどによって表される。オブジェクト列20の状態とは、例えば、オブジェクト列20全体が静止している状態、オブジェクト列20全体が移動している状態、オブジェクト列20の一部が移動している状態などである。オブジェクト列20の動きとは、例えば、オブジェクト列20が移動している方向や速さなどで表される。
情報処理装置2000が、或る第1時点の追跡情報(第1時点においてオブジェクト列20に含まれる追跡対象オブジェクトに関する追跡情報)を、第1時点よりも後の第2時点の追跡情報に更新するとする(図2参照)。この際、情報処理装置2000は、第1時点の追跡情報を用いてオブジェクト列20の振る舞いを推定し、列振る舞い情報を生成する。列振る舞い情報は、オブジェクト列20の振る舞いを示す。さらに情報処理装置2000は、第1時点の追跡情報及び第1時点の列振る舞い情報(第1時点におけるオブジェクト列20について生成された列振る舞い情報)に基づいて、第2時点における各追跡対象オブジェクトの位置を推定する。そして情報処理装置2000は、推定された第2時点における各追跡対象オブジェクトの位置と、第2時点の動画フレーム14(第2時点におけるカメラ10の撮像結果を表す動画フレーム14)から検出された各オブジェクト22の位置とに基づいて、追跡情報の更新を行う。
なお、図2において、第1時点の追跡情報は、第1時点の動画フレーム14から生成したものとして描かれている。しかしながら、第1時点の追跡情報は、過去の追跡情報から更新されたものであってもよい。
<作用・効果>
オブジェクト列20に含まれるオブジェクト22の振る舞いは、オブジェクト列20全体の振る舞いの影響を受ける。例えば、或る時点でオブジェクト22が静止していても、その時点でそのオブジェクト22の前のオブジェクトが前に移動していれば、その直後にそのオブジェクト22も移動し始める蓋然性が高い。同様に、或る時点でオブジェクト22が移動していても、その時点でそのオブジェクト22の前のオブジェクトが静止していれば、その直後にそのオブジェクト22も静止する蓋然性が高い。
オブジェクト列20に含まれるオブジェクト22の振る舞いは、オブジェクト列20全体の振る舞いの影響を受ける。例えば、或る時点でオブジェクト22が静止していても、その時点でそのオブジェクト22の前のオブジェクトが前に移動していれば、その直後にそのオブジェクト22も移動し始める蓋然性が高い。同様に、或る時点でオブジェクト22が移動していても、その時点でそのオブジェクト22の前のオブジェクトが静止していれば、その直後にそのオブジェクト22も静止する蓋然性が高い。
そこで本実施形態の情報処理装置2000は、第1時点のオブジェクト列20の振る舞いを考慮した上で、第1時点の追跡情報を更新する。これにより、オブジェクト列20全体の振る舞いによって各オブジェクト22が受ける影響を考慮した上で、追跡情報が更新される。よって、追跡情報の更新、すなわちオブジェクト列20に含まれるオブジェクトの追跡を、より高い精度で行うことができる。
以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、例えば、生成部2020、列振る舞い推定部2040、推定位置算出部2060、及び更新部2080を有する。生成部2020は、動画フレーム14からオブジェクト列20を検出し、オブジェクト列20に含まれる各オブジェクト22を追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。列振る舞い推定部2040は、第1時点の追跡情報を用いて、第1時点のオブジェクト列20の振る舞いを推定し、列振る舞い情報を生成する。推定位置算出部2060は、第1時点の追跡情報及び第1時点の列振る舞い情報に基づき、第1時点よりも後の第2時点における各追跡対象オブジェクトの推定位置を算出する。更新部2080は、第2時点の動画フレーム14から1つ以上のオブジェクト22を検出し、検出された各オブジェクト22の位置と、第2時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報を更新する。
図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、例えば、生成部2020、列振る舞い推定部2040、推定位置算出部2060、及び更新部2080を有する。生成部2020は、動画フレーム14からオブジェクト列20を検出し、オブジェクト列20に含まれる各オブジェクト22を追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。列振る舞い推定部2040は、第1時点の追跡情報を用いて、第1時点のオブジェクト列20の振る舞いを推定し、列振る舞い情報を生成する。推定位置算出部2060は、第1時点の追跡情報及び第1時点の列振る舞い情報に基づき、第1時点よりも後の第2時点における各追跡対象オブジェクトの推定位置を算出する。更新部2080は、第2時点の動画フレーム14から1つ以上のオブジェクト22を検出し、検出された各オブジェクト22の位置と、第2時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報を更新する。
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置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、推定位置算出部2060、及び更新部2080)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば生成部2020、列振る舞い推定部2040、推定位置算出部2060、及び更新部2080は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
カメラ10は、繰り返し撮像を行って時系列の動画フレーム14を生成することにより、動画データ12を生成する任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
カメラ10は、繰り返し撮像を行って時系列の動画フレーム14を生成することにより、動画データ12を生成する任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
前述したように、情報処理装置2000を実現する計算機1000は、カメラ10であってもよい。この場合、カメラ10は、自身で生成した動画フレーム14を解析することで、追跡情報の生成や更新を行う。このような機能を持たせるカメラ10としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを用いることができる。
なお、情報処理装置2000の全ての機能をカメラ10で実現するのではなく、情報処理装置2000の一部の機能のみがカメラ10で実現されてもよい。例えば、動画フレーム14からオブジェクト22を検出する機能のみをカメラ10で実現し、それ以外の情報処理装置2000の機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ10から、検出されたオブジェクト22の位置や画像特徴などの種々の情報を取得する。
<処理の流れ>
図5は、実施形態1の情報処理装置2000によって実行される処理の流れの概略を示すフローチャートである。情報処理装置2000は、動画フレーム14からオブジェクト列20の検出する(S102)。情報処理装置2000は、検出したオブジェクト列20に含まれるオブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する(S104)。
図5は、実施形態1の情報処理装置2000によって実行される処理の流れの概略を示すフローチャートである。情報処理装置2000は、動画フレーム14からオブジェクト列20の検出する(S102)。情報処理装置2000は、検出したオブジェクト列20に含まれるオブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する(S104)。
S106からS110は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Aである。S106において、所定の終了条件が満たされている場合、情報処理装置2000は、図5の処理を終了する。一方、所定の終了条件が満たされていない場合、図5の処理はS108に進む。S108において、情報処理装置2000は、追跡情報の更新を行う。S110はループ処理の終端であるため、図5の処理はS106に進む。以降、所定の終了条件が満たされるまでループ処理Aが繰り返し実行されることで、追跡情報が繰り返し更新される。
上記所定の終了条件は任意である。例えば所定の終了条件は、オブジェクト列20に含まれるオブジェクト22の数が0になること、すなわちオブジェクト列20が無くなることである。この場合、情報処理装置2000は、まだ処理対象となっていない動画フレーム14で構成される動画データ12について、再度図5の処理を最初から実行する。こうすることで、新たに形成されるオブジェクト列20の検出及びそのオブジェクト列20の変化の検出が行われる。
図6は、S108の処理の具体的な流れを例示するフローチャートである。列振る舞い推定部2040は、第1時点の追跡情報を用いて列振る舞い情報を生成する(S108-1)。推定位置算出部2060は、第1時点の追跡情報及び列振る舞い情報に基づき、第2時点における追跡対象オブジェクトの推定位置を算出する(S108-2)。更新部2080は、第2時点における各追跡対象オブジェクトの推定位置と、第2時点の動画フレーム14から検出された各オブジェクト22の位置とに基づいて、第2時点の動画フレーム14から検出されたオブジェクト22を、第1時点の追跡対象オブジェクトと対応づける(S108-3)。更新部2080は、対応付けの結果に基づいて追跡情報を更新する(S108-4)。
なお、図6に示す一連の処理は、ループ処理Aに含まれる処理であるため、繰り返し実行される。そして、繰り返し実行されるループ処理Aにおいて、第1時点はそれぞれ異なる時点となる。例えば、n+1 回目(nは正の整数)のループ処理Aにおける第1時点は、n 回目のループ処理Aにおける第1時点に所定値を加算した時点とする。その他にも例えば、n+1 回目のループ処理Aにおける第1時点は、n 回目のループ処理Aにおける第2時点と同じ時点としてもよい。
同様に、繰り返し実行されるループ処理Aにおいて、第2時点はそれぞれ異なる時点となる。例えば、n+1 回目のループ処理Aにおける第2時点は、n 回目のループ処理Aにおける第2時点に所定値を加算した時点とする。
<動画フレーム14の取得方法>
情報処理装置2000は、処理対象とする1つ以上の動画フレーム14を取得する。情報処理装置2000が動画フレーム14を取得する方法は様々である。例えば情報処理装置2000は、カメラ10から送信される動画フレーム14を受信する。また例えば、情報処理装置2000は、カメラ10にアクセスし、カメラ10に記憶されている動画フレーム14を取得する。
情報処理装置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の検出:S102>
生成部2020は、動画フレーム14からオブジェクト列20を検出する(S102)。また、その前提として、生成部2020は、動画フレーム14からオブジェクト22を検出する。動画フレーム14からオブジェクト22を検出する方法には、様々な方法を用いることができる。例えば生成部2020は、検出対象のオブジェクトの画像特徴を学習させた検出器を含む。人物をオブジェクト22として扱う場合、検出器には、人の画像特徴を学習させておく。また、車両をオブジェクト22として扱う場合、検出器には、車両の画像特徴を学習させておく。
生成部2020は、動画フレーム14からオブジェクト列20を検出する(S102)。また、その前提として、生成部2020は、動画フレーム14からオブジェクト22を検出する。動画フレーム14からオブジェクト22を検出する方法には、様々な方法を用いることができる。例えば生成部2020は、検出対象のオブジェクトの画像特徴を学習させた検出器を含む。人物をオブジェクト22として扱う場合、検出器には、人の画像特徴を学習させておく。また、車両をオブジェクト22として扱う場合、検出器には、車両の画像特徴を学習させておく。
検出器は、動画フレーム14から、学習済みの画像特徴にマッチする画像領域を、オブジェクトを表す領域(以下、オブジェクト領域)として検出する。検出器には、例えば、HOG(Histograms of Oriented Gradients)特徴に基づいて検出を行うものや、CNN(Convolutional Neural Network)を用いるものが利用できる。なお、検出器は、オブジェクト全体の領域を検出するように学習させたものであってもよいし、オブジェクトの一部の領域(例えば人の頭部など)を検出するように学習させたものであってもよい。
検出器は、検出したオブジェクト22に関する情報(以下、検出情報)を出力する。検出情報は、例えば、各オブジェクト22の位置及び大きさを示す。ここで、検出情報におけるオブジェクト22の位置は、動画フレーム14上の位置(例えば動画フレーム14の左上端を原点とする座標)で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、オブジェクト22の実世界座標は、カメラのキャリブレーションによって求まる位置や姿勢を表すパラメータを用いて、動画フレーム14上の位置から算出することができる。
検出情報は、各オブジェクト22の外見の特徴を表す特徴量を含んでいてもよい。特徴量としては、オブジェクトの大きさ、表面の色や模様(人物の場合は服の色や模様)などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、検出情報は、オブジェクトの形状を表す特徴量を含んでもよい。オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプデスクリプタを用いることができる。
生成部2020は、動画フレーム14から検出されたオブジェクト22の列、すなわちオブジェクト列20を検出する。ここで、画像から検出されたオブジェクトによって構成される列を検出する技術には、既存の様々な技術(例えば、特許文献1で開示されている技術)を利用することができる。
なお、オブジェクト列20の形状は、直線であってもよいし、直線でなくてもよい。後者のケースは、オブジェクト列20は、S字に蛇行していたり、途中で折れ曲がっていたりするケースである。図7は、形状が直線ではないオブジェクト列20を例示する図である。このようにオブジェクト列20の形状が直線以外である場合、例えば、オブジェクト列20に沿って行列線30を定義し、その行列線に沿って、オブジェクト列20の状態や移動方向などを定義する。
<追跡情報の生成:S104>
生成部2020は、特定したオブジェクト列20について追跡情報を生成する(S104)。第1時点の追跡情報は、第1時点においてオブジェクト列20に含まれる追跡対象オブジェクトに関する情報を示す。追跡情報は、少なくとも、追跡対象オブジェクトの位置を示す。その他にも例えば、追跡情報は、追跡対象オブジェクトの状態、動き、特徴量、又は領域などを示す。
生成部2020は、特定したオブジェクト列20について追跡情報を生成する(S104)。第1時点の追跡情報は、第1時点においてオブジェクト列20に含まれる追跡対象オブジェクトに関する情報を示す。追跡情報は、少なくとも、追跡対象オブジェクトの位置を示す。その他にも例えば、追跡情報は、追跡対象オブジェクトの状態、動き、特徴量、又は領域などを示す。
追跡対象オブジェクトの状態は、例えば、「移動」と「静止」のいずれかを示す。追跡対象オブジェクトの動きは、例えば、動きモデルのパラメータを示す。例えば動きモデルとして等速直線運動の動きモデルが利用される場合、動きモデルのパラメータは、移動方向と速さなどである。追跡対象オブジェクトの特徴量は、例えば、追跡対象オブジェクトの大きさ、色や模様、又は形状などが記述された情報である。追跡対象オブジェクトの領域は、例えば、追跡対象オブジェクトを表す画像領域の外接矩形を定義する情報(例えば、左上端と右下端の座標)で表される。
図8は、追跡情報をテーブル形式で例示する図である。図8のテーブルをテーブル200と表記する。テーブル200は、追跡ID202、位置204、状態206、動き208、特徴量210、及び領域212を示す。追跡ID202は、追跡対象オブジェクトに割り当てられた識別子である。なお、領域212における TL と BR はそれぞれ、左上端(top left)の座標と右下端(bottom right)の座標を表している。
生成部2020によって生成された追跡情報は、記憶領域に記憶される。例えばこの記憶領域は、図4のストレージデバイス1080である。ただし、追跡情報が記憶される記憶領域は、情報処理装置2000の内部に設けられている記憶領域に限定されない。例えば追跡情報は、情報処理装置2000の外部のサーバ装置や NAS(Network Attached Storage)などの記憶領域に記憶されてもよい。この場合、生成部2020は、サーバ装置等に対し、生成した追跡情報を送信する。
<列振る舞い情報の生成:S108-1>
列振る舞い推定部2040は、第1時点の追跡情報を用いて、第1時点の列振る舞い情報を生成する(S108-1)。列振る舞い情報は、オブジェクト列20の振る舞いに関する情報である。
列振る舞い推定部2040は、第1時点の追跡情報を用いて、第1時点の列振る舞い情報を生成する(S108-1)。列振る舞い情報は、オブジェクト列20の振る舞いに関する情報である。
「オブジェクト列20の振る舞い」とは、オブジェクト列20の状態や動きを意味する。オブジェクト列20の状態は、例えば、オブジェクト列20が静止しているのか、それともオブジェクト列20が動いているのかを表す。また、オブジェクト列20の状態は、オブジェクト列20が全体的に動いているのか、それともオブジェクト列20の一部分が動いているのかを表してもよい。
例えば、オブジェクト列20の状態として、静止状態、全体移動状態、及び一部移動状態という3つの状態を定めておく。静止状態は、オブジェクト列20が静止している状態である。全体移動状態は、オブジェクト列20の全体が動いている状態である。一部移動状態は、オブジェクト列20の一部分が動いている状態である。
例えば列振る舞い情報は、オブジェクト列20の状態が、前述した3つの状態のいずれであるかを示す。オブジェクト列20が全体移動状態又は一部移動状態である場合、列振る舞い情報は、オブジェクト列20の動き情報をさらに示してもよい。オブジェクト列20の動き情報は、例えば、オブジェクト列20の速さや方向などを示す。また、オブジェクト列20が一部移動状態である場合、列振る舞い情報は、ブジェクト列20のどの部分が動いているのか、及び動いている各部分についての動き情報を示す。
図9は、一部移動状態のときのオブジェクト列20の振る舞いを例示する図である。図9において、左側がオブジェクト列20の先頭であり、左方向が行列の移動方向である。丸印は、静止しているオブジェクト22を表す。三角印は、移動しているオブジェクト22を表す。
一部移動状態のときには、図9に示すように、一部のオブジェクト22はオブジェクト列20の進行方向に向かって移動しており、それ以外のオブジェクトは静止している。よって、オブジェクト列20の領域が、移動領域(移動しているオブジェクト22の領域)と静止領域(静止してるオブジェクト22の領域)とに分けられる。図9では、実線で囲んだ領域は静止領域を表し、破線で囲んだ領域は移動領域を表す。
列振る舞い情報は、例えば図9の示すようなオブジェクト列20について、オブジェクト列20の状態が一部移動状態であること、各移動領域や静止領域を特定する情報、各移動領域の動き情報などを示す。移動領域を特定する情報は、例えば、その移動領域の位置、又はその移動領域に含まれる各オブジェクト22を特定する情報(オブジェクト22に割り当てた識別子など)などを示す。静止領域を特定する情報は、例えば、その静止領域の位置、又はその静止領域に含まれる各オブジェクト22を特定する情報などを示す。
列振る舞い推定部2040は、追跡情報に示されている各オブジェクト22の状態に基づいて、オブジェクト列20の振る舞いを推定する。以下、より具体的に説明する。
例えば列振る舞い推定部2040は、追跡情報に示される各オブジェクト22の状態がいずれも静止状態であれば、オブジェクト列20の状態が静止状態であると推定する。また、列振る舞い推定部2040は、追跡情報に示される各オブジェクト22の状態がいずれも移動状態であれば、オブジェクト列20の状態が全体移動状態であると推定する。また、列振る舞い推定部2040は、追跡情報に、移動状態のオブジェクト22と静止状態のオブジェクト22のいずれもが示されている場合には、オブジェクト列20の状態が一部移動状態であると推定する。
オブジェクト列20の状態が全体移動状態である場合、列振る舞い推定部2040は、オブジェクト列20の動きを推定し、列振る舞い情報にオブジェクト列20の動き情報を含める。例えば列振る舞い推定部2040は、オブジェクト列20の速さや移動方向を推定する。ここで、オブジェクト列の速さや移動方向を推定する技術には、既存の技術を利用することができる。
オブジェクト列20の状態が一部移動状態である場合、列振る舞い推定部2040は、オブジェクト列20を、オブジェクト22が移動している移動領域と、オブジェクト22が静止している静止領域に区分する。例えば列振る舞い推定部2040は、オブジェクト列20において互いに隣接する複数の動いているオブジェクト22によって構成される領域を、移動領域とする。一方、列振る舞い推定部2040は、オブジェクト列20において互いに隣接する複数の静止しているオブジェクト22によって構成される領域を、静止領域とする。
さらに、列振る舞い推定部2040は、移動領域について、その移動領域の動き情報を生成して、列振る舞い情報に含める。移動領域の動き(速さや移動方向)を推定する技術には、オブジェクト列の速さや移動方向を推定する技術を利用することができる。
ここで、追跡情報に各追跡対象オブジェクトの振る舞いが示されているとする。この場合において、個々の追跡対象オブジェクトの振る舞いが、オブジェクト列20全体の振る舞いと整合しない状況が発生しうる。例えば、前後の追跡対象オブジェクトが静止しているにもかかわらず、その間に位置する追跡対象オブジェクトが動くケースがある。このケースは、例えば、追跡対象オブジェクトの姿勢変動等によって、その追跡対象オブジェクトの位置に小さな変化が生じたことにより、その追跡対象オブジェクトの状態が移動状態と判定されたケースなどである。
このように個々の追跡対象オブジェクトの振る舞いがオブジェクト列20全体の振る舞いと整合しない場合、各追跡対象オブジェクトの振る舞いを互いに独立して考慮してオブジェクト列20の振る舞いを推定すると、オブジェクト列20の振る舞いの推定誤りが生じることがある。例えば、静止状態にあるオブジェクト列20の状態が一部移動状態と推定されたり、一部移動状態にあるオブジェクト列20の状態が全体移動状態と推定されたりする可能性がある。
そこで列振る舞い推定部2040は、追跡情報に示されている追跡対象オブジェクトの振る舞いをそのまま利用するのではなく、周囲の他の追跡対象オブジェクトの振る舞いとの整合性を考慮した上で、各追跡対象オブジェクトの振る舞いを修正してもよい。具体的には、列振る舞い推定部2040は、追跡情報において「移動状態」と示されている追跡対象オブジェクトについて、その追跡対象オブジェクトの一つ前に位置する他の追跡対象オブジェクトの状態と、その追跡対象オブジェクトの一つ後ろに位置する他の追跡対象オブジェクトの状態とがいずれも「静止状態」である場合、その追跡対象オブジェクトの状態を「静止状態」として扱う。同様に、列振る舞い推定部2040は、追跡情報において「静止状態」と示されている追跡対象オブジェクトについて、その追跡対象オブジェクトの一つ前に位置する他の追跡対象オブジェクトの状態と、その追跡対象オブジェクトの一つ後ろに位置する他の追跡対象オブジェクトの状態とがいずれも「移動状態」である場合、その追跡対象オブジェクトの状態を「移動状態」として扱ってもよい。
その他にも例えば、列振る舞い推定部2040は、過去に生成された列振る舞い情報(例えば、第1時点よりも前に生成された直近の列振る舞い情報)を利用して、追跡対象オブジェクトの振る舞いを修正してもよい。例えば、第1時点より前に生成された直近の列振る舞い情報が示すオブジェクト列20の状態が静止状態である場合、第1時点のオブジェクト列20は、全体が静止状態であり続けているか、又は先頭に近い追跡対象オブジェクトが動き出している状態であると考えられる。前者の場合におけるオブジェクト列20の状態は静止状態であり、後者の場合におけるオブジェクト列20の状態は一部移動状態である。
そこで例えば、列振る舞い推定部2040は、直近の列振る舞い情報が静止状態を示す場合、追跡情報において「移動状態」として示されている追跡対象オブジェクトのうち、オブジェクト列20の先頭付近の追跡対象オブジェクトについてのみ移動状態として扱う。言い換えれば、列振る舞い推定部2040は、追跡情報において「移動状態」として示されている追跡対象オブジェクトのうち、オブジェクト列20の先頭付近に位置しない追跡対象オブジェクトについては、静止状態として扱う。
その他にも例えば、直近の列振る舞い情報が示すオブジェクト列20の状態が一部移動状態である場合、その振る舞い情報が示す静止領域の直後に位置する移動状態の追跡対象オブジェクトは、その後に静止する可能性がある。また、移動領域の直後に位置する静止状態の追跡対象オブジェクトは、移動し始める可能性がある。それ以外の追跡対象オブジェクトは、同じ状態を取り続ける蓋然性が高い。
そこで、列振る舞い推定部2040は、直近の列振る舞い情報が一部移動状態を示し、なおかつ、第1時点の追跡情報において、直近の列振る舞い情報が示す静止領域の直後に位置する追跡対象オブジェクトの状態が移動状態を示している場合には、その追跡対象オブジェクトの状態を静止状態として扱う。また、列振る舞い推定部2040は、直近の列振る舞い情報が一部移動状態を示し、なおかつ、第1時点の追跡情報において、直近の振る舞い情報が示す移動領域の直後に位置する追跡対象オブジェクトの状態が静止状態を示している場合には、その追跡対象オブジェクトの状態を移動状態として扱う。
上述のように、追跡情報に示される追跡対象オブジェクトの振る舞いを必ずそのまま用いるのではなく、他の追跡対象オブジェクトの状態や直近の列振る舞い情報を考慮して追跡対象オブジェクトの状態を修正して扱うことにより、個別の追跡対象オブジェクトに関する追跡情報の誤りの影響を排除できる。そのため、オブジェクト列20の振る舞いの推定の精度を向上させることができる。
<追跡対象オブジェクトの推定位置の算出:S108-2>
推定位置算出部2060は、第1時点の追跡情報及び第1時点の列振る舞い情報に基づき、第2時点における各追跡対象オブジェクトの推定位置を算出する(S108-2)。追跡情報に加えて列振る舞い情報を用いることにより、追跡対象オブジェクトの振る舞いがオブジェクト列20全体の振る舞いに合致するように、追跡対象オブジェクトの推定位置が算出される。
推定位置算出部2060は、第1時点の追跡情報及び第1時点の列振る舞い情報に基づき、第2時点における各追跡対象オブジェクトの推定位置を算出する(S108-2)。追跡情報に加えて列振る舞い情報を用いることにより、追跡対象オブジェクトの振る舞いがオブジェクト列20全体の振る舞いに合致するように、追跡対象オブジェクトの推定位置が算出される。
以下、推定位置算出部2060が追跡対象オブジェクトの推定位置を算出する方法について、具体的に説明する。
列振る舞い情報が示すオブジェクト列20の状態が静止状態であるとする。この場合、推定位置算出部2060は、第1時点と第2時点における追跡対象の位置に変化がないと推定する。すなわち、推定位置算出部2060は、第1時点の追跡情報によって示される各追跡対象オブジェクトの位置を、第2時点における各追跡対象オブジェクトの推定位置とする。
列振る舞い情報が示すオブジェクト列20の状態が一部移動状態又は全体移動状態である場合、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトの振る舞いに基づいて、第2時点におけるその追跡対象オブジェクトの推定位置を算出する。第1時点における追跡対象オブジェクトの振る舞いは、第1時点の追跡情報に示されている。例えば、第1時点 t1 における追跡対象オブジェクトの位置及び動きがそれぞれ座標 p1 と速度ベクトル v で表されている場合、第2時点 t2 における追跡対象オブジェクトの推定位置 p2 は、以下の数式(1)によって算出される。
なお、第1時点の追跡情報には、第1時点における追跡対象オブジェクトの動きが示されていなくてもよい。例えばこの場合、移動する追跡対象オブジェクトの速さを予め固定値として定義しておき、定義された速さ及び第1時点における追跡対象オブジェクトの位置に基づいて、第2時点における追跡対象オブジェクトの位置が推定される。ここで、追跡対象オブジェクトの移動方向は、例えば、列振る舞い情報が示すオブジェクト列20の移動方向と同じであると仮定する。
列振る舞い情報が一部移動状態を示すとする。この場合、推定位置算出部2060は、静止領域に含まれる追跡対象オブジェクトと、移動領域に含まれる追跡対象オブジェクトとについて、それぞれ異なる方法で第2時点における推定位置を算出する。以下、その方法を具体的に説明する。
基本的な考え方として、静止領域に含まれる追跡対象オブジェクトは、第1時点と第2時点において位置に変化がないと考えられる。また、移動領域に含まれる追跡対象オブジェクトは、第1時点におけるその追跡対象オブジェクトの動きに従って移動すると考えられる。
ただし、静止領域に含まれる追跡対象オブジェクトのうち、移動領域の後ろに位置する追跡対象オブジェクトについては、第1時点において静止していたとしても、その後に移動し始める可能性がある。逆に、移動領域に含まれる追跡対象オブジェクトのうち、静止領域の後ろに位置する追跡対象オブジェクトについては、第1時点において移動していたとしても、その後に静止する可能性がある。
そこで例えば、推定位置算出部2060は、図10及び図11のフローチャートに示す流れで、第2時点における各追跡対象オブジェクトの推定位置を算出する。図10及び図11は、列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する図である。図10及び図11では、追跡対象オブジェクトiについて推定位置を算出している。なお、図10及び図11に示すフローチャートは、第1時点の追跡情報に示される各追跡対象オブジェクトについて行われる。
推定位置算出部2060は、追跡対象オブジェクトiが静止領域に含まれるか否かを判定する(S202)。追跡対象オブジェクトiが静止領域に含まれる場合(S202:YES)、推定位置算出部2060は、追跡対象オブジェクトiが属する静止領域(以下、静止領域 s1)の前方に移動領域が存在するか否かを判定する(S204)。静止領域 s1 の前方に移動領域が存在しない場合(S204:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトの位置を、第2時点における追跡対象オブジェクトiの推定位置とする(S206)。
静止領域 s1 の前方に移動領域が存在する場合(S204:YES)、推定位置算出部2060は、追跡対象オブジェクトiが、静止領域 s1 の前方に存在する移動領域(以下、移動領域 m1)の後方の所定範囲に位置するか否かを判定する(S208)。追跡対象オブジェクトiが上記所定範囲に位置しない場合(S208:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトの位置を、第2時点における追跡対象オブジェクトiの推定位置とする(S206)。
追跡対象オブジェクトiが上記所定範囲に位置する場合(S208:YES)、推定位置算出部2060は、移動領域 m1 に属する追跡対象オブジェクトの動きに基づいて追跡対象オブジェクトiの動きを推定し、推定した動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S210)。移動領域 m1 に属する追跡対象オブジェクトの動きに基づいて追跡対象オブジェクトiの動きを推定する具体的な方法については後述する。
S202において、追跡対象オブジェクトiが静止領域に含まれないと判定された場合(S202:NO)、すなわち、追跡対象オブジェクトiが移動領域に含まれる場合、推定位置算出部2060は、追跡対象オブジェクトiが属する移動領域(以下、移動領域 m2 )の前方に静止領域が存在するか否かを判定する(S212)。移動領域 m2 の前方に静止領域が存在しない場合(S212:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S214)。この算出方法は、例えば前述した数式(1)を利用する方法である。
移動領域 m2 の前方に静止領域が存在する場合(S212:YES)、推定位置算出部2060は、追跡対象オブジェクトiが、移動領域 m2 の前方に存在する静止領域(以下、静止領域 s2)の後方の所定範囲に位置するか否かを判定する(S216)。追跡対象オブジェクトiが上記所定範囲に位置しない場合(S216:NO)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S214)。
追跡対象オブジェクトiが上記所定範囲に位置する場合(S216:YES)、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトiの動きに基づいて、第1時点以降の追跡対象オブジェクトiの動きを推定し、推定した動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S218)。ここで、第1時点以降の追跡対象オブジェクトiの動きは、第1時点の追跡情報が示す追跡対象オブジェクトiの動きよりも小さい動きとして推定される。その推定方法の詳細については後述する。
<<S210において追跡対象オブジェクトiの動きを推定する方法>>
前述したように、追跡対象オブジェクトiが、追跡対象オブジェクトiが属する静止領域 s1 の前方に存在する移動領域 m1 の後方の所定範囲に位置する場合(S208:YES)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S210)。例えば推定位置算出部2060は、追跡対象オブジェクトiの動きを、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの動きを表すベクトルに基づいて推定する。例えば、推定位置算出部2060は、追跡対象オブジェクトiの動きが、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの速度ベクトル vo に対してパラメータα(0<α≦1)を掛けた αvo で表されると推定する。この場合、推定位置算出部2060は、以下の数式(2)を用いて、第2時点における追跡対象オブジェクトiの推定位置 p2 を算出する。
p1 は、第1時点における追跡対象オブジェクトiの位置を表す。t1 と t2 はそれぞれ、第1時点と第2時点を表す。
前述したように、追跡対象オブジェクトiが、追跡対象オブジェクトiが属する静止領域 s1 の前方に存在する移動領域 m1 の後方の所定範囲に位置する場合(S208:YES)、推定位置算出部2060は、第1時点における追跡対象オブジェクトiの位置及び動きに基づいて、第2時点における追跡対象オブジェクトiの推定位置を算出する(S210)。例えば推定位置算出部2060は、追跡対象オブジェクトiの動きを、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの動きを表すベクトルに基づいて推定する。例えば、推定位置算出部2060は、追跡対象オブジェクトiの動きが、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの速度ベクトル vo に対してパラメータα(0<α≦1)を掛けた αvo で表されると推定する。この場合、推定位置算出部2060は、以下の数式(2)を用いて、第2時点における追跡対象オブジェクトiの推定位置 p2 を算出する。
ここで、前述した「移動領域 m1 の後方の所定範囲」を定める方法は様々である。例えば、移動領域の後方に位置する追跡対象オブジェクトのうちの先頭から所定個を、「移動領域 m1 の後方の所定範囲」とする。すなわち、移動領域の後方に位置する追跡対象オブジェクトのうち、先頭から所定個の追跡対象オブジェクトが、移動する追跡対象オブジェクトとして扱われる。その他にも例えば、移動領域 m1 の末尾から所定距離に含まれる範囲を、「移動領域 m1 の後方の所定範囲」とする。
なお、追跡対象オブジェクトiの動きの推定に用いられるパラメータαは、全ての追跡対象オブジェクトに共通の値であってもよいし、追跡対象オブジェクトごとに異なる値であってもよい。後者の場合、例えば、追跡対象オブジェクトの位置がより後方になるほど、αの値を小さくする。
<<S218において追跡対象オブジェクトiの動きを推定する方法>>
前述したように、追跡対象オブジェクトiが、追跡対象オブジェクトiが属する移動領域 m2 の前方に存在する静止領域 s2 の後方の所定範囲に位置する場合(S216:YES)、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトiの動きに基づいて、第1時点以降の追跡対象オブジェクトiの動きを推定する。例えば推定位置算出部2060は、第1時点以降の追跡対象オブジェクトiの動きが、第1時点における追跡対象オブジェクトの速度ベクトル vi に対してパラメータβ(0<β≦1)を掛けた βvi で表されると推定する。この場合、推定位置算出部2060は、以下の数式(3)を用いて、第2時点における追跡対象オブジェクトiの推定位置 p2 を算出する。
p1 は、第1時点における追跡対象オブジェクトの位置を表す。t1 と t2 はそれぞれ、第1時点と第2時点を表す。
前述したように、追跡対象オブジェクトiが、追跡対象オブジェクトiが属する移動領域 m2 の前方に存在する静止領域 s2 の後方の所定範囲に位置する場合(S216:YES)、推定位置算出部2060は、第1時点の追跡情報が示す追跡対象オブジェクトiの動きに基づいて、第1時点以降の追跡対象オブジェクトiの動きを推定する。例えば推定位置算出部2060は、第1時点以降の追跡対象オブジェクトiの動きが、第1時点における追跡対象オブジェクトの速度ベクトル vi に対してパラメータβ(0<β≦1)を掛けた βvi で表されると推定する。この場合、推定位置算出部2060は、以下の数式(3)を用いて、第2時点における追跡対象オブジェクトiの推定位置 p2 を算出する。
なお、前述した「静止領域 s2 の後方の所定範囲」は、前述した「移動領域 m1 の後方の所定範囲」と同様の方法で定めることができる。
また、追跡対象オブジェクトiの動きの推定に用いられるパラメータβは、全ての追跡対象オブジェクトに共通の値であってもよいし、追跡対象オブジェクトごとに異なる値であってもよい。後者の場合、例えば、追跡対象オブジェクトの位置がより前方になるほど、βの値を小さくする。
なお、推定位置算出部2060は、第2時点における追跡対象オブジェクトの位置に加え、第2時点における追跡対象オブジェクトの状態及びその尤度、並びに追跡対象オブジェクトの動きを推定してもよい。
<オブジェクト22と追跡対象オブジェクトとの対応付け:S108-3>
更新部2080は、第2時点の動画フレーム14からオブジェクト22の検出を行う。この検出には、前述した生成部2020が有する検出器と同様の検出器を利用できる。検出器は、生成部2020と更新部2080のそれぞれに設けられていてもよいし、これらで共有するように設けられていてもよい。なお、更新部2080が利用する検出器は、オブジェクト列20に含まれると推定されるオブジェクト22に関する検出情報のみを出力するように構成されていてもよい。オブジェクト22がオブジェクト列に含まれるか否かを推定する技術には、既存の技術を利用することができる。
更新部2080は、第2時点の動画フレーム14からオブジェクト22の検出を行う。この検出には、前述した生成部2020が有する検出器と同様の検出器を利用できる。検出器は、生成部2020と更新部2080のそれぞれに設けられていてもよいし、これらで共有するように設けられていてもよい。なお、更新部2080が利用する検出器は、オブジェクト列20に含まれると推定されるオブジェクト22に関する検出情報のみを出力するように構成されていてもよい。オブジェクト22がオブジェクト列に含まれるか否かを推定する技術には、既存の技術を利用することができる。
さらに更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の位置と、各追跡対象オブジェクトの第2時点における推定位置とに基づいて、第2時点の動画フレーム14から検出されたオブジェクト22と追跡対象オブジェクトとを対応づける(S108-3)。この上述の対応付けは、第2時点の動画フレーム14から検出された各オブジェクト22が、どの追跡対象オブジェクトに相当するのかを特定する処理である。図12は、第2時点の動画フレーム14から検出されたオブジェクト22と、第2時点における推定位置が算出された追跡対象オブジェクトとの対応付けを例示する図である。図12において、互いに両矢印で結ばれているオブジェクト22と追跡対象オブジェクトが、互いに対応付けられたオブジェクト22と追跡対象オブジェクトである。
第2時点の動画フレーム14から検出されたオブジェクト22と、第2時点の推定位置が算出された追跡対象オブジェクトとを対応づける方法は、様々である。例えば更新部2080は、第2時点の推定位置が算出された追跡対象オブジェクトに対し、その推定位置に最も近い位置で検出されたオブジェクト22を対応づける。その他にも例えば、更新部2080は、以下に示す方法で上記対応付けを行ってもよい。
図13は、第2時点の動画フレーム14から検出されたオブジェクト22と追跡対象オブジェクトとを対応付ける方法を説明するための図である。なお、図13における「未検知」とは、追跡対象オブジェクトに対応づけられるべきオブジェクト22が、何らかの原因で動画フレーム14から検出されないこと(例えば画像ノイズが原因でオブジェクトが動画フレーム14から検出されないこと)を意味する。また、「誤検知」とは、実際には存在しないオブジェクトが何らかの原因で検出されたこと(例えば画像ノイズがオブジェクトとして検出されたこと)を意味する。未検知と誤検知の取り扱いについては後述する。
更新部2080は、静止状態の追跡対象オブジェクトについて優先的に対応付けを行い、その後に移動状態の追跡対象オブジェクトについて対応付けを行っている。まず第1のステップで、更新部2080は、アンカーとなる追跡対象オブジェクトについて対応付けを行う。ここで、アンカーとなる追跡対象オブジェクトとは、オブジェクト列20中でほとんど動かず、確実に対応付けられる追跡対象オブジェクトのことである。すなわち、アンカーとなる追跡対象オブジェクトは、静止状態の追跡対象オブジェクトである。アンカーとなる追跡対象オブジェクトには、動画フレーム14から検出されたオブジェクト22のうち、その追跡対象オブジェクトの推定位置と間の距離が閾値以下のものが対応付けられる。図13では、破線の楕円で囲った対応がこれに相当する。
更新部2080は、静止状態の追跡対象オブジェクトについて優先的に対応付けを行い、その後に移動状態の追跡対象オブジェクトについて対応付けを行っている。まず第1のステップで、更新部2080は、アンカーとなる追跡対象オブジェクトについて対応付けを行う。ここで、アンカーとなる追跡対象オブジェクトとは、オブジェクト列20中でほとんど動かず、確実に対応付けられる追跡対象オブジェクトのことである。すなわち、アンカーとなる追跡対象オブジェクトは、静止状態の追跡対象オブジェクトである。アンカーとなる追跡対象オブジェクトには、動画フレーム14から検出されたオブジェクト22のうち、その追跡対象オブジェクトの推定位置と間の距離が閾値以下のものが対応付けられる。図13では、破線の楕円で囲った対応がこれに相当する。
なお、上記対応付けには、列振る舞い情報をさらに用いてもよい。例えば、静止領域に含まれる追跡対象オブジェクトでも、移動領域のすぐ後にある追跡対象オブジェクトについては、アンカーの追跡対象オブジェクトとして扱わないようにしてもよい。
次に、第2のステップで、更新部2080は、アンカーとなる追跡対象オブジェクトの対応付け結果により、オブジェクト列20を分割する。図12の例において、オブジェクト列20は、実線の四角で囲われた2つの部分列に分割されている。更新部2080は、部分列それぞれについて対応付けを行う。すなわち、アンカーの追跡対象オブジェクトの対応付けによって分割される、追跡対象オブジェクトと、動画フレーム14から検出されたオブジェクト22との間で、部分列ごとに対応付けを行う。このときの対応付けの方法としては、例えば、ハンガリアン法を用いることができる。
ハンガリアン法による対応付けの場合には、例えば、部分列内の追跡対象オブジェクトと、動画フレーム14から検出されたオブジェクト22との間で対応付けの尤度を求め、これを単調非増加関数によってコストに変換して用いるようにする。この際の尤度は、例えば、動画フレーム14から検出されたオブジェクト22の外接矩形と、追跡対象オブジェクトの外接矩形の位置や大きさを推定によって調整したものとの重なり度合によって算出することができる。その他にも例えば、動画フレーム14から検出されたオブジェクト22の位置と、追跡対象オブジェクトの推定位置との間の距離を求め、それを単調非増加関数によって尤度に変換するようにしてもよい。この際の距離は画像上での距離であってもよいし、実世界座標上の距離であってもよい。また、尤度を算出する際、追跡対象オブジェクトの状態を考慮してもよい。すなわち、追跡対象オブジェクトが静止状態か移動状態かによって、尤度を求める関数やパラメータを変えるようにしてもよい。これにより、静止状態のときは、より厳しい条件で尤度を求めるようにし、移動状態のときには、より緩い条件で尤度を算出することもできる。特に、移動状態の場合の方が、静止状態の場合に比べて、追跡対象オブジェクトの推定位置と動画フレーム14から検出されるオブジェクトとの位置(実際の位置)との距離に誤差が生じやすいなどといった、状態ごとの特性を尤度に反映させることができる。また、外見特徴の類似度を尤度に反映させてもよい。すなわち、外見特徴が類似しているオブジェクト間ほど、尤度が高くなるように設定してもよい。
あるいは、第2のステップにおける部分列の対応付けにおいて、さらに信頼度の高いと考えられる対応付けを優先してもよい。例えば、移動状態の追跡対象オブジェクトについて、その追跡対象オブジェクトの推定位置とほぼ同一の位置において動画フレーム14からオブジェクト22が検出されている場合には、更新部2080は、その追跡対象オブジェクトとそのオブジェクト22とを対応づけてもよい。また、静止状態ではあるもののアンカーオブジェクトとして選定されなかった追跡対象オブジェクトが、少し緩い基準では動画フレーム14から検出された或るオブジェクト22と対応づけられる場合に、更新部2080は、その追跡対象オブジェクトとオブジェクト22とを対応づけてもよい。この場合、更新部2080は、これらの対応付けの結果によって部分列を分割してから、続きの対応付けを行うようにする。
図14は、第2のステップで、信頼度の高い対応付けを行った後、さらに部分列を分解してから、続きの対応付けを行うケースを例示する図である。図中、破線の楕円で囲った対応付けは、アンカーとして選定されたオブジェクトの対応付けであり、実線の楕円で囲まれた対応付けは、アンカーとしては選定されなかった静止状態の追跡対象オブジェクトについて、信頼度が高いと判定されたために優先的に行われた対応付けである。この対応付けの後、残りのオブジェクトが部分列に分割されている。部分列に対しては、上述の第2のステップのときと同様、ハンガリアン法等で対応付けを行う。
このように、列の特性を考慮して、対応付けの信頼度が高いと考えられるオブジェクトの対応付けを優先することで、対応付けの精度を高めることができる。また、部分列に分割することにより、検討すべき対応付けの場合の数を大幅に減らせるようになり、演算コストの削減にもつながる。
なお、上述のように段階的に行わなくても同様のことが可能である。例えば、全体を一括でハンガリアン法により対応付ける方法を採用する場合において、アンカーとみなせるオブジェクトの対応付けのコストを他の対応付けのコストよりも低く設定すれば、これらを確実に対応付けることができるようになる。よって、対応付けの精度を上げることが可能となる。
<追跡情報の更新:S108-4>
更新部2080は、上記対応付けの結果に基づいて、追跡情報に示される追跡対象オブジェクトの情報を更新する(S108-4)。すなわち、第1時点の追跡情報が、第2時点の追跡情報に更新される。ここで、追跡情報の更新は、第1時点の追跡情報を記憶領域から削除せずに第2時点の追跡情報を記憶領域へ記憶させることで行われてもよいし、第1時点の追跡情報が記憶されている記憶領域を第2時点の追跡情報で上書きすることで行われてもよい。前者の場合、追跡情報の履歴が記憶領域に蓄積されていく。一方、後者の場合、追跡情報の履歴は蓄積されず、常に最新の追跡情報のみが記憶領域に記憶されていることになる。
更新部2080は、上記対応付けの結果に基づいて、追跡情報に示される追跡対象オブジェクトの情報を更新する(S108-4)。すなわち、第1時点の追跡情報が、第2時点の追跡情報に更新される。ここで、追跡情報の更新は、第1時点の追跡情報を記憶領域から削除せずに第2時点の追跡情報を記憶領域へ記憶させることで行われてもよいし、第1時点の追跡情報が記憶されている記憶領域を第2時点の追跡情報で上書きすることで行われてもよい。前者の場合、追跡情報の履歴が記憶領域に蓄積されていく。一方、後者の場合、追跡情報の履歴は蓄積されず、常に最新の追跡情報のみが記憶領域に記憶されていることになる。
更新部2080によって更新される追跡情報の内容としては、例えば、追跡対象オブジェクトの位置、特徴量、動き、又は状態などがある。以下、それぞれの情報を更新する方法について説明する。
<<追跡対象オブジェクトの位置の更新>>
更新部2080は、追跡対象オブジェクトに対応づけられたオブジェクト22の位置に基づいて、追跡対象オブジェクトの位置(テーブル200における位置204)を更新する。例えば更新部2080は、追跡情報の位置204を、その追跡対象オブジェクトに対応付けられたオブジェクト22の位置に更新する。その他にも例えば、更新部2080は、その追跡対象オブジェクトの第2時点における推定位置と、その追跡対象オブジェクトに対応付けられたオブジェクト22の位置とを統計処理(例えば重み付け加算)し、追跡情報の位置204を、統計処理の結果得られた位置に更新する。
更新部2080は、追跡対象オブジェクトに対応づけられたオブジェクト22の位置に基づいて、追跡対象オブジェクトの位置(テーブル200における位置204)を更新する。例えば更新部2080は、追跡情報の位置204を、その追跡対象オブジェクトに対応付けられたオブジェクト22の位置に更新する。その他にも例えば、更新部2080は、その追跡対象オブジェクトの第2時点における推定位置と、その追跡対象オブジェクトに対応付けられたオブジェクト22の位置とを統計処理(例えば重み付け加算)し、追跡情報の位置204を、統計処理の結果得られた位置に更新する。
<<追跡対象オブジェクトの動きの更新>>
更新部2080は、前述した更新後の追跡対象オブジェクトの位置(以下、更新位置)と、推定位置算出部2060によって推定された追跡対象オブジェクトの推定位置との差異に基づいて、追跡対象オブジェクトの動き(テーブル200における動き208)を更新する。こうすることで、推定位置算出部2060による推定にどの程度の誤差があったかを考慮して、追跡対象オブジェクトの動きが補正される。
更新部2080は、前述した更新後の追跡対象オブジェクトの位置(以下、更新位置)と、推定位置算出部2060によって推定された追跡対象オブジェクトの推定位置との差異に基づいて、追跡対象オブジェクトの動き(テーブル200における動き208)を更新する。こうすることで、推定位置算出部2060による推定にどの程度の誤差があったかを考慮して、追跡対象オブジェクトの動きが補正される。
追跡対象オブジェクトの動き208を更新する方法は様々である。例えば、追跡対象オブジェクトの動きが等速直線運動であると仮定しており、追跡情報の動き208が追跡対象オブジェクトの速度ベクトルを示しているとする。この場合、更新部2080は、推定位置と更新位置との差分ベクトルを第2時点と第1時点の時刻の差分(第2時点と第1時点の時間間隔)で割った値を、第1時点の追跡情報の動き208が示す追跡対象オブジェクトの速度ベクトルに加算することで、追跡情報の動き208を更新する。
その他にも例えば、カルマンフィルタを使って追跡対象オブジェクトの動きが定義されているとする。この場合、追跡情報の動き208は、カルマンフィルタの状態変数に含まれる。更新部2080は、カルマンフィルタの状態変数の更新式に、推定位置と更新位置とを適用することで、カルマンフィルタの状態変数を更新する。ここで、カルマンフィルタの状態変数の更新式には、既知の更新式を利用することができる。
<<追跡対象オブジェクトの状態の更新>>
更新部2080は、追跡対象オブジェクトの状態(テーブル200の状態206)を更新する。例えば更新部2080は、更新した追跡対象オブジェクトの速度の大きさ(速さ)が所定値(例えば0)以下である場合に、その追跡対象オブジェクトの状態206を静止状態に更新する。一方、更新部2080は、更新した追跡対象オブジェクトの速度の大きさが所定値より大きい場合に、その追跡対象オブジェクトの状態206を移動状態に更新する。
更新部2080は、追跡対象オブジェクトの状態(テーブル200の状態206)を更新する。例えば更新部2080は、更新した追跡対象オブジェクトの速度の大きさ(速さ)が所定値(例えば0)以下である場合に、その追跡対象オブジェクトの状態206を静止状態に更新する。一方、更新部2080は、更新した追跡対象オブジェクトの速度の大きさが所定値より大きい場合に、その追跡対象オブジェクトの状態206を移動状態に更新する。
<<追跡対象オブジェクトの特徴量の更新>>
更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の特徴量に基づいて、そのオブジェクト22と対応づけられた追跡対象オブジェクトの特徴量(テーブル200の特徴量210)を更新する。例えば更新部2080は、オブジェクト22の特徴量と、そのオブジェクト22に対応付けられた追跡対象オブジェクトについて追跡情報の特徴量210が示す特徴量とを統計処理(例えば、重み付け加算)し、その結果として得られた特徴量で、追跡情報が示すその追跡対象オブジェクトの特徴量210を更新する。その他にも例えば、更新部2080は、オブジェクト22に対応付けられた追跡対象オブジェクトについて追跡情報が示す特徴量210を、そのオブジェクト22の特徴量で置き換えてもよい。その他にも例えば、更新部2080は、追跡情報が一つの追跡対象オブジェクトについて複数の特徴量を示す場合(例えば、複数のテンプレートを保持する場合)、追跡情報が示す追跡対象オブジェクトの特徴量210の一つを、その追跡対象オブジェクトに対応づけられたオブジェクト22の特徴量で置き換えてもよい。
更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の特徴量に基づいて、そのオブジェクト22と対応づけられた追跡対象オブジェクトの特徴量(テーブル200の特徴量210)を更新する。例えば更新部2080は、オブジェクト22の特徴量と、そのオブジェクト22に対応付けられた追跡対象オブジェクトについて追跡情報の特徴量210が示す特徴量とを統計処理(例えば、重み付け加算)し、その結果として得られた特徴量で、追跡情報が示すその追跡対象オブジェクトの特徴量210を更新する。その他にも例えば、更新部2080は、オブジェクト22に対応付けられた追跡対象オブジェクトについて追跡情報が示す特徴量210を、そのオブジェクト22の特徴量で置き換えてもよい。その他にも例えば、更新部2080は、追跡情報が一つの追跡対象オブジェクトについて複数の特徴量を示す場合(例えば、複数のテンプレートを保持する場合)、追跡情報が示す追跡対象オブジェクトの特徴量210の一つを、その追跡対象オブジェクトに対応づけられたオブジェクト22の特徴量で置き換えてもよい。
<<追跡対象オブジェクトの領域の更新>>
更新部2080は、追跡情報が示す追跡対象オブジェクトの領域(テーブル200の領域212)を更新する。例えば更新部2080は、追跡情報が示す追跡対象オブジェクトの領域212を、追跡対象オブジェクトの位置の変化に応じて移動させることで、追跡情報の領域212を更新する。その他にも例えば、更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の領域(例えば外接矩形)で、そのオブジェクト22と対応づけられた追跡対象オブジェクトについて追跡情報が示す領域212を置き換えてもよい。
更新部2080は、追跡情報が示す追跡対象オブジェクトの領域(テーブル200の領域212)を更新する。例えば更新部2080は、追跡情報が示す追跡対象オブジェクトの領域212を、追跡対象オブジェクトの位置の変化に応じて移動させることで、追跡情報の領域212を更新する。その他にも例えば、更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の領域(例えば外接矩形)で、そのオブジェクト22と対応づけられた追跡対象オブジェクトについて追跡情報が示す領域212を置き換えてもよい。
<<追跡対象オブジェクトの追加や削除など>>
第1時点の追跡情報に示される追跡対象オブジェクトの中に、第2時点の動画フレーム14から検出されるオブジェクト22と対応づけられないものがあったとする(前述した未検知のケース)。これは、追跡対象オブジェクトに対応するオブジェクト22が、何らかの理由で第2時点の動画フレーム14から検出されなかったことを意味する。例えばオブジェクトを俯瞰するようにカメラ10が設置されている場合、カメラ10に近いオブジェクトによって他のオブジェクトが遮蔽されてしまうことがありうる。
第1時点の追跡情報に示される追跡対象オブジェクトの中に、第2時点の動画フレーム14から検出されるオブジェクト22と対応づけられないものがあったとする(前述した未検知のケース)。これは、追跡対象オブジェクトに対応するオブジェクト22が、何らかの理由で第2時点の動画フレーム14から検出されなかったことを意味する。例えばオブジェクトを俯瞰するようにカメラ10が設置されている場合、カメラ10に近いオブジェクトによって他のオブジェクトが遮蔽されてしまうことがありうる。
このように、第1時点の追跡情報に示される追跡対象オブジェクトの中に、第2時点の動画フレーム14から検出されるオブジェクト22と対応づけられないものがある場合、更新部2080は、追跡情報が示すその追跡対象オブジェクトの位置を、推定位置算出部2060によって算出されたその追跡対象オブジェクトの推定位置で更新する。
また、第2時点の動画フレーム14から検出されたオブジェクト22の中に、追跡対象オブジェクトと対応づけられなかったものが存在するとする。この場合、1)新たにオブジェクト列20に加わるオブジェクト22が検出されたケース(以下、新規加入のケース)と、2)誤ってオブジェクト22ではないものがオブジェクト22として検出されたケース(以下、誤検知のケース)とがある。そこで更新部2080は、第2時点の動画フレーム14から検出されたオブジェクト22の中に、追跡対象オブジェクトと対応づけられないものがある場合には、新規加入のケースと誤検知のケースのいずれであるのかを判定する。新規加入のケースである場合、更新部2080は、上述した、追跡対象オブジェクトと対応づけられていないオブジェクト22を、新たな追跡対象オブジェクトとして、第2時点の追跡情報に加える。一方、誤検知のケースである場合、更新部2080は、上述した、追跡対象オブジェクトと対応づけられていないオブジェクト22を、第2時点の追跡情報に加えない。
新規加入のケースと誤検知のケースとを判別する方法は様々である。例えば更新部2080は、追跡対象オブジェクトに対応づけられていないオブジェクト22を表す第2時点の動画フレーム14の画像領域が、既存の追跡対象オブジェクトの画像領域と大きく重なっている場合には、誤検知のケースであると判定する。その他にも例えば、更新部2080は、オブジェクト列20の構造上、前後のオブジェクト22が過不足なく追跡対象オブジェクトと対応づけられているにも関わらず、その間にいずれの追跡対象オブジェクトとも対応づけられないオブジェクト22が存在する場合には、そのオブジェクト22の画像領域が既存の追跡対象オブジェクトの画像領域と重なるか否かにかかわらず、誤検知のケースと判断してもよい。なお、更新部2080は、誤検知のケースと判定されなかった場合には、新規加入のケースであると判定する。
なお、更新部2080は、動画フレーム14に対して行ったオブジェクト検出の結果から、追跡対象オブジェクトに対応づけられていないオブジェクト22について、オブジェクト列を構成するオブジェクトであるか否かを判定してもよい。この場合、更新部2080は、新規加入のケースであると判定され、なおかつオブジェクト22がオブジェクト列を構成するオブジェクトであると判定された場合に、そのオブジェクト22を新たな追跡対象オブジェクトとして、追跡情報に追加する。一方で、新規加入のケースであると判定されたものの、オブジェクト22がオブジェクト列を構成するオブジェクトではないと判定された場合、更新部2080は、そのオブジェクト22を追跡情報に追加しない。なお、動画フレームから検出される各オブジェクトがオブジェクト列を構成するものであるか否かを判定する技術には、既存の技術を用いることができる。
追跡対象オブジェクトの中には、オブジェクト列20から離脱するオブジェクトも存在しうる。そこで例えば、更新部2080は、オブジェクト列20から離脱した追跡対象オブジェクトを、追跡情報から削除する(第2時点の追跡情報には、離脱した追跡対象オブジェクトを含めないようにする)。追跡対象オブジェクトがオブジェクト列20から離脱したかどうかの判定には、既存の方式を用いることができる。例えば、オブジェクト列20が、先頭からオブジェクトが順次離脱していく列であるとする。この場合、オブジェクト列20の先頭として扱う動画フレーム14の画像領域を予め定めておく。そして、更新部2080は、第1時点においてオブジェクト列20の先頭に位置する追跡対象オブジェクトについて、その追跡対象オブジェクトと対応づけられたオブジェクト22の動画フレーム14における位置が、上述した先頭として扱う画像領域の外である場合、その追跡対象オブジェクトがオブジェクト列20から離脱したと判定する。よって、更新部2080は、この追跡対象オブジェクトを、追跡情報から削除する。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。
2. 前記更新手段は、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、1.に記載の情報処理装置。
3. 前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、1.又は2.に記載の情報処理装置。
4. 前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、3.に記載の情報処理装置。
5. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、4.に記載の情報処理装置。
6. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、5.に記載の情報処理装置。
7. 前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、4.乃至6.いずれか一つに記載の情報処理装置。
8. 前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、1.乃至7.いずれか一つに記載の情報処理装置。
1. 動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。
2. 前記更新手段は、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、1.に記載の情報処理装置。
3. 前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、1.又は2.に記載の情報処理装置。
4. 前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、3.に記載の情報処理装置。
5. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、4.に記載の情報処理装置。
6. 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、5.に記載の情報処理装置。
7. 前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、4.乃至6.いずれか一つに記載の情報処理装置。
8. 前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、1.乃至7.いずれか一つに記載の情報処理装置。
9. コンピュータによって実行される制御方法であって、
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。
10. 前記更新ステップにおいて、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、9.に記載の制御方法。
11. 前記列振る舞い推定ステップにおいて、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、9.又は10.に記載の制御方法。
12. 前記列振る舞い推定ステップにおいて、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、11.に記載の制御方法。
13. 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、12.に記載の制御方法。
14. 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、13.に記載の制御方法。
15. 前記推定位置算出ステップにおいて、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、12.乃至14.いずれか一つに記載の制御方法。
16. 前記更新ステップにおいて、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、9.乃至15.いずれか一つに記載の制御方法。
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。
10. 前記更新ステップにおいて、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、9.に記載の制御方法。
11. 前記列振る舞い推定ステップにおいて、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、9.又は10.に記載の制御方法。
12. 前記列振る舞い推定ステップにおいて、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、11.に記載の制御方法。
13. 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、12.に記載の制御方法。
14. 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、13.に記載の制御方法。
15. 前記推定位置算出ステップにおいて、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、12.乃至14.いずれか一つに記載の制御方法。
16. 前記更新ステップにおいて、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、9.乃至15.いずれか一つに記載の制御方法。
17. 9.乃至16.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
この出願は、2017年6月30日に出願された日本出願特願2017-129221号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (17)
- 動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。 - 前記更新手段は、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、請求項1に記載の情報処理装置。
- 前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、請求項1又は2に記載の情報処理装置。
- 前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、請求項3に記載の情報処理装置。
- 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、請求項4に記載の情報処理装置。
- 前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、請求項5に記載の情報処理装置。
- 前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、請求項4乃至6いずれか一項に記載の情報処理装置。
- 前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、請求項1乃至7いずれか一項に記載の情報処理装置。
- コンピュータによって実行される制御方法であって、
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第1時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第1時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第1時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第1時点よりも後の第2時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第2時点の動画フレームから1つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第2時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。 - 前記更新ステップにおいて、前記第2時点における位置が推定された前記追跡対象オブジェクトと、前記第2時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、請求項9に記載の制御方法。
- 前記列振る舞い推定ステップにおいて、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の1つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、請求項9又は10に記載の制御方法。
- 前記列振る舞い推定ステップにおいて、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、請求項11に記載の制御方法。
- 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、請求項12に記載の制御方法。
- 前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、請求項13に記載の制御方法。
- 前記推定位置算出ステップにおいて、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、請求項12乃至14いずれか一項に記載の制御方法。
- 前記更新ステップにおいて、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、請求項9乃至15いずれか一項に記載の制御方法。
- 請求項9乃至16いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019526680A JP6852791B2 (ja) | 2017-06-30 | 2018-05-18 | 情報処理装置、制御方法、及びプログラム |
US16/626,756 US11301692B2 (en) | 2017-06-30 | 2018-05-18 | Information processing apparatus, control method, and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-129221 | 2017-06-30 | ||
JP2017129221 | 2017-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019003709A1 true WO2019003709A1 (ja) | 2019-01-03 |
Family
ID=64742904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/019304 WO2019003709A1 (ja) | 2017-06-30 | 2018-05-18 | 情報処理装置、制御方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11301692B2 (ja) |
JP (2) | JP6852791B2 (ja) |
WO (1) | WO2019003709A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115298569A (zh) * | 2020-03-31 | 2022-11-04 | 新唐科技日本株式会社 | 信息处理方法、程序和信息处理系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11704782B2 (en) * | 2018-10-03 | 2023-07-18 | The Toronto-Dominion Bank | Computerized image analysis for automatically determining wait times for a queue area |
WO2021186598A1 (ja) * | 2020-03-18 | 2021-09-23 | 日本電気株式会社 | 待ち時間推定装置、待ち時間報知システム、待ち時間推定方法およびプログラム記憶媒体 |
US12112540B2 (en) * | 2020-10-09 | 2024-10-08 | Sensormatic Electronics, LLC | Queue monitoring in occlusion conditions through computer vision |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272733A (ja) * | 2006-03-31 | 2007-10-18 | Sony Corp | 画像処理装置および方法、並びにプログラム |
JP2008519567A (ja) * | 2004-11-02 | 2008-06-05 | センサーマティック・エレクトロニクス・コーポレーション | 行列監視のためのシステム及び方法 |
WO2017047060A1 (ja) * | 2015-09-14 | 2017-03-23 | 日本電気株式会社 | 行列検出システム、方法及び記録媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5063567B2 (ja) | 2008-11-28 | 2012-10-31 | セコム株式会社 | 移動物体追跡装置 |
GB201306313D0 (en) * | 2013-04-08 | 2013-05-22 | Vision Semantics Ltd | Queue analysis |
US10740738B2 (en) * | 2013-07-29 | 2020-08-11 | Infrared Integrated Systems Ltd. | System and method for counting objects in a queue |
JP5683663B1 (ja) * | 2013-09-27 | 2015-03-11 | パナソニックIpマネジメント株式会社 | 滞留時間測定装置、滞留時間測定システムおよび滞留時間測定方法 |
US10339544B2 (en) * | 2014-07-02 | 2019-07-02 | WaitTime, LLC | Techniques for automatic real-time calculation of user wait times |
JP6597611B2 (ja) * | 2014-07-25 | 2019-10-30 | 日本電気株式会社 | 画像処理装置、監視システム、画像処理方法、及びプログラム |
-
2018
- 2018-05-18 JP JP2019526680A patent/JP6852791B2/ja not_active Expired - Fee Related
- 2018-05-18 WO PCT/JP2018/019304 patent/WO2019003709A1/ja active Application Filing
- 2018-05-18 US US16/626,756 patent/US11301692B2/en active Active
-
2021
- 2021-03-10 JP JP2021038064A patent/JP7115579B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008519567A (ja) * | 2004-11-02 | 2008-06-05 | センサーマティック・エレクトロニクス・コーポレーション | 行列監視のためのシステム及び方法 |
JP2007272733A (ja) * | 2006-03-31 | 2007-10-18 | Sony Corp | 画像処理装置および方法、並びにプログラム |
WO2017047060A1 (ja) * | 2015-09-14 | 2017-03-23 | 日本電気株式会社 | 行列検出システム、方法及び記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115298569A (zh) * | 2020-03-31 | 2022-11-04 | 新唐科技日本株式会社 | 信息处理方法、程序和信息处理系统 |
Also Published As
Publication number | Publication date |
---|---|
US11301692B2 (en) | 2022-04-12 |
JP7115579B2 (ja) | 2022-08-09 |
US20200134323A1 (en) | 2020-04-30 |
JP2021089778A (ja) | 2021-06-10 |
JPWO2019003709A1 (ja) | 2020-08-06 |
JP6852791B2 (ja) | 2021-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7567979B2 (ja) | 物体追跡方法および物体追跡装置 | |
JP7115579B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2016034008A1 (zh) | 一种目标跟踪方法及装置 | |
CN110991261A (zh) | 交互行为识别方法、装置、计算机设备和存储介质 | |
JP2011134114A (ja) | パターン認識方法およびパターン認識装置 | |
JP5756709B2 (ja) | 身長推定装置、身長推定方法、及び身長推定プログラム | |
US20150104067A1 (en) | Method and apparatus for tracking object, and method for selecting tracking feature | |
US11544926B2 (en) | Image processing apparatus, method of processing image, and storage medium | |
WO2020217368A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
KR101681104B1 (ko) | 부분적 가림을 갖는 영상 객체 내의 주요 특징점 기반 다중 객체 추적 방법 | |
CN117765430A (zh) | 鸡群活动水平检测方法及装置 | |
JP2020109644A (ja) | 転倒検出方法、転倒検出装置及び電子機器 | |
JP2021144741A (ja) | 情報処理システム、制御方法、及びプログラム | |
JP7215569B2 (ja) | オブジェクト特徴量抽出装置、オブジェクト特徴量抽出方法及びプログラム | |
TW202504327A (zh) | 偵測場景之一或多個遮蔽區域之方法及非暫態電腦可讀儲存媒體 | |
US11790659B2 (en) | Information processing apparatus, control method, and program | |
JPWO2018179119A1 (ja) | 映像解析装置、映像解析方法およびプログラム | |
CN114333068B (zh) | 训练方法及训练装置 | |
WO2018128138A1 (ja) | 画像処理装置、映像監視システム、画像処理方法およびプログラムを格納した記録媒体 | |
CN116453017A (zh) | 目标跟踪方法、装置、电子设备及存储介质 | |
US12299994B2 (en) | Information processing apparatus, control method, and program | |
US12299995B2 (en) | Information processing apparatus, control method, and program | |
US12299996B2 (en) | Information processing apparatus, control method, and program | |
JP7494130B2 (ja) | 情報処理システム、情報処理方法およびプログラム | |
JP7519933B2 (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: 18823106 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019526680 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: 18823106 Country of ref document: EP Kind code of ref document: A1 |