自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一鍵摳圖,毛發(fā)畢現(xiàn):這個(gè)GitHub項(xiàng)目助你快速PS

新聞 前端
摳圖是 PS 中的一項(xiàng)常用技術(shù)。但是要做到完美地將圖像中的目標(biāo)選取出來往往費(fèi)時(shí)費(fèi)力。近日,一個(gè)名為 PyMatting 的項(xiàng)目無疑能夠幫助你。

 摳圖是 PS 中的一項(xiàng)常用技術(shù)。但是要做到完美地將圖像中的目標(biāo)選取出來往往費(fèi)時(shí)費(fèi)力。近日,一個(gè)名為 PyMatting 的項(xiàng)目無疑能夠幫助你。

項(xiàng)目地址:https://github.com/pymatting/pymatting

無需手動,一鍵摳圖

摳圖的 AI 應(yīng)用場景是這樣的:給定一張圖像,通過劃定一個(gè)區(qū)域,AI 應(yīng)當(dāng)能夠估計(jì)到劃定區(qū)域內(nèi)的前景圖目標(biāo),并將這個(gè)前景完整地抽取出來,用來替換到其他背景的圖像中去。

因此,摳圖需要兩個(gè) AI 能力:首先,AI 需要能夠在劃定的區(qū)域內(nèi)識別目標(biāo)。其次,AI 要能夠完整地將目標(biāo)抽取出來,沒有劃定錯(cuò)誤的邊緣、模糊的圖像等問題。

一键抠图,毛发毕现:这个GitHub项目助你快速PS

上圖為項(xiàng)目作者提供的示例。給定一只動物的圖像(左上),以及人劃定的區(qū)域(右上),算法應(yīng)當(dāng)能夠獲得劃定區(qū)域內(nèi)目標(biāo)的阿爾法通道,即區(qū)分前景和背景的黑白輪廓(左下)。有了這一數(shù)據(jù),就可以從原圖中摳去目標(biāo),并移動到新的圖像中去(右下)。

據(jù)項(xiàng)目介紹,PyMatting 具有以下特性。

首先,項(xiàng)目能夠完成阿爾法摳圖(Alpha Matting),其中包括 Closed-Form 摳圖、大核摳圖(Large Kernel Matting)、KNN 摳圖、基于學(xué)習(xí)的數(shù)字摳圖(Learning Based Digital Matting)、隨機(jī)游走(Random Walk)摳圖等算法。

同時(shí),項(xiàng)目也能完成前景預(yù)估,包括 Clos Form 前景預(yù)估和多級別前景預(yù)估(基于 CPU、CUDA 和 OpenCL 等)算法。

該項(xiàng)目還可以進(jìn)行快速多線程 KNN 搜索、不完全閾值化楚列斯基分解(incomplete thresholded Cholesky decomposition)、V 輪幾何多網(wǎng)格預(yù)條件子(V-Cycle Geometric Multigrid preconditioner)等。

使用方法

在使用前,你需要保證電腦安裝相應(yīng)的 Python 環(huán)境(Python 3),同時(shí)需要以下安裝包:

  • numpy>=1.16.0
  • pillow>=5.2.0
  • numba>=0.47.0
  • scipy>=1.1.0

由于項(xiàng)目需要 GPU,因此也需要 GPU 相關(guān)支持:

  • cupy-cuda90>=6.5.0 or similar
  • pyopencl>=2019.1.2

除此之外,為了進(jìn)行測試,也需要:

  • pytest>=5.3.4

為了方便使用,作者提供了一些示例代碼。例如,如下代碼中,給定原始圖像和摳圖框,可以抽取出阿爾法前景:

  1. from pymatting import cutout 
  2.  
  3. cutout( 
  4.  
  5.     # input image path"data/lemur.png"
  6.  
  7.     # input trimap path"data/lemur_trimap.png"
  8.  
  9.     # output cutout path"lemur_cutout.png"

作者還提供了高級代碼,直接進(jìn)行摳圖,生成新圖像:

  1. image = load_image("../data/lemur/lemur.png""RGB", scale, "box"
  2.  
  3. trimap = load_image("../data/lemur/lemur_trimap.png""GRAY", scale, "nearest"
  4.  
  5. # estimate alpha from image and trimap 
  6.  
  7. alpha = estimate_alpha_cf(image, trimap) 
  8.  
  9. # make gray background 
  10.  
  11. new_background = np.zeros(image.shape) 
  12.  
  13. new_background[:, :] = [0.50.50.5
  14.  
  15. # estimate foreground from image and alpha 
  16.  
  17. foreground, background = estimate_foreground_ml(image, alpha, return_background=True) 
  18.  
  19. # blend foreground with background and alpha, less color bleeding 
  20.  
  21. new_image = blend(foreground, new_background, alpha) 

除了代碼示例外,項(xiàng)目還提供了測試代碼,可在主目錄中運(yùn)行:

  1. python3 tests/download_images.py 
  2.  
  3. pip3 install -r requirements_tests.txt 
  4.  
  5. pytest 

這一測試能夠覆蓋 89% 的代碼。

除了項(xiàng)目外,作者還提供了不同的摳圖算法的基準(zhǔn)測試結(jié)果,如下所示:pytest>=5.3.4

一键抠图,毛发毕现:这个GitHub项目助你快速PS

不同算法在測試數(shù)據(jù)集上的均方誤差大小。

可以看出,基于學(xué)習(xí)的算法和 Closed-Form 算法都能取得不錯(cuò)的效果。

完整的基準(zhǔn)測試結(jié)果:https://pymatting.github.io/benchmark.html

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2020-05-06 13:41:43

機(jī)器學(xué)習(xí)人工智能項(xiàng)目

2019-10-30 15:05:44

AI 數(shù)據(jù)人工智能

2020-10-23 15:29:48

iPad摳圖PC

2023-11-13 06:53:00

微軟Windows

2023-04-06 13:44:41

摳圖AI

2015-06-09 10:36:13

Cloud FoundAzurePaaS

2023-06-12 09:53:06

AI圖片

2020-06-18 15:53:06

Python代碼摳圖

2019-07-05 09:43:33

AI數(shù)據(jù)科技

2015-02-09 15:25:52

換膚

2021-12-14 15:54:01

AI 數(shù)據(jù)人工智能

2024-12-03 15:42:13

命令模式代碼

2025-03-03 03:35:00

DeepSeekXmind思維導(dǎo)圖

2021-05-06 07:56:22

電腦C盤系統(tǒng)垃圾軟件

2020-08-19 10:30:46

Windows 功能開源

2025-03-31 09:37:00

2023-11-18 10:19:52

微軟Windows

2021-02-25 17:21:57

微軟Word 文檔PowerPoint

2015-11-03 15:29:49

ONOS開放網(wǎng)絡(luò)操作系統(tǒng)SDN
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號