首先說結(jié)論:對(duì)含有Bounding Box和Mask的目標(biāo)進(jìn)行旋轉(zhuǎn)時(shí),以Mask旋轉(zhuǎn)為準(zhǔn),對(duì)Mask進(jìn)行旋轉(zhuǎn)之后計(jì)算外接矩形,而直接旋轉(zhuǎn)Bounding Box再求外接矩形會(huì)產(chǎn)生偏差。
原因其實(shí)很容易理解,對(duì)于一些傾斜的目標(biāo),本身Bounding Box就有一定的偏差,旋轉(zhuǎn)之后導(dǎo)致原先框中空白的區(qū)域不斷擴(kuò)大,就會(huì)導(dǎo)致邊框變寬。
下面舉例說明一下:
如果原圖中的Bounding Box和Mask是水平豎直的,比如這種:

原始正常標(biāo)簽
那么進(jìn)行旋轉(zhuǎn)也沒有異常,這種情況下不管是用Bounding Box還是Mask算出來的旋轉(zhuǎn)角都是一樣的:

旋轉(zhuǎn)-8°
但是,如果圖像本身如果存在傾斜,比如原圖是這樣的:

傾斜原圖
如果直接旋轉(zhuǎn)Bounding Box再求min(x) min(y) max(x) max(y)外接矩形,得到的是這樣的:

旋轉(zhuǎn)Bounding Box
可以看出這個(gè)框左右都多出來一塊,這就是產(chǎn)生了誤差。
如果對(duì)Mask進(jìn)行旋轉(zhuǎn),得到的正常結(jié)果是這樣的:

旋轉(zhuǎn)Mask
手畫了一下錯(cuò)誤原因:
原圖(黑色為目標(biāo),藍(lán)色為正常坐標(biāo)系與Bounding Box)

原圖
旋轉(zhuǎn)圖(黑色為目標(biāo),紅色為正常坐標(biāo)系與重新計(jì)算的Bounding Box)

旋轉(zhuǎn)圖