国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

教你用10行代碼搞定圖像中目標檢測

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

掃碼添加小助手

加入工程師交流群

目標檢測是指計算機和軟件系統對圖像或場景中的目標進行定位和識別的任務。目標檢測已廣泛應用于人臉檢測、車輛檢測、人流量統計、網絡圖像、安防系統和無人駕駛等多個領域。

早期目標檢測的實現基于經典算法,比如流行的計算機視覺庫OpenCV中支持的算法。然而,這些經典算法在不同的條件下無法獲得穩定的性能。

2012年深度學習的突破性進展和迅速普及,使得R-CNN、Fast-RCNN、Faster-RCNN、RetinaNet以及快速、高度準確的SSD、YOLO等目標檢測算法應運而生。這些基于深度學習、機器學習的算法,需要一定的數學以及深度學習框架基礎。有數百萬的專業計算機程序員和軟件開發人員想要集成和創建基于目標檢測算法的新產品。同時由于理解和實際使用較為復雜,一直無法實現。如何開發出高效的目標檢測代碼呢?

ImageAI就應運而生了。

01 ImageAI讓代碼變得簡潔 ImageAI是一個python庫,只需要幾行代碼,就可以讓程序員和軟件開發人員輕松地將最先進的計算機視覺技術集成到他們現有的或新的應用中,ImageAI已經在Github上開源。 Github地址:

https://github.com/OlafenwaMoses/ImageAI

ImageAI目前支持使用在ImageNet-1000數據集上訓練的4種不同機器學習算法進行圖像預測和訓練。 ImageAI還支持使用在COCO數據集上訓練的RetinaNet,YOLOv3和TinyYOLOv3進行對象檢測,視頻檢測和對象跟蹤。最后,ImageAI允許訓練自定義模型,以執行新目標的檢測和識別。 ImageAI庫有依賴其他Python庫,所以在使用ImageAI開發之前還需要導入其他的包。

02 準備工作 使用ImageAI實現目標檢測,只需進行以下4步:

在你的電腦上安裝Python

安裝ImageAI,配置依賴環境

下載目標檢測模塊文件

運行樣例代碼(只需10行)

下面一步步詳細展開:

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

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

pipinstalltensorflowpipinstallnumpypipinstallscipypipinstallopencv-pythonpipinstallpillowpipinstallmatplotlibpipinstallh5pypipinstallkeraspip3 install imageai --upgrade 注意:第一次安裝ImageAI庫,需要下載對應版本的.whl文件,Python3的環境需要下載imageai-2.0.2-py3-none-any.whl 文件,然后轉移到相應的文件夾下,執行如下命令即可安裝:

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)下載用于目標檢測的RetinaNet模型文件 鏈接地址:https://github.com/OlafenwaMoses/ImageAI/releases/download/1.0/resnet50_coco_best_v2.0.1.h5

03 開啟10行代碼的目標檢測 到這里你已經安裝好了所有的依賴項,可以開始編寫你的第一個目標檢測的代碼了。 創建一個Python文件并命名(如FirstDetection.py),然后將下面的代碼寫入該文件。將RetinaNet模型文件和要檢測的圖像復制到包含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"] )

然后運行代碼,等待結果輸出。結果顯示后,就可以在FirstDetection.py所在的文件夾下找到保存下來的新圖像。

在Spyder編譯器中運行結果如下所示:


輸出的目標檢測精度結果: 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編譯器中運行結果如下所示:

輸出的目標檢測精度結果: 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 代碼解讀

下面來解釋一下這10行代碼的工作原理

fromimageai.Detection importObjectDetectionimport osexecution_path = os.getcwd() 在以上3行代碼中,在第一行導入了ImageAI的目標檢測類;在第二行導入了Python的os類;在第三行中定義了一個變量,保存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行代碼中,我們在第一行中定義了一個目標檢測類的實例;在第二行中將實例的模型類型設定為RetinaNet;在第三行中將模型路徑設置為RetinaNet模型的路徑;在第四行中將模型加載到目標檢測類的實例中;在第五行中調用檢測函數,并將文件輸入輸出路徑作為參數傳入。 foreachObject in detections: print(eachObject["name"] ," : ", eachObject["percentage_probability"] )

在以上兩行代碼中,第一行用來對detector.detectObjectsFromImage函數返回的所有結果進行迭代,第二行用來輸出圖片中檢測到的每個目標的名字及其概率。 05 自定義目標檢測

除此外,ImageAI也支持強大的自定義目標檢測。其中之一是能夠提取圖像中檢測到的每個物體。只需要將參數

extract_detected_objects=True 傳入 detectObjectsFromImage 函數中,如下所示,目標檢測類將為圖像對象創建一個文件夾,提取每個圖像,將每個子圖像保存到創建的新文件夾中,并返回一個包含每個圖像路徑的數組。 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) 將其應用到第一張圖片上,得到如下結果: 所有行人都被很好地提取了出來,為了節約空間這里只顯示了一部分。 06 ImageAI的其他功能

ImageAI提供了許多功能,可用于目標檢測任務的自定義和部署。其支持的功能包括:

調整最小概率:默認情況下,概率小于50%的物體不會顯示。對于需要高精度的情況,可以增加此值;對于需要檢測所有可能對象的情況,可以減少此值。

自定義目標檢測:通過提供的CustomObject類,可以使檢測類檢測一個或幾個特定目標。

檢測速度:通過將檢測速度設置為“fast”、“faster”或“fastest”,可以減少檢測圖像所需的時間。

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

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

編輯:jq

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

    關注

    91

    文章

    39768

    瀏覽量

    301370
  • Image
    +關注

    關注

    0

    文章

    33

    瀏覽量

    12383

原文標題:用這個Python庫,10行代碼搞定圖像中目標檢測

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    合科泰教你如何焊接簡單LED閃爍電路

    你是否曾好奇那些閃爍的LED燈背后的原理?今天教你用5分鐘焊接一個簡單的LED閃爍電路,無需編程,只需一把電烙鐵、幾個簡單元件和基礎的焊接技能,就能打造屬于自己的電子小玩具。 這不僅能獲得好玩的電子玩具,還是理解電路工作原理的實踐一課。今天,合科泰就帶著你從零搞定這個新手
    的頭像 發表于 01-07 17:28 ?1072次閱讀
    合科泰<b class='flag-5'>教你</b>如何焊接簡單LED閃爍電路

    【精選活動】缺陷系統檢測不走坑!10年+資深LabVIEW視覺專家全套珍藏

    “告別檢測系統能力缺陷!10+年LabVIEW視覺資深專家手把手教你:5000+分鐘高清教程(含工具、算法原理、實戰操作、項目優化全流程講解)”——從傳統視覺算法→深度學習建模→工業級部署"
    的頭像 發表于 12-30 08:06 ?282次閱讀
    【精選活動】缺陷系統<b class='flag-5'>檢測</b>不走坑!<b class='flag-5'>10</b>年+資深LabVIEW視覺專家全套珍藏

    電壓放大器在全導波場圖像目標識別的損傷檢測實驗的應用

    圖像目標識別的智能損傷檢測方法,通過結合超聲導波檢測技術與深度學習算法,系統探究了損傷引起的波場畸變特性及其識別機制。 測試設備:掃描激光多普勒測振儀、函數發生器、功率放大器ATA-2
    的頭像 發表于 12-02 11:37 ?274次閱讀
    電壓放大器在全導波場<b class='flag-5'>圖像</b><b class='flag-5'>目標</b>識別的損傷<b class='flag-5'>檢測</b>實驗的應用

    扔掉手機APP吧!教你用樂鑫科技ESP32-S3 2.8寸彩屏爆改專業遙控器!啟明云端樂鑫代理

    !不專業的工具就應該淘汰!本期我們教你用啟明云端ESP32-S32.8寸串口屏爆改遙控器。僅需69.9元就可以親手打造一個專屬硬核彩屏遙控器,成就感拉滿!ESP3
    的頭像 發表于 11-24 18:05 ?498次閱讀
    扔掉手機APP吧!<b class='flag-5'>教你用</b>樂鑫科技ESP32-S3 2.8寸彩屏爆改專業遙控器!啟明云端樂鑫代理

    低成本開源!手把手教你用樂鑫科技ESP32-P4開發板制作電腦監測屏!

    你是否也遇到過這些困擾:電腦突然變得異常卡頓,程序無響應?想知道電腦狀態,卻懶得每次都打開任務管理器?想要實時監控系統性能,又沒有合適的工具?別擔心!今天我們教你一個簡單又低成本的方法——
    的頭像 發表于 11-04 18:05 ?678次閱讀
    低成本開源!手把手<b class='flag-5'>教你用</b>樂鑫科技ESP32-P4開發板制作電腦監測屏!

    目標追蹤的簡易實現:模板匹配

    (TemplateMatching)是在圖像尋找目標的方法之一。原理很簡單,就是把待追蹤的目標圖像存于一個模板,然后在視頻的每一幀
    發表于 10-28 07:21

    基于FPGA的膚色檢測方案簡介

    膚色檢測原理 在RGB圖像,膚色對光照強度的敏感度很高,因此RGB下的膚色沒有明顯的特異性。而在YCbCr圖像,去除光照強度Y的影響,
    發表于 10-28 07:07

    Python 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰

    ? 目標字段 & CSS 選擇器 ? 四、MVP:120 代碼即可跑通 單文件腳本,支持異步并發 10 個 ASIN,自動重
    的頭像 發表于 10-21 16:59 ?515次閱讀
    <b class='flag-5'>用</b> Python 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰

    汽車軟件團隊必看:基于靜態代碼分析工具Perforce QAC的ISO 26262合規實踐

    ISO 26262合規指南,從ASIL分級到工具落地,手把手教你用靜態代碼分析(Perforce QAC)實現高效合規。
    的頭像 發表于 08-07 17:33 ?1140次閱讀
    汽車軟件團隊必看:基于靜態<b class='flag-5'>代碼</b>分析工具Perforce QAC的ISO 26262合規實踐

    Ansible Playbook自動化部署Nginx集群指南

    面對日益猖獗的DDoS攻擊,手動部署防護已經out了!今天教你用Ansible一鍵部署具備DDoS防御能力的Nginx集群,讓攻擊者哭著回家!
    的頭像 發表于 08-06 17:54 ?810次閱讀

    YOLOv8水果檢測示例代碼換成640輸入圖像出現目標框繪制錯誤的原因 ?

    \",的best.kmodel替換為640輸入圖像,model_input_size=[640,640],就會出現目標檢測目標框位置混亂
    發表于 06-18 06:37

    基于LockAI視覺識別模塊:C++目標檢測

    檢測是計算機視覺領域中的一個關鍵任務,它不僅需要識別圖像存在哪些對象,還需要定位這些對象的位置。具體來說,目標檢測算法會輸出每個
    發表于 06-06 14:43

    手把手教你用RadiMation進行MIMO功率測量,輕松搞定射頻測試!

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

    請求贈閱《零基礎開發AI Agent——手把手教你用扣子做智能體》

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

    《零基礎開發AI Agent——手把手教你用扣子做智能體》

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