图像处理基础-旋转(rotation), 平移(shift), 缩放(scale), 错切(shear)

最近在学习data augmentation的一些方法,在训练模型时经常碰到训练数据不够的情况,尤其是图像方面的模型,例如CNN。这时候对数据进行增强可以大大扩充训练集的规模,对模型的最终的准确度和泛化能力都有很大的帮助,有时甚至是决定性的作用

今天先学习了下图像方面的增强方法,主要是对图像进行小幅度的旋转,平移,缩放和错切,这4个方面的变换可以组成任意的affine transformation。实际应用时就是把原有数据的不同尺寸的图片缩放到相同尺寸,并添加随机的小幅度旋转,平移和错切来生成大量额外训练数据。

  1. 旋转
    这里写图片描述
    图片画的不是特别好,请轻吐槽
    原有的点(X,Y)和坐标轴夹角 θ θ ,旋转 α α 角度后到达 (X́ ,Ý ) ( X ´ , Y ´ ) , 记(X,Y)的模为L, 那么:

    Lcos(θ)=XLsin(θ)=YLcos(θ+α)=X́ Lsin(θ+α)=Ý  L ∗ c o s ( θ ) = X L ∗ s i n ( θ ) = Y L ∗ c o s ( θ + α ) = X ´ L ∗ s i n ( θ + α ) = Y ´

    从三角公式可得:

    L(cos(θ)cos(α)sin(θ)sin(α))=X́ L(sin(θ)cos(α)+cos(θ)sin(α))=Ý  L ∗ ( c o s ( θ ) ∗ c o s ( α ) − s i n ( θ ) ∗ s i n ( α ) ) = X ´ L ∗ ( s i n ( θ ) ∗ c o s ( α ) + c o s ( θ ) ∗ s i n ( α ) ) = Y ´

    代入初始公式:
    Xcos(α)Ysin(α)=X́ Ycos(α)+Xsin(α)=Ý  X ∗ c o s ( α ) − Y ∗ s i n ( α ) = X ´ Y ∗ c o s ( α ) + X ∗ s i n ( α ) = Y ´

    最终得到:
    X́ Ý 1=cos(α)sin(α)0sin(α)cos(α)0001XY1 [ X ´ Y ´ 1 ] = [ c o s ( α ) − s i n ( α ) 0 s i n ( α ) c o s ( α ) 0 0 0 1 ] ∗ [ X Y 1 ]

  2. 平移
    平移比较简单

    X+Xt=X́ Y+Yt=Ý  X + X t = X ´ Y + Y t = Y ´

    写成类似形式
    X́ Ý 1=100010XtYt1XY1 [ X ´ Y ´ 1 ] = [ 1 0 X t 0 1 Y t 0 0 1 ] ∗ [ X Y 1 ]

  3. 缩放
    缩放和平移类似,也比较简单
    XXzoom=X́ YYzoom=Ý  X ∗ X z o o m = X ´ Y ∗ Y z o o m = Y ´

    写成类似形式
    X́ Ý 1=Xzoom000Yzoom0001XY1 [ X ´ Y ´ 1 ] = [ X z o o m 0 0 0 Y z o o m 0 0 0 1 ] ∗ [ X Y 1 ]

    1. 错切
      这里写图片描述
      错切可以通过矩形变成平行四边形来理解,错切可以沿着任意一个坐标轴进行,图例是沿着Y轴进行错切
      X+sin(θ)Y=X́ Ycos(θ)=Ý  X + s i n ( θ ) ∗ Y = X ´ Y ∗ c o s ( θ ) = Y ´

      写成类似形式
      X́ Ý 1=100sin(θ)cos(θ)0001XY1 [ X ´ Y ´ 1 ] = [ 1 s i n ( θ ) 0 0 c o s ( θ ) 0 0 0 1 ] ∗ [ X Y 1 ]

      欢迎大家批评指正!
  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值