高精度モデルを得るため

本節では、最もモデルの品質に影響を与えるいくつかの要因および高品質なモデルをトレーニングする方法について紹介していきます。

画像の品質を確保する

  1. 画像の 露出過度、暗すぎること、色ずれ、ぼやけ、遮蔽 を回避します。これらが発生したら、ディープラーニングモデルが依存する画像の特徴が失われ、モデル学習の効果に影響を与える可能性があります。

    ../../../_images/overexposed1.png
    ../../../_images/darker_lighting1.png
    ../../../_images/color_distortion1.png
    ../../../_images/obscure1.png
    ../../../_images/occluded1.png
  2. 取得したデータの 背景、視野、高さ が現場のシーンと一致することを確認します。一致しなければモデルの精度が出なくなり、データを再取得しなければならなくなることもあるので、必ず確認してください。

    ../../../_images/background_inconsistent1.png
    ../../../_images/field_mismatch1.png
    ../../../_images/height_mismatch1.png

データセットの品質を確保する

「インスタンスセグメンテーション」は、画像から対象物の特徴を抽出して学習を行うことでモデルを生成し、現場に適用するため、取得した画像は現場と一致しなければなりません。

  1. データセットを取得する

  2. 適切なデータセットを選択する

データセットを取得する

各種の配置状況は、応用現場に合わせて調整してください。例えば、前工程から供給する時に、横向き、縦向き、ばら積みの可能性が考えられます。横向き、縦向きの画像のみを採取した場合、バラ積みの認識効果は保証できません。つまり、データ取得は 現場のあらゆる可能性を考慮 した方針で行います。以下のことにご注意ください。

  • 取得したデータに、現場の応用であらゆる 対象物の向き が全部含まれることを確認します。

  • 取得したデータに、現場の応用であらゆる 対象物の位置 が全部含まれることを確認します。

  • 取得したデータに、現場の応用であらゆる 対象物同士の関係 が全部含まれることを確認します。

注意

いずれかの配置状況のデータが欠けたら、その状況を学習できず、精度も保証できません。したがって、誤差を低減するために必ずデータの本数と多様性を確保してください。

対象物の向き

../../../_images/different_towards.png

対象物の位置

../../../_images/different_situations.png
../../../_images/different_layers.png

対象物同士の関係

../../../_images/positions.png
../../../_images/different_positions.png

データの取得例

  1. 単一種類の金属部品を認識するプロジェクトで、50 枚の画像を取得します。対象物は、平置きと側置きなどを考慮して画像を取得します。位置に関しては、ボックスの中心、四角、コーナーにある状況を考えます。対象物同士の関係は、重なり合うことと並列になることを考慮します。実際に取得した画像は以下のようです。

    ../../../_images/metal_part_placement_status.png
    ../../../_images/metal_part_poses.png
  2. 7 種類の日用品が混在するプロジェクトでは、商品を分類します。対象物の特徴を把握するためには、同じ対象物がさまざまな向きで配置されている状況や、複数種類の対象物が混在している状況を考慮する必要があります。同じ対象物に対して取得するデータ数=5×商品の種類数。複数種類の対象物が混在しているとき取得するデータ数=20×商品の種類数。対象物は、平置きと側置き、斜めの姿勢があります。位置に関しては、ボックスの中心、四角、コーナーに配置されていることがあります。対象物同士の関係は、重なり合いや並列、密集しているなどを考慮します。実際に取得した画像は以下のようです。

単独に配置:

../../../_images/singel_class_subject_positions.png

混合配置:

../../../_images/mix_classes_subject_positions.png
  1. クローラシューのプロジェクトでは、複数の型番の対象物があるため、(30×モデル数)のデータを取得します。対象物の向きについては、上向きのみ考慮します。位置に関して、さまざまな高さにある物を撮影する必要があります。対象物同士の関係については、密集している状況に注意して撮影する必要があります。実際に取得した画像は以下のようです。

    ../../../_images/different_layer.png
  2. 金属ワークのプロジェクトでは、ワークを1層配置します。50 枚の画像を取得します。対象物の向きについては、上向きだけを考慮して撮影します。位置に関しては、ボックスの中心、四角、コーナーにある状況を考えます。対象物同士の関係については、密集している状況に注意して撮影する必要があります。実際に取得した画像は以下のようです。

    ../../../_images/different_situation.png
  3. 金属ワークのプロジェクトでは、ワークを複数層配置します。30 枚の画像を取得します。対象物の向きについては、上向きにします。位置に関しては、ボックスの中心、四角、コーナー、また低中高層にある状況も考えます。対象物同士の関係については、密集している状況に注意して撮影する必要があります。実際に取得した画像は以下のようです。

    ../../../_images/different_layers_positions.png

適切なデータセットを選択する

  1. 画像枚数を控える

    初めて「インスタンスセグメンテーション」のモデルをトレーニングするには、画像を 30~50 枚使用することを推奨します。データ量が多すぎると、トレーニングの時間が長くなり、また後続の改善の妨げになることもあります。

  2. データの多様性を確保する

    データセット画像は、検出する対象物の照明環境、色、サイズなどの情報を含んでいる必要があります。

    • 照明環境:現場では照明が変化するので、データセットに異なる照明下で取得した画像が含まれている必要があります。

    • 色:ワークの色が異なるので、データセットに異なる色の画像が含まれている必要があります。

    • サイズ:ワークのサイズが異なるので、データセットにサイズが異なるワークの画像が含まれている必要があります。

    注意

    現場のあらゆる状況がトレーニングセットに含まれるように、データ拡張トレーニングのパラメータを調整することでデータセットを補完し、現場でのすべての状況をデータセットに入れます。

  3. 各種類のデータを均等な割合で使用する

    トレーニングセットに、各カテゴリーや配置状況 の画像を均等な割合で使用する必要があります。あるカテゴリーの対象物の画像を 20 枚、別のカテゴリーの画像を3枚使用したりしてはいけません。

  4. トレーニングセットが使用シーンと一致する

    照明環境、ワークの特徴、検査時の背景、視野の広さなど、現場のシーンと一致する背景の画像を使用します。

ラベル付けの品質を確保する

ラベル付けの方針を決める

  1. ワークの上面の輪郭をラベル付けする: 平置きの段ボール箱、錠剤箱、長方形ワークなど、規則的な形のものに適します。上面の輪郭から把持ポイントを算出します。ユーザーは上面の矩形ボックスだけをラベル付けすれば良いです。

    ../../../_images/2_label_upper_surface.png
  2. ワークの輪郭をラベル付けする: 麻袋やあらゆるワークに適します。

    ../../../_images/3_label_outer_contour.png
  3. 特殊なケース: ロボットハンドが必要、または特別な把持方法を使用するケースに適します。

    • ボトルを把持する場合、吸盤がボトルの首にぴったりと合うように把持するので(高い精度が必要)、ボトルの首の輪郭だけをラベル付けます。

      ../../../_images/4_label_bottle_mouth.png
    • ローターを把持する場合、ローターの向きを認識する必要があります。向きは真ん中の部分から判断しますので、両端でなく、真ん中の部分だけにラベルを付けます。

      ../../../_images/5_label_the_middle_part_of_the_rotor.png
    • 金属部品を把持する場合、金属ワークの中間部を吸着するように、両端でなく、真ん中の部分だけにラベルを付けます。

      ../../../_images/6_label_the_middle_part.png

ラベル付けの品質をチェックする

ラベル付けの品質は、完全性、正確性、一貫性、精確性の面を考慮します。

  1. 完全性: 条件を満たすすべての対象物を漏れなくラベル付けること。

    ../../../_images/contour_missed.png
  2. 正確性: 対称物とラベルが一致すること。

    ../../../_images/label_name_not_correspond.png
  3. 一貫性: 同じラベル付けルールを守ること。例えば、露出度85%の対象物をラベル付けることになっているとき、条件を満たすすべての対象物を漏れなくラベル付けしなければなりません。

    ../../../_images/contour_inconsistent.png
  4. 精確性: ラベルの輪郭が対象の輪郭にぴったり沿うようにすること。

    ../../../_images/contour_incomplete_over.png