WO2020230891A1 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
WO2020230891A1
WO2020230891A1 PCT/JP2020/019459 JP2020019459W WO2020230891A1 WO 2020230891 A1 WO2020230891 A1 WO 2020230891A1 JP 2020019459 W JP2020019459 W JP 2020019459W WO 2020230891 A1 WO2020230891 A1 WO 2020230891A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
correction data
images
trained model
unit
Prior art date
Application number
PCT/JP2020/019459
Other languages
English (en)
French (fr)
Inventor
亮 篠原
直人 的場
Original Assignee
株式会社Nttドコモ
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 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Priority to US17/600,261 priority Critical patent/US20220180491A1/en
Priority to JP2021519503A priority patent/JP7165820B2/ja
Publication of WO2020230891A1 publication Critical patent/WO2020230891A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B15/00Special procedures for taking photographs; Apparatus therefor
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B37/00Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • G06V10/765Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to an image processing device that generates a composite image by connecting a plurality of input images to each other.
  • Patent Document 1 discloses an apparatus that executes a stitching process. This device uses the trained model to generate parameters for stitching. The device then performs a stitching process using the parameters.
  • the conventional device does not judge the quality of the image after the switching process. Therefore, there is a problem that a person may feel the image generated by the conventional device unnatural.
  • the image processing apparatus generates a plurality of corrected images by correcting a plurality of input images according to the first correction data, and the plurality of corrections.
  • the first learned that the image synthesizing unit that generates a composite image by joining the images to each other and whether or not the joining of the plurality of images in the image in which a plurality of images are joined to each other is appropriate has been learned.
  • a determination unit that determines whether or not the combination of the plurality of correction images in the composite image is appropriate, and a plurality of elements for generating a plurality of correction images that are appropriately connected to each other.
  • a second correction data is generated by inputting the plurality of input images into the second trained model that has learned the relationship between the correction data used for image correction and the plurality of original images.
  • the determination result of the correction data generation unit and the determination unit is affirmative, the composite image is output, and when the determination result of the determination unit is negative, the image composition unit is based on the second correction data. It includes an image update unit that generates an updated composite image by updating the composite image and outputs the updated composite image.
  • a natural composite image is generated when a plurality of input images are connected to each other.
  • FIG. 1 is a block diagram showing an overall configuration of an image processing system according to the first embodiment.
  • An image processing system is used to generate a composite image in which a plurality of images are joined together.
  • the composite image is, for example, a 360-degree image used in VR (Virtual Reality) or the like, or a panoramic image.
  • the image processing system includes a first imaging device C1, a second imaging device C2, a third imaging device C3, a fourth imaging device C4, a fifth imaging device C5, and an image processing device 1A.
  • FIG. 2 is a perspective view showing the arrangement of the first imaging device C1, the second imaging device C2, the third imaging device C3, the fourth imaging device C4, and the fifth imaging device C5.
  • the adjacent imaging directions form an angle of 72 degrees. Adjacent imaging directions may form angles different from 72 degrees.
  • the first imaging device C1, the second imaging device C2, the third imaging device C3, the fourth imaging device C4, and the fifth imaging device C5 are examples of a plurality of imaging devices.
  • the first imaging device C1 is a camera, for example, a so-called 4K television camera having a resolution of 2160 in the vertical pixels and 3840 in the horizontal pixels.
  • the first imaging device C1 is not limited to a 4K television camera.
  • the first imaging device C1 includes a first lens L1.
  • the first lens L1 is a fisheye lens (circumferential fisheye lens).
  • the first image pickup apparatus C1 generates the first image data SD1 by taking an image of a subject through the first lens L1.
  • the first image data SD1 has, for example, a resolution of 4K.
  • the first image data SD1 indicates a first input image. Since the first lens L1 is a fisheye lens, the first input image has a substantially circular shape.
  • the second imaging device C2, the third imaging device C3, the fourth imaging device C4, and the fifth imaging device C5 are cameras such as a 4K television camera.
  • the second imaging device C2, the third imaging device C3, the fourth imaging device C4, and the fifth imaging device C5 are not limited to 4K television cameras.
  • the second imaging device C2 includes a second lens L2.
  • the second lens L2 is a fisheye lens (circumferential fisheye lens).
  • the second image pickup apparatus C2 generates the second image data SD2 by photographing the subject through the second lens L2.
  • the second image data SD2 has, for example, a resolution of 4K.
  • the second image data SD2 indicates a second input image. Since the second lens L2 is a fisheye lens, the second input image has a substantially circular shape.
  • the third imaging device C3 includes a third lens L3.
  • the third lens L3 is a fisheye lens (circumferential fisheye lens).
  • the third image pickup apparatus C3 generates the third image data SD3 by imaging the subject through the third lens L3.
  • the third image data SD3 has, for example, a resolution of 4K.
  • the third image data SD3 indicates a third input image. Since the third lens L3 is a fisheye lens, the third input image has a substantially circular shape.
  • the fourth imaging device C4 includes a fourth lens L4.
  • the fourth lens L4 is a fisheye lens (circumferential fisheye lens).
  • the fourth image pickup apparatus C4 generates the fourth image data SD4 by imaging the subject through the fourth lens L4.
  • the fourth image data SD4 has, for example, a resolution of 4K.
  • the fourth image data SD4 indicates a fourth input image. Since the fourth lens L4 is a fisheye lens, the fourth input image has a substantially circular shape.
  • the fifth imaging device C5 includes a fifth lens L5.
  • the fifth lens L5 is a fisheye lens (circumferential fisheye lens).
  • the fifth image pickup apparatus C5 generates the fifth image data SD5 by photographing the subject through the fifth lens L5.
  • the fifth image data SD5 has, for example, a resolution of 4K.
  • the fifth image data SD5 indicates a fifth input image. Since the fifth lens L5 is a fisheye lens, the fifth input image has a substantially circular shape.
  • the first input image, the second input image, the third input image, the fourth input image, and the fifth input image are examples of a plurality of input images.
  • the image processing device 1A generates output image data Dout based on the first image data SD1 to the fifth image data SD5. For example, the image processing device 1A generates the first corrected image CG1 to the fifth corrected image CG5 described later by correcting the first image data SD1 to the fifth image data SD5. The image processing device 1A generates output image data Dout showing a composite image in which the first corrected image CG1 to the fifth corrected image CG5 are connected to each other.
  • the image processing device 1A is a computer.
  • the image processing device 1A is composed of, for example, a workstation.
  • FIG. 3 is a block diagram showing a configuration example of the image processing device 1A.
  • the image processing apparatus 1A includes a stitching apparatus 10, a processing apparatus 20, an input interface 30, an output interface 40, and a storage device 50.
  • the input interface 30 receives data from an external device.
  • the output interface 40 transmits data to an external device.
  • Each element of the image processing device 1A is connected to each other via one or two or more buses for communicating information.
  • the term "device” herein may be read as another term such as a circuit, device or unit.
  • Each element of the image processing apparatus 1A is composed of one or more devices. Some elements of the image processing apparatus 1A may be omitted.
  • the stitching device 10 is composed of, for example, an FPGA (field-programmable gate array). Under the control of the processing device 20, the stitching device 10 receives the first image data SD1 to the fifth image data SD5 via the input interface 30. The stitching device 10 generates output image data Dout by performing stitching processing on the first image data SD1 to the fifth image data SD5. The output image data Dout indicates a composite image. The output interface 40 outputs the output image data Dout to an external device under the control of the processing device 20. In this example, one output image data Dout is shown, but the stitching device 10 may generate a plurality of output image data Douts.
  • FPGA field-programmable gate array
  • the stitching device 10 has a plurality of output image data corresponding to one-to-one with the plurality of projectors. Output Dout.
  • the stitching process includes a correction process and a concatenation process.
  • the correction process the stitching device 10 generates a plurality of corrected images by correcting the plurality of input images based on the correction data supplied from the processing device 20.
  • the connection process the stitching device 10 generates a composite image by joining a plurality of corrected images to each other.
  • the stitching process is executed twice.
  • the correction data used for the first stitching process is referred to as "first correction data”
  • the correction data used for the second stitching process is referred to as "second correction data”.
  • the first correction data and the second correction data are simply referred to as "correction data”.
  • the stitching process may be executed only once, or may be executed more than twice.
  • the stitching device 10 is an example of an image compositing unit.
  • the correction process includes crop process, equirectangular process, and adjustment process.
  • the concatenation process includes a blending process.
  • FIG. 4 is an explanatory diagram showing an example of a stitching process including a correction process and a connection process.
  • the stitching device 10 corresponds one-to-one with the first input image to the fifth input image by performing crop processing, equirectangular processing, and adjustment processing on each of the first input image to the fifth input image.
  • the first corrected image CG1 to the fifth corrected image CG5 are generated.
  • the correction data includes a parameter set used for cropping, equirectangular processing, and adjustment processing.
  • FIG. 5 shows a parameter set included in the correction data.
  • the parameter set includes parameters P11 to P16, parameters P21 to P26, parameters P31 to P36, parameters P41 to P46, and parameters P51 to P56.
  • the parameters P11 to P16 relate to the first imaging device C1.
  • Parameters P21 to P26 relate to the second imaging device C2.
  • Parameters P31 to P36 relate to the third imaging device C3.
  • Parameters P41 to P46 relate to the fourth imaging device C4.
  • Parameters P51 to P56 relate to the fifth imaging device C5.
  • Parameters P11, P21, P31, P41, and P51 indicate the center coordinate shift due to the actual position of the image sensor in the image sensor.
  • the center coordinate deviation indicates the difference between the design center position of the image sensor in the image pickup device and the actual center position of the image pickup device in the image pickup device.
  • the parameters P12, P22, P32, P42, and P52 indicate the radial deviation due to the actual lens. Radius deviation indicates the difference between the design lens radius and the actual lens radius.
  • the parameters P13, P23, P33, P43, and P53 indicate the deviation of the image in the X-axis direction.
  • the image shift in the X-axis direction indicates the difference between the design image position in the X-axis direction and the actual image position in the X-axis direction.
  • the parameters P14, P24, P34, P44, and P54 indicate the deviation of the image in the Y-axis direction.
  • the image shift in the Y-axis direction indicates the difference between the design image position in the Y-axis direction and the actual image position in the Y-axis direction.
  • the parameters P15, P25, P35, P45, and P55 indicate the deviation of the image in the rotation direction around the Z axis.
  • the deviation of the image in the rotation direction around the Z axis indicates the difference between the position of the design image in the rotation direction around the Z axis and the position of the actual image in the rotation direction around the Z axis.
  • the parameters P16, P26, P36, P46, and P56 indicate the size shift of the image.
  • the difference in image size indicates the difference between the design size of the image and the actual size of the image.
  • the stitching device 10 first determines the radius and center of a circle used to cut out a circular image from each of the first input image to the fifth input image. Subsequently, the stitching device 10 cuts out a circular image from each of the first input image to the fifth input image using a circle whose radius and center are determined. In the cropping process, the stitching device 10 uses the parameters P11, P21, P31, P41, and P51 regarding the center coordinate deviation and the parameters P12, P22, P32, P42, and P52 regarding the radius deviation.
  • the stitching device 10 converts the five circular images generated by the crop process into five rectangular images using equirectangular projection.
  • the stitching device 10 may use parameters related to distortion of the first lens L1 to the fifth lens L5 in addition to the above-mentioned parameters.
  • the stitching device 10 rotates five rectangular images about the Z axis using the parameters P15, P25, P35, P45, and P55 indicating the deviation of the image in the rotation direction around the Z axis. To do.
  • the stitching device 10 enlarges or reduces the five rectangular images using the parameters P16, P26, P36, P46, and P56 relating to the size of the image.
  • the stitching device 10 generates the first corrected image CG1 to the fifth corrected image CG5 by executing the first to fourth processes.
  • the stitching device 10 In the blending process, the stitching device 10 generates a composite image SG by connecting the first corrected image CG1 to the fifth corrected image CG5 to each other.
  • the processing device 20 is a processor that controls the image processing device 1A.
  • the processing device 20 is composed of, for example, one or more chips.
  • the processing device 20 is composed of, for example, an interface with a peripheral device and a central processing unit (CPU: Central Processing Unit).
  • the central processing unit includes an arithmetic unit, registers, and the like.
  • Some or all of the functions of the processing device 20 are realized by hardware such as DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), and FPGA (Field Programmable Gate Array). May be good.
  • the processing device 20 executes various processes in parallel or sequentially.
  • the storage device 50 is a recording medium that can be read by the processing device 20.
  • the storage device 50 stores a plurality of programs and various types of data.
  • the plurality of programs include the control program PR1 executed by the processing device 20.
  • Various data include a plurality of coefficients K11 that determine the first trained model group M1, a plurality of coefficients K12 that determine the second trained model group M2, and a plurality of coefficients K1C that determine the category trained model MC.
  • Various data are used by the processing device 20 and the like.
  • the processing device 20 uses the category-learned model MC to specify a category according to the type of the content of the composite image SG from a plurality of categories related to the type of the content of the image. Multiple categories include, for example, sports, landscapes, and people.
  • the category-learned model MC has learned the relationship between a plurality of images and a plurality of categories by machine learning using the category teacher data TC.
  • the learning result of the category-learned model MC is reflected in a plurality of coefficients K1C that determine the category-learned model MC, and the plurality of coefficients K1C are stored in the storage device 50.
  • the category teacher data TC includes a set of the category input data TCa and the category label data TCb.
  • the category input data TCa is image data.
  • the category label data TCb indicates the category of the image indicated by the image data which is the category input data TCa.
  • the category trained model MC has trained a plurality of different category teacher data TCs, that is, category teacher data sets.
  • the category trained model MC is an example of the fourth trained model.
  • the category-learned model MC is used to determine the category corresponding to the type of the content of the composite image SG in the operation phase in which the image processing device 1A is operated.
  • the category trained model MC outputs the category data indicating the category of the image indicated by the image data.
  • the first trained model group M1 is composed of a plurality of categories and a plurality of first trained models corresponding to one-to-one. Each of the plurality of first trained models has been trained by machine learning using the first teacher data T1 whether or not the splicing of the plurality of images constituting the images belonging to the corresponding categories is appropriate. .. A set of a plurality of coefficients set by each of the plurality of first trained models by machine learning corresponds to "a plurality of coefficients K11 defining the first trained model group M1".
  • the first teacher data T1 includes a set of the first input data T1a and the first label data T1b.
  • the first input data T1a is composite image data indicating a composite image in which a plurality of images are connected to each other.
  • the first label data T1b indicates whether or not the joining of a plurality of images is appropriate in the composite image indicated by the first input data T1a.
  • the first teacher data T1 is classified into any of a plurality of categories based on the type of the content of the composite image indicated by the first input data T1a.
  • Each of the plurality of first trained models has trained a plurality of different first teacher data T1s belonging to the corresponding categories, that is, the first teacher data set in the learning phase.
  • the first trained model indicates whether or not the joining of a plurality of images is appropriate in the composite image indicated by the composite image data. Output data.
  • the process of specifying the category of the first teacher data T1 is preferably executed using the category-learned model MC.
  • the processing device 20 can match the category specifying method in the learning phase with the category specifying method in the operation phase. For example, assume that a plurality of categories include sports and landscapes, and the content of a connected image in which a plurality of images are connected to each other is a boat race. In this case, the content of the linked image may include a landscape in addition to the boat race. Therefore, the linked image showing the boat race may correspond to both the sports category and the landscape category.
  • the category trained model MC When the category trained model MC is used to identify the category of the first teacher data T1, the first trained model selected according to the composite image SG showing the boat race in the operation phase shows the boat race.
  • the first teacher data T1 representing the composite image can be learned. As a result, in the operation phase, the accuracy of the determination process for determining whether or not the joining of a plurality of images is appropriate is improved.
  • the second trained model group M2 is composed of a plurality of categories and a plurality of second trained models corresponding to one-to-one.
  • Each of the plurality of second trained models has learned the first image correction data used to generate an image belonging to the corresponding category by machine learning using the second teacher data T2.
  • the first image correction data is used in a correction process for correcting a plurality of images (original images) that are sources of a plurality of corrected images to be joined to each other into a plurality of corrected images suitable for joining.
  • a set of a plurality of coefficients set by each of the plurality of second trained models by machine learning corresponds to "a plurality of coefficients K12 defining the second trained model group M2".
  • the second teacher data T2 includes a set of the second input data T2a and the second label data T2b.
  • the second input data T2a is a plurality of image data.
  • the plurality of image data indicates a plurality of original images.
  • the second label data T2b is the first image correction data (correction data).
  • the second trained model outputs the first image correction data (for example, the second correction data).
  • the second teacher data T2 is classified into one of a plurality of categories based on the type of the content of the image generated by the stitching process using the first image correction data.
  • Each of the plurality of second trained models has trained a plurality of different second teacher data T2s belonging to the corresponding categories, that is, the second teacher data set in the learning phase.
  • the process of specifying the category of the second teacher data T2 is preferably executed using the category trained model MC.
  • Each of the plurality of first trained models, each of the plurality of second trained models, and the category trained model MC are composed of, for example, an SVM (support vector machine).
  • the storage device 50 is composed of at least one such as a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EPROM (Electrically Erasable Programmable ROM), a RAM (Random Access Memory), and a flash memory.
  • the storage device 50 may be called a register, a cache, a main memory (main storage device), or the like.
  • the processing device 20 reads the control program PR1 from the storage device 50. By executing the control program PR1, the processing device 20 functions as a specific unit 21, a determination unit 22, a second correction data generation unit 23, and an image update unit 24.
  • the control program PR1 may be transmitted from another device to the image processing device 1A via the network.
  • the image processing device 1A includes a communication device capable of communicating with an external device via a network.
  • the determination unit 22 includes the first trained model group M1.
  • the determination unit 22 selects one first trained model corresponding to the category specified by the specific unit 21 from the first trained model group M1.
  • the determination unit 22 uses the first trained model to which the coefficient K11 corresponding to the one first trained model among the plurality of coefficients K11 is applied to connect the plurality of corrected images in the composite image SG to each other. Determine if it is appropriate.
  • the determination unit 22 selects a first trained model (hereinafter referred to as a “corresponding first trained model”) according to the category of the composite image SG from the first trained model group M1 based on the category data. select.
  • the determination unit 22 inputs the composite image data indicating the composite image SG into the corresponding first trained model.
  • the determination unit 22 acquires data indicating whether or not the connection is appropriate from the corresponding first trained model in which the composite image data is input.
  • the second correction data generation unit 23 includes the second trained model group M2.
  • the second correction data generation unit 23 selects one second trained model according to the specified category of the specific unit 21 from the second trained model group M2.
  • the second correction data generation unit 23 uses the second trained model to which the coefficient K12 corresponding to the one second trained model among the plurality of coefficients K12 is applied, and the second correction according to the plurality of input images. Generate data.
  • the second correction data generation unit 23 may refer to the second trained model (hereinafter referred to as “corresponding second trained model”) according to the category of the composite image SG from the second trained model group M2 based on the category data. Select).
  • the second correction data generation unit 23 inputs the first image data SD1 to the fifth image data SD5 into the corresponding second trained model.
  • the second correction data generation unit 23 acquires the second correction data from the corresponding second trained model in which the first image data SD1 to the fifth image data SD5 are input.
  • the image update unit 24 supplies the first correction data to the stitching device 10.
  • the image updating unit 24 may generate the first correction data based on the data related to the imaging acquired from each of the first imaging device C1 to the fifth imaging device C5.
  • the data related to imaging is, for example, data indicating the performance of an imaging device or data indicating the performance of a lens.
  • the image update unit 24 makes a first correction based on the first image data SD1 to the fifth image data SD5 obtained by capturing an image used for calibration using the first image pickup device C1 to the fifth image pickup device C5. Data may be generated.
  • the image update unit 24 When the determination result of the determination unit 22 is affirmative, the image update unit 24 outputs the composite image data indicating the composite image SG generated by the stitching device 10 to the outside as output image data Dout via the output interface 40. .. On the other hand, when the determination result of the determination unit 22 is negative, the image update unit 24 supplies the second correction data generated by the second correction data generation unit 23 to the stitching device 10 to provide the second correction data.
  • the stitching device 10 is made to update the composite image SG based on the above.
  • the image update unit 24 outputs the composite image data indicating the updated composite image SG (updated composite image) as output image data Dout to the outside via the output interface 40.
  • FIG. 6 is a flowchart showing an example of the operation of the image processing device 1A.
  • the processing device 20 outputs the first correction data to the stitching device 10 by functioning as the image updating unit 24.
  • the first correction data is used for the first stitching process. Therefore, the first correction data is an initial value.
  • the stitching device 10 generates the first corrected image to the fifth corrected image by correcting the first input image to the fifth input image using the first correction data.
  • the stitching device 10 generates a composite image SG in which the first corrected image to the fifth corrected image are connected to each other.
  • step S2 the processing device 20 functions as the identification unit 21 to specify a category from a plurality of categories according to the type of the content of the composite image SG indicated by the composite image data.
  • the specific unit 21 inputs the composite image data generated using the first correction data to the category-learned model MC. Subsequently, the identification unit 21 specifies the category of the composite image SG based on the data output by the category-learned model MC. Subsequently, the specific unit 21 generates category data indicating the specific result.
  • step S3 the processing device 20 functions as the determination unit 22.
  • the determination unit 22 selects the first trained model (corresponding first trained model) corresponding to the category specified by the specific unit 21 from the first trained model group M1 based on the category data.
  • step S4 the processing device 20 functions as the determination unit 22, so that the selected first trained model (corresponding first trained model) is used to join the plurality of corrected images in the composite image SG. Determine if it is appropriate.
  • the second correction data generation unit 23 is a second trained model (corresponding second trained model) corresponding to the category specified by the specific unit 21 from the second trained model group M2 based on the category data. Is selected (step S5).
  • step S6 the processing device 20 functions as the second correction data generation unit 23, so that the second trained model (corresponding second trained model) selected is used, and the processing device 20 responds to a plurality of input images. 2 Generate correction data.
  • step S7 the processing device 20 functions as the image updating unit 24 to output the second correction data to the stitching device 10.
  • the stitching device 10 updates the composite image SG based on the second correction data.
  • the stitching device 10 generates composite image data indicating the updated composite image SG.
  • step S8 the processing device 20 functions as the image update unit 24 to output the composite image data indicating the updated composite image SG as the output image data Dout.
  • step S4 the processing device 20 functions as the image update unit 24, and uses the composite image data generated by the stitching device 10 based on the first correction data as the output image data Dout. Output.
  • the image processing device 1A includes a stitching device 10, a specific unit 21, a determination unit 22, a second correction data generation unit 23, and an image update unit 24. ..
  • the stitching device 10 generates a plurality of corrected images by correcting a plurality of input images according to the first correction data, and generates a composite image SG by joining the plurality of corrected images to each other.
  • the identification unit 21 specifies a category according to the type of the content of the composite image SG from a plurality of categories related to the type of the content of the image.
  • the determination unit 22 is a plurality of first trained models corresponding to a plurality of categories and one-to-one, and a plurality of first trained models that have learned whether or not the connection of the plurality of images in the images is appropriate. From the above, one first trained model corresponding to the specified category of the specific unit 21 is selected. The determination unit 22 determines whether or not the connection of the plurality of corrected images in the composite image SG is appropriate by using the first trained model.
  • the second correction data generation unit 23 is a plurality of second trained models corresponding to a plurality of categories and one-to-one, and a plurality of second trained models that have learned the relationship between the plurality of original painting monks and the correction data.
  • the second correction data generation unit 23 generates the second correction data by inputting a plurality of input images into the one second trained model.
  • the image update unit 24 outputs a composite image SG when the determination result of the determination unit 22 is affirmative, and synthesizes the composite image SG with the stitching device 10 based on the second correction data when the determination result of the determination unit 22 is negative.
  • the updated composite image is generated by updating the image SG, and the updated composite image is output.
  • the stitching process used to generate the composite image SG1 of the sports category is the same as the stitching process used to generate the composite image SG2 of the landscape category.
  • the conspicuousness of the seams of the plurality of images in the composite image SG1 of the sports category is different from the conspicuity of the seams of the plurality of images in the composite image SG2 of the landscape category.
  • the image processing device 1A selects the first trained model corresponding to the category of the composite image SG from the plurality of first trained models corresponding to one-to-one with the plurality of categories. Therefore, the image processing device 1A can determine whether or not it is appropriate to join a plurality of corrected images in the composite image SG for each category.
  • the image processing device 1A selects the second trained model corresponding to the composite image SG category from the plurality of second trained models corresponding to one-to-one with the plurality of categories. Therefore, the image processing device 1A can generate the second correction data for each category. As a result, when the stitching of the plurality of corrected images is not appropriate in the composite image SG generated by the first stitching process, the image processing apparatus 1A uses the composite image SG based on the category of the composite image SG. Can be updated. Therefore, the quality of the output image data Dout is improved.
  • the image processing system according to the second embodiment includes an image processing device 1B instead of the image processing device 1A.
  • FIG. 7 is a block diagram showing a configuration example of the image processing device 1B.
  • the control program PR2 is stored in the storage device 50 instead of the control program PR1, and a plurality of coefficients K13 defining the third trained model group M3 are stored in the storage device 50. It is different from the image processing device 1A.
  • the image processing device 1B differs from the image processing device 1A in that the processing device 20 reads the control program PR2 from the storage device 50 and executes it.
  • the processing device 20 functions as the image updating unit 24x instead of the image updating unit 24, the processing device 20 functions as the third correction data generation unit 25, and the processing device 20 selects. It differs from the image processing device 1A in that it functions as a unit 26.
  • the third trained model group M3 is composed of a plurality of categories and a plurality of third trained models corresponding to one-to-one.
  • Each of the plurality of third trained models has a relationship between the second image correction data and an evaluation value indicating the appropriateness of the mutual connection of the plurality of images generated by the correction process using the second image correction data.
  • a set of a plurality of coefficients set by each of the plurality of third trained models by machine learning corresponds to "a plurality of coefficients K13 defining the third trained model group M3".
  • the third teacher data T3 includes a set of the third input data T3a and the third label data T3b.
  • the third input data T3a is a set of a plurality of images (original images) that are the basis of the plurality of corrected images that are connected to each other, and a second image correction data (correction data).
  • the second image correction data is used in a correction process for correcting a plurality of original images into a plurality of corrected images suitable for joining.
  • the third label data T3b indicates an evaluation value for the second image correction data. This evaluation value indicates the appropriateness of joining a plurality of corrected images.
  • the third trained model has an evaluation value. Is output.
  • the third teacher data T3 is classified into one of a plurality of categories based on the type of the content of the image generated by the stitching process using the second image correction data.
  • Each of the plurality of third trained models has trained a plurality of different third teacher data T3s belonging to the corresponding categories, that is, the third teacher data set in the learning phase.
  • the process of specifying the category of the third teacher data T3 is preferably executed by using the category trained model MC.
  • the joint X34 is a boundary between the third corrected image CG3 and the fourth corrected image CG4.
  • the joint X45 is a boundary between the fourth corrected image CG4 and the fifth corrected image CG5.
  • the joint X51 is a boundary between the fifth corrected image CG5 and the first corrected image CG1.
  • the output layer 130 holds five coefficients k1 to k5 corresponding to one-to-one with the five joints X12, X23, X34, X45 and X51.
  • the output layer 130 multiplies the individual evaluation values h1 to h5 by the coefficients k1 to k5, respectively.
  • the output layer 130 generates a plurality of multiplication results by multiplying each of the plurality of seams by the individual evaluation value corresponding to the seam with the coefficient corresponding to the seam.
  • the output layer 130 generates an evaluation value H indicating the sum of the plurality of multiplication results.
  • the third correction data generation unit 25 generates a plurality of third correction data based on the second correction data. For example, the third correction data generation unit 25 generates a plurality of third correction data by adding the second correction data to each of the plurality of random values that are different from each other. As described above, the second correction data includes a plurality of parameters. Adding the second correction data to each of the plurality of random number values means adding to each of the plurality of parameters of the second correction data to each of the plurality of random number values. Random values can be negative.
  • the third correction data generation unit 25 sets the range from the minimum value of the plurality of random numbers to the maximum value of the plurality of random numbers to the types of the first imaging device C1 to the fifth imaging device C5 and the first lens L1. To the fifth lens L5 may be determined based on at least one of the types.
  • the third correction data generation unit 25 sets a range from the minimum value of the plurality of predetermined values to the maximum value of the plurality of predetermined values for the types of the first imaging device C1 to the fifth imaging device C5 and the first lens L1. It may be determined based on at least one of the types from 1 to 5th lens L5.
  • the third correction data generation unit 25 uses the plurality of third correction data as the types of the first imaging device C1 to the fifth imaging device C5 and the types of the first lens L1 to the fifth lens L5. It is generated based on at least one of them.
  • the second correction data is a parameter set for appropriately connecting a plurality of correction images to each other in the composite image SG. Therefore, if the third correction data deviates significantly from the second correction data, there is a high possibility that the stitching process will fail.
  • a plurality of third correction data are within a predetermined range from the second correction data, it is possible to suppress deterioration of the quality of the composite image SG.
  • the selection unit 26 includes the third trained model group M3.
  • the selection unit 26 selects one third trained model corresponding to the category specified by the specific unit 21 from the third trained model group M3.
  • the selection unit 26 uses a third trained model to which the coefficient K13 corresponding to the one third trained model among the plurality of coefficients K13 is applied, and has a plurality of one-to-one correspondences with the plurality of third correction data. Get the evaluation value of.
  • the selection unit 26 inputs each of the plurality of third correction data into the one third trained model together with the plurality of input images (first input image to fifth input image), whereby a plurality of third correction data are input.
  • a plurality of evaluation values corresponding to the third correction data on a one-to-one basis are acquired.
  • the selection unit 26 selects one third correction data corresponding to the maximum evaluation value among the plurality of evaluation values from the plurality of third correction data.
  • the image update unit 24x causes the stitching device 10 to update the composite image SG based on the first third correction data selected by the selection unit 26.
  • the image update unit 24x outputs the composite image data indicating the updated composite image SG as the output image data Dout.
  • FIG. 9 is a flowchart showing the contents of the update process.
  • the processing device 20 functions as the third correction data generation unit 25.
  • the third correction data generation unit 25 generates a plurality of third correction data based on the second correction data. For example, assume that the second correction data includes the parameter P11 and generates three third correction data.
  • the third correction data generation unit 25 generates random values RDN1, RDN2, and RDN3.
  • the third correction data generation unit 25 generates the parameter P111 by adding the parameter P11 to the random number value RDN1.
  • the third correction data generation unit 25 generates the parameter P112 by adding the parameter P11 to the random number value RDN2.
  • the third correction data generation unit 25 generates the parameter P113 by adding the parameter P11 to the random number value RDN3.
  • the third correction data generation unit 25 generates the third correction data including the parameter P111, the third correction data including the parameter P112, and the third correction data including the parameter P113.
  • the processing device 20 functions as the selection unit 26.
  • the selection unit 26 selects a third trained model (hereinafter referred to as a “corresponding third trained model”) corresponding to the category specified in step S2 from the third trained model group M3 (step). S72).
  • the selection unit 26 identifies unselected third correction data from the plurality of third correction data (step S73). Subsequently, the selection unit 26 acquires the evaluation value corresponding to the specified third correction data by using the corresponding third trained model. For example, the selection unit 26 first inputs a plurality of input images and the third correction data into the corresponding third trained model. Subsequently, the selection unit 26 generates an evaluation value based on the data output by the corresponding third trained model in which the plurality of input images and the third correction data are input.
  • the selection unit 26 specifies the third correction data (hereinafter referred to as “corresponding third correction data”) corresponding to the maximum evaluation value from the plurality of third correction data (step S77).
  • step S78 the processing device 20 functions as the image update unit 24X.
  • the image update unit 24X outputs the third correction data (corresponding third correction data) specified in step S77 to the stitching device 10.
  • the processing device 20 can cause the stitching device 10 to update the composite image SG based on the third correction data obtained with the maximum evaluation value.
  • the image processing device 1B includes a third correction data generation unit 25, a selection unit 26, and an image update unit 24x.
  • the third correction data generation unit 25 generates a plurality of third correction data based on the second correction data.
  • the selection unit 26 is a plurality of third trained models corresponding to a plurality of categories and one-to-one, and is a set of a plurality of original images and correction data, and a set of correction data in the set.
  • the specific unit 21 specified from a plurality of third trained models that learned the relationship between the evaluation value indicating the appropriateness of the mutual connection of the plurality of corrected images generated by the correction for the plurality of original images. Select one third trained model according to the category.
  • the selection unit 26 inputs each of the plurality of third correction data into the one third trained model together with the plurality of input images, so that the selection unit 26 has a plurality of one-to-one correspondences with the plurality of third correction data. Get the evaluation value.
  • the selection unit 26 selects one third correction data corresponding to the maximum evaluation value among the plurality of evaluation values from the plurality of third correction data.
  • the image update unit 24x causes the stitching device 10 to update the composite image SG based on the first third correction data, and the composite image data indicating the updated composite image SG. Is output as output image data Dout. That is, the image processing device 1B generates a plurality of third correction data based on one second correction data.
  • the image processing device 1B has the third correction data (corresponding third correction data) having the maximum evaluation value indicating the appropriateness for joining the plurality of correction images in the composite image SG from among the plurality of third correction data. To identify.
  • the image processing device 1B can update the composite image SG by executing the stitching process using the specified third correction data (corresponding third correction data). As a result, the image processing apparatus 1B produces a composite image SG in which a plurality of corrected images are appropriately connected to each other, as compared with a configuration in which the stitching process is not executed using the third correction data having the maximum evaluation value. Can be generated.
  • the third correction data generation unit 25 generates a plurality of third correction data by adding the second correction data to each of the plurality of random numbers that are different from each other. Therefore, for each of the plurality of mutually different third correction data generated based on the second correction data, the image processing apparatus 1B connects the plurality of correction images generated using the third correction data. Appropriateness can be evaluated. As a result, the accuracy of the stitching process is improved.
  • each of the plurality of third trained models is an artificial neural network having an input layer 110, an intermediate layer 120, and an output layer 130.
  • the output layer 130 has a plurality of output nodes N1 to N5 corresponding to the joints of the plurality of corrected images on a one-to-one basis.
  • Each of the plurality of output nodes N1 to N5 outputs individual evaluation values h1 to h5 indicating the appropriateness of the corresponding joints.
  • the output layer 130 has a plurality of coefficients k1 to k5 corresponding to one-to-one correspondence with the plurality of individual evaluation values h1 to h5.
  • the output layer 130 multiplies each of the plurality of individual evaluation values h1 to h5 by the corresponding coefficient among the plurality of coefficients k1 to k5.
  • the output layer 130 outputs the evaluation value H by summing the plurality of multiplication results.
  • the processing device 20 may adjust a plurality of coefficients k1 to k5 according to the importance of a plurality of joints designated by the user. For example, in the composite image SG shown in FIG. 4, when the importance of the joint X34 is higher than the importance of the joint X51, the coefficient k3 corresponding to the joint X34 is increased, and the coefficient k5 corresponding to the joint X51 is set. It may be made smaller. Even in the 360-degree composite image SG, the importance of the region predicted to be noticed by the user is higher than the importance of the other regions.
  • the processing device 20 adjusts a plurality of coefficients k1 to k5 according to the importance of the plurality of joints designated by the user. In this case, the processing device 20 can make the accuracy of the connection in the region of high importance higher than the accuracy of the connection in the region of low importance.
  • a plurality of coefficients K11 that determine the first trained model group M1, a plurality of coefficients K12 that determine the second trained model group M2, a plurality of coefficients K13 that determine the third trained model group M3, and A plurality of coefficients K1C that determine the category trained model MC are stored in the storage device 50.
  • these may be stored in an external device.
  • the image processing device 1A or 1B includes a communication device capable of communicating with an external device via a communication network.
  • the image processing device 1A or 1B receives a plurality of coefficients K11 for determining the first trained model group M1, a plurality of coefficients K12 for determining the second trained model group M2, and a third trained model from an external device via a communication device.
  • a plurality of coefficients K13 that determine the group M3 and a plurality of coefficients K1C that determine the category trained model MC are acquired.
  • the image processing device 1A includes a specific unit 21 that specifies a category according to the type of the content of the composite image SG, but the present disclosure is not limited to this.
  • FIG. 10 is a block diagram showing a configuration of the image processing device 1C according to the third modification.
  • the image processing device 1C differs from the image processing device 1A of the first embodiment shown in FIG. 3 in the following points.
  • the point that the specific part 21 and the category trained model MC are not provided.
  • the point that the control program PR3 is used instead of the control program PR1.
  • the point that the first trained model m1 is used instead of the first trained model group M1.
  • the point that the second correction data generation unit 23x is used instead of the second correction data generation unit 23.
  • the first trained model m1 has learned whether or not it is appropriate to join a plurality of images in the image by machine learning using the fourth teacher data T4.
  • the learning result of the first trained model m1 is reflected in a plurality of coefficients K11a that determine the first trained model m1.
  • the fourth teacher data T4 includes a set of the fourth input data T4a and the fourth label data T4b.
  • the fourth input data T4a is composite image data indicating a composite image in which a plurality of images are joined together.
  • the fourth label data T4b indicates whether or not the joining of a plurality of images is appropriate in the composite image indicated by the fourth input data T4a.
  • the first trained model m1 has trained a plurality of fourth teacher data T4, that is, the fourth teacher data set, which are different from each other, in the learning phase.
  • the category of the fourth teacher data T4 does not matter. Therefore, the first trained model m1 corresponds to all categories. Therefore, the number of the fourth teacher data T4 is larger than the number of the first teacher data T1 required for one first trained model in the first trained model group M1 described above.
  • the second trained model m2 has trained the third image correction data by machine learning using the fifth teacher data T5.
  • the third image correction data is used in a correction process for correcting a plurality of images (original images) that are sources of a plurality of corrected images to be joined to each other into a plurality of corrected images suitable for joining.
  • the learning result of the second trained model m2 is reflected in a plurality of coefficients K12a that determine the second trained model m2.
  • the fifth teacher data T5 includes a set of the fifth input data T5a and the fifth label data T5b.
  • the fifth input data T5a is a plurality of image data.
  • the plurality of image data indicates a plurality of original images.
  • the fifth label data T5b is the third image correction data (correction data).
  • the second trained model m2 When a plurality of image data are input to the second trained model m2, the second trained model m2 outputs the third image correction data (for example, the second correction data).
  • the second trained model m2 has trained a plurality of different fifth teacher data T5, that is, the fifth teacher data set in the learning phase.
  • the category of the fifth teacher data T5 does not matter. Therefore, the second trained model m2 corresponds to all categories. Therefore, the number of the fifth teacher data T5 is larger than the number of the second teacher data T2 required for one second trained model in the second trained model group M2 described above.
  • the processing device 20 reads the control program PR3 from the storage device 50. By executing the control program PR2, the processing device 20 functions as a determination unit 22x, a second correction data generation unit 23x, and an image update unit 24.
  • the determination unit 22x includes a first trained model m1 to which a plurality of coefficients K11a are applied.
  • the determination unit 22x uses the first trained model m1 to determine whether or not the joining of the plurality of corrected images in the composite image SG is appropriate. In terms of using this determination method, the determination unit 22x uses the first trained model corresponding to the category of the composite image SG in the first trained model group M1 to join a plurality of corrected images in the composite image SG. Is different from the determination unit 22 that determines whether or not is appropriate.
  • the second correction data generation unit 23x includes the second trained model m2 to which a plurality of coefficients K12a are applied.
  • the second correction data generation unit 23x uses the second trained model m2 to generate the second correction data corresponding to the plurality of image data SD1 to SD5.
  • the second correction data generation unit 23x uses the second trained model corresponding to the category of the composite image SG in the second trained model group M2 to generate a plurality of image data SD1 to SD5. It is different from the second correction data generation unit 23 that generates the corresponding second correction data.
  • the specific unit 21 can be eliminated. Since the image processing device 1C can execute the stitching process using one first trained model m1 and one second trained model m2, it can generate a natural composite image SG while simplifying the configuration. it can.
  • the image processing device 1B includes a specific unit 21 that specifies a category according to the type of the content of the composite image SG, but the present disclosure is not limited to this.
  • FIG. 11 is a block diagram showing a configuration of the image processing device 1D according to the fourth modification.
  • the image processing device 1D differs from the image processing device 1B of the second embodiment shown in FIG. 7 in the following points.
  • the point that the specific unit 21, the selection unit 26, and the category trained model MC are not provided.
  • the point that the control program PR4 is used instead of the control program PR3.
  • the point that the first trained model m1 is used instead of the first trained model group M1.
  • the point that the third trained model m3 is used instead of the third trained model group M3.
  • the point that the second correction data generation unit 23x is used instead of the second correction data generation unit 23.
  • the point that the selection unit 26x is used instead of the selection unit 26
  • the first trained model m1, the second trained model m2, the determination unit 22x, and the second correction data generation unit 23x are described in the above-described third modification.
  • the third trained model m3 has a relationship between the fourth image correction data and an evaluation value indicating the appropriateness of the mutual connection of a plurality of images generated by the correction process using the fourth image correction data. 6 It has been learned by machine learning using the teacher data T6. For example, in the third trained model m3, a pair of a plurality of original images and a fourth image correction data and a plurality of corrected images generated by correction of a plurality of original images using the fourth image correction data are connected to each other. The relationship between the evaluation value indicating the appropriateness of matching and the evaluation value has been learned.
  • the learning result of the third trained model m3 is reflected in a plurality of coefficients K13a that determine the third trained model m3.
  • the sixth teacher data T6 includes a set of the sixth input data T6a and the sixth label data T6b.
  • the sixth input data T6a is a set of a plurality of images (original images) that are sources of a plurality of corrected images that are connected to each other, and a fourth image correction data (correction data).
  • the fourth image correction data is used in a correction process for correcting a plurality of original images into a plurality of corrected images suitable for joining.
  • the sixth label data T6b indicates an evaluation value for the fourth image correction data. This evaluation value indicates the appropriateness of joining a plurality of corrected images.
  • the third trained model m3 When a plurality of original images (for example, a plurality of input images) and a fourth image correction data are input to the third trained model m3, the third trained model m3 outputs an evaluation value.
  • the third trained model m3 has trained a plurality of sixth teacher data T6, that is, the sixth teacher data set, which are different from each other, in the learning phase.
  • the category of the sixth teacher data T6 does not matter. Therefore, the third trained model m3 corresponds to all categories. Therefore, the number of the sixth teacher data T6 is larger than the number of the third teacher data T3 required for one third trained model in the third trained model group M3 described above.
  • the processing device 20 reads the control program PR4 from the storage device 50. By executing the control program PR4, the processing device 20 functions as a determination unit 22x, a second correction data generation unit 23x, an image update unit 24x, a third correction data generation unit 25, and a selection unit 26x.
  • the selection unit 26x includes a third trained model m3 to which a plurality of coefficients K13a are applied. The selection unit 26x uses the third trained model m3 to acquire a plurality of evaluation values corresponding to a plurality of third correction data and one-to-one.
  • the selection unit 26x corresponds one-to-one with a plurality of third correction data by using the third trained model corresponding to the category of the composite image SG in the third trained model group M3. This is different from the selection unit 26 that acquires a plurality of evaluation values.
  • the third correction data generation unit 25 generates a plurality of third correction data based on the second correction data.
  • the selection unit 26x inputs each of the plurality of third correction data together with the plurality of input images into the third trained model m3 that has learned the relationship between the set of the plurality of original images and the correction data and the evaluation value. By doing so, a plurality of evaluation values corresponding to one-to-one with the plurality of third correction data are acquired.
  • the selection unit 26x selects one third correction data corresponding to the maximum evaluation value among the acquired plurality of evaluation values from the plurality of third correction data.
  • the image update unit 24x causes the stitching device 10 to update the composite image SG based on the third correction data instead of the second correction data.
  • the image update unit 24x outputs the composite image data indicating the updated composite image SG as the output image data Dout.
  • the specific unit 21 can be omitted.
  • the image processing device 1D can execute the stitching process using one first trained model m1, one second trained model m2, and one third trained model m3.
  • a natural composite image SG can be generated while simplifying.
  • the storage device 50 includes a flexible disk, a magneto-optical disk (for example, a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, and a flash memory device (for example,). Cards, sticks, key drives), CD-ROMs (Compact Disc-ROMs), registers, removable disks, hard disks, floppy (registered trademark) disks, magnetic strips, databases, servers and other suitable storage media may be included.
  • the program may also be transmitted from the network via a telecommunication line.
  • the input / output information and the like may be stored in a specific place (for example, a memory), or may be managed using a management table. Input / output information and the like can be overwritten, updated, or added. The output information and the like may be deleted. The input information or the like may be transmitted to another device.
  • the determination may be made by a value represented by 1 bit (0 or 1) or by a boolean value (Boolean: true or false). , May be done by numerical comparison (eg, comparison with a given value).
  • each function illustrated in FIGS. 3 and 7 is realized by any combination of at least one of hardware and software. Further, the method of realizing each functional block is not particularly limited. That is, each functional block may be realized by using one device that is physically or logically connected, or directly or indirectly (for example, by two or more devices that are physically or logically separated). , Wired, wireless, etc.) and may be realized using these plurality of devices. The functional block may be realized by combining the software with the one device or the plurality of devices.
  • the program exemplified in the above-described embodiment is called an instruction, an instruction set, a code, a code segment, regardless of whether it is called a software, firmware, middleware, microcode, hardware description language, or another name. It should be broadly interpreted to mean program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, features, etc.
  • software, instructions, information, etc. may be transmitted and received via a transmission medium.
  • a transmission medium For example, a website that uses at least one of wired technology (coaxial cable, fiber optic cable, twist pair, digital subscriber line (DSL: Digital Subscriber Line), etc.) and wireless technology (infrared, microwave, etc.) When transmitted from a server, or other remote source, at least one of these articulated and wireless technologies is included within the definition of transmission medium.
  • connection are direct or indirect between two or more elements. It means any connection or connection and can include the presence of one or more intermediate elements between two elements that are “connected” or “connected” to each other.
  • the connection or connection between the elements may be physical, logical, or a combination thereof.
  • connection may be read as "access”.
  • the two elements use at least one of one or more wires, cables and printed electrical connections, and, as some non-limiting and non-comprehensive examples, the radio frequency domain. Can be considered to be “connected” or “coupled” to each other using electromagnetic energies having wavelengths in the microwave and light (both visible and invisible) regions.
  • each aspect / embodiment described in the present disclosure may be used alone, in combination, or may be switched according to the execution.
  • the notification of predetermined information (for example, the notification of "being X") is not limited to the explicit one, but is performed implicitly (for example, the notification of the predetermined information is not performed). May be good.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

画像処理装置は、複数の入力画像を第1補正データに応じて補正することによって複数の補正画像を生成し、複数の補正画像を相互に繋ぎ合わせることによって合成画像を生成する画像合成部と、複数の画像の繋ぎ合わせが適切であるか否かを学習した第1学習済みモデルを用いて、合成画像における複数の補正画像の繋ぎ合わせが適切であるか否かを判定する判定部と、相互に適切に繋ぎ合わされる複数の補正画像を生成するための複数の元画像の補正に使用される補正データと、複数の元画像と、の関係を学習した第2学習済みモデルに、複数の入力画像を入力することによって第2補正データを生成する第2補正データ生成部と、判定部の判定結果が肯定である場合、合成画像を出力し、判定部の判定結果が否定である場合、第2補正データに基づいて画像合成部に合成画像を更新させることによって更新合成画像を生成させ、更新合成画像を出力する画像更新部と、を備える。

Description

画像処理装置
 本発明は、複数の入力画像を相互に繋ぎ合わせることによって合成画像を生成する画像処理装置に関する。
 360度の画像を生成するためには、まず、魚眼レンズを備えた複数のカメラによって複数の画像が生成される。続いて、複数の画像が、複数の正距円筒図法形式の画像(以下「複数の変換画像」と称する)に変換される。続いて、複数の変換画像を相互に張り合わせるスティッチング処理が実行される。特許文献1は、スティッチング処理を実行する装置を開示する。この装置は、学習済みモデルを用いて、スティッチング処理用のパラメータを生成する。続いて、この装置は、当該パラメータを用いてスティッチング処理を実行する。
特開2017-108387号公報
 従来の装置は、スイッチング処理後の画像の良否を判定していない。このため、従来の装置によって生成された画像を人が不自然に感じることがあるといった問題があった。
 以上の課題を解決するために、本発明の好適な態様に係る画像処理装置は、複数の入力画像を第1補正データに応じて補正することによって複数の補正画像を生成し、前記複数の補正画像を相互に繋ぎ合わせることによって合成画像を生成する画像合成部と、複数の画像が相互に繋ぎ合わされた画像における前記複数の画像の繋ぎ合わせが適切であるか否かを学習した第1学習済みモデルを用いて、前記合成画像における前記複数の補正画像の繋ぎ合わせが適切であるか否かを判定する判定部と、相互に適切に繋ぎ合わされる複数の補正画像を生成するための複数の元画像の補正に使用される補正データと、前記複数の元画像と、の関係を学習した第2学習済みモデルに、前記複数の入力画像を入力することによって、第2補正データを生成する第2補正データ生成部と、前記判定部の判定結果が肯定である場合、前記合成画像を出力し、前記判定部の判定結果が否定である場合、前記第2補正データに基づいて前記画像合成部に前記合成画像を更新させることによって更新合成画像を生成させ、前記更新合成画像を出力する画像更新部と、を備える。
 本発明によれば、複数の入力画像が相互に繋ぎ合わされる場合に、自然な合成画像が生成される。
本発明の第1実施形態に係る画像処理システムの全体構成を示すブロック図である。 第1撮像装置C1、第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、及び第5撮像装置C5の配置を示す斜視図である。 画像処理装置1Aの構成例を示すブロック図である。 スティッチング処理の一例を示す説明図である。 補正データに含まれるパラメータセットの例を示す説明図である。 画像処理装置1Aの動作の一例を示すフローチャートである。 画像処理装置1Bの構成例を示すブロック図である。 第3学習済みモデルの構成例を示す模式図である。 更新処理の内容を示すフローチャートである。 画像処理装置1Cの構成例を示すブロック図である。 画像処理装置1Dの構成例を示すブロック図である。
[1.第1実施形態]
 図1は、第1実施形態に係る画像処理システムの全体構成を示すブロック図である。画像処理システムは、複数の画像が相互に繋ぎ合わされた合成画像を生成するために用いられる。合成画像は、例えば、VR(Virtual Reality)などで使用される360度の画像、あるいは、パノラマ画像である。
 画像処理システムは、第1撮像装置C1、第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、第5撮像装置C5、及び画像処理装置1Aを備える。図2は、第1撮像装置C1、第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、及び第5撮像装置C5の配置を示す斜視図である。第1撮像装置C1、第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、及び第5撮像装置C5の撮像方向において、隣り合う撮像方向は、72度の角度を形成する。隣り合う撮像方向は、72度とは異なる角度を形成してもよい。第1撮像装置C1、第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、及び第5撮像装置C5は、複数の撮像装置の一例である。
 第1撮像装置C1は、カメラ、例えば、縦の画素数が2160、横の画素数が3840の解像度を有するいわゆる4Kのテレビジョンカメラである。なお、第1撮像装置C1は、4Kのテレビジョンカメラに限らない。第1撮像装置C1は、第1レンズL1を備える。第1レンズL1は、魚眼レンズ(円周魚眼レンズ)である。第1撮像装置C1は、第1レンズL1を介して被写体を撮像することによって、第1画像データSD1を生成する。第1画像データSD1は、例えば、4Kの解像度を有する。第1画像データSD1は、第1入力画像を示す。第1レンズL1が魚眼レンズであるため、第1入力画像は略円の形状となる。
 第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、及び第5撮像装置C5は、4Kのテレビジョンカメラ等のカメラである。なお、第2撮像装置C2、第3撮像装置C3、第4撮像装置C4、及び第5撮像装置C5は、4Kのテレビジョンカメラに限らない。
 第2撮像装置C2は、第2レンズL2を備える。第2レンズL2は、魚眼レンズ(円周魚眼レンズ)である。第2撮像装置C2は、第2レンズL2を介して被写体を撮像することによって、第2画像データSD2を生成する。第2画像データSD2は、例えば、4Kの解像度を有する。第2画像データSD2は、第2入力画像を示す。第2レンズL2が魚眼レンズであるため、第2入力画像は略円の形状となる。
 第3撮像装置C3は、第3レンズL3を備える。第3レンズL3は、魚眼レンズ(円周魚眼レンズ)である。第3撮像装置C3は、第3レンズL3を介して被写体を撮像することによって、第3画像データSD3を生成する。第3画像データSD3は、例えば、4Kの解像度を有する。第3画像データSD3は、第3入力画像を示す。第3レンズL3が魚眼レンズであるため、第3入力画像は略円の形状となる。
 第4撮像装置C4は、第4レンズL4を備える。第4レンズL4は、魚眼レンズ(円周魚眼レンズ)である。第4撮像装置C4は、第4レンズL4を介して被写体を撮像することによって、第4画像データSD4を生成する。第4画像データSD4は、例えば、4Kの解像度を有する。第4画像データSD4は、第4入力画像を示す。第4レンズL4が魚眼レンズであるため、第4入力画像は略円の形状となる。
 第5撮像装置C5は、第5レンズL5を備える。第5レンズL5は、魚眼レンズ(円周魚眼レンズ)である。第5撮像装置C5は、第5レンズL5を介して被写体を撮像することによって、第5画像データSD5を生成する。第5画像データSD5は、例えば、4Kの解像度を有する。第5画像データSD5は、第5入力画像を示す。第5レンズL5が魚眼レンズであるため、第5入力画像は略円の形状となる。
 第1入力画像、第2入力画像、第3入力画像、第4入力画像、及び第5入力画像は、複数の入力画像の一例である。
 画像処理装置1Aは、第1画像データSD1~第5画像データSD5に基づいて、出力画像データDoutを生成する。例えば、画像処理装置1Aは、第1画像データSD1~第5画像データSD5を補正することによって、後述する第1補正画像CG1~第5補正画像CG5を生成する。画像処理装置1Aは、第1補正画像CG1~第5補正画像CG5を相互に繋ぎ合わせた合成画像を示す出力画像データDoutを生成する。
[1-1.画像処理装置1Aの構成]
 画像処理装置1Aは、コンピュータである。画像処理装置1Aは、例えば、ワークステーションによって構成される。図3は、画像処理装置1Aの構成例を示すブロック図である。画像処理装置1Aは、スティッチング装置(image stitching apparatus)10、処理装置20、入力インターフェース30、出力インターフェース40、及び記憶装置50を備える。入力インターフェース30は、外部装置からデータを受信する。出力インターフェース40は、外部装置へデータを送信する。
 画像処理装置1Aの各要素は、情報を通信するための1又は2以上のバスを介して相互に接続される。本明細書における「装置」という用語は、回路、デバイス又はユニット等の他の用語に読み替えられてもよい。画像処理装置1Aの各要素は、1又は2以上の機器によって構成される。画像処理装置1Aの一部の要素は、省略されてもよい。
 スティッチング装置10は、例えば、FPGA(field-programmable gate array)によって構成される。処理装置20の制御の下、スティッチング装置10は、入力インターフェース30を介して第1画像データSD1~第5画像データSD5を受信する。スティッチング装置10は、第1画像データSD1~第5画像データSD5にスティッチング処理を施すことによって、出力画像データDoutを生成する。出力画像データDoutは、合成画像を示す。出力インターフェース40は、処理装置20の制御の下、出力画像データDoutを外部装置に出力する。この例では、一つの出力画像データDoutが示されているが、スティッチング装置10は、複数の出力画像データDoutを生成してもよい。例えば、横長又は環状の投射面に向けて複数のプロジェクタが光を投射することによって1つの画像を表示する場合、スティッチング装置10は、複数のプロジェクタと1対1に対応する複数の出力画像データDoutを出力する。
 スティッチング処理は、補正処理と、連結処理と、を含む。補正処理では、スティッチング装置10は、複数の入力画像を、処理装置20から供給される補正データに基づいて補正することによって、複数の補正画像を生成する。連結処理では、スティッチング装置10は、複数の補正画像を相互に繋ぎ合わせることによって合成画像を生成する。スティッチング処理は、2回実行される。以下の説明では、1回目のスティッチング処理に用いられる補正データを「第1補正データ」と称し、2回目のスティッチング処理に用いられる補正データを「第2補正データ」と称する。第1補正データと第2補正データを相互に区別する必要がない場合は、第1補正データと第2補正データを単に「補正データ」と称する。なお、スティッチング処理は、1回のみ実行されてもよいし、2回よりも多く実行されてもよい。スティッチング装置10は、画像合成部の一例である。
 補正処理は、クロップ処理、エクイレクタングラー処理、及び調整処理を含む。連結処理は、ブレンディング処理を含む。図4は、補正処理と連結処理とを含むスティッチング処理の一例を示す説明図である。スティッチング装置10は、第1入力画像~第5入力画像の各々に、クロップ処理、エクイレクタングラー処理、及び調整処理を施すことによって、第1入力画像~第5入力画像と1対1に対応する第1補正画像CG1~第5補正画像CG5を生成する。補正データは、クロップ処理、エクイレクタングラー処理、及び調整処理に用いられるパラメータセットを含む。
 図5は、補正データに含まれるパラメータセットを示す。パラメータセットは、パラメータP11~P16、パラメータP21~P26、パラメータP31~P36、パラメータP41~P46、及びパラメータP51~P56を含む。パラメータP11~P16は、第1撮像装置C1に関する。パラメータP21~P26は、第2撮像装置C2に関する。パラメータP31~P36は、第3撮像装置C3に関する。パラメータP41~P46は、第4撮像装置C4に関する。パラメータP51~P56は、第5撮像装置C5に関する。
 パラメータP11、P21、P31、P41、及びP51は、撮像装置における撮像素子の実際の位置に起因する中心座標ずれを示す。中心座標ずれは、撮像装置における撮像素子の設計上の中心位置と、撮像装置における撮像素子の実際の中心位置と、の差を示す。パラメータP12、P22、P32、P42、及びP52は、実際のレンズに起因する半径ずれを示す。半径ずれは、設計上のレンズの半径と、実際のレンズの半径と、の差を示す。パラメータP13、P23、P33、P43、及びP53は、X軸方向における画像のずれを示す。X軸方向における画像のずれは、X軸方向における設計上の画像の位置と、X軸方向における実際の画像の位置と、の差を示す。パラメータP14、P24、P34、P44、及びP54は、Y軸方向における画像のずれを示す。Y軸方向における画像のずれは、Y軸方向における設計上の画像の位置と、Y軸方向における実際の画像の位置と、の差を示す。パラメータP15、P25、P35、P45、及びP55は、Z軸周りの回転方向における画像のずれを示す。Z軸周りの回転方向における画像のずれは、Z軸周りの回転方向における設計上の画像の位置と、Z軸周りの回転方向における実際の画像の位置と、の差を示す。パラメータP16、P26、P36、P46、及びP56は、画像の大きさのずれを示す。画像の大きさのずれは、設計上の画像の大きさと、実際の画像の大きさと、の差を示す。
 上述したように第1入力画像~第5入力画像は、円形の形状である。図4に示すクロップ処理では、スティッチング装置10は、まず、第1入力画像~第5入力画像の各々から円形の画像を切り出すために使用される円の半径と中心を決定する。続いて、スティッチング装置10は、半径と中心が決定された円を用いて、第1入力画像~第5入力画像の各々から円形の画像を切り出す。クロップ処理では、スティッチング装置10は、中心座標ずれに関するパラメータP11、P21、P31、P41、及びP51と、半径ずれに関するパラメータP12、P22、P32、P42、及びP52とを用いる。
 エクイレクタングラー処理では、スティッチング装置10は、クロップ処理によって生成された5つの円形の画像を、正距円筒図法を用いて、5つの矩形の画像に変換する。エクイレクタングラー処理では、スティッチング装置10は、上述したパラメータの他に第1レンズL1~第5レンズL5の歪に関するパラメータを用いてもよい。
 調整処理では、スティッチング装置10は、エクイレクタングラー処理によって生成された5つの矩形の画像を微調整することによって、第1補正画像CG1~第5補正画像CG5を生成する。調整処理は、第1処理、第2処理、第3処理、及び第4処理を含む。第1処理では、スティッチング装置10は、X軸に沿った画像のずれに関するパラメータP13、P23、P33、P43、及びP53を用いて、5つの矩形の画像をX軸に沿う方向にシフトする。第2処理では、スティッチング装置10は、Y軸に沿った画像のずれに関するパラメータP14、P24、P34、P44、及びP54を用いて、5つの矩形の画像をY軸に沿う方向にシフトする。第3処理では、スティッチング装置10は、Z軸周りの回転方向における画像のずれを示すパラメータP15、P25、P35、P45、及びP55を用いて、Z軸を中心に5つの矩形の画像を回転する。第4処理では、スティッチング装置10は、画像の大きさに関するパラメータP16、P26、P36、P46、及びP56を用いて、5つの矩形の画像を拡大又は縮小する。スティッチング装置10は、第1処理~第4処理を実行することによって、第1補正画像CG1~第5補正画像CG5を生成する。
 ブレンディング処理では、スティッチング装置10は、第1補正画像CG1~第5補正画像CG5を相互に繋ぎ合わせることによって合成画像SGを生成する。
 説明を図3に戻す。処理装置20は、画像処理装置1Aを制御するプロセッサである。処理装置20は、例えば、1又は2以上のチップによって構成される。処理装置20は、例えば、周辺装置とのインターフェース、及び中央処理装置(CPU:Central Processing Unit)によって構成される。中央処理装置は、演算装置及びレジスタ等を含む。処理装置20が有する機能の一部又は全部は、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアによって実現されてもよい。処理装置20は、各種の処理を並列的又は逐次的に実行する。
 記憶装置50は、処理装置20が読取可能な記録媒体である。記憶装置50は、複数のプログラム及び各種のデータを記憶する。複数のプログラムは、処理装置20が実行する制御プログラムPR1を含む。各種のデータは、第1学習済みモデル群M1を定める複数の係数K11、第2学習済みモデル群M2を定める複数の係数K12、及びカテゴリ学習済みモデルMCを定める複数の係数K1Cを含む。各種のデータは、処理装置20等によって使用される。
 本実施形態では、処理装置20は、カテゴリ学習済みモデルMCを用いることによって、画像の内容の種別に関する複数のカテゴリの中から、合成画像SGの内容の種別に応じたカテゴリを特定する。複数のカテゴリは、例えば、スポーツ、風景、及び人物などを含む。
 カテゴリ学習済みモデルMCは、複数の画像と複数のカテゴリとの関係を、カテゴリ教師データTCを用いた機械学習によって学習済みである。カテゴリ学習済みモデルMCの学習結果は、カテゴリ学習済みモデルMCを定める複数の係数K1Cに反映され、複数の係数K1Cが記憶装置50に記憶される。カテゴリ教師データTCは、カテゴリ入力データTCaとカテゴリラベルデータTCbとの組を含む。カテゴリ入力データTCaは、画像データである。カテゴリラベルデータTCbは、カテゴリ入力データTCaである画像データが示す画像のカテゴリを示す。カテゴリ学習済みモデルMCは、互いに異なる複数のカテゴリ教師データTC、すなわち、カテゴリ教師データセットを学習済みである。カテゴリ学習済みモデルMCは、第4学習済みモデルの一例である。カテゴリ学習済みモデルMCは、画像処理装置1Aが運用される運用フェーズにおいて、合成画像SGの内容の種別に対応するカテゴリを判別するために使用される。カテゴリ学習済みモデルMCに画像データが入力されると、カテゴリ学習済みモデルMCは、画像データが示す画像のカテゴリを示すカテゴリデータを出力する。
 第1学習済みモデル群M1は、複数のカテゴリと1対1に対応する複数の第1学習済みモデルによって構成される。複数の第1学習済みモデルの各々は、対応するカテゴリに属する画像を構成する複数の画像の繋ぎ合わせが適切であるか否かを、第1教師データT1を用いた機械学習によって学習済みである。複数の第1学習済みモデルの各々が機械学習によって設定した複数の係数の集合が「第1学習済みモデル群M1を定める複数の係数K11」に相当する。第1教師データT1は、第1入力データT1aと第1ラベルデータT1bとの組を含む。第1入力データT1aは、複数の画像が相互に繋ぎ合わされている複合画像を示す複合画像データである。第1ラベルデータT1bは、第1入力データT1aが示す複合画像において複数の画像の繋ぎ合わせが適切であるかを示す。第1教師データT1は、第1入力データT1aが示す複合画像の内容の種別に基づいて、複数のカテゴリのいずれかに分類される。複数の第1学習済みモデルの各々は、対応するカテゴリに属する互いに異なる複数の第1教師データT1、すなわち、第1教師データセットを、学習フェーズにおいて学習済みである。運用フェーズにおいては、第1学習済みモデルに複合画像データが入力されると、第1学習済みモデルは、複合画像データが示す複合画像において複数の画像の繋ぎ合わせが適切であるか否かを示すデータを出力する。
 第1教師データT1のカテゴリを特定する処理は、カテゴリ学習済みモデルMCを用いて実行されることが好ましい。第1教師データT1のカテゴリを特定するためにカテゴリ学習済みモデルMCが用いられる場合、処理装置20は、学習フェーズにおけるカテゴリの特定手法を、運用フェーズにおけるカテゴリの特定手法と一致させることができる。例えば、複数のカテゴリがスポーツと風景を含み、複数の画像が相互に繋ぎ合わされた連結画像の内容がボートレースである場合を想定する。この場合、連結画像の内容は、ボートレースに加えて風景を含む可能性がある。よって、ボートレースを示す連結画像は、スポーツのカテゴリと風景のカテゴリとのいずれにも該当する可能性がある。第1教師データT1のカテゴリを特定するために、カテゴリ学習済みモデルMCが用いられると、運用フェーズにおいてボートレースを示す合成画像SGに応じて選択される第1学習済みモデルが、ボートレースを示す複合画像を表す第1教師データT1を学習できる。この結果、運用フェーズにおいて、複数の画像の繋ぎ合わせが適切であるか否かを判定する判定処理の精度が向上する。
 第2学習済みモデル群M2は、複数のカテゴリと1対1に対応する複数の第2学習済みモデルによって構成される。複数の第2学習済みモデルの各々は、対応するカテゴリに属する画像を生成するために使用される第1画像補正データを、第2教師データT2を用いた機械学習によって学習済みである。第1画像補正データは、相互に繋ぎ合わせられる複数の補正画像の元になる複数の画像(元画像)を、繋ぎ合わせに適した複数の補正画像に補正するための補正処理において使用される。複数の第2学習済みモデルの各々が機械学習によって設定した複数の係数の集合が「第2学習済みモデル群M2を定める複数の係数K12」に相当する。第2教師データT2は、第2入力データT2aと第2ラベルデータT2bとの組を含む。第2入力データT2aは、複数の画像データである。当該複数の画像データは、複数の元画像を示す。第2ラベルデータT2bは、第1画像補正データ(補正データ)である。第2学習済みモデルに複数の画像データが入力されると、第2学習済みモデルは、第1画像補正データ(例えば、第2補正データ)を出力する。第2教師データT2は、第1画像補正データを用いたスティッチング処理によって生成される画像の内容の種別に基づいて、複数のカテゴリのいずれかに分類される。複数の第2学習済みモデルの各々は、対応するカテゴリに属する互いに異なる複数の第2教師データT2、すなわち、第2教師データセットを、学習フェーズにおいて学習済みである。第2教師データT2のカテゴリを特定する処理は、カテゴリ学習済みモデルMCを用いて実行されることが好ましい。
 複数の第1学習済みモデルの各々、複数の第2学習済みモデルの各々、及びカテゴリ学習済みモデルMCは、例えば、SVM(support vector machine)によって構成される。
 記憶装置50は、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)、フラッシュメモリ等の少なくとも1つによって構成される。記憶装置50は、レジスタ、キャッシュ、メインメモリ(主記憶装置)等と呼ばれてもよい。
 処理装置20は、記憶装置50から制御プログラムPR1を読み出す。処理装置20は、制御プログラムPR1を実行することによって、特定部21、判定部22、第2補正データ生成部23、及び画像更新部24として機能する。制御プログラムPR1は、ネットワークを介して他の装置から画像処理装置1Aに送信されてもよい。この場合、画像処理装置1Aは、ネットワークを介して外部装置と通信可能な通信装置を備える。
 特定部21は、画像の内容の種別に関する複数のカテゴリの中から、合成画像SGの内容の種別に応じたカテゴリを特定する。特定部21は、カテゴリ学習済みモデルMCを含む。特定部21は、複数の係数K1Cを適用したカテゴリ学習済みモデルMCを用いて、複数のカテゴリの中から合成画像SGの種別に応じたカテゴリを特定する。特定部21は、特定したカテゴリを示すカテゴリデータを生成する。特定部21は、カテゴリ学習済みモデルMCを用いることによって、合成画像SGのカテゴリを自動的に推定できる。
 判定部22は、第1学習済みモデル群M1を含む。判定部22は、第1学習済みモデル群M1の中から、特定部21が特定したカテゴリに対応する一の第1学習済みモデルを選択する。判定部22は、複数の係数K11のうち当該一の第1学習済みモデルに対応する係数K11を適用した第1学習済みモデルを用いて、合成画像SGにおける複数の補正画像の相互の繋ぎ合わせが適切であるか否かを判定する。例えば、判定部22は、カテゴリデータに基づいて、第1学習済みモデル群M1の中から合成画像SGのカテゴリに応じた第1学習済みモデル(以下「対応第1学習済みモデル」と称する)を選択する。判定部22は、対応第1学習済みモデルに、合成画像SGを示す合成画像データを入力する。判定部22は、合成画像データが入力された対応第1学習済みモデルから、繋ぎ合わせが適切であるか否かを示すデータを取得する。
 第2補正データ生成部23は、第2学習済みモデル群M2を含む。第2補正データ生成部23は、第2学習済みモデル群M2の中から、特定部21の特定したカテゴリに応じた一の第2学習済みモデルを選択する。第2補正データ生成部23は、複数の係数K12のうち当該一の第2学習済みモデルに対応する係数K12を適用した第2学習済みモデルを用いて、複数の入力画像に応じた第2補正データを生成する。例えば、第2補正データ生成部23は、カテゴリデータに基づいて第2学習済みモデル群M2の中から合成画像SGのカテゴリに応じた第2学習済みモデル(以下「対応第2学習済みモデル」と称する)を選択する。第2補正データ生成部23は、対応第2学習済みモデルに第1画像データSD1~第5画像データSD5を入力する。第2補正データ生成部23は、第1画像データSD1~第5画像データSD5が入力された対応第2学習済みモデルから、第2補正データを取得する。
 画像更新部24は、第1補正データをスティッチング装置10に供給する。画像更新部24は、第1撮像装置C1~第5撮像装置C5の各々から取得した撮像に関するデータに基づいて第1補正データを生成してもよい。撮像に関するデータは、例えば、撮像装置の性能を示すデータ又はレンズの性能を示すデータである。画像更新部24は、第1撮像装置C1~第5撮像装置C5を用いてキャリブレーションに用いる画像を撮像することによって得た第1画像データSD1~第5画像データSD5に基づいて、第1補正データを生成してもよい。
 判定部22の判定結果が肯定である場合、画像更新部24は、スティッチング装置10によって生成された合成画像SGを示す合成画像データを出力画像データDoutとして出力インターフェース40を介して外部に出力する。
 一方、判定部22の判定結果が否定である場合、画像更新部24は、第2補正データ生成部23によって生成された第2補正データをスティッチング装置10に供給することによって、第2補正データに基づいてスティッチング装置10に合成画像SGを更新させる。画像更新部24は、更新された合成画像SG(更新合成画像)を示す合成画像データを出力画像データDoutとして出力インターフェース40を介して外部に出力する。
[1-2.画像処理装置1Aの動作]
 次に、画像処理装置1Aの動作を説明する。図6は、画像処理装置1Aの動作の一例を示すフローチャートである。
 ステップS1において、処理装置20は、画像更新部24として機能することによって、第1補正データをスティッチング装置10に出力する。第1補正データは、第1回目のスティッチング処理に用いられる。従って、第1補正データは初期値である。この結果、スティッチング装置10は、第1補正データを用いて第1入力画像~第5入力画像を補正することによって、第1補正画像~第5補正画像を生成する。スティッチング装置10は、第1補正画像~第5補正画像を相互に繋ぎ合わせた合成画像SGを生成する。
 ステップS2において、処理装置20は、特定部21として機能することによって、複数のカテゴリの中から、合成画像データの示す合成画像SGの内容の種別に応じたカテゴリを特定する。ステップS2において、特定部21は、第1補正データを用いて生成された合成画像データをカテゴリ学習済みモデルMCに入力する。続いて、特定部21は、カテゴリ学習済みモデルMCが出力するデータに基づいて、合成画像SGのカテゴリを特定する。続いて、特定部21は、特定結果を示すカテゴリデータを生成する。
 ステップS3において、処理装置20は、判定部22として機能する。判定部22は、カテゴリデータを基に、第1学習済みモデル群M1の中から特定部21によって特定されたカテゴリに対応する第1学習済みモデル(対応第1学習済みモデル)を選択する。ステップS4において、処理装置20は、判定部22として機能することによって、選択された第1学習済みモデル(対応第1学習済みモデル)を用いて、合成画像SGにおける複数の補正画像の繋ぎ合わせが適切か否かを判定する。
 ステップS4の判定結果が否定である場合、処理装置20は、第2補正データ生成部23として機能する。第2補正データ生成部23は、カテゴリデータを基に、第2学習済みモデル群M2の中から、特定部21によって特定されたカテゴリに対応する第2学習済みモデル(対応第2学習済みモデル)を選択する(ステップS5)。
 ステップS6において、処理装置20は、第2補正データ生成部23として機能することによって、選択された第2学習済みモデル(対応第2学習済みモデル)を用いて、複数の入力画像に応じた第2補正データを生成する。
 ステップS7において、処理装置20は、画像更新部24として機能することによって、第2補正データをスティッチング装置10に出力する。スティッチング装置10は、第2補正データを基に合成画像SGを更新する。スティッチング装置10は、更新された合成画像SGを示す合成画像データを生成する。
 ステップS8において、処理装置20は、画像更新部24として機能することによって、更新された合成画像SGを示す合成画像データを出力画像データDoutとして出力する。
 ステップS4の判定結果が肯定である場合、処理装置20は、画像更新部24として機能することによって、第1補正データを基にスティッチング装置10によって生成された合成画像データを出力画像データDoutとして出力する。
 以上説明したように本実施形態によれば、画像処理装置1Aは、スティッチング装置10と、特定部21と、判定部22と、第2補正データ生成部23と、画像更新部24とを備える。
 スティッチング装置10は、複数の入力画像を第1補正データに応じて補正することによって複数の補正画像を生成し、複数の補正画像を相互に繋ぎ合わせることによって合成画像SGを生成する。
 特定部21は、画像の内容の種別に関する複数のカテゴリの中から、合成画像SGの内容の種別に応じたカテゴリを特定する。
 判定部22は、複数のカテゴリと1対1に対応する複数の第1学習済みモデルであって画像における複数の画像の繋ぎ合わせが適切であるか否かを学習した複数の第1学習済みモデルの中から、特定部21の特定したカテゴリに応じた一の第1学習済みモデルを選択する。判定部22は、当該一の第1学習済みモデルを用いて、合成画像SGにおける複数の補正画像の繋ぎ合わせが適切であるか否かを判定する。
 第2補正データ生成部23は、複数のカテゴリと1対1に対応する複数の第2学習済みモデルであって複数の元画僧と補正データとの関係を学習した複数の第2学習済みモデルの中から、特定部21が特定したカテゴリに応じた一の第2学習済みモデルを選択する。第2補正データ生成部23は、当該一の第2学習済みモデルに複数の入力画像を入力することによって、第2補正データを生成する。
 画像更新部24は、判定部22の判定結果が肯定である場合、合成画像SGを出力し、判定部22の判定結果が否定である場合、第2補正データに基づいてスティッチング装置10に合成画像SGを更新させることによって更新合成画像を生成させ、更新合成画像を出力する。
 例えば、スポーツのカテゴリの合成画像SG1を生成するために用いられるスティッチング処理が、風景のカテゴリの合成画像SG2の生成するために用いられるスティッチング処理と共通であるとする。この場合、スポーツのカテゴリの合成画像SG1における複数の画像の継ぎ目の目立ち方は、風景のカテゴリの合成画像SG2における複数の画像の継ぎ目の目立ち方と異なる。画像処理装置1Aは、複数のカテゴリと1対1に対応する複数の第1学習済みモデルの中から、合成画像SGのカテゴリに対応する第1学習済みモデルを選択する。従って、画像処理装置1Aは、カテゴリごとに、合成画像SGにおける複数の補正画像の繋ぎ合わせが適切であるかを判断できる。
 画像処理装置1Aは、複数のカテゴリと1対1に対応する複数の第2学習済みモデルの中から、合成画像SGのカテゴリに対応する第2の学習済みモデルを選択する。従って、画像処理装置1Aは、カテゴリごとに、第2補正データを生成できる。この結果、第1回目のスティッチング処理によって生成される合成画像SGにおいて複数の補正画像の繋ぎ合わせが適切でなかった場合に、画像処理装置1Aは、合成画像SGのカテゴリに基づいて合成画像SGを更新できる。よって、出力画像データDoutの品質が向上する。
[2.第2実施形態]
 第2実施形態に係る画像処理システムは、画像処理装置1Aの替わりに画像処理装置1Bを備える。
[2-1.画像処理装置1Bの構成]
 図7は、画像処理装置1Bの構成例を示すブロック図である。画像処理装置1Bは、制御プログラムPR1の替わりに制御プログラムPR2が記憶装置50に記憶される点、及び第3学習済みモデル群M3を定める複数の係数K13が記憶装置50に記憶される点において、画像処理装置1Aと相違する。加えて、画像処理装置1Bは、処理装置20が制御プログラムPR2を記憶装置50から読み出して実行する点において、画像処理装置1Aと相違する。さらに、画像処理装置1Bは、処理装置20が画像更新部24の替わりに画像更新部24xとして機能する点、処理装置20が第3補正データ生成部25として機能する点、及び処理装置20が選択部26として機能する点において、画像処理装置1Aと相違する。
 以下、相違点を中心に、画像処理装置1Bの構成について説明する。第3学習済みモデル群M3は、複数のカテゴリと1対1に対応する複数の第3学習済みモデルによって構成される。複数の第3学習済みモデルの各々は、第2画像補正データと、第2画像補正データを用いる補正処理によって生成される複数の画像の相互の繋ぎ合わせの適切度を示す評価値と、の関係を、第3教師データT3を用いた機械学習によって学習済みである。複数の第3学習済みモデルの各々が機械学習によって設定した複数の係数の集合が「第3学習済みモデル群M3を定める複数の係数K13」に相当する。第3教師データT3は、第3入力データT3aと第3ラベルデータT3bとの組を含む。第3入力データT3aは、相互に繋ぎ合わせられる複数の補正画像の元になる複数の画像(元画像)と、第2画像補正データ(補正データ)と、の組である。第2画像補正データは、複数の元画像を繋ぎ合わせに適した複数の補正画像に補正するための補正処理において使用される。第3ラベルデータT3bは、第2画像補正データに対する評価値を示す。この評価値は、複数の補正画像の繋ぎ合わせの適切度を示す。第3学習済みモデルに、複数の元画像(例えば、複数の入力画像)と第2画像補正データ(例えば、後述の第3補正データ)が入力されると、第3学習済みモデルは、評価値を出力する。第3教師データT3は、第2画像補正データを用いたスティッチング処理によって生成される画像の内容の種別に基づいて、複数のカテゴリのいずれかに分類される。複数の第3学習済みモデルの各々は、対応するカテゴリに属する互いに異なる複数の第3教師データT3、すなわち、第3教師データセットを、学習フェーズにおいて学習済みである。第3教師データT3のカテゴリを特定する処理は、カテゴリ学習済みモデルMCを用いて実行されることが好ましい。
 複数の第3学習済みモデルの各々は、例えば、人工ニューラルネットワークによって構成される。複数の第3学習済みモデルの各々は、例えば、SVMによって構成されてもよい。図8は、第3学習済みモデルの構成例を示す模式図である。第3学習済みモデル100は、入力層110、中間層120、及び出力層130を備える。この例では、図4に示されるように合成画像SGは、5個の繋ぎ目X12、X23、X34、X45及びX51を有する。なお、継ぎ目の数は5に限らない。繋ぎ目X12は、第1補正画像CG1と第2補正画像CG2との境界である。繋ぎ目X23は、第2補正画像CG2と第3補正画像CG3との境界である。繋ぎ目X34は、第3補正画像CG3と第4補正画像CG4との境界である。繋ぎ目X45は、第4補正画像CG4と第5補正画像CG5との境界である。繋ぎ目X51は、第5補正画像CG5と第1補正画像CG1との境界である。
 出力層130は、5個の繋ぎ目X12、X23、X34、X45及びX51と1対1に対応する5個の出力ノードN1、N2、N3、N4、及びN5を含む。出力ノードN1は、繋ぎ目X12の適切度を示す個別評価値h1を出力する。出力ノードN2は、繋ぎ目X23の適切度を示す個別評価値h2を出力する。出力ノードN3は、繋ぎ目X34の適切度を示す個別評価値h3を出力する。出力ノードN4は、繋ぎ目X45の適切度を示す個別評価値h4を出力する。出力ノードN5は、繋ぎ目X51の適切度を示す個別評価値h5を出力する。出力層130は、5個の繋ぎ目X12、X23、X34、X45及びX51と1対1に対応する5つの係数k1~k5を保持する。出力層130は、個別評価値h1~h5に係数k1~k5をそれぞれ乗算する。例えば、出力層130は、複数の継ぎ目の各々について当該継ぎ目に対応する個別評価値を当該継ぎ目に対応する係数と乗算することによって、複数の乗算結果を生成する。出力層130は、複数の乗算結果の合計を示す評価値Hを生成する。
 第3補正データ生成部25は、第2補正データに基づいて、複数の第3補正データを生成する。例えば、第3補正データ生成部25は、相互に異なる複数の乱数値の各々に、第2補正データを加算することによって、複数の第3補正データを生成する。上述したように第2補正データは、複数のパラメータを含む。複数の乱数値の各々に、第2補正データを加算するとは、複数の乱数値の各々に、第2補正データが有する複数のパラメータの各々に加算することを意味する。乱数値は負の値をとり得る。
 第3補正データ生成部25は、相互に異なる複数の所定値の各々に、第2補正データを加算することによって、複数の第3補正データを生成してもよい。
 第3補正データ生成部25は、複数の乱数値の最小値から複数の乱数値の最大値までの範囲を、第1撮像装置C1から第5撮像装置C5までの種別、及び、第1レンズL1から第5レンズL5までの種別のうち、少なくとも一方に基づいて定めてもよい。第3補正データ生成部25は、複数の所定値の最小値から複数の所定値の最大値までの範囲を、第1撮像装置C1から第5撮像装置C5までの種別、及び、第1レンズL1から第5レンズL5までの種別のうち、少なくとも一方に基づいて定めてもよい。これらの場合、第3補正データ生成部25は、複数の第3補正データを、第1撮像装置C1から第5撮像装置C5までの種別、及び、第1レンズL1から第5レンズL5までの種別のうち、少なくとも一方に基づいて生成する。第2補正データは、合成画像SGにおいて複数の補正画像の相互の繋ぎ合わせを適切にするためのパラメータセットである。従って、第3補正データが第2補正データから大きくずれると、スティッチング処理が失敗となる可能性が高くなる。複数の第3補正データが第2補正データから所定の範囲内に収まる場合、合成画像SGの品質が低下することを抑制できる。
 選択部26は、第3学習済みモデル群M3を含む。選択部26は、第3学習済みモデル群M3の中から、特定部21が特定したカテゴリに対応する一の第3学習済みモデルを選択する。選択部26は、複数の係数K13のうち当該一の第3学習済みモデルに対応する係数K13を適用した第3学習済みモデルを用いて、複数の第3補正データと1対1に対応する複数の評価値を取得する。例えば、選択部26は、当該一の第3学習済みモデルに、複数の第3補正データの各々を、複数の入力画像(第1入力画像~第5入力画像)とともに入力することによって、複数の第3補正データと1対1に対応する複数の評価値を取得する。選択部26は、複数の第3補正データの中から、複数の評価値のうち最大の評価値に対応する一の第3補正データを選択する。
 画像更新部24xは、判定部22の判定結果が否定である場合、選択部26によって選択された一の第3補正データに基づいて、スティッチング装置10に合成画像SGを更新させる。画像更新部24xは、更新された合成画像SGを示す合成画像データを出力画像データDoutとして出力する。
[2-2.画像処理装置1Bの動作]
 次に、画像処理装置1Bの動作を説明する。画像処理装置1Bの動作は、ステップ7の替わりに、処理装置20が更新処理を実行する点を除いて、図6に示される画像処理装置1Aのフローチャートと同じである。
 図9は、更新処理の内容を示すフローチャートである。ステップS71において、処理装置20は、第3補正データ生成部25として機能する。第3補正データ生成部25は、第2補正データに基づいて、複数の第3補正データを生成する。例えば、第2補正データがパラメータP11を含み、3個の第3補正データを生成する場合を想定する。第3補正データ生成部25は、乱数値RDN1、RDN2、及びRDN3を生成する。第3補正データ生成部25は、乱数値RDN1にパラメータP11を加算することによってパラメータP111を生成する。第3補正データ生成部25は、乱数値RDN2にパラメータP11を加算することによってパラメータP112を生成する。第3補正データ生成部25は、乱数値RDN3にパラメータP11を加算することによってパラメータP113を生成する。第3補正データ生成部25は、パラメータP111を含む第3補正データ、パラメータP112を含む第3補正データ、及びパラメータP113を含む第3補正データを生成する。
 ステップS72からステップS77では、処理装置20は、選択部26として機能する。まず、選択部26は、第3学習済みモデル群M3の中からステップS2において特定されたカテゴリに対応する第3学習済みモデル(以下「対応第3学習済みモデル」と称する)を選択する(ステップS72)。
 次に、選択部26は、複数の第3補正データの中から未選択の第3補正データを特定する(ステップS73)。続いて、選択部26は、対応第3学習済みモデルを用いて、特定された第3補正データに対応する評価値を取得する。例えば、選択部26は、まず、複数の入力画像と第3補正データとを対応第3学習済みモデルに入力する。続いて、選択部26は、複数の入力画像と第3補正データとが入力された対応第3学習済みモデルが出力するデータに基づいて評価値を生成する。
 次に、選択部26は、未選択の第3補正データが有るかを判定する(ステップS75)。ステップS75における判定結果が肯定である場合、選択部26は、処理をステップS73に戻す。一方、ステップS75における判定結果が否定である場合、複数の第3補正データと1対1に対応する複数の評価値が生成されている。このため、選択部26は、複数の評価値の中から最大の評価値を特定する(ステップS76)。
 次に、選択部26は、複数の第3補正データの中から、最大の評価値に対応する第3補正データ(以下「対応第3補正データ」と称する)を特定する(ステップS77)。
 ステップS78において、処理装置20は、画像更新部24Xとして機能する。画像更新部24Xは、ステップS77において特定された第3補正データ(対応第3補正データ)をスティッチング装置10に出力する。この結果、処理装置20は、スティッチング装置10に、最大の評価値を得た第3補正データに基づいて、合成画像SGを更新させることができる。
 以上説明したように、画像処理装置1Bは、第3補正データ生成部25と、選択部26と、画像更新部24xと、を含む。第3補正データ生成部25は、第2補正データに基づいて、複数の第3補正データを生成する。選択部26は、複数のカテゴリと1対1に対応する複数の第3学習済みモデルであって、複数の元画像と補正データとの組と、当該組内の補正データを用いる当該組内の複数の元画像に対する補正によって生成される複数の補正画像の相互の繋ぎ合わせの適切度を示す評価値と、の関係を学習した複数の第3学習済みモデルの中から、特定部21が特定したカテゴリに応じた一の第3学習済みモデルを選択する。選択部26は、当該一の第3学習済みモデルに、複数の第3補正データの各々を、複数の入力画像とともに入力することによって、複数の第3補正データと1対1に対応する複数の評価値を取得する。選択部26は、複数の第3補正データの中から、複数の評価値のうち最大の評価値に対応する一の第3補正データを選択する。画像更新部24xは、判定部22の判定結果が否定である場合、一の第3補正データに基づいてスティッチング装置10に合成画像SGを更新させ、更新された合成画像SGを示す合成画像データを出力画像データDoutとして出力する。
 即ち、画像処理装置1Bは、一つの第2補正データを基に複数の第3補正データを生成する。画像処理装置1Bは、複数の第3補正データの中から、合成画像SGにおける複数の補正画像の繋ぎ合わせについての適切度を示す評価値が最大である第3補正データ(対応第3補正データ)を特定する。画像処理装置1Bは、特定された第3補正データ(対応第3補正データ)を用いてスティッチング処理を実行することによって、合成画像SGを更新できる。この結果、評価値が最大である第3補正データを用いてスティッチング処理を実行しない構成と比較して、画像処理装置1Bは、複数の補正画像が相互に適切に繋ぎ合わされた合成画像SGを生成できる。
 また、第3補正データ生成部25は、互いに異なる複数の乱数値の各々に第2補正データを加算することによって、複数の第3補正データを生成する。このため、第2補正データを基に生成された相互に異なる複数の第3補正データの各々について、画像処理装置1Bは、第3補正データを用いて生成される複数の補正画像の繋ぎ合わせの適切度を評価できる。この結果、スティッチング処理の精度が向上する。
[3.変形例]
 本発明は、以上に例示した実施形態に限定されない。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を併合してもよい。
[第1変形例]
 上述した第2実施形態において、図8を参照して説明したように、複数の第3学習済みモデルの各々は、入力層110、中間層120、及び出力層130を有する人工ニューラルネットワークである。出力層130は、複数の補正画像の繋ぎ目と1対1に対応する複数の出力ノードN1~N5を有する。複数の出力ノードN1~N5は、それぞれ、対応する繋ぎ目の適切度を示す個別評価値h1~h5を出力する。出力層130は、複数の個別評価値h1~h5に1対1に対応する複数の係数k1~k5を有する。出力層130は、複数の個別評価値h1~h5の各々に、複数の係数k1~k5のうち対応する係数を乗算する。出力層130は、複数の乗算結果を合計することによって評価値Hを出力する。
 処理装置20は、複数の係数k1~k5を、ユーザが指定する複数の繋ぎ目の重要度に応じて調整してもよい。例えば、図4に示す合成画像SGにおいて繋ぎ目X34の重要度が、繋ぎ目X51の重要度よりも高い場合、繋ぎ目X34に対応する係数k3を大きくし、繋ぎ目X51に対応する係数k5を小さくしてもよい。360度の合成画像SGであっても、利用者が着目すると予測される領域の重要度は、他の領域の重要度よりも高い。このように合成画像SGの中に重要度が高い領域と重要度が低い領域がある場合、重要度が高い領域では補正画像の繋ぎ合わせに高い精度が要求される一方、重要度が低い領域では補正画像の繋ぎ合わせに高い精度は要求されない。そこで、処理装置20は、ユーザが指定する複数の繋ぎ目の重要度に応じて複数の係数k1~k5を調整する。この場合、処理装置20は、重要度の低い領域における繋ぎ合わせの精度よりも、重要度の高い領域における繋ぎ合わせの精度を高くできる。
[第2変形例]
 上述した各実施形態において、第1学習済みモデル群M1を定める複数の係数K11、第2学習済みモデル群M2を定める複数の係数K12、第3学習済みモデル群M3を定める複数の係数K13、及びカテゴリ学習済みモデルMCを定める複数の係数K1Cは、記憶装置50に記憶される。しかしながら、これらが外部装置に記憶されてもよい。この場合、画像処理装置1A又は1Bは、通信網を介して外部装置と通信可能な通信装置を備える。画像処理装置1A又は1Bは、通信装置を介して外部装置から、第1学習済みモデル群M1を定める複数の係数K11、第2学習済みモデル群M2を定める複数の係数K12、第3学習済みモデル群M3を定める複数の係数K13、及びカテゴリ学習済みモデルMCを定める複数の係数K1Cを取得する。
[第3変形例]
 上述した第1実施形態において、画像処理装置1Aは、合成画像SGの内容の種別に応じたカテゴリを特定する特定部21を備えたが、本開示はこれに限定されない。図10は第3変形例に係る画像処理装置1Cの構成を示すブロック図である。
 画像処理装置1Cは、以下の点において、図3に示す第1実施形態の画像処理装置1Aと相違する。特定部21及びカテゴリ学習済みモデルMCが備えられない点。制御プログラムPR1の替わりに制御プログラムPR3が用いられる点。第1学習済みモデル群M1の替わりに第1学習済みモデルm1が用いられる点。第1学習済みモデル群M1を定める複数の係数K11の替わりに第1学習済みモデルm1を定める複数の係数K11aが記憶装置50に記憶される点。第2学習済みモデル群M2の替わりに第2学習済みモデルm2が用いられる点。第2学習済みモデル群M2を定める複数の係数K12の替わりに第2学習済みモデルm2を定める複数の係数K12aが記憶装置50に記憶される点。判定部22の替わりに判定部22xが用いられる点。第2補正データ生成部23の替わりに第2補正データ生成部23xが用いられる点。
 第1学習済みモデルm1は、画像において複数の画像の繋ぎ合わせが適切であるか否かを、第4教師データT4を用いた機械学習によって学習済みである。第1学習済みモデルm1の学習結果は、第1学習済みモデルm1を定める複数の係数K11aに反映される。第4教師データT4は、第4入力データT4aと第4ラベルデータT4bとの組を含む。第4入力データT4aは、複数の画像が繋ぎ合わされている複合画像を示す複合画像データである。第4ラベルデータT4bは、第4入力データT4aが示す複合画像において複数の画像の繋ぎ合わせが適切であるかを示す。第1学習済みモデルm1は、互いに異なる複数の第4教師データT4、すなわち、第4教師データセットを、学習フェーズにおいて学習済みである。第4教師データT4のカテゴリは問わない。従って、第1学習済みモデルm1は全てのカテゴリに対応する。このため、第4教師データT4の数は、上述した第1学習済みモデル群M1内の1つの第1学習済みモデルに必要な第1教師データT1の数よりも多い。
 第2学習済みモデルm2は、第3画像補正データを、第5教師データT5を用いた機械学習によって学習済みである。第3画像補正データは、相互に繋ぎ合わせられる複数の補正画像の元になる複数の画像(元画像)を、繋ぎ合わせに適した複数の補正画像に補正するための補正処理において使用される。第2学習済みモデルm2の学習結果は、第2学習済みモデルm2を定める複数の係数K12aに反映される。第5教師データT5は、第5入力データT5aと第5ラベルデータT5bとの組を含む。第5入力データT5aは、複数の画像データである。当該複数の画像データは、複数の元画像を示す。第5ラベルデータT5bは、第3画像補正データ(補正データ)である。第2学習済みモデルm2に複数の画像データが入力されると、第2学習済みモデルm2は、第3画像補正データ(例えば、第2補正データ)を出力する。第2学習済みモデルm2は、互いに異なる複数の第5教師データT5、すなわち、第5教師データセットを、学習フェーズにおいて学習済みである。第5教師データT5のカテゴリは問わない。従って、第2学習済みモデルm2は全てのカテゴリに対応する。このため、第5教師データT5の数は、上述した第2学習済みモデル群M2内の1つの第2学習済みモデルに必要な第2教師データT2の数よりも多い。
 処理装置20は、記憶装置50から、制御プログラムPR3を読み出す。処理装置20は、制御プログラムPR2を実行することによって、判定部22x、第2補正データ生成部23x、及び画像更新部24として機能する。
 判定部22xは、複数の係数K11aを適用した第1学習済みモデルm1を含む。判定部22xは、第1学習済みモデルm1を用いて、合成画像SGにおける複数の補正画像の繋ぎ合わせが適切であるか否かを判定する。判定部22xは、この判定手法を用いる点において、第1学習済みモデル群M1のうち合成画像SGのカテゴリに対応する第1学習済みモデルを用いて、合成画像SGにおける複数の補正画像の繋ぎ合わせが適切であるか否かを判定する判定部22と相違する。
 第2補正データ生成部23xは、複数の係数K12aを適用した第2学習済みモデルm2を含む。第2補正データ生成部23xは、第2学習済みモデルm2を用いて、複数の画像データSD1~SD5に応じた第2補正データを生成する。第2補正データ生成部23xは、この生成手法を用いる点において、第2学習済みモデル群M2のうち合成画像SGのカテゴリに対応する第2学習済みモデルを用いて複数の画像データSD1~SD5に応じた第2補正データを生成する第2補正データ生成部23と相違する。
 画像処理装置1Cによれば、特定部21を不要にできる。画像処理装置1Cは、1個の第1学習済みモデルm1及び1個の第2学習済みモデルm2を用いて、スティッチング処理を実行できるので、構成を簡素化しつつ、自然な合成画像SGを生成できる。
[第4変形例]
 上述した第2実施形態において、画像処理装置1Bは、合成画像SGの内容の種別に応じたカテゴリを特定する特定部21を備えたが、本開示はこれに限定されない。図11は第4変形例に係る画像処理装置1Dの構成を示すブロック図である。
 画像処理装置1Dは、以下の点において、図7に示す第2実施形態の画像処理装置1Bと相違する。特定部21、選択部26及びカテゴリ学習済みモデルMCが備えられない点。制御プログラムPR3の替わりに制御プログラムPR4が用いられる点。第1学習済みモデル群M1の替わりに第1学習済みモデルm1が用いられる点。第1学習済みモデル群M1を定める複数の係数K11の替わりに第1学習済みモデルm1を定める複数の係数K11aが記憶装置50に記憶される点。第2学習済みモデル群M2の替わりに第2学習済みモデルm2が用いられる点。第2学習済みモデル群M2を定める複数の係数K12の替わりに第2学習済みモデルm2を定める複数の係数K12aが記憶装置50に記憶される点。第3学習済みモデル群M3の替わりに第3学習済みモデルm3が用いられる点。第3学習済みモデル群M3を定める複数の係数K13の替わりに第3学習済みモデルm3を定める複数の係数K13aが記憶装置50に記憶される点。判定部22の替わりに判定部22xが用いられる点。第2補正データ生成部23の替わりに第2補正データ生成部23xが用いられる点。選択部26の替わりに選択部26xが用いられる点。
 第1学習済みモデルm1、第2学習済みモデルm2、判定部22x、及び第2補正データ生成部23xは、上述した第3変形例において説明されている。
 第3学習済みモデルm3は、第4画像補正データと、第4画像補正データを用いる補正処理によって生成される複数の画像の相互の繋ぎ合わせの適切度を示す評価値と、の関係を、第6教師データT6を用いた機械学習によって学習済みである。例えば、第3学習済みモデルm3は、複数の元画像と第4画像補正データとの組と、第4画像補正データを用いる複数の元画像に対する補正によって生成される複数の補正画像の相互の繋ぎ合わせの適切度を示す評価値と、の関係を学習済みである。第3学習済みモデルm3の学習結果は、第3学習済みモデルm3を定める複数の係数K13aに反映される。第6教師データT6は、第6入力データT6aと第6ラベルデータT6bとの組を含む。第6入力データT6aは、相互に繋ぎ合わせられる複数の補正画像の元になる複数の画像(元画像)と、第4画像補正データ(補正データ)と、の組である。第4画像補正データは、複数の元画像を繋ぎ合わせに適した複数の補正画像に補正するための補正処理において使用される。第6ラベルデータT6bは、第4画像補正データに対する評価値を示す。この評価値は、複数の補正画像の繋ぎ合わせの適切度を示す。第3学習済みモデルm3に、複数の元画像(例えば、複数の入力画像)と第4画像補正データが入力されると、第3学習済みモデルm3は、評価値を出力する。第3学習済みモデルm3は、互いに異なる複数の第6教師データT6、すなわち、第6教師データセットを、学習フェーズにおいて学習済みである。第6教師データT6のカテゴリは問わない。従って、第3学習済みモデルm3は全てのカテゴリに対応する。このため、第6教師データT6の数は、上述した第3学習済みモデル群M3内の1つの第3学習済みモデルに必要な第3教師データT3の数よりも多い。
 処理装置20は、記憶装置50から制御プログラムPR4を読み出す。処理装置20は、制御プログラムPR4を実行することによって、判定部22x、第2補正データ生成部23x、画像更新部24x、第3補正データ生成部25、及び選択部26xとして機能する。
 選択部26xは、複数の係数K13aを適用した第3学習済みモデルm3を含む。選択部26xは、第3学習済みモデルm3を用いて、複数の第3補正データと1対1に対応する複数の評価値を取得する。選択部26xは、この取得手法を用いる点において、第3学習済みモデル群M3のうち合成画像SGのカテゴリに対応する第3学習済みモデルを用いて複数の第3補正データと1対1に対応する複数の評価値を取得する選択部26と相違する。
 第3補正データ生成部25は、第2補正データに基づいて、複数の第3補正データを生成する。選択部26xは、複数の元画像と補正データとの組と、評価値と、の関係を学習した第3学習済みモデルm3に、複数の第3補正データの各々を、複数の入力画像とともに入力することによって、複数の第3補正データと1対1に対応する複数の評価値を取得する。選択部26xは、複数の第3補正データの中から、取得された複数の評価値のうち最大の評価値に対応する一の第3補正データを選択する。画像更新部24xは、判定部22xの判定結果が否定である場合、第2補正データの替わりに一の第3補正データに基づいてスティッチング装置10に合成画像SGを更新させる。画像更新部24xは、更新された合成画像SGを示す合成画像データを出力画像データDoutとして出力する。
 画像処理装置1Dによれば、特定部21を省略できる。画像処理装置1Dは、1個の第1学習済みモデルm1、1個の第2学習済みモデルm2、及び1個の第3学習済みモデルm3を用いて、スティッチング処理を実行できるので、構成を簡素化しつつ、自然な合成画像SGを生成できる。
[4.その他]
(1)上述した実施形態において、記憶装置50は、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体を含んでもよい。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
(2)上述した実施形態において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
(4)上述した実施形態において、判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
(6)図3及び図7に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
(7)上述した実施形態で例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有接続線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
(8)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
(9)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
(10)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
(11)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
(12)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
(13)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないことは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
 1A,1B…画像処理装置、10…スティッチング装置、20…処理装置、21…特定部、22…判定部、23…第2補正データ生成部、24,24x…画像更新部、25…第3補正データ生成部、26…選択部、100…第3学習済みモデル、110…入力層、120…中間層、130…出力層、M1…第1学習済みモデル群、M2…第2学習済みモデル群、M3…第3学習済みモデル群、MC…カテゴリ学習済みモデル、m1…第1学習済みモデル、m2…第2学習済みモデル、m3…第3学習済みモデル。

Claims (9)

  1.  複数の入力画像を第1補正データに応じて補正することによって複数の補正画像を生成し、前記複数の補正画像を相互に繋ぎ合わせることによって合成画像を生成する画像合成部と、
     複数の画像が相互に繋ぎ合わされた画像における前記複数の画像の繋ぎ合わせが適切であるか否かを学習した第1学習済みモデルを用いて、前記合成画像における前記複数の補正画像の繋ぎ合わせが適切であるか否かを判定する判定部と、
     相互に適切に繋ぎ合わされる複数の補正画像を生成するための複数の元画像の補正に使用される補正データと、前記複数の元画像と、の関係を学習した第2学習済みモデルに、前記複数の入力画像を入力することによって、第2補正データを生成する第2補正データ生成部と、
     前記判定部の判定結果が肯定である場合、前記合成画像を出力し、前記判定部の判定結果が否定である場合、前記第2補正データに基づいて前記画像合成部に前記合成画像を更新させることによって更新合成画像を生成させ、前記更新合成画像を出力する画像更新部と、
     を備える画像処理装置。
  2.  前記第2補正データに基づいて、複数の第3補正データを生成する第3補正データ生成部と、
     複数の元画像と補正データとの組と、前記組内の補正データを用いる前記組内の複数の元画像に対する補正によって生成される複数の補正画像の相互の繋ぎ合わせの適切度を示す評価値と、の関係を学習した第3学習済みモデルに、前記複数の第3補正データの各々を、前記複数の入力画像とともに入力することによって、前記複数の第3補正データと1対1に対応する複数の評価値を取得し、前記複数の第3補正データの中から、前記複数の評価値のうち最大の評価値に対応する一の第3補正データを選択する選択部とを備え、
     前記画像更新部は、前記判定部の判定結果が否定である場合、前記一の第3補正データに基づいて前記画像合成部に前記更新合成画像を生成させ、前記更新合成画像を出力する、
     請求項1に記載の画像処理装置。
  3.  画像の内容の種別に関する複数のカテゴリの中から、前記合成画像の内容の種別に応じたカテゴリを特定する特定部を備え、
     前記判定部は、前記複数のカテゴリと1対1に対応する複数の第1学習済みモデルであって画像における複数の画像の繋ぎ合わせが適切であるか否かを学習した複数の第1学習済みモデルの中から、前記特定部が特定したカテゴリに応じた一の第1学習済みモデルを選択し、前記一の第1学習済みモデルを用いて、前記合成画像における前記複数の補正画像の繋ぎ合わせが適切であるか否かを判定し、
     前記第2補正データ生成部は、前記複数のカテゴリと1対1に対応する複数の第2学習済みモデルであって前記複数の元画像と前記補正データとの関係を学習した複数の第2学習済みモデルの中から、前記特定部が特定したカテゴリに応じた一の第2学習済みモデルを選択し、前記一の第2学習済みモデルに前記複数の入力画像を入力することによって、前記第2補正データを生成する、
     請求項1に記載の画像処理装置。
  4.  前記第2補正データに基づいて、複数の第3補正データを生成する第3補正データ生成部と、
     前記複数のカテゴリと1対1に対応する複数の第3学習済みモデルであって、複数の元画像と補正データとの組と、前記組内の補正データを用いる前記組内の複数の元画像に対する補正によって生成される複数の補正画像の相互の繋ぎ合わせの適切度を示す評価値と、の関係を学習した複数の第3学習済みモデルの中から、前記特定部が特定したカテゴリに応じた一の第3学習済みモデルを選択し、前記一の第3学習済みモデルに、前記複数の第3補正データの各々を、前記複数の入力画像とともに入力することによって、前記複数の第3補正データと1対1に対応する複数の評価値を取得し、前記複数の第3補正データの中から、前記複数の評価値のうち最大の評価値に対応する一の第3補正データを選択する選択部とを備え、
     前記画像更新部は、前記判定部の判定結果が否定である場合、前記一の第3補正データに基づいて前記画像合成部に前記更新合成画像を生成させ、前記更新合成画像を出力する、
    請求項3に記載の画像処理装置。
  5.  前記第3補正データ生成部は、互いに異なる複数の乱数値に前記第2補正データを加算することによって、前記複数の第3補正データを生成する請求項2又は4に記載の画像処理装置。
  6.  前記複数の入力画像は互いに異なる複数の撮像装置によって生成され、
     前記画像更新部は、前記複数の撮像装置から取得した撮像に関するデータに基づいて前記第1補正データを生成する、
     請求項1から5までのうちいずれか1項に記載の画像処理装置。
  7.  前記複数の入力画像は互いに異なる複数の撮像装置によって生成され、
     前記第3補正データ生成部は、前記複数の撮像装置の種別、及び前記複数の撮像装置の各々で用いられるレンズの種別のうち、少なくとも一方に基づいて、前記複数の第3補正データを生成する、
     請求項2、4又は5に記載の画像処理装置。
  8.  前記第3学習済みモデルは、入力層、中間層、及び出力層を有する人工ニューラルネットワークであり、
     前記補正によって生成される複数の補正画像を繋ぎ合わせることによって生成される画像は、複数の繋ぎ目を有し、
     前記出力層は、前記複数の繋ぎ目と1対1に対応する複数の出力ノードを有し、
     前記複数の出力ノードは、前記複数の繋ぎ目と1対1に対応する複数の個別評価値を出力し、
     前記複数の個別評価値の各々は、対応する継ぎ目の適切度を示し、
     前記出力層は、
     前記複数の繋ぎ目と1対1に対応する複数の係数を保持し、
     前記複数の継ぎ目の各々について当該継ぎ目に対応する個別評価値を当該継ぎ目に対応する係数と乗算することによって、複数の乗算結果を生成し、
     前記複数の乗算結果を合計することによって前記評価値を出力し、
     前記複数の係数は、ユーザが指定する前記複数の繋ぎ目の重要度に応じて調整される、
     請求項2、4、5、又は7に記載の画像処理装置。
  9.  前記特定部は、複数の画像と前記複数のカテゴリとの関係を学習した第4学習済みモデルを用いて、前記複数のカテゴリの中から前記合成画像の種別に応じたカテゴリを特定する、
     請求項3、4又は8に記載の画像処理装置。
PCT/JP2020/019459 2019-05-15 2020-05-15 画像処理装置 WO2020230891A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/600,261 US20220180491A1 (en) 2019-05-15 2020-05-15 Image processing apparatus
JP2021519503A JP7165820B2 (ja) 2019-05-15 2020-05-15 画像処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019091897 2019-05-15
JP2019-091897 2019-05-15

Publications (1)

Publication Number Publication Date
WO2020230891A1 true WO2020230891A1 (ja) 2020-11-19

Family

ID=73288889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/019459 WO2020230891A1 (ja) 2019-05-15 2020-05-15 画像処理装置

Country Status (3)

Country Link
US (1) US20220180491A1 (ja)
JP (1) JP7165820B2 (ja)
WO (1) WO2020230891A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220351331A1 (en) * 2021-04-30 2022-11-03 International Business Machines Corporation Object stitching image generation
US20230188858A1 (en) * 2021-12-13 2023-06-15 Be More Colorful, LLC Method to Use 360 Degree Cameras

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166264A (ja) * 2010-02-05 2011-08-25 Sony Corp 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
US20180225805A1 (en) * 2017-02-09 2018-08-09 Jaunt Inc. Generating Virtual Reality Content Based on Corrections to Stitching Errors

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5615088B2 (ja) * 2010-08-18 2014-10-29 キヤノン株式会社 画像処理装置及びその方法、プログラム、並びに撮像装置
KR20160115466A (ko) * 2015-03-27 2016-10-06 한국전자통신연구원 파노라믹 비디오를 스티칭하는 장치 및 이를 위한 스티칭 방법
KR20180101165A (ko) * 2016-01-03 2018-09-12 휴먼아이즈 테크놀로지즈 리미티드 파노라마 프레임으로의 프레임 스티칭
US10339627B2 (en) * 2016-10-10 2019-07-02 Gopro, Inc. Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image
US10616482B2 (en) * 2017-03-10 2020-04-07 Gopro, Inc. Image quality assessment
JP6665917B2 (ja) * 2018-11-21 2020-03-13 株式会社リコー 画像処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166264A (ja) * 2010-02-05 2011-08-25 Sony Corp 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
US20180225805A1 (en) * 2017-02-09 2018-08-09 Jaunt Inc. Generating Virtual Reality Content Based on Corrections to Stitching Errors

Also Published As

Publication number Publication date
US20220180491A1 (en) 2022-06-09
JPWO2020230891A1 (ja) 2020-11-19
JP7165820B2 (ja) 2022-11-04

Similar Documents

Publication Publication Date Title
CN110622497B (zh) 具备具有不同焦距的相机的设备及实现相机的方法
JP4630547B2 (ja) 幾何学的歪みに関係するフォーマットされた情報を出力する方法およびシステム
KR100957878B1 (ko) 화상 처리 수단의 업데이트 빈도를 감소시키기 위한 방법및 시스템
WO2020230891A1 (ja) 画像処理装置
Marzotto et al. High resolution video mosaicing with global alignment
CN111932664B (zh) 图像渲染方法、装置、电子设备及存储介质
CN106023070B (zh) 实时全景拼接方法和装置
CN104995905B (zh) 图像处理设备、拍摄控制方法和程序
CN108700798A (zh) 在创建全景帧过程中的帧适应拼接
CN207369210U (zh) 用于立体视觉图像捕获的多层相机装置
CN107113381A (zh) 时空局部变形及接缝查找的容差视频拼接
CN112118435B (zh) 面向异形金属屏幕的多投影融合方法及系统
JPH09322040A (ja) 画像生成装置
JP2008017386A (ja) キー画像生成装置
TWI625051B (zh) 深度感測裝置
JP2012256274A (ja) 画像生成装置、画像生成方法、及びコンピュータプログラム
CN107197134A (zh) 一种用于多个鱼眼镜头的图像的曝光调整方法和装置
CN115941862A (zh) 融合大视场视频与三维场景的方法、装置、设备及介质
JP2020204874A (ja) 画像処理システム、撮像システム、画像処理装置、撮像装置およびプログラム
Li et al. Distortion correction and image registration of ultralarge field of view near-eye display device
JP2021061513A (ja) 装置及び方法、プログラム、記憶媒体
KR101926459B1 (ko) 가상현실 이미지 처리방법 및 그 장치
JP6700539B2 (ja) 映像処理装置、映像処理方法、及び映像処理プログラム
WO2024029371A1 (ja) 情報処理システム、および情報処理システムの作動方法、並びにプログラム
Gerlits et al. Fast Software-Based Real Time Panoramic Image Processing

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021519503

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20805775

Country of ref document: EP

Kind code of ref document: A1