0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)視覺任務(wù)里常常會(huì)碰到類別不平衡的問題

新機(jī)器視覺 ? 來源:機(jī)器學(xué)習(xí)AI算法工程 ? 作者:機(jī)器學(xué)習(xí)AI算法工 ? 2022-06-13 11:14 ? 次閱讀

計(jì)算機(jī)視覺(CV)任務(wù)里常常會(huì)碰到類別不平衡的問題, 例如:

1. 圖片分類任務(wù),有的類別圖片多,有的類別圖片少

2. 檢測(cè)任務(wù)。現(xiàn)在的檢測(cè)方法如SSD和RCNN系列,都使用anchor機(jī)制。訓(xùn)練時(shí)正負(fù)anchor的比例很懸殊。

3. 分割任務(wù), 背景像素?cái)?shù)量通常遠(yuǎn)大于前景像素。

從實(shí)質(zhì)上來講, 它們可以歸類成分類問題中的類別不平衡問題:對(duì)圖片/anchor/像素的分類。

再者,除了類不平衡問題, 還有easy sample overwhelming的問題。easy sample如果太多,可能會(huì)將有效梯度稀釋掉。

這兩個(gè)問題通常都會(huì)一起出現(xiàn)。如果不處理, 可能會(huì)對(duì)模型性能造成很大傷害。用Focal Loss里的話說,就是訓(xùn)練不給力, 且會(huì)造成模型退化:

(1) training is inefficient as most locations are easy negatives…

(2) the easy negatives can overwhelming training and lead to degenerate models.

如果要處理,那么該怎么處理呢?在CV領(lǐng)域里, 若不考慮修改模型本身, 通常會(huì)在loss上做文章, 確切地說,是在樣本選擇或loss weight上做文章。

常見的解決辦法介紹

常見的方法有online的, 也有非online的;有只處理類間不平衡的,有只處理easy example的, 也有同時(shí)處理兩者的。

Hard Negative Mining, 非online的mining/boosting方法, 以‘古老’的RCNN(2014)為代表, 但在CV里現(xiàn)在應(yīng)該沒有人使用了(吧?)。若感興趣,推薦去看看OHEM論文里的related work部分。

Mini-batch Sampling,以Fast R-CNN(2015)和Faster R-CNN(2016)為代表。Fast RCNN在訓(xùn)練分類器, Faster R-CNN在訓(xùn)練RPN時(shí),都會(huì)從N = 1或2張圖片上隨機(jī)選取mini_batch_size/2個(gè)RoI或anchor, 使用正負(fù)樣本的比例為1:1。若正樣本數(shù)量不足就用負(fù)樣本填充。使用這種方法的人應(yīng)該也很少了。從這個(gè)方法開始, 包括后面列出的都是online的方法。

Online Hard Example Mining, OHEM(2016)。將所有sample根據(jù)當(dāng)前l(fā)oss排序,選出loss最大的N個(gè),其余的拋棄。這個(gè)方法就只處理了easy sample的問題。

Oline Hard Negative Mining, OHNM, SSD(2016)里使用的一個(gè)OHEM變種, 在Focal Loss里代號(hào)為OHEM 1:3。在計(jì)算loss時(shí), 使用所有的positive anchor, 使用OHEM選擇3倍于positive anchor的negative anchor。同時(shí)考慮了類間平衡與easy sample。

Class Balanced Loss。計(jì)算loss時(shí),正負(fù)樣本上的loss分別計(jì)算, 然后通過權(quán)重來平衡兩者。暫時(shí)沒找到是在哪提出來的,反正就這么被用起來了。它只考慮了類間平衡。

Focal Loss(2017), 最近提出來的。不會(huì)像OHEM那樣拋棄一部分樣本, 而是和Class Balance一樣考慮了每個(gè)樣本, 不同的是難易樣本上的loss權(quán)重是根據(jù)樣本難度計(jì)算出來的。

從更廣義的角度來看,這些方法都是在計(jì)算loss時(shí)通過給樣本加權(quán)重來解決不平衡與easy example的問題。不同的是,OHEM使用了hard weight(只有0或1),而Focal Loss使用了soft weight(0到1之間)。

現(xiàn)在依然常用的方法特性比較如下:

458cebe2-ea59-11ec-ba43-dac502259ad0.png

接下來, 通過修改過的Cifar數(shù)據(jù)集來比較這幾種方法在分類任務(wù)上的表現(xiàn),當(dāng)然, 主要還是期待Focal Loss的表現(xiàn)。

實(shí)驗(yàn)數(shù)據(jù)

實(shí)驗(yàn)數(shù)據(jù)集

Cifar-10, Cifar-100。使用Cifar的原因沒有別的, 就因?yàn)楦F,畢竟要像Focal Loss論文里那樣跑那么多的大實(shí)驗(yàn)對(duì)大部分學(xué)校和企業(yè)來說是不現(xiàn)實(shí)的。

處理數(shù)據(jù)得到類間不平衡

將多分類任務(wù)轉(zhuǎn)換成二分類:

new_label = label == 1

原始Cifar-10和100里有很多類別,每類圖片的數(shù)量基本一樣。按照這種方式轉(zhuǎn)變后,多分類變成了二分類, 且正負(fù)樣本比例相差懸殊:9倍和99倍。

實(shí)驗(yàn)?zāi)P?/p>

一個(gè)5層的CNN,完成一個(gè)不平衡的二分類任務(wù)。使用Cross Entropy Loss,按照不同的方法使用不同的權(quán)值方案。以不加任何權(quán)重的CE Loss作為baseline。

衡量方式

在這種不平衡的二分類問題里, 準(zhǔn)確率已經(jīng)不適合用來衡量模型的好與壞了。此處使用F-Score作標(biāo)準(zhǔn)。

實(shí)現(xiàn)細(xì)節(jié)

CE(Cross Entroy Loss)

45ba2f1c-ea59-11ec-ba43-dac502259ad0.png

OHEM

分為以下三步:

1. 計(jì)算ce_loss, 同CE

2. 根據(jù)ce_loss排序, 選出top N 個(gè)sample:

45f341c6-ea59-11ec-ba43-dac502259ad0.png

4656a9a0-ea59-11ec-ba43-dac502259ad0.png

Class Balance CE

形式多種多樣,我個(gè)人最喜歡使用:

4692d3a8-ea59-11ec-ba43-dac502259ad0.png

46c6a868-ea59-11ec-ba43-dac502259ad0.png

46f254d6-ea59-11ec-ba43-dac502259ad0.png

優(yōu)化方法

最簡(jiǎn)單的SGD, 初始lr=0.1, 每200,000步衰減一次, 衰減系數(shù)為0.1。Cifar-100上focal_loss的初始lr=0.01。

batch_size = 128.

實(shí)驗(yàn)結(jié)果

CIFAR-10:

473441d4-ea59-11ec-ba43-dac502259ad0.png

47621ea6-ea59-11ec-ba43-dac502259ad0.png

Focal Loss的一個(gè)補(bǔ)丁

對(duì)于CIFAR-100,batch_size=128時(shí), 一個(gè)batch內(nèi)可能會(huì)一個(gè)positive sample都沒有, 即n_pos == 0, 這時(shí),paper里用n_pos來normalize loss 的方式就不可行了。測(cè)試過兩種簡(jiǎn)單的選擇:一是用所有weight之和來normalize, 二是直接不normalize。前者很難訓(xùn)練甚至訓(xùn)練不出來, 后者可用。所以上面的Focal loss計(jì)算代碼應(yīng)該補(bǔ)充為:

478de338-ea59-11ec-ba43-dac502259ad0.png

經(jīng)驗(yàn)總結(jié)

47e05fc8-ea59-11ec-ba43-dac502259ad0.png

Code Available On Github

https://github.com/dengdan/test_tf_models

Branch:focal_loss

References Focal Loss for Dense Object Detection, https://arxiv.org/pdf/1708.02002.pdf

RCNN, https://arxiv.org/abs/1311.2524

Fast RCNN, http://arxiv.org/abs/1504.08083

Faster-RCNN, http://arxiv.org/abs/1506.01497

Training Region-based Object Detectors with Online Hard Example Mining, https://arxiv.org/abs/1604.03540

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CV
    CV
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    16801
  • 計(jì)算機(jī)視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1685

    瀏覽量

    45816
  • 檢測(cè)方法
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    9759

原文標(biāo)題:視覺分類任務(wù)中處理不平衡問題的loss比較

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電容器不平衡保護(hù)動(dòng)作原因分析

    電容器不平衡保護(hù)動(dòng)作的原因多種多樣,主要包括以下幾個(gè)方面: 1. 電容器組內(nèi)部故障 電容量不平衡 :電容器組中的電容器由于老化、損壞或制造差異,可能導(dǎo)致三相電容量不平衡。當(dāng)三相之間電容值差異較大
    的頭像 發(fā)表于 09-20 15:43 ?153次閱讀

    LCR測(cè)試儀如何測(cè)量不平衡度?

    在電路設(shè)計(jì)和維修中,了解電路元件的特性是非常重要的。LCR測(cè)試儀就是一種常用的檢測(cè)儀器,它可以測(cè)量電感(L)、電容(C)和電阻(R)的參數(shù)。其中,測(cè)量不平衡度是LCR測(cè)試儀的一項(xiàng)重要功能。那么
    的頭像 發(fā)表于 08-26 16:49 ?177次閱讀
    LCR測(cè)試儀如何測(cè)量<b class='flag-5'>不平衡</b>度?

    機(jī)器視覺計(jì)算機(jī)視覺有什么區(qū)別

    。機(jī)器視覺的研究目標(biāo)是讓機(jī)器具有類似人類的視覺能力,能夠自動(dòng)、準(zhǔn)確地完成各種視覺任務(wù)。 計(jì)算機(jī)視覺
    的頭像 發(fā)表于 07-16 10:23 ?316次閱讀

    軟啟動(dòng)三相不平衡的解決辦法有哪些

    軟啟動(dòng)三相不平衡是指在軟啟動(dòng)過程中,三相電動(dòng)機(jī)的電流不平衡,導(dǎo)致電動(dòng)機(jī)的運(yùn)行效率降低,甚至可能引發(fā)電動(dòng)機(jī)的損壞。針對(duì)這個(gè)問題,我們可以從多個(gè)方面進(jìn)行解決。 一、軟啟動(dòng)三相不平衡的原因分析 電源電壓
    的頭像 發(fā)表于 07-02 09:40 ?1237次閱讀

    計(jì)算機(jī)視覺的十大算法

    視覺技術(shù)的發(fā)展起到了重要的推動(dòng)作用。一、圖像分割算法圖像分割算法是計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)算法之一,它的主要任務(wù)是將圖像分割成不同的區(qū)域或?qū)ο?。常見的圖像分割算法包括基
    的頭像 發(fā)表于 02-19 13:26 ?1071次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的十大算法

    三相不平衡調(diào)節(jié)裝置 三相不平衡會(huì)造成什么后果

    三相不平衡調(diào)節(jié)裝置是一種用于解決三相電力系統(tǒng)中三相電壓或電流不平衡問題的設(shè)備。在本文中,我們將探討三相不平衡的原因、后果和解決方案,并詳細(xì)介紹三相不平衡調(diào)節(jié)裝置的工作原理和應(yīng)用。 引言
    的頭像 發(fā)表于 02-06 10:14 ?1427次閱讀

    三相不平衡最佳解決辦法 三相不平衡多少范圍內(nèi)是合理的

    三相不平衡最佳解決辦法 在電力系統(tǒng)中,三相不平衡是指三個(gè)相之間電壓或電流不相等的現(xiàn)象。當(dāng)三相不平衡的情況發(fā)生時(shí),可能會(huì)導(dǎo)致線路過載、設(shè)備壽命縮短、電能損耗增加等問題。因此,解決三相不平衡
    的頭像 發(fā)表于 02-06 10:07 ?2122次閱讀

    三相電流不平衡是指什么?三相電流不平衡允許范圍是多少

    三相電流不平衡是指什么?三相電流不平衡允許范圍是多少? 三相電流不平衡是指三相電路中三個(gè)相位電流的大小不相等或相位角不相等的情況。在理想的三相電路中,三個(gè)相位電流應(yīng)當(dāng)相等,相位角差120度。 然而
    的頭像 發(fā)表于 02-02 17:34 ?6155次閱讀

    AD9288輸出不平衡跟Vref有關(guān)系嗎?

    最近在用AD9288作為采樣芯片,發(fā)現(xiàn)很奇怪的問題,同樣的信號(hào)幅度輸入,兩路AD采樣數(shù)值不一樣,一路基本平衡,另一路不平衡比較嚴(yán)重,采樣值-91~+100;另一塊同樣的PCB板,兩路都不平衡,比如
    發(fā)表于 12-15 06:24

    三相電壓不平衡對(duì)電路的影響

    三相電壓不平衡對(duì)電路的影響 三相電壓不平衡是指三相電網(wǎng)中三個(gè)相電壓的幅值和相位不一致,造成電壓波形不對(duì)稱的情況。常見的三相電壓不平衡情況包括電壓幅值不平衡、相位
    的頭像 發(fā)表于 12-11 17:16 ?1905次閱讀

    天線與饋線匹配中的平衡不平衡以及造成的影響解析

    天線與饋線匹配中的平衡不平衡以及造成的影響解析? 天線與饋線的匹配是無線電通信中非常重要的一環(huán)。平衡不平衡是兩種不同的天線與饋線匹配方式,它們對(duì)通信系統(tǒng)的性能有著不同的影響。 所謂
    的頭像 發(fā)表于 11-28 14:28 ?1305次閱讀

    什么是計(jì)算機(jī)視覺?計(jì)算機(jī)視覺的三種方法

    計(jì)算機(jī)視覺是指通過為計(jì)算機(jī)賦予人類視覺這一技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)缺乏像人類一樣憑直覺產(chǎn)生
    的頭像 發(fā)表于 11-16 16:38 ?4199次閱讀
    什么是<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>?<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的三種方法

    最適合AI應(yīng)用的計(jì)算機(jī)視覺類型是什么?

    計(jì)算機(jī)視覺是指為計(jì)算機(jī)賦予人類視覺這一技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)缺乏像人類一樣憑直覺產(chǎn)生
    的頭像 發(fā)表于 11-15 16:38 ?352次閱讀
    最適合AI應(yīng)用的<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>類型是什么?

    三相用電不平衡的危害?

    三相用電不平衡的危害? 三相用電不平衡是指三相電網(wǎng)中的三個(gè)相電壓或三個(gè)相電流之間存在不平衡的情況。不平衡的三相用電可能會(huì)導(dǎo)致一系列的危害,以下是詳盡、詳實(shí)、細(xì)致的關(guān)于三相用電
    的頭像 發(fā)表于 11-10 14:35 ?1700次閱讀

    I/Q不平衡的來源 IQ信道之間的不平衡會(huì)造成什么影響呢?

    I/Q不平衡的來源 IQ信道之間的不平衡會(huì)造成什么影響呢? I/Q不平衡是指在I(即“In-phase”)和Q(即“Quadrature-phase”)信道的輸出之間存在不平衡的狀態(tài)。
    的頭像 發(fā)表于 10-31 09:34 ?933次閱讀