366

rk3588平台集成人脸识别算法(百度离线SDK)笔记

乐果   发表于   2024 年 01 月 03 日 标签:armcc++ai

首先,去百度云后台申请离线 sdk,下载……略

sdk已整理备份,下载地址如下

下载地址: face-offline-sdk

sdk 文档: pdf文档

算法授权

按上述链接中的官方文档操作授权激活即可,略~

Demo编译

sdk 解压后,目录结构如下所示,src 目录为 demo 样例代码。

因为整个 sdkc++ 构建的,因此需要用 gccg++ 编译器编译, 为方便编译管理,我们先在 src 目下创建 cmake 配置文件 CMakeLists.txt, 配置文件内容如下:

# 最低版本名称
cmake_minimum_required(VERSION 3.5.1)

set(CMAKE_CXX_STANDARD 11)

# 指定工程的名称
project(face_test)

# 源文件
file(GLOB DIR_SRCS  face.cpp face_demo.cpp  face_draw/*.cpp face_detect/*.cpp 
    face_track/*.cpp face_attr/*.cpp face_blur/*.cpp face_compare/*.cpp face_action_live/*.cpp 
    sdk_info/*.cpp face_crop/*.cpp face_best/*.cpp dark_enhance/*.cpp driver_monitor/*.cpp safety_belt/*.cpp 
    face_eyeclose/*.cpp face_feature/*.cpp face_gaze/*.cpp
    face_headpose/*.cpp face_illumination/*.cpp face_landmark/*.cpp face_liveness/*.cpp
    face_manager/*.cpp face_mouth_close/*.cpp face_mouth_mask/*.cpp face_emotion/*.cpp  
    face_occlusion/*.cpp util/*.cpp multi_thread/*.cpp)

# 引入头文件目录
include_directories(
    ${CMAKE_SOURCE_DIR}/../include
        ${CMAKE_SOURCE_DIR}/../third_party
)

# 指定共享库的库目录
link_directories(
        ${CMAKE_SOURCE_DIR}/../lib/${ARCH_ABI}
)

# 设置变量
set(FACE_TEST "face_test")

# 生成可执行文件
add_executable(${FACE_TEST} ${DIR_SRCS})

# 为 face_test 添加共享库链接
target_link_libraries(${FACE_TEST} face_sdk crypto ssl curl paddle_light_api_shared opencv_world baidu_face_api pthread)

cmake 相关规则指令语法可以参考:CMake语法

如上所示创建好 cmake 配置文件后,执行命令生成构建 MakeFile 配置文件:

cmake -DARCH_ABI=armv8 .

然后执行 make 命令编译:

make

编译成功后,src 目录下会生成 face_test 可执行文件

./face_test
# 执行face_test后正常窗口如下:
in main
device id:C4F9D2571775FFAA41B3355F40BA1895
before sdk_init
after sdk_init
人脸检测demoframe is empty,please check file path!
time  cost is :0ms
before delete api

如果报错找不到 so 动态类库,例如:./face_test: error while loading shared libraries: libface_sdk.so: cannot open shared object file: No such file or directory

这种情况设置一下 LD_LIBRARY_PATH 环境变量即可, 例如我本机 sdk 存放的路径为 /home/xiao/work/Baidu_Face_Offline_SDK_Linux_ARM_7.3,设置如下(根据自己情况而定):

export LD_LIBRARY_PATH=/home/xiao/work/Baidu_Face_Offline_SDK_Linux_ARM_7.3/lib:$LD_LIBRARY_PATH

自此 sdk 编译安装demo 测试结束!

后期将根据应用层实际需要,编写 so 动态类库,供上游应用层程序调用(例如 golangphp 程序等)

笔记将持续更新,敬请关注…

乐果   发表于   2024 年 01 月 03 日 标签:armcc++ai

0

文章评论