【地平线旭日X3派试用体验】开发示例

描述

本文来源电子发烧友社区,作者:yjp, 帖子地址:https://bbs.elecfans.com/jishu_2303180_1_1.html



应用开发示例
在完成开发板的上电,镜像编译,板卡系统升级以及开发环境的搭建以后,下一步就可以将 ddk/samples 目录下示例跑起来。 本文将围绕多任务感知参考解决方案 ddk/samples/solution_zoo/multitask_perception_solution 来介绍如何快速跑通开发板的全链路流程。
1. 环境确认
  • 交叉编译环境已经安装
     
work@work-server:~$ ll /opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnutotal 36drwxr-xr-x 7 root root 4096 10月 15  2019 aarch64-linux-gnudrwxr-xr-x 2 root root 4096 10月 15  2019 bin-rw-r--r-- 1 root root 9489 10月 15  2019 gcc-linaro-6.5.0-2018.12-linux-manifest.txtdrwxr-xr-x 3 root root 4096 10月 15  2019 includedrwxr-xr-x 3 root root 4096 10月 15  2019 libdrwxr-xr-x 3 root root 4096 10月 15  2019 libexecdrwxr-xr-x 8 root root 4096 10月 15  2019 share

  • ddk/package/host package已经安装
     
~/.horizon/ddk/├── xj3_aarch64│   ├── appsdk│   │   └── appuser│   ├── appsdk_1.9.0.tar.gz│   ├── bpu_predict│   │   ├── include│   │   └── lib│   ├── bpu_predict_1.10.2.tar.gz│   ├── dnn│   │   ├── include│   │   └── lib│   └─── dnn_1.1.2a.tar.gz└── xj3_x86_64_gcc_4.8.5    ├── bpu_predict    │   ├── include    │   └── lib    ├── bpu_predict_1.10.2.tar.gz    ├── dnn_x86    │   ├── include    │   └── lib    └─── dnn_x86_1.1.2a.tar.gz

  • 开发板和开发机器连通,并完成配套的系统镜像升级,我们这里示例是基于0207进行验证。
     
root@x3sdbx3-samsung2G-3200:~# cat /etc/versionLNX_PL2.0_WB_20210207 release

  • ddk/package/board 板端附加工具已经安装。
     
// 将ddk/package/board安装到开发板子work@work-server:/ddk/package/board$ sh install.sh 10.64.35.206// 验证安装成功root@x3sdbx3-samsung2G-3200:/userdata/.horizon/# ll-rwx------    1 root     root      10424232 Jan  1 08:15 hrt_bin_dump-rwx------    1 root     root      15380352 Jan  1 08:15 hrt_model_exec

2. 样例编译多任务感知参考解决方案内置了丰富的人脸人体感知相关的算法,并且以源码方式进行提供。
使用之前,首先需要进行编译,进入 ddk/samples/solution_zoo/multitask_perception_solution 目录,执行 build_and_deploy.sh 即可以完成编译。
一旦正确完成编译,会在 multitask_perception_solution 目录下,新增 /deploy 目录。
work@work-server:/multitask_perception_solution/deploy$ lltotal 44drwxr-xr-x 6 work work  4096 4月  13 11:32 configsdrwxrwxr-x 2 work work  4096 4月  13 11:32 libdrwxr-xr-x 2 work work  4096 4月  13 11:32 modelsdrwxrwxr-x 3 work work  4096 4月  13 11:32 multitask_perception-rwxr-xr-x 1 work work 12366 4月  13 11:32 run_body.sh-rwxr-xr-x 1 work work 11637 4月  13 11:32 run_face_recog.sh

Note
首次编译,由于会涉及较多的依赖库的编译,整体编译速度会较慢,但是在后续做了源码修改以后, 再次执行 build_and_deploy.sh 相比会有很大的速度提升。

3. 上板部署多任务感知参考解决方案解决方案部署,非常简单,你只需要将 multitask_perception_solution/deploy 部署到开发板的 /userdata 目录下即可以。
你可以采用scp/tftp/nfs等方式来进行开发机与开发板之间的数据传输,本文采用scp方式进行实现。
// 将/deploy安装到开发板work@work-server:/solution_zoo/multitask_perception_solution$ scp -r deploy root@10.64.35.206:/userdata/// 在开发板上验证安装成功root@x3sdbx3-samsung2G-3200:/userdata/deploy# lldrwxr-xr-x    6 root     root          4096 Jan  1 08:29 configsdrwxrwxr-x    2 root     root          4096 Jan  1 08:29 libdrwxr-xr-x    2 root     root          4096 Jan  1 08:29 modelsdrwxrwxr-x    3 root     root          4096 Jan  1 08:29 multitask_perception-rwx------    1 root     root         12366 Jan  1 08:29 run_body.sh-rwx------    1 root     root         11637 Jan  1 08:29 run_face_recog.sh

4. 执行与可视化/userdata/deploy 目录下提供了 run_body.sh 和 run_face_recog.sh 两个脚本,支持分别运行人体感知示例和人脸感知示例。
运行过程中,需要根据你的开发板外接的摄像头类型来进行实现,我们这里采用的一个奥速的1080p的USB摄像头。
root@x3sdbx3-samsung2G-3200:/userdata/deploy# sh run_face_recog.shchmod: start_nginx.sh: No such file or directorysh: can't open 'start_nginx.sh': No such file or directoryChoose lunch x3 vio type menu...pick a combo:        1. single cam        2. single feedbackWhich would you like?1You choose 1:single_camChoose lunch single cam sensor menu...pick a combo:        1. single camera: os8a10, 2160P        2. single camera: os8a10, 1080P        3. single camera: usb_cam, 1080P        4. single camera: f37_1080p, 1080PWhich would you like?3You choose 3:usb_camvio_mode: usb_camvio_pipe_file: configs/vio/x3dev/iot_vio_x3_usb_cam_1080p.jsonusb_cam start, default resolution 1080P.../usr/bin/adbd is not runnningvio_cfg_file: ./configs/vio_config.json.x3dev.camturn on malloptuse bpu native engine[1970-01-01 08:35:32 INFO 548044893280 hr_api.cpp:479] HorizonRT version = 1.5.1[1970-01-01 08:35:32 INFO 548044893280 hr_api.cpp:484] hbrt version = 3.12.2

一旦运行起来,你就可以在同一个网段的开发机上,访问 http://[开发板] 地址来可视化执行输出的结果,我们这里访问的 http://10.64.35.206。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分