(八)OpenFace比较性能(GPUPixel)

比特紫霄引
• 阅读 63

3.1 ffmpeg工具    这个工具是一套开源的计算机程序,用于记录、转换数字和视频,并将其转换为流。也可以将视频转换为图片,这是没有问题的。之后就用这个进行视频帧的抽取和转换吧。先抽帧:
(八)OpenFace比较性能(GPUPixel)
每秒按30帧来算了,抽帧完成。
(八)OpenFace比较性能(GPUPixel)

3.2 将源程序进行一个功能性处理
目的是只运行output那一部分,其余部分不运行。
经过尝试,发现逻辑是不对的,之前想的是再程序里运行。但程序的运行逻辑是先载入图片,然后再人脸识别,之后就永远在这个图片的框架下运行了,这和我们的目的是矛盾的。所以我还是用python运行这个程序吧。
现在先验证一点,output能不能脱离render运行呢?
发现是可以的。
于是编写逻辑:在main函数中插入两个命令行参数,分别是输入图片路径和输出路径,然后opencv把图片输出到指定路径就行了。
用python写了一段循环,用来遍历所有的图片,然后挨个输入输出就行了。

(八)OpenFace比较性能(GPUPixel)

然后一点一点输出出来就行了。

(八)OpenFace比较性能(GPUPixel)

然后再回退回视频:
ffmpeg -framerate 30 -i ./outputimage/processed_output_%04d.png -c:v libx264 -r 30 -pix_fmt yuv420p output_video.mp4

最终生成的效果:

(八)OpenFace比较性能(GPUPixel)

两个视频,生成完毕。
接下来的目标就是测试开源的OpenFace的landmarks参数抓取效果是怎么样的了。
3.3 Openface安装与测试
我感觉在我这台电脑上够呛了,换成大服务器吧。
安装教程:
https://blog.csdn.net/hongbin_xu/article/details/80223992?spm...
服务器上安装也够呛了,环境怕被弄乱,还是在内网主机上操作吧。

在内网主机上,获取到这个工具,然后就按照这个网页中的命令执行就可以了。
https://github.com/TadasBaltrusaitis/OpenFace/wiki/Command-line-arguments
所以下一步要做的事情就是学习这个命令,然后再把我们的图片输入进去,再输出出来。
3.3 OpenFcae工具使用说明

(八)OpenFace比较性能(GPUPixel)

1,先将我的照片挪到内网里面去。
2,再用以下命令生成标记后信息:

   FaceLandmarkImg -fdir ./image

3,再用以下命令进行一个提取;
mv output_????.jpg ../result
4,最后再进行一个展示就完事了。
3.4 抽取Openface的关键landmarks信息

只用一张图片的信息抽取其中的landmarks信息,然后导回到之前的程序中,再看看美颜效果是怎么样的。接下来的工作就做这个了。
那个数据已经整理完成,但是传出来还是比较困难得,接下来还是弄明白这个GPUpixel中的landmarks是什么德行是一件比较重要的事情了。
失败的工具拉去,估计只能重新安装了。

(八)OpenFace比较性能(GPUPixel)

在第一处是需要去将其注释掉,不让其对landmarks进行插手了。
可以看出来的是,这个output里面大有玄机,里面应该是有好多数据可以用的,但是在本程序中只有landmarks这个东西。
该变量是一个浮点型数组。

(八)OpenFace比较性能(GPUPixel)

这一段说明了output.faceArr[0].facelandmarks[].x/.y保存了重要的信息。
而最有可能得一点是faceLandmarksNum的关键点数量并不固定。
不过看接下来的这个数据:
(八)OpenFace比较性能(GPUPixel)
倒是感觉确实所言非虚,是有111个点的。
(八)OpenFace比较性能(GPUPixel)

这个是111点的基础坐标,但要这基础坐标干嘛呀?
(八)OpenFace比较性能(GPUPixel)

确实是106个人家的结果。
这106个文件之后去干嘛呢?
肯定这个美颜的滤镜是做了适配工作的。所以接下来就去看看,这些滤镜是如何适配这些点的。106到底有没有关系。
最终渲染的时候,是在这个位置传入的。

(八)OpenFace比较性能(GPUPixel)

一切分析都抵不过跑一遍好。我觉得还是先架设起调试的环境吧。
(八)OpenFace比较性能(GPUPixel)

调试环境架设完毕,接下来就一步一步捋一下这个流程。
经试验,深入不到里面的函数去打断点,只能在外面。
这个landmarks的值是一直不变的状态。

(八)OpenFace比较性能(GPUPixel)

只要识别之后,之后就不会再变了。
之后就会被这个函数所回调:

(八)OpenFace比较性能(GPUPixel)

进去之后:
(八)OpenFace比较性能(GPUPixel)

被这个函数所调用,这个函数无法解析。

问题来了,landmarks是从1-221的数组,是没有脸什么的这些数据的。那这个滤镜是如何把脸上的数据给弄住的呢?

经过思考和推理:
是存在这个函数对landmarks数组索引的。

(八)OpenFace比较性能(GPUPixel)

这个函数专门干的就是这个事儿。
标记专门的左眉毛(10),右眉毛(10),左眼(21)、右眼(21)、左脸颊(16)、右脸颊(16)、鼻子部分(16)、鼻子和嘴巴中间三角形(14)、上嘴唇部分(10)、下嘴唇部分(10)、唇间部分(8)、嘴巴和下巴之间的部分(24)。
就是根据这些索引来标记特定部位的。
那也就意味着,我用Openface的库只要生成这两部分文件,就能进行一个替换了。
所以接下来的第一步,就是找到landmarks的位置。
在之前生成cvs文件中,无法找到有效:

(八)OpenFace比较性能(GPUPixel)
是不是之前的命令有所失所导致的呢?不太清楚。
再看看有没有其他的命令跑一次。

正式安装成功。

安装完成后,进行检测,发现了这个问题:

(八)OpenFace比较性能(GPUPixel)

找不到相关的model。
https://blog.csdn.net/qq_51289776/article/details/135700211
遵循这个文档的操作下载模型之后,成了。

(八)OpenFace比较性能(GPUPixel)
但是必须在bin文件夹下才可以。运行后,获取成功:

     Flandmarks -f  ../image -2Dfp

(八)OpenFace比较性能(GPUPixel)

一共是67个坐标。

点赞
收藏
评论区
推荐文章
布袋罗汉 布袋罗汉
2年前
Mac视频下载iTubeGo YouTube Downloader
iTubeGoYouTubeDownloader是一款功能强大的YouTube视频下载工具,适用于Windows和macOS操作系统。它可以帮助用户下载高质量的YouTube视频,并支持多种视频格式转换。支持下载YouTube视频,包括单个视频、完整的播放
春风化雨 春风化雨
2年前
iTubeGo YouTube Downloader for Mac(网页视频下载工具)
iTubeGoYouTubeDownloaderforMac是一款最佳高清视频和音频下载器,它可以从从YouTube和10,000多个网站高速下载全高清/4K/8K视频。iTubeGoYouTubeDownloaderMac中文破解版可以将视频转换为MP4
Wesley13 Wesley13
4年前
javaCV
  最近有视频处理的需求,自己调研javaCV。  官网没有详细的API,各种轮子翻遍了也没找到几个有用的,以下是自己整理一些视频处理功能:截取视频指定帧生成gif,将图片旋转指定度,截取视频指定帧保存为指定格式的图片(图片保存在视频同文件夹下),_调整视频清晰度(只能降低),_视频转音频__。  先上代码。packagecom.ric
小尉迟 小尉迟
2年前
视频下载出来为网页格式?如何转换视频格式?
你是否遇到过在网页上下载视频,下载完成后是网页格式(webm)?如何将下载出来的视频转换为mp4格式?解决方法很简单,只需要一款即可!Permute3Mac破解版是Macos系统上一款易用的媒体格式转换工具,支持视频音乐和图像的格式转换,通过拖拽支持批量格
Stella981 Stella981
4年前
Python骚操作:利用Python获取摄像头并实时控制人脸!
实现流程从摄像头获取视频流,并转换为一帧一帧的图像,然后将图像信息传递给opencv这个工具库处理,返回灰度图像(就像你使用本地静态图片一样)程序启动后,根据监听器信息,使用一个while循环,不断的加载视频图像,然后返回给opencv工具呈现图像信息。创建一个键盘事件监听,按下"d"键,则开始执行面部匹配,并进行面具加
凿壁偷光 凿壁偷光
2年前
视频下载和转换器-YT Saver for Mac
YTSaver是一款便捷实用的视频下载器和转换器,可以从10,000多个网站下载视频、音频、播放列表,并将视频转换为MP4、MOV、AAC、WAV等。
流浪剑客 流浪剑客
2年前
AI高级视频风格化工具:Aescripts StyleX for Mac
是一款带有AI的视频风格化工具AE插件,可将视频转换为卡通、绘画、绘画、半色调和许多其他风格。兼容性AfterEffects:2023,2022,2021,2020Premiere:2022,2021,2020
绣鸾 绣鸾
2年前
VideoProc Converter 4K for mac(视频转换软件) v 6.0
是一款功能强大的视频转换工具,它可以将各种常见格式的视频文件(如MP4、AVI、MOV等)快速转换为高质量的4K、1080p、720p或其他分辨率的视频文件。以下是VideoProcConverter4K的一些特点:高速转换:VideoProcConver
燕青 燕青
2年前
GIF制作工具:GIFfun for Mac中文激活版
是一款可以在几秒钟内完成转GIF动画转换的GIF编辑器软件。在Mac上,GIFfun可以帮助用户从日常生活中的照片和视频中直接取材来创建动画GIF,并且可以将多张照片转换为GIF,还可以将多张照片转换为视频。同时,它也支持批量处理,可以进行GIF转视频、视
流浪剑客 流浪剑客
2年前
GIF制作工具:GIFfun
是一款可以在几秒钟内完成转GIF动画转换的GIF编辑器软件,它可以帮助用户从日常生活中的照片和视频中直接取材来创建动画GIF。在功能方面,GIFfunMac版可以将多张照片转换为GIF,还可以将多张照片转换为视频,并且支持批量处理。此外,它也提供了GIF转
贾蔷 贾蔷
7个月前
手把手教你实现进制转换(C++代码注释+小白友好教程)
一、简介和特点是编程中常见的操作,即将数值从一种进制(如十进制)转换为另一种进制(如、十六进制等)。本了一个通用的进制转换工具,具有以下特点:1.支持小数转换:不仅能转换整数,还能处理小数部分的进制转换(如将0.25转换为二进制)。2.灵活进制设定:用户可