SJS/2016/ex05
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*SJS2016 ex05 [#f69bd8f1]
課題いっぱいありますが,1回で全部終わらせようという意図で...
自分で進められるひとはどんどん先へ進めたらよいですが.
#contents
**これまでの分 [#kbc5dcd1]
- 以前の分を全て報告してokをもらってから,今回分にすすみ...
**課題A [#w83b99ab]
顔画像
TLAB の GoogleDrive の sjs2016 ディレクトリ内に,次の二つ...
- face100.tbz
- cat131-png.tbz
これらをダウンロードし,tar コマンドを使って展開しなさい...
研究室内のページ http://www-tlab.math.ryukoku.ac.jp/tlab/...
**課題B [#n31e3ac2]
***step1 [#y5abd1ee]
+ cat131 の顔画像を読み込んでそれらの平均画像を求めるプロ...
-- ただし,cv2.imread() の引数について調べ,グレイスケー...
+ face100 の顔画像を読み込んでそれらの平均画像を求めるプ...
-- cat131 と同じ
ヒント:
#pre{{
>>> for i in range(10):
... print('hoge%03d.png' % i)
}}
***step2 [#n0b35841]
face100 と cat131 の全ての画像の平均画像を求めるプログラ...
**課題C [#id5509f0]
課題Bと同じことをするプログラムを,今後のことを意識したス...
***step1 [#g6b07044]
全ての画像データを大きな2次元配列(データ数 x 画素数)に...
#pre{{
N = 231 # データ数
D = 96 * 96 # データの次元数
X = np.empty( ( N, D ) ) # 画素値を入れる2次...
y = np.empty( N, dtype = int ) # 種別を表す数を入れる
for i in range(131):
img = ... 猫画像を読み込んで画像サイズを (96,96) に...
X[i, :] = img.reshape( -1 ) reshape の引数を -1 ...
y[i] = 0
for i in range(100):
人の顔画像を読み込む
X[131+i, :] = ...
y[131+i] = 女性なら 1, 男性なら 2
}}
***step2 [#c1dac5e2]
種類ごとの平均を求め,次のような配列に代入する.
#pre{{
Xm = np.empty( ( 3, D ) ) # 3つの平均を入れるための...
}}
以下を参考にすると,for i in range(3) の中に1行でできち...
#pre{{
In [11]: X = np.arange(12).reshape( (4,3))
In [12]: X
Out[12]:
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
In [13]: y = np.array( [ 0, 2, 1, 0 ] )
In [14]: y
Out[14]: array([0, 2, 1, 0])
In [15]: y == 0
Out[15]: array([ True, False, False, True], dtype=bool)
In [16]: X[y==0, :]
Out[16]:
array([[ 0, 1, 2],
[ 9, 10, 11]])
In [17]: X[y==1, :]
Out[17]: array([[6, 7, 8]])
In [18]: np.sum(X[y==0,:],axis = 0)
Out[18]: array([ 9, 11, 13])
}}
***step3 [#oeb96c8e]
Xm を3つの画像としてファイルに保存する.
Xm[i, :].reshape( (96, 96) )
終了行:
*SJS2016 ex05 [#f69bd8f1]
課題いっぱいありますが,1回で全部終わらせようという意図で...
自分で進められるひとはどんどん先へ進めたらよいですが.
#contents
**これまでの分 [#kbc5dcd1]
- 以前の分を全て報告してokをもらってから,今回分にすすみ...
**課題A [#w83b99ab]
顔画像
TLAB の GoogleDrive の sjs2016 ディレクトリ内に,次の二つ...
- face100.tbz
- cat131-png.tbz
これらをダウンロードし,tar コマンドを使って展開しなさい...
研究室内のページ http://www-tlab.math.ryukoku.ac.jp/tlab/...
**課題B [#n31e3ac2]
***step1 [#y5abd1ee]
+ cat131 の顔画像を読み込んでそれらの平均画像を求めるプロ...
-- ただし,cv2.imread() の引数について調べ,グレイスケー...
+ face100 の顔画像を読み込んでそれらの平均画像を求めるプ...
-- cat131 と同じ
ヒント:
#pre{{
>>> for i in range(10):
... print('hoge%03d.png' % i)
}}
***step2 [#n0b35841]
face100 と cat131 の全ての画像の平均画像を求めるプログラ...
**課題C [#id5509f0]
課題Bと同じことをするプログラムを,今後のことを意識したス...
***step1 [#g6b07044]
全ての画像データを大きな2次元配列(データ数 x 画素数)に...
#pre{{
N = 231 # データ数
D = 96 * 96 # データの次元数
X = np.empty( ( N, D ) ) # 画素値を入れる2次...
y = np.empty( N, dtype = int ) # 種別を表す数を入れる
for i in range(131):
img = ... 猫画像を読み込んで画像サイズを (96,96) に...
X[i, :] = img.reshape( -1 ) reshape の引数を -1 ...
y[i] = 0
for i in range(100):
人の顔画像を読み込む
X[131+i, :] = ...
y[131+i] = 女性なら 1, 男性なら 2
}}
***step2 [#c1dac5e2]
種類ごとの平均を求め,次のような配列に代入する.
#pre{{
Xm = np.empty( ( 3, D ) ) # 3つの平均を入れるための...
}}
以下を参考にすると,for i in range(3) の中に1行でできち...
#pre{{
In [11]: X = np.arange(12).reshape( (4,3))
In [12]: X
Out[12]:
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
In [13]: y = np.array( [ 0, 2, 1, 0 ] )
In [14]: y
Out[14]: array([0, 2, 1, 0])
In [15]: y == 0
Out[15]: array([ True, False, False, True], dtype=bool)
In [16]: X[y==0, :]
Out[16]:
array([[ 0, 1, 2],
[ 9, 10, 11]])
In [17]: X[y==1, :]
Out[17]: array([[6, 7, 8]])
In [18]: np.sum(X[y==0,:],axis = 0)
Out[18]: array([ 9, 11, 13])
}}
***step3 [#oeb96c8e]
Xm を3つの画像としてファイルに保存する.
Xm[i, :].reshape( (96, 96) )
ページ名: