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

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

Info

Publication number
WO2019053789A1
WO2019053789A1 PCT/JP2017/032921 JP2017032921W WO2019053789A1 WO 2019053789 A1 WO2019053789 A1 WO 2019053789A1 JP 2017032921 W JP2017032921 W JP 2017032921W WO 2019053789 A1 WO2019053789 A1 WO 2019053789A1
Authority
WO
WIPO (PCT)
Prior art keywords
behavior
global
information processing
processing apparatus
target object
Prior art date
Application number
PCT/JP2017/032921
Other languages
English (en)
French (fr)
Inventor
佐々木 和幸
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2019541524A priority Critical patent/JP6908119B2/ja
Priority to PCT/JP2017/032921 priority patent/WO2019053789A1/ja
Priority to US16/646,215 priority patent/US11314968B2/en
Publication of WO2019053789A1 publication Critical patent/WO2019053789A1/ja
Priority to JP2021095775A priority patent/JP2021144741A/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • G06V40/25Recognition of walking or running movements, e.g. gait recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • the present invention relates to image processing.
  • the procession may be formed by an immigration gate at an airport, a bank ATM, a cashier at a store, or a platform for public transport.
  • Patent Document 1 discloses a matrix management system capable of tracking an object which has left the matrix and an object which is interrupted in the matrix by using a camera installed so as to be able to shoot the monitoring area from directly above.
  • the system uses matrix behavior pattern parameters that represent the motion of the object, such as the distance between the matrix and the object, to determine for each object whether it is in or out of the matrix.
  • Object departures and interrupts are also determined using matrix behavior pattern parameters.
  • Patent Document 1 considers only the case where the object is detached in the direction orthogonal to the direction in which the matrix is formed.
  • the direction in which the object leaves is not necessarily orthogonal to the direction in which the matrix is formed.
  • a queue formed in a narrow passage such as a queue formed by cash register of a convenience store
  • an object separates in a direction parallel to the direction in which the matrix is formed.
  • departure in such a case is not considered.
  • Patent Document 1 when the object is at a certain distance from the matrix, it is determined that the object is an interrupt. In actual use scenes, there are objects that only pass near the matrix and objects that stay near the matrix. In Patent Document 1, it is assumed that these objects are treated as "may be arranged in a matrix", and there is no further description.
  • 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 detecting with high accuracy the departure or interruption of an object from an object string.
  • An information processing apparatus detects 1) a second object and a first object included in an object sequence using a captured image including 1) an object sequence, and an overall position of the first object based on a relationship with the second object. And 2) determining means for determining whether or not the first object has left the object string based on the estimated global behavior of the first object.
  • the control method of the present invention is executed by a computer.
  • the control method 1) detects the first object and the second object included in the object sequence using the captured image including the object sequence, and the global behavior of the first object based on the relationship with the second object And 2) a determination step of determining whether or not the first object has left the object sequence based on the estimated global behavior of the first object.
  • the program of the present invention causes a computer to execute each step of the control method of the present invention.
  • FIG. 6 is a diagram for describing an operation of the information processing apparatus of the first embodiment. It is a figure which illustrates local behavior and global behavior of a judgment object object.
  • 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. It is a figure which illustrates tracking information in a table form. It is a flowchart which shows the outline of the flow of the process performed by an information processing apparatus. It is a figure which illustrates an object row whose shape is not a straight line. It is a flowchart which illustrates the flow of the processing which updates tracking information. It is a 1st figure which illustrates the table which shows global behavior of tracking object.
  • FIG. 8 is a block diagram illustrating a functional configuration of the information processing apparatus of the second embodiment. It is a schematic diagram when an object row is seen from right above.
  • FIG. 18 is a flowchart illustrating an example flow of processing in which the information processing apparatus 2000 of the second embodiment updates tracking information. It is a figure which illustrates the table
  • 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 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 that the object 22 leaves the object string 20 (the object string 20 captured by the camera 10) included in 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 formed by an immigration gate at an airport, a bank ATM, a cashier at a store, or a platform for public transportation.
  • 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 object 22 included in the object column 20 may not be included in the object column 20 thereafter.
  • This change is roughly divided into (1) a change in which the objects 22 are arranged in the object row 20 and then goes out from the top, and (2) in the middle of the object row 20 in which the objects 22 are arranged. It is divided into changes going out.
  • (1) and (2) will be described by taking, as an example, a row of people formed in front of the register counter of the store.
  • the register counter becomes empty, so it goes out of the row from the beginning of the row and the goods at the register counter Purchase case.
  • case (2) is a case where “people in a row go out of the row from the middle of the row and do not purchase a product”.
  • the information processing apparatus 2000 determines whether or not the object 22 included in the object string 20 has left the object string 20 (hereinafter, also referred to as “to perform withdrawal determination”).
  • the object 22 to be determined by the information processing apparatus 2000 is referred to as a determination target object.
  • the information processing apparatus 2000 detects that one or more objects 22 have left the object sequence 20 by performing withdrawal determination using the objects 22 included in the object sequence 20 as the determination target objects in order.
  • the information processing apparatus 2000 estimates the behavior of the determination target object based on the relationship with the other objects 22 included in the object column 20. Then, the information processing apparatus 2000 determines whether the determination target object has left the object string 20 based on the estimated behavior.
  • the behavior of the determination target object based on the relationship with the other objects 22 included in the object string 20 represents the global behavior (movement or state) of the determination target object with respect to the object string 20.
  • the behavior of the determination target object based on the relationship with the other objects 22 included in the object column 20 is also referred to as “global determination target behavior”.
  • FIG. 2 is a diagram illustrating local behavior and global behavior of the determination target object.
  • the object to be determined is advanced. Therefore, the local behavior of the determination target object is common in that it is "advance".
  • the global behavior of the determination target object is different.
  • the determination target object not only the determination target object but also the object in front of the determination target object is advanced. Therefore, when the behavior of the determination target object is viewed generally, it can be said that the determination target object has a high probability of advancing according to the movement of the entire object row 20. Therefore, the global behavior of the determination target object can be expressed as "an operation to move forward in the object 20".
  • the previous object of the determination target object is stationary.
  • the behavior of the object to be determined does not advance in accordance with the movement of the entire object string 20, but advances so as to leave the object string 20. It can be said that there is a high probability (that is, they are disconnected). Therefore, the global behavior of the determination target object can be expressed as “operation of leaving the object string 20”.
  • the information processing apparatus 2000 performs the separation determination of the determination target object in consideration of such behavior of the global determination target object. As a result, it is possible to detect departure of the determination target object with high accuracy and earlier as compared to the case where the global behavior of the determination target object is not considered.
  • 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 behavior estimation unit 2020 and a determination unit 2040.
  • the behavior estimation unit 2020 uses the moving image frame 14 (captured image) including the object row 20 and based on the relationship between the determination target object included in the moving image frame 14 and another object 22 in the object row 20, Estimate the global behavior of the object to be determined.
  • the determination unit 2040 performs the separation determination on the determination target object based on the estimated global behavior of the determination target object.
  • 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).
  • 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 (the behavior estimation unit 2020 and the determination unit 2040) 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 behavior estimation unit 2020 and the determination unit 2040 can be realized by different computers.
  • the program modules stored in the storage device of each computer may be only the program modules corresponding to the functional components realized by the computer.
  • the camera 10 is an arbitrary camera that generates moving image data 12 by repeatedly capturing images and generating a time-series moving image frame 14.
  • the camera 10 is a surveillance camera provided to monitor a specific facility or a road.
  • the computer 1000 that implements the information processing apparatus 2000 may be the camera 10.
  • the camera 10 analyzes the moving image frame 14 generated by itself to perform the separation determination of the determination target object.
  • a camera called an intelligent camera, a network camera, or an IP (Internet Protocol) camera can be used.
  • the camera 10 realizes the function of detecting the object 22 from the moving image frame 14, and the server apparatus realizes the function of analyzing the movement of each detected object 22 and the like and performing the separation determination of the determination target object.
  • the server device acquires various information (detection information to be described later) such as the position of the detected object 22 and image features from the camera 10. In this case, the server device may not acquire the moving image frame 14.
  • 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 information processing apparatus 2000 performs detection and management of the object string 20 on the premise that the detachment determination of the determination target object is performed. Management of the object column 20 is realized, for example, by generating and updating tracking information for the objects 22 included in the object column 20.
  • the object 22 included in the object column 20 is referred to as a tracking target object.
  • the tracking information indicates various information on the tracking target object.
  • the tracking information indicates, for each tracking target object, the position, the size, the distance to the object column 20, identification information, and the like.
  • the identification information is, for example, an identifier assigned to each tracking target object to identify the tracking target objects from each other.
  • the tracking information indicates local information representing the local behavior of the tracking target object and global information representing the global behavior of the tracking target object.
  • the position of the tracking target object may be represented by a position on the moving image frame 14 (for example, coordinates with the upper left end of the moving image frame 14 as an origin) or may be represented by real world coordinates.
  • existing techniques can be used as a technique for calculating real world coordinates of an object included in an image generated by a camera.
  • the real world coordinates of the tracking target object 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 distance between the tracking target object and the object sequence 20 may be a distance on the moving image frame 14 or a distance in real space. A specific method of determining the distance between the tracking target object and the object string 20 will be described later.
  • the information shown in the tracking information is not limited to the one described above.
  • the tracking information may further indicate, for each object 22, the order from the top of the object column 20, the elapsed time since registration in the tracking information, the estimated waiting time, the image feature, the image area, and the like.
  • the estimated waiting time of the object 22 means the time which is estimated to be required for the object 22 to start from the current time.
  • a feature amount describing the size and shape of the tracking target object, or the color and pattern of the surface (in the case of a person, the color and pattern of clothes) can be used. More specifically, feature quantities such as color histograms, color layouts, edge histograms, and Gabor features can be used. Further, as a feature quantity representing the shape of the tracking target object, for example, a shape descriptor standardized by MPEG-7 can be used.
  • the image area of the tracking target object is information defining an image area representing the tracking target object.
  • the information is information defining the rectangle (for example, the coordinates of the upper left end and the lower right end).
  • FIG. 5 is a diagram illustrating tracking information in the form of a table.
  • the table of FIG. 5 is referred to as a table 200.
  • the table 200 shows a tracking ID 202, a position 204, a distance 206, local information 208, global information 210, and an image feature 212.
  • the tracking ID 202 indicates an identifier assigned to the tracking target object.
  • the distance 206 indicates the distance between the tracking target object and the object row 20.
  • the tracking information 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 information processing device 2000 transmits the generated tracking information to the server device or the like.
  • the generation and update of tracking information will be described below.
  • the generation of tracking information means that tracking information is newly generated for the object string 20 when the object string 20 is detected from the moving image frame 14.
  • the information processing apparatus 2000 generates tracking information using the moving image frame 14 in which the object string 20 is detected, with each object 22 included in the object string 20 in the moving image frame 14 as a tracking target object.
  • the update of the tracking information means that the object 22 is detected from the moving image frame 14 generated after the object string 20 is detected, and the content of the tracking information is changed based on the information on the detected object 22. . For example, changes such as the position of the tracking target object are reflected in the tracking information. Also, information on the object 22 newly added to the object column 20 is added to the tracking information. Furthermore, information on the object 22 that has left the object column 20 is deleted from the tracking information. However, information on the detached object 22 may be left as tracking information. In this case, tracking information is configured (for example, a flag is provided) so that the object 22 belonging to the object column 20 and the object 22 separated from the object column 20 can be distinguished.
  • FIG. 6 is a flowchart showing an outline of a flow of processing executed by the information processing apparatus 2000.
  • the information processing apparatus 2000 detects the object string 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.
  • the information processing device 2000 ends the process of FIG.
  • the predetermined end condition is not satisfied, the process of FIG. 6 proceeds to S108.
  • the information processing device 2000 updates tracking information. Since S110 is the end of the loop process, the process of FIG. 6 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. Also, each time tracking information is updated, departure determination is performed for each tracking target object.
  • 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. 6 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.
  • the information processing apparatus 2000 detects an object sequence 20 from the moving image data 12 by sequentially analyzing the plurality of moving image frames 14 in time series that form the moving image data 12.
  • the moving image frame 14 used for detection of the object row 20 may be part of the moving image frame 14 constituting the moving image data 12.
  • the information processing apparatus 2000 analyzes an image of the time-series moving image frame 14 constituting the moving image data 12 at a ratio of one per predetermined number.
  • the information processing apparatus 2000 detects the object 22 from the moving image frame 14.
  • the information processing apparatus 2000 includes a detector that has learned image features of an object to be detected from the moving image frame 14. For example, in the case of treating a person as the object 22, the detector is made to learn an image feature representing the person likeness. Further, when the vehicle is treated as the object 22, the detector is made to learn an image feature representing the vehicle likeness.
  • 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). Detecting an object area means that an object represented by the object area has been detected.
  • a detector representing the object 22 for example, one that performs detection based on a feature of HOG (Histograms of Oriented Gradients) or one using 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, a position, a size, identification information, an image feature, and an image area of the detected object 22.
  • the identification information is an identifier or the like for mutually identifying the objects 22 detected from the moving image frame 14.
  • the detector may calculate the distance between the object 22 and the object row 20 and include it in the detection information.
  • Various existing technologies can be used as a technology for detecting that the object row 20 is formed by the objects 22 included in the moving image frame 14.
  • an area hereinafter, a line area
  • the information processing apparatus 2000 determines that the object row 20 is formed by the one or more objects 22 in response to the detection of one or more objects 22 in the row area.
  • the method of defining a row area can be implemented using various known techniques for specifying an area in a captured image generated by a camera.
  • the information processing apparatus 2000 receives from the user an input operation for specifying a row area.
  • This input operation is, for example, an operation of drawing an area in which the object row 20 is formed on the moving image frame 14 using an arbitrary figure such as a line, a polygon or a circle.
  • designation of the row area is realized by designating coordinates for specifying the row area (for example, if the row area is rectangular, the coordinates of the upper left end and the coordinates of the lower right end) by keyboard input or the like. May be
  • the information processing apparatus 2000 may detect the object 22 for the entire image area of the moving image frame 14 or may detect the object 22 for only a part of the image area. For example, when the row area described above is defined, the information processing apparatus 2000 detects the object 22 only in the row area, or the row area and its periphery (for example, an area obtained by enlarging the row area by a predetermined factor) Object 22 may be detected only for
  • 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 and movement direction of the object column 20 are defined along the matrix line 30 Ru.
  • the matrix line is a line representing the shape of the object column 20 (approximated).
  • the distance between the object 22 and the object column 20 is defined, for example, using this matrix line. Specifically, the length of the perpendicular drawn from the object 22 to the matrix line of the object column 20 is treated as the distance between the object 22 and the object column 20.
  • FIG. 8 is a flowchart illustrating the flow of processing for updating tracking information.
  • FIG. 8 is a detailed view of the process executed in S108 of FIG.
  • the information processing apparatus 2000 performs the process shown in FIG. 8 on each moving image frame 14 after the moving image frame 14 in which the object row 20 is detected.
  • the information processing apparatus 2000 detects the object 22 from the moving image frame 14 (S202).
  • the information processing apparatus 2000 associates the object 22 detected from the moving image frame 14 with the tracking target object (S204).
  • a technology for correlating an object detected from the moving image frame 14 with a tracking target object an object detected from the previous moving image frame 14 indicated in the tracking information
  • an existing technology may be used. it can.
  • the information processing apparatus 2000 estimates the local behavior of each tracking target object (S206).
  • the information processing apparatus 2000 estimates the global behavior of each tracking target (S208).
  • the information processing apparatus 2000 performs withdrawal determination on each tracking target object (S210).
  • the information processing apparatus 2000 updates the content of the tracking information (S212).
  • the existing technology can be used for the technology of updating the content of the tracking information.
  • the information processing apparatus 2000 deletes, from the tracking information, the tracking target object (the tracking target object which is not included in the object column 20). However, as described above, information on the tracking target object which is not included in the object column 20 may be left in the tracking information.
  • the information processing apparatus 2000 further includes an object 22 newly included in the object column 20 (an object 22 newly added to the object column 20 from the end of the object column 20 or an object 22 interrupted in the object column 20). Is added to the tracking information as a new tracking target object.
  • the information processing apparatus 2000 further indicates information (such as a position) related to the tracking target object that is indicated in the tracking information and is continuously included in the object column 20 with the object 22 associated with the tracking target object. Change using detection information of.
  • the information processing apparatus 2000 estimates the local behavior of each tracking target object.
  • the local behavior of the tracking target object is defined by, for example, a state related to the movement of the tracking target object (hereinafter referred to as a movement state).
  • the movement state of the tracking target object is, for example, any one of an advancing state, a receding state, and a stationary state.
  • the local behavior of the tracking target object detected from a certain moving image frame 14 can be estimated, for example, from a change in the position of the tracking target object in a predetermined predetermined period including the generation time of the moving image frame 14.
  • the information processing apparatus 2000 is a vector connecting the position of the tracking target object detected from the moving image frame 14-1 and the position of the tracking target object detected from the moving image frame 14-2 generated immediately before that. Is calculated as a movement vector of the tracking target object in the moving image frame 14-1. Then, based on the direction of the movement vector and the magnitude (movement amount) of the movement vector, the local behavior of the tracking target object in the moving image frame 14-1 is estimated.
  • the information processing apparatus 2000 determines whether the tracking target object is stationary based on the magnitude of the movement vector of the tracking target object. Specifically, when the magnitude of the movement vector is equal to or less than the reference value, the information processing apparatus 2000 determines that the tracking target object is stationary.
  • This reference value may be zero or a value greater than zero. In the former case, the local behavior of the tracked object is treated as static only if the tracked object is not moving. On the other hand, in the latter case, even if the tracking target object is moving, the local behavior of the tracking target object is treated as a stationary state if the amount of movement is equal to or less than the reference value.
  • the reference value may be fixed in advance in the information processing apparatus 2000, or may be designated by the user of the information processing apparatus 2000.
  • the reference value may be a statically determined value or a dynamically determined value.
  • the reference value is stored in advance in a storage device accessible from the information processing apparatus 2000.
  • the information processing apparatus 2000 dynamically calculates the reference value. For example, the information processing apparatus 2000 calculates a moving average in the time direction of past motion amounts, and uses the calculated value as a reference value.
  • the information processing apparatus 2000 calculates, for the movement vector of the tracking target object, a component parallel to the traveling direction of the object sequence 20. If the component is the same as the advancing direction of the object sequence 20, the information processing device 2000 sets the local behavior of the tracking target object to the “advanced state”. On the other hand, when the component is in the opposite direction to the traveling direction of the object sequence 20, the information processing device 2000 sets the local behavior of the tracking target object to the “backward state”.
  • the behavior estimation unit 2020 estimates the global behavior of each tracking target object.
  • the behavior estimation unit 2020 estimates the global behavior of the tracking target object based on the local behavior of the tracking target object and the local behavior of the other tracking target objects.
  • the global behavior of the tracked object indicates what meaning the local behavior of the tracked object is based on the relationship with other tracked objects.
  • the information processing apparatus 2000 locates the global behavior of the tracking target object, the local behavior of the tracking target object, and another tracking target object adjacent to the tracking target object (e.g. Estimation based on the combination with the local behavior of the object to be tracked).
  • FIG. 9 is a first diagram illustrating a table showing the global behavior of the tracking target object.
  • FIG. 9 shows the global behavior of the tracking target object A in association with the combination of the local behavior of the tracking target object A and the local behavior of the tracking target object B.
  • the tracking target object B is a tracking target object located immediately before the tracking target object A.
  • the local behavior of the tracking target object A focuses on a line indicating “advanced state”.
  • the global behavior of the tracking target object A is “forward in row”. This is because it is possible to estimate that the tracking target object A is moving forward with the entire object row 20 because both the tracking target object A and the immediately preceding tracking target object B are moving forward.
  • the global behavior of the tracking target object A is "leaving operation". This is because the tracking target object A is advanced to move away from the object row 20 because the tracking target object A is advanced although the previous tracking target object B is stationary. It is because it can estimate.
  • a predetermined number (two or more) of tracking target objects arranged in front of the determination target object are used instead of one tracking target object arranged immediately before that.
  • the behavior estimation unit 2020 treats the predetermined number of tracking target objects as one group, and estimates the local behavior of this group.
  • the group referred to here simply means a group of a plurality of tracking target objects, and it is not necessary that these tracking target objects have common attributes and the like.
  • the global behavior of the determination target object which is determined by the local behavior of the determination target object and the local behavior of the group of tracking target objects arranged in front of it, is It can be represented by replacing “B” with “group of tracking target objects arranged in front of tracking target object A”.
  • the local behavior of the group is determined, for example, based on the local behavior of each tracking target object included in the group. For example, the behavior estimation unit 2020 sets the local behavior of the group as “rest” when the tracking target object of a predetermined ratio or more is stationary among the tracking objects included in the group. Similarly, the behavior estimation unit 2020 sets the local behavior of the group as "forward" if the tracked object at a predetermined rate or more is advanced, and if the tracked object at a predetermined rate or more is retracted, the behavior estimation unit 2020 locally The behavior is "backward".
  • FIG. 10 is a second diagram illustrating a table showing the global behavior of the tracking target object.
  • the tracking target object B is located in front of the tracking target object A, and the tracking target object C is located behind one of the tracking target object A.
  • FIG. 10 shows the global behavior of the tracked object A in association with the combination of the local behaviors of the tracked objects A, B, and C.
  • the tracking target object B focuses on the “advanced state” row and the tracking target object C on the “advanced state” row.
  • the global behavior of the tracking target object A is “forward in row”. This is the same as in the case where the tracking target object A is in the “forward state” and the tracking target object B is in the “forward state” in FIG.
  • the determination unit 2040 performs separation determination on each tracking target object. As described above, the object that is the determination target of departure determination is called the determination target object.
  • the determination unit 2040 calculates the likelihood that the determination target object has left the object string 20 based on the global behavior of the determination target object.
  • the likelihood calculated here is called departure likelihood.
  • the determination unit 2040 determines whether or not the determination target object has left the object sequence 20 based on the withdrawal likelihood. For example, the determination unit 2040 determines that the determination target object has left the object string 20 when the withdrawal likelihood calculated for a certain determination target object is equal to or greater than a predetermined value. On the other hand, when the withdrawal likelihood calculated for a certain determination target object is less than a predetermined value, the determination unit 2040 determines that the determination target object has not left the object row 20.
  • the determination unit 2040 may determine that the determination target object has left the object column 20 only when the situation in which the determination target object's withdrawal likelihood is equal to or more than the predetermined value continues for a predetermined period. In addition, for example, when the determination unit 2040 calculates the statistical value of the withdrawal likelihood of the determination target object in a predetermined period, and the determination target object has left the object column 20 only when the statistical value is equal to or more than the predetermined value. You may judge.
  • the statistical value is, for example, an average value, an integrated value, a maximum value, or a minimum value.
  • the determination unit 2040 calculates the likelihood of departure using various parameters related to the determination target object.
  • a function that outputs a withdrawal likelihood based on the input parameter is called a withdrawal likelihood function.
  • the types of parameters used by the leaving likelihood function will be described later.
  • the global behavior of the object to be determined is made to reflect in the withdrawal likelihood obtained using the withdrawal likelihood function.
  • the withdrawal likelihood obtained using the withdrawal likelihood function is made to differ depending on the global behavior of the determination target object.
  • the withdrawal likelihood calculated when the global behavior of the object to be determined is “detachment operation” is the condition of the object to be determined under the same condition of the parameter value given to the withdrawal likelihood function.
  • the global behavior is made to be larger than the withdrawal likelihood calculated in the case other than the “detachment operation”. For example, prepare two departure likelihood functions f1 and f2. f1 and f2 are designed so that f1 outputs a larger value than f2 when parameters of the same value are input to these.
  • the determination unit 2040 uses the withdrawal likelihood function f1 when the global behavior of the determination target object is the “detachment operation”, and uses the withdrawal likelihood function f2 in other cases.
  • f1 can be a function of multiplying the output value of f2 by a predetermined value greater than one.
  • withdrawal likelihood function will be further described focusing on the parameters used in the withdrawal likelihood function.
  • the parameter used in the withdrawal likelihood function is, for example, the distance between the determination target object and the determination target object and the adjacent tracking target object in the advancing direction of the determination target object.
  • a tracking target object adjacent to the determination target object in the direction of movement of the determination target object means, for example, a tracking target object positioned one before the determination target object when the determination target object is moving forward, When the determination target object is moving backward, this means the tracking target object located one behind the determination target object.
  • the departure likelihood function that uses the distance between the determination target object and the adjacent tracking target object as a parameter for example, a function that is monotonically non-decreasing as the distance becomes smaller is used.
  • the parameter used in the withdrawal likelihood function is the distance between the object to be determined and the object string 20.
  • a leaving likelihood function that uses the distance between the determination target object and the object string 20 as a parameter for example, a function that monotonically non-decreases as the distance increases is used.
  • FIG. 11 is a schematic view when the object row 20 is viewed from directly above.
  • the object 22-2 is an object to be determined.
  • an object 22-2 advances. Therefore, the determination unit 2040 inputs d 1 which is the distance between the object 22-2 and the object 22-1 located immediately before the object 22-2 as the withdrawal likelihood function. Furthermore, the determination unit 2040 determines the length d2 of the perpendicular 32 drawn from the object 22-2 to the matrix line 30 of the object row 20 with respect to the withdrawal likelihood function (the distance between the object 22-2 and the object row 20 Also enter).
  • the distance between tracking target objects is defined as the difference in position in the matrix line direction.
  • the distance between the tracking target objects may be represented by the length of a straight line connecting the centers of these.
  • the parameters used in the withdrawal likelihood function include the order of the last one among the objects to be tracked which are advancing (value indicating the order of the objects from the top) and the order of the object to be determined And the difference may be further included.
  • the head advances from the state where the entire object row 20 is stationary, the second object moves forward, the third object moves forward, and so on. I will.
  • the movement of the fourth and following objects is an indication of the departure of those objects. there is a possibility.
  • the departure likelihood function is a function that monotonically decreases as the difference between the order of the last one among the tracking objects being advanced and the order of the determination object increases.
  • an angle formed by the movement direction of the determination target object and the movement direction of the tracking target object adjacent in the movement direction may be used as the parameter forming the withdrawal likelihood function.
  • objects arranged in the object row 20 are considered to move in substantially the same direction as the advancing direction of the object row 20.
  • the angle between the movement direction of the determination target object and the movement direction of the tracking target object located in the departure direction can be used as a parameter.
  • the above-mentioned angle is applied to any trigonometric function.
  • a difference between moving speeds of a determination target object and a tracking target object adjacent to the determination target object in the advancing direction of the determination target object may be used as the parameter used in the withdrawal likelihood function.
  • the object to be determined is moving forward.
  • the moving speed of the determination target object is faster than the movement speed of the objects immediately preceding it. Therefore, it is possible to use as a parameter the difference between the moving speed of the object to be determined and the moving speed of the tracking target object arranged immediately before it.
  • the leaving likelihood function is a function that monotonically decreases as the difference between the moving speeds increases.
  • the leaving likelihood may be calculated as follows. First, as described below, the predetermined area is determined based on the distance that the determination target object can approach to the tracking target object arranged immediately before it.
  • FIG. 12 is a diagram illustrating a predetermined area.
  • Reference numeral 24 denotes an object to be determined.
  • Reference numeral 50 denotes the predetermined area.
  • the determination unit 2040 determines the reference point 40 from the history of the position of the determination target object 24. For example, it is assumed that the determination target object 24 which moves as shown in FIG. In this case, first, as a candidate of the reference point 40, a point on a matrix line that is shortest with respect to the position of the determination target object 24 at each time of the past movement history of the determination target object 24 is determined. Then, among the above candidates, the latest one in time series is treated as a reference point 40. Further, the reference point 40 may be determined by using the local behavior of the determination target object 24 together. In that case, among the candidates of the reference point 40, the local behavior of the determination target object 24 at that time is the "rest state", and the latest one in time series is selected as the reference point 40. .
  • the region 50 is an ellipse defined by a first diameter of the length r1 (short diameter in FIG. 12) and a second diameter of the length r2 (long diameter in FIG. 12).
  • r1 is a distance at which the determination target object located at the reference point 40 can be approached to the object 22 aligned immediately before it. This distance is, for example, a distance between the reference point 40 and the object 22 minus a predetermined margin.
  • R2 is a predetermined distance determined in advance. r2 is a distance which is considered to be treated as if the tracking target object has exited from the object column 20 when the tracking target object moves in a direction perpendicular to the object column 20;
  • the determination unit 2040 calculates the distance d1 between the reference point 40 and the determination target object 24 at the current time point. Furthermore, the determination unit 2040 obtains the position where the straight line drawn from the reference point 40 to the determination target object 24 at the current time point intersects with the boundary of the area 50. Then, the determination unit 2040 obtains the distance d2 between the calculated position and the reference point 40.
  • the determination unit 2040 uses the ratio (d1 / d2) of d1 and d2 described above as a parameter to be input to the withdrawal likelihood function.
  • the leaving likelihood function for example, a function that decreases monotonically with decreasing d1 / d2 can be used.
  • the size of the region 50 based on the global behavior of the determination target object 24.
  • the smaller the size of the area 50 the easier it is to be determined that the determination target object 24 has left the object row 20. Therefore, for example, the size of the area 50 when the global behavior of the determination target object 24 is the "leaving operation" and the size of the area 50 when the global behavior of the determination target object 24 is other than the "leaving operation". Make it smaller than the size.
  • the size of the area 50 can be changed by changing one or both of r1 and r2.
  • the reference point 40 is set based on the determination target object 24.
  • the reference point 40 may be the position of the object 22 positioned in the direction in which the determination target object 24 moves. For example, when the determination target object 24 is moving forward, the position of the object 22 aligned in front of the determination target object 24 is set as the reference point.
  • the area defined in this case can be interpreted as an area that should not approach the object 22 in the movement direction of the determination target object 24 any more.
  • FIG. 13 is a block diagram illustrating the functional configuration of the information processing apparatus 2000 of the second embodiment.
  • the information processing apparatus 2000 of the second embodiment has the same function as the information processing apparatus 2000 of the first embodiment except for the points described below.
  • the information processing apparatus 2000 according to the second embodiment may use the existing technology to determine the departure of the tracking target object.
  • the information processing apparatus 2000 of the second embodiment detects the object 22 from the moving image data 12 and detects the object string 20 formed of the objects 22. Then, in order to manage the objects 22 (tracking target objects) included in the object column 20, tracking information is generated / updated.
  • the information processing apparatus 2000 detects an object 22 which has been inserted into the object string 20.
  • the term "interrupt” will be described.
  • the change in which the new object 22 is added to the object row 20 can be roughly classified into (1) change in which the new object 22 is added to the object row 20 from the end of the object row 20; and (2) other than the end of the object row 20
  • the case (2) is referred to as "interrupt”.
  • the case of (1) is described as "regular subscription".
  • the information processing apparatus 2000 first determines whether or not the object 22 detected from the moving image frame 14 exists near the object column 20. The information processing apparatus 2000 further associates each object 22 determined to be present near the object column 20 with the tracking target object included in the tracking information.
  • Such objects 22 include, for example, (1) an object 22 which is about to join the object column 20 normally, (2) an object which is about to interrupt the object column 20, and (3) the vicinity of the object column 20 Objects, or (4) objects stagnating in the vicinity of the object row 20 can be considered.
  • the object 22 is an object that joins the object column 20
  • the object 22 is positioned behind the tracking target object located at the end of the object column 20
  • the object 22 is an object that is a regular join.
  • the object 22 is located before the tracking target object located at the end of the object sequence 20, the object 22 is an interrupting object.
  • the information processing apparatus 2000 treats the object 22 located before the tracking target object located at the end of the object string 20 as a second determination target object. Then, the information processing apparatus 2000 determines whether or not the second determination target object is interrupted in the object row 20 (whether or not the object 22 corresponds to the above (2)). Hereinafter, this determination is also referred to as interrupt determination.
  • the information processing apparatus 2000 estimates the global behavior of the second determination target object based on the relationship with the other objects 22 included in the object string 20. Then, the information processing apparatus 2000 performs interrupt determination of the second determination target object based on the estimated global behavior.
  • FIG. 14 is a schematic view when the object row 20 is viewed from directly above. The leftmost figure shows the situation before an interrupt occurs.
  • the objects 22-1 to 22-3 are all objects to be tracked.
  • the objects 22 are arranged at equal intervals at 70 cm intervals.
  • the middle figure shows the situation where an interrupt is occurring.
  • An object 22-4 is intrusive between the object 22-1 and the object 22-2. If the object 22-4 interposes between the object 22-1 and the object 22-2, the object spacing will be less than 70 cm.
  • the rightmost figure shows the situation after an interrupt has occurred.
  • the interval between the objects is naturally adjusted by gradually moving back each tracking target object from the place where the interrupt occurred.
  • the distance between the objects 22 becomes almost the same as the original distance (70 cm).
  • the interval is often slightly smaller than before the occurrence of an interrupt.
  • the above-described change occurs, but when the object 22 joins the object row 20 from the end of the object row 20, the object 22 passes near the object row 20; In any case where the object 22 is stagnant in the vicinity of the object row 20, the above-described change does not occur in the distance between the tracking target objects in the object row 20. From this, by considering the global behavior of the second determination target object based on the relationship with the other objects 22 included in the object string 20, whether or not the second determination target object interrupts the object string 20 Can be accurately grasped.
  • the information processing apparatus 2000 of the second embodiment includes the second behavior estimation unit 2050 and the second determination unit 2060.
  • the second behavior estimation unit 2050 estimates the global behavior of the second determination target object.
  • the second determination unit 2060 determines whether or not the second determination target object has been inserted into the object row 20 based on the estimated global behavior of the second determination target object.
  • Example of hardware configuration The hardware configuration of a computer that implements the information processing apparatus 2000 of the second embodiment is represented, for example, by FIG. 4 as in the first embodiment. However, in the storage device 1080 of the computer 1000 for realizing the information processing apparatus 2000 of the present embodiment, a program module for realizing the function of the information processing apparatus 2000 of the present embodiment is further stored.
  • FIG. 15 is a flowchart illustrating the flow of processing in which the information processing apparatus 2000 of the second embodiment updates tracking information.
  • the flow in which the information processing apparatus 2000 of the second embodiment updates tracking information is substantially the same as the flow in which the information processing apparatus 2000 of the first embodiment updates tracking information. However, these differ in the following two points.
  • the behavior estimation unit 2020 of the first embodiment estimates the global behavior of the first determination target object in S208.
  • the second behavior estimation unit 2050 of the second embodiment estimates the global behavior of the second determination target object in S208.
  • FIG. 8 has S210 while FIG. 15 has S302.
  • the second determination unit 2060 determines whether or not the second determination target object has been inserted into the object row 20.
  • the information processing apparatus 2000 may perform departure determination in addition to interrupt determination.
  • the flowchart of FIG. 15 has S210 either before or after S302.
  • the information processing apparatus 2000 treats an object 22 existing near the object column 20 and having no corresponding tracking target object as a second determination target object.
  • the second behavior estimation unit 2050 predicts the global behavior of the second determination target object (S208).
  • the second determination target object interrupts the object row 20, the interval between the tracking target objects before and after the interruption position changes.
  • the information processing apparatus 2000 performs the global behavior of the second determination target object, the local behavior of the object, and another tracking target object adjacent to the front and back of the object (for example, one before or after). Inferred based on the combination with the local behavior of the tracked object).
  • FIG. 16 is a diagram illustrating a table indicating the global behavior of the second determination target object.
  • the second determination target object is object A.
  • the object B is an object positioned immediately before the object A in the object column 20.
  • the object C is an object located behind one of the objects A in the object column 20, assuming that the object A is included in the object column 20.
  • FIG. 16 illustrates the global behavior of the object A (that is, the second determination target object) in association with the combination of the local behaviors of the objects B and C.
  • the global state of the object A is “interruption operation”. In the case of other combinations, it is "dwelling or passing".
  • the second determination unit 2060 performs interrupt determination on each second determination target object (S302). Specifically, based on the global behavior of the second determination target object, the second determination unit 2060 calculates the likelihood that the second determination target object has interrupted the object row 20. The likelihood calculated here is called an interruption likelihood. The second determination unit 2060 determines whether the second determination target object has interrupted the object row 20 based on the interrupt likelihood.
  • the second determination unit 2060 determines that the second determination target object is interrupted in the object row 20.
  • the interrupt likelihood calculated for the second determination target object is less than the predetermined value, the second determination unit 2060 determines that the determination target object has not interrupted the object row 20.
  • the second determination unit 2060 determines that the second determination target object interrupts the object row 20 only when the situation in which the interrupt likelihood of the second determination target object is equal to or higher than the predetermined value continues for a predetermined period. You may In addition, for example, the second determination unit 2060 calculates a statistical value of the interrupt likelihood of the second determination target object in a predetermined period, and the second determination target object is an object only when the statistical value is equal to or greater than a predetermined value. It may be determined that the row 20 is interrupted.
  • the statistical value is, for example, an average value, an integrated value, a maximum value, or a minimum value.
  • the information processing apparatus 2000 needs to track the object 22 that has not yet been determined to be added to the object row 20. Therefore, for example, the information processing apparatus 2000 temporarily adds the object 22 (the object 22 treated as the second determination object) which is the calculation target of the interrupt likelihood to the tracking information in a manner distinguishable from the tracking target object. . Then, when it is determined that the object 22 temporarily added to the additional information is interrupted in the object column 20, the object 22 is treated as a tracking target object.
  • the second determination unit 2060 calculates interrupt likelihood using various parameters related to the second determination target object.
  • a function that outputs the interrupt likelihood based on the input parameter is called an interrupt likelihood function.
  • the types of parameters used by the interrupt likelihood function will be described later.
  • the global behavior of the second determination target object is reflected in the interrupt likelihood obtained using the interrupt likelihood function.
  • the specific method is the same as the method of causing the global behavior of the determination target object to be reflected in the withdrawal likelihood obtained using the withdrawal likelihood function.
  • withdrawal likelihood function will be further described focusing on the parameters used in the withdrawal likelihood function.
  • the parameters used in the interrupt likelihood function are, for example, the distance between the second determination target object and the tracking target object arranged immediately before the second determination target object, the second determination target object, and the second determination target object It is the distance to the tracking object that is lined up behind one of.
  • the tracking target object arranged in front of the second determination target object is the second determination target in the object column 20 when it is assumed that the second determination target object is included in the object column 20. It means the tracking target object located in front of the object.
  • the tracking target object aligned behind one of the second determination target objects is the second determination target in the object column 20 when it is assumed that the second determination target object is included in the object column 20.
  • a tracked object is located behind one of the objects.
  • interrupt likelihood function using the above-mentioned distance as a parameter for example, the one that monotonically non-decreases as the distance increases is used.
  • the parameter used in the interrupt likelihood function is an angle between the moving direction of the second determination target object and the moving direction of the tracking target object. While the direction of movement of objects not aligned in a row is irregular, the direction of movement of objects aligned in a row is generally forward of the row. Therefore, when the second determination target object is included in the object column 20, the angle between the movement direction of the second determination target object and the tracking target object is very small.
  • the above-mentioned angle can be applied to any trigonometric function.
  • any tracking target object can be used as the tracking target object to be compared with the second determination target object.
  • the parameter used in the interrupt likelihood function is a time-series change in the moving direction of the second determination target object.
  • the second determination target object that interrupts the object column 20 moves toward the matrix line (in the direction orthogonal to the direction of the matrix line) before interrupting, and moves on the matrix line after interrupting. Therefore, for example, when the angle between the second determination target object and the matrix line is applied to the sin function, the value gradually approaches 0 from a value close to 1.
  • it can be used whether the change of this value is close to the general pattern of interrupts. This general pattern may measure a large number of objects to be interrupted and create a model.
  • the parameter used in the interrupt likelihood function is the residence time of the second determination target object.
  • the interrupt likelihood function that utilizes the dwell time for example, the time when the local state is in the "rest" state
  • an interrupt likelihood function that is monotonically non-decreasing as the dwell time becomes longer is used.

Abstract

情報処理装置(2000)は、カメラ(10)によって生成された動画データ(12)に含まれるオブジェクト列(20)から判定対象オブジェクトが離脱することを検出する。情報処理装置(2000)は、オブジェクト列(20)に含まれる他のオブジェクト(22)との関係に基づく判定対象オブジェクトの大局的な振る舞いを推定する。そして、情報処理装置(2000)は、判定対象オブジェクトの大局的な振る舞いに基づいて、判定対象オブジェクトがオブジェクト列(20)から離脱したか否かを判定する。

Description

情報処理装置、制御方法、及びプログラム
 本発明は画像処理に関する。
 様々な場面において、人などのオブジェクトにより、行列が形成される。例えば行列は、空港の入国審査ゲート、銀行ATM、店舗のレジ、又は公共交通機関の乗り場などで形成される。
 このような行列について解析や制御を行う技術が開発されている。例えば特許文献1は、監視領域を直上から撮影できるように設置されたカメラを利用し、行列から離脱したオブジェクトや行列に割り込むオブジェクトを追跡できる行列管理システムを開示している。このシステムは、行列とオブジェクトとの間の距離など、オブジェクトの動きを表す行列挙動パターンパラメータを用い、個々のオブジェクトについて、行列の中と外のどちらにあるかを判定する。オブジェクトの離脱や割り込みも、行列挙動パターンパラメータを用いて判定される。
特表2008-519567号公報
 オブジェクトの離脱に関し、特許文献1では、行列が形成される方向と直交する方向へオブジェクトが離脱するケースしか考慮されていない。しかしながら、オブジェクトが離脱する方向は、行列が形成される方向と直交する方向であるとは限らない。例えばコンビニエンスストアのレジで形成される待ち行列のように、細い通路に形成される行列では、オブジェクトは行列が形成される方向と平行する方向へ離脱していく。特許文献1のシステムでは、このようなケースでの離脱が考慮されていない。
 また、特許文献1では、オブジェクトが行列から一定の距離にいる場合は割り込みと判定している。実利用シーンでは行列付近を通過するだけのオブジェクトや、行列付近で滞留するオブジェクトもある。これらのオブジェクトについて特許文献1では「行列に並んでいる可能性がある」として扱うものとしており、それ以上の記述はない。
 本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、オブジェクト列からのオブジェクトの離脱又は割り込みを高い精度で検出する技術を提供することである。
 本発明の情報処理装置は、1)オブジェクト列が含まれる撮像画像を用いて、オブジェクト列に含まれる第1オブジェクトと第2オブジェクトを検出し、第2オブジェクトとの関係に基づく第1オブジェクトの大局的な振る舞いを推定する振る舞い推定手段と、2)推定された第1オブジェクトの大局的な振る舞いに基づいて、第1オブジェクトがオブジェクト列から離脱したか否かを判定する判定手段と、を有する。
 本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)オブジェクト列が含まれる撮像画像を用いて、オブジェクト列に含まれる第1オブジェクトと第2オブジェクトを検出し、第2オブジェクトとの関係に基づく第1オブジェクトの大局的な振る舞いを推定する振る舞い推定ステップと、2)推定された第1オブジェクトの大局的な振る舞いに基づいて、第1オブジェクトがオブジェクト列から離脱したか否かを判定する判定ステップと、を有する。
 本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
 本発明によれば、オブジェクト列からのオブジェクトの離脱又は割り込みを高い精度で検出する技術が提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の動作について説明するための図である。 判定対象オブジェクトの局所的な振る舞いと大局的な振る舞いを例示する図である。 実施形態1の情報処理装置の構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 追跡情報をテーブル形式で例示する図である。 情報処理装置によって実行される処理の流れの概略を示すフローチャートである。 形状が直線ではないオブジェクト列を例示する図である。 追跡情報を更新する処理の流れを例示するフローチャートである。 追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第1の図である。 追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第2の図である。 オブジェクト列を真上から見た場合の模式図である。 所定領域を例示する図である。 実施形態2の情報処理装置の機能構成を例示するブロック図である。 オブジェクト列を真上から見たときの模式図である。 実施形態2の情報処理装置2000が追跡情報を更新する処理の流れを例示するフローチャートである。 第2判定対象オブジェクトの大局的な振る舞いを示す表を例示する図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
 図1は、実施形態1の情報処理装置(後述する図3における後述する情報処理装置2000)の動作について説明するための図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
 情報処理装置2000は、カメラ10によって生成された動画データ12に含まれるオブジェクト列20(カメラ10によって撮像されるオブジェクト列20)からオブジェクト22が離脱することを検出する。オブジェクト列20は、オブジェクト22によって構成される列である。図1では、動画フレーム14に含まれるオブジェクト22-1からオブジェクト22-8のうち、オブジェクト22-1からオブジェクト22-4によって、オブジェクト列20が構成されている。動画フレーム14は、動画データ12を構成する時系列の撮像画像の内の1つである。
 オブジェクト列20としては、任意のものを扱うことができる。例えばオブジェクト列20は、空港の入国審査ゲート、銀行 ATM、店舗のレジカウンタ、又は公共交通機関の乗り場などで形成される人の列である。この場合、オブジェクト22は人である。その他にも例えば、オブジェクト列20は、駐車場の利用を待つ車両の列である。この場合、オブジェクト22は車両である。図1において、オブジェクト22は人である。
 ここで、本明細書における「離脱」という用語の意味について説明する。オブジェクト列20に含まれているオブジェクト22が、その後に、オブジェクト列20に含まれなくなることがある。この変化は、大別して、(1)オブジェクト22がオブジェクト列20に並び終えて先頭から外へ出て行くという変化と、(2)オブジェクト22がオブジェクト列20に並んでいる途中でオブジェクト列20の外へ出て行く変化とに分けられる。
 店舗のレジカウンタの前に形成される人の列を例として、(1)と(2)の違いを説明する。(1)のケースは、「列に並んだ人が、前へ進んでいって列の先頭に到達した後、レジカウンタが空いたために列の先頭から列の外へ出て、レジカウンタで商品を購入する」といったケースである。一方、(2)のケースは、「列に並んだ人が、列の途中から列の外へ出て、商品を購入しない」といったケースである。
 本明細書では、「(2)オブジェクト22がオブジェクト列20に並んでいる途中でオブジェクト列20の外へ出て行く変化」を「離脱」と表現する。これは、「途中離脱」とも表現できる。なお、途中離脱と対比して、上述の(1)を「先頭離脱」と表現することもできる。以下、単に「離脱」と表記した場合又は「途中離脱」と表記した場合には、上記(2)を表す。一方、「先頭離脱」と表記した場合には、上記(1)を表す。
 情報処理装置2000は、オブジェクト列20に含まれるオブジェクト22について、オブジェクト列20から離脱したか否かを判定する(以下、「離脱判定を行う」とも表現とする)。ここで、情報処理装置2000が判定対象とするオブジェクト22を、判定対象オブジェクトと呼ぶ。例えば情報処理装置2000は、オブジェクト列20に含まれる各オブジェクト22を順に判定対象オブジェクトとして離脱判定を行うことで、オブジェクト列20から1つ以上のオブジェクト22が離脱したことを検出する。
 判定対象オブジェクトについて離脱判定を行うために、情報処理装置2000は、オブジェクト列20に含まれる他のオブジェクト22との関係に基づく判定対象オブジェクトの振る舞いを推定する。そして、情報処理装置2000は、推定された振る舞いに基づいて、判定対象オブジェクトがオブジェクト列20から離脱したか否かを判定する。
 ここで、オブジェクト列20に含まれる他のオブジェクト22との関係に基づく判定対象オブジェクトの振る舞いは、オブジェクト列20に関する判定対象オブジェクトの大局的な振る舞い(動きや状態)を表す。以下、オブジェクト列20に含まれる他のオブジェクト22との関係に基づく判定対象オブジェクトの振る舞いを、「大局的な判定対象オブジェクトの振る舞い」とも表記する。
 判定対象オブジェクト単体で見た場合の振る舞い(他のオブジェクト22との関係を考慮せず、判定対象オブジェクトのみに着目した場合の振る舞い)が同一のシチュエーションであっても、判定対象オブジェクトの大局的な振る舞いが異なることがある。ここで、他のオブジェクト22との関係を考慮せず、或るオブジェクト単体に着目したそのオブジェクトの振る舞いを、「局所的なオブジェクトの振る舞い」と呼ぶ。
 図2は、判定対象オブジェクトの局所的な振る舞いと大局的な振る舞いを例示する図である。図2の左列と右列の例ではいずれも、判定対象オブジェクトが前進している。そのため、判定対象オブジェクトの局所的な振る舞いが「前進」であるという点で共通している。
 一方で、これら2つの例において、判定対象オブジェクトの大局的な振る舞いは異なる。図2の左列の例では、判定対象オブジェクトだけでなく、判定対象オブジェクトの前のオブジェクトも前進している。よって、判定対象オブジェクトの振る舞いを大局的に見ると、判定対象オブジェクトは、オブジェクト列20全体の動きに合わせて前進している蓋然性が高いと言える。そのため、判定対象オブジェクトの大局的な振る舞いを、「オブジェクト20内で前進する動作」と表現することができる。
 図2の右列の例では、判定対象オブジェクトが前進している一方で、判定対象オブジェクトの前のオブジェクトが静止している。この場合、判定対象オブジェクトの振る舞いを大局的に見ると、判定対象オブジェクトの振る舞いは、オブジェクト列20全体の動きに合わせて前進しているのではなく、オブジェクト列20から抜けるように前進している(即ち、離脱している)蓋然性が高いと言える。そのため、判定対象オブジェクトの大局的な振る舞いを、「オブジェクト列20から離脱する動作」と表現することができる。
 後者のケースのように、判定対象オブジェクトの大局的な振る舞いに着目すると、判定対象オブジェクトが離脱している蓋然性が高い状況を把握できることがある。そこで本実施形態の情報処理装置2000は、このような大局的な判定対象オブジェクトの振る舞いを考慮して、判定対象オブジェクトの離脱判定を行う。これにより、判定対象オブジェクトの大局的な振る舞いを考慮しない場合と比較し、判定対象オブジェクトの離脱を高い精度で、なおかつ早期に検出することができる。
 以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
 図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、例えば、振る舞い推定部2020及び判定部2040を有する。振る舞い推定部2020は、オブジェクト列20が含まれる動画フレーム14(撮像画像)を用いて、動画フレーム14に含まれる判定対象オブジェクトと、オブジェクト列20内の別のオブジェクト22との関係に基づいて、判定対象オブジェクトの大局的な振る舞いを推定する。判定部2040は、推定された判定対象オブジェクトの大局的な振る舞いに基づき、判定対象オブジェクトについて離脱判定を行う。
<情報処理装置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)などを用いて実現される補助記憶装置である。
 入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
 例えば計算機1000は、ネットワークを介してカメラ10と通信可能に接続されている。ただし、計算機1000をカメラ10と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機1000は、カメラ10と通信可能に接続されていなくてもよい。
 ストレージデバイス1080は、情報処理装置2000の各機能構成部(振る舞い推定部2020及び判定部2040)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
 なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば振る舞い推定部2020と判定部2040は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
 カメラ10は、繰り返し撮像を行って時系列の動画フレーム14を生成することにより、動画データ12を生成する任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
 前述したように、情報処理装置2000を実現する計算機1000は、カメラ10であってもよい。この場合、カメラ10は、自身で生成した動画フレーム14を解析することで、判定対象オブジェクトの離脱判定を行う。このような機能を持たせるカメラ10としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを用いることができる。
 なお、情報処理装置2000の全ての機能をカメラ10で実現するのではなく、情報処理装置2000の一部の機能のみがカメラ10で実現されてもよい。例えば、動画フレーム14からオブジェクト22を検出する機能をカメラ10で実現し、検出された各オブジェクト22の動作等を解析して判定対象オブジェクトの離脱判定を行う機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ10から、検出されたオブジェクト22の位置や画像特徴などの種々の情報(後述する検出情報)を取得する。この場合、サーバ装置は、動画フレーム14を取得しなくてもよい。
<動画フレーム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の検出と管理>
 判定対象オブジェクトの離脱判定を行う前提として、情報処理装置2000は、オブジェクト列20の検出及び管理を行う。オブジェクト列20の管理は、例えば、オブジェクト列20に含まれるオブジェクト22について、追跡情報の生成及び更新を行うことで実現される。以下、オブジェクト列20に含まれるオブジェクト22を、追跡対象オブジェクトと呼ぶ。
 追跡情報は、追跡対象オブジェクトに関する種々の情報を示す。例えば追跡情報は、各追跡対象オブジェクトについて、位置、大きさ、オブジェクト列20との距離、識別情報などを示す。識別情報は、追跡対象オブジェクトを互いに識別するために、各追跡対象オブジェクトに割り当てられる識別子などである。さらに追跡情報は、追跡対象オブジェクトの局所的な振る舞いを表す局所情報と、追跡対象オブジェクトの大局的な振る舞いを表す大局情報を示す。
 追跡対象オブジェクトの位置は、動画フレーム14上の位置(例えば動画フレーム14の左上端を原点とする座標)で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、追跡対象オブジェクトの実世界座標は、カメラのキャリブレーションによって求まる位置や姿勢を表すパラメータを用いて、動画フレーム14上の位置から算出することができる。同様に、追跡対象オブジェクトとオブジェクト列20との間の距離は、動画フレーム14上の距離でもよいし、実空間上での距離でもよい。なお、追跡対象オブジェクトとオブジェクト列20との間の距離の具体的な定め方について後述する。
 追跡情報に示される情報は、前述したものに限定されない。例えば追跡情報は、各オブジェクト22について、オブジェクト列20の先頭からの順位、追跡情報に登録されてからの経過時間、推定待ち時間、画像特徴、及び画像領域などをさらに示してもよい。オブジェクト22の推定待ち時間とは、現在時点からそのオブジェクト22が先頭離脱するまでに要すると推定される時間を意味する。
 追跡対象オブジェクトの画像特徴には、例えば、追跡対象オブジェクトの大きさ、形状、又は表面の色や模様(人物の場合は服の色や模様)などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、追跡対象オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプディスクリプタを用いることができる。
 追跡対象オブジェクトの画像領域とは、追跡対象オブジェクトを表す画像領域を定義する情報である。例えば、追跡対象オブジェクトを表す画像領域として、追跡対象オブジェクトに外接する矩形を用いる場合、その矩形を定義する情報(例えば、左上端と右下端の座標)である。
 図5は、追跡情報をテーブル形式で例示する図である。図5のテーブルをテーブル200と表記する。テーブル200は、追跡ID202、位置204、距離206、局所情報208、大局情報210、及び画像特徴212を示す。追跡ID202は、追跡対象オブジェクトに割り当てられた識別子を示す。距離206は、追跡対象オブジェクトとオブジェクト列20との間の距離を示す。
 追跡情報は、記憶領域に記憶される。例えばこの記憶領域は、図3のストレージデバイス1080である。ただし、追跡情報が記憶される記憶領域は、情報処理装置2000の内部に設けられている記憶領域に限定されない。例えば追跡情報は、情報処理装置2000の外部のサーバ装置や NAS(Network Attached Storage)などの記憶領域に記憶されてもよい。この場合、情報処理装置2000は、サーバ装置等に対し、生成した追跡情報を送信する。
 以下、追跡情報の生成と更新について説明する。追跡情報の生成とは、動画フレーム14からオブジェクト列20が検出された時に、そのオブジェクト列20について新たに追跡情報を生成することを意味する。情報処理装置2000は、オブジェクト列20が検出された動画フレーム14を用いて、その動画フレーム14においてオブジェクト列20に含まれる各オブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する。
 追跡情報の更新とは、オブジェクト列20が検出された後に生成される動画フレーム14からオブジェクト22を検出し、検出されたオブジェクト22に関する情報に基づいて、追跡情報の内容を変更することを意味する。例えば、追跡対象オブジェクトの位置などの変化が追跡情報に反映される。また、新たにオブジェクト列20に加わったオブジェクト22に関する情報が、追跡情報に追加される。さらに、オブジェクト列20から離脱したオブジェクト22に関する情報が、追跡情報から削除される。ただし、離脱したオブジェクト22に関する情報は、追跡情報に残されてもよい。この場合、オブジェクト列20に属しているオブジェクト22とオブジェクト列20から離脱したオブジェクト22とを判別できるように、追跡情報を構成する(例えばフラグが設けられる)。
 図6は、情報処理装置2000によって実行される処理の流れの概略を示すフローチャートである。情報処理装置2000は、動画フレーム14からオブジェクト列20を検出する(S102)。情報処理装置2000は、検出したオブジェクト列20に含まれるオブジェクト22を追跡対象オブジェクトとして、追跡情報を生成する(S104)。
 S106からS110は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Aである。S106において、所定の終了条件が満たされている場合、情報処理装置2000は、図6の処理を終了する。一方、所定の終了条件が満たされていない場合、図6の処理はS108に進む。
 S108において、情報処理装置2000は、追跡情報の更新を行う。S110はループ処理の終端であるため、図6の処理はS106に進む。以降、所定の終了条件が満たされるまでループ処理Aが繰り返し実行されることで、追跡情報が繰り返し更新される。また、追跡情報が更新される度に、各追跡対象オブジェクトについて離脱判定が行われる。
 上記所定の終了条件は任意である。例えば所定の終了条件は、オブジェクト列20に含まれるオブジェクト22の数が0になること、すなわちオブジェクト列20が無くなることである。この場合、情報処理装置2000は、まだ処理対象となっていない動画フレーム14で構成される動画データ12について、再度図6の処理を最初から実行する。こうすることで、新たに形成されるオブジェクト列20の検出及びそのオブジェクト列20の変化の検出が行われる。
<<オブジェクト列20の検出>>
 情報処理装置2000は、動画データ12を構成する時系列の複数の動画フレーム14を順に画像解析していくことで、動画データ12からオブジェクト列20を検出する。ただし、オブジェクト列20の検出に利用される動画フレーム14は、動画データ12を構成する動画フレーム14のうちの一部であってもよい。例えば、情報処理装置2000は、動画データ12を構成する時系列の動画フレーム14を、所定数につき1つの割合で画像解析する。
 オブジェクト列20を検出するために、情報処理装置2000は、動画フレーム14からオブジェクト22を検出する。動画フレーム14からオブジェクト22を検出する技術には、既知の様々な技術を用いることができる。例えば情報処理装置2000は、動画フレーム14から検出すべきオブジェクトの画像特徴を学習させた検出器を含む。例えば人物をオブジェクト22として扱う場合、検出器には、人物らしさを表す画像特徴を学習させておく。また、車両をオブジェクト22として扱う場合、検出器には、車両らしさを表す画像特徴を学習させておく。
 検出器は、動画フレーム14から、学習済みの画像特徴にマッチする画像領域を、オブジェクトを表す領域(以下、オブジェクト領域)として検出する。オブジェクト領域が検出されることは、そのオブジェクト領域によって表されるオブジェクトが検出されたことを意味する。オブジェクト22を表す検出器には、例えば、HOG(Histograms of Oriented Gradients)特徴に基づいて検出を行うものや、CNN(Convolutional Neural Network)を用いるものが利用できる。なお、検出器は、オブジェクト全体の領域を検出するように学習させたものであってもよいし、オブジェクトの一部の領域(例えば人の頭部など)を検出するように学習させたものであってもよい。
 検出器は、検出したオブジェクト22に関する情報(以下、検出情報)を出力する。検出情報は、例えば、検出されたオブジェクト22の位置、大きさ、識別情報、画像特徴、及び画像領域などを示す。識別情報は、動画フレーム14から検出されたオブジェクト22を互いに識別するための識別子などである。また、オブジェクト列20が検出された後においては、検出器は、オブジェクト22とオブジェクト列20との間の距離を算出して検出情報に含めてもよい。
 動画フレーム14に含まれるオブジェクト22によってオブジェクト列20が形成されたことを検出する技術には、既存の様々な技術を利用することができる。ここで、動画フレーム14の画像領域の一部として、オブジェクト列20が形成される領域(以下、列エリア)が定められていてもよい。この場合、情報処理装置2000は、列エリア内で1つ以上のオブジェクト22が検出されたことに応じて、その1つ以上のオブジェクト22によってオブジェクト列20が形成されたと判定する。
 列エリアを定義する方法は、カメラによって生成される撮像画像内の領域を指定する既知の様々な手法を用いて実現することができる。例えば情報処理装置2000は、列エリアを指定する入力操作をユーザから受け付ける。この入力操作は、例えば、オブジェクト列20が形成されるエリアを線、多角形、又は円形などの任意の図形を用いて動画フレーム14上に描く操作である。その他にも例えば、列エリアの指定は、列エリアを特定するための座標(例えば列エリアが矩形であれば、左上端の座標と右下端の座標)をキーボード入力等によって指定することで実現されてもよい。
 情報処理装置2000は、動画フレーム14の画像領域全体を対象としてオブジェクト22の検出を行ってもよいし、一部の画像領域のみを対象としてオブジェクト22の検出を行ってもよい。例えば前述した列エリアが定義される場合、情報処理装置2000は、列エリア内のみを対象にしてオブジェクト22の検出を行ったり、列エリア及びその周辺(例えば、列エリアを所定倍に拡大したエリア)のみを対象としてオブジェクト22の検出を行ったりしてもよい。
 オブジェクト列20の形状は、直線であってもよいし、直線でなくてもよい。後者のケースは、オブジェクト列20がS字に蛇行していたり、途中で折れ曲がっていたりするケースである。図7は、形状が直線ではないオブジェクト列20を例示する図である。このようにオブジェクト列20の形状が直線以外である場合、例えば、オブジェクト列20に沿って行列線30を定義し、その行列線30に沿って、オブジェクト列20の状態や移動方向などが定義される。行列線とは、オブジェクト列20の形状を線で表したもの(近似したもの)である。
 オブジェクト22とオブジェクト列20との間の距離は、例えばこの行列線を用いて定義される。具体的には、オブジェクト22からオブジェクト列20の行列線に下ろした垂線の長さを、オブジェクト22とオブジェクト列20との間の距離として扱う。
<<追跡情報を更新する処理の流れ>>
 図8は、追跡情報を更新する処理の流れを例示するフローチャートである。図8は、図6のS108で実行される処理を詳細化したものである。
 情報処理装置2000は、オブジェクト列20が検出された動画フレーム14以降の各動画フレーム14を対象に、図8に示す処理を行う。
 情報処理装置2000は、動画フレーム14からオブジェクト22を検出する(S202)。情報処理装置2000は、動画フレーム14から検出されたオブジェクト22と、追跡対象オブジェクトとの対応付けを行う(S204)。ここで、動画フレーム14から検出されたオブジェクトと、追跡情報に示される追跡対象オブジェクト(その以前の動画フレーム14から検出されたオブジェクト)とを対応づける技術には、既存の技術を利用することができる。
 情報処理装置2000は、各追跡対象オブジェクトの局所的な振る舞いを推定する(S206)。情報処理装置2000は、各追跡対象の大局的な振る舞いを推定する(S208)。情報処理装置2000は、各追跡対象オブジェクトについて離脱判定を行う(S210)。
 情報処理装置2000は、追跡情報の内容を更新する(S212)。追跡情報の内容を更新する技術には、既存の技術を利用することができる。例えば情報処理装置2000は、オブジェクト列20に含まれなくなった追跡対象オブジェクト(先頭離脱又は途中離脱した追跡対象オブジェクト)を、追跡情報から削除する。ただし前述したように、オブジェクト列20に含まれなくなった追跡対象オブジェクトに関する情報は、追跡情報に残されてもよい。また、情報処理装置2000は、オブジェクト列20に新たに含まれるようになったオブジェクト22(オブジェクト列20の末尾から新たにオブジェクト列20に加わったオブジェクト22、又はオブジェクト列20に割り込んだオブジェクト22)を、新たな追跡対象オブジェクトとして、追跡情報に追加する。さらに、情報処理装置2000は、追跡情報に示されており、なおかつオブジェクト列20に継続して含まれている追跡対象オブジェクトに関する情報(位置など)を、その追跡対象オブジェクトと対応づけられたオブジェクト22の検出情報を利用して変更する。
<局所的な振る舞いの推定:S206>
 情報処理装置2000は、各追跡対象オブジェクトについて、その局所的な振る舞いを推定する。追跡対象オブジェクトの局所的な振る舞いは、例えば、追跡対象オブジェクトの動きに関する状態(以下、動き状態)で定義される。追跡対象オブジェクトの動き状態は、例えば、前進状態、後退状態、及び静止状態のいずれか1つである。
 或る動画フレーム14から検出された追跡対象オブジェクトの局所的な振る舞いは、例えば、その動画フレーム14の生成時点を含む過去所定期間における追跡対象オブジェクトの位置の変化から推定することができる。例えば情報処理装置2000は、動画フレーム14-1から検出された追跡対象オブジェクトの位置と、その1つ前に生成された動画フレーム14-2から検出されたその追跡対象オブジェクトの位置とを結ぶベクトルを、動画フレーム14-1におけるその追跡対象オブジェクトの移動ベクトルとして算出する。そして、その移動ベクトルの方向及びその移動ベクトルの大きさ(動き量)に基づいて、動画フレーム14-1における追跡対象オブジェクトの局所的な振る舞いを推定する。
 例えば情報処理装置2000は、追跡対象オブジェクトの移動ベクトルの大きさに基づいて、追跡対象オブジェクトが静止しているか否かを判定する。具体的には、情報処理装置2000は、移動ベクトルの大きさが基準値以下である場合に、追跡対象オブジェクトが静止していると判定する。この基準値は、ゼロであってもよいし、ゼロより大きい値であってもよい。前者の場合、追跡対象オブジェクトが動いていない場合のみ、追跡対象オブジェクトの局所的な振る舞いが静止状態として扱われる。一方、後者の場合、追跡対象オブジェクトが動いていたとしても、その動き量が基準値以下であれば、追跡対象オブジェクトの局所的な振る舞いは静止状態として扱われる。なお、上記基準値は、情報処理装置2000に予め固定で設定されていてもよいし、情報処理装置2000のユーザによって指定されてもよい。
 上記基準値は、静的に決定される値であってもよいし、動的に決定される値であってもよい。前者の場合、情報処理装置2000からアクセス可能な記憶装置に、予め基準値を記憶させておく。後者の場合、情報処理装置2000は、基準値を動的に計算する。例えば情報処理装置2000は、過去の動き量の時間方向に移動平均を算出し、算出された値を基準値として利用する。
 静止していない追跡対象オブジェクトについては、その移動ベクトルの方向に基づいて、前進状態と後進状態のいずれであるかが判定される。例えば情報処理装置2000は、追跡対象オブジェクトの移動ベクトルについて、オブジェクト列20の進行方向に平行な成分を算出する。その成分がオブジェクト列20の進行方向と同じである場合、情報処理装置2000は、その追跡対象オブジェクトの局所的な振る舞いを「前進状態」とする。一方、その成分がオブジェクト列20の進行方向と逆方向である場合、情報処理装置2000は、その追跡対象オブジェクトの局所的な振る舞いを「後退状態」とする。
<大局的な振る舞いの推定:S208>
 振る舞い推定部2020は、各追跡対象オブジェクトについて、その大局的な振る舞いを推定する。振る舞い推定部2020は、追跡対象オブジェクトの大局的な振る舞いを、その追跡対象オブジェクトの局所的な振る舞いと、他の追跡対象オブジェクトの局所的な振る舞いとに基づいて推定する。追跡対象オブジェクトの大局的な振る舞いは、その追跡対象オブジェクトの局所的な振る舞いが、他の追跡対象オブジェクトとの関係に基づいてどのような意味をもつ振る舞いであるかを表す。
 例えば情報処理装置2000は、追跡対象オブジェクトの大局的な振る舞いを、その追跡対象オブジェクトの局所的な振る舞いと、その追跡対象オブジェクトに隣接する他の追跡対象オブジェクト(例えば一つ前又は後ろに位置する追跡対象オブジェクト)の局所的な振る舞いとの組み合わせとに基づいて推定する。図9は、追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第1の図である。図9は、追跡対象オブジェクトAの局所的な振る舞いと、追跡対象オブジェクトBの局所的な振る舞いとの組み合わせに対応づけて、追跡対象オブジェクトAの大局的な振る舞いを示している。追跡対象オブジェクトBは、追跡対象オブジェクトAの一つ前に位置する追跡対象オブジェクトである。
 例えば、追跡対象オブジェクトAの局所的な振る舞いが「前進状態」を示す行に着目する。この場合、追跡対象オブジェクトBの局所的な振る舞いが「前進状態」であれば、追跡対象オブジェクトAの大局的な振る舞いが「列内で前進」となっている。これは、追跡対象オブジェクトAとその一つ前の追跡対象オブジェクトBの双方が前進しているため、追跡対象オブジェクトAが、オブジェクト列20全体に合わせて前進していると推定できるためである。
 一方、追跡対象オブジェクトBの局所的な振る舞いが「静止状態」であれば、追跡対象オブジェクトAの大局的な振る舞いが「離脱動作」となっている。これは、一つ前の追跡対象オブジェクトBが静止しているにもかかわらず追跡対象オブジェクトAが前進しているため、追跡対象オブジェクトAは、オブジェクト列20から離脱するために前進していると推定できるためである。
 また、追跡対象オブジェクトAが静止しており、追跡対象オブジェクトBが前進している場合、追跡対象オブジェクトAは、静止しているものの、オブジェクト列20内で前進することが可能な状態であるといえる。そのため、追跡対象オブジェクトAの大局的な振る舞いが「列内で前進可能」となっている。
 ここで、判定対象オブジェクトと比較する対象として、その一つ前に並んでいる一つの追跡対象オブジェクトの代わりに、判定対象オブジェクトの前に並んでいる所定数(2以上)の追跡対象オブジェクトを利用してもよい。この場合、例えば振る舞い推定部2020は、上記所定数の追跡対象オブジェクトを一つのグループとして扱い、このグループの局所的な振る舞いを推定する。ここでいうグループは、単に複数の追跡対象オブジェクトのまとまりを意味しているのであり、これらの追跡対象オブジェクトに共通の属性等があることを要しない。
 判定対象オブジェクトの局所的な振る舞いと、その前に並んでいる追跡対象オブジェクトのグループの局所的な振る舞いとで定まる、判定対象オブジェクトの大局的な振る舞いは、例えば、図9において、「追跡対象オブジェクトB」としているところを、「追跡対象オブジェクトAの前に並んでいる追跡対象オブジェクトのグループ」に置き換えることで表すことができる。
 グループの局所的な振る舞いは、例えば、グループに含まれる各追跡対象オブジェクトの局所的な振る舞いに基づいて定められる。例えば、振る舞い推定部2020は、グループに含まれる追跡対象オブジェクトのうち、所定割合以上の追跡対象オブジェクトが静止していたら、グループの局所的な振る舞いを「静止」とする。同様に、振る舞い推定部2020は、所定割合以上の追跡対象オブジェクトが前進していたらグループの局所的な振る舞いを「前進」とし、所定割合以上の追跡対象オブジェクトが後退していたらグループの局所的な振る舞いを「後退」とする。
 判定対象オブジェクトの大局的な振る舞いは、判定対象オブジェクトの一つ前に並んでいる他の追跡対象オブジェクトだけでなく、判定対象オブジェクトの一つ後ろに並んでいる他の追跡対象オブジェクトも考慮して定められてもよい。図10は、追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第2の図である。追跡対象オブジェクトBは追跡対象オブジェクトAの一つ前に位置しており、追跡対象オブジェクトCは追跡対象オブジェクトAの一つ後ろに位置している。
 図10は、追跡対象オブジェクトA、B、及びCの局所的な振る舞いの組み合わせに対応づけて、追跡対象オブジェクトAの大局的な振る舞いを示している。例えば、追跡対象オブジェクトBが「前進状態」、追跡対象オブジェクトCが「前進状態」の行に着目する。この場合、追跡対象オブジェクトAの局所的な振る舞いが「前進状態」であれば、追跡対象オブジェクトAの大局的な振る舞いが「列内で前進」となっている。これは、図9において追跡対象オブジェクトAが「前進状態」、追跡対象オブジェクトBが「前進状態」の場合と同じである。
 このように追跡対象オブジェクトAの一つ後ろに並ぶ追跡対象オブジェクトCの局所的な振る舞いをさらに加味することで、追跡対象オブジェクトAの大局的な振る舞いをより高い精度で推定することができる。
<離脱の検出:S210>
 判定部2040は、各追跡対象オブジェクトについて離脱判定を行う。前述したように、離脱判定の判定対象となっているオブジェクトを、判定対象オブジェクトと呼ぶ。
 判定部2040は、判定対象オブジェクトの大局的な振る舞いに基づいて、判定対象オブジェクトがオブジェクト列20から離脱したことの尤度を算出する。ここで算出される尤度を、離脱尤度と呼ぶ。判定部2040は、離脱尤度に基づいて、判定対象オブジェクトがオブジェクト列20から離脱したか否かを判定する。例えば判定部2040は、或る判定対象オブジェクトについて算出された離脱尤度が所定値以上である場合に、その判定対象オブジェクトがオブジェクト列20から離脱したと判定する。一方、判定部2040は、或る判定対象オブジェクトについて算出された離脱尤度が所定値未満である場合に、その判定対象オブジェクトがオブジェクト列20から離脱していないと判定する。
 その他にも例えば、判定部2040は、判定対象オブジェクトの離脱尤度が所定値以上である状況が所定期間継続した場合のみ、判定対象オブジェクトがオブジェクト列20から離脱したと判定してもよい。その他にも例えば、判定部2040は、所定期間における判定対象オブジェクトの離脱尤度の統計値を算出し、その統計値が所定値以上である場合のみ、判定対象オブジェクトがオブジェクト列20から離脱したと判定してもよい。統計値は、例えば、平均値、積算値、最大値、又は最小値などである。
 判定部2040は、判定対象オブジェクトに関する種々のパラメータを用いて離脱尤度を算出する。ここで、入力されたパラメータに基づいて離脱尤度を出力する関数を、離脱尤度関数と呼ぶ。離脱尤度関数が利用するパラメータの種類については後述する。
 離脱尤度関数を用いて得られる離脱尤度には、判定対象オブジェクトの大局的な振る舞いが反映されるようにする。例えば、離脱尤度関数に与えるパラメータの値を固定した場合において、離脱尤度関数を用いて得られる離脱尤度が、判定対象オブジェクトの大局的な振る舞いに応じて異なるようにする。より具体的には、離脱尤度関数に与えるパラメータの値が同じ状況下において、判定対象オブジェクトの大局的な振る舞いが「離脱動作」である場合に算出される離脱尤度が、判定対象オブジェクトの大局的な振る舞いが「離脱動作」以外である場合に算出される離脱尤度よりも大きくなるようにする。例えば、2つの離脱尤度関数 f1 と f2 を用意する。f1 と f2 は、これらにそれぞれ同一の値のパラメータを入力した場合に、f1 の方が f2 よりも大きい値を出力するように設計しておく。そして、判定部2040は、判定対象オブジェクトの大局的な振る舞いが「離脱動作」である場合には離脱尤度関数 f1 を用い、それ以外の場合には離脱尤度関数 f2 を用いる。例えば f1 は、f2 の出力値に1より大きい所定値を乗じる関数とすることができる。
 以下、離脱尤度関数において用いられるパラメータに着目しながら、離脱尤度関数についてさらに説明する。
 離脱尤度関数で用いられるパラメータは、例えば、判定対象オブジェクトと、判定対象オブジェクトの進行方向において判定対象オブジェクトと隣接する追跡対象オブジェクトとの間の距離である。「判定対象オブジェクトの進行方向において判定対象オブジェクトと隣接する追跡対象オブジェクト」は、例えば、判定対象オブジェクトが前進している場合には判定対象オブジェクトの1つ前に位置する追跡対象オブジェクトを意味し、判定対象オブジェクトが後退している場合には判定対象オブジェクトの1つ後ろに位置する追跡対象オブジェクトを意味する。判定対象オブジェクトと隣接する追跡対象オブジェクトとの間の距離をパラメータとして利用する離脱尤度関数としては、例えば、その距離が小さくなるに連れて単調非減少するものが利用される。
 その他にも例えば、離脱尤度関数で用いられるパラメータは、判定対象オブジェクトとオブジェクト列20との間の距離である。判定対象オブジェクトとオブジェクト列20との間の距離をパラメータとして利用する離脱尤度関数としては、例えば、その距離が大きくなるについて単調非減少する関数が利用される。
 図11は、オブジェクト列20を真上から見た場合の模式図である。ここでは、オブジェクト22-2を判定対象オブジェクトとする。図11において、オブジェクト22-2は前進している。そこで判定部2040は、離脱尤度関数に対し、オブジェクト22-2と、オブジェクト22-2の一つ前に位置するオブジェクト22-1との間の距離である d1 を入力する。さらに判定部2040は、離脱尤度関数に対し、オブジェクト22-2からオブジェクト列20の行列線30に対して下ろした垂線32の長さ d2(オブジェクト22-2とオブジェクト列20との間の距離)も入力する。
 なお、図11の例では、追跡対象オブジェクト間の距離が、行列線方向における位置の差として定義されている。しかしながら、追跡対象オブジェクト間の距離は、これらの中心間を結んだ直線の長さなどで表されてもよい。
 その他にも例えば、離脱尤度関数で用いられるパラメータには、前進している追跡対象オブジェクトの中で最後尾のものの順位(先頭から何番目に並んでいるかを表す値)と判定対象オブジェクトの順位との差がさらに含まれてもよい。通常、オブジェクト列20全体が静止している状態から先頭が前進すると、次に2番目のオブジェクトが前進し、次に3番目のオブジェクトが前進するというように、前進する動きが先頭から順番に伝播していく。そのため、例えば先頭及び2番目のオブジェクトが前進しており、なおかつ3番目のオブジェクトが静止しているとすると、4番目以降のオブジェクトが前進することは、これらのオブジェクトの離脱の兆候を表している可能性がある。
 そこで、前進している追跡対象オブジェクトの中で最後尾のもの(前述した例における2番目のオブジェクト)の順位と判定対象オブジェクトの順位との差を離脱尤度関数のパラメータとして用いることで、離脱尤度をさらに高精度に求めることができる。ここで、離脱尤度関数は、前進している追跡対象オブジェクトの中で最後尾のものの順位と判定対象オブジェクトの順位との差が増加するにつれて単調非減少する関数である。
 その他にも例えば、離脱尤度関数を構成するパラメータには、判定対象オブジェクトの移動方向と、その移動方向において隣接する追跡対象オブジェクトの移動方向とのなす角を用いてもよい。通常、オブジェクト列20に並んでいるオブジェクトは、オブジェクト列20の進行方向とほぼ同じ方向に動くと考えられる。しかしながら、離脱するオブジェクトについては、その移動方向に、オブジェクト列20の進行方向と直交する方向の成分が多く含まれていると考えられる。したがって判定対象のオブジェクトの移動方向と、その離脱方向に位置する追跡対象オブジェクトの移動方向とのなす角をパラメータとして利用できる。例えば離脱尤度関数では、上述のなす角が任意の三角関数に適用される。
 その他にも例えば、離脱尤度関数で用いられるパラメータには、判定対象オブジェクトと、判定対象オブジェクトの進行方向において判定対象オブジェクトと隣接する追跡対象オブジェクトの移動速度の差を用いてもよい。判定対象オブジェクトが前方に離脱する場合を考える。この場合、判定対象オブジェクトは判定対象オブジェクトの一つ前に並んでいる追跡対象を追い越すため、判定対象オブジェクトの移動速度は、その一つ前に並ぶオブジェクトの移動速度よりも速い。したがって判定対象のオブジェクトの移動速度と、その一つ前に並ぶ追跡対象オブジェクトの移動速度の差をパラメータとして利用できる。例えば、離脱尤度関数は、これらの移動速度の差が大きくなるにつれて単調非減少する関数である。
 その他にも例えば、以下のように離脱尤度を算出してもよい。まず以下のように、判定対象オブジェクトがその一つ前に並んでいる追跡対象オブジェクトに対して近接可能な距離に基づき、所定領域を定める。図12は所定領域を例示する図である。符号24は、判定対象オブジェクトを表している。また、符号50は上記所定領域を表している。
 判定部2040は、判定対象オブジェクト24の位置の履歴から参照点40を定める。例えば図12のように移動する判定対象オブジェクト24を仮定する。この場合、まず参照点40の候補として、判定対象オブジェクト24の過去の移動履歴それぞれの時刻における判定対象オブジェクト24の位置に対して最短となるような行列線上の点を求める。そして、上記候補のうち、時系列で最新のものを、参照点40として扱う。また、判定対象オブジェクト24の局所的な振る舞いを併用して参照点40を定めてもよい。その場合、参照点40の候補のうち、その時点における判定対象オブジェクト24の局所的な振る舞いが「静止状態」であるものであって、なおかつ時系列で最新のものを、参照点40として選択する。
 領域50は、長さ r1 の第1の径(図12における短径)と、長さ r2 の第2の径(図12における長径)で定まる楕円である。r1は、参照点40に位置していた判定対象オブジェクトが、その一つ前に並んでいるオブジェクト22に対して近接可能な距離である。この距離は、例えば、参照点40とオブジェクト22との間の距離から所定のマージンを引いた長さである。
 r2 は、予め定められている所定の距離である。r2 は、追跡対象オブジェクトがオブジェクト列20に対して直角な方向へ移動した場合に、その追跡対象オブジェクトがオブジェクト列20から外に出たとして扱ってよいと考えられる距離である。
 判定部2040は、参照点40と、現在時点の判定対象オブジェクト24との間の距離 d1 を算出する。さらに判定部2040は、参照点40から現在時点の判定対象オブジェクト24に対して引いた直線と、領域50の境界線とが交わる位置を求める。そして、判定部2040は、算出した位置と参照点40との間の距離 d2 を求める。
 判定部2040は、前述した d1 と d2 との比(d1/d2)を、離脱尤度関数に入力するパラメータとして用いる。離脱尤度関数には、例えば、d1/d2 が大きくなるについて単調非減少する関数を用いることができる。
 判定対象オブジェクト24の大局的な振る舞いを考慮する方法としては、例えば、判定対象オブジェクト24の大局的な振る舞いに基づいて領域50の大きさを変更する方法がある。領域50の大きさを小さくするほど、判定対象オブジェクト24がオブジェクト列20から離脱したと判定されやすくなる。そこで例えば、判定対象オブジェクト24の大局的な振る舞いが「離脱動作」である場合の領域50の大きさを、判定対象オブジェクト24の大局的な振る舞いが「離脱動作」以外である場合の領域50の大きさよりも小さくする。領域50の大きさは、r1 と r2の一方又は双方を変更することで変更できる。
 なお、上述の例において、参照点40は判定対象オブジェクト24を基準に設定されている。しかしながら、参照点40は、判定対象オブジェクト24が移動する方向に位置するオブジェクト22の位置としてもよい。例えば判定対象オブジェクト24が前進している場合、判定対象オブジェクト24の一つ前に並んでいるオブジェクト22の位置を参照点とする。この場合に定められる領域は、判定対象オブジェクト24の移動方向にいるオブジェクト22にこれ以上近づいてはならない領域として解釈できる。
[実施形態2]
 図13は、実施形態2の情報処理装置2000の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。ただし、実施形態2の情報処理装置2000は、追跡対象オブジェクトについての離脱判定を、既存の技術を利用して行ってもよい。
 実施形態2の情報処理装置2000は、実施形態2の情報処理装置2000と同様に、動画データ12からオブジェクト22を検出し、オブジェクト22で構成されるオブジェクト列20を検出する。そして、オブジェクト列20に含まれるオブジェクト22(追跡対象オブジェクト)を管理するため、追跡情報の生成・更新を行う。
 実施形態2の情報処理装置2000は、オブジェクト列20に割り込んだオブジェクト22を検出する。ここで、「割り込み」という用語について説明する。オブジェクト列20に新たなオブジェクト22が加わるという変化には、大別して、(1)オブジェクト列20の末尾から新たなオブジェクト22がオブジェクト列20に加わるという変化と、(2)オブジェクト列20の末尾以外の部分から、新たなオブジェクト22が、既にオブジェクト列20に並んでいる2つのオブジェクト22の間に割り込むようにして、オブジェクト列20に加わるという変化がある。本明細書では、(2)のケースを「割り込み」と表記する。また、(1)のケースを「正規加入」と表記する。
 より具体的には、まず情報処理装置2000は、動画フレーム14から検出されたオブジェクト22について、オブジェクト列20の近くに存在するか否かを判定する。さらに情報処理装置2000は、オブジェクト列20の近くに存在すると判定された各オブジェクト22と、追跡情報に含まれる追跡対象オブジェクトとの対応付けを行う。
 ここで、オブジェクト列20の近くに存在すると判定されたにもかかわらず、対応する追跡対象オブジェクトが存在しないオブジェクト22が存在しうる。このようなオブジェクト22としては、例えば、(1)オブジェクト列20に正規加入しようとしているオブジェクト22、(2)オブジェクト列20に割り込もうとしているオブジェクト、(3)オブジェクト列20の付近を通過しているオブジェクト、又は(4)オブジェクト列20の付近で滞留しているオブジェクトなどが考えられる。
 ここで、仮にオブジェクト22がオブジェクト列20に加わるオブジェクトである場合、オブジェクト22がオブジェクト列20の末尾に位置する追跡対象オブジェクトよりも後ろに位置すれば、そのオブジェクト22は正規加入するオブジェクトである。一方、オブジェクト22がオブジェクト列20の末尾に位置する追跡対象オブジェクトよりも前に位置すれば、そのオブジェクト22は割り込みをするオブジェクトである。
 そこで実施形態2の情報処理装置2000は、オブジェクト列20の末尾に位置する追跡対象オブジェクトよりも前に位置するオブジェクト22を、第2判定対象オブジェクトとして扱う。そして情報処理装置2000は、第2判定対象オブジェクトについて、オブジェクト列20に割り込んだか否か(上記(2)に該当するオブジェクト22であるか否か)を判定する。以下、この判定を割り込み判定とも表記する。
 割り込み判定を行う際、情報処理装置2000は、オブジェクト列20に含まれる他のオブジェクト22との関係に基づく、第2判定対象オブジェクトの大局的な振る舞いを推定する。そして、情報処理装置2000は、推定した大局的な振る舞いに基づいて、第2判定対象オブジェクトの割り込み判定を行う。
 ここで、第2判定対象オブジェクトがオブジェクト列20に割り込む際に、オブジェクト列20内のオブジェクト22(追跡対象オブジェクト)について生じる変化について説明する。新たなオブジェクト22がオブジェクト列20に割り込むと、割り込みが発生した箇所付近における追跡対象オブジェクトの間隔が、割り込み発生前よりも小さくなる。図14はオブジェクト列20を真上から見たときの模式図である。左端の図は、割り込みが発生する前の状況を示している。オブジェクト22-1からオブジェクト22-3は、いずれも追跡対象オブジェクトである。各オブジェクト22は、70cm 間隔で等間隔に並んでいる。
 中央の図は、割り込みが発生している状況を示している。オブジェクト22-4が、オブジェクト22-1とオブジェクト22-2の間に割り込んでいる。オブジェクト22-4がオブジェクト22-1とオブジェクト22-2の間に割り込むと、オブジェクトの間隔は 70cm よりも小さくなる。
 右端の図は、割り込みが発生した後の状況を示している。割り込みが発生すると、割り込みが発生した箇所から後ろの各追跡対象オブジェクトが徐々に後退することで、オブジェクトの間隔が自然に調整される。そして最終的には、オブジェクト22の間隔が元々の間隔(70cm)と同程度になる。ただし、実際には割り込みが発生する前と比べて間隔が若干狭まることが多い。
 オブジェクト22がオブジェクト列20に割り込む場合には上述のような変化が生じる一方、オブジェクト22がオブジェクト列20の末尾からオブジェクト列20に加わる場合、オブジェクト22がオブジェクト列20の付近を通過する場合、及びオブジェクト22がオブジェクト列20付近で滞留している場合ではいずれも、オブジェクト列20内の追跡対象オブジェクトの間隔に上述のような変化は生じない。このことから、オブジェクト列20に含まれる他のオブジェクト22との関係に基づく第2判定対象オブジェクトの大局的な振る舞いを考慮することで、第2判定対象オブジェクトがオブジェクト列20に割り込んでいるか否かを精度良く把握することができる。
 上述のように第2判定対象オブジェクトの大局的な振る舞いを考慮して割り込み判定を行うために、実施形態2の情報処理装置2000は、第2振る舞い推定部2050及び第2判定部2060を有する。第2振る舞い推定部2050は、第2判定対象オブジェクトの大局的な振る舞いを推定する。第2判定部2060は、推定された第2判定対象オブジェクトの大局的な振る舞いに基づいて、第2判定対象オブジェクトがオブジェクト列20に割り込んだか否かを判定する。
<ハードウエア構成の例>
 実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<処理の流れ>
 実施形態2の情報処理装置2000が追跡情報の生成及び更新を行う流れの概略は、実施形態1の情報処理装置2000の場合と同様に、図6で表される。
 図15は、実施形態2の情報処理装置2000が追跡情報を更新する処理の流れを例示するフローチャートである。実施形態2の情報処理装置2000が追跡情報を更新する流れは、実施形態1の情報処理装置2000が追跡情報を更新する流れと概ね同じである。ただしこれらは、以下の2点において異なる。
 第1に、実施形態1の振る舞い推定部2020は、S208において、第1判定対象オブジェクトの大局的な振る舞いを推定する。一方、実施形態2の第2振る舞い推定部2050は、S208において、第2判定対象オブジェクトの大局的な振る舞いを推定する。
 第2に、図8はS210を有する一方で、図15はS302を有する。S302において、第2判定部2060は、第2判定対象オブジェクトがオブジェクト列20に割り込んだか否かを判定する。
 なお、実施形態2の情報処理装置2000は、割り込み判定に加え、離脱判定を行ってもよい。この場合、図15のフローチャートは、S302の前後いずれかにS210を有する。
<第2判定オブジェクトとして扱うオブジェクト22の決め方>
 情報処理装置2000は、オブジェクト列20の近くに存在し、なおかつ対応する追跡対象オブジェクトが存在しないオブジェクト22を、第2判定対象オブジェクトとして扱う。ここで、オブジェクト22がオブジェクト列20の近くに存在するか否かを判定する方法は様々である。例えば情報処理装置2000は、オブジェクト22とオブジェクト列20との間の距離が所定値以下である場合に、そのオブジェクト22がオブジェクト列20の近くに存在すると判定する。オブジェクト22とオブジェクト列20の間の距離を算出する方法については、前述した通りである。その他にも例えば、第2振る舞い推定部2050は、オブジェクト22が前述した列エリア内に位置する場合に、そのオブジェクト22がオブジェクト列20の近くに存在すると判定する。
<大局的な振る舞いの推定:S208>
 第2振る舞い推定部2050は、第2判定対象オブジェクトの大局的な振る舞いを推知する(S208)。第2判定対象オブジェクトがオブジェクト列20に割り込んだ場合、その割り込み位置の前後の追跡対象オブジェクトの間隔が変化する。そこで例えば、情報処理装置2000は、第2判定対象オブジェクトの大局的な振る舞いを、そのオブジェクトの局所的な振る舞い、及びそのオブジェクトの前後に隣接する他の追跡対象オブジェクト(例えば一つ前または後ろに位置する追跡対象オブジェクト)の局所的な振る舞いとの組み合わせに基づいて推定する。
 図16は、第2判定対象オブジェクトの大局的な振る舞いを示す表を例示する図である。ここで、第2判定対象オブジェクトはオブジェクトAであるとする。そして図16において、オブジェクトBは、オブジェクトAがオブジェクト列20に含まれると仮定した場合に、オブジェクト列20においてオブジェクトAの一つ前に位置するオブジェクトである。オブジェクトCは、オブジェクトAがオブジェクト列20に含まれると仮定した場合に、オブジェクト列20においてオブジェクトAの一つ後ろに位置するオブジェクトである。
 図16は、オブジェクトB及びCの局所的な振る舞いの組み合わせに対応づけて、オブジェクトA(すなわち、第2判定対象オブジェクト)の大局的な振る舞いを示している。図16において、オブジェクトBとオブジェクトCの局所状態の組み合わせが、オブジェクトBとオブジェクトCの間隔が広がるような組み合わせの場合には、オブジェクトAの大局状態は「割り込み動作」となっている。それ以外の組み合わせの場合は「滞留or通過」となっている。
<割り込みの検出:S302>
 第2判定部2060は、各第2判定対象オブジェクトについて割り込み判定を行う(S302)。具体的には、第2判定部2060は、第2判定対象オブジェクトの大局的な振る舞いに基づいて、第2判定対象オブジェクトがオブジェクト列20に割り込んだことの尤度を算出する。ここで算出される尤度を、割り込み尤度と呼ぶ。第2判定部2060は、割り込み尤度に基づいて、第2判定対象オブジェクトがオブジェクト列20に割り込んだか否かを判定する。
 例えば第2判定部2060は、第2判定対象オブジェクトについて算出された割り込み尤度が所定値以上である場合に、その第2判定対象オブジェクトがオブジェクト列20に割り込んだと判定する。一方、第2判定部2060は、第2判定対象オブジェクトについて算出された割り込み尤度が所定値未満である場合に、その判定対象オブジェクトがオブジェクト列20に割り込んでいないと判定する。
 その他にも例えば、第2判定部2060は、第2判定対象オブジェクトの割り込み尤度が所定値以上である状況が所定期間継続した場合のみ、第2判定対象オブジェクトがオブジェクト列20に割り込んだと判定してもよい。その他にも例えば、第2判定部2060は、所定期間における第2判定対象オブジェクトの割り込み尤度の統計値を算出し、その統計値が所定値以上である場合のみ、第2判定対象オブジェクトがオブジェクト列20に割り込んだと判定してもよい。統計値は、例えば、平均値、積算値、最大値、又は最小値などである。
 ここで、第2判定オブジェクトについて所定期間割り込み尤度を算出する場合、情報処理装置2000は、オブジェクト列20に加わったことがまだ確定していないオブジェクト22についても追跡を行う必要がある。そこで例えば、情報処理装置2000は、割り込み尤度の算出対象としたオブジェクト22(第2判定オブジェクトとして扱ったオブジェクト22)を、追跡対象オブジェクトと区別可能な態様で、追跡情報に仮に追加しておく。そして、追加情報に仮に追加されたオブジェクト22について、オブジェクト列20に割り込んだという判定がなされたときから、そのオブジェクト22を追跡対象オブジェクトとして扱うようにする。
<割り込み尤度を算出するためのパラメータについて>
 第2判定部2060は、第2判定対象オブジェクトに関する種々のパラメータを用いて割り込み尤度を算出する。ここで、入力されたパラメータに基づいて割り込み尤度を出力する関数を、割り込み尤度関数と呼ぶ。割り込み尤度関数が利用するパラメータの種類については後述する。
 割り込み尤度関数を用いて得られる割り込み尤度には、第2判定対象オブジェクトの大局的な振る舞いが反映されるようにする。その具体的な方法は、離脱尤度関数を用いて得られる離脱尤度に判定対象オブジェクトの大局的な振る舞いが反映されるようにする方法と同様である。
 以下、離脱尤度関数において用いられるパラメータに着目しながら、離脱尤度関数についてさらに説明する。
 割り込み尤度関数で用いられるパラメータは、例えば、第2判定対象オブジェクトと第2判定対象オブジェクトの一つ前に並んでいる追跡対象オブジェクトとの距離と、第2判定対象オブジェクトと第2判定対象オブジェクトの一つ後ろに並んでいる追跡対象オブジェクトとの距離である。ここで、「第2判定対象オブジェクトの一つ前に並んでいる追跡対象オブジェクト」とは、第2判定対象オブジェクトがオブジェクト列20に含まれると仮定した場合において、オブジェクト列20において第2判定対象オブジェクトの一つ前に位置する追跡対象オブジェクトを意味する。同様に、「第2判定対象オブジェクトの一つ後ろに並んでいる追跡対象オブジェクト」とは、第2判定対象オブジェクトがオブジェクト列20に含まれると仮定した場合において、オブジェクト列20において第2判定対象オブジェクトの一つ後ろに位置する追跡対象オブジェクトを意味する。
 上記距離をパラメータとして利用する割り込み尤度関数としては、例えば、その距離が大きくなるにつれて単調非減少するものが利用される。
 その他にも例えば、割り込み尤度関数で用いられるパラメータは、第2判定対象オブジェクトの移動方向と、追跡対象オブジェクトの移動方向のなす角である。列に並んでいないオブジェクトの移動方向は不規則である一方で、列に並んでいるオブジェクトの移動方向は列の前方となるのが通常である。したがって、第2判定対象オブジェクトがオブジェクト列20に含まれる場合、第2判定対象オブジェクトと追跡対象オブジェクトの移動方向のなす角は非常に小さくなる。例えば割り込み尤度関数では、上述のなす角が任意の三角関数に適用できる。ここで、第2判定対象オブジェクトとの比較対象とする追跡対象オブジェクトとしては、任意の追跡対象オブジェクトを利用できる。
 その他にも例えば、割り込み尤度関数で用いられるパラメータは、第2判定対象オブジェクトの移動方向の時系列変化である。オブジェクト列20に割り込む第2判定対象オブジェクトは、割り込む前には行列線に向かって(行列線の向きと直交する方向に)移動し、割り込んだ後は行列線上を移動する。したがって、例えば第2判定対象オブジェクトと行列線のなす角を sin 関数に適用すれば、値は1に近い値から次第に0に近づいていく。例えば割り込み尤度関数では、この値の変化が割り込みの一般的なパターンに近いかどうかを利用できる。この一般的なパターンは、割り込むオブジェクトを多数計測し、モデルを作成しても良い。
 その他にも例えば、割り込み尤度関数で用いられるパラメータは、第2判定対象オブジェクトの滞留時間である。流動性の低い(前に進むまでにある程度の時間がかかる)列の場合、オブジェクトが同じ位置にとどまる時間が長い。したがって滞留時間(例えば局所状態が「静止」の状態が継続している時間)を利用する割り込み尤度関数としては、例えばその滞留時間が長くなるに連れて単調非減少するものが利用される。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態を組み合わせた構成や、上記以外の様々な構成を採用することもできる。

Claims (26)

  1.  オブジェクト列が含まれる撮像画像を用いて、前記オブジェクト列に含まれる第1オブジェクトと第2オブジェクトを検出し、前記第2オブジェクトとの関係に基づく前記第1オブジェクトの大局的な振る舞いを推定する振る舞い推定手段と、
     前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したか否かを判定する判定手段と、を有する情報処理装置。
  2.  前記判定手段は、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第2オブジェクトとの速度差、及び前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角のうちの少なくとも1つ、並びに前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したことの尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したか否かを判定する、請求項1に記載の情報処理装置。
  3.  前記振る舞い推定手段は、前記撮像画像を用い、前記第1オブジェクト及び前記第2オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
     前記振る舞い推定手段は、前記第1オブジェクトの局所的な振る舞いと前記第2オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第1オブジェクトの大局的な振る舞いを推定する、請求項1又は2に記載の情報処理装置。
  4.  前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか1つである、請求項3に記載の情報処理装置。
  5.  前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第1振る舞い、前記オブジェクト列内で後退していることを表す第2振る舞い、静止していることを表す第3振る舞い、及び離脱していることを表す第4振る舞いのいずれかになりうる、請求項1乃至4いずれか一項に記載の情報処理装置。
  6.  前記判定手段は、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第2オブジェクトとの速度差、及び前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角のうちの少なくとも1つを表すパラメータ並びに前記第1オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第1オブジェクトが前記オブジェクト列から離脱した尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したか否かを判定し、
     前記判定モデルは、前記パラメータが固定された場合、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞いであるときに、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞い以外であるときよりも大きい前記尤度を算出する、請求項5に記載の情報処理装置。
  7.  コンピュータによって実行される制御方法であって、
     オブジェクト列が含まれる撮像画像を用いて、前記オブジェクト列に含まれる第1オブジェクトと第2オブジェクトを検出し、前記第2オブジェクトとの関係に基づく前記第1オブジェクトの大局的な振る舞いを推定する振る舞い推定ステップと、
     前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したか否かを判定する判定ステップと、を有する制御方法。
  8.  前記判定ステップにおいて、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第2オブジェクトとの速度差、及び前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角のうちの少なくとも1つ、並びに前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したことの尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したか否かを判定する、請求項7に記載の制御方法。
  9.  前記振る舞い推定ステップにおいて、前記撮像画像を用い、前記第1オブジェクト及び前記第2オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
     前記振る舞い推定ステップにおいて、前記第1オブジェクトの局所的な振る舞いと前記第2オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第1オブジェクトの大局的な振る舞いを推定する、請求項7又は8に記載の制御方法。
  10.  前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか1つである、請求項9に記載の制御方法。
  11.  前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第1振る舞い、前記オブジェクト列内で後退していることを表す第2振る舞い、静止していることを表す第3振る舞い、及び離脱していることを表す第4振る舞いのいずれかになりうる、請求項7乃至10いずれか一項に記載の制御方法。
  12.  前記判定ステップにおいて、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第2オブジェクトとの速度差、及び前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角のうちの少なくとも1つを表すパラメータ並びに前記第1オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第1オブジェクトが前記オブジェクト列から離脱した尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列から離脱したか否かを判定し、
     前記判定モデルは、前記パラメータが固定された場合、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞いであるときに、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞い以外であるときよりも大きい前記尤度を算出する、請求項11に記載の制御方法。
  13.  請求項7乃至11いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
  14.  オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第1オブジェクトについて、前記オブジェクト列に含まれる第2オブジェクト及び第3オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定手段と、
     前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定手段と、を有する情報処理装置。
  15.  前記判定手段は、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第3オブジェクトとの間の距離、前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角、前記第1オブジェクトの移動方向の時系列変化、及び前記第1オブジェクトの滞留時間のうちの少なくとも1つ、並びに前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだことの尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだか否かを判定する、請求項14に記載の情報処理装置。
  16.  前記振る舞い推定手段は、前記撮像画像を用い、前記第2オブジェクト及び前記第3オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
     前記振る舞い推定手段は、前記第2オブジェクトの局所的な振る舞いと前記第3オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第1オブジェクトの大局的な振る舞いを推定する、請求項14又は15に記載の情報処理装置。
  17.  前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか1つである、請求項16に記載の情報処理装置。
  18.  前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第1振る舞い、前記オブジェクト列内で後退していることを表す第2振る舞い、静止していることを表す第3振る舞い、及び割り込んでいることを表す第4振る舞いのいずれかになりうる、請求項14乃至17いずれか一項に記載の情報処理装置。
  19.  前記判定手段は、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第3オブジェクトとの間の距離、前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角、前記第1オブジェクトの移動方向の時系列変化、及び前記第1オブジェクトの滞留時間のうちの少なくとも1つを表すパラメータ並びに前記第1オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第1オブジェクトが前記オブジェクト列に割り込んだ尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだか否かを判定し、
     前記判定モデルは、前記パラメータが固定された場合、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞いであるときに、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞い以外であるときよりも大きい前記尤度を算出する、請求項18に記載の情報処理装置。
  20.  コンピュータによって実行される制御方法であって、
     オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第1オブジェクトについて、前記オブジェクト列に含まれる第2オブジェクト及び第3オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定ステップと、
     前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定ステップと、を有する制御方法。
  21.  前記判定ステップにおいて、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第3オブジェクトとの間の距離、前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角、前記第1オブジェクトの移動方向の時系列変化、及び前記第1オブジェクトの滞留時間のうちの少なくとも1つ、並びに前記推定された第1オブジェクトの大局的な振る舞いに基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだことの尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだか否かを判定する、請求項20に記載の制御方法。
  22.  前記振る舞い推定ステップにおいて、前記撮像画像を用い、前記第2オブジェクト及び前記第3オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
     前記振る舞い推定ステップにおいて、前記第2オブジェクトの局所的な振る舞いと前記第3オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第1オブジェクトの大局的な振る舞いを推定する、請求項20又は21に記載の制御方法。
  23.  前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか1つである、請求項22に記載の制御方法。
  24.  前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第1振る舞い、前記オブジェクト列内で後退していることを表す第2振る舞い、静止していることを表す第3振る舞い、及び割り込んでいることを表す第4振る舞いのいずれかになりうる、請求項20乃至23いずれか一項に記載の制御方法。
  25.  前記判定ステップにおいて、前記第1オブジェクトと前記第2オブジェクトとの間の距離、前記第1オブジェクトと前記第3オブジェクトとの間の距離、前記第1オブジェクトの移動方向と前記第2オブジェクトの移動方向とが成す角、前記第1オブジェクトの移動方向の時系列変化、及び前記第1オブジェクトの滞留時間のうちの少なくとも1つを表すパラメータ並びに前記第1オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第1オブジェクトが前記オブジェクト列に割り込んだ尤度を算出し、前記算出された尤度に基づいて、前記第1オブジェクトが前記オブジェクト列に割り込んだか否かを判定し、
     前記判定モデルは、前記パラメータが固定された場合、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞いであるときに、前記第1オブジェクトの大局的な振る舞いが前記第4振る舞い以外であるときよりも大きい前記尤度を算出する、請求項24に記載の制御方法。
  26.  請求項20乃至25いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
PCT/JP2017/032921 2017-09-12 2017-09-12 情報処理装置、制御方法、及びプログラム WO2019053789A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019541524A JP6908119B2 (ja) 2017-09-12 2017-09-12 情報処理システム、制御方法、及びプログラム
PCT/JP2017/032921 WO2019053789A1 (ja) 2017-09-12 2017-09-12 情報処理装置、制御方法、及びプログラム
US16/646,215 US11314968B2 (en) 2017-09-12 2017-09-12 Information processing apparatus, control method, and program
JP2021095775A JP2021144741A (ja) 2017-09-12 2021-06-08 情報処理システム、制御方法、及びプログラム

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
WO2019053789A1 true WO2019053789A1 (ja) 2019-03-21

Family

ID=65722546

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US11314968B2 (ja)
JP (2) JP6908119B2 (ja)
WO (1) WO2019053789A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024084595A1 (ja) * 2022-10-18 2024-04-25 日本電気株式会社 情報処理装置、情報処理制御方法及び記録媒体

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230040708A (ko) * 2021-09-16 2023-03-23 현대자동차주식회사 행위 인식 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316582A (ja) * 2004-04-27 2005-11-10 Glory Ltd 待ち時間案内システムおよび方法およびプログラム
JP2013109395A (ja) * 2011-11-17 2013-06-06 Sharp Corp 待ち行列管理装置、待ち行列管理方法および、待ち行列管理システム
WO2016114392A1 (ja) * 2015-01-15 2016-07-21 日本電気株式会社 情報出力装置、カメラ、情報出力システム、情報出力方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107637B (zh) 2004-11-02 2013-02-06 传感电子公司 行列监视系统和方法
JP2007317052A (ja) * 2006-05-29 2007-12-06 Japan Airlines International Co Ltd 行列の待ち時間の計測システム
JP4624396B2 (ja) 2007-10-26 2011-02-02 パナソニック株式会社 状況判定装置、状況判定方法、状況判定プログラム、異常判定装置、異常判定方法および異常判定プログラム
JP5155110B2 (ja) * 2008-11-17 2013-02-27 株式会社日立国際電気 監視装置
JP5063567B2 (ja) * 2008-11-28 2012-10-31 セコム株式会社 移動物体追跡装置
JP5400718B2 (ja) * 2010-07-12 2014-01-29 株式会社日立国際電気 監視システムおよび監視方法
JP2015194915A (ja) * 2014-03-31 2015-11-05 住友電気工業株式会社 移動体追跡装置、移動体追跡方法、移動体追跡システムおよびカメラ
JP6898165B2 (ja) * 2017-07-18 2021-07-07 パナソニック株式会社 人流分析方法、人流分析装置及び人流分析システム
US11704782B2 (en) * 2018-10-03 2023-07-18 The Toronto-Dominion Bank Computerized image analysis for automatically determining wait times for a queue area

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316582A (ja) * 2004-04-27 2005-11-10 Glory Ltd 待ち時間案内システムおよび方法およびプログラム
JP2013109395A (ja) * 2011-11-17 2013-06-06 Sharp Corp 待ち行列管理装置、待ち行列管理方法および、待ち行列管理システム
WO2016114392A1 (ja) * 2015-01-15 2016-07-21 日本電気株式会社 情報出力装置、カメラ、情報出力システム、情報出力方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024084595A1 (ja) * 2022-10-18 2024-04-25 日本電気株式会社 情報処理装置、情報処理制御方法及び記録媒体

Also Published As

Publication number Publication date
JP2021144741A (ja) 2021-09-24
US11314968B2 (en) 2022-04-26
JP6908119B2 (ja) 2021-07-21
JPWO2019053789A1 (ja) 2020-11-12
US20200279103A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
CN107358149B (zh) 一种人体姿态检测方法和装置
US11643076B2 (en) Forward collision control method and apparatus, electronic device, program, and medium
US11074461B2 (en) People flow estimation device, display control device, people flow estimation method, and recording medium
US10984266B2 (en) Vehicle lamp detection methods and apparatuses, methods and apparatuses for implementing intelligent driving, media and devices
WO2021036373A1 (zh) 目标跟踪方法、装置和计算机可读存储介质
CN109858552B (zh) 一种用于细粒度分类的目标检测方法及设备
CN112200131A (zh) 一种基于视觉的车辆碰撞检测方法、智能终端及存储介质
KR101840167B1 (ko) 클라우드 상에서 멀티 카메라 간의 핸드오버를 통한 관심 객체의 연계추적 장치 및 그 방법
JP2021144741A (ja) 情報処理システム、制御方法、及びプログラム
KR102198920B1 (ko) 온라인 학습을 이용한 객체 트래킹을 위한 방법 및 시스템
WO2023273344A1 (zh) 车辆跨线识别方法、装置、电子设备和存储介质
CN109086725B (zh) 手部跟踪方法及机器可读存储介质
US20230410523A1 (en) Information processing apparatus, control method, and program
JP7115579B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN111986229A (zh) 视频目标检测方法、装置及计算机系统
CN113298852A (zh) 目标跟踪方法、装置、电子设备及计算机可读存储介质
JPWO2018179119A1 (ja) 映像解析装置、映像解析方法およびプログラム
CN112437274A (zh) 一种抓拍图片的传输方法及抓拍机
CN112446229A (zh) 一种标志杆的像素坐标获取方法及装置
JP6954416B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Rahimi et al. Pose-aware monocular localization of occluded pedestrians in 3D scene space
AU2022352047A1 (en) Fish detection device, fish detection method, and recording medium
JP2019207676A (ja) 画像処理装置、画像処理方法
JP2022026849A (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: 17925239

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019541524

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

Country of ref document: EP

Kind code of ref document: A1