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ù)?,F(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)化方法

最簡單的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è)試過兩種簡單的選擇:一是用所有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

    文章

    53

    瀏覽量

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

    關(guān)注

    8

    文章

    1699

    瀏覽量

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

    關(guān)注

    0

    文章

    50

    瀏覽量

    9790

原文標(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 ?1245次閱讀

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

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

    不平衡電流和零序電流的區(qū)別是什么

    在電力系統(tǒng)中,電流的平衡不平衡是影響電力系統(tǒng)穩(wěn)定性和安全性的重要因素。不平衡電流和零序電流是兩種常見的電流類型,它們?cè)陔娏ο到y(tǒng)中扮演著不同的角色。 一、定義 不平衡電流 是指三相電力
    的頭像 發(fā)表于 07-25 16:24 ?1427次閱讀

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

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

    計(jì)算機(jī)視覺和機(jī)器視覺區(qū)別在哪

    計(jì)算機(jī)視覺和機(jī)器視覺是兩個(gè)密切相關(guān)但又有明顯區(qū)別的領(lǐng)域。 一、定義 計(jì)算機(jī)視覺 計(jì)算機(jī)
    的頭像 發(fā)表于 07-09 09:22 ?486次閱讀

    計(jì)算機(jī)視覺屬于人工智能嗎

    屬于,計(jì)算機(jī)視覺是人工智能領(lǐng)域的一個(gè)重要分支。 引言 計(jì)算機(jī)視覺是一門研究如何使計(jì)算機(jī)具有視覺
    的頭像 發(fā)表于 07-09 09:11 ?1360次閱讀

    計(jì)算機(jī)視覺怎么給圖像分類

    圖像分類是計(jì)算機(jī)視覺領(lǐng)域中的一項(xiàng)核心任務(wù),其目標(biāo)是將輸入的圖像自動(dòng)分配到預(yù)定義的類別集合中。這一過程涉及圖像的特征提取、特征表示以及分類器的設(shè)計(jì)與訓(xùn)練。隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,圖像
    的頭像 發(fā)表于 07-08 17:06 ?810次閱讀

    軟啟動(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 ?2966次閱讀

    軟啟動(dòng)報(bào)三相電流不平衡怎么處理

    軟啟動(dòng)器是一種用于電動(dòng)機(jī)啟動(dòng)的電氣設(shè)備,它可以有效地降低電動(dòng)機(jī)啟動(dòng)時(shí)的電流沖擊,減少對(duì)電網(wǎng)和電動(dòng)機(jī)的影響。然而,在實(shí)際應(yīng)用中,軟啟動(dòng)器有時(shí)會(huì)出現(xiàn)三相電流不平衡的問題,這會(huì)對(duì)電動(dòng)機(jī)的正常運(yùn)行和軟啟動(dòng)
    的頭像 發(fā)表于 06-18 11:44 ?4693次閱讀

    計(jì)算機(jī)視覺的主要研究方向

    計(jì)算機(jī)視覺(Computer Vision, CV)作為人工智能領(lǐng)域的一個(gè)重要分支,致力于使計(jì)算機(jī)能夠像人眼一樣理解和解釋圖像和視頻中的信息。隨著深度學(xué)習(xí)、大數(shù)據(jù)等技術(shù)的快速發(fā)展,計(jì)算機(jī)
    的頭像 發(fā)表于 06-06 17:17 ?1037次閱讀

    三相四線負(fù)荷不平衡影響計(jì)量嗎為什么

    三相四線負(fù)荷不平衡是指三相電源接線不平衡導(dǎo)致三相電流不相等的情況。負(fù)荷不平衡會(huì)對(duì)電力計(jì)量產(chǎn)生一定的影響,包括電能計(jì)量的準(zhǔn)確性以及電力系統(tǒng)的穩(wěn)定性。下面將詳細(xì)介紹三相四線負(fù)荷不平衡對(duì)計(jì)量
    的頭像 發(fā)表于 03-29 15:50 ?2570次閱讀

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

    視覺技術(shù)的發(fā)展起到了重要的推動(dòng)作用。一、圖像分割算法圖像分割算法是計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)算法之一,它的主要任務(wù)是將圖像分割成不同的區(qū)域或?qū)ο蟆3R姷膱D像分割算法包括基
    的頭像 發(fā)表于 02-19 13:26 ?1287次閱讀
    <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 ?1988次閱讀

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

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

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

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