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

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

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

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

OpenVINO2021.4版本中場景文字檢測與識別模型的推理使用

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 作者: 賈志剛 ? 2021-08-26 15:01 ? 次閱讀

場景文字檢測與識別模型

OpenVINO2021.4支持場景文字檢測是基于MobileNetV2的PixelLink模型,模型有兩個分別是text-detection-0003與text-detection-0004。以text-detection-0003模型為例它有兩個輸出,分別是分割輸出與bounding Boxes輸出

下面是基于VGG16作為backbone實(shí)現(xiàn)的PixelLink的模型。

最終得到輸出text/notext的mask區(qū)域,對mask區(qū)域簡單處理之后就會得到每個場景文字區(qū)域的ROI。關(guān)于后處理,再后續(xù)的會有詳細(xì)代碼演示。OpenVINO2021.4不僅支持場景文字的檢測還支持場景文字的識別,支持場景文字識別的模型是基于VGG16+雙向LSTM,識別0~9與26個字符加空白,并且非大小寫敏感!

模型輸入與輸出格式

PixelLink場景文字檢測模型的輸入與輸出格式如下:

輸入格式:1x3x768x1280 BGR彩色圖像

輸出格式:

name: “model/link_logits_/add”, [1x16x192x320] – pixelLink的輸出

name: “model/segm_logits/add”, [1x2x192x320] – 像素分類text/no text

圖-3文本識別模型的輸入與輸出格式如下:

輸入格式:1x1x32x120

輸出格式:30, 1, 37

輸出解釋是基于CTC貪心解析方式。

其中37字符集長度,字符集為:

0123456789abcdefghijklmnopqrstuvwxyz#

#表示空白。

同步與異步推理

在OpenVINO的IE推理模塊相關(guān)SDK支持同步與異步推理模型,同步的意思是阻塞直到返回結(jié)果, 異步就是調(diào)用推理之后直接返回,接受到處理完成通知之后再解析輸出,相比同步方式,異步推理更加適合視頻流多路推理的方式。異步推理的執(zhí)行方式大致如下:

// start the async infer request (puts the request to the queue and immediately returns)

async_infer_request-》StartAsync();

// here you can continue execution on the host until results of the current request are really needed

//。。。

async_infer_request.Wait(IInferRequest::RESULT_READY);

auto output = async_infer_request.GetBlob(output_name);

場景文字檢測代碼演示

OpenVINO2021.4中場景文字檢測的,以text-detection-0003為例。加載模型文件與獲取推理請求等與之前的保持一致,無需再說,這里主要是PixelLink模型的輸出解析部分,它的解析部分代碼如下:

cv::Mat mask = cv::Size(out_w, out_h), CV_8U);

int step = out_h*out_w;

for (int row = 0; row 《 out_h; row++) {

for (int col = 0; col 《 out_w; col++) {

float p1 = detection_out[row*out_w + col];

float p2 = detection_out[step + row*out_w + col]; // text

if (p2》1.0) {

mask.at《uchar》(row, col) = 255;

}

}

}

cv::resize(mask, mask, cv::Size(im_w, im_h));

std::vector《std::vector《cv::Point》》 contours;

cv::findContours(mask, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);

對輸出的Mask數(shù)據(jù),完成text與非text的分類,得到二值圖象,然后對二值圖象完成輪廓發(fā)現(xiàn),根據(jù)輪廓發(fā)現(xiàn)的的結(jié)果輸出最大/最小外接矩形,得到每個Text區(qū)域的檢測結(jié)果,最終模型的運(yùn)行結(jié)果如下:

場景文字識別代碼演示

場景文字識別是基于場景文字檢測模型輸出得到的TEXT區(qū)域作為輸入,基于灰度圖象預(yù)測輸出,使用text-recognition-0012模型。關(guān)于模型加載、輸入與輸出設(shè)置同樣不再贅述,檢測得到TEXT的ROI作為輸入,推理與預(yù)測文字及顯示的代碼如下:

auto reco_output = reco_request.GetBlob(reco_output_name);

const float* blob_out = static_cast《PrecisionTrait《Precision::FP32》::value_type*》(reco_output-》buffer());

const SizeVector reco_dims = reco_output-》getTensorDesc().getDims();

const int RW = reco_dims[0];

const int RB = reco_dims[1];

const int RL = reco_dims[2];

std::string ocr_txt = ctc_decode(blob_out, RW, RL);

std::cout 《《 ocr_txt 《《 std::endl;

cv::putText(src, ocr_txt, box.tl(), cv::FONT_HERSHEY_PLAIN, 1.0, cv::Scalar(255, 0, 0), 1);

其中RWxRBxRL=30x1x37,CTC解析的函數(shù)ctc_decode實(shí)現(xiàn)代碼如下:

std::string ctc_decode(const float* blob_out, int seq_w, int seq_l) {

printf(“seq width: %d, seq length: %d ”, seq_w, seq_l);

std::string res = “”;

bool prev_pad = false;

const int num_classes = alphabet.length();

int seq_len = seq_w*seq_l;

for (int i = 0; i 《 seq_w; i++) {

int argmax = 0;

int max_prob = blob_out[i*seq_l];

for (int j = 0; j 《num_classes; j++) {

if (blob_out[i*seq_l + j] 》 max_prob) {

max_prob = blob_out[i*seq_l + j];

argmax = j;

}

}

auto symbol = alphabet[argmax];

if (symbol == ‘#’) {

prev_pad = true;

}

else {

if (res.empty() || prev_pad || (!res.empty() && symbol != res.back())) {

prev_pad = false;

res += symbol;

}

}

}

return res;

}

解析過程就是對得到二維矩陣30x37,按行先做argmax,然后再去掉重復(fù),最終得到預(yù)測生成的text文本返回。

總結(jié)

本文主要講述了OpenVINO2021.4版本中場景文字檢測與識別模型的推理使用,以及同步與異步推理的的基本概念。特別值得注意的是場景文字識別模型是基于灰度圖象不是RGB彩色圖象,如果搞錯這點(diǎn)就會得到錯誤的文本預(yù)測結(jié)果。

編輯:jq

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

    關(guān)注

    4

    文章

    798

    瀏覽量

    58394
  • 識別
    +關(guān)注

    關(guān)注

    3

    文章

    173

    瀏覽量

    31950
  • vgg
    vgg
    +關(guān)注

    關(guān)注

    1

    文章

    11

    瀏覽量

    5185
  • LSTM
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    3738

原文標(biāo)題:OpenVINO? 場景文字識別與同步與異步推理

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

收藏 人收藏

    評論

    相關(guān)推薦

    使用vLLM+OpenVINO加速大語言模型推理

    隨著大語言模型的廣泛應(yīng)用,模型的計算需求大幅提升,帶來推理時延高、資源消耗大等挑戰(zhàn)。
    的頭像 發(fā)表于 11-15 14:20 ?257次閱讀
    使用vLLM+<b class='flag-5'>OpenVINO</b>加速大語言<b class='flag-5'>模型</b><b class='flag-5'>推理</b>

    高效大模型推理綜述

    模型由于其在各種任務(wù)中的出色表現(xiàn)而引起了廣泛的關(guān)注。然而,大模型推理的大量計算和內(nèi)存需求對其在資源受限場景的部署提出了挑戰(zhàn)。業(yè)內(nèi)一直在努力開發(fā)旨在提高大
    的頭像 發(fā)表于 11-15 11:45 ?246次閱讀
    高效大<b class='flag-5'>模型</b>的<b class='flag-5'>推理</b>綜述

    使用OpenVINO Model Server在哪吒開發(fā)板上部署模型

    OpenVINO Model Server(OVMS)是一個高性能的模型部署系統(tǒng),使用C++實(shí)現(xiàn),并在Intel架構(gòu)上的部署進(jìn)行了優(yōu)化,使用OpenVINO 進(jìn)行推理
    的頭像 發(fā)表于 11-01 14:19 ?202次閱讀
    使用<b class='flag-5'>OpenVINO</b> Model Server在哪吒開發(fā)板上部署<b class='flag-5'>模型</b>

    FPGA和ASIC在大模型推理加速中的應(yīng)用

    隨著現(xiàn)在AI的快速發(fā)展,使用FPGA和ASIC進(jìn)行推理加速的研究也越來越多,從目前的市場來說,有些公司已經(jīng)有了專門做推理的ASIC,像Groq的LPU,專門針對大語言模型推理做了優(yōu)化
    的頭像 發(fā)表于 10-29 14:12 ?217次閱讀
    FPGA和ASIC在大<b class='flag-5'>模型</b><b class='flag-5'>推理</b>加速中的應(yīng)用

    使用OpenVINO C++在哪吒開發(fā)板上推理Transformer模型

    OpenVINO 是一個開源工具套件,用于對深度學(xué)習(xí)模型進(jìn)行優(yōu)化并在云端、邊緣進(jìn)行部署。它能在諸如生成式人工智能、視頻、音頻以及語言等各類應(yīng)用場景中加快深度學(xué)習(xí)推理的速度,且支持來自
    的頭像 發(fā)表于 10-12 09:55 ?284次閱讀
    使用<b class='flag-5'>OpenVINO</b> C++在哪吒開發(fā)板上<b class='flag-5'>推理</b>Transformer<b class='flag-5'>模型</b>

    澎峰科技高性能大模型推理引擎PerfXLM解析

    模型的高性能推理框架,并受到廣泛關(guān)注。在歷經(jīng)數(shù)月的迭代開發(fā)后,澎峰科技重磅發(fā)布升級版本,推出全新的高性能大模型推理引擎:PerfXLM。
    的頭像 發(fā)表于 09-29 10:14 ?395次閱讀
    澎峰科技高性能大<b class='flag-5'>模型</b><b class='flag-5'>推理</b>引擎PerfXLM解析

    三行代碼完成生成式AI部署

    OpenVINO2024.2版本跟之前版本最大的不同是OpenVINO2024.2分為兩個安裝包分別是基礎(chǔ)包與生成式AI支持包,新發(fā)布的GenAI開發(fā)包支持C++與Python語言接口
    的頭像 發(fā)表于 08-30 16:49 ?385次閱讀
    三行代碼完成生成式AI部署

    OpenVINO 2024.2版本亮點(diǎn)解析

    看到更多的機(jī)會。其中一種場景是人工智能助手,它能夠生成文本(郵件草稿、文檔摘要、文檔內(nèi)容的答案等等)。這一切都由 LLM(大型語言模型)和不斷增長的 SLM(小型語言模型)系列提供支持。
    的頭像 發(fā)表于 08-16 15:26 ?297次閱讀

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開發(fā)的使用習(xí)慣與推理
    的頭像 發(fā)表于 07-26 09:20 ?801次閱讀

    OpenVINO C# API在intel平臺部署YOLOv10目標(biāo)檢測模型

    模型設(shè)計策略,從效率和精度兩個角度對YOLOs的各個組成部分進(jìn)行了全面優(yōu)化,大大降低了計算開銷,增強(qiáng)了性能。在本文中,我們將結(jié)合OpenVINO C# API使用最新發(fā)布的OpenVINO 2024.1部署YOLOv10目標(biāo)
    的頭像 發(fā)表于 06-21 09:23 ?952次閱讀
    用<b class='flag-5'>OpenVINO</b> C# API在intel平臺部署YOLOv10目標(biāo)<b class='flag-5'>檢測</b><b class='flag-5'>模型</b>

    【大語言模型:原理與工程實(shí)踐】大語言模型的應(yīng)用

    設(shè)計提示詞時,需要明確輸出需求,以便得到滿意的結(jié)果。 推理引導(dǎo)如前文所述,提示工程對于訓(xùn)練大語言模型的逐步推理能力至關(guān)重要。零樣提示大語言模型
    發(fā)表于 05-07 17:21

    YOLOv8+PyQT5打造細(xì)胞計數(shù)與識別應(yīng)用說明

    YOLOv8對象檢測模型基于自定義數(shù)據(jù)集訓(xùn)練紅白細(xì)胞檢測模型,然后通過工具導(dǎo)出模型為ONNX,基于Ope
    的頭像 發(fā)表于 01-15 17:22 ?1088次閱讀
    YOLOv8+PyQT5打造細(xì)胞計數(shù)與<b class='flag-5'>識別</b>應(yīng)用說明

    基于OpenVINO和AIxBoard的智能安檢盒子設(shè)計

    公共安全問題日益凸顯,傳統(tǒng)安檢手段面臨挑戰(zhàn)。為提高安檢效率和保障公共安全,基于 OpenVINO 和 AIxBoard 的智能安檢盒子應(yīng)運(yùn)而生。利用深度學(xué)習(xí)模型和 X 光圖像處理技術(shù),該設(shè)備能夠?qū)崟r識別危險物品并發(fā)出警報,為公共
    的頭像 發(fā)表于 12-25 11:14 ?512次閱讀
    基于<b class='flag-5'>OpenVINO</b>和AIxBoard的智能安檢盒子設(shè)計

    HarmonyOS:使用MindSpore Lite引擎進(jìn)行模型推理

    場景介紹 MindSpore Lite 是一款 AI 引擎,它提供了面向不同硬件設(shè)備 AI 模型推理的功能,目前已經(jīng)在圖像分類、目標(biāo)識別、人臉識別
    發(fā)表于 12-14 11:41

    如何快速下載OpenVINO Notebooks中的AI大模型

    OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便開發(fā)者快速學(xué)習(xí)并掌握OpenVINO推理程序,并通過Copy&Paste
    的頭像 發(fā)表于 12-12 14:40 ?1082次閱讀
    如何快速下載<b class='flag-5'>OpenVINO</b> Notebooks中的AI大<b class='flag-5'>模型</b>