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

          OpenCV 創(chuàng)始人發(fā)布新開源視覺庫 Kornia!

          共 2355字,需瀏覽 5分鐘

           ·

          2020-11-16 13:45

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

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

          轉(zhuǎn)載 |?新機(jī)器視覺?

          OpenCV 創(chuàng)始人 Gary Bradski 等人近期發(fā)表了一篇 Kornia 的綜述。Kornia 是一個(gè)基于 PyTorch 的可微分的計(jì)算機(jī)視覺庫,實(shí)現(xiàn)了可微的基礎(chǔ)計(jì)算機(jī)視覺算子和可微的數(shù)據(jù)增廣。該項(xiàng)目在 Github 上已經(jīng)收獲了 3k 星。



          無論在深度學(xué)習(xí)還是傳統(tǒng)的視覺處理方案中,最常用圖像處理庫就是 OpenCV 和 PIL 了。然而,因?yàn)?OpenCV 和 PIL 都是不可微的,所以這些處理都只可以作為圖像的預(yù)處理而無法通過觀察梯度的變化來對這些算子進(jìn)行優(yōu)化 (gradient-based optimization)。因此,Kornia 便應(yīng)運(yùn)而生。


          • 論文鏈接:https://arxiv.org/pdf/2009.10521.pdf

          • 項(xiàng)目鏈接:https://github.com/kornia/kornia

          • 文檔鏈接:https://kornia.readthedocs.io/en/latest/index.html


          Kornia 是一個(gè)基于 PyTorch 的可微分的計(jì)算機(jī)視覺 (differentiable computer vision) 開源庫,在 Github 上已經(jīng)有了 3000 星。為了兼顧傳統(tǒng)視覺處理與深度學(xué)習(xí)的需求,Kornia 實(shí)現(xiàn)了:

          1. 可微的基礎(chǔ)計(jì)算機(jī)視覺算子。

          2. 可微的數(shù)據(jù)增廣(differentiable data augmentation)。


          由于 Kornia 是基于 PyTorch 的,它同時(shí)會(huì)具備如下特性:

          1. 可微分性。所有算子的梯度都可以通過 PyTorch 的 AutoGrad 計(jì)算,并使用 PyTorch 的優(yōu)化器(如:Adam)來優(yōu)化。

          2. GPU/TPU 加速。除 CPU 外,Kornia 可以在 GPU 甚至 TPU 中進(jìn)行運(yùn)算。

          3. 批數(shù)據(jù)處理。同時(shí)處理大量數(shù)據(jù)來提高運(yùn)行效率。


          1.Kornia 可微計(jì)算機(jī)視覺

          為了解決不同計(jì)算機(jī)視覺領(lǐng)域的問題,比如顏色轉(zhuǎn)換、底層圖像處理、圖像幾何變換、特征檢測等,Kornia 設(shè)計(jì)了如下圖的模塊。


          值得一提的是,Kornia 不僅僅是將 OpenCV 的功能用 PyTorch 重新實(shí)現(xiàn),它同時(shí)也將一些傳統(tǒng)視覺中不可微的操作可微化,譬如說裁切 (crop) 操作便是通過透視變換 (Perspective transform) 與仿射變換 (Affine transform) 實(shí)現(xiàn)的。

          基于可微性,Kornia 中傳統(tǒng)的視覺方法也可以通過梯度下降的方法來進(jìn)行優(yōu)化。比如使用梯度下降的方法來實(shí)現(xiàn)圖像深度估計(jì) (Depth Estimation):


          詳細(xì)代碼可以參考 https://github.com/kornia/kornia-examples/blob/master/depth_estimation.ipynb

          亦或是使用梯度下降的方法來實(shí)現(xiàn)圖像配準(zhǔn) (Image Registration):


          詳細(xì)代碼可以參考 https://github.com/kornia/kornia-examples/blob/master/homography.ipynb

          2.Kornia 可微數(shù)據(jù)增廣

          深度學(xué)習(xí)中最常用的優(yōu)化方法便是基于梯度的優(yōu)化,但常用的數(shù)據(jù)增廣庫(如 TorchVision,Albumentations)并不具備可微性。為了更好地與深度學(xué)習(xí)相結(jié)合,Kornia 參考了 TorchVision 的 API 并實(shí)現(xiàn)了可微的數(shù)據(jù)增廣(DDA, Differentiable Data Augmentation)。目前,開發(fā)團(tuán)隊(duì)也在持續(xù)開發(fā)更多的可微分的 2D 圖像與 3D Volume 的數(shù)據(jù)增廣,如下圖所示(RGB 3D Volume 很少見,實(shí)現(xiàn)與否將由社區(qū)驅(qū)動(dòng))。


          由于 Kornia 是基于 PyTorch 開發(fā)而來的,那么數(shù)據(jù)增廣的邏輯便自然而然地整合進(jìn)了 PyTorch 的網(wǎng)絡(luò)中,就像使用卷積層,池化層一樣。相似的,我們可以任意定義、保存、載入 Kornia 增廣模塊,并在任意設(shè)備(CPU/GPU/TPU)上運(yùn)算。尤其在訓(xùn)練中,如果你的 CPU 已經(jīng)開始超負(fù)荷運(yùn)行了,那么 Kornia 將會(huì)更大地提升你的訓(xùn)練速度與 GPU 利用率。


          同時(shí), Kornia 的數(shù)據(jù)增廣方法也可以輕松地通過梯度來進(jìn)行優(yōu)化。下面的例子展示了如何使用 ColorJitter 來更新圖像與增廣參數(shù),其中我們通過 nn.Parameter 定義了亮度 (brightness)、飽和度 (saturation)、對比度 (contrast)這三個(gè)可微的參數(shù),以及通過 torch.tensor 定義色相 (hue)這一不可微的參數(shù)。從結(jié)果中,我們可以看到被大學(xué)習(xí)率(learning rate=1e+5)更新的圖像以及三個(gè)可微參數(shù)的變化。


          3. 后話

          可微的數(shù)據(jù)增廣乃至于計(jì)算機(jī)視覺在近幾年的社區(qū)中不斷被更多的人關(guān)注。近期的工作,例如 Faster AutoAugment,便是基于 Kornia 的可微性而來的針對自動(dòng)數(shù)據(jù)增廣策略的優(yōu)化方法。開發(fā)團(tuán)隊(duì)表示,他們也希望自己的工作可以更多地應(yīng)用于各種有潛力的項(xiàng)目。未來,他們將會(huì)加入更多的數(shù)據(jù)增廣操作、梯度估計(jì)方法,以及增加對 JIT 的支持。


          ?End?


          聲明:部分內(nèi)容來源于網(wǎng)絡(luò),僅供讀者學(xué)術(shù)交流之目的。文章版權(quán)歸原作者所有。如有不妥,請聯(lián)系刪除。


          瀏覽 34
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  亚州国产精品三级片 | 日韩欧美一级二级 | 欧美国产在线观看 | 欧美A片免费在线观看 | 久久无码影院 |