WO2022239291A1 - 物体検知装置及び方法 - Google Patents

物体検知装置及び方法 Download PDF

Info

Publication number
WO2022239291A1
WO2022239291A1 PCT/JP2021/048247 JP2021048247W WO2022239291A1 WO 2022239291 A1 WO2022239291 A1 WO 2022239291A1 JP 2021048247 W JP2021048247 W JP 2021048247W WO 2022239291 A1 WO2022239291 A1 WO 2022239291A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
detection
coordinates
control unit
types
Prior art date
Application number
PCT/JP2021/048247
Other languages
English (en)
French (fr)
Inventor
朗宏 田中
大治郎 市村
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2023520761A priority Critical patent/JPWO2022239291A1/ja
Priority to CN202180098118.0A priority patent/CN117296079A/zh
Publication of WO2022239291A1 publication Critical patent/WO2022239291A1/ja
Priority to US18/383,518 priority patent/US20240070894A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Definitions

  • the present disclosure relates to an object detection device and method.
  • Patent Literature 1 discloses an object tracking system that includes a plurality of detection units that detect objects from images captured by a plurality of cameras, and an integrated tracking unit that associates current and past object positions based on the detection results. .
  • the detection result of each detection unit includes information indicating the coordinate values of the lower end of the object (such as the point where the object touches the ground) and the circumscribed rectangle of the object in the coordinate system on the corresponding captured image of the camera.
  • Each detection unit uses camera parameters representing the position, orientation, etc. of each camera obtained by calibration in advance to convert the coordinate values on the captured image to a common coordinate system defined within the shooting space of a plurality of cameras. Convert to coordinates.
  • the integrated tracking unit tracks an object by integrating coordinate values of a common coordinate system obtained from a plurality of detection units.
  • the present disclosure provides an object detection device and method capable of accurately detecting the positions of various objects on an imaging plane imaged by a camera.
  • An object detection device detects the position of an object on an imaging plane imaged by a camera.
  • An object detection device includes an acquisition unit, a control unit, and a storage unit.
  • the acquisition unit acquires image data generated by an imaging operation of the camera.
  • the control unit performs coordinate transformation from first coordinates according to the image indicated by the image data to second coordinates according to the imaging plane.
  • the storage unit stores setting information used for coordinate transformation.
  • the setting information includes a setting value indicating the height from the imaging plane for each type of object among a plurality of types of objects.
  • the control unit Based on the image data acquired by the acquisition unit, the control unit acquires a detection result that associates the position of the object at the first coordinates with the type of the object determined from the plurality of types.
  • the control unit calculates the position of the object on the second coordinates by calculating the coordinate transformation so as to switch the setting value according to the type of the object in the detection result.
  • An object detection device detects the position of an object on an imaging plane imaged by a camera.
  • the object detection device includes an acquisition section, a control section, a storage section, and an information input section.
  • the acquisition unit acquires image data generated by an imaging operation of the camera.
  • the control unit performs coordinate transformation from first coordinates according to the image indicated by the image data to second coordinates according to the imaging plane.
  • the storage unit stores setting information used for coordinate transformation.
  • the information input unit acquires information through a user's operation.
  • the setting information includes a setting value indicating the height from the imaging plane for each type of object among a plurality of types of objects.
  • the information input unit acquires setting values for each of a plurality of types in a user operation for inputting setting values. Based on the image data acquired by the acquisition unit, the control unit acquires a detection result that associates the position of the object at the first coordinates with the type of the object determined from the plurality of types. The control unit calculates the position of the object on the second coordinates by performing coordinate transformation according to the set value acquired by the user operation for each type of object in the detection result.
  • the object detection device, method, and system of the present disclosure it is possible to accurately detect the positions of various objects on the imaging plane imaged by the camera.
  • FIG. 1 is a diagram for explaining an object detection system according to a first embodiment
  • FIG. 1 is a block diagram illustrating the configuration of a terminal device according to Embodiment 1
  • FIG. 3 is a block diagram illustrating the configuration of a flow line extraction server according to the first embodiment
  • FIG. Diagram for explaining flow line information in the object detection system Diagram for explaining problems in object detection systems
  • Flowchart illustrating basic operation of flow line extraction server in object detection system 5 is a flowchart illustrating position calculation processing in the flow line extraction server of the object detection system according to the first embodiment; Diagram for explaining position calculation processing FIG.
  • FIG. 2 is a diagram illustrating the data structure of object feature information in the object detection system of Embodiment 1;
  • Diagram for explaining the effects of the flow line extraction server 4 is a flowchart illustrating setting processing in the terminal device according to the first embodiment;
  • FIG. 4 is a diagram showing a display example of a setting screen in the terminal device according to the first embodiment;
  • 4 is a flowchart illustrating learning processing of an object detection model in the flow line extraction server according to the first embodiment;
  • 8 is a flowchart illustrating position calculation processing in the object detection system of the second embodiment;
  • FIG. 9 is a diagram for explaining position calculation processing in the object detection system of the second embodiment;
  • 13 is a flowchart illustrating position calculation processing in the object detection system of the third embodiment;
  • FIG. 11 is a diagram for explaining position calculation processing in the object detection system of the third embodiment;
  • FIG. 1 is a diagram showing an outline of an object detection system 1 according to this embodiment.
  • An object detection system 1 of the present embodiment includes an omnidirectional camera 2, a terminal device 4, and a flow line extraction server 5, as shown in FIG. 1, for example.
  • the flow line extraction server 5 is an example of the object detection device in this embodiment.
  • the system 1 can be applied to the use of detecting the positions of a person 11 and an object 12 such as cargo in a workshop 6 such as a factory, and analyzing the flow line based on the detected positions.
  • the terminal device 4 of the system 1 is used by the user 3, such as the manager of the workplace 6 or the person in charge of data analysis, to analyze the flow line and perform annotation work for setting information about the detection target in advance. used for
  • the vertical direction in the workplace 6 will be referred to as the Z direction.
  • Two directions perpendicular to each other on a horizontal plane perpendicular to the Z direction are called the X direction and the Y direction, respectively.
  • the +Z direction may be referred to as upward
  • the ⁇ Z direction may be referred to as downward.
  • the horizontal plane of the workplace 6 is an example of an imaging plane that is imaged by the omnidirectional camera 2 in this embodiment.
  • FIG. 1 shows an example in which various equipment 20 and the like are installed in a workplace 6 separately from objects to be detected such as a person 11 and a target object 12 .
  • the omnidirectional camera 2 is arranged on the ceiling or the like of the workplace 6 so as to overlook the workplace 6 from above.
  • the flow line extraction server 5 extracts the positions of the person 11, the object 12, etc. in the image captured by the omnidirectional camera 2 so that the terminal device 4 displays the flow line on the map of the workplace 6, for example.
  • the detected result is associated with the position corresponding to the horizontal plane of the workplace 6. - ⁇
  • the present embodiment provides an object detection apparatus and method capable of accurately detecting the positions of various objects such as the person 11 and the target object 12 in the workplace 6 in such an object detection system 1 .
  • the configuration of each part in the system 1 will be described below.
  • the omnidirectional camera 2 is an example of a camera in this system 1.
  • the omnidirectional camera 2 includes, for example, an optical system such as a fisheye lens, and an imaging device such as a CCD or CMOS image sensor.
  • the omnidirectional camera 2 performs an imaging operation according to, for example, a stereoscopic projection method, and generates image data representing a captured image.
  • the omnidirectional camera 2 is connected to the flow line extraction server 5 so that image data is transmitted to the flow line extraction server 5, for example.
  • the flow line extraction server 5 is composed of an information processing device such as a computer.
  • the terminal device 4 is configured by an information processing device such as a PC (personal computer), for example.
  • the terminal device 4 is connected to the flow line extraction server 5 so as to be able to communicate with the flow line extraction server 5 via a communication network such as the Internet.
  • a communication network such as the Internet.
  • FIG. 2 is a block diagram illustrating the configuration of the terminal device 4 .
  • the terminal device 4 illustrated in FIG. 2 includes a control unit 40 , a storage unit 41 , an operation unit 42 , a display unit 43 , a device interface 44 and a network interface 45 .
  • the interface is abbreviated as "I/F".
  • the control unit 40 includes, for example, a CPU or MPU that cooperates with software to realize predetermined functions.
  • the control unit 40 controls the overall operation of the terminal device 4, for example.
  • the control unit 40 reads out the data and programs stored in the storage unit 41 and performs various arithmetic processing to realize various functions.
  • the above program may be provided from a communication network such as the Internet, or may be stored in a portable recording medium.
  • the control unit 50 may be composed of various semiconductor integrated circuits such as a GPU.
  • the storage unit 41 is a storage medium that stores programs and data necessary for realizing the functions of the terminal device 4 .
  • the storage unit 41 includes a storage unit 41a and a temporary storage unit 41b, as shown in FIG.
  • the storage unit 41a stores parameters, data, control programs, etc. for realizing predetermined functions.
  • the storage unit 41a is composed of, for example, an HDD or an SSD.
  • the storage unit 41a stores the above program and the like.
  • the storage unit 41 a may store image data representing a map of the workplace 6 .
  • the operation unit 42 is a general term for operation members operated by the user.
  • the operation unit 42 may constitute a touch panel together with the display unit 43 .
  • the operation unit 42 is not limited to a touch panel, and may be, for example, a keyboard, a touch pad, buttons, switches, and the like.
  • the operation unit 42 is an example of an information input unit that acquires information through user's operation.
  • the display unit 43 is an example of an output unit configured with, for example, a liquid crystal display or an organic EL display.
  • the display unit 43 may display various types of information such as various icons for operating the operation unit 42 and information input from the operation unit 42 .
  • the network I/F 45 is a circuit for connecting the terminal device 4 to a communication network via a wireless or wired communication line.
  • the network I/F 45 performs communication conforming to a predetermined communication standard.
  • the predetermined communication standards include communication standards such as IEEE802.3, IEEE802.11a/11b/11g/11ac.
  • the network I/F 45 may constitute an acquisition unit that receives various information or an output unit that transmits various information in the terminal device 4 via a communication network.
  • the network I/F 45 may be connected to the omnidirectional camera 2 and the flow line extraction server 5 via a communication network.
  • FIG. 3 is a block diagram illustrating the configuration of the flow line extraction server 5 .
  • the flow line extraction server 5 illustrated in FIG. 3 includes a control unit 50, a storage unit 51, a device I/F 54, and a network I/F 55.
  • the control unit 50 includes, for example, a CPU or MPU that cooperates with software to realize predetermined functions.
  • the control unit 50 controls the overall operation of the flow line extraction server 5, for example.
  • the control unit 50 reads data and programs stored in the storage unit 51 and performs various arithmetic processing to realize various functions.
  • the control unit 50 includes an object detection unit 71, a coordinate conversion unit 72, and a model learning unit 73 as functional configurations.
  • the object detection unit 71 detects the preset position of the object to be processed in the image indicated by the image data, and detects the object to be processed. Recognize the area.
  • the detection result by the object detection unit 71 may include, for example, information indicating the time when the region to be processed was recognized.
  • the object detection unit 71 is realized, for example, by the control unit 50 reading out and executing the object detection model 70 stored in advance in the storage unit 51 or the like.
  • the coordinate transformation unit 72 computes coordinate transformation between predetermined coordinate systems with respect to the position of the region recognized in the image.
  • a model learning unit 73 executes machine learning of the object detection model 70 . Operations by various functions of the flow line extraction server 5 will be described later.
  • the storage unit 51 is a storage medium that stores programs and data necessary for realizing the functions of the flow line extraction server 5 .
  • the storage unit 51 includes a storage unit 51a and a temporary storage unit 51b, as shown in FIG.
  • the storage unit 51a stores parameters, data, control programs, etc. for realizing predetermined functions.
  • the storage unit 51a is composed of, for example, an HDD or an SSD.
  • the storage unit 51a stores the above program, the map information D0, the object characteristic information D1, the object detection model 70, and the like.
  • the map information D0 indicates the arrangement of various facilities 20 in the workplace 6, for example, in a predetermined coordinate system.
  • the object feature information D1 indicates the height feature of an object to be processed by the object detection unit 71, which is set for each type of object. Details of the object feature information D1 will be described later.
  • the object detection model 70 is a trained model by a neural network such as a convolutional neural network.
  • the object detection model 70 includes various parameters such as weight parameters that indicate learning results.
  • the temporary storage unit 51b is composed of a RAM such as DRAM or SRAM, and temporarily stores (that is, retains) data.
  • the temporary storage unit 51b holds image data received from the omnidirectional camera 2 and the like.
  • the temporary storage unit 51 b may function as a work area of the control unit 50 or may be configured as a storage area in the internal memory of the control unit 50 .
  • the device I/F 54 is a circuit for connecting external devices such as the omnidirectional camera 2 to the flow line extraction server 5 .
  • the device I/F 54 performs communication according to a predetermined communication standard, like the device I/F 44 of the terminal device 4, for example.
  • the device I/F 54 is an example of an acquisition unit that receives image data and the like from the omnidirectional camera 2 .
  • the device I/F 54 may constitute an output unit for transmitting various information to external devices in the flow line extraction server 5 .
  • the network I/F 55 is a circuit for connecting the flow line extraction server 5 to a communication network via a wireless or wired communication line.
  • the network I/F 55 performs communication conforming to a predetermined communication standard.
  • the network I/F 55 may constitute an acquisition unit that receives various information or an output unit that transmits various information in the flow line extraction server 5 via a communication network.
  • the network I/F 55 may be connected to the omnidirectional camera 2 and the terminal device 4 via a communication network.
  • the configuration of the terminal device 4 and flow line extraction server 5 as described above is an example, and the configuration is not limited to the above example.
  • the object detection method of the present embodiment may be performed in distributed computing.
  • the acquisition units in the terminal device 4 and the flow line extraction server 5 may be implemented in cooperation with various software in the control units 40 and 50, respectively.
  • Each acquisition unit reads various information stored in various storage media (for example, storage units 41a and 51a) to work areas (for example, temporary storage units 41b and 51b) of control units 40 and 50, respectively, to acquire information. may be performed.
  • the object detection model 70 may be stored in an external information processing device communicably connected to the flow line extraction server 5 .
  • the device I/F 54 and/or the network I/F 55 in the flow line extraction server 5 may constitute an information input unit that acquires information by user's operation.
  • the omnidirectional camera 2 performs a moving image capturing operation in a workplace 6 where a person 11, an object 12, and the like are moving, and shows captured images for each frame period of the moving image.
  • Image data is generated and transmitted to the flow line extraction server 5 .
  • the flow line extraction server 5 When the flow line extraction server 5 receives the image data from the omnidirectional camera 2, it inputs the received image data to the object detection model 70, for example, and detects the positions of the person 11, the target object 12, and the like.
  • the flow line extraction server 5 repeats the calculation of coordinate conversion from the coordinates corresponding to the image indicated by the image data to the coordinates corresponding to the horizontal plane of the workplace 6 with respect to the positions of the person 11 and the target object 12, etc., and extracts the flow line information. Generate.
  • the flow line information is, for example, information in which flow lines of the person 11, the object 12, and the like are associated with the map information D0.
  • the flow line extraction server 5 transmits the generated flow line information to the terminal device 4, for example.
  • the terminal device 4 displays the received flow line information on the display unit 43, for example.
  • FIG. 4 shows a display example of flow line information generated by the flow line extraction server 5 based on the captured image of the workplace 6 in FIG.
  • the flow line F1 of the person 11 and the flow line F2 of the object 12 are displayed on the display unit 43 of the terminal device 4 .
  • Flow lines F1 and F2 indicate the trajectories of map positions m1 and m6 in the map coordinate system of the person 11 and the object 12, which are calculated by the flow line extraction server 5, respectively.
  • the map coordinate system is an example of a coordinate system corresponding to the imaging plane of the omnidirectional camera 2, and indicates the position in the workplace 6, for example, based on the map information D0.
  • the map coordinate system includes, for example, Xm coordinates for indicating the position of the workplace 6 in the X direction and Ym coordinates for indicating the position in the Y direction.
  • the map position indicates the position of the object in the map coordinate system.
  • FIG. 5 is a diagram for explaining problems in the object detection system 1.
  • FIG. FIG. 5 shows the omnidirectional camera 2, the person 11, and the object 12 in the workplace 6 as seen from the Y direction.
  • FIG. 5(A) shows a scene in which the whole body of the person 11 is reflected in the image captured by the omnidirectional camera 2.
  • FIG. 5B shows a scene in which only part of the person 11 appears in the captured image.
  • FIG. 5C shows a scene in which an object 12 other than the person 11 appears in the captured image.
  • the object detection model 70 of the flow line extraction server 5 recognizes the detection area A1 of the whole body of the person 11 in the captured image from the omnidirectional camera 2 .
  • a detection area A1 indicates the detection result of the position of the whole body by the object detection model 70 .
  • the flow line extraction server 5 calculates the map position m1 from the detection position indicating the center of the detection area A1 on the captured image.
  • the map position m1 is calculated as, for example, the position of the intersection of the horizontal plane 60 and the perpendicular drawn from the target position c1 corresponding to the detection position of the detection area A1 to the horizontal plane 60 of the workplace 6 .
  • the target position indicates a spatial position in the workplace 6 corresponding to the detected position on the captured image.
  • the object detection model 70 recognizes the upper body detection area A2 of the person 11 .
  • part of the body of the person 11 is hidden by the equipment 20 of the workplace 6 and is not captured in the captured image.
  • the target position c2 of is above the target position c1 of the whole-body detection area A1 in FIG. 5(A).
  • the calculated position m2' will deviate from the map position m2 corresponding to the target position c2.
  • the object detection model 70 recognizes the detection area A6 of the target object 12 .
  • the target position c6 of the detection area A6 is above the target position c1 in the example of FIG. 5A. Therefore, in this case as well, when the position calculation of the detection area A6 is performed in the same manner as described above, the calculated position m6′ shifts from the map position m6 corresponding to the target position c6 as shown in FIG. 5(C). put away.
  • the calculated positions are different from the map positions m1 to m6 of the detection areas A1 to A6. There may be a problem of slippage.
  • a reference height corresponding to the type of processing target of the object detection unit 71 in the object feature information D1 is set in position calculation. Perform coordinate transformation using height. As a result, for example, a partial detection area of the body of the person 11 can be recognized as shown in FIG. Even when the detection area of the object 12 is recognized, the map positions m2 and m6 can be calculated with high accuracy.
  • FIG. 6 is a flowchart illustrating the basic operation of the flow line extraction server 5 in the object detection system 1. Each process shown in the flowchart of FIG. 6 is executed by the control unit 50 of the flow line extraction server 5 functioning as the object detection unit 71 and the coordinate conversion unit 72, for example.
  • control unit 50 acquires one frame of image data from, for example, the device I/F 54 (S1).
  • the device I/F 54 sequentially receives image data of each frame from the omnidirectional camera 2 .
  • control unit 50 functions as the object detection unit 71 and performs image recognition processing for object detection in the image indicated by the acquired image data. Thereby, the control unit 50 recognizes the detection areas of the person 11 and the object 12 (S2). Then, the control unit 50 acquires the detection result and holds it in, for example, the temporary storage unit 51b.
  • the object detection unit 71 associates, as a detection result, a detection area indicating an area in which an object to be processed, which is classified into, for example, one of a plurality of classes set in advance in an image, with each class.
  • Classes include objects such as, for example, the full body, upper body and head of a person, and cargo.
  • the object to be processed by the object detection unit 71 includes not only the entire object but also parts of the object.
  • the detection area is defined, for example, by horizontal and vertical positions on the image, and indicates, for example, a rectangular area surrounding an object to be processed (see FIG. 8A).
  • the control unit 50 functions as the coordinate transformation unit 72 and performs coordinate transformation from the image coordinate system to the map coordinate system regarding the position of the detected object, thereby transforming the object according to the horizontal plane of the workplace 6 . is calculated (S3).
  • the image coordinate system is a two-dimensional coordinate system according to the arrangement of pixels in the image captured by the omnidirectional camera 2 .
  • the image coordinate system is an example of a first coordinate system
  • the map coordinate system is an example of a second coordinate system.
  • position calculation process (S3) for example, as shown in FIG. is used to calculate the map position of the object.
  • the control unit 50 accumulates the calculated map positions in, for example, the temporary storage unit 51b. Details of the position calculation process (S3) will be described later.
  • the control unit 50 After executing the position calculation process (S3) in the acquired frame, the control unit 50 determines whether or not image data of the next frame has been received from the omnidirectional camera 2, for example, in the device I/F 54 (S4). . When the next frame is received (YES in S4), the control section 50 repeats the processing of steps S1 to S3 for that frame.
  • control unit 50 After generating flow line information (S5), the control unit 50 terminates the processing shown in this flowchart.
  • the map position of the object is calculated (S3) based on the detection area (S2) of the object in the captured image from the omnidirectional camera 2.
  • flow line information of an object moving in the workplace 6 can be obtained (S5).
  • a map position based on the detection position of each detection area is calculated.
  • step S5 the flow line information generating process (S5) is performed not only after the next frame is no longer received (NO in S4), but in a predetermined number of frames (for example, one frame or several frames). It may be performed each time the process is executed.
  • image data may be acquired not only through apparatus I/F54 but through network I/F55.
  • step S1 for example, one frame of image data may be acquired by reading moving image data recorded by the omnidirectional camera 2 stored in advance from the storage unit 51a. In this case, instead of step S4, it is determined whether or not all frames in the moving image data have been acquired, and steps S1 to S4 are repeated until all frames are selected.
  • FIG. 7 is a flowchart illustrating position calculation processing (S3) in the flow line extraction server 5 of the object detection system 1 according to this embodiment.
  • FIG. 8 is a diagram for explaining the position calculation process (S3).
  • FIG. 9 is a diagram illustrating the data structure of the object feature information D1 in the object detection system 1 of this embodiment.
  • FIG. 10 is a diagram for explaining the effects of the flow line extraction server 5.
  • control unit 50 calculates the detection position of the detection area recognized in step S2 of FIG. 4 (S11).
  • FIG. 8(A) exemplifies the captured image Im indicated by the image data acquired in step S2 of FIG.
  • the detection area A1 of the whole body of the person 11 is recognized in the captured image Im.
  • the control unit 50 calculates the detection position C1 of the detection area A1 in the image coordinate system of the captured image Im.
  • the image coordinate system includes, for example, H coordinates indicating the horizontal position of the captured image Im and V coordinates indicating the vertical position.
  • control unit 50 refers to the temporary storage unit 51b, for example, and determines the class of each object according to the class output by the object detection unit 71 in association with the detection area of the object (S12).
  • the class of the object in the detection area A1 is determined to be the whole body of a person.
  • control unit 50 After determining the class for each object (S12), the control unit 50 refers to the object characteristic information D1 and acquires the reference height of each determined class (S13).
  • the object feature information D1 illustrated in FIG. 9 manages the "class” and the "reference height” set in advance as the processing targets of the object detection unit 71 in association with each other.
  • the reference height indicates, for example, the vertical distance from the horizontal plane 60 in the workplace 6 to the target position corresponding to the detection position of the detection area.
  • a reference height "H1" corresponding to the "whole body” class is obtained.
  • the object feature information D1 illustrated in FIG. 9 stores reference heights "H2", “H3” and "H6” respectively corresponding to classes of "upper body", "head” and "object” in addition to the whole body. is doing.
  • control unit 50 calculates the map position of each corresponding object from the detected position calculated in step S11 (S14).
  • the control unit 50 uses the reference height of the class acquired in step S13 and applies, for example, a predetermined arithmetic expression to calculate the coordinate transformation for calculating the map position from the detected position in the image coordinate system.
  • the predetermined arithmetic expression is, for example, a transformation equation including inverse transformation of stereographic projection.
  • FIG. 8(B) is a diagram for explaining the process of step S14.
  • FIG. 8(B) is a view of the workplace 6 when the captured image Im of FIG. 8(A) was captured, viewed from the Y direction, as in FIG. 5(A).
  • a target position c1 in FIG. 8(B) indicates a position in the workplace 6 corresponding to the detection position C1 of the detection area A1 in the captured image Im in FIG. 8(A).
  • the detection position C1 is reflected in the direction corresponding to the X direction of the workplace 6 from the image center 30 of the captured image Im will be described.
  • the position y (millimeters: mm) from the center of the imaging device where the detection position C1 is reflected in the imaging device of the omnidirectional camera 2 is the focal length f ( mm), it is represented by the following equation (1).
  • Equation (2) is the ratio of the position y to the radius L (mm) of the imaging device, and the distance p1 (pixels) from the image center 30 of the captured image Im illustrated in FIG. and the radius p0 (pixel) indicating the photographable range corresponding to the radius L are equal.
  • the distance R1 is obtained by the following formula (4) based on the height h of the omnidirectional camera 2 from the horizontal plane 60, the reference height H1 of the whole body class, and the angle ⁇ 1. is represented as
  • step S14 of FIG. 7 the control unit 50 calculates the distance R1 from the detected position C1 in the image coordinate system by arithmetic processing based on, for example, the above formulas (3) and (4), and calculates the distance R1 corresponding to the map position m1. Coordinates in a coordinate system corresponding to the workplace 6 with the azimuth camera 2 as a reference are calculated.
  • the control unit 50 can calculate the coordinates of the map position m1 from the coordinates, for example, by a predetermined calculation including affine transformation.
  • the control unit 50 stores, for example, the calculated map position m1 (S14) in the temporary storage unit 51b, and ends the position calculation process (S3 in FIG. 6). After that, the control unit 50 proceeds to step S4, and repeats the above processing at predetermined intervals, for example (S1 to S4).
  • the map position of each object is calculated (S14).
  • the map position can be calculated with high accuracy in the object detection system 1 that detects a plurality of types of objects having different heights.
  • FIGS. 10A and 10B show map positions m2 and m6, respectively, in the same scenes as FIGS. An example of calculation is shown.
  • the map position m2 of the upper body of the person 11 is accurately calculated using the reference height H2 of the upper body class.
  • the map position m6 of the object 12 is accurately calculated using the reference height H6 of the object class.
  • the map positions m1 to m6 based on the respective detection areas A1 to A6 can be obtained with high accuracy.
  • the reference height of the object feature information D1 can be set, for example, when the terminal device 4 performs annotation work for creating correct data for the object detection model 70.
  • the correct data is data used as a correct answer in the machine learning of the object detection model 70, and includes, for example, image data associated with a correct answer label that defines an area on an image in which an object of each class is shown as the correct answer.
  • FIG. 11 is a flowchart illustrating setting processing in the terminal device 4 of this embodiment.
  • FIG. 12 is a diagram showing a display example of a setting screen on the terminal device 4. As shown in FIG. Each process shown in the flowchart of FIG. 11 is executed by the control unit 40 of the terminal device 4, for example.
  • the control unit 40 accepts a user operation to enter a class name in the input field 82, for example, adds the class value in the object feature information D1, and sets the entered class name (S21).
  • the input field 82 is displayed on the display unit 43 in response to a user operation of pressing the add button 81, for example.
  • the classes "whole body” and "upper body” entered in the input field 82 are added to the object feature information D1, and the respective class names are set.
  • the control unit 40 repeats the processing of steps S21 to S23 until a user operation to end class setting, such as pressing the end button 83, is input (NO in S23).
  • the control unit 40 receives a user operation for performing annotation work and acquires annotation information (S24). For example, in the input area 84, the control unit 40 displays the captured image Im based on the image data acquired in advance from the omnidirectional camera 2, and receives a user operation to perform annotation work.
  • the captured image Im in the input area 84 of FIG. 12 shows an example in which the upper body of the person 21 is shown.
  • a user operation is input to draw a region B1 surrounding the upper body of the person 21 in association with the upper body class.
  • step S24 for example, for a predetermined number of captured images acquired in advance for creating correct answer data, by repeatedly accepting the user operation as described above, the class and the area in which each class is shown on the captured image are obtained. Annotation information associated with is acquired.
  • control unit 40 After obtaining the annotation information (S24), the control unit 40 transmits the annotation information and the object feature information D1 to the flow line extraction server 5, for example, via the network I/F 45 (S25). After that, the control unit 40 terminates the processing shown in this flowchart.
  • the class name and reference height in the object feature information D1 are set (S21, S22), and sent to the flow line extraction server 5 together with the acquired annotation information (S24) (S25).
  • the reference height for example, by making it possible to set the reference height together with the class name, it is possible to easily manage the reference height for each class in association with the detection target class in the object characteristic information D1.
  • each information may be stored in the storage unit 41a in step S25.
  • the user 3 or the like may perform an operation to read out each information from the storage unit 41 a and input each information using an operation device or the like connectable to the device I/F 54 of the flow line extraction server 5 .
  • the setting of the reference height (S22) may be performed not only after step S21, but also after the annotation information is acquired (S24), for example.
  • the input field 82 of FIG. 12 a user operation to edit the input reference height may be received.
  • the flow line extraction server 5 executes learning processing of the object detection model 70 .
  • the control unit 50 acquires annotation information and object feature information D1 from, for example, the terminal device 4 via the network I/F 55 (S31).
  • the network I/F 55 acquires, as the object feature information D1, reference heights for each of a plurality of classes in user operations in annotation work.
  • the control unit 50 holds, for example, the annotation information in the temporary storage unit 51b, and stores the object feature information D1 in the storage unit 51a.
  • control unit 50 generates the object detection model 70 by supervised learning using correct data based on annotation information (S32).
  • the control unit 50 stores the generated object detection model 70 in, for example, the storage unit 51a (S33), and ends the processing shown in this flowchart.
  • the object detection model 70 is generated based on the annotation information associated with the class by the setting processing (FIG. 11). As a result, an object detection model 70 is obtained that can accurately recognize a detection area of a desired class of the user 3 or the like in an image captured by the omnidirectional camera 2 .
  • the learning process of the object detection model 70 is not limited to the flow line extraction server 5, and may be executed by the control unit 40 in the terminal device 4, for example.
  • the flow line extraction server 5 may acquire the learned object detection model 70 from the terminal device 4 via the device I/F 54 or the like before starting the operation of FIG.
  • the learning process may be executed by an information processing device external to the object detection system 1 , and the learned object detection model 70 may be transmitted to the flow line extraction server 5 .
  • the flow line extraction server 5 in the present embodiment performs object detection for detecting the position of an object on a horizontal plane (an example of an imaging plane) of the workplace 6 captured by the omnidirectional camera 2 (an example of a camera). It is an example of a device.
  • the flow line extraction server 5 includes a device I/F 54, a control unit 50, and a storage unit 51 as an example of an acquisition unit.
  • the device I/F 54 acquires image data generated by the imaging operation of the omnidirectional camera 2 (S1).
  • the control unit 50 determines the detected position as an example of the position of the object in the first coordinates, and the class of the object as an example of the type of the object determined from a plurality of types. is acquired (S2).
  • the control unit 50 calculates the map positions m1 to m6 as an example of the position of the object on the second coordinates by performing coordinate transformation so as to switch the reference heights H1 to H6 according to the type of the object in the detection result. (S3, S11 to S14).
  • map positions m1 to m1 to m6 is calculated. As a result, the positions of various objects can be accurately detected on the imaging plane imaged by the omnidirectional camera 2 .
  • a class which is an example of a plurality of types, includes the full body and upper body of a person as an example of a type indicating the whole of one object and a type indicating a part of the object.
  • the object feature information D1 includes different reference heights H1, H2 for each type in the whole type and partial type.
  • the control unit 50 inputs acquired image data to an object detection model 70 that detects objects of a plurality of classes as an example of a plurality of types, and outputs detection results (S2).
  • the object detection model 70 is generated by machine learning using correct data that associates image data based on the omnidirectional camera 2 with labels indicating each of a plurality of classes.
  • the result of object detection by the object detection model 70 can be output in association with a preset class, and the type of object can be determined based on the class of the detection result (S12).
  • the flow line extraction server 5 includes a network I/F 55 as an example of an information input unit that acquires information through user's operation.
  • the network I/F 55 acquires reference heights for each of a plurality of classes in user operations in annotation work for creating correct data for the object detection model 70 (S31).
  • the object characteristic information D1 may be set by the terminal device 4 operating as an object detection device.
  • the operation unit 42 acquires the reference height for each of the plurality of classes in the user's operation in the annotation work (S22).
  • the object detection method in this embodiment is a method of detecting the position of an object on the imaging plane imaged by the omnidirectional camera 2 .
  • the position of the object is stored on the imaging plane from the first coordinates corresponding to the image indicated by the image data generated by the imaging operation of the omnidirectional camera 2.
  • Object feature information D1 used for coordinate conversion to the corresponding second coordinates is stored.
  • the object feature information D1 includes a reference height indicating the height from the imaging plane for each class of objects in a plurality of classes (one example of types).
  • a program for causing a computer to execute the object detection method as described above.
  • the positions of various objects can be accurately detected on the imaging plane imaged by the omnidirectional camera 2 .
  • the flow line extraction server 5 in this embodiment is an example of an object detection device that detects the position of an object on a horizontal plane (an example of an imaging plane) of the workplace 6 imaged by the omnidirectional camera 2 (an example of a camera).
  • the flow line extraction server 5 includes a device I/F 54 as an example of an acquisition unit, a control unit 50, a storage unit 51, and a network I/F 55 as an example of an information input unit.
  • the device I/F 54 acquires image data generated by the imaging operation of the omnidirectional camera 2 (S1).
  • the control unit 50 converts the coordinates indicating the detection position in the image coordinate system, as an example of the first coordinates according to the image indicated by the image data, to the coordinates indicating the detection position in the image coordinate system, as an example of the second coordinates according to the imaging plane, Coordinate conversion to coordinates indicating map positions m1 to m6 in the map coordinate system is calculated (S3).
  • the storage unit 51 stores object feature information D1 as an example of setting information used for coordinate transformation.
  • the network I/F 55 acquires information by user's operation.
  • the object characteristic information D1 includes reference heights H1 to H6 as examples of set values indicating heights from the imaging plane for each type of object among a plurality of types of objects.
  • the flow line extraction server 5 of the present embodiment recognizes the detection areas of a plurality of classes that overlap in the captured image, it selects one class according to a predetermined priority and sets the reference height of the class. is used to calculate the map position.
  • the object feature information D1 includes information indicating priority associated with each class.
  • Predetermined priority indicates the order of classes that are set in advance with respect to the classes to be detected by the object detection model 70, such that, for example, the higher the priority of the class, the earlier the class. In the following, an example will be described in which the priority is set in the order that the whole body has the highest priority, then the upper body, and then the head.
  • control unit 50 determines the class of each object whose detection area is recognized from the detection result based on the image data of one frame (S1 in FIG. 6) (S12). It is determined whether or not a plurality of detection areas are recognized (S41). In step S41, the control unit 50 determines whether detection areas of a plurality of classes are recognized at the same time and whether the plurality of detection areas overlap.
  • FIG. 15 is a diagram for explaining position calculation processing in the object detection system 1 of this embodiment.
  • FIG. 15 shows an example in which the detection areas A1, A2, and A3 of the whole body, upper body, and head of the person 11 are recognized in the captured image Im.
  • the detection areas A1 to A3 are recognized overlapping on the captured image Im.
  • control unit 50 selects the class with the highest priority among the multiple classes (S42).
  • the whole body class having the highest priority among the whole body, upper body and head classes is selected.
  • control unit 50 After selecting the class with the highest priority (S42), the control unit 50 acquires the reference height of the class corresponding to the selection result from the object feature information D1 (S13).
  • control unit 50 acquires the reference height of the class corresponding to the determination result of step S12 (S13).
  • the object feature information D1 includes information indicating priority as an example of information indicating a predetermined order set for a plurality of classes.
  • the control unit 50 gives priority to One class is selected from two or more classes according to the degrees (S42), and the map position of the selected class object is calculated as an example of the position of the selected type of object in the second coordinates (S13-S14 ).
  • a predetermined condition may be set in the determination (S41) of whether or not a plurality of overlapping detection areas are recognized. For example, when 90% or more of one of the plurality of detection regions is included in the other region, it may be determined that the plurality of detection regions overlap and are recognized (YES in S41).
  • the flow line extraction server 5 of the present embodiment recognizes detection areas of a plurality of classes that overlap in the captured image, it can be considered that the detection areas are easier to connect as flow lines than the detection result based on the image data of the immediately preceding frame. choose a class.
  • FIG. 16 is a flowchart illustrating position calculation processing in the object detection system 1 of this embodiment.
  • the control unit 50 performs the same processes as steps S11 to S14 and S41 to S42 in the position calculation process (FIG. 14) of the second embodiment, are executed (S51-S52).
  • the control unit 50 determines that a plurality of overlapping detection areas have been recognized (YES in S41), the detection result of the previous image recognition processing (S2 in FIG. 4) indicates that the detection area is of the same class as the current detection area. exists in the vicinity on the captured image (S51).
  • the control unit 50 refers to the previous detection result held in, for example, the temporary storage unit 51b, and finds the detection regions in which the distance between the detection positions of the detection regions of the same class in the previous time and the current time is smaller than a predetermined distance. It is determined whether or not it exists in the previous detection result.
  • the predetermined distance is set in advance as a distance small enough to be regarded as a neighborhood on the image. For example, the predetermined distance is set so that the sizes of the H component and the V component are about 1/4 to 1/3 of the width and height of the rectangular detection area, respectively, according to the size of the detection area. be done.
  • FIG. 17 is a diagram for explaining position calculation processing in the object detection system 1 of this embodiment.
  • FIGS. 17A to 17C exemplify captured images Im indicated by image data of three consecutive frames acquired from the omnidirectional camera 2.
  • FIG. 17A a part of the body of the person 11 is hidden by the equipment, and the detection area A2 of the upper body is recognized.
  • FIG. 17B the person 11 has moved from FIG. 17A, and the detection area A1 of the whole body and the detection area A2 of the upper body are recognized.
  • FIG. 17(C) the person 11 has moved further from FIG. 17(B), and the detection area A1 of the whole body and the detection area A2 of the upper body are recognized.
  • step S51 in the captured image Im of FIG. 17(B), in step S51, in the vicinity of each detection region A1, A2 of this time, whether the detection region of the same class was recognized in the previous captured image Im of FIG. 17(A). It is determined whether or not In the examples of FIGS. 17A and 17B, since there is no detection area of the whole body class in the object detection result by the previous image recognition processing, it is determined "NO" in step S51.
  • the control unit 50 The class of the detection area closest to the detection area is selected (S52).
  • the distances d1 and d2 between the previous detection position C21 of the detection area A2 and the current detection positions C12 and C22 of the detection areas A1 and A2 are compared. Since the distance d2 is smaller than the distance d1, the upper-body class is selected based on the assumption that the detection area A2 is closest to the previous detection area A2 among the current detection areas A1 and A2.
  • control unit 50 performs a predetermined priority select the class with the highest priority (S42).
  • 17B and 17C show that the distance d3 between the previous detection position C12 and the current detection position C13 for the whole body detection area A1 is smaller than a predetermined distance, and the upper body detection area A2 for the previous and current detection areas An example is shown in which the distance d4 between the detection positions C22 and C23 is smaller than the predetermined distance.
  • "YES" is determined in step S51, and in step S42, for example, the whole body class having the highest preset priority is selected.
  • the closest detected area on the captured image is A class of detection regions is selected (S51-S52).
  • the map position is calculated using the reference height of the class detected closest to the previous detection result, that is, the class that can be regarded as a flow line that can be easily connected. (S14).
  • step S51 of FIG. 16 it may be determined whether or not a detection area exists in the vicinity of the captured image for each current detection area, regardless of the difference in class in the previous detection result.
  • the class of the current detection area closest to the previous detection area may be selected (S52).
  • the class with the highest priority may be selected from the current detection result (S42).
  • the class may be selected based on information other than the priority. For example, information that associates the layout of various facilities 20 based on the map information of the workplace 6 with the image coordinate system may be used. For example, based on the information, the upper body or full body class may be selected depending on whether the detection position of the detection region in the captured image is within a predetermined range considered to be near the equipment 20 of the workplace 6.
  • the control unit 50 calculates the position of the object at the second coordinates for each image data based on the image data sequentially acquired by the device I/F 54.
  • flow line information including map positions in order is generated (S1 to S5).
  • one class is selected from two or more classes of objects (S51-S52), and as an example of the position of the selected type of object in the second coordinates, the selected The map position of the class object is calculated (S13-S14).
  • S13-S14 the map position of the class object is calculated.
  • Embodiments 1 to 3 have been described as examples of the technology disclosed in the present application.
  • the technology in the present disclosure is not limited to this, and can also be applied to embodiments in which modifications, substitutions, additions, omissions, etc. are made as appropriate.
  • the detection targets of the object detection model 70 are the whole body and upper body of a person and objects such as cargo, but other priorities may be used.
  • the detection targets of the object detection model 70 include persons and vehicles.
  • the priority may be set such that the person is next to the vehicle.
  • the map position is calculated using the reference height of the vehicle class. In this way, it is possible to accurately calculate the position based on the detection result according to the priority according to the application of the object detection system 1 .
  • the current detection result may be compared with the detection results based on the image data of the frames immediately before and after, and a class that can be considered to be likely to be connected to the flow line may be selected.
  • image data of a plurality of continuous frames are acquired in step S1 of FIG.
  • the number of omnidirectional cameras 2 is not limited to one, and may be plural.
  • the flow line extraction server 5 executes the operation of FIG. may be performed.
  • step S3 of FIG. 6 an example of calculating the map position as a position corresponding to the horizontal plane 60 of the workplace 6 based on the detection result has been described.
  • a coordinate system may be used.
  • the position based on the detection result may be calculated using a coordinate system indicating the position on the horizontal plane 60 according to the omnidirectional camera 2 before being converted into the map coordinate system.
  • the calculated position may be transformed into the map coordinate system in step S5 of FIG. 6, for example.
  • step S3 for example, the position of the detection result based on each omnidirectional camera is aligned by coordinate transformation according to each omnidirectional camera. may be calculated as follows.
  • the position of the detection area is not limited to the detection position, and for example, the midpoint of one side of the detection area may be used.
  • the position of the detection area may be the position of a plurality of points, or may be the center of gravity of a non-rectangular area.
  • the setting of the reference height is not limited to this.
  • the flow line extraction server 5 after the generation of the object detection model 70 and before the start of the basic operation (FIG. 6), when various parameters related to coordinate conversion from the image coordinate system to the map coordinate system are set, A reference height may be set together.
  • the flow line extraction server 5 of the present embodiment sets the reference height according to the user operation of inputting the reference height for each class from the terminal device 4 or an external operation device via the device I/F 54, for example. .
  • the detection targets of the object detection model 70 include classes corresponding to parts of an object such as the upper body of a person. good too.
  • the flow line extraction server 5 of the present embodiment includes, in addition to the object detection model 70, a detection model for detecting the upper body and a detection model for detecting the head. Upper body and head detection models may be applied to the region. Based on the detection result of each detection model, the type of the object such as whole body, upper body and head is determined instead of the class determination in step S12. can be calculated.
  • each part can be determined based on the captured image of the workspace 6 by the processing in step S3, and the position can be accurately determined. can be calculated well.
  • the flow line extraction server 5 using the detection models of the upper body and the head, which are targets for calculating the map position, was described. may be used.
  • the type of the object such as the whole body, upper body, and head reflected in the captured image can be determined. good.
  • the control unit 50 recognizes the whole body area of a person as an example of the area where the entire object is detected in the image indicated by the acquired image data.
  • the control unit 50 recognizes the upper body and head regions as an example of regions in which one or more portions of one object are detected in the entire recognized region, and uses the recognition results for the one or more portions as an example. Based on this, a class is determined as an example of the type of object.
  • a technique of skeletal detection or posture estimation is applied to a captured image to detect the person.
  • each part of the body may be determined as the object type.
  • the object detection unit 71 outputs the detection result by associating the detection area with the class.
  • a detection area defined by the position and size on the image may be output as the detection result regardless of the class.
  • the type of object may be determined based on the position and size of the detection area instead of the class.
  • the flow line extraction server 5 has been described as an example of the object detection device.
  • the terminal device 4 may be configured as an object detection device, and various operations of the object detection device may be executed by the control unit 40 .
  • the omnidirectional camera 2 has been described as an example of the camera in the object detection system 1.
  • the object detection system 1 is not limited to the omnidirectional camera 2, and may include various cameras.
  • the camera of the system 1 may be various imaging devices that employ various projection methods such as an orthographic projection method, an equidistant projection method, and an equisolid angle projection method.
  • the site to which the object detection system 1 and the flow line extraction server 5 are applied is not limited to the workshop 6, and may be various sites such as a distribution warehouse or a sales floor of a store.
  • the present disclosure can be applied to various object detection devices that detect the positions of multiple types of objects using cameras, such as flow line detection devices, monitoring devices, and tracking devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

物体検知装置は、カメラの撮像動作により生成された画像データを取得する取得部と、物体の位置に関して、画像データが示す画像に応じた第1の座標から、撮像平面に応じた第2の座標への座標変換を演算する制御部と、座標変換に用いられる設定情報を記憶する記憶部とを備える。設定情報は、複数の種類の物体における各種類の物体に関して、撮像平面からの高さを示す設定値を含む。制御部は、取得部により取得された画像データに基づいて、第1の座標における物体の位置と、複数の種類から判別された物体の種類とを関連付けた検知結果を取得し、検知結果における物体の種類に応じて、設定値を切り替えるように座標変換を演算して、第2の座標における物体の位置を算出する。

Description

物体検知装置及び方法
 本開示は、物体検知装置及び方法に関する。
 特許文献1は、複数のカメラによる映像から物体を検出する複数の検出部、及びそれらの検出結果に基づいて現在と過去の物体の位置を対応付ける統合追跡部を備える物体追跡システムを開示している。各検出部の検出結果は、それぞれ対応するカメラの撮像画像上の座標系における物体の下端(物体が地面と接する点など)の座標値及び物体の外接矩形を示す情報を含む。各検出部は、予めキャリブレーションにより得られた各カメラの位置、姿勢等を表すカメラパラメータを用いて、撮像画像上での座標値を複数のカメラの撮影空間内で定義される共通座標系における座標値に変換する。統合追跡部は、複数の検出部から得られた共通座標系の座標値を統合することで、物体を追跡する。
特開2019-1142860号公報
 本開示は、カメラにより撮像される撮像平面において各種物体の位置を精度良く検知することができる物体検知装置及び方法を提供する。
 本開示の一態様に係る物体検知装置は、カメラにより撮像される撮像平面における物体の位置を検知する。物体検知装置は、取得部と、制御部と、記憶部とを備える。取得部は、カメラの撮像動作により生成された画像データを取得する。制御部は、物体の位置に関して、画像データが示す画像に応じた第1の座標から、撮像平面に応じた第2の座標への座標変換を演算する。記憶部は、座標変換に用いられる設定情報を記憶する。設定情報は、複数の種類の物体における各種類の物体に関して、撮像平面からの高さを示す設定値を含む。制御部は、取得部により取得された画像データに基づいて、第1の座標における物体の位置と、複数の種類から判別された物体の種類とを関連付けた検知結果を取得する。制御部は、検知結果における物体の種類に応じて、設定値を切り替えるように座標変換を演算して、第2の座標における物体の位置を算出する。
 本開示の別の一態様に係る物体検知装置は、カメラにより撮像される撮像平面における物体の位置を検知する。物体検知装置は、取得部と、制御部と、記憶部と、情報入力部とを備える。取得部は、カメラの撮像動作により生成された画像データを取得する。制御部は、物体の位置に関して、画像データが示す画像に応じた第1の座標から、撮像平面に応じた第2の座標への座標変換を演算する。記憶部は、座標変換に用いられる設定情報を記憶する。情報入力部は、ユーザの操作において情報を取得する。設定情報は、複数の種類の物体における各種類の物体に関して、撮像平面からの高さを示す設定値を含む。情報入力部は、設定値を入力するユーザ操作において、複数の種類毎の設定値を取得する。制御部は、取得部により取得された画像データに基づいて、第1の座標における物体の位置と、複数の種類から判別された物体の種類とを関連付けた検知結果を取得する。制御部は、検知結果における物体の種類毎に、ユーザ操作において取得された設定値に応じて座標変換を演算して、第2の座標における物体の位置を算出する。
 これらの概括的かつ特定の態様は、システム、方法、及びコンピュータプログラム、並びに、それらの組み合わせにより、実現されてもよい。
 本開示における物体検知装置、方法、及びシステムによると、カメラにより撮像される撮像平面において各種物体の位置を精度良く検知することができる。
実施形態1に係る物体検知システムを説明するための図 実施形態1に係る端末装置の構成を例示するブロック図 実施形態1に係る動線抽出サーバの構成を例示するブロック図 物体検知システムにおける動線情報を説明するための図 物体検知システムにおける課題を説明するための図 物体検知システムにおける動線抽出サーバの基本動作を例示するフローチャート 実施形態1に係る物体検知システムの動線抽出サーバにおける位置算出処理を例示するフローチャート 位置算出処理を説明するための図 実施形態1の物体検知システムにおける物体特徴情報のデータ構造を例示する図 動線抽出サーバに関する効果を説明するための図 実施形態1の端末装置における設定処理を例示するフローチャート 実施形態1の端末装置における設定画面の表示例を示す図 実施形態1の動線抽出サーバにおける物体検知モデルの学習処理を例示するフローチャート 実施形態2の物体検知システムにおける位置算出処理を例示するフローチャート 実施形態2の物体検知システムにおける位置算出処理を説明するための図 実施形態3の物体検知システムにおける位置算出処理を例示するフローチャート 実施形態3の物体検知システムにおける位置算出処理を説明するための図
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、出願人は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
1.構成
 実施形態1に係る物体検知システムについて、図1を用いて説明する。図1は、本実施形態に係る物体検知システム1の概要を示す図である。
1-1.システムの概要
 本実施形態の物体検知システム1は、例えば図1に示すように、全方位カメラ2と、端末装置4と、動線抽出サーバ5とを備える。動線抽出サーバ5は、本実施形態における物体検知装置の一例である。本システム1は、例えば工場などの作業場6において、人物11及び例えば貨物といった対象物12等の位置を検知して、検知した位置に基づく動線を分析する用途に適用可能である。本システム1の端末装置4は、例えば作業場6の管理者またはデータ分析の担当者などのユーザ3が、動線を分析したり、予め検知対象に関する情報を設定するためのアノテーション作業を行ったりするために用いられる。
 以下、作業場6における鉛直方向をZ方向という。また、Z方向に直交する水平面上で互いに垂直な二方向をそれぞれX方向及びY方向という。さらに、+Z方向を上方といい、-Z方向を下方という場合がある。さらに、Z=0の水平面を特に作業場6の水平面という場合がある。作業場6の水平面は、本実施形態における全方位カメラ2により撮像される撮像平面の一例である。
 図1では、作業場6において、人物11及び対象物12等といった検知対象の物体とは別に、各種設備20などが設置された例を示す。図1の例において、全方位カメラ2は、作業場6を上方から俯瞰するように、作業場6の天井等に配置されている。本システム1では、例えば端末装置4により作業場6の地図上に動線が表示されるように、動線抽出サーバ5が、全方位カメラ2の撮像画像において人物11及び対象物12等の位置を検知した結果を、作業場6の水平面に応じた位置に対応付ける。
 本実施形態では、こうした物体検知システム1において、人物11及び対象物12等の作業場6における各種物体の位置を精度良く検知することができる物体検知装置及び方法を提供する。以下、本システム1における各部の構成を説明する。
 全方位カメラ2は、本システム1におけるカメラの一例である。全方位カメラ2は、例えば魚眼レンズなどの光学系、及びCCD又はCMOSイメージセンサ等の撮像素子を含む。全方位カメラ2は、例えば立体射影方式にしたがって撮像動作を行い、撮像画像を示す画像データを生成する。全方位カメラ2は、例えば画像データが動線抽出サーバ5に送信されるように、動線抽出サーバ5に接続される。
 動線抽出サーバ5は、例えばコンピュータのような情報処理装置で構成される。端末装置4は、例えばPC(パーソナルコンピュータ)のような情報処理装置で構成される。端末装置4は、例えばインターネット等の通信ネットワークを介して動線抽出サーバ5と通信可能に、動線抽出サーバ5に接続される。動線抽出サーバ5及び端末装置4の構成について、それぞれ図2及び図3を用いて説明する。
1-2.端末装置の構成
 図2は、端末装置4の構成を例示するブロック図である。図2に例示する端末装置4は、制御部40と、記憶部41と、操作部42と、表示部43と、機器インタフェース44と、ネットワークインタフェース45とを備える。以下、インタフェースを「I/F」と略記する。
 制御部40は、例えばソフトウェアと協働して所定の機能を実現するCPU又はMPUを含む。制御部40は、例えば端末装置4の全体動作を制御する。制御部40は、記憶部41に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。上記のプログラムは、インターネット等の通信ネットワークから提供されてもよいし、可搬性を有する記録媒体に格納されていてもよい。制御部50は、GPU等の種々の半導体集積回路で構成されてもよい。
 記憶部41は、端末装置4の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体である。記憶部41は、図2に示すように、格納部41a及び一時記憶部41bを含む。
 格納部41aは、所定の機能を実現するためのパラメータ、データ及び制御プログラム等を格納する。格納部41aは、例えばHDD又はSSDで構成される。例えば、格納部41aは、上記のプログラムなどを格納する。格納部41aは、作業場6の地図を示す画像データを格納してもよい。
 操作部42は、ユーザが操作を行う操作部材の総称である。操作部42は、表示部43と共にタッチパネルを構成してもよい。操作部42はタッチパネルに限らず、例えば、キーボード、タッチパッド、ボタン及びスイッチ等であってもよい。操作部42は、ユーザの操作において情報を取得する情報入力部の一例である。
 表示部43は、例えば、液晶ディスプレイ又は有機ELディスプレイで構成される出力部の一例である。表示部43は、操作部42を操作するための各種アイコン及び操作部42から入力された情報など、各種の情報を表示してもよい。
 機器I/F44は、端末装置4に、全方位カメラ2等の外部機器を接続するための回路である。機器I/F44は、所定の通信規格にしたがい通信を行う。所定の規格には、USB、HDMI(登録商標)、IEEE1395、WiFi(登録商標)、Bluetooth(登録商標)等が含まれる。機器I/F44は、端末装置4において外部機器から諸情報を受信する取得部あるいは外部機器に諸情報を送信する出力部を構成してもよい。
 ネットワークI/F45は、無線または有線の通信回線を介して端末装置4を通信ネットワークに接続するための回路である。ネットワークI/F45は所定の通信規格に準拠した通信を行う。所定の通信規格には、IEEE802.3,IEEE802.11a/11b/11g/11ac等の通信規格が含まれる。ネットワークI/F45は、端末装置4において通信ネットワークを介して、諸情報を受信する取得部あるいは送信する出力部を構成してもよい。例えば、ネットワークI/F45は、通信ネットワークを介して全方位カメラ2及び動線抽出サーバ5に接続してもよい。
1-3.動線抽出サーバの構成
 図3は、動線抽出サーバ5の構成を例示するブロック図である。図3に例示する動線抽出サーバ5は、制御部50と、記憶部51と、機器I/F54と、ネットワークI/F55とを備える。
 制御部50は、例えばソフトウェアと協働して所定の機能を実現するCPU又はMPUを含む。制御部50は、例えば動線抽出サーバ5の全体動作を制御する。制御部50は、記憶部51に格納されたデータ及びプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、制御部50は、機能的構成として、物体検知部71、座標変換部72、及びモデル学習部73を備える。
 物体検知部71は、画像データに各種の画像認識技術を適用することで、画像データが示す画像において、予め設定された処理対象の物体の位置を検知して、処理対象の物体が映っている領域を認識する。物体検知部71による検知結果には、例えば処理対象の領域を認識した時刻を示す情報が含まれてもよい。物体検知部71は、例えば制御部50が、記憶部51等に予め格納された物体検知モデル70を読み出して実行することで実現される。座標変換部72は、画像中で認識された領域の位置に関して、所定の座標系間の座標変換を演算する。モデル学習部73は、物体検知モデル70の機械学習を実行する。こうした動線抽出サーバ5の各種機能による動作については後述する。
 制御部50は、例えば上記のような動線抽出サーバ5の機能を実現するための命令群を含んだプログラムを実行する。上記のプログラムは、インターネット等の通信ネットワークから提供されてもよいし、可搬性を有する記録媒体に格納されていてもよい。また、制御部50は、上記各機能を実現するように設計された専用の電子回路又は再構成可能な電子回路などのハードウェア回路であってもよい。制御部50は、CPU、MPU、GPU、GPGPU、TPU、マイコン、DSP、FPGA及びASIC等の種々の半導体集積回路で構成されてもよい。
 記憶部51は、動線抽出サーバ5の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体である。記憶部51は、図3に示すように、格納部51a及び一時記憶部51bを含む。
 格納部51aは、所定の機能を実現するためのパラメータ、データ及び制御プログラム等を格納する。格納部51aは、例えばHDD又はSSDで構成される。例えば、格納部51aは、上記のプログラム、並びに地図情報D0、物体特徴情報D1、及び物体検知モデル70などを格納する。
 地図情報D0は、所定の座標系において、例えば作業場6における各種設備20の配置を示す。物体特徴情報D1は、物体検知部71の処理対象の物体に関して、物体の種類毎に設定される物体の高さの特徴を示す。物体特徴情報D1の詳細については後述する。物体検知モデル70は、例えば畳み込みニューラルネットワーク等のニューラルネットワークによる学習済みモデルである。物体検知モデル70は、例えば学習結果を示す重みパラメータ等の各種パラメータを含む。
 一時記憶部51bは、例えばDRAM又はSRAM等のRAMで構成され、データを一時的に記憶(即ち保持)する。例えば、一時記憶部51bは、全方位カメラ2から受信した画像データなどを保持する。また、一時記憶部51bは、制御部50の作業エリアとして機能してもよく、制御部50の内部メモリにおける記憶領域で構成されてもよい。
 機器I/F54は、動線抽出サーバ5に、全方位カメラ2等の外部機器を接続するための回路である。機器I/F54は、例えば端末装置4の機器I/F44と同様に、所定の通信規格にしたがい通信を行う。機器I/F54は、全方位カメラ2からの画像データ等を受信する取得部の一例である。機器I/F54は、動線抽出サーバ5において外部機器に諸情報を送信する出力部を構成してもよい。
 ネットワークI/F55は、無線または有線の通信回線を介して動線抽出サーバ5を通信ネットワークに接続するための回路である。例えば端末装置4のネットワークI/F45と同様に、ネットワークI/F55は所定の通信規格に準拠した通信を行う。ネットワークI/F55は、動線抽出サーバ5において通信ネットワークを介して、諸情報を受信する取得部あるいは送信する出力部を構成してもよい。例えば、ネットワークI/F55は、通信ネットワークを介して全方位カメラ2及び端末装置4に接続してもよい。
 以上のような端末装置4及び動線抽出サーバ5の構成は一例であり、構成は上記の例に限らない。本実施形態の物体検知方法は、分散コンピューティングにおいて実行されてもよい。また、端末装置4及び動線抽出サーバ5における取得部は、それぞれ制御部40、50等における各種ソフトウェアとの協働によって実現されてもよい。各取得部は、各種記憶媒体(例えば格納部41a、51a)に格納された諸情報をそれぞれ制御部40、50の作業エリア(例えば一時記憶部41b、51b)に読み出すことによって、諸情報の取得を行ってもよい。
 また、物体検知モデル70は、動線抽出サーバ5と通信可能に接続された外部の情報処理装置に格納されてもよい。また、動線抽出サーバ5において機器I/F54及び/またはネットワークI/F55は、ユーザの操作において情報を取得する情報入力部を構成してもよい。
2.動作
 以上のように構成される物体検知システム1、動線抽出サーバ5及び端末装置4の動作について、以下説明する。
 本システム1において、例えば図1に示すように、全方位カメラ2は、人物11及び対象物12等が移動中の作業場6において動画の撮像動作を行い、動画のフレーム周期毎に撮像画像を示す画像データを生成して、動線抽出サーバ5に送信する。
 動線抽出サーバ5は、全方位カメラ2から画像データを受信すると、受信した画像データを、例えば物体検知モデル70に入力して、人物11及び対象物12等の位置を検知する。動線抽出サーバ5は、人物11及び対象物12等の位置に関して、画像データが示す画像に応じた座標から、作業場6の水平面に応じた座標への座標変換の演算を繰り返し、動線情報を生成する。動線情報は、例えば地図情報D0に人物11及び対象物12等の動線を関連付けた情報である。動線抽出サーバ5は、例えば生成した動線情報を端末装置4に送信する。
 端末装置4は、受信した動線情報を、例えば表示部43に表示させる。図4は、図1の作業場6の撮像画像に基づいて、動線抽出サーバ5で生成された動線情報の表示例を示す。図4の例では、端末装置4の表示部43に、人物11の動線F1及び対象物12の動線F2が表示されている。各動線F1、F2は、それぞれ動線抽出サーバ5により算出された、人物11及び対象物12の地図座標系による地図位置m1及びm6の軌跡を示す。
 地図座標系は、全方位カメラ2による撮像平面に応じた座標系の一例であり、例えば地図情報D0に基づいて、作業場6における位置を示す。地図座標系は、例えば作業場6のX方向における位置を示すためのXm座標と、Y方向における位置を示すためのYm座標とを含む。地図位置は、地図座標系における物体の位置を示す。
2-1.課題について
 以上のような動線F1,F2を抽出する際などに課題となる場面について、図5を用いて説明する。
 図5は、物体検知システム1における課題を説明するための図である。図5は、作業場6における全方位カメラ2、人物11及び対象物12をY方向から見た様子を示す。
 図5(A)は、全方位カメラ2による撮像画像に人物11の全身が映る場面を示す。図5(B)は、人物11の一部のみが撮像画像に映る場面を示す。図5(C)は、人物11とは別の対象物12が撮像画像に映る場面を示す。
 図5(A)の例では、動線抽出サーバ5の物体検知モデル70は、全方位カメラ2からの撮像画像において、人物11の全身の検知領域A1を認識する。検知領域A1は、物体検知モデル70による全身の位置の検知結果を示す。本例において、動線抽出サーバ5は、撮像画像上の検知領域A1の中心を示す検知位置から、地図位置m1を算出する。地図位置m1は、例えば作業場6において、検知領域A1の検知位置に対応する対象位置c1から作業場6の水平面60に下ろした垂線が、水平面60と交わる点の位置として算出される。対象位置は、撮像画像上の検知位置に対応する作業場6の空間上の位置を示す。
 本実施形態の動線抽出サーバ5は、物体特徴情報D1において予め設定された物体の高さに関するパラメータである基準高さを用いて、上記のような位置算出を行う。図5(A)の例では、基準高さH1を用いることで、対象位置c1に応じた地図位置m1が、精度良く算出できる。
 一方、図5(B)の例では、物体検知モデル70は、人物11の上半身の検知領域A2を認識する。図5(B)の例では、全方位カメラ2から人物11へ向かう方向において、人物11の体の一部が作業場6の設備20に隠れて撮像画像に映らないことから、上半身の検知領域A2の対象位置c2は、図5(A)の全身の検知領域A1の対象位置c1より上方にある。この場合において、検知領域A2の位置算出を図5(A)の場合と同様に行うと、算出される位置m2’が、対象位置c2に応じた地図位置m2からずれてしまう。
 また、図5(C)の例では、物体検知モデル70は、対象物12の検知領域A6を認識する。ここで、対象物12と人物11の高さが異なることから、検知領域A6の対象位置c6は、図5(A)の例の対象位置c1より上方にある。よって、この場合も、検知領域A6の位置算出を上記と同様に行うと、図5(C)に示すように、算出される位置m6’が、対象位置c6に応じた地図位置m6からずれてしまう。
 以上のように、撮像画像における検知領域A1~A6の種類に依らずに位置算出で同じ基準高さH1を用いると、算出される位置が、各検知領域A1~A6の地図位置m1~m6からずれてしまうという課題が考えられる。
 そこで、本実施形態の動線抽出サーバ5では、物体特徴情報D1において、物体検知部71の処理対象の種類に応じた基準高さを予め設定することで、位置算出において当該種類に応じた基準高さを用いて座標変換を行う。これにより、例えば図5(B)のように人物11の体の一部の検知領域が認識されたり、図5(C)のように図5(A)の人物11とは高さが異なる対象物12の検知領域が認識されたりする場合においても、地図位置m2,m6を精度良く算出することができる。
 また、本システム1において、端末装置4は、上記のような動線抽出サーバ5の動作に関する各種の事前設定を行うためのユーザ操作を受け付ける。例えば、本実施形態の端末装置4は、物体検知モデル70の学習前に、ユーザ3等によるアノテーション作業において入力されたアノテーション情報など、各種設定情報を取得して、動線抽出サーバ5に送信する。このような設定情報に基づく動線抽出サーバ5の動作について、以下説明する。
2-2.基本動作
 以下では、本システム1における動線抽出サーバ5の基本的な動作について、図6を用いて説明する。
 図6は、物体検知システム1における動線抽出サーバ5の基本動作を例示するフローチャートである。図6のフローチャートに示す各処理は、例えば動線抽出サーバ5の制御部50が、物体検知部71及び座標変換部72として機能することにより実行される。
 まず、制御部50は、例えば機器I/F54から1フレームの画像データを取得する(S1)。機器I/F54は、全方位カメラ2から順次、各フレームの画像データを受信する。
 次に、制御部50は、物体検知部71として機能して、取得した画像データが示す画像において、物体検知の画像認識処理を行う。これにより制御部50は、人物11及び対象物12の検知領域を認識する(S2)。そして、制御部50は、検知結果を取得して、例えば一時記憶部51bに保持する。
 ステップS2において、物体検知部71は、検知結果として、例えば予め設定された複数のクラスの何れかに分類される処理対象が画像において映っている領域を示す検知領域を、各クラスに対応付けて出力する。複数のクラスは、例えば、人の全身、上半身及び頭部、並びに貨物などの対象物を含む。このように本実施形態において、物体検知部71の処理対象の物体には、物体の全体に限らず、物体の部分が含まれる。検知領域は、例えば画像上の水平位置及び垂直位置で規定され、例えば処理対象の物体を矩形状に囲む領域を示す(図8(A)参照)。
 次に、制御部50は、座標変換部72として機能して、検知された物体の位置に関して、画像座標系から地図座標系への座標変換を演算することで、作業場6の水平面に応じた物体の位置を算出する(S3)。画像座標系は、全方位カメラ2による撮像画像における画素の配列に応じた二次元の座標系である。本実施形態において、画像座標系は第1の座標系の一例であり、地図座標系は第2の座標系の一例である。
 上記の位置算出処理(S3)において、制御部50は、例えば図5に示すように、矩形状の検知領域の中心を示す検知位置から、物体特徴情報D1に基づく物体のクラス毎の基準高さを用いることで、物体の地図位置を算出する。制御部50は、算出した地図位置を例えば一時記憶部51bに蓄積する。位置算出処理(S3)の詳細は後述する。
 制御部50は、取得したフレームにおいて位置算出処理(S3)を実行した後、例えば機器I/F54において、全方位カメラ2から次のフレームの画像データが受信されたか否かを判断する(S4)。次のフレームが受信された場合(S4でYES)、制御部50は、当該フレームにおいてステップS1~S3の処理を繰り返す。
 制御部50は、次のフレームが受信されないと判断すると(S4でNO)、例えば地図情報D0と、各フレームにおいてステップS3で算出した物体の地図位置とに基づいて、動線情報を生成する(S5)。制御部50は、生成した動線情報を、例えばネットワークI/F55を介して端末装置4に送信する。図4の例では、人物11及び対象物12の各地図位置m1,m6から、動線F1,F2を含む動線情報が生成され、端末装置4に送信される。
 制御部50は、動線情報を生成した(S5)後、本フローチャートに示す処理を終了する。
 以上の処理によると、全方位カメラ2からの撮像画像における物体の検知領域(S2)に基づき、当該物体の地図位置を算出する(S3)。このような地図位置の算出をフレーム毎に繰り返すことで、作業場6を移動する物体の動線情報が得られる(S5)。本実施形態では、図5(A)~(C)のように物体の種類により検知領域が異なる場合であっても、各物体の動線を精度良く得る観点から、位置算出処理(S3)において、各検知領域の検知位置に基づく地図位置が算出される。
 なお、動線情報を生成する処理(S5)は、次のフレームが受信されなくなった(S4でNO)後に限らず、所定数のフレーム(例えば1フレームまたは数フレーム)において、ステップS1~S3の処理を実行する度に行われてもよい。また、上記のステップS1では、機器I/F54に限らず、ネットワークI/F55を介して画像データが取得されてもよい。また、ステップS1では、例えば格納部51aから、予め格納された全方位カメラ2による録画の動画データを読み出すことで、1フレームの画像データが取得されてもよい。この場合、ステップS4に代えて、動画データにおける全てのフレームが取得されたか否かが判断され、全てのフレームが選択されるまで、ステップS1~S4の処理を繰り返す。
2-3.位置算出処理
 図6のステップS3における位置算出処理の詳細について、図7~図10を用いて説明する。
 図7は、本実施形態に係る物体検知システム1の動線抽出サーバ5における位置算出処理(S3)を例示するフローチャートである。図8は、位置算出処理(S3)を説明するための図である。図9は、本実施形態の物体検知システム1における物体特徴情報D1のデータ構造を例示する図である。図10は、動線抽出サーバ5に関する効果を説明するための図である。
 図7のフローチャートにおいて、まず、制御部50は、図4のステップS2で認識された検知領域の検知位置を算出する(S11)。
 図8(A)は、図6のステップS2で取得された画像データが示す撮像画像Imを例示する。図8(A)では、撮像画像Imにおいて人物11の全身の検知領域A1が認識されている。図8(A)の例では、ステップS11において、制御部50は、撮像画像Imの画像座標系における検知領域A1の検知位置C1を算出する。画像座標系は、例えば撮像画像Imの水平方向における位置を示すH座標と、垂直方向における位置を示すV座標とを含む。
 次に、制御部50は、例えば一時記憶部51bを参照して、物体検知部71により物体の検知領域と関連付けて出力されたクラスに従い、物体毎のクラスを判定する(S12)。図8(A)の例では、検知領域A1の物体のクラスは人物の全身であると判定される。
 制御部50は、物体毎にクラスを判定した(S12)後、物体特徴情報D1を参照して、判定した各クラスの基準高さを取得する(S13)。
 図9に例示する物体特徴情報D1は、予め物体検知部71の処理対象として設定された「クラス」と「基準高さ」とを対応付けて管理する。基準高さは、例えば作業場6における水平面60から検知領域の検知位置に応じた対象位置までの鉛直方向の距離を示す。図8(A)では、ステップS13において、例えば図9の物体特徴情報D1に基づき、「全身」のクラスに対応する基準高さ「H1」が取得される。図9に例示する物体特徴情報D1は、全身の他に「上半身」、「頭部」及び「対象物」のクラスにそれぞれ対応する基準高さ「H2」、「H3」及び「H6」を格納している。
 次に、制御部50は、ステップS11で算出した検知位置から、対応する各物体の地図位置を算出する(S14)。制御部50は、ステップS13で取得したクラスの基準高さを用いて、例えば所定の演算式を適用することで、画像座標系における検知位置から、地図位置を算出するための座標変換を演算する。所定の演算式は、例えば立体射影の逆変換を含む変換式である。
 図8(B)は、ステップS14の処理を説明するための図である。図8(B)は、図8(A)の撮像画像Imが撮像されたときの作業場6を、図5(A)と同様にY方向から見た図である。図8(B)における対象位置c1は、図8(A)の撮像画像Imにおける検知領域A1の検知位置C1に応じた作業場6での位置を示す。以下では、図8(A)の撮像画像Imにおいて、検知位置C1が、撮像画像Imの画像中心30から作業場6のX方向に対応した方向に映る例を説明する。
 図8(B)に示すように、対象位置c1が全方位カメラ2のカメラ中心から角度θ1にあるとき、例えば、まず、作業場6の水平面60における全方位カメラ2の鉛直下方から、地図位置m1までの距離R1が算出される。距離R1の算出方法について、以下説明する。
 立体射影に基づく座標変換を適用する場合、検知位置C1が全方位カメラ2の撮像素子に映る撮像素子の中心からの位置y(ミリメートル:mm)は、全方位カメラ2のレンズの焦点距離f(mm)として、次式(1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 また、位置yについて、次式(2)が成り立つ。式(2)は、位置yと撮像素子の半径L(mm)の比、及び図8(A)に例示する撮像画像Imの画像中心30から検知位置C1が映る位置までの距離p1(ピクセル)と半径Lに対応して撮影可能な範囲を示す径p0(ピクセル)の比が等しい関係に基づく。
Figure JPOXMLDOC01-appb-M000002
 上式(1),(2)から、角度θ1は次式(3)のように表される。
Figure JPOXMLDOC01-appb-M000003
 また、図8(B)に示すように、距離R1は、全方位カメラ2の水平面60からの高さh、全身のクラスの基準高さH1及び角度θ1に基づいて、次式(4)のように表される。
Figure JPOXMLDOC01-appb-M000004
 図7のステップS14において制御部50は、例えば上式(3),(4)に基づく演算処理により、画像座標系における検知位置C1から距離R1を算出して、地図位置m1に対応する、全方位カメラ2を基準とする作業場6に応じた座標系での座標を演算する。制御部50は、例えば当該座標から、アフィン変換などを含む所定の演算により、地図位置m1の座標を算出することができる。
 制御部50は、例えば算出した地図位置m1(S14)を一時記憶部51bに保持して、位置算出処理(図6のS3)を終了する。その後、制御部50は、ステップS4に進み、例えば以上の処理を所定の周期で繰り返す(S1~S4)。
 以上の処理によると、検知結果に基づき、物体毎に判定したクラス(S12)に応じた基準高さH1~H6(S13)を用いて、画像座標系における検知領域の検知位置(S11)から、各物体の地図位置を算出する(S14)。これにより、高さが異なる複数の種類の物体を物体検知の対象とする物体検知システム1において、精度良く地図位置を算出することができる。
 図10(A),(B)は、それぞれ図5(B),(C)と同様の場面において、物体の種類の一例として物体のクラスに応じた基準高さにより、地図位置m2,m6を算出する例を示す。図10(A)では、人物11の上半身の地図位置m2が、上半身のクラスの基準高さH2を用いて精度良く算出される。図10(B)では、対象物12の地図位置m6が、対象物のクラスの基準高さH6を用いて精度良く算出される。
 このように、物体の種類に応じて設定された基準高さH1~H6を選択的に用いることで、異なる高さの物体が検知される図5(A)~(C)の何れの場面においても、各々の検知領域A1~A6に基づく地図位置m1~m6が精度良く得られる。
2-4.端末装置における設定処理
 以上のようなクラス毎の基準高さの設定に関する設定処理について、図11及び図12を用いて説明する。
 本実施形態の物体検知システム1では、例えば端末装置4により、物体検知モデル70の正解データを作成するためのアノテーション作業が行われる際に、物体特徴情報D1の基準高さを設定可能である。正解データは、物体検知モデル70の機械学習において正解として用いられるデータであり、例えば、各クラスの物体が映った画像上の領域を正解とする正解ラベルを関連付けた画像データを含む。
 図11は、本実施形態の端末装置4における設定処理を例示するフローチャートである。図12は、端末装置4における設定画面の表示例を示す図である。図11のフローチャートに示す各処理は、例えば端末装置4の制御部40により実行される。
 図12の例において、表示部43は、追加ボタン81、入力欄82、終了ボタン83、及び入力エリア84を表示している。追加ボタン81は、物体検知部71による処理対象、すなわち物体検知モデル70の検知対象のクラスを追加するためのボタンである。終了ボタン83は、例えばクラスの名称を示すクラス名等の設定を終了するためボタンである
 まず、制御部40は、入力欄82においてクラス名を入力するユーザ操作を受け付けることで、例えば物体特徴情報D1におけるクラスの値を追加して、入力されたクラス名を設定する(S21)。入力欄82は、例えば追加ボタン81を押下するユーザ操作が入力されることに応じて、表示部43に表示される。図12の例では、入力欄82に入力された「全身」及び「上半身」のクラスが物体特徴情報D1に追加されて、各々のクラス名が設定される。
 次に、制御部40は、入力欄82において基準高さを入力するユーザ操作を受け付けて、物体特徴情報D1において対応するクラスの基準高さを設定する(S22)。図12の例において、全身のクラスの基準高さが「90」に設定され、上半身のクラスの基準高さが「130」に設定される。
 制御部40は、例えば終了ボタン83の押下などクラスの設定を終了するためのユーザ操作が入力されるまで(S23でNO)、ステップS21~S23の処理を繰り返す。
 クラスの編集を終了するユーザ操作が入力されると(S23でYES)、制御部40は、アノテーション作業を行うためのユーザ操作を受け付けて、アノテーション情報を取得する(S24)。制御部40は、例えば、入力エリア84において、全方位カメラ2から予め取得された画像データに基づく撮像画像Imを表示して、アノテーション作業を行うユーザ操作を受け付ける。図12の入力エリア84における撮像画像Imは、人物21の上半身が映っている例を示す。例えば、図12の入力エリア84において、上半身のクラスに対応付けて、人物21の上半身を囲う領域B1を描画するユーザ操作が入力される。
 ステップS24において、例えば正解データを作成するために予め取得された所定数の撮像画像に対して、以上のようなユーザ操作を繰り返し受け付けることで、クラスと撮像画像上の各クラスが映った領域とを対応付けたアノテーション情報が取得される。
 アノテーション情報を取得(S24)後、制御部40は、アノテーション情報及び物体特徴情報D1を、例えばネットワークI/F45を介して動線抽出サーバ5に送信する(S25)。その後、制御部40は、本フローチャートに示す処理を終了する。
 以上の処理によると、物体特徴情報D1におけるクラス名及び基準高さが設定され(S21,S22)、取得されたアノテーション情報(S24)と共に動線抽出サーバ5に送信される(S25)。これにより、例えばクラス名と併せて基準高さを設定可能とすることで、物体特徴情報D1において検知対象のクラスと対応付けてクラス毎の基準高さを管理しやすくすることができる。
 なお、ステップS25において、アノテーション情報及び物体特徴情報D1が動線抽出サーバ5に送信される例を説明したが、ステップS25の処理はこれに限らない。例えば、ステップS25において各情報が格納部41aに格納されてもよい。この場合、例えばユーザ3等が格納部41aから各情報を読み出すための操作を行って、動線抽出サーバ5の機器I/F54に接続可能な操作機器などにより各情報を入力してもよい。
 また、基準高さの設定(S22)は、ステップS21の後に限らず、例えばアノテーション情報を取得した(S24)後に実行されてもよい。例えば、図12の入力欄82において、入力済みの基準高さを編集するユーザ操作を受け付けてもよい。
2-5.物体検知モデルの学習処理
 以上のように取得されるアノテーション情報に基づき、物体検知モデル70を生成する学習処理について、図13を用いて説明する。本実施形態の物体検知システム1では、例えば動線抽出サーバ5において、物体検知モデル70の学習処理が実行される。
 図13は、本実施形態の動線抽出サーバ5における物体検知モデル70の学習処理を例示するフローチャートである。図13のフローチャートに示す各処理は、例えば動線抽出サーバ5の制御部50が、モデル学習部73として機能することで実行される。
 まず、制御部50は、例えば端末装置4からネットワークI/F55により、アノテーシ情報及び物体特徴情報D1を取得する(S31)。ネットワークI/F55は、物体特徴情報D1として、アノテーション作業におけるユーザ操作において、複数のクラス毎の基準高さを取得する。制御部50は、例えばアノテーション情報を一時記憶部51bに保持し、物体特徴情報D1を格納部51aに格納する。
 制御部50は、例えば、アノテーション情報に基づく正解データを用いた教師あり学習によって、物体検知モデル70を生成する(S32)。制御部50は、生成した物体検知モデル70を例えば格納部51aに格納する(S33)と、本フローチャートに示す処理を終了する。
 以上の処理によると、例えば全方位カメラ2からの画像データにおいて、設定処理(図11)によるクラスが関連付けられたアノテーション情報に基づき、物体検知モデル70が生成される。これにより、全方位カメラ2による撮像画像において、ユーザ3等の所望のクラスの検知領域を精度良く認識可能な物体検知モデル70が得られる。
 なお、物体検知モデル70の学習処理は、動線抽出サーバ5に限らず、例えば端末装置4において制御部40により実行されてもよい。例えば動線抽出サーバ5は、図6の動作を開始する前に、機器I/F54等を介して、端末装置4から学習済みの物体検知モデル70を取得してもよい。また、物体検知システム1の外部の情報処理装置により学習処理が実行され、学習済みの物体検知モデル70が動線抽出サーバ5に送信されてもよい。
3.効果等
 以上のように、本実施形態における動線抽出サーバ5は、全方位カメラ2(カメラの一例)により撮像される作業場6の水平面(撮像平面の一例)における物体の位置を検知する物体検知装置の一例である。動線抽出サーバ5は、取得部の一例として機器I/F54と、制御部50と、記憶部51とを備える。機器I/F54は、全方位カメラ2の撮像動作により生成された画像データを取得する(S1)。制御部50は、物体の位置に関して、画像データが示す画像に応じた第1の座標の一例として、画像座標系における検知位置を示す座標から、撮像平面に応じた第2の座標の一例として、地図座標系における地図位置m1~m6を示す座標への座標変換を演算する(S3)。記憶部51は、座標変換に用いられる設定情報の一例として物体特徴情報D1を記憶する。物体特徴情報D1は、複数の種類の物体における各種類の物体に関して、撮像平面からの高さを示す設定値の一例として、基準高さH1~H6を含む。制御部50は、機器I/F54により取得された画像データに基づいて、第1の座標における物体の位置の一例として検知位置と、複数の種類から判別された物体の種類の一例として物体のクラスとを関連付けた検知結果を取得する(S2)。制御部50は、検知結果における物体の種類に応じて、基準高さH1~H6を切り替えるように座標変換を演算して、第2の座標における物体の位置の一例として地図位置m1~m6を算出する(S3,S11~S14)。
 以上の動線抽出サーバ5によると、画像データに基づく物体の検知結果から、物体特徴情報D1において複数の種類毎に設定された基準高さH1~H6に応じて、各物体の地図位置m1~m6が算出される。これにより、全方位カメラ2により撮像される撮像平面において各種物体の位置を精度良く検知することができる。
 本実施形態において、複数の種類の一例であるクラスは、一物体の全体を示す種類及び当該物体における部分を示す種類の一例として、人物の全身及び上半身を含む。物体特徴情報D1は、全体の種類及び部分の種類における各種類に関して、異なる基準高さH1,H2を含む。これにより、例えば人物の上半身といった部分の検知領域A2が認識されるとき、当該部分の種類に応じた基準高さH2を用いて、地図位置m2を精度良く算出することができる。
 本実施形態において、制御部50は、複数の種類の一例として、複数のクラスの物体を検知する物体検知モデル70に、取得された画像データを入力して、検知結果を出力する(S2)。物体検知モデル70は、全方位カメラ2に基づく画像データと、複数のクラスの各クラスを示すラベルとを関連付けた正解データを用いた機械学習により生成される。これにより、物体検知モデル70による物体の検知結果において、予め設定されたクラスを関連付けて出力することができ、検知結果のクラスに基づいて、物体の種類を判別することができる(S12)。
 本実施形態において、動線抽出サーバ5は、ユーザの操作において情報を取得する情報入力部の一例としてネットワークI/F55を備える。ネットワークI/F55は、物体検知モデル70の正解データを作成するためのアノテーション作業におけるユーザ操作において、複数のクラス毎の基準高さを取得する(S31)。
 なお、物体特徴情報D1は、端末装置4が物体検知装置として動作することにより設定されてもよい。この場合、情報入力部の一例として操作部42を備える端末装置4において、操作部42は、アノテーション作業におけるユーザ操作において、複数のクラス毎の基準高さを取得する(S22)。
 本実施形態における物体検知方法は、全方位カメラ2により撮像される撮像平面における物体の位置を検知する方法である。コンピュータの一例である動線抽出サーバ5の記憶部51には、物体の位置に関して、全方位カメラ2の撮像動作により生成された画像データが示す画像に応じた第1の座標から、撮像平面に応じた第2の座標への座標変換に用いられる物体特徴情報D1が格納されている。物体特徴情報D1は、複数のクラス(種類の一例)の物体における各クラスの物体に関して、撮像平面からの高さを示す基準高さを含む。本方法は、動線抽出サーバ5の制御部50が、画像データを取得するステップ(S1)と、取得された画像データに基づいて、第1の座標における物体の位置の一例として検知位置と、複数のクラスから判別された物体のクラスとを関連付けた検知結果を取得するステップと(S2)、検知結果における物体のクラスに応じて、基準高さを切り替えるように座標変換を演算して、第2の座標における物体の位置の一例として地図位置m1~m6を算出するステップ(S3,S1~S14)とを含む。
 本実施形態において、以上のような物体検知方法をコンピュータに実行させるためのプログラムが提供される。以上の物体検知方法及びプログラムによると、全方位カメラ2により撮像される撮像平面において各種物体の位置を精度良く検知することができる。
 本実施形態における動線抽出サーバ5は、全方位カメラ2(カメラの一例)により撮像される作業場6の水平面(撮像平面の一例)における物体の位置を検知する物体検知装置の一例である。動線抽出サーバ5は、取得部の一例として機器I/F54と、制御部50と、記憶部51と、情報入力部の一例としてネットワークI/F55とを備える。機器I/F54は、全方位カメラ2の撮像動作により生成された画像データを取得する(S1)。制御部50は、物体の位置に関して、画像データが示す画像に応じた第1の座標の一例として、画像座標系における検知位置を示す座標から、撮像平面に応じた第2の座標の一例として、地図座標系における地図位置m1~m6を示す座標への座標変換を演算する(S3)。記憶部51は、座標変換に用いられる設定情報の一例として物体特徴情報D1を記憶する。ネットワークI/F55は、ユーザの操作において情報を取得する。物体特徴情報D1は、複数の種類の物体における各種類の物体に関して、撮像平面からの高さを示す設定値の一例として、基準高さH1~H6を含む。ネットワークI/F55は、設定値を入力するユーザ操作において、複数のクラス(複数の種類の一例)毎の基準高さH1~H6を取得する(S31)。制御部50は、機器I/F54により取得された画像データに基づいて、第1の座標における物体の位置の一例として検知位置と、複数の種類から判別された物体のクラスとを関連付けた検知結果を取得する(S2)。制御部50は、検知結果における物体のクラス毎に、ユーザ操作において取得された基準高さH1~H6に応じて座標変換を演算して、第2の座標における物体の位置の一例として地図位置m1~m6を算出する(S3,S11~S14,S31)。
(実施形態2)
 実施形態1では、物体の検知結果に応じて判定したクラスの基準高さを用いて、地図位置を算出する動線抽出サーバ5を説明した。実施形態2では、物体検知システム1において、複数のクラスの検知領域が重畳して認識されるとき、所定の優先度に応じたクラスの基準高さを用いて、地図位置を算出する動線抽出サーバ5を説明する。
 以下、実施形態1に係る動線抽出サーバ5と同様の構成、動作の説明は適宜省略して、本実施形態に係る動線抽出サーバ5を説明する。
 本実施形態の動線抽出サーバ5は、撮像画像において重畳する複数のクラスの検知領域を認識した場合、予め設定された所定の優先度に従って1つのクラスを選択して、当該クラスの基準高さを用いて地図位置を算出する。本実施形態において、例えば物体特徴情報D1は、各クラスに優先度を示す情報を関連付けて含む。
 所定の優先度は、物体検知モデル70の検知対象のクラスに関して、例えば高い優先度のクラスほど早い順序となるように、予め設定されたクラスの順序を示す。以下では、全身の優先度が最も高く、次に上半身、その次に頭部の順序として優先度が設定された例を用いて説明する。
 図14は、本実施形態の物体検知システム1における位置算出処理を例示するフローチャートである。本実施形態の動線抽出サーバ5において、例えば制御部50は、実施形態1の位置算出処理(図7)におけるステップS11~S12、S13~S14と同様の処理に加えて、優先度に関する処理(S41~S42)を実行する。
 まず、制御部50は、1フレームの画像データ(図6のS1)に基づく検知結果から、検知領域を認識した物体毎のクラスを判定後(S12)、当該画像データが示す撮像画像において、重なり合った複数の検知領域が認識されたか否かを判断する(S41)。ステップS41において、制御部50は、同時刻に複数のクラスの検知領域が認識され、且つ当該複数の検知領域が重畳するか否かを判断する。
 図15は、本実施形態の物体検知システム1における位置算出処理を説明するための図である。図15は、撮像画像Imにおいて人物11のそれぞれ全身、上半身及び頭部の検知領域A1,A2及びA3が認識された例を示す。図15の例では、各検知領域A1~A3が撮像画像Im上で重なって認識されている。
 重なり合った複数の検知領域が認識された場合(S41でYES)、制御部50は、当該複数のクラスのうち、優先度が最も高いクラスを選択する(S42)。図15の例では、全身、上半身及び頭部のクラスのうち、優先度が最も高い全身のクラスが選択される。
 制御部50は、優先度が最も高いクラスを選択後(S42)、物体特徴情報D1から、選択結果に該当するクラスの基準高さを取得する(S13)。
 一方、重なり合った複数の検知領域が認識されていない場合(S41でNO)、制御部50は、ステップS12の判定結果に該当するクラスの基準高さを取得する(S13)。
 以上の処理によると、重なり合った複数の検知領域が認識された場合であっても(S41でYES)、優先度の高いクラスが選択され(S42)、当該クラスの基準高さが取得される(S13)。これにより、優先度の高いクラスの基準高さを用いて地図位置を算出する(S14)ことができる。
 以上のように、本実施形態の動線抽出サーバ5において、物体特徴情報D1は、複数のクラスに関して設定された所定の順序を示す情報の一例として、優先度を示す情報を含む。制御部50は、取得された画像データが示す画像において、複数のクラス(種類の一例)の物体のうちの2以上のクラスの物体が互いに重畳して検知されたとき(S41でYES)、優先度に従って、2以上のクラスから一のクラスを選択して(S42)、第2の座標における選択した種類の物体の位置の一例として、選択したクラスの物体の地図位置を算出する(S13~S14)。
 これにより、重なり合った複数のクラスの検知領域が認識された場合であっても、当該複数のクラスの物体に関して、優先度が高い物体の検知領域に基づいて精度良く地図位置を算出することができる。なお、重なり合った複数の検知領域が認識されたか否かの判断(S41)において、所定の条件が設定されてもよい。例えば、複数の検知領域のうちの一方の領域の90%以上が他方の領域に含まれる場合に、複数の検知領域が重なり合って認識された(S41でYES)と判断してもよい。
(実施形態3)
 実施形態2では、重なり合った複数の検知領域が認識されるとき、予め設定された優先度に従って地図位置を算出する動線抽出サーバ5を説明した。実施形態3では、物体検知システム1において、重なり合った複数の検知領域が認識されるとき、検知領域に対応する物体の動線との関係に基づいて地図位置を算出する動線抽出サーバ5を説明する。
 以下、実施形態1,2に係る動線抽出サーバ5と同様の構成、動作の説明は適宜省略して、本実施形態に係る動線抽出サーバ5を説明する。
 本実施形態の動線抽出サーバ5は、撮像画像において重畳する複数のクラスの検知領域を認識した場合、直前のフレームの画像データに基づく検知結果と比較して、動線として接続しやすいとみなせるクラスを選択する。
 図16は、本実施形態の物体検知システム1における位置算出処理を例示するフローチャートである。本実施形態の動線抽出サーバ5において、例えば制御部50は、実施形態2の位置算出処理(図14)におけるステップS11~S14、S41~S42と同様の処理に加えて、直前の検知結果との比較に関する処理(S51~S52)を実行する。
 制御部50は、重なり合った複数の検知領域が認識されたと判断すると(S41でYES)、前回の画像認識処理(図4のS2)による検知結果において、今回の各検知領域と同じクラスの検知領域が、撮像画像上での近傍に存在するか否かを判断する(S51)。制御部50は、ステップS51において例えば一時記憶部51bに保持された前回の検知結果を参照して、前回と今回の同じクラスの検知領域の検知位置間の距離が所定距離より小さい検知領域が、前回の検知結果に存在するか否かを判断する。所定距離は、画像上で近傍とみなせる程度に小さい距離として予め設定される。例えば所定距離は、検知領域のサイズに応じて、H成分及びV成分の大きさが、それぞれ矩形状の検知領域の幅及び高さの4分の1~3分の1程度となるように設定される。
 図17は、本実施形態の物体検知システム1における位置算出処理を説明するための図である。図17(A)~(C)は、全方位カメラ2から取得された連続する3フレームの各々の画像データが示す撮像画像Imを例示する。図17(A)では、人物11の体の一部が設備に隠れ、上半身の検知領域A2が認識されている。図17(B)では、図17(A)から人物11が移動して、全身の検知領域A1及び上半身の検知領域A2が認識されている。図17(C)では、図17(B)から人物11がさらに移動して、全身の検知領域A1及び上半身の検知領域A2が認識されている。
 例えば図17(B)の撮像画像Imでは、ステップS51において、今回の各検知領域A1,A2の近傍で、前回の図17(A)の撮像画像Imで同じクラスの検知領域が認識されていたか否かが判断される。図17(A),(B)の例では、前回の画像認識処理による物体の検知結果において全身のクラスの検知領域が存在しないため、ステップS51で「NO」と判断される。
 今回の各検知領域の近傍において、前回の画像認識処理による検知結果に、今回と同じクラスの検知領域が存在しない場合(S51でNO)、制御部50は、今回の検知領域のうち、前回の検知領域から最も近傍にある検知領域のクラスを選択する(S52)。図17(B)の例では、前回の検知領域A2の検知位置C21と、今回の各検知領域A1,A2の検知位置C12,C22との距離d1,d2が比較される。距離d2が距離d1より小さいため、今回の各検知領域A1,A2のうち、検知領域A2が前回の検知領域A2の最も近傍にあるとして、上半身のクラスが選択される。
 一方、各検知領域の近傍で前回の検知結果にそれぞれ同じクラスの検知領域が存在する場合(S51でYES)、制御部50は、例えば実施形態2の動線抽出サーバ5と同様の所定の優先度に従って、優先度が最も高いクラスを選択する(S42)。
 図17(B),(C)は、全身の検知領域A1に関して前回の検知位置C12と今回の検知位置C13との距離d3が所定距離より小さく、かつ上半身の検知領域A2に関しても前回及び今回の検知位置C22,C23間の距離d4が所定距離より小さい例を示す。このとき、図17(C)の例では、ステップS51で「YES」と判断されて、ステップS42において、例えば予め設定された優先度が最も高い全身のクラスが選択される。
 以上の処理によると、重なり合った複数の検知領域が認識された場合(S41でYES)、直前のフレームの画像データに基づく前回の検知結果と比較して、撮像画像上の最も近傍で認識された検知領域のクラスが選択される(S51~S52)。当該クラスの基準高さが取得される(S13)ことで、前回の検知結果から最も近傍で検知された、すなわち動線として接続しやすいとみなせるクラスの基準高さを用いて、地図位置を算出する(S14)ことができる。
 なお、図16のステップS51では、今回の検知領域毎に、前回の検知結果において、クラスの異同に関わらず、撮像画像上の近傍に検知領域が存在するか否かが判断されてもよい。この場合、今回の各検知領域の近傍に前回の検知領域が存在するとき(S51でYES)、前回の検知領域から最も近傍にある今回の検知領域のクラスが選択されてもよい(S52)。一方、今回の各検知領域の近傍に前回の検知領域が存在しないとき(S51でNO)、今回の検知結果から優先度の最も高いクラスが選択されてもよい(S42)。
 また、図16のステップS13において、優先度とは別の情報に基づいてクラスが選択されもよい。例えば、作業場6の地図情報による各種設備20の配置等を画像座標系に関連付けた情報が用いられてもよい。例えば当該情報に基づいて、撮像画像において検知領域の検知位置が作業場6の設備20の近傍とみなす所定範囲内に存在するか否かに応じて、上半身または全身のクラスが選択されてもよい。
 以上のように、本実施形態の動線抽出サーバ5において、制御部50は、機器I/F54により順次、取得される画像データに基づいて、画像データ毎の第2の座標における物体の位置の一例として地図位置を順番に含む動線情報を生成する(S1~S5)。制御部50は、新たに取得された画像データが示す画像において、複数のクラス(種類の一例)の物体のうちの2以上の種類の物体が互いに重畳して検知されたとき(S41でYES)、動線情報に含まれる位置に基づいて、2以上のクラスの物体から一のクラスを選択して(S51~S52)、第2の座標における選択した種類の物体の位置の一例として、選択したクラスの物体の地図位置を算出する(S13~S14)。これにより、重なり合った複数の検知領域が認識された場合であっても、動線情報に含まれる位置に基づいて、動線として接続しやすいとみなせる検知領域のクラスの基準高さを用いて地図位置を算出することができる。
(他の実施形態)
 以上のように、本出願において開示する技術の例示として、実施形態1~3を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置換、付加、省略などを行った実施の形態にも適用可能である。また、上記各実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施形態を例示する。
 上記の実施形態2では、物体検知モデル70の検知対象が人物の全身及び上半身、並びに貨物などの対象物である場合の優先度の例を説明したが、別の優先度が用いられてもよい。例えば、物体検知システム1が、人物と車両の接近を検知して危険度を測定するような用途に適用されるとき、物体検知モデル70の検知対象は人物及び車両を含む。この場合、車両の次に人物といった優先度が設定されてもよい。これにより、例えば画像上で車両の検知領域と、当該車両を操縦する人物の検知領域とが重なって認識されたとき、車両のクラスの基準高さを用いて地図位置が算出される。このように物体検知システム1の用途に応じた優先度に従って、検知結果に基づく位置を精度良く算出することができる。
 上記の実施形態3では、図16のステップS51~S52において、重なり合った複数の検知領域が認識されたとき、今回と直前のフレームの画像データに基づく検知結果との関係から、複数のクラスのうち1つのクラスを選択する例を説明した。本実施形態では、ステップS51~S52において、今回の検知結果と、直前及び直後のフレームの画像データに基づく検知結果とを比較して、動線が接続されやすいとみなせるクラスが選択されてもよい。例えば本実施形態では図6のステップS1において連続する複数のフレームの画像データが取得される。
 上記の各実施形態において、物体検知システム1に1つの全方位カメラ2が含まれる例を説明したが、全方位カメラ2の個数は1つに限らず、複数であってもよい。例えば複数の全方位カメラ2を含む物体検知システム1において、動線抽出サーバ5は、各全方位カメラに関して図6の動作を実行後、複数の全方位カメラ2に基づく情報を統合するための処理を行ってもよい。
 上記の各実施形態では、図6のステップS3の位置算出処理において、検知結果に基づく作業場6の水平面60に応じた位置として、地図位置を算出する例を説明したが、地図座標系とは異なる座標系が用いられてもよい。例えば、地図座標系に変換する前の全方位カメラ2に応じた水平面60上の位置を示す座標系により、検知結果に基づく位置が算出されてもよい。この場合、算出された位置は、例えば図6のステップS5において地図座標系に変換されてもよい。また、上記の複数の全方位カメラ2を含む物体検知システム1の例では、ステップS3において、例えば各全方位カメラに応じた座標変換により、各全方位カメラに基づく検知結果の位置が、位置合わせして算出されてもよい。
 上記の各実施形態では、検知領域の位置として、矩形状の検知領域の検知位置を用いて、検知位置に対応する地図位置を算出する例を説明した。本実施形態において、検知領域の位置は検知位置に限らず、例えば検知領域の一辺の中点などが用いられてもよい。また、検知領域の位置は、複数点の位置であってもよく、矩形以外の領域の重心などであってもよい。
 上記の各実施形態では、端末装置4における設定処理(図11)によりアノテーション作業と併せて基準高さが設定される例を説明したが、基準高さの設定はこれに限らない。例えば、動線抽出サーバ5において、物体検知モデル70の生成後、基本動作(図6)の開始前に、画像座標系から地図座標系への座標変換に関する各種パラメータの設定作業が行われる際に併せて基準高さが設定されてもよい。本実施形態の動線抽出サーバ5は、例えば機器I/F54を介して端末装置4または外部の操作機器から、クラス毎の基準高さを入力するユーザ操作に応じて、基準高さを設定する。
 上記の各実施形態では、物体検知モデル70の検知対象に、人物の上半身といった物体の部分に対応するクラスが含まれる例を説明したが、人物の全身など物体の全体のクラスのみが含まれてもよい。例えば、本実施形態の動線抽出サーバ5は、物体検知モデル70の他に、上半身を検知対象とする検知モデル及び頭部を検知対象とする検知モデルを備え、物体検知モデル70による全身の検知領域に上半身及び頭部の各検知モデルを適用してもよい。こうした各検知モデルの検知結果に基づいて、ステップS12のクラスの判定に代えて全身、上半身及び頭部など物体の種類を判定することで、物体の種類に応じた基準高さを用いた地図位置の算出を行うことができる。
 これにより、予め作業場6の撮像画像において、上半身及び頭部など体の部分に関してアノテーション作業を行わなくても、ステップS3の処理により、作業場6の撮像画像に基づき各部分を判別して位置を精度良く算出することができる。
 上記の例では、地図位置を算出する対象である上半身及び頭部の各検知モデルを用いる動線抽出サーバ5を説明したが、上記の各検知モデルに代えて、頭部、手及び足といった体の各部をそれぞれ検知対象とする複数のパーツ検知モデルが用いられてもよい。例えば物体検知モデル70による全身の検知領域に各パーツ検知モデルを適用して、各々の検知結果を組み合わせることで、撮像画像に映った全身、上半身及び頭部などの物体の種類が判定されてもよい。
 上記の実施形態の動線抽出サーバ5において、制御部50は、取得された画像データが示す画像において一物体の全体が検知された領域の一例として、人物の全身の領域を認識する。制御部50は、認識された全体の領域において一物体の1以上の部分が検知された領域の一例として、上半身及び頭部の領域を認識して、当該1以上の部分の領域に関する認識結果に基づいて、物体の種類の一例としてクラスを判別する。
 また、物体検知システム1において人物を物体検知の対象とする場合、上記の物体検知モデル70を含む複数の検知モデルに代えて、撮像画像に骨格検知或いは姿勢推定の技術を適用することで、人物の体の各部が物体の種類として判定されてもよい。
 また、上記の各実施形態では、物体検知部71が検知結果として、検知領域をクラスに対応付けて出力する例を説明した。本実施形態では、検知結果としてクラスに依らず画像上の位置及びサイズにより規定される検知領域が出力されてもよい。例えば、ステップS12において、クラスに代えて検知領域の位置及びサイズに基づいて、物体の種類が判定されてもよい。
 上記の各実施形態では、物体検知装置の例として動線抽出サーバ5を説明した。本実施形態において、例えば端末装置4が物体検知装置として構成されて、制御部40により、物体検知装置の各種動作が実行されてもよい。
 上記の各実施形態では、物体検知システム1におけるカメラの一例として全方位カメラ2を説明した。本実施形態において、物体検知システム1は、全方位カメラ2に限らず、種々のカメラを備えてもよい。例えば、本システム1のカメラは、正射影方式、等距離射影方式及び等立体角射影方式といった種々の射影方式を採用する各種の撮像装置であってもよい。
 上記の各実施形態では、物体検知システム1が作業場6に適用される例を説明した。本実施形態において、物体検知システム1及び動線抽出サーバ5が適用される現場は特に作業場6に限らず、例えば物流倉庫または店舗の売り場など種々の現場であってもよい。
 以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
 したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において、種々の変更、置換、付加、省略などを行うことができる。
 本開示は、カメラを用いて複数種類の物体の位置を検知する種々の物体検知装置に適用可能であり、例えば動線検知装置、監視装置及び追跡装置に適用可能である。

Claims (10)

  1.  カメラにより撮像される撮像平面における物体の位置を検知する物体検知装置であって、
     前記カメラの撮像動作により生成された画像データを取得する取得部と、
     前記物体の位置に関して、前記画像データが示す画像に応じた第1の座標から、前記撮像平面に応じた第2の座標への座標変換を演算する制御部と、
     前記座標変換に用いられる設定情報を記憶する記憶部と
    を備え、
     前記設定情報は、複数の種類の物体における各種類の物体に関して、前記撮像平面からの高さを示す設定値を含み、
     前記制御部は、
     前記取得部により取得された画像データに基づいて、前記第1の座標における前記物体の位置と、前記複数の種類から判別された前記物体の種類とを関連付けた検知結果を取得し、
     前記検知結果における前記物体の種類に応じて、前記設定値を切り替えるように前記座標変換を演算して、前記第2の座標における前記物体の位置を算出する
    物体検知装置。
  2.  前記複数の種類は、一物体の全体を示す種類及び当該物体における部分を示す種類を含み、
     前記設定情報は、前記全体の種類及び前記部分の種類における各種類に関して、異なる設定値を含む
    請求項1に記載の物体検知装置。
  3.  前記制御部は、前記複数の種類の物体を検知する物体検知モデルに、取得された画像データを入力して、前記検知結果を出力し、
     前記物体検知モデルは、前記カメラに基づく画像データと、前記複数の種類の各種類を示すラベルとを関連付けた正解データを用いた機械学習により生成される
    請求項1又は2に記載の物体検知装置。
  4.  ユーザの操作において情報を取得する情報入力部をさらに備え、
     前記情報入力部は、前記正解データを作成するためのアノテーション作業におけるユーザ操作において、前記複数の種類毎の設定値を取得する
    請求項3に記載の物体検知装置。
  5.  前記設定情報は、前記複数の種類に関して設定された所定の順序を示す情報を含み、
     前記制御部は、
     取得された画像データが示す画像において、前記複数の種類の物体のうちの2以上の種類の物体が互いに重畳して検知されたとき、
     前記所定の順序に従って、前記2以上の種類から一の種類を選択して、前記第2の座標における前記選択した種類の物体の位置を算出する
    請求項1から4のいずれか1項に記載の物体検知装置。
  6.  前記制御部は、前記取得部により順次、取得される画像データに基づいて、前記画像データ毎の前記第2の座標における前記物体の位置を順番に含む動線情報を生成し、
     前記制御部は、
     新たに取得された画像データが示す画像において、前記複数の種類の物体のうちの2以上の種類の物体が互いに重畳して検知されたとき、
     前記動線情報に含まれる位置に基づいて、前記2以上の種類の物体から一の種類を選択して、
     前記第2の座標における前記選択した種類の物体の位置を算出する
    請求項1から5のいずれか1項に記載の物体検知装置。
  7.  前記制御部は、
     取得された画像データが示す画像において前記一物体の全体が検知された領域を認識し、
     認識された全体の領域において前記一物体の1以上の部分が検知された領域を認識して、
     前記1以上の部分の領域に関する認識結果に基づいて、前記物体の種類を判別する
    請求項2に記載の物体検知装置。
  8.  カメラにより撮像される撮像平面における物体の位置を検知する物体検知方法であって、
     コンピュータの記憶部には、前記物体の位置に関して、前記カメラの撮像動作により生成された画像データが示す画像に応じた第1の座標から、前記撮像平面に応じた第2の座標への座標変換に用いられる設定情報が格納されており、
     前記設定情報は、複数の種類の物体における各種類の物体に関して、前記撮像平面からの高さを示す設定値を含み、
     前記コンピュータの制御部が、
     前記画像データを取得するステップと、
     取得された画像データに基づいて、前記第1の座標における前記物体の位置と、前記複数の種類から判別された前記物体の種類とを関連付けた検知結果を取得するステップと、
     前記検知結果における前記物体の種類に応じて、前記設定値を切り替えるように前記座標変換を演算して、前記第2の座標における前記物体の位置を算出するステップと
    を含む物体検知方法。
  9.  請求項8に記載の物体検知方法をコンピュータに実行させるためのプログラム。
  10.  カメラにより撮像される撮像平面における物体の位置を検知する物体検知装置であって、
     前記カメラの撮像動作により生成された画像データを取得する取得部と、
     前記物体の位置に関して、前記画像データが示す画像に応じた第1の座標から、前記撮像平面に応じた第2の座標への座標変換を演算する制御部と、
     前記座標変換に用いられる設定情報を記憶する記憶部と、
     ユーザの操作において情報を取得する情報入力部と
    を備え、
     前記設定情報は、複数の種類の物体における各種類の物体に関して、前記撮像平面からの高さを示す設定値を含み、
     前記情報入力部は、前記設定値を入力するユーザ操作において、前記複数の種類毎の設定値を取得し、
     前記制御部は、
     前記取得部により取得された画像データに基づいて、前記第1の座標における前記物体の位置と、前記複数の種類から判別された前記物体の種類とを関連付けた検知結果を取得し、
     前記検知結果における前記物体の種類毎に、前記ユーザ操作において取得された設定値に応じて前記座標変換を演算して、前記第2の座標における前記物体の位置を算出する
    物体検知装置。
PCT/JP2021/048247 2021-05-13 2021-12-24 物体検知装置及び方法 WO2022239291A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2023520761A JPWO2022239291A1 (ja) 2021-05-13 2021-12-24
CN202180098118.0A CN117296079A (zh) 2021-05-13 2021-12-24 物体探测装置以及方法
US18/383,518 US20240070894A1 (en) 2021-05-13 2023-10-25 Object detection device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021081787 2021-05-13
JP2021-081787 2021-05-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/383,518 Continuation US20240070894A1 (en) 2021-05-13 2023-10-25 Object detection device and method

Publications (1)

Publication Number Publication Date
WO2022239291A1 true WO2022239291A1 (ja) 2022-11-17

Family

ID=84028106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/048247 WO2022239291A1 (ja) 2021-05-13 2021-12-24 物体検知装置及び方法

Country Status (4)

Country Link
US (1) US20240070894A1 (ja)
JP (1) JPWO2022239291A1 (ja)
CN (1) CN117296079A (ja)
WO (1) WO2022239291A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013162329A (ja) * 2012-02-06 2013-08-19 Sony Corp 画像処理装置、画像処理方法、プログラム、及び記録媒体
JP2017117244A (ja) * 2015-12-24 2017-06-29 Kddi株式会社 カメラの撮影画像に映る人物を検出する画像解析装置、プログラム及び方法
JP2020149111A (ja) * 2019-03-11 2020-09-17 オムロン株式会社 物体追跡装置および物体追跡方法
JP2020173504A (ja) * 2019-04-08 2020-10-22 清水建設株式会社 位置推定システム、位置推定装置、位置推定方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013162329A (ja) * 2012-02-06 2013-08-19 Sony Corp 画像処理装置、画像処理方法、プログラム、及び記録媒体
JP2017117244A (ja) * 2015-12-24 2017-06-29 Kddi株式会社 カメラの撮影画像に映る人物を検出する画像解析装置、プログラム及び方法
JP2020149111A (ja) * 2019-03-11 2020-09-17 オムロン株式会社 物体追跡装置および物体追跡方法
JP2020173504A (ja) * 2019-04-08 2020-10-22 清水建設株式会社 位置推定システム、位置推定装置、位置推定方法、及びプログラム

Also Published As

Publication number Publication date
CN117296079A (zh) 2023-12-26
US20240070894A1 (en) 2024-02-29
JPWO2022239291A1 (ja) 2022-11-17

Similar Documents

Publication Publication Date Title
US11308347B2 (en) Method of determining a similarity transformation between first and second coordinates of 3D features
US10445887B2 (en) Tracking processing device and tracking processing system provided with same, and tracking processing method
US8094204B2 (en) Image movement based device control method, program, and apparatus
JP6587489B2 (ja) 画像処理装置、画像処理方法および画像処理システム
US9832447B2 (en) Image processing system and image processing program
US11082634B2 (en) Image processing system, image processing method, and program
TW201715476A (zh) 運用擴增實境技術之導航系統
JP6590609B2 (ja) 画像解析装置及び画像解析方法
JP5699697B2 (ja) ロボット装置、位置姿勢検出装置、位置姿勢検出プログラム、および位置姿勢検出方法
EP2381415A1 (en) Person-judging device, method, and program
JP5456175B2 (ja) 映像監視装置
JP5525495B2 (ja) 映像監視装置、映像監視方法およびプログラム
JP6579727B1 (ja) 動体検出装置、動体検出方法、動体検出プログラム
JP2013038454A (ja) 画像処理装置および方法、並びにプログラム
WO2022239291A1 (ja) 物体検知装置及び方法
EP3477544A1 (en) Information processing apparatus, information processing method, imaging apparatus, network camera system, and program
JP2015184986A (ja) 複合現実感共有装置
JP2020135446A (ja) 画像処理装置及び画像処理方法
JP2013257830A (ja) 情報処理装置
JPWO2021130982A5 (ja) 情報処理装置、制御方法及びプログラム
JP2020173698A (ja) 作業動線記録システム
JP2011158956A (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: 21942019

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023520761

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202180098118.0

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21942019

Country of ref document: EP

Kind code of ref document: A1