JP2024002152A - 画像処理装置、その制御方法、プログラム - Google Patents
画像処理装置、その制御方法、プログラム Download PDFInfo
- Publication number
- JP2024002152A JP2024002152A JP2022101182A JP2022101182A JP2024002152A JP 2024002152 A JP2024002152 A JP 2024002152A JP 2022101182 A JP2022101182 A JP 2022101182A JP 2022101182 A JP2022101182 A JP 2022101182A JP 2024002152 A JP2024002152 A JP 2024002152A
- Authority
- JP
- Japan
- Prior art keywords
- image
- color
- color chart
- learning model
- specifying
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims description 60
- 230000006870 function Effects 0.000 claims description 12
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 53
- 238000004891 communication Methods 0.000 description 49
- 238000002372 labelling Methods 0.000 description 40
- 238000004364 calculation method Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 22
- 238000003384 imaging method Methods 0.000 description 17
- 238000010801 machine learning Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】 画像に含まれるカラーチャートの傾きや回転角度によらず、カラーチャート内の各カラーパッチの画素値を取得する手段を提供する。【解決手段】 画像内のカラーチャートの各カラーパッチの画素値を取得する画像処理装置であって、カラーチャートを含む画像を入力する手段と、前記入力画像に対して、部分領域学習モデルによる推論を実行する手段と、前記部分領域学習モデルの推論実行結果から、前記入力画像内のカラーチャートの複数の部分領域の位置情報を取得する手段と、前記各部分領域の位置情報から、各カラーパッチの位置を計算する手段と、前記カラーパッチの位置を基に、各カラーパッチの画素値を取得する手段と、を備え、前記部分領域学習モデルは、カラーチャートの複数の部分領域をラベル付けすることを特徴としている。【選択図】 図3
Description
本発明は、画像から特定のオブジェクトを検出する技術に関するものである。
映像制作の現場では、複数の撮像装置を用いて撮影が行われるケースがある。同じ被写体を撮影しても、使用する撮像装置やレンズの個体差や環境照明の違いなどによって、撮像装置から得られる色や輝度の特性が異なる。撮像装置から出力される撮像画像の特性を合わせるため、カラーチャートを用いたカラーマッチングシステムが存在する。
カラーマッチングシステムにおいて、複数カメラで同一のカラーチャートを含んだシーンを撮影し、カラーチャートの各カラーパッチの画素値から、色の差を埋めるような3DLUT(Look Up Table)を生成して、一方のカメラに適用するという方法がある。このような手法を、色合わせあるいはカラーマッチングと呼ぶことがある。
ここで機械学習による物体検出において、画像内に含まれる検出対象物をラベル付けしたトレーニングデータを入力し、検出対象物を学習した学習モデルを生成するという手法がある。前記手法は、検出対象物が画像内に含まれた任意データに対し、前記学習モデルを用いた推論を実行することで、検出対象物の検出位置を矩形(Bounding Box)で出力する。
上記のような物体検出の手法において、カラーチャート全体をラベル付けしたトレーニングデータを用いて物体検出をする場合、カラーチャート自体が矩形であることから、物体検出の出力(Bounding Box)がそのままカラーチャートの正確な位置と解釈できる。したがって、カラーチャートの相対位置情報から各カラーパッチの位置を特定し、各カラーパッチの画素値を算出することが可能である。
しかし、画像に含まれるカラーチャートが正対でない(回転している、傾いている)場合、上記の物体検出方法では、出力結果がそのままカラーチャートの正確な位置と解釈できないため、カラーチャートの相対位置情報から各カラーパッチの位置を特定することができない。
特許文献1には、複数の部分領域を用いて検出対象物の情報を取得する技術が記載されている。特許文献1では、複数の部分領域は、互いに重複する領域と、互いに重複しない領域とを有するように選択する。これにより、画像中の注目部分同士が重複する領域において、複数の推論結果を得られる。さらに、その領域の周辺の領域の推論結果も得られる。
特許文献2には、複数の深層学習モデルを用いることで、検出対象物を精度良く検出する技術が記載されている。特許文献2では、第1の学習済みモデルによって、検出対象物1を検出する。さらに、前記検出対象物1が含まれた画像から、第2の学習済みモデルによって、検出対象物1に含まれる検出対象物2を検出することで検出対象物を精度よく検出することが可能となる。
しかしながら、特許文献1の技術では、複数の部分領域を選択するとき、互いに重複する領域と重複しない領域を含む必要がある。一方で、カラーチャート内に含まれる全カラーパッチの位置は互いに重複していないため、複数の部分領域の出力結果から全カラーパッチの位置を特定できず、各カラーパッチの画素値を取得できない。
また、特許文献2の技術では、第2の学習済みモデルのラベル付け対象が検出対象物2の全体であるため、検出対象物1がカラーチャート、検出対象物2が単体のカラーパッチとなり、検出対象物2の位置情報だけでは、全カラーパッチの位置を特定できず、各カラーパッチの画素値を取得できない。
上記のカラーチャートの例で説明したように、撮影画像から特定のオブジェクトを検出する場合、オブジェクトが撮像装置に正対して撮像されていない場合は適切に検出できない場合がある。
そこで本発明は、撮像されたオブジェクトが撮像装置に対して正対していなかった場合であっても、適切に検出する手段を提供することを目的とする。
上記問題を解決するため、本発明に係る画像処理装置は、カラーチャートを含む画像を入力する入力手段と、前記入力画像に対する、前記カラーチャート全体の領域を検出するための第1の学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの位置を特定する第1の特定手段と、前記第1の特定手段により特定された前記カラーチャートの位置に基づき、前記入力画像から前記カラーチャートを含む領域を切り出した切り出し画像を生成する生成手段と、前記切り出し画像に対する、前記カラーチャートの部分領域を検出するための第2の学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの複数の部分領域の位置を特定する第2の特定手段と、前記複数の部分領域の位置情報から、前記複数のカラーパッチの位置を特定する第2の特定手段と、前記カラーパッチの位置に基づき、前記複数のカラーパッチの画素値を取得する取得手段と、を有する。
本発明によれば、撮像されたオブジェクトが撮像装置に対して正対していなかった場合であっても、特定のオブジェクトを適切に検出することができる。
以下に、本発明を実施するための形態について、添付の図面または表を用いて詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第1の実施形態]
<システム構成>
図1は本発明のシステム構成を説明するための模式図である。図1において、100は業務用ビデオカメラなどの撮像装置である。なお、撮像装置100は、通信機能を備えているものとする。200はモバイル端末としての通信機器であり、スマートフォンやコンピュータに代表されるような通信機能を備えた画像処理装置である。400はネットワークであり、通信機能を備えた装置同士を接続するための通信回線である。
<システム構成>
図1は本発明のシステム構成を説明するための模式図である。図1において、100は業務用ビデオカメラなどの撮像装置である。なお、撮像装置100は、通信機能を備えているものとする。200はモバイル端末としての通信機器であり、スマートフォンやコンピュータに代表されるような通信機能を備えた画像処理装置である。400はネットワークであり、通信機能を備えた装置同士を接続するための通信回線である。
図1において、撮像装置100と通信装置200とは、ネットワーク400でWi-Fiなどの接続手段を経て無線通信で接続されている。撮像装置100は、画像ファイルを通信装置200に転送することが可能である。
<ハードウェア構成>
図2は、本実施形態の通信装置200のハードウェア構成例を示すブロック図である。なお、ここでは通信装置200の一例として、携帯モバイル端末について述べるが、通信装置200はこれに限られない。例えば通信装置200は、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
図2は、本実施形態の通信装置200のハードウェア構成例を示すブロック図である。なお、ここでは通信装置200の一例として、携帯モバイル端末について述べるが、通信装置200はこれに限られない。例えば通信装置200は、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
制御部201は、入力された信号や、後述のプログラムに従って通信装置200の各部を制御する。なお、制御部201が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
無線通信部202は、外部装置と通信するためのインターフェイスである。本実施形態の通信装置200は、無線通信部202を介して、撮像装置100とデータのやりとりを行うことができる。
本実施形態では、無線通信部202はアンテナであり、通信装置200は、アンテナを介して、撮像装置100と接続することができる。なお、撮像装置100および通信装置200との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えば無線LANを通じたPTP/IP(Picture Transfer Protocol over Internet Protocol)を用いることができる。また、無線通信部202は外部装置とUSB(Universal Serial Bus)ケーブルによるUSBインターフェイスも含む。なお、外部装置との通信はこれに限られるものではない。例えば、無線通信部202は、赤外線通信モジュール、Bluetooth(登録商標)通信モジュール、WirelessUSB等の無線通信モジュールを含むことができる。
表示部203は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部203は必ずしも通信装置200が備える必要はない。通信装置200は表示部203と接続することができ、表示部203の表示を制御する表示制御機能を少なくとも有していればよい。
メインメモリ204は、表示部203の画像表示用メモリや、制御部201の作業領域等として使用される。
不揮発性メモリ205は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ205には、制御部201が実行する基本的なソフトウェアであるOS(オペレーティングシステム)や、このOSと協働して応用的な機能を実現するアプリケーションが記録されている。
また、本実施形態では、不揮発性メモリ205には、撮像装置100から取り込んだ画像データの中から2つの画像を用いて、色を合わせるための3DLUTデータを生成するカラーマッチングアプリケーション301(以下カラーマッチングアプリ301)が格納されている。
また、撮像装置100から出力された画像ファイルを管理するファイル管理アプリケーション310(以下ファイル管理アプリ310)および機械学習ライブラリ312が格納されている。
操作部206は、通信装置200に対する指示をユーザーから受け付けるために用いられる。操作部206は例えば、ユーザーが通信装置200の電源のON/OFFを指示するための電源ボタンや、表示部203に形成されるタッチパネルなどの操作部材を含む。
記録部207は、撮像装置100から取り込んだ画像データを記録することができる。記録部207は、通信装置200に着脱可能なよう構成してもよいし、通信装置200に内蔵されていてもよい。すなわち、通信装置200は少なくとも記録部207にアクセスする手段を有していればよい。
公衆網接続部210は、公衆無線通信を行う際に用いられるインターフェイスである。通信装置200は、公衆網接続部210を介して、他の機器と通話することができる。この際、制御部201は、スピーカー208およびマイク209を介して音声信号の入力と出力を行うことで、通話を実現する。
以上が通信装置200の説明である。
<ソフトウェア構成>
続いて、本実施形態における通信装置200のソフトウェア構成図について説明する。なお、以降の説明では便宜上、ソフトウェアが主体となって処理を実行するような記載が含まれるが、実際の処理は制御部201がプログラムや各部からの入力信号に従って通信装置200の各部を制御することにより実現される。また、ユーザーが主体となって処理を実行するような記載が含まれるが、これはユーザーが操作部206で行った指示を制御部201が受け付け、各種処理を行うことを意味する。
続いて、本実施形態における通信装置200のソフトウェア構成図について説明する。なお、以降の説明では便宜上、ソフトウェアが主体となって処理を実行するような記載が含まれるが、実際の処理は制御部201がプログラムや各部からの入力信号に従って通信装置200の各部を制御することにより実現される。また、ユーザーが主体となって処理を実行するような記載が含まれるが、これはユーザーが操作部206で行った指示を制御部201が受け付け、各種処理を行うことを意味する。
図3は、通信装置200のソフトウェア構成図である。通信装置200の不揮発性メモリ205には、種々の固定データ及びファームウェアが記録されている。
記録部207には、制御部201が実行する基本ソフトウェアであるOS316と、制御部201が実行する応用ソフトウェアであるファイル管理アプリ310および機械学習ライブラリ312が記録されている。また、応用ソフトウェアとして、撮像装置100から取り込んだ画像データの中から2つの画像を用いて、色を合わせるための3DLUTデータを生成するカラーマッチングアプリ301が記録されている。
ユーザーが通信装置200の操作部206に含まれる電源スイッチをオンにすると、通信装置200が起動し、制御部201は、記録部207からOS316を読みだしてメインメモリ204に展開し、実行する。また、OS316と、OS上にインストールされるアプリケーションに従って、通信装置200の各部を制御する。
ここで、以降の図の説明において、制御部201がアプリ(またはアプリの機能、あるいはOSやOSのサービス等)に従って所定の処理を実行することを、「アプリ(またはアプリの機能、あるいはOSやOSのサービス等)は所定の処理を行う」のように表現することがある。OS316は、通信装置200の各部を制御する機能を有するだけでなく、アプリに対して種々のサービスを提供する。
ファイル管理アプリ310は、記録部207に記録されたファイル一覧を管理するファイル管理部311を有する。また、ファイル管理機能で管理するファイルの記録部207からの読み出し、およびアプリからの要求に応じた記録部207へのファイルの書き込みを制御する。
機械学習ライブラリ312は、ニューラルネットワークを用いて画像内の検出対象物の位置情報を検出するための推論実行部313、第一の学習モデル記憶部314および第二の学習モデル記憶部315を有する。なお、ニューラルネットワークとは、人間の脳内の神経回路網を模したネットワークモデルである。推論実行部313は、外部からの推論実行指示および推論対象の画像データのパスを受信すると、第一の学習モデル記憶部314または第二の学習モデル記憶部315のいずれかから学習モデルを取得し、受信した画像データに対して推論を実行する。
推論とは、予め生成されている特定の対象物を検出するための学習モデルを基に、機械学習プログラムを実行することを示している。本実施形態において、機械学習プログラムとは、前述した学習モデルにおける検出対象物の位置情報を出力するプログラムであって、画像データを入力することで、検出対象物の位置情報を検出することが可能である。
なお、本実施形態では、記憶できる学習モデルを2つとしているが、3つ以上記憶するとしてもよいものとする。
続いて、本実施形態の特徴である、カラーマッチングアプリ301について説明する。
カラーマッチングアプリ301は、表示制御部302において、表示部203に表示する画面を生成する。生成する画面の構成については、図8の説明にて後述する。
表示制御部302は、ユーザーからの操作を受けて、指定されたフォルダの画像ファイル一覧を表示するために、ファイル管理アプリ310のファイル管理部311に指定フォルダの画像ファイル一覧情報取得要求を送信し、ファイル一覧を取得する。
また、表示制御部302は、サムネイル一覧画像を表示するために、サムネイル画像生成部303に、指定された画像ファイルのサムネイル画像生成要求を送信し、サムネイル画像を取得する。
また、表示制御部302は、切り出し画像を表示するために、切り出し画像生成部304に、切り出し画像生成要求を送信し、切り出し画像を取得する。
また、表示制御部302は、カラーパッチの位置情報を表示するために、カラーパッチ位置計算部305に、カラーパッチ位置情報取得要求を送信し、カラーパッチの位置情報を取得する。
また、表示制御部302は、画素値取得部307に、各カラーパッチの画素値取得要求を送信し、画素値情報取得完了通知を取得する。
また、表示制御部302は、3DLUT生成部308に、3DLUT生成要求を送信し、3DLUT生成完了通知を受け取る。
また、表示制御部302は、3DLUT適用後のプレビューターゲット画像を表示するために、プレビューターゲット画像生成部309に、プレビューターゲット画像生成要求を送信し、プレビューターゲット画像を取得する。
サムネイル画像生成部303は、表示制御部302から指定された画像ファイルのサムネイル画像生成要求を受信すると、ファイル管理アプリ310内の指定された画像ファイルの画像情報を参照してサムネイル画像を生成し、表示制御部302に送信する。
切り出し画像生成部304は、表示制御部302からの切り出し画像生成要求および指定の画像パスを受信すると、検出位置情報取得部306にカラーチャート位置情報取得要求を送信し、検出位置情報取得部306からカラーチャート位置情報を受信する。
切り出し画像生成部304は、検出位置情報取得部306から受信したカラーチャート位置情報を基に、切り出し画像を生成し、表示制御部302に切り出し画像を送信する。
また、切り出し画像生成部304は、ファイル管理部311に対して生成した切り出し画像データを送信する。
切り出し画像の生成方法に関しては、図13にて後述する。
カラーパッチ位置計算部305は、表示制御部302からカラーパッチ位置情報取得要求および指定の切り出し画像パスを受信すると、検出位置情報取得部306にカラーチャート500内の複数の部分領域位置情報の取得要求を送信する。
カラーパッチ位置計算部305は、検出位置情報取得部306からカラーチャート500内の複数の部分領域位置情報を受信すると、カラーチャート内の各カラーパッチの位置を計算し、カラーパッチ位置情報を表示制御部302に送信する。
カラーチャート500内の各カラーパッチの位置の計算方法については、図15にて後述する。
検出位置情報取得部306は、切り出し画像生成部304またはカラーパッチ位置計算部305から検出対象物の位置情報取得要求を受信すると、機械学習ライブラリ312の推論実行部313に指定した学習モデルの推論実行指示を送信する。
検出位置情報取得部306の処理フローに関しては、図12にて後述する。
画素値取得部307は、表示制御部302からの各カラーパッチの画素値取得要求および指定の切り出し画像パスを受信すると、指定の切り出し画像パスから各カラーパッチの画素値を取得し、各カラーパッチの画素値情報を3DLUT生成部308に送信する。また、画素値取得部307は、表示制御部302に画素値情報取得完了通知を送信する。
各カラーパッチの画素値を取得する方法については、図17にて後述する。
3DLUT生成部308は、表示制御部302からの3DLUT生成要求および指定画像の各カラーパッチの画素値情報を受信すると、指定画像の各カラーパッチの画素値情報を基に、3DLUTを生成し、プレビューターゲット画像生成部309に3DLUTデータを送信する。
また、3DLUT生成部308は、表示制御部302に3DLUT生成完了通知を送信するとともに、一時的にLUTデータを保管するために、メインメモリ204に3DLUTデータを送信する。
3DLUTを生成する方法については、図18にて後述する。
プレビューターゲット画像生成部309は、表示制御部302からプレビューターゲット画像生成要求及び色合わせする画像(ターゲット画像)パスを受信すると3DLUT生成部308に3DLUTデータ取得要求を送信し3DLUT生成部308から3DLUTデータを取得する。
ターゲット画像パスおよび3DLUTデータから、プレビューターゲット画像を生成し、表示制御部302に送信する。
プレビューターゲット画像を表示する処理フローについては、図16にて後述する。
<学習モデル作成方法>
次に、図4を用いて、第一の学習モデル314および、第二の学習モデル315を生成するための学習モデル作成方法のフローチャートについて説明する。
次に、図4を用いて、第一の学習モデル314および、第二の学習モデル315を生成するための学習モデル作成方法のフローチャートについて説明する。
本実施形態における学習モデルとは、ニューラルネットワークを用いて検出対象物の位置を学習させた機械学習モデルであり、学習モデルを用いた推論を実行することで検出対象物の位置を検出する。
ユーザーは、学習モデル生成ツールにおいて、検出対象物の位置を矩形(Bounding Box)で指定することができ、1つの学習モデルに複数の検出対象物の位置を学習させることも可能である。
図4に示すフローチャートは、検出対象物を含む画像に対して、検出対象物の位置を教師データとしてラベル付けすることで、物体検出の学習モデルを作成する手順である。
本実施形態において、図4に示す処理は、学習モデル生成ツールを用いるものとする。学習モデル生成ツールは通信装置201ではなく、別のコンピュータにインストールされたPCアプリケーションやクラウドサービスとして準備されているものとする。そして推論実行部313では、前記の学習モデル生成ツールで生成した学習モデルを読み込み、対応した推論を実行可能であるとする。もちろん、通信装置が学習モデル生成ツールを有する構成としてもよい。
図4のS401において、ユーザーは、コンピュータのプロセッサにより制御される学習モデル生成ツールを操作し、検出対象物が含まれた画像を入力し、学習モデル生成ツールは、画像の入力を受け付ける。なお、本実施形態における検出対象物はカラーチャート全体及び一部である。この点については後述する。
図4のS402において、学習モデル生成ツールは、入力された画像を表示し、検出対象物の位置のラベル付けを受け付ける。ユーザーはコンピュータを操作し、S401で入力した画像に対して、画像内に含まれる検出対象物の位置をラベル付けする。第一の学習モデル、第二の学習モデルを生成する際のラベル付けの具体的な方法については、図6、図7にて後述する。
以上のS401~S402の処理を、データセットとして作成する画像枚数分全てに対して繰り返す。データセットとは、画像内に含まれる検出対象物の位置をラベル付けした画像データ群のことであり、学習モデルを作成するときに用いる。
図4のS403において、ユーザーは、学習モデル生成ツールに検出対象物の位置をラベル付けしたデータセットを入力し、学習モデル生成を指示する。入力・指示を付けた学習モデル生成ツールは、画像内から検出対象物の位置を出力する学習モデルを作成する。
<カラーチャート>
次に、図5を用いて、本実施形態におけるカラーチャート500について説明する。
次に、図5を用いて、本実施形態におけるカラーチャート500について説明する。
図5で示すカラーチャート500は、整列に配置されたカラーパッチ501から524を有する。
なお、本実施形態のカラーチャートの一例として、各行のカラーパッチ数が6、各列のカラーパッチ数が4の合計24個で構成されているカラーチャートについて述べるが、カラーチャートはこれに限られない。例えばカラーチャートは、少なくとも各行、各列M×N(M、Nはいずれも2以上の整数)に配置されたカラーパッチを有していればよく、カラーチャートの各行および各列を合計したカラーパッチ数は24個より増減してもよい。
<第一の学習モデルのラベル付け方法>
次に、図6を用いて、第一の学習モデルのラベル付け方法について説明する。
次に、図6を用いて、第一の学習モデルのラベル付け方法について説明する。
図6で示すラベル付け範囲601は、第一の学習モデルを生成するために用いるデータセットを、作成する際のラベル付け範囲を示している。
本実施形態における第一の学習モデルとは、画像内に含まれるカラーチャート500全体を検出するための学習モデルである。
S403で第一の学習モデルを作成する場合、S401でカラーチャート500を含む画像を入力する。
第一の学習モデルは矩形による物体検出モデルであって、S402においてラベル付け範囲601とカラーチャート500の四隅とが一致するようにラベル付けをおこなう。
上述した方法で、ユーザーは、ラベル付けしたデータセットを学習モデル生成ツールに入力し、S403で学習モデル生成を指示することによって、入力画像内に含まれるカラーチャート500全体を検出可能な学習モデルが生成される。
<第二の学習モデルのラベル付け方法>
次に、図7を用いて、第二の学習モデルのラベル付け方法について説明する。図7で示すラベル付け範囲701~704は、第二の学習モデルを生成するために用いるデータセットを作成する際の各ラベル付けの範囲を示している。
次に、図7を用いて、第二の学習モデルのラベル付け方法について説明する。図7で示すラベル付け範囲701~704は、第二の学習モデルを生成するために用いるデータセットを作成する際の各ラベル付けの範囲を示している。
本実施形態における第二の学習モデルとは、切り出し画像生成部304によって得られるカラーチャート500の切り出し画像内から、複数の部分領域を検出するための学習モデルである。
S403で第二の学習モデルを作成する場合、S401でカラーチャート500の切り出し画像を入力する。
第二の学習モデルは矩形による物体検出モデルであって、S402においてカラーチャート500の複数の部分領域をラベル付けする。
S402において、ラベル付け範囲701とカラーチャート500のカラーパッチ501の四隅とが一致するようにラベル付けをおこなう。
また、S402において、ラベル付け範囲702とカラーチャート500のカラーパッチ506の四隅とが一致するようにラベル付けをおこなう。
また、S402において、ラベル付け範囲703とカラーチャート500のカラーパッチ519の四隅とが一致するようにラベル付けをおこなう。
また、S402において、ラベル付け範囲704とカラーチャート500のカラーパッチ524の四隅とが一致するようにラベル付けをおこなう。
上述した方法で、ユーザーは、ラベル付けしたデータセットを学習モデル生成ツールに入力し、S403で学習モデル生成を指示することによって、カラーチャート500の切り出し画像内の複数の部分領域を検出可能な学習モデルが生成される。
なお、本実施形態の各ラベル付け範囲701~704の一例として、カラーチャート500の四隅のカラーパッチ単体をラベル付けすることを述べるが、各ラベル付けの範囲や位置はこれに限られない。例えば各ラベル付け範囲は、単体のカラーパッチではなく、2×2などの複数のカラーパッチなどでもよい。つまり、四隅の左上としてカラーパッチ501、502、507、508を、右上としてカラーパッチ505、506、511、512、左下としてカラーパッチ513、514、519、520を、右下としてカラーパッチ517、518、523、524をラベル付け範囲とする。
<カラーマッチングアプリ画面>
次に、図8を用いて、カラーマッチングアプリ301の態様について説明する。図8は、カラーマッチングアプリ301の操作画面の表示状態と機能を示す模式図である。
次に、図8を用いて、カラーマッチングアプリ301の態様について説明する。図8は、カラーマッチングアプリ301の操作画面の表示状態と機能を示す模式図である。
図8(a)において、801はカラーマッチングアプリ301の起動後に表示される画面であり、フォルダ選択ボタン802と、サムネイル画像表示部分803で構成されている。フォルダ選択ボタン802をタップ操作で選択すると、ファイル管理アプリ310のファイル管理部311に保存されたフォルダを選択することができる。フォルダ選択に関する処理フローについては、図9の説明にて後述する。
カラーマッチングアプリ301は、選択されたフォルダ内の画像の情報から、サムネイル画像生成部303でサムネイル画像を生成し、803にフォルダ内の画像のサムネイル画像を表示する。
図8(b)において、804は色合わせの基準とする画像のサムネイル画像(以下、リファレンス画像)をタップしたときに表示されるUIであり、805は色合わせの対象とする画像のサムネイル画像(以下、ターゲット画像)をタップしたときに表示されるUIである。タップして選択したリファレンス画像807およびターゲット画像808は、選択サムネイル画像表示部分806に表示される。
また、809は、切り出し画像生成部304で切り出されたリファレンス画像807のカラーチャートの切り出し画像およびカラーパッチ位置計算部305で出力されたカラーパッチ位置情報を示した画像である。
810は、切り出し画像生成部304で切り出されたターゲット画像808のカラーチャートの切り出し画像およびカラーパッチ位置計算部305で出力されたカラーパッチ位置情報を示した画像である。
811はプレビュー表示ボタンであり、プレビュー表示ボタン811をタップすると、リファレンス画像807およびターゲット画像808の2枚の選択画像から3DLUTを生成して、図8(c)で示すプレビュー画像表示部分812を表示する。
図8(c)において、812はプレビュー画像表示部分であり、プレビュー画像表示ボタン811をタップしたときにリファレンス画像807および3DLUTを適用したターゲット画像が表示される。
813は3DLUT保存ボタンであり、814は3DLUT保存確認ダイアログである。3DLUT保存ボタン813をタップすると、3DLUT保存確認ダイアログ814が、画面801に重畳して表示される。
815は3DLUT保存のキャンセルボタンであり、3DLUT保存のキャンセルボタン815をタップするとダイアログを閉じる。
816は生成した3DLUTをファイル管理アプリにダウンロードする3DLUT保存ボタンであり、3DLUT保存ボタン816をタップするとファイル管理アプリ310のファイル管理部311に3DLUTを保存する。
<指定フォルダの画像情報取得処理>
次に、図9を用いて、ファイル管理アプリ310のファイル管理部311に記録されているフォルダ一覧からフォルダを選択し、指定フォルダ内の画像情報を取得するための処理フローについて説明する。
次に、図9を用いて、ファイル管理アプリ310のファイル管理部311に記録されているフォルダ一覧からフォルダを選択し、指定フォルダ内の画像情報を取得するための処理フローについて説明する。
図9に示す処理フローは、カラーマッチングアプリ301において、図8(a)の画面801表示中に、操作部206にて、フォルダ選択ボタン802のタップを検出したことをトリガーに実行される処理である。
図9のS901において、カラーマッチングアプリ301は、ファイル管理部311に記録されているフォルダから、指定フォルダ内のファイル一覧情報を取得するために、表示制御部302から、ファイル管理部311よりファイル一覧情報取得を要求する。
図9のS902において、カラーマッチングアプリ301は、指定フォルダ内のファイル一覧情報をファイル管理部311から取得する。
ファイル一覧情報を取得すると、ファイル一覧情報に含まれる全てのファイルに対して、S903~S904に示す処理を実行する。
図9のS903において、カラーマッチングアプリ301は、図22を参照してファイルが画像フォーマットかどうかを判断し、ファイルが画像フォーマットであった場合、ファイル管理部311より画像情報を取得する(S904)。画像フォーマットでない場合は、該ファイルに対する処理を終了する。画像フォーマットであるかどうかはファイルの拡張子が所定の拡張子であるかどうかで判断する。
以上のS903~S904の処理を、指定フォルダ内の全てのファイルに対して実行することで、カラーマッチングアプリ301は、指定フォルダ内の画像情報を、ファイル管理部311より取得する。
以上の処理によって、カラーマッチングアプリ301は、ファイル管理アプリ310のファイル管理部311に記録されている、指定フォルダ内の画像情報を取得する。
次に、図22を用いて、カラーマッチングアプリ301が、ファイル管理アプリ310のファイル管理部311より取得する、画像情報リストの一例を示す。
図22は、ファイル管理部311に保存されている各ファイルが、画像ID、画像パスおよびサムネイル画像データ情報を含むことを示している。
カラーマッチングアプリ301がファイル管理部311と画像データをやり取りする際、ファイル管理部311から受信した画像情報リストから画像パスに紐づいている画像IDやサムネイル画像データを参照する。
<切り出し画像およびカラーパッチの位置情報取得処理>
続いて、カラーマッチングアプリ301において、図8(b)に示す選択サムネイル画像表示部分806を表示する際の処理について、図10~図12を用いて説明する。
続いて、カラーマッチングアプリ301において、図8(b)に示す選択サムネイル画像表示部分806を表示する際の処理について、図10~図12を用いて説明する。
図10は、選択サムネイル画像表示部分806に表示する、リファレンス画像807の切り出し画像およびカラーパッチの位置情報809と、ターゲット画像808の切り出し画像およびカラーパッチの位置情報810を取得するための処理フローである。
図10に示す処理フローは、カラーマッチングアプリ301において、図8(b)のサムネイル画像表示部分803の表示中、操作部206にて、リファレンス選択画像804およびターゲット選択画像805のタップを検出したことをトリガーに実行される処理である。
図10のS1001において、カラーマッチングアプリ301は、カラーチャート500の切り出し画像を取得するために、切り出し画像生成部304に、切り出し画像取得を要求し、リファレンス選択画像804およびターゲット選択画像805のパスを入力する。
図10のS1002において、カラーマッチングアプリ301は、カラーチャート500の切り出し画像を切り出し画像生成部304から取得する。切り出し画像生成部304の処理フローに関しては、図11で後述する。
図10のS1003において、カラーマッチングアプリ301は、カラーパッチ位置情報を取得するために、カラーパッチ位置計算部305に、カラーパッチ位置情報取得を要求し、リファレンス選択画像804の切り出し画像およびターゲット選択画像805の切り出し画像のパスを入力する。
図10のS1004において、カラーマッチングアプリ301は、カラーパッチ位置計算部305で計算されたカラーチャート500のカラーパッチ位置情報を取得する。カラーパッチの位置情報の計算方法は、図15で後述する。
図10のS1005において、カラーマッチングアプリ301は、S1002とS1004で取得したカラーチャート500の切り出し画像およびカラーパッチ位置情報を、選択サムネイル画像表示部分806に表示する。
以上の処理によって、カラーマッチングアプリ301は、切り出し画像およびカラーパッチの位置情報を取得する。
<切り出し画像生成部304の処理>
次に、図11を用いて、切り出し画像生成部304におけるカラーマッチングアプリ301からの切り出し画像取得要求受信時の処理フローについて説明する。
次に、図11を用いて、切り出し画像生成部304におけるカラーマッチングアプリ301からの切り出し画像取得要求受信時の処理フローについて説明する。
図11に示す処理フローは、カラーマッチングアプリ301において、切り出し画像生成部304が、表示制御部302からの切り出し画像取得の要求を受信したことをトリガーに実行される処理である。
図11のS1101において、切り出し画像生成部304は、画像内に含まれるカラーチャート500の切り出し画像を生成するために、検出位置情報取得部306に、カラーチャート500の位置情報取得を要求する。このとき、検出位置対象をカラーチャート500の全体に指定する。要求を受けた検出位置情報取得部306で行われる処理は図12で後述する。
図11のS1102において、切り出し画像生成部304は、検出位置情報取得部306から画像内に含まれるカラーチャート500の位置情報を取得する。
図11のS1103において、切り出し画像生成部304は、カラーマッチングアプリ301からの切り出し画像取得要求で受信した入力画像パスを基に、ファイル管理部311に入力画像のパス取得を要求し、ファイル管理部311から指定画像を取得する。
図11のS1104において、切り出し画像生成部304は、前述の指定画像に対して、カラーチャート500の位置情報を基に切り出し画像を生成する。切り出し画像生成部304における切り出し画像の生成方法は、図13で後述する。
図11のS1105において、切り出し画像生成部304は、生成した切り出し画像をファイル管理部311に保存する。
図11のS1106において、切り出し画像生成部304は、生成した切り出し画像のパスを図22における画像情報リストの画像IDに紐づけて記憶する。
以上の処理によって、切り出し画像生成部は、画像に含まれるカラーチャート500の切り出し画像を生成する。
<検出位置情報取得部306の処理フロー>
次に、図12を用いて、検出位置情報取得部306における切り出し画像生成部304からのカラーチャート500の位置情報取得要求受信時またはカラーパッチ位置計算部305からのカラーチャート500の複数の部分領域位置情報の取得要求受信時の処理フローを説明する。
次に、図12を用いて、検出位置情報取得部306における切り出し画像生成部304からのカラーチャート500の位置情報取得要求受信時またはカラーパッチ位置計算部305からのカラーチャート500の複数の部分領域位置情報の取得要求受信時の処理フローを説明する。
図12に示す処理フローは、検出位置情報取得部306が、切り出し画像生成部304またはカラーパッチ位置計算部305から検出位置情報取得要求を受信したことをトリガーに実行される処理である。
図12のS1201において、検出位置情報取得部306は、受信した取得要求の検出位置対象が、カラーチャート500全体かどうかを判断し、検出位置対象がカラーチャート500全体であった場合、適用するモデルを第一の学習モデルに指定する(S1202)。検出位置対象がカラーチャート500の全体でない場合は、適用するモデルを第二の学習モデルに指定する(S1203)。
図12のS1204において、検出位置情報取得部306は、指定した学習モデルの検出位置情報を取得するために、機械学習ライブラリ312の推論実行部313に、S1202またはS1203で指定した学習モデルを用いた推論実行を指示する。
図12のS1205において、検出位置情報取得部306は、推論実行部313から指定した学習モデルの位置情報を取得する。
以上の処理によって、検出位置情報取得部306は、カラーチャート500の全体の位置情報または、カラーチャート500の複数の部分領域の位置情報を取得する。
<第一の学習モデルを用いた推論実行結果>
次に、図23(a)を用いて、第一の学習モデルを用いた推論実行結果から取得できる出力パラメータについて説明する。カラーチャート500全体を検出可能な第一の学習モデルを用いた推論結果は、ラベル名、始点座標x、始点座標y、幅wおよび高さhの5つのパラメータを出力する。なお、矩形の左上を始点とし、右方向がx方向、下方向がy方向とする。
次に、図23(a)を用いて、第一の学習モデルを用いた推論実行結果から取得できる出力パラメータについて説明する。カラーチャート500全体を検出可能な第一の学習モデルを用いた推論結果は、ラベル名、始点座標x、始点座標y、幅wおよび高さhの5つのパラメータを出力する。なお、矩形の左上を始点とし、右方向がx方向、下方向がy方向とする。
図23(a)における推論結果のラベル名は、図7のラベル付け範囲601のラベル名を示しており、ラベル名はColor Chartである。
図23(a)における推論結果の始点座標x、始点座標yは、ラベル付け範囲601の左上の座標を表している。
図23(a)における推論結果の幅w、高さhはそれぞれ、左上の座標を起点としたときのラベル付け範囲601の水平方向の長さおよび垂直方向の長さを表している。図23(a)の推論結果において、左上の座標x、y、幅wおよび高さhからラベル付け範囲601の四隅の座標を求めることができる。
次に、図23(b)を用いて、第二の学習モデルを用いた推論実行結果から取得できる出力パラメータについて説明する。カラーチャート500内の複数の部分領域を検出可能な第二の学習モデルを用いた推論結果は、ラベル名、始点座標x、始点座標y、幅wおよび高さhの5つのパラメータを出力する。
図23(b)における推論結果のラベル名は、ラベル付け範囲701~704のラベル名を示している。
図23(b)におけるラベル付け範囲701のラベル名は、Left Upである(四隅のうち左上)。
図23(b)におけるラベル付け範囲702のラベル名は、Left Bottomである(四隅のうち左下)。
図23(b)におけるラベル付け範囲703のラベル名は、Right Upである(四隅のうち右上)。
図23(b)におけるラベル付け範囲704のラベル名は、Right Bottomである(四隅のうち右下)。
図23(b)における推論結果の始点座標x、始点座標yは、ラベル付け範囲701~704の左上の座標を表している。
図23(b)における推論結果の幅w、高さhはそれぞれ、左上の座標を起点としたときのラベル付け範囲701~704の各水平方向の長さおよび垂直方向の長さを表している。図23(b)の推論結果において、左上の座標x、y、幅wおよび高さhからラベル付け範囲701~704の四隅の座標を求めることができる。
<切り出し画像生成方法の説明図>
次に、図13を用いて、切り出し画像生成部304で生成されるカラーチャート500の切り出し画像の生成方法について説明する。
次に、図13を用いて、切り出し画像生成部304で生成されるカラーチャート500の切り出し画像の生成方法について説明する。
図13(a)は、カラーチャート500が含まれた画像の一例を示している。
1301は、切り出し画像生成部304が、検出位置情報取得部306から取得したカラーチャート500の検出位置結果を示している。前述したように、切り出し画像生成部304は検出位置結果として矩形領域を出力する。
なお、本実施形態における検出位置結果1301は、カラーチャート500の一部と重なっているが、検出位置結果1301はこれに限られない。例えば検出位置結果1301は、画像に含まれるカラーチャート500が正対していた場合、カラーチャート500と一致する。また、検出位置結果1301は、カラーチャート500よりも外側を検出してもよい。
S1105において、切り出し画像生成部304は、検出位置結果1301を基に切り出した切り出し画像を、ファイル管理部311に保存する。
図13(b)は、切り出し画像生成部304で生成したカラーチャート500の切り出し画像および、カラーチャート500周辺の背景部分を示している。
1302は、検出位置結果1301および検出位置結果1301よりも外側の背景部分を含んだ範囲の矩形であり、検出結果1301に対していわゆる余白を設けている。切り出し画像生成部304は矩形1302を切り出すことによって、カラーチャート500と、その外側の画素を含んだ切り出し画像を生成することができる。
<カラーパッチ位置計算部305の処理>
次に、図14を用いて、カラーパッチ位置計算部305におけるカラーマッチングアプリ301からのカラーパッチ位置情報の取得要求受信時の処理フローについて説明する。
次に、図14を用いて、カラーパッチ位置計算部305におけるカラーマッチングアプリ301からのカラーパッチ位置情報の取得要求受信時の処理フローについて説明する。
図14に示す処理フローは、カラーマッチングアプリ301において、カラーパッチ位置計算部305が、表示制御部302からのカラーパッチ位置取得要求を受信したことをトリガーに実行される処理である。
図14のS1401において、カラーパッチ位置計算部305は、カラーチャート500内の複数の部分領域の位置情報を取得するために、検出位置情報取得部306に、カラーチャート500内の複数の部分領域の位置情報取得を要求する。このとき、検出位置対象をカラーチャート500内の複数の部分領域に指定する。要求を受けた検出位置情報取得部306の処理は図12で説明されている。
図14のS1402において、カラーパッチ位置計算部305は、検出位置情報取得部306よりカラーチャート500内の複数の部分領域の位置情報を取得する。
図14のS1403において、カラーパッチ位置計算部305は、S1402で取得した各部分領域の位置情報から各部分領域の中央位置の座標を計算する。各部分領域の位置情報から各部分領域の中央位置の座標を計算する方法については、図15(a)で後述する。
図14のS1404において、カラーパッチ位置計算部305は、S1403で計算した各部分領域の中央位置の座標から各カラーパッチの位置を計算する。各部分領域の中央位置の座標から各カラーパッチの位置を計算する方法については、図15(b)で後述する。
以上の処理によって、カラーパッチ位置計算部305は、カラーチャート500の各カラーパッチの位置を計算する。
<カラーチャート500の各カラーパッチ位置計算方法>
次に、図15を用いて、カラーパッチ位置計算部305におけるカラーチャート500の各カラーパッチ位置計算方法について説明する。
次に、図15を用いて、カラーパッチ位置計算部305におけるカラーチャート500の各カラーパッチ位置計算方法について説明する。
図15(a)は、カラーパッチ位置計算部305が、検出位置情報取得部306から取得したカラーチャート500内の複数の部分領域の位置情報を示す一例である。各部分領域の位置情報は、推論実行部313による第二の学習モデルを用いた推論を実行した出力結果から取得される。
1501~1504は、検出位置情報取得部306から取得した各部分領域の検出位置結果を示している。
検出位置結果1501は、検出位置結果の矩形内にカラーチャート500のカラーパッチ501全体を含んでいる。
また、検出位置結果1502は、検出位置結果の矩形内にカラーチャート500のカラーパッチ506全体を含んでいる。
また、検出位置結果1503は、検出位置結果の矩形内にカラーチャート500のカラーパッチ519全体を含んでいる。
また、検出位置結果1504は、検出位置結果の矩形内にカラーチャート500のカラーパッチ524全体を含んでいる。
図15(a)における点A~点Dは検出位置結果1501~1504を基に生成された矩形の各中心座標を示している。
図15(b)は、検出位置結果の矩形から矩形の中心座標を求める方法を説明するための一例として、単体のカラーパッチ1505とその検出位置結果1506を示す図である。
検出位置結果1506の左上の座標をP(i、j)、各辺の長さがdの正方形とすると、S1403において、カラーパッチ位置計算部305は、検出位置結果1506における中心座標Oを以下の式(1)で計算することができる。
式(1)を用いることによって、図15(a)における検出位置結果1501~1504の各中心座標を求めることが可能であり、カラーパッチ位置計算部305は、各検出位置結果の矩形における各中心座標を取得することができる。
O(x、y)=P(i+d/2、j+d/2)・・・(式1)
図15(c)は、S1504で図15(b)における検出位置結果1501~1504の各中心座標の距離情報から、各カラーパッチの中心座標を求める方法を説明するために示した図である。
O(x、y)=P(i+d/2、j+d/2)・・・(式1)
図15(c)は、S1504で図15(b)における検出位置結果1501~1504の各中心座標の距離情報から、各カラーパッチの中心座標を求める方法を説明するために示した図である。
ここでは一例として、任意のカラーパッチの中心座標(xmn、ymn)を求めるための説明を述べる。下付き文字mおよびnは、左上のカラーパッチ501の中心座標を始点としてカラーパッチの位置を1行1列目としたときの、m行n列目を示している。
任意のカラーパッチの中心座標(xmn、ymn)を求めるために、カラーチャート500内の四隅のカラーパッチの各中心座標を結んだ四角形を作成する。この四角形は、カラーチャート500内の外側の各カラーパッチの中心座標上を通り、水平方向および垂直方向の線分上にある、各カラーパッチの中心座標で各線分を等分する。
したがって、水平方向の線分上に中心座標は6点存在するため、この線分を中心座標6点で等分すると水平方向の線分における等分数は5となる。同様に、垂直方向の線分上に中心座標は4点存在するため、この線分を中心座標4点で等分すると垂直方向における等分数は3となる。すなわち、線分を中心座標N点で等分するとき、等分数はN-1となる。
まず、任意のカラーパッチの中心座標(xmn、ymn)を求めるために、カラーパッチ501の中心座標(x11、y11)およびカラーパッチ519の中心座標(x14、y14)から、以下の式(2)(3)を用いて、カラーパッチ507、513の中心x座標と中心y座標を求める。
さらに、カラーパッチ506の中心座標(x61、y61)およびカラーパッチ524の中心座標(x64、y64)から、以下の式(4)(5)を用いて、カラーパッチ512、518の中心x座標と中心y座標を求める。
上述の式(2)~(5)を用いることで、カラーチャート500内の四隅のカラーパッチの各中心座標を結んだ四角形における垂直方向の線分上に存在するカラーパッチ507、512、513、518の中心座標を求めることができる。
続いて、n列目のカラーパッチの中心座標(x1n、y1n)、(x6n、y6n)を結んだ水平方向の線分から任意のカラーパッチの中心座標(xmn、ymn)を求めるために、以下の式(6)(7)を用いる。
上述の(式2)~(式7)を用いることで、カラーチャート500のすべてのカラーパッチの中心座標を求めることができる。
たとえば、図15(c)で示したカラーパッチ508の中心座標(x32、y32)を求めるには、まず、式(2)~(5)にn=2を代入して、検出した四隅のカラーパッチの各中心座標を結んだ四角形の垂直方向の線分から、中心座標(x12、y12)、(x62、y62)を求める。
この2点を結ぶことで、カラーチャート508の中心座標が位置する水平方向の線分を特定することができ、この線分上には、中心座標(xm2、ym2)(1≦m≦6)が存在する。
続いて、式(6)(7)にm=3、n=2を代入することで、カラーパッチ508中心座標(x32、y32)の位置を計算することができる。
以上の計算によって、カラーパッチ位置計算部305は、カラーチャート500内の各カラーパッチの中心座標を求めることができる。
なお、本実施形態の図15の説明において、カラーチャート500内の各カラーパッチ間の距離が一律であることを前提とした計算方法について記載した。ただし、カラーチャート500が奥行方向に傾き、見かけ上台形やいびつな形状の場合に、検出した四隅のカラーパッチの各中心座標を結んだ四角形の各辺の長さの比に応じた係数を求め、各カラーパッチ間の距離に重み付けして、各カラーパッチの中心座標を求めるとしてもよい。また、カラーチャート500を射影変換で正対に変換してから、上述の式(2)~式(9)を用いて各カラーパッチの中心座標を求めるとしてもよい。
<プレビュー画像表示>
続いて、カラーマッチングアプリ301において、図8(c)に示すプレビュー画像表示部分809を表示する際の処理について、図16、図17を用いて説明する。
続いて、カラーマッチングアプリ301において、図8(c)に示すプレビュー画像表示部分809を表示する際の処理について、図16、図17を用いて説明する。
図16に示す処理フローは、カラーマッチングアプリ301において、図8(b)のプレビュー画像表示ボタン808表示中に、操作部206にて、プレビュー画像表示ボタン808のタップを検出したことをトリガーに実行される処理である。
図16のS1601において、カラーマッチングアプリ301は、カラーチャート500の各カラーパッチの画素値を取得するために、画素値取得部307に、カラーチャート500の各カラーパッチの画素値取得を要求する。
図16のS1602において、カラーマッチングアプリ301は、画素値取得部307から、カラーチャート500の各カラーパッチの平均画素値情報を取得する。画素値取得部307におけるカラーチャート500の各カラーパッチの平均画素値取得の処理フローに関しては、図17で後述する。
図16のS1603において、カラーマッチングアプリ301は、3DLUTを取得するために、3DLUT生成部308に、3DLUT生成要求を指示する。
図16のS1604において、カラーマッチングアプリ301は、3DLUT生成部308から、3DLUT生成完了通知を受信する。また、3DLUT生成部308は、生成した3DLUTデータをメインメモリ204に保存する。
図16のS1605において、カラーマッチングアプリ301は、リファレンス画像および3DLUTを適用したターゲット画像(以下、プレビューターゲット画像)を表示するために、プレビュー画像表示部分809に、プレビューターゲット画像生成要求を指示する。
プレビューターゲット画像生成部309は、カラーマッチングアプリ301からのプレビューターゲット画像生成要求の指示を受信すると、メインメモリ204から3DLUTデータを取得する。
図16のS1606において、カラーマッチングアプリ301は、プレビューターゲット画像生成部309で生成したプレビューターゲット画像を取得する。リファレンス画像および取得したプレビューターゲット画像は、表示制御部302にて、プレビュー画像表示部分809に表示される。
以上の処理によって、カラーマッチングアプリ301は、プレビュー画像表示部分809にリファレンス画像およびプレビューターゲット画像を表示する。
<画素値取得部307の処理>
次に、図17を用いて、画素値取得部307におけるカラーマッチングアプリ301からの画素値取得要求受信時の処理フローについて説明する。
次に、図17を用いて、画素値取得部307におけるカラーマッチングアプリ301からの画素値取得要求受信時の処理フローについて説明する。
図17に示す処理フローは、カラーマッチングアプリ301において、図8(b)のプレビュー画像表示ボタン808表示中に、操作部206にて、プレビュー画像表示ボタン808のタップを検出したことをトリガーに実行される処理である。
図17のS1701において、画素値取得部307は、カラーマッチングアプリ301から受信した画素値取得要求およびカラーパッチ位置情報から、各カラーパッチの中央位置を取得する。
図17のS1702において、画素値取得部307は、各カラーパッチの中心座標の周辺画素の平均画素値を計算する。なお、平均画素値はRGB値を用いる。
図17のS1703において、画素値取得部307は、S1702で計算した各カラーパッチの平均画素値を記憶する。
以上のS1701~1703の処理をリファレンス画像およびターゲット画像のカラーチャート500の切り出し画像に対して実行することで、各切り出し画像内の各カラーパッチの平均画素値を取得することができる。
図17のS1704において、画素値取得部307は、3DLUT生成部308に対して各切り出し画像内の各カラーパッチの平均画素値情報を出力する。
以上の処理によって、画素値取得部307は、各切り出し画像内の各カラーパッチの平均画素値を取得し、表示制御部302に画素値取得完了通知を送信し、3DLUT生成部308に出力する。
<3DLUTデータ>
次に、図24を用いて、3DLUT生成部308が、カラーマッチングアプリ301からの3DLUT生成要求の指示受信時に生成する、3DLUTデータの一例について説明する。
次に、図24を用いて、3DLUT生成部308が、カラーマッチングアプリ301からの3DLUT生成要求の指示受信時に生成する、3DLUTデータの一例について説明する。
図24に示す3DLUTデータは、3DLUT生成部308が生成する3DLUTデータで、画素値取得部307から取得したリファレンス画像およびターゲット画像のカラーチャート500におけるカラーパッチ24個のRGB値から生成する。3DLUTデータとしての各RGB値の算出方法については、図18にて後述する。
3DLUTは、ターゲット画像のRGB値を入力した際に、対応するリファレンス画像のRGB値に変換して出力することで、ターゲット画像の色味をリファレンス画像に近づけるように補正することができる。
<3DLUTデータの生成方法>
次に、図18を用いて、本実施形態における3DLUTデータの生成方法について説明する。
次に、図18を用いて、本実施形態における3DLUTデータの生成方法について説明する。
本実施形態における3DLUTデータ数は、RGB値で各33ステップを有する33×33×33であるものとする。
図18で示す格子点1801は、色の三原色である赤(R)、緑(G)、青(B)それぞれを軸とした3次元グラフ上に配置した3DLUTデータの画素値を示している。
3DLUTデータの各RGB値は、画素値取得部307で取得したカラーパッチ24個のRGB値を基に、図18に示す3次元空間上でそれぞれ線形補間を用いて生成される。線形補間については、一般的な座標の補間方法のため詳しい説明は割愛するものとする。
なお、本実施形態では、3DLUTデータ生成手段として線形補間を用いたが、補間する手段はこれに限らず、バイリニア補間やバイキュービック補間など、別の補間方法であってもよい。
以上の処理によって、カラーマッチングアプリ301は、画像に含まれるカラーチャート500の傾きや回転角度によらず、カラーチャート500内の各カラーパッチの画素値を取得することができる。
[第2の実施形態]
第1の実施形態では、第一の学習モデルの推論結果を基に切り出した画像に対して第二の学習モデルによる推論を実行することで、各カラーパッチの位置を算出する方法について説明を行った。
第1の実施形態では、第一の学習モデルの推論結果を基に切り出した画像に対して第二の学習モデルによる推論を実行することで、各カラーパッチの位置を算出する方法について説明を行った。
本実施形態では、第1の実施形態で説明した第二の学習モデルの推論結果のみを用いて、より簡易的な構成で各カラーパッチの位置を算出する方法について説明する。
<ソフトウェア構成>
図19は、本実施形態における通信装置200のソフトウェア構成図である。
図19は、本実施形態における通信装置200のソフトウェア構成図である。
表示制御部302は、図8(b)のリファレンス選択画像804がタップされたとき、カラーパッチ位置計算部305にカラーパッチ位置情報取得を要求し、カラーパッチ位置計算部から各カラーパッチの位置情報を取得する。
表示制御部302は、取得した各カラーパッチの位置情報から、カラーチャート500の切り出し画像を生成し、カラーチャート500の切り出し画像を選択サムネイル画像表示部分806に表示する。上記以外は、第1の実施形態と同様であるため、説明を割愛する。
<カラーパッチの位置情報取得処理>
図20は、本実施形態における選択サムネイル画像表示部分806に表示するリファレンス画像807の切り出し画像およびカラーパッチの位置情報809と、ターゲット画像808の切り出し画像およびカラーパッチの位置情報810を取得するための処理フローである。
図20は、本実施形態における選択サムネイル画像表示部分806に表示するリファレンス画像807の切り出し画像およびカラーパッチの位置情報809と、ターゲット画像808の切り出し画像およびカラーパッチの位置情報810を取得するための処理フローである。
図20に示す処理フローは、カラーマッチングアプリ301において、図8(b)のサムネイル画像表示部分803表示中、操作部206にて、リファレンス選択画像804およびターゲット選択画像805のタップを検出したことをトリガーに実行される処理である。
図20のS2001において、カラーマッチングアプリ301は、カラーパッチ位置情報を取得するために、カラーパッチ位置計算部305に、カラーパッチ位置情報取得を要求し、リファレンス選択画像804およびターゲット選択画像805のパスを入力する。
図20のS2002において、カラーマッチングアプリ301は、カラーパッチ位置計算部305で計算されたカラーチャート500のカラーパッチ位置情報を取得する。
カラーパッチの位置情報の計算方法は、図15で示しているため、説明は割愛する。
図20のS2003において、カラーマッチングアプリ301は、S2003で取得したカラーチャート500のカラーパッチ位置情報を基に、カラーチャート500の切り出し画像を生成する。
図20のS2004において、カラーマッチングアプリ301は、S2002で取得したカラーパッチの位置情報と、S2003で生成したカラーチャート500の切り出し画像を、選択サムネイル画像表示部分806に表示する。
以上の処理によって、カラーマッチングアプリ301は、カラーパッチの位置情報を取得する。
<検出位置情報取得部305の処理>
次に、図21を用いて、本実施形態での検出位置情報取得部305におけるカラーパッチ位置計算部304からのカラーチャート500の複数の部分領域位置情報の取得要求受信時の処理フローを説明する。
次に、図21を用いて、本実施形態での検出位置情報取得部305におけるカラーパッチ位置計算部304からのカラーチャート500の複数の部分領域位置情報の取得要求受信時の処理フローを説明する。
図21に示す処理フローは、カラーマッチングアプリ301において、図8(b)のサムネイル画像表示部分803表示中、操作部206にて、リファレンス選択画像804およびターゲット選択画像805のタップを検出したことをトリガーに実行される処理である。
図21のS2101において、検出位置情報取得部305は、カラーチャート500の複数の部分領域の検出位置情報を取得するために、推論実行部312に、第二の学習モデルを用いた推論実行を指示する。
図21のS2102において、検出位置情報取得部305は、推論実行部312から第二の学習モデルの推論実行結果であるカラーチャート500内の複数の部分領域の位置情報を取得する。
以上の処理によって、検出位置情報取得部305は、画像内に含まれるカラーチャート500の複数の部分領域の位置情報を取得する。
[その他の実施形態]
本発明はカラーチャート及びそこに含まれるカラーパッチの検出を例に説明したが、必ずしもこれには限定されない。例えば工場などで特定のパターンを含む部品を検出したり、物流などで荷物に貼付された特定のパターンを含むコードを検出する場合などにも用いることができる。
本発明はカラーチャート及びそこに含まれるカラーパッチの検出を例に説明したが、必ずしもこれには限定されない。例えば工場などで特定のパターンを含む部品を検出したり、物流などで荷物に貼付された特定のパターンを含むコードを検出する場合などにも用いることができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (11)
- 画像内のカラーチャートに含まれる複数のカラーパッチの画素値を取得する画像処理装置であって、
カラーチャートを含む画像を入力する入力手段と、
前記入力画像に対する、前記カラーチャートの部分領域を検出するための学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの複数の部分領域の位置を特定する第1の特定手段と、
前記複数の部分領域の位置情報から、前記複数のカラーパッチの位置を特定する第2の特定手段と、
前記カラーパッチの位置に基づき、前記複数のカラーパッチの画素値を取得する取得手段と、
を備え、
前記学習モデルは、前記カラーチャートの複数の部分領域がラベル付けされたものであることを特徴とする画像処理装置。 - 画像内のカラーチャートに含まれる複数のカラーパッチの画素値を取得する画像処理装置であって、
カラーチャートを含む画像を入力する入力手段と、
前記入力画像に対する、前記カラーチャート全体の領域を検出するための第1の学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの位置を特定する第1の特定手段と、
前記第1の特定手段により特定された前記カラーチャートの位置に基づき、前記入力画像から前記カラーチャートを含む領域を切り出した切り出し画像を生成する生成手段と、
前記切り出し画像に対する、前記カラーチャートの部分領域を検出するための第2の学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの複数の部分領域の位置を特定する第2の特定手段と、
前記複数の部分領域の位置情報から、前記複数のカラーパッチの位置を特定する第2の特定手段と、
前記カラーパッチの位置に基づき、前記複数のカラーパッチの画素値を取得する取得手段と、
を有する画像処理装置。 - 前記生成手段は、前記第1の学習モデルによる推論の結果に対して、所定の大きさの余白を設けて切り出し画像を生成することを特徴とする請求項2に記載の画像処理装置。
- 前記第2の学習モデルは、前記カラーチャートのすべてのカラーパッチの位置を特定するための複数の部分領域をラベル付けすることを特徴とする請求項2または3に記載の画像処理装置。
- 前記カラーチャートは、M×N(M、Nは2以上の整数)で前記カラーパッチが配され、
前記第2の学習モデルは、少なくともカラーチャートの四隅に位置するカラーパッチを検出することを特徴とする請求項2または3に記載の画像処理装置。 - 前記第2の特定手段は、前記第2の学習モデルの推論の結果に基づいて、各カラーパッチのそれぞれの中央位置を取得し、
前記取得手段は、前記カラーパッチの中央位置の周辺の平均画素値を取得することを特徴とする請求項2または3に記載の画像処理装置。 - 前記第2の特定手段により特定されたカラーパッチの位置を表示する表示手段を更に有することを特徴とする請求項2または3に記載の画像処理装置。
- 前記入力手段は、前記カラーチャートを含む第1の画像と第2の画像とを入力し、
前記取得手段は、前記第1の画像のカラーパッチの画素値および第2の画像のカラーパッチの画素値を取得し、
前記第1の画像のカラーパッチの画素値および第2の画像のカラーパッチの画素値に基づき、LUTを生成するLUT生成手段をさらに有することを特徴とする請求項2または3に記載の画像処理装置。 - 前記表示手段はさらに、前記LUT生成手段で生成したLUTを前記第2の画像に適用した画像を表示することを特徴とする請求項8に記載の画像処理装置。
- 画像内のカラーチャートに含まれる複数のカラーパッチの画素値を取得する画像処理装置の制御方法であって、
カラーチャートを含む画像を入力する入力工程と、
前記入力画像に対する、前記カラーチャート全体の領域を検出するための第1の学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの位置を特定する第1の特定工程と、
前記第1の特定工程で特定された前記カラーチャートの位置に基づき、前記入力画像から前記カラーチャートを含む領域を切り出した切り出し画像を生成する生成工程と、
前記切り出し画像に対する、前記カラーチャートの部分領域を検出するための第2の学習モデルによる推論の結果に基づき、前記入力画像内のカラーチャートの複数の部分領域の位置を特定する第2の特定工程と、
前記複数の部分領域の位置情報から、前記複数のカラーパッチの位置を特定する第3の特定工程と、
前記カラーパッチの位置に基づき、前記複数のカラーパッチの画素値を取得する取得工程と、
を有する画像処理装置の制御方法。 - コンピュータを、請求項1乃至9のいずれか1項の画像処理装置の各手段として機能させるコンピュータによる実行が可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022101182A JP2024002152A (ja) | 2022-06-23 | 2022-06-23 | 画像処理装置、その制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022101182A JP2024002152A (ja) | 2022-06-23 | 2022-06-23 | 画像処理装置、その制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024002152A true JP2024002152A (ja) | 2024-01-11 |
Family
ID=89472615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022101182A Pending JP2024002152A (ja) | 2022-06-23 | 2022-06-23 | 画像処理装置、その制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024002152A (ja) |
-
2022
- 2022-06-23 JP JP2022101182A patent/JP2024002152A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10681271B2 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
US10593014B2 (en) | Image processing apparatus, image processing system, image capturing system, image processing method | |
US10789671B2 (en) | Apparatus, system, and method of controlling display, and recording medium | |
KR100940971B1 (ko) | 카메라에 대한 에어리어 줌 기능 제공 | |
US11393070B2 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
US20070177013A1 (en) | Remote instruction system, remote instruction method, and program product for remote instruction | |
US10937134B2 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
US8031974B2 (en) | Imaging apparatus, image editing method and program | |
US20190289203A1 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
US20190306420A1 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
EP3962090A1 (en) | Communication terminal, image communication system, method for displaying image, and carrier means | |
US20200236277A1 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
JP2017021656A (ja) | 表示装置及びその制御方法 | |
JP2014039132A (ja) | 投影装置及びその制御方法、プログラム、並びに記憶媒体 | |
JP2000261794A (ja) | 動画像表示システム及びこの表示方法 | |
JP2024002152A (ja) | 画像処理装置、その制御方法、プログラム | |
JP2015139006A (ja) | 情報処理装置、プログラム | |
JP2005277510A (ja) | 画像表示制御装置、画像印刷制御装置、画像表示制御方法、画像印刷制御方法、及びプログラム | |
KR20110088275A (ko) | 영상 변환 기능을 구비한 이동통신 단말기 | |
JP2018152663A (ja) | 画像処理装置、表示システム、画像処理装置の制御方法及びプログラム | |
CN106233715B (zh) | 图像输出装置、图像输出方法以及存储介质 | |
WO2005015494A1 (ja) | 画像変換システム及び画像変換方法 | |
JP3393168B2 (ja) | 画像入力装置 | |
JP2017203804A (ja) | 投影装置及び投影方法 | |
JP2021175166A (ja) | 投影システム、投影方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20231213 |