bounding box程式碼問題
老師您好,
經操作過程中,發現有幾個程式碼不懂的地方想請教:
1. 以下#1跟#2框起來的地方,不了解這是什麼? ><
2. 請問下面框起來的地方,以第一個框為例,(7, 7, 1, 20):
a. 請問其中兩個7代表7*7,而20為類別? 可是其中的1是什麼呢?
b. 再來就是剩下兩個框起來的地方7*7後面的數字我不知道分別代表什麼?
以上問題請老師多指教,謝謝
回答列表
-
2020/01/09 下午 10:43楊哲寧贊同數:2不贊同數:0留言數:0
您好,以下依序回答:
1.1先建立一個能存放3個box資訊的np array,並把(x1,y1,x2,y2)的訊息放入,把x1,y1取代成(x_center,y_center),所以現在資訊變成(x_center,y_center,x2,y2),接下來再把x2,y2以w,h取代,這樣看來第一個橘色框應該是不需要的(我再與出題專家確認!)
1.2這裡只是將類別資訊放入。
2.這裡之所以是四維是因為要包含(w,h,box數量,資訊數量),針對第一個(7,7,1,20),因為每一格pixel雖然會畫上兩個box,但只能屬於一個類別,不需要20*2個,所以第三維是 1,(7,7,2,1)為confidence,兩個box各有一個,(7,7,2,4)為coordination資訊,兩個box各有四個。
-
2020/01/10 上午 10:41Mora贊同數:2不贊同數:0留言數:3
- 以下#1跟#2框起來的地方,不了解這是什麼?
#1是把我們上方模擬標記的box資訊給label這個變數,labels有固定的格式,如綠色文字說明,
bbox的格式為三個標記框的: (xmin,ymin,xmax,ymax),代表框框的左上與右下的位置。
labels的格式為(x_center, y_center, w, h,class) in (448,448) 代表框框在影像中的中心點位置,寬和高,以及須需要他的類別。
#1是把bbox的資訊先傳遞給 labels,再根據他們的關係進行轉換。
#2是紀錄每一個框所包住的物體是甚麼,
所以是把每一個框的對應類別記錄下來,比如第一個框是車子,從0開始數就是第6個位置,以此類推唷。
2.請問下面框起來的地方,以第一個框為例,(7, 7, 1, 20):
(7, 7, 1, 20): 就分別代表(7,7)代表格點位置,
-->在pclass中,設兩個框共用一個變數,則第三個就為1,第4個位置20代表現在有20個類別。
--->在C中,每一個cell有兩個bbox,每一個bbox都有自己的confidence,所以第三個位置為2,分別存兩個bbox 的confidence的數值。
-->在coordinate中,描述每一個bbox的位置,所以有兩個框有個別位置的資訊,所以第三個位置為2,分別存兩個bbox的位置資訊。
補充以上的講解能讓你更清楚,
謝謝你的發問。