IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社クオルテックの特許一覧

特開2024-172174物体内部の構造解析装置および当該構造解析装置を用いた構造解析方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172174
(43)【公開日】2024-12-12
(54)【発明の名称】物体内部の構造解析装置および当該構造解析装置を用いた構造解析方法
(51)【国際特許分類】
   G01N 23/18 20180101AFI20241205BHJP
   G01N 23/04 20180101ALI20241205BHJP
   G01N 23/046 20180101ALI20241205BHJP
   G01N 29/06 20060101ALI20241205BHJP
   G01N 29/44 20060101ALI20241205BHJP
【FI】
G01N23/18
G01N23/04
G01N23/046
G01N29/06
G01N29/44
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023089725
(22)【出願日】2023-05-31
(71)【出願人】
【識別番号】598014825
【氏名又は名称】株式会社クオルテック
(72)【発明者】
【氏名】鬼塚 梨里
(72)【発明者】
【氏名】植木 竜佑
(72)【発明者】
【氏名】長谷川 将司
【テーマコード(参考)】
2G001
2G047
【Fターム(参考)】
2G001AA01
2G001BA11
2G001CA01
2G001DA09
2G001FA06
2G001FA29
2G001HA13
2G001HA14
2G001KA03
2G001KA04
2G001LA11
2G047AA05
2G047AC10
2G047BA03
2G047BC07
2G047FA01
2G047GG36
2G047GG37
2G047GH06
(57)【要約】
【課題】透過X線画像や超音波顕微鏡画像の2値化による画像処理手法では2値化閾値を適切に設定することが困難で、多種多様なクラックを自動で検出することができなかった。
【解決手段】
自動検出装置1は、装置全体を制御する制御部11、主記憶部12、通信部13、操作部14、表示パネル15、補助記憶部16を備える。超音波顕微鏡2、X線CT装置3の機器で撮影された画像は、撮影画像アップロードプログラム103により、補助記憶部16にアップロードされ、撮影画像(1)DBに保存される。クラック長データ及び深層学習を含めた機械学習のアプローチにより訓練した機械学習モデルを用いて、撮影画像の2値化を行い、所定間隔での画像上のクラック領域を可視化する。
【選択図】図1

【特許請求の範囲】
【請求項1】
物体内部の可視化及び測定方法であって、
前記物体において、透過X線装置で取得された透過X線画像と、X線CT装置で取得された断面画像と、超音波装置で取得された超音波画像のうち少なくとも一方の画像から、所定間隔における複数の画像データを構成する第1の動作と、
機械学習モデルを用いて前記画像データの種類を分類する第2の動作と、
機械学習モデルを用いて前記画像データから、クラック領域を検出する第3の動作と、
機械学習モデルを用いて前記画像データから、今後クラックが入り得る経路を予測する第4の動作を有することを特徴とする物体内部の可視化方法。
【請求項2】
物体内部を可視化処理するコンピュータプログラムであって、
前記物体において、透過X線装置で取得された透過X線画像と、X線CT装置で取得された断面画像と、超音波装置で取得された超音波画像のうち少なくとも一方の画像から、所定間隔における複数の画像データを構成する第1の処理と、
機械学習モデルを用いて前記画像データの種類を分類する第2の処理と、
機械学習モデルを用いて前記画像データから、クラック領域を検出する第3の処理と、
機械学習モデルを用いて前記画像データから、今後クラックが入り得る経路を予測する第4の処理から、クラックの2次元分布及び3次元分布データを取得することを特徴とするコンピュータプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、透過X線画像、X線CT断面画像、超音波顕微鏡画像等を用いて、電子部品、半導体素子、薄膜デバイス、厚膜デバイス、電子機器等の物体内部または接合部に発生した空隙(ボイド)、クラック、不接合部、結晶方向等を非破壊で可視化・解析する装置、可視化・解析する方法に関するものである。
また、電子機器等の物体内部または接合部に発生した空間、クラック等を測定することのできる可視化装置及び測定装置に関するものである。
また、当該装置の可視化及び測定方法に関するコンピュータプログラム、及び当該装置等のコンピュータプログラム等に関するものである。
【背景技術】
【0002】
電子部品の端子と電子部品を実装する基板の電極とは、はんだ付けされる。はんだ接合部等にはプリヒートやリフロー条件などによりクラック39等が発生する。また、電子部品や基板が熱ストレスによる膨張と収縮を繰り返し、それらの膨張率の違いにより接合部等にクラック39等が発生する。
電子回路の基板歩留まりの問題を改善するためには、接合部等のクラック39等の検出と品質検査(定量的な評価)が重要となっている。
従来から、はんだ等の接合部を非破壊で検査する方法として、透過X線画像、X線CT断面画像、超音波顕微鏡画像を目視で検査する方法が適用されていた。
【0003】
目視検査は、僅かな像の変化を捉えることができるが、検査員による良否判定のバラツキが大きく、時間の制限から検査箇所も限定されていた。目視検査では、クラック39等を正確に検出して測定することは難しく、そのプロセスには時間がかかっていた。
【0004】
また、クラックは、はんだ接合部等に3次元的に発生するため、一方向の投影面や反射面、数か所の断面観察だけでは、接合部全体のクラックを把握することは困難であった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-19714
【発明の概要】
【発明が解決しようとする課題】
【0006】
高品質で迅速な検査を実現するために、クラック39等の自動検出、可視化の試みがなされてきた。しかし、自動検出、可視化には、透過X線画像、X線CT断面画像、超音波顕微鏡画像の2値化による画像処理手法が一般的である。
【0007】
しかし、2値化の閾値を適切に設定しなければならず、ビア、メッキまたはビアからの反射、一貫性のない照明、ノイズ等の課題のため、陰影の異なる多種多様なクラック39等を一度に高精度に自動検出することができなかった。
【0008】
従来の画像処理の手法では、クラック39等を検出するために、輝度値や色情報などの画像特徴を人間が一つ一つ定義するルールベースの手法が必要であり、多種多様なクラック39等を検出することができなかった。
【0009】
はんだクラックとは、基板や電子部品が熱ストレスによる膨張・収縮の繰り返しによって、はんだ中に、き裂が発生する疲労破壊である。実製品におけるはんだクラックを早期に評価する方法として冷熱衝撃試験が用いられている。低温及び高温に環境温度を短時間で繰り返し変化させることにより、はんだ接合部へ歪みを与え、実使用環境に近い状態で負荷を与えることができる。
【0010】
クラックが発生した際の評価方法としては機械研磨による断面観察を行い、クラックの有無や長さを確認する方法の他に、シェア強度やプル強度といったはんだ部の接合強度の劣化度合いによって評価する方法もある。断面観察はある一断面でのクラック情報を得ることはできるが、はんだ接合部全体のクラックを把握することは難しい。
【0011】
接合強度については、はんだ接合部全体のクラックの状態が強度に反映されると予想されるが、クラックを直接観測する手法ではないため、実装時の部品ずれや浮き、はんだ自体の固溶・分散強化の緩和による強度低下の影響も懸念される。また、破壊を伴う試験であるため、同時に実施することはできず、別のサンプルを用意し、どちらの試験も実施することで得られた結果を総合的に判断することが多いのが実情である。
【課題を解決するための手段】
【0012】
本発明ははんだ等の接合部のクラック自動検出システムを構築し、ボイド率やクラック率測定サービスを提供する。
【0013】
特に、リードピンと端子電極との接合面に対して垂直方向の、X線CT装置等で断面画像を取得し、複数の断面画像からクラック39等の領域や分布状態を自動検出する。
【0014】
そのために、本発明では、物体内部、接合部における高品質で迅速な検査の必要性を考慮し、深層学習を含めた機械学習のアプローチをとる。人間には定義できない画像特徴をAI(Artificial Intelligence:人工知能)が学習し、多種多様なクラック39等を一度に高精度に検出することができる。
【0015】
AI学習の教師データとして、多種多様なクラックを含む画像を用意することにより、AIが様々なクラック特徴を把握し、検出できるようになる。機械的学習することにより、1つの画像よりもより正確にクラック判断ができるようになる。
照明やノイズ等の様々な外乱があったとしても、それを含めた教師データを作成することにより、AI学習を実施することにより、検出できるようになる。
【0016】
従来では、はんだ中にクラックがあるということを、様々な特徴を人間が視認等して判断している。たとえば、濃淡差、周囲とのコントラスト、ギザギザ度合、ギザギザの位置等である。
【0017】
本発明は、様々なパターンを網羅した教師データを用意し、学習させることにより、画像特徴を加味した判断基準、判断装置を作成することができる。たとえば、本発明はニューラルネットワークを利用する。
【0018】
本発明は、物体内部の可視化及び測定方法であって、前記物体において、透過X線装置で取得された透過X線画像と、X線CT装置で取得された断面画像と、超音波装置で取得された超音波画像のうち少なくとも一方の画像から、所定間隔における複数の画像データを構成する第1の動作と、機械学習モデルを用いて前記画像データの種類を分類する第2の動作と、機械学習モデルを用いて前記画像データから、クラック領域を検出する第3の動作と、機械学習モデルを用いて前記画像データから、今後クラックが入り得る経路を予測する第4の動作を有することを特徴とする。
【0019】
本発明は、後段のクラック自動検出性能を高めるために、分類を実施している。分類してから判定することにより、詳細判定を実施する。たとえば、クラックを部品別に分類し、次に、分類された各部品で判定等を行う。分類された各部品での判定箇所に差があるため、判定基準、判定箇所が異なり、判定精度が向上する。
【0020】
本発明は、透過X線装置で取得された透過X線画像と、X線CT装置で取得された断面画像と、超音波装置で取得された超音波画像のうち少なくとも一方の画像に、ノイズ加工処理、コントラスト処理、明るさ処理、平滑化処理、拡大処理、縮小処理、回転処理、平行移動処理、マスク処理のうち少なくとも、1つ以上の処理を実施し、前記の機械学習モデルを学習することを特徴とする。
【0021】
入力される画像によって、ノイズ加工処理、コントラスト処理、明るさ処理、平滑化処理、拡大処理、縮小処理、回転処理、平行移動処理、マスク処理等が異なる。
【0022】
ノイズ加工処理、コントラスト処理、明るさ処理、平滑化処理、拡大処理、縮小処理、回転処理、平行移動処理、マスク処理等は、各分類で実施することが好ましい。
【0023】
本発明は、物体内部を可視化処理し測定するコンピュータプログラムであって、物体において、透過X線装置で取得された透過X線画像と、X線CT装置で取得された断面画像と、超音波装置で取得された超音波画像のうち少なくとも一方の画像を、所定間隔における複数の画像データを構成する第1の処理と、機械学習モデルを用いて前記画像データの種類を分類する第2の処理と、機械学習モデルを用いて前記画像データから、クラック領域を検出する第3の処理と、機械学習モデルを用いて前記画像データから、今後クラックが入り得る経路を予測する第4の処理により物体内部を可視化し測定することを特徴とする。
【0024】
本明細書では、主としてX線CTを例示して説明する。取得された画像あるいは取得する画像等において、クラック等の発生状態は微細である。そのため、画像上でクラックが鮮明に写るように、分析・解析箇所は、光源に近付けて撮影することが好ましい。また、分析・解析箇所の撮影対象をなるべく細分化することが好ましい。
【0025】
X線等の光の照射方向を観察面に対して、斜め方向とすることにより、クラック、ボイド等の発生箇所が鮮明になる場合がある。観察物体は、光の方向に対して角度を変化できるように、物体あるいは光照射部をθ方向(回転させる)に変化できるように構成している。
【0026】
θ方向に対して、リアルタイムで観察箇所を可視化できるように構成している。θ方向の回転移動時の可視化画像は、画素数を少なくし、高速に可視化できるように構成している。θ方向を固定した観察時は、画素数を増加させる。
【0027】
本発明は、物体内部を可視化処理し測定するコンピュータプログラムであって、前記物体において、透過X線装置で取得された透過X線画像と、X線CT装置で取得された断面画像と、超音波装置で取得された超音波画像のうち少なくとも一方の画像から、所定間隔における複数の画像データを構成する第1の処理と、機械学習モデルを用いて、前記画像データの種類を分類する第2の処理と、機械学習モデルを用いて前記画像データから、クラック領域を検出する第3の処理と、機械学習モデルを用いて前記画像データから、今後クラックが入り得る経路を予測する第4の処理から、クラックの2次元分布及び3次元分布データを取得することを特徴とする。
【発明の効果】
【0028】
本発明は、リードピンと端子電極との接合面に対して垂直方向の、X線CT装置等で断面画像を取得し、複数の断面画像からクラック39等の領域や分布状態を自動検出する。
【0029】
本発明は、深層学習を含めた機械学習のアプローチをとることにより、物質内部、接合部等におけるクラック39等を高精度に自動検出することが可能となり、従来の検査時間あるいは検出時間等を大幅に短縮することができる。
本発明は、断面画像からクラック39等の領域を自動検出し、それらの結果を統合することで、クラックの2次元及び3次元分布を可視化することができる。
【0030】
本発明により、X線CT装置と深層学習を組み合わせる手法により非破壊でのはんだ接合部全体の三次元的なクラック構造を把握することが可能となる。また、冷熱衝撃試験時のチップ抵抗及びチップコンデンサのクラック進展の可視化をすることができる。
【図面の簡単な説明】
【0031】
図1】本発明の物体内部、接合部の可視化装置の説明図である。
図2】本発明の物体内部、接合部の可視化方法の説明図である。
図3】本発明の物体内部、接合部の可視化方法における撮影画像をパターン分類する方法の説明図である。
図4】本発明の物体内部、接合部の可視化方法における撮影画像から領域検出する方法の説明図である。
図5】本発明のはんだ接合部と接合部の断面観察方向、物体内部、接合部の可視化方法の説明図である。
図6】本発明のはんだ接合部と接合部の断面観察方向、物体内部、接合部の可視化方法の説明図である。
図7】本発明のはんだ接合部等の可視化観察画像の説明図である。
図8】本発明の物体内部、接合部の可視化方法の説明図である。
図9】本発明の物体内部、接合部の可視化方法の説明図である。
図10】本発明の物体内部、接合部に発生したクラックを機械学習する方法を説明する説明図である。
図11】本発明の物体内部、接合部に発生したクラックを機械学習する方法を説明する説明図である。
図12】本発明の物体内部、接合部に発生したクラックを機械学習する方法を説明する説明図である。
図13】本発明の物体内部、接合部に発生したクラックを機械学習する方法を説明する説明図である。
図14】本発明の物体内部、接合部に発生したクラックを機械学習する方法を説明する説明図である。
図15】本発明の物体内部、接合部に発生したクラックを機械学習する方法を説明する説明図である。
図16】本発明の物体内部、接合部に発生したクラック割合(クラック率)を定量的に測定する方法を説明する説明図である。
図17】本発明の物体内部、接合部に発生したクラック割合(クラック率)を定量的に測定する方法を説明する説明図である。
図18】本発明の物体内部、接合部の可視化方法における撮影画像から物体検出する方法の説明図である。
図19】本発明の物体内部、接合部の可視化方法及び測定方法の実施例を示した図である。
図20】本発明の物体内部、接合部の可視化方法及び測定方法の実施例を示した図である。
図21】本発明の物体内部、接合部の可視化方法及び測定方法の実施例を示した図である。
図22】本発明の物体内部、接合部の可視化方法及び測定方法の実施例を示した図である。
図23】本発明の物体内部、接合部の可視化方法及び測定方法の実施例を示した図である。
図24】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図25】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図26】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図27】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図28】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図29】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図30】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図31】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図32】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図33】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図34】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図35】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図36】構造解析装置および構造解析装置を用いた構造解析方法の説明図である。
図37】本発明の物体内部、接合部の可視化方法及び当該コンピュータプログラムの説明図である。
図38】本発明の物体内部、接合部の可視化方法及び当該コンピュータプログラムの説明図である。
図39】本発の物体内部、接合部の可視化方法及び当該コンピュータプログラムの説明図である。
図40】本発明の物体内部、接合部の可視化方法及び当該コンピュータプログラム説明図である。
【発明を実施するための形態】
【0032】
以下、本発明を当該実施の形態を示す図面に基づいて説明する。明細書で記載する実施形態では、理解を容易にするため、図5等に図示するように、電子部品54のリードピン57と端子電極58とのはんだ接合部を例示して説明するが、これに限定されるものではない。
本発明の技術的思想は電子部品、建築物、電気機器、人体内部等の多くの物体接合部、接触部、物体内部、物体構造に適用することができる。
クラックを例示するが、ボイド、材料の疎密度、異なる材料の混合状態、不接合部、結晶方向等の観察、把握、検出等にも適用することができる。
【0033】
本発明はX線CT(Computed Tomography)装置を例示して説明するが、これに限定するものではなく、2次元X線装置、X線透視観察装置、超音波顕微鏡装置等を使用しても良いことは言うまでもない。また、これらの装置を組み合わせて使用しても良い。
【0034】
発明を実施するための形態を説明するための各図面において、同一の機能を有する要素には同一の符号を付し、説明を省略する場合がある。また、本発明の実施例は、それぞれの実施例を組み合わせることができる。また、理解を容易にするため、図示を容易にするため等を目的として、拡大、縮小、省略する場合がある。
また、本明細書、図面に記載する実施例は、相互に組み合わせることができる。また、実施例の一部を使用し、他の実施例と組み合わせることができる。
【0035】
図1は、クラック自動検出(可視化及び測定)装置51、超音波顕微鏡52、X線CT(Computed Tomography)装置53、及び電子部品54とはんだ等の接合部の構成を示すブロック図である。
【0036】
なお、本明細書の実施例において、X線CT装置53でパターン40を取得するとして説明するが、X線透視観察装置、超音波顕微鏡52に置き換えても良い。また、X線CT装置53、X線透視観察装置、超音波顕微鏡52の複数を組み合わせて使用しても良い。
【0037】
図1等にも図示するように、超音波顕微鏡52とX線CT装置53のように、複数の非破壊観察装置を組み合わせても良いことは言うまでもない。たとえば、超音波顕微鏡52とX線CT装置53で撮影された画像あるいは取得された画像を、相互に、または組み合わせてAI処理等を実施する。
【0038】
なお、物体内部は、超音波顕微鏡52とX線CT装置53で撮影された画像あるいは取得された画像を使用するが、物体外部は、外部から、観察箇所を光学顕微鏡等で撮影した光学画像を取得し、光学画像と、超音波顕微鏡52とX線CT装置53で取得された画像を組み合わせる。
【0039】
また、はんだなどの観察部の表面状態は、3D測定マクロスコープで観察、評価しても良い。3D測定マクロスコープで取得した画像とX線CT装置53で取得した画像を用いて、AI処理を実施する。
【0040】
クラック等は、物体の外部に可視化しているものがあり、この可視化された光学画像と、物体内部の画像とを組み合わせることにより、より精度良く、クラック等の発生状態を把握、観察、分析することができる。
【0041】
本発明は、X線CT装置に限定されるものでない。ガンマ線、α(アルファ)線、β(ベータ)線、γ(ガンマ)線、マイクロ波、赤外線、可視光線、紫外線等の放射線を用いる放射線装置を使用すること、制御することも本発明の技術的範疇である。
【0042】
X線に限定されるものではなく、ガンマ線、α(アルファ)線、β(ベータ)線、γ(ガンマ)線、マイクロ波、赤外線、可視光線、紫外線を照射すること、あるいはこれらの放射線を受光することにより得られた画像にも、本願発明の装置、方法が適用できることは言うまでもない。
【0043】
超音波顕微鏡においても、取得する画像は、超音波の周波数、物質の温度により異なる。音波の伝搬速度は、伝わる物質の「種類」、「状態」、「温度」、「湿度」、「圧力」に影響されるためである。
本発明は、一実施態様として、以下の方法等でサンプル画像を取得する。
【0044】
サンプル温度を所定温度にして、サンプルのX線画像を撮影する。所定温度は複数の温度に設定して、複数回撮影する。得られた複数枚のX線画像を用いてAI学習させる。各種条件の様々な画像をAI学習に用いることで、たとえば、各種条件に依存しないクラックの特徴をAIは見出すことが可能となる。
【0045】
一実施態様として、サンプルにヒートショック試験を行い、クラックを発生させたサンプルを作製する。サンプルの温度条件、はんだ付けしている端子の位置条件、はんだの厚み、はんだ種類を変化させる。X線画像を撮影し、その後、温度を高くしてヒートショックした後(よりクラックが進展した後)のX線画像を撮影し、温度印加前後のX線画像を合わせてAI学習させる。AI学習には、様々な条件下のクラック進展具合(クラック率0%~100%)の画像データを用意することが望ましい。
【0046】
一実施態様として、クラックを発生しやすいサンプルを作製し、このサンプルに対して超音波画像、X線画像等を撮影し、クラック位置、範囲をAI検出する。その後、断面研磨観察等してクラック位置、範囲等を確定し、AIに学習を再履修させることが有効である。また、クラックが連続していない場合は、人手を介して、それらを連続しているようにペンツール等で指定し、それらが連続していることを学習させることも有効である。
これらの複数の超音波画像、X線画像を用いてAIに学習させ、データベースを構築する。
以上の事項は、本発明の各実施例において実施される。
【0047】
X線CT、超音波顕微鏡等において、温度、超音波の周波数等を変化させて画像を取得し、各画像に対して、AI(Artificial Intelligence:人工知能)処理等の本発明を実施する。
【0048】
また、超音波顕微鏡において、反射波を利用するものを反射型、透過波を利用するものは透過型と呼ぶ。反射波による画像と、透過波による画像(画像データ)を取得し、AI処理等の本発明を実施することが好ましい。
【0049】
超音波の周波数が高いほど(したがって、波長が短いほど)分解能は高くなる。しかし、周波数が高くなると物体内部における減衰が大きくなり、超音波が物体内部深くまで侵入しない。
【0050】
したがって、目的に応じて適当な周波数を選択し、画像(画像データ)を取得する。たとえば、超音波の周波数を15MHz、25MHz、50MHz、100MHz、230MHz、1GHzと変化させて、画像(画像データ)を取得する。あるいは、複数の周波数で画像(画像データ)を取得する。
超音波周波数の各種条件下で取得した様々な画像をAI学習に用いることで、各種条件に依らないクラック特徴をAIは見出すことが可能となる。
異なる周波数で超音波画像を撮影し、複数の周波数の撮影画像の差異をAI学習させて、AIのクラック検出性能を向上させる。
【0051】
また、各周波数間の処理画像(処理画像データ)を考慮することにより、クラック検出が容易となる。たとえば、クラックが重なったパターンを分離等して取得することができる。よって、複数の超音波の周波数で画像を取得することが好ましい。
【0052】
また、任意の周波数fで取得される超音波画像に対して、周波数f+δと周波数f―δで取得される超音波画像の計3枚を入力とすることも有効である。つまり、任意の周波数fの超音波画像の前後の周波数での画像を撮影する。これらの複数の超音波画像を用いてAI学習させて、データベースを構築する。AIに入力する画像数(情報量)を増やすことで、ノイズによる誤検出や誤認識を軽減する効果がある。
【0053】
超音波の照射方向、X線等の光の照射方向を観察面に対して、斜め方向とすることにより、クラック、ボイド等の発生箇所が鮮明になる場合がある。本発明では、傾斜型CTスキャン方式を採用することもできる。
【0054】
傾斜型CTスキャン方式は、観察対象を水平に回転しながらX線を斜め方向から照射するため、板状の観察対象に対しても鮮明で高倍率の透過像を得ることができる。AI学習及びAIのクラック検出性能の観点で、より鮮明な画像を取得することが好ましい。
【0055】
観察物体は、光の方向に対して角度を変化できるように、物体をθテーブルに固定し、θテーブルを制御して、X線等の放射線あるいは、超音波の照射方向を変化させる。または、X線等の放射線の照射部、超音波の発生部をθテーブル等に設置して回転させる。
【0056】
θ方向に対して、リアルタイムで観察箇所の画像データを取得できるように構成している。θ方向の回転移動時の画像(画像データ)は、画素データ数を少なくし、高速に可視化できるように構成している。θ方向を固定した観察時は、画像(画像データ)の画素データ数を増加させる。
【0057】
超音波の周波数をリアルタイムで変化させ、各周波数に対する観察部の画像データを取得する。超音波の周波数を変化させている時の画像データは、画素データ数を少なくし、高速にデータを取得する。超音波の周波数を固定した観察時は、画像データ数を増加させる。
これらの超音波画像、X線画像を用いて学習させ、データベースを構築する。以上の事項は、本発明の各実施例において実施される。
【0058】
X線顕微鏡装置(X線CT装置)53は、対象物の内部を非破壊で観察する顕微鏡である。試料を透過したX線を光等に変換し光学レンズ等により拡大あるいは縮小する。
【0059】
X線は物質を透過する性質があり、試料を透過する際に一部は吸収される。吸収の割合は、材料の密度が高く(原子番号が大きい)、厚さが厚いと大きくなるため、透過するX線強度が低くなる。
対象物内に、クラック39等が発生していると、クラック39等部のX線透過率が大きくなるため、パターン40にクラック39等が表示される。
【0060】
X線CT装置53は、観察対象のサンプルに対して360°(DEG.)のX線透過情報に基づいて、コンピュータで計算処理を行い、試料の3次元データを構築する。回転ピッチを狭くし、より多くの情報を得ることで、精度の高い3次元データを得ることができる。超音波顕微鏡においても、同様であることは言うまでもない。
【0061】
図5に図示するように、リードピン57の長辺方向に平行にして間隔tでデータ処理等を実施していることを例示して説明するが、短辺方向に平行して間隔sでデータ処理等を行ってもよく、また、t間隔とs間隔の両方でデータ処理等を行っても良い。また、斜め方向での断面等でデータ処理を行っても良い。垂直方向での断面等でデータ処理を行っても良い。
【0062】
X線画像は、基本的には2次元の画像である。クラック39等は、多数発生し、発生したクラック39等は3次元的に分布する。したがって、取得されたX線画像等には、クラック39等が重なったパターン40となる場合がある。
【0063】
超音波顕微鏡52は、対象物の内部の剥離・クラック・異物などの欠陥を非破壊で観察する顕微鏡である。超音波は、異なる物質へ伝播した際に、一部が反射し、一部が透過する。
【0064】
観察対象に、たとえば、剥離箇所(空隙)があると、強い反射波が検出される。観察対象に対して平面スキャンし、この反射波が検出される位置をマークしておくことで、剥離箇所(空隙)の2次元的な分布を取得することができる。
【0065】
マークした位置を記憶し、マークした位置の画像を基準として、その前後の画像を取得し、AI処理、クラック等の特徴検出処理を実施する。必要に応じて、マーク位置からの距離を変化させて、画像(画像データ)を取得することが好ましい。
【0066】
また、超音波画像とX線CT画像とを組み合わせて、AI処理、クラック等の特徴検出処理を実施する。超音波画像とX線CT画像等、同じ対象を2つ以上の複数の情報(マルチモーダル)を用いることにより、学習効率及び検出性能が高まる。また、温度、超音波の周波数を変化させ、組み合わせて、AI処理、クラック等の特徴検出処理を実施する。画像化した超音波顕微鏡画像も、X線画像と同様に、クラック39等が重なったパターン40のような画像になる。
【0067】
本発明は、超音波顕微鏡52とX線CT装置53等の複数の非破壊観察装置を組み合わせて使用しても良いことは言うまでもない。たとえば、ガンマ線を使用する放射線透過装置、デジタルラジオグラフィ等が例示される。
【0068】
本発明のクラック自動検出(可視化及び測定)装置51は、クラックの位置、発生状態を自動的あるいは所定の操作により観察、検査、判断、判定等を実施し、クラックを自動検出、可視化、測定等をする機能を有する。
以降、クラック自動検出(可視化及び測定)装置は、自動検出装置あるいは可視化・測定装置と呼ぶことがある。
【0069】
本発明は、X線CT装置での撮影方法で画像を取得する。教師データは、自動処理する時とは別に作成して学習に用いる。また、1枚画像あるいは複数の画像からクラック率を自動測定する。また、全スライス画像あるいは複数スライス画像に処理を適用し、クラックの3次元分布を可視化する。
【0070】
本発明のX線CT装置53は、対象物内をX線が透過する際の「透過しやすさ」、「吸収されやすさ」の違いを利用して、再構成処理を行うことにより、物体の内部構造を得ることができる。
【0071】
「透過しやすさ」、「吸収されやすさ」を判別あるいは判断して、t間隔とs間隔を変更あるいは設定することが好ましい。また、θを変化あるいは変更あるいは設定することが好ましい。
【0072】
t間隔とs間隔は、X線CTから得られるスライス画像ピッチ、解像度(空間分解能)に相当する。得られる画像の解像度を上げるためには、X線CT撮影時の焦点距離、測定視野、対象物との距離等が影響する。
【0073】
本発明の超音波顕微鏡52は、対象物内を超音波が伝播する際の「透過しやすさ」、「反射しやすさ」の違いを利用して、再構成処理を行うことにより、物体の内部構造を得ることができる。
自動検出装置51は、装置全体を制御する制御部11、主記憶部12、通信部13、操作部14、表示パネル15、補助記憶部16を備える。
【0074】
自動検出装置51は、たとえばデスクトップ型コンピュータ、ノート型パーソナルコンピュータ、タブレット、スマートフォン、インターネットなどのコンピュータネットワークを経由して、コンピュータ資源をサービスの形で提供するクラウド環境にあるコンピュータ等で構成することができる。
【0075】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)等で構成することができる。制御部11はGPU(Graphics Processing Unit)を含んで構成しても良い。
【0076】
主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。
通信部13は、ネットワーク17を介して、自動検出装置51との間で通信を行う機能を有し、所要の情報の送受信を行うことができる。
操作部14は、たとえばハードウェアキーボード、マウス、タッチパネル等で構成される。
【0077】
表示パネル15は、液晶パネル又は有機EL(Electro Luminescence)表示パネル等で構成することができる。制御部11は、表示パネル15に所要の情報を表示するための制御を行う。
【0078】
補助記憶部16は、大容量メモリ、ハードディスク等であり、制御部11が処理を実行するために必要なプログラム、並びにユーザー認証プログラム101、案件管理プログラム102、撮影画像アップロードプログラム103、機械学習プログラム110、自動検出プログラム111、解析結果編集閲覧プログラム112、解析レポート自動作成プログラム113、解析レポート通知プログラム114、解析レポート編集閲覧プログラム115を記憶している。
【0079】
補助記憶部16に記憶される、ユーザー認証プログラム101、案件管理プログラム102、撮影画像アップロードプログラム103、機械学習プログラム110、自動検出プログラム111、解析結果編集閲覧プログラム112、解析レポート自動作成プログラム113、解析レポート通知プログラム114、解析レポート編集閲覧プログラム115は、各プログラムを読み取り可能に記録した記録媒体18により提供されても良い。
【0080】
記録媒体18は、たとえば、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)等の可搬型のメモリである。
【0081】
記録媒体18に記録される各プログラムは通信部13を介した通信により提供される。また、図に示していない読取装置を用いて記録媒体18から読み取られ、補助記憶部16にインストールされても良い。
次に、超音波顕微鏡52やX線CT装置53の機器で撮影あるいは取得された画像が、補助記憶部16にどのように保存されるかを説明する。
クラック検出結果を保存するデータフォーマットには、画像データフォーマット(JPEG、PNG、GIF、TIFF等)が例示される。
【0082】
測定したクラック長さ、位置、クラック幅等の情報を格納するフォーマットには、データ記述方式の一つであるJSON形式や、画像の1ピクセル毎にラベル付け(0、1、2、・・・・)されたラベル画像PNG形式として情報を保持する。
【0083】
超音波顕微鏡52やX線CT装置53の機器がインターネットに接続されている場合には、超音波顕微鏡52やX線CT装置53の設定情報に基づき、ユーザー認証プログラム101により、ユーザー認証が行われ、案件管理プログラム102により、案件登録が行われる。
ユーザー認証には、クラウトサービスを用いている。素早く簡単にユーザーのサインアップおよびサインインおよびアクセスコントロールを実現している。
【0084】
セキュリティ対策として、多要素認証と、保存データおよび転送データの暗号化をサポートしている。PCI DSS、SOC、ISO/IEC 27001、ISO/IEC 27017、ISO/IEC 27018、ISO 9001に適合している。
【0085】
超音波顕微鏡52やX線CT装置53の機器で撮影された画像は、撮影画像アップロードプログラム103により、補助記憶部16にアップロードされ、撮影画像(1)DB(データベース)に保存される。
【0086】
一方で、超音波顕微鏡52やX線CT装置53の機器がインターネットに接続されていない場合には、機器から撮影された画像を取り出し、インターネットに接続されているコンピュータ等にコピーする。
【0087】
超音波顕微鏡のCスキャンデータおよびX線CT装置のスライスデータは、画像データとして保存し、また、使用される。画像フォーマットは、JPG、PNG、GIF、TIFF、WebP、SVG等が例示される。
【0088】
コンピュータにおいて、ユーザー認証プログラム101により、ログイン操作を行い、案件管理プログラム102により、案件登録を行う。次に、撮影画像アップロードプログラム103により、画像を補助記憶部16にアップロードすると、撮影画像(1)DB(データベース)104に保存することができる。
【0089】
補助記憶部16には、アップロードされた画像データは撮影画像(1)DB104に、クラックが自動検出された結果は解析結果(1)DB105に、それぞれ部材毎、ユーザー、グループや案件毎に保存される。
【0090】
自動検出結果から自動測定されるボイド率やクラック率を記した解析レポートは解析レポート(1)DB106に、それぞれ部材毎、ユーザー、グループや案件毎に保存される。
自動測定されるボイド率やクラック率を記した解析レポートの記憶フォーマットは、Excel, CSV, PDF形式で出力している。
【0091】
撮影画像(1)DB104及び解析結果(1)DB105を用いて作成されるデータセットは機械学習用データ(1)DB107に、それぞれ部材毎、ユーザー、グループや案件毎に保存される。
【0092】
各データにアクセスできるユーザーは、ユーザー認証プログラム101により認証を受けたユーザーのみである。認証方法は、アカウント+パスワードで実施する。
【0093】
補助記憶部16には、自動検出プログラム111を記憶している。この自動検出プログラム111は、機械学習用モデル(パターン分類)DB108及び機械学習用モデル(領域検出)DB109及び機械学習用モデル(物体検出)DB116を用いる。また、撮影画像(1)DB104に保存された画像に対して、クラックの自動検出及びクラック率の自動測定を実行する。
【0094】
また、撮影画像(1)DB104に保存された画像は、一定量毎に一括して処理することができる。この自動検出プログラム111の詳細については、後述する。
【0095】
自動検出プログラム111により自動検出及び自動測定された結果は、解析結果(1)DB105に保存される。保存された解析結果データは、解析結果編集閲覧プログラム112によって読み出され、ユーザーはその解析結果を編集及び閲覧することができる。
この編集作業では、ユーザー認証プログラム101により許可されたユーザーが共同で編集することができる。
【0096】
解析レポート自動作成プログラム113は、撮影画像(1)DB104に保存された画像と、解析結果(1)DB105にある解析結果を読み出し、ユーザーの指定したフォーマットに基づき、ボイド率やクラック率等の数値データや不具合原因等のテキストデータを自動生成する。
【0097】
また、解析レポートとしてまとめ、解析レポート(1)DB106に保存する。本願のソフトウエアは、ボイド率、クラック率を自動測定し、レポートを自動生成する。
【0098】
新規作成もしくは更新された解析レポートがある場合には、解析レポート通知プログラム114により、その内容がメールやメッセージやチャットサービス等を通じてユーザーに通知される。
【0099】
ユーザーは、解析レポート編集閲覧プログラム115を読み出し、その解析レポートを編集及び閲覧することができる。この編集作業では、ユーザー認証プログラムにより許可されたユーザーが共同で編集することができる。
【0100】
補助記憶部16には、機械学習プログラム110を記憶している。機械学習プログラム110は、撮影画像(1)DB104及び解析結果(1)DB105を用いて、機械学習用データ(1)DBを作成する。
【0101】
作成されたデータセットを用いて機械学習を行い、機械学習用モデル(パターン分類)DB108及び機械学習用モデル(領域検出)DB109及び機械学習用モデル(物体検出)DB116を作成する。
【0102】
機械学習に用いるデータセットについては、ユーザーやグループや案件毎に保存されている撮影画像DB及び解析結果DBを個別に用いる場合もあれば、それらを共有して用いる場合もある。
【0103】
ワークスペースを共有することで、たとえば、ユーザーAが測定結果を編集し、ユーザーBがそれを確認することができる。また、仕事の分業が可能になる。また、複数拠点で一つの案件に取り組むことができるようになる。
【0104】
作成された機械学習用モデル(パターン分類)DB108及び機械学習用モデル(領域検出)DB109及び機械学習用モデル(物体検出)DB116は、前述の自動検出プログラム111で用いられる。
【0105】
機械学習プログラム110は、自動検出プログラム111が実行されるタイミングとは別のタイミング(たとえば、ユーザーが本システムを使用していない時間帯等)で実行される。
各DBは、自動検出時に用いるAIモデルを更新するタイミングと、DBを使用するタイミングとは排他的処理が実施される。
【0106】
図2は、自動検出プログラム111の詳細について図示したものである。まず、超音波顕微鏡52やX線CT装置53の機器から新規にアップロードされた撮影画像群21は、パターン分類予測プログラム201に読み込まれる。
【0107】
パターン分類予測プログラム201は、画像のパターンを分類するものである。分類するパターンには、チップコンデンサ、抵抗、コイル等、実装されている電子部品が異なる場合が例示される。
リード型とリードレス型のようにICパッケージのピン形状が異なる場合が例示され、リードピン形状、接合する端子電極形状が異なる場合が例示される。
また、表面実装やスルーホール等、基板の種類が異なる場合が例示され、銅、真鍮、鉄等、電子部品の材質が異なる場合が例示される。
また、光学顕微鏡や電子顕微鏡等、撮影方法が異なる場合等が例示される。後段のクラック自動検出精度を高めるために、各部品毎に分類する。
撮影画像群21が、パターン分類予測プログラム201により、たとえば、クラック画像はパターンA、パターンB、パターンCにようにそれぞれ分類される。
【0108】
クラック画像はパターンA、パターンB、パターンCで異なる処理方法が実施される。たとえば、ICパッケージのピン形状、リード部の実装パターンで異なる処理が実施される。
【0109】
パターンAの画像群は、パターンA用領域検出予測プログラム202に読み込まれる。パターンBの画像群は、パターンB用領域検出予測プログラム203に読み込まれる。
【0110】
パターンCの画像群は、パターンC用領域検出予測プログラム204に読み込まれた後に、それぞれのプログラムがクラック39等領域を自動で検出する。それらの解析結果画像は、解析結果(マスク画像)群22として保存される。
【0111】
本発明は、それぞれのパターンに対して最適な領域検出方法があることに着目して、各パターンの領域検出プログラムを用意していることである。各パターンに用意しない時に比べて、領域検出の精度を向上させることができるからである。そのため、機械学習用モデル(領域検出)は、それぞれの各パターンに用意しなければならない。
図3は、前述のパターン分類における訓練プログラムと予測プログラムの処理の流れを図示したものである。
【0112】
パターン分類における訓練プログラムでは、機械学習用モデル(パターン分類)DB108を作成することが目的となる。たとえば、撮影された画像群にパターンAとパターンBの2種類が存在した場合、撮影画像(A)DB301と、それぞれの撮影画像がパターンAかパターンBかを参照できるパターン(A)DB302を用いて、与えられた撮影画像がパターンAかパターンBかを分類することのできる機械学習モデルを作成する。
【0113】
入力された画像に対して、リード部の実装パターンの画像なのか(パターンA)、BGA実装パターンの画像なのか(パターンB)を分類した後に、それぞれのパターンに適した、後段の機械学習用モデル(領域検出)を用いて領域検出を実施した方が、その検出性能が向上する。
【0114】
図21に、クラックの場合、各部品や実装方法により、クラックの入り易い箇所を黒丸で図示する。はんだクラックは、基板・電子部品が熱ストレスによる膨張と収縮を繰り返し、その膨張率の違いによって、はんだに発生する亀裂である。
【0115】
図21(a)、図21(b)に図示するように、端部に最大ひずみが発生し、黒丸印の箇所にクラックが発生し易い。黒丸部が図17で説明する始点71あるいは終点71となる。図21(a)は、リードピンの先端の上側であり、リードピンとはんだ部との接点部であり、また、はんだ38が空気(外気)と面する位置である。また、リードピンの裏面の下側であり、リードピンとはんだ部との接点部である。
【0116】
特に、B点のように、リードピン57の先端部の角部であり、はんだ38と接触あるいは界面を有している位置である。A点のように、リードピン57とはんだが接触あるいは界面を有する位置である。
【0117】
図21(b)は、黒丸印の箇所にクラックが発生し易い。黒丸印が図17で示す始点71あるいは終点72となる。ICの電極端子のBGA(はんだ)部の端部、基板の電極端子のBGA(はんだ)部の端部である。
【0118】
始点71、終点72が、A点、B点、C点、D点等が該当する。A点、B点は、端子電極58aの端部、特に角部であり、基板56と面する位置ではんだ38と接触あるいは界面を有する位置である。また、はんだ38が空気(外気)と面する位置である。
【0119】
C点、D点は、端子電極58bの端部、特に角部であり、端子電極58bとはんだ38が面する位置であり、はんだ38と接触あるいは界面を有する位置である。また、はんだ38が空気(外気)と面する位置である。
【0120】
図21(a)に図示するように、はんだ38の中央部等において、リードピン57とはんだ38が接触するE点であっても、クラック等が発生する場合がある。これらのE点、F点を始点あるいは終点としても良い。
始点あるいは終点としてのE点、F点も、A点~D点と同様に、人手を介して手動で、あるいはソフトウエアで検出あるいは指定する。
【0121】
図21(b)に図示するように、はんだ38の中央部等において、端子電極58とはんだ38が接触するF点であっても、クラック等が発生する場合がある。これらのF点を始点あるいは終点としても良い。
【0122】
各部品や実装方法により、クラックの入り易い箇所(始点71・終点72)が変わる。たとえば、図21のE点、F点の場合がある。構造上の観点から、接合境界は、クラックの入り易い箇所は予測される。
【0123】
また、クラックの進行具合、クラックの入り方、実装状態により、クラック始点・終点は変化する。図21の黒丸印を記載した箇所を、AI検出、AI学習処理の初期あるいは基本データをして用いる。始点あるいは終点としてのE点、F点は、A点~D点と同様に、人手を介して手動で、あるいはソフトウエアで検出あるいは指定する。
【0124】
図21(a)のリードピンを端子電極58に接続する構成(実装)において、クラックの始点、終点は、リードピン57とはんだ38が面する界面であり、特に最初に接する箇所あるいは近傍(A)であることが多い。特に、はんだ38が空気と接する箇所である。また、リードピン57の端部(リードピン先端、リードピン両幅端)と接する箇所あるいは近傍であり、はんだが空気と接する箇所(B)であることが多い。
【0125】
図21(b)のBGA実装構成では、クラックの始点71、終点72は、はんだ38と端子電極58が面する界面であり、特に最初に端子電極58と接する箇所あるいは近傍(A、B、C、D)であることが多い。特に、はんだ38と空気と接する箇所である。端子電極58の端部と接する箇所あるいは近傍であり、はんだが空気と接する箇所であることが多い。
各部品や実装方法別にパターン分類した後、所定の位置あるいは箇所を始点71、あるいは終点72として指示して処理を実施する。
以上の事項は、図17図18等の実施例に適用される。また、本明細書、本図面に記載した実施例に適用できることは言うまでもない。
【0126】
入力された画像に対して、各部品や実装方法別にパターン分類した後に、クラックの入り易い箇所や始点71・終点72を指定し、あるいは設定することにより、また、それぞれのパターンに適した、後段の機械学習用モデル(領域検出)を用いて領域検出を実施した方が、その検出性能が向上する。
【0127】
データ水増し前処理プログラム303は、撮影画像(A)DB301とパターン(A)DB302を読み込み、機械学習をするためのデータセットを作成する。作成されたデータセットは、機械学習用データ(A)DB304に保存される。
【0128】
次に、機械学習(訓練)プログラム305は、機械学習用データ(A)DB304を読み込み、訓練(たとえば、ニューラルネットワークであれば、そのネットワークの重みやバイアス等を調整すること)を行い、訓練された機械学習モデルを、機械学習用モデル(パターン分類)DB108に保存する。
訓練を行う際には、機械学習用モデル(パターン分類)DB108にある既存の機械学習モデルを利用して、訓練を行う場合もある。
【0129】
訓練を行う際には、ある特定のユーザーやグループや案件が持つ機械学習用データや、アップロード日時が新しい機械学習用データに対して、特定の重みを設定して、データの重要度に差異を付けることで、機械学習モデルを訓練しても良い。
【0130】
たとえば、ユーザーAの会社ではBGAタイプのデータを取り扱いクラック率測定する。ユーザーBの会社ではリード部品を取り扱いクラック率測定する。この場合、ユーザーAが利用する時には、BGAタイプをより多く学習したAIを利用した方が、検出精度が良くなる。このように、利用するユーザーによって、教師データに使用する画像種類の割合(重み)を変化させることが好ましい。
【0131】
以上の事項は、本発明の図17図18図19図20等に適用される。また、本発明の他の実施例に適用、あるいは組合わすことができることは言うまでもない。
【0132】
新しく訓練された機械学習モデルの性能評価において、既存の機械学習モデルよりも高い精度の性能であると判断された場合、つまり、機械学習用データ(A)DB304の評価用データセットに対して、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しくパターン分類できた場合、機械学習用モデル(パターン分類)DB108にある既存の機械学習モデルと置き換えても良い。
【0133】
二値分類をする場合と多値分類する場合を比較すると明らかであるように、分類するパターン数が少ない方が、その難易度は下がる(着目する特徴量が減る)ので、分類性能は高くなる。
【0134】
ある特定のテスト用のデータセットに対して、機械学習モデル1と、機械学習モデル2の精度検証をした時、より精度良く検出できた方を採用する。なお、テスト用のデータセットに対する正解率はスコア化される。あるいは定量化されて記録される。
【0135】
つまり、正解率(機械学習の評価指標である「Accuracy」、本当は陽性であるデータに対して正しく陽性と予測し、本当は陰性であるデータに対して正しく陰性と予測した合計の割合)を、機械学習モデル1と機械学習モデル2で比較し、その正解率が高い方を採用する。
【0136】
新しく訓練された機械学習モデルの性能評価において、既存の機械学習モデルよりも低い精度の性能であると判断された場合、つまり、機械学習用データ(A)DB304の評価用データセットに対して、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しくパターン分類できなかった場合、訓練された機械学習モデルを破棄するように動作させても良い。
【0137】
ある特定のテスト用のデータセットに対して、機械学習モデル1と、機械学習モデル2の精度検証をした時、より精度が悪かった方を不採用とする。なお、テスト用のデータセットに対する正解率はスコア化される。あるいは定量化されて記録される。
【0138】
つまり、正解率(機械学習の評価指標である「Accuracy」、本当は陽性であるデータに対して正しく陽性と予測し、本当は陰性であるデータに対して正しく陰性と予測した合計の割合)を、機械学習モデル1と機械学習モデル2で比較し、その正解率が低い方を不採用する。
【0139】
以上のように、本発明の特徴は、パターン分類における訓練プログラムにより、新しく訓練された機械学習モデルの性能評価が定期的に実施され、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しくパターン分類できた場合には、機械学習用モデル(パターン分類)DB108にある既存の機械学習モデルを、新しく訓練された機械学習モデルに置き換えることである。
【0140】
ある一時点T0で収集した画像データ群で学習した機械学習モデルに対して、別時点T1で収集した画像データ群で学習した機械学習モデルを、「新しく訓練された機械学習モデル」とする。訓練方法については、T0とT1での方法は同一あるいは類似の処理である。
定期的は、一つの案件処理を終了した後に実施する、利用時間をモニタリングして、利用していない時間を予測して、その時間帯に実施する等が例示される。
時間が経つに伴って、処理量が増加するに伴って、あるいは処理が進展するに伴って、データは増えていくため、定期的にAIモデルを更新する。
【0141】
図3において、パターン分類における予測プログラムでは、撮影画像群306を前処理プログラム307が読み出し、画像の前処理を実行する。前処理された画像は、機械学習(予測)プログラム308に読み出され、訓練プログラムにより訓練された機械学習モデルを、機械学習用モデル(パターン分類)DB108から読み出し、パターン分類が実行される。撮影画像群に対して分類されたパターンは、パターン分類結果群309に保存される。
図4は、前述の領域検出における訓練プログラムと予測プログラムの処理の流れを図示したものである。
【0142】
領域検出における訓練プログラムでは、機械学習用モデル(領域検出)DB109を作成することが目的となる。撮影画像(B)DB401とマスク画像(B)DB402を用いて、撮影画像のどの領域がボイドやクラック39に相当するかをピクセル単位で検出することのできる機械学習モデルを作成する。
【0143】
データ水増し前処理プログラム403は、撮影画像(B)DB401とマスク画像(B)DB402を読み込み、機械学習をするためのデータセットを作成する。
【0144】
作成されたデータセットは、機械学習用データ(B)DB404に保存される。その後、機械学習(訓練)プログラム405は、機械学習用データ(B)DB404を読み込み、訓練(たとえば、ニューラルネットワークであれば、そのネットワークの重みやバイアス等を調整すること)を行い、訓練された機械学習モデルを、機械学習用モデル(領域検出)DB109に保存する。
訓練を行う際には、機械学習用モデル(領域検出)DB109にある既存の機械学習モデルを利用して、訓練を行なっても良い。
【0145】
訓練を行う際には、ある特定のユーザーやグループや案件が持つ機械学習用データや、アップロード日時が新しい機械学習用データに対して特定の重みを設定して、データの重要度に差異を付けることで、機械学習モデルを訓練する。
【0146】
新しく訓練された機械学習モデルの性能評価において、既存の機械学習モデルよりも高い精度の性能であると判断された場合、つまり、機械学習用データ(B)DB404の評価用データセットに対して、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しく領域検出できた場合、機械学習用モデル(領域検出)DB109にある既存の機械学習モデルと置き換えても良い。
【0147】
正しく領域検出できたかどうかは、人手で作成した正解データ(クラック領域を人手でアノテーションしたデータ)に対して、画像上1ピクセルずつ参照し、そのラベル付けが正しいかどうかで判断する。
【0148】
新しく訓練された機械学習モデルの性能評価において、既存の機械学習モデルよりも低い精度の性能であると判断された場合、つまり、機械学習用データ(B)DB404の評価用データセットに対して、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しく領域検出できなかった場合、訓練された機械学習モデルを破棄しても良い。
以上のように、本発明の特徴は、領域検出における訓練プログラムによる、新しく訓練された機械学習モデルの性能評価が定期的に実施される。
【0149】
新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しく領域検出できた場合は、機械学習用モデル(領域検出)DB109にある既存の機械学習モデルを、新しく訓練された機械学習モデルに置き換える。
図4において、領域検出における予測プログラムでは、撮影画像群406を前処理プログラム407が読み出し、画像の前処理を実行する。
前処理の効果の一例として、エラーやノイズ、欠損値の除去がなされるため、領域検出の予測性能は向上する。
【0150】
前処理された画像は、機械学習(予測)プログラム408に読み出され、訓練プログラムにより訓練された機械学習モデルを、機械学習用モデル(領域検出)DB109から読み出し、領域検出が実行される。
撮影画像群に対して領域検出された結果は、解析結果(マスク画像)群409に保存される。
図5図6は、電子部品54のリードピン57と端子電極58との接合部を説明する説明図である。
【0151】
基板56には端子電極58などの電極配線が形成されている。端子電極58と電子部品54のリードピン57間ははんだ部38で接合される。端子電極58とリードピン57に接合部があり、主としてこの接合部にクラック39等が発生する。
【0152】
X線CT装置53は、接合部59を中心としたX線画像を取得する。X線CT装置53は、観察ヘッド(図示せず)をX軸方向、Y軸方向、Z軸方向に観察位置を変化あるいは移動させ、X線画像パターン40を取得する。あるいは、たとえば、XZ平面等の二次元平面画像を一括して取得し、Y軸方向に順次、焦点位置を変化させて二次元平面画像を連続して観察あるいは取得する。
画像の取得は、X軸方向、Y軸方向、Z軸方向に限定されるものではない。たとえば、X軸方向およびY軸方向に対して斜め方向軸の画像を取得しても良い。
【0153】
傾斜型CTスキャン方式は、観察対象を水平に回転しながらX線を斜め方向から照射するので板状の観察対象に対しても鮮明で高倍率の透過像を得ることができる。より鮮明な画像の方が学習効率及び検出性能が高まる。
【0154】
また、リードピン57、端子電極58の表面状態、あるいはリードピン57、端子電極58の間隔部の光学的に撮影した画像を取得し、この画像をクラック39、ボイドの検出に使用しても良い。
【0155】
クラック39、ボイドは、はんだ表面等に露出している場合があり、この露出箇所を加えて、本発明を実施することにより、クラック39、ボイド位置の観察、分析が正確になる。
【0156】
また、エネルギー分散型X線分光法(EDS)による元素マッピング画像を加えて、本発明を実施することにより、クラック39、ボイド位置の観察、分析が正確になる。赤外線サーモビュアカメラで撮影した物体表面の温度分布画像を使用しても良いことは言うまでもない。
【0157】
図7(a)に図示するように、接合部59のAは、リードピン57と接合部59が接触する側である。接合部59のBは、端子電極58と接合部59都が接触する側である。X軸はリードピン57の長辺方向とし、Z軸はリードピン57の短辺方向とし、Y軸は接合部59の膜厚方向とする。
【0158】
図7(b)はX線CT装置53で取得したX線画像を画像処理した一例を模式的に示した図である。図7(b)は接合部59のXZ平面における画像処理データである。図7(b)に図示するように、図1等で説明した画像処理方法により画像データでは、接合部59における線状のクラック39は検出できるが、クラック39は、それ以外の箇所と明確でない。
【0159】
明確でない原因として、クラック39はリードピン57と接合するXZ平面で発生することが多く、XY平面、XZ平面にクラック39の出現量が少ない、XY平面、XZ平面ではんだ等の接合材料が層状に変化していることが例示される。
【0160】
また、画像に輝度差や濃淡差があり、1つの2次元平面でのクラック39画像では、クラックの判別が困難である。各断面画像でのクラック39の位置、発生状態を学習することにより、クラック39を検出、把握できるようになる。
【0161】
本明細書の「学習」は、前述の「訓練」の技術的範疇である。よって、輝度差や濃淡さの異なる様々な画像を集めて、AIモデルを訓練し直す。画像あるいは画像データは、コントラスト強調、輝度強調、輝度反転処理、シャープネス処理等を実施しても良い。
なお、実施例ではクラック39の位置、発生状態を学習等することを例示して説明するが、ボイド等に置き換えても良いことは言うまでもない。
【0162】
本発明は、図5に図示するように、クラック部の輝度や濃淡が強調される、X軸方向に所定距離tでX線画像の断面データを画像処理する。つまり、画像はXY軸での断面データとする。距離tは、できる限り短距離とすることが好ましい。しかし、短距離にするほど1リードピン57あたりの画像処理時間が長くなる。しかし、クラック39の分布、位置は正確となり、また、学習効果も向上する。クラック39の発生の可能性が高くなると、所定距離t、所定距離sを短くすることも有効である。
【0163】
所定距離tおよび所定距離sを短くすればするほど、取得されるスライス画像数が増加することで、1リードピン57あたりの画像処理時間は長くなるが、クラック39の分布、位置の精度は高くなり、また、AI学習の効果も向上する。また、各画像の特徴部(差異箇所)を比較処理することにより、画像処理時間を抑制することができる。
【0164】
取得される画像の一部が不鮮明な時は、所定距離t、所定距離sを短くすることが有効である。画像上に写るクラックの画像特徴がより鮮明である画像を学習に用いた方が、AIでの認識精度が高くなる。不鮮明な画像はAI処理を実施し、判別させても精度は悪くなる。ただし、不鮮明な画像は、鮮明処理、強調処理、輪郭強調を含めた、行列を掛け算するフィルタリング処理を実施することは有効である。
【0165】
距離t及び距離sは、接合部59の厚みよりも短くすることが好ましい。さらに好ましくは、距離t及び距離sは接合部59の厚みの1/4以上1/2以下とすることが好ましい。なお、接合部59の厚みとは、端子電極58とリードピン57が面する箇所の平均厚みである。
【0166】
図8は、XY平面におけるクラック39の検出方法及び学習方法の説明図である。図8に図示するように、クラックは接合部59のXZ平面に平行に発生しているとして説明をする。図8に図示するX線データは、接合部59のXY平面における画像パターン40であり、図5におけるt間隔の断面での任意の画像データである。
【0167】
本発明は、XY平面における画像パターン40を、順次、あるいは所定の順番、あるいはランダムに選定して、前述の画像処理を行い、接合部59のクラック39領域やクラック39分布を取得する。
クラック39は、クラック位置をポイント的に指定することにより、より認識率が向上する。認識されたクラックは、教師データとしても用いる。
【0168】
また、画像処理を行い、クラック39領域やクラック39分布を、光学的あるいは視覚的に見ることができるように、ディスプレイ等に表示し、また、ネットワークを介して送ることができるようにデータ化される。
【0169】
図8の実施例では、接合部59のXY断面にクラック39a、クラック39b、クラック39cが検出される。各クラック39は、XY断面で検出されるクラック39である。XY断面データはt間隔で検出される。t間隔のXY断面のクラック39を検出することにより、図13の接合部59におけるクラック39の分布となる。t間隔のXY断面のクラック39を検出することにより、積分の要領でクラック39体積率を求めることもできる。3次元的なクラック率の測定については、後述する。
【0170】
各スライス画像に対して、ピクセル毎にクラック領域を求めている。各スライス画像の領域を積算することで、ボクセルデータとして、クラック体積率も算出することができる。一例として、図17では、一本の線としているので、各スライス画像の線(ポリライン)を積算することで、クラック面積率を算出している。
本明細書では、主としてXY断面を例示して説明するが、XZ断面、YZ断面についても、本発明を実施しても良いことは言うまでもない。
【0171】
各XY断面でのクラック分布は、本発明の実施により測定できる。測定結果をZ方向に△t(デルタt)毎に重ね合わせていけば、3次元的なクラック分布を求めることができる。取得画像の一部が不鮮明な時は、所定距離t、所定距離sを短くして本発明を実施することも有効である。
【0172】
図9(a)は、図5におけるt間隔でのXY断面である。図9(a)のXY断面からなる画像パターン40を学習、検出処理を行う。本発明は、図9(a)のXY断面での処理に限定するものではない。たとえば、図9(b)の点線で図示する断面方向を処理しても良い。
【0173】
図9(b)は、図5におけるs間隔での断面である。つまりZY断面での処理である。図9(b)のZY断面からなる画像パターン40を学習、検出処理を行う。また、XY断面とZY断面の両方の画像パターン40を学習、検出処理を行っても良いことは言うまでもない。
【0174】
具体的な訓練例を、図10図11図12を用いて説明する。なお、取得された画像バターン40は、クラック39等のパターン40として説明するが、これに限定するものではなく、たとえば、クラック39等をボイド等に置き換えても良いことは言うまでもない。また、クラック、ボイドに限定されず、不接合部、結晶方向等にも本発明が適用できることは言うまでもない。
ボイドとクラック39等とが混在したパターンであっても、学習させることにより、ボイドとクラック39等とを区別して検出することができる。
異物等も、学習させることにより、ボイドとクラック39等とを区別して検出することができる。
【0175】
本発明は、教師データは、ボイドデータとクラックデータと分類した正解データを準備している。学習したAIは学習した判断基準に基づいて、ボイドとクラック等を判別する。また、分類する。学習したAIは学習した判断基準に基づいて、ボイドの発生状態とクラックの発生状態を分析し、可視化する。
【0176】
図12は、X線画像で撮影されたはんだ部38とクラック39の発生状況を模式的に図示(パターン40)している。クラック39は独立した線状とならず、図12のクラック39bとクラック39cが分岐する場合がある。クラック39eとクラック39dが連結する場合もある。クラック39は複数クラックが連結あるいは分岐する、また、陰影がついてコントラストが劣化する。
【0177】
以下の実施例において、パターン40は、X線装置により取得されたパターン40として説明するが、X線CT装置、超音波顕微鏡52によってもパターン40を取得できることは言うまでない。また、X線CT装置、超音波顕微鏡装置を組み合わせても良いことは言うまでもない。
【0178】
X線画像及び、その画像に対してクラック39領域がマスクされた画像(手動で検査したデータ)を数千枚以上、準備する。X線画像等の原画像と、画像のどの位置にボイドやクラックが入っているのかがマークされた画像を準備する。これらの画像、データが教師データ(正解データ)となる。
【0179】
これらを512×256(画素)のパッチ画像37としてランダムに切り出し、ノイズを増やした画像にする、コントラストを調整する、明るさを調整する、明るさを反転する、平滑化する、拡大縮小する、回転させる、画素数変換する、シャープネス処理をする、水平方向や垂直方向にシフトさせる、水平方向あるいは垂直方向に画素数変換をする、特定範囲の階調データを一定値にする、画像データのガンマ変換を行う、部分的にマスクをする(黒く塗りつぶす)、縮小して画素数変換し再度拡大する処理をする等の1つ以上の処理、または複数の処理を組合せて実施する。したがって、1つの画像あるいは画像データから、多くの訓練画像を発生させることができる。
【0180】
データ拡張して、数十万枚のデータセットを生成する。数十万枚のデータセットを学習、訓練させることにより、クラック39の検出率を大幅に向上することができる。
【0181】
一例として、図12では、はんだ部38を3つのパッチ画像(区分37a、区分37b、区分37c)としている。各区分37は同一の形状、面積とすることが好ましい。
【0182】
各パッチ画像(区分37)には、それぞれ、クラック39が含まれる。また、隣接した区分37間に連続したクラック39が含まれる。隣接したパッチ画像を画像処理することで、パッチ画像のクラック39を検出できる。
【0183】
隣接したパッチ画像の処理結果を有効活用することにより、クラック検出の精度を高くすることができる。その一例として、隣接したパッチ画像にあるクラックの位置関係に基づき、処理するパッチ画像のクラック位置を推定し補正をすることが挙げられる。
【0184】
図10に図示するように、図10(a)の区分37を白黒反転させて訓練データ(図10(b))とする。また、図10(c)に図示するように、図10(b)の区分37を縮小して訓練データ(図10(c))とする。
【0185】
図11(a)に図示する区分37を、図11(b)に図示するように、左方向に所定の角度(図では+3°(DEG.))を回転させて訓練データとする。図11(c)に図示するように、右方向に所定の角度(図では-3°)を回転させて訓練データとする。また、区分37を線対象により反転させても良い。回転角度は1°(DEG.)以上15°(DEG.)以下が好ましい。
【0186】
本発明の特徴は、用意できる機械学習用データが少ない場合でも、前述のように区分を白黒反転、回転、縮小、拡大させる等の1つ以上の処理、または複数の処理の組合せを行う方法によりデータ数を拡張して、大量のデータセットを自己生成することである。
【0187】
次に、パッチ画像(区分37)の7割を訓練データとして、残り3割をテストデータとして用いて、セグメンテーションのためのencoder-decoderモデルで、医療用のセグメンテーション(特に、細胞のセグメンテーション等)によるU-Netの深層学習を行う。
【0188】
セグメンテーションとは、画像処理手法の一つである画像セグメンテーションを指し、ある画像が与えられた時に、1ピクセル1ピクセル、これは何に相当するのかのラベル付けを行う作業である。
【0189】
AI学習時には、パッチ画像(区分37)の6割以上を訓練データすることが好ましい。テストデータは、4割以下とすることが好ましい。割合は、AI学習の経過、結果に基づいて、変化させても良いことは言うまでもない。
【0190】
教師データとしてのマスク画像とネットワーク出力としてのマスク画像間のダイス係数(Dice coefficient)として、学習時の損失関数をダイス係数×(-1)とする。
【0191】
ダイス係数は、二つの集合の和集合の要素の数の代わりに、二つの集合の要素数の平均を用いる。訓練時には、前述のテストデータの損失が最も小さくなる機械学習モデルを保存する。
【0192】
ダイス係数は、AI学習の経過、結果に基づいて、変化させても良い。損失関数で計算される値をLoss(損失)と呼ぶ。テストデータに対する損失関数(予測値が真の値に対してどれだけ近いか)の値が最も小さくなる機械学習モデルを保存する。
【0193】
一方、領域検出における予測プログラムでは、撮影画像群を前処理プログラムが読み出し、画像の前処理を実行する。前処理された画像は、機械学習(予測)プログラムに読み出され、訓練プログラムにより訓練された機械学習モデルを、機械学習用モデル(領域検出)DB109から読み出し、領域予測が実行される。
【0194】
撮影画像に対して予測された領域は、マスク画像群に保存される。マスク画像は、0と1のバイナリ画像になる。1がクラックのある箇所を示し、0が背景を示す。なお、0がクラックのある箇所を示し、1が背景を示すことに設定しても良いことは言うまでもない。
【0195】
具体的な予測例を、図12を用いて説明する。撮影されたX線画像を、512×256(画素)のパッチ画像37に等間隔で分割する。あるいはパッチ画像を複数に分割する。
【0196】
図11では、画像左端区分37aから右方向に分割するが、撮影されたX線画像の幅や高さに合わせて、区分37a、37b、37cのように等間隔に重ね合わせて、パッチ画像37を分割する。次に、それぞれのパッチ画像を訓練された機械学習モデルに入力する。
【0197】
訓練された機械学習モデルからは、各画素位置でのボイドの存在を示す確率マップ(0から1の値)が取得される。バイナリマップ(マスク画像)を取得するため、得られた確率マップを設定した閾値0.5で2値化する(1の場合はクラックを示し、0の場合は背景とする)。閾値0.5は、可変することができる。閾値は、AI処理に基づき、学習効果によって変化させることも有効である。
【0198】
得られた512×256(画素)のバイナリマップ群を組み合わせ(図12の区分37a、37b、37c分割したように)、元のX線画像に対応する全体のバイナリマップ(マスク画像)を生成する。
【0199】
本実施例では、画像データの縦方向の画素数を256としている。256は2の8乗である。画像データの横向の画素数、縦方向の画素数は、2のn(nは2以上の整数)乗とすることが好ましい。
後処理として、CRF(Conditional random field:条件付き確率場)を用いて、バイナリマップ(マスク画像)を最適化する。
【0200】
AIモデルが出力した確率マップに対して、条件付き確率場(CRF)という確率モデルを適用することにより、境界を明確にすることができる。前述の「ボイドの存在を示す確率マップ(0から1の値)に対してCRFを用いて、バイナリマップ(マスク画像)を最適化する。
バイナリマップ(マスク画像)を最適化するとは、曖昧さをなくし、物体境界をはっきりさせることができることを意味する。
以上のように、本発明の特徴は、複数の細かな領域(区分)37に分割して処理を行い、それぞれの処理結果を統合して、一つの処理結果を得ることである。
【0201】
たとえば、区分37の境界内に対象物が収まらなければならないクラック39であっても、他の区分37で明瞭に検出することができる場合もある。重複して検出した領域については、それぞれのバッチ画像での処理結果の平均をとり、閾値0.5を越える画素をボイドとすれば、ロバスト性が高く、クラック39を自動検出することができる。
【0202】
本実施例では、1がボイド36がある、0が背景(ボイド36がない)に相当するとして説明をする。また、0.5を閾値として処理を実施することを例示している。閾値は、AI学習の経過、結果に基づいて、変化させても良い。
【0203】
たとえば、区分37aの画像でクラック39bを検出できなくても、区分37bの画像でクラック39bを検出できる場合がある。区分37bの画像でクラック39bを検出できなくても、その画像を左右反転させれば検出することができる場合もある。
【0204】
区分37を複数回、回転させた画像に対する処理結果の平均をとり、閾値0.5を越える画素をクラック39とすれば、ロバスト性が高く、クラック39を自動検出することができる
【0205】
図13は、t間隔での各XY断面のクラック39の検出結果を模式的に示した図である。図13(a)、図13(b)、図13(c)、図13(d)、図13(e)はそれぞれの断面のクラック39の状態を示している。
【0206】
理解を容易にするため、図13は模式的に図示している。図13(a)のXY断面のt間隔横のXY断面は図13(b)であり、図13(b)のXY断面のt間隔横のXY断面は図13(c)であるとする。図13(c)のXY断面のt間隔横のXY断面は図13(d)であり、図13(d)のXY断面のt間隔横のXY断面は図13(e)であるとする。
【0207】
隣接したXY断面のクラックはAIによる学習によって、連続あるいは非連続の判断処理が実施される。図13の画像パターン40を処理し検出されたクラック39は、隣接XY断面パターンでのクラック39と連続しているか、非連続であるか、また、一部が連続しているか、一部が非連続かを判断され、図14に示すクラック39の分布が作成される。
【0208】
図14は、図5におけるt間隔での断面画像を深耕処理した実施例を模式的に示しているが、s間隔での断面画像を深耕処理しても良い。また、t間隔とs間隔での断面画像を深耕処理しても良いことは言うまでもない。
図13(a)~図13(e)の画像を学習することにより、各クラックの連続、非連続を学習できる。
図15は、機械学習モデルの再構築と再訓練をするため、機械学習用データを更新する方法について説明するための説明図である。
【0209】
前述のクラック39の自動検出結果は、常に正しいとは限らない。ユーザーは、本システムの解析結果編集閲覧プログラム112により、クラック39の自動検出結果を確認及び編集することができる。
【0210】
本システムから出力されるクラック39の自動検出結果は0~1の間で出力され、閾値0.5を越える場合は、ボイドやクラックとして認識する。よって、たとえば、0.999は明らかにボイドやクラックである(信頼度が高い)と言えるが、0.55はボイドやクラックであるかどうかは疑わしい(信頼度が低い)と言える。
【0211】
プログラムは、AIの自動検出結果に対して、このように、その結果が不完全な場合に、ユーザーが人手でその結果を修正することができる。たとえば、ボイドであるのに、ボイドとして判定されなかった領域に対して、ペイントツールのように、手動で円ツールを用いて、ボイドの位置・領域、クラックの位置・領域を編集することができる。
ユーザーが編集した結果は、AIの自動検出結果を上書きする。つまりユーザーが編集した結果の方が正しい情報であるとしてシステムに記録される。
【0212】
本発明の実施、本発明のAI処理により、可能性のあるボイドの位置・領域、可能性のあるクラックの位置・領域が指定あるいは表示される。前記位置・領域に対して、ペイントツールの円ツールを用いて、ボイドの位置・領域、クラックの位置・領域を指定、あるいは確定することができる。指定により、本発明のAI処理部は学習し、ボイドの位置・領域、クラックの位置・領域を確定させる。
自動検出性能を向上させるためには、ユーザーの確認及び編集内容を、本システムの機械学習用データに取り込み、それを更新する必要がある。
【0213】
図15(a)は、撮影画像群901を領域検出予測プログラム902に入力し、解析結果(マスク画像)群903が出力されたが、ユーザーがそれらの解析結果を確認していない場合である。この場合は、確認状態及び編集結果(マスク画像)DB904には「未確認」として登録され、機械学習用データには取り込まれず、更新されない。
【0214】
AIの検出結果に対して、その結果が完全(ボイドをボイドとして判定できている等)か、不完全(ボイドをボイドとして判定できていない等)を画像を見ながら確認する。
【0215】
図15(b)は、撮影画像群901を領域検出予測プログラム902に入力し、解析結果(マスク画像)群903が出力された後、ユーザーがその解析結果を特定の時間以上閲覧した場合、もしくは、ユーザーが確認ボタンや解析結果出力ボタン等を押下した場合である。この場合は、確認状態及び編集結果(マスク画像)DB904には「確認済」として登録され、機械学習用データに取り込まれ、更新される。
【0216】
図15(c)は、撮影画像群901を領域検出予測プログラム902に入力し、解析結果(マスク画像)群903が出力された後、ユーザーがその解析結果を編集した場合である。
【0217】
確認状態及び編集結果(マスク画像)DB904には「編集済」として登録され、解析結果が正しくなかったと判断し、重みを付けて機械学習用データに取り込まれ更新される。また、解析結果(マスク画像)群903と、ユーザーが編集した結果の差分が大きければ大きいほど、重みを付けて機械学習用データに取り込まれ更新される。
【0218】
AIの自動検出結果に対するユーザーの編集量が多いということは、その対象となる画像は、AIが学習したことがない画像もしくは学習がうまくできなかった画像であると予想される。よって、その画像は、他の画像に比べて、より多く学習するべきである。
たとえば、前述のデータ水増し作業において、前者を×30のn増しをして、後者を×10のn増しをして、学習するデータ量に差を設ける等が例示される。
【0219】
重みの付け方は、たとえば、図15(c)の撮影画像群901と編集結果(マスク画像)DB904を、前述の白黒反転、回転、縮小、拡大させる等の方法により、データ数を拡張して、機械学習用データに取り込む方法が挙げられる。
以上のように、撮影画像群901を未確認、確認済、編集済等として分類して登録し、機械学習用データに取り込ませて、更新していく。
以上の機械学習用データを更新する方法により、機械学習モデルが再構築及び再訓練され、自動検出性能の向上が図られている。
【0220】
図16は、各XY断面画像におけるクラック率、及び全てのXY断面画像のクラック39の検出結果を合わせて、接合部全体のクラック率を測定する方法を説明する説明図である。
はんだクラックの定量評価手法として、機械研磨やCP後の断面観察時に撮影された画像を元に、クラック率(%)を測定する。
【0221】
はんだ接合部が写っている画像に対して、どこからどこまでクラックで入っているか、今後どのようにクラックが進展するのかを、画像上で示し、それぞれの線長(経路長)を測定し、その割合を計算する
【0222】
本発明では、図16(a)に示す、クラック39の長さをa、今後クラックが入り得る(進展し得る)予測線70の長さをbとすると、クラック率(%)は(数1)で計算する。
クラック39が発生している長さをクラック線長と呼ぶ。クラックが今後進展すると予測される長さをクラック予測線長と呼ぶ。
【0223】
【数1】
【0224】
以上の実施例は、クラックを例示して説明したが、ボイドに関して同様に実施される。クラックと同様に、はんだ38中にはボイドが発生している領域(面積)、またはボイドが今後発生するすると予測される領域(面積)がある。
ボイドが発生している領域(面積)をボイドの面積と呼ぶ。ボイドが今後進展すると予測される面積をボイド予測面積と呼ぶ。
はんだ38中に発生したボイド面積と、ボイド発生が予測されるボイド予測面積から、ボイド率(%)を定義する。
ボイドは、ボイド率(%)を用いて定量評価を行う。ボイド率(%)は、以下のとおり定義する。
ボイド率(%)=(ボイド面積)/(ボイド面積+ボイド予測面積)×100
【0225】
はんだ接合部が写っている画像に対して、どの範囲でボイドが発生しているか、今後どのようにボイドが進展するのかを、画像上で示し、それぞれの面積(領域)を測定し、その割合(ボイド面積を、ボイド面積とボイド予測面器を加算したもので割ったもの)を計算する。
【0226】
この測定手法は、破壊検査のため、観察したいクラック断面を消失する恐れがある。また、クラック39は、はんだ接合部等に3次元的に発生するため、数か所の断面観察だけでは接合部全体のクラックを把握することは困難である。
本発明の特徴は、この課題に対して、非破壊で、クラックの3次元分布を可視化でき、クラック39を定量評価できる点である。
【0227】
各スライス画像に対してクラックの自動検出をして、それらの結果を重ね合わせ、クラックの3次元分布の可視化をする方法について、図22図25を用いて説明をする。
【0228】
まず、X線CTデータから1枚1枚スライス画像を抽出する。次に、前述のセグメンテーションモデル(U-Net等)を利用して、画像中のはんだ領域およびクラック領域を検出する。
その一方で、後述のオブジェクトディテクションモデル(YOLO等)を利用して、はんだ接合部の端点を検出する。
最後に、これらの結果を組み合わせることで、クラック線及びクラック予測線を含めた一本のポリラインを引く。
これらの処理をX線CTデータの全てのスライス画像に適用し、その結果を統合して、3次元データ化する。
【0229】
図16(b)に示すように、XY断面画像N枚に対して、深層学習させた複数種類のAIにより画像処理し、各処理結果を結合することで、クラックの3次元分布を可視化し、接合部全体のクラック率(以下、3Dクラック率)を(数2)で測定することができる点である。
【0230】
また、XY断面画像N枚から、AIにより画像処理をすると、N枚以上の画像を作成できる。たとえば、NとN+1番目の画像から、NとN+1番目の画像間の画像を補間で発生させる。映像テレビで、Nフィールド目の画像とN+1フィールド目の画像から、中間画像を発生するのと同様の方法を適用する。
【0231】
【数2】
【0232】
一方、図14に示した、深耕処理した実施結果においても、はんだ接合部におけるZ面に射影したクラック割合(以下、Z面射影クラック率)を測定することができる。
【0233】
図14(a)の無線のクラック領域の面積をa、図14(b)の点線のクラック予測領域の面積をbとすると、(数1)で計算して、Z面射影クラック率を測定することができる。
図17は、クラック39の3次元分布を可視化し、3Dクラック率を測定するための全体のフローチャートを示した図である。
最初に、図17(a)で示すように、はんだ部38とボイド、クラック39の領域を検出する必要がある。
【0234】
従来のX線CTの各断面画像は不鮮明なことが多く、一般的な二値化等のルールベースの画像処理手法では、クラック39の領域を自動検出することは難しかった。
【0235】
この課題に対して、クラック39部の輝度や濃淡が強調される、図16(b)の各XY断面画像に対して、前述の深層学習させたU-Netによるセグメンテーション技術を用いて、画像中のクラック39の領域を高精度に自動検出する。
また、後段のポリライン生成処理時に用いるため、同様の手法により、はんだ部38の領域の自動検出も同時に行う。
【0236】
次に、図17(b)で示すように、リードピン57とはんだ部38との接合境界において、クラック39の入り得る始点71と終点72の検出を行う。ただし、始点71と終点72の区別はなく、互いに入れ替わっても問題はない。
【0237】
前述のクラック率を計算するためは、XY断面画像中にクラック39及び今後クラックが入り得る予測線70を引く。予測線70を用いて、1本のポリラインを生成する必要がある。
【0238】
この課題に対して、深層学習させたYOLO(You Look Only Once)による物体検出技術を用いることにより、前述の接合境界においてクラック39の入り得る始点71と終点72を自動検出する。
【0239】
YOLOはリアルタイムオブジェクト検出アルゴリズムである。YOLOアルゴリズムでは検出窓をスライドさせるような仕組みを用いず、画像を一度CNN(Convolutional Neural Network)に通すことで、オブジェクトを検出することができる。CNNは、「畳み込み層」や「プーリング層」といったいくつかの個性的な機能を備えた層を積み上げることで構成されている。
図18は、前述のYOLOによる物体検出における訓練プログラムと予測プログラムの処理の流れを図示したものである。
【0240】
物体検出における訓練プログラムでは、機械学習用モデル(物体検出)DB116を作成することが目的となる。撮影画像(C)DB801と位置・大きさ(C)DB802を用いて、撮影画像中のはんだ接合境界の始点71と終点72がどこにあるのかを検出することができる機械学習モデルを作成する。
【0241】
データ水増し前処理プログラム803は、撮影画像(C)DB801と位置・大きさ(C)DB802を読み込み、機械学習をするためのデータセットを作成する。
【0242】
作成されたデータセットは、機械学習用データ(C)DB804に保存される。その後、機械学習(訓練)プログラム805は、機械学習用データ(C)DB804を読み込み、訓練(たとえば、ニューラルネットワークであれば、そのネットワークの重みやバイアス等を調整すること)を行い、訓練された機械学習モデルを、機械学習用モデル(物体検出)DB116に保存する。
訓練を行う際には、機械学習用モデル(物体検出)DB116にある既存の機械学習モデルを利用し訓練を行っても良い。
【0243】
訓練は学習と同義であるとして説明をする。ここでは、教師あり学習の「学習」として説明をする。具体的には、事前に与えられたデータをいわば「例題(=教師からの助言)」とみなして、それをガイドに学習(=データへのフィッティング)を行うことである。
【0244】
本実施例では、人手でクラック率計測したデータ(クラック線とクラック予測線が画像に重畳されているデータ)を教師データ(例題)として用いて、未知のデータが与えられた時に、どこがクラック線で、どこが予測線なのかを予測することができるように、機械学習モデルを学習させる。
【0245】
訓練を行う際には、ある特定のユーザーやグループや案件が持つ機械学習用データや、アップロード日時が新しい機械学習用データに対して所定の重みを設定して、データの重要度に差異を付けることで、機械学習モデルを訓練する。所定の重みは、本発明の実施、本発明のAI処理により設定し、あるいは可変しても良いことは言うまでもない。
【0246】
新しく訓練された機械学習モデルの性能評価において、既存の機械学習モデルよりも高い精度の性能であると判断された場合、つまり、機械学習用データ(C)DB804の評価用データセットに対して、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しく物体検出できた場合、機械学習用モデル(物体検出)DB116にある既存の機械学習モデルと置き換えても良い。
【0247】
新しく訓練された機械学習モデルの性能評価において、既存の機械学習モデルよりも低い精度の性能であると判断された場合、つまり、機械学習用データ(C)DB804の評価用データセットに対して、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しく物体検出できた場合、訓練された機械学習モデルを破棄しても良い。
【0248】
以上のように、本発明の特徴は、物体検出における訓練プログラムによる、新しく訓練された機械学習モデルの性能評価が定期的に実施される。また、新しく訓練された機械学習モデルの方が、既存の機械学習モデルよりも正しく物体検出できた場合には、機械学習用モデル(物体検出)DB116にある既存の機械学習モデルを、新しく訓練された機械学習モデルに置き換えることである。
【0249】
定期的は、一つの案件処理を終了した後に実施することが例示される。また、利用時間をモニタリングして、利用していない時間を予測して、その時間帯に実施する等が例示される。
【0250】
図18において、物体検出における予測プログラムでは、撮影画像群806を前処理プログラム807が読み出し、画像の前処理を実行する。前処理された画像は、機械学習(予測)プログラム808に読み出され、訓練プログラムにより訓練された機械学習モデルを、機械学習用モデル(物体検出)DB116から読み出し、物体検出が実行される。撮影画像群に対して物体検出された結果は、位置・大きさ結果群809に保存される。
次に、図17(c)で示すように、XY断面画像中にクラック39及び今後クラックが入り得る(発生する可能性がある)予測線70を引く。
図17(c)を拡大した図23を用いて、最短経路探索によるクラック線・クラック予測性の推定について説明をする。
【0251】
始点71と終点72は、深層学習させたYOLO(You Look Only Once)による物体検出技術を用いることにより、前述の接合境界においてクラック39の入り得る始点71と終点72を検出する。
【0252】
1本のポリラインを自動生成するため、前述に検出した始点71と終点72を用いて、A*(A-star,エースター)経路探索アルゴリズム(スタートノードからゴールノードまで辿り着く時の最短経路を算出するアルゴリズム)し、クラック39の経路探索を行い、1本のポリラインを生成する。
【0253】
経路探索時には、図17(a)で得られたはんだ部38とクラック39の領域に対して、コスト(各ノードを通過する際の重み)を設定する。同領域を優先的に通過するように(つまり、同領域のコストを低く設定することで)、始点71から終点72までの最短経路を探索する。これにより、1本のポリラインを生成することができる。
【0254】
クラック線同士は、始点71から終点72までの経路が、はんだ部38とクラック39の領域を通過する最短経路となるように、それらを結合する。よって、最短経路とならない場合は、クラック線同士を結ばない(非連続)こともある。予測線70は、その最短経路の内、クラック線ではない線となる。
【0255】
後段のメッシュ作成処理時の効率化のため、Douglas-Peuckerアルゴリズムを用いて、クラック39及び今後クラックが入り得る予測線70で構成されたポリライン(polyline)の単純化(点の間引き処理)も同時に行う。
【0256】
Douglas-Peuckerアルゴリズムアルゴリズムは、主として、始点71と終点72を結ぶ直線に対して垂線をおろしたとき、中点の中で距離が一番遠いものを選ぶ。距離が基準値以下だったら直線とみなして、間の点は省く。基準値以上だったら中点で分割して、再帰的に繰り返す。
【0257】
ポリライン(polyline)の単純化(点の間引き処理)の理由は、処理した結果を後にユーザーが編集し易くするためである。ポリライン(polyline)の編集において、一部の頂点を少し移動させたい時に、それらの頂点が沢山あり過ぎてしまうと、編集しにくくなってしまう。
【0258】
最後に、クラック39及び今後クラックが入り得る予測線70で構成されたポリラインの自動生成処理を、全XY断面画像に対して同様に実行し、それらのポリラインから構成されるクラック面及びクラック予測面をメッシュとして生成する。
【0259】
それらのメッシュデータをSTL(Stereolithography)ファイルとして3次元データ化することで、3Dスライサー(3D Slicer)等で表示できるようにした。
【0260】
その一方、各XY断面画像について、クラック39の長さ及び今後クラックが入り得る予測線70の長さを測定できるため、(数2)により、3Dクラック率を測定することができる。
【0261】
図17の実施例は、クラック39を例示して説明したが、本願発明はこれに限定するものではない。ボイド36についても同様に適用できることは言うまでもない。クラックの用語をボイドに置き換えれば良い。
【0262】
以上の図16図17図18等で説明した実施例は、図9図10図11図12図13図14図15等の実施例にも適用できることは言うまでもない。また、組み合わせ出来ることも言うまでもない。また、他の本発明の実施例に適用あるいは組み合わせることができることは言うまでもない。
図19図20は、前述の手法により得られた3次元データを、3D Slicerで表示させた実施例である。
【0263】
図19右上、図20右上のビューアー上には、クラック39の3次元分布が可視化され(格子模様部がクラック面を表し、横線分部がクラック予測面を表している)、クラックがどのような面で入っているのかを多角的に観察することができるようになっている。
【0264】
図19は、リード部のクラックであり、全XY断面画像484枚に対して、クラック率は16.57%~60.03%、3Dクラック率は36.22%であった。
図20は、BGAのクラックであり、全XY断面画像383枚に対して、クラック率は0%~29.44%、3Dクラック率は7.72%であった。
この結果から、破壊検査による特定の断面観察だけでは、接合部全体のクラックを把握することが困難であることが明らかであり、本発明の有効性がわかる。
【0265】
はんだクラックを観察するにあたり、サイズ5.0mm×4.4mm、ピン数16本、ピンピッチ0.65mmのSOP(Small Outline Package)部品(IC)を、長さ20mm×幅20mm、厚さ1.6mmのプリント基板(基材:CEM-3)にSn-3.0Ag-0.5Cuはんだを用いて接合したものをサンプルとして用いた。
【0266】
次に-40/+125℃、さらし時間10分の条件で冷熱衝撃試験を3000cycまで実施した。試験途中である500cyc、1500cyc、2500cyc時点で抜き取りを行い、抜き取り及び試験後サンプルのX線CT像を撮影し、観察した。X線CT装置は、図1図2図3図4等を用いて説明し、X線CT画像の処理方法等は、図15図16図17図18等を用いて説明している。
【0267】
その後、図24に示すように、基板表面を45°に傾けた状態で固定し、試験速度5.0mm/minでプル試験を行った。また、基材とパッドの密着強度を調べるために、プリント基板のみで冷熱衝撃試験を行い、その後にSOP部品を実装したサンプルも作製し、同様にプル試験を行っている。冷熱衝撃試験はESPEC製TSA-203ES-W、プル試験はRHESCA製PTR-1102を用いた。
【0268】
強度試験の実施前に図1等で説明した本発明のX線CT装置による撮影を行い、得られた三次元ボクセルデータから複数枚のスライス画像を生成した。次に、各スライス画像に対し、2種類の深層学習モデル(機械学習モデル)を適用させる。
【0269】
各スライス画像に対して、ピクセル毎にクラック領域を求める。各スライス画像の領域を積算することで、ボクセルデータとして、クラック体積率も算出することができる。一例として、例えば、図17では、一本の線としているので、各スライス画像の線(ポリライン)を積算することで、クラック面積率を算出している。
本明細書、図面では、主としてXY断面を例示して説明するが、XZ断面、YZ断面についても、本発明を実施しても良いことは言うまでもない。
【0270】
1つ目として、画像中のはんだやクラックが発生している箇所、ボイド等をU-netによるセグメンテーションを用いてピクセル単位での検出を行う。2つ目ははんだ中のクラックの始点及び終点を用いて予測した。
【0271】
一実施例として、YOLOv3(You Look Only Once v3)を使用する。YOLOv3は入力された画像から物体の位置と種類を検出するAIモデルであり、入力された画像に対して、80種類のカテゴリと、物体のバウンディングボックスを計算することができる。
【0272】
YOLOv3には認識精度の高い通常モデルと、認識精度が若干劣る代わりに高速に動作するtinyモデルがある。通常モデルのYOLOv3-416のmAP(認識精度)は55.3、tinyモデルのmAPは33.1となる。
クラックが発生している箇所を通り、かつ、2つの検出地点を1本のポリラインで結ぶように本願発明の経路探索アルゴリズムを用いる。
【0273】
たとえば、図17図23において、始点71と終点72は、深層学習させたYOLO(You Look Only Once)による物体検出技術を用いることにより、前述の接合境界においてクラック39の入り得る始点71と終点72を検出する。
【0274】
1本のポリラインを自動生成するため、前述に検出した始点71と終点72を用いて、A*(A-star,エースター)経路探索アルゴリズム(スタートノードからゴールノードまで辿り着く時の最短経路を算出するアルゴリズム)し、クラック39の経路探索を行い、1本のポリラインを生成する。
【0275】
経路探索時には、図17(a)で得られたはんだ部38とクラック39の領域に対して、コスト(各ノードを通過する際の重み)を設定する。同領域を優先的に通過するように(つまり、同領域のコストを低く設定することで)、始点71から終点72までの最短経路を探索する。これにより、1本のポリラインを生成することができる。
【0276】
クラック線同士は、始点71から終点72までの経路が、はんだ部38とクラック39の領域を通過する最短経路となるように、それらを結合する。よって、最短経路とならない場合は、クラック線同士を結ばない(非連続)こともある。予測線70は、その最短経路の内、クラック線ではない線となる。
【0277】
後段のメッシュ作成処理時の効率化のため、Douglas-Peuckerアルゴリズムを用いて、クラック39及び今後クラックが入り得る予測線70で構成されたポリライン(polyline)の単純化(点の間引き処理)も同時に行う。
【0278】
Douglas-Peuckerアルゴリズムアルゴリズムは、主として、始点71と終点72を結ぶ直線に対して垂線をおろしたとき、中点の中で距離が一番遠いものを選ぶ。距離が基準値以下だったら直線とみなして、間の点は省く。基準値以上だったら中点で分割して、再帰的に繰り返す。
【0279】
ポリライン(polyline)の単純化(点の間引き処理)の理由は、処理した結果を後にユーザーが編集し易くするためである。ポリライン(polyline)の編集において、一部の頂点を少し移動させたい時に、それらの頂点が沢山あり過ぎてしまうと、編集しにくくなってしまう。
【0280】
最後に、クラック39及び今後クラックが入り得る予測線70で構成されたポリラインの自動生成処理を、全XY断面画像に対して同様に実行し、それらのポリラインから構成されるクラック面及びクラック予測面をメッシュとして生成する。
【0281】
それらのメッシュデータをSTL(Stereolithography)ファイルとして3次元データ化することで、3Dスライサー(3D Slicer)等で表示できるようにした。
【0282】
図17図23等説明したように、クラックが発生している箇所を通る線(クラック線)及びはんだ端部への最短経路を示す線(最短線)を得ることができる。この操作を複数枚のスライス画像すべてに適用させ、各スライス画像から得られたクラック線及び最短線を含めて再構築することで、図22図25に図示するように、三次元的にクラック構造を可視化することが可能となる。
【0283】
今回のサンプルであるSOP(Small Outline Package)ICは複数のピンと、はんだ接合部が存在するが、X線CT装置の1スキャンの範囲内であるため、すべての三次元クラック構造を得ることができる。
【0284】
例として、2500cyc(2500サイクル)品での三次元クラックを図26に示す。灰色が予測部であり、黒色がクラック部である。aの実線(白線)がクラック(部)、bの点線が最短経路を表しており、部品リードにおけるバックフィレット側に主にクラックが発生していることがわかる。断面観察でのクラック率(数1)と同様の指標として、三次元的なクラックを面として捉え、3Dクラック率を図27(b)のように定義し、2500cyc品の各ピン(図28)の3Dクラック率(数2)を比較したものを図29に示す。
【0285】
フィレットとは、はんだ付けでリードとランド間にできるはんだ形状のことを指す。これは表面実装、挿入実装ともに使われている言葉で、この形が斜面のようになっているのが理想とされている。熱不足や、はんだの量が多いと、いもはんだと呼ばれ、形状が球体のような形になり、結合状態が悪い不具合とされている。
また、バックフィレットとは、表面実装の場合、部品のリードの影にあたる部分を指し、
挿入実装の場合、基板の部品側の方を指す。
【0286】
cyc(サイクル)数が増加すると3Dクラック率も増加しており、また、部品中央のピン(4、5、12、13ピン)から部品外側のピン(1、8、9、16ピン)に向かって3Dクラック率が約10~20%高くなる傾向が見られる。これは冷熱衝撃試験時に発生する基板の反りによる歪みの影響が、部品中央と比較して部品外側の方が大きいためであると考えられる。
【0287】
以上のように、本発明は、測定あるいは観察サンプル部品のリードピンあるいは端子位置と3Dクラック率とを定量的に求めることができ、また、評価することができる。
【0288】
部品中央のピンと部品外側のピンとは3Dクラック率が異なるため、スライス画像数宇と異ならせることも有効である。また、ピクセル毎にクラック領域を求める領域を変化させることも有効である。
【0289】
各スライス画像に対して、ピクセル毎にクラック領域を求める。各スライス画像の領域を積算することで、ボクセルデータとして、クラック体積率も算出することができる。
【0290】
各XY断面でのクラック分布は、本発明の実施により測定できる。測定結果をZ方向に△t(デルタt)毎に重ね合わせていけば、3次元的なクラック分布を求めることができる。部品中央のピンと部品外側のピン等において、所定距離t、所定距離sを異ならせて本発明を実施するは有効である。
【0291】
冷熱衝撃試験によるクラックの増加を測定した結果を図30に示す。別サンプルであるため、はんだ印刷量が異なることを考慮し、クラック率ではなくクラック面積で評価を行った。
【0292】
また、SOPの形状から同一の負荷がかかっていると想定されるピンを端部(edge/E)、中央部(center/C)、中間部(middle/M)と分類し、平均値のプロットを行った。ピンの分類の詳細については図28に記載している。
【0293】
この結果から、ピンの位置によってクラックの進展速度が異なり、中央部と比べて端部の方が、進展が早いことが分かる。また、1500cycの初期の段階では端部と中間部のクラック面積は大きく差がないが、試験が進み3000cycでは中間部のクラック面積は中央部と同程度になっている。試験初期では端部と中間部は同等の負荷が発生しているが、端部にクラックが入ることによって応力集中箇所が変化し、中間部への負荷が軽減されている可能性がある。
【0294】
以上のように、本発明は、ピンの位置によってクラックの進展速度が異なり、中央部と比べて端部の方が、進展が早いこと等を定量的に評価、観察することができる。以上のように本発明は、複数の観察箇所で、内部構造を比較し、クラック等を観察できる。したがって、ピンの物理的位置との関連を定量的に評価することができる。
【0295】
ピンの各スライスにおける各断面の作成等に関しては図5等で説明しているので説明を省略する。また、装置、処理、観察方法に関しても、図1図4図15図18で説明しているので説明を省略する。
【0296】
次に3Dクラック率を算出したサンプルのピンについて実験方法に示した方法でプル強度試験を行った。試験順については図36に示す。また、11番目以降の強度試験において、はんだ接合部破断前に部品全体が浮き上がる現象が見られた。複数ピンを破断させたことにより、部品自体の基板への固定力が弱くなったためであると推測される。
【0297】
強度試験後は、ほとんどがはんだ中での剥離であったが、500cyc(サイクル)品の試験において基板のパッドの剥離が見られ、破壊モードが異なった。また、各cyc(サイクル)のプル強度試験はすべて同様の順番で試験を実施している。
【0298】
今回得られたプル試験における時間-強度の波形の代表例を図31に示す。この波形から2箇所のピークが確認できた。ほとんどのピンで試験時に同様の形状の波形が観測され、これは時間が早い方のピークではんだ接合部が破断し、破断後にピンに引っ掛けた治具がピンから離れた際に2箇所目のピークが出現していることを目視で確認している。このことから最初のピーク値をはんだ接合部の接合強度値とした。
【0299】
図31は実測例であるが、本発明は、実施例に説明するように、X線CT画像、AI学習により、実測することなく、図31の特性あるいは結果をえることができる。
【0300】
500、1500、2500、3000cyc(サイクル)実施したサンプルのプル試験と接合面積の関係を図32に示す。横軸は、クラック率ではなく、面積で評価を行うために3Dクラック率算出時に得られた最短線を元に算出した推定はんだ接合面積を用いている。このグラフから線形相関が見られ、はんだ接合面積とプル強度は比例関係にあることが推察される。
【0301】
本発明は、従来のように破壊せず、対象サンプルの内部状態を観察評価することができる。したがって、サンプルの同一箇所を500、1500、2500、3000cyc(サイクル)というように経過観察をすることができる。経過観察したデータ等は、図29図30図33等で示すように、グラフ化することができ、有用である。
【0302】
本発明は、従来のように破壊せず、対象サンプルの内部状態を観察評価することができる。たとえば、各サイクルで対象物(箇所)の温度を変化させ、非破壊で内部状態を観察することができる。温度の変化を発生させるには、たとえば、対象物(箇所)にレーザ光を照射し、加熱させて温度を変化させるとともに、X線CTの画像を取得する。また、対象サンプル全体を、ヒートガン、ホットプレート(温度調整装置)等で加温あるいは冷却し、各温度において、X線CTの画像を取得する。
【0303】
また、1500cyc品、2500cyc品、3000cyc品の順ではんだ接合面積が小さくなっており、冷熱衝撃試験によるクラック進展の影響を反映していると考えられる。図32に点線で示した近似線より得られる関係式は、一例として以下の式1のようになる。
y=180.9x (式1)
【0304】
係数である180.49の単位はN/mm2(MPa)であり、Sn-3.0Ag-0.5Cuはんだ材で一般的にされている引張応力の約30-40N/mm2と異なる値を示している。これは部品の強度試験ははんだに均一な荷重がかからないためである。
【0305】
500cyc品についてはプル試験を行ったすべてのピンでパッド剥離が起こった。冷熱衝撃試験後のパッド密着強度を測定し、はんだ破壊時の強度との比較を行ったグラフを図33に示す。0~1500cycまでのはんだ破壊時の強度は式1から推定し、図中に点線で示している。冷熱衝撃試験によってパッド密着強度は増加し、はんだ強度は減少している。
【0306】
500cycから1000cycの間にはんだ強度がパッド密着強度より小さくなり、500cyc品ではパッド剥離が起こったのに対し、1500cyc品以降では、はんだ破壊が起こったと考えられる。
【0307】
1500cyc品、2500cyc品、3000cyc品の平均接合強度はそれぞれ13.0、11.5、10.9Nとなり、これを式1に代入することで得られる接合面積を経過したサイクル数で除することで得られる平均き裂進展速度は、1500cyc-2500cyc間は8.5μm2/cyc、2500cyc-3000cyc間は5.8μm2/cycと求められる。
【0308】
1500cyc-2500cyc間でのき裂進展速度に対し、2500cyc-3000cycではき裂進展速度が約30%遅くなっている。そこで実際のクラック状況を確認するために、図34に各cyc(サイクル)におけるX線CTスライス画像を示した。
【0309】
これらの画像より、1500cyc品にはバックフィレットに沿ってクラックが進展しているが、2500cyc品ではリード下方向へはクラックが進展せず、基板水平方向にクラックが発生し、バックフィレットのはんだは、欠落しそうになっている様子が観測された。また、3000cyc品においては2500cyc品からさらにバックフィレットが欠落していることが分かる。
本発明の解析装置では、X線CT画像、AIによる学習機能を用いてバックフィレットが欠落する位置、サイクルに対する欠落時間を予測することができる。
【0310】
推定されるクラック進展メカニズムを図にしたものが図35である。冷熱衝撃試験により、まずバックフィレット側からクラックが発生し(図35(a))、リードに沿ってクラックが進展する(図35(b))。その後、2500cyc品で観測されたように基板水平にクラックが入り始め、はんだ外形が変化していく。その後3000cyc品のようにはんだの欠落が進む(図35(c)、(図35(d))。そのため、冷熱衝撃試験によってはんだ部に大きな損傷は発生しているが、リード下のはんだ接合面積は2500cycから3000cycにかけてほとんど変化しないため、平均き裂進展速度は減少し、図32に示すはんだ接合強度においてもほとんど変化しなかったものと考えられる。
【0311】
本発明は、深層学習を利用したX線CT装置による非破壊クラック検出技術と冷熱衝撃試験後のはんだ接合部プル強度試験の結果より、以下のことを観察、評価することができる。
SOP部品において、冷熱衝撃試験時のはんだクラック面積の進展はピンの配置によって異なることを定量評価できる。
【0312】
本発明の解析装置では、X線CT画像、AIによる学習機能を用いてSOP等の各部品の形状、ピン配置等からクラックが発生する位置、サイクルに対するクラック発生時間を予測することができる。
冷熱衝撃試験後のはんだ接合部プル強度の低下は、はんだ接合面積の減少と相関が見られ、関係式を求めることができる。
【0313】
今回得られた関係式はクラック率とはんだ接合強度の関係であるため、従来は別の試験として扱われてきた2つの試験を結びつけることが可能となり、信頼性試験における判定基準の整合が取れる。
【0314】
また、非破壊でクラックを検出する上でX線CT装置の分解能を上げる必要があり、対象サンプルを小さくするため別途試験片を作製する必要があるが、今回得られた関係より強度試験によってはんだ接合面積を正しく評価できる。そのため、関係式の係数を試験片によって求め、実製品基板においては強度試験を行うことで、正確に三次元的な破断率を求めることが可能である。また、図5等で説明したように、s、tの幅(距離)を変更あるいは設定することが有効である。
本発明の特徴は、非破壊で、クラックの3次元分布を可視化でき、クラックを定量評価できる点である。
【0315】
本手法を用いれば、機械的及び熱衝撃的なストレスに対して、クラックが3次元的にどのように進展していくのかを時系列に定量的に観察することができ、そのメカニズムや接合強度にどのように影響するのかを解析することが可能である。
以上の本発明の実施例は、物質内部のクラック39を非破壊で可視化してそれを測定する装置、可視化及び測定方法等について説明した。
【0316】
クラック39だけでなく、ボイド36等もX線CT装置53等でパターン40を取得することができる。クラック39等の画像とは異なるが、ボイド36等として学習させることにより、ボイド36等を検出することができるようになる。
したがって、本明細書の実施例においてクラック39として説明した事項は、ボイド36等として置き換えることができることは言うまでもない。
本発明の実施形態、AI処理において、ボイド36として覚え込ませるか、クラックとして覚え込ませるかの違いになる。
【0317】
パターン40は、X線CT装置53等によるX線画像で取得するだけでなく、たとえば、超音波顕微鏡52を用いても、X線画像に対応するパターン(超音波画像)40を取得することができる。したがって、本発明の装置において、X線CT装置等のX線装置は、超音波顕微鏡等の超音波装置2に置き換えても良いことは言うまでもない。
以上の実施例は、超音波画像で処理した画像に対しても適用できることは言うまでもない。
X線CT装置53等のX線装置と超音波顕微鏡52とを組み合わせて、パターン40を取得することにより、クラック39等を検出精度が向上する。
【0318】
以上の実施例は、透過X線画像におけるクラック39等の検出する方法あるいは装置であるが、本発明はこれに限定するものではない。たとえば、接着樹脂内の気泡、コンクリートブロック内の空間、鉄材料部品内の他の金属の混在物、生物の内蔵内の脂肪粒など、多種多様なものを非破壊で解析、分析できることは言うまでもない。
図37図38図39図40は、本発明の自動検出方法及びコンピュータプログラムを使用するビジネスモデルの説明図である。
【0319】
本発明のビジネスモデルは、AIモデルをクラウド上に実装することによりAIモデルを更新できる、処理リソースを確保できる等の利点がある。3D描画等は処理リソースを必要とするため、この形式が好ましい。
【0320】
図6図16図17等の実施例で説明したように、はんだ部38、接合部59でクラック39、ボイド36が発生する。本発明はこれらクラック等を検出し、構造評価をする。はんだは、ICリードピン、BGA(Ball Grid Array)、SOP等に使用するものが例示される。
【0321】
本発明は、はんだ部38等に発生したクラック等の検出し、処理、評価をすることに限定されるものではない。たとえば、はんだ部38は、導電ペースト(銅ペースト、銀ペースト等)、導電性接着剤、異方向性接着フィルム(Anisotropic Conductive File:ACF)、異方向性導電ペースト等であっても良い。電極58とピン57等の界面あるいは接続する部位に始点71、終点72を設け、処理を実施する。また、部材の表面等にめっき処理をし、塗料、めっき部に発生したクラック等の検出、構造評価にも適用できることは言うまでもない。
【0322】
はんだ中等にクラック等が発生し、はんだ中のクラック等を検出するとして、主として実施例を記載したが、本願発明はこれに限定するものではない。たとえば、第1の部材に接着剤が塗布され、塗布された接着剤中に発生するクラック等を検出し、構造評価をすることにも適用できる。また、第1の部材と第2の部材間に接着剤が塗布され、塗布された接着剤中に発生するクラック等を検出し、構造評価をすることにも適用できる。
【0323】
第1の樹脂部材と第2の樹脂部材とを融解させて接合し、接合部に発生したクラック等の検出、構造評価にも適用できることは言うまでもない。本発明は、異なる材料又は異なる組成が接する界面を有するものであれば、界面等に発生したクラック等の検出、構造評価にも適用できることは言うまでもない。
【0324】
本発明を適用することにより、素地に塗装した下塗り塗装膜、上塗り塗装膜、その界面のクラック等を検出、測定、評価をすることができる。また、コンクリート中に発生した空洞(ボイド等)の面積、クラックの範囲あるいは位置を測定、検出、評価をすることができる。
【0325】
図37は、第1の実施形態におけるビジネスモデルの説明図である。超音波顕微鏡52、X線CT装置53等で撮影した画像を所有する顧客Aに対して、会社Aは、図1におけるユーザー認証プログラム101、案件管理プログラム102、撮影画像アップロードプログラム103、機械学習プログラム110、自動検出プログラム111、解析結果編集閲覧プログラム112、解析レポート自動作成プログラム113、解析レポート通知プログラム114、解析レポート編集閲覧プログラム115等を内包したプログラム(以下、「クラック自動検出プログラム」とする)を提供もしくは販売する。
【0326】
顧客Aは、デスクトップ型コンピュータ、ノート型パーソナルコンピュータ、タブレット、スマートフォン上に、クラック自動検出プログラムをインストールし、利用することが可能となる。会社Aはクラック自動検出プログラムのライセンス料を顧客Aから受け取る。
「ライセンス料」は、ソフトウェアライセンス利用料(デスクトップ版の場合は買い切り型)である。
【0327】
図38は、第2の実施形態におけるビジネスモデルの説明図である。超音波顕微鏡52、X線CT装置53等で撮影した画像を所有していない顧客Aに対して、会社Aは、会社Aの所有する超音波顕微鏡52、X線CT装置53等で撮影した画像群と、クラック自動検出プログラムを提供もしくは販売する。
【0328】
顧客Aは、デスクトップ型コンピュータ、ノート型パーソナルコンピュータ、タブレット、スマートフォン上に、クラック自動検出プログラムをインストールし、利用することが可能となる。会社Aは、画像撮影料及びクラック自動検出プログラムのライセンス料を顧客Aから受け取る。
【0329】
図39は、第3の実施形態におけるビジネスモデルの説明図である。超音波顕微鏡52、X線CT装置53等で撮影した画像を所有する顧客Aに対して、会社Aは、クラック自動検出プログラムをクラウドサーバー上で動作させる。
【0330】
顧客Aは、デスクトップ型コンピュータ、ノート型パーソナルコンピュータ、タブレット、スマートフォンのWebブラウザを使い、クラック自動検出プログラムを利用することができる。会社Aは、クラック自動検出プログラムの利用料を顧客Aから受け取る。
【0331】
図40は、第4の実施形態におけるビジネスモデルの説明図である。超音波顕微鏡52、X線CT装置53等で撮影した画像を所有していない顧客Aに対して、会社Aは、会社Aの所有する超音波顕微鏡52、X線CT装置53等で撮影した画像群を用意し、クラック自動検出プログラムをクラウドサーバー上で動作させる。
【0332】
顧客Aは、デスクトップ型コンピュータ、ノート型パーソナルコンピュータ、タブレット、スマートフォンのWebブラウザを使い、クラック自動検出プログラムを利用することができる。会社Aは、画像撮影料及びクラック自動検出プログラムの利用料を顧客Aから受け取る。
【0333】
接合部等のクラック39等の検出等を例示して説明したが、本願発明はこれに限定するものではない。ボイド、不接合部、結晶方向の差異などについても、本発明が適用できることはいうまでもない。
【0334】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。本明細書及び図面に記載した事項あるいは内容は、相互に組み合わせることができることは言うまでもない。
【符号の説明】
【0335】
11 制御部
12 主記憶部
13 通信部
14 操作部
15 表示パネル
16 補助記憶部
17 ネットワーク
18 記録媒体
21 撮影画像群
22 解析結果(マスク画像)群
31 パターン分類訓練プログラム
32 パターン分類予測プログラム
36 ボイド
37 区分(処理単位)
38 はんだ部
39 クラック
40 パターン
41 領域検出訓練プログラム
42 領域検出予測プログラム
51 クラック自動検出装置
52 超音波顕微鏡
53 X線CT装置
54 電子部品(測定試料)
55 はんだ
56 基板
57 リードピン
58 端子電極
59 接合部
70 今後クラックが入り得る予測線
71 接合境界においてクラック39の入り得る始点
72 接合境界においてクラック39の入り得る終点
101 ユーザー認証プログラム
102 案件管理プログラム
103 撮影画像アップロードプログラム
104 撮影画像(1)データベース(DB)
105 解析結果(1)データベース(DB)
106 解析レポート(1)データベース(DB)
107 機械学習用データ(1)データベース(DB)
108 機械学習用モデル(パターン分類)データベース(DB)
109 機械学習用モデル(領域検出)データベース(DB)
110 機械学習プログラム
111 自動検出プログラム
112 解析結果編集閲覧プログラム
113 解析レポート自動作成プログラム
114 解析レポート通知プログラム
115 解析レポート編集閲覧プログラム
116 機械学習用モデル(物体検出)データベース(DB)
201 パターン分類予測プログラム
202 パターンA用領域検出予測プログラム
203 パターンB用領域検出予測プログラム
204 パターンC用領域検出予測プログラム
301 撮影画像(A)データベース(DB)
302 パターン(A)データベース(DB)
303 データ水増し前処理プログラム
304 機械学習用データ(A)データベース(DB)
305 機械学習(訓練)プログラム
306 撮影画像群
307 前処理プログラム
308 機械学習(予測)プログラム
309 パターン分類結果群
401 撮影画像(B)データベース(DB)
402 マスク画像(B)データベース(DB)
403 データ水増し前処理プログラム
404 機械学習用データ(B)データベース(DB)
405 機械学習(訓練)プログラム
406 撮影画像群
407 前処理プログラム
408 機械学習(予測)プログラム
409 解析結果(マスク画像)群
801 撮影画像(C)データベース(DB)
802 位置・大きさ(C)データベース(DB)
803 データ水増し前処理プログラム
804 機械学習用データ(C)データベース(DB)
805 機械学習(訓練)プログラム
806 撮影画像群
807 前処理プログラム
808 機械学習(予測)プログラム
809 位置・大きさ結果群
901 撮影画像群
902 領域検出予測プログラム
903 解析結果(マスク画像)群
904 確認状態及び編集結果(マスク画像)データベース(DB)

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40