WO2020158035A1 - 物***置推定装置およびその方法 - Google Patents
物***置推定装置およびその方法 Download PDFInfo
- Publication number
- WO2020158035A1 WO2020158035A1 PCT/JP2019/035450 JP2019035450W WO2020158035A1 WO 2020158035 A1 WO2020158035 A1 WO 2020158035A1 JP 2019035450 W JP2019035450 W JP 2019035450W WO 2020158035 A1 WO2020158035 A1 WO 2020158035A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- height
- estimated
- processing unit
- camera
- person
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
- G01C3/10—Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument
- G01C3/14—Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument with binocular observation at a single point, e.g. stereoscopic type
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C5/00—Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/12—Acquisition of 3D measurements of objects
Definitions
- the present invention relates to an object position estimation device and method, and more particularly to an object position estimation processing technique for estimating the position of a moving object such as a person using an image captured by a camera.
- Patent Document 1 Various techniques are known for estimating the position of the person in the image using the image taken by the camera. For example, in Patent Document 1, using a plurality of cameras that have been calibrated to obtain camera parameters, an error is made based on a virtual image object when the object positions taken by the plurality of cameras are obtained by a visual volume intersection method. Techniques for reducing localized position estimation are disclosed. Patent Document 2 discloses a technique of detecting a person from a plurality of camera images and estimating the three-dimensional position of each person by stereoscopic vision.
- monitoring cameras are installed in places such as factories and power plants, and the images of the monitoring cameras are analyzed to identify the positions of workers, and when workers approach dangerous places, the person or supervisor can There is a need for alerts to be used for safety management and to assist supervisors in grasping the status of workers.
- places such as factories and power plants there are many shields and there may be differences in height between floors.
- Patent Document 1 it is necessary for the object to be detected to be reflected by a plurality of cameras. Therefore, in a place where there are many shields, the number of cameras is increased when the cameras are arranged to be reflected by a plurality of cameras at all points. Will increase and the cost will increase.
- Patent Document 2 is mainly intended for a flat place where there is no process difference such as an elevator, and cannot be supported in places with height differences such as factories and power plants. For example, if there is a difference in elevation and the camera is placed at an angle that looks down, a person in a high place in front of the camera and a person in a low place in the back will be at the same position on the screen. It may be visible, and the technology of Patent Document 2 leaves some ambiguity about where it is.
- an object of the present invention is to reduce the ambiguity of the position due to the height difference of the object and accurately estimate the position of the object.
- the object position estimation device preferably has an input/output unit, a storage unit, and a processing unit, and in a three-dimensional space of the moving object based on images of the moving object acquired by a plurality of cameras.
- An object position estimating device for estimating a position The storage unit stores area information including a height of each point in an area to be captured by the camera,
- the processing unit is A first processing unit for detecting the position of the position reference point of the moving object from the image of the moving object acquired by the camera; A second processing unit for estimating the height of the detected moving object; A third processing unit that estimates the height of the position reference point based on the image of the moving object and the estimated height estimated by the second processing unit; Fourth processing for calculating an estimated position candidate of the moving object based on the height of the point in the area, the position of the position reference point, and the height of the position reference point estimated by the third processing unit Department, The likelihood of the estimated position candidate is calculated based on the height in the area, the height of the position reference point estimated by the
- a fifth processing unit And a sixth processing unit that determines the estimated position of the moving object based on the likelihood of the estimated position candidate calculated by the fifth processing unit. It The present invention is also understood as an object position estimating method executed by the processing unit in the object position estimating apparatus.
- the present invention it is possible to reduce the ambiguity of the position due to the height difference and accurately estimate the object position even in a place where there is an obstacle or a height difference.
- the figure which shows the structure of an image processing system The figure which shows the structural example of an object position estimation apparatus.
- the flowchart figure which shows the processing operation of a camera calibration.
- the flowchart figure which shows the processing operation of person position estimation.
- the figure which shows the example of area height.
- the figure which shows the structural example of an area information table The figure which shows the structural example of a detected person information table.
- camera calibration is performed so that the position of a person can be estimated even if there is a shielding object and the image is captured by one camera, and the person having the camera parameters is used to photograph the person.
- After detecting the person from the captured image and estimating the height of the reflected person calculate a straight line from the camera to the person's head or a specific point, and calculate the straight line of each point of the area acquired in advance. From the height information, the position where the estimated height of the reflected person and the height of the straight line from the ground are the same as the estimated position of the person.
- the position estimation is not limited to a person, and can be a moving object. Further, when the shooting target range of the camera is inside the building, the reference plane for estimating the height of the moving object may be the floor instead of the ground.
- FIG. 1 shows an example of an image processing system to which an object position estimating apparatus according to an embodiment is applied.
- the image processing system is configured by connecting a plurality of cameras 101 that capture a space and a recording device 103 that records captured images to a network 102.
- the recording device 103 stores the image sparseness acquired by the plurality of cameras 101.
- the object position estimating device 104 estimates the position of the person using the images accumulated in the recording device 103, and displays the result on the display device 105.
- the recording device 103, the object position estimation device 104, and the display device 105 may be composed of one computer.
- the network 102 may be wired or connected via a wireless access point.
- the object position estimation device 104 is a computer including a processor and a memory, and includes an input/output unit 21, an image memory 22, a storage unit 23, a camera parameter estimation processing unit 24, and a person position estimation processing unit 25.
- the image memory 22 and the storage unit 23 are provided in the memory.
- the camera parameter estimation processing unit 24 and the person position estimation processing unit 25 are functions realized by the processor executing the programs stored in the memory.
- the input/output unit 21 acquires an image recorded in the recording device 103, and the acquired image is stored in the image memory 22.
- the input/output unit 21 also acquires data input from the device operated by the user, and the acquired data is sent to the storage unit 23 or the camera parameter estimation processing unit 24.
- the input/output unit 21 also outputs the result of the person position estimation processing unit 25 to the display device 105, and the result is displayed on the display device 105.
- the storage unit 23 stores an internal parameter 232 that stores a focal length, an aspect ratio, an optical center, and the like of the camera, a camera posture parameter 233 that stores the position and orientation of the camera, and the height of each point in the area shown on the camera.
- Area information 234 to be stored, detected person information 235 to store information about a person detected from an image, and detected person position candidate information 236 to store position candidate information of each detected person are stored. These pieces of information are configured in a table format, for example.
- the camera parameter estimation processing unit 24 includes a camera internal parameter estimation processing unit 242 that estimates a camera internal parameter from a captured image of a calibration pattern, a camera internal parameter, a captured image, and a plurality of images input by a user.
- the camera posture parameter estimation processing unit 243 is configured to estimate a camera posture parameter (also referred to as an external parameter) from the position of the point and the coordinates in the three-dimensional space corresponding to the point. Details of each process will be described later.
- the person position estimation processing unit 25 includes a person detection processing unit 252 that detects at which position on the image the person appears in the captured image, and a person feature amount calculation process that calculates the feature amount of each detected person.
- a person position candidate selection processing unit 258 that selects a person estimated position from the person position candidate information 236 in which the information of (1) is integrated, and a person estimated position display processing unit 259 that displays the person estimated position on the display device 105. Details of each process will be described later.
- the example shown in FIGS. 1 and 2 is for estimating the person position assuming an environment in which three cameras are shooting.
- the three cameras are referred to as camera A, camera B, and camera C, respectively.
- the cameras should be arranged so that two or more cameras are used for shooting. Is desirable.
- the cameras A to C commercially available network cameras can be used. It is assumed that the time of the internal clock of each camera is synchronized and matched in advance by using NTP or the like.
- the image photographed by each camera is sent to the recording device 103 via the network 102 and recorded together with the camera ID and the photographing time.
- the person position estimation is a first step of preliminary setting in which camera internal parameters, camera posture parameters, and area information are set in advance, and a second step of estimating the position of the person in the image from the camera image and the preset information. It is divided into stages.
- the first step of setting information in advance is further divided into a first step of setting camera internal parameters and a camera posture parameter by calibration, and a first step of setting area information input by the user.
- FIG. 3 a process of setting the camera internal parameter and the camera posture parameter by calibration will be described.
- This processing is executed by the camera parameter estimation processing unit 24.
- the flowchart of FIG. 3 shows the processing operation of one camera, in the case of, for example, three cameras A to C, the same processing is performed for each camera.
- the data stored in the camera internal parameter 232 and the camera attitude parameter 233 are also stored separately for each of the cameras A to C together with the camera ID.
- Formula 1 represents the relationship between the three-dimensional coordinates (X, Y, Z) in the world coordinate system and the pixel coordinates (u, v) on the image in the case of a pinhole camera model without lens distortion, in homogeneous coordinate representation. There is a ceremony.
- the XY plane should be horizontal and the Z axis should be vertical.
- (Fx,fy) is the focal length in pixels
- (cx,cy) is the optical center in pixels
- s is the shear coefficient of the pixels
- R11 to R33 and tx to tz are the poses of the camera.
- lens distortion occurs, and it is an expression showing the relationship between the coordinates (u, v) on the image when there is no distortion and the coordinates (u′, v′) when there is distortion.
- k3 is a distortion coefficient in the radial direction
- p1 and p2 are distortion coefficients in the circumferential direction.
- the camera internal parameters are (fx, fy), (cx, cy), s, k1, k2, k3, p1, p2, and the camera posture parameters are R11 to R33 and tx to tz.
- the calibration pattern includes a plurality of image patterns such as a checker pattern and a dot pattern. These image patterns taken by the camera are stored in the recording device 103. The number of images to be photographed and the position of the calibration pattern are preferably about 10 or more so that the patterns are displayed at various positions on the image.
- the input/output unit 21 reads the image of the calibration pattern prepared in the recording device 103 and stores it in the image memory 22 (S301).
- the length of the calibration pattern interval is input from the input/output unit 21 by a user operation (S302).
- the pattern is detected from the image of the calibration pattern on the image memory 22 (S303).
- the pattern can be detected by using, for example, “OpenCV which is an open source library for computer vision”.
- the camera internal parameter is estimated using the pattern interval and the detected pattern (S304).
- the estimated camera internal parameter is stored in the camera internal parameter 204 together with the camera ID (S305).
- the “EasyCalib method” can be used for parameter estimation.
- a similar method is implemented in "OpenCV, which is an open source library for computer vision.”
- markers are taken in advance at the plurality of points whose three-dimensional spatial coordinates are known by the camera.
- the number of markers should be at least 4 and 6 or more.
- the marker thus prepared is read from the input/output unit 21 (S306). It should be noted that the image captured by the camera is stored in the recording device 103 similarly to the above calibration pattern, and the input/output unit 21 sequentially reads the image from the recording device and stores it in the image memory 22.
- the three-dimensional coordinates of the marker in the world coordinate system and the pixel coordinates shown in the image are input from the input/output unit 21 by the user's operation (S307).
- the camera attitude parameter is estimated by solving the PnP problem from the input coordinates and the camera internal parameter (S308), and stored in the camera attitude parameter 233 together with the camera ID (S309).
- the solution for the PnP problem is implemented in "OpenCV, an open source computer vision library".
- the area information the height of each point in the area shown in the camera is input from the input/output unit 21 by the user's operation and stored in the area information 234.
- FIG. 5A schematically shows the area height
- FIG. 5B shows the area information table (area information 234 in table format).
- the area information 234 is expressed as a height of “100” mm in the central portion as in the area information table 501 of FIG. 5B.
- the area information table 501 is divided into mesh-like XY coordinates representing a planar area at regular intervals, and is expressed by the height (Z coordinate) of each mesh area in XY coordinates.
- the size of the XY coordinate delimiter is "10", but it can be changed according to the precision required for each implementation.
- processing for estimating the position of the person is performed based on the image of the area captured by the camera.
- the example shown in FIG. 4 is a process of estimating the person position using the images acquired by the cameras A to C at a certain time T. Each time each image acquired by the cameras A to C is newly stored in the recording device 103, the time T is updated to the time at which the image is newly stored, and the processing is repeated so that the person position at the current time is updated. Is continuously acquired to estimate the person position. The following processing is performed by each processing unit of the person detection processing unit 252 to the person estimated position display processing unit 259.
- the input/output unit 21 acquires the images of the cameras A to C at the time T from the recording device 103 and stores them in the image memory 22 (S402).
- the person detection processing unit 252 executes the processing from person detection (S403) to single-camera person position candidate calculation (S408) on the images of the cameras A to C stored in the image memory 22.
- the process S403 of detecting a person from an image it is possible to detect the person by using the method described in Non-Patent Document 1.
- the detected person information is stored in a format such as detected person information 235 (detected person information table 601 in FIG. 6).
- an entry is created by assigning a person ID to each person detected from an image.
- the detected position on the image is located at the upper left and lower right pixel coordinates (X1pa, Y1pa), the feature amount Vpa, the estimated height Lpa of the person, the position reference point (BXpa, BYpa, BZpa), the reference point estimation.
- the height (Hpa) and the linear equation are written.
- the person feature amount calculation processing unit 253 cuts out the detected person from the original image and calculates the image feature amount in the processing S404 of calculating the feature amount of each person.
- the image feature amount uses color feature amount that uses the histogram of the color of the person image as the feature amount, and the value of the middle layer of the neural network that identifies the age, sex, clothes, etc. of the person using deep learning as the feature amount. To do.
- the feature amount using a neural network is detected by using the error propagation method to learn the correspondence between the image cut out of a person and the age, sex, or clothes with a neural network such as AlexNet or ResNet.
- the value of the intermediate layer when the above-described person image is input to the neural network is used as the vector of the feature amount.
- the calculated feature amount is written in the entry of each detected person ID in the detected person information table 601.
- the height estimation processing unit 254 prepares a neural network in which the relationship between the human image and the height is learned in advance by using deep learning, and the neural network detects the neural network. Height is estimated by inputting each person image.
- the neural network for estimating the height is obtained by learning the correspondence between the image cut out of the person and the height using a neural network such as AlexNet or ResNet by using the error propagation method, similarly to the neural network. Further, in the present processing, when the persons in the area have almost the same height or when the position of the camera is high, the fixed height set in advance may be used as the estimated height.
- the estimated height is written in the entry of each detected person ID in the detected person information table 601.
- the person posture estimation processing unit 255 detects a point (position reference point) serving as a reference of the person position in the processing S406 of detecting the position reference point of each person.
- the point perpendicular to the ground from the position reference point is the coordinates of the person.
- the position reference point is a portion that is not easily hidden by an obstacle or the like and that is easily detected from any direction.
- it detects the skeleton from the image of the person and estimates the posture of the person based on the position and angle of the skeleton.For example, the position and angle of the person's crown, head center, and both shoulder centers Estimate the posture based on this.
- the top of the head it is the midpoint of the upper side of the person detection frame (however, it is assumed that the person is basically standing).
- it is the center of the head it is the center point of the detection frame obtained by detecting the head using a method such as Non-Patent Document 2.
- the center of both shoulders can be detected by the method of Non-Patent Document 3 or the like.
- the pixel coordinates of the detected position reference point on the image are written in the entry of each person ID in the detected person information table 601.
- the human position reference is calculated based on the estimated height and the human posture information detected by the method of Non-Patent Document 3. Estimate the height of the point above the ground. From the height, the length of the head, upper body, and lower body is calculated as a standard physique, and the height of the reference point is estimated from the detected inclination of the posture. If the upper body and lower body are not visible, it is assumed that the parts are vertical. The estimated height of the person position reference point is written in the entry of each person detection ID in the detected person information table 601.
- the single-camera person position candidate calculation processing unit 256 calculates the single-camera person position candidates, first, based on the camera internal parameters and camera posture parameters, and the person position reference point position of the detected person information table 601, the camera position is calculated. And a straight line connecting the person position reference point. The obtained straight line is written in the detected person information table 601. In order to obtain the straight line, it is possible to calculate using the equations 1 and 2. Next, using the obtained straight line and area information 234, the height from the point on the straight line to the ground is obtained. Then, a point on the straight line where the height to the ground coincides with the estimated height of the person position reference point is set as a person position candidate.
- a person position candidate table 701 (person position candidate information 236 in a table format) is created for each camera ID and person ID, and the calculated person position candidates are candidate positions (X1 , Y1, Z1). Further, the person position candidate table 701 stores person position candidates detected by other cameras for each camera ID and person ID.
- the multiple camera person position candidate calculation processing unit 257 displays the information of each camera.
- the calculation of the person position candidates by the plurality of cameras is performed in an integrated manner (S409).
- This processing S409 is performed for each combination of each camera ID and person ID.
- a straight line expression of the camera and the person position reference point is read from the detected person information table 601 of the camera ID and person ID to be processed, and the processing of the flowchart of FIG. 8 is performed.
- processing S801 to S806 is repeatedly executed for all person IDs of other camera IDs different from the processing target camera ID.
- the distance between the straight line between each camera and the person reference point is calculated by the combination of the camera ID and the person ID of the two other cameras (for example, cameras B and C) (S802).
- the calculated distance is compared with the threshold value (S803).
- the threshold value is set to an appropriate value that improves the accuracy for each implementation.
- the processing of the next S801 to S806 is repeatedly executed.
- the process moves to the next process S804.
- step S804 the midpoint between two straight lines of the distance resulting from the above processing is calculated, and the height of the midpoint from the ground is calculated from the area information. Then, the height is compared with the assumed person reference point height range (S805).
- This assumed person reference point height range is set in order to exclude impossible heights, for example, those that are minus or greatly exceed the height of a person, and approximately 0 cm to 200 cm is suitable. If the result of comparison is out of the range (S805: No), the processing of the next S801 to S806 is repeatedly executed. On the other hand, if it is within the range (S805: Y), the process moves to the next process S806.
- step S806 the calculated coordinates of the midpoint are added to the entry of the person position candidate table 701.
- the camera ID and the person ID when the midpoint is calculated are also stored in the table. For example, when a midpoint position candidate Nb with the camera ID B and the person ID Pb is added to the processing target with the camera ID A and the person ID Pa, the entry 702 in FIG. An entry is added such that Nb and other camera ID and person ID are (B, Pb).
- the new position candidate is the average of each coordinate of the previously added entry and the new position candidate. Additional recording is performed for the other camera ID and the person ID. For example, if an entry having the camera ID C, the person ID Pc, and the position candidate Nc is added to the entry 702 in the above example and the distance between Nb and Nc is less than or equal to the threshold value, the updated entry is 703.
- the position candidates are Nnew (average of Nb and Nc), and the other camera ID and the person ID are (B, Pb), (C, Pc).
- the multi-camera person position candidate calculation processing unit 257 performs the likelihood calculation processing for each calculated person position candidate after the calculation processing S409 of the person position candidates of the plurality of cameras. Is performed (S410). For each entry of the person position candidate table 701, the likelihood is calculated according to Formula 3 while reading the data from the storage unit 23, and the likelihood of the person position candidate table 701 is added. For example, the likelihood of the entry 703 is calculated as in Expression 4.
- the person position candidate selection processing unit 258 determines the estimated position of the person position based on the likelihood of the person position candidate table 701 (S411). To determine the estimated position, the person position candidate table 701 of each detected person of the cameras A to C is sequentially examined, and the person having the highest likelihood is set as the person estimated position.
- an entry such as the entry 703 of the person position candidate table 701 is selected as the estimated position where the camera ID is A and the detected person ID is Pa, the camera ID is B, the detected person ID is Pb, and the camera ID is C. , And the estimated position where the detected person ID is Pc is the same.
- the estimated person position display processing unit 259 displays the calculated estimated person position on the display device 105 (S412). That is, the estimated person position is converted into XY coordinates on the horizontal plane, a floor map as shown in FIG. 5A is created from the area information, and the estimated person position is plotted on the floor map, which is output via the input/output unit 201. It is displayed on the display device 105.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Electromagnetism (AREA)
- Geometry (AREA)
- Signal Processing (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
物体の高低差による位置のあいまいさを低減して、精度よく物体の位置を推定する。 物***置推定装置は、カメラにより取得される移動物体の画像から移動物体の位置基準点の位置を検出する第1処理部と、検出した移動物体の高さを推定する第2処理部と、移動物体の画像と第2処理部により推定された推定高さを基に位置基準点の高さを推定する第3処理部と、エリアにおける前記地点の高さと前記位置基準点の位置と第3処理部により推定された位置基準点の高さを基に、移動物体の推定位置候補を算出する第4処理部と、前記エリアにおける高さと第3処理部により推定された位置基準点の高さと第4処理部により算出された推定位置候補を基に推定位置候補の尤度を計算する第5処理部と、第5処理部により計算された推定位置候補の尤度を基に移動物体の推定位置を決定する第6処理部とを有する。
Description
本発明は、物***置推定装置およびその方法に係り、特に、カメラで撮影された画像を利用して、人物等の移動物の位置を推定する物***置の推定処理技術に関する。
カメラで撮影された画像を用いて、画像中に映っている人物の位置を推定するための技術が種々知られている。例えば、特許文献1には、キャリブレーションされてカメラパラメータを求めた複数のカメラを用いて、複数のカメラで撮った物***置を視体積交差法により求める際の虚像物体をもとになされる誤った位置推定を低減するための技術が開示されている。また、特許文献2には、複数のカメラ映像から人物を検出し、ステレオ立体視により個々の人物の3次元位置を推定する技術が開示されている。
「Jifeng Dai,"R-FCN: object detection via region-based fully convolutional networks",International Conference on Neural Information Processing Systems, 2016」
「Russell Stewart,"End-to-end people detection in crowded scenes",IEEE Conference on Computer Vision and Pattern Recognition, 2016」
「Zhe Cao,"Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields",IEEE Conference on Computer Vision and Pattern Recognition, 2017」
店舗内の客の位置を監視カメラの映像から検出して、客がどのような動きをしているかを解析することで、マーケティングに活用する技術がある。また、工場や発電所のような場所に監視カメラを設置して、監視カメラの映像を解析することで作業員の位置を把握し、作業員が危険な場所に近づいたときに本人や監督者にアラートをあげて安全管理に活用したり、監督者の作業員状況把握の補助に活用したいというニーズが出てきている。工場や発電所のような場所では遮蔽物が多く、床に高低差があることがある。
特許文献1の技術では、検出対象の物体が複数のカメラに映っている必要があるため、遮蔽物が多い場所では、全ての地点で複数のカメラに映るようにカメラを配置しようとするとカメラ台数が多くなってしまい、コストが高くなってしまう。
また、特許文献2の技術は、主にエレベータのような工程差のない平坦な場所を想定した技術であり、工場や発電所のような高低差のある場所では対応しきれない。例えば、高低差がある場所で、カメラが見下ろすような角度で配置されていると、カメラから見て手前の高い場所にいる人物と、奥の低い場所にいる人物が、画面上では同じ位置に見える可能性があり、特許文献2の技術ではどこにいるか、あいまいさが残ってしまう。
そこで、本発明の目的は、物体の高低差による位置のあいまいさを低減して、精度よく物体の位置を推定することにある。
本発明に係る物***置推定装置は、好ましくは、入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の3次元空間における位置を推定する物***置推定装置であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理部と、
前記検出した移動物体の高さを推定する第2処理部と、
前記移動物体の画像と前記第2処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理部と、
前記エリアにおける高さと、前記第3処理部により推定された前記位置基準点の高さと、前記第4処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理部と、
前記第5処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理部と、を有することを特徴とする物***置推定装置、として構成される。
本発明はまた、物***置推定装置における上記処理部が実行する物***置推定方法としても把握される。
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理部と、
前記検出した移動物体の高さを推定する第2処理部と、
前記移動物体の画像と前記第2処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理部と、
前記エリアにおける高さと、前記第3処理部により推定された前記位置基準点の高さと、前記第4処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理部と、
前記第5処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理部と、を有することを特徴とする物***置推定装置、として構成される。
本発明はまた、物***置推定装置における上記処理部が実行する物***置推定方法としても把握される。
本発明により、遮蔽物や高低差がある場所でも、高低差による位置のあいまいさを低減して、精度よく物***置を推定することができる。
本発明の好ましい態様では、遮蔽物があっても1つのカメラに映っていれば人物の位置が推定できるように、カメラキャリブレーションを行い、カメラパラメータを取得したカメラを使用して人物を撮影し、撮影された画像から人物を検出および映った人物の身長を推定した後、カメラから人物の頭部もしくは特定のポイントまでの直線を計算して、事前に取得しておいたエリアの各地点の高さ情報から、映った人物の推定身長と直線の地面からの高さが一致する箇所を人物の推定位置とする。また、高低差のある場所での人物推定位置のあいまいさを回避するために、複数カメラを使って精度を高める手法も用いる。カメラから検出人物への直線が複数交差する(直線間の距離が閾値以下になる)点を人物位置の候補として、公差している直線のカメラで検出された人物の画像特徴量や推定身長や公差点の地面からの高さから人物がその候補地点にいるかどうかの尤度を計算して、尤度の高い地点を推定人物位置とする。なお、位置推定は人物に限らず、移動物体を対象とすることができる。また、カメラの撮影対象範囲が建物の内部の場合、移動物体の高さの推定の基準面は、地面ではなく、床とすることができる。
以下、図面を参照しながら、一実施例について説明する。
図1は、一実施例に係る、物***置推定装置が適用される画像処理システムの一例を示す。
画像処理システムは、空間を撮影する複数のカメラ101と、撮影された画像を記録する録画装置103がネットワーク102に接続して構成される。録画装置103は、複数のカメラ101によって取得された映像疎を蓄積する。物***置推定装置104は、録画装置103に蓄積された画像を利用して人物位置推定を行い、その結果を表示装置105に表示する。なお、録画装置103、物***置推定装置104および表示装置105は1台のコンピュータで構成されてもよい。また、ネットワーク102は、有線でも、無線アクセスポイントを介して繋がるものでもよい。
画像処理システムは、空間を撮影する複数のカメラ101と、撮影された画像を記録する録画装置103がネットワーク102に接続して構成される。録画装置103は、複数のカメラ101によって取得された映像疎を蓄積する。物***置推定装置104は、録画装置103に蓄積された画像を利用して人物位置推定を行い、その結果を表示装置105に表示する。なお、録画装置103、物***置推定装置104および表示装置105は1台のコンピュータで構成されてもよい。また、ネットワーク102は、有線でも、無線アクセスポイントを介して繋がるものでもよい。
図2を参照して、物***置推定装置104の内部構成について説明する。
物***置推定装置104は、プロセッサおよびメモリを備えるコンピュータであり、入出力部21、画像メモリ22、記憶部23、カメラパラメータ推定処理部24、人物位置推定処理部25を有して構成される。画像メモリ22および記憶部23はメモリに設けられる。カメラパラメータ推定処理部24および人物位置推定処理部25は、メモリに格納されているプログラムがプロセッサで実行されることで実現される機能である。
物***置推定装置104は、プロセッサおよびメモリを備えるコンピュータであり、入出力部21、画像メモリ22、記憶部23、カメラパラメータ推定処理部24、人物位置推定処理部25を有して構成される。画像メモリ22および記憶部23はメモリに設けられる。カメラパラメータ推定処理部24および人物位置推定処理部25は、メモリに格納されているプログラムがプロセッサで実行されることで実現される機能である。
物***置推定装置104において、入出力部21は、録画装置103に記録された画像を取得し、その取得された画像は画像メモリ22に格納される。入出力部21はまた、ユーザが操作する装置から入力されるデータを取得し、取得されたデータは記憶部23またはカメラパラメータ推定処理部24に送られる。入出力部21はまた、人物位置推定処理部25の結果を表示装置105に出力し、結果は表示装置105に表示される。
記憶部23は、カメラの焦点距離やアスペクト比や光学中心などを格納する内部パラメータ232と、カメラの位置や向きなどを格納するカメラ姿勢パラメータ233と、カメラに映るエリアの各地点の高さを格納するエリア情報234と、画像から検出した人物に関する情報を格納する検出人物情報235と、検出した各人物の位置候補情報を格納する検出人物位置候補情報236の各情報を記憶する。これらの情報は例えばテーブル形式で構成される。(詳細は後述する。)
カメラパラメータ推定処理部24は、キャリブレーションパターンを撮影した画像からカメラ内部パラメータを推定するカメラ内部パラメータ推定処理部242と、カメラ内部パラメータおよび撮影された画像およびユーザから入力された複数の画像上の点の位置およびその点に対応する3次元空間上の座標からカメラ姿勢パラメータ(外部パラメータとも言う)を推定するカメラ姿勢パラメータ推定処理部243から構成される。各処理の詳細については後述する。
カメラパラメータ推定処理部24は、キャリブレーションパターンを撮影した画像からカメラ内部パラメータを推定するカメラ内部パラメータ推定処理部242と、カメラ内部パラメータおよび撮影された画像およびユーザから入力された複数の画像上の点の位置およびその点に対応する3次元空間上の座標からカメラ姿勢パラメータ(外部パラメータとも言う)を推定するカメラ姿勢パラメータ推定処理部243から構成される。各処理の詳細については後述する。
人物位置推定処理部25は、撮影された画像から人物が画像上のどの位置に映っているかを検出する人物検出処理部252と、検出された各人物の特徴量を計算する人物特徴量計算処理部253と、検出された各人物の身長を推定する身長推定処理部254と、検出された各人物の姿勢を推定する人物姿勢推定処理部255と、検出人物情報235から1つのカメラに関する人物位置の候補を計算する単カメラ人物位置候補計算処理部256と、複数のカメラの人物位置候補情報208を統合して人物位置候補の精度を高める複数カメラ人物位置候補計算処理部257と、複数のカメラの情報が統合された人物位置候補情報236から人物推定位置を選択する人物位置候補選択処理部258と、人物推定位置を表示装置105に表示させる人物推定位置表示処理部259、から構成される。各処理の詳細については後述する。
図1乃至図2に示す例は、3台のカメラで撮影している環境を想定し、人物位置推定を行うものである。3台のカメラをそれぞれカメラA、カメラB、カメラCとする。カメラの配置については、人物位置推定を行うエリア内で、高低差により1台のカメラでは位置推定があいまいになるような空間については、なるべく2台以上のカメラで撮影するようにカメラを配置することが望ましい。カメラA~Cはネットワークカメラとして市販されているものを利用できる。各カメラの内部時計の時刻は事前にNTPなどを用いて同期を取って一致しているものとする。各カメラで撮影された画像は、ネットワーク102を介して録画装置103へ送られ、カメラのIDおよび撮影時刻と共に記録される。
人物位置推定は、事前にカメラ内部パラメータとカメラ姿勢パラメータとエリア情報を設定する事前準備の第1段階と、カメラ画像および事前に設定された情報から画像に映った人物の位置を推定する第2段階に分けられる。
事前に情報を設定する第1段階はさらに、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する第1-1段階と、ユーザが入力したエリア情報を設定する第1-2段階に分けられる。
事前に情報を設定する第1段階はさらに、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する第1-1段階と、ユーザが入力したエリア情報を設定する第1-2段階に分けられる。
次に、図3を参照して、キャリブレーションによりカメラ内部パラメータとカメラ姿勢パラメータを設定する処理について説明する。この処理はカメラパラメータ推定処理部24により実行される。ここで、図3のフローチャートは1つのカメラの処理動作を示しているが、例えば3台のカメラA~Cの場合、各カメラについて同じ処理が行なわれる。また、カメラ内部パラメータ232およびカメラ姿勢パラメータ233に格納するデータも、カメラA~Cの各々についてカメラのIDと共に別々に格納する。
各カメラのキャリブレーションでは、数式1および数式2における各パラメータの値を求める。数式1はレンズの歪みがないピンホールカメラモデルの場合の、ワールド座標系の3次元座標(X,Y,Z)と画像上のピクセル座標(u,v)の関係を同次座標表現で表した式ある。
ワールド座標系はXY平面が水平面で、Z軸が垂直方向になるようにする。(fx,fy)はピクセル単位の焦点距離、(cx,cy)はピクセル単位の光学中心、sはピクセルのせん断係数、R11~R33およびtx~tzはカメラの姿勢である。実際のカメラではレンズ歪みが発生し、歪みがない場合の画像上の座標(u,v)と歪みがある場合の座標(u’,v’)の関係を表した式で、k1とk2とk3は半径方向の歪み係数、p1とp2は円周方向の歪み係数である。カメラ内部パラメータは(fx,fy)、(cx,cy)、s、k1、k2、k3、p1、p2で、カメラ姿勢パラメータはR11~R33およびtx~tzである。
キャリブレーションの処理では、まず、ユーザがカメラでキャリブレーションパターンを撮影する。キャリブレーションパターンは、チェッカーパターンやドットパターンなど複数枚の画像パターンが含まれる。カメラで撮影されたこれらの画像パターンは録画装置103に格納される。撮影する枚数およびキャリブレーションパターンの位置は、10枚程度以上で画像上の色々な位置にパターンが映るようにするが望ましい。
さて、上記のように、録画装置103に用意されたキャリブレーションパターンの画像を入出力部21が読み込んで、画像メモリ22に格納する(S301)。
次に、ユーザの操作により入出力部21からキャリブレーションパターン間隔の長さが入力される(S302)。そして、画像メモリ22上のキャリブレーションパターンが映った画像からパターンを検出する(S303)。パターンの検出は例えば、「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」を用いて行うことができる。そして、パターン間隔と検出したパターンを用いてカメラ内部パラメータを推定する(S304)。推定されたカメラ内部パラメータはカメラ内部パラメータ204にカメラIDと共に格納される(S305)。パラメータの推定には「EasyCalibの手法」を用いることができる。「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」にも同様の手法が実装されている。
次に、カメラ姿勢パラメータについては、予め、カメラで3次元空間座標が既知の複数の点にマーカーをおいて撮影が行なわれる。マーカーの数については最低で4つ、6つ以上が望ましい。このように用意されたマーカーが入出力部21より読み込まれる(S306)。なお、カメラによって撮影される画像は、上記キャリブレーションパターンと同様に、録画装置103に格納され、入出力部21が録画装置から画像を逐次読み出して画像メモリ22に格納する。
次に、ユーザの操作により入出力部21からマーカーのワールド座標系の3次元座標および画像上で映っているピクセル座標を入力する(S307)。そして、入力した座標とカメラ内部パラメータからPnP問題を解くことでカメラ姿勢パラメータを推定し(S308)、カメラIDと共にカメラ姿勢パラメータ233に格納される(S309)。PnP問題については「オープンソースのコンピュータビジョン向けライブラリであるOpenCV」にその解法が実装されている。
エリア情報については、ユーザの操作により入出力部21からカメラに映るエリアの各地点の高さが入力されて、エリア情報234に格納される。
エリア情報については、ユーザの操作により入出力部21からカメラに映るエリアの各地点の高さが入力されて、エリア情報234に格納される。
ここで、図5A及び図5Bを参照して、エリア情報について説明する。図5Aはエリア高さを模式的に示し、図5Bはエリア情報テーブル(テーブル形式のエリア情報234)を示す。エリアの高さ(地面の高さ)が図5Aのようになっている場合、エリア情報234は、図5Bのエリア情報テーブル501のように、中央部が「100」mmの高さに表現されて、記憶部23に格納される。エリア情報テーブル501は、平面のエリアを表すXY座標を一定区切りごとにメッシュ状に区切り、XY座標における各メッシュのエリアの高さ(Z座標)で表現される。本実施例では、XY座標の区切りの大きさが「10」であるが、それぞれの実施に必要な精度に応じて変更することができる。このような高低差のあるエリアに複数の人物が居る状況で、カメラが撮影したエリアの画像を基に、人物の位置を推定する処理が行われる。
次に、図4を参照して、人物位置推定処理部25による人物位置推定の処理動作について説明する。図4に示す例は、ある時刻TのカメラA~Cにより取得された画像を用いて人物位置を推定する処理である。カメラA~Cにより取得された各画像が録画装置103に新たに格納される度に、その時刻Tを、新たに画像を格納した時刻に更新して繰り返し処理することで、現在時刻の人物位置を継続的に取得して人物位置を推定する。以下の各処理は、人物検出処理部252~人物推定位置表示処理部259の各処理部により行われる。
人物位置推定処理は、まず、以前の処理で使用された検出人物情報235および人物位置候補情報236の内容をクリアする(S401)。次に、入出力部21が、時刻TにおけるカメラA~Cの画像を録画装置103から取得して画像メモリ22に格納する(S402)。
人物検出処理部252が、画像メモリ22に格納されたカメラA~Cの画像に対して人物検出(S403)から単カメラ人物位置候補算出(S408)までの処理をそれぞれ実施する。画像から人物を検出する処理S403では、非特許文献1のような手法を使って検出することができる。検出した人物情報は、検出人物情報235(図6の検出人物情報テーブル601)のような形式で格納される。
図6に示すように、カメラ毎に固有のカメラIDが付与されて構成される検出人物情報テーブルは、画像から検出した各人物毎に人物IDが付与されてエントリが作成される。各エントリには、検出された画像上の位置を左上と右下のピクセル座標(X1pa,Y1pa)、特徴量Vpa,人物の推定身長Lpa,位置基準点(BXpa,BYpa,BZpa)、基準点推定高さ(Hpa)、及び直線式が書き込まれる。
人物特徴量計算処理部253が、各人物の特徴量を算出する処理S404において、検出した人物を元画像から切り出して、画像特徴量を算出する。画像特徴量は人物画像の色のヒストグラムを特徴量にする色特徴量や、深層学習を使った人物の年齢や性別や服装などの識別を行うニューラルネットワークの中間層の値などを特徴量として使用する。ニューラルネットワークを用いた特徴量は、例えば、いわゆるAlexNetやResNetなどのニューラルネットワークで人物を切り抜いた画像と年齢や性別や服装との対応を、誤差伝播法を用いて学習をしたものを用い、検出した人物画像をニューラルネットワークに入力したときの中間層の値を特徴量のベクトルとして用いる。算出した特徴量は、検出人物情報テーブル601の各検出人物IDのエントリに書き込まれる。
身長推定処理部254が、各人物の身長を推定する処理S405において、事前に深層学習を用いて人物画像と身長の関係を学習したニューラルネットワークを準備しておき、そのネットワークを用いて、検出した各人物画像を入力して身長を推定する。身長を推定するニューラルネットワークは、上記ニューラルネットワークと同様に、例えば、AlexNetやResNetなどのニューラルネットワークで人物を切り抜いた画像と身長との対応を、誤差伝播法を用いて学習したものである。また、本処理では、エリア内の人物が概ね同程度の身長である場合や、カメラの位置が高い場合は、事前に設定した固定の身長を推定身長とするような処理でも良い。推定した身長は、検出人物情報テーブル601の各検出人物IDのエントリに書き込まれる。
人物姿勢推定処理部255が、各人物の位置基準点を検出する処理S406において、人物位置の基準となるポイント(位置基準点)を検出する。位置基準点から地面に垂直におろした点を人物の座標とする。位置基準点は、障害物などで隠れにくく、かつどの方向から見ても検出しやすい箇所が良い。具体的には人物の画像から骨格を検出し骨格の位置や角度を基に人物の姿勢を推定するものであり、例えば人物の頭頂部や頭部の中心や両肩の中心の位置や角度を基に姿勢を推定する。頭頂部であれば、人物検出枠の上辺の中間点である(但し基本的に立っている姿勢であることが前提)。頭部の中心であれば、非特許文献2などの手法を用いて頭部を検出し、その検出枠の中心点である。両肩の中心であれば、非特許文献3の手法などで検出することができる。検出した位置基準点の画像上のピクセル座標は、検出人物情報テーブル601の各人物IDのエントリに書き込まれる。
人物姿勢推定処理部255が、人物位置基準点の地面からの高さを推定する処理S407において、推定した身長と、非特許文献3の手法で検出した人物の姿勢情報を基に、人物位置基準点の地面からの高さを推定する。身長から、頭部、上半身、下半身の長さを標準的な体格として計算し、検出された姿勢の傾きから基準点の高さを推定する。上半身、下半身が見えていない場合はその部分は垂直になっているとして推定する。推定した人物位置基準点の高さは、検出人物情報テーブル601の各人物検出IDのエントリに書き込まれる。
単カメラ人物位置候補計算処理部256が、単カメラの人物位置候補を算出する処理S408において、まず、カメラ内部パラメータおよびカメラ姿勢パラメータと検出人物情報テーブル601の人物位置基準点位置を基に、カメラと人物位置基準点を結ぶ直線を求める。求めた直線は検出人物情報テーブル601に書き込んでおく。直線を求めるには、数式1および数式2を用いて算出することができる。次に、求めた直線とエリア情報234を用いて、直線上の点から地面までの高さを求める。そして、直線上の点で、地面までの高さが推定した人物位置基準点の高さと一致する点を人物位置候補とする。高低差があるような場所の場合は、人物位置候補が複数になる場合がある。人物位置候補については、図7に示すように、カメラIDと人物IDごとに人物位置候補テーブル701(テーブル形式の人物位置候補情報236)が作成され、算出された人物位置候補は候補位置(X1,Y1,Z1)に格納される。さらに、人物位置候補テーブル701には、他のカメラで検出された人物位置候補がカメラIDと人物IDごとに格納される。
カメラA~Cの画像に対して、図4のフローチャートの人物検出S403から単カメラ人物位置候補算出S408までの処理が終了した後に、複数カメラ人物位置候補計算処理部257が、各カメラの情報を統合して複数カメラによる人物位置候補の算出の処理を行う(S409)。この処理S409は各カメラID、人物IDの組み合わせごとに行なわれる。処理を行うカメラID、人物IDの検出人物情報テーブル601からカメラと人物位置基準点の直線の式を読み出し、図8のフローチャートの処理を行う。
ここで、図8のフローチャートを参照する。処理S801からS806までの処理は、処理対象のカメラIDとは別の他のカメラIDの全ての人物IDごとに繰り返して実行される。
まず、2つの他カメラ(例えばカメラB,C)のカメラID、人物IDの組み合わせで、それぞれのカメラと人物基準点との直線の間の距離を計算する(S802)。次に、算出された距離と閾値を比較する(S803)。閾値は実施ごとに精度の良くなる適当な値を設定するものとする。比較の結果、距離が閾値以上の場合は(S803:No)、次のS801からS806の処理を繰り返し実行する。一方、距離が閾値以下の場合は(S803:Y)、次の処理S804に移る。
処理S804では、前記処理結果による距離の二直線間の中点を計算し、エリア情報から中点の地面からの高さを計算する。そして、その高さを想定人物基準点高さ範囲と比較する(S805)。この想定人物基準点高さ範囲は、ありえない高さ、例えばマイナスや人の身長を大きく超えるようなものを除外するために設定するもので、0cmから200cm程度が適当である。比較の結果、範囲外の場合は(S805:No)、次のS801からS806の処理を繰り返し実行する。一方、範囲内の場合は(S805:Y)、次の処理S806に移る。
処理S806では、計算した中点の座標を人物位置候補テーブル701のエントリに追加する。エントリの追加は、位置候補の座標に加えて、中点を計算したときのカメラIDと人物IDもテーブルに格納する。例えばカメラIDがA、人物IDがPaの処理対象に対して、カメラIDがB、人物IDがPbとの中点の位置候補Nbを追加する場合は、図7のエントリ702、即ち位置候補がNb、他カメラID人物IDが(B,Pb)のように、エントリが追加される。エントリの追加の際に、既に前の処理(S806)で追加されたエントリがあり、以前に追加されたエントリの位置候補と新しく追加する位置候補の距離が閾値以下の場合は、新しいエントリを追加するのではなく、以前に追加されたエントリを更新する。新しい位置候補は、以前に追加されているエントリの各座標と新しい位置候補の平均とする。他カメラID、人物IDには追記を行う。例えば、上記の例のエントリ702に、カメラIDがC、人物IDがPc、位置候補がNcのエントリを追加しようとして、NbとNcの距離が閾値以下の場合、更新されるエントリは703のように、位置候補がNnew(NbとNcの平均)、他カメラID,人物IDは(B,Pb),(C,Pc)となる。これらの位置関係を上方向から見下ろすと、図9のようになる。
ここで、図4の説明に戻って、複数カメラ人物位置候補計算処理部257が、複数カメラの人物位置候補の算出処理S409の次に、算出した各人物位置候補に対して尤度の計算処理を行う(S410)。人物位置候補テーブル701の各エントリについて、記憶部23からデータを読み出しながら、数式3に従って尤度を計算し、人物位置候補テーブル701の尤度を追加していく。例えば、エントリ703の尤度は数式4のように計算される。
数式3の、「人物PaとPbの類似度=e^(-(ベクトルVpaとVpbの距離))」において、ベクトルVpaとVpbが画像と画像特徴量であり、類似度は画像特徴量の類似度になる。すなわち、尤度は画像特徴量が似通うほど高くなる。
上記のように、位置候補の高さと推定人物基準位置の高さの近い方が、尤度が高くなり、また、他カメラに映っている位置候補付近の人物との類似度の高い方が、尤度が高くなるようになっている。そして、人物位置候補選択処理部258が、人物位置候補テーブル701の尤度をもとに人物位置の推定位置を決定する(S411)。推定位置の決定はカメラA~Cの各検出人物の人物位置候補テーブル701を順に調査して、尤度の最も高いものを人物推定位置とする。但し、人物位置候補テーブル701のエントリ703のようなエントリを、カメラIDがA、検出人物IDがPaの推定位置として選択した場合は、カメラIDがB、検出人物IDがPbおよびカメラIDがC、検出人物IDがPcの推定位置も同じとする。
最後に、人物推定位置表示処理部259が、算出した人物推定位置を表示装置105に表示する(S412)。すなわち、人物推定位置を水平面のXY座標に変換し、エリア情報から図5(a)のようなフロアマップを作成し、その上に人物推定位置をプロットしたものが、入出力部201を介して表示装置105に表示される。
101:カメラ 102:ネットワーク 103:録画装置
104:物***置推定装置 105:表示装置 21:入出力部
22:画像メモリ 23:記憶部
232:カメラ内部パラメータ 233:カメラ姿勢パラメータ
234:エリア情報 235:検出人物情報
236:人物位置候補情報
24:カメラパラメータ推定処理部
242:カメラ内部パラメータ推定処理部
243:カメラ姿勢パラメータ推定処理部
25:人物位置推定処理部 252:人物検出処理部
253:人物特徴量計算処理部 254:身長推定処理部
255:人物姿勢推定処理部
256:単カメラ人物位置候補計算処理部
257:複数カメラ人物位置候補計算処理部
258:人物位置候補選択処理部 259:人物推定位置表示処理部
104:物***置推定装置 105:表示装置 21:入出力部
22:画像メモリ 23:記憶部
232:カメラ内部パラメータ 233:カメラ姿勢パラメータ
234:エリア情報 235:検出人物情報
236:人物位置候補情報
24:カメラパラメータ推定処理部
242:カメラ内部パラメータ推定処理部
243:カメラ姿勢パラメータ推定処理部
25:人物位置推定処理部 252:人物検出処理部
253:人物特徴量計算処理部 254:身長推定処理部
255:人物姿勢推定処理部
256:単カメラ人物位置候補計算処理部
257:複数カメラ人物位置候補計算処理部
258:人物位置候補選択処理部 259:人物推定位置表示処理部
Claims (11)
- 入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の3次元空間における位置を推定する物***置推定装置であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理部と、
前記検出した移動物体の高さを推定する第2処理部と、
前記移動物体の画像と前記第2処理部により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理部と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理部により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理部と、
前記エリアにおける高さと、前記第3処理部により推定された前記位置基準点の高さと、前記第4処理部により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理部と、
前記第5処理部により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理部と、を有する
ことを特徴とする物***置推定装置。 - 前記移動物体は人物であり、前記第2処理部は固定の長さを人物の推定身長とする
請求項1に記載の物***置推定装置。 - 前記第3処理部による位置基準点の高さを推定する処理において、検出した前記移動物体の画像から骨格を検出し骨格の位置や角度を基に前記移動物体の姿勢を推定して、前記推定高さと合わせて前記位置基準点の高さを推定する
請求項1に記載の物***置推定装置。 - 検出された前記移動物体の画像の特徴量を計算する第7処理部を有し、
前記第5処理部は、前記第7処理部により計算される前記特徴量を用いて、前記推定位置候補の尤度を計算する
請求項1に記載の物***置推定装置。 - 前記記憶部は、
前記エリアを所定の長さで区切った平面座標と、前記エリアにおける各地点の高さを該平面座標における高さ座標として表現した、エリア情報を管理するエリア情報テーブルと、
前記カメラの内部パラメータと前記カメラの姿勢パラメータを管理するパラメータテーブルとを記憶する、
請求項1に記載の物***置推定装置。 - 前記記憶部は、
前記画像から検出された各物体に付与される物体IDに関連付けて、検出された画像の位置を示す座標と、前記特徴量と、前記移動物体の推定高さと、前記位置基準点と、前記基準点推定高さと、を管理する検出物体情報テーブルと、
前記カメラに固有なカメラIDと、前記物体IDと、前記物***置を三次元座標で表す物体推定位置候補の情報と、を管理する物***置候補情報テーブルとを記憶する、
請求項1に記載の物***置推定装置。 - 入出力部と、記憶部と、処理部とを有し、複数のカメラにより取得される移動物体の画像を基に移動物体の3次元空間における位置を推定する物***置推定方法であって、
前記記憶部は、該カメラの撮影の対象となるエリアにおける各地点の高さを含むエリア情報を記憶し、
前記処理部は、
該カメラにより取得される前記移動物体の画像から前記移動物体の位置基準点の位置を検出する第1処理と、
前記検出した移動物体の高さを推定する第2処理と、
前記移動物体の画像と前記第2処理により推定された推定高さを基に、前記位置基準点の高さを推定する第3処理と、
前記エリアにおける前記地点の高さと、前記位置基準点の位置と、前記第3処理により推定された前記位置基準点の高さを基に、前記移動物体の推定位置候補を算出する第4処理と、
前記エリアにおける高さと、前記第3処理により推定された前記位置基準点の高さと、前記第4処理により算出された前記推定位置候補を基に、前記推定位置候補の尤度を計算する第5処理と、
前記第5処理により計算された前記推定位置候補の尤度を基に、前記移動物体の推定位置を決定する第6処理と、を行う
ことを特徴とする物***置推定方法。 - 前記移動物体は人物であり、前記第2処理は固定の長さを人物の推定身長とする
請求項7に記載の物***置推定方法。 - 前記第3処理による位置基準点の高さを推定する処理において、検出した前記移動物体の画像から骨格を検出し骨格の位置や角度を基に前記移動物体の姿勢を推定して、前記推定高さと合わせて前記位置基準点の高さを推定する
請求項7に記載の物***置推定方法。 - 検出された前記移動物体の画像の特徴量を計算する第7処理を有し、
前記第5処理は、前記第7処理により計算される前記特徴量を用いて、前記推定位置候補の尤度を計算する
請求項7に記載の物***置推定方法。 - 前記記憶部は、
前記画像から検出された各物体に付与される物体IDに関連付けて、検出された画像の位置を示す座標と、前記特徴量と、前記移動物体の推定高さと、前記位置基準点と、前記基準点推定高さと、を管理する検出物体情報テーブルと、
前記カメラに固有なカメラIDと、前記物体IDと、前記物***置を三次元座標で表す物体推定位置候補の情報と、を管理する物***置候補情報テーブルとを記憶する、
請求項7に記載の物***置推定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/278,090 US20210348920A1 (en) | 2019-02-01 | 2019-09-10 | Object Position Estimation Device and Method Therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-017210 | 2019-02-01 | ||
JP2019017210A JP7096176B2 (ja) | 2019-02-01 | 2019-02-01 | 物***置推定装置およびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020158035A1 true WO2020158035A1 (ja) | 2020-08-06 |
Family
ID=71840059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/035450 WO2020158035A1 (ja) | 2019-02-01 | 2019-09-10 | 物***置推定装置およびその方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210348920A1 (ja) |
JP (1) | JP7096176B2 (ja) |
WO (1) | WO2020158035A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023079012A (ja) * | 2021-11-26 | 2023-06-07 | 日立Astemo株式会社 | 外界認識装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001056853A (ja) * | 1999-08-19 | 2001-02-27 | Matsushita Electric Ind Co Ltd | 挙動検出装置および種類識別装置、並びに挙動検出方法および挙動検出用プログラムが記録された記録媒体 |
JP2017103602A (ja) * | 2015-12-01 | 2017-06-08 | キヤノン株式会社 | 位置検出装置、位置検出方法及びプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4002919B2 (ja) * | 2004-09-02 | 2007-11-07 | 技研トラステム株式会社 | 移動体高さ判別装置 |
WO2013111229A1 (ja) * | 2012-01-23 | 2013-08-01 | 日本電気株式会社 | カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム |
EP3407089B1 (en) * | 2016-01-29 | 2024-03-27 | Meiji University | Laser scanning system, laser scanning method, moving laser scanning system, and program |
WO2018026838A1 (en) * | 2016-08-02 | 2018-02-08 | Atlas5D, Inc. | Systems and methods to identify persons and/or identify and quantify pain, fatigue, mood, and intent with protection of privacy |
US10372970B2 (en) * | 2016-09-15 | 2019-08-06 | Qualcomm Incorporated | Automatic scene calibration method for video analytics |
JP6961363B2 (ja) * | 2017-03-06 | 2021-11-05 | キヤノン株式会社 | 情報処理システム、情報処理方法及びプログラム |
-
2019
- 2019-02-01 JP JP2019017210A patent/JP7096176B2/ja active Active
- 2019-09-10 WO PCT/JP2019/035450 patent/WO2020158035A1/ja active Application Filing
- 2019-09-10 US US17/278,090 patent/US20210348920A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001056853A (ja) * | 1999-08-19 | 2001-02-27 | Matsushita Electric Ind Co Ltd | 挙動検出装置および種類識別装置、並びに挙動検出方法および挙動検出用プログラムが記録された記録媒体 |
JP2017103602A (ja) * | 2015-12-01 | 2017-06-08 | キヤノン株式会社 | 位置検出装置、位置検出方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210348920A1 (en) | 2021-11-11 |
JP7096176B2 (ja) | 2022-07-05 |
JP2020126332A (ja) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107079093B (zh) | 校准装置 | |
US20140334679A1 (en) | Information processing apparatus, information processing method, and computer program | |
JP6352208B2 (ja) | 三次元モデル処理装置およびカメラ校正システム | |
JPH10320588A (ja) | 画像処理装置および画像処理方法 | |
CN110796032A (zh) | 基于人体姿态评估的视频围栏及预警方法 | |
US11004211B2 (en) | Imaging object tracking system and imaging object tracking method | |
US12033406B2 (en) | Method and device for identifying presence of three-dimensional objects using images | |
JP7414395B2 (ja) | 情報投影システム、制御装置、及び情報投影制御方法 | |
US20210327160A1 (en) | Authoring device, authoring method, and storage medium storing authoring program | |
JP6950644B2 (ja) | 注意対象推定装置及び注意対象推定方法 | |
JP7178803B2 (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
WO2020158035A1 (ja) | 物***置推定装置およびその方法 | |
JP6374812B2 (ja) | 三次元モデル処理装置およびカメラ校正システム | |
JP2004030408A (ja) | 三次元画像表示装置及び表示方法 | |
JP5448952B2 (ja) | 同一人判定装置、同一人判定方法および同一人判定プログラム | |
WO2021217444A1 (zh) | 深度图生成方法、电子设备、计算处理设备及存储介质 | |
JP7152651B2 (ja) | プログラム、情報処理装置、及び情報処理方法 | |
JP2922503B1 (ja) | 3次元座標検出方法 | |
JP6548683B2 (ja) | 対象物画像推定装置および対象物画像判定装置 | |
JP6632142B2 (ja) | オブジェクト追跡装置、方法およびプログラム | |
US20150015576A1 (en) | Object recognition and visualization | |
JP2016194847A (ja) | 画像検出装置、画像検出方法およびプログラム | |
WO2019116518A1 (ja) | 物体検出装置及び物体検出方法 | |
JP2020008981A (ja) | 支援装置及びプログラム | |
JP7452768B2 (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: 19913637 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19913637 Country of ref document: EP Kind code of ref document: A1 |