以下、本発明に係る実施形態を、図面を参照しながら説明する。図1は、本発明の一実施形態に係る造形システム10について説明をする図である。図1(a)は、造形システム10の構成の一例を示す。以下において説明をする点を除き、造形システム10は、公知の造形システムと同一又は同様の特徴を有してよい。
本例において、造形システム10は、立体的な造形物を造形するシステムであり、造形装置12及び制御PC14を備える。造形装置12は、造形物50の造形を実行する装置であり、インクの層を積層することにより、積層造形法で造形物50を造形する。この場合、インクとは、例えば、機能性の液体のことである。また、本例において、インクは、造形の材料の一例である。インクについては、例えば、インクジェットヘッドから吐出する液体等と考えることもできる。この場合、インクジェットヘッドとは、例えば、インクジェット方式で液体を吐出する吐出ヘッドのことである。
また、本例において、造形装置12は、互いに異なる色の複数色のインクを用いて、着色された造形物を造形する。このような造形装置12としては、例えば、公知の造形装置を好適に用いることができる。より具体的に、造形装置12としては、例えば、ミマキエンジニアリング社製の造形装置(3Dプリンタ)等を好適に用いることができる。また、本例において、インクとしては、例えば、紫外線硬化型のインク等を好適に用いることができる。
制御PC14は、所定のプログラムに応じて動作するコンピュータであり、造形しようとする造形物50を示す造形データを造形装置12へ供給することにより、造形装置12の動作を制御する。また、より具体的に、本例において、制御PC14は、造形しようとする造形物の形状等を示す立体データに対し、所望の質感の設定等を行って、造形データを生成する。この場合、制御PC14は、造形物を示すコンピュータグラフィック画像(以下、CG画像という)を立体データに基づいて生成し、立体データを作成したデザイナ等のユーザに対してCG画像を示しつつ、質感の設定等を、ユーザから受け付ける。そして、設定された質感で造形装置12に造形物を造形させる造形データを生成する。造形物の質感については、後に更に詳しく説明をする。
図1(b)は、造形装置12において造形する造形物50の構成の一例を示す断面図である。図1(c)は、造形物50における着色領域154の構成の一例を示す。上記においても説明をしたように、本例において、造形装置12は、着色された造形物50を造形する。この場合、造形物50は、例えば図1(b)に示すように、内部領域152及び着色領域154を備える。
内部領域152は、造形物50の内部を構成する領域であり、着色領域154により周囲を囲まれるように、造形物50の内部に形成される。また、本例において、内部領域152は、白色のインク等の光反射性のインクで形成されることで、光反射領域を兼ねた領域として形成される。造形物50の構成の変形例においては、内部領域152とは別に光反射領域を形成してもよい。この場合、内部領域152については、例えば、任意の色のインクで形成することができる。また、この場合、光反射領域は、例えば、内部領域152と着色領域154との間に形成される。
着色領域154は、造形物50において着色がされる領域であり、着色用の複数色のインクを用いて造形物50の表面に外周面から法線方向に一定の厚さに形成されることで、様々な色に着色がされた状態で形成される。この場合、造形物50の表面とは、例えば、造形物50において外部から色彩を視認できる領域のことである。また、着色用のインクとしては、例えば、シアン(C)色、マゼンタ(M)色、イエロー(Y)色、ブラック(K)色、白(W)色、及び透明(T)色の各色のインクを用いる。
また、本例において、着色領域154は、例えば図1(c)に示すように、複数のインクの層202を重ねた構成を有する。この場合、例えば、それぞれの層202の色を様々な色で着色することで、着色領域154において多様な質感を表現することができる。また、図1(c)では、それぞれの層202の色の違いについて、図示の便宜上、網掛け模様を異ならせて示している。
ここで、本例において、インクの層202については、例えば、厚さが略一定であり、かつ、厚さ方向と直交する面と平行な方向へ広がる領域等と考えることができる。また、上記においても説明をしたように、本例において、造形装置12は、積層造形法で造形物50の造形を行う。この場合、積層造形法での積層方向における上面側や下面側では、積層造形法で積層するそれぞれのインクの層について、着色領域154を構成するそれぞれのインクの層202と考えることができる。
また、上面や下面に対して交差する造形物50の側面において、着色領域154は、法線方向における厚さが一定になるように、側面に沿って形成される。また、この場合、着色領域154の構成は、側面に沿った層状の領域が複数重なる構成になる。そして、この場合、側面に沿ったそれぞれの層状の領域について、着色領域154を構成するインクの層202と考えることができる。
また、着色領域154を構成する層202については、予め設定された一定の厚さで形成することが好ましい。そのため、本例においては、層202の色の違いによって層202の厚さに差が生じないように、無色で透明なインクであるクリアインクを用いて、適宜インクの量の補填を行う。例として、緑色で濃さ100%の場合はシアン(C)インク量が50%、イエロー(Y)インク量が50%、透明(T)インク量が0%の比率であり、赤色で濃さ50%の場合はマゼンタ(M)インク量が25%、イエロー(Y)インク量が25%、透明(T)インク量が50%の比率である。さらに灰色で濃さ5%の場合はブラック(K)インク量が5%、透明(T)インク量が95%の比率で補填を行う。造形物50における着色領域154の構成については、後に更に詳しく説明をする。
続いて、着色領域154を用いて表現する造形物の質感について、更に詳しく説明をする。図2は、着色領域154を用いて表現する造形物の質感の一例を示す図であり、人間の肌の質感を表現する場合の着色領域154の構成の一例を示す。
図2(a)は、人間の肌の構成を簡略化して示す断面図である。図中に示すように、人間の肌は、皮下組織の上に真皮及び表皮が重なる多層構造を有している。そこで、本例においては、肌の多層構造を模した層構成(層構造)でインクの層202を重ねた着色領域154を用いることで、肌の質感を再現する。
図2(b)は、肌の質感を表現する場合に用いる着色領域154の構成の一例を示す。この場合、着色領域154は、図中に示すように、真皮領域302、表皮領域304、及びクリア領域306を有する。真皮領域302は、人間の肌における真皮に対応する領域である。また、人間の肌において、真皮は、通常、皮下組織にある血管を流れる血液の影響等により、赤みを帯びた色になる。そのため、本例において、真皮領域302については、赤色系の色の層202を重ねることで形成する。また、表皮領域304は、人間の肌における表皮に対応する領域である。この場合、表皮については、例えば、人間の肌の表面の色である肌色を示す領域と考えることができる。そのため、表皮領域304については、肌色系の色の層202を重ねることで形成する。
また、人間の肌の質感においては、透明感が重要であると考えられる。そのため、本例においては、真皮領域302及び表皮領域304の上(外側)に、クリアインクで形成される領域であるクリア領域306を形成する。この場合、クリア領域306については、クリアインクのみで形成することが考えられる。また、求められる肌の質感によっては、クリア領域306について、例えば、微量の有色のインクを混ぜた状態で、主にクリアインクを用いて形成すること等も考えられる。
また、この場合、真皮領域302、表皮領域304、及びクリア領域306のそれぞれを構成する層202の層数や、それぞれの層202の色を変化させることで、様々な質感を表現することができる。図2(c)は、着色領域154を構成する各領域の層数を異ならせた例を示す。図中において、左側の図は、真皮領域302を構成する層202の層数を4とし、表皮領域304を構成する層202の層数を2とし、クリア領域306を構成する層202の層数を3とする場合の例を示す。また、右側の図は、真皮領域302を構成する層202の層数を3とし、表皮領域304を構成する層202の層数を4とし、クリア領域306を構成する層202の層数を2とする場合の例を示す。このように、本例によれば、各領域を構成する層202の層数や色を変化させることで、様々な質感を表現することができる。また、求められる質感によっては、これらの領域のうちの一部を省略してもよい。
ここで、着色領域154を構成する層202の層数が多すぎる場合、それぞれの層202において吸収される光の量が多くなることで、着色領域154の色が黒に近づくことが考えられる。そのため、着色領域154における層202の合計については、10層以下程度にすることが好ましい。また、本例において、着色領域154を構成する層202の合計は、10層に固定している。そのため、いずれかの領域を構成する層202の数が増加又は減少した場合、他のいずれかの領域を構成する層202の数が減少又は増加することになる。このように構成すれば、例えば、着色領域154により表現する質感が変化した場合にも、着色領域154の厚みを一定に保つことができる。
また、真皮領域302を構成するそれぞれの層202の色や、表皮領域304を構成するそれぞれの層202の色については、予め用意された色群から選択することが考えられる。この場合、色群とは、例えば、複数の色を含む群のことである。また、本例において用いる色群については、例えば、造形装置12(図1参照)において表現可能な全ての色の一部の色のみを含む群等と考えることもできる。この場合、各領域に対応する色群として、互いに異なる組み合わせで色を含む色群を用いることが考えられる。より具体的に、例えば、真皮領域302を構成する層202において用いる色を含む色群については、赤色系の複数の色を含む色群を用いることが考えられる。表皮領域304を構成する層202において用いる色を含む色群としては、肌色系の複数の色を含む色群を用いることが考えられる。
このように、本例においては、様々な色で着色された層202を重ねた構成の着色領域154を形成することで、様々な質感を表現することができる。しかし、この場合、取り得る層構成が多様になることで、どのような層構成によりどのような質感が得られるかについて、予測が難しくなる場合がある。また、その結果、例えば、求められる質感に対応する層構成を探すことが難しくなること等が考えられる。
これに対し、本例においては、層構成と質感との関係についての機械学習を予め行わせたコンピュータを用いて、所望の質感に対応する層構成を取得する。また、この場合において、様々な層構成に対応する試料に対する質感の計測を行った結果を用いて、コンピュータに機械学習を行わせる。また、上記においても説明をしたように、着色領域154を用いて表現する造形物50の質感の例としては、人間の肌の質感等が考えられる。そこで、以下においては、人間の肌の質感を表現する場合について、本例における機械学習の利用の仕方等を詳しく説明をする。
図3は、本例において用いる試料について説明をする図である。この場合、試料とは、層構成と質感との関係を取得するために用いる試料のことである。また、本例において、試料としては、人間の肌の色を示す複数の試料を作成する。また、この場合、それぞれの試料として、造形物50における着色領域154と同様の構成で複数のインクの層を積層した試料を作成する。また、この場合において、それぞれの層の色を様々に異ならせることで、様々な層構成に対応する複数の試料を作成する。
また、より具体的に、本例においては、10層のインクの層を積層した複数の試料を作成する。また、この10層について、図2を用いて説明をした着色領域154の構成と同様に、真皮領域302、表皮領域304、及びクリア領域306の3種類の領域に分ける。そして、真皮領域302及び表皮領域304のそれぞれを構成するインクの層について、それぞれの領域に対応する色群に含まれる色で着色をする。
図3(a)は、表皮領域304を構成するインクの層(表皮層)の色として用いる色の例を示す図であり、それぞれの色について、CMYKの各色の濃度を示す。図3(a)に示す色については、例えば、肌色系の色の例等と考えることもできる。また、図3(a)に示す色は、表皮領域304に対応する色群に含まれる色の一例である。
図3(b)は、真皮領域302を構成するインクの層(真皮層)の色として用いる色の例を示す図であり、それぞれの色について、CMYKの各色の濃度を示す。図3(b)に示す色については、例えば、赤色系の色の例等と考えることもできる。また、図3(b)に示す色は、真皮領域302に対応する色群に含まれる色の一例である。
また、本例において、表皮領域304を構成する表皮層や、真皮領域302を構成する真皮層については、図中に示すCMYKの各色のインク以外に、クリアインクを更に用いて形成する。また、この場合において、クリアインクについては、例えば、着色領域154の形成時と同様に、層の色の違いによって層の厚さに差が生じないように、インクの量を補填するために用いる。また、それぞれの試料においても、着色領域154の構成と同様に、表皮領域304の上に、必要に応じて、クリア領域306を形成する。
また、この場合、例えば図3(c)に示すように、インクの層を重ねて形成することで、それぞれの試料を形成する。図3(c)は、インクの層を重ねる動作について説明をする図であり、層構成を異ならせた4種類の試料について、インクの層の重ね方の一例を示す。また、図3(c)においては、図示の便宜上、色の違いを網かけ模様の違いで示して、1層目及び10層目のインクの層の例を示している。
また、より具体的に、この場合、例えば、図3(a)、(b)に示した色で着色がされた層で構成される真皮領域302及び表皮領域304と、クリア領域306とを重ねて形成することで、複数のインクの層が重なる試料を作成する。また、一部の試料においては、例えば、真皮領域302、表皮領域304、及びクリア領域306のいずれかを省略してもよい。このように構成すれば、例えば、着色されたインクの層を複数層積層した試料を適切に作成することができる。また、この場合において、それぞれの層として、互いに異なる複数色の中から選ばれた色で着色される層を形成することで、例えば、質感が互いに異なる複数の試料を適切に作成することができる。
ここで、上記のように、本例において、真皮領域302及び表皮領域304を構成するそれぞれの層の色については、図3(a)、(b)に示す限られた種類の色から選択をしている。この点に関し、原理的には、例えば、それぞれの試料におけるそれぞれの層の色として、造形装置12において表現可能な全ての色から選んだ色を用いることも考えられる。しかし、この場合、色の組み合わせの数が膨大になるため、試料の作成や試料に対する計測の手間が大きく増大することが考えられる。
これに対し、本例においては、造形装置12において表現可能な全ての色の一部の色のみを含む色群を予め用意することで、それぞれの試料におけるそれぞれの層の色について、上記のように、限られた種類の色から選択をしている。このように構成すれば、例えば、試料の作成や試料に対する計測の手間を適切に削減しつつ、様々な質感に対応する試料をより適切に作成することができる。
また、この場合において、真皮領域302に対応する色群や、表皮領域304に対応する色群のように、表現しようとする質感に合わせた色群を用いることで、より適切に質感を表現することを可能にしている。この場合、それぞれの色群が含む色については、例えば、造形しようとする造形物が示す対象物の構造等に合わせて設定した色等と考えることができる。また、この場合、複数の試料を作成する工程(試料作成段階)の動作については、例えば、互いの異なる組み合わせで複数の色を含む複数の色群を用意し、それぞれの試料におけるそれぞれの層の色として、いずれかの色群におけるいずれかの色を選択する動作等と考えることができる。
また、この場合、用意する複数の色群について、積層される位置の上下関係と対応付けておくことが好ましい。この場合、層の上下関係の上側については、例えば、造形物における外側に対応する側等と考えることもできる。また、より具体的に、本例のように、真皮領域302の上に表皮領域304を形成する場合、真皮領域302に対応する色群について、例えば、相対的に下側に積層されるインクの層の色として用いられる複数の色を含む色群等と考えることもできる。また、本例において、真皮領域302に対応する色群は、第1の色群の一例である。また、真皮領域302に対応する色群については、例えば、人間の肌における真皮の色に対応する複数の色を含む色群等と考えることもできる。
また、この場合、表皮領域304に対応する色群については、例えば、相対的に上側に積層されるインクの層の色として用いられる複数の色を含む色群等と考えることができる。また、本例において、表皮領域304に対応する色群は、第2の色群の一例である。また、表皮領域304に対応する色群については、例えば、人間の肌における表皮の色に対応する複数の色を含む色群等と考えることもできる。
また、本例のように、複数の色群を用いる場合、同じ色群の色が設定されるインクの層が連続して重なるように、それぞれの試料を作成することが好ましい。このように構成すれば、例えば、色群と層との関係を容易かつ適切に管理することができる。また、より具体的に、本例においては、上記においても説明をしたように、真皮領域302の上に表皮領域304を形成する。そして、このような構成については、例えば、表皮領域304に対応する色群の色で着色されるインクの層が真皮領域302に対応する色群の色で着色されるインクの層よりも上側になる構成等と考えることができる。本例によれば、例えば、人間の肌の色を示す複数の試料を適切に作成することができる。
続いて、本願の発明者が実際に試料を作成して行った計測等について、説明をする。図4は、本願の発明者が行った計測等について説明をする図である。図4(a)は、計測の対象として作成した試料を示す写真であり、複数の試料に対応する複数のパッチを含む計測対象物に対して所定のパターンのレーザ光を照射した状態の一例を示す。図4(b)は、レーザ光を照射するパターンの設定に用いる入力画像の一例を示す。
上記においても説明をしたように、本例においては、様々な層構成に対応する試料に対する質感の計測を行った結果を用いて、コンピュータに機械学習を行わせる。そして、この場合、例えば図4(a)に示すように、複数の試料として、互いに異なる構成でインクの層を重ねた複数のパッチを含む計測対象物を作成することが考えられる。この場合、複数のパッチのそれぞれが、複数の試料のそれぞれに対応することになる。
また、より具体的に、本願の発明者が行った実験においては、図4(a)に示すように、アレイ状に並ぶ複数の試料を作成した。また、それぞれの試料について、一辺の長さを1cmとし、厚さを0.3mmとした。また、上記においても説明をしたように、それぞれの試料を構成するそれぞれのインクの層について、真皮領域302、表皮領域304、及びクリア領域306(図2参照)の3種類の領域のいずれかに振り分け、それぞれの領域に対応する色群に含まれる色で着色をした。また、この場合において、真皮領域302に対応する色群が含む色を10色、表皮領域304に対応する色群が含む色を3色、クリア領域306に対応する色群が含む色を1色として、各領域を構成するインクの層の数を様々に変化させることで、1875種類の試料(パッチ)を含む計測対象物を作成した。また、真皮領域302に対応する色群が含む10色の色としては、図3(b)に示した色を用いた。表皮領域304に対応する色群が含む4色の色としては、図3(a)に示した色を用いた。クリア領域306に対応する色群が含む1色の色としては、クリア色を用いた。
また、上記においても説明をしたように、人間の肌の質感においては、透明感が重要であると考えられる。そのため、本願の発明者が行った実験においては、試料に対して行う質感の計測として、複数のインクの層が積層されることで表現される透明感を示すパラメータの計測を行った。このようなパラメータとしては、例えば、光の広がり方を示す関数を用いることが考えられる。また、より具体的に、この実験では、質感を示すパラメータである質感パラメータとして、線拡がり関数(LSF)を用いた。この場合、線拡がり関数(LSF)とは、例えば、線状の光が計測対象の中でどのように広がるかを示す関数のことである。また、線拡がり関数(LSF)については、例えば、理想的な線像が対象となる系を通過した場合にどのように広がるかを表わす関数等と考えることもできる。線拡がり関数(LSF)の計測については、様々な公知の方法で好適に行うことができる。
また、本願の発明者が行った実験では、多数の試料に対して効率的かつ自動的に計測を行うために、暗室内において、図4(b)に示す入力画像を用いて、それぞれの試料の左側の半分に対して、光を照射した。また、この場合、光の照射については、公知のレーザプロジェクタであるSmart Beam Laser機を用いた。そして、光が照射された複数の試料について、公知のカメラであるSONY社製のα5100型のカメラを用いて、撮影を行った。また、LSFの計測については、それぞれの試料に対する色の情報を得るために、RGBの各色に分けて行った。
図5は、LSFの計測結果について説明をする図である。図5(a)は、一つの試料に対するLSFの計測結果を示す図であり、上記のようにしてカメラで撮影した画像に写っている試料に対し、左右方向の中央の左から右へ向けての画素値の変化を取得した結果を示す。また、図中のグラフにおける3本の曲線は、RGBのそれぞれの成分における画素値の変化を示している。
図5(b)、(c)は、図5(a)に示した計測結果に対して所定の処理を行った結果を示す。より具体的に、図5(b)は、図5(a)に示す計測結果に対し、ローパスフィルタを通すことで平滑化を行った結果を示す。ローパスフィルタを通すことにより、例えば、図5(a)において画素値に乗っているノイズの影響を低減することができる。また、図5(c)は、図5(b)に示す結果に対して微分を行った結果である。このようにして微分を行うことにより、例えば、画素値の推移の傾きを示す情報を取得することができる。
また、上記のような試料に対してLSFの計測を行う場合、通常、光のボケ具合について、等方性及び均一性を有していると考えることができる。しかし、実際の計測結果においては、ノイズの影響等により、微分値のピークの前後で推移に差が生じる場合がある。そこで、この実験では、LSFの等方性を仮定することで、ピークより手前(試料における左側)の結果のみを利用した。また、この場合において、微分値のノイズを除去するための平滑化を行い、値が0を下回るデータについては、誤差と考えて、値を0に補正した。
また、上記のようにして計測を行う場合、複数の試料に対して同時に光をあてるために、試料の中央からずれた位置に光があたる試料が存在することも考えられる。そのため、LSFとして適切にデータを取得するためには、このようなずれの影響を考慮することが必要である。より具体的に、この実験では、上記の処理により得られた微分値の最大値より手前のデータを右端に詰めることで、このようなずれの影響を除去した。
図5(d)は、LSFの計測結果を示す図であり、2種類の試料について、上記のようにして計測を行ったLSFを試料の写真と共に示す。図5(d)に示す結果のうち、右側の図は、クリア領域306(図2参照)を構成するインクの層が最上面に形成されている試料に対する計測結果である。また、左側の図は、クリア領域306を構成するインクの層を形成していない試料に対する計測結果である。
図からわかるように、図5(d)に示す二つの結果のうち、右側の結果では、試料の写真からわかるように、左側と比べて、光の広がりが大きくなっている。また、LSFの計測結果は、このような状態に対応して、右側の図において、左側の図よりも、裾が広がっている。また、この結果については、上記のような試料の構成に適切に対応していると考えることができる。そのため、これらの結果から、例えば、上記の方法によりLSFの計測を適切に行えていると考えることができる。また、例えば、質感パラメータとしてLSFを用いることで、透明感に対応する質感を適切に表現できている等と考えることもできる。
続いて、本例において利用する機械学習について、更に詳しく説明をする。図6は、本例において利用する機械学習について説明をする図である。図6(a)は、機械学習を利用してインクの層の層構成を予測するモデル(レイアウト予測モデル)を示す。
上記においても説明をしたように、本例においては、層構成と質感との関係を予め機械学習を行わせたコンピュータを用いて、所望の質感に対応する層構成を取得する。この場合、機械学習を行わせたコンピュータとしては、例えば、造形システム10の外部にある他のコンピュータ(例えば、クラウドサーバ等)を用いることが考えられる。この場合、造形システム10における制御PC14(図1参照)が外部のコンピュータと通信を行うことで、層構成を示す出力を取得する。また、造形システム10の構成の変形例においては、例えば、制御PC14について、機械学習を行わせたコンピュータを兼用させてもよい。
また、機械学習を行わせたコンピュータを利用する場合、予め、上記において説明をした複数の試料に対する計測結果を用いて、コンピュータに機械学習を行わせる。より具体的に、本例においては、それぞれの試料における層構成(インクの層の重ね方、レイアウト)と、それぞれの試料に対するLSFの計測結果とを対応付けて、コンピュータに機械学習を行わせる。また、本例において、機械学習としては、ニューラルネットワークを用いた機械学習を行う。
また、この場合、LSFの計測結果としては、上記においても説明をしたように、RGBのそれぞれの成分を含むデータを用いることが考えられる。より具体的に、本例においては、例えば、RGBの順番にLSFの値を一列に並べた配列を入力として用いる。また、それぞれの試料を複数の位置に分けて、位置の数に対応するニューロンをニューラルネットワークのニューロンとして用意する。この場合、例えば、それぞれの試料のサイズを100×100とすれば、300個のニューロンを用意する。
また、出力としては、層構成を示す値(レイアウト値)を用いることが考えられる。例えば、本例においては、真皮領域302(図2参照)に対応する色群の色数である10色、表皮領域304(図2参照)に対応する色群の色数である3色、及びクリア領域306(図2参照)の色として用いる1色を合計した14色のそれぞれに対して番号(色番号)を対応付け、試料に形成される10層のインクの層のそれぞれにいずれかの色番号を割り当てることで、それぞれの試料における層構成を表現する。また、本願の発明者が行った実験では、クリア領域306において用いるクリア色の色番号を1とした。また、表皮領域304に対応する色群に含まれる色として、図3(a)に示す3色を用い、色番号を2〜4とした。更に、真皮領域302に対応する色群に含まれる色として、図3(b)に示す10色を用い、色番号を5〜14とした。
また、ニューラルネットワークとしては、ニューロンが完全結合されており、隠れ層を4つとする構成を用いた。それぞれの隠れ層は、ReLU活性化機能を備えた300個のニューロンから構成される。また、損失関数としては、一般的な平均二乗誤差を利用した。また、この場合において、初期学習率を10−3に設定して、確率的最適化アルゴリズムであるAdamを利用して訓練を行った。また、トレーニングサンプルは、データセットからランダムに抽出した。また、バッチサイズは、25とし、エポック数は5000回に設定した。
また、本願の発明者が行った実験では、このような条件により、モデルの損失関数として適用した平均二乗誤差関数により、各エポックに対する誤差を算出して評価を行った。この場合、平均二乗誤差関数については、構築したニューラルネットワークにより予測(推定)されたレイアウト値と、教師データとして用意したレイアウトの正解値とに対して計算を行う。また、この評価により、700回付近の試行で誤差が0に収束していることが確認できた。また、誤差の最小値は、0.000924になり、誤差を十分に小さくした状態で終了していることが確認できた。
このように、本例によれば、例えば、層構成と質感との関係について、コンピュータに適切に機械学習を行わせることができる。そして、この場合、機械学習の結果を利用することで、所望の質感に対応する層構成の予測(推定)を行うことが可能になる。また、本例の制御PC14においては、CG画像に設定された質感に基づき、その質感に対応する層構成の予測を行う。
より具体的に、この場合、制御PC14において、ユーザの指示に基づき、例えば、人肌の透明感に対応する質感が設定されたCG画像を作成する。また、この場合、CG画像として、例えば、半透明の物体等を作成することが考えられる。また、透明感に対応する質感の設定については、例えば、物体の吸収係数及び散乱係数を指定することで行うことが考えられる。
一例として、例えば、アジア人の一般的な肌の質感を再現する場合において、CIEが指定したRGBの単色光の波長として、(R、G、B)=(700.0、546.1、435.8)を利用する場合、吸収係数について、(R、G、B)=(2.2035、5.3338、12.1780)とし、等方散乱係数について、(R、G、B)=(191.2885、381.5941、774.3101)に設定することが考えられる。これらの値は、人の肌に含有される黒褐色の真性メラニンの吸収係数と、橙褐色の亜メラニンの吸収係数とを計算して、真性メラニンの含有割合を0.7に設定し、更に、ベースラインと呼ばれるメラニンのない領域における吸収係数を算出することで求めた値である。また、この場合、真性メラニン及び亜メラニンを含むメラニンを肌が含有する含有割合は、0.12に設定する。これらの値については、アジア人の平均値等と考えることができる。
また、このような質感の設定を行った上で、質感に対応するLSFについて、シミュレーションによる計測で取得する。この場合、CG画像に設定されている質感に対応するLSFは、設定パラメータの一例である。また、設定パラメータとは、例えば、CG画像に設定されている質感に対応する質感パラメータのことである。また、より具体的に、この場合、質感が設定されているCG画像に対して光(例えば、レーザ光)を照射するシミュレーションを行うことで、質感に対応するLSFを取得する。また、CG画像の質感に対応するLSFとして取得するLSFの形式については、ニューラルネットワークの学習時に用いたLSFと同様に、RGBの各成分が100個の値を持つ、300個の配列の形式にする。
また、このシミュレーションとしては、例えば、試料に対するLSFの計測を行う場合等と同様に、線状の光を照射するシミュレーションを行うことが考えられる。また、実用上は、例えば、CG画像が示す物体の表面にスポットライトで点状の光を照射するシミュレーションを行うことでも、画素値の推移からLSFを適切に取得することができる。この場合、点状の光を照射するシミュレーションを行うことで点拡がり関数(PSF)を算出し、点拡がり関数に基づいてLSFを算出すること等が考えられる。
また、本例においては、このようにして取得されたLSFについて、上記のように学習を行わせたニューラルネットワークに対する入力値として用いる。また、これにより、CG画像に設定されている質感に対応する層構成を、ニューラルネットワークに出力させる。図6(b)は、ニューラルネットワークの出力値に基づいて決定される層構成の一例を示す。この場合、このようにして得られる出力については、例えば、機械学習を行わせたコンピュータの出力の一例等と考えることができる。また、より具体的に、本例において、ニューラルネットワークは、CG画像に設定されている質感に対応するLSFを示す入力値に対し、積層される10層のインクの層のそれぞれを示す層番号と、それぞれの層に対して予測された色番号とを対応付けて出力する。
ここで、上記のようにしてニューラルネットワークに学習を行わせた場合、ニューラルネットワークが出力する出力値については、小数点以下の値を含む小数値になる場合もあると考えられる。しかし、上記において説明をしたように、本例において、色番号としては、整数の値のみを設定している。そして、この場合において、ニューラルネットワークから出力される小数値をそのまま色番号として用いると、色番号に対応する色を決定することが難しくなること等が考えられる。そのため、ニューラルネットワークの出力値に基づいて決定される層構成において用いる色番号としては、ニューラルネットワークから出力される小数値に基づく整数値を採用することが考えられる。より具体的に、本例において、ニューラルネットワークの出力値に基づいて決定される層構成において用いる色番号としては、ニューラルネットワークの出力値を四捨五入した整数値を用いる。このように構成すれば、例えば、機械学習を行わせたコンピュータを用いて、所望の質感に対応する層構成を適切に予測することができる。ニューラルネットワークの出力値に対応する整数の色番号を決定する動作については、例えば、ニューラルネットワークの出力値に最も近い整数の色番号を選択する動作等と考えることもできる。
また、上記において説明をしたように、本例において用いる試料では、複数のインクの層について、真皮領域302、表皮領域304、及びクリア領域306(図2参照)に分けて色の設定をしている。また、この場合において、各領域が重なる順番を所定の順番として、同じ領域を構成するインクの層が連続して重なるように、領域を分けている。しかし、ニューラルネットワークの出力においては、必ずしも、このような領域の分け方に対応するように層番号と色番号とが対応付けられるわけではない。
これに対し、ニューラルネットワークの出力値に基づいて行う層構成の決定時には、真皮領域302、表皮領域304、及びクリア領域306がこの順番で並び、かつ、各領域を構成するインクの層の色がその領域に対応する色群に含まれる色になるように、調整の処理を行ってもよい。また、この場合、例えば、ニューラルネットワークの出力値に対し、連続する複数の層番号に対応する複数の色番号の平均を算出して、平均値に最も近い整数値をこれらの層番号に対応する色番号に設定することが考えられる。より具体的に、この場合、例えば、ニューラルネットワークの出力値に基づき、真皮領域302、表皮領域304、及びクリア領域306のそれぞれに対応する層番号の範囲を決定する。そして、各領域に対応する層番号について、対応する色番号の平均を算出し、算出した平均値に最も近い整数値を、その領域に対応する層番号に対する色番号に設定する。このように構成すれば、例えば、所望の質感に対応する層構成として、いずれかの試料と同一又は同様の層構成を予測することができる。また、上記のような平均を行う動作については、例えば、それぞれの領域に対応する色番号について、その領域に含まれるインクの層の色番号として正しくない色番号も含めて平均化を行うことで決定する動作等と考えることもできる。また、図6(b)に示す層構成は、このような平均化を行って決定をした層構成の例である。
図6(c)は、層構成の予測結果の一例を示す。図中において、左側の図は、ニューラルネットワークの出力値に基づいて決定した層構成でインクの層を積層した造形物に対してLSFを計測した結果を示す。また、右側の図は、所望の質感に最も近い質感を有する試料を選択して、その試料に対してLSFを計測した結果を示す。右側の図については、例えば、ニューラルネットワークへの入力に用いたLSFに対応する質感に最も近い質感を有する試料に対するLSFの計測結果等と考えることもできる。この場合、ニューラルネットワークへの入力に用いたLSFに対応する質感とは、CG画像に対して設定された質感のことである。また、所望の質感に最も近い質感を有する試料については、LSFの計測対象として作成した複数の試料の中から、目視により選択した。両図の比較から、ニューラルネットワークの出力値に基づいて決定した層構成について、所望の質感を適切に再現できていることが理解できる。
続いて、上記において説明をした各構成に関する補足説明等を行う。先ず、本例において用いる制御PC14の構成について、更に詳しく説明をする。
図7は、制御PC14の構成の一例を示す図である。本例において、制御PC14は、表示部402、受付部404、通信I/F部406、及び制御部408を有する。また、上記においても説明をしたように、制御PC14としては、例えば、所定のプログラムに応じて動作するコンピュータを用いることが考えられる。この場合、コンピュータの各部について、制御PC14の各部として動作すると考えることができる。
表示部402は、文字や画像等を表示する表示装置である。表示部402としては、例えば、コンピュータのモニタ等を好適に用いることができる。また、本例において、表示部402は、例えば、造形装置12(図1参照)において造形しようとする造形物を示すCG画像等を表示する。
受付部404は、ユーザの指示を受け付ける入力装置である。受付部404としては、例えば、コンピュータの入力装置(例えば、マウス、キーボード等)を好適に用いることができる。また、本例において、受付部404は、例えば、表示部402に表示しているCG画像に対し、質感を設定する指示をユーザから受け付ける。また、この場合において、質感として、例えば、透明感に対応する質感の設定等を受け付ける。
通信I/F部406は、制御PC14の外部の装置との通信を行うためのインターフェース部である。通信I/F部406としては、例えば、コンピュータにおける通信インターフェース部等を好適に用いることができる。また、本例において、制御PC14は、通信I/F部406を介して、造形装置12や、他のコンピュータとの通信を行う。この場合、造形装置12との通信では、例えば、造形データの供給等を行うことが考えられる。また、他のコンピュータとの通信としては、例えば、機械学習を行わせたコンピュータとの通信を行うこと等が考えられる。この場合、制御PC14は、通信I/F部406を介して他のコンピュータと通信することにより、例えば、CG画像に設定された質感に対応する層構成の予測結果を他のコンピュータから取得する。このように構成すれば、例えば、機械学習の結果を利用した層構成の予測を適切に行うことができる。
制御部408は、制御PC14における各部の動作を制御する構成である。制御部408としては、例えば、コンピュータのCPU等を好適に用いることができる。また、本例において、制御部408は、所定のプログラムに従って動作することで、設定パラメータ算出部や層構成取得部等として機能する。この場合、設定パラメータ算出部とは、例えば、CG画像に設定されている質感に対応する質感パラメータである設定パラメータを算出する構成のことである。また、層構成取得部とは、例えば、設定パラメータに対応する層構成を取得する構成のことである。層構成取得部としての動作において、制御部408は、通信I/F部406を介して他のコンピュータと通信することにより、上記のようにして、層構成を取得する。
また、本例において、制御部408は、更に、CG画像に設定された質感に対応する層構成の取得結果に基づき、造形装置12へ供給する造形データを生成する。そして、生成した造形データを、通信I/F部406を介して、造形装置12へ供給(出力)する。層構成の取得結果に基づいて造形物を生成するとは、例えば、造形物の少なくとも一部の構成が取得した層構成に基づく構成になるように、造形データを生成することである。また、この場合、制御部408について、造形データを生成する造形データ生成部として機能していると考えることができる。このように構成すれば、例えば、所望の質感を再現する造形物の造形を造形装置12に適切に行わせることができる。
続いて、上記において説明をした一連の動作の流れについて、更に詳しく説明をする。この場合、この一連の動作とは、試料を作成する動作から、造形データを出力する動作までのことである。また、この一連の動作については、例えば、造形装置12で造形しようとする造形物を示すコンピュータグラフィックス画像に設定された質感を表現するためのインクの層の重ね方の予測を行い、予測結果に基づき、造形データを生成する動作等と考えることができる。また、上記の説明等から理解できるように、この一連の動作は、コンピュータに機械学習を行わせるための動作と、機械学習の結果を利用して層構成の予測を行う動作とに分けて考えることができる。そこで、以下においては、これらの動作を分けて、一連の動作の例を説明する。
図8は、本例において行う一連の動作について説明をする図である。図8(a)は、コンピュータに機械学習を行わせるための動作の一例を示すフローチャートである。この動作においては、例えば図3等を用いて上記においても説明をしたように、先ず、互いに異なる構成でインクの層を積層させた複数の試料を作成する(S102)。この場合、ステップS102の動作は、試料作成段階の動作の一例である。そして、作成した複数の試料に対し、例えば図4等を用いて上記において説明をしたように、LSFの計測を行う(S104)。この場合、ステップS104の動作は、試料計測段階の動作の一例である。また、本例において、LSFを計測する動作については、例えば、質感パラメータを取得する計測を複数の試料のそれぞれに対して行う動作の一例と考えることができる。
また、複数の試料に対してLSFの計測を行った後には、図6等を用いて上記において説明をしたように、それぞれの試料における複数のインクの層の構成(層構成)とLSFの計測結果との関係の機械学習をコンピュータに行わせる(S106)。この場合、ステップS106の動作は、学習段階の動作の一例である。また、本例において、それぞれの試料における層構成とLSFの計測結果との関係は、試料と質感パラメータとの関係の一例である。また、ステップS106の動作については、例えば、それぞれの試料におけるインクの層の重ね方と、ステップS104において計測されたLSFとを対応付けてコンピュータに学習させる動作等と考えることもできる。このように構成すれば、例えば、層構成と質感との関係についての機械学習をコンピュータに適切に行わせることができる。
また、このようにしてコンピュータに機械学習を行わせた後には、例えば造形装置12に造形物の造形を行わせる前のタイミング等に、機械学習の結果を利用して、例えば図8(b)に示すように、所望の質感に対応する層構成の予測を行う。また、予測の結果に基づき、造形データの生成を行う。
図8(b)は、機械学習の結果を利用して層構成の予測を行う動作の一例を示すフローチャートである。層構成の予測を行う動作においては、例えば、先ず、制御PC14の表示部402(図7参照)に造形物を示すCG画像を表示して、受付部404(図7参照)により、質感を指定する指示をユーザから受け付ける(S202)。また、これにより、制御PC14は、CG画像に対し、質感の設定を行う。CG画像に質感を設定するとは、例えば、CG画像が示すオブジェクトの少なくとも一部に対して質感を設定することであってよい。また、本例において、CG画像に対して設定する質感としては、上記においても説明をしたように、透明感に対応する質感を用いる。
また、この場合、制御PC14は、例えば、造形物の形状を示す立体データに基づき、造形物を示すCG画像を作成して、表示部402に表示する。この場合、立体データとしては、例えば、造形しようとする造形物の形状等を汎用の形式で示すデータ等を好適に用いることができる。制御PC14の動作の変形例においては、制御PC14において質感の設定をユーザから受け付けるのではなく、予め質感が設定されたCG画像を制御PC14の外部から受け取ってもよい。
また、ステップS202の動作に続いて、制御PC14は、質感が設定されたCG画像に基づき、CG画像に設定されている質感に対応する質感パラメータである設定パラメータの算出を行う(S204)。この場合、ステップS204の動作は、設定パラメータ算出段階の動作の一例である。また、ステップS204においては、例えば図6等を用いて上記において説明をしたように、CG画像に対して光を照射するシミュレーションを行うことで、設定パラメータを算出する。
また、設定パラメータを算出した後には、図8(a)に示した動作によりコンピュータに機械学習を行わせた結果を利用して、設定パラメータに対応する層構成(レイアウト)の取得を行う(S206)。この場合、ステップS206の動作は、層構成取得段階の動作の一例である。また、ステップS206の動作については、例えば、設定パラメータに対応するインクの層の重ね方を予測する動作等と考えることもできる。また、より具体的に、ステップS206において、制御PC14は、機械学習を行わせたコンピュータと通信して、このコンピュータへの入力として、ステップS204で算出した設定パラメータを与える。この場合、入力として設定パラメータを与えるとは、例えば、ニューラルネットワークへ入力可能な形式で表現した設定パラメータを与えることである。そして、その入力に対する出力として、層構成を示す出力を取得する。この出力については、例えば、設定パラメータに対応するインクの層の重ね方を示す情報等と考えることができる。このように構成すれば、例えば、CG画像に設定されている質感に対応する層構成について、機械学習の結果を利用して適切に取得することができる。また、これにより、例えば、所望の質感に対応する層構成の予測を適切に行うことができる。また、この場合、制御PC14について、例えば、層構成予測装置として機能していると考えることができる。
また、本例においては、所望の質感に対応する層構成の予測を行った後に、更に、予測結果に基づき、造形しようとする造形物を示す造形データを生成する(S208)。この場合、ステップS208の動作は、造形データ生成段階の動作の一例である。また、ステップS208において、制御PC14は、造形データとして、例えば、ステップS206で取得した層構成に基づく重ね方で造形装置12にインクの層を積層させるデータを生成する。
以上のように、本例によれば、例えば、所望の質感に対応する層構成の予測を適切に行うことができる。また、層構成の予測結果に基づいて造形データを生成することで、例えば、所望の質感が得られる造形物の造形を造形装置12に適切に行わせることができる。
また、造形システム10の動作の変形例においては、上記において説明をした具体的な特徴について、様々に変更をすること等も可能である。例えば、上記においては、透明感を示すパラメータについて、主に、LSFを用いる場合の動作等について説明をした。しかし、透明感を示すパラメータとしては、LSF以外のパラメータを用いてもよい。
また、層構成と対応付ける質感について、上記においては、主に、人間の肌の透明感を用いる場合の動作等について、説明をした。しかし、層構成と対応付ける質感としては、人間の肌の透明感以外の様々な質感を用いることも考えられる。このような質感としては、例えば、クラゲ、ゼリー、果物の切断面、トンボの羽等の、造形物の表面から内部に向かって色や濃度、透明度の異なる画像領域を有する構成に対応する質感を用いることが考えられる。このような場合も、質感を示すパラメータを適宜選択することで、層構成と質感との関係を適切に対応付けることができる。また、この場合も、上記のようにして、互いに層構成が異なる複数の試料を作成し、それぞれの試料に対するパラメータの計測を行うことが考えられる。また、計測の結果について、それぞれの試料の層構成と対応付けてコンピュータに機械学習を行わせることで、所望の質感に対応する層構成の予測を適切に行うことができる。
また、上記においては、主に、人間の肌の質感を再現することに着目して、例えば図2を用いて説明をしたように、着色領域154を真皮領域302、表皮領域304、及びクリア領域306に分ける場合の例を説明した。しかし、着色領域154を複数の領域に分ける分け方については、表現しようとする質感に合わせて、適宜変更することが考えられる。この場合も、着色領域154を複数の領域に分け、それぞれの領域と色群とを対応付けることで、様々な質感を適切に再現することができる。また、この場合、それぞれの色群が含む色については、上記においても説明をしたように、例えば、造形しようとする造形物が示す対象物の構造等に合わせて設定した色を用いることが考えられる。また、質感パラメータとしては、所望の質感に対応する様々なパラメータを用いることが考えられる。より具体的に、質感パラメータとしては、例えば、BRDFやBSSRDF等を用いること等も考えられる。
続いて、造形装置12(図1参照)において造形する造形物50に関し、着色領域154の構成等について、更に詳しく説明をする。図9は、造形物50のより詳細な構成の一例を示す図であり、造形物50の断面の構成の一例を示す。
上記においても説明をしたように、造形装置12は、制御PC14(図1参照)から受け取る造形データに基づき、例えば、内部領域152及び着色領域154を備える造形物50を造形する。また、この場合において、上記において説明をしたように、制御PC14は、CG画像に設定された質感に対応する層構成の取得結果に基づき、造形データを生成する。また、これにより、制御PC14は、所望の質感を再現する造形物50の造形を造形装置12に行わせる。
この点に関し、造形物50の側面の構成に着目した場合、上記においても説明をしたように、着色領域154は、法線方向における厚さが一定になるように、側面に沿って形成される。また、この場合、着色領域154の構成は、側面に沿った層状の領域が複数重なる構成になる。そして、この場合、側面に沿ったそれぞれの層状の領域について、着色領域154を構成するインクの層202と考えることができる。そのため、人間の肌の質感を再現する構成として、真皮領域302、表皮領域304、及びクリア領域306を有する着色領域154を形成する場合、着色領域154の構成は、例えば図中に示すように、真皮領域302、表皮領域304、及びクリア領域306が造形物50の法線方向において重なる構成になる。また、この場合、真皮領域302、表皮領域304、及び表皮領域304のそれぞれについて、上記において説明をした機械学習に用いた試料におけるインクの層に対応する層状の領域が重なるように形成することが考えられる。
また、上記においても説明をしたように、本例において、造形装置12は、積層造形法で造形物50の造形を行う。そして、この場合、所定の厚さのインクの層を積層方向へ重ねることで、造形物50の造形を行う。また、より具体的に、積層造形法で積層するそれぞれのインクの層について、造形単位層502と定義した場合、積層造形法での造形の動作については、例えば図中に破線で示すように、複数の造形単位層502を重ねることで造形物を造形する動作等と考えることができる。そして、この場合、上記においても説明をしたように、積層方向における上面側や下面側では、造形単位層502について、着色領域154を構成するそれぞれのインクの層202と考えることができる。
これに対し、上面及び下面以外の面である側面では、質感を再現するために重ねる層状の領域に対応する構成としてのインクの層について、造形単位層502とは別のものであると考えることができる。そのため、質感を再現するために重ねる層状の領域に対応する構成としてのインクの層については、造形単位層502と区別するために、例えば、質感に対応する層等と考えることもできる。また、この場合、造形装置12において着色領域154を形成する動作については、例えば、質感に対応する層を複数層重ねることで着色領域154を形成する動作等と考えることもできる。また、この場合において、質感に対応する層について、真皮領域302、表皮領域304、及びクリア領域306のような、互いに異なる色群の色で着色される複数の領域に分けて形成している等と考えることもできる。
また、造形装置12においてこのような造形物50を造形する場合、制御PC14において造形データを生成する動作では、例えば、機械学習を利用して予測したインクの層の層構成に基づき、着色領域154の各部を構成する質感に対応する層の重なり方を決定することが考えられる。このように構成すれば、例えば。造形物50の側面等についても、層構成の予測結果を適切に反映させることができる。
また、造形物50の側面について、より高い精度で質感を再現しようとする場合には、側面の質感を再現するための層構成について、上面等に対する層構成とは別に予測をすること等も考えられる。この場合、側面の質感に対応する複数の試料を更に作成して、試料における層構成と質感との関係の機械学習をコンピュータに行わることが考えられる。また、この場合、例えば、様々な角度で表面が傾斜する試料を作成して、試料の表面の傾斜角度を更に対応付けて、機械学習をコンピュータに行わること等が考えられる。このように構成すれば、所望の質感を再現する造形物50をより高い精度で適切に造形することができる。