QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 4413|回复: 0

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

[复制链接]

等级头衔

积分成就    金币 : 2857
   泡泡 : 1516
   精华 : 6
   在线时间 : 1317 小时
   最后登录 : 2025-4-23

丰功伟绩

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

联系方式
发表于 2021-1-11 15:08:16 | 显示全部楼层 |阅读模式
       BackgroundMattingV2 是华盛顿大学几位研究员提出的一种实时、高分辨率的背景替换技术,能保留头发细节,效果惊人,是基于 Python 实现的。在 4K 分辨率下,该技术的运行速度为 30fps,在现代 GPU 上,高清的运行速度为 60fps。该技术是基于背景抠图,其中一帧额外的背景被捕获并用于恢复前景蒙版和前景层。
0 B: A( L; m% {( l% T# B. h 1.jpg
$ ]; a5 O( \8 Q1 c$ K项目源码地址:2 L" E4 g8 c: \# i6 [
https://github.com/PeterL1n/BackgroundMattingV2
( \. L9 K" H* X# j项目依赖库:
1 t9 E1 i8 H2 k. P  kornia==0.4.1% }# f6 R9 j% o7 r0 _0 W
  tensorboard==2.3.0
# J1 y: C* d( u# l5 r  torchvision==0.8.1
5 W% n9 @/ w5 Q- u) O  tqdm==4.51.0
' D( P9 i$ z; Y! b/ L; {  opencv-python==4.4.0.44
9 K; J9 `* x, o; E  onnxruntime==1.6.0
3 \& W- h; L! b6 H% ?开发者提供的一些文件资源(国内需木弟子):# x% n; Z. ?% K- K) S5 i3 `0 P8 h
1、下载模型/权重文件: x! f) Z, k2 h
https://drive.google.com/drive/folders/1cbetlrKREitIgjnIikG1HdM4x72FtgBh?usp=sharing  s: Y' O. A+ g1 K' y& n5 \
2、用于练习的视频和图片文件3 f6 K& `# ?  [) s1 Q' X( g
HD视频:
* b: @0 ^$ y. M+ ~. n. V+ [. Jhttps://drive.google.com/drive/folders/1j3BMrRFhFpfzJAe6P2WDtfanoeSCLPiq/ p4 D+ @4 E% M& ?
4K视频和图片:
  ]' L# A) A- i7 K" N4 Ihttps://drive.google.com/drive/folders/16H6Vz3294J-DEzauw06j4IUARRqYGgRD?usp=sharing
5 J2 V% l$ K3 a/ n项目demo脚本介绍:7 @2 D) r2 q& t) \
inference_images.py:用于图片中的背景替换,用法如下:
! D5 F3 L8 D% Xpython inference_images.py4 ]2 |6 Z7 \  T
--model-type mattingrefine2 R6 _8 K, h' T
--model-backbone resnet50- U3 P4 l& U/ D' k
--model-backbone-scale 0.252 ?2 K6 ~# |& o+ N4 e0 s4 b$ l
--model-refine-mode sampling, O1 d% m! x3 {2 f' f$ j% V1 q1 g8 I
--model-refine-sample-pixels 800009 F; O; u- h1 M: ?5 c8 |. a, m5 h
--model-checkpoint "PATH_TO_CHECKPOINT"! X, L; l; c: j5 q& ~1 `
--images-src "PATH_TO_IMAGES_SRC_DIR"
8 R2 q8 L# ~9 U6 \% b! e--images-bgr "PATH_TO_IMAGES_BGR_DIR", y7 n: h) i9 b* n
--output-dir "PATH_TO_OUTPUT_DIR"3 G" z; B8 T3 o: w: O3 c
--output-type com fgr pha
( {/ w5 q- S( t% ~5 [. ~inference_video.py: 用于视频中的背景替换,用法如下:8 Z8 z6 x8 Y& l& ]" ~
python inference_video.py
$ {* @' _1 e' v* h--model-type mattingrefine $ m, Q( U! K6 w9 C
--model-backbone resnet50 0 u! F2 ?6 t  r/ B6 F- {
--model-backbone-scale 0.25 7 I% C7 c( l5 s$ N& S/ K
--model-refine-mode sampling + w2 ^! ]* c' d; }- s# _: l7 P
--model-refine-sample-pixels 80000 ! |1 z5 q( X- a- v0 k
--model-checkpoint "PATH_TO_CHECKPOINT"
4 W0 a( Y' t! n3 l, f( J  G  q: f( K--video-src "PATH_TO_VIDEO_SRC" 5 B0 D2 \* [, ~4 ?% R5 h
--video-bgr "PATH_TO_VIDEO_BGR"
6 I5 J6 a; b1 Z--video-resize 1920 1080 2 X: A1 S8 \3 A& O5 K( m
--output-dir "PATH_TO_OUTPUT_DIR" # g+ J$ _0 ]/ r! M  Q
--output-type com fgr pha err ref( O' Z8 b1 g9 [# m. L; Q9 N
inference_webcam.py:用于使用网络摄像头下的交互式背景替换,用法如下:: ~  B" s9 K4 K. T9 H
python inference_webcam.py $ n( R4 o. T* {& n, w0 ^
--model-type mattingrefine 8 x: m6 h( w- _: c5 e& |
--model-backbone resnet50
( t8 s. D' Q, R5 d4 ?5 M--model-checkpoint "PATH_TO_CHECKPOINT" / ~6 n' w- y4 z/ B' Z! l# L
--resolution 1280 720
: i% M" l* s5 l1 Y2 R( h6 f虚拟摄像机
: W/ h$ V8 C6 r  Y0 A7 Q       开发者提供了一个应用插件,通过他们的模型将网络摄像头视频输送到一个虚拟摄像头。该插件仅适用于Linux系统,可以在Zoom视频会议软件中使用。更多详情请查看:
' d) X4 f# t9 \6 n1 E( l' Phttps://github.com/andreyryabtsev/BGMv2-webcam-plugin-linux
  v" H& A' N! {. X在Google Colab上体验
: I3 O! o/ Z* V- g$ f+ F9 d; T       另外,开发者还提供了Google Colab的体验地址(国内需要木弟子),可以体验替换图片和视频中的背景。
2 g  W7 a# K9 W  b1、图片背景替换体验地址:
/ T, e+ Q" `6 o, p$ {4 n3 m- R# ihttps://colab.research.google.com/drive/1cTxFq1YuoJ5QPqaTcnskwlHDolnjBkB9?usp=sharing! l! S8 p' T5 g$ O
2、视频背景替换体验地址:5 h% A! c: V! e& x  I
https://colab.research.google.com/drive/1Y9zWfULc8-DDTSsCH-pX6Utw8skiJG5s?usp=sharing
& v) l9 f# m5 G% i附上开发者提供的项目演示视频:
0 W7 ]- b0 H1 q

( ?: Z0 C, {1 F3 i: f1 S
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-25 13:46

Powered by paopaomj X3.5 © 2016-2025 sitemap

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