Cassava for OpenPoC 操作説明

使い方説明

準備

Cassava OpenPoC版をダウンロードする

まずは、ダウンロードページより、Cassava OpenPoC版のダウンロードを行ってください。 ①「Cassava OpenPoC版ダウンロード用リンクを受信する」から登録情報を送信いただくと、ご登録のメールアドレス宛にダウンロード用のURLが自動発行されます。 ダウンロードリンクの有効期限は30分です。有効期限が切れた場合はお手数ですが再度ダウンロードフォームの入力からやり直してください。

送信されたURLにアクセスすると次のようなページに遷移します。 ②「Cassava OpenPoC CPU版をダウンロードする」を押すとインストーラのダウンロードが開始されます。 以上でダウンロードは完了です。 何らかの理由でダウンロードが完了できない場合、エラーメッセージが表示されます。 お手数ですが、エラーメッセージに従ってダウンロードをやり直してください。

▲ダウンロード成功時
画面左下にダウンロードファイルが表示されます(Google Chromeの場合)

▲ダウンロード失敗時
画面中央に赤くエラーメッセージが表示されます

Cassava OpenPoC版をインストールする

ダウンロードが完了したら、インストーラを起動します。

①ダウンロードしたファイルを展開してください。

次のようなポップアップが表示された場合は②「詳細情報」をクリックしてください。

②「詳細情報」をクリックすると③「実行」ボタンが表示されるので、そちらを選択してください。 選択していただくとインストーラが起動します。

インストーラが起動したら、初期設定を行います。

デスクトップ上にショートカットを作成する場合は ④「デスクトップ上にアイコンを作成する」にチェックをいれてください。

設定が終わりましたら⑤「インストール」を開始してください。

インストールが無事に完了したらCassava OpenPoC版が自動で起動します。 起動しない時は、ショートカットを作成した場合はデスクトップのアイコンから、作成していない場合は「PC¥¥Windows(C:)¥¥Program Files(x86)¥¥CassavaforOpenPoC¥¥cassava_poc」から起動してください。

▲インストール中画面

▲インストール完了画面

操作説明

STEP0. ファイルの保存先を指定する

①「参照」から保存場所を選択し、学習結果等の画像を保存するためのフォルダを作成します。

②保存場所の指定が完了したら、TRAININGのページへ移動してください。

・TRAINING
トレーニング・検査を開始します。OpenPoC版をご利用の方はこちらをクリックしてください。

・TEST
トレーニングが完了している場合は、検査から始めることができます。本機能は、OpenPoC版ではご利用になれません。

・HELP
操作説明画面(このページ)に遷移します。

STEP1. テンプレート画像を登録する

検査したい領域を画像から指定します(テンプレート画像を登録します)。

①良品の画像を一枚アップロードしてください。 なお、アップロードした画像はどこにも送信されません。

②アップロードされた画像が表示されます。表示された画像から検査したい領域をトリミングします。

トリミングはドラッグ&ドロップすることで開始できます。 なお、Shiftボタンを押しながらマウスを動かすと補助線を出すことができます。

③検査したい領域の指定が完了したら「テンプレートとして登録」を押してください。
領域の指定が甘い場合や領域の指定に失敗した場合は「やり直す」ボタンを押して再度トリミングを開始してください。
製品部分のみをテンプレート画像として登録すると判定精度の向上に繋がります。

テンプレート画像を切り取る際、Shiftボタンを押しながらマウスを動かすと補助線を出すことができます。

STEP2. OK品の注目領域を登録する

学習に使う複数のOK品画像をSTEP1で登録したテンプレート画像を元に切り取っていきます(テンプレートマッチングを行います)。 注目領域の中から切り取り領域を探すため、適切に設定することで切り取り時間を短縮することができます。

①OK品画像が保存されているフォルダをアップロードしてください。

OK品画像が保存されているフォルダをアップロードすると、フォルダ内の画像を重ね合わせた合成画像が生成されます。

重ね合わさった製品部分を覆い隠すようにトリミングを行ってください。

なお、補助線の出し方はSTEP1と同様です。

②トリミングが完了したら「OK品の注目領域として登録」を押してください。 やり直す場合は、STEP1と同様に「やり直し」ボタンを押してください。

③注目領域の設定が完了したら「テンプレートマッチング開始」を押してテンプレートマッチングを実行してください。

なお、テンプレートマッチングとは、アップロードされた画像一枚一枚に対し、STEP1で登録したテンプレート画像に最も類似する部分を抽出する手法のことを言います。

④テンプレートマッチングが完了したらアラートが出ますので「OK」を押してダイアログを閉じます。

⑤「テンプレートマッチングの結果を確認」から次に進んでください。

STEP3. OK品テンプレートマッチングの結果を確認する

①STEP1で登録したテンプレート画像を表示しています。

②テンプレート画像とSTEP2で設定した注目領域の類似度を表したヒートマップ画像です。 赤くなっている箇所がテンプレート画像の中心との類似度が最も高い部分です。

③緑の矩形部分がテンプレートマッチングの結果画面です。 緑の矩形内に適切に製品が入っていることを確認してください。

④全てのOK品画像に対するテンプレートマッチングの結果を確認することができます。

⑤OK品画像が保存されているフォルダ内にNG品画像が混同していた場合や、OK品画像でもテンプレートマッチングが適切でない場合は「削除」ボタンをクリックして消去してください。NG品画像を排除することで判定精度の向上に繋がります。

⑥削除作業が終われば「NG品注目領域設定へ」を押して次に進んでください。

STEP4. NG品の注目領域を登録する

STEP2と同様に複数のNG品画像をSTEP1で登録したテンプレート画像を元に切り取っていきます(テンプレートマッチングを行います)。 注目領域の中から切り取り領域を探すため、適切に設定することで切り取り時間を短縮することができます。
なお、CassavaはOK品画像のみから良品条件を学習するソフトウェアですので、ここでアップロードされた画像は学習には使用しません。 STEP6でのOK品画像とNG品画像に対する前処理の比較や良品学習がきちんとできているかの確認のために使用しますので、アップロードする画像は最低1枚でも構いません。

テンプレートマッチングが完了したら「テンプレートマッチングの結果を確認」から次に進んでください。

STEP5. NG品テンプレートマッチングの結果を確認する

STEP3と同様にNG品画像が保存されているフォルダ内にOK品画像が混同していないか、テンプレートマッチングは適切かを確認してください。 適切でない場合は「削除」ボタンをクリックして消去してください。

なお、この時点でNG品画像を適切に検出できていない場合、OK品画像との類似度が著しく低いと言えます。この原理を利用することでOK品画像とNG品画像との識別が可能となります。 NG品画像を適切に検出できていない場合はソフトウェアのカスタマイズを行わせて頂きます。こちらよりお問い合わせください。

①削除作業が終われば「学習設定画面へ」を押して次に進んでください。

STEP6. 学習方法を設定する

試行錯誤を通じて様々に学習パラメータを操作し、製品にあった最適な学習パラメータを探索していきます。

①学習パラメータの設定画面です。学習パラメータには前処理、学習深度、学習回数があります。
②前処理のプレビュー画面です。左側がOK品画像に対して、右側がNG品画像に対して前処理を適用した結果になります。 下部の「前の画像を表示」ボタン、「次の画像を表示」ボタンを押すことでそれぞれの画像を切り替えることができます。

③前処理のパラメータ設定を行います。

前処理には「収縮」「膨張」「エッジ」「平滑化処理」「分散処理」「カラー処理」の6種類を用意しております。 前処理のかけ方によって判定精度が大きく変わってきますので複数回パラメータを調整し学習を繰り返すことをお勧めします。 NG品画像のNG箇所が強調されるように前処理をかけていただくと、判定精度が向上しやすいです。 各前処理に関する説明はこちらをご覧ください。

④チェックボックスをクリックし、スライドバーを動かすことで前処理のパラメータの調整が可能になります。 前処理のパラメータを調整すればリアルタイムでプレビュー画面が更新されます。

※注意
⑤学習時に前処理を適用するためには「登録」を押していただく必要があります。

学習時に前処理を適用せずにプレビューを終了する場合は、「登録」ボタンを押さずにチェックボックスを外してください。

⑥前処理を登録すると前処理一覧のテキストエリアに反映されます。 また、複数の前処理を設定することができます。一つの前処理では判定精度が低い場合でも、複数の前処理を組み合わせることによって判定精度が飛躍的に向上することがあります。 追加で前処理を適用する場合は、上記の「チェックボックス」と「登録」ボタンを操作して前処理を追加してください。 前処理の登録を取り消す場合は、「一つ前の前処理を消す」ボタンを押してください。

登録された前処理パラメータを保存しておきたい場合は「現在の設定情報を保存」を押してください。 本導入の際や弊社に実証実験をご依頼いただく際にご提示いただくと導入までの流れがスムーズになります。 学習時の判定精度の高い前処理パラメータは保存しておくことをお勧めします。

前処理のパラメータ設定が完了したら、学習深度と学習回数を設定します。

⑦学習深度はニューラルネットワークの層の深さを表します。一般に層が深ければ深いほど表現力が高いことが言われています。一方で、層が深ければ深いほど学習するパラメータ数が多くなり、学習にかかる時間や検証にかかる時間が多くなります。 Cassavaでは、学習深度を「7層」「9層」「11層」から選択可能です。

⑧学習回数は言葉の通りで学習する回数を表します。学習回数が少なすぎると学習不足で十分な判定精度が得られません。一方で、学習回数が多すぎても「過学習」という現象に陥り、十分な判定精度が得られません。Cassavaでは学習回数が多くても「過学習」にならないようにアーリーストッピングというテクニックを使っておりますが、製品によって適切な学習回数を見つけることが大切になります。

学習回数の目安は1000回ほどです。

学習方法の設定が全て完了しましたら画面左下の「学習開始」ボタンを押して次に進んでください。

⑨学習を開始するとリアルタイムで学習の進捗を確認できます。グラフの横軸は学習回数、縦軸はLOSS(スコア、不良度合い)を表します。OK品画像に対して、LOSSは小さければ小さいほど好ましい結果となります。また、それぞれの曲線は以下を表します。
青色:良品学習に使っているOK品画像に対するLOSS
橙色:良品学習の検証に使っているOK品画像に対するLOSS
緑色:NG品画像に対するLOSS

橙色の曲線と青色の曲線は近いほど学習状態が好ましく、橙色の曲線と緑色の曲線は離れているほど学習状態が好ましいです。
それぞれの曲線が平行線状になれば学習が収束していると言えます。それぞれの曲線が平行線状にならず、学習不足の状態で学習が終了してしまった場合は、学習回数を増やして再度学習を開始してください。

学習が全て完了しましたら画面左下の「検査画面へ」ボタンを押して次に進んでください。 前処理と学習をし直す場合は、次には進まず学習パラメータの再設定後、再学習を行なってください。

STEP7. 検査する

①「選択」から検査画像をアップロードしてください。

次に閾値を入力します。検査対象のスコア(不良度合い)が閾値よりも小さければOK品、大きければNG品というような基準で判定します。 閾値の設定は随時変更可能です。また、閾値を設定しない場合、学習時の良品スコアの最大値が閾値として自動的に設定されます。 最初の1枚の判定時はOK品の分布が表示されてないため、閾値は未入力のままで「判定する」ボタンを押してください。

②判定後の画面です。検査結果について説明します。

  • 判定結果:OKもしくはNGの判定結果

  • 良品分布の最小値:良品学習に使っているOK品画像に対するスコア(LOSS、不良度合い)の最小値

  • 良品分布の最大値:良品学習に使っているOK品画像に対するスコア(LOSS、不良度合い)最大値

  • 現在の閾値:OKもしくはNG判定する際の閾値(未入力の場合は良品分布の最大値)

  • 検査画像のスコア:アップロードされた画像に対するスコア(LOSS、不良度合い)

表示画面について説明します。
  • . 【テンプレート画像】:Step1.で設定したテンプレート画像

  • . 【アップロード画像】:検査用にアップロードされた画像

  • . 【類似度分布】:の類似度をヒートマップで表した画像

  • . 【に対するテンプレートマッチング後画像】:検査画像に対するテンプレートマッチングの結果画像

  • . 【に対する前処理画像】:テンプレートマッチングされた画像にStep6.で設定した前処理を適用した画像

  • . 【AI予測画像】:を入力した際に学習結果に基づきAIが予測した良品画像(が良品なら自己再生された画像となる)

  • . 【エラー画像】:を比較した画像(が良品なら暗い画像、が不良品なら不良箇所が明るい画像となる)

  • . 【ヒストグラム】:学習時の良品の分布(青い分布)、閾値(黒の波線)、検査画像のスコア(赤い分布)を表示

その他

①のテーマから「Dark」を選択することでダークモードを使用することができます。 夜間や暗所での作業に適しています。 元に戻したいときは「Normal」を選択してください。

▲通常(Normal)時

▲ダークモード(Dark)時

前処理について

STEP6. 学習方法を設定する」の前処理について説明します。 ご覧になりたい前処理をクリックすることで詳細を確認することができます。(再度クリックで非表示となります。)

画像を収縮させます。パラメータの値が大きいほど収縮度合いが大きくなります。

▲収縮適用前画像(元画像)

▲収縮適用後画像(パラメータ5)

▲収縮適用後画像(パラメータ10)

画像を膨張させます。パラメータの値が大きいほど膨張度合いが大きくなります。

▲膨張適用前画像(元画像)

▲膨張適用後画像(パラメータ5)

▲膨張適用後画像(パラメータ10)

エッジ(境界線)を検出します。パラメータの値が大きいほど厳しく検出します。

▲エッジ適用前画像(元画像)

▲エッジ適用後画像(パラメータ0.0)

▲エッジ適用後画像(パラメータ1.0)

平滑化により、ノイズ除去を行います。「エッジ強度」パラメータを調整することで、エッジを残しながら画像をぼかすことができます。「ぼかし強度」パラメータを調整することで、全体的に画像をぼかすことができます。「フィルターサイズ」パラメータの値が大きいほど、平滑化のフィルターサイズが大きくなります。

▲平滑化適用前画像(元画像)

▲平滑化適用後画像(OK品)

▲パラメータ情報

データの散らばり度合いを表現します。「分散強度」パラメータの値が大きいほど、詳細にデータの散らばり具合を表現します。「フィルターサイズ」パラメータの値が大きいほど、分散のフィルターサイズが大きくなります。

▲分散適用前画像(元画像)

▲分散適用後画像(OK品)

▲パラメータ情報

HSVの調整によって画像中の特定の色を抜くことができます。 HSVとは色相(Hue)、彩度(Saturation)、明度(Value)の三つの成分からなる色空間のことを指します。

色相(Hue)

色相の表示範囲を決定するパラメータです。 パラメータは0から179までの値を操作することができます。 パラメータの数値と実際の色相の対応関係については次の画像の通りです。

▲パラメータと色相の対応関係

また、色相1と色相2のパラメータを設定することで色相の抽出が可能です。

色相1<色相2の場合

二つのパラメータが次のような位置関係にある時、色相1から色相2の間の色相を抽出することができます。 例えば、青色付近を抽出する場合、「色相1を80、色相2を130」に調整します。

▲青色付近抽出画像

色相1>色相2の場合

二つのパラメータが次のような位置関係にある時、先ほどとは反対に色相1から色相2の間以外の色相を抽出することができます。 例えば、青色付近以外を抽出する場合、「色相1を130、色相2を80」に調整します。

▲青色付近以外抽出画像

彩度(Saturation)

色の鮮やかさを決定します。 パラメータは0から255までの値を操作することができます。 彩度が高ければ高いほど、より鮮やかな色合いを示します。

▲パラメータと彩度の対応関係

また、色相と同様に二つのパラメータの位置関係により、彩度を抽出することができます。

明度(value)

色の明るさを決定します。 パラメータは0から255までの値を操作することができます。 明度が高ければ高いほど、より明るい色合いを示します。

▲パラメータと明度の対応関係

また、色相と同様に二つのパラメータの位置関係により、明度を抽出することができます。

実際にカラー処理を施した例

▲カラー調整前画像(元画像)

▲カラー調整後画像(OK品)

▲パラメータ情報

適切なカラー処理により、良品の特徴・不良品の特徴をより捉えやすくなります。

「収縮」と「膨張」の組み合わせにより、ホコリなどのノイズを消す方法をご紹介します。 OK品とNG品の双方の画像中に小さなホコリなどが写っている場合、それらが不良箇所として誤検出されてしまうことがあります。 これを防ぐために、前処理によってあらかじめそれらのノイズを除去しておく必要があります。

▲元画像

▲元画像にノイズを描画した画像

▲ノイズを赤丸でマークした画像

「膨張」→「収縮」の順番で処理をかけることでノイズを除去することができます。 まず、ノイズ描画画像に対して膨張処理をかけます。この時点でノイズを消去することに成功していますが、製品部分も膨張してしまっています。 これを元に戻すために膨張時と同じパラメータの値で収縮処理をかけます。こうすることで、元画像を復元する形でノイズのみを除去することができます。

▲元画像にノイズを描画した画像

▲膨張処理をかけた画像

▲収縮処理をかけた画像(復元)

「膨張→収縮」によるノイズ除去の他にも、これを逆転させた「収縮→膨張」の前処理も有効な場合があります。 また、膨張や収縮以外の前処理の組み合わせによって様々な学習データのクレンジングが可能となっております。 前処理の最適な組み合わせは製品依存であるため、貴社の製品に対してどのような前処理が有効か、複数のパターンを試していただくことをお勧めします。

貴社内での実証実験の実施が難しい場合、ご相談いただくことも可能です。お気軽にこちらよりお問い合わせください。

よくあるご質問

よくあるご質問をご紹介します。 質問内容をクリックすることで回答を確認することができます。

いいえ、必要ありません。
OpenPoC版のソフトウェアでは、ノウハウや機密データの持ち出しおよびSIerやAIベンダーへの実証実験(PoC)の委託は不要です。
詳しくはこちらをご参照ください。

Cassava OpenPoC版(ver.1.0.0)は、画像の角度補正機能、倍率補正機能がついておりませんので、サンプル画像のパターンの向きなど同じ向きに揃えて揃えていただきご撮影ください。

多ければ多いほど望ましいですが、最低でも数百枚のデータを用いて検証を行ってください。

NG品画像は良品学習がうまくいっているかの検証のために使います。検査したい枚数分(1枚〜)だけNG品画像をご用意ください。

学習の回数ですが、理想的には1000回を推奨しております。CPU版に関しては学習に数十時間かかることもございますが了承ください。

検証結果の保存先をcドライブ直下にすると、パーミッションエラーで読み込めません。
DocumentフォルダやDownloadフォルダなど、読み書きに対してroot権限が不要な場所に検証結果を保存してください。

1600x900の解像度が必要です。これより解像度が低いと全画面に表示されません。大きめのモニターで再度ダウンロードください。

お問い合わせ

実証実験に関する相談や製品版のご購入、バグ報告、その他のお問い合わせはこちらから。

page top