提高生产效率工具的使用
MinerU
地址:https://github.com/opendatalab/MinerU,转pdf公式为markdown公式
下载模型通过修改环境变量来修改huggface cache的地址,否则默认地址是C:\Users\Adminstrator\.cache\huggingface\hub
1 | os.environ["HF_HOME"] = "E:\hub" |
下载模型
1 | pip install huggingface_hub |
如果已经下载model要执行一遍python download_models_hf.py
,才能使环境变量生效。
配环境
1 | conda create -n MinerU python=3.10 |
调用命令
1 | magic-pdf -p AttGAN.pdf -o AttGAN |
skia学习记录
windows编译
- 需要有python3环境
- git代理配置:
1 | git config --global http.proxy 127.0.0.1:55664 |
- 安装depot_tools到某一目录
1 | git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git |
并配置depot_tools目录为环境变量
- 安装LLVM,如15.0.7。
- 下载skia源码,并切到一个chrome下分支
1 | git clone https://skia.googlesource.com/skia.git |
- 下载skia依赖库源码,跳转到别的分支编译,一直到
The changes made to environment variables only apply to the currently running shell instance...
1 | cd skia |
- 下载 ninja
1 | python bin/fetch-ninja |
- PowerShell生成make文件(可选):
1 | bin/gn gen out/debug --args/'clang_win=\"D:\LLVM\" cc=\"clang\" cxx=\"clang++\" extra_cflags=[\"/MTd\"] is_official_build=true is_debug=false skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false skia_use_system_harfbuzz=false skia_use_system_icu=false skia_use_icu=false' |
- 编译静态库(可选):
1 | ninja -C out/debug |
用于验证所有步骤是否正确,成功则在debug目录下出现.lib文件
- PowerShell生成sln工程:
1 | bin/gn gen build/sln --args'clang_win=\"D:\LLVM\"' --ide=vs |
在skia中使用vertex shader
1 | void HelloWorld::onPaint(SkSurface* surface) { |
【论文阅读】从Nerf到3D gaussian-splatting的逆渲染
主要记录图形算法、建模思想,不记录公式推导和训练思路:
- 【Nerf】Representing Scenes as Neural Radiance Fields for View Synthesis.
- 【Mip-Nerf】Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields.
- 【Mip-Nerf 360】Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields
- 【Instant-NGP】Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
- 【Plenoxels】Plenoxels: Radiance Fields without Neural Networks.
- 【Ref-NeRF】Ref-NeRF: Structured View-Dependent Appearance for Neural Radiance Fields
- 【3DGS】3d gaussian splatting for real-time radiance field rendering
图形算法Plug and play
一些high-level的概念和理解
最近在学习图形学的时候遇到很多算法潜在的概念(还没想好怎么严谨地描述),记录下。
参考:
Visual Studio与VSCode中C++构建工具的配置手册
Vscode
准备工作
官方文档:https://code.visualstudio.com/docs/cpp/config-mingw
参考:
- 在vscode运行c++:https://blog.csdn.net/weixin_62411288/article/details/130796591
- 在vscode用makefile运行opengl:https://blog.csdn.net/weixin_43952192/article/details/122877840
- VSCode-Clang-MinGW-OpenGl配置教程:https://apollomao.com/VSCode-Clang-MinGW-OpenGl%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B/
- vscode中文乱码解决:https://blog.csdn.net/weixin_51723388/article/details/124171357
以一种直观的方式理解扩散生成模型
- 本人是在 2023 年 5 月份开始学习相关论文,主要面向图像复原相关下游应用的预研工作,全职研究时间大约三个月,不算很长,认识有限。
- 写本博客的初衷是为了结构化一下之前学习的知识网络,如果看到外部链接的话就是在串接知识网络(从下一行就开始了),或许介绍一种或许更容易入门理解的方式(论文阅读顺序)。
- 本博客需要一定的数学基础,如果想了解 stable-diffusion-webui 或者 ComfyUI 的使用方法请绕路。
- 当然真正的勇士也可以像笔者之前一样直面惨淡的数学原理,当然也可以看本博客娓娓道来
胡说八道。 - 可能会以一种不太严谨的方式表达想表达意思,希望能多多包涵,不喜轻喷,也欢迎一起讨论!
调教stable diffusion修复手姿的原理、分析与实践
无论是在商用的midjourney V5,还是在基于开源的stable diffusion的text to image的AI生图中,一个难以绕过去的问题是,人物手部姿势的稳定生成。一个容易遇到的问题场景是,当用户使用精心设计的prompt和denoising parameter生成一张高分辨率的图片,从整体构图,到色彩、人物神情等都比较的满意的时候,却发现人物的手部姿势发生扭曲,最常见的是产生六指。如果此时通过调整参数如textural inversion、LoRA和controlNet等,又会改变生成图像的分布,达不到原来的生成效果。另外一种方案是使用inpainting的方式将畸形的手部区域进行重绘,但是如果没有合适的方法和技巧,仅仅靠不同的随机数搜索好的手姿的分布,其搜索范围将会很大,并且在设备有限的情况下比较耗时。如何设计一个高效的inpainting的工作流将是一个需要不断探索和实践的方向。
在这篇文章中,本人主要探索仅仅使用AI工具对手姿进行修复的工作流,不涉及其他工具如photoshop的使用(主要是没探索出来,用了效果一般)。以下是我复现的效果。
在stable-diffusion-webui中愉快地玩耍
抽空记录中,不研究内容prompt,目前在别人写的prompt下用不同工具调优。
目前的感觉是,场景物体细节越多的图,人物手和面容(眼睛、睫毛)的正常生成非常困难,即使有相关的Lora和negative prompt的进行加持,但基本上只在肢体离镜头比较近的时候才能正常work。既要保证场景内容丰富,又要保证肢体正常绘制,基本不可能一次正确生成,目前的策略是在喜欢的构图上进行肢体细节调优。
基于stable-diffusion-webui 1.6.0
写的使用说明,版本更新时间是20230928
。
预训练模型下载网站: