官术网_书友最值得收藏!

1.1 計算機視覺坐標系的約定和概念

矩陣使用行、列作為尋址坐標系,讀取進入內存的二維圖像其實只是一個矩陣,因此計算機視覺領域的圖像坐標系使用的就是矩陣坐標系。

? 1.1.1 圖像的坐標系約定

解析幾何用到的坐標系叫作笛卡兒坐標系。笛卡兒坐標系是由法國數學家勒內·笛卡兒創建的,通常簡稱直角坐標系。二維的直角坐標系由兩個互相垂直的坐標軸設定,通常分別稱為x軸和y軸;兩個坐標軸的相交點稱為原點,通常標記為O,有“零點”的意思。每個軸都指向一個特定的方向。這兩個不同向的坐標軸決定了一個平面,這個平面稱為xOy平面,又稱笛卡兒平面。通常兩個坐標軸只要互相垂直,其指向何方對于分析問題就是沒有影響的,但習慣性地,x軸被水平擺放,稱為橫軸,通常指向右方;y軸被豎直擺放,稱為縱軸,通常指向上方。兩個坐標軸這樣的位置關系構成的坐標系稱為二維的右手坐標系,或右手系。如果將這個右手坐標系畫在一張透明紙片上,那么在平面內無論怎樣旋轉它,所得到的坐標系都叫作右手坐標系;但如果將紙片翻轉,其背面看到的坐標系則稱為左手坐標系。笛卡兒坐標系的左手坐標系和右手坐標系如圖1-1所示。

圖像處理用到的坐標系叫作圖像坐標系。假設讀取的是一幅彩色圖像,那么圖像讀取函數一般會將這幅圖像讀取為一個三維矩陣,這個三維矩陣的元素排布呈現出[行,列,深]的三維形態。矩陣的[行,列,深]構成的坐標系稱為圖像坐標系。在圖像坐標系下,矩陣的行數對應圖像的高度,矩陣的列數對應圖像的寬度,矩陣的深度對應圖像的通道數。這樣,這個三維矩陣的形狀和像素布局,就和圖像的像素布局形成直觀的一一對應關系。將圖像矩陣與圖像坐標系進行對比,我們可以發現,圖像坐標系也是笛卡兒坐標系的一種,并且是右手坐標系,只是y軸的方向是朝下的,如圖1-2所示。

圖1-1 笛卡兒坐標系的左手坐標系和右手坐標系

圖1-2 圖像坐標系與圖像矩陣的關系

這樣做的好處是,矩陣數值的可視化結果與圖像的像素排布在幾何上完全一致,但也會帶來一定的尋址困擾。由于Python的矩陣尋址一般遵循矩陣名[行,列,深]的尋址格式,所以如果希望得到圖像坐標系下(xyz)坐標點的數值,那么需要將矩陣尋址方式修改為img[yxz]。例如,圖像坐標系下坐標為(12,5,3)的“像素點”等價于對矩陣第5行第12列第3通道的元素進行尋址,這里需要格外注意。同時,圖像坐標系的坐標值是從0(zero-based)開始的,即圖像上第一行第一列的像素點對應矩陣中第0行第0列的元素值。

? 1.1.2 矩形框的描述方法約定

在一幅圖像中標注一個矩形框一般有兩種描述方法:坐標法和中心法。坐標法可以分為絕對坐標法和歸一化坐標法;中心法可以分為絕對中心法和歸一化中心法。

對于一個寬度和高度都是28像素的圖像,其中有一個矩形框,矩形框的左上角坐標可以用x=4和y=5表示,矩形框的右下角坐標可以用x=23和y=24表示。在不考慮邊界寬度的情況下,可以計算得到矩形框的寬度和高度都是19像素,中心點用x=4+19/2=13.5和y=5+19/2=14.5表示,如圖1-3所示。

圖1-3 矩形框的角點、中心點和寬度、高度信息

坐標法是指使用矩形框的左上角坐標(xminymin)和右下角坐標(xmaxymax)來唯一地確定一個矩形框在圖像中的位置。如果使用的是絕對坐標法,那么使用左上角坐標和右下角坐標的像素序號絕對值來表示一個矩形框;如果使用的是歸一化坐標法,那么使用的是像素點的序號絕對值相對于圖像寬度和高度的歸一化坐標來表示一個矩形框,即將x坐標的絕對值除以圖像的寬度w,將y坐標的絕對值除以圖像的高度h

中心法是指使用矩形框的中心點坐標(xcenterycenter)、矩形框的寬度(width)和高度(height)來唯一地確定一個矩形框在圖像中的位置。如果使用的是絕對中心法,那么使用矩形框中心位置的像素點序號絕對值、寬度和高度方向上的像素序號差的絕對值(可以是非整數)來表示一個矩形框;如果使用的是歸一化中心法,那么使用的是中心點相對于圖像寬度和高度的歸一化坐標來表示中心點,即將中心點的x坐標的絕對值xcenter和矩形框寬度的絕對值除以圖像的寬度w,將y坐標的絕對值ycenter和矩形框高度的絕對值除以圖像的高度h

4種矩形框描述方法的數據結構和相互關系如圖1-4所示。

對于同一個矩形框,可以通過絕對坐標法表示為[xminyminxmaxymax],也可以通過絕對中心法表示為[xcycwh],它們之間通過轉換矩陣M1進行轉換,轉換矩陣M1的定義如式(1-1)所示。其中,xcyc分別是xcenterycenter的簡寫。

圖1-4 4種矩形框描述方法的數據結構和相互關系

通過簡單的初等數學知識可以知道,坐標法的表達方式可以通過中心法乘以一個轉換矩陣得到,如式(1-2)和式(1-3)所示。

中心法的表達方式也可以通過坐標法乘以一個轉換矩陣得到,此時的轉換矩陣M2定義如式(1-4)所示。

同理,通過初等數學知識可以知道,轉換方法如式(1-5)和式(1-6)所示。

需要特別注意的是,PASCAL VOC數據集對于矩形框的坐標描述方式為[xmin,ymin,xmax,ymax],它們分別對應矩形框左上角和右下角的坐標,但對于MS COCO數據集來說,矩形框的坐標描述方式為[xmin,ymin,width,height],它們分別對應矩形框的左上角坐標和寬高。限于篇幅原因,以上轉換關系不展開講述。感興趣的讀者可以自己制作矩形框在不同標注方法下的相互轉換函數。

主站蜘蛛池模板: 遂昌县| 三门峡市| 海口市| 开鲁县| 基隆市| 南昌市| 镇沅| 无锡市| 花垣县| 凉山| 南丹县| 朝阳区| 乐昌市| 广元市| 和顺县| 长治县| 肥西县| 舒城县| 抚顺县| 中阳县| 孙吴县| 宁津县| 夏邑县| 万宁市| 芦溪县| 萍乡市| 五寨县| 民和| 平原县| 江城| 通城县| 依安县| 崇礼县| 防城港市| 潞城市| 新田县| 右玉县| 沅江市| 临泽县| 南昌县| 上思县|