1. 程式人生 > >class-aware detector和class-agnostic detector區別

class-aware detector和class-agnostic detector區別

For a class-aware detector, if you feed it an image, it will return a set of bounding boxes, each box associated with the class of the object inside (i.e. dog, cat, car). It means that by the time the detector finished detecting, it knows what type of object was detected.

For class-agnostic detector, it detects a bunch of objects without knowing what class they belong to. To put it simply, they only detect “foreground” objects. Foreground is a broad term, but usually it is a set that contains all specific classes we want to find in an image, i.e. foreground = {cat, dog, car, airplane, …}. Since it doesn’t know the class of the object it detected, we call it class-agnostic.

Class-agnostic detectors are often used as a pre-processor: to produce a bunch of interesting bounding boxes that have a high chance of containing cat, dog, car, etc. Obviously, we need a specialized classifier after a class-agnostic detector to actually know what class each bounding box contains。

翻譯過來大意是:

對於class-aware detector,如果我們把一張圖喂進去,那麼它就會返回一組bounding boxes,每個bounding box都會對應上相對應的目標在裡面,例如狗,貓,汽車。這也就意味著當檢測器完成檢測後, 它是知道這個bounding box裡面檢測到的是什麼。

但是對於class-agnostic detector,它也檢測出一組bounding boxes,但是不知道里面是什麼。簡單來說,就是僅僅檢測出前景目標,至於前景目標具體是什麼類別並不知道。前景是個寬泛的概念,但這些bounding boxes經常包含了我們想知道感興趣的具體目標在裡面。

Class-agnostic detectors一般是用來做預檢測器,就是產生一組極大可能包含貓啊狗啊我們想知道的具體目標。不過這種檢測器後面一般都會跟著一個具體的分類器去確定每個bounding box裡面究竟有沒有包含目標,包含的又是什麼。