IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士フイルム株式会社の特許一覧

特開2024-85214駆動波形作成方法、情報処理装置及びプログラム
<>
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図1
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図2
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図3
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図4
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図5
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図6
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図7
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図8
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図9
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図10
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図11
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図12
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図13
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図14
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図15
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図16
  • 特開-駆動波形作成方法、情報処理装置及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024085214
(43)【公開日】2024-06-26
(54)【発明の名称】駆動波形作成方法、情報処理装置及びプログラム
(51)【国際特許分類】
   B05C 5/00 20060101AFI20240619BHJP
   B05C 11/10 20060101ALI20240619BHJP
   G06N 20/00 20190101ALN20240619BHJP
   G06N 3/0455 20230101ALN20240619BHJP
   G06N 3/042 20230101ALN20240619BHJP
【FI】
B05C5/00 101
B05C11/10
G06N20/00 130
G06N3/0455
G06N3/042
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022199620
(22)【出願日】2022-12-14
(71)【出願人】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(74)【代理人】
【識別番号】100170069
【弁理士】
【氏名又は名称】大原 一樹
(74)【代理人】
【識別番号】100128635
【弁理士】
【氏名又は名称】松村 潔
(74)【代理人】
【識別番号】100140992
【弁理士】
【氏名又は名称】松浦 憲政
(74)【代理人】
【識別番号】100153822
【弁理士】
【氏名又は名称】増田 重之
(72)【発明者】
【氏名】西川 漠
(72)【発明者】
【氏名】溝内 雄太
(72)【発明者】
【氏名】和多田 佑介
【テーマコード(参考)】
4F041
4F042
【Fターム(参考)】
4F041AB01
4F041BA01
4F041BA10
4F041BA34
4F042AB00
4F042BA07
4F042BA12
4F042CB10
4F042DH09
(57)【要約】
【課題】専門性を持たない技術者であっても、使用する液体の吐出に適した駆動波形を効率良く作成することができる駆動波形作成方法、情報処理装置及びプログラムを提供する。
【解決手段】圧電素子を備える液体吐出ヘッドの圧電素子の駆動に用いる駆動波形の作成方法であって、液体吐出ヘッドに吐出させる液体と液体吐出ヘッドとを用いて複数の駆動波形のそれぞれを圧電素子に印加した際の液体の実際の飛翔形状に関するデータを用いた機械学習によって学習済みの機械学習モデルを用いて、1つ以上のプロセッサが、未知の駆動波形を入力した際の液体の飛翔予測を行い、飛翔予測に基づいて液体の吐出に適した駆動波形を決定することを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
圧電素子を備える液体吐出ヘッドの前記圧電素子の駆動に用いる駆動波形の作成方法であって、
前記液体吐出ヘッドに吐出させる液体と前記液体吐出ヘッドとを用いて複数の駆動波形のそれぞれを前記圧電素子に印加した際の前記液体の実際の飛翔形状に関するデータを用いた機械学習によって学習済みの機械学習モデルを用いて、1つ以上のプロセッサが、未知の駆動波形を入力した際の前記液体の飛翔予測を行い、
前記飛翔予測に基づいて、前記液体の吐出に適した駆動波形を決定すること、
を含む駆動波形作成方法。
【請求項2】
前記駆動波形のパラメータは、パルスの幅、スロープ、パルス高さ、及びパルス間隔のうち少なくとも1つを含む、
請求項1に駆動波形作成方法。
【請求項3】
前記機械学習モデルの学習フェーズは、前記複数の駆動波形のそれぞれを、前記駆動波形の次元よりも小さい次元の潜在空間に圧縮する工程を含む、
請求項1に記載の駆動波形作成方法。
【請求項4】
前記駆動波形は、オートエンコーダに入力されることにより、前記潜在空間における座標に変換される、
請求項3に記載の駆動波形作成方法。
【請求項5】
前記機械学習モデルは、前記学習フェーズにおいて、前記複数の駆動波形のそれぞれの前記潜在空間における座標と、前記実際の飛翔形状に基づく評価値との対応関係を用いて、前記駆動波形を印加した場合の前記評価値を予測するように学習される、
請求項3に記載の駆動波形作成方法。
【請求項6】
前記実際の飛翔形状に関するデータは、前記実際の飛翔形状が撮影された画像から抽出される特性を示す前記評価値を含む、
請求項5に記載の駆動波形作成方法。
【請求項7】
前記評価値は、前記液体吐出ヘッドから吐出される前記液体の滴速、滴量、及びサテライト滴の有無を示す値のうち少なくとも1つを含む、
請求項5に記載の駆動波形作成方法。
【請求項8】
前記飛翔予測は、前記評価値の予測を含み、
前記1つ以上の前記プロセッサが、
前記複数の駆動波形とは異なる1つ以上の前記未知の駆動波形を生成し、
前記未知の駆動波形から前記潜在空間における座標を算出し、
前記機械学習モデルを用いて前記未知の駆動波形の前記潜在空間における座標から予測される前記評価値を算出し、
前記機械学習モデルを用いて算出された前記評価値と目標値とを比較して前記目標値を満たす駆動波形を決定する、
請求項5に記載の駆動波形作成方法。
【請求項9】
前記機械学習モデルは、前記潜在空間における座標から予測される前記評価値の平均値と標準偏差を出力するモデルである、
請求項5に記載の駆動波形作成方法。
【請求項10】
前記1つ以上の前記プロセッサが、
前記複数の駆動波形とは異なる1つ以上の前記未知の駆動波形を生成し、
前記未知の駆動波形から前記潜在空間における座標を算出し、
前記機械学習モデルを用いて前記潜在空間における座標から予測される前記評価値の平均値と標準偏差を算出し、
前記機械学習モデルを用いて算出された前記評価値の平均値と標準偏差から、前記評価値が目標値を上回る確率を算出し、
前記目標値を上回る確率が上位のものを適切な駆動波形として決定する、
請求項9に記載の駆動波形作成方法。
【請求項11】
前記1つ以上のプロセッサが、
オートエンコーダを用いて前記未知の駆動波形から前記潜在空間における座標を算出する、
請求項8に記載の駆動波形作成方法。
【請求項12】
前記1つ以上のプロセッサが、
一様分布に基づいて前記駆動波形のパラメータの値をランダムに抽出することにより、前記複数の駆動波形とは異なる複数の前記未知の駆動波形を生成し、それぞれの駆動波形について前記機械学習モデルを用いた前記飛翔予測を行う、
請求項1に記載の駆動波形作成方法。
【請求項13】
前記1つ以上のプロセッサが、
一様分布に基づいて前記駆動波形のパラメータの値をランダムに抽出することにより、前記複数の駆動波形とは異なる複数の前記未知の駆動波形を生成する場合に、
予めバリオグラム解析により、前記潜在空間上の距離と、前記評価値の分散との関係を明らかにし、前記バリオグラム解析に基づいて前記駆動波形の探索の刻み幅を設定する、
請求項5に記載の駆動波形作成方法。
【請求項14】
前記探索の刻み幅は、前記バリオグラム解析に基づき、前記潜在空間上の距離と、前記評価値の分散とが無相関になる距離以上に設定される、
請求項13に記載の駆動波形作成方法。
【請求項15】
請求項1から14のいずれか一項に記載の駆動波形作成方法を実行する情報処理装置であって、
前記1つ以上の前記プロセッサと、
前記機械学習モデルが記憶される1つ以上の記憶装置と、
を備える情報処理装置。
【請求項16】
請求項1から14のいずれか一項に記載の駆動波形作成方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は駆動波形作成方法、情報処理装置及びプログラムに係り、特に、圧電素子の駆動により液体を吐出する液体吐出ヘッドに適用される駆動波形の作成技術及びその処理を実行するための情報処理技術に関する。
【背景技術】
【0002】
インクジェット印刷において、使用するインクが異なると、物性値の変化が僅かであってもインクジェットヘッドから吐出されるインクの飛翔形状が変化してしまうため、良好な吐出特性を獲得することは大きな課題であった。吐出特性には、例えば、着弾位置精度、サテライト滴の有無、滴速、滴量、及び安定性などがあり得る。圧電素子の駆動によってインクを吐出するインクジェットヘッドでは、その駆動波形に自由度があるため、使用するインク毎に開発者によって駆動波形の最適化が実施されることが多い。
【0003】
特許文献1には、インクジェットヘッドにより液材料を吐出する装置を有するシステムであって、吐出する装置は、インクジェットヘッドの識別情報を取得するユニットと、インクジェットヘッドのアクチュエータに対し、液材料を吐出するための駆動パルスを供給するユニットと、インクジェットヘッドから吐出された液滴の状態を検出する検査ユニットとを含み、システムは、さらに、個々のインクジェットヘッドの吐出特性と個々のインクジェットヘッドの識別情報とが関連付けられたデータベースと、吐出する装置の吐出対象の液材料について想定された仮の属性に対し、識別情報により得られたインクジェットヘッドの吐出特性に基づいて、最適化された駆動パルスを生成するための第1の最適化情報を提供する最適化ユニットとを有し、最適化ユニットは、第1の最適化情報に基づき生成された駆動パルスにより吐出された液滴の状態を検査ユニットにより検出し、識別情報により得られたインクジェットヘッドの吐出特性に基づき吐出対象の液材料の吐出に関する実の属性を想定し、想定された実の属性に対して駆動パルスを動的に最適化する第2の最適化情報を提供する動的最適化ユニットを含む、システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-160314号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
使用するインクに対して駆動波形を最適化するために、従来は、等価回路モデル又は数値流体力学(Computational Fluid Dynamics:CFD)などの物理シミュレーション的手法によって、駆動波形の入力に対するインクの飛翔形状を予測する方法が一般的であった。しかし、このような方法は、流体力学及び数値計算に関する高度な知識及び経験が無ければ、予測に用いるモデルの構築が困難であった。
【0006】
また、駆動波形の最適化の手法として、予め用意した駆動波形群の中から選択して、その特性を評価することにより、所望の特性の条件を満たす最適な駆動波形を決定する方法が一般的である。しかし、試行錯誤を伴う最適化には多大な時間が必要であった。これまでもこの駆動波形の最適化に要する時間を短縮化する試みが実施されてきたが、従来の一般的な方法では、用意される駆動波形群が限られており、全く未知の駆動波形を探索することはできなかった。
【0007】
上記の課題は、印刷用途のインクジェット装置に限らず、各種の機能性液体を吐出する液体吐出ヘッドを用いる装置について共通の課題である。
【0008】
本開示はこのような事情に鑑みてなされたものであり、駆動波形の作成に関する高度な知識と経験が無い技術者であっても、使用するインクの吐出に適した駆動波形を効率良く作成することができる駆動波形作成方法、情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の第1態様に係る駆動波形作成方法は、圧電素子を備える液体吐出ヘッドの圧電素子の駆動に用いる駆動波形の作成方法であって、液体吐出ヘッドに吐出させる液体と液体吐出ヘッドとを用いて複数の駆動波形のそれぞれを圧電素子に印加した際の液体の実際の飛翔形状に関するデータを用いた機械学習によって学習済みの機械学習モデルを用いて、1つ以上のプロセッサが、未知の駆動波形を入力した際の液体の飛翔予測を行い、飛翔予測に基づいて、液体の吐出に適した駆動波形を決定することを含む。
【0010】
第1態様によれば、実際の飛翔形状に関するデータを用いた機械学習により駆動波形と飛翔形状との関係を学習した学習済みの機械学習モデルを用いることで、未知の駆動波形についての飛翔形状に関する予測が可能であり、この飛翔予測に基づいて液体の吐出に適した駆動波形を効率良く見つけ出すことができる。
【0011】
第2態様に係る駆動波形作成方法は、第1態様に係る駆動波形作成方法において、駆動波形のパラメータは、パルスの幅、スロープ、パルス高さ、及びパルス間隔のうち少なくとも1つを含む構成であってもよい。
【0012】
第3態様に係る駆動波形作成方法は、第1態様又は第2態様に係る駆動波形作成方法において、機械学習モデルの学習フェーズは、複数の駆動波形のそれぞれを、駆動波形の次元よりも小さい次元の潜在空間に圧縮する工程を含む構成であってもよい。
【0013】
第4態様に係る駆動波形作成方法は、第3態様に係る駆動波形作成方法において、駆動波形は、オートエンコーダに入力されることにより、潜在空間における座標に変換される構成であってもよい。
【0014】
第5態様に係る駆動波形作成方法は、第3態様又は第4態様に係る駆動波形作成方法において、機械学習モデルは、学習フェーズにおいて、複数の駆動波形のそれぞれの潜在空間における座標と、実際の飛翔形状に基づく評価値との対応関係を用いて、駆動波形を印加した場合の評価値を予測するように学習される構成であってもよい。
【0015】
第6態様に係る駆動波形作成方法は、第5態様に係る駆動波形作成方法において、実際の飛翔形状に関するデータは、実際の飛翔形状が撮影された画像から抽出される特性を示す評価値を含む構成であってもよい。
【0016】
第7態様に係る駆動波形作成方法は、第5態様又は第6態様に係る駆動波形作成方法において、評価値は、液体吐出ヘッドから吐出される液体の滴速、滴量、及びサテライト滴の有無を示す値のうち少なくとも1つを含む構成であってもよい。
【0017】
第8態様に係る駆動波形作成方法は、第5態様から第7態様のいずれか一態様に係る駆動波形作成方法において、飛翔予測は、評価値の予測を含み、1つ以上のプロセッサが、複数の駆動波形とは異なる1つ以上の未知の駆動波形を生成し、未知の駆動波形から潜在空間における座標を算出し、機械学習モデルを用いて未知の駆動波形の潜在空間における座標から予測される評価値を算出し、機械学習モデルを用いて算出された評価値と目標値とを比較して目標値を満たす駆動波形を決定する構成であってもよい。
【0018】
第9態様に係る駆動波形作成方法は、第5態様から第8態様のいずれか一態様に係る駆動波形作成方法において、機械学習モデルは、潜在空間における座標から予測される評価値の平均値と標準偏差を出力するモデルであってもよい。
【0019】
第10態様に係る駆動波形作成方法は、第9態様に係る駆動波形作成方法において、1つ以上のプロセッサが、複数の駆動波形とは異なる1つ以上の未知の駆動波形を生成し、未知の駆動波形から潜在空間における座標を算出し、機械学習モデルを用いて潜在空間における座標から予測される評価値の平均値と標準偏差を算出し、機械学習モデルを用いて算出された評価値の平均値と標準偏差から、評価値が目標値を上回る確率を算出し、目標値を上回る確率が上位のものを適切な駆動波形として決定する構成であってもよい。
【0020】
第11態様に係る駆動波形作成方法は、第8態様から第10態様のいずれか一態様に係る駆動波形作成方法において、1つ以上のプロセッサが、オートエンコーダを用いて未知の駆動波形から潜在空間における座標を算出する構成であってもよい。
【0021】
第12態様に係る駆動波形作成方法は、第1態様から第11態様のいずれか一態様に係る駆動波形作成方法において、1つ以上のプロセッサが、一様分布に基づいて駆動波形のパラメータの値をランダムに抽出することにより、複数の駆動波形とは異なる複数の未知の駆動波形を生成し、それぞれの駆動波形について機械学習モデルを用いた飛翔予測を行う構成であってもよい。
【0022】
第13態様に係る駆動波形作成方法は、第5態様から第11態様のいずれか一態様に係る駆動波形作成方法において、1つ以上のプロセッサが、一様分布に基づいて駆動波形のパラメータの値をランダムに抽出することにより、複数の駆動波形とは異なる複数の未知の駆動波形を生成する場合に、予めバリオグラム解析により、潜在空間上の距離と、評価値の分散との関係を明らかにし、バリオグラム解析に基づいて駆動波形の探索の刻み幅を設定する構成であってもよい。
【0023】
第14態様に係る駆動波形作成方法は、第13態様に係る駆動波形作成方法において、探索の刻み幅は、バリオグラム解析に基づき、潜在空間上の距離と、評価値の分散とが無相関になる距離以上に設定される構成であってもよい。
【0024】
本開示の第15態様に係る情報処理装置は、第1態様から第14態様のいずれか一態様に係る駆動波形作成方法を実行する情報処理装置であって、1つ以上のプロセッサと、機械学習モデルが記憶される1つ以上の記憶装置と、を備える。
【0025】
本開示の第16態様に係るプログラムは、第1態様から第14態様のいずれか一態様に係る駆動波形作成方法をコンピュータに実行させるプログラムである。
【発明の効果】
【0026】
本開示によれば、圧電素子を備える液体吐出ヘッドに用いられる駆動波形の作成に関して専門性を持たない技術者であっても、使用する液体の吐出に適した駆動波形を効率良く作成することができる。
【図面の簡単な説明】
【0027】
図1図1は、実施形態に係る駆動波形作成方法の処理手順を示すフローチャートである。
図2図2は、駆動波形の例を示す波形図である。
図3図3は、飛翔形状が撮影された画像の例である。
図4図4は、インクジェットヘッドから吐出した液滴のイメージ図である。
図5図5は、オートエンコーダの構成例を示す説明図である。
図6図6は、潜在空間上に特性値をマッピングした例を示す図である。
図7図7は、滴速に関するバリオグラム解析の例を示すグラフである。
図8図8は、滴量に関するバリオグラム解析の例を示すグラフである。
図9図9は、ドロップ数に関するバリオグラム解析の例を示すグラフである。
図10図10は、情報処理装置のハードウェア構成の例を示すブロック図である。
図11図11は、学習に用いるデータを得るための吐出実験に用いたインクジェット装置の構成例を概略的に示す説明図である。
図12図12は、オートエンコーダの作成処理を実行する情報処理装置の機能的構成を概略的に示すブロック図である。
図13図13は、予測モデルを作成する処理を実行する情報処理装置の機能的構成を概略的に示すブロック図である。
図14図14は、学習用のデータセットを作成する処理を実行する情報処理装置の機能的構成を概略的に示すブロック図である。
図15図15は、データセットの例を示す説明図である。
図16図16は、予測モデルを作成する処理を実行する情報処理装置の機能的構成を概略的に示すブロック図である。
図17図17は、本実施形態により構築した学習済みのオートエンコーダ及び予測モデルを用いて有望な駆動波形を探索する処理を実行する情報処理装置の機能的構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0028】
以下、添付図面に従って本発明の実施形態について詳細に説明する。
【0029】
《実施形態に係る駆動波形作成方法の概要》
本実施形態では、圧電素子を備えるインクジェットヘッドの挙動を予測する機械学習モデルを作成する方法及び装置と、その学習済みの機械学習モデルを用いて、所望の特性を実現し得る駆動波形を探索する方法及び装置の例を説明する。
【0030】
図1は、実施形態に係る駆動波形作成方法の処理手順を示すフローチャートである。図1に示すステップS1からステップS8の各ステップは、1つ以上のプロセッサによって実行される。ステップS1からステップS5は、使用するインクとインクジェットヘッドとの組み合わせを用いた吐出実験により、複数の駆動波形のそれぞれを圧電素子に印加してインクを吐出させた際の実際の飛翔形状に関するデータを用いて予測モデル(機械学習モデル)を作成する処理のステップである。ステップS6からステップS8は、学習済みの予測モデルを用いて適切な駆動波形を探索する処理のステップである。ステップS1からステップS5は学習フェーズ、ステップS6は推論フェーズに相当する。
【0031】
ここでは、第1のプロセッサがステップS1からステップS5を実行し、その後、第1のプロセッサとは異なる第2のプロセッサがステップS6~ステップS8を実行する例を述べるが、例えば、第2のプロセッサの代わりに、第1のプロセッサがステップS6~ステップS8を実行してもよい。また、第1のプロセッサの代わりに、第2のプロセッサとは異なる第3のプロセッサがステップS3を実行してもよい。以下、ステップS1~ステップS8のそれぞれを詳細に説明する。
【0032】
〔ステップS1:実際の飛翔形状が撮影された画像の取得〕
ステップS1において、第1のプロセッサは、使用するインクとインクジェットヘッドとを用いて複数の駆動波形のそれぞれを圧電素子に印加した際の飛翔形状が撮影された画像(以下、「飛翔形状画像」という。)を取得する。本実施形態においては、使用するインクとインクジェットヘッドとの組み合わせを用い、実際に複数の駆動波形を適用して吐出実験を行い、その際の入力である駆動波形と、出力であるインクの実際の飛翔形状との対応関係のデータを多数収集する。
【0033】
[駆動波形の例]
図2は、駆動波形の例を示す波形図である。横軸は時刻、縦軸は電位を表す。図2に示す駆動波形20は、予備振動パルス22と、吐出パルス24と、残響抑制パルス26とを含み、それぞれのパルスの幅、スロープ、パルス高さ、及びパルス間隔を駆動波形のパラメータとする。ここでは、駆動波形を12個のパラメータで表現する例で説明する。図2に示す駆動波形20の例では、パルスの幅、スロープ、及びパルス間隔を規定する時間t1~t9、及びパルス高さを規定する電位差E1~E3の12個のパラメータがある。これらのパラメータの値の組み合わせが異なる複数の駆動波形を、使用するインクが充填されたインクジェットヘッドの圧電素子に印加して、吐出したインクの飛翔形状を学習データとする。
【0034】
なお、駆動波形のパラメータは図2に示す例の種類(12種類)に限らない。例えば、時刻と共に駆動波形の電位を曲線的に変化させてもよく、その曲線の形状をパラメータに含めてもよい。学習に用いる駆動波形の種類は、例えば100種類としてもよい。
【0035】
[飛翔形状画像の例]
図3は、インクジェットヘッドから吐出されたインクの飛翔形状の画像例である。図3では駆動波形の印加によってインクジェットヘッドから吐出されたインクを一定の時間間隔で連続撮影して得られた時系列画像群から把握される各時刻の飛翔形状を示している。図3には、1μs(マイクロ秒)刻みで撮影された画像の例が示されている。なお、1μsは一定の時間間隔の一例である。
【0036】
撮影領域として、インク吐出口であるノズルから、インクの飛翔特性を取得するのに十分な領域を設定することが望ましい。時系列方向(時間軸方向)の飛翔の様態を把握するため、一定の時間間隔で撮影し、インク滴が画面外に見切れる程度のステップ数(撮影回数)にて撮影を行う。よって、1つの駆動波形に対し、時系列数分の画像が得られる。図3は、時系列数分の画像から関心領域をクロッピングして時系列に並べてつなげた例である。
【0037】
後の画像処理のことを考慮し、なるべくインク領域の色と背景領域の色コントラストがはっきりしていることが好ましい。また、インク滴と背景領域を分け目となる領域は解像度がシャープであることが好ましい。
【0038】
図3に示すように、インクジェットヘッドのノズルからインクが吐出し始めて、液柱を形成し、ノズルから分離して滴状に変形しつつ飛翔している。
【0039】
〔ステップS2:飛翔形状画像から特性の抽出〕
図1のステップS2において、第1のプロセッサは、取得した飛翔形状画像から画像処理により特性を抽出する。ここでの「特性」は、例えば、滴量、滴速、及びサテライト滴の有無のことであるが、それ以外のものがあってもよい。滴量、滴速、及びサテライト滴の有無などの特性は、飛翔形状に基づいて算出される評価値(評価指標)の一例である。
【0040】
滴速とは、インク滴の速度であり、画像処理によりインク領域を抽出し、そのインク領域が単位時間あたりにどのくらい遷移しているかによって算出する。滴量は、インク滴の量であり、やはり画像処理により抽出されたインクの領域面積から、体積相当に変換して算出する。このとき、滴量としては、実際にノズルから分離されて飛翔していくもののみを加算するのであって、ノズルから分離されずまたノズルに戻っていくインクは滴量として加算しない。サテライト滴の有無とは、通常、インク滴が吐出後に1つの球体に変形して飛翔していくのに対し(サテライト滴無し)、変形の途中で2つ以上に分裂した球体として飛翔していく状態(サテライト滴有り)となる場合があり、この状態の違いのことをいう(図4の右図F4B参照)。
【0041】
図4に吐出後の液滴のイメージを示す。図4の左図F4Aは、吐出開始直後に吐出口から液柱部が延びている状態を表している。右図F4Bは、その後、メイン滴とサテライト滴とが分裂した球体として飛翔していく状態(サテライト滴有り)を示している。
【0042】
サテライト滴の有無についても、飛翔形状画像から画像処理により、インク滴を抽出した際に領域が複数部分に分割されているかを判断基準とする。また、サテライト滴の有無は、実際にノズルから分離されて飛翔していくもののみを考慮するのであって、ノズルから分離されずまたノズルに戻っていくインクは滴量として考慮しない。また、サテライト滴の有無は2値の判定結果であるが、第1滴(メイン滴)がある距離に到達したときの最終滴の距離(サテライト滴無しの場合は、距離を0とする。)を用いてもよく、この場合は距離を示す数値となる。
【0043】
〔ステップS3:オートエンコーダの作成〕
図1のステップS3において、第1のプロセッサは、あり得る様々な形態の駆動波形を生成し、オートエンコーダを用いて駆動波形を潜在空間に圧縮し、圧縮された情報から入力の駆動波形を再構成するようにオートエンコーダのパラメータを最適化する。なお、「最適化」は、最適な状態に近づけることを意味し、真に最適な状態に到達することに限定されない。
【0044】
このステップS3は、予測モデルを作成するための前段階として、駆動波形の高次元データを、より低次元の潜在空間に圧縮するオートエンコーダを作成する処理のステップである。ステップS3は、ステップS1及びステップS2から独立した処理として実行されてよく、ステップS1及びステップS2よりも先行して実行されてもよい。
【0045】
ステップS3の処理内容について、図2のように駆動波形を12個のパラメータによって表現する例で説明する。第1のプロセッサは、これらのパラメータをランダムに生成して多様な駆動波形を生成する。図2に示すパラメータのE1、E2、及びE3は電位を表すため、第1のプロセッサは、インクジェットヘッドに入力可能な電位の範囲からそれぞれランダムな実数を抽出する。ランダムな実数としては、一様分布を仮定してもよいし、正規分布やその他の確率分布を仮定してもよい。ただし、刻み幅としては、入力の電位分解能程度とする。同様にt1~t9にも適当な範囲を定めて時間相当の数値をランダムに抽出する。これも、刻み幅としては、入力の時間分解能程度とする。また、明らかに適切な入力とならないようなものは、予め除外してよい。
【0046】
ランダムな実数によって生成される駆動波形は、時間とメモリ容量が許す限り、いくらでも生成が可能であり、数が多いほど学習効果は高いが、例えば10万~100万点程度とする。駆動波形は、1次元の電位が時間分解能のステップ数分となり、非常に高次元となる。例えば、30μsの駆動波形長であって、時間分解能が0.01μsの場合に、駆動波形の電位を表現するステップ数は3000点となり、駆動波形は3000次元のベクトルとなる。
【0047】
このような高次元のベクトルを、比較的低次元の空間である潜在空間にマッピングすることを考える。潜在空間にマッピングする方法としては、近年、オートエンコーダという手法が提案されている。オートエンコーダは人工知能分野などで広く使われる機械学習手法である。
【0048】
図1のステップS3では、第1のプロセッサが、多種多様の駆動波形をランダムに生成して、これら多数の駆動波形を用いて教師無し学習を行い、入力の駆動波形と同じ波形を再構成して出力するようにオートエンコーダのパラメータを最適化する。
【0049】
オートエンコーダは、駆動波形を表現するベクトル化のフォーマット(時間分解能など)に変更がない限り、1度パラメータの最適化を行えば、その後、この最適化された(学習済みの)オートエンコーダを使い回し可能である。
【0050】
したがって、学習済みのオートエンコーダを利用可能な場合は、ステップS3を省略することができる。
【0051】
[オートエンコーダの例]
図5にオートエンコーダ50の例を示す。オートエンコーダ50は、入力された高次元ベクトルWFiを、畳み込み層などでダウンサンプリングすることを複数回行い、低次元の潜在空間として出力した後、フルコネクト層や畳み込み層でアップサンプリングすることで、入力された次元と同じ再構成ベクトルRWFiを出力する。このとき、入力と出力とが同じベクトルとなるように学習することで、低次元の潜在空間が成立する。なお、図5に示す括弧( )内の数字は、当該レイヤにおける入力テンソルの次数を表す。例えば、入力駆動波形の(100,400,1)とは、100×400×1のテンソルを表す。この入力駆動波形の次元はそれぞれ以下のものに対応している。
【0052】
【表1】
低次元の潜在空間においては、駆動波形として類似している波形に相当するベクトル同士が近い(ユークリッド距離などで定義された距離が近い)配置となっている。駆動波形として類似しているもの同士は、特性も似ていると考えることができる。
【0053】
オートエンコーダ50は、目的や用途に応じて、中間層を様々なものに変えることができるが、入力ベクトルが時系列信号であることから、リカレントニューラルネットワーク(Recurrent Neural Networks :RNN)やLSTM(Long short-term memory)といった、時系列データを取り扱える手法で実現してもよい。
【0054】
この方法により、例えば3000次元程度の入力駆動波形を、10~20次元程度の潜在空間に圧縮することができる。例えば、オートエンコーダ50は、3000次元のベクトルから16次元の潜在空間上のベクトルに圧縮することができる。
【0055】
〔ステップS4:吐出実験に用いた駆動波形の潜在変数化〕
図1のステップS4において、第1のプロセッサは、ステップS1で吐出実験を実施した複数の駆動波形のそれぞれを学習済みのオートエンコーダに入力して、それぞれの駆動波形に対応する潜在空間上のベクトルを得る。潜在空間上のベクトルは、潜在空間上の位置を示す座標と理解してよい。多次元の駆動波形のデータは、オートエンコーダによって、より低次元の潜在空間のベクトルに変換される。ステップS4は、駆動波形をその次元よりも小さい次元の潜在空間に圧縮する工程の一例である。
【0056】
例えば、ステップS1によって得られた100種類の駆動波形を、ステップS3によって得られた学習済みのオートエンコーダに入力することにより、それぞれの駆動波形が16次元の潜在空間にマッピングされる。類似した駆動波形は、潜在空間において距離が近い位置に配置されることが確認できる。
【0057】
〔ステップS5:予測モデルの作成〕
ステップS5において、第1のプロセッサは、ステップS4にて得られた潜在空間上のベクトルと、ステップS2にて得られた特性とが紐付けされたデータを用いて機械学習を行い、潜在空間上のベクトルと特性との対応関係を学習し、任意の駆動波形においても特性の予測値が出力されるように、予測モデルを作成する。
【0058】
ステップS1によって得られた100種類の駆動波形のそれぞれには、ステップS2により得られた特性が対応している。つまり、16次元の潜在空間におけるベクトル(x座標)に対し、滴量、滴速、及びサテライト滴の有無などの各特性の量(y値)を対応させた空間を作ることができる(図6参照)。
【0059】
図6は、潜在空間上に特性値をマッピングした例である。図6では、図示の便宜上、潜在空間が2次元であり、特性値の例としてドロップ数を示す。ドロップ数は、サテライト滴の有無を示す指標となり得る。
【0060】
このようにx座標に対応するy値のデータが複数存在する場合、既知のx座標とy値の対応を複数用いて、未知のx座標におけるy値を予測する機械学習モデルが知られている。例えば、ガウス過程回帰は、x座標とy値の組み合わせを複数学習データとして用いて、未知のx座標に対するy値の平均値と標準偏差を出力する。同様な用途として、一般的な線形回帰モデルや、一般化線形モデル、又はサポートベクターマシンなども用いることができる。ステップS5によって、機械学習モデルのパラメータが最適化され、未知のx座標におけるy値を予測する予測モデルが作成される。
【0061】
〔ステップS6:予測モデルを用いた新規の駆動波形に対する飛翔予測〕
図1のステップS6において、第2のプロセッサは、ステップS1で実施していなかった新規の駆動波形を生成してオートエンコーダに入力し、対応する潜在空間上のベクトルを得て、予測モデルによってその特性を予測する。
【0062】
すなわち、ステップS6では、ステップS1の吐出実験で実施していなかった駆動波形について、ランダムに抽出し、オートエンコーダを用いて潜在空間にマッピングし、予測モデルから予測特性を得る。新規の駆動波形を生成する際のランダム抽出の方法はステップS3で説明したランダム抽出の方法と同様であってよい。
【0063】
〔ステップS7:予測特性の評価〕
図1のステップS7において、第2のプロセッサは、ステップS6にて予測特性が取得できたら、その予測特性が所望の特性を満たしているか否かを判定する。例えば、所望の特性の目標値として指定されている条件が「滴速7m/s以上、滴量3pL(ピコリットル)以上、かつ、サテライト滴無し」という条件である場合、予測特性がこれらの目標値の条件をすべて満たしているか否かを判定する。
【0064】
ステップS7の判定結果がNo判定であれば、第2のプロセッサはステップS6に戻り、別の駆動波形について特性を予測する。すなわち、予測特性が予め指定されている目標の特性の条件(所望条件)のいずれかを満たしていなければ、ステップS6に戻り、更にあらたな駆動波形を生成し、予測特性と所望特性の比較判定(ステップS7)を、成功するまで繰り返す。
【0065】
その一方、ステップS7の判定結果がYes判定である場合、第2のプロセッサはステップS8に進む。すなわち、予測特性が所望条件をすべて満たしていれば抽出成功として、ステップS8に進む。
【0066】
〔ステップS8:駆動波形の決定〕
図1のステップS8において、第2のプロセッサは、予測特性が所望条件を満たす駆動波形を、使用するインクの吐出に適した駆動波形として決定する。ステップS8の後、図1のフローチャートを終了する。
【0067】
なお、所望条件を満たす駆動波形を複数作成する場合は、成功数が所望する数に達するまでステップS6からステップS8を繰り返してもよい。
【0068】
また、予測特性にスコア付けを行うことで、より良いスコアのものを重点的に抽出してもよい。例えば、ステップS5においてガウス過程回帰で予測モデルを構築した場合、予測モデルの出力として予測特性の平均値と標準偏差が得られることから、その正規分布の上側確率を用いるなどし、予測精度の高さを算出できる。例えば、滴速7m/s以上となる確率を求めることができる。同様に、滴量及びサテライト滴の有無におけるそれぞれの条件を満たす確率を求め、その同時確率を求めることで、当該予測特性の予測精度の高さを評価することができる。こうして得られた予測精度の高さを指標に、より予測精度が高いものにより高い優先度を与えて用いることができる。すなわち、予測特性が目標値を上回る確率が上位のものを適切な駆動波形として決定することができる。同様に、予測特性について、条件を上回る度合いでスコア付けをしてもよい。
【0069】
《駆動波形を探索する際の工夫》
ステップS6における新規の駆動波形のランダム抽出にあたっては、ステップS3と同様に、一様分布や正規分布など、一般的な確率分布から抽出する方法を用いてもよいが、先述した評価指標などを利用することで、各種の組み合わせ最適化手法(勾配降下法)や、遺伝的アルゴリズム、マルコフ連鎖モンテカルロ法、バンディットアルゴリズムなどを用いることができる。
【0070】
また、ランダム抽出を行う場合には、その探索効率(時間対効果)の観点から探索分解能の調整が欠かせないが、どのくらいの探索刻み幅を設定すればよいかの指標として、バリオグラム解析を用いることができる。バリオグラム解析は、任意のサンプル点同士のx座標における距離と、y値の差の相関を解析する方法であり、一般にはx座標間の距離が小さければy値の差は小さいため、同等な距離のベクトル組み合わせであれば、y値の分散は小さくなる。x座標間の距離を大きくしていくとy値の分散が大きくなり、やがて距離とy値の分散が無相関になる(図7から図9参照)。この無相関になる距離より短い距離同士を抽出しても得られる情報は少ないと考え、探索の刻み幅をこれ以上に設定することで、より探索効率を向上させることができる。
【0071】
図7から図9は、バリオグラム解析の例を示すグラフであり、図7は滴速、図8は滴量、図9はドロップ数についての解析結果である。これらの図面において破線で示す距離が距離とy値の分散が無相関になる距離(レンジ)を表している。このように、予めバリオグラム解析を行い、その結果に基づいて探索刻み幅を設定することが好ましい。
【0072】
《情報処理装置のハードウェア構成の例》
ステップS1からステップS8の処理は1台又は複数台のコンピュータを含むコンピュータシステムによって実行することができる。
【0073】
図10は、実施形態に係る駆動波形作成方法の少なくとも一部の処理を実行する情報処理装置100のハードウェア構成の例を示すブロック図である。
【0074】
情報処理装置100は、プロセッサ102と、非一時的な有体物であるコンピュータ可読媒体104と、通信インターフェース106と、入出力インターフェース108と、バス110と、を備える。プロセッサ102は、バス110を介してコンピュータ可読媒体104、通信インターフェース106および入出力インターフェース108と接続される。情報処理装置100の形態は、特に限定されず、サーバであってもよいし、パーソナルコンピュータであってもよく、ワークステーション、あるいはタブレット端末などであってもよい。
【0075】
プロセッサ102は、第1のプロセッサ及び第2のプロセッサのうち少なくとも一方となり得る。プロセッサ102はCPU(Central Processing Unit)を含む。プロセッサ102はGPU(Graphics Processing Unit)を含んでもよい。コンピュータ可読媒体104は、主記憶装置であるメモリ112および補助記憶装置であるストレージ114を含む。コンピュータ可読媒体104は、例えば、半導体メモリ、ハードディスク(Hard Disk Drive:HDD)装置、若しくはソリッドステートドライブ(Solid State Drive:SSD)装置又はこれらの複数の組み合わせであってよい。コンピュータ可読媒体104は本開示における「記憶装置」の一例である。
【0076】
コンピュータ可読媒体104には、各種の処理を行うための複数のプログラム及びデータ等が記憶される。「プログラム」という用語はプログラムモジュールの概念を含む。プロセッサ102は、コンピュータ可読媒体104に記憶されたプログラムの命令を実行することにより、各種の処理部として機能する。
【0077】
情報処理装置100は、通信インターフェース106を介して不図示の電気通信回線に接続され得る。電気通信回線は、広域通信回線であってもよいし、構内通信回線であってもよく、これらの組み合わせであってもよい。
【0078】
情報処理装置100は、入力装置152と、表示装置154とを備えていてもよい。入力装置152は、例えば、キーボード、マウス、マルチタッチパネル、若しくはその他のポインティングデバイス、若しくは、音声入力装置、又はこれらの適宜の組み合わせによって構成される。表示装置154は、例えば、液晶ディスプレイ、有機EL(organic electro-luminescence:OEL)ディスプレイ、若しくは、プロジェクタ、又はこれらの適宜の組み合わせによって構成される。入力装置152と表示装置154とは、入出力インターフェース108を介してプロセッサ102と接続される。
【0079】
《学習に用いるデータの収集方法》
図11は、学習に用いるデータを得るための吐出実験に用いたインクジェット装置200の構成例を概略的に示す説明図である。
【0080】
このインクジェット装置200は、インクジェットヘッド202と、駆動回路250と、情報処理装置300と、カメラ320とを備える。
【0081】
なお、図11では、インクジェットヘッド202における1つのイジェクタ210についての立体構造を断面図として示すが、インクジェットヘッド202は複数のイジェクタ210を備えている。インクジェットヘッド202は本開示における「液体吐出ヘッド」の一例である。インクジェット装置200は、実験用の装置であってもよいし、印刷に使用されるインクジェット印刷装置であってもよい。
【0082】
インクジェットヘッド202のイジェクタ210は、ノズル212と、圧力室214と、圧電素子216とを備える。ノズル212は、ノズル流路218を介して圧力室214と通じている。圧力室214は個別供給路220を介して供給側共通流路224に通じている。
【0083】
圧力室214の天面を構成する振動板226は、圧電素子216の下部電極に相当する共通電極として機能する不図示の導電層を備える。圧力室214、その他の流路部分の壁部、及び振動板226はシリコンによって作製することができる。
【0084】
振動板226の材質はシリコンに限らず、樹脂等の非導電性材料によって形成してもよい。振動板226自体をステンレス鋼等の金属材料によって構成し、共通電極を兼ねる振動板としてもよい。
【0085】
振動板226に対して圧電素子216が積層された構造により、圧電ユニモルフアクチュエータが構成される。圧電素子216は駆動回路250と接続され、駆動回路250から供給される駆動電圧によって駆動される。圧電素子216の上部電極である個別電極228に駆動電圧を印加して圧電体230を変形させ、振動板226を撓ませて圧力室214の容積を変化させる。圧力室214の容積変化に伴う圧力変化がインクに作用して、ノズル212からインクが吐出される。
【0086】
インクを吐出後に圧電素子216が元の状態に戻る際に、供給側共通流路224から個別供給路220を通って新しいインクが圧力室214に充填される。なお、インクジェットヘッド202は、吐出に使用されないインクを回収する不図示のインク回収路を備えていてもよい。
【0087】
圧力室214の平面視形状については、特に限定はなく、四角形、その他の多角形、円形、又は楕円形等であってもよい。個別電極228の上方には、カバープレート232が設けられる。カバープレート232は、圧電素子216の可動空間234を確保し、かつ、圧電素子216の周囲を封止する部材である。
【0088】
カバープレート232の上方には、不図示の供給側インク室、及び不図示の回収側インク室が形成される。供給側インク室は、不図示の連通路を介して、供給側共通流路224に連結される。回収側インク室は、不図示の連通路を介して、不図示の回収側共通流路に連結されている。
【0089】
インクジェットヘッド202の吐出動作を制御する情報処理装置300は、制御部302と、波形生成部304と、画像処理部306と、データ保存部308とを含む。情報処理装置300は、駆動回路250を含んでもよい。情報処理装置300のハードウェア構成は図7と同様であってよい。情報処理装置300の各部の処理機能は、プロセッサ102がプログラムの命令を実行することによって実現され得る。
【0090】
情報処理装置300は、カメラ320と接続される。カメラ320は、ノズル212から吐出されるインクの飛翔状態を撮影できる位置に配置される。制御部302は、インクジェットヘッド202及びカメラ320を含むシステム全体を制御する。波形生成部304は、制御部302からの指令に従い、様々な波形の駆動波形DWjを生成し得る。例えば、波形生成部304は、図2で説明した12個のパラメータの値の組み合わせを異ならせた複数の駆動波形DWjを生成し得る。添字jは、複数の駆動波形を識別するインデックスを表す。例えば、100種類の駆動波形DWjを生成させる場合、jは1から100までの整数を取る。
【0091】
駆動回路250は、波形生成部304にて生成された駆動波形DWjの駆動電圧を圧電素子216に供給する。こうして、圧電素子216が駆動されることにより、ノズル212からインクが吐出される。カメラ320は、ノズル212から吐出されたインクの飛翔状態を一定の時間間隔で撮影する。制御部302は、圧電素子216の駆動に同期して、カメラ320による撮影タイミングを制御する。カメラ320によって撮影された時系列の画像群は、画像処理部306に送られる。
【0092】
画像処理部306は、取得された画像について関心領域の抽出、クロップ処理などの必要な処理を行い、インクの飛翔形状を示す時系列の飛翔形状画像群FSj(t)を生成する。添字tは時系列の時刻を表す。
【0093】
制御部302は、駆動波形DWjと、飛翔形状画像群FSj(t)とを関連付けて(紐付けて)、駆動波形DWj及び飛翔形状画像群FSj(t)をデータ保存部308に保存する。こうして、複数の駆動波形DWjと、それぞれに対応する複数の飛翔形状画像群FSj(t)とを含むデータセットが作成される。このデータセットの一部又は全部が学習用のデータセットとして用いられる。なお、このようなデータセットは、使用されるインクとインクジェットヘッド202との組み合わせ毎に作成される。
【0094】
《オートエンコーダの作成方法》
図12は、オートエンコーダの作成処理を実行する情報処理装置170の機能的構成を概略的に示すブロック図である。情報処理装置170のハードウェア構成は、図10で説明した構成と同様であってよい。情報処理装置170の各部の処理機能は、プロセッサ102がプログラムの命令を実行することによって実現される。
【0095】
情報処理装置170は、波形生成部172と、オートエンコーダ50と、損失算出部174と、パラメータ更新量算出部176と、パラメータ更新処理部178とを備える。波形生成部172は、図11の波形生成部304と同様の構成であってよい。
【0096】
オートエンコーダ50は、エンコーダ部52とデコーダ部54とを含む。波形生成部172によって生成された駆動波形はオートエンコーダ50に入力され、エンコーダ部52により潜在空間の特徴が抽出される。エンコーダ部52により抽出された潜在空間の特徴はデコーダ部54によって再構成され、再構成波形が出力される。損失算出部174は、オートエンコーダ50が出力した再構成波形と、元の入力の駆動波形との誤差を示す損失(ロス)を算出する。パラメータ更新量算出部176は、算出された損失に基づいて、オートエンコーダ50のパラメータの更新量を算出する。パラメータ更新処理部178は、算出された更新量に従い、オートエンコーダ50のパラメータを更新する。
【0097】
多数の駆動波形を用いて、入力の駆動波形と同じ再構成波形が得られるように、オートエンコーダ50のパラメータの更新を複数回行うことにより、オートエンコーダ50のパラメータが最適化される。情報処理装置170は、オートエンコーダ50を作成する機械学習の処理を実行する機械学習システムとして機能する。情報処理装置170の処理機能は、図11の情報処理装置300に組み込まれてもよい。
【0098】
《予測モデルの作成方法:例1》
図13は、予測モデルを作成する処理を実行する情報処理装置400の機能的構成を概略的に示すブロック図である。情報処理装置400のハードウェア構成は、図10で説明した構成と同様であってよい。情報処理装置400は、データ記憶部402と、データ取得部404と、オートエンコーダ50と、画像処理部408と、予測モデル410と、オプティマイザ412と、を備える。
【0099】
データ記憶部402には、駆動波形TDWjと、これに対応する飛翔形状TFSjとが紐付けされた複数のデータ組を含むデータセットTDS1が記憶される。駆動波形TDWjとこれに対応する飛翔形状TFSjとは、図7で説明した方法によって収集された駆動波形DWjと時系列の飛翔形状画像群FSj(t)とであってよい。
【0100】
データ取得部404は、データ記憶部402から駆動波形TDWjと飛翔形状TFSjとを含むデータ組を取得する。データ取得部404を介して取得された駆動波形TDWjはオートエンコーダ50に入力される。データ取得部404を介して取得された飛翔形状TFSjは画像処理部408に入力される。
【0101】
オートエンコーダ50は、図5で説明した学習済みのオートエンコーダである。オートエンコーダ50の代わりに、学習済みのオートエンコーダ50におけるエンコーダ部52のみを用いてもよい。
【0102】
オートエンコーダ50は、入力された駆動波形TDWjを潜在空間に圧縮し、潜在空間のベクトルで表される波形特徴TWFjを出力する。波形特徴TWFjは予測モデル410に入力される。
【0103】
予測モデル410は、波形特徴TWFjの入力を受けて、予測特性PFFjを出力する機械学習モデルである。予測モデル410として、例えば、ガウス過程回帰モデルを適用することができ、この場合、予測モデル410は、予測される特性の平均値と標準偏差を出力する。
【0104】
予測モデル410は、実体的にはプログラムであり、オートエンコーダ50と共にコンピュータに、インクジェットヘッド202の挙動を予測する機能を実現させる。予測モデル410が出力する予測特性PFFjは、駆動波形TDWjを印加した場合の飛翔予測の予測結果に相当する。予測特性PFFjは、オプティマイザ412に送られる。
【0105】
画像処理部408は、入力された飛翔形状TFSjから滴速、滴量、及びサテライト滴の有無などの特性TFFjを抽出する。実際の飛翔形状TFSjから画像処理によって抽出された特性TFFjは、駆動波形TDWjを印加した場合に得られる正解の特性に相当する。
【0106】
オプティマイザ412は、予測特性PFFjと、正解の(実際の)特性TFFjとを比較して、両者の誤差を示す損失を算出する処理と、その損失に基づいて予測モデル410のパラメータの更新量を算出する処理と、算出した更新量に従い予測モデル410のパラメータを更新する処理とを行う。予測モデル410のパラメータをモデルパラメータという。
【0107】
オプティマイザ412は、予測特性PFFjが正解の特性TFFjに近づくように、モデルパラメータを更新する。
【0108】
データセットTDS1に含まれる複数のデータ組を用いて、モデルパラメータの更新を複数回行うことにより、予測モデル410のモデルパラメータが最適化され、高精度の予測が可能な予測モデル410が作成される。使用するインクとインクジェットヘッド202との組み合わせ毎に、対応する予測モデル410が作成される。情報処理装置400は、予測モデル410を作成する機械学習の処理を実行する機械学習システムとして機能する。
【0109】
《予測モデルの作成方法:例2》
図13の例では、データセットTDS1を学習用のデータセットとして用いる例を説明したが、図14に示すように、データセットTDS1を基に、予め波形特徴TWFjと特性TFFjのデータ組を作成し、波形特徴TWFjと特性TFFjを含んだ学習用のデータセットTDS2を構築してもよい。
【0110】
図14は、学習用のデータセットTDS2を作成する処理を実行する情報処理装置420の機能的構成を概略的に示すブロック図である。情報処理装置420のハードウェア構成は、図10で説明した構成と同様であってよい。図14において、図13に示した情報処理装置400と同一又は類似の構成には同一の符号を付し、その説明は省略する。
【0111】
情報処理装置420は、オートエンコーダ50から出力された波形特徴TWFjと、画像処理部408の画像処理によって抽出された特性TFFjとを紐付けて記憶するデータ記憶部422を備える。データ記憶部422には、波形特徴TWFjと、これに対応する特性TFFjのデータ組を複数含むデータセットTDS2が記憶される。
【0112】
データ記憶部422は、データ記憶部402とは別の記憶装置によって構成されてもよいし、同じ記憶装置によって構成されてもよい。情報処理装置420の処理機能は、図11の情報処理装置300に組み込まれてもよい。
【0113】
また、図15に示すように、データセットTDS1とデータセットTDS2とを統合して、新たなデータセットTDS3としてデータ記憶部422に記憶してもよい。
【0114】
図16は、データセットTDS2を用いて予測モデル410を作成する処理を実行する情報処理装置430の機能的構成を概略的に示すブロック図である。情報処理装置430のハードウェア構成は、図10で説明した構成と同様であってよい。図16において、図13に示した情報処理装置400と同一又は類似の構成には同一の符号を付し、その説明は省略する。
【0115】
情報処理装置430は、データセットTDS2を記憶したデータ記憶部422と、データ取得部432と、予測モデル410と、オプティマイザ412とを含む。データ取得部432は、データ記憶部422から波形特徴TWFjと特性TFFjとを含むデータ組を取得する。波形特徴TWFjは予測モデル410に入力される。特性TFFjはオプティマイザ412に送られる。その他の動作は図13と同様である。
【0116】
《学習済みの予測モデル410を用いた駆動波形探索方法》
図17は、本実施形態により構築した学習済みのオートエンコーダ50及び予測モデル410を用いて有望な駆動波形を探索する処理を実行する情報処理装置500の機能的構成を概略的に示すブロック図である。情報処理装置500のハードウェア構成は、図10で説明した構成と同様であってよい。情報処理装置500の各部の処理機能は、プロセッサ102がプログラムの命令を実行することによって実現され得る。
【0117】
情報処理装置500は、制御部502と、波形生成部504と、オートエンコーダ50と、予測モデル410と、特性評価部506と、駆動波形決定部508と、記憶部510とを含む。制御部502は、各部の処理を統括制御する。制御部502は、波形生成部504に対して未知の駆動波形を生成する指示を与える。未知の駆動波形は、予測モデル410の学習の際に使用した駆動波形以外(すなわち、図11で説明した吐出実験で使用した駆動波形以外)の新規の駆動波形であり、吐出の特性が不明な駆動波形である。
【0118】
波形生成部504は、制御部502からの指定に従い、様々な波形の複数の駆動波形CDWkを生成する。添字kは、駆動波形を識別するインデックスである。例えば、400種類の駆動波形が生成される場合、kは1から400までの整数を取り得る。波形生成部504は、例えば、駆動波形のパラメータの値をランダムに変更して、新規の駆動波形CDWkを生成する。
【0119】
オートエンコーダ50は、図5で説明した学習済みのオートエンコーダである。オートエンコーダ50の代わりに、学習済みのオートエンコーダ50におけるエンコーダ部52のみを用いてもよい。オートエンコーダ50は、駆動波形CDWkの入力を受けて、駆動波形CDWkを潜在空間に圧縮し、波形特徴FVkを出力する。
【0120】
予測モデル410は、図9で説明した情報処理装置400を用いて作成された学習済みのモデルである。予測モデル410は、波形特徴FVkの入力を受けて、予測特性PFCkを出力する。情報処理装置500は、オートエンコーダ50と予測モデル410との組み合わせを用いて、駆動波形CDWkから吐出の特性についての順方向予測を行う。
【0121】
特性評価部506は、予測モデル410から出力された予測特性PFCkが目標とする特性の条件を満たしているか否かの評価を行う。特性評価部506は、予測特性PFCkと予め定められた目標値とを比較することにより、所望の特性が達成できたか否かを判定する。
【0122】
制御部502は、駆動波形CDWk、波形特徴FVk及び予測特性PFCkを紐付けて、これらのデータを記憶部510に記憶する。こうして、複数の新規の駆動波形CDWk(k=1,2・・・)と、それぞれに対応する複数の波形特徴FVk及び予測特性PFCkとを含むデータの集合が記憶部510に記憶される。
【0123】
駆動波形決定部508は、予測特性PFCkについての特性評価部506の評価結果を基に、有望な駆動波形を決定する。駆動波形決定部508は、予測特性PFCkが予め定められた目標値の条件を満たし、かつ、最も良好な特性を達する駆動波形を最適な駆動波形として決定してもよい。
【0124】
例えば、駆動波形決定部508は、滴速、滴量、及びサテライト滴の有無のうち少なくとも1つによって特徴付けられた特性についての評価値を基に、最適な駆動波形を決定する。
【0125】
なお、予測特性PFCkが目標値の条件を満たさない場合は、その駆動波形は候補から除外して、記憶部510にデータを記憶しなくてもよい。
【0126】
こうして、使用するインクとインクジェットヘッド202との組み合わせに対応する予測モデル410を用いて、そのインクの吐出に適した駆動波形が作成される。
【0127】
《コンピュータを動作させるプログラムについて》
情報処理装置170、情報処理装置300、情報処理装置400、情報処理装置420、情報処理装置430、及び情報処理装置500の各装置における処理機能の一部又は全部をコンピュータに実現させるプログラムを、光ディスク、磁気ディスク、若しくは、半導体メモリその他の有体物たる非一時的な情報記憶媒体であるコンピュータ可読媒体に記録し、この情報記憶媒体を通じてプログラムを提供することが可能である。
【0128】
またこのような有体物たる非一時的なコンピュータ可読媒体にプログラムを記憶させて提供する態様に代えて、インターネットなどの電気通信回線を利用してプログラム信号をダウンロードサービスとして提供することも可能である。
【0129】
さらに、上述の各装置における処理機能の一部又は全部をクラウドコンピューティングによって実現してもよく、また、SaaS(Software as a Service)として提供することも可能である。
【0130】
《各処理部のハードウェア構成について》
情報処理装置170における波形生成部172、オートエンコーダ50、損失算出部174、パラメータ更新量算出部176、パラメータ更新処理部178、情報処理装置300における制御部302、波形生成部304、画像処理部306、情報処理装置400におけるデータ取得部404、オートエンコーダ406、画像処理部408、予測モデル410、オプティマイザ412、情報処理装置500における制御部502、波形生成部504、特性評価部506、駆動波形決定部508などの各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、例えば、次に示すような各種のプロセッサ(processor)である。
【0131】
各種のプロセッサには、プログラムを実行して各種の処理部として機能する汎用的なプロセッサであるCPU、GPU、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
【0132】
1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種又は異種の2つ以上のプロセッサで構成されてもよい。例えば、1つの処理部は、複数のFPGA、あるいは、CPUとFPGAの組み合わせ、又はCPUとGPUの組み合わせによって構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第一に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第二に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
【0133】
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
【0134】
《実施形態の利点》
上述した実施形態によれば、次のような効果が得られる。
【0135】
[1]使用するインクとインクジェットヘッドとの組み合わせに対して、実際の飛翔形状から抽出された特性を用いた機械学習によって、駆動波形と特性との関係を自動的に学習し、未知の駆動波形に対する特性を精度よく予測できる予測モデル410を作成することができる。
【0136】
[2]流体力学及び数値計算について専門性を持たない技術者であっても、実験によるデータ収集を繰り返すことで、実際の飛翔形状が撮影された画像を利用して高性能な予測モデル410を作成することが可能である。
【0137】
[3]学習済みの予測モデル410を用いて駆動波形を探索する処理を自動化したことにより、駆動波形の作成に関して専門性を持たない技術者であっても、一定レベルの特性を実現できる駆動波形を作成できる。
【0138】
[4]ユーザーの目的にあった駆動波形を選択できる。例えば、ベタの品質を重視する場合、滴量を優先し、サテライト滴の発生を許容するなど、目的に合わせて各種の特性について、満たすべき条件(目標値)を設定しておくことで、その条件に適合する駆動波形を作成できる。
【0139】
[5]インクの評価に使用することができる。これまでは駆動波形の最適化の良し悪しでインクの種類に優劣をつけることが難しかったが、本実施形態の手法では、好ましい飛翔特性を得られる候補波形の数等の指標に基づいてインクの吐出適性を比較することができる。
【0140】
[6]従来の技術者による駆動波形作成では困難な高品質な特性を実現し得る駆動波形を見つけることができる。すなわち、人手では探索困難な、全く未知の駆動波形を探索することができる。
【0141】
[7]技術者による駆動波形作成よりも、効率的に短時間で有望な駆動波形を作成できる。
【0142】
[8]無数に存在する駆動波形から、良好な特性を持つ駆動波形を自動的に、効率的に見つけ出すことができる。
【0143】
[9]人手により駆動波形の探索を行うと、従来知見の域を出ない、典型的な性質を持つ駆動波形しか見つけることができないが、本実施形態の自動探索を用いると、人間では試さないような意外な駆動波形を候補として提案する可能性がある。
【0144】
《変形例1》
上述の実施形態では、実際の飛翔形状に関するデータとして、一定の時間間隔で撮影された時系列画像群を用いる例を説明したが、この時系列画像群の代わりに、例えば、駆動波形を印加してから所定時間経過後のインクの飛翔状態が撮影された1枚の画像を用いることも可能である。この場合の所定時間は、そのタイミングで撮影された1枚の画像に写るインクの位置からインクの滴速、滴量、液柱の長さ、及びサテライト滴の有無などの特性を特定できるように設定されることが望ましい。
【0145】
なお、実施形態で説明したように、時刻の異なる2枚以上の時系列画像群を用いることで、より正確な滴速などの特性を把握することが可能であり、予測精度の高い予測モデル410を作成することができる。
【0146】
《変形例2》
上述の実施形態では、駆動波形の潜在空間における座標の入力を受けて予測特性を出力する機械学習モデルの例を説明したが、予測モデルはこの例に限らない。例えば、図13のデータセットTDS1を用いた機械学習によって、駆動波形の入力を受けて、予測される飛翔形状を出力する予測モデルを構築してもよい。この場合、予測モデルが出力した予測飛翔形状と、実際の(正解の)飛翔形状との誤差を評価しながら、機械学習モデルのモデルパラメータの最適化が行われる。
【0147】
そして、この学習済みの予測モデルが出力する予測飛翔形状について、滴量、滴速、及びサテライト滴の有無などの評価値を算出し、評価値に基づいて適切な駆動波形を決定してもよい。
【0148】
《装置応用例》
上述の実施形態では、インクジェット印刷に用いるインクジェット装置の例を説明したが、本発明の適用範囲はこの例に限定されない。使用する液体の種類及び用途を問わず、圧電方式の液体吐出ヘッドを用いて液体を吐出する装置について本開示の技術を適用できる。例えば、電子回路の配線パターンを描画する配線描画装置、各種デバイスの製造装置、吐出用の機能性液体として樹脂液を用いるレジスト印刷装置、カラーフィルター製造装置、マテリアルデポジション用の材料を用いて微細構造物を形成する微細構造物形成装置など、液状機能性材料(「液体」と総称)を用いて様々な形状やパターンを描画する液体吐出装置に広く適用できる。
【0149】
《その他》
本開示は上述した実施形態に限定されるものではなく、本開示の技術的思想の趣旨を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【0150】
20 駆動波形
22 予備振動パルス
24 吐出パルス
26 残響抑制パルス
50 オートエンコーダ
52 エンコーダ部
54 デコーダ部
100 情報処理装置
102 プロセッサ
104 コンピュータ可読媒体
106 通信インターフェース
108 入出力インターフェース
110 バス
112 メモリ
114 ストレージ
152 入力装置
154 表示装置
170 情報処理装置
172 波形生成部
174 損失算出部
176 パラメータ更新量算出部
178 パラメータ更新処理部
200 インクジェット装置
202 インクジェットヘッド
210 イジェクタ
212 ノズル
214 圧力室
216 圧電素子
218 ノズル流路
220 個別供給路
224 供給側共通流路
226 振動板
228 個別電極
230 圧電体
232 カバープレート
234 可動空間
250 駆動回路
300 情報処理装置
302 制御部
304 波形生成部
306 画像処理部
308 データ保存部
320 カメラ
400 情報処理装置
402 データ記憶部
404 データ取得部
406 モデルパラメータ更新部
408 画像処理部
410 予測モデル
412 オプティマイザ
420 情報処理装置
422 データ記憶部
430 情報処理装置
432 データ取得部
500 情報処理装置
502 制御部
504 波形生成部
506 特性評価部
508 駆動波形決定部
510 記憶部
CDWk 駆動波形
DWj 駆動波形
FVk 波形特徴
F4A 左図
F4B 右図
FSj(t) 飛翔形状画像群
PFCk 予測特性
PFFj 予測特性
WFi 高次元ベクトル
RWFi 再構成ベクトル
TDWj 駆動波形
TFFj 特性
TFSj 飛翔形状
TDS1、TDS2、TDS3 データセット
S1~S8 駆動波形作成方法のステップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17