<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2021 BDCI 華為零售商品識(shí)別競(jìng)賽一等獎(jiǎng)方案分享

          共 4042字,需瀏覽 9分鐘

           ·

          2022-01-26 05:15

          2c70e182b5501a9b7d759546e51d207f.webp

          【GiantPandaCV導(dǎo)語(yǔ)】上學(xué)期快結(jié)束的時(shí)候參加了華為和CCF組織的零售商品識(shí)別的比賽,隊(duì)伍名稱為GiantPandaCV隊(duì),比賽大約持續(xù)了兩個(gè)月,期間從開始摸索MindSpore框架,配置環(huán)境,上手ModelArts花費(fèi)了不少功夫?,F(xiàn)在比賽終于告一段落,本文進(jìn)行一下復(fù)盤。

          背景

          CCF大數(shù)據(jù)與計(jì)算智能大賽(CCF Big Data & Computing Intelligence Contest,簡(jiǎn)稱CCF BDCI)由中國(guó)計(jì)算機(jī)學(xué)會(huì)于2013年創(chuàng)辦。大賽由國(guó)家自然科學(xué)基金委員會(huì)指導(dǎo),是大數(shù)據(jù)與人工智能領(lǐng)域的算法、應(yīng)用和系統(tǒng)大型挑戰(zhàn)賽事。大賽面向重點(diǎn)行業(yè)和應(yīng)用領(lǐng)域征集需求,以前沿技術(shù)與行業(yè)應(yīng)用問(wèn)題為導(dǎo)向,以促進(jìn)行業(yè)發(fā)展及產(chǎn)業(yè)升級(jí)為目標(biāo),以眾智、眾包的方式,匯聚海內(nèi)外產(chǎn)學(xué)研用多方智慧,為社會(huì)發(fā)現(xiàn)和培養(yǎng)了大量高質(zhì)量數(shù)據(jù)人才。

          本賽題識(shí)別對(duì)象是零售商品,使用的數(shù)據(jù)集是RP2K數(shù)據(jù)集,RP2K是品覽基于零售商品識(shí)別能力發(fā)布的零售數(shù)據(jù)集。不同于一般聚焦新產(chǎn)品的數(shù)據(jù)集,RP2K收錄了超過(guò)50萬(wàn)張零售商品貨架圖片,商品種類超過(guò)2000種,該數(shù)據(jù)集是目前零售類數(shù)據(jù)集中產(chǎn)品種類數(shù)量TOP1,同時(shí)所有圖片均來(lái)自于真實(shí)場(chǎng)景下的人工采集,針對(duì)每種商品,我們提供了十分詳細(xì)的注釋。

          RP2K數(shù)據(jù)集(https://arxiv.org/pdf/2006.12634.pdf)具有以下特性:

          (1) 迄今為止,就產(chǎn)品類別而言,它是規(guī)模最大的數(shù)據(jù)集。

          (2) 所有圖片均在實(shí)體零售店人工拍攝,自然采光,符合實(shí)際應(yīng)用場(chǎng)景。

          (3) 為每個(gè)對(duì)象提供了豐富的注釋,包括大小、形狀和味道/氣味。

          數(shù)據(jù)分析

          數(shù)據(jù)集中的一些樣本如下圖所示,大部分分布是細(xì)長(zhǎng)的,長(zhǎng)寬分布要比ImageNet等數(shù)據(jù)集更加分布不均勻:

          8ba241be3064654398dcf65699ff56cf.webp

          此外,該數(shù)據(jù)集的數(shù)據(jù)量和類別數(shù)量也非常多,下圖展示了RP2K和其他零售數(shù)據(jù)集的對(duì)比,RP2K具有2388個(gè)類別的零售商品,屬于大規(guī)模分類問(wèn)題。

          ec679e22e343af4599723666eabc9965.webp

          此外,數(shù)據(jù)集某一些類間分布差異較小,相同品牌不同子產(chǎn)品之間差異較小,可以歸屬為細(xì)粒度分類問(wèn)題。數(shù)據(jù)質(zhì)量也存在一定的問(wèn)題,比如光照,包裝差異,拍攝角度,標(biāo)注錯(cuò)誤等等問(wèn)題。

          2b56377b39f176670ccdfa3e39ec1fc0.webp

          經(jīng)過(guò)統(tǒng)計(jì),該數(shù)據(jù)集呈現(xiàn)明顯的長(zhǎng)尾分布:

          fbecf005539c06f1fde883d67afd7b4e.webp

          數(shù)據(jù)預(yù)處理

          1. Resize策略

          Structure-Retention Resize策略,保留原有的結(jié)構(gòu)化信息。性能上能夠提升3個(gè)百分點(diǎn),如下圖所示,也就是padding黑邊的方式。這個(gè)策略在比賽初期是最有效的策略,比傳統(tǒng)的resize方法能夠提高3.17個(gè)百分點(diǎn)。

          758d01214608dbf2b6c35cccdc6ab434.webp

          2. 數(shù)據(jù)增強(qiáng)

          我們測(cè)試了三種經(jīng)典的數(shù)據(jù)增強(qiáng)方法:

          • Cutout數(shù)據(jù)增強(qiáng)策略,在隨機(jī)位置Crop正方形Patch。
          • AutoAugmentation策略,使用了針對(duì)ImageNet搜索得到的策略。
          • Random Erasing策略,隨機(jī)擦除原圖中的一個(gè)矩形區(qū)域,將區(qū)域內(nèi)部像素值替換為隨機(jī)值。

          實(shí)驗(yàn)效果如下:

          f8b955685a90ad9d430a2f3e61a1ff0e.webp

          3 后處理方法FixRes

          采用了NIPS19年Facebook提出的FixRes的后處理技巧,ImageNet上經(jīng)典的數(shù)據(jù)增強(qiáng)方式會(huì)導(dǎo)致訓(xùn)練時(shí)和測(cè)試時(shí)的模型看到的目標(biāo)尺寸出現(xiàn)差異。

          之前寫過(guò)一篇文章解讀FixRes詳細(xì)內(nèi)容可以看這里:

          xxx

          https://blog.csdn.net/DD_PP_JJ/article/details/121202386?spm=1001.2014.3001.5501

          簡(jiǎn)單來(lái)說(shuō)是由于ImageNet經(jīng)典的數(shù)據(jù)處理方法會(huì)導(dǎo)致Region of Classification,即模型看到的目標(biāo)尺寸不同。

          17061f8888ccaf07a2935b1949694b20.webp

          可以看到,下圖中通過(guò)訓(xùn)練和測(cè)試過(guò)程得到的“7喜”的logo標(biāo)志大小存在差異,為了彌補(bǔ)兩者差異,最簡(jiǎn)單的方式是提高測(cè)試過(guò)程中分辨率。

          a44b0e3835d1afeb73f91f99d85a969c.webp

          FixRes有三步流程:

          • 第一步,正常以224分辨率進(jìn)行訓(xùn)練
          • 第二步,將測(cè)試分辨率調(diào)高到280
          • 第三步,固定backbone,只對(duì)Linear層進(jìn)行finetune。

          具體實(shí)驗(yàn)結(jié)果如下:

          db133c811e95a8aed7aa547e022622a2.webp

          模型改進(jìn)

          1 模型選擇

          由于數(shù)據(jù)集規(guī)模比較大,為了快速測(cè)試各個(gè)模型的有效性,使用了50%的數(shù)據(jù)進(jìn)行快速驗(yàn)證,驗(yàn)證選擇的模型包括:

          • ResNet50_BAM
          • ResNet50
          • ResNet101
          • ResNet_CBAM
          • SEResNet50
          • Swin Transformer
          • EfficientNet
          • SEResNeXt50
          • Inception_resnet_v2

          我們最終選擇了SEResNeXt50作為主要模型,并配合ResNet50_CBAM還有Inception_resNet_v2進(jìn)行模型集成。Swin Transformer和EfficientNet兩個(gè)模型由于其運(yùn)行速度太慢,在比賽時(shí)間限制下沒有使用兩者。

          fbbcdda8324c01943bb1dbaea8f07dc0.webp

          SEResNeXt模型由兩部分構(gòu)成

          • ResNeXt在ResNet基礎(chǔ)上引入了基數(shù), 通過(guò)引入組卷積讓模型能夠?qū)W到更diverse的表示。
          • Squeeze & Excitation Module讓模型能夠自適應(yīng)地調(diào)整各個(gè)通道的重要程度,學(xué)習(xí)到了通道之間的相關(guān)性,提升模型表達(dá)能力。

          2 模型改進(jìn)

          模型改進(jìn)部分是一個(gè)簡(jiǎn)單而符合直覺的方法,我們觀察到,現(xiàn)有的大部分模型都是針對(duì)ImageNet進(jìn)行設(shè)計(jì)的,而ImageNet類別數(shù)為1000個(gè)類別,但RP2K數(shù)據(jù)集規(guī)模比較大,擁有2388個(gè)類別。

          f09dbf767dede09b4a3569d61a5660f6.webp

          我們關(guān)注大多數(shù)模型的最后一個(gè)linear層的設(shè)計(jì),針對(duì)ImageNet設(shè)計(jì)的模型的Linear層通常由2048維度映射到1000維度,由高緯度映射到低緯度比較合理。

          但是由于RP2K的規(guī)模較大,類別數(shù)量為2388,直接由2048映射至2388可能會(huì)導(dǎo)致容量不夠的問(wèn)題,由低緯度映射映射至高緯度則不太符合直覺。

          針對(duì)此,我們進(jìn)行了簡(jiǎn)單而符合直覺的改進(jìn),如下圖所示:

          104c80c5843668bf9284ba1c77db0812.webpc215038d4e7ebd913683ffa69fe23baa.webp

          通過(guò)以上改進(jìn),擴(kuò)充了模型的容量,取得了0.26%的提升。

          10fdf8cb4b799fd3de1abbb70454f5fa.webp

          3. 模型訓(xùn)練細(xì)節(jié)

          • 使用label smooth來(lái)降低過(guò)擬合,更好地處理難分樣本。

          • 優(yōu)化器使用SGD init lr=0.1

          • 調(diào)度器: Cosine Annealing mini lr=1e-6

          • Batch Size: 128 Epoch: 75

          • 混合精度:GPU O2 Ascend O3

          • 模型集成:(本次比賽不允許集成,但是這里也展示了一下集成的效果)

          • SEResNeXt50(96.94)+ResNet50BAM(97.24%)+Inception_resnet_v2(96.35%) + TTA(HorionFlip) = 97.49% top1

          錯(cuò)例分析

          b095806cac9f05aa9a312782e82f7be3.webp

          在林臻幫助下,手工分析了一下錯(cuò)誤樣例(注:以上分析去除了others類別錯(cuò)分樣本),可以發(fā)現(xiàn)這個(gè)數(shù)據(jù)集比較難處理的是細(xì)粒度帶來(lái)的識(shí)別困難、疑似數(shù)據(jù)標(biāo)注錯(cuò)誤、以及長(zhǎng)尾分布的尾部類別,這也符合我們數(shù)據(jù)分析的結(jié)論。

          MindSpore框架使用感受

          本次比賽面向國(guó)產(chǎn)AI框架,基于MindSpore開發(fā)商品識(shí)別算法,必須在昇騰910平臺(tái)訓(xùn)練和部署模型,以官方復(fù)現(xiàn)結(jié)果為準(zhǔn)。

          使用MindSpore的感受:

          1. 優(yōu)點(diǎn):

          • 最大的優(yōu)點(diǎn),與昇騰平臺(tái)兼容好,訓(xùn)練效率比較高。我們這邊沒有昇騰平臺(tái),大部分實(shí)驗(yàn)在GPU上跑的,后期進(jìn)行驗(yàn)證的過(guò)程中發(fā)現(xiàn),GPU上運(yùn)行速度要遠(yuǎn)低于昇騰平臺(tái)運(yùn)行速度(同一套代碼,唯一區(qū)別可能是O2與O3的區(qū)別),大概速度上能快接近一倍。

          • 支持動(dòng)態(tài)圖和靜態(tài)圖,動(dòng)態(tài)圖方面進(jìn)行調(diào)試,靜態(tài)圖運(yùn)行效率更高。

          • 社群友好,加入了MindSpore高校網(wǎng)絡(luò)調(diào)試聯(lián)盟,其中負(fù)責(zé)復(fù)現(xiàn)Swin Transformer的作者@項(xiàng)靖陽(yáng)等人的指點(diǎn),在我們遇到一些坑的過(guò)程中能快速跳出來(lái)。

          • 快速開發(fā),在擁有Pytorch經(jīng)驗(yàn)的基礎(chǔ)上,轉(zhuǎn)到MindSpore之后結(jié)合API查詢,可以比較快上手。

          • 數(shù)據(jù)預(yù)處理部分與PyTorch不同的是,MS提供了c_transforms和py_transforms,經(jīng)過(guò)實(shí)測(cè)c_transforms在數(shù)據(jù)處理速度上要比py_transforms快非常多,如果沒有特殊需要,還是建議使用c_transforms。

          缺點(diǎn):說(shuō)幾個(gè)開發(fā)過(guò)程中缺點(diǎn)

          • 預(yù)訓(xùn)練模型不太友好,個(gè)人感覺model zoo支持模型比較少,甚至有一部分?jǐn)?shù)量的權(quán)重是基于CIFAR10訓(xùn)練的,并沒有ImageNet訓(xùn)練的模型,如果需要用的話還需要將PyTorch的權(quán)重轉(zhuǎn)換過(guò)來(lái)才能使用。
          • 動(dòng)態(tài)圖運(yùn)行效率非常低,這個(gè)坑浪費(fèi)了我?guī)缀跻惶斓臅r(shí)間,調(diào)試的過(guò)程中忘記將動(dòng)態(tài)圖轉(zhuǎn)化為靜態(tài)圖了,然后發(fā)現(xiàn)運(yùn)行時(shí)間翻倍,仔細(xì)一看GPU利用率非常低,仔細(xì)排查以后發(fā)現(xiàn)使用的是動(dòng)態(tài)圖。由此看來(lái)MS的動(dòng)態(tài)圖支持(GPU上的)效率不是很高,我們轉(zhuǎn)化為靜態(tài)圖之后瞬間利用率高了很多。
          • 封裝過(guò)程略深,官方推薦的運(yùn)行方式其實(shí)更接近于Keras,構(gòu)建callbacks來(lái)完成訓(xùn)練過(guò)程的處理。(當(dāng)然官方也支持像PyTorch那種展開的寫法)

          最后對(duì)MindSpore感興趣的小伙伴可以使用以下的參考資料快速上手:

          • MindSpore 安裝問(wèn)題:https://www.mindspore.cn/install

          • 最直接的學(xué)習(xí)資料,官方教程: https://www.mindspore.cn/tutorials/zh-CN/r1.5/index.html

          • 最簡(jiǎn)單的分類例程:https://www.mindspore.cn/docs/programming_guide/zh-CN/master/quick_start/quick_video.html

          • 可白嫖的模型模型庫(kù):https://gitee.com/mindspore/models

          開源代碼

          GiantPandaCV隊(duì)比賽的全部源碼已經(jīng)開源,收集了非常多的模型,歡迎嘗試MindSpore框架。

          3031273b28ae6c5b80ef88cdb65c1934.webp

          Github地址:https://github.com/pprp/GoodsRecognition.MindSpore

          Gitee地址:https://gitee.com/pprp/GoodsRecognition.MindSpore


          END55aaf82ba3e85b2375ef8ab02dee5090.webp


          3634fdb6e85e6f554fcfbf8c9b0b09d7.webp

          瀏覽 30
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩熟| 亚洲中文无码AV在线 | 青娱乐精 | 成人性爱视频免费在线播放 | 台湾无码中文字幕 |