查看原文
其他

这 2 个 Python 开源项目,我看傻了!

The following article is from Jack Cui Author Jack Cui

今天聊聊技术,给大家推荐两个最近看到的开源项目。

STIT

STIT 算法,我在之前B站的一期视频介绍过。

我们再回顾下效果:

原视频的“赫敏”在微笑着说话,变换表情为愤怒,甚至改变年龄,变成一张几岁的小孩脸。

再看一组:

除了真人,动漫的表情也可以变化:

算法如约2月14日,情人节开源。

项目地址:

https://github.com/rotemtzaban/STIT

人脸属性编辑算法,现在大多数都是基于 StyleGAN 做的。

思想就是,在隐空间(latent space)控制隐藏特征(latent code)来控制图片的属性。

简单点解释就是,一张人脸图片,是由多维特征组成的,比如年龄、性别、光照、肤色、发质等。

为了更好得对数据进行分类或生成,需要对数据的特征进行表示,但是数据有很多特征。

这些特征之间相互关联,耦合性较高,导致模型很难弄清楚它们之间的关联,使得学习效率低下,因此需要寻找到这些表面特征之下隐藏的深层次的关系,将这些关系进行解耦,得到的隐藏特征,即latent code。

不过这个思路是针对图片的,STIT 算法针对的是视频处理,考虑了帧间信息。

STIT 算法的处理流程主要分为六步:

  • 输入视频首先被分割成帧,每帧中的人脸都被裁剪下来并对齐;

  • 使用预训练的e4e编码器,将每张已裁剪的人脸反演到预训练的StyleGAN2的潜空间中;

  • 在所有并行帧中使用PTI(最新提出的一种视频人脸编辑方法)对生成器进行微调,纠正错误,恢复全局一致性;

  • 所有帧通过使用固定的方向和步长,线性地操纵其轴心潜码(pivot latent codes)进行相应编辑;

  • 再次微调生成器,将背景和编辑过的人脸“缝合”在一起;

  • 反转对齐步骤,并将修改后的人脸粘贴回视频中。

更详细的原理,可以直接看论文:

https://arxiv.org/pdf/2201.08361.pdf

算法运行很简单,第一步安装底层依赖库:

pip install Pillow imageio imageio-ffmpeg dlib face-alignment opencv-python click wandb tqdm scipy matplotlib lpips 

STIT 依赖于 StyleCLIP ,直接安装即可。

pip install git+https://github.com/openai/CLIP.git

然后下载预训练模型,解压到工程根目录即可。

https://drive.google.com/file/d/1cDvUHPTZQAEWvfiK9C0nDuI9C3Qdgbbp/view

然后通过如下指令,即可运行代码:

python edit_video.py --input_folder /path/to/images_dir \
 --output_folder /path/to/experiment_dir \
 --run_name RUN_NAME \
 --edit_name EDIT_NAME \
 --edit_range EDIT_RANGE

具体参数说明,看项目的 README 吧,有点多。

SAHI

这个算法偏实际应用,一个通用的小目标检测。

这个蛮有用的,在一些检测场景,太小的物体,很容易漏检。

SAHI 就是针对这个问题提出的通用解决方案,提出了一个名为切片辅助超推理(SAHI)的开源框架。

该框架为小目标检测提供了一个通用的切片辅助推理和微调管道。

该技术是通用的,它可以应用在任何可用的目标检测器之上,不需要进行任何微调。

使用 SAHI 可以大幅提升目标检测的 mAP,可以提升 10 个点之多。

目标检测的 trick,值得一试。

项目地址:

https://github.com/obss/sahi

这个项目很全面,有自己的教程Paper代码等,直接看官方的最全面了。

- EOF -
推荐阅读  点击标题可跳转

1、如何高效地在网上找开源项目?

2、对白嫖彻底失望,著名开源软件作者不愿再自费

3、NNI — 微软开源的一个自动帮你做机器学习调参的神器


觉得本文对你有帮助?请分享给更多人

推荐关注「Python开发者」,提升Python技能

点赞和在看就是最大的支持❤️

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存