谷歌發布了 mediapipe,這是一種用於移動終端的物件檢測模型,在沒有 GPU 的情況下仍然很快

Mondo 科技 更新 2024-02-22

最廣為人知的目標檢測模型是Yolo系列,現已更新為V8系列,但現有的Yolo模型面臨量化支援不足、精度延遲權衡不足等侷限性。

Yolo-NAS 模型在 Coco、Objects365 和 RoboFlow 100 等知名資料集上進行了預訓練,非常適合生產環境中的下游物件檢測任務。 YOLO-NAS的發布代表了目標檢測模型推理效能和效率的重大飛躍,解決了傳統模型的侷限性,並為各種任務和硬體提供了前所未有的適應性。 全新 YOLO-NAS 提供最先進的 (SOTA) 效能和無與倫比的精度速度效能,效能優於 YOLO5、YOLOX6、YOLOXV7 和 YOLO8 等其他型號。

然而,其主流的目標檢測模型,為了快速執行,需要使用強大的GPU作為後端算力。 隨著移動終端的普及,移動終端對大型機型的需求越來越大。 谷歌發布的MediaPipe系列已經成功在移動終端上執行目標檢測模型,執行速度在ms級。

mediapipe 物件檢測模型可以對 ** 或實時實時流執行物件檢測任務。 mediapipe 目標檢測模型包含三種不同大小的模型,您可以根據自己的任務選擇相關模型。

型號 1:efficientdet-lite0

EfficientDet-Lite0 模型使用具有 320x320 輸入大小和 bifpn 特徵網路的 EfficientNet-Lite0 骨幹網路模型。 該模型使用 COCO 資料集進行訓練,COCO 資料集是乙個包含 150 萬個物件例項和 80 個物件標籤的大規模物件檢測資料集。 EfficientDet-Lite0 模型使用三種不同的大小:int8、float16 或 float32。 該模型在延遲和準確性之間取得了平衡。 對於許多任務來說,它既準確又輕巧。 是大多數物件檢測任務的首選模型。

模型 2:efficientdet-lite2

EfficientDet-Lite2 模型使用輸入大小為 448x448 的 EfficientNet-Lite2 骨幹網路模型和 BIFPN 特徵網路。 該模型還使用 COCO 資料集進行訓練,EfficientDet-Lite2 還提供三種尺寸:INT8、FLOAT16 和 FLOAT32。 該模型通常比 EfficientDet-Lite0 更準確,但它也更慢且更占用記憶體。

型號 3:SSD MobileNetv2

SSD MobileNetv2 模型使用具有 256x256 輸入大小和 SSD 簽名網路的 MobileNetv2 骨幹網路模型。 該模型使用 COCO 資料集進行訓練,SSD MobileNetv2 提供了 2 種大小的模型,INT8 和 FLOAT 32。 該模型比 EfficientDet-Lite0 更快、更輕,但通常也不太準確。

無論是輸入,還是**,其模型最終都會轉換為**進行目標檢測,對於**,在目標檢測完成後,將每一幀的**連線在一起,再次轉換為**,最終實現**或**流的目標檢測。 其模型輸出 4 個引數:

檢測框:用於目標檢測的框的位置檢測類:目標檢測的分類檢測分數:目標檢測的置信度數框數:框數

對於沒有GPU的移動終端,其EfficientDet-Lite 0 INT8型號只有29延遲為 31 毫秒,其最大型號僅為 198延遲77ms,速度也相當快。

實現 MediaPipe 物件檢測模型

若要實現 MediaPipe 物件檢測模型,首先需要設定相關環境。 安裝 mediapipe 010個版本,以及**相關的目標檢測模型,這裡可以**3種任意尺寸模型的模型。

pip install -q mediapipe==0.10.0!wget -q -o efficientdet.tflite -q -q -o efficientdet.tflite -q -q -o efficientdet.tflite -q

然後,建立乙個視覺化函式,該函式的主要目的是在物件檢測完成後視覺化目標檢測的結果。

import cv2import numpy as npmargin = 10 row_size = 10 font_size = 1font_thickness = 1text_color = (255, 0, 0) # reddef visualize(image, detection_result) -np.ndarray: for detection in detection_result.detections: bbox = detection.bounding_box start_point = bbox.origin_x, bbox.origin_y end_point = bbox.origin_x + bbox.width, bbox.origin_y + bbox.height cv2.rectangle(image, start_point, end_point, text_color, 3) category = detection.categories[0] category_name = category.category_name probability = round(category.score, 2) result_text = category_name + ' (' + str(probability) +')' text_location = (margin + bbox.origin_x, margin + row_size + bbox.origin_y) cv2.puttext(image, result_text, text_location, cv2.font_hershey_plain,font_size, text_color, font_thickness) return image

現在我們可以載入乙個需要物件檢測的**,並執行物件檢測任務。

import numpy as npimport mediapipe as mpfrom mediapipe.tasks import pythonfrom mediapipe.tasks.python import visionimage_file = '12.jpg'base_options = python.baseoptions(model_asset_path='efficientdet.tflite')options = vision.objectdetectoroptions(base_options=base_options,score_threshold=0.5)detector = vision.objectdetector.create_from_options(options)image = mp.image.create_from_file(image_file)detection_result = detector.detect(image)image_copy = np.copy(image.numpy_view())annotated_image = visualize(image_copy, detection_result)rgb_annotated_image = cv2.cvtcolor(annotated_image, cv2.color_bgr2rgb)cv2_imshow(rgb_annotated_image)

當然,在目標檢測的類別和目標檢測的準確性方面,MediaPipe 與其他基於 GPU 系列的目標檢測模型還是有差距的,但 MediaPipe 並不使用 GPU 進行加速,如果在移動端使用其他目標檢測模型,效果不如 Mediapipe, 而且它的物件檢測模型也非常相關。

YOLO模型系列。

相關問題答案

    谷歌推出 Cloud TPU v5p 和 AI 超級計算機

    谷歌周四 月 日 發布了新的張量處理單元 TPU VP 超級計算機架構的 AI Hypercomputer 和資源管理工具 Dynamic Workload Scheduler,以幫助組織執行和處理 AI 任務。谷歌於今年 月開始推出 Cloud TPU VE,本週發布了強調價效比的 Cloud T...

    谷歌發布了最強大的AI模型Gemini,超越了GPT 4!

    當地時間月日,谷歌CEO桑達爾 皮查伊 Sundar Pichai 正式宣布雙子座號版本 正式上線。據報道,這是人工智慧模型的巨大飛躍,最終將影響幾乎所有谷歌產品。Gemini 型號包括三個數量級 最強大的 Gemini Ultra 可擴充套件的多工 Gemini Pro 和用於特定任務和移動裝置的...

    用於生產上報的PDA移動端 整機小巧方便,易於掌握

    在現代製造業中,生產報告是乙個至關重要的環節,它直接關係到生產過程的效率和準確性。為了提高生產報表的效率和準確性,以及方便操作人員的使用,選擇功能齊全 方便輕量化的PDA移動終端非常重要。首先,這款PDA移動終端具有強大的資料採集功能,可以高效掃瞄識別條碼 等資訊,確保資料在生產和工作過程中的準確性...

    Designwerk 推出移動兆瓦充電站 Mega Charger

    增加特斯拉Cybertruck續航里程的方法是增加乙個內建移動電源 官方名稱是 Extender 那麼卡車呢?DesignWerk對商用車充電的回應 超大外接移動電源 MCS兆瓦充電。此前, 年 月,沃爾沃集團簽署了一項最終協議,收購瑞士工程公司 Designwerk Technologies AG...

    接管華為!另乙個衛星移動終端在這裡

    眾所周知,多虧了麒麟s晶元和G網路的回歸,今年Mate 系列引爆了整個網路。因為這意味著,時隔年,華為終於成功突破了外界的封鎖。但嚴格來說,不管是麒麟晶元還是。g,這兩者都很難稱得上遙遙領先。畢竟麒麟S處理器的效能只相當於兩年前高通驍龍的水平,而G早已是手機行業的標配。如果不得不說遙遙領先,衛星通話...