(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-28
(45)【発行日】2023-08-07
(54)【発明の名称】学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230731BHJP
G06N 20/00 20190101ALI20230731BHJP
【FI】
G06T7/00 350C
G06N20/00
(21)【出願番号】P 2021209174
(22)【出願日】2021-12-23
(62)【分割の表示】P 2020079462の分割
【原出願日】2020-04-28
【審査請求日】2022-06-22
(31)【優先権主張番号】P 2019123289
(32)【優先日】2019-07-01
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】398034168
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100085660
【氏名又は名称】鈴木 均
(74)【代理人】
【識別番号】100149892
【氏名又は名称】小川 弥生
(74)【代理人】
【識別番号】100185672
【氏名又は名称】池田 雅人
(72)【発明者】
【氏名】奥野 修二
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2019-095860(JP,A)
【文献】特開2019-016230(JP,A)
【文献】特開2002-281290(JP,A)
【文献】特開2017-146957(JP,A)
【文献】米国特許出願公開第2018/0302614(US,A1)
【文献】吉元裕真, 田向権,Depth画像を活用した深層学習によるホームサービスロボット向け一般物体認識システムの構築,電子情報通信学会技術研究報告,SIS2017-55
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
所定の学習用画像データに基づいて、画像生成用の機械学習モデルにおける設定値を学習する学習装置であって、
学習用画像データの入力を受け付ける入力部と、
前記入力部に入力された学習用画像データが画像補助データであるαチャンネルを有しているか否かを判定するαチャンネル判定部と、
αチャンネルを除いた画像データが入力される第一機械学習モデルと、
αチャンネルが入力される第二機械学習モデルと、
学習対象の機械学習モデルを用いて、学習用画像データに基づいて、前記学習対象の機械学習モデルにおける設定値を学習する処理を実行するための学習処理実行部と、
前記設定値を記憶する学習結果記憶部と、を備え、
前記学習処理実行部は、前記αチャンネル判定部において画像データがαチャンネルを有していると判定される場合には、αチャンネルを除いた画像データを前記第一機械学習モデルに、αチャンネルを前記第二機械学習モデルに分離して出力する、ことを特徴とする学習装置。
【請求項2】
画像生成用の機械学習モデルを用いて対象画像データに対して所定の推論処理を実行する推論装置であって、
対象画像データの入力を受け付ける入力部と、
前記入力部に入力された対象画像データが画像補助データであるαチャンネルを有しているか否かを判定するαチャンネル判定部と、
αチャンネルを除いた画像データが入力される第一機械学習モデルと、
αチャンネルが入力される第二機械学習モデルと、
前記第一機械学習モデル及び前記第二機械学習モデルを用いて、前記対象画像データに対して所定の推論処理を実行する推論処理実行部と、を備え、
前記推論処理実行部は、前記αチャンネル判定部において画像データがαチャンネルを有していると判定される場合には、αチャンネルを含まない画像データを前記第一機械学習モデルに、αチャンネルを前記第二機械学習モデルに分離して出力する、ことを特徴とする推論装置。
【請求項3】
コンピュータを請求項1または2のいずれか1項に記載の学習装置又は推論装置として動作させる、ことを特徴とするコンピュータプログラム。
【請求項4】
請求項1または2のいずれか1項に記載の学習装置もしくは推論装置又は請求項3に記載のコンピュータプログラムに向けて入力データを送信し、これら学習装置もしくは推論装置又はコンピュータプログラムからの出力データを受信して利用する、ことを特徴とするコンピュータシステム
であって、請求項1または2のいずれか1項に記載の学習装置もしくは推論装置又は請求項3に記載のコンピュータプログラムを含むコンピュータシステム。
【請求項5】
所定の学習用画像データに基づいて、画像生成用の機械学習モデルにおける設定値を学習する学習方法であって、
学習用画像データの入力を受け付ける入力ステップと、
前記入力ステップにおいて入力された学習用画像データが画像補助データであるαチャンネルを有しているか否かを判定するαチャンネル判定ステップと、
αチャンネルを除いた画像データが入力される第一機械学習モデルにおける第一機械学習ステップと、
αチャンネルが入力される第二機械学習モデルにおける第二機械学習ステップと、
学習対象の機械学習モデルを用いて、学習用画像データに基づいて、前記学習対象の機械学習モデルにおける設定値を学習する処理を実行するための学習処理実行ステップと、
前記設定値を記憶する学習結果記憶ステップと、を含み、
前記学習処理実行ステップにおいては、前記αチャンネル判定ステップにおいて画像データがαチャンネルを有していると判定される場合には、αチャンネルを除いた画像データを前記第一機械学習モデルに、αチャンネルを前記第二機械学習モデルに分離して出力する、ことを特徴とする学習方法。
【請求項6】
画像生成用の機械学習モデルを用いて対象画像データに対して所定の推論処理を実行する推論方法であって、
対象画像データの入力を受け付ける入力ステップと、
前記入力ステップにおいて入力された対象画像データが画像補助データであるαチャンネルを有しているか否かを判定するαチャンネル判定ステップと、
αチャンネルを除いた画像データが入力される第一機械学習モデルにおける第一機械学習ステップと、αチャンネルが入力される第二機械学習モデルにおける第二機械学習ステップと、
前記第一機械学習モデル及び前記第二機械学習モデルを用いて、前記対象画像データに対して所定の推論処理を実行する推論処理実行ステップと、を含み、
前記推論処理実行ステップにおいては、前記αチャンネル判定ステップにおいて画像データがαチャンネルを有していると判定される場合には、αチャンネルを含まない画像データを前記第一機械学習モデルに、αチャンネルを前記第二機械学習モデルに分離して出力する、ことを特徴とする推論方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習モデルを用いた学習装置及び推論装置に関し、特に、画像処理用の機械学習モデルを用いた学習装置及び推論装置に関する。
【背景技術】
【0002】
従来から、機械学習により学習済みモデルを生成する技術が知られている。この機械学習では、コンピュータのプログラムに対して、教師データとなる画像セットを与えて、プログラムのパラメータを学習することで学習済みモデルが生成される。学習済みモデルを利用することで、任意の画像に対して画像処理を行うことができる。
【0003】
プログラムのパラメータ学習は、画像を機械学習モデルに入力すると共に、該機械学習モデルの出力から画像を得、入力画像と出力画像との誤差が最小となるように機械学習モデルのパラメータを計算するのが一般的である。そして、このように学習した「学習済モデル」を用いることで、例えば、任意の低解像度画像を学習済みモデルに入力し、推論データとして高解像度画像を出力することもできる。
【0004】
近年、機械学習のうちニューラルネットワークを用いた機械学習が多くの分野に適用されている。特に画像認識、音声認識の分野にて、ニューラルネットワークを多層構造で使用したディープラーニング(Deep Learning;深層学習) が高い認識精度を発揮している。ディープラーニングでは畳み込み層や、プーリング層を複数回使用した畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)のモデルが代表的である。畳み込み層は、入力の特徴を抽出 し、プーリング層は、抽出された特徴に関する情報を残しながらデータを凝縮するのに利用される。
【0005】
通常、ニューラルネットワークを用いる画像処理においては、学習モデルに対して入出力されるチャンネルの数は固定されている。その理由は、画像データはRGB、グレースケール、YCbCr、CMYKなど、色の表現法が決まっているためである。画像データを用いた機械学習では、入力する画像データのデータ形式に応じて複数のチャンネルを用意し、チャンネル毎にデータを入力するのが一般的である。
【0006】
そして、例えばニューラルネットワークを用いた画像処理としては、特許文献1や特許文献2で示される処理装置などがある。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2019-87072号公報
【文献】特開2018-38789号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
機械学習を用いた画像処理に入力される画像データは通常RGBやYCbCrなどである。しかし、例えばコンピュータグラフィックス等で作成された画像データや画像編集ソフトで作成された画像データは、RGBなどの色情報以外にαチャンネル(α値)を有しているものが存在する。
【0009】
αチャンネルは、一般的には画素の不透明度を表現している画像補助データである。例えば、αチャンネルが[0~1]の値域の場合、0で完全透明、1で完全不透明となる。このα値を例えば8ビットで表現すると、完全透明の画素は0、完全不透明の画素は255である。一方、RGBデータを8ビットで表現する場合、色成分はα値と同じく0~255の値となるが、色成分が強いほど大きい値をとる。
【0010】
したがって、αチャンネルのデータは人の感覚的には反転したような画像データとなる場合が多い。例えば、
図14(a)に示すように、白地に黒色で画像を表現する場合を想定する。この場合、表現されるオブジェクト(図においては「αチャンネル」の文字に相当する部分)のデータは(R0,G0,B0)である。一方、オブジェクト以外のベース部分のデータは(R255、G255、B255)となる。なお、画像データをYCbCrで表現する場合にも、オブジェクトのデータの輝度は0、ベース部分の輝度は255である。
【0011】
一方、同じ画像をα値で表現すると、
図14(b)に示すように表現されるオブジェクト(図においては「αチャンネル」の文字に相当する部分)の画素のデータが255(不透明)、オブジェクト以外のベース部分の画素のデータは0(透明)となる。したがって、αチャンネルのデータは人の感覚的に反転した画像データと受け止められる。なお、ベース部分の透明となる部分はデータ値が0であるため、説明上黒色で表現している。
【0012】
従来、αチャンネル付き画像は機械学習の素材として利用されてこなかった。そのため、αチャンネル付き画像が機械学習の対象となった場合にはαチャンネルを無視し、画像データのみを学習するか、または、α値と画素データ(RGB等)値とを分離し、α値はグレースケール用の1チャンネルの機械学習モデルを利用して学習・推論し、 画素データは例えば3チャンネルの機械学習モデルを利用して学習・推論を行うのが一般的である。或いはα値を複数チャンネル分、例えば、3チャンネル分コピーし、画素データを学習・推論する機械学習モデルに入力する方法も用いられている。
【0013】
しかしながら、αチャンネルのデータは前述したように人の感覚的に反転した画像であり、またデータの数値的にも通常の画像データとは異なる出現傾向を有する。例えば、文字と背景における画素値(輝度値)とα値の出現頻度は
図15に示すように反転した特性となる傾向がある。すなわち、白地に黒色で表現する場合、文字に相当する部分の輝度値は0近辺のデータの出現頻度が高く、背景の輝度値は255近辺のデータの出現頻度が高い。一方、α値については文字に相当する部分のα値は255近辺のデータの出現頻度が高く、背景のα値は0近辺のデータの出現頻度が高くなる。
【0014】
このように特性が反転したαチャンネルのデータをグレースケール用の1チャンネルの機械学習モデルや画素データを用いて学習した画素データ用の機械学習モデルに入力し、推論しても処理後の画質が落ちるという課題がある。さらに上記特許文献に示される画像処理においても、αチャンネルにおけるこのような性質は考慮されていない。
【0015】
本発明は、上記課題に鑑みてなされたものであり、畳み込みニューラルネットワークなどの機械学習による画像処理において、αチャンネル付き画像の効率的な処理を実現できる学習装置及び推論装置を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の学習装置は、所定の学習用画像データに基づいて、画像生成用の機械学習モデルにおける設定値を学習する学習装置であって、学習用画像データの入力を受け付ける入力部と、入力部に入力された学習用画像データが画像補助データであるαチャンネルを有しているか否かを判定するαチャンネル判定部と、αチャンネルを除いた画像データが入力される第一機械学習モデルと、αチャンネルが入力される第二機械学習モデルと、学習対象の機械学習モデルを用いて、学習用画像データに基づいて、学習対象の機械学習モデルにおける設定値を学習する処理を実行するための学習処理実行部と、設定値を記憶する学習結果記憶部と、を備え、学習処理実行部は、αチャンネル判定部において画像データがαチャンネルを有していると判定される場合には、αチャンネルを除いた画像データを第一機械学習モデルに、αチャンネルを第二機械学習モデルに分離して出力する、ことを特徴とする。
【発明の効果】
【0017】
本発明によれば、畳み込みニューラルネットワークなどの機械学習による画像処理において、αチャンネル付き画像の効率的な処理を実現できる学習装置及び推論装置を提供することができる。
【図面の簡単な説明】
【0018】
【
図1】本発明係る画像処理装置の構成を示すブロック図である。
【
図2】本発明の実施の形態1に係る画像処理装置の機能ブロック図である。
【
図4】実施の形態1における機械学習の詳細フローを示す図である。
【
図5】本発明の実施の形態2に係る画像処理装置の機能ブロック図である。
【
図6】実施の形態2における機械学習の詳細フローを示す図である。
【
図7】本発明の実施の形態3に係る画像処理装置の機能ブロック図である。
【
図8】実施の形態3における機械学習の詳細フローを示す図である。
【
図9】
図2および
図7に示した機械学習モデルの推論時における機能ブロック図である。
【
図10】
図9に示した機械学習モデルの推論時のフローを示す図である。
【
図11】
図5に示した機械学習モデルの推論時における機能ブロック図である。
【
図12】
図11に示した機械学習モデルの推論時のフローを示す図である。
【
図13】同上変形例に係る画像処理装置におけるαチャンネルの遷移を示すイメージ図である。
【
図15】画像データとαチャンネルデータにおける出現頻度傾向を示す図である。
【発明を実施するための形態】
【0019】
(実施の形態1)
本発明の実施の形態1に係る画像処理装置について
図1乃至
図3を参照して説明する。本実施の形態1において、画像処理装置は、αチャンネル付き画像データなどの所定の学習用画像データに基づいて機械学習モデルにおける設定値を学習する学習装置、及び機械学習モデルを用いて対象画像データに対して所定の推論処理を実行する推論装置の少なくとも一方としての機能を発揮する。
【0020】
なお、αチャンネル(alpha channel)とは画像処理分野において、各ピクセルに対し色表現のデータとは別に持たせた画像補助データのことであり、一般に画素の不透明度を表現するものである。αチャンネルは、画像のマスク、複数画像の合成などに使われている。
【0021】
<画像処理装置>
最初に、画像処理装置1に備わる各処理部に関して
図1を参照しながら説明する。画像処理装置1は、
図1に示すように、制御部10、画像処理部11、記憶部12、通信部13、表示部14、操作部15及び読取部16を備える。なお、画像処理装置1及び画像処理装置1における動作について以下では、1台のサーバコンピュータとして説明するが、複数のコンピュータによって処理を分散するようにして構成されてもよい。
【0022】
制御部10は、CPUなどのプロセッサやメモリを用いて、装置の構成部を制御して各種機能を実現する。画像処理部11は、GPU又は専用回路等のプロセッサ及びメモリを用い、制御部10からの制御指示に応じて画像処理を実行する。なお、制御部10及び画像処理部11は、CPU,GPU等のプロセッサ、メモリ、さらには記憶部12及び通信部13を集積した1つのハードウェア(SoC:System on a Chip)として構成されていてもよい。
【0023】
記憶部12は、ハードディスクやフラッシュメモリを用いる。記憶部12には、画像処理プログラム1P、機械学習モデル(例えばCNN)としての機能を発揮させる機械学習ライブラリ1Lが記憶されている。また、記憶部12には、機械学習モデルを定義する定義データ、学習済み機械学習モデルにおける設定値等を含むパラメータなどが記憶される。
通信部13は、インターネット等の通信網への通信接続を実現する通信モジュールである。通信部13は、ネットワークカード、無線通信デバイス又はキャリア通信用モジュールを用いる。
【0024】
表示部14は、液晶パネル又は有機EL(Electro Luminescence)ディプレイ等を用いる。表示部14は、制御部10の指示による画像処理部11での処理によって画像を表示することが可能である。
【0025】
操作部15は、キーボード又はマウス等のユーザインタフェースを含む。筐体に設けられた物理的ボタンを用いてもよい。及び表示部14に表示されるソフトウェアボタン等を用いてもよい。操作部15は、ユーザによる操作情報を制御部10へ通知する。
【0026】
読取部16は、例えばディスクドライブを用い、光ディスク等を用いた記録媒体2に記憶してある画像処理プログラム2P、及び機械学習ライブラリ3Lを読み取ることが可能である。記憶部12に記憶してある画像処理プログラム1P及び機械学習ライブラリ1Lは、記録媒体2から読取部16が読み取った画像処理プログラム2P及び機械学習ライブラリ3Lを制御部10が記憶部12に複製したものであってもよい。
【0027】
<学習時の画像処理機能>
次に、画像処理装置1の機能に関して図面を参照しながら説明する。なお、画像データは3チャンネルで、RGBを例に挙げて説明するが、YCbCr等、他の画像データ形式のものであっても良い。
【0028】
<<αチャンネルを持たない画像データによる学習:実施形態1>>
図2は本実施の形態1に係る画像処理装置の機能ブロックを示す図あり、
図3は機械学習の全体フローを示す図、
図4は実施の形態1における機械学習の詳細フローを示す図である。
【0029】
まず、画像処理装置1の制御部10は学習処理実行部101を備える。学習処理実行部101は、記憶部12に記憶してある機械学習ライブラリ1L、定義データ、パラメータ情報に基づき、画像処理部11に入力部111、第一機械学習モデル113、第二機械学習モデル115、出力部117の機能を構成する。また入力部111及び出力部117には第一チャンネル数調整部119、色反転部121の機能が含まれている。なお、第一機械学習モデル113及び第二機械学習モデル115を総称し、「機械学習モデル」と称することがある。
【0030】
学習処理実行部101は、学習対象の機械学習モデルを用い、学習用画像データに基づいて、学習対象の機械学習モデルにおける設定値(パラメータ等)を学習する処理を実行する(
図3、ステップS11)。
【0031】
ステップS11における機械学習の詳細を
図4に基づき説明する。画像処理部11の入力部111は学習用画像の入力画像データ(例えば、RGBデータ)を受け付け(ステップS101)、入力画像データの画素データを第一機械学習モデル113に供給し、機械学習を行う(ステップS102)。第一機械学習モデル113がCNNとなる場合には、定義データにより定義される複数段の畳み込み層及びプーリング層と、全結合層とを含んでもよい。この構成によれば、第一機械学習モデル113において入力画像データの特徴量が取り出され、取り出された特徴量に基づいて画像加工処理が実行され、画像加工処理結果が学習結果(出力画像データ)として出力部117に出力される(ステップS103)。
【0032】
出力部117は、第一機械学習モデル113から入力した画像加工処理結果と、教師データである画像データとを比較する(ステップS104)。また、出力部117は、比較結果に基づき第一機械学習モデル113のパラメータを設定する(ステップS105)。このパラメータの設定は、例えばパラメータをミニバッチ勾配降下法で更新するなど入力データと解答データとの差分を最小化する処理である。更新された設定値は、記憶部12に格納される(ステップS106)。
【0033】
その後、学習処理実行部101は色反転データが学習済みか否かを判定する(ステップS107)。色反転データの学習が行われていない場合(ステップS107でNo)、学習処理実行部101は、入力した画素データを第一チャンネル数調整部119で1チャンネルにまとめる(ステップS108)。学習処理実行部101は、1チャンネルにまとめられた画素データを色反転部121で色反転させる(ステップS109)。色反転した画素データは第二機械学習モデル115に入力される(ステップS110)。その後、当該画像データを用いて第二機械学習モデル115で機械学習が実行され、機械学習の結果が出力される(ステップS111、S112)。
【0034】
第一チャンネル数調整部119は3チャンネルのデータを1チャンネルにまとめる機能を有する。具体的には、第一チャンネル数調整部119は、入力画像データがRGBの場合、赤色(R)画素の画素データ(画素値)、緑色(G)画素の画素データおよび青色(B)画素の画素データの3つのデータの最大値と最小値との平均値を1チャンネルのデータとする。あるいは、入力画像データがYCbCrの場合、画素データの輝度値Yが、色反転部121に入力するデータとして採用される。またRGBデータから輝度値Yを算出し、その輝度値を利用してもよい。
【0035】
色反転部121は階調を反転させる処理を行う。例えば、入力するデータが8bitの整数で表現されている場合は、ビットを反転させる処理を行ってもよいし、階調の最大値(255や1など)から画素値を差し引いた差分を求めてもよい。
【0036】
第二機械学習モデル115から出力された処理結果は、出力部117に供給される。出力部117は、教師データの画素データを用い、第一チャンネル数調整部119及び色反転部121を介して得られた第二機械学習モデル115用の教師データを生成する。出力部117は、該教師データと第二機械学習モデル115の出力とを比較し(ステップS113)、第二機械学習モデル115のパラメータを設定すると共に記憶部12のパラメータを更新する(ステップS115、ステップS106)。
【0037】
その後、学習処理実行部101は色反転データの学習済みか否かを判定し、色反転データの学習が終了している場合(ステップS107でYes)は
図2におけるステップS11の機械学習を終了する。ステップS11を実行した後に、学習処理実行部101は、全ての入力画像データの学習が終了したか否かを判断する(
図3、ステップS12)。
【0038】
全ての入力画像データの学習が終了していない場合(ステップS12でNo)、次の入力画像データについて前述した学習処理を行い、機械学習モデルのパラメータ調整を実施する。一方、全ての入力画像データについて学習が終了した場合(ステップS12でYes)には学習を終了する。
【0039】
なお、上記説明では第二機械学習モデル115の教師データとして、教師データである画像データをチャンネル数調整後に色反転したものを用いた。しかし、教師データとして用いる画像データを各々色反転させ、その後、チャンネル数調整で1個のデータにまとめて第二機械学習モデル115に教師データとして入力してもよい。
【0040】
<<αチャンネルを持つ画像データによる学習1:実施形態2>>
次にαチャンネルを持つ画像データによる学習について、
図3、
図5及び
図6を用いて説明する。
図5は本実施の形態2に係る画像処理装置の機能ブロックを示す図、
図6は実施の形態2における画像処理装置の学習動作時の動作を示すフローチャートである。上記実施の形態1に係る画像処理装置1と同様の構成については同様の符号を付し、その詳細な説明は省略する。
【0041】
画像処理装置1の制御部10は学習処理実行部101を備える。学習処理実行部101は、記憶部12に記憶してある機械学習ライブラリ1L、定義データ、パラメータ情報に基づき、画像処理部11に入力部111、機械学習モデル113、出力部117の機能を構成する。また入力部111には第二チャンネル数調整部120、αチャンネル判定部131、α値反転部133の機能が含まれる。出力部117には第一チャンネル数調整部119、α値反転部133の機能が含まれる。
【0042】
学習処理実行部101は、学習対象の第一機械学習モデル113を用いて、学習用画像データに基づいて、学習対象の機械学習モデルにおける設定値(パラメータ等)を学習する処理を実行する(ステップS11)。
【0043】
ステップS11における機械学習の詳細を
図6に基づき説明する。画像処理部11の入力部111は記憶部12から入力した学習用入力画像データ(例えば、RGBデータ)を受け付ける(ステップS120)。αチャンネル判定部131は、入力された画像データにαチャンネルが含まれるか否か判定する(ステップS121)。αチャンネルの判定は、例えば画像データのヘッダ部の情報や識別子を読み込むことにより画像データがαチャンネル付き画像か否かを判定すれば良い。
【0044】
入力画像データにαチャンネルが含まれる場合(ステップS121でYes)にはαチャンネルのデータ(α値)を分離してRGBの画素データを第一機械学習モデル113に入力し、機械学習を行う(ステップS122、123、S124)。なお、入力画像データにαチャンネルが含まれていない場合(ステップS121でNo)、そのままRGBの画素データを第一機械学習モデル113に入力する(ステップS123、S124)。
【0045】
その後、第一機械学習モデル113で機械学習を行い、機械学習モデル出力を出力部117に出力する(ステップS124、S125)。出力部117では第一機械学習モデル113からの出力と記憶部12に格納された教師データである画像データとを比較し、比較結果に基づいて第一機械学習モデル113のパラメータを設定し、記憶部12のパラメータを更新する(ステップS126、S127、S128)。
【0046】
一方、入力画像にαチャンネルを含む場合(ステップS129でYes)、ステップS122で分離されたαチャンネルのデータは、入力部111のα値反転部133に入力され(ステップS130)反転される(ステップS131)。反転したα値は、入力部111の第二チャンネル数調整部120に入力され、チャンネル数が調整される(ステップS132)。
【0047】
α値反転部133によるα値の反転は、例えば、α値を8ビットで表現している場合、入力α値をα1とすると、反転α値=255-α1 とすれば良い。また第二チャンネル数調整部120によるチャンネル数の調整は、本実施形態のように画像データをRGBの3チャンネルで機械学習する場合には反転したα値を3チャンネル分に増やす。第二チャンネル数調整部120からの出力データを用いて第一機械学習モデル113にて学習が実行される(ステップS133)。
【0048】
入力部111の第二チャンネル数調整部120から第一機械学習モデル113に入力するデータは同じデータが各チャンネルに入力されるので、基本的には同じ結果が第一機械学習モデル113から出力部117に出力される。したがって、出力部117の第一チャンネル数調整部119は、第一機械学習モデル113のいずれかのチャンネルから出力されたデータを選択するか、もしくは各チャンネルから出力されるデータの平均値を出力部117のα値反転部133に供給する(ステップS134、S135)。出力部117のα値反転部133(再反転部)は、入力したデータを再反転させる(ステップS136)。
【0049】
出力部117は、α値反転部133より供給されたデータと記憶部12に格納されたαチャンネルの教師データとを比較し(ステップS137)、比較結果に基づいてパラメータ設定をする(ステップS138)。その後、記憶部12のパラメータが更新される(ステップS139)。全ての入力画像データについて機械学習(
図3、ステップS11)が終了したか否かを判断し(
図3、ステップS12)、終了していない場合(
図3、ステップS12でNo)には次の入力画像についての学習を行い、終了している場合(
図3、ステップS12でYes)には学習を終了する。
【0050】
第一機械学習モデル113がCNNとなる場合には、定義データにより定義される複数段の畳み込み層及びプーリング層と、全結合層とを含んでもよい。この構成では、第一機械学習モデル113において入力画像データの特徴量を取り出し、取り出された特徴量に基づいて学習する。
【0051】
本実施の形態においては、RGB等の画像データはそのまま第一機械学習モデル113に入力し、αチャンネルのデータはその値を反転し、かつチャンネル数を調整してから第一機械学習モデル113に入力する。したがって、画素データとαチャンネルのデータ(α値)との出現頻度が反転するものであっても、同様の性質のデータに変換され学習が行われるので、学習効率が向上する。
【0052】
なお、上記実施の形態では反転したα値を第一機械学習モデル113に入力した際、第一機械学習モデル113の出力をチャンネル調整及びα値反転し、教師データであるαチャンネルデータと比較した。しかし、チャンネル数調整やα値の反転を出力部117に供給される教師データに対して行っても良い。この構成では、第一機械学習モデル113の出力をα値反転する必要がないため、出力部117のα値反転部133が省略できる。
【0053】
例えば、教師データであるαチャンネルデータをα値反転部133で反転し、該反転したデータを3チャンネル分に増やし、該3チャンネルのデータと第一機械学習モデル113の出力とを比較するよう構成しても良い。さらに、記憶部12に記憶されたαチャンネルデータを、α値反転部133で反転し、教師データとしてもよい。この構成では、第一機械学習モデル113から出力された3チャンネルのデータが1チャンネルにまとめられ、教師データと比較される。
【0054】
<<αチャンネルを持つ画像データによる学習2:実施形態3>>
次にαチャンネルを持つ画像データによる学習を行う他の実施の形態について
図3、
図7、
図8を用いて説明する。
【0055】
図7は本実施の形態3に係る画像処理装置の機能ブロックを示す図、
図8は実施の形態3における画像処理装置の学習動作時の動作を示すフローチャートである。上記実施の形態1、2に係る画像処理装置1と同様の構成については同様の符号を付し、その詳細な説明は省略する。
【0056】
画像処理装置1の制御部10は学習処理実行部101を備える。学習処理実行部101は、記憶部12に記憶してある機械学習ライブラリ1L、定義データ、パラメータ情報に基づき、画像処理部11に入力部111、第一機械学習モデル113、第二機械学習モデル115、出力部117の機能を構成する。また入力部111には第一チャンネル数調整部119、第二チャンネル数調整部120、色反転部121、αチャンネル判定部131、α値反転部133の機能が含まれる。出力部117には第一チャンネル数調整部119、第二チャンネル数調整部120、色反転部121、α値反転部133の機能が含まれている。
【0057】
学習処理実行部101は、学習対象の機械学習モデル113、115を用いて、学習用画像データに基づいて、学習対象の機械学習モデルにおける設定値(パラメータ等)を学習する処理を実行する(
図3、ステップS11)。
【0058】
ステップS11における機械学習の詳細を
図8に基づき説明する。画像処理装置1の画像処理部11の入力部111は記憶部12から入力した学習用入力画像データ(例えば、RGBデータ)を受け付ける(ステップS150)。αチャンネル判定部131は、入力した画像データにαチャンネルが含まれるか否か判定する(ステップS151)。αチャンネルの判定は、例えば画像データのヘッダ部の情報や識別子を読み込むことにより画像データがαチャンネル付き画像か否かを判定すれば良い。
【0059】
入力画像データにαチャンネルが含まれる場合(ステップS151でYes)にはαチャンネルのデータ(α値)を分離し、RGBの画素データを第一機械学習モデル113に入力し、機械学習を行う(ステップS152、S153、S154、S155)。なお、入力画像データにαチャンネルが含まれていない場合(ステップS151でNo)、そのままRGBの画素データが機械学習モデルに入力される。その後、第一機械学習モデル113で機械学習が実行され、機械学習モデル出力が出力部117に出力される(ステップS153、S154、S155、S156)。
【0060】
出力部117は、第一機械学習モデル113からの出力と記憶部12に格納された教師データである画像データとを比較する(ステップS157)。この比較結果に基づいて第一機械学習モデル113のパラメータが設定され(ステップS158)、記憶部12のパラメータが更新される(ステップS159)。
【0061】
また、抽出されたRGBデータは第一チャンネル数調整部119で1チャンネルに集約され、その後、色反転部121で色データが反転され第二機械学習モデル115に入力する(ステップS160、S161、S162)。色反転されたデータは第二機械学習モデル115で機械学習が行われ、出力部117に第二機械学習モデル115の出力が供給される(ステップS163、S164、165)。出力部117ではデータが反転され(ステップS165)、反転されたデータが教師データと比較される(ステップS157)。また、この比較結果に基づいて第二機械学習モデル115のパラメータが設定され、記憶部12のパラメータが更新される(ステップS158、S159)。この時用いられる教師データは記憶部12に格納された画像データを第二チャンネル数調整部120でチャンネル数調整したものが用いられる。またステップS165の色データの反転を省略すると共に、教師データをチャンネル数調整及び色反転したものを用いることも可能である。
【0062】
第一チャンネル数調整部119では入力したRGBの画素データの最大値と最小値との平均値を1チャンネルのデータとしたり、あるいは入力画像データがYCbCrの場合には画素データの輝度値Yを採用したりすることで行われる。またRGBデータから輝度値Yを算出し、その輝度値を利用してもよい。このようにRGBデータを用いて第一機械学習モデル113と第二機械学習モデル115のいずれも学習させることができる。
【0063】
一方、ステップS152で分離されたαチャンネルのデータはα値反転部133で反転され、第二チャンネル数調整部120で3チャンネルに分けられ、第一機械学習モデル113に入力し、機械学習が行われる(ステップS170、S171、S172、S173)。
【0064】
第一機械学習モデル113の出力は出力部117に供給され(ステップS174)、第一チャンネル数調整部119にて1チャンネルにまとめられる(ステップS175)。その後、1チャンネルにまとめられたデータは、出力部117のα値反転部133(再反転部)でデータ反転される(ステップS176)。出力部117ではα値反転部133からの出力と記憶部12に格納された教師データであるαチャンネルデータとを比較する(ステップS157)。この比較結果に基づいて第一機械学習モデル113のパラメータが設定され(ステップS158)、記憶部12のパラメータが更新される(ステップS159)。
【0065】
さらに、ステップS152で分離されたαチャンネルのデータはそのまま第二機械学習モデル115に入力する(ステップS180)。αチャンネルデータを入力した第二機械学習モデル115は処理を行い、処理結果は出力部117に出力される(ステップS181、S182)。出力部117では第二機械学習モデル115からの出力と記憶部12に格納された教師データであるαチャンネルデータとを比較し、比較結果に基づいて第二機械学習モデル115のパラメータを設定し、記憶部12のパラメータを更新する(ステップS157、S158、S159)。
【0066】
このように、画像データ、色反転画像データ、αチャンネルデータ、データ反転したαチャンネルデータを用いて学習し、かつ、データとその出現頻度の傾向が類似したものを同じ機械学習モデルに入力するので、効率良く学習を行うことができる。
【0067】
なお、上記実施の形態では反転したα値を機械学習モデル113に入力した際、出力部117において機械学習モデル113の出力をチャンネル調整及びα値反転し、教師データであるαチャンネルデータと比較したが、チャンネル数調整やα値の反転は機械学習モデルの出力に対して行っても良いし、あるいは出力部117に供給される教師データに対して行っても良い。
【0068】
すなわち、教師データであるαチャンネルデータをα値反転部133で反転し、該反転したデータを第二チャンネル数調整部120で3チャンネル分に増やし、該3チャンネルのデータと機械学習モデル113の出力とを比較するよう構成しても良い。さらに、機械学習モデル113の出力を出力部117の第一チャンネル数調整部119で調整し、1チャンネルのデータを得ると共に、教師データであるαチャンネルデータをα値反転部133で反転し、その反転した教師データと前記第一チャンネル数調整部119出力とを比較するよう構成しても良い。
【0069】
本実施の形態1、2、3に係る画像処理装置1のハードウェア構成の内、通信部13、表示部14、操作部15、及び読取部16は必須ではない。通信部13については、例えば記憶部12に記憶される画像処理プログラム1P、及び機械学習ライブラリ1Lを外部サーバ装置から取得する場合に一旦使用された後は使用しない場合がある。読取部16も同様に、画像処理プログラム1P、機械学習ライブラリ1Lを記憶媒体から読み出して取得した後は使用されない可能性がある。そして通信部13及び読取部16は、USB等のシリアル通信を用いた同一のデバイスであってもよい。
【0070】
画像処理装置1がWebサーバとして、上述の各機能を、表示部及び通信部を備えるWebクライアント装置へ提供する構成としてもよい。この場合、通信部13は、Webクライアント装置からのリクエストを受信し、処理結果を送信するために使用される。
【0071】
学習時に用いる誤差は、二乗誤差、絶対値誤差、又は交差エントロピー誤差等、入出力されるデータ、学習目的に応じて適切な関数を用いるとよい。例えば、出力が分類である場合、交差エントロピー誤差を用いる。誤差関数を用いることに拘わらずその他の基準を用いるなど柔軟な運用が適用できる。この誤差関数自体に外部の機械学習モデルを用いて評価を行なってもよい。
【0072】
<推論時の画像処理機能>
次に推論時の画像処理装置1の機能に関して図面を参照しながら説明する。なお、画像データは3チャンネルで、RGBを例に挙げて説明するが、YCbCr等、他の画像データ形式のものであっても良い。
【0073】
<<実施形態1・実施形態3の機械学習モデルを用いた推論>>
図9は
図2および
図7に示した機械学習モデルの推論時における機能ブロックを示した図、
図10はそのフローである。なお、前述した実施の形態における各機能と同じ機能ブロックは同じ符号を付す。
【0074】
まず、画像処理装置1の制御部10は推論処理実行部102を備える。推論処理実行部102は、記憶部12に記憶してある機械学習ライブラリ1L、定義データ、パラメータ情報に基づき第一機械学習モデル113、第二機械学習モデル115として機能する。また入力部111、αチャンネル判定部131の機能を有すると共に、出力部117では画素データとαチャンネルとの統合を行うよう機能する。
【0075】
画像処理装置1の画像処理部11の入力部111は記憶部12から入力した入力画像データ(例えば、RGBデータ)を受け付ける(ステップS200)。αチャンネル判定部131は、受け付けられた画像データにαチャンネルが含まれるか否か判定する(ステップS201)。αチャンネルの判定は、例えば画像データのヘッダ部の情報や識別子を読み込むことにより画像データがαチャンネル付き画像か否かを判定すれば良い。入力画像データにαチャンネルが含まれる場合(ステップS201でYes)にはαチャンネルのデータ(α値)が分離される(ステップS202)。その後、RGBの画素データが第一機械学習モデル113に入力され、機械学習モデルによる推論が実施される(ステップS203、S204)。なお、入力画像データにαチャンネルが含まれていない場合には(ステップS201でNo)、そのままRGBデータを第一機械学習モデルに入力し、推論が実施される(ステップS203、S204)。第一機械学習モデル113での推論結果は出力部117に出力される(ステップS205)。入力画像データにαチャンネルのデータが含まれない場合には出力部117で画像を形成し、画像データとして出力される(ステップS205、S206、S207)。
【0076】
一方、入力画像データにαチャンネルのデータを含み、αチャンネルのデータが分離されている場合は(ステップS206でYes)、α値が第二機械学習モデル115に入力し、推論が行われる(ステップS208、209)。第二機械学習モデル115での推論結果は出力部117に供給される(ステップS210)。出力部117では第一機械学習モデル113からの推論結果と第二機械学習モデル115からの推論結果を統合し、αチャンネル付きの画像データを生成する(ステップS211)。
【0077】
この実施形態のように、反転したα値や画像データで学習した第一機械学習モデル113と反転した画像データやα値で学習した第二機械学習モデルを用い、画像データおよびαチャンネルの推論を行い、高精度なαチャンネル付き画像を生成することができる。
【0078】
<<実施形態2の機械学習モデルを用いた推論>>
次に実施形態2の機械学習モデルを用いた推論について説明する。
図11は
図5に示した機械学習モデルの推論時における機能ブロックを示した図であり、
図12はそのフローである。また、
図13はαチャンネルの推論処理における遷移を示すイメージ図であり、入力データの解像度を上げる処理を例示している。
図5と
図11とを対比すると、推論時は制御部10が学習処理実行部101に替えて推論処理実行部102を具備する点で学習時と相違する。また、推論時は、出力部117が画像データとαチャンネルの統合を行う機能を備えている点、および、出力部117に第二チャンネル数調整部を備えない点で学習時と異なり、他の機能は学習時と略同じである。
【0079】
まず、画像処理部11の入力部111に画像データが入力すると(ステップS220)、αチャンネル判定部131が入力データにαチャンネルが含まれるか否かを判定する(ステップS221)。αチャンネルを含む場合(ステップS221でYes)には入力データからαチャンネルが分離される(S222)。入力画像データの画素データは機械学習モデル113に入力し、機械学習モデルで推論が行われ、その推論結果が出力部117に供給される(ステップS223、S224、S225)。なお、入力画像データにαチャンネルが含まれていない場合(ステップS221でNo)、そのままRGBの画素データを機械学習モデルに入力し推論が行われ、機械学習モデル113から推論結果が出力される(ステップS223、S224、S225)。入力画像データにαチャンネルを含まない場合(ステップS226でNo)、推論結果に基づき、出力部117で画像データが生成される(ステップS227)。
【0080】
一方、入力画像データにαチャンネルを含む場合(ステップS226でYes)、ステップS222で分離したαチャンネルのデータをα値反転部133にて反転する(ステップS228、S229)。反転されたデータは、第二チャンネル数調整部120で3チャンネル分に増加され、機械学習モデル113に入力し、機械学習(推論)が行われる(ステップS230、S231)。
【0081】
機械学習モデル113の推論結果は第一チャンネル数調整部119で1チャンネルにまとめられ、さらにα値反転部133でデータ反転された後に出力部117に供給される(ステップS232、S233、S234)。出力部117ではRGBの画素データを用いて第一機械学習モデル113で推論した結果と、α値反転部133より出力されたα値とを統合し、出力画像データを生成する(ステップS235)。
【0082】
このように単一の機械学習モデルを用いる場合であっても、α値を反転し、チャンネル数を調整して機械学習モデルで推論するので、α値を含む入力画像についても高精度に機械学習(推論)を行うことができる。また本実施の形態に用いる機械学習モデルは学習時にα値反転したデータで学習したものである必要はなく、通常の画素データのみで学習したものを用いることもできる。すなわち、推論時にαチャンネルデータを反転させると共に、チャンネル数調整して機械学習モデルに入力するので、αチャンネルのデータであっても画素データで学習した機械学習モデルで推論することができる。
【0083】
なお、本発明は、上記実施の形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。また、本発明の目的を達成するために、本発明は、画像処理装置(学習装置及び推論装置)に含まれる特徴的な構成手段をステップとする画像処理方法(学習方法及び推論方法)としたり、それらの特徴的なステップを含むプログラムとして実現することもできる。そして、そのプログラムは、ROM等に格納しておくだけでなく、USBメモリ等の記録媒体や通信ネットワークを介して流通させることもできる。
【0084】
また、本発明は、画像処理装置又はコンピュータプログラムに向けて入力データを送信し、画像処理装置又はコンピュータプログラムからの出力データを受信して利用するコンピュータシステムとしても実現できる。このシステムは、上述の処理により学習済みの機械学習モデルから得られるデータを利用した処理システムで、種々のサービスを提供できる。本システムに用いる装置は、表示部及び通信部を備えた画像処理装置又はコンピュータと情報を送受信できる情報処理装置などであり、例えば所謂PC、スマートフォン、携帯端末、ゲーム機器などである。
【0085】
<実施形態の態様例の作用、効果のまとめ>
<第1態様>
本態様の学習装置は、所定の学習用画像データに基づいて機械学習モデルにおける設定値を学習する学習装置であって、学習用画像データの各チャンネルのうち少なくとも一部のチャンネルのデータ(色データ、α値)を反転させる反転部(色反転部121、α値反転部133)と、反転されたデータを機械学習モデル(第一機械学習モデル113、第二機械学習モデル115)に入力する入力部(111)と、機械学習モデルから出力されたデータを反転させたデータと教師データとを比較可能、または/および、機械学習モデルから出力されたデータと教師データを反転させたデータとを比較可能な出力部(117)と、比較の結果に応じて、設定値を学習する学習処理実行部(101)とを具備することを特徴とする。
【0086】
仮に、各画素の画素値の大きさの傾向が、色データとα値とで反転する場合を想定する(実施形態と同様)。第1態様によれば、例えば、学習用画像データに含まれる色データを反転することにより、当該反転した色データに基づいて、推論時にα値が入力される機械学習モデル(第二機械学習モデル115)を学習可能である(
図2の具体例および
図7の具体例を参照)。また、第1態様によれば、学習用画像データに含まれるα値を反転することにより、当該反転したα値に基づいて、推論時に色データが入力される機械学習モデル(第一機械学習モデル113)を学習可能である(
図5の具体例および
図7の具体例を参照)。したがって、効率的な機械学習が可能になる。
【0087】
<第2態様>
本態様の学習装置は、反転部(α値反転部133)は、学習用画像データの各チャンネルのうちαチャンネルのデータ(α値)を反転することを特徴とする。本態様によれば、各画素の画素値の大きさの傾向が色データとα値とで反転する場合において、学習用画像データに含まれるα値を反転することにより、当該反転したα値に基づいて、推論時に色データが入力される機械学習モデル(第一機械学習モデル113)を学習可能である(
図5の具体例および
図7の具体例を参照)。したがって、効率的な機械学習が可能になる。
【0088】
<第3態様>
本態様の学習装置は、機械学習モデルは画素データ(色データ)および/または反転したαチャンネルのデータ(α値)を学習する第一機械学習モデル(113)と、色反転した画素データおよび/またはαチャンネルのデータを学習する第二機械学習モデル(115)のいずれか一方或いは両方とからなることを特徴とする。本態様によれば、例えば、第二機械学習モデルが設けられない構成と比較して、α値に対して適当な推論処理が実行できるという利点がある。
【0089】
<第4態様>
本態様の推論装置は、機械学習モデルを用いて所定の推論処理を実行する推論装置であって、対象画像データの各チャンネルのうちαチャンネルのデータ(α値)を反転させる反転部(α値反転部133)と、反転されたデータを機械学習モデル(第一機械学習モデル113)に入力する入力部(111)と、機械学習モデルに入力されたデータに対して推論処理を実行する推論処理実行部(102)と、推論処理が実行されたデータを反転させる再反転部(α値反転部133)とを具備することを特徴とする。
【0090】
仮に、各画素の画素値の大きさの傾向が色データとα値とで反転する場合を想定する(上述の実施形態と同様)。第4態様によれば、学習用画像データに含まれるα値を反転することにより、色データが入力される機械学習モデルを用いて、当該反転したα値に対して推論処理が実行できる。すなわち、α値用の機械学習モデルを設けなくても、色データおよびα値の双方に対して適当な推論処理が実行され易くなるという利点がある。
【0091】
<第5態様>
本態様の学習方法は、機械学習モデルにおける設定値の学習方法であって、所定の学習用画像データの各チャンネルのうち少なくとも一部のチャンネルのデータを反転させ(
図4のS109、
図6のS131、
図8のS161、
図8のS170)、反転されたデータを機械学習モデルに入力し(
図4のS110、
図6のS133、
図8のS162、
図8のS172)、機械学習モデルから出力されたデータを反転させたデータと教師データとを比較(
図4のS113、
図8のS165、
図8のS176)、または/および、機械学習モデルから出力されたデータと教師データを反転させたデータとを比較(
図6のS137)し、比較の結果に応じて、設定値を学習する(
図4のS114、
図6のS138、
図8のS158)ことを特徴とする。本態様によれば、第1態様と同様な効果が奏せられる。
【0092】
<第6態様>
本態様のプログラムは、所定の学習用画像データに基づいて機械学習モデルにおける設定値を学習する学習装置のコンピュータを、学習用画像データの各チャンネルのうち少なくとも一部のチャンネルのデータ(色データまたはα値)を反転させる反転部(α値反転部133、色反転部121)と、反転されたデータを機械学習モデル(第一機械学習モデル113、第二機械学習モデル115)に入力する入力部(111)と、機械学習モデルから出力されたデータを反転させたデータと教師データとを比較可能、または/および、機械学習モデルから出力されたデータと教師データを反転させたデータとを比較可能な出力部(117)と、比較の結果に応じて、設定値を学習する学習処理実行部(101)として機能させることを特徴とする。本態様によれば、第1態様と同様な効果が奏せられる。
【0093】
<第7態様>
本態様の推論装置は、機械学習モデルを用いて所定の推論処理を実行する推論方法であって、対象画像データの各チャンネルのうちαチャンネルのデータ(α値)を反転させ(
図12のS229)、反転されたデータを機械学習モデル(第一機械学習モデル113)に入力し、機械学習モデルに入力されたデータに対して推論処理を実行し(
図12のS231)、推論処理が実行されたデータを反転させる(
図12のS234)ことを特徴とする。本態様によれば、第4態様と同様な効果が奏せられる。
【0094】
<第8態様>
本態様のプログラムは、機械学習モデルを用いて所定の推論処理を実行する推論装置のコンピュータを、対象画像データの各チャンネルのうちαチャンネルのデータ(α値)を反転させる反転部(α値反転部133)と、反転されたデータを機械学習モデル(第一機械学習モデル113)に入力する入力部(111)と、機械学習モデルに入力されたデータに対して推論処理を実行する推論処理実行部(102)と、推論処理が実行されたデータを反転させる再反転部(α値反転部133)として機能させることを特徴とする。本態様によれば、第4態様と同様な効果が奏せられる。
【符号の説明】
【0095】
1 画像処理装置(学習装置及び推論装置)
12 記憶部
101 学習処理実行部
102 推論処理実行部
111 入力部
113 第一機械学習モデル
115 第二機械学習モデル
117 出力部
119 第一チャンネル数調整部
120 第二チャンネル数調整部
121 色反転部
131 αチャンネル判定部
133 α値反転部