(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008200
(43)【公開日】2024-01-19
(54)【発明の名称】画像処理装置及びプログラム
(51)【国際特許分類】
G06T 7/11 20170101AFI20240112BHJP
G06T 7/00 20170101ALI20240112BHJP
【FI】
G06T7/11
G06T7/00 350B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022109870
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】森 達哉
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA23
5L096DA04
5L096FA02
5L096FA06
5L096GA41
5L096KA04
(57)【要約】
【課題】たとえ対象物の境界が曖昧であっても、一律に後処理を実行する場合と比べて対象物の領域推定精度を向上させる。
【解決手段】画像処理装置10は、プロセッサ10aと、表示装置10eを備える。プロセッサ10aは、プログラムを実行することで、画像の中から対象物の領域を推定し、画像と推定した対象物の領域とを用いて対象物の輪郭を抽出する。そして、当該輪郭を、画像の色差情報を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分し、第1の輪郭領域に対して第1の補正処理を実行し、記第2の輪郭領域に対して第1の補正処理と異なる第2の補正処理を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
プロセッサと、
表示装置と、
を備え、前記プロセッサは、
画像の中から対象物の輪郭を特定し、
前記輪郭を、前記画像の色差情報を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分し、
前記第1の輪郭領域に対して第1の補正処理を実行し、前記第2の輪郭領域に対して前記第1の補正処理と異なる第2の補正処理を実行し、
補正処理後の輪郭を前記表示装置に表示する、
画像処理装置。
【請求項2】
前記プロセッサは、前記輪郭を、前記画像の色差の大小を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分する、
請求項1に記載の画像処理装置。
【請求項3】
前記第2の輪郭領域は、前記第1の輪郭領域に比べて、色差が相対的に小さい領域であり、
前記第2の補正処理は、前記第1の補正処理に比べて、補正の度合いが相対的に小さい補正処理である、
請求項1,2のいずれかに記載の画像処理装置。
【請求項4】
前記第2の補正処理は、非補正処理である、
請求項3に記載の画像処理装置。
【請求項5】
前記プロセッサは、
前記第1の輪郭領域と前記第2の輪郭領域とを識別可能に前記表示装置に表示する、
請求項1,2のいずれかに記載の画像処理装置。
【請求項6】
前記表示装置に表示された、前記第1の輪郭領域と前記第2の輪郭領域の少なくともいずれかを修正可能な操作部をさらに備える、請求項5に記載の画像処理装置。
【請求項7】
前記プロセッサは、学習済の機械学習モデルを用いて前記対象物の領域を推定する、
請求項1,2のいずれかに記載の画像処理装置。
【請求項8】
前記第1の補正処理は、CRF法、GraphCut法、GrowCut法のいずれかを含む、請求項1,2のいずれかに記載の画像処理装置。
【請求項9】
プロセッサに、
画像の中から対象物の輪郭を抽出するステップと、
前記輪郭を、前記画像の色差情報を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分するステップと、
前記第1の輪郭領域に対して第1の補正処理を実行し、前記第2の輪郭領域に対して前記第1の補正処理と異なる第2の補正処理を実行するステップと、
補正処理後の輪郭を表示装置に表示するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
Web広告やポップ広告の作成等の画像加工の分野では、画像中から対象物の領域を切り出す作業が行われている。
【0003】
特許文献1には、エッジから選択した輪郭に基づき、画像を前景、背景、境界領域に区分し、境界領域の画素を前景、背景に割り当てることで領域分離を行う技術が記載されている。
【0004】
特許文献2には、切り抜き対象の形状を大まかに与え、クラスタリングした画素値に微分フィルタを適用することで抽出した輪郭に基づき領域分離する技術が記載されている。
【0005】
特許文献3には、機械学習モデルを2つ活用し、第1のモデルで抽出した画像特徴を活用し、第2のモデルで領域を推定することで切り抜き精度を高める技術が記載されている。
【0006】
特許文献4には、ルックアップテーブルを活用することで機械学習による計算を効率化して領域を推定する技術が記載されている。
【0007】
さらに、非特許文献1には、細部の詳細構造における機械学習の推測精度を向上させるために、機械学習の出力に後処理として条件付き確率場(Conditional Random Field; CRF)を適用することが記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2016-122367号公報
【特許文献2】特開2017-220098号公報
【特許文献3】特許第6872502号
【特許文献4】特許第6715289号
【非特許文献】
【0009】
【非特許文献1】「Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs」, Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, Alan L. Yuille, (2014)
【発明の概要】
【発明が解決しようとする課題】
【0010】
画像から対象物の画像を切り抜く際には、高精度に対象物の領域を推定することが必要である。推定精度を向上させるために、既述のように機械学習の出力に後処理として条件付き確率場(CRF)を組み合わせた技術が提案されているが、境界が曖昧な対象物に対して後処理を適用すると逆に推定程度が低下してしまう場合がある。
【0011】
本発明は、たとえ対象物の境界が曖昧であっても、一律に後処理を実行する場合と比べて対象物の領域推定精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の第1の態様は、プロセッサと、表示装置と、を備え、前記プロセッサは、画像の中から対象物の輪郭を抽出し、前記輪郭を、前記画像の色差情報を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分し、前記第1の輪郭領域に対して第1の補正処理を実行し、前記第2の輪郭領域に対して前記第1の補正処理と異なる第2の補正処理を実行し、補正処理後の輪郭を前記表示装置に表示する、画像処理装置である。
【0013】
第2の態様は、前記プロセッサは、前記輪郭を、前記画像の色差の大小を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分する、第1の態様に係る画像処理装置である。
【0014】
第3の態様は、前記第2の輪郭領域は、前記第1の輪郭領域に比べて、色差が相対的に小さい領域であり、前記第2の補正処理は、前記第1の補正処理に比べて、補正の度合いが相対的に小さい補正処理である、第1、第2の態様のいずれかに係る画像処理装置である。
【0015】
第4の態様は、前記第2の補正処理は、非補正処理である、第3の態様に係る画像処理装置である。
【0016】
第5の態様は、前記プロセッサは、前記第1の輪郭領域と前記第2の輪郭領域とを識別可能に前記表示装置に表示する、第1、第2の態様のいずれかに係る画像処理装置である。
【0017】
第6の態様は、前記表示装置に表示された、前記第1の輪郭領域と前記第2の輪郭領域の少なくともいずれかを修正可能な操作部をさらに備える、第5の態様に係る画像処理装置である。
【0018】
第7の態様は、前記プロセッサは、学習済の機械学習モデルを用いて前記対象物の領域を推定する、第1、第2の態様のいずれかに係る画像処理装置である。
【0019】
第8の態様は、前記第1の補正処理は、CRF法、GraphCut法、GrowCut法のいずれかを含む、第1、第2の態様のいずれかに係る画像処理装置である。
【0020】
第9の態様は、プロセッサに、画像の中から対象物の輪郭を抽出するステップと、前記輪郭を、前記画像の色差情報を用いて、少なくとも第1の輪郭領域と第2の輪郭領域とに区分するステップと、前記第1の輪郭領域に対して第1の補正処理を実行し、前記第2の輪郭領域に対して前記第1の補正処理と異なる第2の補正処理を実行するステップと、補正処理後の輪郭を表示装置に表示するステップと、を実行させるプログラムである。
【発明の効果】
【0021】
第1、第9の態様によれば、たとえ対象物の境界が曖昧であっても、一律に後処理を実行する場合と比べて対象物の領域推定精度を向上させ得る。
【0022】
第2の態様によれば、さらに、輪郭領域を自動区分できる。
【0023】
第3の態様によれば、さらに、輪郭領域の区分に応じた補正処理が実行される。
【0024】
第4の態様によれば、さらに、補正による精度低下を防止できる。
【0025】
第5の態様によれば、さらに、ユーザは輪郭領域の区分を識別できる。
【0026】
第6の態様によれば、さらに、ユーザにより輪郭領域の区分を修正して微調整できる。
【0027】
第7の態様によれば、さらに、機械学習モデルを用いて最適化できる。
【0028】
第8の態様によれば、さらに、多様な補正処理に対応できる。
【図面の簡単な説明】
【0029】
【
図3】実施形態の輪郭抽出処理の模式図(その1)である。
【
図4】実施形態の輪郭抽出処理の模式図(その2)である。
【
図5】実施形態の領域区分処理の模式図(その1)である。
【
図6】実施形態の領域区分処理の模式図(その2)である。
【
図10】変形例の領域修正処理の模式図(その1)である。
【
図11】変形例の領域修正処理の模式図(その2)である。
【発明を実施するための形態】
【0030】
以下、図面に基づき本発明の実施形態について説明する。
【0031】
図1は、本実施形態に係る画像処理装置10の機能ブロック図を示す。画像処理装置10は、画像100を入力し、画像100を処理することで画像100に含まれる対象物の画像を切り出す(抜き出す)処理を実行する装置である。
【0032】
画像100は、画像処理装置10の処理対象となる画像であり、任意の解像度及び任意の色情報を有する。画像100には切り出し(抜き出し)の対象となる対象物の画像が含まれるが、当該対象物も任意である。本実施形態では、対象物の一例として容器、特に飲料容器を例示するが、これに限定されず他の容器、食品、人物、建物等であってもよい。また、画像100から切り出された対象物の画像は、例えばWeb広告やポップ広告等に供されるが、その用途も特に限定されるものではない。
【0033】
画像処理装置10は、機能ブロックとして、画像入力部12、領域推定部16、輪郭抽出部18、輪郭区分部20、輪郭補正部22、及び表示部24を備える。
【0034】
画像入力部12は、処理対象としての画像100を入力する。画像入力部12は、画像100を記憶した記憶媒体から画像100を読み出して入力してもよく、有線/無線の専用/公衆通信回線を介して画像100を入力してもよい。通信回線の一例はインターネットであるが、これに限定されない。
【0035】
領域推定部16は、画像入力部12で入力した画像100を処理し、画像100に含まれる対象物の画像の領域(以下、単に「対象物の領域」と称する)を推定する。領域推定部16における推定の方法は任意であるが、領域推定部16で自動的に対象物の領域を推定することが望ましい。一例として、領域推定部16は、機械学習済の機械学習モデル14を用い、画像100を機械学習モデル14で処理することで対象物の領域を推定する。機械学習モデル14も任意であり、エンコーダ・デコーダ構造を有するU-NET、DeepLab V3+等の深層学習モデルを利用してもよい。あるいは、第1の機械学習モデルと第2の機械学習モデル等の複数の機械学習モデルを組み合わせて用いてもよい。機械学習モデル14の一例は非特許文献1に示されている。領域推定部16は、これらの機械学習モデル14を用いて対象物の領域を推定し、対象物の領域を表す二値化画像(マスク画像)を作成する。
【0036】
輪郭抽出部18は、領域推定部16で作成されたマスク画像に対し、その輪郭を抽出することで対象物の輪郭を抽出する。輪郭抽出部18は、マスク画像のマスク領域の輪郭を対象物の輪郭として抽出する。輪郭抽出の方法は任意であるが、例えばマスク画像に対してモルフォロジー変換を適用して輪郭を抽出する。すなわち、マスク画像に対してモルフォロジー変換の膨張処理を実行して膨張画像を作成し、他方でマスク画像に対してモルフォロジー変換の収縮処理を実行して収縮画像を作成し、膨張画像と収縮画像の差分を演算することでマスク画像の輪郭を抽出する。
【0037】
具体的には以下の通りである。
【0038】
【数1】
ここで、M
Dilは膨張処理をしたマスク画像を表し、
【数2】
はi回膨張処理を繰り返すことを表す。
【0039】
同様に、M
Eroは収縮処理をしたマスク画像を表し、
【数3】
はi回収縮処理を繰り返すことを表す。また、Kはカーネルを表しており、例えば8近傍であれば、以下で表される。
【0040】
【0041】
Bは、膨張画像と収縮画像の差分を演算して得られるマスク画像の輪郭を表す。
【0042】
なお、膨張処理及び収縮処理に用いるカーネルサイズ及び繰り返し回数iは任意に設定し得る。また、マスク画像の対象領域の最外側の画素を取得して膨張処理する等も可能である。
【0043】
輪郭区分部20は、輪郭抽出部18で抽出された対象物の輪郭を複数の領域に区分する。対象物の領域を複数の領域に区分する理由は、例えば非特許文献1に記載されているように、機械学習の出力に後処理として条件付き確率場(CRF)を適用して精度を向上させようとする場合において、CRF法が色情報を利用するために、例えば透明な容器やコップ等のように切り抜き対象物の境界の一部に曖昧で色差が相対的に小さい曖昧な境界を含むときに、当該曖昧な境界部分において逆に精度が低下してしまうからである。
【0044】
このため、本実施形態では、対象物の輪郭を、その境界が曖昧でない(明確な)領域と曖昧な領域とに区分し、一律にCRF法を適用するのではなく、輪郭の区分毎に異なる補正処理を実行することで、補正による精度低下を抑制する。
【0045】
本実施形態では、対象物の輪郭を曖昧でない領域と曖昧な領域に区分するが、2つの領域に区分するのではなく、必要に応じて3つあるいはそれ以上に区分してもよい。また、境界が曖昧か否かは、その境界の色差の大小により定量的に評価し得るから、境界の色差を算出し、算出した色差を閾値と大小比較して、色差が閾値以上であれば曖昧でない領域、色差が閾値未満であれば曖昧な領域と区分することができる。
【0046】
より詳細には、画像100のうち、対象物の輪郭領域の各画素の近傍に対応する画素を取得し、これらの近傍画素において、マスク画像の対象物の画素、対象物でない画素に対応する画素値のそれぞれの平均値を算出する。算出された平均値の差分の絶対値を閾値と大小比較し、閾値以上であれば曖昧でない領域と区分し、閾値未満であれば曖昧な領域と区分する。
【0047】
閾値として第1閾値、第2閾値(第1閾値>第2閾値)とし、差分の絶対値が第1閾値以上であれば曖昧でない領域、差分の絶対値が第1閾値未満でかつ第2閾値以上であればグレイ領域、第2閾値未満であれば曖昧な領域と3つの領域に区分してもよい。
【0048】
色差は、L*a*b*空間で算出してもよく、あるいはHSV空間で算出してもよい。また、平均値ではなく中央値等の他の代表値であってもよい。
【0049】
輪郭補正部22は、輪郭区分部20で区分されたそれぞれの輪郭領域に対し、異なる補正処理を実行する。すなわち、輪郭区分部20で区分された曖昧でない領域を第1の輪郭領域、曖昧な領域を第2の輪郭領域とすると、第1の輪郭領域に対しては第1の補正処理を実行し、第2の輪郭領域に対しては第1の補正処理と異なる第2の補正処理を実行する。勿論、3つの領域に区分した場合には、これに応じて第1の輪郭領域に対しては第1の補正処理を実行し、第2の輪郭領域に対しては第1の補正処理と異なる第2の補正処理を実行し、第3の輪郭領域に対しては第1、第2の補正処理と異なる第3の補正処理を実行してもよい。
【0050】
第1の補正処理と第2の補正処理は任意であるが、第2の補正処理は第1の補正処理よりも補正の度合いが相対的に小さい補正処理である。例えば、第1の補正処理をCRF法とし、第2の補正処理を「非補正」処理、つまり補正しない処理とする等である。第2の補正処理を第1の補正処理よりも補正の度合いが相対的に小さい補正処理とするのは、補正による精度低下を減殺するためである。また、第1の補正処理として、CRF法以外にも、輪郭の内側を前景シード、輪郭の外側を背景シードとしてGraph Cut法に代表されるエネルギ関数最小化手法や、Grow Cut法に代表される領域拡張手法を用いてもよい。
【0051】
表示部24は、輪郭補正部22で補正されたマスク画像、すなわち補正マスク画像を表示する。補正マスク画像は、補正された輪郭で囲まれた対象物領域を白、それ以外を黒とする二値化画像であるが、その表示形態は特に限定されない。
【0052】
図2は、画像処理装置10の主要構成ブロック図を示す。画像処理装置10は、コンピュータで構成され、プロセッサ10a、ROM10b、RAM10c、入出力インターフェイス(I/F)10d、表示装置10e、及び記憶装置10fを備える。
【0053】
プロセッサ10aは、ROM10bや記憶装置10fに記憶されたアプリケーションプログラムを読み出し、RAM10cをワーキングメモリとして用いて一連の処理を実行し、入力した画像100から対象物の領域を推定し、対象物の輪郭を抽出し、抽出した輪郭を複数に区分し、区分した領域毎に異なる補正処理を実行する。プロセッサ10aは、補正処理を実行して得られた画像、すなわち補正マスク画像を表示装置10eに出力して表示する。
【0054】
入出力I/F10dは、画像100を入力する。入出力I/F10dは、キーボードやタッチスイッチ等、スキャナ等の入力デバイス、外部装置と通信回線で接続された通信I/Fで構成され得る。
【0055】
表示装置10eは、液晶ディスプレイや有機ELディスプレイ等で構成され、補正マスク画像を表示する。
【0056】
記憶装置10fは、揮発性あるいは不揮発性の記憶装置で構成され、アプリケーションプログラム等の各種プログラムを記憶する。また、機械学習済の機械学習モデル14を記憶する。機械学習モデル14は、画像100から対象物の領域を推定する際に用いられる。機械学習モデル14は公知であるが、例えばディープニューラルネットワーク(DNN)で構成され得る。
【0057】
プロセッサ10aは、記憶装置10fに記憶されたDNNを用いて入力信号を処理し、処理結果を出力信号として出力する。入力信号は、入出力I/F10dを介してプロセッサ10aに供給された画像10の画像信号である。プロセッサ10aは、例えばGPU(Graphics Processing Unit)で構成されてもよく、プロセッサ10aとして、GPGPU(General-purpose computing on graphics processing units; GPUによる汎用計算)を用いてもよい。
【0058】
DNNは、入力層、中間層、及び出力層を備える。入力層は入力信号が入力される。中間層は複数層から構成され、入力信号を順次処理する。出力層は、中間層からの出力に基づいて出力信号を出力する。各層は、複数のニューロン(ユニット)を備え、活性化関数fで活性化ニューロンとされる。
【0059】
層lのニューロンを
【数5】
としたとき、層l+1のニューロンの一つである
【数6】
へと層lのニューロン
【数7】
からつながる重みベクトルを
【数8】
であるとすると、層l+1のニューロン
【数9】
は、
【数10】
である。同様にして、層l+1内の別のニューロンである
【数11】
は
・
・
【数12】
である。但し、ここではバイアス項はゼロとして省略している。
【0060】
DNNの学習は、学習データを入力し、学習データに対応する目標値と出力値との差によってロスを算出する。算出されたロスをDNN内で逆伝播させてDNNのパラメータ、すなわち重みベクトルを調整する。重みが調整されたDNNに次の学習データを入力し、新しく出力された出力値と目標値との差により再びロスを算出する。再算出されたロスをDNN内で逆伝播させてDNNの重みベクトルを再調整する。
【0061】
以上の処理を繰り返すことでDNNの重みベクトルを最適化する。重みベクトルは、当初は適当な値に初期化され、その後、学習を繰り返すことで最適値に収束される。
【0062】
非特許文献1には、CNN(畳み込みニューラルネットワーク)、特にディープCNN(DCNN)を用いた画素レベル分類及び物体検出技術が記載されており、本実施形態ではこのようなDCNNを機械学習済の機械学習モデル14として用いてもよい。
【0063】
図2では、1つのコンピュータで画像処理装置10が構成される場合について例示したが、互いに通信回線でデータ送受信可能に接続された複数のコンピュータからなるコンピュータシステムで画像処理装置10が構成されてもよい。また、記憶装置10fの少なくとも一部が通信回線で接続された他のコンピュータで構成されてもよく、機械学習モデル14を他のコンピュータで実現してもよい。さらに、画像100を入力する入力デバイス、あるいは表示装置10eを他のコンピュータで実現してもよく、サーバクライアントシステムにおけるクライアントで入力デバイス及び表示装置10eを実現し、プロセッサ10a等をサーバで実現してもよい。
【0064】
以下、プロセッサ10aで実行される、
・対象物の領域推定処理
・輪郭抽出処理
・輪郭区分処理
・輪郭補正処理
について、具体的に説明する。
【0065】
図3は、画像100、機械学習モデル14を用いた対象物の領域推定結果、及び対処物の輪郭抽出結果を示す。
【0066】
図3(a)は、処理対象の画像100の一例を示す。画像100は、対象物として飲料容器30の画像を含む。飲料容器30の画像は、略透明な部分に対応した曖昧な境界32と、非透明で特定色を有するため曖昧でない境界34を含む。
【0067】
図3(b)は、機械学習モデル14を用いた対象物としての飲料容器30の領域推定結果を示す。画像100を構成する各画素のうち、飲料容器30の領域内に存在すると推定される画素の画素値を「1」(白レベル)にラベル付けし、飲料容器30の領域外に存在すると推定される画素の画素値を「0」(黒レベル)にラベル付けすることで、二値化画像を作成する。白領域が対象物の領域36であり、黒領域が対象物外の領域である。
【0068】
図3(c)は、
図3(b)に示す対象物の領域推定結果から対象物の輪郭を抽出した結果を示す。対象物の輪郭は、
図3(b)における対象物の領域の境界であり、境界領域に位置する画素の画素値を「1」(白レベル)にラベル付けし、境界領域外に位置する画素の画素値を「0」(黒レベル)にラベル付けすることで、対象物の輪郭38を白領域として抽出する。
【0069】
図4は、対象物の輪郭抽出処理の具体例を示す。
図4(a)は、
図3(b)に示す対象物の領域推定結果であり、対象物の領域36が二値化画像の白領域として示されている。プロセッサ10aは、
図4(a)に示す二値化画像に対し、モルフォロジー変換の膨張処理と、モルフォロジー変換の収縮処理を実行する。
【0070】
モルフォロジー変換の膨張処理は公知であり、カーネル内に含まれる画素の画素値が 「1」の画素が一つでも含まれれば,出力画像の注目画素の画素値を「1」に変換する処理である。二値化画像中の白色の領域を増大(膨張)させる機能を有する。
【0071】
他方、モルフォロジー変換の収縮処理も公知であり、カーネル内に含まれる画素の画素値が全て「1」であれば「1」とし、そうでなければ「0」に変換する処理である。二値化画像中の白色の領域を縮小(収縮)させる機能を有する。
【0072】
図4(b1)は、モルフォロジー変換の膨張処理を実行した結果の二値化画像であり、
図4(b2)は、モルフォロジー変換の収縮処理を実行した結果の二値化画像である。既述したように、膨張処理及び収縮処理の繰り返し回数iは任意に設定でき、カーネルのサイズも任意に設定し得る。本実施形態では、上記のように8近傍に設定しているが、これに限定されず、さらには対象物の形状や種類に応じて適応的に調整し得る。
【0073】
図4(c)は、
図4(b1)に示す膨張処理後の二値化画像と、
図4(b2)に示す収縮処理後の二値化画像との差分を演算して得られた二値化画像を示す。膨張処理した画像と収縮処理した画像の差分を演算することで物体の輪郭38が得られることはモルフォロジー勾配として公知である。
【0074】
図5は、抽出した対象物の輪郭を、少なくとも第1の輪郭領域と第2の輪郭領域に区分する処理を示す。
【0075】
図5(a)は、
図3(a)に示す画像100であり、既述したように対象物としての飲料容器30には曖昧な境界32と曖昧でない境界34が含まれる。
【0076】
図5(b)は、
図4(c)に示す対象物の輪郭38を示す二値化画像である。プロセッサ10aは、
図5(a)に示す画像100の色情報、より特定的には色差情報を用いて対象物の輪郭38を曖昧な境界32に対応する輪郭領域42と、曖昧でない境界34に対応する輪郭領域40に区分する。
【0077】
プロセッサ10aは、対象物の輪郭を複数の輪郭領域に区分した後、表示装置10eに表示するが、これら複数の輪郭領域をユーザが識別可能に表示することが望ましい。例えば、輪郭領域40と輪郭領域42を異なる色で表示する、輪郭領域40と輪郭領域42を異なる線種で表示する、輪郭領域40あるいは輪郭領域42のいずれかをハイライト表示する等である。
【0078】
図6は、対象物の輪郭38の区分処理を模式的に示す。プロセッサ10aは、画像100を構成する画素のうち、輪郭38に位置する画素の近傍に対応する画素を取得する。次に、これらの近傍画素において、対象物の存在領域内に位置する画素群の画素値の平均値を算出する。また、対象物の存在領域外に位置する画素群の画素値の平均値を算出する。そして、これら2つの平均値の差分を演算し、差分の絶対値を閾値と大小比較する。差分の絶対値が閾値以上であれば色差が相対的に大きく曖昧でない境界34に対応する輪郭領域と区分する。差分の絶対値が閾値未満であれば色差が相対的に小さく曖昧な領域32に対応する輪郭領域と区分する。
【0079】
図6(a)は、輪郭38のうち、曖昧でない境界34に対応する領域42での処理を示す。輪郭38を構成する注目画素を含むその近傍の画素に対応する画素を画像100から取得する。例えば、注目画素を含むその近傍の3×3画素を画像100から取得する。
図6(a)において、3×3画素が画素群43として示されている。
【0080】
画素群43を構成する3×3画素を
G11 G12 G13
G21 G22 G23
G31 G32 G33
とし、(G11,G12,G21,G22,G31)が対象物の存在領域内に位置する画素群であり、(G13,G23,G32,G33)が対象物の存在領域外に位置する画素群であるとすると、(G11,G12,G21,G22,G31)の画素値の平均値を演算するとともに、(G13,G23,G32,G33)の画素値の平均値を算出し、これら2つの平均値の差分を演算して閾値と大小比較する。その結果、差分の絶対値が閾値以上と判定されれば、領域42は曖昧でない境界に対応する第1の輪郭領域42と区分される。
【0081】
図6(b)は、輪郭38のうち、曖昧な境界32に対応する領域40での処理を示す。輪郭38を構成する注目画素を含むその近傍の画素に対応する画素を画像100から取得する。例えば、注目画素を含むその近傍の3×3画素を画像100から取得する。
図6(b)において、3×3画素が画素群41として示されている。
【0082】
画素群41を構成する3×3画素を
G11 G12 G13
G21 G22 G23
G31 G32 G33
とし、(G11,G21,G22,G31)が対象物の存在領域内に位置する画素群であり、(G12,G13,G23,G32,G33)が対象物の存在領域外に位置する画素群であるとすると、(G11,G21,G22,G31)の画素値の平均値を演算するとともに、(G12,G13,G23,G32,G33)の画素値の平均値を算出し、これら2つの平均値の差分を演算して閾値と大小比較する。その結果、差分の絶対値が閾値未満と判定されれば、領域40は曖昧な境界に対応する第2の輪郭領域40と区分される。
【0083】
プロセッサ10aは、曖昧でない境界に対応する第1の輪郭領域42に対しては、第1の補正処理、例えばCRF法を実行する。CRF法は、一般に、複数のノードからなるグラフに対して、対となるノード間の類似度によるpairwise potentialと、各ノードの持つunary potentialを考慮して、
各ノードに対して最適なラベルを与える方法である。CRFを領域推定補正処理に用いる場合、画像の各画素を各ノードに、対象物体領域か否かを表す値をラベルに設定したCRFモデルを使えばよい。
画像上の画素iのクラスラベルciの条件付き確率の対数は、
【0084】
【数13】
で表現される。右辺第1項のψはunary potential、右辺第2項のφはpairwise potentialを表す。θψ及びθφはそれぞれのパラメータである。εiは、画素iの近傍画素の集合である。gijは画素iと画素jとの相互関係を表す関数で画素同士の色の近さや距離などを計算する。Zは正規化項である。この条件付き確率(の対数)が最大となるように、つまり画像全体としてポテンシャルが最も高くなるように各画素のクラスラベルを決定していく。
【0085】
プロセッサ10aは、曖昧でない境界に対応する第1の輪郭領域42に対しては、第1の補正処理として、Graph Cut法を用いてもよい。Graph Cut法は、「近傍画素の色の近さ」と、「前景らしさ、後景らしさ」の2つから最適な切断面を決定するアルゴリズムである。具体的には、
【数14】
で定義されるエネルギ関数を最小化する。上記の式において、右辺第1項はデータ項であり、背景らしさがなるべく矛盾しないように(前景らしさが強い画素が背景にならないように)調整する項である。右辺第2項は平滑化項であり、近傍の色が近い画素同士は同じラベル(前景or背景)になるように調整する項である。
【0086】
プロセッサ10aは、曖昧でない境界に対応する第1の輪郭領域42に対しては、第1の補正処理として、Grow Cut法を用いてもよい。Grow Cut法は、「近傍画素の色の近さ」と「前景らしさ、背景らしさ」の2つから近傍画素のラベルを更新していくことで領域分割するアルゴリズムである。具体的には、
【数15】
により近傍画素との色の近さ(親近度)を演算し、(自身の信頼度)と(各近傍画素の親近度×信頼度)の大きさに基づいてラベルを更新する。すなわち、自身の信頼度が各近傍画素の親近度×信頼度以上であれば更新せず、自身の信頼度が各近傍画素の親近度×信頼度未満であれば、親近度×信頼度が最も大きい画素のラベルと信頼度に更新していく。
【0087】
また、プロセッサ10aは、曖昧な境界に対応する第2の輪郭領域に対しては、第1の補正処理よりも補正度合いの小さい第2の補正処理を実行する。第2の補正処理は、例えば非補正、つまり補正せずにそのまま維持する処理である。曖昧な境界に対応する第2の輪郭領域に対して意図的に補正せずにそのまま維持することで、補正による精度低下を未然に防止できる。
【0088】
プロセッサ10aは、第1の輪郭領域に対して補正処理を実行し、第2の輪郭領域に対して補正を行わずにそのまま維持して二値化画像を補正した後、その結果を表示装置10eに表示する。
【0089】
図7は、本実施形態の処理フローチャートを示す。プロセッサ10aで実行される処理フローチャートである。
【0090】
まず、処理対象の画像100を入力する(S101)。
【0091】
次に、予め学習済の機械学習モデル14を用いて画像100から対象物の領域を推定する(S102)。
【0092】
次に、推定された対象物の推定領域から対象物の輪郭を抽出する(S103)。例えば、モルフォロジー変換を用いて対象物の推定領域の二値化画像を膨張処理及び収縮処理し、これらの画像の差分を演算することで対象物の輪郭を抽出する。
【0093】
次に、抽出された対象物の輪郭を複数の輪郭領域に区分するために、画像100を構成する画素のうち、抽出した輪郭に位置する各画素の近傍画素に対応する画素群の画素値を用いて色差を演算する(S104)。例えば、対象物の存在領域内に位置する画素群の画素値の平均値を算出し、対象物の存在領域外に位置する画素群の画素値の平均値を算出してこれらの平均値の差分を色差として演算する。
【0094】
次に、演算した色差を用いて対象物の輪郭を少なくとも第1の輪郭領域と第2の輪郭領域に区分する(S105)。すなわち、S104で算出した色差を閾値と大小比較し、閾値以上であれば第1の輪郭領域と区分し、閾値未満であれば第2の輪郭領域と区分する。S104及びS105の処理は、S103で抽出した対象物の輪郭の全ての画素に対して繰り返し実行される。
【0095】
なお、演算した色差を閾値と大小比較した結果、対象物の輪郭を構成する全ての画素において閾値以上である場合は、全てが第1の輪郭領域と区分されるため、結果として複数の輪郭領域に区分されないことになる。この場合には、従来と同様に輪郭の全てを対象としてCRF等の補正処理が実行される。
【0096】
また、演算した色差を閾値と大小比較した結果、対象物の輪郭を構成する全ての画素において閾値未満である場合は、全てが第2の輪郭領域と区分されるため、結果として複数の輪郭領域に区分されないことになる。この場合には、輪郭の全てを対象としてCRF等の補正処理は実行されずにそのまま維持される。
【0097】
次に、第1の輪郭領域に対して第1の補正処理を実行する(S106)。また、第2の輪郭領域に対して第2の補正処理を実行する(S107)。例えば、第1の輪郭領域に対してCRFを実行し、第2の輪郭領域に対しては補正を実行しない。
【0098】
そして、S106及びS107の処理を実行して得られた画像を最終的な補正画像(すなわち補正マスク画像)として表示装置10eに表示する(S108)。
【0099】
図8は、本実施形態における補正マスク画像と、従来技術の補正マスク画像とを対比して示す。
【0100】
図8(a)は、本実施形態の補正マスク画像であり、第1の輪郭領域に対してはCRFを実行し、第2の輪郭領域に対しては補正していない画像である。他方で、
図8(b)は、従来技術の補正マスク画像であり、全ての輪郭に対してCRFを実行した画像である。
図8(b)に示すように、全ての輪郭に対してCRFを実行すると、略透明であるため曖昧な境界に対応する部分48において対象物の本来の輪郭とは異なる輪郭が生じて精度が低下しているところ、
図8(a)に示す本実施形態では、部分48においてCRFが実行されないため精度が低下せず、対象物の本来の輪郭を忠実に抽出し得る。
【0101】
このように、本実施形態では、画像100に含まれる対象物の輪郭を抽出し、この輪郭に対して一律に補正処理を実行するのではなく、画像100の色差情報に応じて輪郭を区分し、区分毎に異なる補正処理を実行することで、補正による精度低下を効果的に抑制できる。
【0102】
本実施形態では、
図1の機能ブロック図に示される通り、領域推定部16で対象物の領域を推定した後に、輪郭抽出部18で対象物の輪郭を抽出しているが、画像100から対象物の輪郭を直接抽出するように機械学習した機械学習モデルを用いて、画像100から直接対象物の輪郭を抽出してもよい。但し、この場合でも、当該機械学習モデルにおいて対象物の領域を推定した上でその輪郭を抽出している以上は、機能上、領域推定部16を備えているといえる。
【0103】
以上、本発明の実施形態について説明したが、本発明は実施形態に限定されるものではなく、種々の変形が可能である。
【0104】
そこで、以下、変形例について説明する。
【0105】
<変形例1>
図9は、変形例に係る画像処理装置10の機能ブロック図である。
図1の画像処理装置10と異なる点は、ユーザ操作部21が追加されている点である。
【0106】
ユーザ操作部21は、キーボードやタッチパネル、タッチペン、マウス等のユーザ操作可能な入力デバイスで構成される。ユーザ操作部21は、輪郭区分部20で対象物の輪郭を複数の輪郭領域に区分した結果に対し、ユーザが手動で修正するためにユーザにより操作される。輪郭区分部20では、画像100の色情報、より特定的には色差情報を用いて対象物の輪郭を自動的に区分するが、当該区分が必ずしも適切でない場合もあり得るからである。
【0107】
ユーザ操作部21は、輪郭区分部20で得られた輪郭区分に対し、その輪郭区分の長さや幅等を手動操作する。プロセッサ10aは、ユーザ操作部21の操作量に応じ、輪郭区分の長さや幅を修正する。
【0108】
図10及び
図11は、ユーザ操作部21による輪郭区分の修正処理を模式的に示す。
【0109】
図10(a)は、輪郭区分部20で対象物の輪郭を第1の輪郭領域42と第2の輪郭領域40に区分した結果の一例を示す。飲料容器30の略透明な部分のうち、図において左側の部分は第2の輪郭領域40として区分されているものの、右側の部分は第1の輪郭領域42として区分されている。
【0110】
そこで、ユーザは、ユーザ操作部21を操作して指の形のカーソル44を表示装置10eに表示させ、右側の部分をなぞることで第1の輪郭領域42から第2の輪郭領域40へと区分を変更する。
【0111】
図10(b)は、修正後のマスク画像を示す。修正した部分が第2の輪郭領域40に変更されている。
【0112】
図11(a)は、輪郭区分部20で対象物の輪郭を第1の輪郭領域42と第2の輪郭領域40に区分した結果の他の例を示す。飲料容器30の略透明な部分が第2の輪郭領域40に区分されているが、その輪郭が本来の輪郭よりも幅が狭い。
【0113】
そこで、ユーザは、ユーザ操作部21を操作して指の形のカーソル44及びスライダ46を表示装置10eに表示させ、スライダ46のポインタを上下にスライドさせることで第2の輪郭領域の幅を増減する。
【0114】
図11(b)は、修正後のマスク画像を示す。第2の輪郭領域40の幅が増大修正されている。
【0115】
なお、ユーザ操作部21による修正を新たな教示データとして用いて機械学習モデル14をさらに学習してもよい。
【0116】
<変形例2>
変形例1では、輪郭区分部20で対象物の輪郭を複数の輪郭領域に自動区分した結果に対し、ユーザが手動で修正しているが、輪郭区分部20で対象物の輪郭を自動区分するのではなく、ユーザがユーザ操作部21を操作して複数の輪郭領域に手動区分してもよい。例えば、
図3(c)に示すように輪郭抽出部18にて対象物の輪郭が抽出された後、ユーザが画像100を視認して、曖昧でない境界に対応する部分を第1の輪郭領域に手動区分し、曖昧な境界に対応する部分を第2の輪郭領域に手動区分する等である。
【0117】
プロセッサ10aによる自動区分と、ユーザ操作部21による手動区分の比率は、対象物の形状や種類に応じて適宜調整し得る。
【0118】
<変形例3>
本実施形態において、プロセッサ10aは、第2の輪郭区分に対して自動的に第2の補正処理を実行するのではなく、第2の輪郭区分が存在する場合にユーザにその旨を表示装置10eに表示して報知してもよい。例えば、
「補正処理を実行すると精度が低下する恐れのある部分があります。
補正を続行しますか(Y/N)」
とのメッセージをポップアップ表示する。
【0119】
このメッセージに対し、ユーザがYESを選択すると、第2の輪郭区分であっても第1の補正処理を実行する。他方で、ユーザがNOを選択すると、第2の輪郭区分に対しては第2の補正処理として非補正を実行する。
【0120】
さらに、プロセッサ10aは、第2の輪郭区分に対して第1の補正処理を実行した結果と、第2の補正処理を実行した結果とを対比可能に表示装置10eに表示し、いずれかをユーザに選択させる処理を実行してもよい。
【符号の説明】
【0121】
10 画像処理装置、12 画像入力部、14 機械学習モデル、16 領域推定部、18 輪郭抽出部、20 輪郭区分部、22 輪郭補正部、24 表示部。