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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在目前深度學習中比較普及的“物件檢測”應用

NVIDIA英偉達企業(yè)解決方案 ? 來源:NVIDIA英偉達企業(yè)解決方案 ? 作者:NVIDIA英偉達企業(yè)解 ? 2021-06-09 15:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

接下來的重點,就是在目前深度學習中比較普及的“物件檢測”應用,重點主要有以下三部分:

1. 簡單說明“物件檢測”的內容。

2. 使用本項目的 detecnet 物件分類指令,進行多樣化的推理識別測試。

3. 深入說明 jetson.inference 模塊的 detectNet() 以及相關的函數(shù)用法。

如此讓大家能快速掌握這項物件檢測功能,以及開發(fā)代碼的重點。

物件檢測(object detection)簡單說明

這是比圖像分類更進一步的應用,因為日常生活中,在絕大部分可看到的畫面中,不會只存在一個物體,通常是多種類別的多個物體,左圖識別出有“四個人”、右圖識別出“一個人與一匹馬”,當然真的要細部再探索的話,還有其他類別的物體也可以被識別,這是視覺類深度學習中使用頻率最高的一種應用。

在物件檢測的識別中,還只是比較“概略性”地將物體用“矩形框”的方式來標識,那能不能將物體的“實際形狀”更細膩地標識出來呢?當然可以,這就是更高階的“語義分割”應用,留在下一篇文章里面說明。

前面的圖像分類是以“一張圖像”為單位,這里的物件檢測則是以“物件框”為單位,因此所需要的數(shù)據(jù)集就不僅僅是圖像了,還要將圖像中所需要的類別加以標注,然后存成特定格式之后,提供給訓練框架去進行模型訓練,這是相當耗費人力的一個過程,而且標注的細膩程度也會對最終的精確度產生影響。

關于這個模型的訓練過程,會在后面的文章中帶著大家動手做一次,這也是整個 Hello AI World 項目中的一部分,而且也提供非常好用的工具,協(xié)助大家采集數(shù)據(jù)、標注物件框、進行模型訓練等。

以上就是物件檢測的簡單說明,接下去直接使用項目提供的 detectnet 指令來進行實驗。

detectnet 指令的使用

與 imagenet 的調用邏輯是一樣的,當系統(tǒng)編譯好之后,就生成 detectnet 指令,可以在 Jetson 設備中任何地方調用。同樣的,項目也為 detectnet 準備了幾個預訓練好的網絡模型,可以非常輕松地調用,預訓練模型。

系統(tǒng)預設的神經網絡是 “SSD-Mobilenet-v2”,基于 91 種分類的 COCO 數(shù)據(jù)集進行模型訓練,詳細的類別內容可以參考 ~/jetson-inference/data/networks 目錄下的ssd_coco_labels.txt,事實上能識別的物件有 90 種,另外加一個 “unlabeled” 種類。

detectnet 的參數(shù)調用與 imagenet 幾乎一致,輸入源與輸出標的的支持方式完全相同,因此我們可以執(zhí)行下面指令,直接看看得到怎樣的效果:

cbee2fd4-c46c-11eb-9e57-12bb97331649.png

在執(zhí)行過程中,會看到命令終端不斷出現(xiàn)類似下圖的信息,里面顯示一些重要的信息,包括“使用的網絡模型文件”、“4 個執(zhí)行階段占用時間”、“檢測到滿足閾值的物件數(shù)”、“物件類別/置信度”,以及“物件位置”等信息。

cc1e55e2-c46c-11eb-9e57-12bb97331649.png

detectnet 也能導出 RTP 視頻流到指定的電腦,詳細用法請參考前面 “Utils的videoOutput 工具”一文中有詳細說明,這個用法的實用度非常高,可以讓你將 Jetson Nano 2GB 設備放置在任何能接網絡的角落,不斷讀取攝像頭內容在 Jetson 上執(zhí)行物件識別,然后將結果傳輸?shù)侥愕淖烂骐娔X或筆記本上,這樣你就可以非常輕松地進行監(jiān)控。

輸入 “detectnet --help” 可以得到完整的幫助信息,由于內容太多,我們在這里不占用篇幅去說明,多嘗試一些指令的組合,會讓你進一步掌握這個指令的重點。

接下來看看如何在 Python 代碼中,調用這個項目的物件檢測函數(shù),來開發(fā)自己的物件檢測應用。

detectNet()函數(shù)的用法

與前面圖像分類的邏輯一樣,作者雖然在 ~/jetson-inference/python/examples 下面提供了一個 my-detection.py 范例,這個就是我們一開始所示范的“ 10 行代碼威力”的內容,這個范例的好處是“代碼量最少”,但對應的缺點就是“彈性小、完整度不夠”,因此從務實的角度,我們還是推薦以 /usr/local/bin/detect.py 這只代碼為主,這只代碼能執(zhí)行的功能,與 detectnet 指令幾乎一致。

與 imagenet.py 代碼相同的,一開始有一段“參數(shù)解析”的指令,如下截圖:

cc9cf1f4-c46c-11eb-9e57-12bb97331649.png

這部分同樣請參考先前的“參數(shù)解析功能”文章,在這里不重復贅述。接下來我們將與物件檢測有關的指令挑出來說明,這樣可以讓讀者更加容易將焦點集中在有關的部分:

51 行:net = jetson.inference.detectNet(opt.network, sys.argv, opt.threshold)

用 jetson.inferene.detectNet() 函數(shù)建立 net 這個物件檢測對象,與前面的 imageNet() 的邏輯是一樣的,不過這里所輸入的參數(shù),除了 network(網絡模型類別)之外,還多了一個 threshold(閾值)。因為物件檢測的功能,是要在圖像中識別出“所有可能”的物件,如果沒有一個“最低門檻”的限制,就會滿屏都是物件。

系統(tǒng)已經給這兩個參數(shù)都提供預設值,network 預設為 “SSD-Mobilenet-v2”、threshold 預設值為 0.5。

如果要在代碼外部利用參數(shù)去改變設定,就可以如以下方式:

--network=multiped,表示要使用“Multiped-500”這個網絡模型

--threshold=0.3,表示將閾值改成0.3

這樣 net 對象就具備了執(zhí)行物件檢測的相關功能,然后再繼續(xù)以下的步驟。

63 行:detections = net.Detect(img, overlay=opt.overlay)

這道指令,就是將 input.Capture() 獲取的一幀圖形,傳入 net.Detect() 函數(shù)去執(zhí)行物件檢測的推理識別計算,另一個參數(shù) “overlay” 的功能是“檢測覆蓋”的一個標識,只影響顯示輸出的方式,與檢測結果并沒有關系,大部分時候都不需要去改變。

這里最重要的是 detections 這個數(shù)組變量,由于每幀圖像所檢測出來物件數(shù)量是不固定的,數(shù)組的結構在說明文件中并未完整表達,因此需要從執(zhí)行的代碼中去找到蛛絲馬跡,這個部分在下一道指令中可以找到答案。

66~69 行:

print(“detected {:d} objects in image”.format(len(detections)))

for detection in detections:

print(detection)

這部分執(zhí)行完之后,會在命令終端上顯示兩個很重要的信息:

本幀圖像所找到滿足閾值的物件數(shù)量。

前面變量detections的數(shù)據(jù)結構。

在命令終端執(zhí)行以下指令,

看看所顯示的信息,如下截屏:

ccc09b36-c46c-11eb-9e57-12bb97331649.png

這里可以看到,代碼最后面 “l(fā)en(detections)” 的值,就是本幀圖像所檢測到的物件數(shù)量,而 detections 的數(shù)據(jù)結構就是:

ClassID:類別編號

Confidence:置信度

Left:標框左坐標

Top:標框上坐標

Right:標框右坐標

Bottom:標框下坐標

Width:框的寬度 = Right - Left

Height:框的高度 = Bottom - Top

Area:面積 = Width x Height

Center:中心點坐標 = ( (Left+Right)/2, (Top+Bottom)/2 )

確認了 net.Detect() 返回值之后,就能很輕易地以這些數(shù)據(jù)去開發(fā)滿足特定要求的應用。

至于后面的 output.Render(img)、output.Status() 這些函數(shù),在前面的文章里面都講解的很清楚,這里不再重復。

到這里,要利用 Hello AI World 這個項目所提供的庫資源,去開發(fā)自己的應用程序,就顯得非常簡單了。

編輯:jq

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

    關注

    3

    文章

    4417

    瀏覽量

    67501
  • 代碼
    +關注

    關注

    30

    文章

    4967

    瀏覽量

    73960
  • 數(shù)據(jù)集

    關注

    4

    文章

    1236

    瀏覽量

    26190
  • 深度學習
    +關注

    關注

    73

    文章

    5598

    瀏覽量

    124396

原文標題:Jetson Nano 2GB 系列文章(23): “Hello AI World 的物件識別應用

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AOI光學檢測設備原理:自動光學檢測如何識別外觀缺陷?

    AOI 作為產線 “智能之眼”,核心通過精密光學成像獲取圖像,結合傳統(tǒng)模板比對(與黃金樣板比對)和深度學習學習缺陷特征)兩種算法判斷 PCB 缺陷。其挑戰(zhàn)的是 “判準” 而非 “看見”,當前正朝著混合
    的頭像 發(fā)表于 02-11 10:24 ?374次閱讀

    機器學習深度學習中需避免的 7 個常見錯誤與局限性

    ,并驗證輸出結果,就能不斷提升專業(yè)技能,養(yǎng)成優(yōu)秀數(shù)據(jù)科學家的工作習慣。需避免的機器學習深度學習數(shù)據(jù)錯誤訓練數(shù)據(jù)驅動的人工智能模型時,我們會遇到一些常見錯誤和局
    的頭像 發(fā)表于 01-07 15:37 ?185次閱讀
    機器<b class='flag-5'>學習</b>和<b class='flag-5'>深度</b><b class='flag-5'>學習</b>中需避免的 7 個常見錯誤與局限性

    穿孔機頂頭檢測儀 機器視覺深度學習

    LX01Z-DG626穿孔機頂頭檢測儀采用深度學習技術,能夠實現(xiàn)頂頭狀態(tài)的在線實時檢測,頂頭丟失報警,頂頭異常狀態(tài)報警等功能,響應迅速,異常狀態(tài)視頻回溯,
    發(fā)表于 12-22 14:33

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學習實戰(zhàn)課(11大系列課程,共5000+分鐘)

    趨勢: 無監(jiān)督學習普及 當前工業(yè)場景中80%的缺陷檢測項目面臨\"OK樣本充足而NG樣本稀缺\"的困境,傳統(tǒng)監(jiān)督學習方案難以落地。課程第11系列(無監(jiān)督缺陷
    發(fā)表于 12-04 09:28

    【團購】獨家全套珍藏!龍哥LabVIEW視覺深度學習實戰(zhàn)課程(11大系列課程,共5000+分鐘)

    趨勢: 無監(jiān)督學習普及 當前工業(yè)場景中80%的缺陷檢測項目面臨\"OK樣本充足而NG樣本稀缺\"的困境,傳統(tǒng)監(jiān)督學習方案難以落地。課程第11系列(無監(jiān)督缺陷
    發(fā)表于 12-03 13:50

    如何深度學習機器視覺的應用場景

    深度學習視覺應用場景大全 工業(yè)制造領域 復雜缺陷檢測:處理傳統(tǒng)算法難以描述的非標準化缺陷模式 非標產品分類:對形狀、顏色、紋理多變的產品進行智能分類 外觀質量評估:基于學習的外觀質量標
    的頭像 發(fā)表于 11-27 10:19 ?220次閱讀

    如何在機器視覺中部署深度學習神經網絡

    圖 1:基于深度學習的目標檢測可定位已訓練的目標類別,并通過矩形框(邊界框)對其進行標識。 討論人工智能(AI)或深度
    的頭像 發(fā)表于 09-10 17:38 ?900次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學習</b>神經網絡

    深度學習對工業(yè)物聯(lián)網有哪些幫助

    深度學習作為人工智能的核心分支,通過模擬人腦神經網絡的層級結構,能夠自動從海量工業(yè)數(shù)據(jù)中提取復雜特征,為工業(yè)物聯(lián)網(IIoT)提供了從數(shù)據(jù)感知到智能決策的全鏈路升級能力。以下從技術賦能、場景突破
    的頭像 發(fā)表于 08-20 14:56 ?1022次閱讀

    鋰電行業(yè)視覺檢測案例集錦(二)

    本文主要介紹了友思特自動深度學習平臺Neuro-T電池制造過程中的應用,主要涉及方形電池排氣閥焊接檢測。文章展示了用深度
    的頭像 發(fā)表于 08-13 15:32 ?651次閱讀
    鋰電行業(yè)視覺<b class='flag-5'>檢測</b>案例集錦(二)

    自動駕駛中Transformer大模型會取代深度學習嗎?

    持續(xù)討論。特別是自動駕駛領域,部分廠商開始嘗試將多模態(tài)大模型(MLLM)引入到感知、規(guī)劃與決策系統(tǒng),引發(fā)了“傳統(tǒng)深度學習是否已過時”的激烈爭論。然而,從技術原理、算力成本、安全需求與實際落地路徑等維度來看,Transforme
    的頭像 發(fā)表于 08-13 09:15 ?4184次閱讀
    自動駕駛中Transformer大模型會取代<b class='flag-5'>深度</b><b class='flag-5'>學習</b>嗎?

    提高IT運維效率,深度解讀京東云AIOps落地實踐(異常檢測篇)

    基于深度學習對運維時序指標進行異常檢測,快速發(fā)現(xiàn)線上業(yè)務問題 時間序列的異常檢測是實際應用中的一個關鍵問題,尤其是 IT 行業(yè)。我們沒有采
    的頭像 發(fā)表于 05-22 16:38 ?1021次閱讀
    提高IT運維效率,<b class='flag-5'>深度</b>解讀京東云AIOps落地實踐(異常<b class='flag-5'>檢測</b>篇)

    行業(yè)首創(chuàng):基于深度學習視覺平臺的AI驅動輪胎檢測自動化

    全球領先的輪胎制造商 NEXEN TIRE 在其輪胎生產檢測過程中使用了基于友思特伙伴Neurocle開發(fā)的AI深度學習視覺平臺,實現(xiàn)缺陷檢測率高達99.96%,是該行業(yè)首個使用AI平
    的頭像 發(fā)表于 03-19 16:51 ?1008次閱讀
    行業(yè)首創(chuàng):基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>視覺平臺的AI驅動輪胎<b class='flag-5'>檢測</b>自動化

    OpenVINO?工具套件的深度學習工作臺中無法導出INT8模型怎么解決?

    無法 OpenVINO? 工具套件的深度學習 (DL) 工作臺中導出 INT8 模型
    發(fā)表于 03-06 07:54

    如何排除深度學習工作臺上量化OpenVINO?的特定層?

    無法確定如何排除要在深度學習工作臺上量化OpenVINO?特定層
    發(fā)表于 03-06 07:31