プロジェクト

全般

プロフィール

メカチーム案件 #229

完了

メカチーム案件 #139: 画像判定システム

メカチーム案件 #140: プログラミング

メカチーム案件 #189: 10/31までの必須項目[Step-1]

メカチーム案件 #192: 検証・調整

Step-2 対象物が複数の場合で目標 正解率 60%~70%

安間 一臣 さんが3ヶ月前に追加. 2ヶ月前に更新.

ステータス:
完了
優先度:
A
担当者:
開始日:
2025/10/16
期日:
2025/11/30
進捗率:

100%

外注先:
内製

國保 幸起 さんが3ヶ月前に更新

  • 期日2025/10/31 から 2025/11/30 に変更

安間 一臣 さんが3ヶ月前に更新

  • ステータス新規 から 進行中 に変更

ご提供いただいたミサンガを並べて検査を行えるように手を加えました。
並べたミサンガを1つ1つにバラすことはできました。
バラしたミサンガを特徴点で検査することもできました。

以下の問題点が出ています。
  • テンプレート画像を撮影し、ミサンガ部分をエッジ抽出した後に特徴点を抽出しようとすると特徴点が抽出できない。

安間 一臣 さんが2ヶ月前に更新

  • 進捗率0 から 70 に変更
#note-2 解決
  • 原因
    テンプレート画像を撮影した場合に特徴点が抽出できなかった原因ですが、撮影した画像をエッジ検出しミサンガ部分を切り出すと、ミサンガのギリギリで切り出してしまい特徴点がうまく抽出できないようでした。
  • 対策
    エッジ検出した座標を基に、ミサンガの周りにマージンができるようにしました。(現在は上下左右とも10ピクセルのマージンを取るようにしています。)
  • 結果
    特徴点を抽出できるようになりました。

試験
以下の試験を実施し、60%以上の正解率を出せるようになりました。
OK品のみNG品のみであれば高い正解率が出せるのですが、OK品NG品が混在すると正解率が落ちてしまっています。
ミサンガのゆがみがあると正解率が落ちてしまうように感じます。
試験内容は以下です。

  • 試験内容
    • 検査対象のOK品を縦に並べて撮影。
    • 合否判定閾値は0.48と設定。
    • 試験対象は、黒字に白の文字がプリントされたミサンガを使用。
    • テンプレート画像はファイルから読み込む。(テンプレートとなるミサンガを配置し、検査対象を並べるという作業が大変だったため、テンプレート画像はあらかじめ撮影しておいた画像ファイルから読み込ませました。)
  • 結果
    • 1. 複数並べた状態の評価(テンプレートOK品、OK品を複数)
      • 正解率: 76%
    • 2. 複数並べた状態の評価(テンプレートOK品、NG品を複数)
      • 正解率: 80%
    • 3. 複数並べた状態の評価(テンプレートOK品、OK品とNG品を複数)
      • 正解率: 65%
  • Git
    本チケットのソースコードは、単体で実施したソースコードとブランチを分けました。
    ブランチ名は「side_by_side」です。Giteaにはpush済みです。
  • 備考
    正解率が60%以上になっていますが「ステータス」や「進捗」を完了としていないのは、パラメータを設定ファイルに出していないためです。
    ソースコードを整理し動作確認後、「ステータス」と「進捗」を完了とします。

安間 一臣 さんが2ヶ月前に更新

  • ステータス進行中 から 完了 に変更
  • 進捗率70 から 100 に変更

#note-3で記述しました。ソースコードの整理が完了しましたので、このチケットを完了とさせていただきます。

安間 一臣 さんが2ヶ月前に更新

本チケットで試験を行った内容と使用したソースコードを改めて書き出しておきます。

  • 試験内容
    • カメラ
      • 被写体との距離: 305mm
        理由: 使用したWebカメラのフォーカス範囲が300mm~というところから。
      • カメラ移動: なし
    • 被写体
      • 対象の被写体: 黒地に白の文字が印刷されたミサンガ
      • 状態: ミサンガがなるべくテンプレートと同じように歪みなく真っ直ぐにカメラと水平になるように4個縦に並べて配置
        対象のミサンガに歪みがあると不合格になるため、ミサンガの歪みは極力ないように配慮した。
    • 特徴点検出方法
      • アルゴリズム: ORB
      • マッチャー: BFマッチャー(normType=NORM_HAMMING, crossCheck=True)
    • ソースコード
      • 特徴点モジュール: misanga/src/RaspiTemplateImage/FeaturePoint.py
      • 実行用ソースコード: ContinuousShooting.py
      • 実行方法:
        $ ./ContinuousShooting.py
        
    • その他設定
      • 設定JSONファイル: feature_point_config.json
        {
            "matchBorderline": 30,
            "ransacReprojThreshold": 5.0,
            "hammingThreshold": 30,
            "closestDistance": 2,
            "inlierThreshold": 20,
            "crossCheckPassFailThreshold": 0.48,
            "clahe": {
                "clipLimit": 4.2,
                "tileGridSizeX": 8,
                "tileGridSizeY": 8
            }
        }
        

他の形式にエクスポート: Atom PDF