CNNで画像にフィルターをかける際のフィルターの選び方について
ライブラリでCNNをするには以下のようにしますが
実際にCNNでどのようにフィルターを設計するかわかりません
ライブラリを使えば以下のようにらく~~に設計できるのですが↓
python
1from keras.models import Sequential 2model = Sequential() # Sequentialオブジェクトの生成 3# 畳み込み層の設定 4model.add( 5 Conv2D(filters=10, # フィルターの数 6 kernel_size=(3, 3), # 3×3のフィルターを使用 7 padding='same', # ゼロパディングを行う 8 input_shape=(28, 28, 1), # 入力データのサイズ 9 activation='relu' # 活性化関数はReLU 10 ))
自力で設計する場合
例えば横縦をMinistにかける場合↓
# 縦方向のエッジを検出するフィルター vertical_edge_fil = np.array([[-2, 1, 1], [-2, 1, 1], [-2, 1, 1]], dtype=float) # 横方向のエッジを検出するフィルター horizontal_edge_fil = np.array([[1, 1, 1], [1, 1, 1], [-2, -2, -2]], dtype=float)
となりますが「1」だけだと縦を適用させればよさそうですがMinistでも09まで特徴量があるので9までそれぞれ縦横いろいろあるのでどのようにすればいいのか教えて下さい。
どのフィルターを何枚レイヤーにかませればいいか見当もつきません。
kerasではライブラリが勝手にやってくれるのでいいのですが
自分で例えば顔認識をしたい場合などどのようにすればいいかわからないです。
Ministでも0
あとはプーリングの設計の仕方も教えてもらえれば幸いです。
よろしくお願いします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。