91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

瑞芯微(EASY EAI)RV1126B 安全帽檢測

廣州靈眸科技有限公司 ? 2026-01-15 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 安全帽檢測簡介

安全帽佩戴檢測是工地、生產(chǎn)安全、安防的重中之重,但人為主觀檢測的方式時效性差且不能全程監(jiān)控。AI技術(shù)的日漸成熟催生了安全帽佩戴檢測方案,成為了監(jiān)督佩戴安全帽的利器。本安全帽檢測算法是一種基于深度學(xué)習(xí)的對人進(jìn)行檢測定位的目標(biāo)檢測,能有效用于產(chǎn)品落地。

本安全帽檢測算法在數(shù)據(jù)集表現(xiàn)如下所示

wKgZO2loSY6AOWwUAAAPRgrGVLw047.jpg

基于EASY-EAI-Nano-TB硬件主板的運(yùn)行效率:

wKgZO2loSY6AFwqaAAAPR5WXcgk377.jpg

2. 快速上手

2.1 開發(fā)環(huán)境準(zhǔn)備

如果您初次閱讀此文檔,請閱讀《入門指南/開發(fā)環(huán)境準(zhǔn)備/Easy-Eai編譯環(huán)境準(zhǔn)備與更新》,并按照其相關(guān)的操作,進(jìn)行編譯環(huán)境的部署。

在PC端Ubuntu系統(tǒng)中執(zhí)行run腳本,進(jìn)入EASY-EAI編譯環(huán)境,具體如下所示。

cd ~/develop_environment 
./run.sh 
wKgZPGkmcrqAUDHhAAGt1XOkqw8819.jpg

2.2 源碼下載

在EASY-EAI編譯環(huán)境下創(chuàng)建存放源碼倉庫的管理目錄:

cd /opt
mkdir EASY-EAI-Toolkit
cd EASY-EAI-Toolkit

通過git工具,在管理目錄內(nèi)克隆遠(yuǎn)程倉庫

git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-1126B.git
wKgZO2lgX0qAFDSLAADZOcsxKH0728.jpg

注:

* 此處可能會因網(wǎng)絡(luò)原因造成卡頓,請耐心等待。

* 如果實在要在gitHub網(wǎng)頁上下載,也要把整個倉庫下載下來,不能單獨下載本實例對應(yīng)的目錄。

2.3 模型部署

要完成算法Demo的執(zhí)行,需要先下載安全帽檢測算法模型。

百度網(wǎng)盤鏈接為:https://pan.baidu.com/s/1nGQCTpD_Bk4byxqILZSWwA?pwd=1234 (提取碼:1234 )。

wKgZPGloSY6ACTQMAAA5-bCvKCk577.jpg

同時需要把下載的人臉檢測算法模型復(fù)制粘貼到Release/目錄:

wKgZO2loSY6AI-gyAACd2RkCmkA712.jpg

2.4 例程編譯

進(jìn)入到對應(yīng)的例程目錄執(zhí)行編譯操作,具體命令如下所示:

cd EASY-EAI-Toolkit-1126B/Demos/algorithm-helmet/
./build.sh cpres

注:

* 由于依賴庫部署在板卡上,因此交叉編譯過程中必須保持/mnt掛載。

* 若build.sh腳本帶有cpres參數(shù),則會把Release/目錄下的所有資源都拷貝到開發(fā)板上。

wKgZPGloSY6ADixeAAHeT8sJZnw196.jpg

2.5 例程運(yùn)行及效果

通過串口調(diào)試或ssh調(diào)試,進(jìn)入板卡后臺,定位到例程部署的位置,如下所示:

cd /userdata/Demo/algorithm-helmet/
wKgZO2loSY6ATLBYAAAg70kRgT8604.jpg

運(yùn)行例程命令如下所示:

sudo ./test-helmet_detect helmet_detect.model test.jpg
wKgZO2loSY6AS9ypAAB8f2k0ZFI539.jpg

在EASY-EAI編譯環(huán)境可以取回測試圖片:

cp /mnt/userdata/Demo/algorithm-helmet/result.jpg .
wKgZPGloSY6AEbUJAABVYTTwDs0092.jpg

結(jié)果圖片如下所示:

wKgZPGloSY-ASWwwAALBMyvvqpc117.jpg

API的詳細(xì)說明,以及API的調(diào)用(本例程源碼),詳細(xì)信息見下方說明。

3. 安全帽檢測API說明

3.1 引用方式

為方便客戶在本地工程中直接調(diào)用我們的EASY EAI api庫,此處列出工程中需要鏈接的庫以及頭文件等,方便用戶直接添加。

wKgZPGloSY-ASI69AAAndc-9neA549.jpg

3.2 安全帽檢測初始化函數(shù)

安全帽檢測初始化函數(shù)原型如下所示。

int helmet_detect_init(rknn_context *ctx, const char * path)

具體介紹如下所示。

wKgZO2loSY-Ae8mZAAA2OBFmYYs529.jpg

3.3 安全帽檢測運(yùn)行函數(shù)

安全帽檢測運(yùn)行函數(shù)helmet_detect_run原型如下所示。

wKgZPGloSY-AF6kdAABIja6JThQ006.jpg

3.4 安全帽檢測釋放函數(shù)

安全帽檢測釋放函數(shù)原型如下所示。

int helmet_detect_release(rknn_context ctx)

具體介紹如下所示。

wKgZPGloSY-AZJUkAAAtFbNzIZw033.jpg

4. 安全帽檢測算法例程

例程目錄為Demos/algorithm-helmet/test-helmet_detect.cpp,操作流程如下。

wKgZO2loSY-ACef9AAAm1YEkeMY042.jpg

參考例程如下所示。

#include 
#include 
#include 
#include"helmet_detect.h"

using namespace cv;
using namespace std;

static Scalar colorArray[10]={
    Scalar(255, 0, 0, 255),
    Scalar(0, 255, 0, 255),
    Scalar(0,0,139,255),
    Scalar(0,100,0,255),
    Scalar(139,139,0,255),
    Scalar(209,206,0,255),
    Scalar(0,127,255,255),
    Scalar(139,61,72,255),
    Scalar(0,255,0,255),
    Scalar(255,0,0,255),
};

int plot_one_box(Mat src, int x1, int x2, int y1, int y2, char *label, char colour)
{
    int tl = round(0.002 * (src.rows + src.cols) / 2) + 1;
    rectangle(src, cv::Point(x1, y1), cv::Point(x2, y2), colorArray[(unsigned char)colour], 3);

    int tf = max(tl -1, 1);

    int base_line = 0;
    cv::Size t_size = getTextSize(label, FONT_HERSHEY_SIMPLEX, (float)tl/3, tf, &base_line);
    int x3 = x1 + t_size.width;
    int y3 = y1 - t_size.height - 3;

    rectangle(src, cv::Point(x1, y1), cv::Point(x3, y3), colorArray[(unsigned char)colour], -1);
    putText(src, label, cv::Point(x1, y1 - 2), FONT_HERSHEY_SIMPLEX, (float)tl/3, cv::Scalar(255, 255, 255, 255), tf, 8);
    return 0;
}

int main(int argc, char **argv)
{
	if (argc != 3)
    {
        printf("%s \n", argv[0]);
        return -1;
    }

    const char *model_path = argv[1];
    const char *image_path = argv[2];

	/* 參數(shù)初始化 */
	detect_result_group_t detect_result_group;

	/* 算法模型初始化 */
	rknn_context ctx;
	helmet_detect_init(&ctx, model_path);

	/* 算法運(yùn)行 */
	cv::Mat src;
	src = cv::imread(image_path, 1);

	struct timeval start;
	struct timeval end;
	float time_use=0;

	gettimeofday(&start,NULL); 

	helmet_detect_run(ctx, src, &detect_result_group);

	gettimeofday(&end,NULL);
	time_use=(end.tv_sec-start.tv_sec)*1000000+(end.tv_usec-start.tv_usec);//微秒
	printf("time_use is %f\n",time_use/1000);

	/* 算法結(jié)果在圖像中畫出并保存 */
	// Draw Objects
	char text[256];
	for (int i = 0; i < detect_result_group.count; i++) 
	{

		detect_result_t* det_result = &(detect_result_group.results[i]);
		if( det_result->prop < 0.4)
		{
			continue;
		}

		sprintf(text, "%s %.1f%%", det_result->name, det_result->prop * 100);
		printf("%s @ (%d %d %d %d) %f\n", det_result->name, det_result->box.left, det_result->box.top,
			   det_result->box.right, det_result->box.bottom, det_result->prop);
		int x1 = det_result->box.left;
		int y1 = det_result->box.top;
		int x2 = det_result->box.right;
		int y2 = det_result->box.bottom;
		/*
		rectangle(src, cv::Point(x1, y1), cv::Point(x2, y2), cv::Scalar(255, 0, 0, 255), 3);
		putText(src, text, cv::Point(x1, y1 + 12), cv::FONT_HERSHEY_SIMPLEX, 0.5, cv::Scalar(0, 0, 0));
		*/
		plot_one_box(src, x1, x2, y1, y2, text, i%10);
	} 

	cv::imwrite("result.jpg", src);	


	/* 算法模型空間釋放 */
	helmet_detect_release(ctx);

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

    關(guān)注

    88

    文章

    11754

    瀏覽量

    218994
  • 瑞芯微
    +關(guān)注

    關(guān)注

    27

    文章

    790

    瀏覽量

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

    關(guān)注

    4

    文章

    66

    瀏覽量

    3606
  • RV1126B
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    (EASY EAI)RV1126B 音頻輸入

    1.聲卡資源介紹EASY-EAI-Nano-TB僅有一塊由RV1126B主控輸出的聲卡。通過串口調(diào)試或ssh調(diào)試,可以進(jìn)入開發(fā)板終端。執(zhí)行aplay命令查看聲卡相關(guān)的詳細(xì)信息,如下所示
    的頭像 發(fā)表于 12-18 13:41 ?2353次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 音頻輸入

    (EASY EAI)RV1126B PWM使用

    1.PWM簡介1.1開發(fā)板PWM資源1.2查找PWM節(jié)點rv1126b的pwm資源表如下:【PWM1CH0】對應(yīng)的是pwm1_4ch_0,寄存地址為20700000?!綪WM1CH1】對應(yīng)
    的頭像 發(fā)表于 01-06 10:49 ?6551次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> PWM使用

    EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+初識篇

    Nano-TB是靈眸科技研發(fā)的一款應(yīng)用于AIoT領(lǐng)域的開發(fā)板,它基于RV1126B處理器,集成了4個Cortex-A53及獨立的NEON協(xié)處理器,它支持4K@30fps的H.
    發(fā)表于 10-25 22:06

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

    接上文【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】開箱測評 https://pan.baidu.com/s/15pnbJXPN5TrfV2KfsKaZyQ?pwd=1234 打開
    發(fā)表于 11-01 21:26

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

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

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

    0接上文【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】命令行功能測試-shell腳本進(jìn)行IO控制-紅綠燈項目-實現(xiàn)開機(jī)起動 EASYEAINano-TB(RV1126B
    發(fā)表于 11-03 10:00

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

    ,避免因接觸不良導(dǎo)致顯示或采集異常。 2 硬件解析:強(qiáng)勁AI核心與豐富接口 2.1 核心處理器性能 EASY EAI Nano-TB開發(fā)板的核心基于
    發(fā)表于 11-19 21:39

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

    ,并介紹了系統(tǒng)鏡像安裝部署的相關(guān)流程。 介紹 EASY-EAI-Nano-TB是靈眸科技研發(fā)的一款應(yīng)用于AIoT領(lǐng)域的AIOT主板。 核心板基于
    發(fā)表于 12-23 18:05

    基于RV1126開發(fā)板實現(xiàn)安全帽檢測方案

    RV1126開發(fā)板上實現(xiàn)安全帽檢測:在圖像中找出人頭/安全帽。 方案設(shè)計邏輯流程圖,方案代碼分為分為兩個業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像,算法代碼負(fù)責(zé)
    的頭像 發(fā)表于 04-21 09:20 ?872次閱讀
    基于<b class='flag-5'>RV1126</b>開發(fā)板實現(xiàn)<b class='flag-5'>安全帽</b><b class='flag-5'>檢測</b>方案

    RV1126系列選型指南:從RV1126RV1126B,一文看懂升級差異

    2025年7月,正式發(fā)布新一代AI視覺芯片RV1126B。作為其金牌方案商,EASYEAI靈眸科技同步推出搭載該芯片的AIoT核心板EAI11
    的頭像 發(fā)表于 09-04 10:50 ?4492次閱讀
    <b class='flag-5'>RV1126</b>系列選型指南:從<b class='flag-5'>RV1126</b>到<b class='flag-5'>RV1126B</b>,一文看懂升級差異

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

    EASY-EAI-Nano-TB是靈眸科技研發(fā)的一款應(yīng)用于AIoT領(lǐng)域的AIOT主板。核心板基于RV1126B處理器設(shè)計,并引入了新
    的頭像 發(fā)表于 09-23 08:09 ?1039次閱讀
    【免費(fèi)試用】<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b> Nano-TB(<b class='flag-5'>RV1126B</b>)開發(fā)套件評測

    RV1126B特性概述

    RV1126BRockchip在2025年第二季度全新推出的Arm架構(gòu)AI視覺芯片,搭載4核Cortex-A53與自研3Tops算力NPU。全面替代上一代的
    的頭像 發(fā)表于 10-09 11:22 ?1766次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RV1126B</b>特性概述

    替代升級實錘!實測RV1126B,CPU性能吊打RV1126

    AI智能芯片迭代提速,推出了全新的Arm架構(gòu)AI視覺芯片RV1126B,是否替換RV1126,CPU性能是擠牙膏還是大突破。帶著這些核
    的頭像 發(fā)表于 12-11 17:13 ?2215次閱讀
    替代升級實錘!實測<b class='flag-5'>RV1126B</b>,CPU性能吊打<b class='flag-5'>RV1126</b>

    ElfBoard新品發(fā)布|【RV1126B】ELF-RV1126B開發(fā)板正式發(fā)布

    ELF-RV1126B開發(fā)板基于RV1126B處理器設(shè)計,集成四核ARMCortex-A53架構(gòu),主頻達(dá)1.6GHz,并內(nèi)置3TOPS
    的頭像 發(fā)表于 01-16 16:59 ?2962次閱讀
    ElfBoard新品發(fā)布|【<b class='flag-5'>RV1126B</b>】ELF-<b class='flag-5'>RV1126B</b>開發(fā)板正式發(fā)布

    (EASY EAI)RV1126B 人體關(guān)鍵點識別

    的特點。本人員檢測算法在數(shù)據(jù)集表現(xiàn)如下所示:基于EASY-EAI-Nano-TB(RV1126B)硬件主板的運(yùn)行效率:17個人體關(guān)鍵點索引定義:2.快速上手2.1開發(fā)
    的頭像 發(fā)表于 01-23 10:13 ?2134次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 人體關(guān)鍵點識別