MatConvNetで構築されたネットワークは、異なるスケールの画像を受け取り、それを評価します。例えば: -ディープネットワークがオブジェクト検出にさまざまなスケールの画像を受け入れる方法を教えてください。
%img is an image of size 730*860*3
%net is loaded DagNN obj
scales = [-2 -1 0 0.5 1]
for s = 2.^scales
img = imresize(raw_img, s, 'bilinear');
img = bsxfun(@minus, img, averageImage);
inputs = {'data', img};
net.eval(inputs);
end
デバッグ時には、私はリサイズimg
を発見し、ループのすべての反復を評価しました。しかし、ネットワーク(net
)は固定画像を受け入れることになっていました。よう - 訓練されたネットワークロードした後
K>> net
net =
DagNN with properties:
layers: [1x319 struct]
vars: [1x323 struct]
params: [1x381 struct]
meta: [1x1 struct]
m: []
v: []
mode: 'test'
holdOn: 0
accumulateParamDers: 0
conserveMemory: 1
parameterServer: []
device: 'cpu'
: -
K>> net.vars(1, 1).value
ans =
[]
そしてITER 1 :-(for
ループ内の)2 ITER
K>> net.vars(1, 1).value
ans =
[64 64 3]
()
K>> net.vars(1, 1).value
ans =
[160 160 3]
など.... だからどのようにth e DagNNはそのような入力を処理しており、それ自体を評価していますか?(私はMatConvNetを初めて使用しているため、ドキュメンテーションのヘルプを見つけることができませんでした。だからこの質問に答えて、ケラスでそのようなものを作る方法を提案してください)
@UjjalKumarDas次にKerasの問題です。 MatConvNetでは、固定サイズ入力を使用する必要はありません – DataHungry
ありがとうございます。私が知る限り、私はkeras(python)でCNNを実装しました。固定サイズの画像を提供することになっていました。しかしここでは物事が違う。私はあなたに[this](http://ethereon.github.io/netscope/#/gist/8a0d5ef37da9dc4cd611d178404b3641)を素早く見てほしい。ここでは、ネットワークは固定サイズのデータを受け入れるように定義されています。しかし、実行時にそれは私を混乱させた異なるサイズの画像を受け入れました。 _私はPythonで同じことを実装できる方法はありますか?_あなたの答えを探しています。もう一度感謝します。 –
申し訳ありませんが、[ネットワーク](http://ethereon.github.io/netscope)の[link](https://github.com/peiyunh/tiny/blob/master/tiny_face_detector.m#L130) /#/ gist/8a0d5ef37da9dc4cd611d178404b3641)の図を参照してください。 –