在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

解析OpenVINO? + SSD 實(shí)時(shí)對(duì)象檢測(cè)

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 作者:英特爾物聯(lián)網(wǎng) ? 2021-05-18 09:35 ? 次閱讀

前面我們了解OpenVINO 如何部署圖像分類網(wǎng)絡(luò)ResNet,本文我們將會(huì)學(xué)習(xí)OpenVINO 中對(duì)象檢測(cè)網(wǎng)絡(luò)的部署與推理應(yīng)用。說到對(duì)象檢測(cè)網(wǎng)絡(luò),我們首先需要理解兩個(gè)概念:對(duì)象檢測(cè)與對(duì)象檢測(cè)網(wǎng)絡(luò)。

SSD對(duì)象檢測(cè)模型

對(duì)象檢測(cè)是計(jì)算機(jī)視覺核心任務(wù)之一,也是最常見與應(yīng)用最廣泛的視覺場景。OpenVINO 已經(jīng)提供了以下通用場景下的對(duì)象檢測(cè)包括人臉檢測(cè)、行人檢測(cè)、物體檢測(cè)、車輛檢測(cè)、車牌檢測(cè)等,一個(gè)圖像對(duì)象檢測(cè)顯示示意圖如下:

圖-1(來自SSD論文)

相比圖像分類,對(duì)象檢測(cè)多了每個(gè)對(duì)象位置信息,所以簡單的認(rèn)為對(duì)象檢測(cè)=圖像分類+Box位置信息。第一個(gè)深度學(xué)習(xí)相關(guān)的對(duì)象檢測(cè)網(wǎng)絡(luò)正是基于這樣思想的RCNN模型,但是它的缺點(diǎn)是無法實(shí)時(shí),所以2015年底有人提出了一個(gè)實(shí)時(shí)對(duì)象檢測(cè)網(wǎng)絡(luò)Single Shot MultiBox Detector縮寫為SSD。它的模型結(jié)構(gòu)如下:

23b73396-b4ff-11eb-bf61-12bb97331649.png

圖2(來自SSD論文)

圖2中SSD對(duì)象檢測(cè)網(wǎng)絡(luò)簡單說可以分為三個(gè)部分:

- 基礎(chǔ)網(wǎng)絡(luò)(backbone) 這里為VGG16

- 特征提取Neck,構(gòu)建多尺度特征

- 檢測(cè)頭 – 非最大抑制與輸出

OpenVINO 中模型庫自帶預(yù)訓(xùn)練的人臉檢測(cè)網(wǎng)絡(luò)有很多,分別針對(duì)不同的應(yīng)用場景與輸入分辨率。這里我們以face-detection-0202人臉檢測(cè)模型為例說明,它是一個(gè)MobileNetV2作為基礎(chǔ)網(wǎng)絡(luò)的SSD對(duì)象檢測(cè)模型,模型支持的輸入圖像大小與格式如下:

NCHW=1x3x384x384其中

N表示圖像數(shù)目,這里為1

C表示輸入圖像通道數(shù)目,這里彩色圖像為3

H表示圖像高度

W表示圖像寬度

期望的圖像通道順序:BGR

23f26fa6-b4ff-11eb-bf61-12bb97331649.png

圖-3

模型推理計(jì)算得輸出格式為:

1x1xNx7其中

N表示檢測(cè)到的對(duì)象數(shù)目

7表示[image_id, label, conf, x_min, y_min, x_max, y_max]這七個(gè)值,其中

Image_id 表示圖像編號(hào),這個(gè)輸入的是一張圖像,base為0

Label 表示標(biāo)簽,跟數(shù)據(jù)集的label_map文本文件相關(guān),根據(jù)標(biāo)簽編號(hào)可以查找標(biāo)簽文本名

Conf 表示對(duì)象的置信度,取值范圍在0~1之間,值越大表示置信程度越高

x_min, y_min, x_max, y_max 四個(gè)值對(duì)象位置信息,分別是左上角與有下角的坐標(biāo)

該模型的相關(guān)性能參數(shù)如下:

圖-4

從上面我們可以知道模型來自Pytorch訓(xùn)練生成。

OpenVINO基于SSD模型實(shí)時(shí)人臉檢測(cè)

現(xiàn)在我們已經(jīng)了解SSD模型的基本網(wǎng)絡(luò)結(jié)構(gòu),OpenVINO 自帶SSD人臉檢測(cè)模型face-detection-0202的輸入與輸出相關(guān)格式與參數(shù)細(xì)節(jié)信息,這里我們就基于該模型使用OpenVINO 中的推理引擎模型實(shí)現(xiàn)一個(gè)實(shí)時(shí)人臉檢測(cè)應(yīng)用,根據(jù)之前的內(nèi)容,我們首先需要加載模型,相關(guān)代碼如下:

// 加載檢測(cè)模型

auto network = ie.ReadNetwork(model_xml, model_bin);

其中

model_xml表示face-detection-0202模型文件

model_bin表示face-detection-0202權(quán)重文件

然后設(shè)置模型的輸入與輸出相關(guān)的格式,代碼如下:

// 請(qǐng)求網(wǎng)絡(luò)輸入與輸出信息

InferenceEngine::InputsDataMap input_info(network.getInputsInfo());

InferenceEngine::OutputsDataMap output_info(network.getOutputsInfo());

// 設(shè)置輸入格式

for (auto &item : input_info) {

auto input_data = item.second;

input_data->setPrecision(Precision::U8);

input_data->setLayout(Layout::NCHW);

}

printf("get it ");

// 設(shè)置輸出格式

for (auto &item : output_info) {

auto output_data = item.second;

output_data->setPrecision(Precision::FP32);

}

加載可執(zhí)行網(wǎng)絡(luò),創(chuàng)建推理請(qǐng)求對(duì)象實(shí)例,代碼如下:

// 創(chuàng)建可執(zhí)行網(wǎng)絡(luò)對(duì)象

auto executable_network = ie.LoadNetwork(network, "CPU");

// 請(qǐng)求推斷圖

auto infer_request = executable_network.CreateInferRequest();

設(shè)置推理輸入圖像數(shù)據(jù),轉(zhuǎn)換為NCHW格式的blob數(shù)據(jù),代碼如下:

/** Getting input blob **/

auto input = infer_request.GetBlob(input_name);

size_t num_channels = input->getTensorDesc().getDims()[1];

size_t h = input->getTensorDesc().getDims()[2];

size_t w = input->getTensorDesc().getDims()[3];

size_t image_size = h*w;

Mat blob_image;

resize(src, blob_image, Size(w, h));

// NCHW

unsigned char* data = static_cast(input->buffer());

for (size_t row = 0; row < h; row++) {

for (size_t col = 0; col < w; col++) {

for (size_t ch = 0; ch < num_channels; ch++) {

data[image_size*ch + row*w + col] = blob_image.at(row, col)[ch];

}

}

}

預(yù)測(cè)與解析輸出結(jié)果,代碼如下:

// 執(zhí)行預(yù)測(cè)

infer_request.Infer();

// 處理輸出結(jié)果

for (auto &item : output_info) {

auto output_name = item.first;

// 獲取輸出數(shù)據(jù)

auto output = infer_request.GetBlob(output_name);

const float* detection = static_cast::value_type*>(output->buffer());

const SizeVector outputDims = output->getTensorDesc().getDims();

const int maxProposalCount = outputDims[2];

const int objectSize = outputDims[3];

// 解析輸出結(jié)果

for (int curProposal = 0; curProposal < maxProposalCount; curProposal++) {

float label = detection[curProposal * objectSize + 1];

float confidence = detection[curProposal * objectSize + 2];

float xmin = detection[curProposal * objectSize + 3] * image_width;

float ymin = detection[curProposal * objectSize + 4] * image_height;

float xmax = detection[curProposal * objectSize + 5] * image_width;

float ymax = detection[curProposal * objectSize + 6] * image_height;

if (confidence > 0.5) {

printf("label id : %d ", static_cast(label));

Rect rect;

rect.x = static_cast(xmin);

rect.y = static_cast(ymin);

rect.width = static_cast(xmax - xmin);

rect.height = static_cast(ymax - ymin);

putText(src, "OpenVINO-2021R02", Point(20, 20), FONT_HERSHEY_SIMPLEX, 0.75, Scalar(0, 0, 255), 2, 8);

rectangle(src, rect, Scalar(0, 255, 255), 2, 8, 0);

}

std::cout << std::endl;

}

}

imshow("OpenVINO+SSD人臉檢測(cè)", src);

最終顯示結(jié)果如下:

圖-5

總結(jié)

本文我們完成了OpenVINO 人臉檢測(cè)模型的推理調(diào)用演示,關(guān)鍵知識(shí)點(diǎn)在于模型的輸入與輸出格式,以及推理以后的模型輸出數(shù)據(jù)的解析方式。到這里大家希望借助OpenVINO 實(shí)現(xiàn)一個(gè)視頻版本的人臉檢測(cè),沒關(guān)系,下一次我們將來完成這樣的事情……

編輯:jq

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

    關(guān)注

    21

    文章

    2930

    瀏覽量

    118893
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4876

    瀏覽量

    69954
  • 人臉檢測(cè)
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    16703
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5544

    瀏覽量

    122269
  • resnet
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    3270

原文標(biāo)題:OpenVINO? + SSD 實(shí)時(shí)對(duì)象檢測(cè)

文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    SSD300模型轉(zhuǎn)換為IR時(shí)收到錯(cuò)誤的原因?

    SSD300 模型轉(zhuǎn)換為 IR 時(shí)收到錯(cuò)誤: [ FRAMEWORK ERROR ] Model Optimizer is not able to parse /OpenVINO
    發(fā)表于 03-07 07:58

    使用OpenVINO?模型的OpenCV進(jìn)行人臉檢測(cè)檢測(cè)到多張人臉時(shí),伺服電機(jī)和步入器電機(jī)都發(fā)生移動(dòng)是為什么?

    使用OpenVINO?模型的 OpenCV* 進(jìn)行人臉檢測(cè)。 使用 cv2.矩形 函數(shù),能夠獲取檢測(cè)到的面部的坐標(biāo)。 檢測(cè)到多張人臉時(shí),多個(gè)坐標(biāo)被捕獲到,伺服電機(jī)和步入器電機(jī)都發(fā)生移
    發(fā)表于 03-07 06:35

    如何部署OpenVINO?工具套件應(yīng)用程序?

    編寫代碼并測(cè)試 OpenVINO? 工具套件應(yīng)用程序后,必須將應(yīng)用程序安裝或部署到生產(chǎn)環(huán)境中的目標(biāo)設(shè)備。 OpenVINO?部署管理器指南包含有關(guān)如何輕松使用部署管理器將應(yīng)用程序打包并部署到目標(biāo)主機(jī)的詳細(xì)信息。 注意:OpenVIN
    發(fā)表于 03-06 08:23

    使用OpenVINO? 2021.4在CPU和MYRIAD上進(jìn)行自定義對(duì)象檢測(cè),為什么結(jié)果差異巨大?

    使用自定義訓(xùn)練的模型執(zhí)行推理,以便在 2021.4 OpenVINO?中進(jìn)行人員檢測(cè)。 與 MYRIAD 相比,CPU 的輸出結(jié)果取得了巨大的差異
    發(fā)表于 03-06 07:45

    為什么深度學(xué)習(xí)中的Frame per Second高于OpenVINO?演示推理腳本?

    在 DL Workbench 上使用 Microsoft 通用對(duì)象上下文 (MS COCO) 數(shù)據(jù)集運(yùn)行 YOLOv4 對(duì)象檢測(cè)模型,并獲得 50 - 60 FPS。 OpenVINO
    發(fā)表于 03-06 07:27

    如何使用OpenVINO?運(yùn)行對(duì)象檢測(cè)模型?

    無法確定如何使用OpenVINO?運(yùn)行對(duì)象檢測(cè)模型
    發(fā)表于 03-06 07:20

    請(qǐng)問是否有任何OpenVINO?樣本可以推斷批次大小大于1的檢測(cè)模型?

    是否有任何OpenVINO?樣本可以推斷批次大小大于 1 的檢測(cè)模型?
    發(fā)表于 03-06 07:19

    使用Yolo-v3-TF運(yùn)行OpenVINO?對(duì)象檢測(cè)Python演示時(shí)的結(jié)果不準(zhǔn)確的原因?

    的模型與對(duì)象檢測(cè) Python* Demo 配合使用時(shí)無法檢測(cè)對(duì)象: python3 open_model_zoo/demos/object_detection_demo/python
    發(fā)表于 03-06 06:31

    無法在Windows Subsystem for Linux 2上使用對(duì)象檢測(cè)Python演示運(yùn)行YoloV4模型?

    在 WSL2 上運(yùn)行對(duì)象檢測(cè) python 演示。 使用 CPU 運(yùn)行 object_detection_demo.py 時(shí)遇到錯(cuò)誤: OpenCV: FFMPEG: tag
    發(fā)表于 03-05 08:43

    安裝OpenVINO? 2023.2使用pip install openvino-dev命令的開發(fā)工具后報(bào)錯(cuò)怎么解決?

    安裝OpenVINO? 2023.2 使用 pip install openvino-dev 命令的開發(fā)工具。 遇到錯(cuò)誤: ModuleNotFoundError: 沒有名為 \'distutils\' 的模塊
    發(fā)表于 03-05 08:39

    為什么無法檢測(cè)OpenVINO?工具套件中的英特爾?集成圖形處理單元?

    在 Ubuntu* Desktop 22.04 上安裝了 英特爾? Graphics Driver 版本并OpenVINO? 2023.1。 運(yùn)行 python 代碼: python -c
    發(fā)表于 03-05 08:36

    使用OpenVINO?訓(xùn)練擴(kuò)展對(duì)水平文本檢測(cè)模型進(jìn)行微調(diào),收到錯(cuò)誤信息是怎么回事?

    已針對(duì)水平文本檢測(cè)模型運(yùn)行OpenVINO?訓(xùn)練擴(kuò)展中的 微調(diào) 步驟,并收到錯(cuò)誤消息: RuntimeError: Failed to find annotation files
    發(fā)表于 03-05 06:48

    OpenVINO?檢測(cè)到GPU,但網(wǎng)絡(luò)無法加載到GPU插件,為什么?

    OpenVINO?安裝在舊的 Windows 10 版本 Windows? 10 (RS1) 上。 已安裝 GPU 驅(qū)動(dòng)程序版本 25.20.100.6373,檢測(cè)到 GPU,但網(wǎng)絡(luò)無法加載
    發(fā)表于 03-05 06:01

    使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

    的快速準(zhǔn)確識(shí)別,并通過AR技術(shù)將虛擬元素與真實(shí)場景相結(jié)合,為用戶帶來沉浸式的交互體驗(yàn)。在本文中,我們將結(jié)合OpenVINO C# API使用最新發(fā)布的OpenVINO 2024.0部署 YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯
    的頭像 發(fā)表于 08-30 16:27 ?1295次閱讀
    使用<b class='flag-5'>OpenVINO</b> C# API部署YOLO-World實(shí)現(xiàn)<b class='flag-5'>實(shí)時(shí)</b>開放詞匯<b class='flag-5'>對(duì)象</b><b class='flag-5'>檢測(cè)</b>

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開發(fā)的使用習(xí)慣與推理方式。與OpenCV的Mat對(duì)象對(duì)接方式
    的頭像 發(fā)表于 07-26 09:20 ?1332次閱讀
    主站蜘蛛池模板: 亚洲色图17p | 国产男女怕怕怕免费视频 | 一区二区三区无码高清视频 | 亚洲精品久久片久久 | 国产日韩欧美综合色视频在线 | 久久精品re | 四虎最新永久免费网址 | 优优国产在线视频 | 国产激情在线观看 | 欧美性一区二区三区五区 | 老湿成人影院 | 四虎网址大全 | 成人免费淫片95视频观看网站 | 性夜影院爽黄a爽免费视频 性瘾高h姚蕊全文免费阅读 | 欧美另类激情 | 中国特黄毛片 | 午夜一级免费视频 | 免费a级网站 | 久久第一页| 国产一级特黄aa大片在线 | 手机在线完整视频免费观看 | 久久精品免费视频观看 | 91亚洲国产成人久久精品网站 | 狠狠色噜噜狠狠狠狠999米奇 | 酒色网址 | 97久久草草超级碰碰碰 | 被暗卫肉高h | 日本亚洲视频 | 国产精品午夜剧场 | 欧美黑人5o厘米全进去 | 国产偷窥女洗浴在线观看亚洲 | 国产一级特黄高清免费大片 | 亚洲天堂首页 | 中文字幕一区二区三区在线播放 | 加勒比精品久久一区二区三区 | 欧美日韩国产网站 | 亚洲第一香蕉视频 | 天天插天天射天天操 | 色综合网天天综合色中文男男 | 高清人人天天夜夜曰狠狠狠狠 | 欧美卡一卡二卡新区网站 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品