このQ&Aは役に立ちましたか?
画像処理の高精度な輪郭検出について
2023/10/18 14:29
- 画像処理の高精度な輪郭検出について研究しています。
- 現在使用している差分計算やOpenCV関数の他に、フィルタや特徴点抽出の手法を検討中です。
- フリーソフトの輪郭検出器では満足いく結果が得られず、他の手法を教えていただきたいです。
画像処理(高精度な輪郭検出)について
2011/07/28 11:43
今年新卒で入社し、医療機器関連のエンジニアとしてスタートしたものです。素人ながら質問させていただきたいと思います。
現在、Visual Studio 2010(言語はC#)とOpenCVを用いて、画像中の輪郭、物体をできるだけ高精度に検出するアルゴリズムの研究を行っています。
基本である差分計算やOpenCVの関数を用いたラプラシアンフィルタやCannyアルゴリズム、輪郭線抽出、RGBからHSV,Lab色空間(Labについては現在も調査中です。)へ変換し、閾値を変えてみるなど試してみました。また、PhotoShopを用いて、コントラストや明るさ、色調変換をかけて、同様に試してみたりもしました。
しかし、画像によっては満足いく輪郭、物体の検出ができない状態です(フリーソフトの輪郭検出器2.10を使ってみても同じでした)。勿論、明るさやレンズの特質等の影響もあるとは思いますが・・・。
そこでお聞きしたいのですが、上記の他にもできるだけ高精度に輪郭や特徴点を検出する手法がありましたら、教えていただける範囲で教えていただけないしょうか。
漠然とした質問で申し訳ありません。どうぞよろしくお願い申し上げます。
今のところ検討中なのは、対象画像に何らかのフィルタをかけて、それから差分や大津の2値化閾値判定を使う、特徴点抽出には、OpenCVのコーナー検出アルゴリズム(Harris等)やSURF等を使うことを考えています。
勿論、上記の事項に応用的に工夫を加える独自のアルゴリズムも検討中です。
回答 (5件中 1~5件目)
昔、工場で使う簡易的な画像処理装置の開発に従事しました。
(私は、ソフトと開発全体の統括を担当。)
さらにその前には、2年程ですが、
丸に十字マークの放射線機器メーカーの販売代理店で、
社内システムのプログラマ 兼 フィールドサービスを担当していました。
(MRIが市場に出始めた頃です。)
この質問には、とても興味があります。
医療機器で画像処理ですから、自ずと装置が絞られますが、
まぁ、おかしな詮索は止めにしておきます。
輪郭抽出のアルゴリズムは、御存知の通りです。
コペルニクス的転回の、魔法の様な手法は、これ以上ありません。
では、どうするか?
処理前の元画像を、出来るだけ高コントラストにするのです。
> PhotoShopを用いて、コントラストや明るさ、色調変換をかけて、
フォトショ頼りではなく、画像処理でコントラストを改善するのです。
アンギオのDSAでやっているでしょ?
(↑の専門用語も、医療機器屋さんなら分かる筈。)
現在は画像処理に使えるDSPも、種類があり安価になりました。
(昔、NECのImPPを使い、CP/M-86 上でソフトを書きました。)
(そんな時代とは、雲泥の差が有ります。)
頑張りましょう。
> 画像によっては満足いく輪郭、物体の検出ができない状態です
画像処理は、条件が多岐に渡り、しかも、それが安定していない事が多く、
満足のいく結果が得られる様な元画像そのものを、得るのが困難です。
他の回答者と同様、あらゆるパラメータの設定に、
或る程度の知見をもつ必要があります。
技術者一個人では、なかなか困難です。
職場で上司と相談し、多くの人材を集めて進める手も模索しましょう。
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
回答(3)さんに賛成です。
画像処理単体での処理ではブレイクスルーは困難ですね。
30万画素程度ですと
照明のスペクトルをフィールドシーケンシャルで変える(場合によっては赤外線撮像や紫外線照射による蛍光なども利用する)
照明の方向を切り替えたりパターン照射して3D認識も併用する
時間方向の微分解析や統計的解析を併用して輪郭を認識する。
などの入力インターフェースの工夫がカギではないでしょうか。
お礼
2011/08/02 10:09
ご回答誠に有難うございます。
やはり単体での処理は限界があるのでしょうか。
照明の明るさは撮影条件に大きく左右されますが、どの条件でも対応できるように処理できなければならないのが現状なので、厳しいところです。
おっしゃる通り、統計的解析も現在検討中で、画像中の輪郭の色の変化を数学的に調整する(シグモイド関数等)ことも検討しております。
具体的には人の顔?内臓的なもの?
もう少し具体的にわかるとアドバイスが増えるかも。
とりあえず、ざっくりと
産業関連の画像検査からノウハウ的なものを。。。
画像を取り込むところにも手を加えられるなら、
欲しい輪郭が一番現れる照明の当て方、色を工夫する。
(この部分はこの条件、この部分はこの条件と変えて
あとから合成できればもっと安定する?)
輪郭抽出についても、ここの輪郭をとるときはこの画像処理
(フィルタ条件(膨張、収縮、2値化、差分強調、、、)、背景カット、など)
と変えて判定を合成する。
あと、反射光で外乱になるなら、ハード面で偏光フィルタをつけるとか。
的外れかな?
お礼
2011/07/29 14:51
ご回答誠にありがとうございました。
画像の対象物の内容に関しては細かくはお話することはできないのですが、おっしゃる通り、照明の照らし方や対象物により画像の明るさや色も大きく異なるため正直難しいところなのです。恐らく、風景画等と異なり、画像中の特徴点がつかみにくいからだと思います。
確かに画像の部位ごとに処理手法を変えて、やってみるのも手だとは思います。
偏光フィルタも検討してみたいと思います。
似た分野では、約20年前に浜松ホトニクスさんと色々な開発をしました。
(特に、基準点の設定方法と比較手法)
また最近では、精密プレス品の出荷判別検査で使用しましたが、カメラや照明が高性能になって
いて、しかもカメラに照明が内臓しているタイプもあり、ハード面の進歩を実感しました。
さて、機械屋なのでハード面で、SONYさん等のカメラを使用し、レンズは***で、照明は
***で、周囲部品は艶消しの黒色塗装/メッキで、では無理でしょうか?
無理なら、何処かと提携して進める事にした方がよいでしょうね。
御免なさいね。具体的なメーカー名や手法を記述しなくて。
それと、機械屋さんなので??ですが、今でも世界の映像王はSONYさんなんでしょうか?
後、データ処理過程は見る事ができませんでしたが、レントゲン写真みたいな画像でしたし、
影を気にしていたので、照明をカメラ内臓を含めて沢山設置しました。
使わなくなった照明もありますが。
ですから、処理前の元画像を、出来るだけ高コントラストにするのですは、正解なんでしょうね。
お礼
2011/07/28 18:59
ご回答誠に有難うございました。
撮影には弊社の医療用カメラを使用しています。30万画素の画像での対応を試みています。ハード面も大きく影響すると思います。
確かに、何処かと提携して進める必要も出てくるかもしれません。
補足
2011/08/02 10:21
返答が遅れ申し訳ありません。
映像に関しては、SONYさんはおっしゃる通り、映像王だと思います。
あとはキーエンスさんやオムロンさん、東芝さん、大学の研究室等もネットで調べると色々面白い文献があるみたいですね。
この分野は,特許や学術研究であればまだしも,ブラックボックス化させて手法を公開しない事例も多いのかな。
``検出''にだけ反応すると,データベースをもっておく,という手法も使えそうです。OpenCVを使用しているのであればおわかりでしょうけれども,顔検出はそれですよね。
お礼
2011/07/28 13:41
早速のご回答誠に有難うございます。
確かに調べてみますと、特許等ではあるみたいですが、公開されてない部分が多く、大変難しいです。
おっしゃる通り顔検出用データベースを持っていく手法も考えましたが、扱っている分野が少々マイナーなため、それも難しい状況です。
他にもガンマ補正などのフィルタをかけたりもしましたが、まだまだのようです。他のフィルタリング等も調べてみたいと思います。
お礼
2011/08/02 10:18
ご回答誠に有難うございました。
輪郭抽出においては、本に載っているような基礎事項はほぼ試してみましたが、やはり基本事項の組み合わせ(フィルタリングをかけてから閾値調整等)ではまだまだのようです。おっしゃる通りなかなか困難な状況です。
画像処理でコントラストを上げることも現在検討しております。これに関しては画素数に数学的、統計的関数を施して、画像上の色変化を調整することを考えています。
上司や先輩社員と打ち合わせを行いつつ、検討を重ねておりますが、それでもなかなか難しいのが現状です。