b/2015/横井
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*2015-12-22 [#wc47030f]
caltech256と鳥画像での識別実験
実験条件はcaltech101のときと同じで、Bofと色のヒストグラムインターセクションの値を用いて、
新たな類似度、「a*Bof+(1-a)*Color」を求め、NN法とSVMで識別を行った。
**caltech256での実験 [#x38c83b7]
学習用データ50 テストデータ30で実験
caltec256
####################
K=500
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.167187
NN 0.070508
testdata score
svm 0.179297
NN 0.063672
a= 0.4
vrdata score
svm 0.193359
NN 0.098047
testdata score
svm 0.198307
NN 0.092188
a= 0.6
vrdata score
svm 0.196680
NN 0.121484
testdata score
svm 0.203516
NN 0.121615
a= 0.8
vrdata score
svm 0.193164
NN 0.133789
testdata score
svm 0.199740
NN 0.137760
a= 1.0
vrdata score
svm 0.166016
NN 0.127148
testdata score
svm 0.166797
NN 0.129557
####################
K=3000
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.187695
NN 0.071094
testdata score
svm 0.199089
NN 0.062109
a= 0.4
vrdata score
svm 0.216211
NN 0.100195
testdata score
svm 0.224479
NN 0.090104
a= 0.6
vrdata score
svm 0.229102
NN 0.127148
testdata score
svm 0.233854
NN 0.123958
a= 0.8
vrdata score
svm 0.228711
NN 0.145703
testdata score
svm 0.237630
NN 0.145443
a= 1.0
vrdata score
svm 0.200391
NN 0.135547
testdata score
svm 0.205078
NN 0.142318
####################
K=5000
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.191406
NN 0.069727
testdata score
svm 0.210026
NN 0.061589
a= 0.4
vrdata score
svm 0.220703
NN 0.099023
testdata score
svm 0.241276
NN 0.093490
a= 0.6
vrdata score
svm 0.233398
NN 0.125586
testdata score
svm 0.255469
NN 0.126823
a= 0.8
vrdata score
svm 0.234961
NN 0.148438
testdata score
svm 0.256250
NN 0.148438
a= 1.0
vrdata score
svm 0.208203
NN 0.144141
testdata score
svm 0.222396
NN 0.148438
####################
K=7000
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.181836
NN 0.065234
testdata score
svm 0.210938
NN 0.059635
a= 0.4
vrdata score
svm 0.219141
NN 0.094727
testdata score
svm 0.242188
NN 0.088281
a= 0.6
vrdata score
svm 0.236133
NN 0.124609
testdata score
svm 0.258333
NN 0.120313
a= 0.8
vrdata score
svm 0.238477
NN 0.146484
testdata score
svm 0.262109
NN 0.142969
a= 1.0
vrdata score
svm 0.207617
NN 0.145313
testdata score
svm 0.235286
NN 0.147526
####################
K=10000
a= 0.0
vrdata score
svm 0.044141
NN 0.039453
testdata score
svm 0.035807
NN 0.030339
a= 0.2
vrdata score
svm 0.188086
NN 0.063867
testdata score
svm 0.212500
NN 0.058073
a= 0.4
vrdata score
svm 0.231445
NN 0.091016
testdata score
svm 0.249479
NN 0.085677
a= 0.6
vrdata score
svm 0.246094
NN 0.122656
testdata score
svm 0.264583
NN 0.117839
a= 0.8
vrdata score
svm 0.259375
NN 0.150586
testdata score
svm 0.274870
NN 0.148828
a= 1.0
vrdata score
svm 0.225195
NN 0.150195
testdata score
svm 0.247917
NN 0.150651
**鳥の画像での実験 [#me7dc425]
使用データhttp://www-cvr.ai.uiuc.edu/ponce_grp/data/
6クラス、1クラスあたりの学習用データ60、テストデータ40で実験
####################
K=500
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.525000
NN 0.283333
testdata score
svm 0.545833
NN 0.316667
a= 0.4
vrdata score
svm 0.600000
NN 0.350000
testdata score
svm 0.591667
NN 0.333333
a= 0.6
vrdata score
svm 0.650000
NN 0.391667
testdata score
svm 0.591667
NN 0.333333
a= 0.8
vrdata score
svm 0.658333
NN 0.366667
testdata score
svm 0.591667
NN 0.391667
a= 1.0
vrdata score
svm 0.633333
NN 0.391667
testdata score
svm 0.583333
NN 0.366667
####################
K=3000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.541667
NN 0.291667
testdata score
svm 0.612500
NN 0.279167
a= 0.4
vrdata score
svm 0.650000
NN 0.316667
testdata score
svm 0.679167
NN 0.350000
a= 0.6
vrdata score
svm 0.691667
NN 0.425000
testdata score
svm 0.720833
NN 0.362500
a= 0.8
vrdata score
svm 0.741667
NN 0.516667
testdata score
svm 0.733333
NN 0.433333
a= 1.0
vrdata score
svm 0.733333
NN 0.583333
testdata score
svm 0.716667
NN 0.479167
####################
K=5000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.558333
NN 0.291667
testdata score
svm 0.645833
NN 0.283333
a= 0.4
vrdata score
svm 0.675000
NN 0.325000
testdata score
svm 0.745833
NN 0.341667
a= 0.6
vrdata score
svm 0.750000
NN 0.425000
testdata score
svm 0.770833
NN 0.383333
a= 0.8
vrdata score
svm 0.783333
NN 0.508333
testdata score
svm 0.804167
NN 0.470833
a= 1.0
vrdata score
svm 0.783333
NN 0.583333
testdata score
svm 0.770833
NN 0.512500
####################
K=7000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.550000
NN 0.283333
testdata score
svm 0.620833
NN 0.279167
a= 0.4
vrdata score
svm 0.650000
NN 0.325000
testdata score
svm 0.729167
NN 0.333333
a= 0.6
vrdata score
svm 0.716667
NN 0.408333
testdata score
svm 0.745833
NN 0.370833
a= 0.8
vrdata score
svm 0.800000
NN 0.533333
testdata score
svm 0.758333
NN 0.433333
a= 1.0
vrdata score
svm 0.791667
NN 0.625000
testdata score
svm 0.783333
NN 0.541667
K=10000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.583333
NN 0.275000
testdata score
svm 0.629167
NN 0.262500
a= 0.4
vrdata score
svm 0.658333
NN 0.325000
testdata score
svm 0.741667
NN 0.304167
a= 0.6
vrdata score
svm 0.750000
NN 0.391667
testdata score
svm 0.762500
NN 0.341667
a= 0.8
vrdata score
svm 0.775000
NN 0.483333
testdata score
svm 0.779167
NN 0.458333
a= 1.0
vrdata score
svm 0.791667
NN 0.591667
testdata score
svm 0.762500
NN 0.520833
*2015-12-16 [#l9d63688]
**色情報とBofを組み合わせた識別実験 [#ua4e6610]
bofで作ったヒストグラムのヒストグラムインターセクションの値と画像の色情報から作ったヒストグラムのヒストグラムインターセクションから新たなヒストグラムインターセクションの値を作り、その類似度を調べる。
色情報は画像をHSV形式にしHのみを用い、ビン数180のヒストグラムを作った。
新たなヒストグラムインターセクションの値は
a*bof+(1-a)*color (aは定数)
で求める。
使用データはcaltech101で学習データ2000枚、テストデータ1000枚
###################
K=500
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.388000
NN 0.157000
a=0.400000
svm 0.434000
NN 0.227000
a=0.600000
svm 0.444000
NN 0.300000
a=0.800000
svm 0.455000
NN 0.314000
a=1.000000
svm 0.413000
NN 0.328000
###################
K=3000
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.423000
NN 0.153000
a=0.400000
svm 0.481000
NN 0.231000
a=0.600000
svm 0.500000
NN 0.309000
a=0.800000
svm 0.509000
NN 0.376000
a=1.000000
svm 0.500000
NN 0.382000
####################
K=5000
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.425000
NN 0.160000
a=0.400000
svm 0.496000
NN 0.231000
a=0.600000
svm 0.521000
NN 0.320000
a=0.800000
svm 0.535000
NN 0.395000
a=1.000000
svm 0.521000
NN 0.411000
####################
K=10000
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.425000
NN 0.150000
a=0.400000
svm 0.495000
NN 0.225000
a=0.600000
svm 0.523000
NN 0.322000
a=0.800000
svm 0.530000
NN 0.384000
a=1.000000
svm 0.516000
NN 0.411000
最近傍法ではbofのヒストグラムインターセクションの値をそのまま用いたほうが最も識別率が良かったが、svmでの識別だと少し色の情報を加えたヒストグラムインターセクションのほうが良い識別結果となった。
*2015-12-10 [#u4da453c]
**色情報のみを用いた識別 bはビン数 [#k7690b14]
画像をHSV形式にしHの値のみでヒストグラムを作り、ヒストグラムインターセクションで類似度を調べる。
10クラスの識別
学習用データ1クラスにつき30
テストデータ1クラスにつき20
b=6
svm 0.215000
NN 0.160000
b=18
svm 0.270000
NN 0.210000
b=36
svm 0.235000
NN 0.230000
b=60
svm 0.275000
NN 0.250000
b=90
svm 0.320000
NN 0.235000
b=180
svm 0.305000
NN 0.275000
101クラス
学習用データ1クラスにつき20
テストデータ1クラスにつき10
b=180
svm 0.100000
NN 0.081188
b=90
svm 0.081188
NN 0.075248
b=60
svm 0.074257
NN 0.075248
**Bag-of-Featuresでの識別 [#v5ac8e13]
101クラス
学習用データ1クラスにつき20
テストデータ1クラスにつき10
K=500
svm 0.411881
NN 0.339604
K=3000
svm 0.500000
NN 0.383168
K=5000
svm 0.526733
NN 0.389109
K=10000
svm 0.534653
NN 0.407921
**色とSIFTの組み合わせ [#wa9e4d7f]
101クラス
decision_function(X)で出力されるsumの識別結果の実数値の値の和
0.38316831683168318
ヒストグラムインターセクションの和 NN法
0.29009900990099008
*2015-12-07 [#f16499ce]
&color(red){(2015-12-10追記) コストパラメータの値の更新の仕方を変えたら識別率が変わったので上に記述します};
**色情報のみを用いた画像の識別結果 [#h84ec7e5]
%%使用データcaltech101、クラス数_101、学習用データ数_2020(クロスバリデーション時は2020-202),バリデーションデータ数_202,テストデータ1010%%
%%画像の形式をHSV形式にしHのみを使いビン数180でヒストグラムをつくりSVMヒストグラムインターセクションカーネルで識別%%
%% 識別率 all 0.037624%%
**色情報とSIFT特徴を用いた識別結果 [#bf4a6c00]
%%decision_function(X)で出力される実数値の値を使用する実験条件は上と同じ、%%
%%bofのクラスタ数は5000%%
%%bag of features での識別結果の値をs%%
%%色情報での識別結果の値をcとし%%
%%s+t*c (tは定数)とし、新たな値を求め識別率が変わるか調べた。tの値は0.5ずつ増加させていった(左がtの値)。%%
0.0 0.485148514851
0.5 0.488118811881
1.0 0.488118811881
1.5 0.486138613861
2.0 0.485148514851
2.5 0.484158415842
3.0 0.485148514851
3.5 0.486138613861
4.0 0.485148514851
4.5 0.483168316832
%%色情報を用いないより用いた時のほうが最大0.3%ほど識別率はよくなったが、識別率の大きな変化はなかった。%%
*2015-11-26 [#m6fc8d7f]
最後の学習データの識別をする際の方法が間違っていたのでそこを修正する。
clfについて調べる。
*2015-11-2 [#qf8ee5d9]
**svmを使ったクラスの識別の実験 [#o767c30b]
-使用データmnist
-学習用データ数50000,バリデーションデータ数10000,テスト用データ数10000
-カーネル "polynomial" コストパラメータ0.001~1000000まで10倍ずつ値を変化させていった
-使用したデータは平均が0,分散が1になるように正規化
**実験結果 [#ma42bdd3]
&color(red){(2015-11-30追記) 最後のallの識別率を求める方法が間違っていたので正しい結果を追記します。};
# 0
0.001000 0.900800
0.010000 0.929900
0.100000 0.960600
1.000000 0.985900
10.000000 0.996100
100.000000 0.997800
1000.000000 0.997700
10000.000000 0.997700
100000.000000 0.997700
1000000.000000 0.997700
# 1
0.001000 0.893600
0.010000 0.893600
0.100000 0.893800
1.000000 0.994500
10.000000 0.997200
100.000000 0.997900
1000.000000 0.997400
10000.000000 0.997300
100000.000000 0.997300
1000000.000000 0.997300
# 2
0.001000 0.902600
0.010000 0.912200
0.100000 0.945000
1.000000 0.976600
10.000000 0.989700
100.000000 0.993100
1000.000000 0.993700
10000.000000 0.993700
100000.000000 0.993700
1000000.000000 0.993700
# 3
0.001000 0.897200
0.010000 0.901000
0.100000 0.918500
1.000000 0.962400
10.000000 0.988500
100.000000 0.993900
1000.000000 0.994800
10000.000000 0.994800
100000.000000 0.994800
1000000.000000 0.994800
# 4
0.001000 0.901500
0.010000 0.901700
0.100000 0.909600
1.000000 0.951500
10.000000 0.991000
100.000000 0.994500
1000.000000 0.994300
10000.000000 0.994200
100000.000000 0.994200
1000000.000000 0.994200
# 5
0.001000 0.908600
0.010000 0.910300
0.100000 0.926900
1.000000 0.964500
10.000000 0.987600
100.000000 0.992400
1000.000000 0.991900
10000.000000 0.991900
100000.000000 0.991900
1000000.000000 0.991900
# 6
0.001000 0.907000
0.010000 0.915400
0.100000 0.956400
1.000000 0.989700
10.000000 0.995200
100.000000 0.997000
1000.000000 0.997200
10000.000000 0.997200
100000.000000 0.997200
1000000.000000 0.997200
# 7
0.001000 0.896300
0.010000 0.908900
0.100000 0.939100
1.000000 0.973300
10.000000 0.991200
100.000000 0.993100
1000.000000 0.993100
10000.000000 0.993200
100000.000000 0.993200
1000000.000000 0.993200
# 8
0.001000 0.899000
0.010000 0.899000
0.100000 0.901300
1.000000 0.940800
10.000000 0.983900
100.000000 0.990700
1000.000000 0.991400
10000.000000 0.991400
100000.000000 0.991400
1000000.000000 0.991400
# 9
0.001000 0.903900
0.010000 0.905200
0.100000 0.911800
1.000000 0.960000
10.000000 0.985500
100.000000 0.990000
1000.000000 0.989800
10000.000000 0.989800
100000.000000 0.989800
1000000.000000 0.989800
var_10class.py:60: RuntimeWarning: invalid value encountered in divide
trd[np.isnan(trd)]=0
v ar_10class.py:62: RuntimeWarning: divide by zero encountered in divide
tsd[np.isnan(tsd)]=0
var_10class.py:62: RuntimeWarning: invalid value encountered in divide
tsd[np.isnan(tsd)]=0
# 0 0.997600
# 1 0.998000
# 2 0.993300
# 3 0.994400
# 4 0.994400
# 5 0.993600
# 6 0.994200
# 7 0.993400
# 8 0.991700
# 9 0.991500
%%all 0.958700%%
all 0.9769
CPU times: user 18h 19min 41s, sys: 4min 19s, total: 18h 24min
Wall time: 18h 39min 5s
*2015-10-19 [#x57ac141]
**これからやること [#o742b2ce]
-svmを用いた多クラスの識別の仕方が間違っており性能が出なかったので、もう一度考えなおす
-クラスの数だけ識別器を作る
-C(コストパラメータ)の値をいろいろ変えて実験を行い、一番良かったCの値を用いて識別器を作るようにする
-バリデーションデータを使いCの値を決められるようにする
**2015-10-26 データの正規化 [#n2cd5482]
-学習データの平均ベクトルを求める
-学習データから平均を引く(V,Sも同様)
-学習データの全ての要素の二乗の平均を求め、それをSとし全データを√Sで割る
*2015-09-24 [#zd1d56dc]
**現在の状況 [#c4d6a875]
-一般物体認識をbag_of_featuresの手法を用いて実装した
-扱うデータ Caltech101http://www.vision.caltech.edu/Image_Datasets/Caltech101/
-学習用画像からSIFT特徴をグリッドで抽出し、抽出したSIFT特徴をk-meansでクラスタリングしVisual_Wordsを作る。Visual_Wordsから全画像をヒストグラムに変換し、NN法でクラスの識別を行う。
ヒストグラム間の距離はヒストグラムインターセクションを用いて計算する。
**これからやること [#vdf19935]
-bofの識別器にsvmを使うhttp://scikit-learn.org/stable/
-svmを使えるようになるためsvmを用いて2クラスの識別から出来るようになる。
-RBFカーネルを用いてsvmを使えるようになる
**実験結果 [#c5d27e40]
学習用データ=30
テストデータ=20
class=10
クラスタ=1000
bof
all 0.350000
-------------------
accordion 0.850000
dolphin 0.300000
starfish 0.550000
bass 0.150000
chair 0.150000
llama 0.500000
pizza 0.300000
rhino 0.100000
watch 0.450000
cup 0.150000
CPU times: user 17min 19s, sys: 14.9 s, total: 17min 34s
Wall time: 7min 51s
bof_grid
size=16
dx,dy=16
all 0.600000
-------------------
accordion 1.000000
dolphin 0.350000
starfish 0.750000
bass 0.350000
chair 0.700000
llama 0.450000
pizza 0.700000
rhino 0.450000
watch 0.850000
cup 0.400000
CPU times: user 10min 6s, sys: 7.03 s, total: 10min 13s
Wall time: 5min 39s
bof_grid
size=16
dx,dy=10
all 0.580000
-------------------
accordion 1.000000
dolphin 0.300000
starfish 0.700000
bass 0.250000
chair 0.450000
llama 0.400000
pizza 0.800000
rhino 0.600000
watch 0.900000
cup 0.400000
CPU times: user 24min 34s, sys: 12.7 s, total: 24min 47s
Wall time: 13min
bof_grid
size=16
dx,dy=5
all 0.580000
-------------------
accordion 1.000000
dolphin 0.400000
starfish 0.700000
bass 0.350000
chair 0.400000
llama 0.450000
pizza 0.700000
rhino 0.550000
watch 0.850000
cup 0.400000
CPU times: user 1h 42min 43s, sys: 44.1 s, total: 1h 43min 27s
Wall time: 47min 41s
bof_grid
size=16,24,32
dx,dy=10
all 0.600000
-------------------
accordion 1.000000
dolphin 0.300000
starfish 0.850000
bass 0.450000
chair 0.700000
llama 0.500000
pizza 0.550000
rhino 0.550000
watch 0.850000
cup 0.250000
CPU times: user 1h 27min 35s, sys: 1min 39s, total: 1h 29min 15s
Wall time: 52min 9s
SIFT特徴をグリッドで抽出することで識別率が上がった。
グリッドで抽出する際、特徴点の間隔を狭くし、密に特徴を抽出したが識別率はそれほど変わらなかった。
**2015-09-11 [#ef736d59]
9月18日までに高橋を訪ねて研究の進捗報告をしてください.抽象的なお話ではなく,Air持参で具体的なプログラムや実験結果を示して報告してくれることを期待しています --takataka
----
**2015-4-9 [#w556f0c9]
セミナー第一回、Macの設定などする
**2015-4-16 [#z91ff1a9]
課題4がおわりました
課題5のプログラムのほうは完成しました
**2015-04-23 [#c41dbe7f]
課題5が完成 課題6に取組中
**2015-04-30 [#m43946a4]
課題6が完成
課題7の微分がややこしいので整理中
課題7の微分が間違っていたのと途中の計算が間違っていましたが
修正してプログラムは完成しました。多分問題ないと思うが2重for文など使っているので
その点を修正していきたい。
**2015-05-07 [#f800d622]
課題7が完成しました。
最初プログラムが上手く動かなかったがwの初期値とetaの値を小さくすれば
ちゃんと動いた
課題8はlatexは使える状態になったのでlatex書き方の勉強をしていきたい。
**2015-05-14 [#d57bdf99]
課題に取組めていなかったので前回からほとんど進展はありません
引き続き課題8に取り組んでいきます
**2015-06-04 [#tec525b6]
課題8がほぼ終わりかけています
**2015-06-11 [#uab5ee05]
課題8を修正していました
**2015-06-18 [#u53c8e48]
Bag-of-Featuresの基礎を勉強していました。
**2015-06-25 [#z23fc9b3]
k-means法でSIFT特徴をクラスタリングしvisual wordを求めることは出来た。
しかしvisual wordsのヒストグラムを作るのは時間がなく出来なかったので、これからやっていきたい。
**2015-07-09 [#r9f593d2]
Bag-of-Feraturesのプログラムを作ってみたがSIFT特徴をあまり検出できず、
visual wordが充分に作れず識別率が上がらなかった。
cv2.SIFTの引数について調べて、SIFT特徴を多く取れるように改良したい。
終了行:
#contents
*2015-12-22 [#wc47030f]
caltech256と鳥画像での識別実験
実験条件はcaltech101のときと同じで、Bofと色のヒストグラムインターセクションの値を用いて、
新たな類似度、「a*Bof+(1-a)*Color」を求め、NN法とSVMで識別を行った。
**caltech256での実験 [#x38c83b7]
学習用データ50 テストデータ30で実験
caltec256
####################
K=500
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.167187
NN 0.070508
testdata score
svm 0.179297
NN 0.063672
a= 0.4
vrdata score
svm 0.193359
NN 0.098047
testdata score
svm 0.198307
NN 0.092188
a= 0.6
vrdata score
svm 0.196680
NN 0.121484
testdata score
svm 0.203516
NN 0.121615
a= 0.8
vrdata score
svm 0.193164
NN 0.133789
testdata score
svm 0.199740
NN 0.137760
a= 1.0
vrdata score
svm 0.166016
NN 0.127148
testdata score
svm 0.166797
NN 0.129557
####################
K=3000
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.187695
NN 0.071094
testdata score
svm 0.199089
NN 0.062109
a= 0.4
vrdata score
svm 0.216211
NN 0.100195
testdata score
svm 0.224479
NN 0.090104
a= 0.6
vrdata score
svm 0.229102
NN 0.127148
testdata score
svm 0.233854
NN 0.123958
a= 0.8
vrdata score
svm 0.228711
NN 0.145703
testdata score
svm 0.237630
NN 0.145443
a= 1.0
vrdata score
svm 0.200391
NN 0.135547
testdata score
svm 0.205078
NN 0.142318
####################
K=5000
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.191406
NN 0.069727
testdata score
svm 0.210026
NN 0.061589
a= 0.4
vrdata score
svm 0.220703
NN 0.099023
testdata score
svm 0.241276
NN 0.093490
a= 0.6
vrdata score
svm 0.233398
NN 0.125586
testdata score
svm 0.255469
NN 0.126823
a= 0.8
vrdata score
svm 0.234961
NN 0.148438
testdata score
svm 0.256250
NN 0.148438
a= 1.0
vrdata score
svm 0.208203
NN 0.144141
testdata score
svm 0.222396
NN 0.148438
####################
K=7000
a= 0.0
vrdata score
svm 0.044336
NN 0.039453
testdata score
svm 0.036458
NN 0.030339
a= 0.2
vrdata score
svm 0.181836
NN 0.065234
testdata score
svm 0.210938
NN 0.059635
a= 0.4
vrdata score
svm 0.219141
NN 0.094727
testdata score
svm 0.242188
NN 0.088281
a= 0.6
vrdata score
svm 0.236133
NN 0.124609
testdata score
svm 0.258333
NN 0.120313
a= 0.8
vrdata score
svm 0.238477
NN 0.146484
testdata score
svm 0.262109
NN 0.142969
a= 1.0
vrdata score
svm 0.207617
NN 0.145313
testdata score
svm 0.235286
NN 0.147526
####################
K=10000
a= 0.0
vrdata score
svm 0.044141
NN 0.039453
testdata score
svm 0.035807
NN 0.030339
a= 0.2
vrdata score
svm 0.188086
NN 0.063867
testdata score
svm 0.212500
NN 0.058073
a= 0.4
vrdata score
svm 0.231445
NN 0.091016
testdata score
svm 0.249479
NN 0.085677
a= 0.6
vrdata score
svm 0.246094
NN 0.122656
testdata score
svm 0.264583
NN 0.117839
a= 0.8
vrdata score
svm 0.259375
NN 0.150586
testdata score
svm 0.274870
NN 0.148828
a= 1.0
vrdata score
svm 0.225195
NN 0.150195
testdata score
svm 0.247917
NN 0.150651
**鳥の画像での実験 [#me7dc425]
使用データhttp://www-cvr.ai.uiuc.edu/ponce_grp/data/
6クラス、1クラスあたりの学習用データ60、テストデータ40で実験
####################
K=500
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.525000
NN 0.283333
testdata score
svm 0.545833
NN 0.316667
a= 0.4
vrdata score
svm 0.600000
NN 0.350000
testdata score
svm 0.591667
NN 0.333333
a= 0.6
vrdata score
svm 0.650000
NN 0.391667
testdata score
svm 0.591667
NN 0.333333
a= 0.8
vrdata score
svm 0.658333
NN 0.366667
testdata score
svm 0.591667
NN 0.391667
a= 1.0
vrdata score
svm 0.633333
NN 0.391667
testdata score
svm 0.583333
NN 0.366667
####################
K=3000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.541667
NN 0.291667
testdata score
svm 0.612500
NN 0.279167
a= 0.4
vrdata score
svm 0.650000
NN 0.316667
testdata score
svm 0.679167
NN 0.350000
a= 0.6
vrdata score
svm 0.691667
NN 0.425000
testdata score
svm 0.720833
NN 0.362500
a= 0.8
vrdata score
svm 0.741667
NN 0.516667
testdata score
svm 0.733333
NN 0.433333
a= 1.0
vrdata score
svm 0.733333
NN 0.583333
testdata score
svm 0.716667
NN 0.479167
####################
K=5000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.558333
NN 0.291667
testdata score
svm 0.645833
NN 0.283333
a= 0.4
vrdata score
svm 0.675000
NN 0.325000
testdata score
svm 0.745833
NN 0.341667
a= 0.6
vrdata score
svm 0.750000
NN 0.425000
testdata score
svm 0.770833
NN 0.383333
a= 0.8
vrdata score
svm 0.783333
NN 0.508333
testdata score
svm 0.804167
NN 0.470833
a= 1.0
vrdata score
svm 0.783333
NN 0.583333
testdata score
svm 0.770833
NN 0.512500
####################
K=7000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.550000
NN 0.283333
testdata score
svm 0.620833
NN 0.279167
a= 0.4
vrdata score
svm 0.650000
NN 0.325000
testdata score
svm 0.729167
NN 0.333333
a= 0.6
vrdata score
svm 0.716667
NN 0.408333
testdata score
svm 0.745833
NN 0.370833
a= 0.8
vrdata score
svm 0.800000
NN 0.533333
testdata score
svm 0.758333
NN 0.433333
a= 1.0
vrdata score
svm 0.791667
NN 0.625000
testdata score
svm 0.783333
NN 0.541667
K=10000
a= 0.0
vrdata score
svm 0.250000
NN 0.258333
testdata score
svm 0.333333
NN 0.270833
a= 0.2
vrdata score
svm 0.583333
NN 0.275000
testdata score
svm 0.629167
NN 0.262500
a= 0.4
vrdata score
svm 0.658333
NN 0.325000
testdata score
svm 0.741667
NN 0.304167
a= 0.6
vrdata score
svm 0.750000
NN 0.391667
testdata score
svm 0.762500
NN 0.341667
a= 0.8
vrdata score
svm 0.775000
NN 0.483333
testdata score
svm 0.779167
NN 0.458333
a= 1.0
vrdata score
svm 0.791667
NN 0.591667
testdata score
svm 0.762500
NN 0.520833
*2015-12-16 [#l9d63688]
**色情報とBofを組み合わせた識別実験 [#ua4e6610]
bofで作ったヒストグラムのヒストグラムインターセクションの値と画像の色情報から作ったヒストグラムのヒストグラムインターセクションから新たなヒストグラムインターセクションの値を作り、その類似度を調べる。
色情報は画像をHSV形式にしHのみを用い、ビン数180のヒストグラムを作った。
新たなヒストグラムインターセクションの値は
a*bof+(1-a)*color (aは定数)
で求める。
使用データはcaltech101で学習データ2000枚、テストデータ1000枚
###################
K=500
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.388000
NN 0.157000
a=0.400000
svm 0.434000
NN 0.227000
a=0.600000
svm 0.444000
NN 0.300000
a=0.800000
svm 0.455000
NN 0.314000
a=1.000000
svm 0.413000
NN 0.328000
###################
K=3000
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.423000
NN 0.153000
a=0.400000
svm 0.481000
NN 0.231000
a=0.600000
svm 0.500000
NN 0.309000
a=0.800000
svm 0.509000
NN 0.376000
a=1.000000
svm 0.500000
NN 0.382000
####################
K=5000
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.425000
NN 0.160000
a=0.400000
svm 0.496000
NN 0.231000
a=0.600000
svm 0.521000
NN 0.320000
a=0.800000
svm 0.535000
NN 0.395000
a=1.000000
svm 0.521000
NN 0.411000
####################
K=10000
a=0.000000
svm 0.102000
NN 0.080000
a=0.200000
svm 0.425000
NN 0.150000
a=0.400000
svm 0.495000
NN 0.225000
a=0.600000
svm 0.523000
NN 0.322000
a=0.800000
svm 0.530000
NN 0.384000
a=1.000000
svm 0.516000
NN 0.411000
最近傍法ではbofのヒストグラムインターセクションの値をそのまま用いたほうが最も識別率が良かったが、svmでの識別だと少し色の情報を加えたヒストグラムインターセクションのほうが良い識別結果となった。
*2015-12-10 [#u4da453c]
**色情報のみを用いた識別 bはビン数 [#k7690b14]
画像をHSV形式にしHの値のみでヒストグラムを作り、ヒストグラムインターセクションで類似度を調べる。
10クラスの識別
学習用データ1クラスにつき30
テストデータ1クラスにつき20
b=6
svm 0.215000
NN 0.160000
b=18
svm 0.270000
NN 0.210000
b=36
svm 0.235000
NN 0.230000
b=60
svm 0.275000
NN 0.250000
b=90
svm 0.320000
NN 0.235000
b=180
svm 0.305000
NN 0.275000
101クラス
学習用データ1クラスにつき20
テストデータ1クラスにつき10
b=180
svm 0.100000
NN 0.081188
b=90
svm 0.081188
NN 0.075248
b=60
svm 0.074257
NN 0.075248
**Bag-of-Featuresでの識別 [#v5ac8e13]
101クラス
学習用データ1クラスにつき20
テストデータ1クラスにつき10
K=500
svm 0.411881
NN 0.339604
K=3000
svm 0.500000
NN 0.383168
K=5000
svm 0.526733
NN 0.389109
K=10000
svm 0.534653
NN 0.407921
**色とSIFTの組み合わせ [#wa9e4d7f]
101クラス
decision_function(X)で出力されるsumの識別結果の実数値の値の和
0.38316831683168318
ヒストグラムインターセクションの和 NN法
0.29009900990099008
*2015-12-07 [#f16499ce]
&color(red){(2015-12-10追記) コストパラメータの値の更新の仕方を変えたら識別率が変わったので上に記述します};
**色情報のみを用いた画像の識別結果 [#h84ec7e5]
%%使用データcaltech101、クラス数_101、学習用データ数_2020(クロスバリデーション時は2020-202),バリデーションデータ数_202,テストデータ1010%%
%%画像の形式をHSV形式にしHのみを使いビン数180でヒストグラムをつくりSVMヒストグラムインターセクションカーネルで識別%%
%% 識別率 all 0.037624%%
**色情報とSIFT特徴を用いた識別結果 [#bf4a6c00]
%%decision_function(X)で出力される実数値の値を使用する実験条件は上と同じ、%%
%%bofのクラスタ数は5000%%
%%bag of features での識別結果の値をs%%
%%色情報での識別結果の値をcとし%%
%%s+t*c (tは定数)とし、新たな値を求め識別率が変わるか調べた。tの値は0.5ずつ増加させていった(左がtの値)。%%
0.0 0.485148514851
0.5 0.488118811881
1.0 0.488118811881
1.5 0.486138613861
2.0 0.485148514851
2.5 0.484158415842
3.0 0.485148514851
3.5 0.486138613861
4.0 0.485148514851
4.5 0.483168316832
%%色情報を用いないより用いた時のほうが最大0.3%ほど識別率はよくなったが、識別率の大きな変化はなかった。%%
*2015-11-26 [#m6fc8d7f]
最後の学習データの識別をする際の方法が間違っていたのでそこを修正する。
clfについて調べる。
*2015-11-2 [#qf8ee5d9]
**svmを使ったクラスの識別の実験 [#o767c30b]
-使用データmnist
-学習用データ数50000,バリデーションデータ数10000,テスト用データ数10000
-カーネル "polynomial" コストパラメータ0.001~1000000まで10倍ずつ値を変化させていった
-使用したデータは平均が0,分散が1になるように正規化
**実験結果 [#ma42bdd3]
&color(red){(2015-11-30追記) 最後のallの識別率を求める方法が間違っていたので正しい結果を追記します。};
# 0
0.001000 0.900800
0.010000 0.929900
0.100000 0.960600
1.000000 0.985900
10.000000 0.996100
100.000000 0.997800
1000.000000 0.997700
10000.000000 0.997700
100000.000000 0.997700
1000000.000000 0.997700
# 1
0.001000 0.893600
0.010000 0.893600
0.100000 0.893800
1.000000 0.994500
10.000000 0.997200
100.000000 0.997900
1000.000000 0.997400
10000.000000 0.997300
100000.000000 0.997300
1000000.000000 0.997300
# 2
0.001000 0.902600
0.010000 0.912200
0.100000 0.945000
1.000000 0.976600
10.000000 0.989700
100.000000 0.993100
1000.000000 0.993700
10000.000000 0.993700
100000.000000 0.993700
1000000.000000 0.993700
# 3
0.001000 0.897200
0.010000 0.901000
0.100000 0.918500
1.000000 0.962400
10.000000 0.988500
100.000000 0.993900
1000.000000 0.994800
10000.000000 0.994800
100000.000000 0.994800
1000000.000000 0.994800
# 4
0.001000 0.901500
0.010000 0.901700
0.100000 0.909600
1.000000 0.951500
10.000000 0.991000
100.000000 0.994500
1000.000000 0.994300
10000.000000 0.994200
100000.000000 0.994200
1000000.000000 0.994200
# 5
0.001000 0.908600
0.010000 0.910300
0.100000 0.926900
1.000000 0.964500
10.000000 0.987600
100.000000 0.992400
1000.000000 0.991900
10000.000000 0.991900
100000.000000 0.991900
1000000.000000 0.991900
# 6
0.001000 0.907000
0.010000 0.915400
0.100000 0.956400
1.000000 0.989700
10.000000 0.995200
100.000000 0.997000
1000.000000 0.997200
10000.000000 0.997200
100000.000000 0.997200
1000000.000000 0.997200
# 7
0.001000 0.896300
0.010000 0.908900
0.100000 0.939100
1.000000 0.973300
10.000000 0.991200
100.000000 0.993100
1000.000000 0.993100
10000.000000 0.993200
100000.000000 0.993200
1000000.000000 0.993200
# 8
0.001000 0.899000
0.010000 0.899000
0.100000 0.901300
1.000000 0.940800
10.000000 0.983900
100.000000 0.990700
1000.000000 0.991400
10000.000000 0.991400
100000.000000 0.991400
1000000.000000 0.991400
# 9
0.001000 0.903900
0.010000 0.905200
0.100000 0.911800
1.000000 0.960000
10.000000 0.985500
100.000000 0.990000
1000.000000 0.989800
10000.000000 0.989800
100000.000000 0.989800
1000000.000000 0.989800
var_10class.py:60: RuntimeWarning: invalid value encountered in divide
trd[np.isnan(trd)]=0
v ar_10class.py:62: RuntimeWarning: divide by zero encountered in divide
tsd[np.isnan(tsd)]=0
var_10class.py:62: RuntimeWarning: invalid value encountered in divide
tsd[np.isnan(tsd)]=0
# 0 0.997600
# 1 0.998000
# 2 0.993300
# 3 0.994400
# 4 0.994400
# 5 0.993600
# 6 0.994200
# 7 0.993400
# 8 0.991700
# 9 0.991500
%%all 0.958700%%
all 0.9769
CPU times: user 18h 19min 41s, sys: 4min 19s, total: 18h 24min
Wall time: 18h 39min 5s
*2015-10-19 [#x57ac141]
**これからやること [#o742b2ce]
-svmを用いた多クラスの識別の仕方が間違っており性能が出なかったので、もう一度考えなおす
-クラスの数だけ識別器を作る
-C(コストパラメータ)の値をいろいろ変えて実験を行い、一番良かったCの値を用いて識別器を作るようにする
-バリデーションデータを使いCの値を決められるようにする
**2015-10-26 データの正規化 [#n2cd5482]
-学習データの平均ベクトルを求める
-学習データから平均を引く(V,Sも同様)
-学習データの全ての要素の二乗の平均を求め、それをSとし全データを√Sで割る
*2015-09-24 [#zd1d56dc]
**現在の状況 [#c4d6a875]
-一般物体認識をbag_of_featuresの手法を用いて実装した
-扱うデータ Caltech101http://www.vision.caltech.edu/Image_Datasets/Caltech101/
-学習用画像からSIFT特徴をグリッドで抽出し、抽出したSIFT特徴をk-meansでクラスタリングしVisual_Wordsを作る。Visual_Wordsから全画像をヒストグラムに変換し、NN法でクラスの識別を行う。
ヒストグラム間の距離はヒストグラムインターセクションを用いて計算する。
**これからやること [#vdf19935]
-bofの識別器にsvmを使うhttp://scikit-learn.org/stable/
-svmを使えるようになるためsvmを用いて2クラスの識別から出来るようになる。
-RBFカーネルを用いてsvmを使えるようになる
**実験結果 [#c5d27e40]
学習用データ=30
テストデータ=20
class=10
クラスタ=1000
bof
all 0.350000
-------------------
accordion 0.850000
dolphin 0.300000
starfish 0.550000
bass 0.150000
chair 0.150000
llama 0.500000
pizza 0.300000
rhino 0.100000
watch 0.450000
cup 0.150000
CPU times: user 17min 19s, sys: 14.9 s, total: 17min 34s
Wall time: 7min 51s
bof_grid
size=16
dx,dy=16
all 0.600000
-------------------
accordion 1.000000
dolphin 0.350000
starfish 0.750000
bass 0.350000
chair 0.700000
llama 0.450000
pizza 0.700000
rhino 0.450000
watch 0.850000
cup 0.400000
CPU times: user 10min 6s, sys: 7.03 s, total: 10min 13s
Wall time: 5min 39s
bof_grid
size=16
dx,dy=10
all 0.580000
-------------------
accordion 1.000000
dolphin 0.300000
starfish 0.700000
bass 0.250000
chair 0.450000
llama 0.400000
pizza 0.800000
rhino 0.600000
watch 0.900000
cup 0.400000
CPU times: user 24min 34s, sys: 12.7 s, total: 24min 47s
Wall time: 13min
bof_grid
size=16
dx,dy=5
all 0.580000
-------------------
accordion 1.000000
dolphin 0.400000
starfish 0.700000
bass 0.350000
chair 0.400000
llama 0.450000
pizza 0.700000
rhino 0.550000
watch 0.850000
cup 0.400000
CPU times: user 1h 42min 43s, sys: 44.1 s, total: 1h 43min 27s
Wall time: 47min 41s
bof_grid
size=16,24,32
dx,dy=10
all 0.600000
-------------------
accordion 1.000000
dolphin 0.300000
starfish 0.850000
bass 0.450000
chair 0.700000
llama 0.500000
pizza 0.550000
rhino 0.550000
watch 0.850000
cup 0.250000
CPU times: user 1h 27min 35s, sys: 1min 39s, total: 1h 29min 15s
Wall time: 52min 9s
SIFT特徴をグリッドで抽出することで識別率が上がった。
グリッドで抽出する際、特徴点の間隔を狭くし、密に特徴を抽出したが識別率はそれほど変わらなかった。
**2015-09-11 [#ef736d59]
9月18日までに高橋を訪ねて研究の進捗報告をしてください.抽象的なお話ではなく,Air持参で具体的なプログラムや実験結果を示して報告してくれることを期待しています --takataka
----
**2015-4-9 [#w556f0c9]
セミナー第一回、Macの設定などする
**2015-4-16 [#z91ff1a9]
課題4がおわりました
課題5のプログラムのほうは完成しました
**2015-04-23 [#c41dbe7f]
課題5が完成 課題6に取組中
**2015-04-30 [#m43946a4]
課題6が完成
課題7の微分がややこしいので整理中
課題7の微分が間違っていたのと途中の計算が間違っていましたが
修正してプログラムは完成しました。多分問題ないと思うが2重for文など使っているので
その点を修正していきたい。
**2015-05-07 [#f800d622]
課題7が完成しました。
最初プログラムが上手く動かなかったがwの初期値とetaの値を小さくすれば
ちゃんと動いた
課題8はlatexは使える状態になったのでlatex書き方の勉強をしていきたい。
**2015-05-14 [#d57bdf99]
課題に取組めていなかったので前回からほとんど進展はありません
引き続き課題8に取り組んでいきます
**2015-06-04 [#tec525b6]
課題8がほぼ終わりかけています
**2015-06-11 [#uab5ee05]
課題8を修正していました
**2015-06-18 [#u53c8e48]
Bag-of-Featuresの基礎を勉強していました。
**2015-06-25 [#z23fc9b3]
k-means法でSIFT特徴をクラスタリングしvisual wordを求めることは出来た。
しかしvisual wordsのヒストグラムを作るのは時間がなく出来なかったので、これからやっていきたい。
**2015-07-09 [#r9f593d2]
Bag-of-Feraturesのプログラムを作ってみたがSIFT特徴をあまり検出できず、
visual wordが充分に作れず識別率が上がらなかった。
cv2.SIFTの引数について調べて、SIFT特徴を多く取れるように改良したい。
ページ名: