3D convolutionをする時、point cloudは疎なので、0を掛けるのに殆んどの時間を使ってしまう。
pointがある時にだけ処理を行えば、計算量を削減出来る。これをvotingという手法をbaseにしたsparse convolutionで行うのが、この論文のメインである。
voting
convolution
convolutional weightをinput gridに対してスライドしながら掛け合わせて行くと右の結果が得られる。
voting
input gridには2箇所のゼロではないcellがある。voting weightsにinput gridの値を掛けてから、足し合わせる事で右の結果が得られる。voting weightはcellの値を掛け合わせたもの1なら1倍、0.5なら0.5倍となる。
両方とも同じ結果が得られる事が分かる。すなわち処理としては等価だと言える。
しかし、convolutionではinput gridの値が0の時処理をskipすると結果が変わるのに対して、votingではskipしても同じ結果が得られる。これはinput gridが0であればvoting weightはすべて0になるので、足し合わせても足し合わせなくても結果は同じであるからである。
参考文献
Vote3Deep: Fast Object Detection in 3D Point Clouds Using Efficient Convolutional Neural Networks
https://arxiv.org/pdf/1609.06666.pdf