建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
092947bevjlmiytnwwd8ky.jpg 【乘风破浪赋能学习季】昇腾干货课程+云端实验,训战结合,多重好礼等你赢取!
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

一根香蕉

发帖: 20粉丝: 0

级别 : 外部版主

发消息 + 关注

发表于2020年07月17日 12:27:20 529 2
直达本楼层的链接
楼主
显示全部楼层
[干货分享] 香蕉的Atlas500经验帖四-Atlas500中FaceRecognition踩过的坑

Atlas500有一个人脸识别的demo,最近我终于把它跑出来了。在这期间遇到过一些问题,我也把解决的过程稍微说一下,按照我的流程去走,或许能够解决你的问题。

(1)下载项目:https://gitee.com/HuaweiAtlas/FaceRecognition

(2)编译所需要的库,参考项目下的《Compiling guide of third-party open source softwares.zh.md》文档,但是文档中有一些描述得不够清晰的地方,主要是他的编译链接这个讲得我个人觉得有点语焉不详,为此我也发过帖子询问。得到的答案也不是很满意,所以在这里我会加以补充。Atlas500精品帖中的aarch64架构linux服务器软件编译与部署指南也有很高的参考价值。

(3)《Compiling guide of third-party open source softwares.zh.md》讲述了各个库交叉编译和非交叉编译的做法。但是要让项目跑起来,其实交叉编译就够了,所以前半部分其实不用看,交叉编译链的安装在我的经验帖三,安装ddk的过程中有讲。

(4)编译FFmepg,我尝试过编译x264,但是出现了报错,最终也没有得到解决,所以最终我选择编译不带x264的版本。

    下载ffmpeg, 下载地址:https://github.com/FFmpeg/FFmpeg/releases 推荐版本:4.1.3及以上版本

    进入ffmpeg目录,输入:

    ./configure  --prefix=/home/ubuntu/huawei/huaweilib/ffmpeg --target-os=linux --arch=aarch64 --enable-cross-compile  --cross-prefix=aarch64-linux-gnu-  --enable-shared--disable-doc

    make

    make install

    可能会报错,我曾经提问https://bbs.huaweicloud.com/forum/thread-61742-1-1.html

image.png

    我也有遇到其他人也是这个报错,如果你遇到了这个报错,我的解决办法是:

    su进root

    export PATH=$PATH:/home/ubuntu/Atlas500_DDK/toolchains/Euler_compile_env_cross/arm/cross_compile/install/bin/

(5)编译gflags,下载gflags源码。源码地址: https://github.com/gflags/gflags/releases。我使用的是2.2.2版本。首先需要新建一个Euler.cmake文件,随便你放在哪里,交叉编译链的路径改成自己的就好。

    编写内容:

    

set(CMAKE_SYSTEM_NAME Linux)

set(CMAKE_SYSTEM_PROCESSOR aarch64)

set(tools /home/ubuntu/Atlas500_DDK/toolchains/Euler_compile_env_cross/arm/cross_compile/install)

set(CMAKE_SYSROOT ${tools}/sysroot)

set(CMAKE_C_COMPILER ${tools}/bin/aarch64-linux-gnu-gcc)

set(CMAKE_CXX_COMPILER ${tools}/bin/aarch64-linux-gnu-g++)

set(CMAKE_AR ${tools}/bin/aarch64-linux-gnu-ar)

set(CMAKE_RANLIB ${tools}/bin/aarch64-linux-gnu-ranlib)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

    然后运行:

    sudo cmake  -DCMAKE_TOOLCHAIN_FILE=/home/ubuntu/huawei/Euler.cmake  -DCMAKE_INSTALL_PREFIX=/home/ubuntu/huawei/huaweilib/gflags  -DBUILD_SHARED_LIBS=ON ..

    sudo make

    sudo make install

(6)编译opencv,确保自己的cmake版本比较高,我之前是3.6.1的时候编译会出现如下问题https://bbs.huaweicloud.com/forum/thread-61841-1-1.html

image.png


将cmake版本升级到3.18就不会了。

我的Atlas500环境上跑这个程序有要求需要opencv3.4.6。image.png

运行:

    cmake -DCMAKE_TOOLCHAIN_FILE=/home/ubuntu/huawei/Euler.cmake -DCMAKE_INSTALL_PREFIX=/home/ubuntu/huawei/huaweilib/opencv3.4.6 -DWITH_WEBP=OFF -DBUILD_opencv_world=ON ..

    make

    make install


(6)做完上面的事情,你所需要的库都编译好了,接下去需要做一个操作,就是进入到你编译好的那些库的lib里面,将lib文件都复制到lddk/ib64下,而且要使用cp -d 保留软链接:

在编译生成的三个库的lib下都执行:

cp -d lib* /home/ubuntu/Atlas500_DDK/lib64/

cp -d lib* /home/ubuntu/Atlas500_DDK/lib64/

cp -d lib* /home/ubuntu/Atlas500_DDK/lib64/

image.png

(7)修改FaceRecognition/build下的build_local_atlas500.sh:

image.png

(8)编译三个模型文件,到/home/ubuntu/huawei/FaceRecognition/depository/models/下的三个目录下,分别修改sh文件的DDK_PATH为你的DDK地址,然后运行sh文件。如果不能运行,使用chmod命令修改运行权限。

image.png

(9)修改/home/ubuntu/huawei/FaceRecognition/depository/config/下的setup.config,如果你使用的是摄像头来推流(在这里我先讲一种摄像头推流的方法,如果你没有摄像头,可以使用两台电脑进行视频的推流,之后我再开帖子讲这个方法吧)。我本人使用的是海康威视的摄像头,设置为:

image.png

(10)修改/home/ubuntu/huawei/FaceRecognition/depository/config/下的graph.config,修改为你开发的主机,对我来说也就是我的windows电脑的ip地址

image.png

(11)在你的windoes电脑上安装EasyDarwin,github地址为:https://github.com/EasyDarwin/EasyDarwin,使用ServiceInstall-EasyDarwin.exe安装服务,安装成功后可以在任务管理器找到:image.png

(12)把交叉编译生成的库放到开发板的/opt/目录下,然后添加环境变量,大致是这样,具体路径自己设置:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/opencv/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/gflags/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/ffmpeg/lib

(13)运行程序即可,使用vlc播放器 VLC media player,输入推流地址,即可看到输出。

image.png

如果你是按照这个流程去走的,应该不会有什么问题,遇到问题的话可以在下面留言讨论。

举报
分享

分享文章到朋友圈

分享文章到微博

大可乐

发帖: 3粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年08月06日 08:59:31
直达本楼层的链接
沙发
显示全部楼层

image.png

image.png


是不是版本不对导致的?

点赞 评论 引用 举报

大可乐

发帖: 3粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年08月06日 14:33:38
直达本楼层的链接
板凳
显示全部楼层

1.建立标准人脸库

在depository目录下新建featurelib文件夹,并在depository/featurelib目录下新建名为Featurelib.bin的人脸库。Featurelib.bin为二进制文件,内容为多个人脸特征(每个人脸512维,float32类型)的连续排列存放,如下所示:

特征向量1向量特征向量2特征向量3...特征向量n

用户可通过开源人脸特征提取模型提取人脸特征向量,并写入二进制文件;或使用python脚本随机生成特定字节长度(人脸个数x512x4)的二进制文件。

--------------------------

这个人脸库是怎么建?

评论
xiaoyifan6 6 天前 评论

用户可通过开源人脸特征提取模型提取人脸特征向量,并写入二进制文件。 这个需要您自己去找的。

... 查看全部
点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册