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

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

Info

Publication number
WO2018181484A1
WO2018181484A1 PCT/JP2018/012784 JP2018012784W WO2018181484A1 WO 2018181484 A1 WO2018181484 A1 WO 2018181484A1 JP 2018012784 W JP2018012784 W JP 2018012784W WO 2018181484 A1 WO2018181484 A1 WO 2018181484A1
Authority
WO
WIPO (PCT)
Prior art keywords
column
detected
moving image
row
element information
Prior art date
Application number
PCT/JP2018/012784
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 US16/498,949 priority Critical patent/US11151389B2/en
Priority to JP2019509981A priority patent/JP7156269B2/ja
Publication of WO2018181484A1 publication Critical patent/WO2018181484A1/ja
Priority to US17/482,123 priority patent/US11790659B2/en
Priority to US18/241,770 priority patent/US20230410522A1/en
Priority to US18/242,242 priority patent/US20230410523A1/en
Priority to US18/242,249 priority patent/US20230410524A1/en

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
    • G06V20/53Recognition of crowd images, e.g. recognition of crowd congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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
    • 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 an information processing apparatus, a control method, and a program.
  • Patent Documents 1 to 3 disclose a technique for estimating the waiting time of a column by assuming that a column is formed by all the target objects detected from the video and counting the target objects included in the video.
  • Patent Document 4 discloses a technique for detecting objects arranged on a straight line as one column.
  • Patent Document 5 discloses a technique for detecting a column from an image by treating a region included in an installed marker as a region where a column can be formed.
  • Patent Document 6 discloses a technique for detecting a partition line (column outer frame) by detecting a trajectory of movement of a person who forms a column from an image.
  • Patent Document 7 discloses a technique for calculating a moving direction for each of a plurality of persons detected from an image and excluding persons whose moving directions are different from a predetermined direction from the line as persons not included in the line.
  • Patent Document 8 states that when a new object that is not arranged in a row is stationary or finely moved at a position within a predetermined distance from the end of the column, or at a location within a predetermined interrupt distance from a portion other than the end of the column, In this case, a technique for detecting that the target has been added to the queue is disclosed.
  • Patent Document 9 discloses a technique for recognizing that a group is included in a person's column formed at a predetermined place, and calculating a waiting time of the column based on the number of groups.
  • Patent Document 10 describes a case where a person who does not constitute a row approaches a place where the distance from the last person in the row is equal to or less than a predetermined distance, and the position is included in the range of the row direction and a predetermined angle.
  • Patent Document 11 provides a mechanism that emits light to a shopping cart used by a customer, and the shopping cart emits light when the customer is arranged in a row. The technology to identify is disclosed.
  • JP-A-11-164040 Japanese Patent Laid-Open No. 11-175694 JP 2001-291144 A JP 2005-216217 A JP 2005-242896 A JP 2005-316582 A JP 2007-317052 A Special table 2008-519567 gazette JP2015-215787A JP 2013-109395 A JP 2011-096140 A
  • the present inventor has found a new technique for detecting a change in a row of objects.
  • the present invention has been made in view of the above problems.
  • One of the objects of the present invention is to provide a new technique for detecting a change in an object column.
  • the information processing apparatus uses 1) a column detection unit that detects a column of an object from moving image data, and 2) a moving image frame in which the column of the object is detected, and the object included in the column is the moving image frame.
  • Generating means for generating element information that is information that associates an object area that is an area occupied by the object and an attribute of the object; 3) the element information and the moving picture frame from which the element information is generated
  • Change detection means for detecting a change in the column based on a result of object detection for a moving image frame.
  • the generation unit updates the element information used by the change detection unit by generating the element information for the column in which the change is detected.
  • the control method of the present invention is executed by a computer.
  • the control method includes: 1) a row detection step for detecting a row of objects from video data; and 2) a region occupied by the object included in the row in the video frame using a video frame in which the row of objects is detected.
  • a change detecting step for detecting a change in the column based on a result of object detection for.
  • the element information used in the change detection step is updated by generating the element information for the column in which the change is detected.
  • the program of the present invention causes a computer to execute each step of the control method of the present invention.
  • a new technique for detecting a change in an object row is provided.
  • FIG. 3 is a diagram illustrating an outline of an operation of the information processing apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating, in time series, a process in which the information processing apparatus according to the first embodiment detects a change in an object sequence.
  • 1 is a diagram illustrating a configuration of an information processing apparatus according to a first embodiment. It is a figure which illustrates the computer for implement
  • 3 is a flowchart illustrating a flow of processing executed by the information processing apparatus according to the first embodiment. It is a figure which illustrates a mode that the object detected from moving image data is tracked. It is a figure which illustrates the method of detecting a new object row
  • FIG. 6 is a block diagram illustrating an information processing apparatus according to a second embodiment.
  • each block diagram represents a functional unit configuration, not a hardware unit configuration.
  • FIGS. 1 and 2 are diagrams illustrating an outline of the operation of the information processing apparatus (an information processing apparatus 2000 described later) according to the first embodiment.
  • the operation of the information processing apparatus 2000 described below is an example for facilitating understanding of the information processing apparatus 2000, and the operation of the information processing apparatus 2000 is not limited to the following example. Details and variations of the operation of the information processing apparatus 2000 will be described later.
  • the information processing apparatus 2000 detects the object sequence 20 from the moving image data 12 generated by the camera 10.
  • the object column 20 is a column composed of objects 22.
  • the object row 20 is composed of the objects 22-1 to 22-4.
  • the moving image frame 14 is one of the moving image frames constituting the object row 20.
  • the object column 20 is a column of people waiting for the use of a cashier counter, a ticket vending machine or the like.
  • the object 22 is a person.
  • the object row 20 is a row of vehicles waiting for the use of the parking lot.
  • the object 22 is a vehicle.
  • an object 22 is a person.
  • the information processing apparatus 2000 uses the moving image frame 14 in which the object sequence 20 is detected to generate element information that is information about the object 22 included in the object sequence 20.
  • the element information is information in which for each object 22 included in the object column 20, an area occupied by the object 22 in the moving image frame 14 (hereinafter, object area 24) and an attribute of the object 22 are associated with each other.
  • the object areas 24 of the object 22-1 to the object 22-4 are the object area 24-1 to the object area 24-4, respectively.
  • the attributes of the object 22-1 to the object 22-4 are associated with the object area 24-1 to the object area 24-4.
  • the object sequence 20 included in one moving image frame 14 can be expressed by dividing the object sequence 20 by the object area 24 occupied by each object 22 constituting the object sequence 20.
  • the information processing apparatus 2000 changes the object sequence 20 based on the element information generated from the moving image frame 14 and the detection result of the object 22 for each moving image frame 14 generated after the moving image frame 14. To detect. Then, the information processing apparatus 2000 updates the element information used by the change detection unit 2060 by generating element information for the changed object string 20. A specific method for the information processing apparatus 2000 to detect a change in the object row 20 will be described later.
  • FIG. 2 is a diagram illustrating, in time series, processing in which the information processing apparatus 2000 detects a change in the object sequence 20.
  • the change in the object sequence 20 that “the leading object 22 leaves the object sequence 20” occurs at the time point Tb.
  • the information processing apparatus 2000 detects the object sequence 20 from the moving image frame 14-1 generated at the time “Ta”. Then, the information processing apparatus 2000 generates element information using the moving image frame 14-1.
  • the element information generated here is the same element information as the element information shown in FIG.
  • the first object 22 leaves the object row 20.
  • the information processing apparatus 2000 uses the change in the object string 20 “leaving the top object 22” as the element information generated at the time Ta and the detection result of the object 22 in the moving image frame 14 generated after the time Ta. Detect based on.
  • the information processing apparatus 2000 updates the element information used for detecting the change in the object string 20 by generating element information for the object string 20 after the change.
  • the information processing apparatus 2000 repeats the process of “detecting a change in the object string 20 using the element information generated most recently and updating the element information”.
  • the information processing apparatus 2000 of the present embodiment for the object string 20 detected from the moving image data 12, the area (object area 24) occupied by each object 22 constituting the object string 20 and the attributes of the object 22 Is generated. By doing in this way, the structure of the object row
  • the information processing apparatus 2000 detects a change in the object sequence 20 based on the detection result of the object 22 and the element information in each moving image frame 14 after the moving image frame 14 in which the element information is generated. By doing so, since the change in the object sequence 20 is detected based on the exact configuration of the object sequence 20 indicated by the element information, the change in the object sequence 20 can be accurately grasped.
  • FIG. 3 is a diagram illustrating a configuration of the information processing apparatus 2000 according to the first embodiment.
  • the information processing apparatus 2000 includes a column detection unit 2020, a generation unit 2040, and a change detection unit 2060.
  • the column detection unit 2020 detects the object column 20 from the moving image data 12.
  • the generation unit 2040 generates element information for each of the plurality of moving image frames 14 including the object sequence 20.
  • the change detection unit 2060 detects a change in the object sequence 20 by comparing element information generated for each of the plurality of moving image frames 14.
  • Each functional component of the information processing apparatus 2000 may be realized by hardware (eg, a hard-wired electronic circuit) that implements each functional component, or a combination of hardware and software (eg: It may be realized by a combination of an electronic circuit and a program for controlling it).
  • hardware eg, a hard-wired electronic circuit
  • software eg: It may be realized by a combination of an electronic circuit and a program for controlling it.
  • 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, or a smartphone.
  • the computer 1000 may be a dedicated computer designed for realizing the information processing apparatus 2000 or 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 through which the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 transmit / receive data to / from each other.
  • the method of connecting the processors 1040 and the like is not limited to bus connection.
  • the processor 1040 is an arithmetic device such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
  • the memory 1060 is a main storage device realized using a RAM (Random Access Memory) or the like.
  • the storage device 1080 is an auxiliary storage device realized by using a hard disk, an SSD (Solid State Drive), a memory card, or a ROM (Read Only Memory). However, the storage device 1080 may be configured by hardware similar to the hardware configuring the main storage device such as a RAM.
  • the input / output interface 1100 is an interface for connecting the computer 1000 and an input / output device.
  • the network interface 1120 is an interface for connecting the computer 1000 to a communication network.
  • This communication network is, for example, “LAN (Local Area Network)” or “WAN (Wide Area Network)”.
  • a method of connecting the network interface 1120 to the communication network may be a wireless connection or a wired connection.
  • the computer 1000 is communicably connected to the camera 10 via a network.
  • the method of connecting the computer 1000 so as to be communicable with the camera 10 is not limited to connection via a network.
  • the computer 1000 may not be connected to the camera 10 so as to be communicable.
  • the storage device 1080 stores a program module that implements each functional component (the column detection unit 2020, the generation unit 2040, and the change detection unit 2060) of the information processing apparatus 2000.
  • the processor 1040 implements a function corresponding to each program module by reading each program module into the memory 1060 and executing the program module.
  • the computer 1000 may be realized by using a plurality of computers.
  • the column detection unit 2020, the generation unit 2040, and the change detection unit 2060 can be realized by different computers.
  • the program module stored in the storage device of each computer may be only the program module corresponding to the functional component realized by the computer.
  • the camera 10 is an arbitrary camera that can generate moving image data by repeatedly capturing images.
  • the camera 10 is a monitoring camera provided for monitoring a specific facility or road.
  • the camera 10 may be used as the computer 1000 for realizing the information processing apparatus 2000.
  • the camera 10 processes the moving image data 12 generated by itself.
  • an intelligent camera, a network camera, or a camera called an IP (Internet Protocol) camera can be used as the camera 10 used for realizing the information processing apparatus 2000 in this way.
  • an IP (Internet Protocol) camera can be used as the camera 10 used for realizing the information processing apparatus 2000 in this way.
  • FIG. 5 is a flowchart illustrating the flow of processing executed by the information processing apparatus 2000 according to the first embodiment.
  • the column detection unit 2020 detects the object column 20 from the moving image frame 14 included in the moving image data 12 (S102).
  • the generation unit 2040 generates element information for the moving image frame 14 in which the object sequence 20 is detected (S104).
  • S106 to 114 are loop processing A that is repeatedly executed until a predetermined end condition is satisfied. If the predetermined end condition is satisfied in S106, the information processing apparatus 2000 ends the process of FIG. On the other hand, if the predetermined end condition is not satisfied, the process of FIG. 5 proceeds to S108.
  • the change detection unit 2060 detects the object 22 from each moving image frame 14 generated after the moving image frame 14 in which the element information is generated (S108).
  • the change detection unit 2060 detects a change in the object string 20 based on the element information and the detection result of the object 22 in S108 (S110).
  • the generation unit 2040 updates element information used by the change detection unit 2060 by generating element information for the changed object string 20 (S112). Since S114 is the end of the loop process A, the process of FIG. 5 proceeds to S106.
  • the information processing apparatus 2000 repeats the process of “detecting a change in the object string 20 using the element information generated most recently (S108 and S110) and updating the element information (S112)”.
  • the predetermined termination condition is arbitrary.
  • the predetermined end condition is that the number of objects 22 included in the object sequence 20 becomes 0, that is, the object sequence 20 disappears.
  • the information processing apparatus 2000 performs the process of FIG. 5 again from the beginning for the moving image data 12 including the moving image frame 14 that has not yet been processed. In this way, the newly formed object row 20 is detected and the change of the object row 20 is detected.
  • the information processing apparatus 2000 acquires moving image data 12 to be processed. There are various methods for the information processing apparatus 2000 to acquire the moving image data 12. For example, the information processing apparatus 2000 receives the moving image data 12 transmitted from the camera 10. Further, for example, the information processing apparatus 2000 accesses the camera 10 and acquires the moving image data 12 stored in the camera 10.
  • the camera 10 may store the moving image data 12 in a storage device provided outside the camera 10.
  • the information processing device 2000 accesses this storage device and acquires the moving image data 12. Therefore, in this case, the information processing apparatus 2000 and the camera 10 may not be connected so as to be communicable.
  • the information processing apparatus 2000 acquires the moving image data 12 generated by the information processing apparatus 2000 itself.
  • the moving image data 12 is stored in, for example, a storage device (for example, the storage device 1080) inside the information processing apparatus 2000. Therefore, the information processing apparatus 2000 acquires the moving image data 12 from these storage devices.
  • the timing at which the information processing apparatus 2000 acquires the moving image data 12 is arbitrary.
  • the information processing apparatus 2000 acquires the moving image data 12 by acquiring the newly generated moving image frame 14 every time a new moving image frame 14 constituting the moving image data 12 is generated by the camera 10.
  • the information processing apparatus 2000 may periodically acquire the unacquired moving image frame 14.
  • the information processing device 2000 uses the camera 10 to generate a plurality of moving image frames 14 (for example, the frame rate of the moving image data 12 is 30 fps ( If frames / second), 30 moving image frames 14) are acquired together.
  • the information processing apparatus 2000 may acquire all the moving image frames 14 constituting the moving image data 12, or may acquire only some moving image frames 14. In the latter case, for example, the information processing apparatus 2000 acquires the moving image frames 14 generated by the camera 10 at a ratio of one to a predetermined number.
  • the column detection unit 2020 detects the object column 20 from the moving image data 12 (S102).
  • Various methods can be adopted for detecting the object sequence 20 from the moving image data 12. Below, the example is demonstrated.
  • the column detection unit 2020 detects an object from each moving image frame 14 and tracks each object 22.
  • what is detected as the object 22 is determined in advance. For example, when a person row is handled as the object row 20, it is determined that a person is detected as the object 22. In addition, for example, when a vehicle row is handled as the object row 20, it is determined that the vehicle is detected as the object 22.
  • An existing technique can be used as a technique for detecting a specific type of object from a moving image frame (that is, image data).
  • the column detection unit 2020 tracks the object 22 by the following method, for example.
  • the method by which the column detection unit 2020 tracks the object 22 is not limited to the following method, and various existing techniques may be used.
  • the column detection unit 2020 allocates an identifier to each object detected from the moving image frame 14, and tracks the object by managing information about the object (hereinafter, tracking information) for each object identifier.
  • the tracking information of a certain object 22 includes, for example, coordinates and size representing the position of the object 22 in the moving image frame 14, a feature amount calculated from the image area (a feature amount of the object), and the like.
  • the position of the object 22 is the center position of the image area representing the object 22 in the moving image frame 14 or the like.
  • the feature amount of the object 22 represents the appearance feature of the object by one or more values.
  • the column detection unit 2020 determines whether the object is in a stationary state or a moving state when tracking the object. For example, when the state where the amount of change in the position of a certain object is equal to or less than a predetermined amount continues for a predetermined time or longer, the column detection unit 2020 sets the state of the object to a stationary state. On the other hand, a state of an object in which the amount of change in the position of the object is greater than a predetermined value is defined as a moving state. The state of the object is indicated by the tracking information described above. An existing technique can also be used for determining whether or not the object being tracked is stationary.
  • FIG. 6 is a diagram illustrating a state in which the object 22 detected from the moving image data 12 is being tracked.
  • the moving image frame 14 includes five objects 22 (object 22-1 to object 22-5). Each of these five objects 22 is assigned an identifier from p001 to p005. Tracking information 30 is generated for these five objects 22. In FIG. 5, for the sake of illustration, the tracking information 30 shows only the identifier and state of the object 22.
  • the column detection unit 2020 detects the object 22 from each of the time-series moving image frames 14 constituting the moving image data 12.
  • the column detection unit 2020 associates the object 22 detected from the newly analyzed moving image frame 14 with the object 22 detected from the already analyzed moving image frame 14 (tracking information has already been generated). In other words, the column detection unit 2020 determines whether the object 22 detected from the newly analyzed moving image frame 14 is a known object 22 or an unknown object.
  • the column detection unit 2020 uses the information of the object 22 obtained from the newly analyzed moving image frame 14 to track the object 22. Update information. For example, the column detection unit 2020 updates information such as the position, feature amount, or state of the object 22. On the other hand, when the object 22 detected from the newly analyzed moving image frame 14 is an unknown object 22, the column detection unit 2020 assigns an identifier that does not overlap with the other object 22 to the object 22. The tracking information of the object 22 is generated.
  • the object 22 being tracked may not be temporarily detected from the moving image frame 14 due to the influence of ambient light or the like. In such a case, if the object 22 is out of the imaging range of the camera 10 and the tracking information of the object 22 is updated or deleted, the object 22 can be accurately tracked. It becomes impossible.
  • the column detection unit 2020 does not delete the tracking information of the object 22 when the object 22 is temporarily not detected from the moving image frame 14 as described above. For example, even when the object 22 is not detected, the column detection unit 2020 continues to hold the tracking information of the object 22 without updating it as long as the length of the period during which the object 22 is not detected is a predetermined value or less. Thereafter, when the object 22 is detected from the moving image frame 14, the tracking information of the object 22 is updated with the information detected from the moving image frame 14. On the other hand, when the length of the period in which the object 22 is not detected is larger than the predetermined value, the column detection unit 2020 deletes the tracking information of the object 22 or captures the camera 10 in the tracking information of the object 22. Updates such as adding information indicating that it has gone out of range. By doing in this way, even if the object 22 cannot be temporarily detected from the moving image frame 14, the object 22 can be tracked with high accuracy.
  • another object 22 may be detected instead.
  • the object 22-1 is detected at the position P in the moving image frame 14-1
  • the object 22-1 is not detected in the next moving image frame 14-2
  • another object 22-2 is located at the position P.
  • the object 22-2 is mistakenly handled as the object 22-1 and the tracking information of the object 22-1 is updated, the object 22-1 and the object 22-2 cannot be correctly tracked.
  • the column detection unit 2020 determines that the detected positions are larger than a predetermined distance.
  • the tracking information of the object 22 detected from the previous moving image frame 14 is not updated by treating it as a different object 22.
  • the column detection unit 2020 determines that the similarity of the feature amounts of these objects 22 is low.
  • the tracking information of the object 22 detected from the previous moving image frame 14 is not updated by treating it as a different object 22.
  • the tracking information becomes incorrect information. It can be prevented from being updated. Therefore, the tracking of the object 22 can be performed with high accuracy.
  • the column detection unit 2020 detects that a new object column 20 has been formed by detecting that a predetermined condition is satisfied by the tracked object 22.
  • the column detection unit 2020 includes, in the tracked object 22, 1) not belonging to the already detected object column 20, and 2) located at a place where the distance from other adjacent objects 22 is a predetermined distance or less. 3) When there are a plurality of objects 22 that satisfy the three conditions of being in a stationary state, it is detected that a new object row 20 is formed by the plurality of objects 22 that satisfy these conditions.
  • whether or not a certain object belongs to the already detected object row 20 can be specified from the process of tracking that object.
  • information indicating whether or not the object 22 belongs to the object row 20 is included in the tracking information 30 described above.
  • “does not belong to object column 20 (not belonging)” is set as the initial value of this information.
  • a value of “belonging to the object string 20 (existing)” is set in the tracking information of the object 22. Set. In this way, it is possible to specify whether or not each object 22 already belongs to the object column 20.
  • the orientation of the object 22 may be further considered. Specifically, a condition that “the objects 22 satisfying the conditions of 1) to 3) are facing the same direction” is further added. In addition, for example, a condition may be added that among a plurality of objects 22 that satisfy the conditions 1) to 3), a predetermined percentage or more of the objects 22 are facing the same direction.
  • FIG. 7 is a first diagram illustrating a method for detecting a new object sequence 20.
  • the object 22-1, the object 22-2, and the object 22-5 are moving. Therefore, these objects 22 do not satisfy the conditions for forming the object row 20.
  • the object 22-3 and the object 22-4 are stationary, the distance between them is larger than the predetermined distance. Therefore, neither the object 22-3 nor the object 22-4 satisfies the conditions for forming the object row 20. Therefore, the object sequence 20 is not detected from the moving image frame 14-1.
  • the moving image frame 14-2 is generated. Also in the moving image frame 14-2, none of the objects 22-1 to 22-5 belongs to the existing object row 20. Further, the object 22-1 and the object 22-5 are stationary. Further, the distance between the object 22-2 and the object 22-5 is equal to or less than a predetermined distance. Therefore, the column detection unit 2020 detects that a new object column 20 is formed by the objects 22-2 and 22-5. The other objects 22 do not satisfy the conditions for forming the object row 20.
  • the object row 20 is formed even when the place where the object row 20 is formed is not known in advance. Can be detected.
  • a place where the object row 20 is formed can be determined in advance. For example, in a supermarket cashier counter, the place where the line of people lined up at the cashier counter is roughly determined.
  • an area in which the object row 20 can be formed (hereinafter, a planned area) may be defined in advance, and the object row 20 may be detected using the definition. That is, the column detection unit 2020 detects that a new object column 20 is formed by one or more objects when the one or more objects 22 being tracked are stationary in the scheduled area. To do. According to this method, even when the number of objects forming the object row 20 is one, the object row 20 can be detected.
  • FIG. 8 is a diagram illustrating a method for detecting the object sequence 20 using the scheduled area.
  • the object 22-1 is stationary within the scheduled area 40. For this reason, the column detection unit 2020 detects the object column 20 formed by the objects 22-1.
  • the method by which the column detection unit 2020 detects the object column 20 from the moving image data 12 is not limited to the above-described method.
  • the column detection unit 2020 may detect the object column 20 by using an existing technique for detecting an object column from moving image data.
  • the generation unit 2040 generates summary information of the object sequence 20 using the moving image frame 14 in which the object sequence 20 is detected by the sequence detection unit 2020 (S104).
  • the element information is information in which the object area 24 that is an area occupied by the object 22 in the moving image frame 14 is associated with the attribute of the object 22. Therefore, in order to generate element information, it is necessary to specify an attribute and an object area 24 for each object 22. Hereinafter, each specifying method will be described.
  • the attribute of the object 22 can include various information.
  • the attribute of the object 22 includes the feature amount of the object 22.
  • the feature amount of the object 22 represents the color or shape of the face, body, clothes, belongings, or the like.
  • the feature amount of the object 22 represents the color, shape, or number of a license plate of the vehicle.
  • an existing technique can be used as the technique for calculating the feature amount of the object included in the moving image frame.
  • the attribute of the object 22 indicates the position of the object 22 in the object row 20.
  • the information processing apparatus 2000 specifies the beginning and the end of the object sequence 20 in order to specify the position of the object 22 in the object sequence 20.
  • a method for specifying the head and tail in the object row 20 will be described.
  • the generation unit 2040 identifies the traveling direction of the object row 20 and identifies the object 22 positioned at the end of the traveling direction in the object row 20 as the first object 22.
  • the traveling direction of the object row 20 can be specified as, for example, the front direction of each object 22 constituting the object row 20.
  • An existing technique can be used as a technique for specifying the front direction of the object 22.
  • the method for specifying the front direction of the object 22 is 1) specifying the front direction of the face by performing head detection, and setting the front direction of the face as the front direction of the object 22.
  • a method, 2) a method of specifying the front direction of the body by performing body detection, and making the front direction of the body the front direction of the object 22 can be used. Further, when the object 22 is a vehicle, the traveling direction of the vehicle can be specified based on the shape of the vehicle.
  • the generation unit 2040 may generate the element information and then analyze the movement of the object sequence 20 using the moving image data 12 to specify the traveling direction of the object sequence 20 more accurately. Specifically, the generation unit 2040 compares the plurality of moving image frames 14 including the object sequence 20 to identify the direction in which the object 22 that configures the object sequence 20 moves. Specify the direction of movement. When the movement direction of the object row 20 specified in this way is different from the movement direction specified when the element information is generated, the generation unit 2040 creates the object 22 based on the movement direction of the newly specified object row 20. Change the attributes of.
  • the generation unit 2040 identifies the traveling direction of the object row 20 and identifies the object 22 positioned at the end opposite to the traveling direction in the object row 20 as the last object.
  • the method for specifying the traveling direction of the object row 20 is as described above.
  • the generation unit 2040 divides the image region representing the entire object row 20 with a boundary between two adjacent objects 22. In this way, the generation unit 2040 divides the image area of the object sequence 20 into a plurality of partial areas occupied by each object 22.
  • the object area 24 of the object 22 is a partial area including the object 22 among the partial areas obtained by dividing the object sequence 20 by the above-described method. It should be noted that an existing technique can be used as a method for determining an image area representing the entire object row 20.
  • the generation unit 2040 specifies a boundary between the objects 22 adjacent to each other in the object row 20.
  • the boundary between two objects 22 adjacent to each other can be specified by the following method, for example.
  • FIG. 9 is a diagram illustrating a method for specifying the object area 24.
  • the generation unit 2040 calculates the center of the line segment 23 that connects the positions of the two objects 22 adjacent to each other.
  • the generation unit 2040 sets the normal line of the line passing through the calculated center as the boundary line 25 of the two objects 22.
  • the generation unit 2040 specifies the object area 24 of the object 22 as an area between the boundary lines 25 before and after the object 22. Note that the position of the object 22 is the center position of the image area representing the object 22 as described above.
  • the method of determining the length of the boundary line 25 is arbitrary.
  • the generation unit 2040 sets the length of the boundary line 25 to a predetermined length.
  • the change detection unit 2060 detects a change in the object string 20 based on the element information generated from the moving image frame 14 and the detection result of the object 22 for each moving image frame 14 generated after the moving image frame 14. (S108, 110).
  • the detection of the object 22 for each moving image frame 14 is, for example, the tracking of the object 22 described above. That is, the change detection unit 2060 tracks each object 22 in the moving image data 12 including the moving image frame 14 after the moving image frame 14 in which the element information is generated, and the movement and state of the object 22 grasped by the tracking. Based on the element information, a change in the object string 20 is detected.
  • the change in the object sequence 20 detected by the change detection unit 2060 is various.
  • a change in the object row 20 detected by the change detection unit 2060 will be exemplified.
  • the change detection unit 2060 detects that the object 22 has left the object row 20.
  • the separation of the object 22 here means that the object 22 does not belong to the object row 20.
  • a case where the object 22 temporarily leaves the object row 20 and then returns to the same position in the object row 20 is not expressed as leaving. Therefore, when a certain object 22 is not detected from the object sequence 20, the change detection unit 2060 has only temporarily left the object sequence 20 or has not returned to the object sequence 20 (object sequence 20 Are you leaving?).
  • the separation of the object 22 is divided into three cases: 1) the case where the leading object 22 leaves, 2) the case where the trailing object 22 leaves, and 3) the case where the object 22 which is neither the beginning nor the tail leaves. Can be separated.
  • a detection method of each case will be described. In the following, in the object row 20, a position that is neither the beginning nor the end is expressed as an “intermediate layer”.
  • FIG. 10 is a diagram illustrating a case where the top object 22 leaves the object row 20.
  • the object 22-1 positioned at the head leaves the object row 20.
  • the object 22 is not detected from the object area 24 of the object 22.
  • the object 22-1 is not detected from the object area 24-1.
  • the object 22 located second from the top enters the object area 24 of the top object 22.
  • the object 22-2 enters the object area 24-1.
  • the change detection unit 2060 1) that the object 22 is not detected from the object area 24 of the top object 22, and 2) the second object 22 from the top enters the object area 24 of the top object 22. When the two conditions are satisfied, it is detected that the head object 22 has left.
  • FIG. 11 is a diagram illustrating a case where the last object 22 leaves the object row 20.
  • the object 22-4 located at the end leaves the object row 20.
  • the object 22 is not detected from the object area 24 of the object 22.
  • the object 22-4 is not detected from the object area 24-4.
  • the object 22 positioned immediately before the end is in a stationary state.
  • the object 22-3 is stationary.
  • the change detection unit 2060 has two states: 1) the object 22 is not detected from the object area 24 of the last object 22; and 2) the last object 22 at the last is stationary. When the condition is satisfied, it is detected that the last object 22 has left the object row 20.
  • the change detection unit 2060 has 1) the distance between the last object 22 and the last object 22 at the end is equal to or greater than a predetermined distance, and 2) the last last object 22 is stationary. When the two conditions of being in a state are satisfied, it may be detected that the last object 22 has left the object row 20.
  • FIG. 12 is a diagram exemplifying a case where the object area 24 of the intermediate layer is detached.
  • the object 22-3 located in the intermediate layer leaves.
  • the leaving object 22 is not detected from the object area 24 of the object 22.
  • the object 22-2 is not detected from the object area 24-3.
  • the object 22 of the object 22 is moved to the object area 24 of the object 22 to leave.
  • the object 22 positioned one behind enters. For example, in FIG. 12, the object 22-4 positioned immediately after the object 22-3 enters the object area 24-2.
  • the object 22 positioned immediately before the leaving object 22 remains stationary. It is.
  • the object 22-2 positioned immediately before the object 22-3 is in a stationary state.
  • the change detection unit 2060 1) that an object 22 in a certain middle layer is not detected from the object area 24 corresponding to the object 22, and 2) one object behind the object 22 to the object area 24 of the object 22 3)
  • the object 22 is moved from the object area 24 of the intermediate layer. Judge that it has left.
  • the change detection unit 2060 detects that the object 22 has been added to the object row 20.
  • the object 22 may have just stopped near the object row 20 and may not have joined the object row 20.
  • the object 22 newly added to the object row 20 is arranged at the end of the object row 20, even if the object 22 stationary at a place other than the end of the object row 20 is stationary near the object row 20. It is considered that the object column 20 is not added.
  • the change detection unit 2060 1) the distance between the last object 22 of the object row 20 and the tracking object 22 that does not belong to the object row 20 is equal to or less than a predetermined distance, and 2) the object 22 When the two conditions that the state is a stationary state are satisfied, it is detected that the object 22 has been added to the object row 20.
  • FIG. 13 is a diagram illustrating a case where the object 22 joins the object row 20.
  • the object 22-5 is added to the object row 20 constituted by the objects 22-1 to 22-4.
  • the object 22-4 is stationary after moving to a place where the distance from the object 22-4 located at the end of the object row 20 is a predetermined distance or less. Therefore, the change detection unit 2060 detects that the object 22-5 has been added to the object row 20.
  • the generation unit 2040 updates element information used by the change detection unit 2060 (S112).
  • the generation unit 2040 is a moving image frame 14 generated after the moving image frame 14 in which a change in the object sequence 20 is detected, and the moving image frame 14 in which all the objects 22 constituting the object sequence 20 are in a stationary state is obtained.
  • Element information is generated in the same manner as in S104. Thereafter, the newly generated element information is used for detection of a change in the object string 20 by the change detection unit 2060. That is, the element information used for the change detection unit 2060 is updated.
  • the moving image frame 14 in which all the objects 22 are in a stationary state is used when the state of the object row 20 is changing when the object 22 is in a moving state (for example, the first object 22 has left). This is because the other objects 22 are moving forward one by one in this case.
  • the object row 20 in a steady state for example, when the first object 22 leaves, other objects 22 move forward one by one. Element information is generated for the finished object string 20).
  • the generation unit 2040 may generate element information for the object row 20 whose configuration is changing. In other words, the generation unit 2040 generates element information for each of the plurality of moving image frames 14 generated after the moving image frame 14 in which the change in the object sequence 20 is detected by the same method as in S104. May be repeated. For example, this update is performed until all the objects 22 constituting the object row 20 become stationary.
  • the information processing apparatus 2000 may use a group composed of a plurality of objects 22 (hereinafter referred to as an object group) as a unit constituting the object row 20.
  • FIG. 14 is a diagram illustrating an object column 20 configured by object groups.
  • the object column 20 includes three object groups: an object group 26-1, an object group 26-2, and an object group 26-3.
  • the object group 26-1 includes an object 22-1 and an object 22-2.
  • the object group 26-2 includes an object 22-3.
  • the object group 26-3 includes an object 22-4 and an object 22-5.
  • the object area 24 indicated by the element information is an area indicated by the object group 26 in the moving image frame 14. Therefore, the generation unit 2040 specifies the object area 24 for each object group.
  • an object area 24-1 is an object area of the object group 26-1
  • an object area 24-2 is an object area of the object group 26-2
  • an object area 24-3 is an object area of the object group 26-3. It is an object area.
  • the attribute indicated by the element information is the attribute of the object group 26. Therefore, the generation unit 2040 specifies the attribute of the object group 26 for each object group 26.
  • the attribute of the object group 26 includes, for example, the feature amount of each object 22 included in the object group 26 and the position of the object group 26 in the object row 20.
  • the method of determining the position of the object group 26 is arbitrary. For example, the position of the object group 26 is determined as the position of any object 22 included in the object group 26. In addition, for example, the position of the object group 26 is determined as the center position of the plurality of objects 22 included in the object group 26.
  • the change detection unit 2060 detects a change in the object string 20 based on the element information and the detection result of the object group 26 in the moving image frame 14 after the moving image frame 14 in which the element information is generated.
  • a method for detecting a change in the object string 20 based on the detection result of the object group 26 is the same as a method for detecting a change in the object string 20 based on the detection result of the object 22.
  • the change detecting unit 2060 1) that the object group 26 is not detected from the object area 24 of the first object group 26; and 2) the second object group from the beginning to the object area 24 of the first object group 26. When the two conditions of entering 26 are satisfied, it is detected that the first object group 26 has left the object row 20.
  • the information processing apparatus 2000 detects each object group 26 from the moving image frame 14. For example, when the information processing apparatus 2000 detects a plurality of objects 22 that are moving for a predetermined time or more in a state where the distance between them is less than a predetermined distance in the process of tracking the individual objects 22, the information processing apparatus 2000 collects the plurality of objects 22 together. It is detected as one object group 26. In this case, the information processing apparatus 2000 collects the tracking information of the plurality of objects 22 and generates tracking information as the object group 26.
  • the tracking information of the object group 26 includes, for example, information such as the position and state of the object group 26 in addition to the tracking information of each object 22 constituting the object group 26.
  • FIG. 15 is a block diagram illustrating an information processing apparatus 2000 according to the second embodiment. Except for the items described below, the information processing apparatus 2000 according to the second embodiment is the same as the information processing apparatus 2000 according to the first embodiment.
  • the information processing apparatus 2000 further includes a calculation unit 2080.
  • the calculation unit 2080 calculates the waiting time of the object sequence 20.
  • the waiting time of the object string 20 represents a time estimated to be taken from the time when the object string 20 is arranged at the end of the object string 20 until the head of the object string 20 is left. For example, in the case of a row of people who can be used as a ticket vending machine, the estimated time that is required until the ticket vending machine can be used after passing through the row is the waiting time for that row.
  • the calculating unit 2080 calculates the waiting time of the object sequence 20 by multiplying the length of the object sequence 20 by the time that the object 22 is expected to stay at the head of the object sequence 20 (hereinafter, the predicted residence time).
  • the length of the object row 20 at a certain time is the number of object areas 24 indicated by the element information generated most recently at that time.
  • element information is calculated at time points Ta, Tb, and Tc.
  • the length of the object string 20 between the points Ta and Tb is the number of object regions 24 indicated by the element information generated at the point Ta.
  • the length of the object string 20 between the points Tb and Tc is the number of object areas 24 indicated by the element information generated at the point Tb.
  • the waiting time of the object row 20 is shortened.
  • the object 22 when the object 22 is only temporarily separated from the object row 20, the object 22 will return to the object row 20 later, so the waiting time of the object row 20 does not decrease. Therefore, when the object column 20 moves away from the object column 20, it is preferable that it can be specified whether or not the object column 20 is temporary.
  • the change detection unit 2060 does not handle that the object 22 has left the object column 20 when the object 22 temporarily leaves the object column 20. Information is not updated. Therefore, even if the object 22 is temporarily separated from the object column 20, the length of the object column 20 does not decrease, so the waiting time of the object column 20 does not decrease. On the other hand, when the object 22 leaves the object row 20, the departure is detected and the element information is updated. Therefore, since the length of the object sequence 20 specified by the element information is shortened, the waiting time of the object sequence 20 is reduced.
  • the waiting time of the object row 20 can be accurately calculated without being affected by the fact.
  • the change detection unit 2060 that has detected that the leading object 22 has left the object sequence 20 to be used for calculating the predicted staying time is the time when the object 22 has left the top of the object sequence 20 (hereinafter, the leading departure time). ) Is recorded in the storage device.
  • the time point at which a certain object 22 leaves the head is the time when the moving image frame 14 is detected when it is detected that the object 22 has left the object line 20.
  • the calculating unit 2080 calculates the time that the object 22 actually stays at the head in the object row 20 (hereinafter, the actual staying time) using the head leaving time. Specifically, the calculation unit 2080 calculates the difference between the head staying time of an object 22 and the head staying time of the object 22 that has subsequently left the head of the object row 20 as the actual staying time.
  • the object row 20 is configured by three objects 22 arranged in the order of the object 22-1, the object 22-2, and the object 22-3. Then, it is assumed that the object 22-1 to the object 22-3 have left the head of the object row 20 at the points Ta, Tb, and Tc, respectively.
  • the actual residence time of the object 22-2 is Tb-Ta
  • the actual residence time of the object 22-3 is Tc-Tb.
  • the calculation unit 2080 calculates the predicted residence time using one or more actual residence times. For example, the calculation unit 2080 sets the latest residence time calculated most recently as the predicted residence time. In addition, for example, the calculation unit 2080 calculates a statistical value of a plurality of predicted residence times, and uses the statistical value as the predicted residence time. The statistical value is, for example, an average value, a maximum value, a minimum value, or the like. The actual residence time used for calculating the statistical value may be all the actual residence times calculated for the object row 20 or may be a part of the actual residence time. In the latter case, for example, the calculation unit 2080 calculates a statistical value of the latest predetermined number of actual residence times.
  • the information processing apparatus 2000 stores the waiting time calculated by the calculation unit 2080 in the storage device.
  • the difference in the waiting time of the object sequence 20 for each time zone, date, or day of the week is statistically calculated, and the tendency of the waiting time of the object sequence 20 in the place where the camera 10 is installed. Etc. can be grasped.
  • the information processing apparatus 2000 may present the waiting time of the object sequence 20 calculated by the calculation unit 2080 by various methods.
  • the information processing apparatus 2000 displays the waiting time of the object row 20 on a predetermined display device.
  • the predetermined display device is installed in the vicinity of the object row 20 in advance.
  • the information processing apparatus 2000 may display the waiting time of the object row 20 on a predetermined web page. In this way, a person who is trying to line up in the object row 20 can determine whether or not to line up in the object row 20 in consideration of the exact waiting time of the object row 20.
  • the hardware configuration of a computer that implements the information processing apparatus 2000 according to the second embodiment is represented by, for example, FIG. 4 as in the first embodiment.
  • the storage device 1080 of the computer 1000 that implements the information processing apparatus 2000 of the present embodiment further includes a program module (such as a program module that implements the calculation unit 2080) that implements the functions of the information processing apparatus 2000 of the present embodiment.
  • a program module such as a program module that implements the calculation unit 2080
  • the object 22 is a constituent unit of the object row 20.
  • the object group 26 may be a constituent unit of the object row 20.
  • the calculation unit 2080 calculates a time during which the object group 26 is predicted to stay at the head of the object row 20 as a predicted stay time.
  • the method for calculating the predicted residence time of the object group 26 is the same as the method for calculating the predicted residence time of the object 22.
  • the calculation unit 2080 calculates the waiting time of the object sequence 20 by multiplying the predicted residence time of the object group 26 by the length of the object sequence 20.
  • the length of the object column 20 is represented by the number of object areas 24 indicated in the element information, that is, the number of object groups 26 included in the object column 20.

Abstract

本発明の情報処理装置は、動画データ(12)からオブジェクト列(20)を検出する。また、本発明の情報処理装置は、オブジェクト列(20)が検出された動画フレーム(14)を用いて要素情報を生成する。要素情報は、オブジェクト列(20)に含まれるオブジェクト(22)がその動画フレーム(14)において占めるオブジェクト領域(24)と、そのオブジェクト(22)の属性とを対応付けた情報である。さらに本発明の情報処理装置は、要素情報と、要素情報が生成された動画フレーム(14)以降に生成される動画フレーム(14)に対するオブジェクト検出の結果とに基づいて、オブジェクト列(20)の変化を検出する。そして、本発明の情報処理装置は、変化が検出されたオブジェクト列(20)について要素情報を生成することで、その後に利用する要素情報を更新する。

Description

情報処理装置、制御方法、及びプログラム
 本発明は、情報処理装置、制御方法、及びプログラムに関する。
 人などのオブジェクトの列を映像から検出して管理する技術が開発されている。例えば特許文献1から3は、映像から検出される全ての注目物体によって列が形成されているとみなし、映像に含まれる注目物体を計数することで、列の待ち時間を推測する技術を開示している。特許文献4は、直線上に並ぶオブジェクトを一つの列として検出する技術を開示している。特許文献5は、設置したマーカ内に含まれる領域を列ができる領域として扱うことで、映像から列を検出する技術を開示している。
 特許文献6は、映像から列を形成する人の移動の軌跡を検出することで、列の仕切り線(列の外枠)を検出する技術を開示している。特許文献7は、映像から検出される複数の人それぞれについて移動方向を算出し、その移動方向が所定の方向と異なる人物を、列に含まれない人物として列から除外する技術を開示している。特許文献8は、列に並んでいない新たな対象が、列の末尾から所定距離内の場所において静止若しくは微動する場合、又は列の末尾以外の部分と所定の割り込み距離内の場所において静止若しくは微動する場合に、その対象が列に加わったことを検出する技術を開示している。
 特許文献9は、所定の場所に形成される人の列にグループが含まれることを認識し、グループの数に基づいて列の待ち時間を算出する技術を開示している。特許文献10は、列を構成していない人が、列の末尾の人との距離が所定距離以下の場所に接近し、なおかつその位置が列の方向と所定の角度の範囲に含まれる場合に、行列に新たな人が加わることを検出する技術を開示している。特許文献11は、顧客が利用する買い物カゴに発光する機構を設けておき、顧客が列に並んだ時に買い物カゴが発光するようにすることで、複数の列の中から顧客が並んだ列を特定する技術を開示している。
特開平11-164040号公報 特開平11-175694号公報 特開2001-291144号公報 特開2005-216217号公報 特開2005-242896号公報 特開2005-316582号公報 特開2007-317052号公報 特表2008-519567号公報 特開2015-215787号公報 特開2013-109395号公報 特開2011-096140号公報
 本発明者は、オブジェクトの列の変化を検出する新たな技術を見出した。本発明は、上記の課題に鑑みてなされたものである。本発明の目的の一つは、オブジェクトの列の変化を検出する新たな技術を提供することである。
 本発明の情報処理装置は、1)動画データからオブジェクトの列を検出する列検出手段と、2)前記オブジェクトの列が検出された動画フレームを用いて、前記列に含まれるオブジェクトがその動画フレームにおいて占める領域であるオブジェクト領域と、そのオブジェクトの属性とを対応付けた情報である要素情報を生成する生成手段と、3)前記要素情報と、前記要素情報が生成された動画フレーム以降に生成される動画フレームに対するオブジェクト検出の結果とに基づいて、前記列の変化を検出する変化検出手段と、を有する。
 前記生成手段は、前記変化が検出された列について前記要素情報を生成することで、前記変化検出手段が利用する要素情報を更新する。
 本発明の制御方法は、コンピュータによって実行される。当該制御方法は、1)動画データからオブジェクトの列を検出する列検出ステップと、2)前記オブジェクトの列が検出された動画フレームを用いて、前記列に含まれるオブジェクトがその動画フレームにおいて占める領域であるオブジェクト領域と、そのオブジェクトの属性とを対応付けた情報である要素情報を生成する生成ステップと、3)前記要素情報と、前記要素情報が生成された動画フレーム以降に生成される動画フレームに対するオブジェクト検出の結果とに基づいて、前記列の変化を検出する変化検出ステップと、を有する。
 前記生成ステップにおいて、前記変化が検出された列について前記要素情報を生成することで、前記変化検出ステップで利用する要素情報を更新する。
 本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
 本発明によれば、オブジェクトの列の変化を検出する新たな技術が提供される。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置の動作の概要を例示する図である。 実施形態1の情報処理装置がオブジェクト列の変化を検出する処理を時系列で例示する図である。 実施形態1の情報処理装置の構成を例示する図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 動画データから検出されるオブジェクトがトラッキングされている様子を例示する図である。 新たなオブジェクト列を検出する方法を例示する図である。 予定領域を利用してオブジェクト列を検出する方法を例示する図である。 オブジェクト領域を特定する方法を例示する図である。 先頭のオブジェクトがオブジェクト列から離脱するケースを例示する図である。 末尾のオブジェクトがオブジェクト列から離脱するケースを例示する図である。 中間層のオブジェクト領域が離脱するケースを例示する図である。 オブジェクトがオブジェクト列に加入するケースを例示する図である。 オブジェクトグループによって構成されるオブジェクト列を例示する図である。 実施形態2の情報処理装置を例示するブロック図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
 図1及び図2は、実施形態1の情報処理装置(後述する情報処理装置2000)の動作の概要を例示する図である。以下で説明する情報処理装置2000の動作は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作は以下の例に限定されるわけではない。情報処理装置2000の動作の詳細やバリエーションについては後述する。
 情報処理装置2000は、カメラ10によって生成された動画データ12からオブジェクト列20を検出する。オブジェクト列20は、オブジェクト22によって構成される列である。図1では、動画フレーム14に含まれるオブジェクト22-1からオブジェクト22-8のうち、オブジェクト22-1からオブジェクト22-4によって、オブジェクト列20が構成されている。動画フレーム14は、オブジェクト列20を構成する動画フレームの内の1つである。
 オブジェクト列20としては、任意のものを扱うことができる。例えばオブジェクト列20は、レジカウンタや券売機などの利用を待つ人の列である。この場合、オブジェクト22は人である。その他にも例えば、オブジェクト列20は、駐車場の利用を待つ車両の列である。この場合、オブジェクト22は車両である。図1において、オブジェクト22は人である。
 情報処理装置2000は、オブジェクト列20が検出された動画フレーム14を利用して、そのオブジェクト列20に含まれるオブジェクト22に関する情報である要素情報を生成する。要素情報は、オブジェクト列20に含まれるオブジェクト22ごとに、そのオブジェクト22がその動画フレーム14において占める領域(以下、オブジェクト領域24)とそのオブジェクト22の属性とを対応付けた情報である。
 例えば図1において、オブジェクト22-1からオブジェクト22-4のオブジェクト領域24はそれぞれ、オブジェクト領域24-1からオブジェクト領域24-4である。そして、要素情報は、オブジェクト22-1からオブジェクト22-4の属性それぞれを、オブジェクト領域24-1からオブジェクト領域24-4と対応付けている。要素情報によれば、1つの動画フレーム14に含まれるオブジェクト列20を、そのオブジェクト列20を構成する各オブジェクト22が占めるオブジェクト領域24で区切ることで表現することができる。
 さらに情報処理装置2000は、動画フレーム14から生成された要素情報と、その動画フレーム14よりも後に生成された各動画フレーム14に対するオブジェクト22の検出の結果とに基づいて、オブジェクト列20の変化を検出する。そして、情報処理装置2000は、変化後のオブジェクト列20について要素情報を生成することで、変化検出部2060が利用する要素情報を更新する。情報処理装置2000がオブジェクト列20の変化を検出する具体的な方法などについては後述する。
 図2は、情報処理装置2000がオブジェクト列20の変化を検出する処理を時系列で例示する図である。図2の例では、時点 Tb において、「先頭のオブジェクト22がオブジェクト列20から離脱する」というオブジェクト列20の変化が起きている。
 情報処理装置2000は、時点 Ta に生成された動画フレーム14-1からオブジェクト列20を検出する。そして情報処理装置2000は、動画フレーム14-1を用いて要素情報を生成する。ここで生成される要素情報は、図1に示した要素情報と同じ要素情報である。
 その後の時点 Tb において、オブジェクト列20から先頭のオブジェクト22(p001 という識別子を持つオブジェクト22)が離脱する。情報処理装置2000は、この「先頭のオブジェクト22の離脱」というオブジェクト列20の変化を、時点 Ta に生成された要素情報と、時点 Ta 以降に生成された動画フレーム14におけるオブジェクト22の検出結果とに基づいて検出する。情報処理装置2000は、変化後のオブジェクト列20について要素情報を生成することで、オブジェクト列20の変化の検出に利用する要素情報を更新する。
 以降、情報処理装置2000は、「直近に生成された要素情報を用いてオブジェクト列20の変化を検出し、要素情報を更新する。」という処理を繰り返す。
 本実施形態の情報処理装置2000によれば、動画データ12から検出されるオブジェクト列20について、そのオブジェクト列20を構成する各オブジェクト22が占める領域(オブジェクト領域24)と、そのオブジェクト22の属性とを示す要素情報が生成される。このようにすることで、動画データ12におけるオブジェクト列20の構成を正確に把握できる。
 さらに、情報処理装置2000は、要素情報が生成された動画フレーム14以降の各動画フレーム14におけるオブジェクト22の検出結果と要素情報とに基づいて、オブジェクト列20の変化を検出する。こうすることで、要素情報によって示される正確なオブジェクト列20の構成を基準としてオブジェクト列20の変化が検出されるため、オブジェクト列20の変化を正確に把握できる。
 以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
 図3は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、列検出部2020、生成部2040、及び変化検出部2060を有する。列検出部2020は、動画データ12からオブジェクト列20を検出する。生成部2040は、オブジェクト列20が含まれる複数の動画フレーム14それぞれについて要素情報を生成する。変化検出部2060は、複数の動画フレーム14それぞれについて生成された要素情報を比較することで、オブジェクト列20の変化を検出する。
<情報処理装置2000のハードウエア構成>
 情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図4は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
 計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)や GPU(Graphics Processing Unit)などの演算装置である。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
 入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
 例えば計算機1000は、ネットワークを介してカメラ10と通信可能に接続されている。ただし、計算機1000をカメラ10と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機1000は、カメラ10と通信可能に接続されていなくてもよい。
 ストレージデバイス1080は、情報処理装置2000の各機能構成部(列検出部2020、生成部2040、及び変化検出部2060)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
 なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば列検出部2020、生成部2040、及び変化検出部2060をそれぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
 カメラ10は、繰り返し撮像を行うことで動画データを生成できる任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
 情報処理装置2000の機能の一部又は全部は、カメラ10によって実現されてもよい。すなわち、情報処理装置2000を実現するための計算機1000として、カメラ10を利用してもよい。この場合、カメラ10は、自身で生成した動画データ12を処理する。このように情報処理装置2000を実現するために用いられるカメラ10には、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを利用できる。
<処理の流れ>
 図5は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。列検出部2020は、動画データ12に含まれる動画フレーム14から、オブジェクト列20を検出する(S102)。生成部2040は、オブジェクト列20が検出された動画フレーム14について要素情報を生成する(S104)。
 S106から114は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Aである。S106において、所定の終了条件が満たされている場合、情報処理装置2000は、図5の処理を終了する。一方、所定の終了条件が満たされていない場合、図5の処理はS108に進む。
 変化検出部2060は、要素情報が生成された動画フレーム14以降に生成された各動画フレーム14から、オブジェクト22を検出する(S108)。変化検出部2060は、要素情報と、S108におけるオブジェクト22の検出の結果とに基づいて、オブジェクト列20の変化を検出する(S110)。生成部2040は、変化後のオブジェクト列20について要素情報を生成することで、変化検出部2060が利用する要素情報を更新する(S112)。S114はループ処理Aの終端であるため、図5の処理はS106に進む。
 以降、情報処理装置2000は、「直近に生成された要素情報を用いてオブジェクト列20の変化を検出し(S108及びS110)、要素情報を更新する(S112)。」という処理を繰り返す。
 上記所定の終了条件は任意である。例えば所定の終了条件は、オブジェクト列20に含まれるオブジェクト22の数が0になること、すなわちオブジェクト列20が無くなることである。この場合、情報処理装置2000は、まだ処理対象となっていない動画フレーム14で構成される動画データ12について、再度図5の処理を最初から実行する。こうすることで、新たに形成されるオブジェクト列20の検出及びそのオブジェクト列20の変化の検出が行われる。
<動画データ12の取得方法>
 情報処理装置2000は、処理対象とする動画データ12を取得する。情報処理装置2000が動画データ12を取得する方法は様々である。例えば情報処理装置2000は、カメラ10から送信される動画データ12を受信する。また例えば、情報処理装置2000は、カメラ10にアクセスし、カメラ10に記憶されている動画データ12を取得する。
 なお、カメラ10は、カメラ10の外部に設けられている記憶装置に動画データ12を記憶させてもよい。この場合、情報処理装置2000は、この記憶装置にアクセスして動画データ12を取得する。そのため、この場合、情報処理装置2000とカメラ10は通信可能に接続されていなくてもよい。
 情報処理装置2000の一部又は全部の機能がカメラ10で実現される場合、情報処理装置2000は、情報処理装置2000自身によって生成された動画データ12を取得する。この場合、動画データ12は、例えば情報処理装置2000の内部にある記憶装置(例えばストレージデバイス1080)に記憶されている。そこで情報処理装置2000は、これらの記憶装置から動画データ12を取得する。
 情報処理装置2000が動画データ12を取得するタイミングは任意である。例えば情報処理装置2000は、カメラ10によって動画データ12を構成する新たな動画フレーム14が生成される度に、その新たに生成された動画フレーム14を取得することで、動画データ12を取得する。その他にも例えば、情報処理装置2000は、定期的に未取得の動画フレーム14を取得してもよい。例えば情報処理装置2000が1秒間に1回動画フレーム14を取得する場合、情報処理装置2000は、カメラ10によって1秒間に生成される複数の動画フレーム14(例えば動画データ12のフレームレートが 30fps(frames/second) であれば、30枚の動画フレーム14)をまとめて取得する。
 情報処理装置2000は、動画データ12を構成する全ての動画フレーム14を取得してもよいし、一部の動画フレーム14のみを取得してもよい。後者の場合、例えば情報処理装置2000は、カメラ10によって生成される動画フレーム14を、所定数に1つの割合で取得する。
<オブジェクト列20の検出:S102>
 列検出部2020は、動画データ12からオブジェクト列20を検出する(S102)。動画データ12からオブジェクト列20を検出する方法には、様々な方法を採用できる。以下では、その一例を説明する。
 列検出部2020は、各動画フレーム14からオブジェクトを検出し、各オブジェクト22をトラッキングする。ここで、何をオブジェクト22として検出するかは、予め定めておくとする。例えばオブジェクト列20として人の列を扱う場合には、オブジェクト22として人を検出するように定めておく。その他にも例えば、オブジェクト列20として車両の列を扱う場合には、オブジェクト22として車両を検出するように定めておく。なお、動画フレーム(すなわち画像データ)から特定の種類のオブジェクトを検出する技術には、既存の技術を利用できる。
 列検出部2020は、例えば以下に示す方法でオブジェクト22をトラッキングする。ただし、列検出部2020がオブジェクト22をトラッキングする方法は下記の方法に限定されず、種々の既存の技術を利用してもよい。
 列検出部2020は、動画フレーム14から検出される各オブジェクトに識別子を割り振り、オブジェクトの識別子ごとにそのオブジェクトに関する情報(以下、トラッキング情報)を管理することで、オブジェクトをトラッキングする。或るオブジェクト22のトラッキング情報は、例えば、動画フレーム14においてそのオブジェクト22の位置を表す座標、大きさ、その画像領域から算出される特徴量(オブジェクトの特徴量)などが含まれる。オブジェクト22の位置は、動画フレーム14においてオブジェクト22を表す画像領域の中心位置などである。オブジェクト22の特徴量とは、そのオブジェクトの外観の特徴を1つ以上の値で表現したものである。
 列検出部2020は、オブジェクトをトラッキングする際、そのオブジェクトが静止状態にあるか移動状態にあるかを判別する。例えば列検出部2020は、或るオブジェクトの位置の変化量が所定量以下である状態が所定時間以上継続している場合に、そのオブジェクトの状態を、静止状態とする。一方、オブジェクトの位置の変化量が所定値より大きいオブジェクトの状態を、移動状態とする。また、オブジェクトの状態は、前述したトラッキング情報によって示される。なお、トラッキングしているオブジェクトが静止しているか否かを判別する技術にも既存の技術を利用することができる。
 図6は、動画データ12から検出されるオブジェクト22がトラッキングされている様子を例示する図である。動画フレーム14には、5つのオブジェクト22(オブジェクト22-1からオブジェクト22-5)が含まれる。これら5つのオブジェクト22にはそれぞれ、p001 から p005 という識別子が割り与えられている。そして、これら5つのオブジェクト22についてトラッキング情報30が生成されている。なお、図5では図示の都合上、トラッキング情報30は、オブジェクト22の識別子と状態のみを示している。
 列検出部2020は、動画データ12を構成する時系列の動画フレーム14それぞれからオブジェクト22を検出する。列検出部2020は、新たに解析した動画フレーム14から検出されたオブジェクト22と、既に解析した動画フレーム14から検出されたオブジェクト22(既にトラッキング情報が生成されている)との対応付けを行う。言い換えれば、列検出部2020は、新たに解析した動画フレーム14から検出されたオブジェクト22について、既知のオブジェクト22と未知のオブジェクトのどちらであるかを判定する。
 新たに解析した動画フレーム14から検出されたオブジェクト22が既知のオブジェクト22である場合、列検出部2020は、新たに解析した動画フレーム14から得られるそのオブジェクト22の情報で、そのオブジェクト22のトラッキング情報を更新する。例えば列検出部2020は、オブジェクト22の位置、特徴量、又は状態などの情報を更新する。一方、新たに解析した動画フレーム14から検出されたオブジェクト22が未知のオブジェクト22である場合、列検出部2020は、そのオブジェクト22に対して他のオブジェクト22と重複しない識別子を割り与えた上で、そのオブジェクト22のトラッキング情報を生成する。
 ここで、環境光の影響などにより、トラッキング中のオブジェクト22が一時的に動画フレーム14から検出されない場合がある。仮にこのような場合に、そのオブジェクト22がカメラ10の撮像範囲から出たものとして、そのオブジェクト22のトラッキング情報を更新したり削除したりしてしまうと、オブジェクト22のトラッキングを正確に行うことができなくなってしまう。
 そこで列検出部2020は、このようにオブジェクト22が一時的に動画フレーム14から検出されない場合には、そのオブジェクト22のトラッキング情報を削除しない。例えば列検出部2020は、オブジェクト22が検出されない場合でも、その検出されない期間の長さが所定値以下である間は、そのオブジェクト22のトラッキング情報を更新せずに保持し続ける。その後、オブジェクト22が動画フレーム14から検出されたら、その動画フレーム14から検出された情報でオブジェクト22のトラッキング情報を更新する。一方で、列検出部2020は、オブジェクト22が検出されない期間の長さが所定値より大きい場合には、そのオブジェクト22のトラッキング情報を削除するか、又はそのオブジェクト22のトラッキング情報にカメラ10の撮像範囲外に出たことを示す情報を付加するなどの更新を行う。このようにすることで、一時的に動画フレーム14からオブジェクト22を検出できないことがあったとしても、オブジェクト22を高い精度でトラッキングすることができる。
 さらに、オブジェクト22が一時的に動画フレーム14から検出されない場合に、別のオブジェクト22が代わりに検出されてしまうことが考えられる。例として、動画フレーム14-1において位置Pでオブジェクト22-1が検出された後、次の動画フレーム14-2ではオブジェクト22-1が検出されず、なおかつ別のオブジェクト22-2が位置Pの付近で検出されるケースがある。このような場合に、誤ってオブジェクト22-2をオブジェクト22-1として扱ってオブジェクト22-1のトラッキング情報を更新してしまうと、オブジェクト22-1やオブジェクト22-2を正しくトラッキングできない。
 そこで例えば、列検出部2020は、時系列で連続する2つの動画フレーム14において特徴量の類似度が高いオブジェクト22が検出されたとしても、それらの検出位置が所定距離以上大きければ、それらを互いに異なるオブジェクト22として扱い、先の動画フレーム14から検出されたオブジェクト22のトラッキング情報を更新しない。さらに列検出部2020は、時系列で連続する2つの動画フレーム14において位置が互いに近いオブジェクト22が検出されたとしても、それらのオブジェクト22の特徴量の類似度が低い場合には、それらを互いに異なるオブジェクト22として扱い、先の動画フレーム14から検出されたオブジェクト22のトラッキング情報を更新しない。
 このようにすることで、或るオブジェクト22が一時的に動画フレーム14から検出されず、なおかつそのオブジェクト22の位置付近で別のオブジェクト22が検出されてしまうケースにおいて、トラッキング情報が誤った情報に更新されてしまうことを防ぐことができる。よって、オブジェクト22のトラッキングを高い精度で行うことができる。
 列検出部2020は、トラッキングしているオブジェクト22によって所定の条件が満たされたことを検出することにより、新たなオブジェクト列20が形成されたことを検出する。例えば列検出部2020は、トラッキングしているオブジェクト22の中に、1)既に検出されているオブジェクト列20に属さない、2)隣接する他のオブジェクト22との距離が所定距離以下の場所に位置する、及び3)静止状態であるという3つの条件を満たすオブジェクト22が複数存在する場合に、これらの条件を満たす複数のオブジェクト22によって新たなオブジェクト列20が形成されたことを検出する。
 ここで、或るオブジェクトが既に検出されているオブジェクト列20に属するかどうかは、そのオブジェクトをトラッキングしてきた過程から特定できる。例えば前述したトラッキング情報30に、オブジェクト22がオブジェクト列20に属するか否かを示す情報を含める。ここで、この情報の初期値には、「オブジェクト列20に属さない(未属)」を設定する。そして、トラッキングしているオブジェクト22が前述した条件を満たして新たなオブジェクト列20を形成したことを検出したら、そのオブジェクト22のトラッキング情報に、「オブジェクト列20に属する(既属)」という値を設定する。こうすることで、各オブジェクト22が既にオブジェクト列20に属しているか否かを特定することができる。
 なお、上記3つの条件に加え、オブジェクト22の向きをさらに考慮してもよい。具体的には、「1)~3)の条件を満たしている各オブジェクト22が同じ方向を向いている」という条件をさらに加える。その他にも例えば、「1)~3)の条件を満たしている複数のオブジェクト22のうち、所定割合以上のオブジェクト22が同じ方向を向いている」という条件を加えてもよい。
 図7は、新たなオブジェクト列20を検出する方法を例示する第1の図である。動画フレーム14-1において、オブジェクト22-1からオブジェクト22-5はいずれも、既存のオブジェクト列20に属していない。しかし、オブジェクト22-1、オブジェクト22-2、及びオブジェクト22-5は移動している。そのため、これらのオブジェクト22は、オブジェクト列20を形成する条件を満たしていない。また、オブジェクト22-3とオブジェクト22-4は、静止してはいるものの、互いの間の距離が所定距離より大きい。そのため、オブジェクト22-3とオブジェクト22-4も、オブジェクト列20を形成する条件を満たしていない。よって、動画フレーム14-1からは、オブジェクト列20が検出されない。
 動画フレーム14-1が生成されてからしばらく後、動画フレーム14-2が生成されたとする。動画フレーム14-2においても、オブジェクト22-1からオブジェクト22-5はいずれも、既存のオブジェクト列20に属していない。また、オブジェクト22-1とオブジェクト22-5は静止している。さらに、オブジェクト22-2とオブジェクト22-5の間の距離は、所定距離以下となっている。よって、列検出部2020は、オブジェクト22-2とオブジェクト22-5によって新たなオブジェクト列20が形成されたことを検出する。なお、その他のオブジェクト22は、オブジェクト列20を形成する条件を満たしていない。
 上記3つ又は4つの条件が満たされた場合に新たなオブジェクト列20を検出する方法によれば、オブジェクト列20が形成される場所が予め分かっていない場合においてもオブジェクト列20が形成されたことを検出できる。この点、オブジェクト列20が形成される場所を予め定めておくことが可能な場合もある。例えばスーパーのレジカウンタなどでは、レジカウンタに並ぶ人の列ができる場所はおおよそ決まっている。
 そこで、オブジェクト列20が形成されうる領域(以下、予定領域)を予め定義しておき、その定義を利用してオブジェクト列20を検出してもよい。すなわち、列検出部2020は、トラッキングしている1つ以上のオブジェクト22が予定領域内で静止状態になった場合に、その1つ以上のオブジェクトによって新たなオブジェクト列20が形成されたことを検出する。この方法によれば、オブジェクト列20を形成しているオブジェクトが1つの場合でも、オブジェクト列20を検出することができる。
 図8は、予定領域を利用してオブジェクト列20を検出する方法を例示する図である。図8では、オブジェクト22-1が予定領域40内で静止している。そのため、列検出部2020は、オブジェクト22-1によって形成されているオブジェクト列20を検出する。
 なお、列検出部2020が動画データ12からオブジェクト列20を検出する方法は、上述の方法に限定されない。列検出部2020は、動画データからオブジェクトの列を検出する既存の技術を利用することで、オブジェクト列20を検出してもよい。
<要素情報の生成:S104>
 生成部2040は、列検出部2020によってオブジェクト列20が検出された動画フレーム14を用いて、オブジェクト列20の要約情報を生成する(S104)。前述したように、要素情報は、オブジェクト22が動画フレーム14において占める領域であるオブジェクト領域24とそのオブジェクト22の属性とを対応付けた情報である。よって、要素情報を生成するためには、各オブジェクト22について、属性及びオブジェクト領域24を特定する必要がある。以下、それぞれの特定方法について説明する。
<<オブジェクト22の属性の特定>>
 オブジェクト22の属性は、種々の情報を含みうる。例えばオブジェクト22の属性は、オブジェクト22の特徴量を含む。オブジェクト22が人である場合、例えばオブジェクト22の特徴量は、顔、身体、服装、又は持ち物などの色や形状などを表す。また、オブジェクト22が車両である場合、オブジェクト22の特徴量は、車両の色、形状、又はナンバープレートのナンバーなどを表す。ここで、動画フレームに含まれるオブジェクトの特徴量を算出する技術には、既存の技術を利用することができる。
 その他にも例えば、オブジェクト22の属性は、オブジェクト列20におけるオブジェクト22の位置を示す。ここで、情報処理装置2000は、オブジェクト列20におけるオブジェクト22の位置を特定するために、オブジェクト列20における先頭と末尾を特定する。以下、オブジェクト列20における先頭と末尾を特定する方法について説明する。
<<<オブジェクト列20の先頭の特定>>>
 例えば生成部2040は、オブジェクト列20の進行方向を特定し、オブジェクト列20において進行方向の端に位置するオブジェクト22を、先頭のオブジェクト22として特定する。ここで、オブジェクト列20の進行方向は、例えば、オブジェクト列20を構成する各オブジェクト22の正面方向として特定することができる。なお、オブジェクト22の正面方向を特定する技術には、既存の技術を利用することができる。例えばオブジェクト22が人である場合、オブジェクト22の正面方向を特定する方法には、1)頭部検出を行うことで顔の正面方向を特定し、顔の正面方向をオブジェクト22の正面方向とする方法や、2)胴体検出を行うことで胴体の正面方向を特定し、胴体の正面方向をオブジェクト22の正面方向とする方法などを利用できる。また、オブジェクト22が車両である場合、車両の形状に基づいて車両の進行方向を特定することができる。
 なお、生成部2040は、要素情報を生成した後に、動画データ12を用いてオブジェクト列20の動きを解析することで、オブジェクト列20の進行方向をさらに正確に特定するようにしてもよい。具体的には、生成部2040は、そのオブジェクト列20が含まれる複数の動画フレーム14を比較することにより、オブジェクト列20を構成するオブジェクト22が移動する方向を特定することで、オブジェクト列20の移動方向を特定する。このようにして特定されたオブジェクト列20の移動方向が、要素情報を生成した時に特定した移動方向と異なる場合、生成部2040は、新たに特定したオブジェクト列20の移動方向に基づいて、オブジェクト22の属性を変更する。
<<<オブジェクト列20の末尾の特定>>>
 例えば生成部2040は、オブジェクト列20の進行方向を特定し、オブジェクト列20において進行方向とは逆の端に位置するオブジェクト22を、末尾のオブジェクトとして特定する。オブジェクト列20の進行方向を特定する方法は前述した通りである。
<<オブジェクト領域24の特定>>
 生成部2040は、オブジェクト列20全体を表す画像領域を、互いに隣接する2つのオブジェクト22の間の境界で区切る。こうすることで、生成部2040は、オブジェクト列20の画像領域を、各オブジェクト22が占める複数の部分領域に分割する。オブジェクト22のオブジェクト領域24は、オブジェクト列20を上述の方法で分割することで得られる部分領域のうち、そのオブジェクト22が含まれる部分領域である。なお、オブジェクト列20全体を表す画像領域を定める方法には、既存の技術を利用することができる。
 オブジェクト領域24を特定するために、生成部2040は、オブジェクト列20において互いに隣接するオブジェクト22の間の境界を特定する。互いに隣接する2つのオブジェクト22の間の境界は、例えば以下に示す方法で特定できる。
 図9は、オブジェクト領域24を特定する方法を例示する図である。生成部2040は、互いに隣接する2つのオブジェクト22の位置を結ぶ線分23の中心を算出する。生成部2040は、算出した中心を通る、上記線分の法線を、上記2つのオブジェクト22の境界線25とする。そして生成部2040は、オブジェクト22のオブジェクト領域24を、そのオブジェクト22の前後にある境界線25の間の領域として特定する。なお、オブジェクト22の位置は、前述した通り、オブジェクト22を表す画像領域の中心位置などである。
 ここで、境界線25の長さを定める方法は任意である。例えば生成部2040は、境界線25の長さを予め定められた所定の長さとする。
<オブジェクト列20の変化の検出:S108、110>
 変化検出部2060は、動画フレーム14から生成された要素情報と、その動画フレーム14以降に生成された各動画フレーム14に対するオブジェクト22の検出の結果とに基づいて、オブジェクト列20の変化を検出する(S108、110)。各動画フレーム14に対するオブジェクト22の検出は、例えば前述した、オブジェクト22のトラッキングである。つまり変化検出部2060は、要素情報が生成された動画フレーム14以降の動画フレーム14によって構成される動画データ12において各オブジェクト22をトラッキングし、そのトラッキングによって把握されるオブジェクト22の動きや状態などと、要素情報とに基づいて、オブジェクト列20の変化を検出する。
 ここで、変化検出部2060が検出するオブジェクト列20の変化は、様々である。以下、変化検出部2060によって検出されるオブジェクト列20の変化について例示する。
<<オブジェクト22の離脱>>
 変化検出部2060は、オブジェクト列20からオブジェクト22が離脱したことを検出する。ここでいうオブジェクト22の離脱は、オブジェクト22がオブジェクト列20に属さなくなることを意味する。オブジェクト22が一時的にオブジェクト列20を離れ、その後にオブジェクト列20の同じ位置に戻るケースについては、離脱と表現しないこととする。そこで変化検出部2060は、オブジェクト列20から或るオブジェクト22が検出されない場合に、オブジェクト22が一時的にオブジェクト列20から離れただけなのか、それともオブジェクト列20に戻ってこないのか(オブジェクト列20から離脱したのか)を区別する。
 オブジェクト22の離脱は、1)先頭のオブジェクト22が離脱するケース、2)末尾のオブジェクト22が離脱するケース、及び3)先頭と末尾のいずれでもないオブジェクト22が離脱するケースという3つのケースに大別できる。以下、それぞれのケースの検出方法について説明する。なお、以下では、オブジェクト列20において、先頭と末尾のいずれでもない位置を「中間層」と表現する。
<<<先頭のオブジェクト22が離脱するケース>>>
 図10は、先頭のオブジェクト22がオブジェクト列20から離脱するケースを例示する図である。図10では、先頭に位置するオブジェクト22-1がオブジェクト列20から離脱する。
 まず、先頭のオブジェクト22が離脱すると、そのオブジェクト22が、そのオブジェクト22のオブジェクト領域24から検出されなくなる。例えば図10では、オブジェクト22-1がオブジェクト領域24-1から検出されない。
 さらに、先頭から2番目に位置していたオブジェクト22が、先頭のオブジェクト22のオブジェクト領域24へ入る。例えば図10では、オブジェクト22-2がオブジェクト領域24-1に入る。
 そこで変化検出部2060は、1)先頭のオブジェクト22のオブジェクト領域24から、そのオブジェクト22が検出されないこと、及び2)先頭のオブジェクト22のオブジェクト領域24へ、先頭から2番目のオブジェクト22が入ること、という2つの条件が満たされた場合に、先頭のオブジェクト22が離脱したことを検出する。
<<<末尾のオブジェクト22が離脱するケース>>>
 図11は、末尾のオブジェクト22がオブジェクト列20から離脱するケースを例示する図である。図11では、末尾に位置するオブジェクト22-4がオブジェクト列20から離脱する。
 まず、末尾のオブジェクト22が離脱すると、そのオブジェクト22が、そのオブジェクト22のオブジェクト領域24から検出されなくなる。例えば図11では、オブジェクト22-4がオブジェクト領域24-4から検出されない。
 さらに、末尾の一つ前に位置しているオブジェクト22は静止状態である。例えば図11では、オブジェクト22-3は静止状態である。
 そこで例えば、変化検出部2060は、1)末尾のオブジェクト22のオブジェクト領域24から、そのオブジェクト22が検出されないこと、及び2)末尾の一つ前のオブジェクト22が静止状態であること、という2つの条件が満たされた場合に、末尾のオブジェクト22がオブジェクト列20から離脱したことを検出する。
 その他にも例えば、変化検出部2060は、1)末尾のオブジェクト22と末尾の一つ前のオブジェクト22との間の距離が所定距離以上となり、2)なおかつ末尾の一つ前のオブジェクト22が静止状態であること、という2つの条件が満たされた場合に、末尾のオブジェクト22がオブジェクト列20から離脱したことを検出してもよい。
<<<先頭でも末尾でもないオブジェクト22が離脱するケース>>>
 オブジェクト列20を構成するオブジェクト22が3つ以上である場合、中間層のオブジェクト22(先頭でも末尾でもないオブジェクト22)が存在する。例えば図5において、中間層のオブジェクト22は、オブジェクト22-2とオブジェクト22-3である。
 図12は、中間層のオブジェクト領域24が離脱するケースを例示する図である。図12では、中間層に位置するオブジェクト22-3が離脱する。まず、離脱するオブジェクト22は、そのオブジェクト22のオブジェクト領域24から検出されなくなる。例えば図12では、オブジェクト22-2がオブジェクト領域24-3から検出されなくなる。
 また、中間層のオブジェクト22が一時的にオブジェクト列20から離れる場合と異なり、中間層のオブジェクト22がオブジェクト列20から離脱する場合には、離脱するオブジェクト22のオブジェクト領域24へ、そのオブジェクト22の一つ後ろに位置するオブジェクト22が入る。例えば図12では、オブジェクト22-3の一つ後ろに位置するオブジェクト22-4が、オブジェクト領域24-2へ入る。
 さらに、先頭のオブジェクト22がオブジェクト列20から離脱する場合とは異なり、中間層のオブジェクト22がオブジェクト列20から離脱する場合には、離脱するオブジェクト22の一つ前に位置するオブジェクト22が静止状態である。例えば図12では、オブジェクト22-3の一つ前に位置するオブジェクト22-2が静止状態である。
 そこで変化検出部2060は、1)或る中間層のオブジェクト22が、そのオブジェクト22に対応するオブジェクト領域24から検出されないこと、2)そのオブジェクト22のオブジェクト領域24へ、そのオブジェクト22の一つ後ろに位置するオブジェクト22が入ること、3)そのオブジェクト22の一つ前のオブジェクト22が静止状態であること、という3つの条件が満たされた場合に、その中間層のオブジェクト領域24からオブジェクト22が離脱したと判定する。
<<オブジェクト22の加入>>
 例えば変化検出部2060は、オブジェクト列20に対してオブジェクト22が加わったことを検出する。ここで、オブジェクト列20に属さないオブジェクト22がオブジェクト列20の付近に現れて静止すると、そのオブジェクト22がオブジェクト列20に加わったようにも見える。しかし実際には、そのオブジェクト22は、オブジェクト列20の付近で静止しただけであって、オブジェクト列20に加わっていないこともある。具体的には、オブジェクト列20に新たに加わるオブジェクト22はオブジェクト列20の末尾に並ぶため、オブジェクト列20の末尾以外の場所で静止したオブジェクト22は、たとえオブジェクト列20の近くで静止したとしても、オブジェクト列20に加わっていないと考えられる。
 そこで変化検出部2060は、1)オブジェクト列20の末尾のオブジェクト22と、そのオブジェクト列20に属していないトラッキング中のオブジェクト22との距離が、所定距離以下となること、及び2)そのオブジェクト22の状態が静止状態になること、という2つの条件が満たされた場合に、そのオブジェクト22がオブジェクト列20に加わったことを検出する。
 図13は、オブジェクト22がオブジェクト列20に加入するケースを例示する図である。図13では、オブジェクト22-1からオブジェクト22-4によって構成されているオブジェクト列20に、オブジェクト22-5が加わる。ここで、オブジェクト22-4は、オブジェクト列20の末尾に位置するオブジェクト22-4との距離が所定距離以下の場所まで移動してきた後、静止している。そこで変化検出部2060は、オブジェクト22-5がオブジェクト列20に加わったことを検出する。
<要素情報の更新:S112>
 変化検出部2060によってオブジェクト列20の変化が検出された場合、生成部2040は、変化検出部2060によって利用される要素情報を更新する(S112)。例えば生成部2040は、オブジェクト列20の変化が検出された動画フレーム14以降に生成される動画フレーム14であって、オブジェクト列20を構成する全てのオブジェクト22が静止状態にある動画フレーム14について、S104と同様の方法で要素情報を生成する。その後、変化検出部2060によるオブジェクト列20の変化の検出には、新たに生成された要素情報が利用される。つまり、変化検出部2060に利用される要素情報が更新される。
 ここで、全てのオブジェクト22が静止状態にある動画フレーム14を利用するのは、オブジェクト22が移動状態の場合、オブジェクト列20の状態が変化している最中(例えば先頭のオブジェクト22が離脱した場合に、他のオブジェクト22が1つずつ前に進んでいる)であるためである。全てのオブジェクト22が静止状態である動画フレーム14を利用することで、定常状態になっているオブジェクト列20(例えば先頭のオブジェクト22が離脱した場合に、他のオブジェクト22が1つずつ前に進み終わっているオブジェクト列20)について、要素情報が生成されるようになる。
 ただし、生成部2040は、構成が変化している最中のオブジェクト列20についても要素情報を生成してもよい。すわなち、生成部2040は、オブジェクト列20の変化が検出された動画フレーム14以降に生成される複数の動画フレーム14それぞれについて、S104と同様の方法で要素情報を生成することで、要素情報の更新を繰り返し行ってもよい。例えばこの更新は、オブジェクト列20を構成する全てのオブジェクト22が静止状態になるまで行われる。
<変形例>
 情報処理装置2000は、オブジェクト列20を構成する単位として、複数のオブジェクト22から成るグループ(以下、オブジェクトグループ)を用いてもよい。図14は、オブジェクトグループによって構成されるオブジェクト列20を例示する図である。図14において、オブジェクト列20は、オブジェクトグループ26-1、オブジェクトグループ26-2、及びオブジェクトグループ26-3という3つのオブジェクトグループによって構成されている。オブジェクトグループ26-1は、オブジェクト22-1及びオブジェクト22-2によって構成されている。オブジェクトグループ26-2は、オブジェクト22-3によって構成されている。オブジェクトグループ26-3は、オブジェクト22-4及びオブジェクト22-5によって構成されている。
 要素情報が示すオブジェクト領域24は、動画フレーム14においてオブジェクトグループ26が示す領域とする。そのため、生成部2040は、オブジェクトグループごとにオブジェクト領域24を特定する。図14において、オブジェクト領域24-1はオブジェクトグループ26-1のオブジェクト領域であり、オブジェクト領域24-2はオブジェクトグループ26-2のオブジェクト領域であり、オブジェクト領域24-3はオブジェクトグループ26-3のオブジェクト領域である。
 また要素情報が示す属性は、オブジェクトグループ26の属性とする。そのため、生成部2040は、オブジェクトグループ26ごとに、そのオブジェクトグループ26の属性を特定する。オブジェクトグループ26の属性は、例えば、オブジェクトグループ26に含まれる各オブジェクト22の特徴量、及びオブジェクト列20におけるそのオブジェクトグループ26の位置を含む。ここで、オブジェクトグループ26の位置を定める方法は任意である。例えばオブジェクトグループ26の位置は、そのオブジェクトグループ26に含まれるいずれかのオブジェクト22の位置として定められる。その他にも例えば、オブジェクトグループ26の位置は、そのオブジェクトグループ26に含まれる複数のオブジェクト22の中心位置として定められる。
 変化検出部2060は、要素情報と、要素情報が生成された動画フレーム14以降の動画フレーム14におけるオブジェクトグループ26の検出の結果に基づいて、オブジェクト列20の変化を検出する。オブジェクトグループ26の検出の結果に基づいてオブジェクト列20の変化を検出する方法は、オブジェクト22の検出の結果に基づいてオブジェクト列20の変化を検出する方法と同様である。例えば変化検出部2060は、1)先頭のオブジェクトグループ26のオブジェクト領域24から、そのオブジェクトグループ26が検出されないこと、及び2)先頭のオブジェクトグループ26のオブジェクト領域24へ、先頭から2番目のオブジェクトグループ26が入ること、という2つの条件が満たされた場合に、先頭のオブジェクトグループ26がオブジェクト列20から離脱したことを検出する。
 オブジェクトグループ26をオブジェクト列20の構成単位として扱う場合、情報処理装置2000は、動画フレーム14から各オブジェクトグループ26を検出する。例えば情報処理装置2000は、個々のオブジェクト22をトラッキングする過程で、互いの距離が所定距離以下の状態で所定時間以上移動している複数のオブジェクト22を検出したら、それら複数のオブジェクト22のまとまりを1つのオブジェクトグループ26として検出する。この場合、情報処理装置2000は、これら複数のオブジェクト22のトラッキング情報をまとめて、オブジェクトグループ26としてのトラッキング情報を生成する。オブジェクトグループ26のトラッキング情報は、例えば、オブジェクトグループ26を構成する各オブジェクト22のトラッキング情報に加え、オブジェクトグループ26の位置や状態などの情報を含む。
[実施形態2]
 図15は、実施形態2の情報処理装置2000を例示するブロック図である。以下で説明する事項を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様である。
 実施形態2の情報処理装置2000は、算出部2080をさらに有する。算出部2080は、オブジェクト列20の待ち時間を算出する。オブジェクト列20の待ち時間とは、そのオブジェクト列20の最後尾に並んでから、そのオブジェクト列20の先頭を離脱するまでにかかると推測される時間を表す。例えば券売機にできる人の列であれば、その列に並んでからその列を抜けて券売機を利用できるようになるまでにかかると推測される時間が、その列の待ち時間である。
 算出部2080は、オブジェクト22がオブジェクト列20の先頭に滞留すると予測される時間(以下、予測滞留時間)にオブジェクト列20の長さを掛け合わせることで、オブジェクト列20の待ち時間を算出する。ここで、或る時点におけるオブジェクト列20の長さは、その時点の直近に生成された要素情報が示すオブジェクト領域24の数である。例えば、要素情報が時点 Ta、Tb、及び Tc に算出されたとする。この場合、時点 Ta と Tb の間におけるオブジェクト列20の長さは、時点 Ta に生成された要素情報が示すオブジェクト領域24の数である。また、時点 Tb と Tc の間におけるオブジェクト列20の長さは、時点 Tb に生成された要素情報が示すオブジェクト領域24の数である。
 ここで、或るオブジェクト22がオブジェクト列20から離脱すると、オブジェクト列20の待ち時間は短くなる。しかしながら、オブジェクト22が一時的にオブジェクト列20から離れただけである場合、そのオブジェクト22は後でオブジェクト列20に戻ってくるため、オブジェクト列20の待ち時間は減少しない。よって、オブジェクト列20がオブジェクト列20から離れる場合、それが一時的なものなのかどうかを特定できることが好ましい。
 この点、実施形態1で述べた通り、変化検出部2060は、オブジェクト22が一時的にオブジェクト列20から離れた場合には、そのオブジェクト22がオブジェクト列20から離脱したとは扱わないため、要素情報が更新されない。よって、オブジェクト22が一時的にオブジェクト列20から離れても、オブジェクト列20の長さが減少しないため、オブジェクト列20の待ち時間も減少しない。一方で、オブジェクト22がオブジェクト列20から離脱した場合には、その離脱が検出されて要素情報が更新される。よって、要素情報によって特定されるオブジェクト列20の長さが短くなるため、オブジェクト列20の待ち時間が減少する。
 このように、情報処理装置2000によれば、オブジェクト22が一時的にオブジェクト列20から離れても、そのことに影響されることなく、オブジェクト列20の待ち時間を正確に算出することができる。
<予測滞留時間の算出方法>
 予測滞留時間の算出に利用するため、オブジェクト列20から先頭のオブジェクト22が離脱したことを検出した変化検出部2060は、そのオブジェクト22がオブジェクト列20の先頭から離脱した時点(以下、先頭離脱時点)を記憶装置に記録させる。例えば、或るオブジェクト22の先頭離脱時点は、そのオブジェクト22がオブジェクト列20の先頭から離脱したことが検出された動画フレーム14の生成時点とする。
 算出部2080は、先頭離脱時点を用いて、オブジェクト列20において実際にオブジェクト22が先頭に滞留した時間(以下、実滞留時間)を算出する。具体的には、算出部2080は、或るオブジェクト22の先頭滞留時点と、その次にオブジェクト列20の先頭から離脱したオブジェクト22の先頭滞留時点との差分を、実滞留時間として算出する。
 例えば、オブジェクト22-1、オブジェクト22-2、及びオブジェクト22-3という順で並ぶ3つのオブジェクト22によってオブジェクト列20が構成されているとする。そして、オブジェクト22-1からオブジェクト22-3がそれぞれ、時点 Ta、Tb、及び Tc にオブジェクト列20の先頭から離脱したとする。この場合、オブジェクト22-2の実滞留時間は Tb-Ta であり、オブジェクト22-3の実滞留時間は Tc-Tb である。
 算出部2080は、1つ以上の実滞留時間を用いて、予測滞留時間を算出する。例えば算出部2080は、直近に算出された実滞留時間を予測滞留時間とする。その他にも例えば、算出部2080は、複数の予測滞留時間の統計値を算出し、その統計値を予測滞留時間とする。統計値は、例えば平均値、最大値、最小値などである。統計値の算出に利用される実滞留時間は、オブジェクト列20について算出された全ての実滞留時間であってもよいし、一部の実滞留時間であってもよい。後者の場合、例えば算出部2080は、直近の所定個の実滞留時間の統計値を算出する。
<算出した待ち時間の利用方法>
 算出部2080によって算出されたオブジェクト列20の待ち時間を利用する方法は様々である。例えば情報処理装置2000は、算出部2080によって算出された待ち時間を、記憶装置に記憶させる。こうすることで、例えば時間帯、日付、又は曜日ごとのオブジェクト列20の待ち時間の違いを統計的に算出するなどして、カメラ10が設置されている場所におけるオブジェクト列20の待ち時間の傾向などを把握することができる。
 その他にも例えば、情報処理装置2000は、算出部2080によって算出されたオブジェクト列20の待ち時間を、種々の方法で提示してもよい。例えば情報処理装置2000は、所定のディスプレイ装置にオブジェクト列20の待ち時間を表示させる。例えばこの所定のディスプレイ装置は、オブジェクト列20の付近に予め設置されている。その他にも例えば、情報処理装置2000は、オブジェクト列20の待ち時間を、所定の Web ページに表示させてもよい。こうすることで、オブジェクト列20に並ぼうとしている人が、オブジェクト列20の正確な待ち時間を考慮した上で、オブジェクト列20に並ぶかどうかを判断することができるようになる。
<ハードウエア構成の例>
 実施形態2の情報処理装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の情報処理装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の情報処理装置2000の機能を実現するプログラムモジュール(算出部2080を実現するプログラムモジュールなど)がさらに記憶される。
<変形例>
 上述の説明では、オブジェクト22をオブジェクト列20の構成単位としている。しかし、実施形態1の変形例として前述したように、オブジェクトグループ26をオブジェクト列20の構成単位としてもよい。
 この場合、算出部2080は、オブジェクトグループ26がオブジェクト列20の先頭に滞留すると予測される時間を、予測滞留時間として算出する。オブジェクトグループ26の予測滞留時間を算出する方法は、オブジェクト22の予測滞留時間を算出する方法と同様である。
 そして、算出部2080は、オブジェクトグループ26の予測滞留時間にオブジェクト列20の長さを掛け合わせることで、オブジェクト列20の待ち時間を算出する。オブジェクト列20の長さは、要素情報に示されるオブジェクト領域24の数、すなわちオブジェクト列20に含まれるオブジェクトグループ26の数で表される。
 この出願は、2017年3月31日に出願された日本出願特願2017-070824号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (15)

  1.  動画データからオブジェクトの列を検出する列検出手段と、
     前記オブジェクトの列が検出された動画フレームを用いて、前記列に含まれるオブジェクトがその動画フレームにおいて占める領域であるオブジェクト領域と、そのオブジェクトの属性とを対応付けた情報である要素情報を生成する生成手段と、
     前記要素情報と、前記要素情報が生成された動画フレーム以降に生成される動画フレームに対するオブジェクト検出の結果とに基づいて、前記列の変化を検出する変化検出手段と、を有し、
     前記生成手段は、前記変化が検出された列について前記要素情報を生成することで、前記変化検出手段が利用する要素情報を更新する、情報処理装置。
  2.  前記列の端に位置するオブジェクトがその端に滞留する時間を算出し、前記算出した時間に前記列の長さを掛け合わせた時間を、前記列の待ち時間として算出する待ち時間算出手段を有する、請求項1に記載の情報処理装置。
  3.  前記待ち時間算出手段は、前記列の端からオブジェクトが離脱してから、その次に前記列の端からオブジェクトが離脱するまでの時間を、前記オブジェクトが前記列の端に滞留する時間として算出する、請求項2に記載の情報処理装置。
  4.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出手段は、前記列の先頭に位置する第1オブジェクトのオブジェクト領域から前記第1オブジェクトが検出されないこと、及び前記第1オブジェクトのオブジェクト領域へ前記第1オブジェクトの一つ後ろに位置する第2オブジェクトが入ることを検出した場合に、前記第1オブジェクトが前記列の先頭から離脱したことを検出する、請求項1乃至3いずれか一項に記載の情報処理装置。
  5.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出手段は、前記列の末尾に位置する第1オブジェクトが前記第1オブジェクトのオブジェクト領域から検出されないこと、及び前記第1オブジェクトの一つ前に位置する第2オブジェクトが静止していることを検出した場合に、前記第1オブジェクトが前記列の末尾から離脱したことを検出する、請求項1乃至3いずれか一項に記載の情報処理装置。
  6.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出手段は、前記列の端以外に位置する第1オブジェクトが前記第1オブジェクトのオブジェクト領域から検出されないこと、前記第1オブジェクトのオブジェクト領域へ前記第1オブジェクトの一つ後ろに位置する第2オブジェクトが入ること、及び前記第1オブジェクトの一つ前に位置する第3オブジェクトが静止していることを検出した場合に、前記第1オブジェクトが前記列から離脱したことを検出する、請求項1乃至3いずれか一項に記載の情報処理装置。
  7.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出手段は、前記列に含まれていない第1オブジェクトと、前記列の末尾に位置する第2オブジェクトとの距離が所定距離以下であること、及び前記第1オブジェクトが静止していることを検出した場合に、前記第1オブジェクトが前記列に加わったことを検出する、請求項1乃至3いずれか一項に記載の情報処理装置。
  8.  コンピュータによって実行される制御方法であって、
     動画データからオブジェクトの列を検出する列検出ステップと、
     前記オブジェクトの列が検出された動画フレームを用いて、前記列に含まれるオブジェクトがその動画フレームにおいて占める領域であるオブジェクト領域と、そのオブジェクトの属性とを対応付けた情報である要素情報を生成する生成ステップと、
     前記要素情報と、前記要素情報が生成された動画フレーム以降に生成される動画フレームに対するオブジェクト検出の結果とに基づいて、前記列の変化を検出する変化検出ステップと、を有し、
     前記生成ステップにおいて、前記変化が検出された列について前記要素情報を生成することで、前記変化検出ステップで利用する要素情報を更新する、制御方法。
  9.  前記列の端に位置するオブジェクトがその端に滞留する時間を算出し、前記算出した時間に前記列の長さを掛け合わせた時間を、前記列の待ち時間として算出する待ち時間算出ステップを有する、請求項8に記載の制御方法。
  10.  前記待ち時間算出ステップにおいて、前記列の端からオブジェクトが離脱してから、その次に前記列の端からオブジェクトが離脱するまでの時間を、前記オブジェクトが前記列の端に滞留する時間として算出する、請求項9に記載の制御方法。
  11.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出ステップにおいて、前記列の先頭に位置する第1オブジェクトのオブジェクト領域から前記第1オブジェクトが検出されないこと、及び前記第1オブジェクトのオブジェクト領域へ前記第1オブジェクトの一つ後ろに位置する第2オブジェクトが入ることを検出した場合に、前記第1オブジェクトが前記列の先頭から離脱したことを検出する、請求項8乃至10いずれか一項に記載の制御方法。
  12.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出ステップにおいて、前記列の末尾に位置する第1オブジェクトが前記第1オブジェクトのオブジェクト領域から検出されないこと、及び前記第1オブジェクトの一つ前に位置する第2オブジェクトが静止していることを検出した場合に、前記第1オブジェクトが前記列の末尾から離脱したことを検出する、請求項8乃至10いずれか一項に記載の制御方法。
  13.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出ステップにおいて、前記列の端以外に位置する第1オブジェクトが前記第1オブジェクトのオブジェクト領域から検出されないこと、前記第1オブジェクトのオブジェクト領域へ前記第1オブジェクトの一つ後ろに位置する第2オブジェクトが入ること、及び前記第1オブジェクトの一つ前に位置する第3オブジェクトが静止していることを検出した場合に、前記第1オブジェクトが前記列から離脱したことを検出する、請求項8乃至10いずれか一項に記載の制御方法。
  14.  前記要素情報が示す前記オブジェクトの属性は、前記列におけるそのオブジェクトの位置を含み、
     前記変化検出ステップにおいて、前記列に含まれていない第1オブジェクトと、前記列の末尾に位置する第2オブジェクトとの距離が所定距離以下であること、及び前記第1オブジェクトが静止していることを検出した場合に、前記第1オブジェクトが前記列に加わったことを検出する、請求項8乃至10いずれか一項に記載の制御方法。
  15.  請求項8乃至14いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
PCT/JP2018/012784 2017-03-31 2018-03-28 情報処理装置、制御方法、及びプログラム WO2018181484A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US16/498,949 US11151389B2 (en) 2017-03-31 2018-03-28 Information processing apparatus, control method, and program
JP2019509981A JP7156269B2 (ja) 2017-03-31 2018-03-28 情報処理装置、制御方法、及びプログラム
US17/482,123 US11790659B2 (en) 2017-03-31 2021-09-22 Information processing apparatus, control method, and program
US18/241,770 US20230410522A1 (en) 2017-03-31 2023-09-01 Information processing apparatus, control method, and program
US18/242,242 US20230410523A1 (en) 2017-03-31 2023-09-05 Information processing apparatus, control method, and program
US18/242,249 US20230410524A1 (en) 2017-03-31 2023-09-05 Information processing apparatus, control method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-070824 2017-03-31
JP2017070824 2017-03-31

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/498,949 A-371-Of-International US11151389B2 (en) 2017-03-31 2018-03-28 Information processing apparatus, control method, and program
US17/482,123 Continuation US11790659B2 (en) 2017-03-31 2021-09-22 Information processing apparatus, control method, and program

Publications (1)

Publication Number Publication Date
WO2018181484A1 true WO2018181484A1 (ja) 2018-10-04

Family

ID=63677703

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/012784 WO2018181484A1 (ja) 2017-03-31 2018-03-28 情報処理装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (5) US11151389B2 (ja)
JP (1) JP7156269B2 (ja)
WO (1) WO2018181484A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704782B2 (en) * 2018-10-03 2023-07-18 The Toronto-Dominion Bank Computerized image analysis for automatically determining wait times for a queue area

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175694A (ja) * 1997-12-11 1999-07-02 Omron Corp 混雑報知装置
JP2010130383A (ja) * 2008-11-28 2010-06-10 Secom Co Ltd 移動物体追跡装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3978834B2 (ja) 1997-11-28 2007-09-19 松下電器産業株式会社 情報通信方法およびその装置
JP2001291144A (ja) 2000-04-04 2001-10-19 Toshiba Corp 自動取引装置
JP2005216217A (ja) 2004-02-02 2005-08-11 Chuo Electronics Co Ltd 行列の人数計測システムおよび人数計測方法
JP2005242896A (ja) 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd 待ち行列対応表示システム及び待ち行列解析装置
JP4402505B2 (ja) 2004-04-27 2010-01-20 グローリー株式会社 待ち時間案内システムおよび方法
CN101107637B (zh) 2004-11-02 2013-02-06 传感电子公司 行列监视系统和方法
JP2007317052A (ja) 2006-05-29 2007-12-06 Japan Airlines International Co Ltd 行列の待ち時間の計測システム
JP5418151B2 (ja) 2009-10-30 2014-02-19 富士通株式会社 情報提供プログラム、および情報提供装置
JP2013109395A (ja) 2011-11-17 2013-06-06 Sharp Corp 待ち行列管理装置、待ち行列管理方法および、待ち行列管理システム
EP2849151A1 (de) * 2013-09-13 2015-03-18 Xovis AG Verfahren zur Analyse von freien Warteschlangen
JP5597781B1 (ja) * 2014-03-26 2014-10-01 パナソニック株式会社 滞留状況分析装置、滞留状況分析システムおよび滞留状況分析方法
JP2015215787A (ja) 2014-05-12 2015-12-03 キヤノン株式会社 情報処理装置、待ち時間推定システム、情報処理方法及びプログラム
JP6904677B2 (ja) * 2016-08-30 2021-07-21 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175694A (ja) * 1997-12-11 1999-07-02 Omron Corp 混雑報知装置
JP2010130383A (ja) * 2008-11-28 2010-06-10 Secom Co Ltd 移動物体追跡装置

Also Published As

Publication number Publication date
JP7156269B2 (ja) 2022-10-19
US11790659B2 (en) 2023-10-17
US20230410522A1 (en) 2023-12-21
US20210110167A1 (en) 2021-04-15
US11151389B2 (en) 2021-10-19
US20230410523A1 (en) 2023-12-21
JPWO2018181484A1 (ja) 2020-02-13
US20230410524A1 (en) 2023-12-21
US20220004776A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
WO2018059408A1 (zh) 跨线计数方法和神经网络训练方法、装置和电子设备
JP6362674B2 (ja) 映像監視支援装置、映像監視支援方法、およびプログラム
US11450011B2 (en) Adaptive item counting algorithm for weight sensor using sensitivity analysis of the weight sensor
WO2014061342A1 (ja) 情報処理システム、情報処理方法及びプログラム
JP2021119507A (ja) 車線の決定方法、車線測位精度の評価方法、車線の決定装置、車線測位精度の評価装置、電子デバイス、コンピュータ可読記憶媒体、及びプログラム
US20230410523A1 (en) Information processing apparatus, control method, and program
US11501455B2 (en) System and method for position tracking using edge computing
US11587243B2 (en) System and method for position tracking using edge computing
US20160036882A1 (en) Simulataneous metadata extraction of moving objects
Oussama et al. A literature review of steering angle prediction algorithms for self-driving cars
JP2021144741A (ja) 情報処理システム、制御方法、及びプログラム
JP7115579B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN111601013A (zh) 用于处理视频帧的方法和装置
US20230154192A1 (en) Person flow analysis method and system, electronic device, and readable storage medium
JPWO2018179119A1 (ja) 映像解析装置、映像解析方法およびプログラム
CN112802347B (zh) 通过交通路口车辆的行驶速度确定方法、装置和设备
WO2024000558A1 (zh) 目标跟踪方法、目标跟踪系统和电子设备
JP7384225B2 (ja) 行列解析装置、制御方法、及びプログラム
WO2021146952A1 (zh) 跟随方法、可移动平台、装置和存储介质
JP2022026849A (ja) 情報処理装置、情報処理方法、およびプログラム
CN116433717A (zh) 一种人体跟踪方法、装置、电子设备及存储介质
CN117392229A (zh) 机器人定位方法、装置、设备、机器人及存储介质
CN117495936A (zh) 深度图像处理方法和装置、电子设备和计算机可读存储介质
Hu Adaptation in Non-Parametric State Estimation with Application to People Tracking

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019509981

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

Country of ref document: EP

Kind code of ref document: A1