国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【EASY EAI Nano開源套件試用體驗(yàn)】4AI功能測(cè)試之人臉檢測(cè)

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-11 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:碼農(nóng)愛學(xué)習(xí), 帖子地址:https://bbs.elecfans.com/jishu_2307951_1_1.html


EASY EAI Nano AI人臉檢測(cè)測(cè)試(附上體驗(yàn)視頻,詳細(xì)見原作者帖子)

本篇介紹EASY EAI Nano的AI人臉檢測(cè)功能,先看下測(cè)試效果:

1.jpg

本篇參考官方文檔:https://www.easy-eai.com/document_details/3/109

1 代碼下載

下載官方測(cè)試代碼:https://github.com/EASY-EAI/EASY-EAI-Toolkit-C-Solution.git,本篇來修改face_detect中的代碼并測(cè)試。

下載AI算法模型face_detect.model,百度網(wǎng)盤:https://pan.baidu.com/s/1mrhVHxHWJ8cY9Fl9k5KtYg#list/path=%2F提取碼:0k7j

總的資料百度網(wǎng)盤了也有算法模型:https://pan.baidu.com/s/1AjOIu77mzFM4cDA0MMVr2A#list/path=%2F,提取碼:5ttf

我先使用總的資料里下載的模型測(cè)試。

2 人臉檢測(cè)API接口介紹

組件 頭文件以及庫路徑 描述
系統(tǒng)操作組件 easyeai-api/common_api/system_opt 提供線程操作函數(shù)
攝像頭組件 easyeai-api/peripheral_api/camera 提供攝像頭操作函數(shù)
顯示屏組件 easyeai-api/peripheral_api/display 提供顯示屏操作函數(shù)
人臉檢測(cè)組件 easyeai-api/algorithm_api/face_detect 提供人臉檢測(cè)操作函數(shù)

主要來看下人臉檢測(cè)組件。

face_detect.h主要內(nèi)容如下,包括一個(gè)det(detect)類的3個(gè)人臉檢測(cè)API函數(shù):

class det {
public:
    det(){
landmarks.resize(5);
    }
    ~det(){
    }
?
    bool operator<(const det &t) const {
return score < t.score;
}
?
    bool operator>(const det &t) const {
return score > t.score;
}
?
    cv::Rect_ box;
    std::vector landmarks;
    float score;
?
    void print() {
printf("finalbox(x1y1x2y2) %f %f %f %f, score %fn", box.x, box.y, box.br().x, box.br().y, score);
printf("landmarks ");
int point_number = landmarks.size();
for (int i = 0; i < point_number; i++) {
printf("%f %f, ", landmarks[i].x, landmarks[i].y);
}
printf("n");
}
    
};
?
int face_detect_init(rknn_context *ctx, const char *path);
?
int face_detect_run(rknn_context ctx, cv::Mat &input_image, std::vector &result);
?
int face_detect_release(rknn_context ctx);

一些參數(shù):

  • ctx:輸入?yún)?shù),rknn_context句柄
  • path:輸入?yún)?shù),算法模型路徑
  • input_image:輸入?yún)?shù), Opencv Mat格式圖像
  • result:輸出參數(shù), 人臉檢測(cè)的結(jié)果輸出

3 代碼分析與修改

官方例程使用的是雙目攝像頭中的RGB攝像頭,本篇測(cè)試修改為使用外接USB攝像頭來采集圖像,并將采集的圖像橫屏顯示。另外,在識(shí)別到人臉后,通過OpenCV函數(shù),在屏幕左上角顯示出識(shí)別到的人臉個(gè)數(shù)。

3.1 圖像采集與顯示線程(主線程)

修改后的主程序邏輯如下:

2.png

主要代碼結(jié)構(gòu)如下:

Mat algorithm_image;
pthread_mutex_t img_lock;
?
int main(int argc, char **argv)
{
//省略...
pthread_t mTid;
Result_t Result;
Mat image;
// 1.打開USB攝像頭
//省略...
// 2.創(chuàng)建識(shí)別線程,以及圖像互斥鎖
pthread_mutex_init(&img_lock, NULL);
Result.result.clear();
Result.face_number = 0;
CreateNormalThread(detect_thread_entry, &Result, &mTid);
// 3.顯示初始化
    //省略...
// 4.(取流 + 顯示)循環(huán)
while(1){
// 4.1、取流
pthread_mutex_lock(&img_lock);
ret = usbcamera_getframe(USB2_0, USB_DIRECT, pbuf);
if (ret) {
printf("error: %s, %dn", __func__, __LINE__);
pthread_mutex_unlock(&img_lock);
continue;
}
algorithm_image = Mat(CAMERA_HEIGHT, CAMERA_WIDTH, CV_8UC3, pbuf);
image = algorithm_image.clone();
pthread_mutex_unlock(&img_lock);
// 4.2、顯示
        cv::putText(image, std::string("detect faces: ") + std::to_string((int)Result.result.size()), 
                    cv::Point2f(30, 50), cv::FONT_HERSHEY_SIMPLEX,1.45, CV_RGB(255,0,0),3.0);
for (int i = 0; i < (int)Result.result.size(); i++)
{
// 標(biāo)出人臉框
int x = (int)(Result.result[i].box.x);
int y = (int)(Result.result[i].box.y);
int w = (int)(Result.result[i].box.width);
int h = (int)(Result.result[i].box.height);
rectangle(image, Rect(x, y, w, h), Scalar(0, 255, 0), 2, 8, 0);
// 標(biāo)出人臉定位標(biāo)記
for (int j = 0; j < (int)Result.result[i].landmarks.size(); ++j) {
cv::circle(image, cv::Point((int)Result.result[i].landmarks[j].x, (int)Result.result[i].landmarks[j].y), 2, cv::Scalar(0, 255, 0), 3, 8);
}
}
        disp_commit(image.data, IMAGE_SIZE);

        usleep(20*1000);
}
?
//省略...
}

3.2 人臉檢測(cè)處理

人臉檢測(cè)處理序邏輯如下:

3.png

代碼如下:

// 識(shí)別線程
void *detect_thread_entry(void *para)
{
int ret;
Result_t *pResult = (Result_t *)para;

// 人臉檢測(cè)初始化
rknn_context ctx;
face_detect_init(&ctx, "face_detect.model");

Mat image;
while(1)
{
        if(algorithm_image.empty()) {
usleep(5);
            continue;
        }

pthread_mutex_lock(&img_lock);
image = algorithm_image.clone();
pthread_mutex_unlock(&img_lock);
// 算法分析
ret = face_detect_run(ctx, image, pResult->result);
pResult->face_number = pResult->result.size();
if(ret <= 0){
pResult->result.clear();
usleep(1000);
continue;
}

printf("n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>n");
printf("face number : %dn", pResult->face_number);

        usleep(16*1000);
}
/* 人臉檢測(cè)釋放 */
face_detect_release(ctx);
return NULL;
}

4 測(cè)試

測(cè)試效果如下,可以同時(shí)檢測(cè)到多張人臉,在屏幕左上角標(biāo)注有檢測(cè)到的人臉個(gè)數(shù):

4.png

5 總結(jié)

本篇介紹了EASY EAI Nano的AI人臉檢測(cè)功能,修改官方代碼,改用外接USB攝像頭來采集圖像,并在識(shí)別到人臉后,通過OpenCV函數(shù),在屏幕左上角顯示出識(shí)別到的人臉個(gè)數(shù)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6291

    瀏覽量

    118145
  • EASY-EAI靈眸科技
    +關(guān)注

    關(guān)注

    4

    文章

    67

    瀏覽量

    3620
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】介紹、系統(tǒng)安裝

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】介紹、系統(tǒng)安裝 本文介紹了靈眸科技 EASY
    發(fā)表于 12-23 18:05

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】桌面系統(tǒng)功能測(cè)試-驅(qū)動(dòng)攝像頭-Mediapipe人體姿態(tài)檢測(cè)1

    0接上文### 【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】桌面系統(tǒng)功能測(cè)試
    發(fā)表于 12-19 19:41

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+1、開箱上電

    配置即可開始開發(fā) 5.2 應(yīng)用場(chǎng)景推薦 EASY EAI Nano-TB(RV1126B)開發(fā)板特別適合于以下應(yīng)用場(chǎng)景: 智能安防監(jiān)控 :人臉識(shí)別門禁系統(tǒng)、智能視頻分析 工業(yè)視覺
    發(fā)表于 11-19 21:39

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】1、初識(shí)

    非常感謝電子發(fā)燒友以及靈眸科技給了我這次試用EASY EAI Nano-TB(RV1126B)開發(fā)板的機(jī)會(huì),星期四確認(rèn)了我的試用機(jī)會(huì),星期五
    發(fā)表于 11-16 11:15

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈按鈕項(xiàng)目

    0接上文【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測(cè)試-shel
    發(fā)表于 11-03 10:00

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目

    接上文【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】通過wifi連接,使用ssh登錄EASY
    發(fā)表于 11-02 18:34

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-燈閃

    )。 命令行功能測(cè)試 我準(zhǔn)備在Ubuntu主板命令行啟動(dòng)后網(wǎng)絡(luò)SSH 下用shell腳本進(jìn)行控制部分硬件測(cè)試。從IO控制-燈閃開始。 EASY E
    發(fā)表于 11-01 21:26

    【免費(fèi)試用EASY EAI Nano-TB(RV1126B)開發(fā)套件評(píng)測(cè)

    EASY-EAI-Nano-TB是靈眸科技研發(fā)的一款應(yīng)用于AIoT領(lǐng)域的AIOT主板。核心板基于瑞芯微的RV1126B處理器設(shè)計(jì),并引入了新一代完全基于硬件的最大12M像素ISP(圖像信號(hào)處理器
    的頭像 發(fā)表于 09-23 08:09 ?1050次閱讀
    【免費(fèi)<b class='flag-5'>試用</b>】<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b> <b class='flag-5'>Nano</b>-TB(RV1126B)開發(fā)<b class='flag-5'>套件</b>評(píng)測(cè)

    【作品合集】靈眸科技EASY EAI Orin Nano(RK3576)開發(fā)板測(cè)評(píng)

    EASY EAI Orin Nano(RK3576)開發(fā)板試用體驗(yàn)】人臉識(shí)別體驗(yàn) 【EASY
    發(fā)表于 09-09 09:59

    EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】EASY-EAI-Toolkit人臉識(shí)別

    本篇使用算法組件實(shí)現(xiàn)人臉檢測(cè)。 一.準(zhǔn)備工作 1.首先使用到EASY-EAI-Toolkit組件,ubuntu掛載目錄下克隆git clone https://github.com/EASY-
    發(fā)表于 07-20 14:40

    EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】人臉識(shí)別提升

    【前言】【新提醒】【EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】人臉識(shí)別體驗(yàn) - EASY
    發(fā)表于 07-05 15:21

    EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】EASY-EAI-Toolkit初體驗(yàn)

    的軟件開發(fā)包,旨在簡(jiǎn)化 AI算法 的開發(fā)、轉(zhuǎn)換和部署過程。? EASY-EAI-Toolkit包含多種算法組件,如 人臉檢測(cè)人臉識(shí)別
    發(fā)表于 06-28 21:21

    EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】人臉識(shí)別體驗(yàn)

    /nfs -o nolock 【注】此處需要插上網(wǎng)線連上網(wǎng),要不提示連接服務(wù)器出錯(cuò)。 3、進(jìn)入人臉識(shí)別目錄,并執(zhí)行./build.sh編譯: root@EASY-EAI-ORIN-NANO:/home
    發(fā)表于 06-26 06:54

    EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】安裝nfs服務(wù)器

    /developer/nfsroot * developer@EASY-EAI-Develop:~$ 測(cè)試: 使用typec連上開發(fā)板后,執(zhí)行adb shell登錄開發(fā)板。 在Desktop中創(chuàng)建nfs 然后
    發(fā)表于 06-22 17:32

    EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】開發(fā)環(huán)境準(zhǔn)備

    【前言】 首先感謝電子發(fā)燒友論壇以及靈眸科技給示了我這次非常難得的【EASY EAI Orin Nano開發(fā)板試用體驗(yàn)】的機(jī)會(huì),在進(jìn)行評(píng)測(cè)之前首先需要?jiǎng)?chuàng)建開發(fā)環(huán)境。 靈眸科技有非常詳細(xì)
    發(fā)表于 06-22 16:42