RV1126 NO.49:Rockx-SDK的简介
一.ROCKX-SDK是什么

Rockx-sdk是专为rk系列芯片(包括RV1126/RV1109、RK3399/RK3568等)开发的AI组件库。借助ROCKX的AI组件,开发者能够快速实现各类AI应用,如车牌识别、人脸识别、目标检测、人体骨骼识别等功能(具体如上图所示)。本章节将重点介绍rockx中的人脸检测与识别模块。
![]()
2.1.1. carplate_align.data:车牌对齐模型,主要是用在车牌图像的矫正
2.1.2. carplate_detection.data:车牌检测模型,主要是用于图像中的车牌图像的检测
2.1.3. carplate_recognition.data:车牌识别模型,主要是用于图像中的车牌图像的识别
2.1.4. face_attribute.data:人脸属性模型,主要是用于人脸属性的输出
2.1.5. face_detection.data:人脸检测模型,主要是用于人脸的检测2.1.6. face_landmark5.data:人脸关键点检测,landmark5指的是5点面部标识,包括:额头、两边的面颊、鼻尖、下巴
2.1.7. face_landmarks68.data:人脸关键点检测,landmark68指的是68点面部标识,包括:眉毛、眼睛、鼻子、嘴巴一共51个关键点,轮廓关键点17个
2.1.8. face_liveness_2d.data:人脸活体检测模型,主要是检测人脸是否是活人
2.1.9. face_recognition.data:人脸识别模型,主要是判断两个人脸的特征值是否是同一个人
2.1.10.head_detection.data:头部检测模型,主要是判断人的头部
2.1.11.object_detection.data:物体检测模型,判断当前图像的物体是什么,object_detection的底层是用rknn进行人工智能的训练
2.1.12.pose_body.data:人体姿态检测模型,人体姿态指的是将图片中已检测到的人体关键点正确连接起来,并正确估计人体的姿态。人体的姿态一般如:肩、颈、腰、膝盖等
2.1.13.pose_finger.data:人体手指检测模型,主要是检测手指的关键点。
2.1.14.pose_hand.data:人体手势识别。
1.2.rockx-data-rv1109:

rockx-data-rv1109是rv1126/rv1109芯片适配的AI模型
2.2.1.body_detection.data:人体检测模型,主要是判断目前物体是否是人
2.2.2.body_mask:口罩检测模型,判断目前人是否带口罩
2.2.3. carplate_align.data:车牌对齐模型,主要是用在车牌图像的矫正
2.2.4. carplate_detection.data:车牌检测模型,主要是用于图像中的车牌图像的检测
2.2.5. carplate_recognition.data:车牌识别模型,主要是用于图像中的车牌图像的识别
2.2.6. face_attribute.data:人脸属性模型,主要是用于人脸属性的输出
2.2.7.face_detection_v2.data:人脸检测模型V2,V2指的是Version2。它主要运用在人脸的检测
2.2.8.face_detection_v2_horizontal.data:人脸水平位置检测V2,V2指的是Version2。它主要运用在人脸的水平位置检测,就是图像位置只能是水平位置。
2.2.9.face_detection_v3.data:人脸检测模型V3,V3指的是Version3。它主要运用在人脸检测,Version3的人脸检测精确度比Version3更加精确。
2.2.10.face_detection_v3_fast.data:人脸检测模型V3,V3指的是Version3。它主要运用在人脸检测,Version3的人脸检测精确度比Version3更加精确,fast指的是精简版意思它的人脸检测的模型比较少。
2.2.11. face_detection_v3_large.data:人脸检测模型V3,V3指的是Version3。它主要运用在人脸检测,Version3的人脸检测精确度比Version3更加精确,large指的是加强版它提供的人脸检测模型比v3和v3_fast都要全面。
2.2.11. face_landmark5.data:人脸关键点检测,landmark5指的是5点面部标识,包括:额头、两边的面颊、鼻尖、下巴
2.2.12. face_landmarks68.data:人脸关键点检测,landmark68指的是68点面部标识,包括:眉毛、眼睛、鼻子、嘴巴一共51个关键点,轮廓关键点17个
2.2.13. face_mask_classify.data:口罩分类检测,检测当前口罩是什么类型
2.2.14. face_masks_detection.data:检测当前人是否戴口罩
2.2.15. face_recognition.data:人脸识别模型,主要是判断两个人脸的特征值是否是同一个人
2.2.16. head_detection.data:头部检测模型,主要是判断人的头部
2.2.17. head_detection_v2_640X480.data:头部检测模型,它只能检测640 * 480的视频图像
2.2.18. object_detection.data:物体检测模型,判断当前图像的物体是什么,object_detection的底层是用rknn进行人工智能的训练2.2.19. person_detection_v2.data:人体检测模型,判断当前的视频或者图像有无行人,V2指的是Version2版本。
2.2.19. person_detection_v3.data:人体检测模型,判断当前的视频或者图像有无行人,V3指的是Version3版本。V3的行人检测精确度要比Version2要高不少
2.2.19. pose_body.data:人体姿态检测模型,人体姿态指的是将图片中已检测到的人体关键点正确连接起来,并正确估计人体的姿态。人体的姿态一般如:肩、颈、腰、膝盖等
2.2.20. pose_body_v2.data:人体姿态检测模型,人体姿态指的是将图片中已检测到的人体关键点正确连接起来,并正确估计人体的姿态,人体的姿态一般如:肩、颈、腰、膝盖等。V2指的是Version2,它的精确度要比pose_body.data要高。
2.2.21.pose_finger.data:人体手指检测模型,主要是检测手指的关键点。
2.2.22.pose_hand.data:人体手势识别。
1.3.rockx-rk1806-Linux:
![]()
这里主要是放rk1806的动态库和头文件include
1.4. lib文件夹:
![]()
librknn_api.so:rknn的动态库
librockx.so:rockx的动态库
注意:在开发中,通常需要把librknn_api.so和librockx.so放在同一个目录下,rockx的功能才会正常
1.5.include文件夹:
![]()
rockx.h:rockx的创建和销毁的API函数的头文件
rockx_type.h:rockx类型的头文件定义,包括像素类型、数据类型等
2.3.2.1. modules文件夹
![]()
carplate.h:车牌识别的头文件
face.h:人脸识别检测相关的头文件
object_detection.h:物体检测的头文件
object_track.h:物体追踪的头文件
pose.h:姿态相关的头文件
2.3.2.2. utils文件夹
![]()
rockx_config_util.h:rockx配置相关的头文件
rockx_image_util.h:rockx跟图像处理相关的头文件
rockx_tensor_util.h:rockx跟tensor相关的头文件
2.4.rockx-rk1808-Linux:
![]()
这里主要是放rk1808的动态库和头文件include
2.4.1.lib64文件夹
![]()
librknn_api.so:rknn的动态库
librockx.so:rockx的动态库
注意:在开发中,通常需要把librknn_api.so和librockx.so放在同一个目录下,rockx的功能才会正常
2.4.2.include文件夹
![]()
rockx.h:rockx的创建和销毁的API函数的头文件
rockx_type.h:rockx类型的头文件定义,包括像素类型、数据类型等
2.4.2.1. modules文件夹
![]()
carplate.h:车牌识别的头文件
face.h:人脸识别检测相关的头文件
object_detection.h:物体检测的头文件
object_track.h:物体追踪的头文件
pose.h:姿态相关的头文件
2.4.2.2. utils文件夹
![]()
rockx_config_util.h:rockx配置相关的头文件
rockx_image_util.h:rockx跟图像处理相关的头文件
rockx_tensor_util.h:rockx跟tensor相关的头文件
2.5.rockx-rk3399pro-Android:
![]()
这里主要是放rk3399的Android动态库和头文件,要注意的是Android版本的动态库分两个,一个是arm64-v8a,另外一个是arm64-v7a。
2.5.1. arm64-v8a目录
![]()
arm64-v8a:第八代64位ARM处理器,这个文件夹里面主要是放了librknn_api.so和librockx.so两个动态库。
2.5.2. arm64-v7a目录
arm64-v8a:第七代ARM处理器,这个文件夹里面主要是放了librknn_api.so和librockx.so两个动态库。
2.5.3.include目录
![]()
2.5.3.1. include文件夹
![]()
rockx.h:rockx的创建和销毁的API函数的头文件
rockx_type.h:rockx类型的头文件定义,包括像素类型、数据类型等
2.5.3.2. modules文件夹
![]()
carplate.h:车牌识别的头文件
face.h:人脸识别检测相关的头文件
object_detection.h:物体检测的头文件
object_track.h:物体追踪的头文件
pose.h:姿态相关的头文件
2.5.3.3. utils文件夹
![]()
rockx_config_util.h:rockx配置相关的头文件
rockx_image_util.h:rockx跟图像处理相关的头文件
rockx_tensor_util.h:rockx跟tensor相关的头文件
2.6.rockx-rk3399pro-Linux:
![]()
这里主要是放rk3399的Linux动态库和头文件。
2.6.1.lib64文件夹
![]()
librknn_api.so:rknn的动态库
librockx.so:rockx的动态库
注意:在开发中,通常需要把librknn_api.so和librockx.so放在同一个目录下,rockx的功能才会正常
2.6.2.include文件夹
![]()
rockx.h:rockx的创建和销毁的API函数的头文件
rockx_type.h:rockx类型的头文件定义,包括像素类型、数据类型等
2.6.2.1.modules文件夹
![]()
carplate.h:车牌识别的头文件
face.h:人脸识别检测相关的头文件
object_detection.h:物体检测的头文件
object_track.h:物体追踪的头文件
pose.h:姿态相关的头文件
2.7. rockx-rv1109-Linux:
![]()
这里主要是放rv1126/rv1109的Linux动态库和头文件。
2.7.1. lib文件夹
![]()
librknn_api.so:rknn的动态库
librockx.so:rockx的动态库
注意:在开发中,通常需要把librknn_api.so和librockx.so放在同一个目录下,rockx的功能才会正常
2.7.2. include文件夹
![]()
rockx.h:rockx的创建和销毁的API函数的头文件
rockx_type.h:rockx类型的头文件定义,包括像素类型、数据类型等
2.7.2.1.modules文件夹
![]()
bodymask.h:身体遮挡的头文件
carplate.h:车牌识别的头文件
face.h:人脸识别检测相关的头文件
object_detection.h:物体检测的头文件
object_track.h:物体追踪的头文件
pose.h:姿态相关的头文件
2.7.2.2. utils文件夹
![]()
rockx_config_util.h:rockx配置相关的头文件
rockx_image_util.h:rockx跟图像处理相关的头文件
rockx_tensor_util.h:rockx跟tensor相关的头文件
2.8.rockx-x86-64-Linux:
这里主要是包含x86-64的瑞芯微动态库和include头文件
![]()
2.8.1. lib64文件夹
![]()
librknn_api.so:rknn的动态库
librockx.so:rockx的动态库
npu_transfer_proxy:npu是人工智能加速的模块
注意:在开发中,通常需要把librknn_api.so和librockx.so放在同一个目录下,rockx的功能才会正常
2.8.2. include文件夹
![]()
rockx.h:rockx的创建和销毁的API函数的头文件
rockx_type.h:rockx类型的头文件定义,包括像素类型、数据类型等
2.8.2.1.modules文件夹
![]()
carplate.h:车牌识别的头文件
face.h:人脸识别检测相关的头文件
object_detection.h:物体检测的头文件
object_track.h:物体追踪的头文件
pose.h:姿态相关的头文件
2.8.2.2. utils文件夹
![]()
rockx_config_util.h:rockx配置相关的头文件
rockx_image_util.h:rockx跟图像处理相关的头文件
rockx_tensor_util.h:rockx跟tensor相关的头文件
三.把rockx_data的文件夹放到板子的/userdata/里面
![]()
上图是要把rockx_data的文件夹放到/usesrdata/里面,直接用就可以。
