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

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

▶ ブラザー工業株式会社の特許一覧

特開2022-183569データ処理方法、コンピュータプログラム、および、データ処理装置
<>
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図1
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図2
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図3
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図4
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図5
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図6
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図7
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図8
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図9
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図10
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図11
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図12
  • 特開-データ処理方法、コンピュータプログラム、および、データ処理装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022183569
(43)【公開日】2022-12-13
(54)【発明の名称】データ処理方法、コンピュータプログラム、および、データ処理装置
(51)【国際特許分類】
   G01N 21/88 20060101AFI20221206BHJP
【FI】
G01N21/88 J
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021090957
(22)【出願日】2021-05-31
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】櫻井 孝一
【テーマコード(参考)】
2G051
【Fターム(参考)】
2G051AA16
2G051AA90
2G051AB02
2G051CA04
2G051CB01
2G051EA11
2G051EC06
2G051EC10
2G051ED00
(57)【要約】
【課題】適切な撮影画像データを取得する。
【解決手段】
L個(Lは、2以上の整数)の撮影条件の下で撮影された撮影対象物の撮影画像をそれぞれ表すL個の撮影画像データを、撮影対象物の一部である検出対象物を検出するように訓練された物体検出モデルに入力することによって、物体検出モデルによる検出対象物の検出の確信度であってL個の撮影画像データにそれぞれ対応付けられるL個の確信度を算出する。L個の確信度のうちの最も大きい確信度に対応付けられる撮影画像データ、または、最も大きい確信度に対応付けられる撮影条件の下で新たに撮影された撮影対象物の撮影画像を表す撮影画像データを取得する。撮影条件は、撮影対象物から撮影装置へ向かう方向である装置方向を含む。L個の撮影条件のL個の装置方向は、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向で構成されている。
【選択図】 図1
【特許請求の範囲】
【請求項1】
データ処理方法であって、
L個(Lは、2以上の整数)の撮影条件の下で撮影された撮影対象物の撮影画像をそれぞれ表すL個の撮影画像データを、前記撮影対象物の一部である検出対象物を検出するように訓練された物体検出モデルに入力することによって、前記物体検出モデルによる前記検出対象物の検出の確信度であって前記L個の撮影画像データにそれぞれ対応付けられるL個の確信度を算出する算出工程と、
前記L個の確信度のうちの最も大きい確信度に対応付けられる前記撮影画像データ、または、前記最も大きい確信度に対応付けられる前記撮影条件の下で新たに撮影された前記撮影対象物の撮影画像を表す撮影画像データを取得するデータ取得工程と、
を備え、
前記撮影条件は、前記撮影対象物から撮影装置へ向かう方向である装置方向を含み、
前記L個の撮影条件のL個の装置方向は、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向で構成されている、
データ処理方法。
【請求項2】
請求項1に記載のデータ処理方法であって、
前記撮影条件は、前記撮影対象物の撮影時の光源の明るさを含み、
前記L個の撮影条件のL個の明るさは、互いに異なるN個(Nは、2以上、L以下の整数)の明るさで構成されている、
データ処理方法。
【請求項3】
請求項1または2に記載のデータ処理方法であって、
前記M個の装置方向は、前記撮影対象物を中心とする特定の周方向に沿って並んで配置されており、
前記M個の装置方向は、第1装置方向と、前記第1装置方向の両隣の装置方向である第2装置方向と第3装置方向と、を含み、
前記算出工程は、
前記第1装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって第1確信度を算出する第1算出工程と、
前記第2装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって第2確信度を算出する第2算出工程と、
前記第3装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって第3確信度を算出する第3算出工程と、
前記M個の装置方向に含まれる注目装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって確信度を算出する処理を、前記特定の周方向に沿う双方向のうちのいずれかである処理方向に向かって、1つの装置方向ずつ順番に、前記処理方向とは反対方向の隣の装置方向を示す撮影条件に対応付けられる確信度よりも小さい確信度が算出されるまで繰り返す第4算出工程と、
を備え、
前記処理方向は、前記第1装置方向から、前記第2装置方向と前記第3装置方向とのうちの前記第1確信度よりも大きい確信度に対応付けられる装置方向へ向かう方向であり、
前記第1算出工程と前記第2算出工程と前記第3算出工程と前記第4算出工程とによって算出される複数の確信度に対応付けられる複数の装置方向が、前記M個の装置方向を形成する、
データ処理方法。
【請求項4】
請求項1または2に記載のデータ処理方法であって、
前記M個の装置方向は、前記撮影対象物を中心とする特定の周方向に沿って並んで配置されており、
前記M個の装置方向は、K個(Kは、2以上、M未満の整数)の基準装置方向を含み、
前記算出工程は、前記K個の基準装置方向を示すK個の撮影条件に対応付けられるK個の撮影画像データを前記物体検出モデルに入力することによってK個の確信度を算出する基準算出工程を備え、
前記M個の装置方向は、前記K個の確信度のうちの最も大きい確信度に対応付けられる第1装置方向と、前記第1装置方向の両隣の装置方向である第2装置方向と第3装置方向と、を含み、
前記基準算出工程は、前記第1装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって第1確信度を算出する第1算出工程を備え、
前記算出工程は、
前記第2装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって第2確信度を算出する第2算出工程と、
前記第3装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって第3確信度を算出する第3算出工程と、
前記K個の基準装置方向以外の複数の装置方向に関して、前記装置方向を示す撮影条件に対応付けられる撮影画像データを前記物体検出モデルに入力することによって確信度を算出する処理を、前記特定の周方向に沿う双方向のうちのいずれかである処理方向に向かって、1つの装置方向ずつ順番に、前記処理方向とは反対方向の隣の装置方向を示す撮影条件に対応付けられる確信度よりも小さい確信度が算出されるまで繰り返す第4算出工程と、
を備え、
前記処理方向は、前記第1装置方向から、前記第2装置方向と前記第3装置方向とのうちの前記第1確信度よりも大きい確信度に対応付けられる装置方向へ向かう方向であり、
前記第1算出工程を備える前記基準算出工程と、前記第2算出工程と、前記第3算出工程と、前記第4算出工程とによって算出される複数の確信度に対応付けられる複数の装置方向が、前記M個の装置方向を形成する、
データ処理方法。
【請求項5】
請求項2に記載のデータ処理方法であって、
前記算出工程は、前記M個の装置方向のそれぞれに関して、前記装置方向と複数の明るさとの組み合わせを示す複数の撮影条件に対応付けられる複数の撮影画像データを前記物体検出モデルに入力することによって複数の確信度を算出する工程を備え、
前記M個の装置方向のそれぞれに対応付けられる前記複数の明るさの全体が、前記N個の明るさを形成し、
前記M個の装置方向のそれぞれに対応付けられる前記複数の確信度の全体が、前記L個の確信度を形成する、
データ処理方法。
【請求項6】
請求項1から5のいずれかに記載のデータ処理方法であって、さらに、
前記最も大きい確信度に対応付けられる撮影条件の下で、他の撮影対象物を撮影することによって、前記他の撮影対象物の撮影画像データを取得する工程を備える、
データ処理方法。
【請求項7】
請求項1から6のいずれかに記載のデータ処理方法によって、撮影画像データを取得する工程と、
取得された撮影画像データを使用して、検出対象物の外観を検査する検査工程と、
を備える検査方法。
【請求項8】
データ処理を行うコンピュータのためのコンピュータプログラムであって、
L個(Lは、2以上の整数)の撮影条件の下で撮影された撮影対象物の撮影画像をそれぞれ表すL個の撮影画像データを、前記撮影対象物の一部である検出対象物を検出するように訓練された物体検出モデルに入力することによって、前記物体検出モデルによる前記検出対象物の検出の確信度であって前記L個の撮影画像データにそれぞれ対応付けられるL個の確信度を算出する算出機能と、
前記L個の確信度のうちの最も大きい確信度に対応付けられる前記撮影画像データ、または、前記最も大きい確信度に対応付けられる前記撮影条件の下で新たに撮影された前記撮影対象物の撮影画像を表す撮影画像データを取得するデータ取得機能と、
をコンピュータに実現させ、
前記撮影条件は、前記撮影対象物から撮影装置へ向かう方向である装置方向を含み、
前記L個の撮影条件のL個の装置方向は、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向で構成されている、
コンピュータプログラム。
【請求項9】
データ処理装置であって、
L個(Lは、2以上の整数)の撮影条件の下で撮影された撮影対象物の撮影画像をそれぞれ表すL個の撮影画像データを、前記撮影対象物の一部である検出対象物を検出するように訓練された物体検出モデルに入力することによって、前記物体検出モデルによる前記検出対象物の検出の確信度であって前記L個の撮影画像データにそれぞれ対応付けられるL個の確信度を算出する算出部と、
前記L個の確信度のうちの最も大きい確信度に対応付けられる前記撮影画像データ、または、前記最も大きい確信度に対応付けられる前記撮影条件の下で新たに撮影された前記撮影対象物の撮影画像を表す撮影画像データを取得するデータ取得部と、
を備え、
前記撮影条件は、前記撮影対象物から撮影装置へ向かう方向である装置方向を含み、
前記L個の撮影条件のL個の装置方向は、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向で構成されている、
データ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、適切な撮影画像データを取得する技術に関する。
【背景技術】
【0002】
従来から、プリンタに設けられたラベルシートなどの対象物の外観の検査に、対象物の撮影画像データが使用されている。また、適切な撮影画像データを取得するために、種々の処理が行われ得る。例えば、撮像した画像の対象領域の特性値が、基準データが示す特性値に近づくように、撮像装置の露光量を補正する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-232971号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、撮影画像データは、撮影の対象物と撮影装置との間の位置関係などの撮影条件から大きな影響を受ける。適切な撮影画像データを取得するためには、適切な撮影条件を使用することが好ましい。ところが、適切な撮影条件の下での撮影画像データの取得については、工夫の余地があった。例えば、作業者が撮影条件を調整する場合、作業者の負担が大きかった。
【0005】
本明細書は、適切な撮影画像データを取得する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]データ処理方法であって、L個(Lは、2以上の整数)の撮影条件の下で撮影された撮影対象物の撮影画像をそれぞれ表すL個の撮影画像データを、前記撮影対象物の一部である検出対象物を検出するように訓練された物体検出モデルに入力することによって、前記物体検出モデルによる前記検出対象物の検出の確信度であって前記L個の撮影画像データにそれぞれ対応付けられるL個の確信度を算出する算出工程と、前記L個の確信度のうちの最も大きい確信度に対応付けられる前記撮影画像データ、または、前記最も大きい確信度に対応付けられる前記撮影条件の下で新たに撮影された前記撮影対象物の撮影画像を表す撮影画像データを取得するデータ取得工程と、を備え、前記撮影条件は、前記撮影対象物から撮影装置へ向かう方向である装置方向を含み、前記L個の撮影条件のL個の装置方向は、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向で構成されている、データ処理方法。
【0008】
この構成によれば、適切な装置方向を示す撮影条件に基づいて撮影画像データを取得できる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、データ処理方法およびデータ処理装置、検査方法および検査装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】一実施例としてのデータ処理装置を示す説明図である。
図2】デジタルカメラ110と光源120と回転台700とプリンタ900との斜視図である。
図3】(A)は、方向D1、D2と装置方向110dとの説明図である。(B)は、光源120の明るさ120xの説明図である。
図4】検査処理の例を示すフローチャートである。
図5】撮影画像データ取得処理の例を示すフローチャートである。
図6】撮影画像データ取得処理の例を示すフローチャートである。
図7】(A)-(E)は、撮影画像の例を示す説明図である。
図8】撮影画像データ取得処理の第2実施例を示すフローチャートである。
図9】撮影画像データ取得処理の第2実施例を示すフローチャートである。
図10】角度Agと確信度Tcとの対応関係の例を示すグラフである。
図11】撮影画像データ取得処理の第3実施例を示すフローチャートである。
図12】撮影画像データ取得処理の第4実施例を示すフローチャートである。
図13】撮影画像データ取得処理の第5実施例を示す説明図である。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.装置構成:
図1は、一実施例としてのデータ処理装置を示す説明図である。本実施例では、データ処理装置200は、例えば、パーソナルコンピュータである。データ処理装置200は、対象物(例えば、プリンタなどの製品)の検査のための種々の処理を実行する。データ処理装置200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、を備えている。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
【0012】
プロセッサ210は、データ処理を行うように構成された装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。不揮発性記憶装置230は、プログラム231と、物体検出モデルNNと、条件記録データRDと、撮影条件データCDと、を格納している。物体検出モデルNNは、いわゆる機械学習モデルであり、本実施例では、プログラムモジュールである。プログラム231と、物体検出モデルNNと、条件記録データRDと、撮影条件データCDと、の詳細については、後述する。
【0013】
表示部240は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部250は、ボタン、レバー、表示部240上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部250を操作することによって、種々の要求と指示をデータ処理装置200に入力可能である。通信インタフェース270は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。通信インタフェース270には、デジタルカメラ110と、光源120と、回転台700と、が接続されている。
【0014】
回転台700の上には、検査の対象物900が載せられる。回転台700は、対象物900を回転させることにより、デジタルカメラ110に対する対象物900の向き(すなわち、プリンタ900の外面のうちデジタルカメラ110から見える部分)を変更可能である。光源120は、撮影のために、対象物900に光を照射する。本実施例では、光源120は、発光ダイオードである。ただし、光源120は、蛍光ランプ、白熱ランプ、など、任意の種類の光源であってよい。デジタルカメラ110は、対象物900を撮影することによって、撮影画像の画像データを生成する。データ処理装置200は、回転台700を制御することによって、デジタルカメラ110に対する対象物900の向きを調整する。また、データ処理装置200は、光源120を制御することによって、光源120の明るさを調整する。以下、対象物900がプリンタであることとする(対象物900を、プリンタ900とも呼ぶ)。
【0015】
図2は、デジタルカメラ110と光源120と回転台700とプリンタ900との斜視図である。回転台700は、プリンタ900を支持する装置である。本実施例では、回転台700は、平らな上面711を有する上板710と、上板710の下方に配置された下板720と、上板710と下板720とを接続する複数のベアリング721と、下板720に対する上板710の回転位置を検出するセンサ730と、下板720に対して上板710を回転させるモータ740と、を備えている。複数のベアリング721は、下板720に対する上板710の回転を許容する。上板710の回転軸700xは、上面711に垂直であり、上面711のおおよそ中心に位置している。本実施例では、プリンタ900の撮影時、回転軸700xが鉛直方向におおよそ平行であるように、回転台700が配置される。
【0016】
プリンタ900は、回転台700の上面711上に載せられる(以下、上面711を、支持面711とも呼ぶ)。デジタルカメラ110は、デジタルカメラ110の撮影方向110sdが回転台700上のプリンタ900を向くように、配置される(撮影方向110sdは、デジタルカメラ110の撮影範囲の中心を示す方向である)。プリンタ900の第1外面901には、ラベルシート910が貼られている。後述する検査処理では、このラベルシート910が検査される。検査のために、デジタルカメラ110は、プリンタ900の第1外面901を撮影し、ラベルシート910を含む撮影画像の画像データを生成する。本実施例では、第1外面901は、プリンタ900の正面である。また、本実施例では、支持面711上には、プリンタ900の底面が載せられる。上板710を回転させることによって、デジタルカメラ110から第1外面901が見えるように、デジタルカメラ110に対するプリンタ900の向きが、調整される。
【0017】
プリンタ900の撮影の完了の後、回転台700上のプリンタ900は、新たなプリンタ900に置換される。例えば、作業者は、撮影済のプリンタ900を回転台700から取り外し、新たなプリンタ900を支持面711上に配置する。支持面711には、基準マーカー750が、記されている。作業者は基準マーカー750を参照することによって、上板710上のプリンタ900の位置を、上板710に対する予め決められた位置に調整する(例えば、作業者は、プリンタ900の特定の部分(本実施例では、下方の角)を、基準マーカー750の位置に配置する)。これにより、デジタルカメラ110に対するプリンタ900の向きと、センサ730によって測定される上板710の回転位置と、の間の対応関係は、複数個のプリンタ900(すなわち、複数回の検査)の間で、おおよそ同じである。
【0018】
図2中には、方向D1、D2、Dxが示されている。方向Dxは、回転軸700xに平行な上方向である。第1方向D1と第2方向D2とは、方向Dxに垂直な方向であり、上板710に予め対応付けられている。なお、第2方向D2は、第1方向D1に垂直である。図2中には、プリンタ900からデジタルカメラ110へ向かう方向110dが示されている(装置方向110dとも呼ぶ)。本実施例では、回転軸700xがプリンタ900を貫通するように、プリンタ900が配置される。装置方向110dは、回転軸700xからデジタルカメラ110へ向かう方向である。上板710が回転軸700xを中心に回転する場合、上板710に対応付けられた方向D1、D2は、上板710と共に回転する。従って、装置方向110dは、方向D1、D2に対して、回転軸700xを中心に回転する。装置方向110dは、プリンタ900に対するデジタルカメラ110の方向を示している。
【0019】
図3(A)は、方向D1、D2と装置方向110dとの説明図である。図中には、下方を向いて見た方向D1、D2が示されている。上述したように、上板710が回転軸700xを中心に回転する場合、装置方向110dは、方向D1、D2に対して、回転軸700xを中心に、回転する。装置方向110dの回転位置は、第1方向D1に対する角度Agによって、示される。本実施例では、角度Agは、第1方向D1を基準とする反時計回り方向の角度を示している。角度Agは、プリンタ900に対する装置方向110dの回転位置を、示している。プリンタ900の外面のうちデジタルカメラ110から見える部分は、角度Agに応じて変化する。また、本実施例では、プロセッサ210は、回転台700のセンサ730からの信号を使用して、現行の角度Agを取得する。
【0020】
図3(A)には、装置方向110dの複数の候補110dcが示されている(候補方向110dcとも呼ぶ)。本実施例では、複数の候補方向110dcの配置パターンは、予め決められており、回転軸700xを中心とする周方向の全範囲(すなわち、360度の範囲)に亘って分布している。本実施例では、P個(Pは、2以上の整数)の候補方向110dcが、等角度間隔で並ぶように、配置されている。隣り合う2個の候補方向110dcの間の角度は、例えば、1度である。本実施例では、データ処理装置200は、処理開始時の装置方向110dを基準に等角度間隔で並ぶP個の候補方向110dcから、撮影に適した装置方向110dを検索する(詳細は後述)。以下、候補方向110dcを示す角度Agを、候補角度Agcとも呼ぶ。
【0021】
図3(B)は、光源120の明るさ120xの説明図である。本実施例では、明るさ120xは、下限値120n以上、上限値120m以下の範囲内で、調整可能である。図中には、明るさ120xの複数の候補120xcが、示されている(候補明るさ120xcとも呼ぶ)。複数の候補明るさ120xcは、予め決められており、下限値120n以上、上限値120m以下の範囲の全体に亘って分布している。本実施例では、データ処理装置200は、複数の候補明るさ120xcから、撮影に適した明るさ120xを検索する(詳細は後述)。以下、候補明るさ120xcの総数がQ個(Qは2以上の整数)であることとする。
【0022】
図4は、検査処理の例を示すフローチャートである。本実施例では、回転台700(図2)上に配置されたプリンタ900に、適切なラベルシート910が貼られているか否かが検査される。S110では、作業者が、プリンタ900を回転台700の上板710上に配置する。そして、作業者は、データ処理装置200(図1)の操作部250を操作することによって、処理開始の指示を入力する。
【0023】
S120では、データ処理装置200のプロセッサ210は、処理開始の指示に応じて、撮影画像データ取得処理を実行する。図5図6は、撮影画像データ取得処理の例を示すフローチャートである。図6は、図5の続きの処理を示している。S205では、プロセッサ210は、撮影条件が決定済であるか否かを判断する。撮影条件は、撮影に関する条件であって調整対象の条件を示しており、本実施例では、装置方向110d(図3(A))と明るさ120x(図3(B))との組み合わせを示している。後述するように、撮影画像データ取得処理では、プロセッサ210は、適切な撮影条件を決定し、決定した撮影条件を示す撮影条件データCDを記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。不揮発性記憶装置230に撮影条件データCDが格納されている場合、プロセッサ210は、撮影条件が決定済であると判断する。不揮発性記憶装置230に撮影条件データCDが格納されていない場合、プロセッサ210は、撮影条件が決定済ではないと判断する。初めて撮影画像データ取得処理が実行される場合、不揮発性記憶装置230には撮影条件データCDは格納されておらず、撮影条件は決定済ではない。
【0024】
撮影条件が決定済ではないと判断される場合(S205:No)、S210で、プロセッサ210は、撮影条件と、条件記録データRDと、を初期化する。例えば、プロセッサ210は、現行の装置方向110dを、装置方向110dの初期値として採用する。また、プロセッサ210は、光源120の明るさ120xを、複数の候補明るさ120xcのうちの予め決められた初期明るさに、設定する。後述するように、プロセッサ210は、撮影画像データを物体検出モデルNN(図1)に入力することによって、撮影画像からラベルシート910を検出する。光源120が暗すぎる場合と光源120が明るすぎる場合とには、ラベルシート910の検出が困難であり得る。初期明るさは、ラベルシート910の検出が可能であるような明るさ120xに、予め実験的に決定される。
【0025】
条件記録データRDは、撮影条件と、後述する確信度Tcと、の対応関係を示すデータであり、記憶装置215(本実施例では、不揮発性記憶装置230)に格納される。確信度Tcは、物体検出モデルNNによるラベルシート910の検出結果の確信度である(詳細は、後述)。プロセッサ210は、種々の撮影条件で取得される撮影画像データを使用して、撮影条件と確信度Tcとの1以上の対応関係を取得する。条件記録データRDは、取得された対応関係を示している。S210では、プロセッサ210は、条件記録データRDを、対応関係を示さない初期データ(例えば、空のデータ)に、初期化する。
【0026】
S215では、プロセッサ210は、デジタルカメラ110に撮影指示を供給する。デジタルカメラ110は、プリンタ900を撮影し、撮影画像を示す撮影画像データを生成する。プロセッサ210は、デジタルカメラ110から撮影画像データを取得する。
【0027】
図7(A)-図7(E)は、撮影画像の例を示す説明図である。図7(A)、図7(B)の撮影画像800a、800bは、いずれも、プリンタ900の第1外面901と、第1外面901に貼られたラベルシート910と、を示している。第1撮影画像800aは、デジタルカメラ110(図2)の撮影方向110sdに対して第1外面901が傾いている状態で撮影された画像を示している。第1撮影画像800a中では、第1外面901(ひいては、ラベルシート910)の歪みは、大きい。第2撮影画像800bは、デジタルカメラ110の撮影方向110sdに対して第1外面901が垂直である状態で撮影された画像を示している。第2撮影画像800b中では、第1外面901(ひいては、ラベルシート910)の歪みは、小さい。
【0028】
S220(図5)では、プロセッサ210は、撮影画像データを物体検出モデルNNに入力することによって、確信度Tcと領域DAとを算出する。物体検出モデルNNは、ラベルシート910を検出するように予め訓練された機械学習モデルである。本実施例では、物体検出モデルNNは、「YOLO(You only look once)」と呼ばれる物体検出モデルである。YOLOモデルは、バウンディングボックスと呼ばれる物体を含む枠と、バウンディングボックスが物体を含むことの確信度と、バウンディングボックスが物体を含む場合の物体の種類毎の確率(クラス確率とも呼ぶ)と、を予測する。確信度は、予測結果(本実施例では、バウンディングボックスが物体を含むこと)をどの程度確信しているかを表す尺度を示している。本実施例では、確信度Tcは、ゼロ以上、1以下の範囲の値である。領域DAは、バウンディングボックスによって囲まれる領域である。
【0029】
後述するように、物体検出モデルNNによって検出されるラベルシート910の画像は、外観検査に使用される。撮影時のデジタルカメラ110(図2)に対するプリンタ900の向き(すなわち、プリンタ900から見たデジタルカメラ110の方向。例えば、角度Ag)が適切な向きからずれている場合、撮影画像中のラベルシート910の画像の歪みに起因して、検査の精度が低下し得る。検査に適するプリンタ900の向きは、種々の向きであってよく、例えば、デジタルカメラ110の撮影方向110sdに対して第1外面901が垂直であるような向きであってよい。また、撮影時の光源120の明るさ120xが適切な明るさ120xからずれている場合、検査の精度が低下し得る。適切な明るさ120xは、種々の明るさ120xであってよく、例えば、撮影画像中のラベルシート910の画像が白飛びの領域と黒つぶれの領域との両方を含まないような明るさ120xであってよい。
【0030】
本実施例では、物体検出モデルNNは、種々の撮影画像からラベルシート910を検出するように訓練済である。物体検出モデルNNは、撮影画像がラベルシート910の画像を含む場合に、ラベルシート910の画像を示すバウンディングボックスを形成するとともに、ラベルシート910の画像を示すバウンディングボックスの確信度が大きくなるように、訓練される。本実施例では、物体検出モデルNNの訓練には、検査用の撮影のための光源環境と同じ光源環境で撮影された撮影画像が使用される。具体的には、訓練用の撮影に使用される光源120(図2)の機種と数とは、検査用の撮影に使用される光源120の機種と数と、それぞれ同じである。本実施例では、光源120の数は、1である。ただし、2以上の光源120が使用されてよい。複数の光源120が使用される場合、複数の光源120の間で機種が異なってもよい。
【0031】
また、本実施例では、訓練用の撮影と検査用の撮影とは、同じ撮影環境で行われる。訓練用の撮影時には、プリンタ900が、回転台700上に載せられ、光源120が、プリンタ900を照らす。この状態で、デジタルカメラ110は、プリンタ900を撮影することによって、訓練用の撮影画像データを生成する。訓練のための撮影と検査のための撮影との間で、デジタルカメラ110と光源120と回転台700とプリンタ900との間の位置関係は、同じである。例えば、訓練用の撮影と検査用の撮影との両方において、光源120は、プリンタ900の外面のうちデジタルカメラ110から見える部分に、光を照射する。また、訓練用の撮影と検査用の撮影との間で、光源120とプリンタ900との間の距離は同じであり、デジタルカメラ110とプリンタ900との間の距離は同じである。また、デジタルカメラ110の機種は、訓練用の撮影と検査用の撮影との間で同じである。ただし、1以上の環境設定(例えば、デジタルカメラ110の機種、光源120の数、など)が、訓練用の撮影と検査用の撮影との間で、異なってよい。
【0032】
また、本実施例では、物体検出モデルNNの訓練には、プリンタ900の向きと明るさ120xとのそれぞれが外観検査に適している状態で撮影された複数の撮影画像が、使用される。従って、訓練済の物体検出モデルNNは、撮影時のプリンタ900の向きと明るさ120xとのそれぞれが外観検査に適している場合に、撮影画像中のラベルシート910を示す適切なバウンディングボックスと、高い確信度Tcと、を算出可能である。プリンタ900の向きと明るさ120xとの一方、または、両方が、外観検査に適していない場合、物体検出モデルNNは、ラベルシート910を示さない不適切なバウンディングボックスを算出し得、また、小さい確信度Tcを算出し得る。
【0033】
プロセッサ210は、物体検出モデルNNによって定められる演算を、撮影画像データを使用して実行することによって、バウンディングボックスと確信度Tcとを算出する(クラス確率も算出されるが、本実施例では、使用されない)。撮影画像の解像度(すなわち、画素密度)が物体検出モデルNNに適した解像度と異なる場合、プロセッサ210は、撮影画像データに対する解像度変換処理を実行する。以下、バウンディングボックスによって囲まれる領域DAを、候補領域DAとも呼ぶ。
【0034】
第1撮影画像800a(図7(A))からは、ラベルシート910を示す候補領域DAaが検出され、第2撮影画像800b(図7(B))からは、ラベルシート910を示す候補領域DAbが検出される。上述したように、第1撮影画像800a中のラベルシート910の歪みは、第2撮影画像800b中のラベルシート910の歪みよりも、大きい。従って、第1撮影画像800aから算出される確信度Tcは、第2撮影画像800bから算出される確信度Tcよりも、小さい値であり得る。図示を省略するが、ラベルシート910の画像が大きく変形している場合、物体検出モデルNNは、ラベルシート910の画像を検出できない場合がある。この場合、バウンディングボックスは、撮影画像中のラベルシート910を示していない部分を示し得る。また、確信度Tcは、ラベルシート910の画像が検出される場合と比べて、小さくなる。また、図示を省略するが、デジタルカメラ110が、プリンタ900の外面のうち第1外面901とは異なる外面を撮影する場合、撮影画像は、ラベルシート910の画像を含まない。この場合、バウンディングボックスは、撮影画像中のラベルシート910を示していない部分を示し得る。確信度Tcは、撮影画像がラベルシート910の画像を含む場合の確信度Tcよりも、小さくなる。
【0035】
S225(図5)では、プロセッサ210は、検出対象物であるラベルシート910が検出されたか否かを判断する。本実施例では、確信度Tcが予め決められた第1閾値TH1以上である場合に、ラベルシート910が検出されたと判断する。第1閾値TH1は、確信度Tcが第1閾値TH1以上である場合に、撮影画像中の候補領域DAがラベルシート910を表すように、予め実験的に決定される。
【0036】
ラベルシート910が検出されたと判断される場合(S225:Yes)、S230で、プロセッサ210は、角度Agと確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。これにより、条件記録データRDに、新たな対応関係が、記録される。そして、プロセッサ210は、S235へ移行する。なお、S230で記録される対応関係からは、明るさ120xは省略されてよい。この理由は、後述するように、S230で記録される対応関係は、適切な角度Agの決定に使用され、適切な明るさ120xの決定には使用されないからである。なお、S230で記録される対応関係は、角度Agと確信度Tcと明るさ120xとの対応関係を示してよい。
【0037】
ラベルシート910が検出されないと判断される場合(S225:No)、プロセッサ210は、S230をスキップして、S235へ移行する。
【0038】
S235では、プロセッサ210は、全ての候補角度Agc(すなわち、全ての候補方向110dc)の処理が終了したか否かを判断する。未処理の候補角度Agcが残っている場合(S235:No)、S240で、プロセッサ210は、回転台700(図2)のモータ740を駆動することによって、角度Agが次の候補角度Agc(本実施例では、現行の角度Agの隣の未処理の候補角度Agc)になるように、上板710を回転させる。そして、プロセッサ210は、S215へ移行し、新たな候補角度Agcの処理を実行する。
【0039】
全ての候補角度Agcの処理が終了した場合(S235:Yes)、S245で、プロセッサ210は、条件記録データRDを参照し、最も大きい確信度Tcに対応付けられた候補角度Agcを取得する。そして、プロセッサ210は、回転台700(図2)のモータ740を駆動することによって、角度Agが最も大きい確信度Tcに対応付けられた候補角度Agcになるように、上板710を回転させる。S250では、プロセッサ210は、光源120を制御することによって、明るさ120xを下限値120nに調整する。
【0040】
S255、S260、S265は、S215、S220、S225と、それぞれ同じである。S255で、プロセッサ210は、デジタルカメラ110に撮影指示を供給することによって、デジタルカメラ110から撮影画像データを取得する。S260では、プロセッサ210は、撮影画像データを物体検出モデルNNに入力することによって、確信度Tcと領域DAとを算出する。S265では、プロセッサ210は、ラベルシート910が検出されたか否かを判断する。
【0041】
ラベルシート910が検出されたと判断される場合(S265:Yes)、S270で、プロセッサ210は、角度Agと明るさ120xと確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。これにより、条件記録データRDに、新たな対応関係が、記録される。そして、プロセッサ210は、S275へ移行する。
【0042】
ラベルシート910が検出されないと判断される場合(S265:No)、プロセッサ210は、S270をスキップして、S275へ移行する。
【0043】
S275では、プロセッサ210は、全ての候補明るさ120xcの処理が終了したか否かを判断する。未処理の候補明るさ120xcが残っている場合(S275:No)、S280で、プロセッサ210は、光源120の明るさ120xを、次の候補明るさ120xc(本実施例では、現行の明るさ120xよりも1段階明るい候補明るさ120xc)に調整する。そして、プロセッサ210は、S255へ移行し、新たな候補明るさ120xcの処理を実行する。
【0044】
図7(C)、図7(D)の撮影画像800c、800dは、いずれも、プリンタ900の第1外面901と、第1外面901に貼られたラベルシート910と、を示している。これらの撮影画像800c、800dは、S245で説明した最大の確信度Tcに対応付けられた候補角度Agcで撮影された画像を示している。第3撮影画像800cは、明るさ120xが暗い場合の撮影画像を示し、第4撮影画像800dは、明るさ120xが明るい場合の撮影画像を示している。明るさ120xが適切な明るさよりも暗い場合、確信度Tcは、小さくなり得る。明るさ120xが適切な明るさよりも明るい場合、確信度Tcは、小さくなり得る。
【0045】
全ての候補明るさ120xcの処理が終了した場合(図5:S275:Yes)、S285(図6)で、プロセッサ210は、条件記録データRDを参照し、最も大きい確信度Tcに対応付けられた候補角度Agcと候補明るさ120xcとを取得する。そして、プロセッサ210は、回転台700(図2)のモータ740を駆動することによって、角度Agが最も大きい確信度Tcに対応付けられた候補角度Agcになるように、上板710を回転させる。また、プロセッサ210は、光源120の明るさ120xを、最も大きい確信度Tcに対応付けられた候補明るさ120xcに調整する。
【0046】
S290、S295は、図5のS215、S220と、それぞれ同じである。S290で、プロセッサ210は、デジタルカメラ110に撮影指示を供給することによって、デジタルカメラ110から撮影画像データを取得する。S295では、プロセッサ210は、撮影画像データを物体検出モデルNNに入力することによって、確信度Tcと領域DAとを算出する。
【0047】
S300では、プロセッサ210は、ラベルシート910の画像であって検査に適する画像が検出されたか否かを判断する。本実施例では、確信度Tcが予め決められた第2閾値TH2以上である場合に、ラベルシート910の検査に適する画像が検出されたと判断する。第2閾値TH2は、確信度Tcが第2閾値TH2以上である場合に、撮影画像中の候補領域がラベルシート910の画像であって検査に適する画像を表すように、予め実験的に決定される。このような第2閾値TH2は、第1閾値TH1(図5:S225、S265)と比べて、大きい値であり得る。
【0048】
検査に適する画像が検出されないと判断される場合(S300:No)、S305で、プロセッサ210は、撮影条件と、条件記録データRDと、を初期化する。S305の処理は、図5のS210の処理と同じである。S305の後、プロセッサ210は、図5のS225へ移行する。そして、プロセッサ210は、上述したS215(図5)-S300(図6)の処理を実行することによって、第2閾値TH2以上の確信度Tcを取得可能な撮影条件(すなわち、角度Agと明るさ120x)を検索する。
【0049】
検査に適する画像が検出されると判断される場合(S300:Yes)、S310で、プロセッサ210は、第2閾値TH2以上の確信度Tcに対応付けられるデータ(ここでは、撮影画像データと、候補領域DAの座標を示す座標データと、撮影条件を示す撮影条件データCDと、を含む)を、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。S310で格納されるデータは、後述するラベルシート910の検査に使用される。プロセッサ210は、撮影条件データCDを不揮発性記憶装置230に格納することによって、撮影条件データCDによって示される撮影条件が適切な条件であると決定している。以下、S310で格納される撮影画像データを、検査撮影画像データとも呼ぶ。また、座標データによって表される候補領域DAを、検出領域DAとも呼ぶ。S310の後、プロセッサ210は、図5図6の処理、すなわち、図4のS120の処理を、終了する。
【0050】
S205(図5)で、撮影条件が決定済であると判断される場合(S205:Yes)、プロセッサ210は、図6のS285へ移行する。S285では、プロセッサ210は、最も大きい確信度Tcに対応付けられた候補角度Agcと候補明るさ120xcとして、撮影条件データCDによって示される候補角度Agcと候補明るさ120xcとを使用する。
【0051】
図4のS120の後、S130では、プロセッサ210は、検査撮影画像データと座標データとを使用して、検査撮影画像データによって表される撮影画像のうち、座標データによって表される検出領域の画像を表す検出領域データを取得する。検出領域は、物体検出モデルNNによって検出されたラベルシート910の画像を示している(検出ラベル画像とも呼ぶ)。図7(E)は、検出ラベル画像の例を示す説明図である。検出領域DAの検出ラベル画像810は、ラベルシート910の画像を表している。ラベルシート910は、複数の文字とマークとを含んでいる。
【0052】
S140(図4)では、プロセッサ210は、検出領域データを使用して、ラベルシート910の外観検査を実行する。本実施例では、プロセッサ210は、検出領域データによって表される検出ラベル画像と、予め準備された不具合の無いラベルシート910の基準画像と、のパターンマッチングを実行することによって、ラベルシート910の適否を判断する。プロセッサ210は、パターンマッチングにより、検出ラベル画像と基準画像との間の類似度を算出する。類似度は、画素値の差分の二乗和、画素値の差分の絶対値の和、など、2枚の画像の間の差が大きいほど大きくなる算出値であってよい(この場合、算出値が小さいほど、類似度が大きい)。また、類似度は、正規化相互相関、ゼロ平均正規化相互相関、など、2枚の画像の間の相関を示す算出値であってよい。類似度が予め決められた類似度閾値以上である場合に、プロセッサ210は、ラベルシート910が適切であると判断する。類似度が類似度閾値未満である場合、プロセッサ210は、ラベルシート910が不具合を有すると判断する。ラベルシート910が基準画像と異なる部分(例えば、文字の欠落、誤字、マークの誤りなど)を含む場合、ラベルシート910が不具合を有すると判断される。プロセッサ210は、検査結果を示す検査結果データを、記憶装置215(本実施例では、不揮発性記憶装置230)に格納する。
【0053】
S150では、プロセッサ210は、全ての検査対象物(ここでは、プリンタ900)の検査が終了したか否かを判断する。判断方法は、任意の方法であってよい。例えば、プロセッサ210は、予め準備された検査対象物のリストを参照することによって、S150の判断を行ってよい。これに代えて、作業者が、操作部250(図1)を操作することによって、全てのプリンタ900の検査が終了したか否かを入力してよい。全てのプリンタ900の検査が終了した場合(S150:Yes)、プロセッサ210は、検査処理を終了する。
【0054】
未検査のプリンタ900が残っている場合(S150:No)、S160で、回転台700上のプリンタ900が入れ替えられる。例えば、作業者は、検査済のプリンタ900を回転台700から取り外し、未検査のプリンタ900を回転台700の上板710上に配置する。そして、作業者は、操作部250(図1)を操作することによって、処理開始の指示を入力する。これにより、処理は、S120へ移行する。そして、未検査のプリンタ900が、検査される。
【0055】
以上のように、本実施例では、データ処理装置200のプロセッサ210は、図5図6の処理を実行することによって、プリンタ900の撮影画像データを取得する。具体的には、プロセッサ210は、図5のS220、S260で、撮影対象物であるプリンタ900の撮影画像を表す撮影画像データを物体検出モデルNNに入力することによって、確信度Tcを算出する。物体検出モデルNNは、撮影対象物(ここでは、プリンタ900)の一部である検出対象物(ここでは、ラベルシート910)を検出するように訓練されている。確信度Tcは、物体検出モデルNNによるラベルシート910の検出の確信度Tcである。
【0056】
図5で説明したように、プロセッサ210は、このような確信度Tcの算出処理を、複数回、実行する(以下、確信度Tcの算出処理が、L回(Lは2以上の整数)、実行されることとする)。プロセッサ210は、L個の撮影画像データを物体検出モデルNNに入力することによって、L個の撮影画像データにそれぞれ対応付けられるL個の確信度Tcを算出する。L個の撮影画像データは、L個の撮影条件の下で撮影されたプリンタ900の撮影画像をそれぞれ表している。L個の撮影条件は、互いに異なっている。本実施例では、L個の撮影条件の間では、角度Agと明るさ120xとの一方、または、両方が、異なっている。
【0057】
そして、S290(図6)では、プロセッサ210は、L個の確信度Tcのうちの最も大きい確信度に対応付けられる撮影条件の下で新たに撮影されたプリンタ900の撮影画像を表す撮影画像データを取得する。
【0058】
図2図3(A)で説明したように、撮影条件は、プリンタ900からデジタルカメラ110へ向かう装置方向110dを含む。そして、繰り返されるS240(図5)では、プロセッサ210は、P個の候補方向110dc(図3(A))を、1つずつ順番に、使用する。ここで、L個の撮影条件のL個の装置方向110dは、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向110dで構成されていることとする。本実施例では、M個の装置方向110dは、P個の候補方向110dcと同じである。
【0059】
以上により、プロセッサ210は、適切な装置方向110d(すなわち、最も大きい確信度Tcに対応付けられた装置方向110d)を示す撮影条件に基づいて撮影画像データを取得できる。
【0060】
なお、M個の装置方向110d(本実施例では、P個の候補方向110dc)は、それぞれ、プリンタ900(より一般的には、撮影対象物)に対応付けられる特定の方向(例えば、図3(A)の第1方向D1)を基準とする、デジタルカメラ110の方向である。このようなM個の装置方向110d(すなわち、P個の候補方向110dc)が、互いに異なっている。例えば、第1方向D1を基準とするM個の角度Ag(すなわち、P個の候補角度Agc)が、互いに異なっている。
【0061】
また、図3(B)で説明したように、撮影条件は、プリンタ900の撮影時の光源120の明るさ120xを含んでいる。繰り返されるS280(図5)では、プロセッサ210は、Q個の候補明るさ120xc(図3(B))を、1つずつ順番に、使用する。ここで、L個の撮影条件のL個の明るさ120xは、互いに異なるN個(Nは、2以上、L以下の整数)の明るさ120xで構成されていることとする。本実施例では、N個の明るさ120xは、Q個の候補明るさ120xcと同じである。この構成によれば、プロセッサ210は、適切な装置方向110dと適切な明るさ120x(すなわち、最も大きい確信度Tcに対応付けられた装置方向110dと明るさ120x)を示す撮影条件に基づいて撮影画像データを取得できる。
【0062】
また、複数のプリンタ900が検査される場合、プロセッサ210は、図4のS120の撮影画像データ取得処理(具体的には、図6のS310)で撮影条件データCDを不揮発性記憶装置230に格納した後、次のプリンタ900のために、S120の撮影画像データ取得処理を再び実行する。撮影条件データCDが格納済である場合(図5:S205:Yes)、プロセッサ210は、適切な撮影条件を検索する処理S210-S280をスキップして、図6のS285へ移行する。S285では、プロセッサ210は、撮影条件を、撮影条件データCDによって示される撮影条件(すなわち、最も大きい確信度Tcに対応付けられた撮影条件)に、設定する。そして、S290では、プロセッサ210は、設定された撮影条件(すなわち、最も大きい確信度に対応付けられる撮影条件)の下で他のプリンタ900をデジタルカメラ110に撮影させることによって、他のプリンタ900の撮影画像データを取得する。このように、プロセッサ210は、適切な撮影条件を決定した後には、同じ撮影条件を他のプリンタ900の撮影に使用するので、撮影条件の決定のための処理の負担を軽減できる。そして、プロセッサ210は、他のプリンタ900の適切な撮影画像データを取得できる。
【0063】
また、図4に示すように、プロセッサ210は、S120では、上述した撮影画像データ取得処理を実行することによって、撮影画像データを取得する。そして、プロセッサ210は、S130-S140では、取得された撮影画像データを使用して、検出対象物であるラベルシート910の外観を検査する。このように、プロセッサ210は、適切な装置方向110dを示す撮影条件に対応付けられる撮影画像データを使用して、ラベルシート910の外観を適切に検査できる。
【0064】
B.第2実施例:
図8図9は、撮影画像データ取得処理の第2実施例を示すフローチャートである。図9は、図8の続きの処理を示している。第2実施例では、プロセッサ210は、確信度Tcが増大する方向に上板710(図2)を回転させることによって次の角度Ag(すなわち、装置方向110d)を決定し、そして、決定した角度Agに対応付けられた撮影画像データを使用して確信度Tcを算出する。プロセッサ210は、このような処理を、確信度Tcが減少し始めるまで、繰り返す。そして、プロセッサ210は、最大の確信度Tcに対応付けられる装置方向110dを、適切な装置方向110dとして採用する。
【0065】
S205、S210は、図5のS205、S210と、それぞれ同じである。S205の判断結果がYesである場合、プロセッサ210は、図6のS285へ移行する。図6のS300の判断結果がNoである場合、プロセッサ210は、S305の後に、図8のS510へ移行する。
【0066】
S510、S515は、図5のS215、S220と、それぞれ同じである。S510の撮影条件の角度Agを、第1角度Ag1とも呼ぶ。S520は、図5のS230と同じである。S520では、プロセッサ210は、第1角度Ag1と確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。以下、第1角度Ag1に対応付けられる確信度Tcを、第1確信度Tc1とも呼ぶ。
【0067】
図10は、角度Agと確信度Tcとの対応関係の例を示すグラフである。横軸は、角度Agを示し、縦軸は、確信度Tcを示している。図中のグラフGは、第1端角度Agx1から第2端角度Agx2までの角度範囲RAg内の対応関係を示している。この角度範囲RAgは、360度の幅を有する連続な範囲である。ゼロ度の角度Agは、この角度範囲RAgに含まれてよい。図2図3(A)で説明したように、角度Agの変化は、デジタルカメラ110に対するプリンタ900の回転(すなわち、プリンタ900に対する装置方向110dの回転)を示している。従って、第1端角度Agx1から第2端角度Agx2まで角度Agが変化する場合、確信度Tcは、最小確信度Tcnと最大確信度Tcxとの間で、振動するように変化し得る。
【0068】
S525(図8)では、プロセッサ210は、角度Agが第1角度Ag1の隣の候補角度Agcになるように、上板710を回転させる。以下、回転後の角度Agを、第2角度Ag2とも呼ぶ。
【0069】
S530、S535、S540は、S510、S515、S520と、それぞれ同じである。S540では、プロセッサ210は、第2角度Ag2と確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。以下、第2角度Ag2に対応付けられる確信度Tcを、第2確信度Tc2とも呼ぶ。図10の例では、第2角度Ag2の第2確信度Tc2は、第1角度Ag1の第1確信度Tc1よりも、小さい。
【0070】
S545(図8)では、プロセッサ210は、角度Agが、第1角度Ag1の隣の候補角度Agcであって第2角度Ag2とは反対側の候補角度Agcになるように、上板710を回転させる。以下、回転後の角度Agを、第3角度Ag3とも呼ぶ。
【0071】
S550、S555、S560は、S510、S515、S520と、それぞれ同じである。S560では、プロセッサ210は、第3角度Ag3と確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。以下、第3角度Ag3に対応付けられる確信度Tcを、第3確信度Tc3とも呼ぶ。図10の例では、第3角度Ag3の第3確信度Tc3は、第1角度Ag1の第1確信度Tc1よりも、大きい。
【0072】
S565(図8)では、プロセッサ210は、3個の角度Ag1、Ag2、Ag3のそれぞれの確信度Tc1、Tc2、Tc3を参照することによって、処理方向DPを決定する。処理方向DPは、第1角度Ag1から、第2角度Ag2と第3角度Ag3とのうちの第1角度Ag1の確信度Tc1よりも大きい確信度Tcに対応付けられる角度へ向かう方向である。図10の例では、処理方向DPは、第1角度Ag1から第3角度Ag3へ向かう方向である。この処理方向DPは、角度Agを増大させる方向であり、図3(A)の説明図における反時計回り方向である。
【0073】
S570(図9)では、プロセッサ210は、角度Agが、現行の角度Agの処理方向DP側の隣の候補角度Agcになるように、上板710を回転させる。なお、回転後の角度Agcが、算出済の確信度Tcを有する3個の角度Ag1、Ag2、Ag3に含まれる場合、プロセッサ210は、角度Agが未処理の候補角度Agcになるまで、上板710を回転させる。
【0074】
S575、S580、S585は、図8のS510、S515、S520と、それぞれ同じである。S585では、プロセッサ210は、現行の角度Agと確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。以下、現行の角度Agに対応付けられた確信度Tcを、「現行の確信度Tc」とも呼ぶ。
【0075】
S590では、プロセッサ210は、現行の確信度Tcが、処理方向DPとは反対方向側の隣の角度Ag(本実施例では、前回の角度Ag)の確信度Tcよりも小さいか否かを判断する。以下、処理方向DPとは反対方向側の隣の角度Agを、「逆隣角度」とも呼ぶ。現行の確信度Tcが、逆隣角度Agの確信度Tc以上である場合(S590:No)、プロセッサ210は、S570へ移行し、新たな角度Agの処理を実行する。プロセッサ210は、現行の確信度Tcが逆隣角度の確信度Tcよりも小さくなるまで、S570-S585の処理を繰り返す。
【0076】
図10には、順番に並ぶ3個の角度Agi-1、Agi、Agi+1が示されている。中央の角度Agiの確信度Tciは、最大確信度Tcxに近く、両隣の角度Agi-1、Agi+1の確信度Tci-1、Tci+1よりも大きい。現行の角度Agが、中央の角度Agiである場合、現行の確信度Tciは、逆隣角度Agi-1の確信度Tci-1よりも大きいので、S590(図9)の判断結果は、Noである。この場合、プロセッサ210は、新たな角度Agi+1の処理S570-S585を実行する。現行の角度Agが、角度Agi+1である場合、現行の確信度Tci+1は、逆隣角度Agiの確信度Tciよりも小さいので、S590の判断結果は、Yesである。このように、S590の判断結果がYesである場合、逆隣角度Agiの確信度Tciは、算出された複数の確信度Tcのうちの最大値であり、また、最大確信度Tcxに近い大きな確信度を示している。
【0077】
現行の確信度Tcが逆隣角度の確信度Tcよりも小さい場合(S590:Yes)、プロセッサ210は、図5のS245へ移行する。S245から図6のS310までの処理は、上記の第1実施例の対応する部分の処理と同じである。プロセッサ210は、図5のS245-S280の処理を実行することによって、適切な明るさ120xを決定する。そして、図6のS285-S310を実行することによって、第2閾値TH2以上の確信度Tcに対応付けられるデータを、不揮発性記憶装置230に格納する。
【0078】
なお、処理方向は、図3(A)の説明図における反時計回り方向に代えて、時計回り方向であり得る。図10には、第1角度Ag11と第2角度Ag12と第3角度Ag13との別のセットが示されている。第2角度Ag12の確信度Tcは、第1角度Ag11の確信度Tcよりも大きく、第3角度Ag13の確信度Tcは、第1角度Ag11の確信度Tcよりも小さい。従って、これらの角度Ag11-Ag13が、図8のS510-S565で使用される場合、処理方向DPbは、処理方向DPとは反対の方向である。この場合も、グラフG上の経路PAbgによって示されるように、プロセッサ210は、第1角度Ag11から、角度Agiに向かって、大きな確信度Tcに対応付けられる角度Agを検索する。
【0079】
以上のように、本実施例の撮影画像データ取得処理は、第1実施例の撮影画像データ取得処理と同様に、適切な装置方向110dと適切な明るさ120x(すなわち、最も大きい確信度Tcに対応付けられた装置方向110dと明るさ120x)を示す撮影条件に基づいて撮影画像データを取得できる。
【0080】
また、図10の例では、プロセッサ210は、第1角度Ag1から、処理方向DPに向かって、角度Agi+1まで、大きな確信度Tcに対応付けられる角度Agを検索する。図中の経路PAgは、グラフG上の検索経路を示している。図10の例では、角度Ag1から角度Agi+1までのR個(Rは、2以上、P以下の整数)の角度Agが、処理されることとする。図3(A)に示すように、角度Agには、候補方向110dcが対応付けられている。図8図9の処理では、プロセッサ210は、図3(A)に示すP個の候補方向110dcのうち、一部のR個の候補方向110dcを使用して、大きい確信度Tcに対応付けられる角度Ag(例えば、角度Agi(図10))を取得する。
【0081】
以上により、プロセッサ210は、確信度Tcの算出の回数を抑制しつつ、適切な装置方向110dを示す撮影条件に基づいて撮影画像データを取得できる。例えば、第1実施例では、プロセッサ210は、適切な装置方向110dの決定のために、P個の候補方向110dc(図3(A))に対応するP個の確信度Tcを算出する。本実施例では、プロセッサ210は、Pよりも少ないR個の確信度Tcの算出によって、適切な装置方向110dを決定できる。
【0082】
また、プロセッサ210は、図8図9の処理では、R個の候補角度Agc(すなわち、R個の撮影条件)に対応するR個の撮影画像データを物体検出モデルNNに入力することによって、R個の確信度Tcを算出する。そして、図5のS245からS280までの処理では、プロセッサ210は、図3(B)に示すQ個の候補明るさ120xc(すなわち、Q個の撮影条件)に対応するQ個の撮影画像データを物体検出モデルNNに入力することによって、Q個の確信度Tcを算出する。このように、適切な撮影条件の決定のための確信度Tcの算出の回数L(すなわち、試される撮影条件の総数L)は、R+Qである。ここで、L個の撮影条件のL個の装置方向110dは、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向110dで構成されていることとする。本実施例では、M個の装置方向110dは、図10のR個の角度Ag1-Agi+1に対応するR個の候補方向110dc1-110dci+1である(すなわち、M=R)。
【0083】
M(=R)個の装置方向110dは、図3(A)に示すように、プリンタ900を中心とする特定の周方向(本実施例では、回転軸700xを中心とする周方向)に沿って並んで配置されている。図10に示すように、M個の装置方向110dは、第1装置方向110dc1と、第1装置方向110dc1の両隣の装置方向である第2装置方向110dc2と第3装置方向110dc3と、を含んでいる。適切な撮影条件の決定のためのL個の確信度Tcを算出する処理は、図8図9の処理を含んでいる。図8図9の処理は、S515と、S535と、S555と、S570-S590と、を含んでいる。
【0084】
S515(図8)は、第1装置方向110dc1を示す撮影条件に対応付けられる撮影画像データを物体検出モデルNNに入力することによって第1確信度Tc1を算出する処理である。S535は、第2装置方向110dc2を示す撮影条件に対応付けられる撮影画像データを物体検出モデルNNに入力することによって第2確信度Tc2を算出する処理である。S555は、第3装置方向110dc3を示す撮影条件に対応付けられる撮影画像データを物体検出モデルNNに入力することによって第3確信度Tc3を算出する処理である。
【0085】
S570-S590(図9)は、S580を含んでいる。S580は、M個の装置方向110d(図10)に含まれる注目装置方向を示す撮影条件に対応付けられる撮影画像データを物体検出モデルNNに入力することによって確信度Tcを算出する処理である。S570-S590は、S580の処理を、第2装置方向110dc2と第3装置方向110dc3とのうち、第1装置方向110dc1の第1確信度Tc1よりも大きい確信度Tcを有する装置方向から(図10の例では、第3装置方向110dc3から)、処理方向DPに向かって、1つの装置方向110dずつ順番に、実行する。そして、S570-S590は、S580の処理を、処理方向DPとは反対方向の隣の装置方向110dを示す撮影条件に対応付けられる確信度Tcよりも小さい確信度Tcが算出されるまで(S590:Yes)、繰り返す。
【0086】
ここで、処理方向DPは、特定の周方向(ここでは、回転軸700xを中心とする周方向)に沿う双方向のうちのいずれかである。具体的には、処理方向DPは、第1装置方向110dc1から、第2装置方向110dc2と第3装置方向110dc3とのうちの第1確信度Tc1よりも大きい確信度Tcに対応付けられる装置方向(図10では、第3装置方向110dc3)へ向かう方向である。そして、S515と、S535と、S555と、S570-S590と、によって算出される複数の確信度Tcに対応付けられる複数の装置方向が、図10に示すM個の装置方向110dc1-110dci+1を形成する。
【0087】
C.第3実施例:
図11は、撮影画像データ取得処理の第3実施例を示すフローチャートである。第2実施例(図8図9)の処理との差異は、第3実施例では、図8のS510-S520の処理SX2が、S410-S435の処理SX3に置換されている点だけである。S410-S435の処理SX3は、K個(Kは、2以上、P未満の整数)の基準装置方向のそれぞれの確信度Tcを使用して第1角度Ag1を決定する。撮影画像データ取得処理の他の部分の処理は、第2実施例の撮影画像データ取得処理の対応する部分の処理と、同じである(同じ部分については、図示と説明を省略する)。
【0088】
K個の基準装置方向は、P個の候補方向110dc(図3(A))から予め選択されたK個の候補方向110dcである。本実施例では、K個の基準装置方向として、P個の候補方向110dcのうち、周方向に沿って互いに隣り合わないK個の候補方向110dcが、選択される。すなわち、K個の基準装置方向は、図9の処理で使用される複数の候補方向110dcの角度間隔(例えば、1度)よりも大きい角度間隔(例えば、10度)を有している。
【0089】
図11のS210の後、プロセッサ210は、S410へ移行する。S410では、プロセッサ210は、K個の基準装置方向に対応するK個の基準角度から、未処理の角度を注目基準角度Agsとして選択する。そして、プロセッサ210は、角度Agが注目基準角度Agsになるように、上板710(図2)を回転させる。
【0090】
S415、S420、S425は、図8のS510、S515、S520と、それぞれ同じである。S425では、プロセッサ210は、注目基準角度Agsと確信度Tcとの対応関係を示すデータを、条件記録データRDに追加する。
【0091】
S430では、プロセッサ210は、全ての基準角度の処理が終了したか否かを判断する。未処理の基準角度が残っている場合(S430:No)、プロセッサ210は、S410へ移行し、新たな注目基準角度Agsの処理を実行する。
【0092】
全ての基準角度の処理が終了した場合(S430:Yes)、S435で、プロセッサ210は、条件記録データRDを参照し、最も大きい確信度Tcに対応付けられた角度を、第1角度Ag1として選択する。そして、プロセッサ210は、図8のS525へ移行する。S525とS525に続く処理とは、第2実施例の対応する部分の処理を同じである。プロセッサ210は、図10の例と同様に、第1角度(例えば、第1角度Ag1)から、確信度Tcが増大する処理方向(例えば、処理方向DP)に向かって、大きな確信度Tcに対応付けられる角度Agを検索する。
【0093】
以上のように、本実施例では、図11のS410-S430(特に、S420)の処理で、プロセッサ210は、K個の基準角度(すなわち、K個の基準装置方向)を示すK個の撮影条件に対応付けられるK個の撮影画像データを物体検出モデルNNに入力することによって、K個の確信度を算出する。S435では、プロセッサ210は、K個の確信度のうちの最も大きい確信度に対応付けられる角度を、第1角度Ag1として選択する。すなわち、プロセッサ210は、最も大きい確信度Tcに対応付けられる装置方向を、第1装置方向として選択する。第1角度Ag1(第1装置方向)の選択の後の処理は、第2実施例と同じである。
【0094】
以上により、プロセッサ210は、第2実施例と同様に、確信度Tcの算出の回数を抑制しつつ、適切な装置方向110dを示す撮影条件に基づいて撮影画像データを取得できる。また、第1角度Ag1が、K個の基準角度(すなわち、K個の基準装置方向)に対応するK個の確信度を使用して選択される。従って、第1角度Ag1が予め決められる場合と、第1角度Ag1がランダムに決められる場合と、に比べて、第1角度Ag1は、適切な角度Ag(例えば、図10の角度Agi)に近づき得る。従って、確信度Tcの算出の回数を抑制できる。
【0095】
なお、プロセッサ210は、図11のS410-S430、図8のS515、S535、S555、図9のS580で、K個の基準装置方向を含む複数の装置方向(すなわち、複数の撮影条件)に対応する複数の撮影画像データを物体検出モデルNNに入力することによって、複数の確信度Tcを算出する。また、図5のS245からS280までの処理では、プロセッサ210は、図3(B)に示すQ個の候補明るさ120xc(すなわち、Q個の撮影条件)に対応するQ個の撮影画像データを物体検出モデルNNに入力することによって、Q個の確信度Tcを算出する。ここで、適切な撮影条件の決定のための確信度Tcの算出の回数(すなわち、試される撮影条件の総数)が、Lであることとする。そして、L個の撮影条件のL個の装置方向110dは、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向110dで構成されていることとする。本実施例では、M個の装置方向110dは、K個の基準装置方向を含んでいる。また、M個の装置方向110dは、図10で説明したように、第1装置方向(例えば、第1装置方向110dc1)から、図9のS590の条件を満たす装置方向(例えば、装置方向110dci+1)までの複数の候補方向110dcを、含んでいる。M個の装置方向110dは、図3(A)に示すように、プリンタ900を中心とする特定の周方向(本実施例では、回転軸700xを中心とする周方向)に沿って並んで配置されている。
【0096】
また、図8のS525、S545に示すように、M個の装置方向110dは、S435(図11)で選択される第1装置方向(例えば、第1装置方向110dc1)と、第1装置方向の両隣の装置方向である第2装置方向(例えば、第2装置方向110dc2)と第3装置方向(例えば、第3装置方向110dc3)と、を含んでいる。また、図11の繰り返されるS410-S430の処理は、第1装置方向(例えば、第1装置方向110dc1)を示す撮影条件に対応付けられる撮影画像データを物体検出モデルNNに入力することによって第1確信度Tc1を算出する処理(S420)を含んでいる。
【0097】
そして、適切な撮影条件の決定のためのL個の確信度Tcを算出する処理は、上記第2実施例と同様に、図8のS525から図9のS590までの処理(特に、S535と、S555と、S570-S590)を含んでいる。そして、図11のS410-S430と、図8のS535、S555と、図9のS570-S590と、によって算出される複数の確信度Tcに対応付けられる複数の装置方向が、M個の装置方向を形成する。
【0098】
D.第4実施例:
図12は、撮影画像データ取得処理の第4実施例を示すフローチャートである。上記の各実施例とは異なり、本実施例では、プロセッサ210は、P個の候補方向110dc(図3(A))とQ個の候補明るさ120xc(図3(B))との全ての組み合わせを示すP*Q個の撮影条件のそれぞれの確信度Tcを算出する。
【0099】
S205、S210は、図5のS205、S210と、それぞれ同じである。S205の判断結果がYesである場合、プロセッサ210は、図6のS285へ移行する。図6のS300の判断結果がNoである場合、プロセッサ210は、S305の後に、図12のS610へ移行する。
【0100】
S610は、図5のS240と同じである。S615は、図5のS250と同じである。S620、S625、S630、S635、S640、S645は、図5のS255、S260、S265、S270、S275、S280と、それぞれ同じである。S640の判断結果がYesである場合に実行されるS650は、図5のS235と同じである。S650の判断結果がNoである場合、プロセッサ210は、S610へ移行する。以上により、プロセッサ210は、P*Q個の撮影条件のそれぞれの確信度Tcを算出し、P*Q個の対応関係を示すデータを、条件記録データRDに追加する。
【0101】
S650の判断結果がYesである場合、プロセッサ210は、図6のS285へ移行する。図6の処理は、第1実施例の図6の処理と同じである。プロセッサ210は、第2閾値TH2以上の確信度Tcに対応付けられるデータを、不揮発性記憶装置230に格納する。
【0102】
以上のように、図12のS610-S650の処理では、プロセッサ210は、P個の候補方向110dcのそれぞれに関して、候補方向110dcとQ個の候補明るさ120xcとの組み合わせを示すQ個の撮影条件に対応付けられるQ個の撮影画像データを物体検出モデルNNに入力することによってQ個の確信度Tcを算出する。すなわち、プロセッサ210は、P*Q個の撮影条件に対応するP*Q個の確信度Tcを算出する。そして、プロセッサ210は、図6のS285-S310を実行することによって、P*Q個の確信度Tcのうちの最も大きい確信度Tcであって第2閾値TH2以上の確信度Tcに対応付けられるデータを、不揮発性記憶装置230に格納する。従って、プロセッサ210は、小さい確信度Tcではなく大きい確信度Tcに対応付けられた撮影画像データを、取得できる。
【0103】
本実施例では、適切な撮影条件の決定のための確信度Tcの算出の回数L(すなわち、試される撮影条件の総数L)は、P*Qである。L個の撮影条件のL個の装置方向110dは、互いに異なるM個(Mは、2以上、L以下の整数)の装置方向110dで構成されていることとする。本実施例では、M個の装置方向110dは、図3(A)のP個の候補方向110dcである(すなわち、M=P)。また、L個の撮影条件のL個の明るさ120xは、互いに異なるN個(Nは、2以上、L以下の整数)の明るさ120xで構成されていることとする。本実施例では、N個の明るさ120xは、図3(B)のQ個の候補明るさ120xcである(すなわち、N=Q)。
【0104】
プロセッサ210は、M(=P)個の候補方向110dcのそれぞれに関して、候補方向110dcとQ個の候補明るさ120xcとの組み合わせを示すQ個の撮影条件に対応付けられるQ個の確信度Tcを算出する。M個の候補方向110dcのそれぞれに対応付けられるQ個の候補明るさ120xcの全体(すなわち、M*Q個の撮影条件のM*Q個の候補明るさ120xc)は、互いに異なるN個の候補明るさ120xcを形成している(本実施例では、Q=N)。また、M個の候補方向110dcのそれぞれに対応付けられるQ個の確信度Tcの全体(すなわち、M*Q個の撮影条件に対応するM*Q個の確信度Tc)は、撮影条件の決定のために算出されるL個の確信度Tcを形成している。
【0105】
E.第5実施例:
図13は、撮影画像データ取得処理の第5実施例を示す説明図である。図中には、1個のステップであるS710が示されている。S710は、上記各実施例の図6のS285-S295の処理SX1の代わりに使用可能である。上述の各実施例では、図5のS270、図8のS520、S540、S560、図9のS585、図12のS635で、プロセッサ210は、条件記録データRDに、撮影条件と確信度Tcとを示すデータを追加する。本実施例では、プロセッサ210は、これらのステップで、撮影条件と確信度Tcとを示すデータに加えて撮影画像データと候補領域DAを示す座標データとを、条件記録データRDに追加する。図13のS710では、プロセッサ210は、条件記録データRDを参照して、最も大きい確信度Tcと、最も大きい確信度Tcに対応付けられる角度Agと明るさ120xと座標データと撮影画像データとを、取得する。
【0106】
このように、プロセッサ210は、最も大きい確信度Tcに対応付けられる撮影条件の下で新たに撮影されたプリンタ900の撮影画像を表す撮影画像データを取得する代わりに、最も大きい確信度に対応付けられる撮影画像データ(本実施例では、不揮発性記憶装置230に格納済の撮影画像データ)を、取得してよい。これにより、プロセッサ210は、撮影画像データの取得に要する時間を短縮できる。
【0107】
F.変形例:
(1)複数の候補方向110dc(図3(A))は、周方向の全範囲に代えて、適切な撮影画像データを取得できる可能性が高い一部の範囲内に分布してよい。このような範囲は、予め実験的に決定されてよい。また、複数の候補方向110dcの配置パターンに代えて、複数の候補方向110dcのそれぞれの具体的な方向(すなわち、複数の候補角度Agcのそれぞれの具体的な値)が、処理開始時の装置方向110dとは無関係に、予め決定されてよい。この場合、S210(図5図8図11図12)では、プロセッサ210は、回転台700(図2)の上板710を、複数の候補方向110dcのうちの予め決められた初期方向に対応する回転位置に、回転させてよい。初期方向は、任意の方向であってよい。
【0108】
(2)複数の候補明るさ120xc(図3(B))は、下限値120nから上限値120mまでの全範囲に代えて、適切な撮影画像データを取得できる可能性が高い一部の範囲内に分布してよい。このような範囲は、予め実験的に決定されてよい。また、光源120の明るさ120xは、予め決められた明るさに固定されてよい。すなわち、調整対象の撮影条件から、明るさ120xが省略されてよい。この場合、撮影画像データ取得処理のうち明るさ120xを調整するためのステップは、省略される。例えば、図5のS245-S280、図12のS615、S640、S645は、省略されてよい。
【0109】
(3)撮影画像データ取得処理は、上記の処理に代えて、他の種々の処理であってよい。例えば、図11図8図9に示す第3実施例では、図9のS570-S590よりも前に、図11のS410-S430で、プロセッサ210は、K個の基準装置方向に対応するK個の確信度を算出する。図9のS570では、プロセッサ210は、基準装置方向に対応する基準角度をスキップしてよい。例えば、プロセッサ210は、角度Agが、現行の角度Agの処理方向DP側の未処理の候補角度Agcであって、現行の角度Agに最も近い候補角度Agcになるように、上板710を回転させてよい。S570で基準角度をスキップする場合と基準角度をスキップしない場合とのいずれの場合も、プロセッサ210は、K個の基準装置方向以外の複数の候補方向110dcに関しては、処理方向に向かって、1つの装置方向110dずつ順番に、確信度Tcの算出(S580)を実行する。
【0110】
(4)図5の250-S280では、プロセッサ210は、複数の候補明るさ120xcの全ての確信度Tcを算出する。これに代えて、プロセッサ210は、図10の実施例と同様に、明るさ120xを調整してよい。例えば、プロセッサ210は、明るさ120xを、初期値に調整する。初期値は、適切な撮影画像データを取得できる可能性が高い明るさ120xに、予め決められてよい。これに代えて、現行の明るさ120xが、初期値として使用されてよい。プロセッサ210は、確信度Tcが増大するように明るさ120xを変更する。変更後の明るさ120xとしては、現行の明るさ120xの隣の候補明るさ120xcが採用される。そして、プロセッサ210は、変更後の明るさ120xに対応付けられた撮影画像データを使用して、確信度Tcを算出する。プロセッサ210は、明るさ120xの変更と、確信度Tcの算出とを、確信度Tcが減少し始めるまで、繰り返す。そして、プロセッサ210は、最大の確信度Tcに対応付けられる明るさ120xを、適切な明るさ120xとして採用する。このような明るさ120xの調整処理は、図12のS615-S645に適用されてよい。この場合、互いに異なるM個(M=P)の候補方向110dcのそれぞれに関して、プロセッサ210は、確信度Tcが増大するように明るさ120xを初期値から変更することによって、適切な明るさ120xを検索する。従って、M個の候補方向110dcの間で、確信度Tcが算出される候補明るさ120xcの総数は、異なり得る。
【0111】
(5)プロセッサ210は、撮影画像データ取得処理によって決定された適切な撮影条件を、他のプリンタのための撮影画像データ取得処理で使用せずに、プリンタ毎に適切な撮影条件を検索してよい。例えば、図5図8図11図12のS205は、省略されてよい。
【0112】
(6)撮影画像データ取得処理において、プロセッサ210は、全ての撮影条件のそれぞれを使用するプリンタ900の撮影が完了した後に、各撮影画像データを使用する確信度Tcの算出を実行してよい。
【0113】
(7)プリンタ900には、W種類(Wは、2以上の整数)のラベルシートが貼られてよい。この場合、物体検出モデルNNは、W種類のラベルシートのそれぞれを検出するように、訓練されることが好ましい。物体検出モデルNNは、YOLOモデルのように、検出されたラベルシートの領域(例えば、バウンディングボックス)のそれぞれに対して、W個のクラス確率を算出するように構成されてよい。プロセッサ210は、検出された領域のラベルシートの種類として、その領域に対応付けられるW個のクラス確率のうちの最も大きいクラス確率に対応付けられる種類を、採用してよい。また、プロセッサ210は、1個の撮影画像に含まれるW個のラベルシートの画像から得られるW個の確信度を使用して、適切な撮影条件を決定してよい。例えば、プロセッサ210は、W個の確信度の総合的な評価値(例えば、平均値、中央値、合計値など)を使用してよい。このような評価値は、W個のラベルシートの検出の総合的な確信度を示している。
【0114】
(8)プリンタ900の複数の外面(例えば、正面と上面)に、ラベルシートが貼られてよい。データ処理装置200は、外面毎に検査処理を実行することによって、各ラベルシートを検査してよい。
【0115】
(9)回転台700(図2)上へのプリンタ900の配置と、回転台700上のプリンタ900の取り外しとは、作業者に代えて、ロボットによって行われてよい。また、回転台700と、回転台700上に配置されたプリンタ900と、を含む検査ユニットが、生産ライン上を移動してよい。この場合、図4のS110では、作業者、または、ロボットは、プリンタ900がデジタルカメラ110の撮影範囲に配置されるように、検査ユニットの位置を調整する。S160では、作業者、または、ロボットは、処理済の検査ユニットをデジタルカメラ110の撮影範囲の外に移動させ、新たな検査ユニットのプリンタ900が撮影範囲に配置されるように、新たな検査ユニットの位置を調整する。
【0116】
(10)デジタルカメラ110は、回転台700によるプリンタ900の回転中に、プリンタ900を撮影してよい。また、デジタルカメラ110は、プリンタ900(例えば、検査ユニット)の移動中に、プリンタ900を撮影してよい。
【0117】
(11)1個のデジタルカメラ110に代えて、複数のデジタルカメラ110が、プリンタ900を撮影してよい。例えば、P個の候補方向110dc(図3(A))のうちのV個(Vは、2以上、P以下の整数)の候補方向110dcに、1つずつデジタルカメラ110が配置されてよい。V個のデジタルカメラ110は、短時間で、V個の候補方向110dcに対応するV個の撮影画像データを生成できる。VがP未満である場合、回転台700がプリンタ900を回転させることによって、V個のデジタルカメラ110は、P個の候補方向110dcに対応するP個の撮影画像データを生成できる。ここで、複数個の光源120が、プリンタ900の外面のうちV個のデジタルカメラ110によって撮影される複数の部分に、光を照射することが好ましい。
【0118】
(12)プリンタ900が回転する代わりに、デジタルカメラ110がプリンタ900の周りを移動してよい。また、回転台700(図2)の基準マーカー750は、省略されてよい。この場合も、プロセッサ210は、上記の撮影画像データ取得処理によって、適切な撮影条件に対応付けられた撮影画像データを取得できる。
【0119】
(13)S140(図4)の外観検査の処理は、パターンマッチングを使用する処理に代えて、外観の異常を検出する任意の処理であってよい。例えば、プロセッサ210は、いわゆるオートエンコーダを使用して、検出領域データから、不具合の無いラベルシート910の画像を表す画像データを生成してよい。そして、プロセッサ210は、生成した画像と、検出領域の画像との差分を算出することによって、ラベルシート910の不具合を検出してよい。
【0120】
(14)撮影の対象である撮影対象物は、プリンタ900に限らず、ミシン、カッティングマシン、工作機械など、任意の製品であってよい。また、撮影対象物の撮影画像からの検出の対象である検出対象物は、製品に貼られるラベルシート910に限らず、製品に直接的に印刷されるラベルであってよい。また、検出対象物は、ラベルに限らず、製品に取り付けられる札、付属品など、製品の任意の部分であってよい。また、撮影画像から検出される検出対象物の画像の用途は、外観検査に限らず、任意の用途であってよい。例えば、検出対象物の画像は、製品のマニュアルに掲載されてよい。
【0121】
(15)複数種類の製品が、1個の製造ライン上で検査されてよい。そして、プロセッサ210は、製品の種類毎に、撮影条件を決定してよい。また、プロセッサ210は、処理対象の製品の種類に対応付けられた撮影条件が決定済である場合、決定済の撮影条件に対応付けられた撮影画像データを取得してよい。図5図8図11図12のS205では、プロセッサ210は、処理対象の製品の種類に対応付けられた撮影条件が決定済か否かを判断してよい。なお、製品には、製品の種類を示すコード画像(例えば、バーコード画像)が、取り付けられてよい(例えば、コード画像を表すシートが、製品に貼られる)。プロセッサ210は、コード画像を使用して、製品の種類を決定してよい。例えば、データ処理装置200には、コード画像の読取り装置が接続されてよい。また、プロセッサ210は、デジタルカメラ110によって撮影されたコードの画像を分析することによって、製品の種類を決定してよい。これに代えて、作業者は、処理対象の製品の種類を、操作部250を操作して入力してよい。
【0122】
(16)撮影に関する調整対象の条件は、候補方向110dcと候補明るさ120xcとに限らず、撮影に影響を与え得る任意のパラメータを含んでよい。例えば、撮影に関する調整対象の条件は、温度、湿度、撮影対象物の回転速度(撮影対象物の回転中に撮影が行われる場合)、撮影対象物の移動速度(撮影対象物の移動中に撮影が行われる場合)、から任意に選択されたパラメータを含んでよい。なお、調整対象ではない条件は、互いに異なる複数個の撮影条件による複数回の撮影の間で、同じであることが好ましい。例えば、デジタルカメラ110とプリンタ900との間の距離は、複数回の撮影の間で、同じであることが好ましい。また、デジタルカメラ110の撮影設定は、複数回の撮影の間で、同じであることが好ましい。例えば、シャッタースピードと、絞り値と、ISO感度と、焦点距離とは、複数回の撮影の間で同じであることが好ましい。他の撮影設定(例えば、偏光フィルタの有無、手ぶれ防止機能の設定)も、複数回の撮影の間で同じであることが好ましい。また、訓練のための撮影と検査のための撮影との間で、調整対象ではない条件は、同じであることが好ましい。ただし、調整対象ではない1以上の条件が、複数回の撮影の間で異なってよい。また、調整対象ではない1以上の条件が、訓練のための撮影時と検査のための撮影時との間で、異なってよい。
【0123】
(17)物体検出モデルNNは、YOLOモデルに限らず、検出対象物の領域と、確信度と、を予測する種々の予測モデルであってよい。例えば、SSD(Single Shot Detector)、R-CNN (Regions with Convolutional Neural Network)、Fast R-CNN, Faster R-CNN、Mask R-CNNなどのモデルが採用されてよい。
【0124】
(18)図1のデータ処理装置200は、パーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってもよい。撮影画像データ取得処理(図4:S120)を実行するデータ処理装置200とは異なるデータ処理装置が、図4の検査処理を進行してよい。また、撮影画像データを使用して確信度を算出するデータ処理装置200とは異なるデータ処理装置が、デジタルカメラ110に撮影対象物(例えば、プリンタ900)を撮影させて、デジタルカメラ110から撮影画像データを取得する処理を実行してよい。ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、撮影画像データ取得処理の機能を一部ずつ分担して、全体として、撮影画像データ取得処理の機能を提供してもよい(これらの装置を備えるシステムがデータ処理装置に対応する)。
【0125】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の物体検出モデルNNの機能を、専用のハードウェア回路によって実現してもよい。
【0126】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0127】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0128】
110…デジタルカメラ、120…光源、200…データ処理装置、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、231…プログラム、240…表示部、250…操作部、270…通信インタフェース、700…回転台、700x…回転軸、710…上板、711…上面(支持面)、720…下板、721…ベアリング、730…センサ、740…モータ、750…基準マーカー、900…対象物(プリンタ)、901…第1外面、910…ラベルシート、D1…第1方向、D2…第2方向、RD…条件記録データ、CD…撮影条件データ、NN…物体検出モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13