QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

查看: 4983|回复: 0

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

[复制链接]

等级头衔

积分成就    金币 : 2861
   泡泡 : 1516
   精华 : 6
   在线时间 : 1321 小时
   最后登录 : 2025-7-9

丰功伟绩

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

联系方式
发表于 2021-1-11 15:08:16 | 显示全部楼层 |阅读模式
       BackgroundMattingV2 是华盛顿大学几位研究员提出的一种实时、高分辨率的背景替换技术,能保留头发细节,效果惊人,是基于 Python 实现的。在 4K 分辨率下,该技术的运行速度为 30fps,在现代 GPU 上,高清的运行速度为 60fps。该技术是基于背景抠图,其中一帧额外的背景被捕获并用于恢复前景蒙版和前景层。- Y% k5 l( q: }/ A/ T% S
1.jpg 0 `. t" Y! t4 }" a3 [+ M
项目源码地址:: h9 H. e- A) l1 f, f
https://github.com/PeterL1n/BackgroundMattingV2
! K+ {. R- a% v5 g项目依赖库:
+ D  u0 _1 O  D' ~* d2 y" l  kornia==0.4.1
# g! ^; z% D+ ^  tensorboard==2.3.0  @2 _) k, h# ^9 D" I
  torchvision==0.8.1& |7 T, @/ w& F" l0 s) N
  tqdm==4.51.0# U$ i3 X7 f* p7 X  G
  opencv-python==4.4.0.44
, ?  i- J% i* b! a5 C. k4 W. T  onnxruntime==1.6.0* i. |* W$ C+ F/ }% p
开发者提供的一些文件资源(国内需木弟子):
0 t: ~$ {1 n9 S6 u4 J1、下载模型/权重文件
" k4 ]) ~6 {, |- m% p0 U! _+ ~! _https://drive.google.com/drive/folders/1cbetlrKREitIgjnIikG1HdM4x72FtgBh?usp=sharing9 @! {* Z: K  Q8 S% Y
2、用于练习的视频和图片文件
( b1 z: U4 S. o, C% bHD视频:. b# Z9 u1 @" I
https://drive.google.com/drive/folders/1j3BMrRFhFpfzJAe6P2WDtfanoeSCLPiq
! T6 f+ h" _+ t  O. M2 M, p4 }4K视频和图片:
+ h; p! l, Y' K- x. [( ]0 C5 r7 ihttps://drive.google.com/drive/folders/16H6Vz3294J-DEzauw06j4IUARRqYGgRD?usp=sharing1 L- ?( k/ L/ S1 x) _
项目demo脚本介绍:9 d! q5 T, p! [# V' }
inference_images.py:用于图片中的背景替换,用法如下:
9 u7 b6 P7 ^& m6 l" v# v. o( ^python inference_images.py5 L  t. y0 y3 H1 O
--model-type mattingrefine( n+ X; G; y- [$ @7 ?
--model-backbone resnet50
8 m$ n4 f1 O, v3 F5 Q--model-backbone-scale 0.25; {7 m- e+ d, @. S& a* P
--model-refine-mode sampling% e! i, q+ t4 ]) n8 a: N
--model-refine-sample-pixels 80000
( ~3 }2 m# p+ G: P9 X--model-checkpoint "PATH_TO_CHECKPOINT"
! T2 O0 b4 P7 I/ G9 ^# j--images-src "PATH_TO_IMAGES_SRC_DIR"5 i5 t" I( S# w3 [5 e
--images-bgr "PATH_TO_IMAGES_BGR_DIR"& w2 ?9 _. h4 p% g1 h4 w6 ~
--output-dir "PATH_TO_OUTPUT_DIR"
: a2 Q. S. D5 |--output-type com fgr pha4 x" y2 v$ i; a* d5 {
inference_video.py: 用于视频中的背景替换,用法如下:
6 |5 a2 N$ E) k0 bpython inference_video.py
. d6 A; w: g( T& i) ]--model-type mattingrefine
- ^2 q, G& Y! W* p  s--model-backbone resnet50 7 X# j' q2 E+ _/ ?9 ?
--model-backbone-scale 0.25 5 ?+ `9 {5 Z# y+ t* r
--model-refine-mode sampling # ~3 `- `4 \, L
--model-refine-sample-pixels 80000 - n1 u! t0 ?3 \
--model-checkpoint "PATH_TO_CHECKPOINT"
' t4 f: h! W& O. y! g--video-src "PATH_TO_VIDEO_SRC" - {! R3 b9 X. n) N! c1 s( y; G
--video-bgr "PATH_TO_VIDEO_BGR" 6 o# }/ f9 i. `& R6 B
--video-resize 1920 1080
4 t1 T) R- {+ x# O% Y+ ^( L--output-dir "PATH_TO_OUTPUT_DIR" 3 w7 p, v4 a5 {) ^9 h* a: l- [
--output-type com fgr pha err ref) _9 `9 g+ ]6 p  y. i+ ~
inference_webcam.py:用于使用网络摄像头下的交互式背景替换,用法如下:$ ^& U$ [, l) O- t
python inference_webcam.py ( B" }3 y; @* W
--model-type mattingrefine
: M# u; K+ v3 }  x/ \, z7 G--model-backbone resnet50 ; N* S6 n! q8 v2 O% {7 [0 L
--model-checkpoint "PATH_TO_CHECKPOINT" 2 P. o) O5 ?2 Q8 D1 |
--resolution 1280 720
6 b$ E& r* H& R+ y; c; L+ g- x虚拟摄像机
8 P* v6 ]4 X# \; J8 P       开发者提供了一个应用插件,通过他们的模型将网络摄像头视频输送到一个虚拟摄像头。该插件仅适用于Linux系统,可以在Zoom视频会议软件中使用。更多详情请查看:5 [9 p& h3 W6 m) T
https://github.com/andreyryabtsev/BGMv2-webcam-plugin-linux) |- K1 ~# d' `& f/ T8 t
在Google Colab上体验
  k9 m2 F' {8 n4 i. C( k       另外,开发者还提供了Google Colab的体验地址(国内需要木弟子),可以体验替换图片和视频中的背景。
' i4 X9 G' }, g2 h* X! L1、图片背景替换体验地址:5 b: L! X% s4 i8 s* z
https://colab.research.google.com/drive/1cTxFq1YuoJ5QPqaTcnskwlHDolnjBkB9?usp=sharing
2 T$ K8 d2 W9 g. X9 H1 o2、视频背景替换体验地址:9 x1 Z4 K# }! E4 C: X& V- g; q
https://colab.research.google.com/drive/1Y9zWfULc8-DDTSsCH-pX6Utw8skiJG5s?usp=sharing
5 x) A6 c4 l) a6 |# @# q附上开发者提供的项目演示视频:
- ~0 m$ B9 E+ b8 ^6 L1 l$ R. Z

$ i, g- e1 L) @
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-13 17:26

Powered by paopaomj X3.5 © 2016-2025 sitemap

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