序数 or 偏移

深度学习第一个坑就是从 0 编号还是从 1 编号.

虽然大多数框架都选择了从 0 开始, 但我还是得说这是反人类的.

从零开始计数一般用在偏移中, 比如内存, 每个字节是几偏移.

但是深度学习就不一样了, 比如标签, 我们通常说是第几个.

这是序数啊, 从来不会有第 0 个这么奇葩的说法.

依次交换0维3维1维2维, 我是无力吐槽了, 你和谁的偏移量0312, 是给人看的吗你这...

推导不能, 反正全给他 +1 就得了.

RGB or BGR

这个问题无关痛痒,

我不知道重排首个卷积核的话怎么写, 理论上也是可以的.

NCHW or NHWC

我是真的不知道 NHWC 的优点在哪, 难道硬件底层更加合适吗?

NCHW 下取第一张图片就是 img[1], NHWC 则要写 img[:,:,:,1], 何苦啊这是...

左下系 or 左上系

左上系的支持者理由是图片即矩阵, 第一行第一个像素就是 img[:,1,1]

用左下系就要写 img[:,1,-1], 多了个负号

哦对了, 某些从零开始计数的垃圾玩意儿压根没法用 -1 表示倒着数.

(所以为什么不规定为矩阵从下开始数...

但是不管怎么说数学老师当初教我就是左下建系, 所以这样更符合习惯.

解决方案

遇到左下系就转换为左上系

施加变换 $y -> 1-y$ 即可, 记得目标检测里 {y_

\min{}
} 和 {y_
\max{}
} 对调一下.

右手系 or 左手系

如果 2D 用了左上系, 3D 用左手系似乎是天经地义的.

当我们还是习惯朝对我们的平面是 0, 越往里面越远不是, y 轴越大离摄像头就越远, 景深就越深

不管怎么说这也是习惯问题罢了, 不是很重要.

解决方案

遇到左手系就转换为右手系

乘上变换矩阵 $\begin{bmatrix}1&0&0&0\\0&0&1&0\\0&1&0&0\\0&0&0&1\\\end{bmatrix}$ .