WO2014050210A1 - 画像処理装置、画像処理方法、プログラム、及び情報記憶媒体 - Google Patents

画像処理装置、画像処理方法、プログラム、及び情報記憶媒体 Download PDF

Info

Publication number
WO2014050210A1
WO2014050210A1 PCT/JP2013/065116 JP2013065116W WO2014050210A1 WO 2014050210 A1 WO2014050210 A1 WO 2014050210A1 JP 2013065116 W JP2013065116 W JP 2013065116W WO 2014050210 A1 WO2014050210 A1 WO 2014050210A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
captured
rotation angle
subject
captured image
Prior art date
Application number
PCT/JP2013/065116
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 EP13842258.9A priority Critical patent/EP2903256B1/en
Priority to US14/431,304 priority patent/US10452953B2/en
Priority to ES13842258T priority patent/ES2811800T3/es
Publication of WO2014050210A1 publication Critical patent/WO2014050210A1/ja

Links

Images

Classifications

    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • the present invention relates to an image processing apparatus, an image processing method, a program, and an information storage medium.
  • Non-Patent Document 1 As a method for photographing the entire periphery of a subject, a method is known in which a subject is photographed while a turntable on which the subject is centered is mechanically rotated at a constant angular velocity (Non-Patent Document 1). There is also known an application program that allows a user to arbitrarily rotate a subject displayed on a screen using captured image data obtained by such a method (Non-patent Document 1).
  • Non-Patent Document 1 when the user slides his / her finger on the touch panel, the frame of the photographed image data advances or returns by the number corresponding to the slide amount. As a result, the subject rotates by an angle corresponding to the slide amount of the user, and the user can view the subject from an arbitrary direction. According to such a technique, for example, a user can view a product from an arbitrary direction on a website that sells the product.
  • the moving image data of the subject whose rotation angle of the subject for each frame is substantially constant is based on the captured image data when the subject rotating at a non-constant angular velocity is shot.
  • the present invention has been made in view of the above-described problems, and its purpose is that the rotation angle of a subject for each frame is substantially constant based on photographed image data when a subject rotating at a non-constant angular velocity is photographed. It is to provide an image processing apparatus, an image processing method, a program, and an information storage medium capable of acquiring such moving image data.
  • an image processing apparatus includes a captured image acquisition unit that acquires a plurality of captured images obtained by repeatedly capturing a subject while the subject is rotating, A feature point detecting means for detecting a feature point in the image; a feature point corresponding to the same point on the subject; one captured image; and another captured image captured after the one captured image; Position information acquisition means for acquiring position information regarding the position of the feature point in the one photographed image and the other photographed image, the photographing time point of the one photographed image, and the other photographed image
  • Rotation angle information acquisition means for acquiring rotation angle information related to the rotation angle of the subject between the time of shooting and the rotation angle information for each of the plurality of captured images
  • a moving image for generating the moving image data by selecting a frame image of moving image data indicating how the subject rotates based on the rotation angle information acquired by the obtaining unit from the plurality of captured images.
  • image data generating means is generating the moving image data by selecting a frame image of moving image data indicating how the subject rotates based on the rotation angle information acquired
  • the image processing method includes a captured image acquisition step of acquiring a plurality of captured images obtained by repeatedly capturing the subject while the subject is rotating, and a feature point in the captured image.
  • a feature point detection step to detect and a feature point corresponding to the same point on the subject are detected in one captured image and another captured image captured after the one captured image
  • a position information acquisition step for acquiring position information relating to the position of the feature point in the one captured image and the other captured image, and between the capturing time of the one captured image and the capturing time of the other captured image
  • a data generation step is generating a plurality of captured images obtained by repeatedly capturing
  • the program according to the present invention is a photographed image acquisition means for obtaining a plurality of photographed images obtained by repeatedly photographing the subject while the subject is rotating, and a feature for detecting feature points in the photographed image.
  • the point detection means detects a feature point corresponding to the same point on the subject in one photographed image and another photographed image photographed after the one photographed image
  • the one point Position information acquisition means for acquiring position information regarding the position of the feature point in the captured image and the other captured image, rotation of the subject between the captured time of the captured image and the captured time of the other captured image
  • Rotation angle information acquisition means for acquiring rotation angle information related to an angle based on the position information, and the rotation angle information acquisition means for each of the plurality of captured images.
  • a moving image data generating means for generating the moving image data by selecting a frame image of moving image data indicating a state in which the subject rotates based on rotation angle information from the plurality of captured images. It is a program for causing a computer to function.
  • the information storage medium according to the present invention is a computer-readable information storage medium storing the above program.
  • the moving image data generating means may use the other captured image as a frame of the moving image data when the one captured image is selected as a frame image of the moving image data. Whether or not to select an image may be determined based on a comparison result between the rotation angle information and a threshold value.
  • the moving image data generation unit may be configured such that when the one captured image is selected as a frame image of the moving image data, the rotation angle information is greater than or equal to the threshold value.
  • One of the other photographed image and the photographed image photographed immediately before the other photographed image may be selected as a frame image of the moving image data.
  • the moving image data generating means includes the rotation angle information related to the rotation angle of the subject between the shooting time of the one shot image and the shooting time of the other shot image.
  • the rotation angle information about the rotation angle of the subject between the shooting point of one shot image and the shooting point of the shot image shot immediately before the other shot image is closer to the threshold value
  • the other captured image is selected as a frame image of the moving image data
  • the shooting time of the one shot image and the shooting time of the shot image taken immediately before the other shot image are
  • the rotation angle information regarding the rotation angle of the subject in between is closer to the threshold than the rotation angle information regarding the rotation angle of the subject between the shooting time of the one captured image and the shooting time of the other captured image
  • the image captured immediately before the captured image may be selected as a frame image of the moving image data.
  • the position information acquisition unit may detect the first pair of captured images when a feature point corresponding to the same point on the subject is detected in the first pair of captured images.
  • the information acquisition means is configured to take a point between the shooting time of the one shot image of the first pair of shot images and the shooting time of the other shot image of the first pair of shot images.
  • Rotation angle information related to the rotation angle of the subject is acquired based on the position information of the first pair of captured images, and the position information acquisition means has a second feature point corresponding to the same point on the subject.
  • Position information regarding the position of the feature point in one of the pair of captured images and the other captured image of the second pair of captured images is acquired.
  • the rotation angle information acquisition unit is configured to capture a time when the first captured image of the second pair of captured images is captured and a time when the other captured image of the second pair of captured images is captured.
  • Rotation angle information relating to the rotation angle of the subject between and based on the position information of the second pair of captured images, and the moving image data generating means is configured to acquire the first pair of captured images. Of the first captured image of the first pair of captured images when the other captured image of the second captured image is the same as the one of the second pair of captured images. The time of shooting and the other shot image of the second pair of shot images.
  • the cumulative rotation angle information regarding the rotation angle of the subject between the shadow time point and A frame image of the moving image data may be selected from the plurality of photographed images based on the accumulated rotation angle information.
  • the moving image data generating unit is configured to select the moving image data when the first captured image of the first pair of captured images is selected as a frame image of the moving image data. Whether to select the other captured image of the second pair of captured images as a frame image of the moving image data is determined based on a comparison result between the cumulative rotation angle information and a threshold value. Also good.
  • the moving image data generating means when the one captured image of the first pair of captured images is selected as a frame image of the moving image data, One of the other photographed images of the second pair of photographed images and the other photographed image of the second pair of photographed images when the accumulated rotation angle information is greater than or equal to the threshold value.
  • One of the previously captured images may be selected as the frame image of the moving image data.
  • the rotation angle information acquisition unit may include position difference information regarding a difference between the position of the feature point in the one captured image and the position of the feature point in the other captured image. You may make it include the means to acquire, and the means to acquire the said rotation angle information based on the said positional difference information.
  • the image processing apparatus includes a unit that sets an area in the captured image as an observation area based on a position of the rotation axis of the subject in the captured image
  • the rotation angle information acquisition unit includes: The rotation angle information may be acquired based on the position difference information when the feature point is included in the observation region.
  • the rotation angle information acquisition unit may use the positional difference information of a feature point having a large rotation radius when the subject rotates, and a feature point having a small rotation radius when the subject rotates.
  • the rotation angle information may be acquired using the position difference information with higher priority than the position difference information.
  • the rotation angle information acquisition unit may detect a plurality of feature points respectively corresponding to a plurality of points on the subject in the one captured image and the other captured image. , For each of the plurality of feature points, for each of the plurality of feature points, a rotation radius information acquisition unit that acquires rotation radius information regarding a rotation radius of the point on the subject corresponding to the feature points; Rotation angle information regarding the rotation angle between the shooting time of the one captured image and the shooting time of the other captured image of the point on the subject corresponding to the position difference information of the feature point and the point Means for acquiring based on the rotation radius information, and means for acquiring the rotation angle information of the subject based on the rotation angle information of each of the plurality of feature points.
  • the turning radius information acquisition unit may detect the feature point in the at least three captured images when the feature point corresponding to the same point on the subject is detected in at least three captured images.
  • the turning radius information acquisition unit may first detect the feature point corresponding to the same point on the subject in an i-th (i: integer of 1 or more) captured image, and And the position of the feature point in the i-th photographed image when it is detected last in the j-th (j: an integer satisfying i ⁇ j) photographed after the i-th photographed image.
  • the rotation radius information of the feature point may be acquired based on the position of the feature point in the j-th photographed image.
  • the rotation angle information acquisition unit may detect an ellipse related to the elliptical trajectory of the feature point when the feature point corresponding to the same point on the subject is detected in at least three captured images.
  • the moving image data generation unit is captured after a predetermined time elapses from a reference photographed image selected from the plurality of photographed images and the reference photographed image.
  • One of the means for acquiring similarity information regarding the similarity between the captured image and the captured image taken after the predetermined time has elapsed since the capturing time of the reference captured image is the subject.
  • the moving image data indicating a state where the subject makes one rotation may be generated based on the captured image.
  • the moving image data generation unit may include the reference photographing among feature points detected in a photographed image photographed after the predetermined time has elapsed from the photographing time of the reference photographed image.
  • Feature point number acquisition means for acquiring the number of feature points corresponding to feature points detected in an image, and a plurality of captured images captured after the predetermined time has elapsed from the capturing time of the reference captured image,
  • the similarity between the means for selecting a photographed image candidate at the time when the subject has completed one rotation based on the acquisition result of the feature score acquisition means, the reference photographed image, and the photographed image selected as the candidate
  • means for selecting on the basis of the serial similarity information it may include a.
  • the plurality of captured images were captured after the first captured image to the m-th (m: integer of 2 or more) captured image and the m-th captured image.
  • the moving image data generation means includes the moving image from the first captured image to the m-th captured image, the m + 1-th captured image to the m + n-th captured image (n is an integer equal to or greater than 1).
  • Selection number acquisition means for acquiring the number of photographed images selected as frame images of image data, and feature points corresponding to points on the subject are not detected in the (m + 1) th photographed image to the (m + n) photographed image.
  • the motion Means for selecting the frame image of the image data may include a.
  • the plurality of captured images were captured after the first captured image to the m-th (m: integer of 2 or more) captured image and the m-th captured image.
  • the moving image data generating means includes the moving image from among the (m + 1) th photographed image to the (m + n) photographed image.
  • Selection number acquisition means for acquiring the number of photographed images selected as frame images of image data, and feature points corresponding to points on the subject are not detected in the first to m-th photographed images.
  • the first captured image to the m-th captured image are based on the ratio between the number of the (m + 1) th captured image to the (m + n) captured image and the number acquired by the selected number acquisition means.
  • the motion Means for selecting the frame image of the image data it may include a.
  • the feature amount of the feature point detected in the one captured image and the feature amount of the feature point detected in the other captured image are the same or substantially the same.
  • a first determination means for determining whether the position of the feature point detected in the one captured image and the position of the feature point detected in the other captured image correspond to the rotation axis of the subject. Based on the determination result of the second determination means for determining whether or not the difference between the coordinate values in the axial direction is greater than or equal to the threshold value, and the determination result of the first determination means and the second determination means, the one photographed image Means for determining whether or not the feature point detected in step 1 and the feature point detected in the other photographed image are feature points corresponding to the same point on the subject.
  • the feature amount of the feature point detected in the one captured image and the feature amount of the feature point detected in the other captured image are the same or substantially the same.
  • a comparison means for comparing the position and information relating to a difference in coordinate values in the second axial direction, and detection in the one photographed image based on the determination result of the determination means and the comparison result of the comparison means And means for determining whether or not the feature point detected and the feature point detected in the other photographed image are feature points corresponding to the same point on the subject.
  • the captured image acquisition means acquires a plurality of captured images obtained by repeatedly capturing the subject while the subject rotates a plurality of times
  • the moving image data The generation unit generates the moving image data indicating a state where the subject rotates once based on the plurality of captured images obtained by repeatedly capturing the subject while the subject rotates a plurality of times. You may make it do.
  • FIG. 1 shows an example of a hardware configuration of an image processing apparatus according to an embodiment of the present invention.
  • the image processing apparatus 10 according to the present embodiment is realized by, for example, a personal computer, a server computer, a mobile phone (including a smartphone), or a portable information terminal (including a tablet computer).
  • the image processing apparatus 10 includes a control unit 11, a storage unit 12, an optical disc drive unit 13, a communication unit 14, an operation unit 15, a display unit 16, and an audio output unit 17.
  • the control unit 11 includes, for example, one or a plurality of microprocessors, and executes processing according to an operating system or a program stored in the storage unit 12.
  • the storage unit 12 includes a main storage unit such as a RAM and an auxiliary storage unit such as a hard disk or a solid state drive.
  • the optical disc drive unit 13 reads programs and data stored on an optical disc (information storage medium). Programs and data are supplied to the storage unit 12 via an optical disk. That is, the program and data stored in the optical disc are read out and stored in the storage unit 12.
  • the optical disk drive unit 13 is not an essential component. A component for reading a program or data stored in an information storage medium (for example, a memory card) other than the optical disk may be included in the image processing apparatus 10. And a program and data may be supplied to the memory
  • the communication unit 14 is an interface for connecting the image processing apparatus 10 to a communication network.
  • the image processing apparatus 10 can exchange data with other apparatuses via a communication network.
  • the program and data may be supplied to the storage unit 12 via a communication network.
  • the operation unit 15 is for a user to perform an operation.
  • the operation unit 15 includes, for example, a keyboard or a pointing device.
  • the display unit 16 is, for example, a liquid crystal display or an organic EL display, and the audio output unit 17 is, for example, a speaker or headphones.
  • 2 and 3 are diagrams for explaining a method for photographing a product. As shown in FIG. 2, when photographing a product 30 (a beckoning cat in the example shown in FIG. 2), the product 30 is placed on the turntable 20.
  • the turntable 20 includes a thick plate 22, a cardboard 24, and a thumbtack 28.
  • the thick plate 22 is a plate that does not pose any problem even if the thumbtack 28 is stabbed.
  • the thumbtack 28 is stuck in the center 26 of the cardboard 24.
  • the product 30 is arranged in the center of the cardboard 24.
  • the product 30 is arranged such that the center axis of the product 30 coincides with the center 26 of the cardboard.
  • the cardboard 24 can be rotated with the thumbtack 28 as a rotation shaft 32, and when the photographer rotates the cardboard 24 by hand, the product 30 arranged on the cardboard 24 rotates around the rotation shaft 32.
  • a photographing device 34 for photographing the product 30 is fixed at a position where the product 30 arranged on the turntable 20 can be photographed.
  • the imaging device 34 is disposed in front of the turntable 20 and slightly above the product 30.
  • the imaging device 34 includes a digital video camera and can capture still images and moving images.
  • a single digital video camera or a digital video camera built in a mobile phone or the like is used as the photographing device 34.
  • a digital video camera built in the image processing apparatus 10 may be used as the photographing apparatus 34.
  • a digital camera capable of capturing only still images may be used as the imaging device 34.
  • photographing by the photographing device 34 is performed every predetermined time (for example, 1/30 second). That is, a moving image in which the number of frames per second is a predetermined number (for example, 30) is shot by the shooting device 34.
  • the photographer starts photographing with the photographing device 34 and rotates the cardboard 24 on which the product 30 is arranged counterclockwise (or clockwise). For example, the photographer rotates the cardboard 24 alternately with the index finger and the middle finger.
  • a moving image of the rotating product 30 is photographed by the photographing device 34.
  • This moving image is stored in the storage unit 12 of the image processing apparatus 10 via a storage medium or a communication network. This moving image may be stored in a device other than the image processing device 10.
  • the photographer may continuously take still images of the product 30 while the product 30 is rotating, instead of taking a moving image of the product 30.
  • the still image group obtained in this way may be used instead of the moving image.
  • a moving image or a still image group photographed by the photographing device 34 is referred to as “photographed image data”.
  • Each image included in the captured image data is referred to as a “captured image”.
  • each frame image of the moving image corresponds to a “captured image”.
  • each still image corresponds to a “captured image”.
  • moving image data of the product 30 to be generated based on the captured image data that is, moving image data in which the rotation angle of the product 30 for each frame is substantially constant is simply referred to as “moving image data”.
  • FIG. 4 is a diagram for explaining an outline of a moving image data generation method.
  • the numbers attached above the plurality of captured images 40 included in the captured image data indicate image numbers.
  • the image number indicates the order in which the captured images are captured.
  • the captured image data is a moving image
  • the image number corresponds to the frame number of the moving image.
  • the captured image data is a still image group
  • the image number indicates the number of the still image captured.
  • the captured image 40 with the image number “i”, that is, the i-th captured image 40 is referred to as a captured image [i].
  • the numbers attached above the plurality of frame images 42 included in the moving image data indicate frame numbers.
  • the frame image 42 having the frame number “j”, that is, the j-th frame image 42 is referred to as a frame image [j].
  • the image processing apparatus 10 generates moving image data by selecting each frame image 42 constituting the moving image data from a plurality of captured images 40.
  • each frame image 42 is selected so that the rotation angle ( ⁇ ) of the product 30 between adjacent frame images 42 is substantially constant.
  • the angle ( ⁇ ) between the representative direction (for example, the front direction) of the product 30 shown in the frame image 42 and the representative direction of the product 30 shown in the next frame image 42 of the frame image 42 is approximately.
  • Each frame image 42 is selected so as to be constant.
  • Each frame image 42 is selected so that) is substantially constant.
  • the photographed image [1] is selected as the frame image [1].
  • the photographed image [4] is selected as the frame image [2].
  • the photographed image [6] is selected as the frame image [3].
  • FIG. 5 is a functional block diagram showing functions realized by the image processing apparatus 10.
  • the image processing apparatus 10 includes a captured image acquisition unit 50, a feature point detection unit 52, a position information acquisition unit 54, a rotation angle information acquisition unit 56, and a moving image data generation unit 58. These functional blocks are realized by the control unit 11, for example. That is, when the control unit 11 executes the process according to the program, the control unit 11 functions as the functional block.
  • the photographed image acquisition unit 50 will be described.
  • the captured image acquisition unit 50 acquires a plurality of captured images 40 obtained by repeatedly capturing the subject while the subject is rotating.
  • the product 30 corresponds to the “subject”.
  • the captured image acquisition unit 50 reads the captured image data stored in the storage unit 12.
  • the captured image data may be stored in a device other than the image processing device 10. That is, the captured image acquisition unit 50 may acquire captured image data stored in an apparatus other than the image processing apparatus 10 via a communication network.
  • the feature point detection unit 52 and the position information acquisition unit 54 will be described.
  • the feature point detection unit 52 detects feature points in the captured image 40.
  • the position information acquisition unit 54 and the one captured image 40 captured earlier of the pair of captured images 40. Then, position information regarding the position of the feature point in the other captured image 40 captured after the pair of captured images 40 is acquired.
  • the feature point detection unit 52 acquires the position and feature amount of the feature point in the captured image 40 using a known algorithm for detecting the feature point.
  • a SURF Speed-Up Robust Features
  • an algorithm other than the SURF algorithm For example, a SIFT (Scale-Invariant Transform)) algorithm or a Brisk (Binary Robust Invariant Scalable Keypoints) algorithm can be used.
  • the feature points are used to acquire information on the rotation angle of the product 30. For this reason, the feature point contained in the area
  • the feature point detection unit 52 acquires a difference image between two consecutive captured images 40. Since the captured image 40 is an image of the rotating product 30, the background area of the captured image 40 basically does not change. For this reason, the feature point detection unit 52 considers a region having a pixel value of zero in the difference image as a background region, and removes feature points included in this region. That is, the feature points included in the region are not considered in the position information acquisition unit 54 and the rotation angle information acquisition unit 56.
  • FIG. 6 is a diagram illustrating an example of feature points detected by the feature point detection unit 52.
  • a feature point 60 corresponding to the nose portion of the beckoning cat is detected.
  • a plurality of feature points 60 are detected in one captured image 40, but are omitted in FIG.
  • the position of the feature point 60 is represented by, for example, coordinate values in an XY coordinate system in which the upper left vertex of the captured image 40 is the origin O and the right direction and the lower direction are the X axis positive direction and the Y axis positive direction.
  • the feature point 60 corresponding to the nose portion of the beckoning cat is detected in each of the plurality of captured images 40 in which the nose portion of the beckoning cat is shown. That is, the feature point 60 corresponding to the same point of the product 30 is detected in the plurality of captured images 40.
  • FIG. 7 shows an example of the trajectory of the feature point 60 corresponding to the same point of the product 30.
  • FIG. 7 shows a trajectory 70 of feature points 60 corresponding to the beckoning cat's nose.
  • the imaging device 34 is disposed in front of the turntable 20 and slightly above the product 30, so that the trajectory 70 of the feature point 60 is an elliptical trajectory as illustrated in FIG. 7. become.
  • the feature quantity of the feature point 60 corresponding to the nose portion of the beckoning cat is the same in any captured image 40. That is, the feature point 60 corresponding to the same point of the product 30 can be detected in the plurality of captured images 40, but in principle, the feature amount of the feature point 60 corresponding to the same point of the product 30 is each of the plurality of captured images 40. Are the same.
  • the feature point detection unit 52 (first determination unit) includes the feature amount of the feature point 60 detected in one captured image 40, the feature amount of the feature point 60 detected in the other captured image 40, and Are the same or substantially the same.
  • the feature point detection unit 52 determines that the feature amounts of these feature points 60 are substantially the same.
  • the feature point detection unit 52 determines that these feature points 60 are feature points 60 corresponding to the same points of the product 30.
  • the Y-axis coordinate value of the feature point 60 corresponding to the same point of the product 30 changes greatly. There is no.
  • the feature point detection unit 52 (second determination unit) detects the Y-axis coordinate value of the feature point 60 detected in one captured image 40 and the Y-axis of the feature point 60 detected in another captured image 40. It is determined whether or not the difference between the coordinate value is equal to or greater than a threshold value. And when the difference of the Y-axis coordinate value of these feature points 60 is more than a threshold value, even if the feature-value of these feature points 60 is the same or substantially the same, the feature point detection part 52 is these It is determined that the feature point 60 is not the feature point 60 corresponding to the same point of the product 30.
  • each X-axis coordinate value of the plurality of feature points 60 is detected.
  • the amount of change is substantially equal and does not differ greatly.
  • the feature point 60 ⁇ / b> A having the same or substantially the same feature amount in both the one captured image 40 and the other captured image 40, and the one captured image 40 and the other captured image 40.
  • a feature point 60B having the same or substantially the same feature quantity in both
  • a feature point 60C having the same or substantially the same feature quantity in both the one photographed image 40 and the other photographed image 40, and one photographed image 40 and
  • the feature point detection unit 52 determines the amount of change in the X-axis coordinate value of the feature point 60D.
  • the change amounts of the X-axis coordinate values of the other feature points 60A to 60C are compared.
  • the change amount of the X-axis coordinate value of the feature points 60A to 60C is substantially equal, and the change amount of the X-axis coordinate value of the feature point 60D is larger than that of the feature points 60A to 60C.
  • the feature point detection unit 52 determines that the feature point 60D is the product 30. It is determined that the feature point 60 does not correspond to the same point.
  • the feature point detection unit 52 determines that the feature point 60 ⁇ / b> D whose absolute value of the deviation of the change amount of the X-axis coordinate value is larger than the threshold is not the feature point 60 corresponding to the same point of the product 30.
  • the rotation angle information acquisition unit 56 will be described.
  • the rotation angle information acquisition unit 56 acquires the rotation angle information related to the rotation angle of the subject between the shooting time of one captured image 40 and the shooting time of the other captured image 40 by the position information acquisition unit 54. Get based on.
  • the “rotation angle information” may be numerical information indicating the rotation angle itself, or may not be numerical information indicating the rotation angle itself, but may be numerical information that is proportional to the rotation angle. Good. That is, the “rotation angle information” may be numerical information that directly indicates the magnitude of the rotation angle, or may be numerical information that indirectly indicates the magnitude of the rotation angle.
  • FIG. 9 is a diagram for explaining a method of acquiring rotation angle information, and is a diagram for explaining the relationship between the rotation angle of the product 30 and the change of the X coordinate value of the feature point 60.
  • FIG. 9 shows a case where the product 30 arranged on the turntable 20 is looked down from directly above.
  • the trajectory 80 of the point 30A on the product 30 becomes a circular orbit around the rotation axis 32.
  • the radius of the circular orbit is described as “r”.
  • the change amount x 1 of the X-axis coordinate value of the feature point 60 corresponding to the point 30A on the product 30 when the product 30 is rotated by the rotation angle ⁇ 1 is expressed by the following equation (1). That, x 1 is the multiplication value of r and sin [theta 1.
  • the change amount x 2 of the X-axis coordinate value of the feature point 60 corresponding to the point 30A on the product 30 when the product 30 is rotated by the rotation angle ⁇ 2 is expressed by the following equation (2). That, x 2 is the multiplication value of r and sin [theta 2.
  • the Sin function is as shown in FIG. 10, the Sin function can be linearly approximated in the neighborhood region 90 where the angle ⁇ is zero or a neighborhood value of zero. Therefore, the above formulas (1) and (2) can be approximated as the following formulas (3) and (4) using the proportionality constant a. Furthermore, from the following formulas (3) and (4), the relationship among x 1 , x 2 , ⁇ 1 , and ⁇ 2 is represented by the following formula (5).
  • x 2 and ⁇ 2 can be expressed as in the following formulas (6) and (7).
  • the above equation (11) indicates that the change in angle ( ⁇ ) is proportional to the change in the X-axis coordinate value ( ⁇ x). Therefore, the rotation angle ( ⁇ ) when the product 30 rotates has a proportional relationship with the change amount ( ⁇ x) of the X-axis coordinate value of the feature point 60 corresponding to the point 30A on the product 30.
  • the radius r in the above formula (11) is different for each point on the product 30 in principle.
  • the radius r is not different for each point on the product 30 and is substantially the same. Therefore, assuming that the shape of the product 30 is cylindrical, the radius r in the above equation (11) can be ignored.
  • the amount of change in the X-axis coordinate value of the feature point 60 It can be used as a numerical value indicating the magnitude of the rotation angle.
  • the rotation angle information acquisition unit 56 sets an observation area in the captured image 40 based on the position of the rotation axis 32 in the captured image 40.
  • This observation region is a region corresponding to the neighborhood region 90 shown in FIG. 11 and 12 are diagrams for explaining a method for setting an observation region.
  • the rotation angle information acquisition unit 56 extracts a feature point 60 having the minimum X-axis coordinate value and a feature point 60 having the maximum X-axis coordinate value from the feature points 60 in all the captured images 40. To do. In this case, the feature point 60 included in the background area is ignored.
  • the X-axis coordinate value of the feature point 60 having the minimum X-axis coordinate value is described as “X min ”
  • the X-axis coordinate value of the feature point 60 having the maximum X-axis coordinate value is “X max ”. It is described.
  • the rotation angle information acquisition unit 56 regards an area where the X-axis coordinate value satisfies X min ⁇ x ⁇ X max as an area (hereinafter referred to as “existing area”) 100 in which the feature point 60 can exist.
  • the rotation angle information acquisition unit 56 acquires the position of the rotation shaft 32 in the captured image 40 based on the existence area 100. For example, as illustrated in FIG. 11, the rotation angle information acquisition unit 56 regards a straight line 102 that equally divides the existence region 100 in the left-right direction as a straight line corresponding to the rotation axis 32. That is, the rotation angle information acquisition unit 56 passes a straight line 102 that passes through an intermediate value between X min and X max ((X min + X max ) / 2) and is parallel to the Y axis to a straight line corresponding to the rotation axis 32. I reckon.
  • the rotation angle information acquisition unit 56 may acquire a subject area where the subject (product 30) is reflected in each of all the captured images 40. Then, the rotation angle information acquisition unit 56 may regard a straight line that equally divides the union area of the subject areas to the left and right as a straight line corresponding to the rotation axis 32.
  • the rotation angle information acquisition unit 56 sets an observation region. For example, as illustrated in FIG. 12, the rotation angle information acquisition unit 56 sets a rectangular region having a width d centered on the straight line 102 as the observation region 110. In this case, the width d is set to a value smaller than the width w of the existence area 100.
  • the rotation angle information acquisition unit 56 uses only the feature points 60 included in the observation region 110 in order to acquire the rotation angle information. For this reason, if the value of the width d is too small, the number of feature points 60 included in the observation region 110 is reduced, which may reduce the accuracy of the rotation angle information. On the other hand, if the value of the width d is too large, the observation region 110 may not correspond to the neighboring region 90 in FIG. In this case, the assumption that the Sin function can be linearly approximated is not satisfied, and as a result, the accuracy of the rotation angle information may be lowered.
  • the value of the width d is preferably set to a value that is about 1/3 of the width (w) of the existence region 100.
  • the rotation angle information acquisition unit 56 in the one photographed image 40 Position difference information relating to the difference between the position of the feature point 60 and the position of the feature point 60 in another captured image 40 is acquired.
  • the rotation angle information acquisition unit 56 acquires information regarding the difference in the X-axis coordinate values as the position difference information.
  • the X axis is an axis orthogonal to the Y axis corresponding to the rotation axis 32.
  • the rotation angle information acquisition unit 56 acquires rotation angle information based on the position difference information.
  • the rotation angle information acquisition unit 56 calculates a statistical value (for example, an average value) of the change amount of each of the plurality of feature points 60. In this case, this numerical value is used as the rotation angle information.
  • the rotation angle information acquisition unit 56 may calculate the barycentric positions of the plurality of feature points 60 in one captured image 40. Further, the rotation angle information acquisition unit 56 may calculate the barycentric positions of the plurality of feature points 60 in other captured images 40. Then, the rotation angle information acquisition unit 56 may calculate the difference between the X-axis coordinate values between these barycentric positions. In this case, this numerical value is used as the rotation angle information.
  • the above numerical value corresponds to a numerical value indicating the magnitude of the rotation angle, but is not a numerical value indicating the rotation angle itself. Therefore, in the following, the above numerical value is referred to as “pseudo rotation angle” for convenience.
  • the moving image data generation unit 58 will be described.
  • the moving image data generation unit 58 selects each frame image 42 of the moving image data indicating how the subject rotates from the plurality of captured images 40 based on the position information acquired by the position information acquisition unit 54. Thus, moving image data is generated.
  • the moving image data generation unit 58 is a moving image showing how the product 30 rotates based on the rotation angle information acquired by the rotation angle information acquisition unit 56 for each of the plurality of captured images 40 included in the captured image data.
  • Each frame image 42 of data is selected from the plurality of captured images 40.
  • the moving image data generation unit 58 selects each frame image 42 such that the rotation angle of the product 30 between the frame images 42 is substantially constant.
  • FIG. 13 is a diagram for explaining an example of a method of selecting the frame image 42.
  • ⁇ 1 , 2 indicates a pseudo rotation angle between the captured image [1] and the captured image [2]. That is, ⁇ 1 and 2 indicate the pseudo rotation angle of the product 30 from the shooting time of the shot image [1] to the shooting time of the shot image [2].
  • ⁇ 1 and 2 indicate the pseudo rotation angle of the product 30 from the shooting time of the shot image [1] to the shooting time of the shot image [2].
  • a plurality of feature points 60 respectively corresponding to a plurality of identical points on the product 30 are detected in the observation regions 110 of both the photographed image [1] and the photographed image [2]
  • the photographed image [1] and the photographed image are taken.
  • the average value of the change amounts of the X-axis coordinate values of the plurality of feature points 60 between the images [2] corresponds to ⁇ 1,2 .
  • the moving image data generation unit 58 selects a frame image [1]. For example, the moving image data generation unit 58 selects the captured image [1] as the frame image [1].
  • the moving image data generation unit 58 selects the frame image [2]. First, the moving image data generation unit 58 determines whether or not the next captured image [2] of the captured image [1] selected as the immediately preceding frame image [1] should be selected as the frame image [2]. .
  • the moving image data generation unit 58 compares the pseudo rotation angles ⁇ 1 and 2 between the captured image [1] and the captured image [2] with the threshold ⁇ T. That is, the moving image data generation unit 58 determines whether or not the pseudo rotation angles ⁇ 1 and 2 between the captured image [1] and the captured image [2] are equal to or greater than the threshold ⁇ T.
  • the threshold ⁇ T is a pseudo rotation angle appropriate as the pseudo rotation angle between the frame images 42 and is set in advance.
  • the moving image data generation unit 58 selects the captured image [2] as the frame image [2]. On the other hand, as illustrated in FIG. 13, when the pseudo rotation angles ⁇ 1 and 2 are less than the threshold ⁇ T , the moving image data generation unit 58 does not select the captured image [2] as the frame image [2].
  • the moving image data generation unit 58 determines whether or not the next captured image [3] should be selected as the frame image [2].
  • the moving image data generation unit 58 compares the cumulative pseudo rotation angle and the threshold theta T between the frame images [1] elected captured image as a [1] of the immediately preceding up shot image [3]. That is, the moving image data generation unit 58 sums the pseudo rotation angle ⁇ 1,2 between the captured images [1] and [2] and the pseudo rotation angle ⁇ 2,3 between the captured images [2] and [3]. is equal to or greater than or equal to the threshold value theta T. In this case, this sum corresponds to a numerical value indicating the magnitude of the rotation angle of the product 30 from the shooting time of the shot image [1] to the shooting time of the shot image [3].
  • the moving image data generating unit 58 selects the captured image [3] as the frame images [2].
  • the moving image data generation unit 58 converts the captured image [3] into the frame image [2]. Not elected as.
  • the moving image data generation unit 58 determines whether or not the next captured image [4] should be selected as the frame image [2].
  • the moving image data generating unit 58 is accumulated pseudo rotation angle between the captured images selected as the immediately preceding frame image [1] [1] until the shot image [4] the threshold theta T or more Determine whether. That is, the moving image data generating unit 58, the captured image [1], a pseudo rotation angle [Delta] [theta] 1, 2 between [2], the captured image [2], a pseudo rotation angle [Delta] [theta] 2,3 between [3], shot image [3], it is determined whether the [4] the sum of the pseudo rotation angle [Delta] [theta] 3, 4 between the threshold theta T or more. In this case, this sum corresponds to a numerical value indicating the magnitude of the rotation angle of the product 30 from the shooting time of the shot image [1] to the shooting time of the shot image [4].
  • the moving image data generation unit 58 converts the captured image [4] into a frame image. Selected as [2].
  • the moving image data generation unit 58 selects the frame [3]. First, the moving image data generation unit 58 determines whether or not the next captured image [5] after the captured image [4] selected as the immediately preceding frame image [2] should be selected as the frame image [3]. .
  • the moving image data generation unit 58 determines whether or not the pseudo rotation angle ⁇ 4,5 between the captured image [4] and the captured image [5] is greater than or equal to the threshold ⁇ T. If the pseudo rotation angles ⁇ 4 and 5 are equal to or greater than the threshold ⁇ T , the moving image data generation unit 58 selects the captured image [5] as the frame image [3]. On the other hand, as shown in FIG. 13, when the pseudo rotation angles ⁇ 4, 5 are less than the threshold ⁇ T , the moving image data generation unit 58 does not select the captured image [5] as the frame image [3].
  • the moving image data generation unit 58 determines whether or not the next captured image [6] should be selected as the frame image [3].
  • the moving image data generating unit 58 is accumulated pseudo rotation angle between the captured images selected as the immediately preceding frame image [2] [4] to the photographing image [6] is the threshold theta T or more Determine whether. That is, the moving image data generating unit 58, the captured image [4], a pseudo rotation angle [Delta] [theta] 4, 5 between [5], the captured image [5], the pseudo rotation angle [Delta] [theta] 5, 6 between [6] sum is equal to or more than the threshold value theta T.
  • the moving image data generation unit 58 selects the captured image [6] as the frame image [3]. To do.
  • the moving image data generation unit 58 determines whether or not the captured image [i + 1] should be selected as the frame image [j + 1]. to determine whether the accumulated pseudo rotation angle between the captured image [i] to the photographing image [i + 1] is greater than or equal to the threshold theta T.
  • the moving image data generating unit 58 selects the captured image [i + 1] as the frame image [j + 1]. On the other hand, if the cumulative pseudo rotation angle is less than the threshold theta T, the moving image data generating unit 58 does not elect a captured image [i + 1] as the frame image [j + 1]. In this case, the moving image data generation unit 58 determines whether the captured image [i + 2] should be selected as the frame image [j + 1] or not between the captured image [i] and the captured image [i + 2]. cumulative pseudo rotation angle is equal to or more than the threshold value theta T.
  • the moving image data generating unit 58 searches for the first captured image 40 the cumulative pseudo rotation angle is equal to or larger than the threshold value theta T between the photographed image [i]. For example, the captured image from the captured image [i] [i + k] : when the accumulated pseudorotation angle until (k 1 or more integer) is equal to or higher than the threshold theta T, the moving image data generating unit 58 is photographed image [i + k] Is selected as a frame image [j + 1].
  • the moving image data generation unit 58 selects each frame image 42 of the moving image data.
  • the method of selecting the frame image 42 is not limited to the example shown in FIG. Here, another example of the selection method of the frame image 42 will be described.
  • FIG. 14 is a diagram for explaining the first example.
  • the photographed image [i + 1] is not selected as the frame image [j + 1] after the photographed image [i] is selected as the frame image [j]
  • the photographed image [i + k] (k: 2 or more) Assume that it is determined whether or not to select a frame image [j + 1].
  • the accumulated pseudo rotation angle is greater than or equal to the threshold value theta T between the previous frame image [j] elected captured image as a [i] to the photographing image [i + k] It was to judge whether or not. That is, in the selection method shown in FIG. 13, the captured image [i + k] Cumulative pseudo rotation angle [Delta] [theta] i between the up, i + 1 + ⁇ + ⁇ i-k-1, i + k is greater than or equal to the threshold theta T from the photographed image [i] It was to judge whether or not.
  • the amount of change in the X-axis coordinate value of the feature point 60 corresponding to the same point of the product 30 is calculated between the captured image [i] and the captured image [i + k]. Based on this amount of change, a pseudo rotation angle ⁇ i, i + k between the captured image [i] and the captured image [i + k] is calculated.
  • the cumulative pseudo rotation angle (or pseudo rotation angle ⁇ 1, i + k ) between the captured image [1] selected as the first frame image [1] and the captured image [i + k] is ⁇ T * j. You may make it determine whether it is above.
  • the cumulative pseudo rotation angle (or the pseudo rotation angle ⁇ 1, i + k ) is equal to or greater than ⁇ T * j, the captured image [i + k] may be selected as the frame image [j + 1].
  • FIG. 15 is a diagram for explaining the third example.
  • the photographed image [i] is selected as the frame image [j]
  • the cumulative pseudo rotation angle (or pseudo rotation angle ⁇ 1, i + 3 ) between the captured image [1] and the captured image [i + 3] is equal to or greater than ⁇ T * j.
  • the captured image [i + 3] is selected as the frame image [j + 1].
  • one of the photographed image [i + 3] and the photographed image [i + 2] immediately before the photographed image [i + 3] may be selectively selected as the frame image [j + 1]. .
  • the moving image data generation unit 58 causes the cumulative pseudo rotation angle ⁇ i, i + 1 between the captured image [i] and the captured image [i + 2].
  • Which of the cumulative pseudo rotation angles ⁇ i, i + 1 + ⁇ i + 1, i + 2 + ⁇ i + 2, i + 3 between + ⁇ i + 1, i + 2 and the captured image [i] and the captured image [i + 3] is closer to the threshold ⁇ T Determine.
  • moving image data generation unit 58 determines whether intermediate value thereof cumulative pseudo rotation angle is less than the threshold theta T.
  • the moving image data generation unit 58 determines that the intermediate value (( ⁇ i, i + 1 + ⁇ i + 1, i + 2 ) + ( ⁇ i, i + 1 + ⁇ i + 1, i + 2 + ⁇ i + 2, i + 3 )) / 2 is the threshold ⁇ . It is determined whether it is less than T.
  • the moving image data generation unit 58 determines the pseudo rotation angle ⁇ i, i + 2 between the captured image [i] and the captured image [i + 2] and the captured image [i ] and determines one Do closer to the threshold theta T of a pseudo rotation angle ⁇ i, i + 3 between the photographed image [i + 3]. For example, the moving image data generation unit 58 determines whether or not the intermediate value ( ⁇ i, i + 2 + ⁇ i, i + 3 ) / 2 of these pseudo rotation angles is less than the threshold value ⁇ T.
  • the moving image data generation unit 58 selects the captured image [i + 2] as the captured image [j + 1].
  • the intermediate value is less than the threshold theta T is close to the pseudo rotation angle ⁇ i, i + 3 towards the threshold theta T between the captured image [i] and the captured image [i + 3]
  • the moving picture The data generation unit 58 selects the captured image [i + 3] as the captured image [j + 1].
  • the product 30 rotates more smoothly in the moving image data.
  • theta T may be moving picture data generator 58 selects one of the captured image [i + 2] and the photographing image [i + 3] as the frame image [j + 1].
  • 16 and 17 are flowcharts showing an example of processing executed in the image processing apparatus 10 in order to generate moving image data of the product 30 that rotates once based on the shooting data.
  • the processes shown in FIGS. 16 and 17 correspond to a selection method that combines the selection methods shown in FIGS.
  • the control unit 11 executes the processing shown in FIGS. 16 and 17 according to the program, the control unit 11 functions as the functional block shown in FIG.
  • the control unit 11 extracts the captured image data for one rotation from the captured image data in order to generate the moving image data of the product 30 that rotates once (S101).
  • FIG. 18 is a diagram for explaining the outline of the processing in step S101
  • FIG. 19 is a flowchart showing details of the processing in step S101.
  • the control unit 11 searches the captured image 40 included in the captured image data for the captured image 40 when the product 30 has completed one rotation.
  • the photographed image 40 at the time when the product 30 has completed one rotation should be the same or substantially the same image as the photographed image 40 immediately before the product 30 starts to rotate (hereinafter referred to as “reference photographed image”). There should be an image taken after a certain amount of time has elapsed since the reference photographed image was photographed. For this reason, when the photographed image [i] satisfies both of the following conditions (A) and (B), the photographed image [i] corresponds to the photographed image 40 at the time when the product 30 has completed one rotation. Can be considered.
  • the first captured image 40 of the captured images 40 included in the captured image data is set as the “reference captured image”.
  • the reference captured image and the captured image [i] are the same or substantially the same. In other words, the similarity between the reference captured image and the captured image [i] is extremely high.
  • the shooting time point of the reference shot image is separated from the shooting time point of the shot image [i] by a predetermined time or more.
  • the difference between the image numbers of the reference captured image and the captured image [i] is equal to or greater than the threshold value (I T ).
  • the “predetermined time” and the “threshold value ( IT )” in the condition (B) are determined in consideration of an average time required for the product 30 to make one rotation.
  • the control unit 11 searches for the captured image 40 that satisfies both the above conditions (A) and (B) from the captured image data. Find out. Then, the control unit 11 extracts from the reference captured image to the captured image 40 as captured image data for one rotation. In the process shown in FIG. 19, a photographed image 40 that satisfies both the above conditions (A) and (B) is searched in the order from the last photographed image 40 to the first photographed image 40. . In addition, the first captured image 40 is set as a reference captured image.
  • the control unit 11 acquires the total number N of the captured images 40 included in the captured image data (S201). And the control part 11 substitutes the said total number N to the variable i (S202).
  • the control unit 11, a predetermined coefficient to the total number N ⁇ ( ⁇ : 0 ⁇ ⁇ 1, for example, 1/3) to set a value obtained by multiplying the a threshold I T (S203).
  • the control unit 11 may set a predetermined fixed value as a threshold value I T.
  • control unit 11 determines whether the captured image [1] and the captured image [i] are the same or substantially the same (S204). That is, the control unit 11 determines whether or not the similarity between the captured image [1] and the captured image [i] is extremely high.
  • control unit 11 sets the plurality of feature points 60. It is determined whether the number is greater than a predetermined threshold.
  • the control unit 11 When the number is greater than the threshold, the control unit 11 generates a difference image between the captured image [1] and the captured image [i], and calculates the total value of the pixel values of the difference image. In this case, the smaller the total value, the higher the similarity between the captured image [1] and the captured image [i]. For this reason, the control part 11 determines whether the said total value is less than a predetermined threshold value.
  • the control unit 11 determines that the captured image [1] and the captured image [i] are the same or substantially the same. On the other hand, when the number is less than the threshold or when the total value is greater than or equal to the threshold, the control unit 11 determines that the captured image [1] and the captured image [i] are not the same and substantially the same.
  • a difference image is generated only when the number is greater than a threshold value, and as a result, the processing load is reduced.
  • the method of determining whether the captured image [1] and the captured image [i] are the same or substantially the same is not limited to the above method.
  • the number of feature points 60 is considered, but the number of feature points 60 may not be considered.
  • the control unit 11 subtracts 1 from the value of the variable i (S205), and the value of the variable i is the threshold value I T. It is determined whether it is less than (S206). If the value of the variable i is not less than the threshold value I T (S206: N), the control unit 11 executes step S204.
  • the control unit 11 converts the captured images [1] to [i] into captured image data for one rotation. (S208). That is, the control unit 11 uses the captured images [1] to [i] for processing (S102 to S120) described later. In this case, the captured images 40 after the captured image [i + 1] are removed.
  • the control unit 11 uses all the captured images 40 included in the captured image data for processing (S102 to S120) described later.
  • the photographed image 40 having the highest similarity to the photographed image [1] may be searched for among the photographed images [I T ] to photographed images [N]. Then, the first captured image 40 to the captured image 40 may be extracted as captured image data for one rotation.
  • step S101 the control unit 11 reads the captured image [1] (S102), and detects a feature point 60 in the captured image [1] (S103).
  • the control unit 11 selects the captured image [1] as the frame image [1] (S104).
  • control unit 11 initializes the variable s to 0, initializes the variables i and j to 2, and initializes the variable k to 1 (S105).
  • the variable s is used to calculate the cumulative pseudo rotation angle.
  • the variable i indicates the image number of the captured image 40 to be processed, and the variable j indicates the frame number of the frame image 42 to be selected.
  • the variable k indicates the image number of the captured image 40 selected as the frame image [j ⁇ 1].
  • step S105 the control unit 11 reads the captured image [i] (S106), and detects the feature point 60 in the captured image [i] (S107). The detection result in step S107 is stored in the storage unit 12.
  • step S107 the control unit 11 calculates a pseudo rotation angle ⁇ i ⁇ 1, i between the captured image [i ⁇ 1] and the captured image [i] (S108), and the pseudo rotation angle.
  • ⁇ i ⁇ 1, i is added to the variable s (S109).
  • the control part 11 determines whether the variable s is more than threshold value (theta) T (S110).
  • control unit 11 When the variable s is not greater than or equal to the threshold ⁇ T (S110: N), as shown in FIG. 17, the control unit 11 adds 1 to the variable i (S119), whether the captured image [i] is present Determine (S120). When the captured image [i] exists (S120: Y), the control unit 11 executes Step S106.
  • the control unit 11 the captured image [k] and the photographed image which is selected as a frame picture [j] [i- cumulative pseudo rotation angle s k between 1], and i-1, the accumulated pseudo rotation angle s k between the shot image [k] and the photographed image [i], an intermediate value between the i (s k , i-1 + s k, i) / 2 is calculated to determine whether or not the intermediate value is equal to or smaller than the threshold ⁇ T (S111).
  • the control unit 11 selects the captured image [i] as the frame image [j] (S112). In this case, the control unit 11 assigns the value of the variable i to the variable k (S113), and adds 1 to the variable i (S114). Then, the control unit 11 determines whether or not the captured image [i] exists (S115). When the captured image [i] exists (S115: Y), the control unit 11 adds 1 to the variable j (S118), and executes Step S106.
  • the control unit 11 selects the captured image [i-1] as the frame image [j] (S116). In this case, the control unit 11 assigns a value obtained by subtracting 1 from the value of the variable i to the variable k (S117). And the control part 11 adds 1 to the variable j (S118), and performs step S106.
  • step S115 or S120 If it is determined in step S115 or S120 that the photographed image [i] does not exist, the control unit 11 ends this process. In this case, moving image data including the frame images [1] to [j] is generated as moving image data indicating the product 30 that rotates once.
  • processing executed by the image processing apparatus 10 is not limited to the processing shown in FIGS.
  • steps S111, S116, and S117 in FIG. 17 may be deleted. That always may be step S112 ⁇ S115 is performed if the variable s is determined to be equal to or greater than the threshold value theta T in step S110. In this case, the selection method shown in FIG. 13 is executed.
  • control unit 11 may calculate a pseudo rotation angle ⁇ k, i between the captured image [k] and the captured image [i]. .
  • step S110 it may be determined whether or not the pseudo rotation angle ⁇ k, i is equal to or greater than a threshold value ⁇ T. In this case, the selection method shown in FIG. 14 is executed.
  • step S101 in FIG. 16 may be omitted, and the process shown in FIG. 20 may be executed instead of the process shown in FIG.
  • the process shown in FIG. 20 is different from the process shown in FIG. 17 in that it includes steps S121 to S124.
  • control unit 11 changes the photographed image 40 selected as the frame image [j] to the photographed image 40 at the time when the product 30 has completed one rotation. Processing for determining whether or not it corresponds is executed (steps S121 to S124).
  • step S113 the control unit 11 determines whether or not the value of the variable i is equal to or greater than the threshold value I T (S121).
  • the threshold I T is the same as step S206 of FIG. 19.
  • step S114 If the value of the variable i is less than the threshold value I T (S121: N), the control unit 11 executes step S114. On the other hand, if the value of the variable i is equal to or greater than the threshold value I T (S121: Y), the control unit 11, the frame images [1] and frame image [j] and determines whether the same or substantially the same (S122). This process is the same as step S204 in FIG.
  • Step S114 When it is determined that the frame image [1] and the frame image [j] are not the same or substantially the same (S122: N), the control unit 11 executes Step S114. On the other hand, when it is determined that the frame image [1] and the frame image [j] are the same or substantially the same (S122: Y), the control unit 11 ends this process. In this case, moving image data including the frame images [1] to [j] is generated as moving image data indicating the product 30 that rotates once.
  • step S117 the control unit 11, a value obtained by subtracting 1 from the value of the variable i is equal to or larger than the threshold value I T (S123). If the value obtained by subtracting 1 from the value of the variable i is less than the threshold value I T (S123: N), the control unit 11 executes step S118. On the other hand, when the value obtained by subtracting 1 from the value of the variable i is equal to or greater than the threshold value I T (S123: Y), the control unit 11, the frame image [j] and is the same or substantially the same as the frame image [1] It is determined whether or not (S124).
  • Step S118 When it is determined that the frame image [1] and the frame image [j] are not the same or substantially the same (S124: N), the control unit 11 executes Step S118. On the other hand, when it is determined that the frame image [1] and the frame image [j] are the same or substantially the same (S124: Y), the control unit 11 ends this process. In this case, moving image data including the frame images [1] to [j] is generated as moving image data indicating the product 30 that rotates once.
  • the processing shown in FIG. 21 may be executed when it is determined in step S115 or S120 that the photographed image [i] does not exist.
  • the process shown in FIG. 21 is a process for extracting moving image data for one rotation from the frame images [1] to [j] included in the generated moving image data.
  • the control unit 11 substitutes the value of the variable j for the variable h (S301), and multiplies the variable j by a coefficient ⁇ (0 ⁇ ⁇ 1: for example, 1/3). set the threshold value H T (S302).
  • the threshold H T is equivalent to the threshold I T in FIG. 19 and 20.
  • control unit 11 determines whether or not the frame image [1] and the frame image [h] are the same or substantially the same (S303). This process is the same as step S204 in FIG.
  • the control unit 11 subtracts 1 from the value of the variable h (S304). Then, the control unit 11 determines whether or not the value of the variable h is smaller than the threshold H T (S305). If the value of the variable h is not less than the threshold value H T (S305: N), the control unit 11 executes step S303.
  • the control unit 11 converts the frame images [1] to [h] Extracted as moving image data (S307).
  • the frame images [1] to [h] are acquired as the moving image data of the product 30 that rotates once from among the selected frame images [1] to [j].
  • the frame images [h + 1] to [j] are removed.
  • the control unit 11 frame images [1] to extract the [j] (S306). If the value of the variable h is determined to be less than the threshold value H T in the step S306, it is when it is not possible to find a frame image 42 corresponding to the image at the time when the product 30 has finished one rotation. In such a case, the control unit 11 extracts the frame images [1] to [j] as moving image data of the product 30.
  • the frame image 42 having the highest degree of similarity to the frame image [1] may be searched among the frame images [H T ] to [j]. Then, the moving image data from the first frame image 42 to the frame image 42 may be acquired as moving image data of the product 30 that rotates once. Even in this case, moving image data of the product 30 that rotates once can be generated.
  • a moving image in which the rotation angle of the product 30 for each frame is substantially constant based on captured image data when the product 30 rotating at a non-constant angular velocity is captured.
  • Image data can be acquired. Further, according to the image processing apparatus 10, it is possible to acquire moving image data for one rotation.
  • the radius r of the trajectory 80 (circular orbit) taken by each point on the product 30 is assumed to be the same under the assumption that the shape of the product 30 is a substantially cylindrical shape.
  • the shape of the product 30 is not limited to a substantially cylindrical shape.
  • the radius r is different for each point. Therefore, if the radius r is considered to be the same, an error may increase. Therefore, the image processing apparatus 10 may have a configuration for suppressing the occurrence of such inconvenience.
  • the rotation angle information acquisition unit 56 may acquire the rotation angle information by using the feature point 60 having the large radius r preferentially over the feature point 60 having the small radius r. Good.
  • the rotation angle information acquisition unit 56 uses only the feature points 60 with a large radius r for acquisition of rotation angle information, and acquires the feature points 60 with the radius r not large with respect to rotation angle information. You may make it not use for.
  • a feature point 60 that passes through both the region outside the observation region 110 and the observation region 110 corresponds to a point on the product 30 (feature point 60) having a relatively large radius r. it can. For this reason, only such a feature point 60 may be used for acquiring rotation angle information, so that only the feature point 60 having a relatively large radius r may be used for acquiring rotation angle information.
  • the rotation angle information acquisition unit 56 may calculate the radius r (rotation radius information) for each feature point 60. Then, the rotation angle information acquisition unit 56 uses only the feature points 60 having the radius r larger than the threshold value for acquiring the rotation angle information, and uses the feature points 60 having the radius r equal to or less than the threshold value for acquiring the rotation angle information. It may not be.
  • the rotation angle information acquisition unit 56 may calculate the radius r (rotation radius information) for each feature point 60. Then, the rotation angle information acquisition unit 56 calculates the pseudo rotation angle (rotation angle information) of each feature point 60 according to the above equation (11) and the change amount (positional difference information) of the X-axis coordinate value of the feature point 60. The calculation may be performed based on the radius r (rotation radius information) of the feature point 60. Then, the rotation angle information acquisition unit 56 may use the statistical value (for example, average value) of the pseudo rotation angle calculated in this way as the pseudo rotation angle of the product 30.
  • the rotation angle information acquisition unit 56 may use the statistical value (for example, average value) of the pseudo rotation angle calculated in this way as the pseudo rotation angle of the product 30.
  • radius r needs to be calculated in the modified examples 1-1-2 and 1-2 described above. Therefore, a method for calculating the radius r (rotation radius information) will be described.
  • the rotation angle information acquisition unit 56 acquires elliptical trajectory information related to the trajectory 70 (elliptical trajectory) of the feature point 60 corresponding to the same point on the product 30, and based on the elliptical trajectory information.
  • the radius r may be calculated.
  • the rotation angle information acquisition unit 56 estimates the radius r based on at least one of the major axis and the minor axis of the track 70.
  • the rotation angle information acquisition unit 56 acquires 1 ⁇ 2 of the major axis of the track 70 as the radius r.
  • the elliptical trajectory information regarding the trajectory 70 of the feature point 60 can be acquired. In this case, the following may be performed in order to increase the calculation accuracy of the trajectory 70.
  • the rotation angle information acquisition unit 56 should not use the track 70 whose center point is shifted from the other track 70 or the track 70 that is not concentric with the other track 70.
  • the rotation angle information acquisition unit 56 acquires a plurality of combinations of the three positions of the feature point 60. It may be. Further, the rotation angle information acquisition unit 56 may calculate a plurality of trajectories 70 respectively corresponding to the plurality of combinations. Then, the rotation angle information acquisition unit 56 calculates the average of the center point, the major axis, and the minor axis of the plurality of trajectories 70 thus calculated as the center point, the major axis, and the major axis of the trajectory 70 of the feature point 60. You may make it acquire as a short diameter. Even in this way, the calculation accuracy of the trajectory 70 can be increased.
  • a feature point 60 corresponding to the same point on the product 30 is first detected in the photographed image [i] (i: an integer equal to or greater than 1), and the photographed image [j] (j: an integer satisfying i ⁇ j). ),
  • the rotation angle information acquisition unit 56 (rotation radius information acquisition means) acquires the radius r based on the position of the feature point 60 in the captured images [i] and [j]. You may do it.
  • the rotation angle information acquisition unit 56 captures the captured images [i], You may make it acquire 1/2 of the length of the straight line which connects the position of the said feature point 60 in [j] as the said radius r.
  • the “end area” is an area within a predetermined distance from the end of the existing area 100.
  • the rotation angle information acquisition unit 56 may acquire 1/2 of the difference in the X-axis coordinate value of the feature point 60 between the captured images [i] and [j] as the radius r.
  • the feature amount of the feature point 60 corresponding to the symbol portion is the same as when the feature point 60 is in the central region of the existence region 100. This is different from the case where the point 60 is in the end region of the existence region 100.
  • the feature point 60 may be recognized as a feature point 60 different from the feature point 60 corresponding to the symbol portion.
  • the photographing device 34 and the product 30 are close to each other, there is a case where the rotation of 180 degrees of the symbol portion of the product 30 is not photographed and only the rotation of an angle smaller than 180 degrees is photographed. Considering this point, the above calculation method is more accurate than this calculation method. However, according to this calculation method, since it is not necessary to calculate an elliptical orbit, the processing load is reduced as compared with the above-described calculation method.
  • the threshold ⁇ T is set in advance, but the threshold ⁇ T may be set dynamically.
  • a threshold value theta T may be set based on the number of the captured image 40 underlying the generation of moving picture data.
  • the threshold ⁇ T may be decreased as the number of the captured images 40 for one rotation of the product 30 increases.
  • the threshold value theta T is small, the moving image data is smoothed. In this respect, if as described above, it becomes possible to reduce the threshold theta T according to the shooting data, it is possible to smooth as possible moving image data.
  • FIG. 22 is a diagram for explaining this modification.
  • the control unit 11 sets a threshold theta T to a relatively small value. And the control part 11 selects the frame image 42 so that the rotation angle between the frame images 42 may become threshold value (theta) T.
  • the control unit 11 determines whether or not elected frame image 42 as the rotational angle between the frame image 42 is the threshold value theta T. For example, if the difference between the pseudo rotation angle and the threshold theta T between the frame images [j] and the frame image [j + 1] is within the predetermined range, the control unit 11, the threshold rotation angle between the frame images 42 regarded as was elected frame image 42 as a theta T. Specifically, if the pseudo rotation angle is within the range of the threshold ⁇ T ⁇ 20%, the control unit 11 selects the frame image 42 so that the rotation angle between the frame images 42 becomes the threshold ⁇ T. It is considered that it was made.
  • the frame image [2] shown in FIG. 22 (A), such as "6" because it could not elected frame image 42 as the rotational angle between the frame image 42 is the threshold value theta T if, as shown in FIG. 22 (B), the control unit 11 increases the threshold theta T, selects the frame image 42 based on a threshold theta T after the update. Until the rotation angle between the frame image 42 will be able to elect all frame images 42 as a threshold value theta T repeats such processing.
  • Captured image data for a plurality of rotations is acquired, and a frame image 42 that cannot be acquired from the captured image data for the first rotation is acquired from the captured image data for the second and subsequent rotations. Also good. Note that the imaging data after the second rotation can be extracted in the same manner as the method of extracting the imaging data for the first rotation.
  • the frame image [2] whose pseudo rotation angle with the frame image [1] is ⁇ T cannot be selected.
  • the frame image 42 whose pseudo rotation angle with the frame image [1] is ⁇ T may be found from the captured image data after the second rotation.
  • FIG. 23 is a diagram for explaining a process for coping with the above inconvenience.
  • FIG. 23 shows a feature point 60 corresponding to the same point on the product 30 in the photographed images [m + 1] to [m + n] among the photographed images [1] to [m + n] included in the photographed image data for one rotation. This shows a case where is not detected.
  • control unit 11 acquires the number of captured images 40 selected as the frame image 42 from the captured images [1] to [m]. In the example shown in FIG. 23, this number is p.
  • control unit 11 is based on the ratio between the number of the photographed images [1] to [m] and the number of the photographed images 40 selected as the frame images 42 from the photographed images [1] to [m].
  • the frame image 42 is selected from the photographed images [m + 1] to [m + n].
  • the control unit 11 sets the ratio between the number of captured images [m + 1] to [m + n] and the number of captured images 40 selected as frame images 42 from the captured images [m + 1] to [m + n]. Based on this, the frame image 42 may be selected from the photographed images [1] to [m].
  • the operation of the rotation angle information acquisition unit 56 is not limited to the embodiment described above.
  • the rotation angle information acquisition unit 56 may acquire elliptical trajectory information related to the trajectory 70 (elliptical trajectory) of the feature point 60 corresponding to the same point on the product 30. If feature points 60 corresponding to the same point on the product 30 are detected in at least three captured images 40, an ellipse related to the trajectory 70 of the feature points 60 is based on the positions of the feature points 60 in the captured images 40. Orbit information can be acquired.
  • the rotation angle information acquisition unit 56 may be calculated based on the position of the feature point 60 in the photographed image [i], the position of the feature point 60 in the photographed image [i + k], and the elliptical trajectory information. Even in this way, it is possible to acquire rotation angle information related to the rotation angle of the product 30 between the shooting time of the shot image [i] and the shooting time of the shot image [i + k].

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

 一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを取得することを可能にする。撮影画像取得部(50)は、回転している被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する。位置情報取得部(54)は、被写体上の同一点に対応する特徴点が一の撮影画像と他の撮影画像とにおいて検出された場合に、一の撮影画像及び他の撮影画像における当該特徴点の位置に関する位置情報を取得する。回転角度情報取得部(56)は、一の撮影画像と他の撮影画像との撮影時点の間の被写体の回転角度に関する回転角度情報を位置情報に基づいて取得する。動画像データ生成部(58)は、複数の撮影画像それぞれについて取得された回転角度情報に基づいて動画像データのフレーム画像を複数の撮影画像のうちから選出することによって、動画像データを生成する。

Description

画像処理装置、画像処理方法、プログラム、及び情報記憶媒体
 本発明は画像処理装置、画像処理方法、プログラム、及び情報記憶媒体に関する。
 被写体の全周囲を撮影する方法として、被写体が中心に配置された回転台を機械的に一定の角速度で回転させながら被写体を撮影する方法が知られている(非特許文献1)。また、このような方法によって得られた撮影画像データを用いて、画面に表示された被写体をユーザが任意に回転させることができるようにしたアプリケーションプログラムも知られている(非特許文献1)。
 非特許文献1で公開されているアプリケーションプログラムでは、ユーザがタッチパネル上で指をスライドさせると、スライド量に応じた数だけ撮影画像データのフレームが進んだり、戻ったりするようになっている。その結果、ユーザのスライド量に応じた角度だけ被写体が回転し、ユーザが被写体を任意の方向から見ることができるようになっている。このような技術によれば、例えば、商品を販売するウェブサイトにおいてユーザが商品を任意の方向から見ることができるようにすることが可能になる。
"The Coolest AppAtSXSW-Arqball Spin". [online]. March 13, 2012. [retrieved on July26,2012]. Retrieved from the Internet:<URL:http://erickschonfeld.com/2012/03/13/coolest-app-sxsw-arqball-spin/>.
 上記技術の場合、機械的に一定の角速度で回転する回転台が必要となり、このような回転台を用意するために相当のコスト又は手間がかかってしまう。これに対し、手動で回転する回転台であれば、コストや手間を軽減できる。
 しかしながら、手動で回転する回転台を用いる場合には被写体の角速度が一定にならないため、撮影画像データにおいてフレームごとの被写体の回転角度が一定にならない。その結果、このような撮影画像データをそのまま再生した場合には被写体の回転速度が一定にならない。また、このような撮影画像データを上記のアプリケーションプログラムにおいてそのまま用いた場合には、ユーザのスライド量に応じた被写体の回転角度が一定にならず、その結果、ユーザに違和感を与えてしまう場合がある。
 このような不都合を解消するために、フレームごとの被写体の回転角度が略一定であるような被写体の動画像データを、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて取得する技術が必要となる。
 本発明は上記課題に鑑みてなされたものであって、その目的は、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを取得することが可能な画像処理装置、画像処理方法、プログラム、及び情報記憶媒体を提供することにある。
 上記課題を解決するために、本発明に係る画像処理装置は、被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段と、撮影画像内の特徴点を検出する特徴点検出手段と、前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段と、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段と、前記複数の撮影画像それぞれについて前記回転角度情報取得手段によって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成手段と、を含むことを特徴とする。
 また、本発明に係る画像処理方法は、被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得ステップと、撮影画像内の特徴点を検出する特徴点検出ステップと、前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得ステップと、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得ステップと、前記複数の撮影画像それぞれについて前記回転角度情報取得ステップによって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成ステップと、を含むことを特徴とする。
 また、本発明に係るプログラムは、被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段、撮影画像内の特徴点を検出する特徴点検出手段、前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段、及び、前記複数の撮影画像それぞれについて前記回転角度情報取得手段によって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成手段、としてコンピュータを機能させるためのプログラムである。
 また、本発明に係る情報記憶媒体は上記のプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
 また、本発明の一態様では、前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記回転角度情報と閾値との比較結果に基づいて決定するようにしてもよい。
 また、本発明の一態様では、前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記回転角度情報が前記閾値以上である場合に、前記他の撮影画像と、前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出するようにしてもよい。
 また、本発明の一態様では、前記動画像データ生成手段は、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出し、前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像の一つ前に撮影された前記撮影画像を前記動画像データのフレーム画像として選出するようにしてもよい。
 また、本発明の一態様では、前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第1の対の撮影画像において検出された場合に、前記第1の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第1の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、前記回転角度情報取得手段は、前記第1の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第1の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第1の対の撮影画像の前記位置情報に基づいて取得し、前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第2の対の撮影画像において検出された場合に、前記第2の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第2の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、前記回転角度情報取得手段は、前記第2の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第2の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第2の対の撮影画像の前記位置情報に基づいて取得し、前記動画像データ生成手段は、前記第1の対の撮影画像のうちの前記他の撮影画像と前記第2の対の撮影画像のうちの前記一の撮影画像とが同一である場合に、前記第1の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第2の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する累積回転角度情報を、前記第1の対の撮影画像の前記回転角度情報と前記第2の対の撮影画像の前記回転角度情報とに基づいて取得する手段を含み、前記動画像データのフレーム画像を前記複数の撮影画像のうちから前記累積回転角度情報に基づいて選出するようにしてもよい。
 また、本発明の一態様では、前記動画像データ生成手段は、前記第1の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記第2の対の撮影画像のうちの前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記累積回転角度情報と閾値との比較結果に基づいて決定するようにしてもよい。
 また、本発明の一態様では、前記動画像データ生成手段は、前記第1の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記累積回転角度情報が前記閾値以上である場合に、前記第2の対の撮影画像のうちの前記他の撮影画像と、前記第2の対の撮影画像のうちの前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出するようにしてもよい。
 また、本発明の一態様では、前記回転角度情報取得手段は、前記一の撮影画像における前記特徴点の位置と、前記他の撮影画像における前記特徴点の位置と、の差に関する位置差情報を取得する手段と、前記位置差情報に基づいて前記回転角度情報を取得する手段と、含むようにしてもよい。
 また、本発明の一態様では、前記撮影画像内の、前記被写体の回転軸の位置に基づいて、前記撮影画像内の領域を観測領域として設定する手段を含み、前記回転角度情報取得手段は、前記特徴点が前記観測領域内に含まれている場合の前記位置差情報に基づいて、前記回転角度情報を取得するようにしてもよい。
 また、本発明の一態様では、前記回転角度情報取得手段は、前記被写体が回転する場合の回転半径が大きい特徴点の前記位置差情報を、前記被写体が回転する場合の回転半径が小さい特徴点の前記位置差情報よりも優先的に用いて、前記回転角度情報を取得するようにしてもよい。
 また、本発明の一態様では、前記回転角度情報取得手段は、前記被写体上の複数の点にそれぞれ対応する複数の特徴点が前記一の撮影画像及び前記他の撮影画像において検出される場合に、前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の点の回転半径に関する回転半径情報を取得する回転半径情報取得手段と、前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の前記点の、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の回転角度に関する回転角度情報を、当該特徴点の前記位置差情報及び前記回転半径情報に基づいて取得する手段と、前記複数の特徴点の各々の前記回転角度情報に基づいて、前記被写体の前記回転角度情報を取得する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記回転半径情報取得手段は、前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、前記少なくとも三つの撮影画像における当該特徴点の位置に基づいて、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、前記特徴点の前記楕円軌道情報に基づいて、当該特徴点の前記回転半径情報を取得する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記回転半径情報取得手段は、前記被写体上の同一点に対応する前記特徴点が第i(i:1以上の整数)の撮影画像において最初に検出され、かつ、前記第iの撮影画像よりも後に撮影された第j(j:i<jである整数)の撮影画像において最後に検出される場合に、前記第iの撮影画像における当該特徴点の位置と、前記第jの撮影画像における当該特徴点の位置と、に基づいて、当該特徴点の前記回転半径情報を取得するようにしてもよい。
 また、本発明の一態様では、前記回転角度情報取得手段は、前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置と、前記楕円軌道情報と、に基づいて、前記回転角度情報を取得する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記動画像データ生成手段は、前記複数の撮影画像のうちから選出される基準撮影画像と、前記基準撮影画像の撮影時点から所定時間が経過した後に撮影された撮影画像と、の間の類似度に関する類似度情報を取得する手段と、前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含み、前記被写体が一回転し終えた時点における撮影画像として選出された撮影画像の撮影時点以前に撮影された撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成するようにしてもよい。
 また、本発明の一態様では、前記動画像データ生成手段は、前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像において検出された特徴点のうちの、前記基準撮影画像において検出された特徴点に対応する特徴点の個数を取得する特徴点数取得手段と、前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された複数の撮影画像のうちから、前記被写体が一回転し終えた時点における撮影画像の候補を、前記特徴点数取得手段の取得結果に基づいて選出する手段と、前記基準撮影画像と、前記候補として選出された撮影画像と、の類似度に関する類似度情報を取得する手段と、前記候補として選出された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記複数の撮影画像は、前記第1の撮影画像~前記第m(m:2以上の整数)の撮影画像と、前記第mの撮影画像の後に撮影された第m+1の撮影画像~第m+n(n:1以上の整数)の撮影画像と、を含み、前記動画像データ生成手段は、前記第1の撮影画像~前記第mの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、前記被写体上の点に対応する特徴点が前記第m+1の撮影画像~前記第m+nの撮影画像において検出されなかった場合に、前記第1の撮影画像~前記第mの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第m+1の撮影画像~前記第m+nの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記複数の撮影画像は、前記第1の撮影画像~前記第m(m:2以上の整数)の撮影画像と、前記第mの撮影画像の後に撮影された第m+1の撮影画像~第m+n(n:1以上の整数)の撮影画像と、を含み、前記動画像データ生成手段は、前記第m+1の撮影画像~前記第m+nの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、前記被写体上の点に対応する特徴点が前記第1の撮影画像~前記第mの撮影画像において検出されなかった場合に、前記第m+1の撮影画像~前記第m+nの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第1の撮影画像~前記第mの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する第1の判定手段と、前記一の撮影画像において検出された特徴点の位置と、前記他の撮影画像において検出された特徴点の位置との、前記被写体の回転軸に対応する軸方向の座標値の差が閾値以上であるか否かを判定する第2の判定手段と、前記第1の判定手段及び前記第2の判定手段の判定結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する判定手段と、前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である一の特徴点と、前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である他の特徴点と、が検出された場合、(a)前記一の撮影画像における前記一の特徴点の位置と、前記他の撮影画像における前記一の特徴点の位置との、前記被写体の回転軸に対応する第1の軸と直交する第2の軸方向の座標値の差に関する情報と、(b)前記一の撮影画像における前記他の特徴点の位置と、前記他の撮影画像における前記他の特徴点の位置との、前記第2の軸方向の座標値の差に関する情報と、を比較する比較手段と、前記判定手段の判定結果及び前記比較手段の比較結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、を含むようにしてもよい。
 また、本発明の一態様では、前記撮影画像取得手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得し、前記動画像データ生成手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた前記複数の撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成するようにしてもよい。
 本発明によれば、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを取得することが可能になる。
本発明の実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。 商品の撮影方法について説明するための図である。 商品の撮影方法について説明するための図である。 商品の動画像データの生成方法の概要について説明するための図である。 画像処理装置で実現される機能について示す機能ブロック図である。 特徴点検出部によって検出される特徴点の一例を示す図である。 商品の同一点に対応する特徴点の軌道の一例を示す図である。 一の撮影画像と他の撮影画像とにおいて検出される特徴点の一例を示す図である。 回転角度情報の取得方法について説明するための図である。 Sin関数について示す図である。 観測領域の設定方法について説明するための図である。 観測領域の設定方法について説明するための図である。 フレーム画像の選出方法の一例について説明するための図である。 フレーム画像の選出方法の他の一例について説明するための図である。 フレーム画像の選出方法の他の一例について説明するための図である。 画像処理装置で実行される処理の一例を示すフロー図である。 画像処理装置で実行される処理の一例を示すフロー図である。 画像処理装置で実行される処理の概要について説明するための図である。 画像処理装置で実行される処理の詳細を示すフロー図である。 画像処理装置で実行される処理の他の一例を示すフロー図である。 画像処理装置で実行される処理の他の一例を示すフロー図である。 変形例について説明するための図である。 他の変形例について説明するための図である。
 以下、本発明の実施形態の例について図面に基づき詳細に説明する。
 図1は本発明の実施形態に係る画像処理装置のハードウェア構成の一例を示す。本実施形態に係る画像処理装置10は、例えば、パーソナルコンピュータ、サーバコンピュータ、携帯電話(スマートフォンを含む)、又は携帯情報端末(タブレット型コンピュータを含む)によって実現される。
 図1に示すように、画像処理装置10は制御部11、記憶部12、光ディスクドライブ部13、通信部14、操作部15、表示部16、及び音声出力部17を含む。
 制御部11は例えば1又は複数のマイクロプロセッサを含み、記憶部12に記憶されたオペレーティングシステム又はプログラムに従って処理を実行する。記憶部12は、RAM等の主記憶部と、ハードディスク又はソリッドステートドライブ等の補助記憶部とを含む。
 光ディスクドライブ部13は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。プログラムやデータは光ディスクを介して記憶部12に供給される。すなわち、光ディスクに記憶されたプログラムやデータが読み出され、記憶部12に記憶される。なお、光ディスクドライブ部13は必須の構成要素ではない。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素が画像処理装置10に含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが記憶部12に供給されるようにしてもよい。
 通信部14は画像処理装置10を通信ネットワークに接続するためのインタフェースである。画像処理装置10は通信ネットワークを介して他の装置とデータを授受できるようになっている。なお、プログラム及びデータが通信ネットワークを介して記憶部12に供給されるようにしてもよい。
 操作部15はユーザが操作を行うためのものである。操作部15は例えばキーボード又はポインティングデバイス等を含む。表示部16は例えば液晶表示ディスプレイ又は有機ELディスプレイ等であり、音声出力部17は例えばスピーカ又はヘッドホン等である。
 以下、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを生成するための技術について説明する。なお、以下では、商品の動画像データを生成する場合について説明する。ただし、本発明は商品以外の被写体の動画像データを生成する場合にも適用することができる。
 まず、商品の撮影方法について説明する。図2及び図3は商品の撮影方法について説明するための図である。図2に示すように、商品30(図2に示す例では招き猫)を撮影する場合には商品30を回転台20の上に配置する。
 回転台20は厚板22、厚紙24、及び画鋲28を含んで構成されている。厚板22は画鋲28を刺しても問題がないような板であり、厚板22には厚紙24が画鋲28で止められている。なお、画鋲28は厚紙24の中心26に刺さっている。
 商品30は厚紙24の中央に配置される。商品30の中心軸が厚紙の中心26と一致するようにして商品30は配置される。厚紙24は画鋲28を回転軸32として回転可能になっており、撮影者が厚紙24を手で回転させると、厚紙24上に配置された商品30が回転軸32周りに回転する。
 図3に示すように、商品30を撮影するための撮影装置34が、回転台20上に配置された商品30を撮影可能な位置に固定される。図3に示す例では、回転台20の前方であって、かつ、商品30よりもやや上方に撮影装置34が配置されている。
 撮影装置34はデジタルビデオカメラを含んで構成され、静止画像及び動画像を撮影可能である。例えば、単体のデジタルビデオカメラや、携帯電話等に内蔵されたデジタルビデオカメラが撮影装置34として用いられる。例えば、画像処理装置10に内蔵されたデジタルビデオカメラが撮影装置34として用いられるようにしてもよい。なお、静止画像のみを撮影可能なデジタルカメラが撮影装置34として用いられるようにしてもよい。
 例えば、撮影装置34による撮影は所定時間(例えば1/30秒)ごとに行われる。すなわち、1秒ごとのフレーム数が所定数(例えば30)である動画像が撮影装置34によって撮影される。
 撮影者は、撮影装置34による撮影を開始するとともに、商品30が配置された厚紙24を反時計回り(又は時計回り)に回転させる。例えば、撮影者は人差し指及び中指で交互に厚紙24を回転させる。この場合、回転している商品30の動画像が撮影装置34によって撮影される。この動画像は記憶媒体又は通信ネットワークを介して画像処理装置10の記憶部12に記憶される。この動画像は画像処理装置10以外の装置に記憶されるようにしてもよい。
 なお、撮影者は、商品30の動画像を撮影する代わりに、商品30が回転している間に商品30の静止画像を連写するようにしてもよい。このようにして得られる静止画像群を上記の動画像の代わりに用いるようにしてもよい。
 以下では、撮影装置34によって撮影された動画像又は静止画像群のことを「撮影画像データ」と呼ぶ。また、撮影画像データに含まれる個々の画像のことを「撮影画像」と呼ぶ。例えば、撮影装置34によって撮影された動画像が撮影画像データである場合、動画像の個々のフレーム画像が「撮影画像」に相当する。また例えば、撮影装置34によって撮影された静止画像群が撮影画像データである場合、個々の静止画像が「撮影画像」に相当する。
 また以下では、撮影画像データに基づいて生成すべき商品30の動画像データ、すなわち、フレームごとの商品30の回転角度が略一定であるような動画像データのことを単に「動画像データ」と呼ぶ。
 次に、上記のような撮影画像データに基づいて、フレームごとの商品30の回転角度が略一定であるような動画像データを生成するための方法について説明する。図4は、動画像データの生成方法の概要について説明するための図である。
 図4において、撮影画像データに含まれる複数の撮影画像40の上方に付されている数字は画像番号を示す。画像番号は撮影画像が撮影された順序を示す。撮影画像データが動画像である場合、画像番号は当該動画像のフレーム番号に相当する。一方、撮影画像データが静止画像群である場合、画像番号は何枚目に撮影された静止画像であるのかを示す。なお、以下では、画像番号が「i」である撮影画像40、すなわち第i番目の撮影画像40のことを撮影画像[i]と記載する。
 また図4において、動画像データに含まれる複数のフレーム画像42の上方に付されている数字はフレーム番号を示す。なお、以下では、フレーム番号が「j」であるフレーム画像42、すなわち第j番目のフレーム画像42のことをフレーム画像[j]と記載する。
 図4に示すように、画像処理装置10では、動画像データを構成する各フレーム画像42を複数の撮影画像40のうちから選出することによって、動画像データを生成する。
 特に画像処理装置10では、隣接するフレーム画像42間の商品30の回転角度(Δθ)が略一定となるように、各フレーム画像42を選出する。
 すなわち、フレーム画像42に写っている商品30の代表方向(例えば正面方向)と、当該フレーム画像42の次のフレーム画像42に写っている商品30の代表方向との間の角度(Δθ)が略一定となるように、各フレーム画像42を選出する。
 さらに言い換えれば、フレーム画像42として選出される撮影画像40の撮影時点と、当該フレーム画像42の次のフレーム画像42として選出される撮影画像40の撮影時点との間における商品30の回転角度(Δθ)が略一定となるように、各フレーム画像42を選出する。
 図4に示す例では、撮影画像[1]がフレーム画像[1]として選出されている。撮影画像[4]がフレーム画像[2]として選出されている。撮影画像[6]がフレーム画像[3]として選出されている。
 次に、上記のような生成方法を実現するための構成について説明する。図5は、画像処理装置10で実現される機能について示す機能ブロック図である。
 図5に示すように、画像処理装置10は撮影画像取得部50、特徴点検出部52、位置情報取得部54、回転角度情報取得部56、及び動画像データ生成部58を含む。これらの機能ブロックは例えば制御部11によって実現される。すなわち、制御部11がプログラムに従って処理を実行することによって、制御部11が上記機能ブロックとして機能するようになる。
 撮影画像取得部50について説明する。撮影画像取得部50は、被写体が回転している間に被写体を繰り返し撮影することによって得られた複数の撮影画像40を取得する。以上に説明した例の場合、商品30が「被写体」に相当する。
 すなわち、撮影画像取得部50は記憶部12に記憶された撮影画像データを読み出す。なお、撮影画像データは画像処理装置10以外の装置に記憶されていてもよい。つまり、撮影画像取得部50は、画像処理装置10以外の装置に記憶された撮影画像データを通信ネットワークを介して取得するようにしてもよい。
 特徴点検出部52及び位置情報取得部54について説明する。特徴点検出部52は撮影画像40内の特徴点を検出する。位置情報取得部54は、被写体上の同一点に対応する特徴点が対の撮影画像40において検出された場合に、当該対の撮影画像40のうちの先に撮影された一の撮影画像40と、当該対の撮影画像40のうちの後に撮影された他の撮影画像40とにおける当該特徴点の位置に関する位置情報を取得する。
 例えば、特徴点検出部52は、特徴点を検出するための公知のアルゴリズムを用いて、撮影画像40内の特徴点の位置及び特徴量を取得する。例えば、上記アルゴリズムとしては、SURF(Speed-Up Robust Features)アルゴリズムを用いることが可能である。なお、SURFアルゴリズム以外のアルゴリズムを用いることも可能である。例えば、SIFT(Scale-Invariant Feature Transform)アルゴリズム又はBrisk(Binary Robust Invariant Scalable Keypoints)アルゴリズムを用いることも可能である。
 後述するように、特徴点は、商品30の回転角度に関する情報を取得するために用いられる。このため、商品30が写っている領域以外の領域(以下「背景領域」と記載する。)に含まれる特徴点は不要である。したがって、特徴点検出部52は背景領域内の特徴点を無視するようにしてもよい。
 例えば、特徴点検出部52は、連続する二つの撮影画像40の差分画像を取得する。撮影画像40は、回転している商品30を撮影した画像であるため、撮影画像40の背景領域は基本的に変化しない。このため、特徴点検出部52は、差分画像において画素値が零である領域を背景領域とみなし、この領域に含まれる特徴点を取り除く。すなわち、上記領域に含まれる特徴点は位置情報取得部54及び回転角度情報取得部56において考慮されない。
 図6は特徴点検出部52によって検出される特徴点の一例を示す図である。図6では、招き猫の鼻部分に対応する特徴点60が検出されている。実際には、一つの撮影画像40において複数の特徴点60が検出されるが、図6では省略している。特徴点60の位置は、例えば、撮影画像40の左上頂点を原点Oとし、右方向及び下方向をX軸正方向及びY軸正方向とするようなX-Y座標系の座標値によって表される。
 例えば、招き猫の鼻部分に対応する特徴点60は、招き猫の鼻部分が写っている複数の撮影画像40の各々において検出される。すなわち、商品30の同一点に対応する特徴点60は複数の撮影画像40において検出される。
 図7は商品30の同一点に対応する特徴点60の軌道の一例を示す。例えば、図7は、招き猫の鼻部分に対応する特徴点60の軌道70を示している。図3に説明した例では撮影装置34が回転台20の前方であって、かつ、商品30よりもやや上方に配置されているため、図7に示すように特徴点60の軌道70は楕円軌道になる。
 なお、原則として、招き猫の鼻部分に対応する特徴点60の特徴量はいずれの撮影画像40においても同一である。すなわち、商品30の同一点に対応する特徴点60は複数の撮影画像40において検出され得るが、原則として、商品30の同一点に対応する特徴点60の特徴量は複数の撮影画像40の各々において同一である。
 そこで、特徴点検出部52(第1の判定手段)は、一の撮影画像40で検出された特徴点60の特徴量と、他の撮影画像40で検出された特徴点60の特徴量と、が同一又は略同一であるか否かを判定する。なお、これらの特徴点60の特徴量の差が閾値以下である場合に、特徴点検出部52はこれらの特徴点60の特徴量が略同一であると判定する。これらの特徴点60の特徴量が同一又は略同一である場合に、特徴点検出部52は、これらの特徴点60は商品30の同一点に対応する特徴点60であると判定する。
 ところで、商品30は回転軸32周りに回転し、かつ、Y軸は回転軸32に対応する軸であるため、商品30の同一点に対応する特徴点60のY軸座標値が大きく変化することはない。
 そこで、特徴点検出部52(第2の判定手段)は、一の撮影画像40で検出された特徴点60のY軸座標値と、他の撮影画像40で検出された特徴点60のY軸座標値と、の差が閾値以上であるか否かを判定する。そして、これらの特徴点60のY軸座標値の差が閾値以上である場合には、これらの特徴点60の特徴量が同一又は略同一であったとしても、特徴点検出部52は、これらの特徴点60は商品30の同一点に対応する特徴点60ではないと判定する。
 また、商品30の複数の同一点にそれぞれ対応する複数の特徴点60が一の撮影画像40と他の撮影画像40とにおいて検出された場合、それら複数の特徴点60の各々のX軸座標値の変化量は略等しくなり、大きく異なることはない。
 そこで、例えば図8に示すように、一の撮影画像40及び他の撮影画像40の両方における特徴量が同一又は略同一である特徴点60Aと、一の撮影画像40及び他の撮影画像40の両方における特徴量が同一又は略同一である特徴点60Bと、一の撮影画像40及び他の撮影画像40の両方における特徴量が同一又は略同一である特徴点60Cと、一の撮影画像40及び他の撮影画像40の両方における特徴量が同一又は略同一である特徴点60Dとが検出された場合、特徴点検出部52(比較手段)は、特徴点60DのX軸座標値の変化量と、他の特徴点60A~60CのX軸座標値の変化量と、を比較する。
 図8に示す例では、特徴点60A~60CのX軸座標値の変化量は略等しく、特徴点60DのX軸座標値の変化量は特徴点60A~60Cに比べて大きくなっている。このように特徴点60DのX軸座標値の変化量が他の特徴点60A~60CのX軸座標値の変化量と大きく異なっている場合、特徴点検出部52は、特徴点60Dは商品30の同一点に対応する特徴点60ではないと判定する。すなわち、特徴点検出部52は、X軸座標値の変化量の偏差の絶対値が閾値よりも大きいような特徴点60Dを、商品30の同一点に対応する特徴点60ではないと判定する。
 回転角度情報取得部56について説明する。回転角度情報取得部56は、一の撮影画像40の撮影時点と他の撮影画像40の撮影時点との間における被写体の回転角度に関する回転角度情報を、位置情報取得部54によって取得された位置情報に基づいて取得する。
 例えば、「回転角度情報」とは、回転角度そのものを示す数値情報であってもよいし、回転角度そのものを示す数値情報ではないが、回転角度と比例関係にあるような数値情報であってもよい。すなわち、「回転角度情報」とは、回転角度の大きさを直接的に示す数値情報であってもよいし、回転角度の大きさを間接的に示す数値情報であってもよい。
 図9は、回転角度情報の取得方法について説明するための図であり、商品30の回転角度と特徴点60のX座標値の変化との関係について説明するための図である。図9は、回転台20に配置されている商品30を真上から見下ろしたような場合を示している。
 商品30が回転軸32周りに回転した場合、商品30上の点30Aの軌道80は回転軸32を中心とする円軌道となる。なお、以下では円軌道の半径を「r」と記載する。
 例えば、商品30が回転角度θだけ回転した場合の商品30上の点30Aに対応する特徴点60のX軸座標値の変化量xは下記式(1)によって表される。すなわち、xはrとsinθとの乗算値となる。同様に、商品30が回転角度θだけ回転した場合の商品30上の点30Aに対応する特徴点60のX軸座標値の変化量xは下記式(2)によって表される。すなわち、xはrとsinθとの乗算値となる。
Figure JPOXMLDOC01-appb-M000001
 ところで、Sin関数は図10に示すようになるため、角度θが零又は零の近傍値である近傍領域90では、Sin関数は直線近似することができる。このため、上記式(1)及び(2)は比例定数aを用いて下記式(3)及び(4)のように近似することができる。さらに、下記式(3)及び(4)より、x,x,θ,θの関係は下記式(5)のようになる。
Figure JPOXMLDOC01-appb-M000002
 また、x,θは下記式(6)及び(7)のように表すことができる。
Figure JPOXMLDOC01-appb-M000003
 上記式(5)は下記式(8)のように変形することができる。また、下記式(8)は下記式(9)のように整理することができる。さらに、上記式(3)より、下記式(9)は下記式(10)のように変形することができる。そして、下記式(10)より下記式(11)を得ることができる。
Figure JPOXMLDOC01-appb-M000004
 上記式(11)は、角度の変化(Δθ)がX軸座標値の変化(Δx)に比例することを示している。したがって、商品30が回転した場合の回転角度(Δθ)は、商品30上の点30Aに対応する特徴点60のX軸座標値の変化量(Δx)と比例関係を有する。
 ところで、上記式(11)における半径rは、原則として、商品30上の各点ごとに異なる。しかしながら、商品30の形状が円柱形状である場合、上記半径rは商品30上の各点ごとに異ならず、略同一となる。このため、商品30の形状が円柱形状であると仮定すると、上記式(11)における半径rは無視できるようになり、その結果、特徴点60のX軸座標値の変化量を、商品30の回転角度の大きさを示す数値として用いることができる。
 以上を踏まえて、回転角度情報取得部56の機能の詳細について説明する。
 回転角度情報取得部56は、撮影画像40における回転軸32の位置に基づいて、撮影画像40内に観測領域を設定する。この観測領域は図10に示す近傍領域90に対応する領域である。図11及び図12は観測領域の設定方法について説明するための図である。
 まず、回転角度情報取得部56は、すべての撮影画像40における特徴点60のうちから、X軸座標値が最小である特徴点60と、X軸座標値が最大である特徴点60とを抽出する。なお、この場合、背景領域に含まれる特徴点60は無視される。
 図11では、X軸座標値が最小である特徴点60のX軸座標値を「Xmin」と記載し、X軸座標値が最大である特徴点60のX軸座標値を「Xmax」と記載している。回転角度情報取得部56は、X軸座標値がXmin≦x≦Xmaxを満足する領域を、特徴点60が存在し得る領域(以下「存在領域」と記載する。)100とみなす。
 次に、回転角度情報取得部56は、撮影画像40内における回転軸32の位置を存在領域100に基づいて取得する。例えば図11に示すように、回転角度情報取得部56は、存在領域100を左右方向に均等に分割する直線102を、回転軸32に対応する直線とみなす。すなわち、回転角度情報取得部56は、Xmin及びXmaxの中間値((Xmin+Xmax)/2)を通り、かつ、Y軸と平行な直線102を、回転軸32に対応する直線とみなす。
 なお、回転角度情報取得部56は、すべての撮影画像40の各々において、被写体(商品30)が写っている被写体領域を取得するようにしてもよい。そして、回転角度情報取得部56は、それら被写体領域の和集合領域を左右に均等に分割する直線を、回転軸32に対応する直線とみなすようにしてもよい。
 上記のようにして得られた直線102に基づいて、回転角度情報取得部56は観測領域を設定する。例えば図12に示すように、回転角度情報取得部56は、上記直線102を中心とする幅dの矩形領域を観測領域110として設定する。この場合、幅dは存在領域100の幅wよりも小さい値に設定される。
 後述するように、回転角度情報取得部56は、回転角度情報を取得するために、観測領域110内に含まれる特徴点60のみを用いる。このため、幅dの値が小さすぎると、観測領域110内に含まれる特徴点60の数が少なくなるため、回転角度情報の精度が低くなってしまうおそれがある。一方、幅dの値が大きすぎると、観測領域110が図10における近傍領域90に対応しなくなるおそれがある。この場合、Sin関数を直線近似することが可能であるという前提が成立しなくなってしまい、その結果として、回転角度情報の精度が低くなってしまうおそれがある。例えば、幅dの値は存在領域100の幅(w)の1/3程度の値に設定するのが好ましい。
 商品30上の同一点に対応する特徴点60が一の撮影画像40及び他の撮影画像40の両方の観測領域110において検出された場合、回転角度情報取得部56は、一の撮影画像40における特徴点60の位置と、他の撮影画像40における特徴点60の位置と、の差に関する位置差情報を取得する。
 例えば、回転角度情報取得部56は、上記の位置差情報として、X軸座標値の差に関する情報を取得する。先述のように、X軸は、回転軸32に対応するY軸と直交する軸である。
 回転角度情報取得部56は上記位置差情報に基づいて回転角度情報を取得する。
 例えば、商品30上の複数の同一点にそれぞれ対応する複数の特徴点60が一の撮影画像40及び他の撮影画像40の両方の観測領域110において検出された場合、回転角度情報取得部56は、それら複数の特徴点60の各々について、一の撮影画像40と他の撮影画像40との間のX軸座標値の変化量を算出する。そして、回転角度情報取得部56は、上記複数の特徴点60の各々の上記変化量の統計値(例えば平均値)を算出する。この場合、この数値が上記回転角度情報として用いられる。
 あるいは、回転角度情報取得部56は、一の撮影画像40における上記複数の特徴点60の重心位置を算出するようにしてもよい。また、回転角度情報取得部56は、他の撮影画像40における上記複数の特徴点60の重心位置も算出するようにしてもよい。そして、回転角度情報取得部56はそれらの重心位置の間のX軸座標値の差を算出するようにしてもよい。この場合、この数値が上記回転角度情報として用いられる。
 なお、上記数値は、回転角度の大きさを示す数値に相当しているが、回転角度そのものを示す数値ではない。このため、以下では、上記数値のことを便宜上「擬似回転角度」と呼ぶ。
 動画像データ生成部58について説明する。動画像データ生成部58は、被写体が回転する様子を示す動画像データの各フレーム画像42を、複数の撮影画像40のうちから、位置情報取得部54によって取得された位置情報に基づいて選出することによって、動画像データを生成する。
 例えば、動画像データ生成部58は、撮影画像データに含まれる複数の撮影画像40それぞれについて回転角度情報取得部56によって取得された回転角度情報に基づいて、商品30が回転する様子を示す動画像データの各フレーム画像42を、当該複数の撮影画像40のうちから選出する。
 具体的には、動画像データ生成部58は、フレーム画像42間の商品30の回転角度が略一定になるようにして各フレーム画像42を選出する。
 図13はフレーム画像42の選出方法の一例について説明するための図である。なお図13において、例えば、Δθ1,2は撮影画像[1]と撮影画像[2]との間の擬似回転角度を示す。すなわち、Δθ1,2は撮影画像[1]の撮影時点から撮影画像[2]の撮影時点までの間の商品30の擬似回転角度を示す。例えば、商品30上の複数の同一点にそれぞれ対応する複数の特徴点60が撮影画像[1]及び撮影画像[2]の両方の観測領域110において検出された場合、撮影画像[1]及び撮影画像[2]の間におけるそれら複数の特徴点60のX軸座標値の変化量の平均値がΔθ1,2に相当する。
 まず、動画像データ生成部58はフレーム画像[1]を選出する。例えば、動画像データ生成部58は撮影画像[1]をフレーム画像[1]として選出する。
 次に、動画像データ生成部58はフレーム画像[2]を選出する。まず、動画像データ生成部58は、直前のフレーム画像[1]として選出された撮影画像[1]の次の撮影画像[2]をフレーム画像[2]として選出すべきか否かを判定する。
 この場合、動画像データ生成部58は、撮影画像[1]と撮影画像[2]との間の擬似回転角度Δθ1,2と閾値θとを比較する。すなわち、動画像データ生成部58は、撮影画像[1]と撮影画像[2]との間の擬似回転角度Δθ1,2が閾値θ以上であるか否かを判定する。なお、閾値θはフレーム画像42間の擬似回転角度として適切な擬似回転角度であり、予め設定される。
 仮に、擬似回転角度Δθ1,2が閾値θ以上である場合、動画像データ生成部58は撮影画像[2]をフレーム画像[2]として選出する。一方、図13に示すように、擬似回転角度Δθ1,2が閾値θ未満である場合、動画像データ生成部58は撮影画像[2]をフレーム画像[2]として選出しない。
 撮影画像[2]がフレーム画像[2]として選出されなかった場合、動画像データ生成部58は次の撮影画像[3]をフレーム画像[2]として選出すべきか否かを判定する。
 この場合、動画像データ生成部58は、直前のフレーム画像[1]として選出された撮影画像[1]から撮影画像[3]までの間の累積擬似回転角度と閾値θとを比較する。すなわち、動画像データ生成部58は、撮影画像[1],[2]間の擬似回転角度Δθ1,2と撮影画像[2],[3]間の擬似回転角度Δθ2,3との和が閾値θ以上であるか否かを判定する。なおこの場合、この和は、撮影画像[1]の撮影時点から撮影画像[3]の撮影時点までの間の商品30の回転角度の大きさを示す数値に相当している。
 仮に、擬似回転角度Δθ1,2,Δθ2,3の和が閾値θ以上である場合、動画像データ生成部58は撮影画像[3]をフレーム画像[2]として選出する。一方、図13に示すように、擬似回転角度Δθ1,2,Δθ2,3の和が閾値θ未満である場合、動画像データ生成部58は撮影画像[3]をフレーム画像[2]として選出しない。
 撮影画像[3]がフレーム画像[2]として選出されなかった場合、動画像データ生成部58は次の撮影画像[4]をフレーム画像[2]として選出すべきか否かを判定する。
 この場合、動画像データ生成部58は、直前のフレーム画像[1]として選出された撮影画像[1]から撮影画像[4]までの間の累積擬似回転角度が閾値θ以上であるか否かを判定する。すなわち、動画像データ生成部58は、撮影画像[1],[2]間の擬似回転角度Δθ1,2と、撮影画像[2],[3]間の擬似回転角度Δθ2,3と、撮影画像[3],[4]間の擬似回転角度Δθ3,4との和が閾値θ以上であるか否かを判定する。なおこの場合、この和は、撮影画像[1]の撮影時点から撮影画像[4]の撮影時点までの間の商品30の回転角度の大きさを示す数値に相当している。
 図13に示すように、擬似回転角度Δθ1,2,Δθ2,3,Δθ3,4の和が閾値θ以上である場合、動画像データ生成部58は撮影画像[4]をフレーム画像[2]として選出する。
 フレーム画像[2]が選出された後、動画像データ生成部58はフレーム[3]を選出する。まず、動画像データ生成部58は、直前のフレーム画像[2]として選出された撮影画像[4]の次の撮影画像[5]をフレーム画像[3]として選出すべきか否かを判定する。
 この場合、動画像データ生成部58は、撮影画像[4]と撮影画像[5]との間の擬似回転角度Δθ4,5が閾値θ以上であるか否かを判定する。仮に、擬似回転角度Δθ4,5が閾値θ以上である場合、動画像データ生成部58は撮影画像[5]をフレーム画像[3]として選出する。一方、図13に示すように、擬似回転角度Δθ4,5が閾値θ未満である場合、動画像データ生成部58は撮影画像[5]をフレーム画像[3]として選出しない。
 撮影画像[5]がフレーム画像[3]として選出されなかった場合、動画像データ生成部58は次の撮影画像[6]をフレーム画像[3]として選出すべきか否かを判定する。
 この場合、動画像データ生成部58は、直前のフレーム画像[2]として選出された撮影画像[4]から撮影画像[6]までの間の累積擬似回転角度が閾値θ以上であるか否かを判定する。すなわち、動画像データ生成部58は、撮影画像[4],[5]間の擬似回転角度Δθ4,5と、撮影画像[5],[6]間の擬似回転角度Δθ5,6との和が閾値θ以上であるか否かを判定する。
 図13に示すように、擬似回転角度Δθ4,5,Δθ5,6の和が閾値θ以上である場合、動画像データ生成部58は撮影画像[6]をフレーム画像[3]として選出する。
 以上のように、撮影画像[i]がフレーム画像[j]として選出された場合、動画像データ生成部58は、撮影画像[i+1]をフレーム画像[j+1]として選出すべきか否かを判定するために、撮影画像[i]から撮影画像[i+1]までの間の累積擬似回転角度が閾値θ以上であるか否かを判定する。
 そして、上記累積擬似回転角度が閾値θ以上である場合、動画像データ生成部58は撮影画像[i+1]をフレーム画像[j+1]として選出する。一方、上記累積擬似回転角度が閾値θ未満である場合、動画像データ生成部58は撮影画像[i+1]をフレーム画像[j+1]として選出しない。この場合、動画像データ生成部58は、撮影画像[i+2]をフレーム画像[j+1]として選出すべきか否かを判定するために、撮影画像[i]から撮影画像[i+2]までの間の累積擬似回転角度が閾値θ以上であるか否かを判定する。
 このようにして、動画像データ生成部58は、撮影画像[i]との間の累積擬似回転角度が閾値θ以上となる最初の撮影画像40を探す。例えば、撮影画像[i]から撮影画像[i+k](k:1以上の整数)までの間の累積擬似回転角度が閾値θ以上である場合、動画像データ生成部58は撮影画像[i+k]をフレーム画像[j+1]として選出する。
 以上に説明したようにして、動画像データ生成部58は動画像データの各フレーム画像42を選出する。
 なお、フレーム画像42の選出方法は図13に示す例に限られない。ここで、フレーム画像42の選出方法の他の例について説明する。
 まず、一つ目の例について説明する。図14は一つ目の例について説明するための図である。ここでは、撮影画像[i]がフレーム画像[j]として選出された後において、撮影画像[i+1]がフレーム画像[j+1]として選出されなかった場合に、撮影画像[i+k](k:2以上の整数)をフレーム画像[j+1]として選出するか否かを判定する場合を想定する。
 このような場合、図13に示す選出方法では、直前のフレーム画像[j]として選出された撮影画像[i]から撮影画像[i+k]までの間の累積擬似回転角度が閾値θ以上であるか否かを判定するようになっていた。すなわち、図13に示す選出方法では、撮影画像[i]から撮影画像[i+k]までの間の累積擬似回転角度Δθi,i+1+・・・+Δθi-k-1,i+kが閾値θ以上であるか否かを判定するようになっていた。
 これに対し、図14に示す選出方法では、撮影画像[i]と撮影画像[i+k]との間において、商品30の同一点に対応する特徴点60のX軸座標値の変化量を算出し、この変化量に基づいて、撮影画像[i]と撮影画像[i+k]との間の擬似回転角度Δθi,i+kを算出する。
 すなわち、例えば、商品30上の複数の同一点にそれぞれ対応する複数の特徴点60が撮影画像[i]及び撮影画像[i+k]の両方の観測領域110で検出された場合、それら複数の特徴点60のX軸座標値の変化量の平均値を擬似回転角度Δθi,i+kとして算出し、この擬似回転角度Δθi,i+kが閾値θ以上であるか否かを判定する。
 二つ目の例について説明する。ここでも、撮影画像[i]がフレーム画像[j]として選出された後において、撮影画像[i+k]をフレーム画像[j+1]として選出するか否かを判定する場合を想定する。
 このような場合、最初のフレーム画像[1]として選出された撮影画像[1]と撮影画像[i+k]との間の累積擬似回転角度(又は擬似回転角度θ1,i+k)がθ*j以上であるか否かを判定するようにしてもよい。そして、上記累積擬似回転角度(又は上記擬似回転角度θ1,i+k)がθ*j以上である場合、撮影画像[i+k]をフレーム画像[j+1]として選出するようにしてもよい。
 三つ目の例について説明する。図15は三つ目の例について説明するための図である。ここでは、撮影画像[i]がフレーム画像[j]として選出された後において、撮影画像[i+3]をフレーム画像[j+1]として選出するか否かを判定する場合を想定する。
 図13に示す選出方法では、撮影画像[i]と撮影画像[i+3]との間の累積擬似回転角度が閾値θ以上である場合に、撮影画像[i+3]をフレーム画像[j+1]として選出するようになっていた。また、図14に示す選出方法では、撮影画像[i]と撮影画像[i+3]との間の擬似回転角度θi,i+3が閾値θ以上である場合に、撮影画像[i+3]をフレーム画像[j+1]として選出するようになっていた。また、上記二つ目の例においても、撮影画像[1]と撮影画像[i+3]との間の累積擬似回転角度(又は擬似回転角度θ1,i+3)がθ*j以上である場合に、撮影画像[i+3]をフレーム画像[j+1]として選出するようになっていた。
 しかしながら、このような場合には、撮影画像[i+3]と、撮影画像[i+3]の直前の撮影画像[i+2]と、の一方を選択的にフレーム画像[j+1]として選出するようにしてもよい。
 例えば図13に示す選出方法の場合であれば、上記のような場合、動画像データ生成部58は、撮影画像[i]と撮影画像[i+2]との間の累積擬似回転角度Δθi,i+1+Δθi+1,i+2と、撮影画像[i]と撮影画像[i+3]との間の累積擬似回転角度Δθi,i+1+Δθi+1,i+2+Δθi+2,i+3とのうちのいずれがより閾値θに近いかを判定する。例えば、動画像データ生成部58は、それら累積擬似回転角度の中間値が閾値θ未満であるか否かを判定する。すなわち、動画像データ生成部58は、それら累積擬似回転角度の中間値((Δθi,i+1+Δθi+1,i+2)+(Δθi,i+1+Δθi+1,i+2+Δθi+2,i+3))/2が閾値θ未満であるか否かを判定する。
 図15に示すように、上記中間値が閾値θより大きい場合には、撮影画像[i]と撮影画像[i+2]との間の累積擬似回転角度の方が閾値θに近いため、動画像データ生成部58は撮影画像[i+2]を撮影画像[j+1]として選出する。一方、上記中間値が閾値θ未満である場合には、撮影画像[i]と撮影画像[i+3]との間の累積擬似回転角度の方が閾値θに近いため、動画像データ生成部58は撮影画像[i+3]を撮影画像[j+1]として選出する。
 また例えば図14に示す選出方法の場合であれば、動画像データ生成部58は、撮影画像[i]と撮影画像[i+2]との間の擬似回転角度θi,i+2と、撮影画像[i]と撮影画像[i+3]との間の擬似回転角度θi,i+3とのうちのいずれがより閾値θに近いかを判定する。例えば、動画像データ生成部58は、それら擬似回転角度の中間値(Δθi,i+2+Δθi,i+3)/2が閾値θ未満であるか否かを判定する。
 図15に示すように、上記中間値が閾値θより大きい場合には、撮影画像[i]と撮影画像[i+2]との間の擬似回転角度θi,i+2の方が閾値θに近いため、動画像データ生成部58は撮影画像[i+2]を撮影画像[j+1]として選出する。一方、上記中間値が閾値θ未満である場合には、撮影画像[i]と撮影画像[i+3]との間の擬似回転角度θi,i+3の方が閾値θに近いため、動画像データ生成部58は撮影画像[i+3]を撮影画像[j+1]として選出する。
 このようにすれば、動画像データにおいて商品30がよりスムーズに回転するようになる。なお、上記中間値が閾値θと等しい場合、動画像データ生成部58は撮影画像[i+2]及び撮影画像[i+3]のいずれをフレーム画像[j+1]として選出するようにしてもよい。
 次に、図5に示す機能ブロックを実現するために画像処理装置10で実行される処理について説明する。図16及び図17は、一回転する商品30の動画像データを撮影データに基づいて生成するために画像処理装置10において実行される処理の一例を示すフロー図である。なお、図16,17に示す処理は、図13,15に示す選出方法を組み合わせた選出方法に対応している。制御部11がプログラムに従って図16,17に示す処理を実行することによって、制御部11が図5に示す機能ブロックとして機能するようになる。
 図16に示すように、まず制御部11は、一回転する商品30の動画像データを生成するために、一回転分の撮影画像データを撮影画像データから抽出する(S101)。図18はステップS101の処理の概要について説明するための図であり、図19はステップS101の処理の詳細を示すフロー図である。
 図18に示すように、制御部11は、撮影画像データに含まれる撮影画像40のうちから、商品30が一回転し終えた時点の撮影画像40を探し出す。商品30が一回転し終えた時点の撮影画像40は、商品30が回転を開始する直前の撮影画像40(以下「基準撮影画像」と記載する。)と同一又は略同一の画像であるはずであり、かつ、基準撮影画像が撮影された時点からある程度の時間が経過した後に撮影された画像であるはずである。このため、撮影画像[i]が下記条件(A),(B)の両方を満足する場合、撮影画像[i]は、商品30が一回転し終えた時点の撮影画像40に相当しているとみなすことができる。なお例えば、撮影画像データに含まれる撮影画像40のうちの先頭の撮影画像40が「基準撮影画像」として設定される。
 (A)基準撮影画像と撮影画像[i]とが同一又は略同一である。言い換えれば、基準撮影画像と撮影画像[i]との間の類似度が極めて高い。
 (B)基準撮影画像の撮影時点と撮影画像[i]の撮影時点とが所定時間以上離れている。言い換えれば、基準撮影画像と撮影画像[i]との画像番号の差が閾値(I)以上である。
 なお、上記条件(B)における「所定時間」や「閾値(I)」は、商品30が一回転するために要する平均的な時間を考慮して決定されるものである。
 以上より、制御部11は、上記条件(A)及び(B)の両方を満足する撮影画像40を撮影画像データのうちから探し出すことによって、商品30が一回転し終えた時点の撮影画像40を探し出す。そして、制御部11は、基準撮影画像からその撮影画像40までを一回転分の撮影画像データとして抽出する。なお、図19に示す処理では、末尾の撮影画像40から先頭の撮影画像40へと向かう順番で、上記条件(A)及び(B)の両方を満足する撮影画像40を探すようになっている。また、先頭の撮影画像40を基準撮影画像としている。
 図19に示す処理では、まず制御部11は、撮影画像データに含まれる撮影画像40の総数Nを取得する(S201)。そして、制御部11は上記総数Nを変数iに代入する(S202)。また、制御部11は、上記総数Nに所定係数α(α:0<α<1、例えば1/3)を乗じることによって得られる値を閾値Iとして設定する(S203)。なお、制御部11は予め定められた固定値を閾値Iとして設定するようにしてもよい。
 その後、制御部11は撮影画像[1]と撮影画像[i]とが同一又は略同一であるか否かを判定する(S204)。すなわち、制御部11は、撮影画像[1]と撮影画像[i]ととの類似度が極めて高いか否かを判定する。
 例えば、商品30の複数の同一点にそれぞれ対応する複数の特徴点60が撮影画像[1]と撮影画像[i]との両方において検出される場合、制御部11はそれら複数の特徴点60の個数が所定の閾値よりも多いか否かを判定する。
 上記個数が閾値よりも多い場合、制御部11は、撮影画像[1]と撮影画像[i]との差分画像を生成し、差分画像の画素値の合計値を算出する。この場合、この合計値が小さいほど、撮影画像[1]と撮影画像[i]との類似度が高いことになる。このため、制御部11は上記合計値が所定の閾値未満であるか否かを判定する。
 上記合計値が閾値未満である場合、制御部11は撮影画像[1]と撮影画像[i]とが同一又は略同一であると判定する。一方、上記個数が閾値未満である場合や、上記合計値が閾値以上である場合、制御部11は撮影画像[1]と撮影画像[i]とが同一及び略同一でないと判定する。
 なお、以上のような判定方法では、上記個数が閾値よりも多い場合に限って、差分画像の生成等が行われるようになっており、その結果、処理負荷が軽減されるようになっている。ただし、撮影画像[1]と撮影画像[i]とが同一又は略同一であるか否かの判定方法は上記方法に限られない。上記方法では特徴点60の個数を考慮するようにしたが、特徴点60の個数は考慮しないようにしてもよい。また、上記方法以外の公知の方法を採用するようにしてもよい。
 撮影画像[1]と撮影画像[i]とが同一又は略同一でない場合(S204:N)、制御部11は変数iの値から1を減算し(S205)、変数iの値が閾値I未満であるか否かを判定する(S206)。変数iの値が閾値I未満でない場合(S206:N)、制御部11はステップS204を実行する。
 一方、撮影画像[1]と撮影画像[i]とが同一又は略同一である場合(S204:Y)、制御部11は、撮影画像[1]~[i]を一回転分の撮影画像データとして抽出する(S208)。すなわち、制御部11は撮影画像[1]~[i]を後述の処理(S102~S120)に用いる。この場合、撮影画像[i+1]以降の撮影画像40は取り除かれることになる。
 また、ステップS206において変数iの値が閾値I未満であると判定された場合、制御部11は撮影画像[1]~[N]を抽出する(S207)。ステップS206において変数iの値が閾値I未満であると判定される場合とは、上記条件(A)及び(B)の両方を満足する撮影画像40が存在していない場合である。このような場合、制御部11は撮影画像データに含まれるすべての撮影画像40を後述の処理(S102~S120)に用いる。
 なお、ステップS204~S208を実行する代わりに、撮影画像[I]~撮影画像[N]のうちで撮影画像[1]との類似度が最も高い撮影画像40を探すようにしてもよい。そして、先頭の撮影画像40からその撮影画像40までを一回転分の撮影画像データとして抽出するようにしてもよい。
 図16に示すように、ステップS101が実行された後、制御部11は撮影画像[1]を読み出し(S102)、撮影画像[1]内の特徴点60を検出する(S103)。また、制御部11は撮影画像[1]をフレーム画像[1]として選出する(S104)。
 その後、制御部11は変数sを0に初期化し、変数i,jを2に初期化し、変数kを1に初期化する(S105)。なお、変数sは累積擬似回転角度を算出するために用いられる。また、変数iは処理対象の撮影画像40の画像番号を示し、変数jは選出対象のフレーム画像42のフレーム番号を示す。変数kはフレーム画像[j-1]として選出された撮影画像40の画像番号を示す。
 ステップS105が実行された後、制御部11は撮影画像[i]を読み出し(S106)、撮影画像[i]内の特徴点60を検出する(S107)。このステップS107における検出結果は記憶部12に記憶される。
 ステップS107が実行された後、制御部11は、撮影画像[i-1]と撮影画像[i]との間の擬似回転角度Δθi-1,iを算出し(S108)、その擬似回転角度Δθi-1,iを変数sに加算する(S109)。そして、制御部11は変数sが閾値θ以上であるか否かを判定する(S110)。
 変数sが閾値θ以上でない場合(S110:N)、図17に示すように、制御部11は変数iに1を加算し(S119)、撮影画像[i]が存在しているか否かを判定する(S120)。撮影画像[i]が存在している場合(S120:Y)、制御部11はステップS106を実行する。
 一方、変数sが閾値θ以上である場合(S110:Y)、図17に示すように、制御部11は、フレーム画像[j]として選出された撮影画像[k]と撮影画像[i-1]との間の累積擬似回転角度sk,i-1と、撮影画像[k]と撮影画像[i]との間の累積擬似回転角度sk,iとの間の中間値(sk,i-1+sk,i)/2を算出し、その中間値が閾値θ以下であるか否かを判定する(S111)。
 上記中間値が閾値θ以下である場合(S111:Y)、制御部11は撮影画像[i]をフレーム画像[j]として選出する(S112)。またこの場合、制御部11は変数iの値を変数kに代入し(S113)、変数iに1を加算する(S114)。そして、制御部11は撮影画像[i]が存在しているか否かを判定する(S115)。撮影画像[i]が存在している場合(S115:Y)、制御部11は変数jに1を加算し(S118)、ステップS106を実行する。
 一方、上記中間値が閾値θより大きい場合(S111:N)、制御部11は撮影画像[i-1]をフレーム画像[j]として選出する(S116)。またこの場合、制御部11は、変数iの値から1を減算した値を変数kに代入する(S117)。そして、制御部11は変数jに1を加算し(S118)、ステップS106を実行する。
 ステップS115又はS120において撮影画像[i]が存在していないと判定された場合、制御部11は本処理を終了する。この場合、フレーム画像[1]~[j]を含む動画像データが、一回転する商品30を示す動画像データとして生成される。
 なお、画像処理装置10で実行される処理は図16,17に示す処理に限られない。
 例えば、図17のステップS111,S116,S117を削除するようにしてもよい。すなわち、ステップS110において変数sが閾値θ以上であると判定された場合には常にステップS112~S115が実行されるようにしてもよい。この場合、図13に示す選出方法が実行されることになる。
 また例えば、図16のステップS108,S109を実行する代わりに、制御部11は撮影画像[k]と撮影画像[i]との間の擬似回転角度θk,iを算出するようにしてもよい。そして、ステップS110では、この擬似回転角度θk,iが閾値θ以上であるか否かを判定するようにしてもよい。この場合、図14に示す選出方法が実行されることになる。
 また例えば、図16のステップS101を省略し、図17に示す処理の代わりに、図20に示す処理を実行するようにしてもよい。図20に示す処理は、ステップS121~S124を含む点で図17に示す処理と相違している。
 図20に示す処理では、ステップS113,S117が実行された後に、制御部11は、フレーム画像[j]として選出された撮影画像40が、商品30が一回転し終えた時点の撮影画像40に相当しているか否かを判定するための処理を実行する(ステップS121~S124)。
 すなわち、ステップS113が実行された後、制御部11は変数iの値が閾値I以上であるか否かを判定する(S121)。この閾値Iは図19のステップS206と同様である。
 変数iの値が閾値I以上でない場合(S121:N)、制御部11はステップS114を実行する。一方、変数iの値が閾値I以上である場合(S121:Y)、制御部11は、フレーム画像[1]とフレーム画像[j]とが同一又は略同一であるか否かを判定する(S122)。この処理は図19のステップS204と同様である。
 フレーム画像[1]とフレーム画像[j]とが同一又は略同一でないと判定された場合(S122:N)、制御部11はステップS114を実行する。一方、フレーム画像[1]とフレーム画像[j]とが同一又は略同一であると判定された場合(S122:Y)、制御部11は本処理を終了する。この場合、フレーム画像[1]~[j]を含む動画像データが、一回転する商品30を示す動画像データとして生成される。
 また、ステップS117が実行された後、制御部11は、変数iの値から1を減算した値が閾値I以上であるか否かを判定する(S123)。変数iの値から1を減算した値が閾値I以上でない場合(S123:N)、制御部11はステップS118を実行する。一方、変数iの値から1を減算した値が閾値I以上である場合(S123:Y)、制御部11は、フレーム画像[1]とフレーム画像[j]とが同一又は略同一であるか否かを判定する(S124)。
 フレーム画像[1]とフレーム画像[j]とが同一又は略同一でないと判定された場合(S124:N)、制御部11はステップS118を実行する。一方、フレーム画像[1]とフレーム画像[j]とが同一又は略同一であると判定された場合(S124:Y)、制御部11は本処理を終了する。この場合、フレーム画像[1]~[j]を含む動画像データが、一回転する商品30を示す動画像データとして生成される。
 このようにしても、一回転する商品30の動画像データを生成できるようになる。
 なお、ステップS121~S124を実行する代わりに、ステップS115又はS120において撮影画像[i]が存在していないと判定された場合に図21に示す処理を実行するようにしてもよい。図21に示す処理は、生成された動画像データに含まれるフレーム画像[1]~[j]のうちから、一回転分の動画像データを抽出するための処理になっている。
 図21に示す処理では、制御部11は変数jの値を変数hに代入し(S301)、変数jに係数α(0<α<1:例えば1/3)を乗じることによって得られる値を閾値Hに設定する(S302)。この閾値Hは図19,20における閾値Iに相当するものである。
 その後、制御部11はフレーム画像[1]とフレーム画像[h]とが同一又は略同一であるか否かを判定する(S303)。この処理は図19のステップS204と同様である。
 フレーム画像[1]とフレーム画像[h]とが同一又は略同一でない場合(S303:N)、制御部11は変数hの値から1を減算する(S304)。そして、制御部11は変数hの値が閾値H未満であるか否かを判定する(S305)。変数hの値が閾値H未満でない場合(S305:N)、制御部11はステップS303を実行する。
 一方、フレーム画像[1]とフレーム画像[h]とが同一又は略同一である場合(S303:Y)、制御部11は、フレーム画像[1]~[h]を、一回転する商品30の動画像データとして抽出する(S307)。この場合、一旦選出されたフレーム画像[1]~[j]のうちから、フレーム画像[1]~[h]が、一回転する商品30の動画像データとして取得される。この場合、フレーム画像[h+1]~[j]が取り除かれることになる。
 変数hの値が閾値H未満である場合(S305:Y)、制御部11はフレーム画像[1]~[j]を抽出する(S306)。ステップS306において変数hの値が閾値H未満であると判定される場合とは、商品30が一回転し終えた時点の画像に対応するフレーム画像42を見つけることができなかった場合である。このような場合、制御部11は、フレーム画像[1]~[j]を、商品30の動画像データとして抽出する。
 図20に示す処理の代わりに図21に示す処理を実行するようにしても、一回転する商品30の動画像データを生成できるようになる。
 なお、図21に示す処理では、フレーム画像[H]~[j]のうちでフレーム画像[1]との類似度が最も高いフレーム画像42を探すようにしてもよい。そして、先頭のフレーム画像42からそのフレーム画像42までの動画像データを、一回転する商品30の動画像データとして取得するようにしてもよい。このようにしても、一回転する商品30の動画像データを生成できるようになる。
 以上に説明した画像処理装置10によれば、一定でない角速度で回転している商品30を撮影した場合の撮影画像データに基づいて、フレームごとの商品30の回転角度が略一定であるような動画像データを取得することが可能になる。また、画像処理装置10によれば、一回転分の動画像データを取得することが可能になる。
 なお、本発明は以上に説明した実施形態に限定されるものではない。
 [1]以上では、商品30の形状が略円柱形状であるとの仮定の下で、商品30上の各点がとる軌道80(円軌道)の半径rは同一であるとみなすこととして説明した。しかしながら、商品30の形状は略円柱形状に限られない。商品30の形状が略円柱形状でない場合、上記半径rは各点ごとに異なるため、上記半径rが同一であるとみなしてしまうと、誤差が大きくなってしまうおそれがある。そこで、画像処理装置10は、このような不都合の発生を抑制するための構成を備えるようにしてもよい。
 [1-1]例えば、回転角度情報取得部56は、上記半径rが大きい特徴点60を上記半径rが小さい特徴点60よりも優先的に用いて、回転角度情報を取得するようにしてもよい。
 [1-1-1]例えば、回転角度情報取得部56は、上記半径rが大きい特徴点60のみを回転角度情報の取得に用い、上記半径rが大きくない特徴点60を回転角度情報の取得に用いないようにしてもよい。
 例えば、観測領域110外の領域と観測領域110との両方を通過するような特徴点60は、上記半径rが比較的大きい商品30上の点(特徴点60)に相当しているということができる。このため、このような特徴点60のみを回転角度情報の取得に用いることによって、上記半径rが比較的大きい特徴点60のみを回転角度情報の取得に用いるようにしてもよい。
 この場合、特徴点60が観測領域110外から観測領域110内に移動したか否かを判定すれば足り、上記半径rをあえて算出する必要がないため、処理負荷の増大を抑制することが可能である。
 [1-1-2]当然のことながら、回転角度情報取得部56(回転半径情報取得手段)は、各特徴点60ごとに上記半径r(回転半径情報)を算出するようにしてもよい。そして、回転角度情報取得部56は、上記半径rが閾値よりも大きい特徴点60のみを回転角度情報の取得に用い、上記半径rが閾値以下である特徴点60を回転角度情報の取得に用いないようにしてもよい。
 [1-2]また例えば、回転角度情報取得部56(回転半径情報取得手段)は、各特徴点60ごとに上記半径r(回転半径情報)を算出するようにしてもよい。そして、回転角度情報取得部56は、各特徴点60の擬似回転角度(回転角度情報)を、上記式(11)に従い、当該特徴点60のX軸座標値の変化量(位置差情報)と、当該特徴点60の上記半径r(回転半径情報)と、に基づいて算出するようにしてもよい。そして、回転角度情報取得部56は、このようにして算出された擬似回転角度の統計値(例えば平均値)を商品30の擬似回転角度として用いるようにしてもよい。
 なお、以上に説明した変形例1-1-2や変形例1-2では上記半径rを算出する必要がある。このため、上記半径r(回転半径情報)の算出方法について説明しておく。
 例えば、回転角度情報取得部56(回転半径情報取得手段)は、商品30上の同一点に対応する特徴点60の軌道70(楕円軌道)に関する楕円軌道情報を取得し、この楕円軌道情報に基づいて、上記半径rを算出するようにしてもよい。例えば、回転角度情報取得部56は、軌道70の長径及び短径の少なくとも一方に基づいて、上記半径rを推定する。例えば、回転角度情報取得部56は、軌道70の長径の1/2を上記半径rとして取得する。
 なお、商品30上の同一点に対応する特徴点60が少なくとも三つの撮影画像40において検出されれば、特徴点60の軌道70に関する楕円軌道情報を取得することが可能である。この場合、軌道70の算出精度を高めるために次のようにしてもよい。
 すなわち、商品30上の複数の同一点にそれぞれ対応する複数の特徴点60の各々について軌道70を算出した場合、これら複数の軌道70は中心点が一致し、同心楕円になるはずである。このため、回転角度情報取得部56は、他の軌道70と中心点がずれている軌道70や、他の軌道70と同心楕円になっていない軌道70を利用しないようにするとよい。
 また、商品30上の同一点に対応する特徴点60が四つ以上の撮影画像40において検出される場合、回転角度情報取得部56は、特徴点60の三つの位置の組み合わせを複数取得するようにしてもよい。また、回転角度情報取得部56は、これら複数の組み合わせにそれぞれ対応する複数の軌道70を算出するようにしてもよい。そして、回転角度情報取得部56は、このようにして算出された複数の軌道70の中心点、長径、及び短径の各々の平均を、上記特徴点60の軌道70の中心点、長径、及び短径として取得するようにしてもよい。このようにしても、軌道70の算出精度を高めることが可能になる。
 上記に説明した方法の代わりに下記に説明する方法を採用するようにしてもよい。
 例えば、商品30上の同一点に対応する特徴点60が撮影画像[i](i:1以上の整数)で最初に検出され、かつ、撮影画像[j](j:i<jである整数)で最後に検出される場合、回転角度情報取得部56(回転半径情報取得手段)は、撮影画像[i],[j]における当該特徴点60の位置に基づいて、上記半径rを取得するようにしてもよい。
 例えば、撮影画像[i],[j]における当該特徴点60の位置がともに存在領域100の端部領域に含まれているのであれば、回転角度情報取得部56は、撮影画像[i],[j]における当該特徴点60の位置を結ぶ直線の長さの1/2を上記半径rとして取得するようにしてもよい。なお、「端部領域」は存在領域100の端から所定距離以内の領域である。
 または、回転角度情報取得部56は、撮影画像[i],[j]間における当該特徴点60のX軸座標値の差の1/2を上記半径rとして取得するようにしてもよい。
 ところで、商品30に付された図柄は存在領域100の端付近で変形するため、図柄部分に対応する特徴点60の特徴量は、特徴点60が存在領域100の中央領域にある場合と、特徴点60が存在領域100の端部領域にある場合とで異なる。その結果、図柄部分に対応する特徴点60が存在領域100の端部領域にある場合には、図柄部分に対応する特徴点60とは異なる特徴点60として認識されてしまうおそれがある。また、撮影装置34と商品30とが近い場合、商品30の図柄部分の180度分の回転が撮影されず、180度より小さい角度分の回転しか撮影されない場合がある。この点を考慮すると、この算出方法よりも先述の算出方法の方が精度が高くなる。ただし、この算出方法によれば、楕円軌道を算出する必要がないため、先述の算出方法に比べて処理負荷が軽減される。
 [2]例えば、以上に説明した実施形態では、閾値θが予め設定されていたが、閾値θを動的に設定するようにしてもよい。
 [2-1]例えば、動画像データの生成の基礎となる撮影画像40の個数に基づいて、閾値θを設定するようにしてもよい。商品30の一回転分の撮影画像40の個数が多いほど、閾値θが小さくなるようにしてもよい。この場合、撮影画像40の数と閾値θとの対応関係を示す対応関係情報を記憶部12に記憶させておき、この対応関係情報に基づいて閾値θを設定するようにすればよい。
 閾値θが小さいほど、動画像データは滑らかになる。この点、上記のようにすれば、撮影データに合わせて閾値θを小さくすることが可能になるため、動画像データをできる限り滑らかにすることが可能になる。
 [2-2]また例えば、フレーム画像42を十分に選出できなかった場合に閾値θを変更するようにしてもよい。図22はこの変形例について説明するための図である。
 この変形例では、最初、制御部11は閾値θを比較的小さい値に設定する。そして、制御部11は、フレーム画像42間の回転角度が閾値θとなるようにフレーム画像42を選出する。
 この場合、制御部11は、フレーム画像42間の回転角度が閾値θとなるようにしてフレーム画像42を選出できたか否かを判定する。例えば、フレーム画像[j]とフレーム画像[j+1]との間の擬似回転角度と閾値θとの差が所定範囲内であるならば、制御部11は、フレーム画像42間の回転角度が閾値θとなるようにしてフレーム画像42を選出できたとみなす。具体的には、上記擬似回転角度が閾値θ±20%の範囲内であるならば、制御部11は、フレーム画像42間の回転角度が閾値θとなるようにしてフレーム画像42を選出できたとみなす。
 また、この場合、図22(A)に示すフレーム画像[2],「6」のように、フレーム画像42間の回転角度が閾値θとなるようにしてフレーム画像42を選出できなかったのであれば、図22(B)に示すように、制御部11は閾値θを大きくし、更新後の閾値θに基づいてフレーム画像42を選出する。フレーム画像42間の回転角度が閾値θとなるようにしてすべてのフレーム画像42を選出できるようになるまでこのような処理を繰り返す。
 このようにしても、撮影画像データに合わせて閾値θを小さくすることが可能になるため、動画像データをできる限り滑らかにすることが可能になる。
 [2-3]なお、複数回転分の撮影画像データを取得しておき、一回転目の撮影画像データから取得できなかったフレーム画像42を二回転目以降の撮影画像データから取得するようにしてもよい。なお、二回転目以降の撮影データは、一回転目の撮影データを抽出する方法と同様にして抽出することができる。
 例えば、図22(A)に示す例では、フレーム画像[1]との間の擬似回転角度がΔθであるようなフレーム画像[2]を選出できていない。このような場合、フレーム画像[1]との間の擬似回転角度がΔθであるようなフレーム画像42を二回転目以降の撮影画像データから探し出すようにしてもよい。
 そして、フレーム画像[1]との間の擬似回転角度がΔθであるようなフレーム画像42を二回転目以降の撮影画像データから見つけ出すことができなかった場合に限って、図22(B)に示すように、閾値θを大きくするようにしてもよい。
 [3]例えば、商品30の形状が回転軸32に対して回転対称であって、かつ、商品30の一部(例えば表側)にのみ文字、模様や、図柄が付されているような場合、文字等が付された部分が撮影装置34に写っていない期間においては撮影画像40が変化しない。この場合、商品30上の同一点に対応する特徴点60を検出できなくなり、その結果として、特徴点60のX軸座標値の変化量を取得できなくなってしまう。
 図23は上記のような不都合に対処するための処理について説明するための図である。図23は、一回転分の撮影画像データに含まれる撮影画像[1]~[m+n]のうちの、撮影画像[m+1]~[m+n]において、商品30上の同一点に対応する特徴点60が検出されなかった場合を示している。
 このような場合、制御部11は、撮影画像[1]~[m]のうちからフレーム画像42として選出された撮影画像40の個数を取得する。図23に示す例ではこの数がp個になっている。
 そして、制御部11は、撮影画像[1]~[m]の個数と、撮影画像[1]~[m]のうちからフレーム画像42として選出された撮影画像40の個数と、の比率に基づいて、撮影画像[m+1]~[m+n]のうちからフレーム画像42を選出する。
 図23に示す例では上記比率がp/mであるため、制御部11は、この比率と同様の比率で、撮影画像[m+1]~[m+n]のうちからフレーム画像42を選出する。すなわち、制御部11は、n個の撮影画像[m+1]~[m+n]のうちからq個(q:q=n*p/m)の撮影画像40をフレーム画像42として選出する。例えば、制御部11は、撮影画像[m+1]~[m+n]のうちからm/p個間隔で撮影画像40をフレーム画像42として選出する。仮に、m/pが「3」であるならば、制御部11は撮影画像[m+3],[m+6],[m+9],・・・をフレーム画像42として選出する。このようにすれば、上記のような不都合に対処できるようになる。
 なお、以上では、撮影画像[m+1]~[m+n]において、商品30上の同一点に対応する特徴点60が検出されなかった場合について説明したが、撮影画像[1]~[m]において、商品30上の同一点に対応する特徴点60が検出されなかった場合も同様である。この場合、制御部11は、撮影画像[m+1]~[m+n]の個数と、撮影画像[m+1]~[m+n]のうちからフレーム画像42として選出された撮影画像40の個数と、の比率に基づいて、撮影画像[1]~[m]のうちからフレーム画像42を選出するようにしてもよい。
 [4]また例えば、回転角度情報取得部56の動作は以上に説明した実施形態に限られない。
 例えば、回転角度情報取得部56は、商品30上の同一点に対応する特徴点60の軌道70(楕円軌道)に関する楕円軌道情報を取得するようにしてもよい。なお、商品30上の同一点に対応する特徴点60が少なくとも三つの撮影画像40において検出されれば、それらの撮影画像40における特徴点60の位置に基づいて、特徴点60の軌道70に関する楕円軌道情報を取得することができる。
 そして、例えば撮影画像[i]の撮影時点と撮影画像[i+k](k:1以上の整数)の撮影時点との間の商品30の回転角度を算出する場合、回転角度情報取得部56は、撮影画像[i]における上記特徴点60の位置と、撮影画像[i+k]における上記特徴点60の位置と、上記楕円軌道情報と、に基づいて、上記回転角度を算出するようにしてもよい。このようにしても、撮影画像[i]の撮影時点と撮影画像[i+k]の撮影時点との間の商品30の回転角度に関する回転角度情報を取得することができる。

Claims (24)

  1.  被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段と、
     撮影画像内の特徴点を検出する特徴点検出手段と、
     前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段と、
     前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段と、
     前記複数の撮影画像それぞれについて前記回転角度情報取得手段によって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成手段と、
     を含むことを特徴とする画像処理装置。
  2.  請求項1に記載の画像処理装置において、
     前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記回転角度情報と閾値との比較結果に基づいて決定する、
     ことを特徴とする画像処理装置。
  3.  請求項2に記載の画像処理装置において、
     前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記回転角度情報が前記閾値以上である場合に、前記他の撮影画像と、前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出する、
     ことを特徴とする画像処理装置。
  4.  請求項3に記載の画像処理装置において、
     前記動画像データ生成手段は、
     前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出し、
     前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像の一つ前に撮影された前記撮影画像を前記動画像データのフレーム画像として選出する、
     ことを特徴とする画像処理装置。
  5.  請求項1に記載の画像処理装置において、
     前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第1の対の撮影画像において検出された場合に、前記第1の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第1の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、
     前記回転角度情報取得手段は、前記第1の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第1の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第1の対の撮影画像の前記位置情報に基づいて取得し、
     前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第2の対の撮影画像において検出された場合に、前記第2の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第2の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、
     前記回転角度情報取得手段は、前記第2の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第2の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第2の対の撮影画像の前記位置情報に基づいて取得し、
     前記動画像データ生成手段は、
     前記第1の対の撮影画像のうちの前記他の撮影画像と前記第2の対の撮影画像のうちの前記一の撮影画像とが同一である場合に、前記第1の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第2の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する累積回転角度情報を、前記第1の対の撮影画像の前記回転角度情報と前記第2の対の撮影画像の前記回転角度情報とに基づいて取得する手段を含み、
     前記動画像データのフレーム画像を前記複数の撮影画像のうちから前記累積回転角度情報に基づいて選出する、
     ことを特徴とする画像処理装置。
  6.  請求項5に記載の画像処理装置において、
     前記動画像データ生成手段は、前記第1の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記第2の対の撮影画像のうちの前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記累積回転角度情報と閾値との比較結果に基づいて決定する、
     ことを特徴とする画像処理装置。
  7.  請求項6に記載の画像処理装置において、
     前記動画像データ生成手段は、前記第1の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記累積回転角度情報が前記閾値以上である場合に、前記第2の対の撮影画像のうちの前記他の撮影画像と、前記第2の対の撮影画像のうちの前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出する、
     ことを特徴とする画像処理装置。
  8.  請求項1乃至7のいずれかに記載の画像処理装置において、
     前記回転角度情報取得手段は、
     前記一の撮影画像における前記特徴点の位置と、前記他の撮影画像における前記特徴点の位置と、の差に関する位置差情報を取得する手段と、
     前記位置差情報に基づいて前記回転角度情報を取得する手段と、含む、
     ことを特徴とする画像処理装置。
  9.  請求項8に記載の画像処理装置において、
     前記撮影画像内の、前記被写体の回転軸の位置に基づいて、前記撮影画像内の領域を観測領域として設定する手段を含み、
     前記回転角度情報取得手段は、前記特徴点が前記観測領域内に含まれている場合の前記位置差情報に基づいて、前記回転角度情報を取得する、
     ことを特徴とする画像処理装置。
  10.  請求項8又は9に記載の画像処理装置において、
     前記回転角度情報取得手段は、前記被写体が回転する場合の回転半径が大きい特徴点の前記位置差情報を、前記被写体が回転する場合の回転半径が小さい特徴点の前記位置差情報よりも優先的に用いて、前記回転角度情報を取得する、
     ことを特徴とする画像処理装置。
  11.  請求項8乃至10のいずれかに記載の画像処理装置において、
     前記回転角度情報取得手段は、
     前記被写体上の複数の点にそれぞれ対応する複数の特徴点が前記一の撮影画像及び前記他の撮影画像において検出される場合に、前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の点の回転半径に関する回転半径情報を取得する回転半径情報取得手段と、
     前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の前記点の、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の回転角度に関する回転角度情報を、当該特徴点の前記位置差情報及び前記回転半径情報に基づいて取得する手段と、
     前記複数の特徴点の各々の前記回転角度情報に基づいて、前記被写体の前記回転角度情報を取得する手段と、を含む、
     ことを特徴とする画像処理装置。
  12.  請求項11に記載の画像処理装置において、
     前記回転半径情報取得手段は、
     前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、前記少なくとも三つの撮影画像における当該特徴点の位置に基づいて、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、
     前記特徴点の前記楕円軌道情報に基づいて、当該特徴点の前記回転半径情報を取得する手段と、を含む、
     ことを特徴とする画像処理装置。
  13.  請求項11に記載の画像処理装置において、
     前記回転半径情報取得手段は、前記被写体上の同一点に対応する前記特徴点が第i(i:1以上の整数)の撮影画像において最初に検出され、かつ、前記第iの撮影画像よりも後に撮影された第j(j:i<jである整数)の撮影画像において最後に検出される場合に、前記第iの撮影画像における当該特徴点の位置と、前記第jの撮影画像における当該特徴点の位置と、に基づいて、当該特徴点の前記回転半径情報を取得する、
     ことを特徴とする画像処理装置。
  14.  請求項1乃至7のいずれかに記載の画像処理装置において、
     前記回転角度情報取得手段は、
     前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、
     前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置と、前記楕円軌道情報と、に基づいて、前記回転角度情報を取得する手段と、を含む、
     ことを特徴とする画像処理装置。
  15.  請求項1乃至14のいずれかに記載の画像処理装置において、
     前記動画像データ生成手段は、
     前記複数の撮影画像のうちから選出される基準撮影画像と、前記基準撮影画像の撮影時点から所定時間が経過した後に撮影された撮影画像と、の間の類似度に関する類似度情報を取得する手段と、
     前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含み、
     前記被写体が一回転し終えた時点における撮影画像として選出された撮影画像の撮影時点以前に撮影された撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成する、
     ことを特徴とする画像処理装置。
  16.  請求項15に記載の画像処理装置において、
     前記動画像データ生成手段は、
     前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像において検出された特徴点のうちの、前記基準撮影画像において検出された特徴点に対応する特徴点の個数を取得する特徴点数取得手段と、
     前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された複数の撮影画像のうちから、前記被写体が一回転し終えた時点における撮影画像の候補を、前記特徴点数取得手段の取得結果に基づいて選出する手段と、
     前記基準撮影画像と、前記候補として選出された撮影画像と、の類似度に関する類似度情報を取得する手段と、
     前記候補として選出された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含む、
     ことを特徴とする画像処理装置。
  17.  請求項1乃至16のいずれかに記載の画像処理装置において、
     前記複数の撮影画像は、前記第1の撮影画像~前記第m(m:2以上の整数)の撮影画像と、前記第mの撮影画像の後に撮影された第m+1の撮影画像~第m+n(n:1以上の整数)の撮影画像と、を含み、
     前記動画像データ生成手段は、
     前記第1の撮影画像~前記第mの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、
     前記被写体上の点に対応する特徴点が前記第m+1の撮影画像~前記第m+nの撮影画像において検出されなかった場合に、前記第1の撮影画像~前記第mの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第m+1の撮影画像~前記第m+nの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含む、
     ことを特徴とする画像処理装置。
  18.  請求項1乃至16のいずれかに記載の画像処理装置において、
     前記複数の撮影画像は、前記第1の撮影画像~前記第m(m:2以上の整数)の撮影画像と、前記第mの撮影画像の後に撮影された第m+1の撮影画像~第m+n(n:1以上の整数)の撮影画像と、を含み、
     前記動画像データ生成手段は、
     前記第m+1の撮影画像~前記第m+nの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、
     前記被写体上の点に対応する特徴点が前記第1の撮影画像~前記第mの撮影画像において検出されなかった場合に、前記第m+1の撮影画像~前記第m+nの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第1の撮影画像~前記第mの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含む、
     ことを特徴とする画像処理装置。
  19.  請求項1乃至18のいずれかに記載の画像処理装置において、
     前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する第1の判定手段と、
     前記一の撮影画像において検出された特徴点の位置と、前記他の撮影画像において検出された特徴点の位置との、前記被写体の回転軸に対応する軸方向の座標値の差が閾値以上であるか否かを判定する第2の判定手段と、
     前記第1の判定手段及び前記第2の判定手段の判定結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、
     を含むことを特徴とする画像処理装置。
  20.  請求項1乃至19のいずれかに記載の画像処理装置において、
     前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する判定手段と、
     前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である一の特徴点と、前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である他の特徴点と、が検出された場合、(a)前記一の撮影画像における前記一の特徴点の位置と、前記他の撮影画像における前記一の特徴点の位置との、前記被写体の回転軸に対応する第1の軸と直交する第2の軸方向の座標値の差に関する情報と、(b)前記一の撮影画像における前記他の特徴点の位置と、前記他の撮影画像における前記他の特徴点の位置との、前記第2の軸方向の座標値の差に関する情報と、を比較する比較手段と、
     前記判定手段の判定結果及び前記比較手段の比較結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、
     を含むことを特徴とする画像処理装置。
  21.  請求項1乃至20のいずれかに記載の画像処理装置において、
     前記撮影画像取得手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得し、
     前記動画像データ生成手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた前記複数の撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成する、
     ことを特徴とする画像処理装置。
  22.  被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得ステップと、
     撮影画像内の特徴点を検出する特徴点検出ステップと、
     前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得ステップと、
     前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得ステップと、
     前記複数の撮影画像それぞれについて前記回転角度情報取得ステップによって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成ステップと、
     を含むことを特徴とする画像処理方法。
  23.  被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段、
     撮影画像内の特徴点を検出する特徴点検出手段、
     前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段、
     前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段、及び、
     前記複数の撮影画像それぞれについて前記回転角度情報取得手段によって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成手段、
     としてコンピュータを機能させるためのプログラム。
  24.  被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段、
     撮影画像内の特徴点を検出する特徴点検出手段、
     前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段、
     前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段、及び、
     前記複数の撮影画像それぞれについて前記回転角度情報取得手段によって取得された回転角度情報に基づいて、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから選出することによって、前記動画像データを生成する動画像データ生成手段、
     としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体。
PCT/JP2013/065116 2012-09-26 2013-05-30 画像処理装置、画像処理方法、プログラム、及び情報記憶媒体 WO2014050210A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP13842258.9A EP2903256B1 (en) 2012-09-26 2013-05-30 Image processing device, image processing method and program
US14/431,304 US10452953B2 (en) 2012-09-26 2013-05-30 Image processing device, image processing method, program, and information recording medium
ES13842258T ES2811800T3 (es) 2012-09-26 2013-05-30 Dispositivo de procesamiento de imágenes, método de procesamiento de imágenes y programa

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-213030 2012-09-26
JP2012213030A JP5868816B2 (ja) 2012-09-26 2012-09-26 画像処理装置、画像処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2014050210A1 true WO2014050210A1 (ja) 2014-04-03

Family

ID=50387629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/065116 WO2014050210A1 (ja) 2012-09-26 2013-05-30 画像処理装置、画像処理方法、プログラム、及び情報記憶媒体

Country Status (5)

Country Link
US (1) US10452953B2 (ja)
EP (1) EP2903256B1 (ja)
JP (1) JP5868816B2 (ja)
ES (1) ES2811800T3 (ja)
WO (1) WO2014050210A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109013677A (zh) * 2018-08-04 2018-12-18 石修英 一种土壤有机污染环境监控系统
CN109141365A (zh) * 2018-08-02 2019-01-04 孙仲碧 土壤修复状态监控方法
CN109284715A (zh) * 2018-09-21 2019-01-29 深圳市九洲电器有限公司 一种动态物体识别方法、装置及系统
JP2023516660A (ja) * 2020-03-31 2023-04-20 コンチネンタル・オートナマス・モビリティ・ジャーマニー・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 車両トレーラ角度計算方法およびシステム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741150B2 (en) 2013-07-25 2017-08-22 Duelight Llc Systems and methods for displaying representative images
CN105792914A (zh) * 2013-12-06 2016-07-20 庄信万丰股份有限公司 冷启动催化剂和其在排气系统中的用途
JP6476414B2 (ja) * 2014-09-08 2019-03-06 パナソニックIpマネジメント株式会社 静止画像抽出方法及びその方法を実現する画像処理装置
WO2016073329A1 (en) * 2014-11-03 2016-05-12 California Institute Of Technology Producing zeolite ssz-39 using isomeric mixtures of organic structure directing agents
KR102465332B1 (ko) * 2015-12-29 2022-11-11 에스케이플래닛 주식회사 사용자 장치, 그의 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
WO2018168787A1 (ja) * 2017-03-13 2018-09-20 三菱ケミカル株式会社 遷移金属担持ゼオライト及びその製造方法、並びに窒素酸化物浄化用触媒及びその使用方法
WO2018182068A1 (ko) * 2017-03-30 2018-10-04 스노우 주식회사 아이템에 대한 추천 정보 제공 방법 및 장치
KR101898580B1 (ko) * 2018-01-22 2018-09-13 주식회사 뷰노 영상의 열람을 지원하는 방법 및 이를 이용한 장치
US11080875B2 (en) * 2018-03-22 2021-08-03 Jvckenwood Corporation Shape measuring apparatus, shape measuring method, non-transitory computer readable medium storing program
EP3889906A1 (en) * 2020-03-31 2021-10-06 Continental Automotive GmbH Method and system for calculating vehicle trailer angle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239406A (ja) * 1988-03-22 1989-09-25 Agency Of Ind Science & Technol 形状測定方法
JP2003271045A (ja) * 2002-03-15 2003-09-25 Sony Corp 画像処理装置及び画像処理方法、印刷物製造装置及び印刷物製造方法、並びに印刷物製造システム
JP2009042900A (ja) * 2007-08-07 2009-02-26 Olympus Corp 撮像装置および画像選択装置
JP2011013121A (ja) * 2009-07-02 2011-01-20 Sobal Kk 3次元形状測定装置、3次元形状測定方法
JP2012124745A (ja) * 2010-12-09 2012-06-28 Seabiscuit Co Ltd 表示用データ提供サーバ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969106A (en) * 1989-02-27 1990-11-06 Camsys, Inc. Computerized method of determining surface strain distributions in a deformed body
JPH0669448B2 (ja) * 1989-10-09 1994-09-07 株式会社東芝 ステレオ視観察のためのx線画像取得表示方法及びその装置
US6445814B2 (en) * 1996-07-01 2002-09-03 Canon Kabushiki Kaisha Three-dimensional information processing apparatus and method
JP3419213B2 (ja) * 1996-08-30 2003-06-23 ミノルタ株式会社 3次元形状データ処理装置
JP2003065736A (ja) 2001-08-24 2003-03-05 Sanyo Electric Co Ltd 3次元モデリング装置
JP2003299644A (ja) * 2002-04-11 2003-10-21 Hitachi Medical Corp コンピュータ断層撮影装置
US20040227751A1 (en) * 2003-01-08 2004-11-18 Kaidan Incorporated Method for capturing object images for 3D representation
JP4100195B2 (ja) * 2003-02-26 2008-06-11 ソニー株式会社 3次元オブジェクトの表示処理装置、表示処理方法、およびコンピュータプログラム
US7542050B2 (en) * 2004-03-03 2009-06-02 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
US20090096664A1 (en) * 2007-10-10 2009-04-16 Northrop Grumman Systems Corporation Method, Apparatus and Computer Program Product for Providing Stabilization During a Tracking Operation
JP2012060258A (ja) * 2010-09-06 2012-03-22 Funai Electric Co Ltd 動画撮影装置
US8913785B2 (en) 2010-09-30 2014-12-16 Electronics And Telecommunications Research Institute Apparatus and method for calculating motion of object
JP2012175694A (ja) * 2011-02-24 2012-09-10 Kyocera Corp 電子機器
EP2680594A4 (en) * 2011-02-24 2014-07-09 Kyocera Corp ELECTRONIC APPARATUS, IMAGE DISPLAY METHOD, AND IMAGE DISPLAY PROGRAM
US8600194B2 (en) * 2011-05-17 2013-12-03 Apple Inc. Positional sensor-assisted image registration for panoramic photography

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239406A (ja) * 1988-03-22 1989-09-25 Agency Of Ind Science & Technol 形状測定方法
JP2003271045A (ja) * 2002-03-15 2003-09-25 Sony Corp 画像処理装置及び画像処理方法、印刷物製造装置及び印刷物製造方法、並びに印刷物製造システム
JP2009042900A (ja) * 2007-08-07 2009-02-26 Olympus Corp 撮像装置および画像選択装置
JP2011013121A (ja) * 2009-07-02 2011-01-20 Sobal Kk 3次元形状測定装置、3次元形状測定方法
JP2012124745A (ja) * 2010-12-09 2012-06-28 Seabiscuit Co Ltd 表示用データ提供サーバ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP2903256A4
THE COOLEST APPATSXSW-ARQBALL SPIN, 13 March 2012 (2012-03-13), Retrieved from the Internet <URL:http://erickschonfeld.com/2012/03/13/coolest-app-sxsw-arq ball-spin>

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109141365A (zh) * 2018-08-02 2019-01-04 孙仲碧 土壤修复状态监控方法
CN109013677A (zh) * 2018-08-04 2018-12-18 石修英 一种土壤有机污染环境监控系统
CN109284715A (zh) * 2018-09-21 2019-01-29 深圳市九洲电器有限公司 一种动态物体识别方法、装置及系统
JP2023516660A (ja) * 2020-03-31 2023-04-20 コンチネンタル・オートナマス・モビリティ・ジャーマニー・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 車両トレーラ角度計算方法およびシステム
JP7493051B2 (ja) 2020-03-31 2024-05-30 コンチネンタル・オートナマス・モビリティ・ジャーマニー・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 車両トレーラ角度計算方法及びシステム

Also Published As

Publication number Publication date
JP5868816B2 (ja) 2016-02-24
EP2903256B1 (en) 2020-07-29
EP2903256A1 (en) 2015-08-05
JP2014068264A (ja) 2014-04-17
US20150302587A1 (en) 2015-10-22
EP2903256A4 (en) 2016-08-10
ES2811800T3 (es) 2021-03-15
US10452953B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
JP5868816B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US9542585B2 (en) Efficient machine-readable object detection and tracking
CN109313799B (zh) 图像处理方法及设备
CN111091590B (zh) 图像处理方法、装置、存储介质及电子设备
US9807299B2 (en) Image capture methods and systems with positioning and angling assistance
US9058655B2 (en) Region of interest based image registration
EP3093822B1 (en) Displaying a target object imaged in a moving picture
US9275275B2 (en) Object tracking in a video stream
CN104811798B (zh) 一种调整视频播放速度的方法及装置
US20120249593A1 (en) Image processing apparatus, image processing method, and recording medium capable of identifying subject motion
WO2015039575A1 (en) Method and system for performing image identification
WO2008111550A1 (ja) 画像解析システム、及び画像解析プログラム
Xiong et al. Snap angle prediction for 360 panoramas
US20180316861A1 (en) Image alignment using a virtual gyroscope model
Jeon et al. Deep upright adjustment of 360 panoramas using multiple roll estimations
CN108665459A (zh) 一种图像模糊检测方法、计算设备及可读存储介质
WO2022111461A1 (zh) 识别方法、装置及电子设备
CN114390201A (zh) 对焦方法及其装置
WO2024022301A1 (zh) 视角路径获取方法、装置、电子设备及介质
Dasari et al. A joint visual-inertial image registration for mobile HDR imaging
WO2019053790A1 (ja) 位置座標算出方法及び位置座標算出装置
JP7232663B2 (ja) 画像処理装置及び画像処理方法
JP2009042900A (ja) 撮像装置および画像選択装置
KR101636481B1 (ko) 컴파운드뷰 이미지 생성 방법 및 장치
TWI595782B (zh) 顯示方法以及電子裝置

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14431304

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013842258

Country of ref document: EP