<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>

          基于深度學(xué)習(xí)的花卉圖像關(guān)鍵點(diǎn)檢測(cè)

          共 5402字,需瀏覽 11分鐘

           ·

          2021-08-16 01:29

          點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)


          在本文中,我們描述了我們?nèi)绾问褂镁矸e神經(jīng)網(wǎng)絡(luò) (CNN) 來估計(jì)花卉圖像中關(guān)鍵點(diǎn)的位置,并且在 3D 模型上渲染這些圖像上莖和花的位置等關(guān)鍵點(diǎn)。

          為了能夠與真實(shí)花束的照片對(duì)比,所創(chuàng)建的圖像必須盡可能逼真。這是通過使用從多個(gè)角度拍攝的真實(shí)花朵照片并將它們渲染在 3D 模型上來實(shí)現(xiàn)的。對(duì)于每一朵新花,他們都會(huì)從 7 個(gè)不同的角度拍攝照片。在照相亭中,花朵由電機(jī)自動(dòng)旋轉(zhuǎn)。
          相比之下,圖片的后期處理還沒有完全自動(dòng)化。目前數(shù)據(jù)庫(kù)中有數(shù)千種鮮花,每天都會(huì)添加新的鮮花。將此乘以角度數(shù),將獲得大量要手動(dòng)處理的圖片。后處理步驟之一是定位 3D 模型所需的圖像上的幾個(gè)關(guān)鍵點(diǎn),最重要的是莖位和花頂位置。

          數(shù)據(jù)集


          在數(shù)據(jù)集中,成千上萬的圖像已經(jīng)手動(dòng)標(biāo)注了關(guān)鍵點(diǎn),所以我們有大量的訓(xùn)練數(shù)據(jù)可以使用。

          以上是訓(xùn)練數(shù)據(jù)集中的一些帶注釋的花,它從幾個(gè)不同的角度展示了同一朵花。莖位置為藍(lán)色,花頂部位置為綠色。在一些圖片中,莖的起源被花本身隱藏了。在這種情況下,我們需要“有根據(jù)的猜測(cè)”最有可能在哪里。

          網(wǎng)絡(luò)模型


          因?yàn)槟P捅仨気敵鲆粋€(gè)數(shù)字而不是一個(gè)類,所以我們實(shí)際上是在做回歸。CNN 以分類任務(wù)而聞名,但在回歸方面也表現(xiàn)良好。例如,DensePose使用基于 CNN 的方法進(jìn)行人體姿勢(shì)估計(jì)。


          網(wǎng)絡(luò)從幾個(gè)標(biāo)準(zhǔn)卷積塊開始。這些塊由3個(gè)卷積層組成,然后是最大池、批量標(biāo)準(zhǔn)化層和退出層。

          • 所述卷積層含有多個(gè)濾波器。每個(gè)過濾器就像一個(gè)模式識(shí)別器。下一個(gè)卷積塊有更多的過濾器,所以它可以在模式中找到模式。

          • 最大池化會(huì)降低圖像的分辨率。這限制了模型中的參數(shù)數(shù)量。通常,對(duì)于圖像分類,我們對(duì)某個(gè)對(duì)象在圖像中的位置不感興趣,只要它在那里即可。在我們的例子中,我們對(duì)位置感興趣。盡管如此,擁有幾個(gè)最大池化層并不會(huì)影響性能。

          • 批量標(biāo)準(zhǔn)化層有助于模型更快地訓(xùn)練(收斂)。在一些深度網(wǎng)絡(luò)中,沒有它們,訓(xùn)練完全失敗。

          • 退出層將隨機(jī)禁用節(jié)點(diǎn),這將防止過度擬合模型。


          在卷積塊之后,我們將張量展平,使其與密集層兼容。全局最大池化或平均最大池化也將實(shí)現(xiàn)平坦張量,但會(huì)丟失所有空間信息。扁平化在我們的實(shí)驗(yàn)中效果更好,盡管它的(計(jì)算)成本是擁有更多模型參數(shù)導(dǎo)致更長(zhǎng)的訓(xùn)練時(shí)間。


          在兩個(gè)帶有Relu激活的密集隱藏層之后是輸出層,我們想要預(yù)測(cè)2 個(gè)關(guān)鍵點(diǎn)的x和y坐標(biāo),所以我們需要在輸出層有 4 個(gè)節(jié)點(diǎn)。圖像可以有不同的分辨率,因此我們將坐標(biāo)縮放到 0 到 1 之間,并在使用前將它們放大。輸出層沒有激活函數(shù)。即使目標(biāo)變量在 0 和 1 之間,這對(duì)我們來說也比使用sigmoid效果更好。作為參考,以下是我們使用的 Python 深度學(xué)習(xí)庫(kù)Keras的完整模型摘要:

          _________________________________________________________________Layer (type)                 Output Shape              Param #   =================================================================conv2d_1 (Conv2D)            (None, 126, 126, 64)      2368      _________________________________________________________________conv2d_2 (Conv2D)            (None, 124, 124, 64)      36928     _________________________________________________________________conv2d_3 (Conv2D)            (None, 122, 122, 64)      36928     _________________________________________________________________max_pooling2d_1 (MaxPooling2 (None, 61, 61, 64)        0         _________________________________________________________________batch_normalization_1 (Batch (None, 61, 61, 64)        256       _________________________________________________________________dropout_1 (Dropout)          (None, 61, 61, 64)        0         _________________________________________________________________conv2d_4 (Conv2D)            (None, 59, 59, 128)       73856     _________________________________________________________________conv2d_5 (Conv2D)            (None, 57, 57, 128)       147584    _________________________________________________________________conv2d_6 (Conv2D)            (None, 55, 55, 128)       147584    _________________________________________________________________max_pooling2d_2 (MaxPooling2 (None, 27, 27, 128)       0         _________________________________________________________________batch_normalization_2 (Batch (None, 27, 27, 128)       512       _________________________________________________________________dropout_2 (Dropout)          (None, 27, 27, 128)       0         _________________________________________________________________flatten_1 (Flatten)          (None, 93312)             0         _________________________________________________________________dense_1 (Dense)              (None, 256)               23888128  _________________________________________________________________batch_normalization_3 (Batch (None, 256)               1024      _________________________________________________________________dropout_3 (Dropout)          (None, 256)               0         _________________________________________________________________dense_2 (Dense)              (None, 256)               65792     _________________________________________________________________batch_normalization_4 (Batch (None, 256)               1024      _________________________________________________________________dropout_4 (Dropout)          (None, 256)               0         _________________________________________________________________dense_3 (Dense)              (None, 4)                 1028      =================================================================Total params: 24,403,012Trainable params: 24,401,604Non-trainable params: 1,408_________________________________________________________________


          你們可能會(huì)問:為什么是 3 個(gè)卷積層?或者為什么是 2 個(gè)卷積塊?我們?cè)诔瑓?shù)搜索中將這些數(shù)字作為超參數(shù)包括在內(nèi)。連同諸如密集層數(shù)、退出層、批量標(biāo)準(zhǔn)化和卷積濾波器數(shù)量之類的參數(shù),我們進(jìn)行了隨機(jī)搜索以找到超參數(shù)的最佳組合。


          對(duì)于訓(xùn)練,我們使用學(xué)習(xí)率為的Adam 優(yōu)化器0.005。當(dāng)驗(yàn)證損失在幾個(gè)時(shí)期內(nèi)沒有改善時(shí),學(xué)習(xí)率會(huì)自動(dòng)降低。作為損失函數(shù),我們使用均方誤差 (MSE)。因此,大錯(cuò)誤比小錯(cuò)誤受到的懲罰相對(duì)更多。


          訓(xùn)練和效果


          這些是訓(xùn)練 50 個(gè)時(shí)期后的損失(誤差)圖:


          大約 8 個(gè) epoch 后,驗(yàn)證損失變得高于訓(xùn)練損失。直到訓(xùn)練結(jié)束,驗(yàn)證損失仍然減少,因此我們沒有看到模型嚴(yán)重過度擬合的跡象。測(cè)試集上的最終損失 (MSE) 為0.0064. MSE 的解釋可能非常不直觀。

          MAE 是——這意味著預(yù)測(cè)平均降低 1.7% 

          白色圓圈包含目標(biāo)關(guān)鍵點(diǎn),實(shí)心圓圈包含我們的預(yù)測(cè)。在大多數(shù)情況下,它們非常接近(重疊)。

          改進(jìn)


          我們有一些改進(jìn)的想法,但我們還沒有時(shí)間實(shí)施:

          1. 目前,單個(gè)模型正在估計(jì)兩個(gè)關(guān)鍵點(diǎn)。為每個(gè)關(guān)鍵點(diǎn)訓(xùn)練一個(gè)特定的模型可能會(huì)更好。這還有一個(gè)額外的好處,可以稍后添加新的關(guān)鍵點(diǎn),而無需重新訓(xùn)練完整的模型。

          2. 另一個(gè)想法是考慮照片的角度。例如,將其添加為密集層的輸入,可能會(huì)爭(zhēng)辯說,角度會(huì)改變?nèi)蝿?wù)的性質(zhì),因此提供此信息可能有助于網(wǎng)絡(luò)。按照這種思路,為每個(gè)角度訓(xùn)練一個(gè)單獨(dú)的網(wǎng)絡(luò)也可能是有益的。


          結(jié)論


          通過這項(xiàng)研究,我們證明了使用 CNN 檢測(cè)花卉圖像中的關(guān)鍵點(diǎn)的可行性。所使用的方法也可能適用于其他領(lǐng)域的后處理任務(wù),例如產(chǎn)品攝影。


          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 89
          點(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>
                  五月丁香婷婷色综合 | 怡红院院院麻豆 | 久久夜色国产精品亚洲 | 无码伊人 | 大大鸡吧轻轻操在线视频 |