rk3588平台集成人脸识别算法(百度离线SDK)笔记
乐果 发表于 2024 年 01 月 03 日 标签:armcc++ai
首先,去百度云后台申请离线 sdk
,下载……略
sdk已整理备份,下载地址如下
下载地址: face-offline-sdk
sdk 文档: pdf文档
算法授权
按上述链接中的官方文档操作授权激活即可,略~
Demo编译
sdk
解压后,目录结构如下所示,src
目录为 demo
样例代码。
因为整个 sdk
是 c++
构建的,因此需要用 gcc
或 g++
编译器编译,
为方便编译管理,我们先在 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
动态类库,供上游应用层程序调用(例如 golang
、php
程序等)
笔记将持续更新,敬请关注…