RM新时代网站-首页

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

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

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

使用deepstream-test的范例代碼修改車牌識(shí)別與遮蓋

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來源:NVIDIA英偉達(dá)企業(yè)解決方案 ? 作者:NVIDIA英偉達(dá)企業(yè)解 ? 2021-09-09 10:04 ? 次閱讀

前一篇文章提到使用deepstream-test的范例代碼,修改成“車牌識(shí)別”與“遮蓋(redaction)”的應(yīng)用,本文就直接帶著大家實(shí)現(xiàn)這兩個(gè)范例的實(shí)踐,但是并不花時(shí)間去解釋代碼內(nèi)容,因?yàn)榛竟ぷ髁髋c邏輯是大致相同的,就是需要開發(fā)人員能夠多做實(shí)驗(yàn)去熟悉每個(gè)插件直接的互動(dòng)關(guān)系。

redaction_with_deepstream項(xiàng)目

雖然名稱上的“redaction”是“修改”的意思,但這里執(zhí)行的效果其實(shí)就是識(shí)別視頻上的“私人信息”進(jìn)行遮蓋,主要包括“人臉”、“車牌”這些重要信息,因?yàn)榻陙碓絹碓蕉嗟木W(wǎng)上小視頻的播放,以及個(gè)人隱私保護(hù)程度高漲,內(nèi)容提供人如果沒有適度地遮蓋視頻中的隱私信息,很可能遭受到維權(quán)的法律訴訟。

因此這個(gè)項(xiàng)目雖然看起來并沒有太高深的技術(shù)含量,但是實(shí)用性非常強(qiáng),在Jetson Nano 2GB上用DeepStream直接幫視頻中需要遮蓋的信息,進(jìn)行全自動(dòng)化的處理,這樣就能減少非常多不必要的糾紛。

項(xiàng)目地址在https://github.com/NVIDIA-AI-IOT/redaction_with_deepstream,下面的簡(jiǎn)易流水線圖也相當(dāng)簡(jiǎn)單(如下圖)。

47c40dfe-10bc-11ec-8fb8-12bb97331649.png

不過比較有參考價(jià)值的流水線圖在“Pipeline Description”下面的兩張圖,將整個(gè)流水線的內(nèi)容說明的非常詳細(xì),強(qiáng)烈建議讀者自行下載去研究,這對(duì)于提升對(duì)DeepStream流水線的理解是很有幫助的,這部分能連貫起來之后就差不多有足夠的掌握程度。

項(xiàng)目執(zhí)行非常簡(jiǎn)單,執(zhí)行以下指令就可以:

cd 《deepstream主目錄》/sources/apps

git clone https://github.com/NVIDIA-AI-IOT/redaction_with_deepstream

cd redaction_with_deepstream && make

。/deepstream-reaction-app -c configs/pgie_config_fd_lpd.txt

如果你的Jetson設(shè)備上有安裝USB攝像頭,執(zhí)行之后應(yīng)該就會(huì)顯示攝像頭的畫面,看看人頭過去的時(shí)候是否會(huì)把臉遮???

打開 USB 攝像頭,對(duì)著電腦屏幕上播放的視頻進(jìn)行測(cè)試,左邊車牌用藍(lán)色色塊遮蓋,右邊人臉部分用黑色色塊遮蓋,假如對(duì)“遮蓋”的顏色不滿意,可以調(diào)整代碼中第109~111行與118~120行的設(shè)定值,就可以改變顏色。

您可以自行嘗試用視頻文件來做輸入,并將檢測(cè)的結(jié)果輸出成一個(gè)視頻文件,這部分的指令在開源項(xiàng)目?jī)?nèi)都有很詳細(xì)的說明。執(zhí)行完之后還會(huì)顯示本次檢測(cè)的實(shí)際性能,在Jetson Nano 2GB上的性能也能到達(dá)128FPS,非常好的表現(xiàn)

4829e30e-10bc-11ec-8fb8-12bb97331649.png

deepstream_lpr_app車牌識(shí)別項(xiàng)目

這個(gè)項(xiàng)目是個(gè)很經(jīng)典的檢測(cè)器(detector)與分類器(classifier)共同合作的項(xiàng)目

主檢測(cè)器還是使用原本的4類檢測(cè)器,其中有“car”類別

在圖像中檢測(cè)到Car之后,再?gòu)倪@個(gè)物體的范圍內(nèi)去尋找車牌,因此需要一個(gè)專門檢測(cè)車牌的次檢測(cè)器,這需要從NVIDA的NGC下載已經(jīng)訓(xùn)練好的模型,當(dāng)然您也可以自己重新收集車牌數(shù)據(jù)集然后重新訓(xùn)練。

當(dāng)檢測(cè)到車牌的時(shí)候,將車牌圖像送交分類器,將上面的字符逐個(gè)分離出來,最后回饋車牌的字符串。整個(gè)識(shí)別需要先找到“car”這個(gè)物體,如果您直接提供車牌的圖片,在這里是辨識(shí)不出來的。

這個(gè)項(xiàng)目提供“美國(guó)”與“中國(guó)”的lpd車牌識(shí)別模型與lpr字符分類模型,兩組是不能混用的。經(jīng)過測(cè)試,發(fā)現(xiàn)在“中國(guó)車牌”識(shí)別的模型中,應(yīng)該沒有將屬于電動(dòng)車的“綠色”車牌放進(jìn)去,因此這種車牌也是識(shí)別不出來的。

因?yàn)閐eepstream-app這個(gè)強(qiáng)大的工具,雖然提供“多檢測(cè)器”級(jí)聯(lián)的處理功能,但是沒有提供“檢測(cè)器與分類器”級(jí)聯(lián)的功能,因此必須自己撰寫代碼來實(shí)現(xiàn)這個(gè)功能。根據(jù)的代碼內(nèi)容的風(fēng)格判斷,應(yīng)該是以deepstream-test2范例為基礎(chǔ)進(jìn)行開發(fā)的。

接下來就用這個(gè)項(xiàng)目的“中文車牌”識(shí)別的部分,帶著大家復(fù)現(xiàn)一下,里面有些小坑,不過我們都已找到問題的答案,請(qǐng)按照一下步驟執(zhí)行:

1. 下載項(xiàng)目與模型:

git clone https://github.com/NVIDIA-AI-IOT/deepstream_lpr_app.git

cd deepstream_lpr_app

。/download_ch.sh

這會(huì)從NGC下載三個(gè)預(yù)訓(xùn)練的中文車牌識(shí)別模型文件,以及各自配套的設(shè)置文件,腳本為這些模型、配套文件都設(shè)置好對(duì)應(yīng)路徑,不需要修改:

1) 主檢測(cè)模型(四分類):resnet18_trafficcamnet_pruned.etlt

2) 次檢測(cè)模型(一分類):ccpd_pruned.etlt

3) 次分類模型:ch_lprnet_baseline18_deployable.etlt

2. 模型轉(zhuǎn)換:

前面下載的次分類模型(ch_lprnet_baseline18_deployable.etlt)是個(gè)中間文件,必須在目標(biāo)設(shè)備(這里是Jetson Nano 2GB)使用tlt-converter轉(zhuǎn)換成該設(shè)備能使用的TensorRT加速引擎,需要先到https://developer.nvidia.com/cuda102-trt71-jp45下載cuda10.2_trt7_jp45-xx.zip,解壓縮就能看到tlt-converter這個(gè)工具。

下載后執(zhí)行以下轉(zhuǎn)換指令:

。/tlt-converter -k nvidia_tlt

-p image_input,1x3x48x96,4x3x48x96,16x3x48x96

models/LP/LPR/ch_lprnet_baseline18_deployable.etlt

-t fp16 -e models/LP/LPR/lpr_ch_onnx_b16.engine

再次強(qiáng)調(diào),這個(gè)轉(zhuǎn)換步驟必須在目標(biāo)設(shè)備上執(zhí)行,例如在Xavier上所專換的加速引擎是不能復(fù)制到NX或Nano(含2GB)上使用。

3. 編譯與修改設(shè)定:

直接執(zhí)行以下指令:

cd deepstream_lpr_app # 進(jìn)入到主代碼的目錄中

make # 編譯

cp dict_ch.txt dict.txt # 處理中文版的字典

最后,中文版設(shè)定文件lpd_ccpd_config.txt里第52行“model-color-format”設(shè)定值改為“0”,這樣就能正常識(shí)別了。

4. 執(zhí)行:

這個(gè)步驟必須您自己去找到合適的視頻,或者自行錄制一小段視頻作為輸入,然后在這個(gè)目錄下執(zhí)行編譯好的執(zhí)行文件,在deepstream-lpr-app后面需要跟隨以下幾個(gè)參數(shù)

1. 識(shí)別種類:1 -》 美國(guó)車牌識(shí)別、2 -》 中國(guó)車牌識(shí)別

2. 輸出種類:1 -》 輸出h264視頻文件、2 -》 fakesink、3 -》 顯示到屏幕上

3. ROI開關(guān):0 -》 關(guān)閉、1 -》 開啟

4. 輸入文件:可以一次給多個(gè).mp4視頻文件

5. 最后一個(gè):指定輸出.h264視頻文件

例如:

。/deepstream-lpr-app 2 1 0 test1.mp4 test2.mp4 out.h264

下面是使用我們自行在停車場(chǎng)錄制的視頻、行車記錄儀、VisionWorks的范例,總共6個(gè)視頻文件作為輸入的測(cè)試結(jié)果,提供大家參考。

結(jié)語

本文的重點(diǎn)是要告訴大家,雖然使用deepstream-app調(diào)用設(shè)定文件的方式是很容易上手,但卻沒辦法解決一些特殊的應(yīng)用。

本文所介紹的兩個(gè)實(shí)用性非常高的應(yīng)用,就不能套用這種方式,必須自行撰寫代碼去執(zhí)行特殊的處理,分別基于deepstream-test1與deepstream-test2兩個(gè)C/C++范例去開發(fā),這給了初學(xué)者更開放的思路,不能只拘泥于deepstream-app設(shè)定文件的配置修改上,應(yīng)該回歸正途從DeepStream的插件流去解決問題。

下一篇文章我們將以NVIDIA在DeepStream 4.0版時(shí)所提供的一個(gè)Jupyter學(xué)習(xí)環(huán)境,更有條例與有效率地一步一步在deepstrem-test上添加功能,包括將輸出的視頻流透過RTSP/RTP裝向其他設(shè)備去顯示、多數(shù)據(jù)源輸入、多網(wǎng)絡(luò)模型組合檢測(cè)等等功能。

不熟悉C/C++的朋友也不用著急,因?yàn)镈eepStream也提供相當(dāng)成熟的Python開發(fā)借口與范例,工作原理與C/C++版本完全一致,因此我們還是先用現(xiàn)有資源讓大家逐步體驗(yàn),最后還會(huì)再用Python的代碼進(jìn)行示范,這樣就能事半功倍。

聲明:本文內(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)投訴
  • 檢測(cè)器
    +關(guān)注

    關(guān)注

    1

    文章

    861

    瀏覽量

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

    關(guān)注

    30

    文章

    4773

    瀏覽量

    68500
  • 分類器
    +關(guān)注

    關(guān)注

    0

    文章

    152

    瀏覽量

    13179
  • USB攝像頭
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    11262

原文標(biāo)題:NVIDIA Jetson Nano 2GB 系列文章(33):DeepStream 車牌識(shí)別與私密信息遮蓋

文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【實(shí)戰(zhàn)】人工智能0基礎(chǔ)入門:基于Python+OpenCV的車牌識(shí)別項(xiàng)目(課程+平臺(tái)實(shí)踐)

    01引言隨著智能交通系統(tǒng)的發(fā)展,車牌識(shí)別技術(shù)在車輛管理、交通監(jiān)控、停車收費(fèi)等多個(gè)領(lǐng)域發(fā)揮著重要作用。接下來小編將帶你深入了解車牌識(shí)別項(xiàng)目的全流程,從理論基礎(chǔ)到實(shí)際應(yīng)用,讓你掌握如何構(gòu)建
    的頭像 發(fā)表于 12-16 10:43 ?173次閱讀
    【實(shí)戰(zhàn)】人工智能0基礎(chǔ)入門:基于Python+OpenCV的<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別</b>項(xiàng)目(課程+平臺(tái)實(shí)踐)

    三星貼片電容識(shí)別容值代碼方法

    三星貼片電容的容值代碼識(shí)別方法主要基于其型號(hào)編碼中的特定部分。以下是一個(gè)詳細(xì)的識(shí)別步驟和說明: ? ?一、識(shí)別容值代碼的基本步驟 ? ?查看
    的頭像 發(fā)表于 12-13 16:17 ?95次閱讀
    三星貼片電容<b class='flag-5'>識(shí)別</b>容值<b class='flag-5'>代碼</b>方法

    segger代碼修改,不影響gui原本文件的代碼

    segger的代碼怎么可以自由修改,而不影響gui原本的那,用gui生成的修改,就會(huì)改變?cè)械闹?/div>
    發(fā)表于 12-11 15:39

    【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】“基于車牌識(shí)別的自動(dòng)地鎖”案例學(xué)習(xí)

    針對(duì)車位被占用以及地鎖鑰匙易丟失這兩個(gè)常見痛點(diǎn)。由此,作者提出了一種通過車牌識(shí)別實(shí)現(xiàn)自動(dòng)開關(guān)的智能地鎖解決方案,同時(shí)還能實(shí)時(shí)反饋車位使用情況。這個(gè)選題看似細(xì)微,卻抓住了實(shí)際生活中的核心需求,體現(xiàn)了很強(qiáng)
    發(fā)表于 12-10 23:46

    ElfBoard開源項(xiàng)目|車牌識(shí)別項(xiàng)目技術(shù)文檔

    車牌識(shí)別項(xiàng)目基于百度智能云平臺(tái),旨在利用其強(qiáng)大的OCR服務(wù)實(shí)現(xiàn)車牌號(hào)碼的自動(dòng)識(shí)別。選擇百度智能云的原因是其高效的API接口和穩(wěn)定的服務(wù)質(zhì)量,能夠幫助開發(fā)者快速實(shí)現(xiàn)
    的頭像 發(fā)表于 12-06 10:30 ?211次閱讀
    ElfBoard開源項(xiàng)目|<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別</b>項(xiàng)目技術(shù)文檔

    《DNK210使用指南 -CanMV版 V1.0》第四十六章 車牌識(shí)別實(shí)驗(yàn)

    第四十六章 車牌識(shí)別實(shí)驗(yàn) 在上一章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)了通過提取圖像中人臉的特征進(jìn)行人臉識(shí)別,本章將繼續(xù)介紹利用maix.KPU模塊實(shí)現(xiàn)的車牌
    發(fā)表于 11-19 10:22

    基于差分卷積神經(jīng)網(wǎng)絡(luò)的低照度車牌圖像增強(qiáng)網(wǎng)絡(luò)

    車牌識(shí)別作為現(xiàn)代化智能交通系統(tǒng)中重要的環(huán)節(jié),對(duì)提升路網(wǎng)效率以及緩解城市交通壓力等問題具有重要的社會(huì)意義,然而弱光照車牌圖像識(shí)別仍然具有重大的挑戰(zhàn)。構(gòu)建了一個(gè)基于差分卷積神經(jīng)網(wǎng)絡(luò)的弱光照
    的頭像 發(fā)表于 11-11 10:29 ?155次閱讀
    基于差分卷積神經(jīng)網(wǎng)絡(luò)的低照度<b class='flag-5'>車牌</b>圖像增強(qiáng)網(wǎng)絡(luò)

    4K高清高速攝像頭在車牌識(shí)別技術(shù)中的革新應(yīng)用與優(yōu)勢(shì)解析

    Horus AI?高速相機(jī)是一款極其優(yōu)秀的車牌識(shí)別相機(jī)開發(fā)平臺(tái),不僅圖像性能優(yōu)秀,而且有良好的開發(fā)支持。Horus AI高速相機(jī)是快速打造您自己的車牌識(shí)別系統(tǒng)的理想選擇。
    的頭像 發(fā)表于 10-15 16:27 ?479次閱讀
    4K高清高速攝像頭在<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別</b>技術(shù)中的革新應(yīng)用與優(yōu)勢(shì)解析

    【飛凌嵌入式OK3576-C開發(fā)板體驗(yàn)】RKNN神經(jīng)網(wǎng)絡(luò)-車牌識(shí)別

    LPRNet基于深層神經(jīng)網(wǎng)絡(luò)設(shè)計(jì),通過輕量級(jí)的卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)車牌識(shí)別。它采用端到端的訓(xùn)練方式,不依賴字符分割,能夠直接處理整張車牌圖像,并輸出最終的字符序列。這種設(shè)計(jì)提高了識(shí)別的實(shí)時(shí)
    發(fā)表于 10-10 16:40

    java反編譯的代碼可以修改

    Java反編譯是一種將編譯后的Java字節(jié)碼(.class文件)轉(zhuǎn)換回源代碼的過程。反編譯后的代碼可以進(jìn)行修改,但是需要注意,反編譯代碼的質(zhì)量和可讀性可能會(huì)受到原始編譯
    的頭像 發(fā)表于 09-02 11:00 ?611次閱讀

    NVIDIA發(fā)布DeepStream 7.0,助力下一代視覺AI開發(fā)

    NVIDIA DeepStream 是一款功能強(qiáng)大的 SDK,能夠提供用于構(gòu)建端到端視覺 AI 管線的 GPU 加速構(gòu)建模塊。
    的頭像 發(fā)表于 05-23 10:09 ?615次閱讀
    NVIDIA發(fā)布<b class='flag-5'>DeepStream</b> 7.0,助力下一代視覺AI開發(fā)

    如何在代碼中動(dòng)態(tài)修改手指電容?

    如何在代碼中動(dòng)態(tài)修改手指電容
    發(fā)表于 05-22 07:11

    AI車牌監(jiān)測(cè)識(shí)別攝像機(jī)

    AI車牌監(jiān)測(cè)識(shí)別攝像機(jī)是一種基于人工智能技術(shù)的高級(jí)監(jiān)控設(shè)備,用于識(shí)別和記錄車輛的車牌信息。該攝像機(jī)利用深度學(xué)習(xí)算法和圖像識(shí)別技術(shù),能夠快速準(zhǔn)
    的頭像 發(fā)表于 04-02 09:55 ?436次閱讀
    AI<b class='flag-5'>車牌</b>監(jiān)測(cè)<b class='flag-5'>識(shí)別</b>攝像機(jī)

    項(xiàng)目分享|基于ELF 1開發(fā)板的車牌識(shí)別系統(tǒng)

    該項(xiàng)目選用ElfBoardELF1開發(fā)板作為核心硬件平臺(tái),利用USB接口連接的攝像頭捕捉并識(shí)別車牌信息。一旦車牌成功識(shí)別,系統(tǒng)會(huì)觸發(fā)綠燈指示,并將識(shí)
    的頭像 發(fā)表于 03-12 09:22 ?455次閱讀
    項(xiàng)目分享|基于ELF 1開發(fā)板的<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別</b>系統(tǒng)

    君正T40車牌識(shí)別模組雷卯防雷防靜電推薦圖

    一、規(guī)格參數(shù) 車牌識(shí)別模組 ? CPU XBurst?2 up to 1.2GHz, Dual Core 內(nèi)存 內(nèi)置 1Gb MCU 600MHz RISC-V coprocessor, 32bit
    的頭像 發(fā)表于 01-03 16:53 ?319次閱讀
    君正T40<b class='flag-5'>車牌</b><b class='flag-5'>識(shí)別</b>模組雷卯防雷防靜電推薦圖
    RM新时代网站-首页