- バッチ内の画像を確認します。
- ほとんどの画像に共通して存在し、各画像内では 1 回しか現れないオブジェクトを目視で探します。このようなオブジェクトは、FlexiLayout の作成の初期段階で作成します。
- 識別子として使用できるオブジェクトを 1 つ以上見つけます。これはタイトルでも、その文書が特定の文書タイプに属することを明確に示す別のオブジェクトでもかまいません。識別子となるオブジェクトはすべての文書に存在し、可能であれば誤りなく認識される必要があります。識別子オブジェクトを記述する要素は、必須要素としてマークすることをお勧めします。プログラムがこの要素に対応するオブジェクトを見つけられない場合、FlexiLayout のマッチングは停止します。これは、その文書がその FlexiLayout で記述された文書タイプに属していないことを意味します。
- 要素をどの順序で作成し、FlexiLayout ツリー内でどのように配置するかを検討します。ツリー内の要素の順序によって、プログラムが画像上で対応するオブジェクトを探す順序が決まります。
- 各オブジェクトを見つけるために使用できるメソッドを検討します。FlexiLayout では、これらのメソッドは要素のプロパティで記述されます。まずは、ほとんどの画像に存在し、同じ画像内にあまり多く現れない、最も信頼性の高いオブジェクトから始めます。後で、それらを起点または参照要素として使用して、信頼性の低い要素を探すことができます。 プログラムが最も信頼性の高い 仮説 を生成できるよう、必ず最も厳しい検索条件を選択してください。 仮説ツリーが制御不能に増大するのを防ぐため、Number of surviving hypotheses フィールドの既定値は変更しないことをお勧めします。
- 一部の要素を グループ要素 にまとめることも検討します。グループ要素は、互いに独立した FlexiLayout の各部分をテストするのに便利です。たとえば、合計 100 個の要素で構成される FlexiLayout でも、最上位レベルにあるのはタイトル、本文、文書の下部という 3 つのグループ要素だけ、という構成にできます。これら 3 つのグループ要素はそれぞれ、文書のより小さな部分を記述するグループ要素で構成できます。このようにグループ要素を入れ子にすると、検索の組み合わせ数を減らせるため、FlexiLayout の各部分を個別に扱えるようになり、FlexiLayout のデバッグも容易になります。
Pre-recognition
画像の分析
FlexiLayout を構築する前にバッチ画像を分析し、信頼性の高い骨格オブジェクトを見つけ、識別子を選択して、要素の順序とグループ化を計画します。
FlexiLayout の骨格となるオブジェクトを見つけるには、バッチ内の画像を分析する必要があります。つまり、すべての画像に共通して存在し、プログラムで確実に検出できるオブジェクトを見つける必要があります。
画像を分析する際にもう 1 つ重要なのは、オブジェクトをどの順序で記述するかを決めることです。この順序によって、プログラムが FlexiLayout と画像をマッチングする際に要素を使用する順序が決まります。
一般的な手順は次のとおりです。
