这几个项目,我看傻了!
大家好,我是 Jack。
今天聊聊技术,给大家推荐几个最近看到的开源项目。
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、代码等,直接看官方的最全面了。
HowToCook
最后再聊个轻松的项目,第一次看到这个项目差点笑喷。
这也是让我大开眼界的项目,直接看傻,原来还能这样玩!
热榜第一:程序员在家做饭指南。
真就项目如其名呗:HowToCook。
不过这个项目和普通菜谱有所不同。
1cm * 1cm,非常严谨,做饭记得带尺,哈哈。
项目作者是这样说的:
项目一经发布,好家伙,一堆小伙伴去提交 pr,贡献者涨到了 90+ 名,star 量更是几天就飙升到了 11.3k。
项目不允许使用“适量”、“少量”等不精准描述的词汇。
哈哈,太真实了。
爱做饭的程序员,不要错过。
项目地址:
https://github.com/Anduin2017/HowToCook
总结
本期的内容有点多,大家慢慢玩。
我是 Jack,我们下期见!