AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

今週のKaggle-Tue

今週のKaggle-Tue:Severstal : Steel Defect Detection

(過去のコンペ):鋼板表面の欠陥検出:欠陥が存在する場所を検出し、検出した欠陥を分類することを目的とするもの。

 

*欠陥領域のマスク作成:

・train.csvファイルに、'EncodedPixel'として、欠陥領域の上端を示すスタートピクセルの位置と、1ピクセル幅で、欠陥の下端までのピクセルの数の、2つの数値が、スペースを区切り記号として、交互に並んでいる。

・スタートピクセルの位置は、画面の左上から、下方向に数え始め、画面の右下が最終ピクセル数(409600)となる。

・画像は、縦256ピクセル、横1600ピクセルである。256x1600=409600

 

<以下は、検討中>

・train.csvをpandasで読み込む。

train = pd.read_csv('../input/train.csv')

・その表の、'EncodedPixel' 列の i 行目の要素を読み込む。

defect = train['EncodedPixels'].iloc[i]

・空白で区切られた(つながっている)文字列を分離して。分離された整数列を、配列に入れる。

defect_array = np.asarray([int(x) for x in defect.split()])

・その配列は、整数型のスタートピクセル値とピクセル長が交互に並んでいるので、最初の数値をstartに、2番目の数値をlengthに入れる。

start = array[0: :2]

length = array[1: :2]

 

GitHubに、マスクの作成に関するコードがある。

 https://github.com/catalyst-team/mlcomp/blob/master/mlcomp/contrib/transform/rle.py

 

・明日は、これをじっくり見てみよう。

・それと、やはり、Kaggleコンペサイトのnotebooksとそれに関する質疑やDiscussionを読むのは重要だと思う。自分に近いレベルの人の質問や、やりとりが役に立つ。レベルが高すぎでわからないことの方が多いけれども、何をすればよいのかは、だんだんわかってくるような気がしている。

・あと、私がKaggleの中でフォローしているグランドマスターの方は、とにかく、きれいなコードを書いておられるので、意味が分からなくても、写経を繰り返して、自分のものにしたいと思っている。 

 

つづく 

 

f:id:AI_ML_DL:20200121061830p:plain

style 082

f:id:AI_ML_DL:20200121061929p:plain

DeepDream

f:id:AI_ML_DL:20200123091449p:plain

style 082 iteration=500