LT枠
Pixel Shuffler
東京大学大学院理学系研究科物理学専攻
中西 健
本日紹介する関数
• chainer.functions.depth2space
• chainer.functions.space2depth
Pixel Shuffler とは
• Twitter社の超解像の論文で初出 https://
arxiv.org/abs/1609.05158
• 図のようにchannel方向の値を空間方向に並べ
替える
Pixel Shuffler とは
• chainerではdepth2spaceという関数名
https://docs.chainer.org/en/stable/reference/generated/chainer.functions.depth2space.html
depth2space
• deconvolutionの代わりに使える
• deconvolutionより速い(個人の感想です)


convolution

kernel size=n

stride=1deconvolution

kernel size=rn

stride=r
=(端を除く)
depth2space

scaling factor=r
depth2space
• deconvolutionの問題点: uneven overlap

https://distill.pub/2016/deconv-
checkerboard/
• depth2space + convolution(stride=1)なら

uneven overlapが起こりえない
space2depth
• depth2spaceの逆
• 空間方向の値をchannel方向に並べ替える
space2depth
• convolutionの代わりに使える


space2depth

scaling factor=r
convolution

kernel size=n

stride=1
convolution

kernel size=rn

stride=r
=(端を除く)
まとめ
• depth2spaceを使うとuneven overlapを気にし
なくてよくなる
• deconvolutionを使用している部分を
depth2spaceで書き直してみると速くなるかも

Pixel Shuffer