搜尋
首頁科技週邊人工智慧如何探索和視覺化用於影像中物體檢測的 ML 數據

近年來,人們對深入理解機器學習資料(ML-data)的重要性有了更深刻的認識。然而,由於檢測大型資料集通常需要大量的人力和物力投入,因此在電腦視覺領域的廣泛應用仍需要進一步的開發。

通常,在物體偵測(Object Detection,屬於電腦視覺的子集)中,透過定義邊界框,來定位影像中的物體,不僅可以辨識物體,還能夠了解物體的上下文、大小、以及與場景中其他元素的關係。同時,針對類別的分佈、物體大小的多樣性、以及類別出現的常見環境進行全面了解,也有助於在評估和調試中發現訓練模型中的錯誤模式,從而更有針對性地選擇額外的訓練數據。

在實踐中,我傾向於採取以下方法:

  • #利用預訓練的模型或基礎模型的增強功能,為資料新增結構。例如:創建各種影像嵌入,並採用 t-SNE 或 UMAP 等降維技術。這些都可以產生相似性的地圖,從而方便數據的瀏覽。此外,使用預先訓練的模型進行偵測,也可以方便地擷取情境。
  • 使用能夠將此類結構與原始資料的統計和審查功能整合在一起的視覺化工具。

下面,我將介紹如何使用Renumics Spotlight,來建立互動式的物件偵測視覺化。作為範例,我將試著:

  • 為影像中的人物探測器建立視覺化。
  • 視覺化包含相似性地圖、篩選器和統計數據,以便瀏覽數據。
  • 透過地面實況(Ground Truth)和 Ultralytics YOLOv8 的偵測詳細,查看每一張影像。

如何探索和可视化用于图像中物体检测的 ML 数据

在Renumics Spotlight上的目標視覺化。資料來源:作者創建

下載COCO資料集中的人物圖像

#首先,透過以下命令安裝所需的軟體包:

!pip install fiftyone ultralytics renumics-spotlight

利用FiftyOne的可恢復性下載功能,您可以從COCO 資料集下載各種映像。透過簡單的參數設置,我們即可下載包含一到多個人物的 1,000 張圖片。具體程式碼如下:

importpandasaspdimportnumpyasnpimportfiftyone.zooasfoz# 从 COCO 数据集中下载 1000 张带人的图像dataset = foz.load_zoo_dataset( "coco-2017"、split="validation"、label_types=[ "detections"、],classes=["person"]、 max_samples=1000、dataset_name="coco-2017-person-1k-validations"、)

接著,您可以使用以下程式碼:

def xywh_too_xyxyn(bbox): "" convert from xywh to xyxyn format """ return[bbox[0], bbox[1], bbox[0] + bbox[2], bbox[1] + bbox[3]].行 = []fori, samplein enumerate(dataset):labels = [detection.labelfordetectioninsample.ground_truth.detections] bboxs = [...bboxs = [xywh_too_xyxyn(detection.bounding_box) fordetectioninsample.ground_truth.detections]bboxs_persons = [bboxforbbox, labelin zip(bboxs, labels)iflabel =="person"] 行。row.append([sample.filepath, labels, bboxs, bboxs_persons])df = pd.DataFrame(row, columns=["filepath","categories", "bboxs", "bboxs_persons"])df["major_category"] = df["categories"].apply( lambdax:max(set(x) -set(["person"]), key=x.count) if len(set(x)) >1 else "only person"。)

將資料準備為 Pandas DataFrame,其中的欄位包括有:檔案路徑、邊框盒(bounding boxe)類別、邊框盒、邊框盒包含的人物、以及主要類別(儘管有人物),以指定影像中人物的上下文:

如何探索和可视化用于图像中物体检测的 ML 数据

然後,您可以透過 Spotlight 將其視覺化:

From renumics import spotlightspotlight.show(df)

您可以使用檢查器視圖中的新增視圖按鈕,並在邊框視圖中選擇bboxs_persons和filepath,以顯示帶有圖像的相應邊框:

如何探索和可视化用于图像中物体检测的 ML 数据

嵌入豐富的資料

要使得資料具有結構性,我們可以採用各種基礎模型的影像嵌入(即:密集向量表示)。為此,您可以使用 UMAP 或 t-SNE 等進一步降維技術,將整個影像的Vision Transformer(ViT)嵌入應用到資料集的結構化,從而提供影像的二維相似性圖。此外,您還可以使用預先訓練物件偵測器的輸出結果,依照包含物件的大小或數量,將資料分類,進而建構資料。由於 COCO 資料集已經提供了此方面的信息,因此我們完全可以直接使用它。

由於Spotlight 整合了對google/vit-base-patch16-224-in21k(ViT)模型和UMAP 的支持,因此當您使用檔案路徑建立各種嵌入時,它將會自動套用:

spotlight.show(df, embed=["filepath"])

通过上述代码,Spotlight 将各种嵌入进行计算,并应用 UMAP 在相似性地图中显示结果。其中,不同的颜色代表了主要的类别。据此,您可以使用相似性地图来浏览数据:

如何探索和可视化用于图像中物体检测的 ML 数据

预训练YOLOv8的结果

可用于快速识别物体的Ultralytics YOLOv8,是一套先进的物体检测模型。它专为快速图像处理而设计,适用于各种实时检测任务,特别是在被应用于大量数据时,用户无需浪费太多的等待时间。

为此,您可以首先加载预训练模型:

From ultralytics import YOLOdetection_model = YOLO("yolov8n.pt")

并执行各种检测:

detections = []forfilepathindf["filepath"].tolist():detection = detection_model(filepath)[0]detections.append({ "yolo_bboxs":[np.array(box.xyxyn.tolist())[0]forboxindetection.boxes]、 "yolo_conf_persons": np.mean([np.array(box.conf.tolist())[0]. forboxindetection.boxes ifdetection.names[int(box.cls)] =="person"]), np.mean(]), "yolo_bboxs_persons":[np.array(box.xyxyn.tolist())[0] forboxindetection.boxes ifdetection.names[int(box.cls)] =="person],"yolo_categories": np.array([np.array(detection.names[int(box.cls)])forboxindetection.boxes], "yolo_categories": np.array(),})df_yolo = pd.DataFrame(detections)

在12gb的GeForce RTX 4070 Ti上,上述过程在不到20秒的时间内便可完成。接着,您可以将结果包含在DataFrame中,并使用Spotlight将其可视化。请参考如下代码:

df_merged = pd.concat([df, df_yolo], axis=1)spotlight.show(df_merged, embed=["filepath"])

下一步,Spotlight将再次计算各种嵌入,并应用UMAP到相似度图中显示结果。不过这一次,您可以为检测到的对象选择模型的置信度,并使用相似度图在置信度较低的集群中导航检索。毕竟,鉴于这些图像的模型是不确定的,因此它们通常有一定的相似度。

如何探索和可视化用于图像中物体检测的 ML 数据

当然,上述简短的分析也表明了,此类模型在如下场景中会遇到系统性的问题:

  • 由于列车体积庞大,站在车厢外的人显得非常渺小
  • 对于巴士和其他大型车辆而言,车内的人员几乎看不到
  • 有人站在飞机的外面
  • 食物的特写图片上有人的手或手指

您可以判断这些问题是否真的会影响您的人员检测目标,如果是的话,则应考虑使用额外的训练数据,来增强数据集,以优化模型在这些特定场景中的性能。

小结

综上所述,预训练模型和 Spotlight 等工具的使用,可以让我们的对象检测可视化过程变得更加容易,进而增强数据科学的工作流程。您可以使用自己的数据去尝试和体验上述代码。

译者介绍

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

原文标题:How to Explore and Visualize ML-Data for Object Detection in Images,作者:Markus Stoll

链接:https://itnext.io/how-to-explore-and-visualize-ml-data-for-object-detection-in-images-88e074f46361。

以上是如何探索和視覺化用於影像中物體檢測的 ML 數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
微軟工作趨勢指數2025顯示工作場所容量應變微軟工作趨勢指數2025顯示工作場所容量應變Apr 24, 2025 am 11:19 AM

由於AI的快速整合而加劇了工作場所的迅速危機危機,要求戰略轉變以外的增量調整。 WTI的調查結果強調了這一點:68%的員工在工作量上掙扎,導致BUR

AI可以理解嗎?中國房間的論點說不,但是對嗎?AI可以理解嗎?中國房間的論點說不,但是對嗎?Apr 24, 2025 am 11:18 AM

約翰·塞爾(John Searle)的中國房間論點:對AI理解的挑戰 Searle的思想實驗直接質疑人工智能是否可以真正理解語言或具有真正意識。 想像一個人,對下巴一無所知

中國的'智能” AI助手回應微軟召回的隱私缺陷中國的'智能” AI助手回應微軟召回的隱私缺陷Apr 24, 2025 am 11:17 AM

與西方同行相比,中國的科技巨頭在AI開發方面的課程不同。 他們不專注於技術基準和API集成,而是優先考慮“屏幕感知” AI助手 - AI T

Docker將熟悉的容器工作流程帶到AI型號和MCP工具Docker將熟悉的容器工作流程帶到AI型號和MCP工具Apr 24, 2025 am 11:16 AM

MCP:賦能AI系統訪問外部工具 模型上下文協議(MCP)讓AI應用能夠通過標準化接口與外部工具和數據源交互。由Anthropic開發並得到主要AI提供商的支持,MCP允許語言模型和智能體發現可用工具並使用合適的參數調用它們。然而,實施MCP服務器存在一些挑戰,包括環境衝突、安全漏洞以及跨平台行為不一致。 Forbes文章《Anthropic的模型上下文協議是AI智能體發展的一大步》作者:Janakiram MSVDocker通過容器化解決了這些問題。基於Docker Hub基礎設施構建的Doc

使用6種AI街頭智能策略來建立一家十億美元的創業使用6種AI街頭智能策略來建立一家十億美元的創業Apr 24, 2025 am 11:15 AM

有遠見的企業家採用的六種策略,他們利用尖端技術和精明的商業敏銳度來創造高利潤的可擴展公司,同時保持控制。本指南是針對有抱負的企業家的,旨在建立一個

Google照片更新解鎖了您所有圖片的驚人Ultra HDRGoogle照片更新解鎖了您所有圖片的驚人Ultra HDRApr 24, 2025 am 11:14 AM

Google Photos的新型Ultra HDR工具:改變圖像增強的遊戲規則 Google Photos推出了一個功能強大的Ultra HDR轉換工具,將標準照片轉換為充滿活力的高動態範圍圖像。這種增強功能受益於攝影師

Descope建立AI代理集成的身份驗證框架Descope建立AI代理集成的身份驗證框架Apr 24, 2025 am 11:13 AM

技術架構解決了新興的身份驗證挑戰 代理身份集線器解決了許多組織僅在開始AI代理實施後發現的問題,即傳統身份驗證方法不是為機器設計的

Google Cloud Next 2025以及現代工作的未來Google Cloud Next 2025以及現代工作的未來Apr 24, 2025 am 11:12 AM

(注意:Google是我公司的諮詢客戶,Moor Insights&Strateging。) AI:從實驗到企業基金會 Google Cloud Next 2025展示了AI從實驗功能到企業技術的核心組成部分的演變,

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),