質問するログイン新規登録
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

522閲覧

図面から、対象の形状を探してマークする

yakko0115

総合スコア0

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/09/03 09:23

編集2023/09/03 11:09

0

0

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • 画像から特定の形状を判別してマークする方法

前提

ここに質問の内容を詳しく書いてください。
プログラミングは大学の授業で学んだ程度の全くの初心者です。
言語方法はなんでも良いのですが、下図のようなものから、特定したいです。
【検索したい図面】
イメージ説明

【検索対象の図面】
イメージ説明

発生している問題・エラーメッセージ

試したこと

ネット検索して、Open cvでカスケード分類を行いましたが精度が良くなく。。
ご知見ありましたら教えていただきたいです。

全く同じ形状を探す場合は機械学習等は不要ですかね。
簡単にできる方法があれば、こんなのやってみたら程度で良いのでご教授いただきたいです。

精度を定量的にお伝えすることができない程に知識がありません。 下記URLの通りやってみて、ほぼほぼ違う箇所を認識しています。 https://qiita.com/mix_dvd/items/25a8589429b41eb53347 8割型正しい検出を行いたいです。 やっている方向性が合っているでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2023/09/03 09:27

> ネット検索して、Open cvでカスケード分類を行いましたが精度が良くなく。。 > ご知見ありましたら教えていただきたいです。 求める精度は何で現在の精度は何なのでしょうか?
yakko0115

2023/09/03 09:39

コメントありがとうございます。 精度を定量的にお伝えすることができない程に知識がありません。 下記URLの通りやってみて、ほぼほぼ違う箇所を認識しています。 https://qiita.com/mix_dvd/items/25a8589429b41eb53347 8割型正しい検出を行いたいです。 やっている方向性が合っているでしょうか。
meg_

2023/09/03 10:17

質問は編集できますので追加の情報は質問に追記お願いします。
yominet

2023/09/03 15:11

OpenCVのmatchTemplate()といったものもあります 縦方向も考慮する必要ありますが。
fana

2023/09/04 01:26

学習器的な方向である必要性がどれほどあるのか? 例えば, 【適当なサイズ範囲の白い閉領域の形状が「二等辺三角形かどうか」を相応の評価方法を定めて判定し,あとは所定の想定位置姿勢で2つ並んでいるかどうかを見ていけばいいんじゃね?】 みたいな,「人間が検出方法を考えてみました」な方向で検討した方が早そうな気もしますが,どうなんでしょうね.
guest

回答1

0

全く同じ形状を探す場合は機械学習等は不要ですかね。

ガラケーで使われていた機械学習の手法

もし、

  1. 画像中にほとんどノイズがなく
  2. 画像中に含まれる対象物のサイズ感(スケール比?)がそこそこ大きい
    であればHaar-likeカスケードで分離できます。調子が良ければ8割超えと思いますが、現実にはそこまで高くありません。6割もうまくいけば御の字くらいだろうと思いますし、条件がもっと悪ければもっと精度は落ちます。
    なにより、OpenCVでHaar-likeカスケードの学習器を搭載していますが、使い勝手が悪いのでお勧めできません。Haar-likeカスケード以外にもパターンマッチングの方法はありますが、スケール変化(寸法感の違い)、回転耐性、上下左右の位置の影響、濃淡の違いなどで思うほどうまくいかないと思います。

機械学習ではないマッチング手法

もしパターンマッチングを試すのであれば、一番筋がよさそうなのはAKAZEだとか特許の切れたSIFT関係の特徴量を使った方法と思います。が、これらの方法は「画像中に対象物が複数ある場合」を基本的に想定していないため、画像を適当に分割するか検知後の画像をマスクでつぶしてループ処理するか何か別の方法が必要になってきます。

本命

8割型正しい検出を行いたいです。
ありきたりですが深層学習のやり方が良いと思います。直感的な数値ですが、この条件であれば古い手法でも80%くらい行けるはずです。また、大体新しい方法や精度の高い方法は重いですし学習も時間がかかります。場合によっては設定が面倒です。

おすすめはYOLOv3です。Pythonをそこそこ使ったことがある人であれば、日本語のやってみた系の記事を見ながら数時間くらいで実装できると思います。

投稿2023/09/03 15:37

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問