精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用瑞芯微RV1126核心板的Linux人臉識別項目

LZL18611808956 ? 來源:果果小師弟 ? 作者:果果小師弟 ? 2022-10-17 14:08 ? 次閱讀

摘要:一個Linux人臉識別小項目,可以拿過來來練練手。使用瑞芯微RV1126核心板通過瑞芯微API進行視頻采集并進行人臉識別,并輸出到設備上。

一、搭建NFS環境

網絡文件系統NFS,是由SUN公司研制的UNIX表示層協議,能使使用者訪問網絡上別處的文件就像在使用自己的計算機一樣。我們可以Ubuntu上制作板子需要的文件,然后使用NFS來加載文件到板子的DDR上。

因為我們使用的板子內存太小,而人臉識別有需要很多的文件來支持,板子放不下,只能通過這種掛載的方式,將程序運行所需要的數據庫模型文件放在掛載的目錄下,這樣就可以了。

1.1 安裝NFS服務

在Ubuntu終端執行以下指令安裝NFS。

sudoapt-getinstallnfs-kernel-server

1.2 新建NFS共享目錄

新建NFS共享目錄,并給予NFS目錄可讀可寫可執行權限。

sudomkdir/home/zhiguoxin/linux/nfs
sudochmod777/home/zhiguoxin/linux/nfs/

1.3 配置NFS服務

執行以下指令打開etc/exports文件

sudovi/etc/exports

進入etc/exports文件,在最后添加如下內容

/home/zhiguoxin/linux/nfs*(rw,sync,no_root_squash)

/home/zhiguoxin/linux/nfs 表示NFS共享的目錄,*表示允許所有的網絡段訪問,rw表示訪問者具有可讀寫權限,sync表示將緩存寫入設備中,可以說是同步緩存的意思。no_root_squash表示訪問者具有root權限。修改完如下圖所示。

30c24060-4dd0-11ed-a3b6-dac502259ad0.png

修改完以后保存退出。執行以下指令重啟 NFS 服務器。

sudo/etc/init.d/nfs-kernel-serverrestart

執行以下指令查看 NFS 共享目錄。

showmount-e
30e85bb0-4dd0-11ed-a3b6-dac502259ad0.png

網絡環境

確保網絡環境正常,Ubuntu、Windows和開發板能相互ping 通。開發板IP:192.168.100.75虛擬機IP:192.168.100.100電腦網口IP:192.168.100.102

二、交叉編譯SQLite3數據庫

2.1、準備源碼

源碼可以周期官網下載,放在我的共享文件夾下,然后解壓。

30fefe38-4dd0-11ed-a3b6-dac502259ad0.png

2.2、準備RV1126的sdk包

這個RV1126的源碼包在購買板子的時候商家會送你的

312f3f76-4dd0-11ed-a3b6-dac502259ad0.png

這個那文件夾里面有交叉編譯工具鏈。在交叉編譯之前,得在sdk里面找到交叉編譯工具鏈:

314117aa-4dd0-11ed-a3b6-dac502259ad0.png商家提供的sdk里面的交叉工具鏈

然后我這里放在samba共享目錄下,我的共享文件夾對應我的ubuntu的目錄是

/home/zhiguyoxin/shared/
315972c8-4dd0-11ed-a3b6-dac502259ad0.png

現在開始來交叉編譯SQLite3,這個SQLite3的源碼還是用之前給大家的源碼包:

30fefe38-4dd0-11ed-a3b6-dac502259ad0.png

使用命令解壓

tar-zxvfsqlite-autoconf-3380500.tar.gz
31a33660-4dd0-11ed-a3b6-dac502259ad0.png31bc8714-4dd0-11ed-a3b6-dac502259ad0.png

2.3、交叉編譯SQLite3

然后開始進行交叉編譯,不過在在這之前,先在當前目錄下創建一個文件夾來存放等下交叉編譯出來文件:

mkdirarm_sqlite3_install
31eaf5d6-4dd0-11ed-a3b6-dac502259ad0.png

最后最為關鍵部分是,現在找到那個之前交叉編譯的路徑來,也就是結對路徑:

/home/zhiguoxin/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin

接著剛才建立的arm_sqlite3_install,也是要找到他的絕對路徑來:

/home/zhiguoxin/shared/sqlite-autoconf-3380500/arm_sqlite3_install
321e59ee-4dd0-11ed-a3b6-dac502259ad0.png

最后就可以按照下面這個命令來執行編譯了:

./configureCC=/home/zhiguoxin/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc--host=arm-linux--prefix=/home/zhiguoxin/shared/sqlite-autoconf-3380500/arm_sqlite3_install
322f0104-4dd0-11ed-a3b6-dac502259ad0.png

然后執行分別執行以下命令即可:

make-j8
makeinstall

最后在arm_sqlite3_install目錄下生成四個文件:

3244ae82-4dd0-11ed-a3b6-dac502259ad0.png

進入到arm_sqlite_install目錄下的lib目錄,這里面就是交叉編譯出來的.so的動態庫文件,如下圖所示:

325e3334-4dd0-11ed-a3b6-dac502259ad0.png

我們把這些動態庫進行一個打包:

zip-rarm_sqlite3_lib.zip*so*
326dce70-4dd0-11ed-a3b6-dac502259ad0.png

把這個打包文件拷貝到nfs目錄下去:

cp-rfarm_sqlite3_lib.zip/home/zhiguoxin/linux/nfs
32864d92-4dd0-11ed-a3b6-dac502259ad0.png35a043a2-4dd0-11ed-a3b6-dac502259ad0.png

令外還要將sqlite3可執行文件拷貝至/home/zhiguoxin/linux/nfs目錄下

35ba5ddc-4dd0-11ed-a3b6-dac502259ad0.png

使用這個可執行文件我們查看數據庫中的數據,做一下添加刪除的操作。

三、交叉編譯OpenCV

同樣現在官網下載號源碼包,放再共享文件夾下

35cfdeaa-4dd0-11ed-a3b6-dac502259ad0.png

解壓

unzipopencv-3.4.12.zip-dopencv-3.4.12
35ec487e-4dd0-11ed-a3b6-dac502259ad0.png

進入解壓后的opencv版本platforms/linux目錄下去:

cdopencv-3.4.12/platforms/linux

修改arm-gnueabi.toolchain.cmake

vimarm-gnueabi.toolchain.cmake
36017e06-4dd0-11ed-a3b6-dac502259ad0.png

將里面的交叉編譯路徑修改成你自己的路徑

/home/zhiguoxin/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf
361a2118-4dd0-11ed-a3b6-dac502259ad0.png

建立一個build目錄,并進入build下去:

3640cdd6-4dd0-11ed-a3b6-dac502259ad0.png

編譯:

cmake-DCMKAE_BUILD_TYPE=Release-DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake-DCMAKE_INSTALL_PREFIX=/opt/arm_opencv-DSOFTFP=ON-DENABLE_PROFILING=OFF-DWITH_OPENCL=OFF-DWITH_TBB=ON-DWITH_V4L=ON-DHAVE_CAMV4L2=ON-DBUILD_TESTS=OFF-DINSTALL_PYTHON_EXAMPLES=OFF-DBUILD_EXAMPLES=OFF-DWITH_FFMPEG=ON-DHAVE_FFMPEG=ON-DBUILD_opencv_js=OFF-DENABLE_NEON=OFF-DENABLE_VFPV3=OFF../
366467c8-4dd0-11ed-a3b6-dac502259ad0.png36784da6-4dd0-11ed-a3b6-dac502259ad0.png

然后執行下面兩句

make-j8
makeinstall

最后結果:

368bd22c-4dd0-11ed-a3b6-dac502259ad0.png

先進入到build目錄下的lib目錄下,你會看到很多動態庫,

36ab96ac-4dd0-11ed-a3b6-dac502259ad0.png

對其打包:

zip-rarm_opencv_lib.ziplib*
37aa2eec-4dd0-11ed-a3b6-dac502259ad0.png

將文件拷貝至/home/zhiguoxin/linux/nfs//共享文件夾

cp-rfarm_opencv_lib.zip/home/zhiguoxin/linux/nfs/
37c752b0-4dd0-11ed-a3b6-dac502259ad0.png

四、移植rknn動態庫

把sdk里面的rknn動態庫移植到nfs目錄下,這是我放sdk的路徑:

37ee046e-4dd0-11ed-a3b6-dac502259ad0.png

將這個文件拷貝到/home/zhiguoxin/linux/nfs目錄下,用啥方式都可以,只要拷貝過去就可以了。

五、RV1126人臉識別工程交叉編譯

首先下載人臉識別源碼,我下載后之后放在這里

38004c46-4dd0-11ed-a3b6-dac502259ad0.png

在編譯之前,我們要修改一下Makefile:

vimMakefile

這里修改成你的sdk交叉編譯工具鏈的路徑

38331edc-4dd0-11ed-a3b6-dac502259ad0.png

然后make就看可以了

make

5.1 移植人臉識別數據模型

將人臉識別數據模型拷貝至/home/zhiguoxin/linux/nfs/

cd/home/zhiguoxin/myproject/rockx_face_recognize_project_rtsp
cprockx_data/-rf/home/zhiguoxin/linux/nfs/
3866700c-4dd0-11ed-a3b6-dac502259ad0.png

5.2 移植人臉識別可執行程序

將人臉識別編譯出來的可執行程序拷貝至/home/zhiguoxin/linux/nfs/

38862e38-4dd0-11ed-a3b6-dac502259ad0.png

5.3 移植人臉識別插入人臉數據可執行程序

將人臉識別編譯出來的插入人臉數據庫可執行程序拷貝至/home/zhiguoxin/linux/nfs/

38e8c28c-4dd0-11ed-a3b6-dac502259ad0.png

5.4 移植人臉識別數據庫

將數據庫文件face.db文件拷貝至/home/zhiguoxin/linux/nfs/

390559d8-4dd0-11ed-a3b6-dac502259ad0.png

六、RV1126板子的處理

6.1 掛載

在開發板的/mnt/新建一個nfs文件夾

cd/mnt/
mkdirnfs

在板子上使用nfs掛載,之后在ubuntu上的/home/zhiguoxin/linux/nfs放的文件,都會在共享在板子的/mnt/nfs目錄下

mount-tnfs192.168.100.100:/home/zhiguoxin/linux/nfs/mnt/nfs-onolock

192.168.100.100是我虛擬機的IP地址

/home/zhiguoxin/linux/nfs是我虛擬機下的nfs目錄

/mnt/nfs是板子的掛載目錄

393a22da-4dd0-11ed-a3b6-dac502259ad0.png

6.2 刪除原有數據庫表

./sqlite3face.db
.tables
select*fromface_data_table;
deletefromface_data_table;
.quit

6.3 插入人臉數據

./rkmedia_rockx_face_insertliuyaoliuyao.png
./rkmedia_rockx_face_insertyangjiachengyangjiacheng.png
39aee0ac-4dd0-11ed-a3b6-dac502259ad0.png

6.4執行程序

./rkmedia_rockx_face_rga_rtsp_main
39cbac3c-4dd0-11ed-a3b6-dac502259ad0.png
ffplay–x800–y400rtsp://192.168.100.75/live/main_stream

或者使用vlc拉流

39debade-4dd0-11ed-a3b6-dac502259ad0.png3a29a008-4dd0-11ed-a3b6-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11123

    瀏覽量

    207885
  • 瑞芯微
    +關注

    關注

    23

    文章

    377

    瀏覽量

    51061
  • 人臉識別
    +關注

    關注

    76

    文章

    3998

    瀏覽量

    81346
  • 核心板
    +關注

    關注

    5

    文章

    924

    瀏覽量

    29519
  • rv1126
    +關注

    關注

    0

    文章

    30

    瀏覽量

    2622

原文標題:單片機可以人臉識別嗎?不行,是Linux

文章出處:【微信號:果果小師弟,微信公眾號:果果小師弟】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于RV1126的邊緣計算人工智能開發套件快速入手案例

    RV1126內置AI智能算法,與大部分其他同類方案相比,影像處理能力更為強大且全面。 RV 112
    的頭像 發表于 10-12 18:03 ?4719次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RV1126</b>的邊緣計算人工智能開發套件快速入手案例

    一個基于Linux RV1126人臉識別項目

    關于RV1109/RV1126,之前芯片剛出的時候就搞了將近一年,當時沒有什么參考資料,于是只能根據經驗去慢慢摸索,也總結了不少這方面的筆記。
    發表于 11-23 09:23 ?5089次閱讀

    RV1126基于虹軟人臉識別算法實現指南

    1、RV1126基于虹軟人臉識別算法實現的示例使用教程示例(rkmedia_vi_arc_rtsp_test.cc) 使用 CORE-1126-JD4 配套的 os04a10 攝像頭進
    發表于 06-08 15:51

    RV1126支持車載視覺產品產品開發

    預警)、DMS(駕駛員疲勞檢測)、BSD(盲區檢測算法)等的搭載需求正不斷提高。RV1126支持Linux操作系統,擁有獨立的NPU,
    發表于 08-02 16:49

    基于高性能核心板人臉識別方案

    、圖書館,收銀臺 RV1126高性能人臉識別核心板
    發表于 01-05 14:15

    基于RV1109的酒店人臉識別應用

    技術,以及紅外熱成像模塊,支持口罩識別RV1126高性能人臉
    發表于 01-29 14:41

    基于RV1109 電子哨兵健康碼核驗終端的高鐵人臉識別檢票系統

    支持系統級、APP離線級、APP+后 臺網絡級多種API對接,文檔完善,支持二次開發 RV1126高性能人臉
    發表于 02-08 14:01

    RV1126RV1109 IPC方案優勢解析

    面對復雜光照環境、人流與車流、多變人體動作等復雜場景,成像質量和畫面效果以及細節呈現能力,是考量IPC方案技術的重要指標。近日旗下兩款IPC方案RV1126
    的頭像 發表于 03-02 16:49 ?3359次閱讀

    人臉識別速度提升50%,推出RV1126智能考勤/門禁/閘機產品方案

    近日推出RV1126方案,應用于智能考勤設備、門禁設備、閘機等產品,全新升級四大技術優勢,強化相關產品的核心競爭力。 (企業供圖,下同) 優勢一、人臉檢測速度提升50% 排隊時間大
    的頭像 發表于 04-01 16:49 ?2851次閱讀

    Rockchip RV1109和RV1126芯片規格

    Banana Pi 基于Rockchip RV1109和RV1126的AI 智能攝像頭開發方案
    發表于 10-25 15:20 ?2977次閱讀
    <b class='flag-5'>芯</b><b class='flag-5'>微</b>Rockchip <b class='flag-5'>RV</b>1109和<b class='flag-5'>RV1126</b>芯片規格

    RV1126榮獲第十六屆中國“優秀市場表現產品獎”

    了“中國”優秀產品征集結果發布儀式,微電子股份有限公司(以下簡稱“”)旗下高端視覺芯
    發表于 12-22 11:36 ?864次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RV1126</b>榮獲第十六屆中國<b class='flag-5'>芯</b>“優秀市場表現產品獎”

    RV1126 38mm主控數據手冊

    本產品是基于 RV1126 媒體處理芯片開發的 IPC 開發,分為核心板和底板,且
    發表于 08-30 11:55 ?13次下載

    RV1126開發數據手冊

    本產品是基于 RV1126 媒體處理芯片開發的 IPC 開發,分為核心板和底板, 且
    發表于 08-28 11:09 ?14次下載

    rv1126芯片參數介紹

    芯片進行詳細的介紹,并探討其主要功能和應用場景。 RV1126芯片概述 RV1126芯片是一款由公司針對視覺智能領域而研發的專業芯片。
    的頭像 發表于 08-17 11:09 ?6317次閱讀

    rv1126和rk3568對比

    視頻編解碼。而RK3568開發創龍科技旗下工業開發,基于RK3568J/RK3568B2處理器設計,四核ARM Cortex-A5
    的頭像 發表于 01-23 18:05 ?9267次閱讀
    <b class='flag-5'>rv1126</b>和rk3568對比