WO2022064632A1 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
WO2022064632A1
WO2022064632A1 PCT/JP2020/036225 JP2020036225W WO2022064632A1 WO 2022064632 A1 WO2022064632 A1 WO 2022064632A1 JP 2020036225 W JP2020036225 W JP 2020036225W WO 2022064632 A1 WO2022064632 A1 WO 2022064632A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
fisheye
person
panoramic
fish
Prior art date
Application number
PCT/JP2020/036225
Other languages
English (en)
French (fr)
Inventor
カレン ステファン
健全 劉
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2022551516A priority Critical patent/JPWO2022064632A1/ja
Priority to PCT/JP2020/036225 priority patent/WO2022064632A1/ja
Priority to US18/026,407 priority patent/US20230368576A1/en
Publication of WO2022064632A1 publication Critical patent/WO2022064632A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • 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/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Definitions

  • the present invention relates to an image processing device, an image processing method and a program.
  • Patent Document 1 discloses a technique for performing machine learning using a training image and information for identifying the location of a business store. Further, Patent Document 1 discloses that a panoramic image, an image having a field of view larger than 180 °, and the like can be used as a training image.
  • Non-Patent Document 1 discloses a technique for estimating a person's behavior indicated by a moving image based on a 3D-CNN (convolutional neural network).
  • fisheye image a technique for estimating human behavior based on an image generated by using a fisheye lens (hereinafter, may be referred to as a "fisheye image").
  • the reference line L s is a line connecting the reference point (x c , y c ) and an arbitrary point on the outer circumference of the circular image, and is a position where the fisheye image is cut open when the panoramic image is developed.
  • the image near the reference line L s is located at the end of the panoramic image.
  • the reference point (x c , y c ) is a point of the image in the circular image circle of the fisheye image, for example, the center of the circle.
  • the width w is the width of the panoramic image
  • the height h is the height of the panoramic image. These values may be default values or may be set arbitrarily by the user.
  • any target point (x f , y f ) in the fisheye image is converted to a point (x p , y p ) in the panoramic image based on the “panoramic expansion” formula shown in the figure. can do.
  • the distance r f between the reference point (x c , y c ) and the target point (x f , y f ) can be calculated.
  • the angle ⁇ formed by the line connecting the reference point (x c , y c ) and the target point (x f , y f ) and the reference line L s can be calculated.
  • An object of the present invention is to estimate the behavior of a person included in a fisheye image with high accuracy.
  • the computer The panoramic image obtained by panoramicly expanding the fisheye image generated by the fisheye lens camera is analyzed, and the human behavior indicated by the panoramic image is estimated.
  • the fisheye partial image which is a partial region of the fisheye image, is image-analyzed without panoramic expansion, and the human behavior indicated by the fisheye partial image is estimated.
  • An image processing method for estimating a person's behavior indicated by the fisheye image is provided based on the estimation result based on the panoramic image and the estimation result based on the fisheye partial image.
  • a program is provided that functions as.
  • the image processing device 10 executes a panorama process (Panorama processing), a fisheye process (Fisheye processing), and an integration process.
  • the image processing device 10 analyzes the panoramic image obtained by panoramicly expanding the fisheye image, and estimates the person behavior indicated by the panoramic image.
  • the image processing apparatus 10 analyzes the fish-eye partial image, which is a partial region of the fish-eye image, without panoramic expansion, and estimates the human behavior indicated by the fish-eye partial image. Then, in the integrated process, the image processing device 10 is based on the estimation result of the person behavior based on the panoramic image obtained in the panorama process and the estimation result of the person behavior based on the fisheye partial image obtained in the fisheye process. , Estimate the human behavior shown by the fish-eye image.
  • Each functional unit included in the image processing device 10 includes a CPU (Central Processing Unit) of an arbitrary computer, a memory, a program loaded in the memory, and a storage unit such as a hard disk for storing the program (stored from the stage of shipping the device in advance).
  • a storage unit such as a hard disk for storing the program (stored from the stage of shipping the device in advance).
  • it can also store programs downloaded from storage media such as CDs (Compact Discs) and servers on the Internet), and by any combination of hardware and software centered on the network connection interface. It will be realized. And, it is understood by those skilled in the art that there are various variations in the method of realizing the device and the device.
  • FIG. 3 is a block diagram illustrating a hardware configuration of the image processing device 10.
  • the image processing device 10 includes a processor 1A, a memory 2A, an input / output interface 3A, a peripheral circuit 4A, and a bus 5A.
  • the peripheral circuit 4A includes various modules.
  • the image processing device 10 does not have to have the peripheral circuit 4A.
  • the image processing device 10 may be composed of a plurality of physically and / or logically separated devices, or may be composed of one physically and / or logically integrated device. When the image processing device 10 is composed of a plurality of physically and / or logically separated devices, each of the plurality of devices can be provided with the above hardware configuration.
  • the bus 5A is a data transmission path for the processor 1A, the memory 2A, the peripheral circuit 4A, and the input / output interface 3A to transmit and receive data to each other.
  • the processor 1A is, for example, an arithmetic processing unit such as a CPU or a GPU (Graphics Processing Unit).
  • the memory 2A is, for example, a memory such as a RAM (RandomAccessMemory) or a ROM (ReadOnlyMemory).
  • the input / output interface 3A includes an interface for acquiring information from an input device, an external device, an external server, an external sensor, a camera, etc., an interface for outputting information to an output device, an external device, an external server, etc. ..
  • the input device is, for example, a keyboard, a mouse, a microphone, a physical button, a touch panel, or the like.
  • the output device is, for example, a display, a speaker, a printer, a mailer, or the like.
  • the processor 1A can issue a command to each module and perform a calculation based on the calculation result thereof.
  • FIG. 4 shows an example of a functional block diagram of the image processing device 10.
  • the image processing device 10 has a first estimation unit 11, a second estimation unit 12, and a third estimation unit 13. These functional parts perform the panoramic process, fisheye process and integration process described above.
  • the configuration of each functional unit will be described separately for each process.
  • FIG. 5 shows the flow of the panoramic process in more detail.
  • the first estimation unit 11 acquires a plurality of time-series fisheye images (fisheye image acquisition process)
  • the first estimation unit 11 panoramicly expands each of them to generate a plurality of time-series panoramic images (panorama).
  • the first estimation unit 11 estimates the person behavior indicated by the time-series plurality of panoramic images based on the time-series plurality of panoramic images and the first estimation model (first estimation process).
  • the panorama process includes a fisheye image acquisition process, a panorama development process and a first estimation process.
  • the first estimation unit 11 acquires a plurality of time-series fisheye images.
  • a fisheye image is an image generated using a fisheye lens.
  • the plurality of time-series fisheye images may be, for example, a moving image, or may be a plurality of continuous still images generated by continuously photographing at predetermined time intervals.
  • acquisition means “the own device goes to fetch the data stored in another device or the storage medium” based on the user input or the instruction of the program (actively). (Acquisition) ”, for example, requesting or inquiring about another device and receiving it, accessing and reading another device or storage medium, and the like may be included. Further, “acquisition” means “inputting data output from another device to the own device (passive acquisition)” based on user input or program instruction, for example, distribution (or distribution (or). , Transmission, push notification, etc.) may be included. In addition, “acquisition” means to select and acquire from received data or information, and “edit data (text conversion, data sorting, partial data extraction, file format change, etc.)". It may include “to generate new data and acquire the new data”.
  • the first estimation unit 11 panoramicly expands each of the plurality of time-series fisheye images to generate a plurality of time-series panoramic images.
  • the panoramic development method will be described, but other methods may be adopted.
  • the first estimation unit 11 determines the reference line L s , the reference point (x c , y c ), the width w, and the height h (see FIG. 1).
  • the first estimation unit 11 detects predetermined plurality of points on the body of each of the plurality of persons from the images in the circular image circle of the fisheye image. Then, the first estimation unit 11 specifies the direction of gravity (vertical direction) at each position of the plurality of persons based on the detected predetermined plurality of points.
  • the first estimation unit 11 may detect a plurality of points (two points) of the body in which the lines connecting each other are parallel to the direction of gravity in the image generated by photographing the standing person from the front. Examples of such a combination of two points include (middle of both shoulders, middle of waist), (tip of head, middle of waist), (tip of head, middle of both shoulders), and the like. Not limited. In the case of this example, the first estimation unit 11 specifies the direction from a predetermined one of the two points detected corresponding to each person toward the other point as the gravity direction.
  • the first estimation unit 11 detects a plurality of points (two points) of the body in which the lines connecting each other are perpendicular to the direction of gravity in the image generated by photographing the standing person from the front. May be good. Examples of such a combination of the two points include (right shoulder, left shoulder), (right waist, left waist), and the like, but are not limited thereto. In the case of this example, the first estimation unit 11 passes through the midpoint of the two points detected corresponding to each person, and the direction in which the line perpendicular to the line connecting the two points extends is defined as the direction of gravity. Identify.
  • the first estimation unit 11 can detect a plurality of points on the body described above by using any image analysis technique.
  • the first estimation unit 11 is described as "an algorithm for detecting predetermined plurality of points of each person's body existing in an image generated by using a standard lens (for example, an angle of view of about 40 ° to about 60 °)".
  • a standard lens for example, an angle of view of about 40 ° to about 60 °
  • the first estimation unit 1 may analyze the image while rotating the fish-eye image. That is, even if the first estimation unit 11 rotates the image in the image circle of the fisheye image and analyzes the image in the image circle after the rotation to detect a predetermined plurality of points of the human body. good.
  • the first estimation unit 11 first analyzes the image in the rotational state shown in FIG. 6, and performs a process of detecting the middle P1 of both shoulders and the middle P2 of the waist of each person. In this case, the first estimation unit 11 could detect the points P1 and P2 of the persons M1 and M2 whose body extension direction is close to the vertical direction in the figure, but could not detect the points P1 and P2 of the other persons. ..
  • the first estimation unit 11 rotates the fisheye image F by 90 °. Then, the state shown in FIG. 7 is obtained.
  • the first estimation unit 11 analyzes the image in this rotational state, and performs a process of detecting the middle P1 of both shoulders and the middle P2 of the waist of each person. In this case, the first estimation unit 11 could detect the points P1 and P2 of the person M5 whose body extension direction is close to the vertical direction in the figure, but could not detect the points P1 and P2 of the other person.
  • the first estimation unit 11 further rotates the fisheye image F by 90 °. Then, the state shown in FIG. 8 is obtained.
  • the first estimation unit 11 analyzes the image in this rotational state, and performs a process of detecting the middle P1 of both shoulders and the middle P2 of the waist of each person. In this case, the first estimation unit 11 could detect the points P1 and P2 of the person M4 whose body extension direction is close to the vertical direction in the figure, but could not detect the points P1 and P2 of the other person.
  • the first estimation unit 11 further rotates the fisheye image F by 90 °. Then, the state shown in FIG. 9 is obtained.
  • the first estimation unit 11 analyzes the image in this rotational state, and performs a process of detecting the middle P1 of both shoulders and the middle P2 of the waist of each person. In this case, the first estimation unit 11 could detect the points P1 and P2 of the person M3 whose body extension direction is close to the vertical direction in the figure, but could not detect the points P1 and P2 of the other person.
  • the first estimation unit 11 can detect predetermined plurality of points of the body of each of the plurality of persons whose body stretches in different directions by analyzing the image while rotating the fisheye image. can.
  • the rotation is performed by 90 °, but this is just an example and is not limited to this.
  • the first estimation unit 11 determines a reference point (x c , y c ) based on the direction of gravity at each position of the plurality of persons in the fisheye image. Then, the first estimation unit 11 stores the determined reference points (x c , y c ) in the storage unit of the image processing device 10.
  • the first estimation unit 11 passes through the positions of the plurality of persons, and when the straight lines extending in the direction of gravity at the positions of the plurality of persons intersect at one point, the intersecting points are used as reference points (x c , y c) . ).
  • the first estimation unit 11 has a distance from each of the plurality of straight lines.
  • a point satisfying a predetermined condition is set as a reference point (x c , y c ).
  • the “straight line that passes through each position and extends in the direction of gravity at each position of the plurality of persons” may be a line connecting the two points detected by the first estimation unit 11.
  • the first estimation unit 11 detects a plurality of points (two points) of the body in which the lines connecting each other are perpendicular to the direction of gravity in the image generated by photographing the standing person from the front, "plurality".
  • the "straight line extending in the direction of gravity at each position of the plurality of persons” passes through the midpoint of the two points detected by the first estimation unit 11 and connects the two points. It may be a line perpendicular to.
  • FIG. 10 shows the concept of the reference point determination process by the first estimation unit 11.
  • the first estimation unit 11 detects the middle P1 of both shoulders and the middle P2 of the waist of each person.
  • the line connecting the points P1 and P2 is "a straight line L1 to L5 that passes through the positions of each of the plurality of persons and extends in the direction of gravity at each of the positions of the plurality of persons".
  • the plurality of straight lines L1 to L5 do not intersect at one point. Therefore, the first estimation unit 11 sets a point at which the distance from each of the plurality of straight lines L1 to L5 satisfies a predetermined condition as a reference point (x c , y c ).
  • the predetermined condition is, for example, "the sum of the distances to each of the plurality of straight lines is the minimum", but the predetermined condition is not limited to this.
  • the first estimation unit 11 can calculate a point satisfying a predetermined condition based on the following equations (1) to (3).
  • each of the straight lines L1 to L5 is shown by the equation (1).
  • k i is the slope of each straight line
  • c i is the intercept of each straight line. From the equations (2) and (3), the point where the sum of the distances to each of the straight lines L1 to L5 is the minimum can be calculated as a reference point (x c , y c ).
  • the reference points (x c , y c ) set in the plurality of fisheye images generated by the camera are the same position. Therefore, when the first estimation unit 11 calculates the reference point (x c , y c ) of one fisheye image by the above processing, the calculated reference point (x c , y c ) is used as the fish eye image. You may register it by associating it with the generated camera. After that, the reference points (x c , y c ) are not calculated for the fisheye image generated by the camera, and the registered reference points (x c , y c ) are read out. You may use it.
  • the first estimation unit 11 complements the image in the image circle of the fisheye image. And generate a complementary circular image.
  • the reference point (x c , y c ) coincides with the center of the image in the image circle of the fisheye image, the first estimation unit 11 does not perform complementation of the image.
  • the complementary circular image is an image obtained by adding a complementary image to the image in the image circle, and is a circular image centered on a reference point (x c , y c ).
  • the maximum value of the distance from the reference point (x c , y c ) to the point on the outer circumference of the image in the image circle is the radius, and the image in the image circle may be inscribed.
  • the complementary image added to the image in the image circle may be a monochromatic (eg, black) image, an arbitrary pattern image, or any other.
  • FIG. 11 shows an example of the complementary circular image C2 generated by the first estimation unit 11.
  • a complementary circular image C2 is generated by adding a black single color complementary image to the image C1 in the image circle of the fisheye image F.
  • the complementary circular image C2 is circular as shown, and the reference point (x c , y c ) is the center thereof.
  • the radius r of the complementary circular image C2 is the maximum value of the distance from the reference point (x c , y c ) to the point on the outer circumference of the image C1 in the image circle.
  • the image C1 in the image circle is inscribed in the complementary circular image C2.
  • the reference line L s is a line connecting a reference point (x c , y c ) and an arbitrary point on the outer periphery of a circular image (image C1 in an image circle, complementary circular image C2, etc.).
  • the position of the reference line L s is the position to be cut open when the circular image is panoramicly developed.
  • the first estimation unit 11 can set, for example, a reference line L s that does not overlap with a person. By setting the reference line L s in this way, it is possible to suppress the inconvenience that the person is separated into two parts in the panoramic image.
  • the first estimation unit 11 does not set the reference line Ls within a predetermined distance from the plurality of points of the body of each person detected in the above process, and places the reference line Ls at a place separated from the plurality of detected points by a predetermined distance or more.
  • the reference line L s may be set.
  • width w is the width of the panoramic image
  • height h is the height of the panoramic image.
  • the first estimation unit 11 panoramicly expands the fisheye image and generates a panoramic image.
  • the reference point (x c , y c ) is different from the center of the image in the image circle of the fisheye image
  • the first estimation unit 11 panoramicly expands the complementary circular image to generate a panoramic image.
  • the reference point (x c , y c ) coincides with the center of the image in the image circle of the fisheye image
  • the first estimation unit 11 panoramicly expands the image in the image circle of the fisheye image to obtain a panoramic image.
  • the first estimation unit 11 can be panoramicly developed by using the method described with reference to FIG.
  • the first estimation unit 11 detects predetermined plurality of points on the body of each of the plurality of persons from the images in the image circle (S10). For example, the first estimation unit 11 detects the middle P1 of both shoulders and the middle P2 of the waist of each person.
  • the first estimation unit 11 analyzes the image in the image circle and detects a predetermined plurality of points on the body of each of the plurality of persons (S20). After that, the first estimation unit 11 rotates the image in the image circle by a predetermined angle (S21).
  • the predetermined angle is, for example, 90 °, but is not limited thereto.
  • the first estimation unit 11 analyzes the image in the image circle after rotation, and detects a predetermined plurality of points on the body of each of the plurality of persons (S22). Then, when the total rotation angle has not reached 360 ° (No in S23), the first estimation unit 11 returns to S21 and repeats the same process. On the other hand, when the total rotation angle reaches 360 ° (Yes in S23), the first estimation unit 11 ends the process.
  • the first estimation unit 11 identifies the direction of gravity at each position of the plurality of persons based on the predetermined plurality of points detected in S10 (S11). For example, the first estimation unit 11 specifies the direction from the center P1 of both shoulders of each person to the center P2 of the waist as the direction of gravity at the position of each person.
  • the first estimation unit 11 passes through the positions of each of the plurality of persons and calculates a straight line extending in the direction of gravity at each position (S12).
  • the first estimation unit 11 sets the intersecting points as reference points (x c , y c ) (S14).
  • the first estimation unit 11 finds a point where the distance from each of the plurality of straight lines satisfies a predetermined condition (example: shortest), and determines that point. It is set as a reference point (x c , y c ) (S15).
  • the first estimation unit 11 uses FIG. Using the method described, the image in the image circle of the fisheye image is panoramicly expanded to generate a panoramic image (S33). That is, in this case, the generation of the complementary circular image and the panoramic expansion of the complementary circular image are not performed.
  • the first estimation unit 11 is a complementary circular image. Is generated (S31).
  • the complementary circular image is a circular image in which the complementary image is added to the image in the image circle, and the reference point (x c , y c ) is the center of the circle.
  • the maximum value of the distance from the reference point (x c , y c ) to the point on the outer circumference of the image in the image circle is the radius, and the image in the image circle may be inscribed.
  • the complementary image added to the image in the image circle may be a monochromatic (eg, black) image, an arbitrary pattern image, or any other.
  • the first estimation unit 11 panoramicly develops the complementary circular image by using the method described with reference to FIG. 1 and generates a panoramic image (S32).
  • the first estimation unit 11 estimates the person behavior indicated by the time-series plurality of panoramic images based on the generated time-series plurality of panoramic images and the first estimation model.
  • the first estimation unit 11 generates three-dimensional feature information indicating the time change of the feature of each position in the image from a plurality of time-series panoramic images.
  • the first estimation unit 11 can generate three-dimensional feature information based on 3D CNN (for example, a convolutional deep learning network such as 3D Resnet, but is not limited to this).
  • the first estimation unit 11 generates person position information indicating a position where a person exists in each of a plurality of time-series panoramic images.
  • the first estimation unit 11 can generate person position information indicating the position where each of the plurality of people is present.
  • the first estimation unit 11 extracts a silhouette (whole body) of a person in an image, and generates person position information indicating an area in the image including the extracted silhouette.
  • the first estimation unit 11 is a "deep learning network for object recognition" that recognizes any object (for example, a person) from a flat image or video more specifically at high speed and with high accuracy based on deep learning technology. Person position information can be generated based on.
  • the deep learning network for object recognition examples include, but are not limited to, Mask-RCNN, RCNN, Fast RCNN, and Faster RCNN.
  • the first estimation unit 11 may perform the same person detection process for each of a plurality of time-series panoramic images, or may use the person tracking technique to track a person once detected in the image. And the position may be specified.
  • the first estimation unit 11 estimates the person behavior shown by the plurality of panoramic images based on the time change of the feature indicated by the three-dimensional feature information at the position where the person indicated by the person position information exists. For example, the first estimation unit 11 corrects the three-dimensional feature information to change the value at a position other than the position where the person indicated by the person position information exists to a predetermined value (example: 0), and then performs the correction. It is possible to estimate the human behavior shown by a plurality of images based on the corrected three-dimensional feature information. The first estimation unit 11 can estimate the person's behavior based on the first estimation model generated in advance by machine learning and the corrected three-dimensional feature information.
  • the first estimation model may be a model that estimates human behavior generated by machine learning based on an image (learning data) generated using a standard lens (for example, an angle of view of about 40 ° to about 60 °). can.
  • the first estimation model may be a model that estimates human behavior generated by machine learning based on a panoramic image (learning data) generated by panoramic expansion of a fisheye image.
  • the first estimation unit 11 acquires a plurality of time-series panoramic images by executing the panoramic expansion process (S40).
  • the first estimation unit 11 After that, the first estimation unit 11 generates three-dimensional feature information indicating the time change of the feature of each position in the image from a plurality of panoramic images in time series (S41). In addition, the first estimation unit 11 generates person position information indicating a position where a person exists in each of the plurality of panoramic images (S42).
  • the first estimation unit 11 estimates the person behavior shown by the plurality of images based on the time change of the feature indicated by the three-dimensional feature information at the position where the person indicated by the person position information exists (S43).
  • the first estimation unit 11 has acquired, for example, a time-series panoramic image (16 ⁇ 2451 ⁇ 800) for 16 frames. Then, the first estimation unit 11 convolves the panoramic image for 16 frames into 512 channels based on 3D CNN (for example, a convolutional deep learning network such as 3D Resnet, but is not limited to this). Generates 3D feature information (512 ⁇ 77 ⁇ 25). Further, the first estimation unit 11 generates person position information (binary Mask in the figure) indicating the position where the person exists in each of the images for 16 frames based on the deep learning network of object recognition such as Mask-RCNN. do. In the illustrated example, the person position information indicates the position of each of a plurality of rectangular areas including each person.
  • 3D CNN for example, a convolutional deep learning network such as 3D Resnet, but is not limited to this.
  • 3D feature information 512 ⁇ 77 ⁇ 25
  • the first estimation unit 11 generates person position information (binary Mask in the figure) indicating the position where the person
  • the first estimation unit 11 makes a correction for the three-dimensional feature information to change the value at the position other than the position where the person indicated by the person position information exists to a predetermined value (example: 0).
  • the first estimation unit 11 divides the three-dimensional feature information into N blocks (each having a width of k), passes through an Average Pooling, flatten, fully-connected layer, and the like, and a plurality of predefined ones. The probability (output value) that each of the categories (personal behavior) of is included is obtained for each block.
  • 19 categories are defined and learned.
  • the 19 categories are “walking”, “running”, “waving”, “picking up”, “throwing away”, “taking off the jacket”, “wearing the jacket”, “calling”, “calling”.
  • Use your smartphone eat snacks, go up the stairs, go down the stairs, drink water, shake hands, take things from someone else's pocket, give things to others , “Push another person”, “Hold the card to enter the station yard”, “Hold the card to exit the station ticket gate”, but it is not limited to these.
  • the processing device 20 estimates that the person behavior corresponding to the category whose probability is equal to or higher than the threshold value is shown in the image.
  • N instance scores indicate the probability that each of the N blocks included in a plurality of time-series panoramic images includes each of the above 19 categories.
  • Final scores of the panorama branch for clip 1 indicates the probability that a plurality of time-series panoramic images include each of the above 19 categories.
  • the details of the process of calculating Final scores of the panorama branch for clip 1 from N instance scores are not particularly limited, but an example will be described below.
  • the fisheye process is performed by the second estimation unit 12. As shown in FIG. 5, when the second estimation unit 12 acquires a plurality of time-series fish-eye images (fish-eye image acquisition process), a part of the region is cut out from each of the time-series multiple fish-eye partial images. (First cutting process). After that, the second estimation unit 12 edits the generated time-series plurality of fish-eye partial images, and generates a time-series plurality of edited fish-eye partial images for each person included in the fish-eye partial image. (Editing process).
  • the second estimation unit 12 estimates the human behavior indicated by the time-series plurality of edited fish-eye partial images based on the time-series plurality of edited fish-eye partial images and the second estimation model (second). 2 estimation process).
  • the fisheye process includes a fisheye image acquisition process, a first cutting process, an editing process and a second estimation process.
  • the second estimation unit 12 acquires a plurality of time-series fisheye images.
  • the fisheye image acquisition process executed by the second estimation unit 12 is the same as the fisheye image acquisition process executed by the first estimation unit 11 described in the panoramic process, and thus the description thereof is omitted here.
  • the second estimation unit 12 cuts out a part of each of the time-series plurality of fish-eye images to generate a time-series plurality of fish-eye partial images.
  • the second estimation unit 12 cuts out an image in a circular region having a radius R centered on the reference point (x c , y c ) described in the panorama process as a fisheye partial image.
  • the radius R may be a preset fixed value. In addition, it may be a variable value determined based on the analysis result of the fisheye image.
  • the radius R (the size of the fisheye partial image) may be determined based on the detection result (number of detected persons) of a person existing in a preset central region in the fisheye image, for example. The larger the number of detected people, the larger the radius R.
  • the second estimation unit 12 edits the generated time-series plurality of fish-eye partial images, and prepares a time-series plurality of edited fish-eye partial images for each person included in the fish-eye partial image. Generate. Hereinafter, it will be described in detail.
  • the second estimation unit 12 analyzes the fish-eye partial image and detects a person included in the fish-eye partial image. For the detection of a person, as in the process described in the panorama process (process of FIG. 13), a method of detecting a person by analyzing the fisheye partial image at each rotation position while rotating the fisheye partial image is adopted. May be good.
  • a person included in the fisheye partial image may be detected based on a person detection model generated by machine learning using the fisheye image as training data.
  • the second estimation unit 12 may perform the same person detection process for each of a plurality of time-series fisheye partial images, or may use a person tracking technique to perform a moving image of a person once detected. It may be tracked within to locate it.
  • the second estimation unit 12 executes a rotation process for rotating the fish-eye partial image and a second cutting process for cutting out a partial area of a predetermined size for each detected person. , Generate a fisheye partial image after editing.
  • the fisheye partial image is rotated so that the direction of gravity at each person's position is the vertical direction on the image.
  • the means for specifying the direction of gravity at the position of each person is as described in the panoramic process, but other methods may be used.
  • an image of a predetermined size including each person is cut out from the fisheye partial image after the rotation process.
  • the shape and size of the image to be cut out are predefined.
  • the second estimation unit 12 cuts out a part of the area in the image C1 in the image circle of the fisheye image F as the fisheye partial image C3 (first cut). Out process). This process is executed for each fisheye image F.
  • the second estimation unit 12 detects a person in the fish-eye partial image C3. In the illustrated example, two people have been detected.
  • the second estimation unit 12 executes a rotation process for the fish-eye partial image C3 for each detected person.
  • the direction of gravity at the position of each person is the vertical direction on the image. This process is executed for each fish-eye partial image C3.
  • the second estimation unit 12 cuts out an image of a predetermined size including each person from the rotated fisheye partial image C3 for each detected person. After editing, a fisheye partial image C4 is generated. This process is executed for each detected person and for each fish-eye partial image C3.
  • the second estimation unit 12 is shown by the time-series plurality of edited fish-eye partial images based on the generated time-series multiple edited fish-eye partial images and the second estimation model. Estimate human behavior.
  • the estimation process of the person behavior by the second estimation unit 12 is basically the same as the estimation process of the person behavior by the first estimation unit 11.
  • the second estimation unit 12 is a three-dimensional feature showing a time change of the feature of each position in the image from a plurality of edited fisheye partial images in time series corresponding to the first person. Generate information.
  • the second estimation unit 12 can generate three-dimensional feature information based on 3D CNN (for example, a convolutional deep learning network such as 3D Resnet, but is not limited to this). After that, the second estimation unit 12 performs a process of emphasizing the value of the position where the person is detected with respect to the generated three-dimensional feature information.
  • 3D CNN for example, a convolutional deep learning network such as 3D Resnet, but is not limited to this.
  • the second estimation unit 12 integrates the probabilities that each of the plurality of edited fisheye partial images corresponding to each person includes each of the plurality of categories (personal behaviors), and the second estimation unit 12 integrates the probabilities that each of the plurality of edited fisheye partial images is included in the fisheye partial image. Performs an operation to calculate the probability that each of the categories (personal behavior) is included.
  • the second estimation unit 12 analyzes the fish-eye partial image, which is a part of the fish-eye image, without panoramic expansion, and performs the human behavior indicated by the fish-eye partial image. presume.
  • the integration process is performed by the third estimation unit 13. As shown in FIG. 5, the third estimation unit 13 is based on the estimation result based on the panoramic image obtained by the panoramic process and the estimation result based on the fisheye partial image obtained by the fisheye process. Estimate the person behavior shown in the image.
  • both the estimation result based on the panoramic image and the estimation result based on the fish-eye partial image indicate the probability of including each of a plurality of predefined human behaviors.
  • the third estimation unit 13 calculates the probability that the fish-eye image includes each of the plurality of predefined human behaviors by a predetermined arithmetic process based on the estimation result based on the panoramic image and the estimation result based on the fish-eye partial image. ..
  • FIG. 19 is an example of a block diagram of the image processing device 10 of this embodiment.
  • the basic configuration of the image processing device 10 is composed of a panoramic process, a fisheye process, and an integrated process.
  • the basic configuration of each process is also as described above.
  • FIG. 20 is a flowchart showing a processing flow of the image processing apparatus 10 of this embodiment.
  • the image processing device 10 divides a plurality of input time-series fisheye images into a plurality of clips for each predetermined number.
  • FIG. 21 shows a specific example. In the illustrated example, 120 time-series fisheye images are input and they are divided into 8 clips. Each clip contains 16 fisheye images, and only the last one clip contains 8 fisheye images. After that, the fisheye process (S102 to S108), the panorama process (S109 to S115), and the integration process (S116) are executed for each clip.
  • FIGS. 17 and 18 Details of the fish-eye process (S102 to S108) are shown in FIGS. 17 and 18.
  • the image processing apparatus 10 extracts a part of each region of the plurality of time-series fisheye images F to generate a plurality of time-series fisheye partial images C3 (S102, FIG. 17 (A). ) ⁇ (B)).
  • the image processing device 10 detects a person from a plurality of time-series fisheye partial images C3 and tracks them in the moving image (S103, (B) ⁇ (C) in FIG. 17).
  • the image processing device 10 performs a rotation process ((C) ⁇ (D) in FIG. 17) with respect to the fish-eye partial image C3 for each detected person, and each of the rotated fish-eye partial images C3.
  • a process of cutting out an image of a predetermined size including a person ((D) ⁇ (E) in FIG. 17) is executed (S104).
  • S104 a plurality of edited fisheye partial images C4 in chronological order can be obtained for each detected person.
  • the image processing apparatus 10 convolves a plurality of edited fisheye partial images in time series for each detected person into a 3D CNN (for example, 3D Resnet or the like). Input to a learning network, etc., but not limited to this) to generate 3D feature information. Further, the image processing device 10 performs a process of emphasizing the value of the position where the person is detected with respect to the generated three-dimensional feature information.
  • a 3D CNN for example, 3D Resnet or the like.
  • the image processing device 10 performs a process of emphasizing the value of the position where the person is detected with respect to the generated three-dimensional feature information.
  • the image processing device 10 concatenates the three-dimensional feature information obtained for each person (S106). After that, the image processing device 10 passes through the Average Pooling, flatten, fully-connected layers, etc., and a plurality of time-series edited fisheye partial images in which each of the plurality of predefined categories (personal behavior) corresponds to each person. The probability (output value) included in is obtained (S107).
  • the image processing device 10 integrates the probability that each of the plurality of edited fisheye partial images corresponding to each person includes each of the plurality of categories (human behavior), and the plurality of time-series fisheye portions.
  • An operation is performed to calculate the probability that each of a plurality of categories (personal behavior) is included in the image (S108).
  • a function that returns statistical values of a plurality of values For example, the average function that returns the average value (see equation (4) above), the max function that returns the maximum value (see equation (5) above), and the log-sum-exp function that smoothly approximates the max function (see equation (6) above). ), Etc. are conceivable.
  • the image processing device 10 is, but is not limited to, a convolutional deep learning network such as 3D CNN (for example, 3D Resnet) after panoramic expansion of each of a plurality of time-series fisheye images (S109). ), The three-dimensional feature information (512 ⁇ 77 ⁇ 25) convolved in 512 channels is generated from the plurality of panoramic images in this time series (S110). Further, the image processing device 10 generates person position information indicating a position where a person exists in each of a plurality of time-series panoramic images based on a deep learning network of object recognition such as Mask-RCNN (S112).
  • 3D CNN for example, 3D Resnet
  • the image processing apparatus 10 makes a correction for changing the value at the position other than the position where the person indicated by the person position information generated in S112 exists to a predetermined value (example: 0) in the three-dimensionally generated in S110. This is performed for the feature information (S111).
  • the image processing apparatus 10 divides the three-dimensional feature information into N blocks (each having a width of k) (S113), passes through an Average Pooling, flatten, fully-connected layer, and the like, and is defined in advance.
  • the probability (output value) that each of the plurality of categories (personal behavior) is included is obtained for each block (S114).
  • the image processing device 10 integrates the probabilities that each of the plurality of categories (personal behaviors) obtained for each block is included, and the probability that each of the plurality of categories (personal behaviors) is included in the plurality of time-series panoramic images. Is calculated (S115).
  • a function that returns statistical values of a plurality of values For example, the average function that returns the average value (see equation (4) above), the max function that returns the maximum value (see equation (5) above), and the log-sum-exp function that smoothly approximates the max function (see equation (6) above). ), Etc. are conceivable.
  • the image processing apparatus 10 has a "probability that each of a plurality of categories (human behavior) is included in a plurality of time-series fish-eye partial images" obtained by the fish-eye process and a "time-series” obtained by the panorama process.
  • the probability that multiple categories (personal behavior) will be included in multiple panoramic images ” is integrated, and the probability that multiple categories (personal behavior) will be included in multiple time-series fisheye images included in each clip. Perform the calculation operation (see S116, FIG. 22). In the arithmetic processing, it is conceivable to use a function that returns statistical values of a plurality of values.
  • the "probability that each of the multiple categories (personal behavior) is included in the plurality of time-series fisheye images included in each clip” can be obtained.
  • a plurality of "probabilities that a plurality of categories (personal behaviors) are included in a plurality of time-series fisheye images included in each clip” obtained for each clip are integrated, and "120 input data are input.”
  • a calculation is performed to calculate the "probability that each of a plurality of categories (personal behavior) is included in a time-series fish-eye image" (see FIG. 22).
  • the image processing device 10 outputs the calculation result (S118) and specifies the position of the person behavior predicted to be included (S119).
  • the image processing device 10 applies the sigmoid function to "include each of a plurality of categories (human behavior) in the input 120 time-series fisheye images. "Probability of being” is converted into a value of 0 to 1. Then, learning is performed so as to optimize the value of the illustrated Total loss1 function.
  • FIG. 23 shows the flow of the modified example.
  • the configuration of the panoramic process is different from the above-described embodiment.
  • the panoramic process of the modified example will be described in detail.
  • the first estimation unit 11 analyzes the image and calculates the first estimation result of the person behavior shown by the plurality of panoramic images in time series.
  • the process is the same as the process of the panorama process described in the above embodiment.
  • the first estimation unit 11 analyzes the optical flow image generated from the panoramic image and calculates the second estimation result of the person behavior indicated by the panoramic image.
  • An optical flow image is an image of a vector representing the movement of an object in a plurality of panoramic images in a time series.
  • the first estimation unit 11 estimates the person behavior shown by the plurality of time-series panoramic images based on the first estimation result and the second estimation result. This estimation result is integrated with the estimation result obtained by the fisheye process.
  • the image processing device 10 generates a panoramic image, a fisheye partial image, and an edited fisheye partial image, but other devices different from the image processing device 10 perform these processes. You may do at least one of them. Then, an image generated by another device (at least one of a panoramic image, a fisheye partial image, and an edited fisheye partial image) may be input to the image processing device 10. In this case, the image processing device 10 performs the above-mentioned processing using the input image.
  • the generated panoramic image is processed to eliminate information on the part corresponding to a part of the area extracted by the fisheye process (hereinafter, “the part") (example: that part is made into a single color, or a predetermined part is specified. You may execute (to make a pattern). Then, the person behavior may be estimated based on the panoramic image after the processing and the first estimation model. Since the person behavior included in the part is estimated by the fish-eye process, the information of the part can be removed from the panoramic image. However, if there is a person who straddles that part and another part, a situation may occur in which the estimation accuracy of the person's behavior deteriorates. Therefore, it is preferable to execute the process without losing the information of the portion from the panoramic image as in the above embodiment.
  • the second estimation unit 12 analyzes the fish-eye partial image and detects a person included in the fish-eye partial image.
  • the second estimation unit 12 may perform the following processing. First, the second estimation unit 12 analyzes the fish-eye image and detects a person included in the fish-eye image. After that, the second estimation unit 12 detects a person whose detection position (coordinates) in the fisheye image satisfies a predetermined condition (within a region cut out as a fisheye partial image) among the persons detected from the fisheye image. do.
  • the process of detecting a person from a fisheye image is realized by an algorithm similar to the algorithm of the process of detecting a person from the fisheye partial image described above. According to the modification, the detection accuracy of the person included in the fish-eye partial image is improved.
  • a process of estimating the human behavior of a person included in the fisheye image can be considered by executing only the panorama process without executing the fisheye process and the integration process.
  • the panoramic process and the integration process are not executed, and the entire fisheye image is processed without panoramic expansion in the same manner as the fisheye process described above.
  • a process of estimating the personal behavior of the person included in is conceivable.
  • the number of images to be generated and processed becomes enormous, and the processing load on the computer increases.
  • the process is the same as the fisheye process described above, the person included in the fisheye image is detected, and the orientation of each person in the image is adjusted for each person to support multiple images (corresponding to the edited fisheye partial image). ) Is generated and processed to estimate the personal behavior of each of the plurality of people.
  • the number of detected persons increases, the number of images to be generated and processed becomes enormous.
  • the image processing device 10 of the present embodiment can solve these problems.
  • the image processing device 10 of the present embodiment analyzes and estimates the human behavior estimated by analyzing the panoramic image and a part of the image near the reference point (x c , y c ) of the fisheye image without panoramic expansion.
  • the human behavior of the person included in the fish-eye image is estimated by integrating it with the human behavior.
  • the second estimation means is The image in the circular region centered on the reference point in the fisheye image determined based on the gravity direction at the position of each of the plurality of persons existing in the fisheye image is defined as the fisheye partial image 1.
  • the second estimation means is The image processing apparatus according to any one of 1 to 3, which determines the size of the fisheye partial image based on the detection result of a person existing in the fisheye image. 5.
  • the second estimation means is A process of rotating the fish-eye partial image and a process of cutting out a partial area of a predetermined size are executed to generate an edited fish-eye partial image for each person detected in the fish-eye partial image.
  • the image processing apparatus according to any one of 1 to 4, wherein the edited fish-eye partial image is analyzed and the person behavior indicated by the fish-eye partial image is estimated. 6.
  • Both the estimation result based on the panoramic image and the estimation result based on the fisheye partial image indicate the probability of including each of a plurality of predefined human behaviors.
  • the third estimation means is a predetermined arithmetic process based on the estimation result based on the panoramic image and the estimation result based on the fisheye partial image, and the fisheye image includes each of the plurality of predefined human actions.
  • the image processing apparatus for calculating the probability.
  • the first estimation means is The panoramic image is image-analyzed to calculate the first estimation result of the person behavior indicated by the panoramic image.
  • the optical flow image generated from the panoramic image is image-analyzed to calculate the second estimation result of the person behavior indicated by the panoramic image.
  • the image processing apparatus according to any one of 1 to 6, which estimates a person's behavior indicated by the panoramic image based on the first estimation result and the second estimation result.
  • the computer The panoramic image obtained by panoramicly expanding the fisheye image generated by the fisheye lens camera is analyzed, and the human behavior indicated by the panoramic image is estimated.
  • the fisheye partial image which is a partial region of the fisheye image, is image-analyzed without panoramic expansion, and the human behavior indicated by the fisheye partial image is estimated.
  • An image processing method for estimating a person's behavior indicated by a fisheye image based on an estimation result based on the panoramic image and an estimation result based on the fisheye partial image 9.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本発明は、魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、パノラマ画像が示す人物行動を推定する第1の推定部(11)と、魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、魚眼部分画像が示す人物行動を推定する第2の推定部(12)と、パノラマ画像に基づく推定結果と、魚眼部分画像に基づく推定結果とに基づき、魚眼画像が示す人物行動を推定する第3の推定部(13)と、を有する画像処理装置(10)を提供する。

Description

画像処理装置、画像処理方法及びプログラム
 本発明は、画像処理装置、画像処理方法及びプログラムに関する。
 特許文献1は、トレーニング画像と事業店舗位置を識別する情報とで機械学習を行う技術を開示している。そして、特許文献1は、パノラマ画像、視野が180°より大きい画像等をトレーニング画像にできることを開示している。
 非特許文献1は、3D-CNN(convolutional neural network)に基づき動画像が示す人物行動を推定する技術を開示している。
特表2018-524678号公報
Kensho Hara、他2名、" Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?"、[online]、Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (pp. 6546-6555)、[令和1年5月28日検索]、インターネット<URL: http://openaccess.thecvf.com/content_cvpr_2018/papers/Hara_Can_Spatiotemporal_3D_CVPR_2018_paper.pdf>
 魚眼レンズを利用すると広範囲を撮影することができる。このような特性を活かし、魚眼レンズは監視カメラ等で広く利用されている。そこで、本発明者らは、魚眼レンズを用いて生成された画像(以下、「魚眼画像」という場合がある)に基づき人物行動を推定する技術を検討した。
 魚眼画像においては、歪みが発生する為、画像内の位置毎に重力方向が異なり得る。このため、起立した人物の身体が伸びる方向が画像内の位置毎に異なる等の不自然な状況が発生し得る。標準レンズ(例えば画角40°前後~60°前後)を用いて生成された画像(学習データ)に基づく機械学習で生成された人物行動推定モデルにこのような魚眼画像を入力しても、十分な推定結果を得られない。
 当該問題を解決する手段として、魚眼画像をパノラマ展開してパノラマ画像を生成し、当該パノラマ画像を上述した人物行動推定モデルに入力する手段が考えられる。ここで、図1を用いてパノラマ展開の概要を説明する。
 まず、基準線L、基準点(x、y)、幅w、高さhを定める。基準線Lは、基準点(x、y)と円形画像の外周上の任意の点とを結ぶ線であり、パノラマ展開する際に魚眼画像を切り開く位置となる。この基準線L付近の画像が、パノラマ画像において端部に位置する。基準線Lの定め方は様々である。基準点(x、y)は、魚眼画像の円形のイメージサークル内画像の点であり、例えば円の中心である。幅wはパノラマ画像の幅であり、高さhはパノラマ画像の高さである。これらの値はデフォルト値であってもよいし、ユーザが任意に設定してもよい。
 これらの値が定まると、図示する「パノラマ展開」の式に基づき、魚眼画像内の任意の対象点(x、y)を、パノラマ画像内の点(x、y)に変換することができる。魚眼画像内の任意の対象点(x、y)を指定すると、基準点(x、y)と対象点(x、y)との距離rを算出できる。同様に、基準点(x、y)と対象点(x、y)を結ぶ線と基準線Lとのなす角θが算出できる。結果、図示する「パノラマ展開」の式における変数w、θ、h、r及びrの値が定まる。なお、rは、イメージサークル内画像の半径である。これらの変数の値を当該式に代入することで、点(x、y)を算出することができる。
 また、図示する「逆パノラマ展開」の式より、パノラマ画像を魚眼画像に変換することもできる。
 確かに、魚眼画像をパノラマ展開してパノラマ画像を生成することで、起立した人物の身体が伸びる方向が画像内の位置毎に異なる等の不自然さを軽減できる。しかし、上述したパノラマ展開の手法の場合、魚眼画像からパノラマ画像を生成する際に基準点(x、y)付近の画像が大きく引き伸ばされるため、基準点(x、y)付近の人物がパノラマ画像において大きく歪み得る。このため、パノラマ画像に基づく人物行動の推定において、その歪んだ人物を検出できなかったり、推定精度が低下したりという問題が発生し得る。
 本発明の課題は、魚眼画像に含まれる人物の行動を高精度に推定することである。
 本発明によれば、
 魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定する第1の推定手段と、
 前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定する第2の推定手段と、
 前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する第3の推定手段と、
を有する画像処理装置が提供される。
 また、本発明によれば、
 コンピュータが、
  魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定し、
  前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定し、
  前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する画像処理方法が提供される。
 また、本発明によれば、
 コンピュータを、
  魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定する第1の推定手段、
  前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定する第2の推定手段、
  前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する第3の推定手段、
として機能させるプログラムが提供される。
 本発明によれば、魚眼画像に含まれる人物の行動を高精度に推定することが可能となる。
 上述した目的、および、その他の目的、特徴および利点は、以下に述べる好適な実施の形態、および、それに付随する以下の図面によって、さらに明らかになる。
パノラマ展開の手法を説明する図である。 本実施形態の画像処理装置の概要を説明するための図である。 本実施形態の画像処理装置及び処理装置のハードウエア構成の一例を示す図である。 本実施形態の画像処理装置の機能ブロック図の一例である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置のブロック図の一例である。 本実施形態の画像処理装置の処理の流れの一例を示すフローチャートである。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。 本実施形態の画像処理装置の処理を説明するための図である。
<概要>
 まず、図2を用いて本実施形態の画像処理装置10の概要を説明する。
 図示するように、画像処理装置10は、パノラマプロセス(Panorama processing)と、魚眼プロセス(Fisheye processing)と、統合プロセスとを実行する。
 パノラマプロセスでは、画像処理装置10は、魚眼画像(Fish eye image)をパノラマ展開したパノラマ画像を画像解析し、パノラマ画像が示す人物行動を推定する。魚眼プロセスでは、画像処理装置10は、魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、魚眼部分画像が示す人物行動を推定する。そして、統合プロセスでは、画像処理装置10は、パノラマプロセスで得られたパノラマ画像に基づく人物行動の推定結果と、魚眼プロセスで得られた魚眼部分画像に基づく人物行動の推定結果とに基づき、魚眼画像が示す人物行動を推定する。
<ハードウエア構成>
 次に、画像処理装置10のハードウエア構成の一例を説明する。画像処理装置10が備える各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(あらかじめ装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
 図3は、画像処理装置10のハードウエア構成を例示するブロック図である。図3に示すように、画像処理装置10は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。画像処理装置10は周辺回路4Aを有さなくてもよい。なお、画像処理装置10は物理的及び/又は論理的に分かれた複数の装置で構成されてもよいし、物理的及び/又は論理的に一体となった1つの装置で構成されてもよい。画像処理装置10が物理的及び/又は論理的に分かれた複数の装置で構成される場合、複数の装置各々が上記ハードウエア構成を備えることができる。
 バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェイス3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU、GPU(Graphics Processing Unit)などの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力インターフェイス3Aは、入力装置、外部装置、外部サーバ、外部センサー、カメラ等から情報を取得するためのインターフェイスや、出力装置、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。入力装置は、例えばキーボード、マウス、マイク、物理ボタン、タッチパネル等である。出力装置は、例えばディスプレイ、スピーカ、プリンター、メーラ等である。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
<機能構成>
 次に、画像処理装置10の機能構成を説明する。図4に、画像処理装置10の機能ブロック図の一例を示す。図示するように、画像処理装置10は、第1の推定部11と、第2の推定部12と、第3の推定部13とを有する。これらの機能部により、上述したパノラマプロセス、魚眼プロセス及び統合プロセスが実行される。以下、プロセスごとに分けて、各機能部の構成を説明する。
「パノラマプロセス」
 パノラマプロセスは、第1の推定部11により実行される。図5に、パノラマプロセスのフローがより詳細に示されている。図示するように、第1の推定部11は、時系列な複数の魚眼画像を取得すると(魚眼画像取得プロセス)、各々をパノラマ展開して時系列な複数のパノラマ画像を生成する(パノラマ展開プロセス)。その後、第1の推定部11は、時系列な複数のパノラマ画像と第1の推定モデルに基づき、その時系列な複数のパノラマ画像が示す人物行動を推定する(第1の推定プロセス)。このように、パノラマプロセスは、魚眼画像取得プロセス、パノラマ展開プロセス及び第1の推定プロセスを含む。以下、各々を詳細に説明する。
(魚眼画像取得プロセス)
 魚眼画像取得プロセスでは、第1の推定部11は、時系列な複数の魚眼画像を取得する。魚眼画像は、魚眼レンズを用いて生成された画像である。時系列な複数の魚眼画像は、例えば動画像であってもよいし、所定の時間間隔で連続的に撮影することで生成された複数の連続静止画像であってもよい。
 なお、本明細書において、「取得」とは、ユーザ入力に基づき、又は、プログラムの指示に基づき、「自装置が他の装置や記憶媒体に格納されているデータを取りに行くこと(能動的な取得)」、たとえば、他の装置にリクエストまたは問い合わせして受信すること、他の装置や記憶媒体にアクセスして読み出すこと等を含んでもよい。また、「取得」とは、ユーザ入力に基づき、又は、プログラムの指示に基づき、「自装置に他の装置から出力されるデータを入力すること(受動的な取得)」、たとえば、配信(または、送信、プッシュ通知等)されるデータを受信すること等を含んでもよい。また、「取得」とは、受信したデータまたは情報の中から選択して取得すること、及び、「データを編集(テキスト化、データの並び替え、一部データの抽出、ファイル形式の変更等)などして新たなデータを生成し、当該新たなデータを取得すること」を含んでもよい。
(パノラマ展開プロセス)
 パノラマ展開プロセスでは、第1の推定部11は、時系列な複数の魚眼画像各々をパノラマ展開して時系列な複数のパノラマ画像を生成する。以下、パノラマ展開の手法の一例を説明するが、他の手法を採用してもよい。
 まず、第1の推定部11は、基準線L、基準点(x、y)、幅w、高さh(図1参照)を決定する。
-基準点(x、y)の決定-
 まず、第1の推定部11は、魚眼画像の円形のイメージサークル内画像の中から、複数の人物各々の身体の所定の複数点を検出する。そして、第1の推定部11は、検出した所定の複数点に基づき、複数の人物各々の位置における重力方向(鉛直方向)を特定する。
 例えば、第1の推定部11は、起立した人物を正面から撮影して生成した画像内で互いを結ぶ線が重力方向と平行になる身体の複数点(2点)を検出してもよい。このような2点の組み合わせとしては、(両肩の真ん中、腰の真ん中)、(頭の先、腰の真ん中)、(頭の先、両肩の真ん中)等が例示されるが、これらに限定されない。この例の場合、第1の推定部11は、各人物に対応して検出された2点のうちの所定の1点から他方の点に向かう方向を、重力方向として特定する。
 他の例として、第1の推定部11は、起立した人物を正面から撮影して生成した画像内で互いを結ぶ線が重力方向と垂直になる身体の複数点(2点)を検出してもよい。このような2点の組み合わせとしては、(右肩、左肩)、(右腰、左腰)等が例示されるが、これらに限定されない。この例の場合、第1の推定部11は、各人物に対応して検出された2点の中点を通り、かつ、2点を結ぶ線と垂直な線が延伸する方向を、重力方向として特定する。
 なお、第1の推定部11は、あらゆる画像解析の技術を利用して、上述した身体の複数点を検出することができる。例えば、第1の推定部11は、「標準レンズ(例えば画角40°前後~60°前後)を用いて生成された画像に存在する人物各々の身体の所定の複数点を検出するアルゴリズム」と同じアルゴリズムで魚眼画像を解析することで、複数の人物各々の身体の所定の複数点を検出することができる。
 しかし、魚眼画像内では、起立した人物の身体が伸びる方向がばらつき得る。そこで、第1の推定部1は、魚眼画像を回転させながら画像の解析を行ってもよい。すなわち、第1の推定部11は、魚眼画像のイメージサークル内画像を回転させ、回転した後のイメージサークル内画像を解析して人物の身体の所定の複数点を検出する処理を行ってもよい。
 図6乃至図9を用いて、当該処理の概要を説明する。図6の例では、魚眼画像Fのイメージサークル内画像C1内に5人の人物M1乃至M5が存在する。5人の人物M1乃至M5はいずれも起立しているが、身体が伸びる方向はばらついている。
 第1の推定部11は、まず図6に示す回転状態で画像を解析し、各人物の両肩の真ん中P1と腰の真ん中P2を検出する処理を行う。この場合、第1の推定部11は、身体が伸びる方向が図の上下方向に近い人物M1及びM2の点P1及びP2を検出できたが、その他の人物の点P1及びP2は検出できていない。
 次に、第1の推定部11は、魚眼画像Fを90°回転させる。すると、図7の状態となる。第1の推定部11は、この回転状態で画像を解析し、各人物の両肩の真ん中P1と腰の真ん中P2を検出する処理を行う。この場合、第1の推定部11は、身体が伸びる方向が図の上下方向に近い人物M5の点P1及びP2を検出できたが、その他の人物の点P1及びP2は検出できていない。
 次に、第1の推定部11は、魚眼画像Fをさらに90°回転させる。すると、図8の状態となる。第1の推定部11は、この回転状態で画像を解析し、各人物の両肩の真ん中P1と腰の真ん中P2を検出する処理を行う。この場合、第1の推定部11は、身体が伸びる方向が図の上下方向に近い人物M4の点P1及びP2を検出できたが、その他の人物の点P1及びP2は検出できていない。
 次に、第1の推定部11は、魚眼画像Fをさらに90°回転させる。すると、図9の状態となる。第1の推定部11は、この回転状態で画像を解析し、各人物の両肩の真ん中P1と腰の真ん中P2を検出する処理を行う。この場合、第1の推定部11は、身体が伸びる方向が図の上下方向に近い人物M3の点P1及びP2を検出できたが、その他の人物の点P1及びP2は検出できていない。
 このように、第1の推定部11は、魚眼画像を回転させながら画像を解析することで、身体が伸びる方向がばらついている複数の人物各々の身体の所定の複数点を検出することができる。なお、上記例では90°づつ回転したが、あくまで一例でありこれに限定されない。
 次に、第1の推定部11は、魚眼画像内の複数の人物各々の位置における重力方向に基づき、基準点(x、y)を決定する。そして、第1の推定部11は、決定した基準点(x、y)を画像処理装置10の記憶部に記憶させる。
 第1の推定部11は、複数の人物各々の位置を通り、かつ、複数の人物各々の位置における重力方向に延伸した直線が1点で交わる場合、交わる点を基準点(x、y)とする。
 一方、複数の人物各々の位置を通り、かつ、複数の人物各々の位置における重力方向に延伸した直線が1点で交わらない場合、第1の推定部11は、複数の直線各々からの距離が所定条件を満たす点を基準点(x、y)とする。
 第1の推定部11が、起立した人物を正面から撮影して生成した画像内で互いを結ぶ線が重力方向と平行になる身体の複数点(2点)を検出する場合、「複数の人物各々の位置を通り、かつ、複数の人物各々の位置における重力方向に延伸した直線」は、第1の推定部11が検出した2点を結ぶ線であってもよい。
 そして、第1の推定部11は、起立した人物を正面から撮影して生成した画像内で互いを結ぶ線が重力方向と垂直になる身体の複数点(2点)を検出する場合、「複数の人物各々の位置を通り、かつ、複数の人物各々の位置における重力方向に延伸した直線」は、第1の推定部11が検出した2点の中点を通り、かつ、2点を結ぶ線と垂直な線であってもよい。
 図10は、第1の推定部11による基準点決定処理の概念を示す。図示する例では、第1の推定部11は、各人物の両肩の真ん中P1と腰の真ん中P2を検出している。そして、点P1及びP2を結ぶ線が、「複数の人物各々の位置を通り、かつ、複数の人物各々の位置における重力方向に延伸した直線L1乃至L5」となっている。図示する例の場合、複数の直線L1乃至L5は1点で交わらない。このため、第1の推定部11は、複数の直線L1乃至L5各々からの距離が所定条件を満たす点を基準点(x、y)とする。所定条件は、例えば「複数の直線各々との距離の和が最小」であるが、これに限定されない。
 例えば、第1の推定部11は、以下の式(1)乃至(3)に基づき、所定条件を満たす点を算出することができる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 まず、式(1)により、直線L1乃至L5各々を示す。kは各直線の傾きで、cは各直線の切片である。式(2)及び式(3)により、直線L1乃至L5各々との距離の和が最小となる点を基準点(x、y)として算出することができる。
 なお、カメラの設置位置や向きが固定である場合、そのカメラが生成した複数の魚眼画像において設定される基準点(x、y)は同じ位置となる。このため、第1の推定部11は、上記処理で1つの魚眼画像の基準点(x、y)を算出すると、算出した基準点(x、y)をその魚眼画像を生成したカメラに紐付けて登録してもよい。そして、それ以降、そのカメラが生成した魚眼画像に対しては、上記基準点(x、y)の算出を行わず、登録している基準点(x、y)を読み出して利用してもよい。
-画像の補完-
 第1の推定部11は、上記処理で決定した基準点(x、y)が魚眼画像のイメージサークル内画像の中心と異なる場合、その魚眼画像のイメージサークル内画像に画像を補完し、補完円形画像を生成する。なお、基準点(x、y)が魚眼画像のイメージサークル内画像の中心と一致する場合、第1の推定部11は当該画像の補完を実行しない。
 補完円形画像は、イメージサークル内画像に補完画像を加えた画像であって、基準点(x、y)が中心となる円形の画像である。なお、補完円形画像は、基準点(x、y)からイメージサークル内画像の外周上の点までの距離の最大値が半径となり、イメージサークル内画像が内接してもよい。イメージサークル内画像に加える補完画像は、単色(例:黒)の画像であってもよいし、任意のパターン画像であってもよいし、その他であってもよい。
 図11に、第1の推定部11が生成した補完円形画像C2の一例を示す。魚眼画像Fのイメージサークル内画像C1に黒単色の補完画像を加えて、補完円形画像C2が生成されている。補完円形画像C2は、図示するように円形であり、基準点(x、y)がその中心である。そして、補完円形画像C2の半径rは、基準点(x、y)からイメージサークル内画像C1の外周上の点までの距離の最大値である。なお、イメージサークル内画像C1は補完円形画像C2に内接している。
-基準線Lの決定-
 基準線Lは、基準点(x、y)と、円形画像(イメージサークル内画像C1、補完円形画像C2等)の外周上の任意の点とを結ぶ線である。基準線Lの位置が、円形画像をパノラマ展開するときに切り開く位置となる。第1の推定部11は、例えば人物と重ならない基準線Lを設定することができる。このように基準線Lを設定すれば、人物がパノラマ画像内で2つの部分に分離する不都合を抑制できる。
 人物と重ならない基準線Lを設定する手法は様々である。例えば、第1の推定部11は、上記処理で検出した各人物の身体の複数点から所定距離以内には基準線Lを設定せず、上記検出した複数点から所定距離以上離れた場所に基準線Lを設定してもよいし。
-幅w、高さhの決定-
 幅wはパノラマ画像の幅であり、高さhはパノラマ画像の高さである。これらの値はデフォルト値であってもよいし、ユーザが任意に設定し、画像処理装置10に登録してもよい。
-パノラマ展開-
 基準線L、基準点(x、y)、幅w、高さhを決定した後、第1の推定部11は魚眼画像をパノラマ展開し、パノラマ画像を生成する。なお、基準点(x、y)が魚眼画像のイメージサークル内画像の中心と異なる場合、第1の推定部11は補完円形画像をパノラマ展開してパノラマ画像を生成する。一方、基準点(x、y)が魚眼画像のイメージサークル内画像の中心と一致する場合、第1の推定部11は、魚眼画像のイメージサークル内画像をパノラマ展開してパノラマ画像を生成する。第1の推定部11は、図1を用いて説明した手法を用いて、パノラマ展開することができる。
 次に、パノラマ展開プロセスの処理の流れの一例を説明する。なお、各処理の詳細は上述したので、ここでの説明は適宜省略する。まず、図12のフローチャートを用いて、基準点(x、y)を決定する処理の流れの一例を説明する。
 魚眼画像が入力されると、第1の推定部11は、イメージサークル内画像の中から、複数の人物各々の身体の所定の複数点を検出する(S10)。例えば、第1の推定部11は、各人物の両肩の真ん中P1と腰の真ん中P2を検出する。
 ここで、図13のフローチャートを用いて、S10の処理の流れの一例を説明する。まず、第1の推定部11は、イメージサークル内画像を解析し、複数の人物各々の身体の所定の複数点を検出する(S20)。その後、第1の推定部11は、イメージサークル内画像を所定角度回転する(S21)。所定角度は例えば90°であるが、これに限定されない。
 そして、第1の推定部11は、回転後のイメージサークル内画像を解析し、複数の人物各々の身体の所定の複数点を検出する(S22)。そして、回転角度の合計が360°に達していない場合(S23のNo)、第1の推定部11は、S21に戻り同様の処理を繰り返す。一方、回転角度の合計が360°に達した場合(S23のYes)、第1の推定部11は処理を終了する。
 図12に戻り、S10の後、第1の推定部11は、S10で検出された所定の複数点に基づき複数の人物各々の位置における重力方向を特定する(S11)。例えば、第1の推定部11は、各人物の両肩の真ん中P1から腰の真ん中P2に向かう方向を、各人物の位置における重力方向として特定する。
 次いで、第1の推定部11は、複数の人物各々の位置を通り、各々の位置における重力方向に延伸した直線を算出する(S12)。そして、複数の直線が1点で交わる場合(S13のYes)、第1の推定部11は、交わる点を基準点(x、y)とする(S14)。一方、複数の直線が1点で交わらない場合(S13のNo)、第1の推定部11は、複数の直線各々からの距離が所定条件(例:最短)を満たす点を求め、その点を基準点(x、y)とする(S15)。
 次に、図14のフローチャートを用いて、パノラマ展開する処理の流れの一例を説明する。
 図12の処理で決定した基準点(x、y)が魚眼画像のイメージサークル内画像の中心と一致する場合(S30のYes)、第1の推定部11は、図1を用いて説明した手法を用いて、その魚眼画像のイメージサークル内画像をパノラマ展開し、パノラマ画像を生成する(S33)。すなわち、この場合、補完円形画像の生成、及び、補完円形画像のパノラマ展開は実施されない。
 一方、図12の処理で決定した基準点(x、y)が魚眼画像のイメージサークル内画像の中心と一致しない場合(S30のNo)、第1の推定部11は、補完円形画像を生成する(S31)。補完円形画像は、イメージサークル内画像に補完画像を加えた円形の画像であって、基準点(x、y)がその円の中心となる画像である。なお、補完円形画像は、基準点(x、y)からイメージサークル内画像の外周上の点までの距離の最大値が半径となり、イメージサークル内画像が内接してもよい。イメージサークル内画像に加える補完画像は、単色(例:黒)の画像であってもよいし、任意のパターン画像であってもよいし、その他であってもよい。
 そして、第1の推定部11は、図1を用いて説明した手法を用いて、その補完円形画像をパノラマ展開し、パノラマ画像を生成する(S32)。
(第1の推定プロセス)
 第1の推定プロセスでは、第1の推定部11は、生成した時系列な複数のパノラマ画像と第1の推定モデルに基づき、その時系列な複数のパノラマ画像が示す人物行動を推定する。
 まず、第1の推定部11は、時系列な複数のパノラマ画像から、画像内の各位置の特徴の時間変化を示す3次元特徴情報を生成する。例えば、第1の推定部11は、3D CNN(例えば、3D Resnet等の畳み込み深層学習ネットワークなどであるが、これに限定されない)に基づき3次元特徴情報を生成することができる。
 また、第1の推定部11は、時系列な複数のパノラマ画像各々において人物が存在する位置を示す人物位置情報を生成する。画像内に複数の人物が存在する場合、第1の推定部11は、複数の人物各々が存在する位置を示す人物位置情報を生成することができる。例えば、第1の推定部11は、人物のシルエット(全身)を画像内で抽出し、抽出したシルエットを内包する画像内のエリアを示す人物位置情報を生成する。第1の推定部11は、深層学習技術に基づき、より具体的には平面の画像や映像の中からあらゆる物体(例えば、人)を高速かつ高精度に認識する「物体認識の深層学習ネットワーク」に基づき人物位置情報を生成することができる。物体認識の深層学習ネットワークとしては、Mask-RCNN、RCNN、Fast RCNN、Faster RCNN等が例示されるが、これらに限定されない。なお、第1の推定部11は、時系列な複数のパノラマ画像各々に対して同様の人物検出処理を実施してもよいし、人物追跡技術を利用して一度検出した人物を画像内で追跡してその位置を特定してもよい。
 その後、第1の推定部11は、人物位置情報で示される人物が存在する位置における3次元特徴情報が示す特徴の時間変化に基づき、複数のパノラマ画像が示す人物行動を推定する。例えば、第1の推定部11は、人物位置情報で示される人物が存在する位置を除く位置における値を所定値(例:0)に変更する補正を3次元特徴情報に対して行った後、補正後の3次元特徴情報に基づき複数の画像が示す人物行動を推定することができる。第1の推定部11は、予め機械学習で生成された第1の推定モデルと、補正後の3次元特徴情報とに基づき、人物行動を推定することができる。
 第1の推定モデルは、標準レンズ(例えば画角40°前後~60°前後)を用いて生成された画像(学習データ)に基づく機械学習で生成された人物行動を推定するモデルとすることができる。その他、第1の推定モデルは、魚眼画像をパノラマ展開して生成されたパノラマ画像(学習データ)に基づく機械学習で生成された人物行動を推定するモデルであってもよい。
 ここで、図15のフローチャートを用いて、第1の推定プロセスの処理の流れの一例を説明する。
 まず、第1の推定部11は、上記パノラマ展開プロセスを実行することで、時系列な複数のパノラマ画像を取得する(S40)。
 その後、第1の推定部11は、時系列な複数のパノラマ画像から、画像内の各位置の特徴の時間変化を示す3次元特徴情報を生成する(S41)。また、第1の推定部11は、複数のパノラマ画像各々において人物が存在する位置を示す人物位置情報を生成する(S42)。
 そして、第1の推定部11は、人物位置情報で示される人物が存在する位置における3次元特徴情報が示す特徴の時間変化に基づき、複数の画像が示す人物行動を推定する(S43)。
 次に、図16を用いて、第1の推定プロセスの具体例を説明する。なお、あくまで一例であり、これに限定されない。
 まず、第1の推定部11は、例えば16フレーム分の時系列なパノラマ画像(16×2451×800)を取得したとする。すると、第1の推定部11は、3D CNN(例えば、3D Resnet等の畳み込み深層学習ネットワークなどであるが、これに限定されない)に基づき、この16フレーム分のパノラマ画像から、512チャンネルに畳み込まれた3次元特徴情報(512×77×25)を生成する。また、第1の推定部11は、Mask-RCNN等の物体認識の深層学習ネットワークに基づき、16フレーム分の画像各々において人物が存在する位置を示す人物位置情報(図中、binary Mask)を生成する。図示する例では、人物位置情報は、各人物を内包する複数の矩形のエリア各々の位置を示す。
 次いで、第1の推定部11は、人物位置情報で示される人物が存在する位置を除く位置における値を所定値(例:0)に変更する補正を3次元特徴情報に対して行う。その後、第1の推定部11は、当該3次元特徴情報をN個のブロック(各々kの幅を有する)に分割し、Average Pooling、flatten、fully-connected層等を経て、予め定義された複数のカテゴリ(人物行動)各々が含まれる確率(出力値)をブロック毎に得る。
 図示する例では、19のカテゴリが定義・学習されている。19のカテゴリは、「歩く」、「走る」、「手を振る」、「物を拾う」、「物を捨てる」、「ジャケットを脱ぐ」、「ジャケットを着る」、「電話を掛ける」、「スマートフォンを使う」、「おやつを食べる」、「階段を上がる」、「階段を下る」、「水を飲む」、「握手」、「他人のポケットから物を取る」、「他人に物を渡す」、「他人を押す」、「カードをかざして駅構内に入る」、「カードをかざして駅改札を出る」であるが、これらに限定されない。例えば、処理装置20は、当該確率が閾値以上のカテゴリに対応する人物行動が、その画像で示されていると推定する。
 なお、図中、N instance scoresは、時系列な複数のパノラマ画像に含まれるN個のブロック各々が上記19のカテゴリ各々を含む確率を示す。そして、図中、Final scores of the panorama branch for clip 1は、時系列な複数のパノラマ画像が上記19のカテゴリ各々を含む確率を示す。ここで、N instance scoresからFinal scores of the panorama branch for clip 1を算出する処理の詳細は特段制限されないが、以下一例を説明する。
 当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(式(4)参照)、最大値を返すmax関数(式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(式(6)参照)等の利用が考えられる。これらの関数は広く知られているのでここでの説明は省略する。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 なお、上記流れと逆方向にトレースすることで、当該確率が閾値以上のカテゴリ(人物行動)が示される画像内の位置を算出することができる。
「魚眼プロセス」
 魚眼プロセスは、第2の推定部12により実行される。第2の推定部12は、図5に示すように、時系列な複数の魚眼画像を取得すると(魚眼画像取得プロセス)、各々から一部領域を切り出し時系列な複数の魚眼部分画像を生成する(第1の切出プロセス)。その後、第2の推定部12は、生成した時系列な複数の魚眼部分画像を編集し、魚眼部分画像に含まれる人物毎に、時系列な複数の編集後魚眼部分画像を生成する(編集プロセス)。その後、第2の推定部12は、時系列な複数の編集後魚眼部分画像と第2の推定モデルに基づき、その時系列な複数の編集後魚眼部分画像が示す人物行動を推定する(第2の推定プロセス)。このように、魚眼プロセスは、魚眼画像取得プロセス、第1の切出プロセス、編集プロセス及び第2の推定プロセスを含む。以下、各々を詳細に説明する。
(魚眼画像取得プロセス)
 魚眼画像取得プロセスでは、第2の推定部12は、時系列な複数の魚眼画像を取得する。第2の推定部12が実行する魚眼画像取得プロセスは、パノラマプロセスで説明した第1の推定部11が実行する魚眼画像取得プロセスと同様であるので、ここでの説明は省略する。
(第1の切出プロセス)
 第1の切出プロセスでは、第2の推定部12は、時系列な複数の魚眼画像各々から一部領域を切り出して時系列な複数の魚眼部分画像を生成する。第2の推定部12は、パノラマプロセスで説明した基準点(x、y)を中心とした半径Rの円領域内の画像を魚眼部分画像として切り出す。半径Rは、予め設定された固定値であってもよい。その他、魚眼画像の解析結果に基づき決定される変動値であってもよい。後者の例として、例えば魚眼画像内の予め設定された中心領域に存在する人物の検出結果(検出人数)に基づき、半径R(魚眼部分画像の大きさ)を決定してもよい。検出人数が多いほど、半径Rは大きくなる。
(編集プロセス)
 編集プロセスでは、第2の推定部12は、生成した時系列な複数の魚眼部分画像を編集し、魚眼部分画像に含まれる人物毎に、時系列な複数の編集後魚眼部分画像を生成する。以下、詳細に説明する。
 まず、第2の推定部12は、魚眼部分画像を解析し、魚眼部分画像に含まれる人物を検出する。人物の検出は、パノラマプロセスで説明した処理(図13の処理)と同様に、魚眼部分画像を回転させながら各回転位置で魚眼部分画像を解析して人物を検出する手法を採用してもよい。その他、魚眼画像を学習データとした機械学習で生成された人物検出モデルに基づき、魚眼部分画像に含まれる人物を検出してもよい。また、第2の推定部12は、時系列な複数の魚眼部分画像各々に対して同様の人物検出処理を実施してもよいし、人物追跡技術を利用して一度検出した人物を動画像内で追跡してその位置を特定してもよい。
 人物を検出した後、第2の推定部12は、検出した人物毎に、魚眼部分画像を回転する回転プロセス、及び、所定サイズの一部領域を切り出す第2の切出プロセスを実行して、編集後魚眼部分画像を生成する。
 回転プロセスでは、各人物の位置における重力方向が画像上で上下方向となるように魚眼部分画像を回転する。各人物の位置における重力方向を特定する手段は、パノラマプロセスで説明した通りであるが、その他の手法を利用してもよい。
 第2の切出プロセスでは、回転プロセス後の魚眼部分画像から、各人物を含む所定サイズの画像を切り出す。切り出す画像の形状および大きさは、予め定義されている。
 ここで、図17を用いて、第1の切出プロセス及び編集プロセスの具体例を説明する。
 まず、(A)→(B)に示すように、第2の推定部12は、魚眼画像Fのイメージサークル内画像C1内の一部領域を魚眼部分画像C3として切り出す(第1の切出プロセス)。当該処理は、魚眼画像F毎に実行される。
 次に、(B)→(C)に示すように、第2の推定部12は、魚眼部分画像C3内から人物を検出する。図示する例では2人の人物が検出されている。
 次に、(C)→(D)に示すように、第2の推定部12は、検出された人物毎に、魚眼部分画像C3に対して回転プロセスを実行する。図示するように、回転後の魚眼部分画像C3においては、各人物の位置における重力方向が画像上で上下方向となる。当該処理は、魚眼部分画像C3毎に実行される。
 次に、(D)→(E)に示すように、第2の推定部12は、検出された人物毎に、回転後の魚眼部分画像C3から各人物を含む所定サイズの画像を切り出し、編集後魚眼部分画像C4を生成する。当該処理は、検出された人物毎、かつ、魚眼部分画像C3毎に実行される。
(第2の推定プロセス)
 第2の推定プロセスでは、第2の推定部12は、生成した時系列な複数の編集後魚眼部分画像と第2の推定モデルに基づき、その時系列な複数の編集後魚眼部分画像が示す人物行動を推定する。第2の推定部12による人物行動の推定処理は、基本的には、第1の推定部11による人物行動の推定処理と同様である。
 図18に示すように、第2の推定部12は、第1の人物に対応する時系列な複数の編集後魚眼部分画像から、画像内の各位置の特徴の時間変化を示す3次元特徴情報を生成する。例えば、第2の推定部12は、3D CNN(例えば、3D Resnet等の畳み込み深層学習ネットワークなどであるが、これに限定されない)に基づき3次元特徴情報を生成することができる。その後、第2の推定部12は、生成した3次元特徴情報に対し、人物が検出された位置の値を強調する処理を行う。
 第2の推定部12は、魚眼部分画像から検出された人物毎に当該処理を行う。そして、人物毎に算出された「人物が検出された位置の値を強調した3次元特徴情報」を連結した後、Average Pooling、flatten、fully-connected層等の同様の処理を経て、予め定義された複数のカテゴリ(人物行動)各々が各人物に対応する時系列な複数の編集後魚眼部分画像に含まれる確率(出力値)を得る。
 その後、第2の推定部12は、各人物に対応する時系列な複数の編集後魚眼部分画像各々に複数のカテゴリ(人物行動)各々が含まれる確率を統合し、魚眼部分画像に複数のカテゴリ(人物行動)各々が含まれる確率を算出する演算を行う。
 当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
 ここまでの説明から明らかなように、第2の推定部12は、魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、魚眼部分画像が示す人物行動を推定する。
「統合プロセス」
 統合プロセスは、第3の推定部13により実行される。第3の推定部13は、図5に示すように、パノラマプロセスで得られたパノラマ画像に基づく推定結果と、魚眼プロセスで得られた魚眼部分画像に基づく推定結果とに基づき、魚眼画像が示す人物行動を推定する。
 上述の通り、パノラマ画像に基づく推定結果及び魚眼部分画像に基づく推定結果はいずれも、予め定義された複数の人物行動各々を含む確率を示す。第3の推定部13は、パノラマ画像に基づく推定結果及び魚眼部分画像に基づく推定結果に基づく所定の演算処理で、予め定義された複数の人物行動各々を魚眼画像が含む確率を算出する。
 当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
<実施例>
 次に、画像処理装置10の実施例を説明する。なお、ここで説明する実施例は、本実施形態の画像処理装置10を実施する場合の一例であり、これに限定されない。
 図19は、本実施例の画像処理装置10のブロック図の一例である。画像処理装置10の基本構成は、上述した通り、パノラマプロセスと、魚眼プロセスと、統合プロセスとで構成される。各プロセスの基本構成も上述した通りである。
 図20は、本実施例の画像処理装置10の処理の流れを示すフローチャートである。
 S101では、画像処理装置10は、入力された時系列な複数の魚眼画像を所定数毎の複数のクリップ(clip)に分割する。図21に具体例を示す。図示する例では、120個の時系列な魚眼画像が入力され、それらが8個のクリップに分割されている。各クリップは16個の魚眼画像を含み、最後の1つのクリップのみが8個の魚眼画像を含む。その後、クリップごとに、魚眼プロセス(S102乃至S108)、パノラマプロセス(S109乃至S115)及び統合処理(S116)が実行される。
 魚眼プロセス(S102乃至S108)の詳細は、図17及び図18に示されている。魚眼プロセスでは、画像処理装置10は、時系列な複数の魚眼画像F各々の一部領域を抽出して時系列な複数の魚眼部分画像C3を生成する(S102、図17の(A)→(B))。その後、画像処理装置10は、時系列な複数の魚眼部分画像C3から人物を検出し、動画像内で追跡する(S103、図17の(B)→(C))。
 次いで、画像処理装置10は、検出された人物毎に、魚眼部分画像C3に対して回転プロセス(図17の(C)→(D))、及び、回転後の魚眼部分画像C3から各人物を含む所定サイズの画像を切り出すプロセス(図17の(D)→(E))を実行する(S104)。これにより、検出された人物毎に、時系列な複数の編集後魚眼部分画像C4が得られる。
 その後のS105では、画像処理装置10は、図18に示すように、検出された人物毎に、各々の時系列な複数の編集後魚眼部分画像を3D CNN(例えば、3D Resnet等の畳み込み深層学習ネットワークなどであるが、これに限定されない)に入力し、3次元特徴情報を生成する。また、画像処理装置10は、生成した3次元特徴情報に対し、人物が検出された位置の値を強調する処理を行う。
 次いで、画像処理装置10は、人物毎に得られた3次元特徴情報を連結する(S106)。その後、画像処理装置10は、Average Pooling、flatten、fully-connected層等を経て、予め定義された複数のカテゴリ(人物行動)各々が各人物に対応する時系列な複数の編集後魚眼部分画像に含まれる確率(出力値)を得る(S107)。
 その後、画像処理装置10は、各人物に対応する時系列な複数の編集後魚眼部分画像各々に複数のカテゴリ(人物行動)各々が含まれる確率を統合し、時系列な複数の魚眼部分画像に複数のカテゴリ(人物行動)各々が含まれる確率を算出する演算を行う(S108)。当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
 パノラマプロセス(S109乃至S115)の詳細は、図16に示されている。パノラマプロセスでは、画像処理装置10は、時系列な複数の魚眼画像各々をパノラマ展開した後(S109)、3D CNN(例えば、3D Resnet等の畳み込み深層学習ネットワークなどであるが、これに限定されない)に基づき、この時系列な複数のパノラマ画像から、512チャンネルに畳み込まれた3次元特徴情報(512×77×25)を生成する(S110)。また、画像処理装置10は、Mask-RCNN等の物体認識の深層学習ネットワークに基づき、時系列な複数のパノラマ画像各々において人物が存在する位置を示す人物位置情報を生成する(S112)。
 次いで、画像処理装置10は、S112で生成された人物位置情報で示される人物が存在する位置を除く位置における値を所定値(例:0)に変更する補正を、S110で生成された3次元特徴情報に対して行う(S111)。
 その後、画像処理装置10は、当該3次元特徴情報をN個のブロック(各々kの幅を有する)に分割し(S113)、Average Pooling、flatten、fully-connected層等を経て、予め定義された複数のカテゴリ(人物行動)各々が含まれる確率(出力値)をブロック毎に得る(S114)。
 その後、画像処理装置10は、ブロック毎に得られた複数のカテゴリ(人物行動)各々が含まれる確率を統合し、時系列な複数のパノラマ画像に複数のカテゴリ(人物行動)各々が含まれる確率を算出する演算を行う(S115)。当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
 その後、画像処理装置10は、魚眼プロセスで得られた「時系列な複数の魚眼部分画像に複数のカテゴリ(人物行動)各々が含まれる確率」と、パノラマプロセスで得られた「時系列な複数のパノラマ画像に複数のカテゴリ(人物行動)各々が含まれる確率」を統合し、各クリップに含まれる時系列な複数の魚眼画像に複数のカテゴリ(人物行動)各々が含まれる確率を算出する演算を行う(S116、図22参照)。当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
 ここまでの処理をクリップ毎に行うことで、クリップ毎に、「各クリップに含まれる時系列な複数の魚眼画像に複数のカテゴリ(人物行動)各々が含まれる確率」が得られる。S117では、クリップ毎に得られた複数の「各クリップに含まれる時系列な複数の魚眼画像に複数のカテゴリ(人物行動)各々が含まれる確率」を統合し、「入力された120個の時系列な魚眼画像に複数のカテゴリ(人物行動)各々が含まれる確率」を算出する演算を行う(図22参照)。当該演算処理においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
 その後、画像処理装置10は、算出結果の出力(S118)や、含まれると予測した人物行動の位置特定(S119)を行う。
 なお、学習段階においては、図22に示すように、画像処理装置10は、sigmoid関数を適用して「入力された120個の時系列な魚眼画像に複数のカテゴリ(人物行動)各々が含まれる確率」を0~1の値に変換する。そして、図示するTotal loss1関数の値を最適化するように学習を行う。
<変形例>
「第1の変形例」
 図23に、変形例のフローを示す。図5との比較で明らかなように、当該変形例は、パノラマプロセスの構成が上述した実施形態と異なる。以下、当該変形例のパノラマプロセスを詳細に説明する。
 まず、第1の推定部11は、画像解析して、時系列な複数のパノラマ画像が示す人物行動の第1の推定結果を算出する。当該処理は、上記実施形態で説明したパノラマプロセスの処理と同じである。
 また、第1の推定部11は、パノラマ画像から生成されたオプティカルフロー画像を画像解析して、パノラマ画像が示す人物行動の第2の推定結果を算出する。オプティカルフロー画像は、時系列な複数のパノラマ画像における物体の動きを表すベクトルを画像化したものである。上記実施形態で説明した「時系列な複数のパノラマ画像が示す人物行動を推定する処理」において、「時系列な複数のパノラマ画像」を「時系列な複数のオプティカルフロー画像」に置き換えることで、第2の推定結果の算出が実現される。
 そして、第1の推定部11は、第1の推定結果と第2の推定結果とに基づき、時系列な複数のパノラマ画像が示す人物行動を推定する。この推定結果が、魚眼プロセスで得られた推定結果と統合される。
 第1の推定結果と第2の推定結果との統合においては、複数の値の統計値を返す関数の利用が考えられる。例えば、平均値を返すaverage関数(上記式(4)参照)、最大値を返すmax関数(上記式(5)参照)、max関数に滑らかに近似したlog-sum-exp関数(上記式(6)参照)等の利用が考えられる。
「第2の変形例」
 上記実施形態では、画像処理装置10がパノラマ画像の生成、魚眼部分画像の生成、及び、編集後魚眼部分画像の生成を行ったが、画像処理装置10と異なる他の装置がこれらの処理の中の少なくとも1つを行ってもよい。そして、他の装置が生成した画像(パノラマ画像、魚眼部分画像及び編集後魚眼部分画像の中の少なくとも1つ)が、画像処理装置10に入力されてもよい。この場合、画像処理装置10は、入力された画像を利用して、上述した処理を行う。
「第3の変形例」
 パノラマプロセスでは、生成したパノラマ画像に対し、魚眼プロセスで抽出される一部領域に対応する部分(以下、「その部分」)の情報を無くす処理(例:その部分を単色にしたり、所定のパターンにしたりする)を実行してもよい。そして、当該処理後のパノラマ画像と第1の推定モデルとに基づき、人物行動を推定してもよい。魚眼プロセスの方でその部分に含まれる人物行動は推定されるので、パノラマ画像からその部分の情報を無くすことができる。しかし、その部分と他の部分にまたがる人物が存在する場合、人物行動の推定精度が悪くなる等の状況が発生し得る。このため、上記実施形態のように、パノラマ画像からその部分の情報を無くさずに処理を実行することが好ましい。
「第4の変形例」
 上記説明した実施形態の編集プロセスでは、第2の推定部12は、魚眼部分画像を解析して、魚眼部分画像に含まれる人物を検出した。この「魚眼部分画像に含まれる人物を検出する処理」の変形例として、第2の推定部12は、以下の処理を行ってもよい。まず、第2の推定部12は、魚眼画像を解析し、魚眼画像に含まれる人物を検出する。その後、第2の推定部12は、魚眼画像から検出した人物の中の、魚眼画像内の検出位置(座標)が所定条件(魚眼部分画像として切り出される領域内)を満たす人物を検出する。魚眼画像から人物を検出する処理は、上述した魚眼部分画像から人物を検出する処理のアルゴリズムと同様のアルゴリズムで実現される。当該変形例によれば、魚眼部分画像に含まれる人物の検出精度が向上する。
<作用効果>
 本実施形態の第1の比較例として、魚眼プロセス及び統合プロセスを実行せず、パノラマプロセスのみを実行して魚眼画像に含まれる人物の人物行動を推定する処理が考えられる。
 しかし、上述の通り、魚眼画像からパノラマ画像を生成する際に基準点(x、y)付近の画像が大きく引き伸ばされるため、基準点(x、y)付近の人物がパノラマ画像において大きく歪み得る。このため、第1の比較例の場合、その歪んだ人物を検出できなかったり、推定精度が低下したりという問題が発生し得る。
 また、本実施形態の第2の比較例として、パノラマプロセス及び統合プロセスを実行せず、上述した魚眼プロセスと同様にして、魚眼画像の全体をパノラマ展開せずに処理して魚眼画像に含まれる人物の人物行動を推定する処理が考えられる。
 しかし、魚眼画像の中に多数の人物が含まれる場合、生成して処理する画像の数が膨大となり、コンピュータの処理負担が大きくなる。上述した魚眼プロセスと同様の処理とする場合、魚眼画像に含まれる人物を検出し、人物毎に各人物の画像内の向きを調整して複数の画像(編集後魚眼部分画像に対応)を生成し、それらを処理して複数の人物各々の人物行動を推定することとなる。当然、検出された人物の数が増えるほど、生成して処理する画像の数が膨大となる。
 本実施形態の画像処理装置10は、これらの問題を解決することができる。本実施形態の画像処理装置10は、パノラマ画像を解析して推定した人物行動と、魚眼画像の基準点(x、y)付近の一部画像をパノラマ展開せずに解析して推定した人物行動とを統合して、魚眼画像に含まれる人物の人物行動を推定する。
 魚眼画像の基準点(x、y)付近の一部画像をパノラマ展開せずに解析した場合、上述した基準点(x、y)付近の人物が大きく歪む問題が生じない。このため、基準点(x、y)付近の人物を検出し、その人物の人物行動を精度よく推定することができる。すなわち、上記第1の比較例の問題を解決できる。
 また、パノラマ画像において問題が生じ得る「魚眼画像の基準点(x、y)付近の一部画像」のみをパノラマ展開せずに解析し、その他の部分は当該処理の対象外とする。このため、魚眼プロセスで検出される人物の数が抑制される。結果、上記第2の比較例に比べて、魚眼プロセスで生成して処理する画像(編集後魚眼部分画像)の数を抑制し、コンピュータの処理負担を軽減することができる。
 以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
1. 魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定する第1の推定手段と、
 前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定する第2の推定手段と、
 前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する第3の推定手段と、
を有する画像処理装置。
2. 前記第2の推定手段は、
  前記魚眼画像内に存在する複数の人物各々の位置における重力方向に基づき決定された前記魚眼画像内の基準点を中心とした円領域内の画像を、前記魚眼部分画像とする1に記載の画像処理装置。
3. 前記魚眼画像内に存在する複数の人物各々の位置における重力方向は、前記複数の人物各々から検出された身体の所定の複数点に基づき特定される2に記載の画像処理装置。
4. 前記第2の推定手段は、
  前記魚眼画像内に存在する人物の検出結果に基づき、前記魚眼部分画像の大きさを決定する1から3のいずれかに記載の画像処理装置。
5. 前記第2の推定手段は、
  前記魚眼部分画像を回転する処理、及び、所定サイズの一部領域を切り出す処理を実行して、前記魚眼部分画像内で検出した人物毎に編集後魚眼部分画像を生成し、
  前記編集後魚眼部分画像を解析して、前記魚眼部分画像が示す人物行動を推定する1から4のいずれかに記載の画像処理装置。
6. 前記パノラマ画像に基づく推定結果及び前記魚眼部分画像に基づく推定結果はいずれも、予め定義された複数の人物行動各々を含む確率を示し、
 前記第3の推定手段は、前記パノラマ画像に基づく推定結果及び前記魚眼部分画像に基づく推定結果に基づく所定の演算処理で、前記予め定義された複数の人物行動各々を前記魚眼画像が含む確率を算出する1から5のいずれかに記載の画像処理装置。
7. 前記第1の推定手段は、
  前記パノラマ画像を画像解析して、前記パノラマ画像が示す人物行動の第1の推定結果を算出し、
  前記パノラマ画像から生成されたオプティカルフロー画像を画像解析して、前記パノラマ画像が示す人物行動の第2の推定結果を算出し、
  前記第1の推定結果と前記第2の推定結果とに基づき、前記パノラマ画像が示す人物行動を推定する1から6のいずれかに記載の画像処理装置。
8. コンピュータが、
  魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定し、
  前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定し、
  前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する画像処理方法。
9. コンピュータを、
  魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定する第1の推定手段、
  前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定する第2の推定手段、
  前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する第3の推定手段、
として機能させるプログラム。

Claims (9)

  1.  魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定する第1の推定手段と、
     前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定する第2の推定手段と、
     前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する第3の推定手段と、
    を有する画像処理装置。
  2.  前記第2の推定手段は、
      前記魚眼画像内に存在する複数の人物各々の位置における重力方向に基づき決定された前記魚眼画像内の基準点を中心とした円領域内の画像を、前記魚眼部分画像とする請求項1に記載の画像処理装置。
  3.  前記魚眼画像内に存在する複数の人物各々の位置における重力方向は、前記複数の人物各々から検出された身体の所定の複数点に基づき特定される請求項2に記載の画像処理装置。
  4.  前記第2の推定手段は、
      前記魚眼画像内に存在する人物の検出結果に基づき、前記魚眼部分画像の大きさを決定する請求項1から3のいずれか1項に記載の画像処理装置。
  5.  前記第2の推定手段は、
      前記魚眼部分画像を回転する処理、及び、所定サイズの一部領域を切り出す処理を実行して、前記魚眼部分画像内で検出した人物毎に編集後魚眼部分画像を生成し、
      前記編集後魚眼部分画像を解析して、前記魚眼部分画像が示す人物行動を推定する請求項1から4のいずれか1項に記載の画像処理装置。
  6.  前記パノラマ画像に基づく推定結果及び前記魚眼部分画像に基づく推定結果はいずれも、予め定義された複数の人物行動各々を含む確率を示し、
     前記第3の推定手段は、前記パノラマ画像に基づく推定結果及び前記魚眼部分画像に基づく推定結果に基づく所定の演算処理で、前記予め定義された複数の人物行動各々を前記魚眼画像が含む確率を算出する請求項1から5のいずれか1項に記載の画像処理装置。
  7.  前記第1の推定手段は、
      前記パノラマ画像を画像解析して、前記パノラマ画像が示す人物行動の第1の推定結果を算出し、
      前記パノラマ画像から生成されたオプティカルフロー画像を画像解析して、前記パノラマ画像が示す人物行動の第2の推定結果を算出し、
      前記第1の推定結果と前記第2の推定結果とに基づき、前記パノラマ画像が示す人物行動を推定する請求項1から6のいずれか1項に記載の画像処理装置。
  8.  コンピュータが、
      魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定し、
      前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定し、
      前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する画像処理方法。
  9.  コンピュータを、
      魚眼レンズカメラで生成された魚眼画像をパノラマ展開したパノラマ画像を画像解析し、前記パノラマ画像が示す人物行動を推定する第1の推定手段、
      前記魚眼画像の一部領域である魚眼部分画像をパノラマ展開せずに画像解析し、前記魚眼部分画像が示す人物行動を推定する第2の推定手段、
      前記パノラマ画像に基づく推定結果と、前記魚眼部分画像に基づく推定結果とに基づき、前記魚眼画像が示す人物行動を推定する第3の推定手段、
    として機能させるプログラム。
PCT/JP2020/036225 2020-09-25 2020-09-25 画像処理装置、画像処理方法及びプログラム WO2022064632A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022551516A JPWO2022064632A1 (ja) 2020-09-25 2020-09-25
PCT/JP2020/036225 WO2022064632A1 (ja) 2020-09-25 2020-09-25 画像処理装置、画像処理方法及びプログラム
US18/026,407 US20230368576A1 (en) 2020-09-25 2020-09-25 Image processing apparatus, image processing method, and non-transitory storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/036225 WO2022064632A1 (ja) 2020-09-25 2020-09-25 画像処理装置、画像処理方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2022064632A1 true WO2022064632A1 (ja) 2022-03-31

Family

ID=80846326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/036225 WO2022064632A1 (ja) 2020-09-25 2020-09-25 画像処理装置、画像処理方法及びプログラム

Country Status (3)

Country Link
US (1) US20230368576A1 (ja)
JP (1) JPWO2022064632A1 (ja)
WO (1) WO2022064632A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248968A1 (ja) * 2022-06-21 2023-12-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像加工方法、画像加工装置、及び画像加工プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178406A (ja) * 2015-03-19 2016-10-06 パナソニックIpマネジメント株式会社 撮像装置、録画装置および映像出力制御装置
JP2017162432A (ja) * 2016-03-07 2017-09-14 株式会社リコー 画像処理システム、情報処理装置、情報端末、プログラム
JP2020053019A (ja) * 2018-07-16 2020-04-02 アクセル ロボティクス コーポレーションAccel Robotics Corp. 自律店舗追跡システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178406A (ja) * 2015-03-19 2016-10-06 パナソニックIpマネジメント株式会社 撮像装置、録画装置および映像出力制御装置
JP2017162432A (ja) * 2016-03-07 2017-09-14 株式会社リコー 画像処理システム、情報処理装置、情報端末、プログラム
JP2020053019A (ja) * 2018-07-16 2020-04-02 アクセル ロボティクス コーポレーションAccel Robotics Corp. 自律店舗追跡システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOKUJI, YASUO: "Video cameras becoming sensors", NIKKEI COMPUTER, 31 October 2005 (2005-10-31), pages 66 - 70 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248968A1 (ja) * 2022-06-21 2023-12-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像加工方法、画像加工装置、及び画像加工プログラム

Also Published As

Publication number Publication date
US20230368576A1 (en) 2023-11-16
JPWO2022064632A1 (ja) 2022-03-31

Similar Documents

Publication Publication Date Title
Ibrahim et al. An automatic Arabic sign language recognition system (ArSLRS)
WO2019218824A1 (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
Jesorsky et al. Robust face detection using the hausdorff distance
US7995805B2 (en) Image matching apparatus, image matching method, computer program and computer-readable storage medium
CN109934065B (zh) 一种用于手势识别的方法和装置
Li et al. Adaptive deep convolutional neural networks for scene-specific object detection
CN107808147B (zh) 一种基于实时人脸点跟踪的人脸置信度判别方法
US9626552B2 (en) Calculating facial image similarity
JP6907774B2 (ja) 物体検出装置、物体検出方法、およびプログラム
CN106326853B (zh) 一种人脸跟踪方法及装置
CN111008935B (zh) 一种人脸图像增强方法、装置、系统及存储介质
CN110222572A (zh) 跟踪方法、装置、电子设备及存储介质
US11315358B1 (en) Method and system for detection of altered fingerprints
Chamveha et al. Head direction estimation from low resolution images with scene adaptation
Zhang et al. Fast moving pedestrian detection based on motion segmentation and new motion features
CN108875506B (zh) 人脸形状点跟踪方法、装置和系统及存储介质
Tsai et al. Robust in-plane and out-of-plane face detection algorithm using frontal face detector and symmetry extension
Kerdvibulvech A methodology for hand and finger motion analysis using adaptive probabilistic models
WO2022064632A1 (ja) 画像処理装置、画像処理方法及びプログラム
JP2006293720A (ja) 顔検出装置、顔検出方法、及び顔検出プログラム
JP7383435B2 (ja) 画像処理装置、画像処理方法、及びプログラム
Ghosh et al. GSD-Net: compact network for pixel-level graphical symbol detection
WO2019230965A1 (ja) 物体らしさ推定装置、方法、およびプログラム
KR102237131B1 (ko) 객체를 포함하는 이미지를 처리하는 장치 및 방법
JP7327478B2 (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: 20955226

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022551516

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20955226

Country of ref document: EP

Kind code of ref document: A1