QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

查看: 5385|回复: 0

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

[复制链接]

等级头衔

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

丰功伟绩

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

联系方式
发表于 2021-1-11 15:08:16 | 显示全部楼层 |阅读模式
       BackgroundMattingV2 是华盛顿大学几位研究员提出的一种实时、高分辨率的背景替换技术,能保留头发细节,效果惊人,是基于 Python 实现的。在 4K 分辨率下,该技术的运行速度为 30fps,在现代 GPU 上,高清的运行速度为 60fps。该技术是基于背景抠图,其中一帧额外的背景被捕获并用于恢复前景蒙版和前景层。
6 p; d4 k, Z, O  Z 1.jpg
) B! `7 _" S% h项目源码地址:4 u3 W) R3 F9 y# u3 G6 A
https://github.com/PeterL1n/BackgroundMattingV2% p0 G5 m" [8 A3 h7 B
项目依赖库:
* ^/ {% d) q+ l+ h6 J  kornia==0.4.1' ^6 ?# h7 E- f2 y
  tensorboard==2.3.0
6 n7 o4 ?4 x! g1 N, h, v7 S  torchvision==0.8.1) A& }7 q1 R" {) X
  tqdm==4.51.0
/ D7 C: E: L7 x- A) b; Y  opencv-python==4.4.0.44
. M& K7 |: V3 F4 F1 G5 k/ A# j, U  onnxruntime==1.6.07 f1 G) _9 L/ V0 ~& v+ L0 B! A
开发者提供的一些文件资源(国内需木弟子):5 l4 @0 J. M6 X  m# }
1、下载模型/权重文件9 p4 V9 \& y3 U) K0 @" D3 k, N. a
https://drive.google.com/drive/folders/1cbetlrKREitIgjnIikG1HdM4x72FtgBh?usp=sharing' J9 r% T5 u+ x
2、用于练习的视频和图片文件
- x  A/ W3 q! x( `' _% z3 x* a- r0 `HD视频:
) f# J, M) }5 e: {8 N1 Uhttps://drive.google.com/drive/folders/1j3BMrRFhFpfzJAe6P2WDtfanoeSCLPiq
& @7 K8 Q% Q7 m; z+ {, P# `4K视频和图片:
# ^7 z* c9 L3 ~$ B% r" xhttps://drive.google.com/drive/folders/16H6Vz3294J-DEzauw06j4IUARRqYGgRD?usp=sharing( Y1 x6 o' r& f+ B! R0 ?  j) l8 q
项目demo脚本介绍:# Q; E; a. ^0 ?! x/ {
inference_images.py:用于图片中的背景替换,用法如下:* h( [  V* G0 y! R( s2 k0 [
python inference_images.py
* W  G& p4 P  X. L+ z4 {--model-type mattingrefine8 n! N- I2 v% M1 ~5 h3 Q+ @
--model-backbone resnet50
3 f6 d2 [( z7 x- I--model-backbone-scale 0.254 w: v$ Y& s# q% c- ^
--model-refine-mode sampling
) O3 P0 ]! m0 \0 T. f--model-refine-sample-pixels 80000
7 O8 Y- ~/ ^: s1 i--model-checkpoint "PATH_TO_CHECKPOINT"2 q' S+ j$ K' T5 b
--images-src "PATH_TO_IMAGES_SRC_DIR"5 I  S0 C7 `: ?: k: F" x" I5 c; L8 Y
--images-bgr "PATH_TO_IMAGES_BGR_DIR"
% L, \6 e5 j& J7 {--output-dir "PATH_TO_OUTPUT_DIR"
& J/ K# ]: H0 h--output-type com fgr pha
- w/ ]# A' h1 l' Y! ~8 Minference_video.py: 用于视频中的背景替换,用法如下:
1 C8 G6 B+ Y! u/ U: c1 G$ vpython inference_video.py 7 d% ]0 G8 L4 c) y$ h- {7 Q3 a5 Y
--model-type mattingrefine ) _0 S4 t( R' ]
--model-backbone resnet50
( w2 f! E: v* [1 Q. j/ ?8 e--model-backbone-scale 0.25
  m5 [1 o- L. L8 H--model-refine-mode sampling
  d5 V0 f7 s9 d7 b  O) P--model-refine-sample-pixels 80000
) [- M2 l1 t6 c* _8 V# p) ?: h2 `--model-checkpoint "PATH_TO_CHECKPOINT" # b0 [& [  q* S/ T- I( x$ ^# `/ y. r
--video-src "PATH_TO_VIDEO_SRC"
- s/ f( @  G0 x$ V# C5 K# ]--video-bgr "PATH_TO_VIDEO_BGR"
3 K+ u. y8 t. m, \--video-resize 1920 1080
* {& d+ N$ i+ g8 l* t--output-dir "PATH_TO_OUTPUT_DIR"
$ z! g* j- K2 v% n; X) y--output-type com fgr pha err ref
/ t% M  V+ C9 Qinference_webcam.py:用于使用网络摄像头下的交互式背景替换,用法如下:4 M! _; }  ^! k6 g8 j, H: k  y. f2 ~
python inference_webcam.py 4 b1 q/ }7 Q( _2 V
--model-type mattingrefine / W6 O* ~" h, \4 ]4 _
--model-backbone resnet50
3 W$ w8 @; y. I/ Q! s--model-checkpoint "PATH_TO_CHECKPOINT"
6 D& O8 i2 L3 p+ l6 `: n8 F--resolution 1280 720
/ s$ C$ h- `7 P" P虚拟摄像机/ G& Z0 ~3 a% [' i5 }
       开发者提供了一个应用插件,通过他们的模型将网络摄像头视频输送到一个虚拟摄像头。该插件仅适用于Linux系统,可以在Zoom视频会议软件中使用。更多详情请查看:
/ L- Z7 r! X3 _# h0 dhttps://github.com/andreyryabtsev/BGMv2-webcam-plugin-linux( ~. z; d: I3 h+ p2 U. e+ Z4 W
在Google Colab上体验
& m- H) S. N3 s       另外,开发者还提供了Google Colab的体验地址(国内需要木弟子),可以体验替换图片和视频中的背景。
/ g8 f6 S6 u0 f' N" ?1、图片背景替换体验地址:1 ^) l! e3 h) a/ d4 S8 v) |
https://colab.research.google.com/drive/1cTxFq1YuoJ5QPqaTcnskwlHDolnjBkB9?usp=sharing1 D; U9 ]. I; i5 _
2、视频背景替换体验地址:
. \# X* x9 ?9 O6 _5 U( l$ l9 dhttps://colab.research.google.com/drive/1Y9zWfULc8-DDTSsCH-pX6Utw8skiJG5s?usp=sharing
& j) P; |& P1 b* L0 k. q/ r- k附上开发者提供的项目演示视频:
: E+ C& p1 J! m- X( d
0 o. f) a5 x$ Z$ ?" j% D0 S
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-27 15:33

Powered by paopaomj X3.5 © 2016-2025 sitemap

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