WO2020157885A1 - データストリーム割り当て方法、システムおよびプログラム - Google Patents
データストリーム割り当て方法、システムおよびプログラム Download PDFInfo
- Publication number
- WO2020157885A1 WO2020157885A1 PCT/JP2019/003292 JP2019003292W WO2020157885A1 WO 2020157885 A1 WO2020157885 A1 WO 2020157885A1 JP 2019003292 W JP2019003292 W JP 2019003292W WO 2020157885 A1 WO2020157885 A1 WO 2020157885A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- area
- data stream
- servers
- server
- allocation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19602—Image analysis to detect motion of the intruder, e.g. by frame subtraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19639—Details of the system layout
- G08B13/19645—Multiple cameras, each having view on one of a plurality of scenes, e.g. multiple cameras for multi-room surveillance or for tracking an object by view hand-over
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19654—Details concerning communication with a camera
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19665—Details related to the storage of video surveillance data
- G08B13/19669—Event triggers storage or change of storage policy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/08—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
- H04N7/0806—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division the signals being two or more video signals
Definitions
- the present invention relates to a data stream allocation method, a data stream allocation system, and a data stream allocation program for allocating a data stream to a server.
- Patent Document 1 describes arranging a plurality of information processing devices to which different areas are allocated on a communication network. Then, Patent Document 1 describes that the traveling information is transmitted to an information processing apparatus to which an area including a point indicated by the positional information is assigned by referring to the positional information included in the traveling information. ..
- Patent Document 2 describes that a partial area which is a part of the area in charge of the high load monitoring unit is added to the area in charge of the low load monitoring unit.
- each camera system that fixedly assigns each area defined in the area to the server, and each server captures the area assigned to the server It is possible to analyze the object in the area using the data stream obtained from.
- the case where the object of analysis is a human is taken as an example.
- each camera system generates a data stream for each person who has taken a picture.
- the amount of data stream processed by the server assigned to the specific area will be large. That is, the transfer amount of the data stream to the server to which the area where humans are concentrated and the processing load of the server are increased, and the analysis processing is delayed. On the other hand, the processing load of the server assigned to the area with few humans is small.
- An object of the present invention is to provide a data stream allocation method, a data stream allocation system, and a data stream allocation program that can be suppressed.
- the data stream allocation method is realized by at least one computer and a plurality of servers for analyzing an object in the surveillance area using data streams obtained from a plurality of camera systems for photographing the surveillance area.
- the data stream allocation method according to claim 1, wherein the at least one computer allocates the data streams obtained from the plurality of camera systems to the plurality of servers according to the deviation of the number of the objects in the monitoring area,
- the data streams obtained from the plurality of camera systems according to the result of the data stream allocation to the respective servers, and the plurality of servers are respectively distributed by the at least one computer.
- the analysis of the object is performed by using the generated data stream.
- a data stream allocation system is a data stream that allocates the data stream to a plurality of servers that analyze an object in the surveillance area using data streams obtained from a plurality of camera systems that photograph the surveillance area.
- An allocation system wherein an allocation determination unit that allocates a data stream obtained from the plurality of camera systems to the plurality of servers according to a bias in the number of the objects in the monitoring area, and a data stream for the plurality of servers.
- a distribution unit that distributes the data streams obtained from the plurality of camera systems to the servers to which the data streams are allocated, according to the allocation result.
- a data stream allocation program causes a computer to assign the data stream to a plurality of servers that analyze an object in the surveillance area using the data streams obtained from a plurality of camera systems that photograph the surveillance area.
- the uneven processing load of the servers is suppressed, and the delay of the analysis processing in the servers is reduced. Can be suppressed.
- FIG. 9 is a schematic diagram showing a situation in which the monitoring area is divided into a plurality of areas by the loop processing of steps S4 to S6.
- FIG. 9 is a schematic diagram showing a situation in which the monitoring area is divided into a plurality of areas by the loop processing of steps S4 to S6.
- FIG. 6 is a schematic diagram showing an example of an area table after performing the processes of steps S1 to S8. It is a schematic diagram which shows the example of the server table after performing the process of step S1-S8. It is a flowchart which shows the example of a process progress of step S7. It is a schematic diagram which shows the example of each area at the time of transfering to step S7.
- FIG. 7 is a schematic diagram showing index values calculated for areas A to O and the priorities determined in step S12. It is a schematic diagram which shows the area allocation result by the loop process of step S14-S16 until the area E whose priority is 11th becomes a selection area. It is a schematic diagram which shows the state of each area after dividing the area F.
- 6 is a flowchart showing an example of the processing progress in which the data stream allocation system 1 distributes the data stream received from each camera system 7 to each server 8, and each server 8 analyzes.
- It is a schematic block diagram which shows the structural example of the computer which concerns on the data stream allocation system 1 of embodiment of this invention.
- It is a block diagram which shows the outline
- FIG. 1 is a block diagram showing an example of a data stream allocation system according to an embodiment of the present invention.
- the data stream allocation system 1 of the present invention is communicably connected to a plurality of camera systems 7 and a plurality of servers 8. Although three camera systems 7 are illustrated in FIG. 1, the number of camera systems 7 is not limited to three. Similarly, although FIG. 1 illustrates three servers 8, the number of servers 8 is not limited to three. Although each server 8 is a separate server, the plurality of servers 8 (collection of servers 8) are referred to as an analysis unit 80 for convenience.
- a plurality of camera systems 7 are provided to monitor areas such as places where people gather in public transportation, airports, stadiums, event venues, large-scale commercial facilities, etc.
- an area captured by the plurality of camera systems 7 will be referred to as a “monitoring area”.
- An object to be analyzed by the server 8 exists in the monitoring area.
- the monitoring area is an airport and the object is a human will be described as an example as appropriate.
- the surveillance area is not limited to the airport, and the object is not limited to humans.
- the object may be a vehicle, an animal, or the like.
- Each individual camera system 7 has a camera. Furthermore, each camera system 7 has a flow line detection function for detecting a flow line of a human (object) from an image obtained by the camera, and an event detection function for detecting an event.
- the data stream representing the flow line is input to the data stream allocation system 1 of the present invention. In this embodiment, since the data stream represents the flow line of the object, each data stream corresponds to each person.
- a data stream is, for example, time-series data in which data in which time and the position of an object at that time are associated are linked in time order. Further, in the data stream, not only the position but also the information indicating the event is associated with the time when the event is detected.
- the event means, for example, various predetermined movements (movements of an object) such as “putting down luggage”. From the data stream, the flow line of the object, the occurrence position and the occurrence time of the event can be known. Further, the camera system 7 adds the ID (IDentification) of the camera system 7 to the generated data stream.
- the configuration of the camera system 7 may be such that the camera has a flow line detection function, an event detection function, and a data stream generation function.
- the camera system 7 may have a configuration in which an information processing apparatus having a flow line detection function, an event detection function, and a data stream generation function is connected to the camera by wire or wirelessly.
- the data stream allocation system 1 allocates the data streams obtained from the plurality of camera systems 7 to the server 8 and distributes the data stream to the server 8 to which the data stream is allocated.
- Each server 8 analyzes the object using the data stream distributed from the data stream allocation system 1.
- detection of a predetermined pattern can be cited.
- the predetermined pattern is an unusual behavior or state of the object. For example, "a person puts luggage near an airport gate, moves to another gate, and enters another gate” corresponds to the predetermined pattern.
- each server 8 passes through the monitoring line of the object, intrudes, leaves, appears, disappears, quarrels, stays, wanders, falls, stands up, sits down, changes the moving direction of the object in the monitoring area, Detects various actions and conditions such as reverse running, shoplifting, detouring, damage, removal, leaving, graffiti, line of objects, congestion, returning to the line after leaving the line, people running etc. You may.
- the object is not limited to a human, and may be a vehicle such as a vehicle or an animal.
- the predetermined pattern may be a specific event itself such as a crime. Further, the predetermined pattern may be an event that has occurred in a specific situation. Further, the predetermined pattern may be a situation in which a specific event and a specific event occur consecutively.
- the detected predetermined pattern (abnormal behavior or state of the object) is used to detect crimes, prevent crimes, and grasp the convenience and satisfaction of users of facilities (eg airports). ..
- a data output unit 9 connected to each server 8 is provided.
- the data output unit 9 is realized by, for example, a computer other than the data stream allocation system 1.
- the data output unit 9 receives the analysis result output by each server 8 (for example, the detection result of a predetermined pattern), collects the analysis results obtained from each server 8, and outputs it to an external system (not shown). Good.
- the external system detects, for example, a crime, or calculates the convenience and satisfaction of the user based on the analysis result of each server 8.
- the data output unit 9 may integrate the analysis results obtained from each server 8 based on the time and output the result.
- the data stream allocation system 1 includes an input unit 2, an information storage unit 3, an allocation determination unit 4, and a distribution unit 5.
- the input unit 2 receives data streams from a plurality of camera systems 7. For example, the input unit 2 receives each data stream transmitted to each data stream allocation system 1 by each camera system 7 via a communication interface (not shown in FIG. 1) included in the data stream allocation system 1. Then, the input unit 2 sends the data stream received from each camera system 7 to the distribution unit 5.
- the input unit 2 sends the data streams to the distribution unit 5 after unifying the formats of the received data streams.
- the time is described in the universal standard time in the data stream generated by a certain camera system 7, and the time is described in the time in Japan in the data stream generated by another camera system 7.
- the input unit 2 unifies the description of the time of each received data stream into one format.
- the information storage unit 3 is a storage device that stores various kinds of information such as the area allocation to each server 8 determined by the allocation determination unit 4.
- the area is an individual divided area defined by dividing the monitoring area. The process of defining the area by dividing the monitoring area is executed by the allocation determining unit 4.
- the information storage unit 3 stores information in the form of various tables exemplified below.
- the information storage unit 3 stores, for example, a camera system statistical information table, an area table, a server table, and a minimum area size table.
- FIG. 2 is a schematic diagram showing an example of a camera system statistical information table.
- the camera system statistical information table stores, for each camera system 7, the ID of the camera system 7, the average value of the number of objects, and the shooting position in association with each other.
- the photographing position is information indicating the center position of the range photographed by the camera system 7, and is represented by latitude and longitude, for example.
- the installation position of the camera and the orientation of the camera included in the camera system 7 are fixed. Therefore, each shooting position stored in the camera system statistical information table is a fixed value and does not change.
- the average number of objects of the camera system 7 is the average value of the number of objects taken by the camera system 7 among the objects analyzed by each server 8.
- the allocation determination unit 4 monitors each server 8 that analyzes the object using the data stream, and determines the number of objects analyzed by the analysis unit 80 (a plurality of servers 8) for each camera system 7. Get the latest average value. Since the ID of the camera system 7 is added to the data stream, the allocation determination unit 4 analyzes each camera system 7 by monitoring the data stream used by each server 8 during analysis. It is possible to obtain the latest average value of the number of objects analyzed by the unit 80.
- the allocation determination unit 4 stores the latest average value of the number of objects acquired for each camera system 7 in the camera system statistical information table (see FIG. 2) as the object number average value to obtain the object number average value. Update. Therefore, the allocation determination unit 4 updates the average number of objects in the camera system statistical information table stored in the information storage unit 3.
- FIG. 3 is a schematic diagram showing an example of an area table stored in the information storage unit 3.
- the area table stores, for each area, an area ID, a list of IDs of the camera system 7 that captures an image of the area, the latest number of objects, an area position, and an area size in association with each other.
- the allocation determination unit 4 determines the individual areas by dividing the monitoring area and determines the ID for each area. Further, the allocation determination unit 4 specifies, for each area, the camera system 7 in which the shooting position (see FIG. 2) is included in the area.
- the camera system 7 specified here is not limited to one, but may be plural.
- the camera system 7 is a camera system 7 that captures an image of the area.
- the allocation determining unit 4 determines the area position and the area size for each area.
- the area is a rectangle, and the area position will be described as an example in which the area position is the latitude and longitude representing the position of the upper left apex when the areas are viewed from above.
- the area size is the vertical length and the horizontal length of the area.
- the area position and area size determine the range of the area.
- the most recent number of objects in the area table is the sum of the average number of objects (see FIG. 2) corresponding to the camera system 7 that takes an image of the area. That is, it can be said that the latest number of objects is the latest number of objects analyzed by the analysis unit 80 using the data stream obtained from each camera system 7 that photographs the inside of the area.
- the allocation determining unit 4 stores, for each area, the area ID, the ID of each camera system 7 that captures an image of the area, the area position, and the area size. Further, the number of latest objects is calculated for each area based on the camera system statistical information table (see FIG. 2), and the number of latest objects is stored in the area table. Further, when the allocation determination unit 4 updates the average number of objects in the camera system statistical information table, the allocation determination unit 4 also updates the latest number of objects in the area table accordingly.
- FIG. 4 is a schematic diagram showing an example of a server table stored in the information storage unit 3.
- the server table stores, for each server 8, the ID of the server 8, the list of the IDs of the areas assigned to the server 8, and the number of latest objects in association with each other.
- the allocation determining unit 4 After allocating the area to the server 8, the allocation determining unit 4 associates the ID of the server 8, the list of the IDs of the areas allocated to the server 8, and the number of latest objects in the server table. Store.
- the number of latest objects in the server table is the sum of the number of latest objects associated with each area assigned to the server 8. That is, the allocation determining unit 4 reads the latest number of target objects associated with each area assigned to the server 8 from the area table (see FIG. 3), and the server 8 calculates the sum of the latest number of target objects. It may be stored in the server table as the corresponding number of latest objects. When the number of latest objects in the area table is updated along with the update of the average number of objects in the camera system statistical information table, the allocation determination unit 4 also adjusts the number of latest objects in the server table accordingly. Update.
- the number of latest objects in the server table is the latest number of objects that each server 8 analyzes.
- the camera system 7 may detect multiple flow lines from one person.
- a plurality of camera systems 7 may photograph the same person and detect the flow line, respectively. Therefore, the average number of objects in the camera system statistical information table (see FIG. 2) and the latest number of objects in the area table and the server table are total numbers.
- FIG. 5 is a schematic diagram showing an example of the minimum area size table stored in the information storage unit 3.
- the minimum area size table is a table that stores the smallest allowable area size (hereinafter referred to as the minimum area size).
- the allocation determination unit 4 does not define an area having a size smaller than the minimum area size.
- the minimum area size is a fixed value that is set in advance.
- the minimum area size is defined as a size wider than the shooting range of one camera system 7.
- the minimum area size is set wide enough to suppress erroneous detection of a predetermined pattern. For example, the action of placing luggage near the gate of an airport and going to the toilet is a normal action, and it is not necessary to detect it as a predetermined pattern. However, if the area where the person who puts the luggage near the gate does not know that the destination is the toilet, even if the person goes to the toilet, it may be detected as a predetermined pattern.
- the minimum area size is broadly set so as to prevent such a situation. However, the appropriate minimum area size differs depending on the content of the analysis. Therefore, in the example shown in FIG.
- the minimum area size is stored for each analysis ID indicating the type of analysis content.
- the user who uses the data stream allocation system 1 or each server 8 specifies the minimum area size according to the analysis content.
- the allocation determination unit 4 determines each area based on the minimum area size designated by the user.
- the allocation determination unit 4 repeatedly divides the monitoring area to define the areas, but the sizes of the individual areas are not always the same.
- the allocation determining unit 4 defines each area by dividing the monitoring area and further allocates each area to the server 8, the contents of the area table (see FIG. 3) stored in the information storage unit 3 and The contents of the server table (see FIG. 4) stored in the information storage unit 3 are updated.
- allocation determining unit 4 monitors each server 8 that analyzes the object using the data stream and updates the average number of objects in the camera system statistical information table (see FIG. 2), Then, the number of most recent objects in the area table and the number of most recently processed objects in the server table are updated.
- the allocation determination unit 4 re-divides the monitoring area and newly adds each area. Redefine. Then, the allocation determination unit 4 allocates each of the areas to one of the servers 8. Details of this processing will be described later using a flowchart.
- the camera system 7 that shoots in the area can be specified.
- the camera system 7 and the data stream obtained from the camera system 7 are associated with each other. Therefore, the allocation determination unit 4 allocates the data stream obtained from each camera system 7 to any server 8 by allocating each area to any server 8.
- the distribution unit 5 distributes the data stream obtained from each camera system 7 to the server 8 based on the result of the area allocation to the server 8. That is, the distribution unit 5 distributes, for each camera system 7, the data stream obtained from the camera system 7 to the server 8 to which the area including the shooting position of the camera system 7 is allocated. At this time, the distribution unit 5 transmits each data stream to the server 8 that is the distribution destination via the communication interface (not shown in FIG. 1) included in the data stream allocation system 1.
- the data stream allocation system 1 of the present invention is realized by at least one computer.
- the input unit 2, the allocation determination unit 4, and the distribution unit 5 may be realized by the CPU (Central Processing Unit) of one computer that operates according to the data stream allocation program.
- the CPU may read the data stream allocation program from a program recording medium such as a program storage device of a computer, and operate as the input unit 2, the allocation determination unit 4, and the distribution unit 5 according to the data stream allocation program. ..
- the data stream allocation system 1 may be realized by two or more computers connected by wire or wirelessly.
- FIG. 6 shows that when the number of objects to be analyzed by each server 8 becomes large, the allocation determining unit 4 divides the monitoring area into individual areas and assigns each area to any of the servers 8. It is a flowchart which shows the example of the process to allocate.
- the allocation determination unit 4 has already performed an operation of once defining a plurality of areas and allocating each of the areas to one of the servers 8, and the camera system statistical information table, the area table, and the server table are stored in the information storage unit 3. Be stored in. Then, the allocation determination unit 4 monitors each server 8 that analyzes the object using the data stream, and if there is a change, the average number of objects in the camera system statistical information table and the area table. It is assumed that the number of latest objects in the table and the number of latest objects in the server table are updated. In order for the allocation determination unit 4 to monitor each server 8 that analyzes the object using the data stream, the distribution unit 5 uses the data stream as a server based on the result of the area allocation to the server 8. Must be distributed to 8.
- the allocation determination unit 4 may arbitrarily define a plurality of areas and allocate each area to the server 8 arbitrarily. For example, the allocation determination unit 4 may divide the monitoring area into the same number of areas as the number of servers 8 and allocate one area to one server 8 at the start of operation.
- the user has specified one minimum area size from the minimum area size table in advance according to the content of the analysis before starting operation. Then, it is assumed that the specified minimum area size is stored in the information storage unit 3.
- the allocation determination unit 4 determines whether or not the difference between the maximum value and the minimum value of the number of latest objects corresponding to each server 8 is equal to or more than a threshold value (step S1). In other words, the allocation determination unit 4 determines whether or not the difference between the maximum value and the minimum value of the number of most recent objects stored in the server table is equal to or more than the threshold value. It should be noted that this threshold value is predetermined.
- the allocation determination unit 4 ends the process without redefining the area.
- the allocation determination unit 4 determines the upper limit value of the number of objects existing in one area based on the total number of objects and the number of servers 8 (step S2).
- the allocation determination unit 4 calculates the total number of objects by calculating the sum of the object number average values for each camera system 7 stored in the camera system statistical information table.
- step S2 the allocation determination unit 4 defines the entire monitoring area as one area.
- the allocation determination unit 4 reads the minimum area size designated in advance from the information storage unit 3 (step S3).
- the allocation determination unit 4 determines whether or not the sizes of all areas have reached the minimum area size (step S4). If the size of all areas has reached the minimum area size (Yes in step S4), the process proceeds to step S7.
- step S5 If there is an area that has not reached the minimum area size (No in step S4), move to step S5.
- the entire monitoring area is one area, and therefore the process moves to step S5.
- step S5 the allocation determination unit 4 divides the area into two areas in which the number of objects exceeds the upper limit defined in step S2.
- the area is rectangular.
- the allocation determining unit 4 divides the area perpendicular to the long side of the rectangle. By dividing the area in this way, it is possible to prevent an extremely elongated area from occurring.
- the allocation determination unit 4 may divide the area perpendicular to any side.
- the allocation determination unit 4 determines whether or not the number of objects is equal to or less than the upper limit value determined in step S2 in all areas (step S6). If the number of objects is equal to or smaller than the upper limit value determined in step S2 in all areas (Yes in step S6), the process proceeds to step S7.
- step S6 the allocation determination unit 4 repeats the processing from step S4.
- FIG. 7 is a schematic diagram showing a situation in which the monitoring area is divided into a plurality of areas by the loop processing of steps S4 to S6.
- FIG. 7 illustrates a case where the object is a human and the upper limit value determined in step S2 is 43.1 as in the above example.
- the number of humans is less than or equal to the upper limit value (43.1) in all areas. Therefore, in the example shown in FIG. 7, when the final divided state shown in FIG. 7 is reached, the process proceeds to step S7.
- step S7 the allocation determination unit 4 allocates areas to the servers 8 so that the processing load on each server 8 becomes uniform. However, the processing load does not have to be completely uniform in each server 8. The process of step S7 will be described later with reference to the flowchart shown in FIG.
- the allocation determination unit 4 updates the contents of the area table and the server table stored in the information storage unit 3 (step S8).
- FIGS. 8 and 9 shows that the deviation in the number of latest objects for each server is suppressed more than in the example shown in FIG.
- FIG. 10 is a flowchart showing an example of the processing progress of step S7.
- each server 8 has a predetermined processing capacity standard.
- the reference of the processing capacity is a value that the number of objects analyzed by the server 8 is preferably not exceeded.
- the server 8 may analyze a number of objects exceeding the processing capacity criterion.
- a value obtained by subtracting the number of objects in the area assigned to the server 8 from the processing capacity standard is referred to as a processing capacity margin.
- a case will be described as an example where there are 10 servers 8 as in the above-described example, and the processing capacity standards of each server 8 are all “50”. Further, the ten servers 8 will be distinguished by reference numerals a to j.
- the number shown in FIG. 11 is the number of people (objects) existing in the area.
- the symbols A to O are symbols for distinguishing each area.
- step S7 the allocation determination unit 4 calculates, for each area, an index value obtained by dividing the number of objects by the minimum number of areas (step S11).
- the minimum area equivalent number is a value indicating how many areas have the minimum area size.
- the allocation determination unit 4 determines the priority order for each area in descending order of the index value calculated for each area in step S11 (step S12).
- FIG. 12 shows the index values calculated for the areas A to O (see FIG. 11) and the priorities determined in step S12.
- index values of other areas can be obtained. Since the index value of the area N is the maximum, if the priority order of each area is determined in descending order of the index value, the priority order of the area N becomes 1.
- the index value becomes larger as the number of objects in the area increases and as the area size decreases. Therefore, the priority of an area having a large number of objects in the area and a small area size is high. This priority represents the order of allocation to the servers.
- An area having a small area size may not be further divided, and in the present embodiment, the index value is calculated so that the priority of such an area becomes higher, and the priority is determined.
- step S12 the allocation determination unit 4 determines whether or not all areas have been allocated to any of the servers 8 (step S13). If all areas are already assigned to any of the servers 8 (Yes in step S13), step S7 is ended and the process proceeds to step S8 (see FIG. 6).
- the allocation determination unit 4 selects the area with the highest priority from the unselected areas (step S14).
- the area selected in step S14 is referred to as a selected area. At the time when the process first proceeds to step S14, no area is selected. Therefore, in this example, when the process first proceeds to step S14, the area N having the highest priority (see FIGS. 11 and 12) is selected.
- the allocation determination unit 4 determines whether there is a server 8 to which the selected area can be allocated (step S15).
- the server 8 to which the selected area can be assigned is a server 8 in which the processing capacity margin is equal to or larger than the number of persons (the number of objects) in the selected area.
- the margin of the processing capacity is “50” in any of the servers 8 and there is a server 8 to which the selected area can be assigned (step S15: Yes).
- step S15 When there is no server 8 to which the selected area can be assigned (No in step S15), the process proceeds to step S17.
- step S17 The case of moving to step S17 will be described later.
- step S15 the allocation determination unit 4 allocates the selected area to the server 8 having the largest processing capacity margin (step S16).
- the allocation determination unit 4 may allocate the selected area to any of the plurality of servers 8. After step S16, the allocation determination unit 4 repeats the processing from step S13.
- FIG. 13 shows an area allocation result in the loop processing of steps S14 to S16 until the area E having the 11th priority is the selected area.
- step S16 The area E having the 11th priority is selected, and the area E is assigned to the server i as shown in FIG. 13 in step S16. Then, the sequence proceeds to steps S13 and S14, and the priority is 12 in step S14. Select area F, which is the th. Taking this case as an example, the process in the case of shifting from step S15 to step S17 (see FIG. 10) will be described.
- the number of people (the number of objects) in area F is 36 (see Fig. 11).
- the server 8 having the largest processing capacity margin in the area allocation state shown in FIG. 13 is the server h.
- step S17 the allocation determination unit 4 determines whether or not the selected area (area F) can be divided. At this time, the allocation determination unit 4 may determine that the selected area can be divided when the selected area is equally divided into two areas and the size of each divided area is equal to or larger than the minimum area size. Further, when the selected area is equally divided into two areas and the size of each area after the division is smaller than the minimum area size, the allocation determination unit 4 may determine that the selected area cannot be divided.
- step S17 When it is determined that the selected area cannot be divided (No in step S17), the allocation determination unit 4 allocates the selected area to the server 8 having the largest processing capacity margin (step S21). As a result, the number of processing targets in the server 8 may exceed the reference value of the processing capacity (“50” in this example). After step S21, the allocation determination unit 4 repeats the processing from step S13.
- the allocation determination unit 4 determines that the selected area can be divided (Yes in step S17). In this case, the process proceeds to step S18.
- step S18 the allocation determination unit 4 divides the selected area (area F) into two areas.
- the dividing method is the same as the dividing method in step S5 (see FIG. 6). That is, the allocation determination unit 4 divides the selected area vertically to the long side of the selected area. Further, when the selection area is a square, the allocation determining unit 4 may divide the selection area vertically to any side.
- FIG. 14 is a schematic diagram showing the state of each area after dividing the area F from the state shown in FIG.
- the two areas obtained as a result of dividing the area F in step S18 are referred to as area F1 and area F2, respectively.
- area F1 and area F2 respectively.
- the allocation determination unit 4 allocates the area having the larger number of objects (the number of objects) of the two areas obtained by the division of step S18 to the server 8 having the largest processing capacity margin (step S18). S19). In this example, the allocation determination unit 4 allocates the area F2 to the server h (see FIG. 13) having the largest processing capacity margin.
- FIG. 15 shows area allocation to each server 8 after the area F2 is allocated to the server h.
- the allocation determination unit 4 calculates an index value for the area having the smaller number of objects (area F1 in this example) of the two areas obtained by the division at step S18.
- the allocation determination unit 4 may re-determine the priorities of the areas and the unselected areas in descending order of the index value. In this example, the allocation determination unit 4 may re-determine the priority order of the area F1 and the unselected areas K, B, and A.
- step S20 the allocation determination unit 4 repeats the processing from step S13.
- step S7 ends. Then, the allocation determination unit 4 performs the operation of step S8 (see FIG. 6). That is, the allocation determination unit 4 updates the contents of the area table and the server table stored in the information storage unit 3 based on the results of the processing up to step S7 (step S8, see FIG. 6).
- step S8 The contents of the area table and the server table are updated as a result of step S8 shown in FIG.
- the allocation determining unit 4 monitors each server 8 that analyzes the object using the data stream, and if there is a change, the average number of objects in the camera system statistical information table and the area table. The number of latest objects in the table and the number of latest objects in the server table are updated. Then, the allocation determination unit 4 determines whether or not the difference between the maximum value and the minimum value of the number of latest objects corresponding to each server 8 is equal to or more than a threshold value (step S1, see FIG. 6), and the maximum value. If the difference between the minimum value and the minimum value is equal to or greater than the threshold value, the processing from step S2 is executed again.
- the allocation determination unit 4 allocates the data stream obtained from each camera system 7 to any of the servers 8 by allocating each area to each of the servers 8. ..
- FIG. 16 is a flowchart showing an example of the progress of this processing. Note that the description of the items already described will be appropriately omitted.
- the input unit 2 receives a data stream from each camera system 7 (step S31).
- the input unit 2 sends each received data stream to the distribution unit 5.
- the distribution unit 5 distributes the respective data streams to the server 8 (step S32).
- the distribution unit 5 may determine the server 8 to which the data stream is distributed as follows.
- the ID of the camera system 7 that generated the data stream is added to the data stream.
- the distribution unit 5 identifies the area corresponding to the ID of the camera system 7 added to the data stream by referring to the area table illustrated in FIG. 8 and the like. In other words, the distribution unit 5 identifies the area including the shooting position of the camera system 7 that generated the data stream.
- the distribution unit 5 specifies the server 8 to which the specified area is assigned by referring to the area table illustrated in FIG. 9 and the like.
- This server 8 is the server 8 to which the data stream of interest is distributed.
- the distribution unit 5 specifies the server 8 as a distribution destination for each data stream, and distributes each data stream to the server 8 specified as the distribution destination.
- Each server 8 analyzes the object using the data stream distributed by the distribution unit 5 of the data stream allocation system 1 (step S33). For example, each server 8 detects a predetermined pattern using the distributed data stream. Further, each server 8 transmits, as the analysis result, to the data output unit 9, for example, information indicating that a predetermined pattern has been detected, and a data stream representing the predetermined pattern.
- the data output unit 9 collects the analysis results received from each server 8 and sends the analysis results to an external system (not shown) (step S34).
- the external system detects, for example, a crime, or calculates the convenience and satisfaction of the user.
- each camera system 7 further sends a data stream to the data stream allocation system 1, the processing after step S31 is repeated.
- the allocation determination unit 4 monitors each server 8 that analyzes the object using the data stream, and if there is a change, the average number of objects in the camera system statistical information table, The number of latest objects in the area table and the number of latest objects in the server table are updated. Then, the allocation determination unit 4 determines whether or not the difference between the maximum value and the minimum value of the number of latest objects corresponding to each server 8 is equal to or more than a threshold value (step S1, see FIG. 6), and the maximum value. If the difference between the minimum value and the minimum value is equal to or greater than the threshold value, the processing from step S2 is executed again.
- the fact that the difference between the maximum value and the minimum value of the latest object numbers corresponding to the individual servers 8 is equal to or more than the threshold value means that the number of objects analyzed by each server 8 is biased. Means that That is, it means that the processing loads among the servers 8 are uneven.
- the allocation determining unit 4 executes a process of dividing the monitoring area and redefining the area, and allocates each area to any of the servers 8. Therefore, the allocation determining unit 4 updates the correspondence between the area and the server 8. At this time, the allocation determination unit 4 repeats dividing the area in which the number of target values exceeds the upper limit value (upper limit value determined in step S2) into two areas in the loop process of steps S4 to S6. ..
- the area is determined according to the deviation in the number of objects in the monitoring area. Further, the allocation determination unit 4 determines priorities for the areas, and allocates the areas in descending order of priority to the server 8 having the largest processing capacity margin. Therefore, it is possible to suppress the uneven processing load of the server 8. Further, as a result, it is possible to suppress a delay in the analysis processing in the server 8.
- the area is large. Further, as described above, the allocation determination unit 4 repeats dividing the area in which the number of target values exceeds the upper limit into two areas in the loop processing of steps S4 to S6. Therefore, the area in which the number of target values is equal to or less than the upper limit value is not further divided even if the size is large. Therefore, according to this embodiment, an area as large as possible can be defined, which is preferable for analysis in the server 8.
- FIG. 17 is a schematic block diagram showing a configuration example of a computer according to the data stream allocation system 1 of the embodiment of the present invention.
- the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and a communication interface 1005.
- the data stream allocation system 1 is realized by, for example, a computer 1000.
- the operation of the data stream allocation system 1 is stored in the auxiliary storage device 1003 in the form of a data stream allocation program.
- the CPU 1001 reads the data stream allocation program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the processing described in the above embodiment according to the data stream allocation program.
- the auxiliary storage device 1003 is an example of a non-transitory tangible medium.
- a non-transitory tangible medium a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory) connected via the interface 1004, A semiconductor memory etc. are mentioned. Further, when the program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may expand the program in the main storage device 1002 and execute the above processing.
- the program may be for realizing a part of the above-mentioned processing. Further, the program may be a difference program that realizes the above-described processing in combination with another program already stored in the auxiliary storage device 1003.
- constituent elements of the data stream allocation system 1 may be realized by a general-purpose or dedicated circuit, a processor, or a combination thereof. These may be configured by a single chip, or may be configured by a plurality of chips connected via a bus. Some or all of the constituent elements may be realized by a combination of the above-described circuits and the like and a program.
- the plurality of information processing devices, circuits, etc. may be centrally arranged, or distributed arrangement May be done.
- the information processing device, the circuit, and the like may be realized as a form in which a client and server system, a cloud computing system, and the like are connected to each other via a communication network.
- FIG. 18 is a block diagram showing an outline of the data stream allocation system of the present invention.
- the data stream allocation system 1 includes a plurality of servers (for example, a plurality of servers) that analyze an object in a monitoring area using a data stream obtained from a plurality of camera systems (for example, a plurality of camera systems 7) that shoot a monitoring area. A data stream to the server 8).
- the data stream allocation system 1 includes an allocation determination unit 4 and a distribution unit 5.
- the allocation determination unit 4 allocates data streams obtained from a plurality of camera systems to a plurality of servers according to the bias in the number of objects in the monitoring area.
- the distribution unit 5 distributes the data streams obtained from the plurality of camera systems to the servers to which the data streams are allocated, according to the allocation result of the data streams to the plurality of servers.
- the present invention can be suitably applied to allocation of data streams to a plurality of servers.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Closed-Circuit Television Systems (AREA)
- Image Analysis (AREA)
Abstract
複数のカメラシステムから得られるデータストリームを用いて、複数のサーバが分析の対象物を分析する場合に、サーバの処理負荷の不均一を抑え、サーバにおける分析処理の遅延を抑えることができるデータストリーム割り当てシステムを提供する。割り当て決定部4は、監視領域内の対象物の数の偏りに応じて、複数のカメラシステムから得られるデータストリームを複数のサーバに割り当てる。そして、分配部5は、複数のサーバに対するデータストリームの割り当て結果に従って、複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配する。
Description
本発明は、データストリームをサーバに割り当てるデータストリーム割り当て方法、データストリーム割り当てシステム、および、データストリーム割り当てプログラムに関する。
特許文献1には、異なる地域が割り当てられた複数の情報処理装置を通信ネットワーク上に配置することが記載されている。そして、特許文献1には、走行情報に含まれる位置情報を参照し、位置情報が示す地点を含む地域が割り当てられた情報処理装置に対して、その走行情報を送信することが記載されている。
また、特許文献2には、低負荷監視部の担当エリアに、高負荷監視部の担当エリアの一部である部分エリアを追加することが記載されている。
複数のカメラシステムで空港等の領域を監視し、各カメラシステムから得られるデータストリーム(時系列データ)を複数のサーバで分析することが考えられる。そして、この場合に、特許文献1に記載された技術と同様に、領域内に定めた各エリアを固定的にサーバに割り当て、個々のサーバが、サーバに割り当てられたエリアを撮影する各カメラシステムから得られたデータストリームを用いて、領域内の対象物の分析を行うことが考えられる。なお、ここでは、分析の対象物が人間である場合を例にする。また、個々のカメラシステムは、撮影した人間毎に、データストリームを生成する。
しかし、上記の例では、領域内に存在する人間(対象物)が領域内の特定のエリアに集中すると、その特定のエリアを割り当てられたサーバが処理するデータストリームの量が大量になる。すなわち、人間が集中しているエリアが割り当てられたサーバに対するデータストリームの転送量や、そのサーバの処理負荷が増加してしまい、分析処理の遅延が生じることになる。一方、人間が少ないエリアが割り当てられたサーバの処理負荷は小さい。
このようなサーバ間の処理負荷の不均一を抑えられることが好ましい。
特許文献2に記載された技術では、低負荷監視部の担当エリアに、高負荷監視部の担当エリアの一部である部分エリアを追加する。しかし、あるエリアの部分エリアを他のエリアに追加する処理では、局所的なエリア変更しか行われない。そのため、あるエリアの部分エリアを他のエリアに追加する処理を上記の例に適用したとしても、サーバ間の処理負荷の不均一を十分に抑えることができない。
そこで、本発明は、複数のカメラシステムから得られるデータストリームを用いて、複数のサーバが分析の対象物を分析する場合に、サーバの処理負荷の不均一を抑え、サーバにおける分析処理の遅延を抑えることができるデータストリーム割り当て方法、データストリーム割り当てシステム、および、データストリーム割り当てプログラムを提供することを目的とする。
本発明によるデータストリーム割り当て方法は、少なくとも1つのコンピュータ、および、監視領域を撮影する複数のカメラシステムから得られるデータストリームを用いて前記監視領域内の対象物の分析を行う複数のサーバによって実現されるデータストリーム割り当て方法であって、前記少なくとも1つのコンピュータが、前記監視領域内の前記対象物の数の偏りに応じて、前記複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当て、前記複数のサーバに対するデータストリームの割り当て結果に従って、前記複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配し、前記複数のサーバが、それぞれ、前記少なくとも1つのコンピュータによって分配されたデータストリームを用いて、前記対象物の分析を行うことを特徴とする。
本発明によるデータストリーム割り当てシステムは、監視領域を撮影する複数のカメラシステムから得られるデータストリームを用いて前記監視領域内の対象物の分析を行う複数のサーバに対して前記データストリームを割り当てるデータストリーム割り当てシステムであって、前記監視領域内の前記対象物の数の偏りに応じて、前記複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当てる割り当て決定部と、前記複数のサーバに対するデータストリームの割り当て結果に従って、前記複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配する分配部とを備えることを特徴とする。
本発明によるデータストリーム割り当てプログラムは、コンピュータに、監視領域を撮影する複数のカメラシステムから得られるデータストリームを用いて前記監視領域内の対象物の分析を行う複数のサーバに対して前記データストリームを割り当てさせるためのデータストリーム割り当てプログラムであって、前記コンピュータに、前記監視領域内の前記対象物の数の偏りに応じて、前記複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当てる割り当て決定処理、および、前記複数のサーバに対するデータストリームの割り当て結果に従って、前記複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配する分配処理を実行させることを特徴とする。
本発明によれば、複数のカメラシステムから得られるデータストリームを用いて、複数のサーバが分析の対象物を分析する場合に、サーバの処理負荷の不均一を抑え、サーバにおける分析処理の遅延を抑えることができる。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明の実施形態のデータストリーム割り当てシステムの例を示すブロック図である。本発明のデータストリーム割り当てシステム1は、複数のカメラシステム7、および、複数のサーバ8に、通信可能に接続されている。図1では、3つのカメラシステム7を図示しているが、カメラシステム7の数は3つに限定されない。同様に、図1では、3つのサーバ8を図示しているが、サーバ8の数も3つに限定されない。各サーバ8は、それぞれ別個のサーバであるが、複数のサーバ8(サーバ8の集合)を、便宜的に分析部80と称する。
まず、カメラシステム7について説明する。
カメラシステム7は、例えば、公共交通機関における人の集まる場所、空港、スタジアム、イベント会場、大規模商業施設等の領域を監視するために、複数台設けられる。以下、複数のカメラシステム7によって撮影される領域を「監視領域」と記す。監視領域には、サーバ8による分析対象となる対象物が存在する。以下、適宜、監視領域が空港であり、対象物が人間である場合を例にして説明する。ただし、監視領域は空港に限定されず、また、対象物も人間に限定されない。例えば、対象物は車両や動物等であってもよい。
個々のカメラシステム7は、カメラを備える。さらに、個々のカメラシステム7は、カメラが撮影によって得た画像から人間(対象物)の動線を検出する動線検出機能と、イベントを検出するイベント検出機能とを備え、人間(対象物)の動線を表わすデータストリームを、本発明のデータストリーム割り当てシステム1に入力する。本実施形態では、データストリームは、対象物の動線を表わすので、個々のデータストリームは個々の人間に対応している。
データストリームは、例えば、時刻とその時刻における対象物の位置とを対応付けたデータを時刻順に連ねた時系列データである。また、データストリームでは、イベントが検出された時刻には、位置だけでなく、そのイベントを示す情報も対応付けられる。イベントとは、例えば、「荷物を置く」等の予め定められた種々の動き(対象物の動き)を意味する。データストリームから、対象物の動線や、イベントの発生位置および発生時刻が分かる。また、カメラシステム7は、生成したデータストリームに、そのカメラシステム7のID(IDentification)を付加する。
なお、カメラシステム7の構成は、カメラが動線検出機能、イベント検出機能およびデータストリーム生成機能を備える構成であってもよい。あるいは、カメラシステム7の構成は、動線検出機能、イベント検出機能およびデータストリーム生成機能を備える情報処理装置と、カメラとが有線または無線で接続される構成であってもよい。
データストリーム割り当てシステム1は、複数のカメラシステム7から得られたデータストリームをサーバ8に割り当て、データストリームを、そのデータストリームが割り当てられたサーバ8に分配する。
各サーバ8は、データストリーム割り当てシステム1から分配されたデータストリームを用いて対象物を分析する。ここで、分析の一例として、例えば、所定のパターンを検出することが挙げられる。所定のパターンは、通常とは異なる対象物の行動または状態である。例えば、「人間が、空港のゲート付近で荷物を置き、別のゲートに移動し、その別のゲートに入場すること」等が所定のパターンに該当する。
ただし、所定のパターンは、上記の例に限定されない。例えば、各サーバ8は、分析処理として、対象物の監視線の通過、監視領域における対象物の侵入、立ち去り、出現、消失、喧嘩、滞留、うろつき、転倒、立ち上がり、座り込み、移動方向の変化、逆走、万引き、迂回、損傷、持ち去り、置き去り、落書き行為、対象物の行列、混雑、行列から外れた後にまた行列に戻る行為、人が走っていること等の種々の行動や状態を検出してもよい。対象物は、人間に限らず、車両等の乗り物や、動物であってもよい。
また、所定のパターンは、犯罪等の特定のイベントそのものであってもよい。また、所定のパターンは、特定の状況で発生したイベントであってもよい。また、所定のパターンは、特定のイベントと特定のイベントとが連続して発生した状況であってもよい。
検出された所定のパターン(通常とは異なる対象物の行動または状態)は、犯罪の検出、犯罪の予防、施設(例えば、空港等)の利用者の利便性や満足度の把握等に用いられる。
図1に示す例では、各サーバ8に接続されるデータ出力部9が設けられる場合を示している。データ出力部9は、例えば、データストリーム割り当てシステム1とは別のコンピュータによって実現される。データ出力部9は、各サーバ8が出力する分析結果(例えば、所定のパターンの検出結果)を受信し、各サーバ8から得られた分析結果をまとめて、外部システム(図示略)に出力すればよい。外部システムは、各サーバ8における分析結果に基づいて、例えば、犯罪の検出、または、利用者の利便性や満足度の算出等を行う。データ出力部9は、時刻に基づいて各サーバ8から得られた分析結果を統合し、その結果を出力してもよい。
次に、本発明のデータストリーム割り当てシステム1について説明する。データストリーム割り当てシステム1は、入力部2と、情報記憶部3と、割り当て決定部4と、分配部5とを備える。
入力部2は、複数のカメラシステム7からデータストリームを受け取る。例えば、入力部2は、データストリーム割り当てシステム1が備える通信インタフェース(図1において図示略)を介して、各カメラシステム7がデータストリーム割り当てシステム1に送信したデータストリームをそれぞれ受信する。そして、入力部2は、各カメラシステム7から受け取ったデータストリームを分配部5に送る。
なお、カメラシステム7の違いによって、データストリームのフォーマットが統一されていない場合には、入力部2は、受け取った各データストリームのフォーマットを統一した後に、データストリームを分配部5に送る。例えば、カメラシステム7の違いにより、あるカメラシステム7で生成されるデータストリームでは、時刻が世界標準時で記述され、別のカメラシステム7で生成されるデータストリームでは、時刻が日本における時刻で記述されているとする。この場合、入力部2は、受け取った各データストリームの時刻の記述を1つのフォーマットに統一する。
情報記憶部3は、割り当て決定部4によって決定された各サーバ8に対するエリアの割り当て等の種々の情報を記憶する記憶装置である。エリアとは、監視領域を分割することによって定められた個々の分割領域である。監視領域を分割することによってエリアを定める処理は、割り当て決定部4によって実行される。
情報記憶部3は、以下に例示する種々のテーブルの形式で情報を記憶する。
情報記憶部3は、例えば、カメラシステム統計情報テーブルと、エリアテーブルと、サーバテーブルと、最小エリアサイズテーブルとを記憶する。
図2は、カメラシステム統計情報テーブルの例を示す模式図である。カメラシステム統計情報テーブルには、カメラシステム7毎に、カメラシステム7のIDと、対象物数平均値と、撮影位置とが対応付けて格納される。
撮影位置は、カメラシステム7によって撮影される範囲の中心位置を示す情報であり、例えば、緯度および経度で表される。カメラシステム7が備えるカメラの設置位置やカメラの向きは固定される。従って、カメラシステム統計情報テーブルに格納されている個々の撮影位置は、固定値であり、変化しない。
また、カメラシステム7の対象物数平均値は、各サーバ8で分析されている対象物のうち、そのカメラシステム7で撮影された対象物の数の平均値である。割り当て決定部4は、データストリームを用いて対象物の分析を行っている各サーバ8をモニタして、カメラシステム7毎に、分析部80(複数のサーバ8)で分析されている対象物の数の直近の平均値を取得する。なお、データストリームにはカメラシステム7のIDが付加されているので、各サーバ8が分析の際に用いているデータストリームをモニタすることで、割り当て決定部4は、カメラシステム7毎に、分析部80で分析されている対象物の数の直近の平均値を取得することができる。割り当て決定部4は、カメラシステム7毎に取得した対象物の数の直近の平均値を、対象物数平均値としてカメラシステム統計情報テーブル(図2参照)に格納することによって、対象物数平均値を更新する。従って、情報記憶部3が記憶しているカメラシステム統計情報テーブル内の対象物数平均値は、割り当て決定部4によって更新される。
図3は、情報記憶部3が記憶するエリアテーブルの例を示す模式図である。エリアテーブルには、エリア毎に、エリアのIDと、そのエリア内を撮影するカメラシステム7のIDのリストと、直近対象物数と、エリア位置と、エリアサイズとが対応付けて格納される。
割り当て決定部4は、監視領域を分割することによって個々のエリアを定めると、エリア毎にIDを決定する。また、割り当て決定部4は、エリア毎に、撮影位置(図2参照)がエリア内に含まれるカメラシステム7を特定する。ここで特定されるカメラシステム7は、1つとは限らず、複数であってよい。このカメラシステム7は、そのエリア内を撮影するカメラシステム7である。割り当て決定部4は、エリア毎にエリア位置およびエリアサイズを判定する。本実施形態では、エリアは矩形であり、エリア位置は上方から各エリアを見た場合における左上の頂点の位置を表わす緯度および経度をエリア位置とする場合を例にして説明する。エリアサイズは、エリアの縦の長さおよび横の長さである。エリア位置およびエリアサイズによって、エリアの範囲が定まる。
エリアテーブルにおける直近対象物数は、エリア内を撮影する撮影するカメラシステム7に対応する対象物数平均値(図2参照)の和である。すなわち、直近対象物数は、エリア内を撮影する撮影する各カメラシステム7から得られたデータストリームを用いて分析部80で分析されている対象物の直近の数であると言える。
割り当て決定部4は、各エリアを定めた後、エリア毎に、エリアのID、エリア内を撮影する各カメラシステム7のID、エリア位置およびエリアサイズを、エリアテーブルに格納する。また、カメラシステム統計情報テーブル(図2参照)に基づいて、エリア毎に、直近対象物数を算出し、直近対象物数をエリアテーブルに格納する。また、割り当て決定部4は、カメラシステム統計情報テーブル内の対象物数平均値を更新した場合、それに合わせて、エリアテーブル内の直近対象物数も更新する。
図4は、情報記憶部3が記憶するサーバテーブルの例を示す模式図である。サーバテーブルには、サーバ8毎に、サーバ8のIDと、サーバ8に割り当てられたエリアのIDのリストと、直近対象物数とが対応付けて格納される。
割り当て決定部4は、サーバ8にエリアを割り当てた後、そのサーバ8のIDと、そのサーバ8に割り当てられた各エリアのIDのリストと、直近対象物数とを対応付けて、サーバテーブルに格納する。
サーバテーブルにおける直近対象物数は、サーバ8に割り当てられた各エリアに対応付けられている直近対象物数の和である。すなわち、割り当て決定部4は、サーバ8に割り当てられた各エリアに対応付けられている直近対象物数をエリアテーブル(図3参照)から読み取り、その直近対象物数の和を、そのサーバ8に対応する直近対象物数としてサーバテーブルに格納すればよい。カメラシステム統計情報テーブル内の対象物数平均値の更新に伴って、エリアテーブル内の直近対象物数を更新する場合、割り当て決定部4は、それに合わせて、サーバテーブル内の直近対象物数も更新する。
サーバテーブル内の直近対象物数は、各サーバ8が分析対象としている対象物の直近の数であると言える。
なお、カメラシステム7が一人の人間から複数の動線を検出する場合もある。また、複数のカメラシステム7が同一の人間を撮影して、それぞれ、動線を検出する場合もある。従って、カメラシステム統計情報テーブルにおける対象物数平均値(図2参照)や、エリアテーブルやサーバテーブルにおける直近対象物数は、延べ数である。
図5は、情報記憶部3が記憶する最小エリアサイズテーブルの例を示す模式図である。最小エリアサイズテーブルは、許容される最も小さなエリアサイズ(以下、最小エリアサイズと記す。)を格納するテーブルである。割り当て決定部4は、最小エリアサイズよりも小さなサイズのエリアを定めることはない。
最小エリアサイズは、予め定められた固定値である。最小エリアサイズは、1台のカメラシステム7の撮影範囲よりも広いサイズとして定められる。また、最小エリアサイズは、所定のパターンの誤検出を抑えられる程度に広く定められる。例えば、空港のゲート付近で荷物を置きトイレに行く行動は、通常の行為であり、所定のパターンとして検出する必要はない。しかし、ゲート付近に荷物を置いた人間の行先がトイレであると分からないほど、エリアが小さいと、その人間がトイレに行ったとしても、所定のパターンとして検出されることがあり得る。そのようなことを防げる程度に、最小エリアサイズは広く定められる。ただし、分析の内容に応じて、適切な最小エリアサイズは異なる。そこで、図5に示す例では、分析の内容の種類を示す分析ID毎に、最小エリアサイズが格納されている。データストリーム割り当てシステム1や各サーバ8を用いるユーザは、分析内容に応じて、最小エリアサイズを指定する。そして、割り当て決定部4は、ユーザに指定された最小エリアサイズに基づいて、各エリアを定める。割り当て決定部4は、監視領域を分割することを繰り返し、エリアを定めるが、個々のエリアのサイズは同一とは限らない。
割り当て決定部4は、監視領域を分割することによって各エリアを定め、さらに、各エリアをサーバ8に割り当てると、情報記憶部3に記憶されているエリアテーブル(図3参照)の内容、および、情報記憶部3に記憶されているサーバテーブル(図4参照)の内容を更新する。
また、割り当て決定部4は、データストリームを用いて対象物の分析を行っている各サーバ8をモニタし、カメラシステム統計情報テーブル(図2参照)の対象物数平均値を更新すると、それに合わせて、エリアテーブル内の直近対象物数、および、サーバテーブル内の直近処理対象物数を更新する。
また、個々のサーバ8に対応する直近対象物数(サーバテーブルに格納されているそれぞれの直近対象物数)の最大値と最小値との差が閾値以上になったということは、サーバ8が分析対象としている対象物の数の偏りが大きくなったことを意味している。このように、サーバテーブルに格納されているそれぞれの直近対象物数最大値と最小値との差が閾値以上になった場合、割り当て決定部4は、監視領域を分割し直し、新たに各エリアを定め直す。そして、割り当て決定部4は、その各エリアをそれぞれいずれかのサーバ8に割り当てる。この処理の詳細については、フローチャートを用いて後述する。
エリアが定まると、そのエリア内を撮影するカメラシステム7を特定することができる。そして、カメラシステム7と、そのカメラシステム7から得られるデータストリームとは対応付けられている。従って、割り当て決定部4は、各エリアをそれぞれいずれかのサーバ8に割り当てることで、各カメラシステム7から得られるデータストリームをいずれかのサーバ8に割り当てていることになる。
分配部5は、サーバ8へのエリアの割り当て結果に基づいて、各カメラシステム7から得られるデータストリームを、サーバ8に分配する。すなわち、分配部5は、カメラシステム7毎に、カメラシステム7から得たデータストリームを、そのカメラシステム7の撮影位置を含むエリアが割り当てられたサーバ8に分配する。このとき、分配部5は、それぞれのデータストリームを、データストリーム割り当てシステム1が備える通信インタフェース(図1において図示略)を介して、分配先となるサーバ8に送信する。
本発明のデータストリーム割り当てシステム1は、少なくとも1つ以上のコンピュータによって実現される。
例えば、入力部2、割り当て決定部4および分配部5は、データストリーム割り当てプログラムに従って動作する1つのコンピュータのCPU(Central Processing Unit )によって実現されてもよい。この場合、例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からデータストリーム割り当てプログラムを読み込み、そのデータストリーム割り当てプログラムに従って、入力部2、割り当て決定部4および分配部5として動作すればよい。
また、例えば、データストリーム割り当てシステム1は、有線または無線で接続される2つ以上のコンピュータによって実現されていてもよい。
次に、本実施形態の処理経過について説明する。図6は、各サーバ8が分析対象としている対象物の数の偏りが大きくなった場合に、割り当て決定部4が、監視領域を分割して個々のエリアを定め、各エリアをいずれかのサーバ8に割り当てる処理の例を示すフローチャートである。
なお、割り当て決定部4が、既に、一旦、複数のエリアを定め、その個々のエリアをいずれかのサーバ8に割り当てる動作を行い、カメラシステム統計情報テーブル、エリアテーブルおよびサーバテーブルが情報記憶部3に記憶されているものとする。そして、割り当て決定部4が、データストリームを用いて対象物の分析を行っている各サーバ8をモニタして、変化がある場合に、カメラシステム統計情報テーブル内の対象物数平均値、エリアテーブル内の直近対象物数、および、サーバテーブル内の直近対象物数を更新している状況であるとする。割り当て決定部4が、データストリームを用いて対象物の分析を行っている各サーバ8をモニタするためには、分配部5が、サーバ8へのエリアの割り当て結果に基づいて、データストリームをサーバ8に分配していなければならない。そのため、データストリーム割り当てシステム1の運用開始時においては、割り当て決定部4は、任意に複数のエリアを定め、各エリアを任意にサーバ8に割り当ててよい。例えば、割り当て決定部4は、運用開始時において、監視領域をサーバ8の台数と同数のエリアに分割し、1つのエリアを1つのサーバ8に割り当ててもよい。
また、運用開始前に、ユーザが分析の内容に応じて、予め、最小エリアサイズテーブルの中から1つの最小エリアサイズを指定しているものとする。そして、指定された最小エリアサイズが情報記憶部3に記憶されているものとする。
割り当て決定部4は、個々のサーバ8に対応する直近対象物数の最大値と最小値との差が閾値以上になったか否かを判定する(ステップS1)。換言すれば、割り当て決定部4は、サーバテーブルに格納されているそれぞれの直近対象物数の最大値と最小値との差が閾値以上になったか否かを判定する。なお、この閾値は予め定められている。
個々のサーバ8に対応する直近対象物数の最大値と最小値との差が閾値未満であれば(ステップS1のNo)、サーバ8が分析対象としている対象物の数の偏りが小さいと言える。この場合、割り当て決定部4は、エリアを定め直すことなく、処理を終了する。
個々のサーバ8に対応する直近対象物数の最大値と最小値との差が閾値以上であれば(ステップS1のYes)、サーバ8が分析対象としている対象物の数の偏りが大きいと言える。この場合、割り当て決定部4は、対象物の総数とサーバ8の台数とに基づいて、1つのエリア内に存在する対象物の数の上限値を定める(ステップS2)。割り当て決定部4は、カメラシステム統計情報テーブルに格納されているカメラシステム7毎の対象物数平均値の和を計算することによって、対象物の総数を算出する。そして、割り当て決定部4は、対象物の総数をサーバ8の台数で除算することによって、1つのエリア内に存在する対象物の数の上限値を算出する。例えば、対象物(人間)の総数が431人であり、サーバ8の台数が10台であるならば、割り当て決定部4は、1つのエリア内に存在する対象物の数の上限値を、431/10=43.1人と定める。
また、ステップS2において、割り当て決定部4は、監視領域全体を1つのエリアと定める。
次に、割り当て決定部4は、予め指定された最小エリアサイズを情報記憶部3から読み込む(ステップS3)。
次に、割り当て決定部4は、全てのエリアのサイズが最小エリアサイズに達したか否かを判定する(ステップS4)。全てのエリアのサイズが最小エリアサイズに達しているならば(ステップS4のYes)、ステップS7に移行する。
まだ、最小エリアサイズに達していないエリアがあるならば(ステップS4のNo)、ステップS5に移行する。最初にステップS4に移行した場合、監視領域全体を1つのエリアとしているので、ステップS5に移行する。
ステップS5において、割り当て決定部4は、対象物の数がステップS2で定めた上限値を超えているエリア2つのエリアに分割する。前述のように、本実施形態では、エリアは矩形であるとする。割り当て決定部4は、ステップS5で1つのエリアを2つのエリアに分割する場合、矩形の長辺に垂直にエリアを分割する。このようにエリアを分割することで、極端に細長いエリアが生じることを防止できる。なお、正方形のエリアを分割する場合には、割り当て決定部4は、いずれかの辺に垂直にエリアを分割すればよい。
次に、割り当て決定部4は、全てのエリアで、対象物の数がステップS2で定めた上限値以下であるか否かを判定する(ステップS6)。全てのエリアで、対象物の数がステップS2で定めた上限値以下であるならば(ステップS6のYes)、ステップS7に移行する。
また、対象物の数がステップS2で定めた上限値を超えているエリアが存在するならば(ステップS6のNo)、割り当て決定部4は、ステップS4以降の処理を繰り返す。
図7は、ステップS4~S6のループ処理によって、監視領域が複数のエリアに分割されていく状況を示す模式図である。図7では、対象物が人間であり、ステップS2で定められた上限値が、前述の例のように43.1人である場合を例示している。図7に示す最後の分割状態では、全てのエリアで人間の数が上限値(43.1人)以下となっている。従って、図7に示す例では、図7に示す最後の分割状態になった場合に、ステップS7に移行する。
ステップS7において、割り当て決定部4は、各サーバ8で処理負荷が均一になるようにエリアをサーバ8へ割り当てる。ただし、各サーバ8で処理負荷が完全に均一にならなくてもよい。ステップS7の処理については、図10に示すフローチャートを参照して後述する。
ステップS7の後、割り当て決定部4は、情報記憶部3に記憶されているエリアテーブル、および、サーバテーブルの内容を更新する(ステップS8)。
ステップS1の前におけるエリアテーブルおよびサーバテーブルがそれぞれ、図3、図4に示す状態であったとする。この状態から、ステップS1~S8の処理を行った後のエリアテーブル、サーバテーブルの例を、それぞれ、図8、図9に示す。図9では、サーバ毎の直近対象物数の偏りが、図4に示す例よりも抑えられていることを示している。
次に、ステップS7(図6参照)の処理経過について説明する。図10は、ステップS7の処理経過の例を示すフローチャートである。
本実施形態では、各サーバ8には、処理容量の基準が予め定められている。処理容量の基準とは、サーバ8が分析する対象物の数が超えないことが好ましい値である。ただし、サーバ8は、処理容量の基準を超える数の対象物を分析してもよい。また、処理容量の基準から、サーバ8に割り当てられたエリア内の対象物の数を減算した値を、処理容量の余裕と称する。ここでは、前述の例のようにサーバ8が10台あり、各サーバ8における処理容量の基準がいずれも“50”である場合を例にして説明する。また、この10台のサーバ8を、符号a~jで区別することとする。
ここでは、ステップS7に移行した時点で、図11に示す分割状態になっている場合を例にして説明する。図11に示す数は、エリア内に存在する人間(対象物)の数である。また、符号A~Oは、各エリアを区別するための符号である。
ステップS7において、割り当て決定部4は、エリア毎に、対象物の数を最小エリア相当数で除算して得られる指標値を算出する(ステップS11)。最小エリア相当数とは、エリアが、最小エリアサイズのエリアの何個分に相当するかを表わす値である。
次に、割り当て決定部4は、ステップS11でエリア毎に算出した指標値の降順で、各エリアに優先順位を定める(ステップS12)。図12は、エリアA~O(図11参照)に対して算出した指標値およびステップS12で定められた優先順位を示している。例えば、エリアNでは、人数が41で、最小エリア相当数は1である。従って、エリアNの指標値は、41/1=41となる。同様に、他のエリアの指標値も得られる。エリアNの指標値が最大であるので、指標値の降順で各エリアの優先順位を定めると、エリアNの優先順位が1となる。
指標値は、エリア内の対象物の数が多いほど、また、エリアサイズが小さいほど、大きな値となる。従って、エリア内の対象物の数が多く、かつ、エリアサイズが小さいエリアの優先順位が高くなる。この優先順位は、サーバへの割り当ての順序を表わしている。エリアサイズが小さいエリアは、さらに分割できない場合があり、本実施形態では、そのようなエリアの優先順位が高くなるように指標値を算出し、優先順位を定めている。
ステップS12の次に、割り当て決定部4は、全てのエリアがいずれかのサーバ8に割り当て済みであるか否かを判定する(ステップS13)。全てのエリアがいずれかのサーバ8に割り当て済みであるならば(ステップS13のYes)、ステップS7を終了し、ステップS8(図6参照)に移行する。
サーバ8に割り当てられていないエリアが残っているならば(ステップS13のNo)、割り当て決定部4は、未選択のエリアの中から優先順位が最も高いエリアを選択する(ステップS14)。ステップS14で選択されたエリアを、選択エリアと記す。最初にステップS14に移行した時点では、いずれのエリアも選択されていない。従って、本例では、最初にステップS14に移行した場合には、優先順位が最も高いエリアN(図11、図12を参照)が選択される。
ステップS14の次に、割り当て決定部4は、選択エリアを割り当て可能なサーバ8があるか否かを判定する(ステップS15)。選択エリアを割り当て可能なサーバ8とは、処理容量の余裕が、選択エリアにおける人数(対象物の数)以上となっているサーバ8である。本例において、最初にステップS15に移行した時点では、いずれのサーバ8においても、処理容量の余裕は“50”であり、選択エリアを割り当て可能なサーバ8が存在することになる(ステップS15のYes)。
選択エリアを割り当て可能なサーバ8が存在しない場合(ステップS15のNo)、ステップS17に移行する。ステップS17に移行する場合については、後述する。
選択エリアを割り当て可能なサーバ8が存在する場合(ステップS15のYes)、割り当て決定部4は、選択エリアを、処理容量の余裕が最も大きいサーバ8に割り当てる(ステップS16)。処理容量の余裕が最も大きいサーバ8が複数存在する場合には、割り当て決定部4は、その複数のサーバ8のうちの任意のサーバに選択エリアを割り当ててよい。ステップS16の後、割り当て決定部4は、ステップS13以降の処理を繰り返す。
本例では、エリアEが選択エリアとなるまでは、ステップS15からステップS16に移行し、ステップS17に移行することはない。図13は、優先順位が11番目であるエリアEが選択エリアとなったときまでにおける、ステップS14~S16のループ処理でのエリア割り当て結果を示す。
優先順位が11番目であるエリアEを選択し、ステップS16で、図13に示すようにエリアEをサーバiに割り当てた後、ステップS13,S14の順に移行し、ステップS14で、優先順位が12番目であるエリアFを選択する。この場合を例にして、ステップS15からステップS17(図10参照)に移行する場合の処理を説明する。
エリアFにおける人数(対象物の数)は、36人である(図11参照)。一方、図13に示すエリアの割り当て状態で、処理容量の余裕が、エリアFにおける人数“36人”以上となっているサーバ8はない。例えば、図13に示すエリアの割り当て状態で、処理容量の余裕が最も大きいサーバ8は、サーバhである。しかし、サーバhの処理容量の余裕は、50-25=25であり、36未満である。従って、割り当て決定部4は、エリアFを選択後のステップS15において、選択エリア(エリアF)を割り当て可能なサーバ8がないと判定する(ステップS15のNo)。この場合、ステップS17に移行する。
ステップS17において、割り当て決定部4は、選択エリア(エリアF)を分割できるか否かを判定する。このとき、割り当て決定部4は、選択エリアを2つのエリアに等分割した場合、分割後の各エリアのサイズが最小エリアサイズ以上になる場合には、選択エリアを分割できると判定すればよい。また、割り当て決定部4は、選択エリアを2つのエリアに等分割した場合、分割後の各エリアのサイズが最小エリアサイズ未満になる場合には、選択エリアを分割できないと判定すればよい。
選択エリアを分割できないと判定した場合(ステップS17のNo)、割り当て決定部4は、選択エリアを、処理容量の余裕が最も大きいサーバ8に割り当てる(ステップS21)。その結果、そのサーバ8における処理対象の数が、処理容量の基準値(本例では“50”)を超えてもよい。ステップS21の後、割り当て決定部4は、ステップS13以降の処理を繰り返す。
本例では、図11から分かるように、エリアFは分割可能である。従って、割り当て決定部4は、選択エリアを分割できると判定する(ステップS17のYes)。この場合、ステップS18に移行する。
ステップS18において、割り当て決定部4は、選択エリア(エリアF)を2つのエリアに分割する。分割の方法は、ステップS5(図6参照)における分割の方法と同様である。すなわち、割り当て決定部4は、選択エリアの長辺に垂直に選択エリアを分割する。また、選択エリアが正方形である場合には、割り当て決定部4は、いずれかの辺に垂直に選択エリアを分割すればよい。
図14は、図11に示す状態から、エリアFを分割した後の各エリアの状態を示す模式図である。ステップS18でエリアFを分割した結果得られる2つのエリアをそれぞれ、エリアF1,エリアF2とする。また、本例では、エリアF1における人数が15人であり、エリアF2における人数が21人であるとする(図14参照)。
ステップS18の後、割り当て決定部4は、ステップS18の分割によって得られた2つのエリアのうち、対象物の数(人数)が多い方のエリアを、処理容量の余裕が最も大きいサーバ8に割り当てる(ステップS19)。本例では、割り当て決定部4は、エリアF2を、処理容量の余裕が最も大きいサーバh(図13参照)に割り当てる。エリアF2をサーバhに割り当てた後における各サーバ8に対するエリア割り当てを、図15に示す。
ステップS19の次に、割り当て決定部4は、ステップS18での分割によって得られた2つのエリアのうち、対象物の数が少ない方のエリア(本例では、エリアF1)について指標値を算出する。この指標値の算出方法は、ステップS11における指標値の算出方法と同じである。すなわち、割り当て決定部4は、対象物の数を最小エリア相当数で除算することによって、指標値を算出する。エリアF1における人数は15人であり(図14参照)、エリアF1の最小エリア相当数は2である。従って、割り当て決定部4は、エリアF1の指標値として、15/2=7.5を算出する。さらに、割り当て決定部4は、そのエリアと未選択のエリアの優先順位を定め直す(ステップS20)。このとき、割り当て決定部4は、そのエリアと未選択のエリアに対して、指標値の降順で優先順位を定め直せばよい。本例では、割り当て決定部4は、エリアF1、および、未選択のエリアK,B,Aの優先順位を定め直せばよい。
ステップS20の後、割り当て決定部4は、ステップS13以降の処理を繰り返す。
ステップS13において、全てのエリアがいずれかのサーバ8に割り当て済みであると判定した場合(ステップS13のYes)、ステップS7を終了する。そして、割り当て決定部4は、ステップS8(図6参照)の動作を行う。すなわち、割り当て決定部4は、ステップS7までの処理の結果に基づいて、情報記憶部3に記憶されているエリアテーブル、および、サーバテーブルの内容を更新する(ステップS8、図6参照)。
図6に示すステップS8の結果、エリアテーブル、および、サーバテーブルの内容が更新される。その後、割り当て決定部4は、データストリームを用いて対象物の分析を行っている各サーバ8をモニタして、変化があるならば、カメラシステム統計情報テーブル内の対象物数平均値、エリアテーブル内の直近対象物数、および、サーバテーブル内の直近対象物数を更新する。そして、割り当て決定部4は、個々のサーバ8に対応する直近対象物数の最大値と最小値との差が閾値以上になったか否かを判定し(ステップS1、図6参照)、最大値と最小値との差が閾値以上になったならば、ステップS2以降の処理を再度、実行する。
また、既に説明したように、割り当て決定部4は、各エリアをそれぞれいずれかのサーバ8に割り当てることで、各カメラシステム7から得られるデータストリームをいずれかのサーバ8に割り当てていることになる。
次に、データストリーム割り当てシステム1が各カメラシステム7から受け取ったデータストリームを各サーバ8に分配し、各サーバ8が分析を行う処理経過について説明する。図16は、この処理経過の例を示すフローチャートである。なお、既に説明した事項については、適宜、説明を省略する。
入力部2は、各カメラシステム7からデータストリームを受け取る(ステップS31)。入力部2は、受け取ったそれぞれのデータストリームを分配部5に送る。
分配部5は、そのそれぞれのデータストリームをサーバ8に分配する(ステップS32)。1つのデータストリームに着目した場合、分配部5は、そのデータストリームの分配先となるサーバ8を以下のように判定すればよい。データストリームには、そのデータストリームを生成したカメラシステム7のIDが付加されている。分配部5は、データストリームに付加されているカメラシステム7のIDに対応するエリアを、図8等に例示するエリアテーブルを参照することによって特定する。換言すれば、分配部5は、データストリームを生成したカメラシステム7の撮影位置を含むエリアを特定する。そして、分配部5は、その特定したエリアが割り当てられたサーバ8を、図9等に例示するエリアテーブルを参照することによって特定する。このサーバ8が、着目しているデータストリームの分配先となるサーバ8である。分配部5は、データストリーム毎に分配先となるサーバ8を特定し、それぞれのデータストリームを、分配先として特定したサーバ8に分配する。
各サーバ8は、それぞれ、データストリーム割り当てシステム1の分配部5によって分配されたデータストリームを用いて、対象物を分析する(ステップS33)。例えば、各サーバ8は、分配されたデータストリームを用いて、所定のパターンを検出する。また、各サーバ8は、分析結果として、例えば、所定のパターンを検出したことを示す情報、および、その所定のパターンを表わすデータストリームを、データ出力部9に送信する。
データ出力部9は、各サーバ8から受信した分析結果をまとめて、その分析結果を外部システム(図示略)に送信する(ステップS34)。なお、外部システムは、例えば、犯罪の検出、または、利用者の利便性や満足度の算出等を行う。
また、さらに各カメラシステム7がデータストリームをデータストリーム割り当てシステム1に送る場合、ステップS31以降の処理を繰り返す。
この過程において、割り当て決定部4は、データストリームを用いて対象物の分析を行っている各サーバ8をモニタして、変化があるならば、カメラシステム統計情報テーブル内の対象物数平均値、エリアテーブル内の直近対象物数、および、サーバテーブル内の直近対象物数を更新する。そして、割り当て決定部4は、個々のサーバ8に対応する直近対象物数の最大値と最小値との差が閾値以上になったか否かを判定し(ステップS1、図6参照)、最大値と最小値との差が閾値以上になったならば、ステップS2以降の処理を再度、実行する。
本実施形態において、個々のサーバ8に対応する直近対象物数の最大値と最小値との差が閾値以上になったということは、各サーバ8が分析している対象物の数に偏りが生じていることを意味する。すなわち、サーバ8間での処理負荷に偏りが生じていることを意味する。この場合、割り当て決定部4は、監視領域を分割してエリアを定め直す処理を実行し、また、各エリアをいずれかのサーバ8に割り当てる。従って、割り当て決定部4は、エリアとサーバ8との対応関係を更新する。このとき、割り当て決定部4は、ステップS4~S6のループ処理で、対象値の数が上限値(ステップS2で定められた上限値)を超えているエリアを2つのエリアに分割することを繰り返す。従って、監視領域内の対象物の数の偏りに応じてエリアが定められる。さらに、割り当て決定部4は、エリアに優先順位を定め、優先順位の高いエリアから順に、処理容量の余裕が最も大きいサーバ8に割り当てていく。従って、サーバ8の処理負荷の不均一を抑えることができる。また、その結果、サーバ8における分析処理の遅延も抑えることができる。
所定のパターンを検出するという観点からは、エリアは大きいことが好ましい。また、上記のように、割り当て決定部4は、ステップS4~S6のループ処理で、対象値の数が上限値を超えているエリアを2つのエリアに分割することを繰り返す。従って、対象値の数が上限値以下になったエリアは、サイズが大きくてもさらに分割されない。よって、本実施形態によれば、できるだけ大きなエリアを定めることができ、サーバ8における分析にとって好ましい。
図17は、本発明の実施形態のデータストリーム割り当てシステム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、通信インタフェース1005とを備える。
本発明の実施形態のデータストリーム割り当てシステム1は、例えば、コンピュータ1000によって実現される。データストリーム割り当てシステム1の動作は、データストリーム割り当てプログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのデータストリーム割り当てプログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのデータストリーム割り当てプログラムに従って、上記の実施形態で説明した処理を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
また、データストリーム割り当てシステム1の各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
データストリーム割り当てシステム1の各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図18は、本発明のデータストリーム割り当てシステムの概要を示すブロック図である。データストリーム割り当てシステム1は、監視領域を撮影する複数のカメラシステム(例えば、複数のカメラシステム7)から得られるデータストリームを用いて監視領域内の対象物の分析を行う複数のサーバ(例えば、複数のサーバ8)に対してデータストリームを割り当てる。データストリーム割り当てシステム1は、割り当て決定部4と、分配部5とを備える。
割り当て決定部4は、監視領域内の対象物の数の偏りに応じて、複数のカメラシステムから得られるデータストリームを複数のサーバに割り当てる。
そして、分配部5は、複数のサーバに対するデータストリームの割り当て結果に従って、複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配する。
そのような構成によって、サーバの処理負荷の不均一を抑え、サーバにおける分析処理の遅延を抑えることができる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、複数のサーバに対するデータストリームの割り当てに好適に適用可能である。
1 データストリーム割り当てシステム
2 入力部
3 情報記憶部
4 割り当て決定部
5 分配部
7 カメラシステム
8 サーバ
9 データ出力部
2 入力部
3 情報記憶部
4 割り当て決定部
5 分配部
7 カメラシステム
8 サーバ
9 データ出力部
Claims (8)
- 少なくとも1つのコンピュータ、および、監視領域を撮影する複数のカメラシステムから得られるデータストリームを用いて前記監視領域内の対象物の分析を行う複数のサーバによって実現されるデータストリーム割り当て方法であって、
前記少なくとも1つのコンピュータが、
前記監視領域内の前記対象物の数の偏りに応じて、前記複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当て、
前記複数のサーバに対するデータストリームの割り当て結果に従って、前記複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配し、
前記複数のサーバが、それぞれ、
前記少なくとも1つのコンピュータによって分配されたデータストリームを用いて、前記対象物の分析を行う
ことを特徴とするデータストリーム割り当て方法。 - 少なくとも1つのコンピュータが、
監視領域内の対象物の数の偏りに応じて、前記監視領域を複数のエリアに分割し、個々のエリアをそれぞれ複数のサーバのうちのいずれかに割り当てることによって、複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当てる
請求項1に記載のデータストリーム割り当て方法。 - 少なくとも1つのコンピュータが、
個々のサーバで分析されている対象物の数の最大値と最小値との差が閾値以上になった場合に、再度、監視領域を複数のエリアに分割し、個々のエリアをそれぞれ複数のサーバのうちのいずれかに割り当てる
請求項2に記載のデータストリーム割り当て方法。 - 少なくとも1つのコンピュータが、
対象物の総数とサーバの台数とに基づいて、1つのエリア内に存在する対象物の数の上限値を定め、個々のエリア内に存在する対象物の数が前記上限値以下になるように、監視領域を複数のエリアに分割し、
エリア毎に、対象物の数を、エリアが、予め定められた最小エリアサイズのエリアの何個分に相当するかを表わす最小エリア相当数で除算した指標値を算出し、
前記指標値の降順にエリアを選択し、選択したエリアを、処理容量の余裕が最も大きいサーバに割り当てる
請求項2または請求項3に記載のデータストリーム割り当て方法。 - 少なくとも1つのコンピュータが、
選択したエリアを、処理容量の余裕が最も大きいサーバに割り当てた場合に、当該サーバの処理容量の基準を超えるならば、前記選択したエリアをさらに2つのエリアに分割し、前記2つのエリアの一方を、前記処理容量の余裕が最も大きいサーバに割り当てる
請求項4に記載のデータストリーム割り当て方法。 - 複数のサーバが、それぞれ、
分配されたデータストリームを用いて対象物の所定の行動または状態を検出する分析処理を実行する
請求項1から請求項5のうちのいずれか1項に記載のデータストリーム割り当て方法。 - 監視領域を撮影する複数のカメラシステムから得られるデータストリームを用いて前記監視領域内の対象物の分析を行う複数のサーバに対して前記データストリームを割り当てるデータストリーム割り当てシステムであって、
前記監視領域内の前記対象物の数の偏りに応じて、前記複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当てる割り当て決定部と、
前記複数のサーバに対するデータストリームの割り当て結果に従って、前記複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配する分配部とを備える
ことを特徴とするデータストリーム割り当てシステム。 - コンピュータに、監視領域を撮影する複数のカメラシステムから得られるデータストリームを用いて前記監視領域内の対象物の分析を行う複数のサーバに対して前記データストリームを割り当てさせるためのデータストリーム割り当てプログラムであって、
前記コンピュータに、
前記監視領域内の前記対象物の数の偏りに応じて、前記複数のカメラシステムから得られるデータストリームを前記複数のサーバに割り当てる割り当て決定処理、および、
前記複数のサーバに対するデータストリームの割り当て結果に従って、前記複数のカメラシステムから得られるデータストリームを、それぞれ、データストリームが割り当てられたサーバに分配する分配処理
を実行させるためのデータストリーム割り当てプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/003292 WO2020157885A1 (ja) | 2019-01-31 | 2019-01-31 | データストリーム割り当て方法、システムおよびプログラム |
JP2020569252A JP7151795B2 (ja) | 2019-01-31 | 2019-01-31 | データストリーム割り当て方法、システムおよびプログラム |
US17/427,207 US11587415B2 (en) | 2019-01-31 | 2019-01-31 | Data stream allocation method, system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/003292 WO2020157885A1 (ja) | 2019-01-31 | 2019-01-31 | データストリーム割り当て方法、システムおよびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020157885A1 true WO2020157885A1 (ja) | 2020-08-06 |
Family
ID=71841017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/003292 WO2020157885A1 (ja) | 2019-01-31 | 2019-01-31 | データストリーム割り当て方法、システムおよびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11587415B2 (ja) |
JP (1) | JP7151795B2 (ja) |
WO (1) | WO2020157885A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160050396A1 (en) * | 2014-08-14 | 2016-02-18 | Hanwha Techwin Co., Ltd. | Intelligent video analysis system and method |
JP2016082424A (ja) * | 2014-10-17 | 2016-05-16 | セコム株式会社 | 物体監視装置 |
WO2017038100A1 (ja) * | 2015-09-03 | 2017-03-09 | 日本電気株式会社 | 監視サーバ、分散処理決定方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
WO2017130244A2 (en) * | 2016-01-29 | 2017-08-03 | Nec Corporation | Centralized control server, local terminal, distributed surveillance system, surveillance method and storage medium |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8564661B2 (en) * | 2000-10-24 | 2013-10-22 | Objectvideo, Inc. | Video analytic rule detection system and method |
JP2005165492A (ja) | 2003-12-01 | 2005-06-23 | Nec Corp | 走行情報管理方法、走行情報管理システム及びコンピュータプログラム |
US9626273B2 (en) * | 2011-11-09 | 2017-04-18 | Nec Corporation | Analysis system including analysis engines executing predetermined analysis and analysis executing part controlling operation of analysis engines and causing analysis engines to execute analysis |
WO2013128822A1 (ja) * | 2012-03-02 | 2013-09-06 | 日本電気株式会社 | 解析処理システム |
TW201601542A (zh) * | 2014-06-26 | 2016-01-01 | Amaryllo International Inc | 網路攝影資料管理系統與方法 |
WO2016133234A1 (ko) * | 2015-02-17 | 2016-08-25 | 이노뎁 주식회사 | 동적으로 할당되는 카메라 영상을 분석하는 영상 분석 시스템, 이를 포함하는 통합 관제 시스템 및 그 동작방법 |
SG10201501222XA (en) * | 2015-02-17 | 2016-09-29 | Nec Asia Pacific Pte Ltd | System for monitoring event related data |
US10839196B2 (en) * | 2015-09-22 | 2020-11-17 | ImageSleuth, Inc. | Surveillance and monitoring system that employs automated methods and subsystems that identify and characterize face tracks in video |
JP2017201753A (ja) * | 2016-05-06 | 2017-11-09 | キヤノン株式会社 | ネットワークシステム及びその制御方法 |
EP3549063A4 (en) * | 2016-12-05 | 2020-06-24 | Avigilon Corporation | APPEARANCE SEARCH SYSTEM AND METHOD |
US20190035104A1 (en) * | 2017-07-25 | 2019-01-31 | Motionloft, Inc. | Object detection and tracking |
WO2019098199A1 (ja) * | 2017-11-17 | 2019-05-23 | 日本電気株式会社 | 情報処理装置、情報処理方法および記録媒体 |
US10368216B2 (en) * | 2017-12-29 | 2019-07-30 | Sonitor Technologies As | Location determination system having mesh infrastructure to reduce power consumption |
-
2019
- 2019-01-31 US US17/427,207 patent/US11587415B2/en active Active
- 2019-01-31 JP JP2020569252A patent/JP7151795B2/ja active Active
- 2019-01-31 WO PCT/JP2019/003292 patent/WO2020157885A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160050396A1 (en) * | 2014-08-14 | 2016-02-18 | Hanwha Techwin Co., Ltd. | Intelligent video analysis system and method |
JP2016082424A (ja) * | 2014-10-17 | 2016-05-16 | セコム株式会社 | 物体監視装置 |
WO2017038100A1 (ja) * | 2015-09-03 | 2017-03-09 | 日本電気株式会社 | 監視サーバ、分散処理決定方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 |
WO2017130244A2 (en) * | 2016-01-29 | 2017-08-03 | Nec Corporation | Centralized control server, local terminal, distributed surveillance system, surveillance method and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US11587415B2 (en) | 2023-02-21 |
US20220148395A1 (en) | 2022-05-12 |
JPWO2020157885A1 (ja) | 2021-11-04 |
JP7151795B2 (ja) | 2022-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11064162B2 (en) | Intelligent video analysis system and method | |
CN108062499B (zh) | 一种人脸识别的方法、系统及平台 | |
US20200195835A1 (en) | Bandwidth efficient video surveillance system | |
US11094076B2 (en) | Analysis apparatus, analysis method, and storage medium | |
CN111414949B (zh) | 图片聚类方法、装置、电子设备及存储介质 | |
JP6415061B2 (ja) | 表示制御装置、制御方法及びプログラム | |
US20150146006A1 (en) | Display control apparatus and display control method | |
KR101612483B1 (ko) | 실시간으로 카메라 영상을 분석하는 저장/분배 서버, 이를 포함하는 통합 관제 시스템 및 그 동작방법 | |
CN107995017B (zh) | 一种上行带宽分配方法、装置及系统 | |
JP6807042B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US20230123273A1 (en) | Management device, management system, monitoring system, estimating method, andrecording medium | |
WO2020157885A1 (ja) | データストリーム割り当て方法、システムおよびプログラム | |
JP6015756B2 (ja) | 位置管理装置、位置管理システム、位置管理方法、及び、位置管理プログラム | |
WO2022059223A1 (ja) | 映像解析システムおよび映像解析方法 | |
CN111008611B (zh) | 排队时长的确定方法及装置、存储介质、电子装置 | |
US11689594B2 (en) | Information processing apparatus, server allocation apparatus, method, and computer readable medium | |
JP5968402B2 (ja) | 映像加工処理方法及びその装置 | |
JP5649301B2 (ja) | 映像加工処理方法及びその装置 | |
WO2019146184A1 (ja) | 処理装置、処理方法及びプログラム | |
KR20150121773A (ko) | 지능형 분산 영상 분석 시스템 및 방법 | |
JP2021128581A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19913006 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020569252 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: 19913006 Country of ref document: EP Kind code of ref document: A1 |