这个项目我已经做好了几天了,在群里也是分享了,经过几天的运行测试后,现在已经非常稳定了,所以今天抽空整理下分享出来。
换脸的效果还是很不错的,你们可以下面的视频演示就知道了。
虽然我之前也已经分享了几个换脸的工具了,但是谁又会在意多一个呢?多一个选择总是好的。
这个操作是极其简单的。选择人脸,选择视频点下提交就可以换脸了。特别适合那些电脑基础差的小伙伴。
但是我今天才发现这个项目的作者居然删库了,我也不知道是什么原因,没有继续开发下去,目前这个项目还是有些bug的。不知道是否以后还会更新,而我又懒,没有时间去折腾这些bug,本身这个工具还有个直播视频换脸的功能,我也懒得去研究了。看看以后什么时候心血来潮了,再去折腾一下了。或者有研究精神的小伙伴可以进一步去开发。。。反正都是开源的。我的整合包也是未做任何加密。包括我之前分享的所有我制作的整合包都是如此。我不喜欢加密。
项目特点
无需数据训练:
用户只需提供一张照片,无需繁琐的数据训练和复杂的配置,即可实现一键换脸。
高保真度:
通过神经网络预测和重建高分辨率细节,换脸效果逼真,细节保留良好。
支持多目标人脸替换:
不仅可以替换单个目标人脸,还能在直播、视频通话等场景中实时替换多个目标人脸。
色彩矫正:
自动调整色调和光照,确保换脸后的画面自然和谐。
支持ONNX和实时摄像头模式:
支持ONNX模型推理,允许在不同硬件平台和深度学习框架间轻松转换和部署。
支持实时摄像头换脸,提升用户体验。
超分辨率和颜色迁移:
对换脸后的图像进行超分辨率处理和颜色迁移,进一步提升视觉效果。
更好的人脸分割模型:
基于XsegNet的人脸分割模型经过大量数据微调,即便人脸被遮挡也能轻松应对。
ReHiFace-S作为一款集高保真、实时性、易用性于一身的换脸神器,不仅大大降低了换脸技术的门槛,还为用户提供了丰富的应用场景和便捷的使用体验。无论是开发者、创作者还是普通用户,都能通过ReHiFace-S轻松实现人脸替换的神奇效果。
请勿将该工具用于任何非法行为,由此产生的一切后果自负
謝謝
造化钟神秀
可以上传到迅雷云盘吗,谢谢啦
不会放其他盘了,这个目前有违规风险,经不住各位小伙伴的请求才放出来下载地址,本身已经删除。且用且珍惜吧
天朝,干啥都有违规风险
地址呢大哥
文末有说明
太好了,大神,支持你一个
nice
xiexie
不用训练是不是说明转换速度会提升很对
真棒
可以
牛逼牛逼
67
感谢分享
xxfzfds
感谢分享
感谢分享
感谢分享!!!
感谢大佬分享
感谢大佬分享
真棒啊
2024-08-27 19:28:00.3509584 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
2024-08-27 19:28:00.3795473 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
2024-08-27 19:28:00.4095860 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
2024-08-27 19:28:00.4175688 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
2024-08-27 19:28:00.4258019 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
2024-08-27 19:28:00.4477881 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
2024-08-27 19:28:00.4563045 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
Traceback (most recent call last):
File "D:\ReHiFace\jian27\lib\site-packages\gradio\queueing.py", line 536, in process_events
response = await route_utils.call_process_api(
File "D:\ReHiFace\jian27\lib\site-packages\gradio\route_utils.py", line 288, in call_process_api
output = await app.get_blocks().process_api(
File "D:\ReHiFace\jian27\lib\site-packages\gradio\blocks.py", line 1931, in process_api
result = await self.call_function(
File "D:\ReHiFace\jian27\lib\site-packages\gradio\blocks.py", line 1516, in call_function
prediction = await anyio.to_thread.run_sync( # type: ignore
File "D:\ReHiFace\jian27\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "D:\ReHiFace\jian27\lib\site-packages\anyio\_backends\_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "D:\ReHiFace\jian27\lib\site-packages\anyio\_backends\_asyncio.py", line 859, in run
result = context.run(func, *args)
File "D:\ReHiFace\jian27\lib\site-packages\gradio\utils.py", line 826, in wrapper
response = f(*args, **kwargs)
File "D:\ReHiFace\app.py", line 132, in process_image_video
processed_frame = future.result()
File "D:\ReHiFace\jian27\lib\concurrent\futures\_base.py", line 446, in result
return self.__get_result()
File "D:\ReHiFace\jian27\lib\concurrent\futures\_base.py", line 391, in __get_result
raise self._exception
File "D:\ReHiFace\jian27\lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "D:\ReHiFace\app.py", line 73, in process_frame
mask_out, swap_face_out = self.hf.forward(face, image_latent[0].reshape(1, -1))
File "D:\ReHiFace\face_lib\face_swap\hififace_api.py", line 28, in forward
output = self.model.forward(blob)
File "D:\ReHiFace\model_lib\base_wrapper\onnx_model.py", line 154, in forward
temp_result = self.onnx_session.run(self.output_name, input_feed=input_feed)
File "D:\ReHiFace\jian27\lib\site-packages\onnxruntime\capi\onnxruntime_inference_collection.py", line 220, in run
return self._sess.run(output_names, input_feed, run_options)
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Non-zero status code returned while running Upsample node. Name:'Upsample_495' Status Message: CUDA error cudaErrorMemoryAllocation:out of memory
看样子是爆了显存。你显卡是什么?
4060 8G显存
那就可能是你没有安装cuda 可以安装试试
确认安装了
2024-08-27 19:28:00.3509584 [E:onnxruntime:Default, cuda_call.cc:116 onnxruntime::CudaCall] CUDA failure 2: out of memory ; GPU=0 ; hostname=KAIDE ; file=D:\a\_work\1\s\onnxruntime\core\providers\cuda\cuda_execution_provider.cc ; line=395 ; expr=cudaStreamSynchronize(static_cast(stream_));
是不是包写死了E盘? 我只有两个盘符C D
不是 这是爆了显存
看看。。
牛啊
需要连网吗?
不
哈喽秀,造化钟神秀!