QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

查看: 5464|回复: 0

[Python] 强大的开源实时视频抠图工具,头发丝也能完整保留

[复制链接]

等级头衔

积分成就    金币 : 2861
   泡泡 : 1516
   精华 : 6
   在线时间 : 1325 小时
   最后登录 : 2026-4-13

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老活跃会员

联系方式
发表于 2021-1-11 15:08:16 | 显示全部楼层 |阅读模式
       BackgroundMattingV2 是华盛顿大学几位研究员提出的一种实时、高分辨率的背景替换技术,能保留头发细节,效果惊人,是基于 Python 实现的。在 4K 分辨率下,该技术的运行速度为 30fps,在现代 GPU 上,高清的运行速度为 60fps。该技术是基于背景抠图,其中一帧额外的背景被捕获并用于恢复前景蒙版和前景层。
7 E9 ^, V5 I* y( h7 b* m 1.jpg 1 B8 y, R2 h* ?
项目源码地址:
& o/ Q, A3 e5 w" Q- a9 r0 whttps://github.com/PeterL1n/BackgroundMattingV2; R  ^9 F8 c( t5 m/ i4 Z
项目依赖库:+ K2 z+ \6 ^6 T0 v
  kornia==0.4.1
( C0 S+ @7 V) m# i  m+ V  tensorboard==2.3.0& T! k' K# s; Y, }; r$ v
  torchvision==0.8.1
7 U, F+ e3 h; r  tqdm==4.51.0( M# @0 G. |' C
  opencv-python==4.4.0.44
4 |9 N6 H( Z! U! [  onnxruntime==1.6.01 \- K. A8 _" C& n! P$ C# e
开发者提供的一些文件资源(国内需木弟子):
' P) @1 V) n$ t" j5 O/ r; T1、下载模型/权重文件% d5 `: s# N" D: v# Z- v8 N
https://drive.google.com/drive/folders/1cbetlrKREitIgjnIikG1HdM4x72FtgBh?usp=sharing
: U; H: Q4 z  R/ v% h' }2、用于练习的视频和图片文件6 x+ _' s+ A, S* r3 V, g, y4 s
HD视频:
# ~4 J8 J* r" ]https://drive.google.com/drive/folders/1j3BMrRFhFpfzJAe6P2WDtfanoeSCLPiq
! P) j& V, f/ K2 |4K视频和图片:3 t5 w+ K6 D* a
https://drive.google.com/drive/folders/16H6Vz3294J-DEzauw06j4IUARRqYGgRD?usp=sharing
3 q& h7 A/ R. ~: O7 p/ J项目demo脚本介绍:7 v6 n* {# \& P( {- M
inference_images.py:用于图片中的背景替换,用法如下:$ U5 [3 F4 C3 T; P& E
python inference_images.py4 V' ]* C7 U5 v$ f+ A
--model-type mattingrefine/ ~# q, l; ^1 S
--model-backbone resnet50: S! e7 ~1 s4 U+ C6 H* W
--model-backbone-scale 0.25
% l. D0 `6 K/ n% [  Q! l--model-refine-mode sampling7 M" m4 K) T! ?/ \( z' o* c; h
--model-refine-sample-pixels 80000
" W' _7 T& |1 \- N--model-checkpoint "PATH_TO_CHECKPOINT"
* S- p  U; {! L# i: b2 p--images-src "PATH_TO_IMAGES_SRC_DIR"! t1 k0 ]- x" X- D* x
--images-bgr "PATH_TO_IMAGES_BGR_DIR"
, I" ?" _2 J0 [$ O+ S0 @& |: s--output-dir "PATH_TO_OUTPUT_DIR"
2 r+ @) x2 _1 w. |7 x( w--output-type com fgr pha
8 M# Q' X# S% h2 M' a  ninference_video.py: 用于视频中的背景替换,用法如下:9 A, K& a* T! Z% O. x1 \
python inference_video.py
3 i) E5 w9 F( F. z" ^9 p+ `. O--model-type mattingrefine
2 C8 i/ s% e2 R! n! k7 |--model-backbone resnet50 9 ~# l% h: j7 u* t
--model-backbone-scale 0.25 * Q2 Z- N/ f1 U2 ?+ ^
--model-refine-mode sampling
5 A! K% B% p8 I+ t: Z--model-refine-sample-pixels 80000
4 n3 r7 t: ^( o- v+ _6 B5 @4 a--model-checkpoint "PATH_TO_CHECKPOINT" 5 i$ j8 r# [" }/ U7 s+ n# s+ s# Q
--video-src "PATH_TO_VIDEO_SRC" ( w: L/ Z+ w+ M
--video-bgr "PATH_TO_VIDEO_BGR" 0 D; S1 M) c- j4 [' k: M8 r
--video-resize 1920 1080 - U! f: r( J; G4 A0 ^- p0 a9 w
--output-dir "PATH_TO_OUTPUT_DIR"
. T! b3 \& k$ N( F; V+ j--output-type com fgr pha err ref8 f( [7 K; f/ u& U6 \: Q+ i$ V
inference_webcam.py:用于使用网络摄像头下的交互式背景替换,用法如下:
0 `4 ~% i/ K' ^1 L! d, tpython inference_webcam.py
/ d2 C/ I& R- X( h$ b--model-type mattingrefine
' e. r! \) J4 |( c3 u6 X--model-backbone resnet50 4 J4 u) O1 R( Y7 \0 x% K; Z* g
--model-checkpoint "PATH_TO_CHECKPOINT" " h) y& j+ V1 c5 ?( [# l! A
--resolution 1280 7202 @$ @: L4 N# I
虚拟摄像机3 C7 J" v% m% s/ [# U. j2 k
       开发者提供了一个应用插件,通过他们的模型将网络摄像头视频输送到一个虚拟摄像头。该插件仅适用于Linux系统,可以在Zoom视频会议软件中使用。更多详情请查看:6 ^3 C- \$ H: X
https://github.com/andreyryabtsev/BGMv2-webcam-plugin-linux
6 o$ r5 z. N* f6 H在Google Colab上体验" P4 k* Q7 q2 T! Y
       另外,开发者还提供了Google Colab的体验地址(国内需要木弟子),可以体验替换图片和视频中的背景。
4 P( l& \! p  n0 e2 d1、图片背景替换体验地址:+ V& H+ ?0 y: \, H& t9 i. Z6 o
https://colab.research.google.com/drive/1cTxFq1YuoJ5QPqaTcnskwlHDolnjBkB9?usp=sharing
' U+ G9 _* e0 w  n/ X* [! q2、视频背景替换体验地址:$ j& k  s  z7 p
https://colab.research.google.com/drive/1Y9zWfULc8-DDTSsCH-pX6Utw8skiJG5s?usp=sharing# [4 s, g+ U6 M
附上开发者提供的项目演示视频:
/ S" y* ~0 f9 j% Y: \

* p% O6 w1 K& J- ?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2026-4-13 19:55

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表