Ê×Ò³
ѧϰ
»î¶¯
רÇø
¹¤¾ß
TVP
·¢²¼
¾«Ñ¡ÄÚÈÝ/¼¼ÊõÉçȺ/ÓŻݲúÆ·,¾¡ÔÚС³ÌÐò
Á¢¼´Ç°Íù

Ò»¼ü¿Ùͼ£¬Ã«·¢±ÏÏÖ£ºÕâ¸öGitHubÏîÄ¿ÖúÄã¿ìËÙPS

¿ÙͼÊÇ PS ÖеÄÒ»Ïî³£Óü¼Êõ¡£µ«ÊÇÒª×öµ½ÍêÃÀµØ½«Í¼ÏñÖеÄÄ¿±êÑ¡È¡³öÀ´ÍùÍù·Ñʱ·ÑÁ¦¡£½üÈÕ£¬Ò»¸öÃûΪ PyMatting µÄÏîÄ¿ÎÞÒÉÄܹ»°ïÖúÄã¡£

ÏîÄ¿µØÖ·£ºhttps://github.com/pymatting/pymatting

ÎÞÐèÊÖ¶¯£¬Ò»¼ü¿Ùͼ

¿ÙͼµÄ AI Ó¦Óó¡¾°ÊÇÕâÑùµÄ£º¸ø¶¨Ò»ÕÅͼÏñ£¬Í¨¹ý»®¶¨Ò»¸öÇøÓò£¬AI Ó¦µ±Äܹ»¹À¼Æµ½»®¶¨ÇøÓòÄÚµÄÇ°¾°Í¼Ä¿±ê£¬²¢½«Õâ¸öÇ°¾°ÍêÕûµØ³éÈ¡³öÀ´£¬ÓÃÀ´Ìæ»»µ½ÆäËû±³¾°µÄͼÏñÖÐÈ¥¡£

Òò´Ë£¬¿ÙͼÐèÒªÁ½¸ö AI ÄÜÁ¦£ºÊ×ÏÈ£¬AI ÐèÒªÄܹ»ÔÚ»®¶¨µÄÇøÓòÄÚʶ±ðÄ¿±ê¡£Æä´Î£¬AI ÒªÄܹ»ÍêÕûµØ½«Ä¿±ê³éÈ¡³öÀ´£¬Ã»Ó뮶¨´íÎóµÄ±ßÔµ¡¢Ä£ºýµÄͼÏñµÈÎÊÌâ¡£

ÉÏͼΪÏîÄ¿×÷ÕßÌṩµÄʾÀý¡£¸ø¶¨Ò»Ö»¶¯ÎïµÄͼÏñ£¨×óÉÏ£©£¬ÒÔ¼°ÈË»®¶¨µÄÇøÓò£¨ÓÒÉÏ£©£¬Ëã·¨Ó¦µ±Äܹ»»ñµÃ»®¶¨ÇøÓòÄÚÄ¿±êµÄ°¢¶û·¨Í¨µÀ£¬¼´Çø·ÖÇ°¾°ºÍ±³¾°µÄºÚ°×ÂÖÀª£¨×óÏ£©¡£ÓÐÁËÕâÒ»Êý¾Ý£¬¾Í¿ÉÒÔ´ÓԭͼÖпÙȥĿ±ê£¬²¢Òƶ¯µ½ÐµÄͼÏñÖÐÈ¥£¨ÓÒÏ£©¡£

¾ÝÏîÄ¿½éÉÜ£¬PyMatting ¾ßÓÐÒÔÏÂÌØÐÔ¡£

Ê×ÏÈ£¬ÏîÄ¿Äܹ»Íê³É°¢¶û·¨¿Ùͼ£¨Alpha Matting£©£¬ÆäÖаüÀ¨ Closed-Form ¿Ùͼ¡¢´óºË¿Ùͼ£¨Large Kernel Matting£©¡¢KNN ¿Ùͼ¡¢»ùÓÚѧϰµÄÊý×Ö¿Ùͼ£¨Learning Based Digital Matting£©¡¢Ëæ»úÓÎ×ߣ¨Random Walk£©¿ÙͼµÈËã·¨¡£

ͬʱ£¬ÏîÄ¿Ò²ÄÜÍê³ÉÇ°¾°Ô¤¹À£¬°üÀ¨ Clos Form Ç°¾°Ô¤¹ÀºÍ¶à¼¶±ðÇ°¾°Ô¤¹À£¨»ùÓÚ CPU¡¢CUDA ºÍ OpenCL µÈ£©Ëã·¨¡£

¸ÃÏîÄ¿»¹¿ÉÒÔ½øÐпìËÙ¶àÏß³Ì KNN ËÑË÷¡¢²»ÍêÈ«ãÐÖµ»¯³þÁÐ˹»ù·Ö½â£¨incomplete thresholded Cholesky decomposition£©¡¢V ÂÖ¼¸ºÎ¶àÍø¸ñÔ¤Ìõ¼þ×Ó£¨V-Cycle Geometric Multigrid preconditioner£©µÈ¡£

ʹÓ÷½·¨

ÔÚʹÓÃÇ°£¬ÄãÐèÒª±£Ö¤µçÄÔ°²×°ÏàÓ¦µÄ Python »·¾³£¨Python 3£©£¬Í¬Ê±ÐèÒªÒÔÏ°²×°°ü£º

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

ÓÉÓÚÏîÄ¿ÐèÒª GPU£¬Òò´ËÒ²ÐèÒª GPU Ïà¹ØÖ§³Ö£º

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

³ý´ËÖ®Í⣬ΪÁ˽øÐвâÊÔ£¬Ò²ÐèÒª£º

  • pytest>=5.3.4

ΪÁË·½±ãʹÓã¬×÷ÕßÌṩÁËһЩʾÀý´úÂë¡£ÀýÈ磬ÈçÏ´úÂëÖУ¬¸ø¶¨Ô­Ê¼Í¼ÏñºÍ¿Ùͼ¿ò£¬¿ÉÒÔ³éÈ¡³ö°¢¶û·¨Ç°¾°£º

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
from?pymatting?import?cutout??cutout(??????#?input?image?path"data/lemur.png",??????#?input?trimap?path"data/lemur_trimap.png",??????#?output?cutout?path"lemur_cutout.png")?

×÷Õß»¹ÌṩÁ˸߼¶´úÂ룬ֱ½Ó½øÐпÙͼ£¬Éú³ÉÐÂͼÏñ£º

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
image?=?load_image("../data/lemur/lemur.png",?"RGB",?scale,?"box")??trimap?=?load_image("../data/lemur/lemur_trimap.png",?"GRAY",?scale,?"nearest")??#?estimate?alpha?from?image?and?trimap??alpha?=?estimate_alpha_cf(image,?trimap)??#?make?gray?background??new_background?=?np.zeros(image.shape)??new_background[:,?:]?=?[0.5,?0.5,?0.5]??#?estimate?foreground?from?image?and?alpha??foreground,?background?=?estimate_foreground_ml(image,?alpha,?return_background=True)??#?blend?foreground?with?background?and?alpha,?less?color?bleeding??new_image?=?blend(foreground,?new_background,?alpha)?

³ýÁË´úÂëʾÀýÍ⣬ÏîÄ¿»¹ÌṩÁ˲âÊÔ´úÂ룬¿ÉÔÚÖ÷Ŀ¼ÖÐÔËÐУº

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
python3?tests/download_images.py??pip3?install?-r?requirements_tests.txt??pytest?

ÕâÒ»²âÊÔÄܹ»¸²¸Ç 89% µÄ´úÂë¡£

³ýÁËÏîÄ¿Í⣬×÷Õß»¹ÌṩÁ˲»Í¬µÄ¿ÙͼËã·¨µÄ»ù×¼²âÊÔ½á¹û£¬ÈçÏÂËùʾ£ºpytest>=5.3.4

²»Í¬Ëã·¨ÔÚ²âÊÔÊý¾Ý¼¯Éϵľù·½Îó²î´óС¡£

¿ÉÒÔ¿´³ö£¬»ùÓÚѧϰµÄËã·¨ºÍ Closed-Form Ëã·¨¶¼ÄÜÈ¡µÃ²»´íµÄЧ¹û¡£

ÍêÕûµÄ»ù×¼²âÊÔ½á¹û£ºhttps://pymatting.github.io/benchmark.html

  • ·¢±íÓÚ:
  • Ô­ÎÄÁ´½Ó£ºhttp://news.51cto.com/art/202002/610497.htm
  • ÈçÓÐÇÖȨ£¬ÇëÁªÏµ cloudcommunity@tencent.com ɾ³ý¡£

Ïà¹Ø¿ìѶ

ɨÂë

Ìí¼ÓÕ¾³¤ ½ø½»Á÷Ⱥ

ÁìȡרÊô 10ÔªÎÞÃż÷ȯ

˽Ïí×îР¼¼Êõ¸É»õ

ɨÂë¼ÓÈ뿪·¢ÕßÉçȺ
Áìȯ
http://www.vxiaotou.com