有 UE4 大神没,想问个问题。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jtacm
V2EX    Unreal Development Kit

有 UE4 大神没,想问个问题。

  •  
  •   jtacm 2021-09-05 16:41:11 +08:00 2539 次点击
    这是一个创建于 1496 天的主题,其中的信息可能已经有所发展或是发生改变。

    现在有这样一个需求,在 UE4 中有一个人脸,想通过程序代码获取人脸信息,然后调用 opencv/pytorch 模型,为此人脸添加滤镜。此滤镜为普通 2D 滤镜,即输入是 2D 图片,输出也是 2D 图片,比如我们手机自拍里常见的美白滤镜,眼镜变大滤镜等。

    现在此滤镜已经 ready,使用的是 opencv/pytorch,用 python 编写(当然也可以改为 c++),请问通过怎么样一种方式集成到 UE4 中去?由于滤镜是 2D 滤镜,所以仅要求贴完滤镜后的的人脸只对某一个特定 camera 投影 OK 就行。

    想询问下实现思路,感激不尽。 请大神们可以给点建议,即使不是 end to end solution 也行。

    第 1 条附言    2021-09-05 20:06:39 +08:00
    其实我们想做的就是,把现成在手机自拍 app 里那种美白、大眼的各种滤镜,应用到 UE4 里的人物上。但是这种滤镜以往都是针对手机自拍 2D 图片的,作用到 UE4 里的 3D 人物上的话,只需要对其正对 camera 的摄像头投影生效就可以。
    12 条回复    2021-09-06 07:29:29 +08:00
    hs0000t
        1
    hs0000t  
       2021-09-05 16:50:15 +08:00 via Android
    不懂 UE4,感觉可以走 tcp 或者 http,给 py 模型套一层 web 服务器,监听本地高位端口
    jtacm
        2
    jtacm  
    OP
       2021-09-05 17:13:56 +08:00
    @hs0000t 感谢建议。
    走 web 服务有些额外开销,特别是近实时的场景,我更想把 opencv/pytorch 更 native 的集成到 UE4 中去贴脸。
    LifStge
        3
    LifStge  
       2021-09-05 17:39:46 +08:00
    需求有点模糊啊 不都是建模 shader 处理的么 啥应用场景呢 是采集摄像机 然后整合到 ue4 的场景里么 这样的话 跟 UE4 的东西关系也不大啊 不就是影视处理的那套流程么 对摄像机采集的图片直接处理 处理完后 贴进场景 还是说想对 UE4 里渲染的人物做处理呢 不用 shader 的方式的话 不也是将模型渲染到纹理 然后 2d 处理么 处理完后再帖进去
    loveour
        4
    loveour  
       2021-09-05 18:00:05 +08:00
    没太懂,如果是 C++,直接写个插件把代码集成进去不就可以了吗?或者直接集成在 UE4 的工程里也可以,但是这样不方便以后用在别的 UE4 项目里面。就是普通的 C++包含头文件调用接口呀,需要什么思路?
    jtacm
        5
    jtacm  
    OP
       2021-09-05 20:03:22 +08:00
    @LifStge 感谢。 我们是想对 UE4 里渲染好的人物做处理,人物已经在 UE4 里弄好,然后想用 opencv/pytorch 加一些效滤镜果上去。这些滤镜效果,是以人脸作为输入,然后输出大眼、美白后的人脸。就和我们在各类手机自拍 app 里的效果差不多,只不过是作用在 UE4 里的人物里,可能和 2D 纹理贴图还不同。请问还有啥思路?
    jtacm
        6
    jtacm  
    OP
       2021-09-05 20:06:09 +08:00
    @loveour 有这类插件例子吗?其实我们想做的就是,把现成在手机自拍 app 里那种美白、大眼的各种滤镜,应用到 UE4 里的人物上。但是这种滤镜以往都是针对手机自拍 2D 图片的,作用到 UE4 里的 3D 人物上的话,只需要对其正对 camera 的摄像头投影生效就可以。
    YuriX
        7
    YuriX  
       2021-09-05 21:49:26 +08:00
    听起来滤镜像是 CPU 上的?那么只能从 RenderTarget 读回像素,然后转发到滤镜上了。处理完再传回来,写到纹理里面。弄个 postprocess 画到屏幕上。过程快不了,隔帧弄吧
    jtacm
        8
    jtacm  
    OP
       2021-09-05 22:16:58 +08:00
    @YuriX 滤镜需要过 pytorch 模型,是在 GPU 上跑。
    如果在 GPU 上,有什么特别的吗?
    lightjiao
        9
    lightjiao  
       2021-09-06 00:17:47 +08:00 via iPhone
    美颜滤镜这种需求在游戏开发中被称作相机后处理呀(虽然我不会写后处理
    future0906
        10
    future0906  
       2021-09-06 01:23:00 +08:00
    1.集成的话,opencv 可能简单点,直接当成一个插件一起编译到 UE4 就行。Pytorch 不确定集成方式,不知道有没有 C++接口。可以看看商城有没现成成的插件,没有的话可能要自己做。

    2.生成出来的图片主要看你要怎么用。直接在界面上显示平面图的话,用 slate 就行;如果要放在 3D 场景的话,要看你想怎么放;是作为纹理绑定到模型上还是直接作为一个面片(公告板)放到场景
    paopjian
        11
    paopjian  
       2021-09-06 02:11:52 +08:00 via Android
    opencv 好像自带神经网络了,不考虑把模型改成原生的吗
    root99527
        12
    root99527  
       2021-09-06 07:29:29 +08:00 via iPhone
    改成 c++的 inference 库即可,可以考虑使用 tensorrt,mnn,ncnn 等等
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3036 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:55 PVG 19:55 LAX 04:55 JFK 07:55
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86