https://bj.bcebos.com/paddlehub/fastdeploy/modnet_photographic_portrait_matting.onnx
模型
尺寸
准确性
modnet_摄影
25MB

-
实现主要过程
1.加载下载的modnet模型2.读取人像图像和背景图(背景图的高度和宽度需要大于人像图像) 3.根据预测结果,返回人像抠图结果。 (背景为纯色,前景为人像) 4.人像与背景的合成。 (这里使用了两种合成方法,一种是使用mask进行图像位运算,另一种是根据背景像素值进行遍历)
实现代码:
导入cv2import fastdeploy作为fdimport numpy as npmodel_file='modnet-onnx/modnet_photographic_portrait_matting.onnx'model=fd.vision.matting.MODNet(model_file=model_file,params_file='',runtime_option=None,model_format=fd.Frontend。 ONNX)img=cv2.imread('img/77.jpg') #77.jpg,386.jpg,446.jpgbg=cv2.imread('img/bg1.jpg')sbg=bg.copy()结果=model.predict(img.copy())#print(result)#可视化结果vis_img=fd.vision.vis_matting_alpha(img, result)#print(vis_img[0,0]) #[153,255,120]#图像合成、背景图尺寸不能小于前景图,需要调整threshdef swap_background_matting1(img,bg,thresh=127): h0,w0=bg.shape[0],bg.shape[1] h,w=img.shape [0],图片。 shape[1] #获取后台合并区域,大小与前景一致roi=bg[(h0-h)//2:(h0-h)//2+h,(w0-w)//2:(w0- w)//2+w] img2gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret,mask=cv2.threshold(img2gray,200,255,cv2.THRESH_BINARY) kernel=np.ones((5,5) ),np.uint8) mask=cv2.morphologyEx(mask,cv2.MORPH_OPEN,kernel) mask_inv=cv2.bitwise_not(mask) roibg=cv2.bitwise_and(roi,roi,mask=mask) roifg=cv2.bitwise_and(img, img,mask=mask_inv) roibgfg=cv2.add(roibg,roifg) bg[(h0-h)//2:(h0-h)//2+h,(w0-w)//2:(w0-w) //2+ w]=roibgfg return bg # bg=swap_background_matting1(vis_img,bg,200)#遍历实现基于背景像素的背景和人像合成def swap_background_matting2(vis_img,bg): hbg,wbg=bg.shape[0 ],bg.shape [1] #背景尺寸hfg,wfg=img.shape[0],img.shape[1] #原图尺寸#遍历人像背景合成,for i in range(hfg): for j在范围(wfg): 中,如果vis_img[i,j,0]==vis_img[0,0,0] 且vis_img[i,j,1]==vis_img[0,0,1] 且vis_img[i,j ,2]==vis_img [0,0,2]: 继续bg[i+(hbg-hfg)//2,j+(wbg-wbg)//2]=vis_img[i,j] 返回bgbg=swap_background_matting2(vis_img ,bg)dst=np .hstack((img,vis_img))cv2.imshow('结果',dst)bgdst=np.hstack((sbg,bg))cv2.imshow('bgdst',bgdst)cv2.waitKey (0)cv2.destroyAllWindows()
实现效果
人像抠图效果1

蒙版合成效果
遍历合成效果
人像抠图效果2
遍历合成效果
人像抠图效果3
遍历合成效果
标题:148.人工智能MODNet网络模型:实现人像抠图
链接:https://yqqlyw.com/news/sypc/13801.html
版权:文章转载自网络,如有侵权,请联系删除!
用户评论
MODNet在提升我的游戏角色自定义体验上简直太厉害了!我简直看不出人像和背景分离的部分。非常流畅,超乎期待。
有13位网友表示赞同!
使用MODNet做游戏里的人像抠图后,角色服饰的替换无缝衔接,效果惊艳。
有9位网友表示赞同!
这款AI模型让我玩的角色扮演游戏更有沉浸感,人物特写看起来超级真实。
有7位网友表示赞同!
人工智能MODNet在处理游戏角色人像时展现出的专业水平,真的是太高了。细节捕捉得非常到位!
有11位网友表示赞同!
使用了MODNet之后,我游戏中的角色外观调整变得轻松而高效,真的很方便。
有15位网友表示赞同!
Minecraft玩家的福音!MODNet让我可以轻松地给人物模型添加新装扮和背景替换,超酷!
有13位网友表示赞同!
MODNet让我的游戏角色更加个性化。我用它的次数多到数不清了,每次都能给我带来惊喜。
有6位网友表示赞同!
在《守望先锋》这样的团队游戏中,MODNet提升了角色的辨识度,在激烈的对抗中更显优势。
有16位网友表示赞同!
AI MODNet改变了我对游戏画面质量的看法。人物抠图细节处理得极其细腻,提高了整体视觉效果。
有17位网友表示赞同!
尝试了MODNet后发现了全新的游戏自定义功能,感觉自己像个创意者一样在定制我的游戏角色。
有17位网友表示赞同!
对于一个普通玩家来说,MODNet不仅提高了游戏的视觉享受,而且让角色更加生动鲜活。
有7位网友表示赞同!
我用MODNet玩了一次《我的世界》,简直震撼!人物和环境的分离效果让我对这款游戏有了全新的认识。
有5位网友表示赞同!
Minecraft中的人物自定义变得超简单,多亏了MODNet,我不再受限于皮肤本身的种类了。
有7位网友表示赞同!
MODNet不只是做了人像抠图,它还让游戏角色的背景故事更加生动地呈现出来。太炫酷了!
有17位网友表示赞同!
对于《赛博朋克2077》这样的高概念游戏来说,使用MODNet调整角色外观简直是如虎添翼。
有12位网友表示赞同!
自从用上MODNet后,我再也不需要担心游戏角色在不同的场景中视觉一致性的问题。一切都变得那么容易处理。
有18位网友表示赞同!
Minecraft与MODNet的结合让我的世界探索变得更加个性化和有趣。每个角色都能代表一个故事。
有16位网友表示赞同!
用MODNet调整游戏角色不仅让我省时省力,而且还能激发出更多游戏中的创意灵感。
有10位网友表示赞同!
在《绝地求生》这类游戏中,清晰的角色人像抠图大大增强了战略决策和识别对手的效率。
有6位网友表示赞同!
Minecraft世界因MODNet的人像抠图功能而变得丰富多彩,每个角色都更加独特且有故事性。太棒了!
有5位网友表示赞同!