断面曲線を粗さ曲線に​するための、ガウスフ​ィッティングの方法が​分かりません。

材料断面の画像から、「grabit」を使って断面曲線を抽出しました。
ここから、粗さ曲線を作る為に、ガウスフィッティングを行う必要があるのですが、
方法が分かりません。どなたか教えていただけないでしょうか。
(図は抽出した曲線です。

7 Comments

Hiroyuki Hishida
Hiroyuki Hishida on 2 Sep 2020
Edited: Hiroyuki Hishida on 2 Sep 2020
こんにちは、
あまりこの辺りに明るくないのですが、例えば以下のサイトを見ると、今の波形から長波成分を遮断すれば良いようですね。
https://www.mitutoyo.co.jp/technology/standard/pdf/surface_parameters_2.pdf
また、基準長さなどを使うようですね。
https://www.jstage.jst.go.jp/article/jjspe/73/2/73_2_201/_pdf
上記の理解であってますでしょうか? また、断面曲線の数値データはお持ちと思ってよろしいでしょうか?
よろしくお願いします 菱田
rocket rok
rocket rok on 3 Sep 2020
Edited: rocket rok on 3 Sep 2020
Hiroyuki Hishida様
丁寧なご返答ありがとうございます。
ご理解頂いた内容で間違いありません。
数値データに関しましては、予め断面の写真(jpgデータ)を、「grabit」というツールを使い、x,yデータとして抽出し、プロットしたものを利用している為、持っております。
基準長さ(カットオフ値λc=800µm)での、ガウシアンフィルタを使用して、
断面曲線(上記のプロットしたデータ)から、うねりデータ(長波長成分)を抽出。
さらにそこから、うねりデータを減算させて、表面粗さデータ(短波長成分)を取得したいと考えております。
その為の、プログラムで躓いてしまい、困っている状態です。
お力添え頂けると幸いです。よろしくお願い致します。
Hiroyuki Hishida
Hiroyuki Hishida on 4 Sep 2020
Edited: Hiroyuki Hishida on 4 Sep 2020
ご回答いただき、ありがとうございます。
対応するJIS B0632:2017が手元になく、[1]だと定義式がはっきりしないのですが、これかな?的なものをひっぱってきました。従いまして、以下の処理であっているかどうかは、答えのわかっているデータで一度確認いただければと思います。
ガウシアンフィルタ(1次元)の定義式はこれになります(ベクトル、スカラぐちゃぐちゃですみません)[2]。
ただし、yは断面曲線の値で、y'はガウシアンフィルタ適用後の値です。このときσをきめる必要がありますが、それは[3]より以下とわかります。
ただし、はサンプリング間隔であり、サンプル長さL、サンプル数Nを使って、で定義されています。が800nmなのでサンプリング間隔は0.2umとしておきます[4]。また、フィルタサイズは50%減衰するところという意味あいでにするようですが、これはと一致します[3]。
上記を踏まえ、サンプルのダミーデータ作成、ガウシアンの設計、粗さの計算を行ったのが添付ファイルになります。いかがでしょうか?
今回参照したのはこちらです。
[1] https://kikakurui.com/b0/B0634-2017-01.html(JIS規格ですが、数式がよめず・・)
rocket rok
rocket rok on 7 Sep 2020
Hiroyuki Hishida様
ありがとうございます。
上手く短長波長の区分ができることが確認でき、理解不十分だった所を埋めることができました。
また、自分の測定データの取得方法が不十分だった様で、別の方法(二値化処理した画像から曲線を抽出する方法)を用いて、データを取得した後、また参考にさせて頂きたいと思います。
Hiroyuki Hishida
Hiroyuki Hishida on 7 Sep 2020
Kajiwara様、
前進したようで、何よりです。
菱田
Hiro Yoshino
Hiro Yoshino on 8 Sep 2020
MATLAB外の角度から、少し気になる部分がありましたので何点かアドバイス差し上げます:
  • 断面曲線:これは写真断面の曲線のことではないのでは?と思われます。専門用語で、いわゆるプライマリプロファイルと呼ばれるものではないかと。これが何なのかと言うと、生のプロファイルに対して接触式の粗さ測定機のスタイラスチップの半径値を補正するものです。ある種のローパスフィルタを掛けます。この場合カットオフ値 = 2.5 um を使うことが多いですが、規格が決まっているのでISO/JISを参照されると良いかと思われます
  • 粗さ曲線:これは上記のプライマリプロファイルにハイパスフィルタを掛けたものです。最新のISO/JISだとガウシアンフィルタ推奨だと思われますが、カットオフ値 λc を設定します。この値も規格で決まっているので専門的な会社などのホームページ等で調べられると良いと思われます
  • (ガウシアンフィルタを含め) デジタルフィルタを用いるため、エイリアシングの影響が存在する場合には、本来ならば存在しない成分の波長がプロファイルに表れてしまいます。そのため、ナイキスト周波数(サンプリングレートの2倍以上の周波数領域)を除去できるフィルタを適用する必要があります
  • ナイキスト周波数を考えた実運用上の捨てるべき波長は、5 or 7×サンプリング間隔 < λc です
  • 粗さのフィルター適用後 (ガウス関数のコンボリューション計算後)に、両端を数カットオフ分削り、評価するのがISO/JISに沿ったやり方です。両端のプロファイルが歪んでしまうので、正しく評価出来ないのが理由です。これを避けるために窓関数を最初にかけたりする人も居ます
  • ISO/JISの表に従った粗さの計算をしていないと、お仕事をする上では色々と都合が悪くなると思うので、まずは規格に合った測定・解析をされると良いと思います
日本企業でこのあたりの内容を載せているのは
東京精密、ミツトヨ
世界的には
Taylor Hobson, Carl Zeiss
rocket rok
rocket rok on 10 Sep 2020
Hiro様
ご助言、本当にありがとうございます。
プライマリプロファイルに関しては、見落としていました。
参考にさせていただきます。

Sign in to comment.

Answers (0)

Products

Release

R2019b

Asked:

on 31 Aug 2020

Commented:

on 10 Sep 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!