質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1752閲覧

kerasを使用した良否判定のやり方

takayukid

総合スコア20

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/11 03:29

編集2020/06/12 23:39

前提・実現したいこと

工場のラインに流れる製品の外観チェックの自動化ができないかと
機械学習で実現の検討し始めたばかりです。

DeepLearningの本を3冊程度読んだ程度です

機械学習に知見のある方にご相談したいです。
#アプローチの仕方がまどろっこしいかもしれません

NGのサンプルが少ないため、OKの画像数枚に
手作業でペイントツールで傷っぽい線・点などを書込み
NG画像として作成しています。

単純にOK・NGのディレクトリに画像を格納し、
各画像のラベルデータにOK/NGを使用しています

精度が7割程度しか出ていないので、改善を検討しております
現在、考えているのは、画像の領域にアノテーションのデータを付与して
物体を認識させてから、特定の領域(部品)に対してOK/NGの判定を行おうとしております。

参考になりそうなサイトをご存じでしたらば、教えて頂きたいです

ここに質問の内容を詳しく書いてください。
物体認識と画像判定(OK/NG)を組み合わせた、機械学習の参考になるサンプルコードが知りたいです。

以下は見つけており、動作確認は致しました
・画像判定のOK・NGを分けるだけのサンプルコード
・物体認識を行うサンプルコード

物体認識を行い特定物体を対象としてOK・NGを判定したいです

学習のモデルは下記を使用しています。

model = Sequential() model.add(Conv2D(20, kernel_size=5, strides=2, activation='relu', input_shape=input_shape)) model.add(MaxPooling2D(3, strides=2)) model.add(BatchNormalization()) model.add(Conv2D(50, kernel_size=5, strides=2, activation='relu')) model.add(MaxPooling2D(3, strides=2)) model.add(BatchNormalization()) model.add(Flatten()) model.add(Dense(100, activation='relu')) model.add(Dropout(keep_prob)) model.add(Dense(output_size, activation='softmax'))

■■な機能を実装中に以下のエラーメッセージが発生しました。

python3 jupyternotebook keras2

試したこと

・画像判定の機械学習
・物体認識の機械学習

当初サンプル画像として入手した画像に対する訓練につきましては
Lossについては、7Epoch分の学習を行い、3Epoch目から0.0となり
accuracyについては、6Epoch目から1.0となりました
(OK画像1枚。NG画像は手作業でドットを付与したものを用いて、水増しを行い200枚の訓練データを用意)

ただ、訓練画像としてサンプルでいただいたものは、判定に必要な領域をアップで撮影したもので
実運用上は、撮影者・撮影距離によって、判定に必要な領域以外の箇所が含まれることになります。
なので、さらにサンプルとして、少し距離を置いたイチから撮影した画像(OK)を
訓練したモデルを用いて判定すると、0.65-0.72程度の範囲でOKするようになりました。
撮影者・撮影距離によるバラツキを考えると、自動で、画像内における判定対象領域を特定(物体認識)後に
OK/NG判定するようにできれば、OK/NG判定精度を挙げられるのではないかと考えた次第です。

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

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

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

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

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

meg_

2020/06/12 12:12

「精度が7割程度しか出ていない」とありますが、訓練データとテストデータの精度の差はどのくらいですか?
takayukid

2020/06/12 23:40

レスありがとうございます >「精度が7割程度しか出ていない」とありますが、訓練データとテストデータの精度の差はどのくらいですか? 訓練データとテストデータの差につきまして、追記いたしました。 わかりづらい記載となり申し訳ございません。 お時間あるときにご確認お願いいたします
Q71

2020/06/13 02:11

ok画像に線を加えているということですが、実際のng画像と拡大して比べてみてください。 画素数が少ないですが、KeyenceのIV2という画像センサーでは、AIでの判定もできます。検討されてみてはいかがでしょうか。
takayukid

2020/06/16 00:01

レスありがとうございます。 画像センサーのご紹介ありがとうございます。 しかしながら、取得した画像を加工するのは大丈夫なのですが 画像を取得する手段には制約を持たせたくないという背景があります。 そのため、YOLOを使用した物体認識で学習した領域を 切出して判定用のデータとして選択しようかと考え始めております ※切出した画像が小さすぎる場合は、エラー判定を出すようにしようかと
Q71

2020/06/16 12:26

教師画像が少ない時に、反転して作ることがありますが、製造現場ではあまりいい結果にならないことがあります。影の出来方が異なり、「現実にはあり得ない画像を教師データとした」ために実運用に耐えられないことになります。写真の撮り方は、かなり重要な要素です。 機械学習は、何を学習したかわかりにくいので、何度も試しましょう。 なお、畳み込みが2層しかありませんが、せめて4層まで増やしましょう。層の数もハイパーパラメータなので、色々試しましょう。
takayukid

2020/06/17 23:39

レスありがとうございます。 畳み込みを4層以上で、検討するようにします。 ありがとうございました。
takayukid

2020/06/17 23:43

Q71様、質問の方クローズしようかと思いますので 回答の方に、「2020/06/16 21:26 」と同じ内容を記載いただけないでしょうか? ベストアンサーに指定させて頂こうと思います
guest

回答1

0

ベストアンサー

教師画像が少ない時に、反転して作ることがありますが、製造現場ではあまりいい結果にならないことがあります。影の出来方が異なり、「現実にはあり得ない画像を教師データとした」ために実運用に耐えられないことになります。写真の撮り方は、かなり重要な要素です。これは、実際に何枚も撮って見て学ぶしかありません。ウチでは照明やレンズを借りて試し、実際に使うものを選定しています。

機械学習は、何を学習したかわかりにくいので、何度も試しましょう。画像系の場合、判断根拠を可視化する手法があるので、それを使って「判断してほしいところを元に判断しているか」確認しましょう。画像が大きいと、人が無視しているところを元に判断されてしまうことがあります。

なお、畳み込みが2層しかありませんが、せめて4層まで増やしましょう。層の数もハイパーパラメータなので、色々試しましょう。ディープラーニングの「ディープ」は、層が深いことを意味しますが、おおよそ4層以上の事を言います。

投稿2020/06/19 12:05

Q71

総合スコア995

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

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

takayukid

2020/06/19 21:40

ご回答ありがとうございます。 ベストアンサーに設定させていただきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問