訂閱
糾錯
加入自媒體

如何在notebook使用FiftyOne 可以開啟notebook?

FiftyOne和Jupyter

“ FiftyOne是什么?”。這是一個開放源代碼的CV / ML項目,希望解決工業(yè)和學術(shù)界的CV / ML研究人員面臨的許多實際問題和工具問題。這是我寫這篇文章的原因,也是我認為計算notebook的歷史包含寶貴經(jīng)驗的原因。作為FiftyOne的開發(fā)人員,我很欣賞它所鼓勵的研究質(zhì)量以及所允許的協(xié)作。我同意,最好在一個開放的論壇中取得最好的進展。讓機器為我們做出智能和自動化決策的機會促使我們進行了大量的人工工作。前面概述的notebook和科學出版的簡要歷史與當今機器學習面臨的許多問題平行。具體而言,在計算機視覺領(lǐng)域。計算機視覺模型試圖對我們這個世界上非結(jié)構(gòu)化的,即圖像和視頻進行觀察和決策。

在過去的十年中,為了追求訓練和理解這些模型的性能,數(shù)以千計的圖像中的大型數(shù)據(jù)集已被數(shù)千名工人不完全注釋。讓機器為我們做出智能和自動化決策的機會促使我們進行了大量的人工工作。事實證明,最近在無需監(jiān)督而又費力的人工標注工作(例如OpenAI的CLIP)的計算機視覺任務(wù)的更無監(jiān)督的方法上的努力取得了豐碩的成果。但是性能仍然遠遠不夠完美。而且,理解模型性能總是需要針對可信的、真實值或黃金標準數(shù)據(jù)進行手動驗證。畢竟,這些模型并不是被送到樹林里去操作和推斷的。模型正被嵌入我們的日常生活中,它們的表現(xiàn)質(zhì)量可能會產(chǎn)生生死攸關(guān)的后果。我們用來分析計算機視覺模型的方法和工具的質(zhì)量,應(yīng)該與用于構(gòu)建它們的方法和工具的質(zhì)量相匹配。因此,可以肯定的是,我們用來分析計算機視覺模型的方法和工具的質(zhì)量應(yīng)該與用于構(gòu)建模型的方法和工具的質(zhì)量相匹配。而累積的,協(xié)作的和漸進的問題解決仍至關(guān)重要。建立開放標準,使CV / ML社區(qū)不僅是在模型上,而且是在數(shù)據(jù)集上,以增量方式協(xié)同工作,這可能是在現(xiàn)代計算機視覺科學領(lǐng)域建立信任和進步的唯一可行方法。FiftyOne希望能夠建立這種信任和進步。

以下是FiftyOne當前功能的一個小示例,重點是演示基本的API和UX,這些API和UX可以在Jupyter Notebook中高效地回答有關(guān)其數(shù)據(jù)集和模型的問題。與FiftyOne一起挖掘COCO按照此Colab Notebook中的說明進行操作:https://colab.research.google.com/github/voxel51/fiftyone-examples/blob/master/examples/digging_into_coco.ipynbnotebook電腦提供了一種方便的方式來分析視覺數(shù)據(jù)集。代碼和可視化可以位于同一個地方,這正是CV / ML經(jīng)常需要的地方。考慮到這一點,能夠在視覺數(shù)據(jù)集中發(fā)現(xiàn)問題是改進它們的第一步。本節(jié)將引導(dǎo)我們深入挖掘圖像數(shù)據(jù)集中問題的每個“步驟”(即notebook單元)。我鼓勵你進入Colab Notebook并親自體驗:https://colab.research.google.com/github/voxel51/fiftyone-examples/blob/master/examples/digging_into_coco.ipynb首先,我們需要使用pip安裝fiftyone軟件包。

!pip install fiftyone

接下來,我們可以下載并加載我們的數(shù)據(jù)集。我們將使用COCO-2017驗證拆分。我們還花點時間使用FiftyOne App可視化真實值檢測標簽。以下代碼將為我們完成所有這些工作。import fiftyone as fo
import fiftyone.zoo as foz
dataset = foz.load_zoo_dataset("coco-2017", split="validation")
session = fo.launch_app(dataset)

具有真實值檢測功能的COCO-2017。我們已經(jīng)加載了驗證數(shù)據(jù)集COCO-2017,現(xiàn)在讓我們下載并加載模型并將其應(yīng)用于驗證數(shù)據(jù)集。我們將使用來自FiftyOne model zoo的預(yù)訓練模型faster-rcnn-resnet50-fpn-coco-torch。讓我們將預(yù)測應(yīng)用于新的標簽字段predictions,并將應(yīng)用范圍限制到置信度大于或等于0.6的檢測。FiftyOne Model zoo:https://voxel51.com/docs/fiftyone/user_guide/model_zoo/index.htmlmodel = foz.load_zoo_model("faster-rcnn-resnet50-fpn-coco-torch")
dataset.a(chǎn)pply_model(model, label_field="predictions", confidence_thresh=0.6)

讓我們專注于與車輛檢測有關(guān)的問題,并在真實值標簽和我們的預(yù)測中考慮所有公共汽車,小汽車和卡車車輛,并忽略任何其他檢測。以下內(nèi)容將我們的數(shù)據(jù)集過濾到僅包含我們的車輛檢測數(shù)據(jù)的視圖,并在App中呈現(xiàn)該視圖。from fiftyone import ViewField as F
vehicle_labels = ["bus","car", "truck"]
only_vehicles = F("label").is_in(vehicle_labels)
vehicles = (
   dataset
   .filter_labels("predictions", only_vehicles, only_matches=True)
   .filter_labels("ground_truth", only_vehicles, only_matches=True)

session.view = vehicles

僅使用車輛真實值情況和預(yù)測的檢測結(jié)果進行的COCO-2017驗證,F(xiàn)在我們有了預(yù)測,我們可以評估模型了。我們將使用FiftyOne提供的使用COCO評估方法的實用方法evaluate_detections()。from fiftyone.utils.eval import evaluate_detections
evaluate_detections(vehicles, "predictions",  gt_field="ground_truth", iou=0.75)
evaluate_detections()已將有關(guān)評估的各種數(shù)據(jù)填充到我們的數(shù)據(jù)集中。值得注意的是有關(guān)哪些預(yù)測與真實值框不匹配的信息。下面的數(shù)據(jù)集視圖使我們僅查看那些不匹配的預(yù)測。我們也將按照置信值以降序排序。filter_vehicles = F("ground_truth_eval.matches.0_75.gt_id") == -1
unmatched_vehicles = (
   vehicles
   .filter_labels("predictions", filter_vehicles, only_matches=True)
   .sort_by(F("predictions.detections").map(F("confidence")).max(), reverse=True)

session.view = unmatched_vehicles

<上一頁  1  2  3  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號