Take a video and replace the face in it with a face of your choice. You only need one image of the desired face. No dataset, no training.
https://github.com/s0md3v/roop
Take a video and replace the face in it with a face of your choice. You only need one image of the desired face. No dataset, no training.
https://github.com/s0md3v/roop
之前在明眸如初,看到了一篇文章,关于ai生成图片的。恰好比较感兴趣,于是就想着尝试一下。其实整体的安装步骤,已经这篇文章已经写的比较清楚了。可以照搬,一般问题不大。这里记录下我的安装方法。
由于系统的anaconda比较老旧,安装的python版本也不对应,导致通过conda创建的虚拟环境安装失败了,Stable Diffusion web UI推荐的python环境为3.10.6,所以直接下载了这个版本安装,下载地址:https://www.python.org/downloads/windows/,由于电脑上的python版本比较多,也不想把这个东西加到系统变量的path内,所以可以直接通过运行指定的python可执行文件创建venv。
网上关于chatgpt的客户端一大堆,基于浏览器的,基于客户端的。各种版本,因为chatgpt实在太火爆了,现在抖音上都是各种chatgpt的直播,终于又有了一个风口。同样为因为openai的火爆,现在网上也出现了各种卖客户端源码的,账号的各种生意,一篇欣欣向荣。这几天我也体验了一下各种客户端。
1.基于web的客户端,基本这种客户端现在搜一下还能找到不少,昨天在论坛看到一个 https://chat.xdo.cc/,今天体验的时候就废掉啦:
上次使用TopazGigapixelAI应该还是差不多两年前,为了处理好多之前的老照片。使用TopazGigapixelAI进行了图片放大,整体而言效果真的不错。Topaz Gigapixel AI官方版是一款相当高效的PC端图像大小调整工具,Topaz Gigapixel AI官方版功能强劲,基于AI智能算法以及特有的艺术智能引擎打造,能够帮助用户轻松的批量调整图像大小达到6倍,并且Topaz Gigapixel AI软件还能够保证不损失图像画质的情况下进行放大。两年过去,训练模型应该是越来越大了。效果自然也是越来越好。
之前并没有过多的关注过chatgpt相关的东西,只是知道这个ai模型已经有了超乎寻常的能力。尝试过多次注册,但是由于梯子一直不太好用,没有注册成功。先看下这个东西的介绍吧(百度百科https://baike.baidu.com/item/ChatGPT/62446358?fr=aladdin):
ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
代码原地址: https://github.com/nihui/ncnn-android-yolov5
我在这里只是替换了模型信息,其余的内容基本没有修改。
原工程并没有写如何进行模型转换,模型转换可以参考这篇文章:https://blog.csdn.net/flyfish1986/article/details/116604907里面写的比较详细了。
这里简单的做个备份,不想跳转的可以直接参考下面的内容:
- 导出onnx
bash
python models/export.py --weights yolov5s.pt --img 320 --batch 1- onnx-simplifer简化模型
bash
python -m onnxsim yolov5s.onnx yolov5s-sim.onnx- 专函为ncnn
bash
./onnx2ncnn yolov5s-sim.onnx yolov5s.param yolov5s.bin- 处理转ncnn产生的Unsupported slice step !
1).处理YOLOv5的Focus模块,将多个slice节点转换为一个focus节点
![]()
在之前的文章《Yolov5 Android tf-lite方式集成》中,导出tf-lite方式的模型使用的是https://github.com/zldrobit/yolov5.git中的tf.py。晚上尝试用yolov5 最新版本的代码的export.py导出,如果不想修改命令行参数,可以字节修改以下代码:
# 需要修改参数 data weights batch-size def parse_opt(): parser = argparse.ArgumentParser() parser.add_argument('--data', type=str, default=ROOT / 'data/ads.yaml', help='dataset.yaml path') parser.add_argument('--weights', type=str, default=ROOT / 'best.pt', help='weights path') parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[640, 640], help='image (h, w)') parser.add_argument('--batch-size', type=int, default=1, help='batch size') parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu') parser.add_argument('--half', action='store_true', help='FP16 half-precision export') parser.add_argument('--inplace', action='store_true', help='set YOLOv5 Detect() inplace=True') parser.add_argument('--train', action='store_true', help='model.train() mode') parser.add_argument('--optimize',default=True, action='store_true', help='TorchScript: optimize for mobile') parser.add_argument('--int8', action='store_true', help='CoreML/TF INT8 quantization') parser.add_argument('--dynamic', action='store_true', help='ONNX/TF: dynamic axes') parser.add_argument('--simplify', action='store_true', help='ONNX: simplify model') parser.add_argument('--opset', type=int, default=13, help='ONNX: opset version') parser.add_argument('--topk-per-class', type=int, default=100, help='TF.js NMS: topk per class to keep') parser.add_argument('--topk-all', type=int, default=100, help='TF.js NMS: topk for all classes to keep') parser.add_argument('--iou-thres', type=float, default=0.45, help='TF.js NMS: IoU threshold') parser.add_argument('--conf-thres', type=float, default=0.25, help='TF.js NMS: confidence threshold') parser.add_argument('--include', nargs='+', default=['torchscript', 'onnx'], help='available formats are (torchscript, onnx, coreml, saved_model, pb, tflite, tfjs)') opt = parser.parse_args() print_args(FILE.stem, opt) return opt