91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

教你用10行代碼搞定圖像中目標(biāo)檢測(cè)

新機(jī)器視覺(jué) ? 來(lái)源:Python專欄 ? 作者:Moses Olafenwa ? 2021-03-12 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目標(biāo)檢測(cè)是指計(jì)算機(jī)和軟件系統(tǒng)對(duì)圖像或場(chǎng)景中的目標(biāo)進(jìn)行定位和識(shí)別的任務(wù)。目標(biāo)檢測(cè)已廣泛應(yīng)用于人臉檢測(cè)、車(chē)輛檢測(cè)、人流量統(tǒng)計(jì)、網(wǎng)絡(luò)圖像、安防系統(tǒng)和無(wú)人駕駛等多個(gè)領(lǐng)域。

早期目標(biāo)檢測(cè)的實(shí)現(xiàn)基于經(jīng)典算法,比如流行的計(jì)算機(jī)視覺(jué)庫(kù)OpenCV中支持的算法。然而,這些經(jīng)典算法在不同的條件下無(wú)法獲得穩(wěn)定的性能。

2012年深度學(xué)習(xí)的突破性進(jìn)展和迅速普及,使得R-CNN、Fast-RCNN、Faster-RCNN、RetinaNet以及快速、高度準(zhǔn)確的SSD、YOLO等目標(biāo)檢測(cè)算法應(yīng)運(yùn)而生。這些基于深度學(xué)習(xí)、機(jī)器學(xué)習(xí)的算法,需要一定的數(shù)學(xué)以及深度學(xué)習(xí)框架基礎(chǔ)。有數(shù)百萬(wàn)的專業(yè)計(jì)算機(jī)程序員和軟件開(kāi)發(fā)人員想要集成和創(chuàng)建基于目標(biāo)檢測(cè)算法的新產(chǎn)品。同時(shí)由于理解和實(shí)際使用較為復(fù)雜,一直無(wú)法實(shí)現(xiàn)。如何開(kāi)發(fā)出高效的目標(biāo)檢測(cè)代碼呢?

ImageAI就應(yīng)運(yùn)而生了。

01 ImageAI讓代碼變得簡(jiǎn)潔 ImageAI是一個(gè)python庫(kù),只需要幾行代碼,就可以讓程序員和軟件開(kāi)發(fā)人員輕松地將最先進(jìn)的計(jì)算機(jī)視覺(jué)技術(shù)集成到他們現(xiàn)有的或新的應(yīng)用中,ImageAI已經(jīng)在Github上開(kāi)源。 Github地址:

https://github.com/OlafenwaMoses/ImageAI

ImageAI目前支持使用在ImageNet-1000數(shù)據(jù)集上訓(xùn)練的4種不同機(jī)器學(xué)習(xí)算法進(jìn)行圖像預(yù)測(cè)和訓(xùn)練。 ImageAI還支持使用在COCO數(shù)據(jù)集上訓(xùn)練的RetinaNet,YOLOv3和TinyYOLOv3進(jìn)行對(duì)象檢測(cè),視頻檢測(cè)和對(duì)象跟蹤。最后,ImageAI允許訓(xùn)練自定義模型,以執(zhí)行新目標(biāo)的檢測(cè)和識(shí)別。 ImageAI庫(kù)有依賴其他Python庫(kù),所以在使用ImageAI開(kāi)發(fā)之前還需要導(dǎo)入其他的包。

02 準(zhǔn)備工作 使用ImageAI實(shí)現(xiàn)目標(biāo)檢測(cè),只需進(jìn)行以下4步:

在你的電腦上安裝Python

安裝ImageAI,配置依賴環(huán)境

下載目標(biāo)檢測(cè)模塊文件

運(yùn)行樣例代碼(只需10行)

下面一步步詳細(xì)展開(kāi):

(1)從Python官網(wǎng)下載并安裝Python3 鏈接地址: https://python.org

(2)用pip命令安裝以下依賴包:

pipinstalltensorflowpipinstallnumpypipinstallscipypipinstallopencv-pythonpipinstallpillowpipinstallmatplotlibpipinstallh5pypipinstallkeraspip3 install imageai --upgrade 注意:第一次安裝ImageAI庫(kù),需要下載對(duì)應(yīng)版本的.whl文件,Python3的環(huán)境需要下載imageai-2.0.2-py3-none-any.whl 文件,然后轉(zhuǎn)移到相應(yīng)的文件夾下,執(zhí)行如下命令即可安裝:

pip install imageai-2.0.2-py3-none-any.whl .whl文件鏈接地址:https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.2/imageai-2.0.2-py3-none-any.whl

(3)下載用于目標(biāo)檢測(cè)的RetinaNet模型文件 鏈接地址:https://github.com/OlafenwaMoses/ImageAI/releases/download/1.0/resnet50_coco_best_v2.0.1.h5

03 開(kāi)啟10行代碼的目標(biāo)檢測(cè) 到這里你已經(jīng)安裝好了所有的依賴項(xiàng),可以開(kāi)始編寫(xiě)你的第一個(gè)目標(biāo)檢測(cè)的代碼了。 創(chuàng)建一個(gè)Python文件并命名(如FirstDetection.py),然后將下面的代碼寫(xiě)入該文件。將RetinaNet模型文件和要檢測(cè)的圖像復(fù)制到包含Python文件的文件夾中。 FirstDetection.py:

from imageai.Detection import ObjectDetection import os execution_path = os.getcwd() detector=ObjectDetection() detector.setModelTypeAsRetinaNet() detector.setModelPath( os.path.join(execution_path ,"resnet50_coco_best_v2.0.1.h5")) detector.loadModel() detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path ,"image.jpg"), output_image_path=os.path.join(execution_path ,"imagenew.jpg")) foreachObject in detections: print(eachObject["name"] ," : ", eachObject["percentage_probability"] )

然后運(yùn)行代碼,等待結(jié)果輸出。結(jié)果顯示后,就可以在FirstDetection.py所在的文件夾下找到保存下來(lái)的新圖像。

在Spyder編譯器中運(yùn)行結(jié)果如下所示:


輸出的目標(biāo)檢測(cè)精度結(jié)果: person : 57.20391869544983 person : 52.57977843284607 person : 70.81094980239868 person : 76.99859142303467 person : 79.40077781677246 bicycle : 81.0384213924408 person : 83.66722464561462 person : 89.41188454627991 truck : 60.61040759086609 person : 69.65749859809875 bus : 97.92424440383911 truck : 83.94358158111572 car : 72.50492572784424 在Spyder編譯器中運(yùn)行結(jié)果如下所示:

輸出的目標(biāo)檢測(cè)精度結(jié)果: person : 62.45866417884827 person : 58.67737531661987 person : 69.44932341575623 person : 71.84218168258667 person : 59.53381657600403 person : 54.65759038925171 motorcycle : 65.84504842758179 bus : 99.40318465232849 car : 72.41445779800415 person : 58.32530856132507 person : 54.449981451034546 person : 80.11815547943115 person : 74.30745959281921 person : 77.78302431106567 person : 71.15439772605896 bicycle : 69.92427110671997 person : 66.17957353591919 bicycle : 90.50283432006836 motorcycle : 94.09030675888062

04 代碼解讀

下面來(lái)解釋一下這10行代碼的工作原理

fromimageai.Detection importObjectDetectionimport osexecution_path = os.getcwd() 在以上3行代碼中,在第一行導(dǎo)入了ImageAI的目標(biāo)檢測(cè)類;在第二行導(dǎo)入了Python的os類;在第三行中定義了一個(gè)變量,保存Python文件、RetinaNet模型文件以及圖像所在文件夾的路徑。 detector=ObjectDetection() detector.setModelTypeAsRetinaNet() detector.setModelPath( os.path.join(execution_path ,"resnet50_coco_best_v2.0.1.h5")) detector.loadModel() detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path ,"image.jpg"), output_image_path=os.path.join(execution_path ,"imagenew.jpg")) 在以上5行代碼中,我們?cè)诘谝恍兄卸x了一個(gè)目標(biāo)檢測(cè)類的實(shí)例;在第二行中將實(shí)例的模型類型設(shè)定為RetinaNet;在第三行中將模型路徑設(shè)置為RetinaNet模型的路徑;在第四行中將模型加載到目標(biāo)檢測(cè)類的實(shí)例中;在第五行中調(diào)用檢測(cè)函數(shù),并將文件輸入輸出路徑作為參數(shù)傳入。 foreachObject in detections: print(eachObject["name"] ," : ", eachObject["percentage_probability"] )

在以上兩行代碼中,第一行用來(lái)對(duì)detector.detectObjectsFromImage函數(shù)返回的所有結(jié)果進(jìn)行迭代,第二行用來(lái)輸出圖片中檢測(cè)到的每個(gè)目標(biāo)的名字及其概率。 05 自定義目標(biāo)檢測(cè)

除此外,ImageAI也支持強(qiáng)大的自定義目標(biāo)檢測(cè)。其中之一是能夠提取圖像中檢測(cè)到的每個(gè)物體。只需要將參數(shù)

extract_detected_objects=True 傳入 detectObjectsFromImage 函數(shù)中,如下所示,目標(biāo)檢測(cè)類將為圖像對(duì)象創(chuàng)建一個(gè)文件夾,提取每個(gè)圖像,將每個(gè)子圖像保存到創(chuàng)建的新文件夾中,并返回一個(gè)包含每個(gè)圖像路徑的數(shù)組。 detections, extracted_images = detector.detectObjectsFromImage(input_image=os.path.join(execution_path ,"image.jpg"), output_image_path=os.path.join(execution_path ,"imagenew.jpg"), extract_detected_objects=True) 將其應(yīng)用到第一張圖片上,得到如下結(jié)果: 所有行人都被很好地提取了出來(lái),為了節(jié)約空間這里只顯示了一部分。 06 ImageAI的其他功能

ImageAI提供了許多功能,可用于目標(biāo)檢測(cè)任務(wù)的自定義和部署。其支持的功能包括:

調(diào)整最小概率:默認(rèn)情況下,概率小于50%的物體不會(huì)顯示。對(duì)于需要高精度的情況,可以增加此值;對(duì)于需要檢測(cè)所有可能對(duì)象的情況,可以減少此值。

自定義目標(biāo)檢測(cè):通過(guò)提供的CustomObject類,可以使檢測(cè)類檢測(cè)一個(gè)或幾個(gè)特定目標(biāo)。

檢測(cè)速度:通過(guò)將檢測(cè)速度設(shè)置為“fast”、“faster”或“fastest”,可以減少檢測(cè)圖像所需的時(shí)間。

輸入類型:可指定并解析圖像的文件路徑,以Numpy數(shù)組或圖像文件流作為輸入

輸出類型:可指定detectObjectsFromImage函數(shù)以文件或Numpy數(shù)組的形式返回圖像

編輯:jq

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

    關(guān)注

    88

    文章

    35109

    瀏覽量

    279595
  • Image
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    12180

原文標(biāo)題:用這個(gè)Python庫(kù),10行代碼搞定圖像中目標(biāo)檢測(cè)

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    YOLOv8水果檢測(cè)示例代碼換成640輸入圖像出現(xiàn)目標(biāo)框繪制錯(cuò)誤的原因 ?

    \",的best.kmodel替換為640輸入圖像,model_input_size=[640,640],就會(huì)出現(xiàn)目標(biāo)檢測(cè)目標(biāo)框位置混亂
    發(fā)表于 06-18 06:37

    基于LockAI視覺(jué)識(shí)別模塊:C++目標(biāo)檢測(cè)

    檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)關(guān)鍵任務(wù),它不僅需要識(shí)別圖像存在哪些對(duì)象,還需要定位這些對(duì)象的位置。具體來(lái)說(shuō),目標(biāo)檢測(cè)算法會(huì)輸出每個(gè)
    發(fā)表于 06-06 14:43

    手把手教你用RadiMation進(jìn)行MIMO功率測(cè)量,輕松搞定射頻測(cè)試!

    MIMO設(shè)備功率測(cè)量太復(fù)雜?TS-RadiMation幫你一鍵搞定!本文詳細(xì)解析MIMO功率測(cè)量全流程,從配置到數(shù)據(jù)分析,助你快速掌握關(guān)鍵測(cè)試技巧,提升測(cè)試效率!
    的頭像 發(fā)表于 05-26 17:42 ?210次閱讀
    手把手<b class='flag-5'>教你用</b>RadiMation進(jìn)行MIMO功率測(cè)量,輕松<b class='flag-5'>搞定</b>射頻測(cè)試!

    請(qǐng)求贈(zèng)閱《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》

    博主好!致敬葉濤 管鍇 張心雨三位AI具身智能-智能體方面的專家、導(dǎo)師! 《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》一不懂編程的多數(shù)大眾也可以開(kāi)發(fā)Agent,這意義深遠(yuǎn),功德無(wú)量
    發(fā)表于 04-10 12:16

    《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》

    《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》是一本為普通人量身打造的AI開(kāi)發(fā)指南。它不僅深入淺出地講解了Agent的概念和發(fā)展,還通過(guò)詳細(xì)的工具介紹和實(shí)戰(zhàn)案例,幫助讀者快速掌握
    發(fā)表于 03-18 12:03

    AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測(cè)模型

    分類任務(wù)是識(shí)別圖像主體內(nèi)容的是什么?的問(wèn)題,那么目標(biāo)檢測(cè)則是進(jìn)一步解答在哪里? 目標(biāo)檢測(cè)不僅需
    發(fā)表于 12-19 14:33

    Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

    本文要說(shuō)的是低功耗4G模組Air780E的LuatOS開(kāi)發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。
    的頭像 發(fā)表于 12-03 11:17 ?627次閱讀
    Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— 手把手<b class='flag-5'>教你</b><b class='flag-5'>搞定</b>數(shù)據(jù)打包解包

    手把手教你如何自制目標(biāo)檢測(cè)框架

    今天,給大家分享一篇來(lái)自知乎的一篇關(guān)于目標(biāo)檢測(cè)相關(guān)的一些內(nèi)容, 本文基于Pytorch進(jìn)行編寫(xiě)。
    的頭像 發(fā)表于 11-14 16:39 ?653次閱讀
    手把手<b class='flag-5'>教你</b>如何自制<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>框架

    目標(biāo)檢測(cè)中大物體的重要性

    ,中等物體提高2個(gè)百分點(diǎn),大物體提高4個(gè)百分點(diǎn))。摘要目標(biāo)檢測(cè)模型是一類重要的機(jī)器學(xué)習(xí)算法,旨在識(shí)別并精確定位圖像或視頻的物體。然而,由于物體的大小差異以及
    的頭像 發(fā)表于 10-09 08:05 ?813次閱讀
    在<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>中大物體的重要性

    圖像分割與目標(biāo)檢測(cè)的區(qū)別是什么

    的區(qū)別。 定義 圖像分割是將圖像劃分為若干個(gè)區(qū)域或?qū)ο蟮倪^(guò)程,這些區(qū)域或?qū)ο缶哂邢嗨频膶傩裕珙伾⒓y理或形狀。圖像分割的目的是將圖像的不
    的頭像 發(fā)表于 07-17 09:53 ?2353次閱讀

    目標(biāo)檢測(cè)圖像識(shí)別的區(qū)別在哪

    檢測(cè)(Object Detection)是指在圖像或視頻識(shí)別并定位感興趣的目標(biāo),通常包括目標(biāo)的類別和位置。
    的頭像 發(fā)表于 07-17 09:51 ?1802次閱讀

    目標(biāo)檢測(cè)與識(shí)別技術(shù)有哪些

    視頻識(shí)別并定位感興趣的目標(biāo),通常包括目標(biāo)的類別和位置信息。目標(biāo)識(shí)別(Object Recognition)是指對(duì)檢測(cè)到的
    的頭像 發(fā)表于 07-17 09:40 ?1335次閱讀

    目標(biāo)檢測(cè)與識(shí)別技術(shù)的關(guān)系是什么

    任務(wù)是在圖像或視頻快速準(zhǔn)確地定位出感興趣的目標(biāo),并給出目標(biāo)的位置信息。目標(biāo)檢測(cè)技術(shù)通常包括候選
    的頭像 發(fā)表于 07-17 09:38 ?1278次閱讀

    目標(biāo)檢測(cè)識(shí)別主要應(yīng)用于哪些方面

    目標(biāo)檢測(cè)識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要研究方向,它主要關(guān)注于從圖像或視頻識(shí)別和定位目標(biāo)物體。隨著計(jì)算機(jī)視覺(jué)技術(shù)的不斷發(fā)展,
    的頭像 發(fā)表于 07-17 09:34 ?1898次閱讀

    圖像檢測(cè)圖像識(shí)別的原理、方法及應(yīng)用場(chǎng)景

    圖像檢測(cè)圖像識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域的兩個(gè)重要概念,它們?cè)谠S多應(yīng)用場(chǎng)景中發(fā)揮著關(guān)鍵作用。 1. 定義 1.1 圖像檢測(cè)
    的頭像 發(fā)表于 07-16 11:19 ?6937次閱讀
    主站蜘蛛池模板: 欧美色图28p | 亚洲人成在线精品不卡网 | 五月天色网址 | 国产精品成人一区二区 | 五月婷婷狠狠 | 51国产午夜精品免费视频 | 99久久免费精品视频 | 91av视频在线 | 美女扒开尿囗给男人玩的动图 | 欧美图片小说视频 | 免费啪视频在线观看 | 人人干人人澡 | 亚色中文字幕 | 日本三级免费看 | 丁香激情小说 | 毛片毛多 | 国产在线视频www色 国产在线视频欧美亚综合 国产在线视频网站 | 97影院理论片手机在线观看 | 护士巨好爽好大乳 | 日韩一级欧美一级 | 韩国激情啪啪 | 四虎院影永久在线观看 | 色综合天天综合网看在线影院 | 免费看一级视频 | 亚洲男人的性天堂 | 天天综合色天天综合网 | 亚洲视频二 | 三级视频网站在线观看播放 | 欧美午夜精品一区二区三区 | 欧美特级午夜一区二区三区 | 九七婷婷狠狠成人免费视频 | 亚洲天堂第一页 | 日本xxxxx黄区免费看动漫 | 加勒比综合| 91精品国产色综合久久不卡蜜 | 性欧美性 | 亚洲一区二区黄色 | 免费人成网站在线高清 | 美女又黄又免费的视频 | 婷婷了五月色香综合缴情 | 精品二区 |