精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Florence-2 with OpenVINO & FiftyOne:圖像分析中的現實世界應用

開發 后端
在本文中,我們將深入探討一個實際的現實世界用例,結合兩個強大工具的優勢,以最大化Florence-2模型的效率和易用性。

在本文中,我們將深入探討一個實際的現實世界用例,結合兩個強大工具的優勢,以最大化Florence-2模型的效率和易用性。我們將首先使用OpenVINO將原始的PyTorch模型轉換為優化的壓縮格式,使其能夠在僅使用CPU的機器上高效運行。

為了進一步提高其實用性并解鎖額外功能,我們將利用FiftyOne——一個用于探索和策劃圖像數據集的多功能工具——幫助我們在現實世界場景中充分利用模型的預測。

目錄

  • 每個組件的簡要介紹
  • 從Pexels獲取免費圖片
  • FiftyOne數據集
  • OpenVINO Florence-2模型
  • 將Florence-2預測添加到我們的FiftyOne數據集中
  • 探索結果
  • 參考文獻、有用鏈接和源代碼

我盡量保持簡單,以便我們開始探索這個流程的潛力。下圖顯示了數據流,從我們收集的圖像(沒有標簽的RGB圖像)到一個已經具有一些有用功能和Florence-2模型預測的FiftyOne數據集。

流程概述

每個組件的簡要介紹

讓我們非常簡要地討論一下提到的每個組件,Florence-2模型、OpenVINO和FiftyOne。

Florence-2是一個尖端的視覺基礎模型,能夠使用簡單的文本提示處理廣泛的計算機視覺和視覺-語言任務。與傳統模型在多項任務上掙扎不同,Florence-2可以輕松地在圖像描述、目標檢測和分割等任務之間切換。它通過使用一個龐大的數據集實現這一點,該數據集包含126百萬圖像上的54億視覺注釋,使其能夠理解復雜的視覺信息。這使得Florence-2成為開發者和研究人員的有力工具,提供了在多種應用中零樣本學習和微調的高級功能。

“OpenVINO是一個開源工具包,用于優化和部署從云端到邊緣的深度學習模型。它加速了各種用例的深度學習推理,例如生成性AI、視頻、音頻和語言,支持PyTorch、TensorFlow、ONNX等流行框架的模型。轉換和優化模型,并在Intel?硬件和環境的混合部署,在本地和設備上,在瀏覽器或云端。”

FiftyOne為優化圖像數據集分析流程提供了構建塊。包括可視化復雜標簽、評估模型預測、識別失敗模式、查找注釋錯誤等。這是一個非常好的工具,強烈推薦你查看他們的官方網站。

從Pexels獲取免費圖片

首先,我們需要一些圖片來開始工作。在這個例子中,我將從pexels.com收集具有通用許可的圖片,為了更有效地下載它們,我使用了一個名為pexel-downloader的Python包,不過你可以使用任何地方的任何圖片池。

安裝pexel-downloader:

pip install pexel-downloader

我已經下載了一些“奧林匹克運動”的圖片,使用pexel-downloader的代碼如下:

from pexel_downloader import PexelDownloader

if __name__ == '__main__':
    downloader = PexelDownloader(api_key="<YOUR-PEXELS-API-KEY>")

    query = "olympics sports"
    save_dir = "./dataset/images"
    downloader.download_images(query=query,
                               num_images=100,
                               save_directory=save_dir,
                               size='medium')

這將下載100張圖片并將它們保存到“./dataset/images”文件夾中。

FiftyOne數據集

一旦我們有了圖片文件夾,我們就可以創建我們的初始FiftyOne數據集。安裝FiftyOne和創建五十一數據集的代碼片段:

pip install fiftyone
import fiftyone as fo

images_dir   = "./datasets/images"
dataset_name = "sports-dataset"
dataset = fo.Dataset.from_images_dir(images_dir,
                                     name=dataset_name,
                                     persistent=True)

# You can launch the FiftyOne UI from here or later using the CLI program
# to launch it from here you can just do
session = fo.launch_app(dataset)
session.wait(-1)

# to launch from your terminal just do
# fiftyone app launch <dataset-name>

當Fiftyone應用程序運行時,你現在可以從瀏覽器(默認localhost:5151)探索你的數據集。

沒有標簽的我們運動數據集的FiftyOne UI

OpenVINO Florence-2模型

下一步是使用OpenVINO優化Florence-2模型。幸運的是,我們可以依賴英特爾OpenVINO團隊的出色工作。他們已經創建了一個全面的演示和代碼,展示了如何從Hugging Face轉換Florence-2 PyTorch模型。你可以從我的Google Drive獲取轉換后的模型,只需將其下載到完整代碼項目目錄的主文件夾中(本文的完整Github代碼見文章末尾)。

將Florence-2預測添加到我們的FiftyOne數據集中

最后,讓我們將OpenVINO Florence-2預測添加到我們的FiftyOne數據集中!為此,我們只使用目標檢測和圖像描述。此外,讓我們探索另一個非常有用的特性,即圖像嵌入空間探索工具,為此,讓我們將佛羅倫薩圖像編碼器的輸出保存為我們的圖像嵌入。完整的代碼如下所述,基本上,它加載我們已經創建的Fiftyone數據集,并從磁盤加載我們的模型(使用openvino-notebook示例中的OVFlorence2Model)。

import click
import fiftyone.brain as fob
import fiftyone as fo
from ov_florence2_helper import OVFlorence2Model
from transformers import AutoProcessor
from PIL import Image

import numpy as np

def normalize_bbox(bbox, image_height, image_width):
    x1, y1, x2, y2 = bbox
    return (x1 / image_width, y1 / image_height,
            (x2 - x1) / image_width, (y2 - y1) / image_height)

def run_inference(sample_collection, model_path):
    processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
    model = OVFlorence2Model(model_path, "AUTO")

    for sample in sample_collection.iter_samples(autosave=True, progress=True):
        try:
            # Load image
            image = Image.open(sample.filepath)
            width, height = image.width, image.height

            # Extract image-features (embedding)
            inputs = processor(text="<OD>", images=image, return_tensors="pt")
            image_features = model.encode_image(inputs["pixel_values"])

            # Object detection and caption inference in a single loop
            detections, caption = [], None
            for task in ["<OD>", "<CAPTION>"]:
                if task == "<CAPTION>":
                    inputs = processor(text=task, images=image, return_tensors="pt")
                generated_ids = model.generate(input_ids=inputs["input_ids"],
                                            pixel_values=inputs["pixel_values"],
                                            max_new_tokens=1024,
                                            do_sample=False,
                                            image_features=image_features,
                                            num_beams=3)
                generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
                parsed_answer  = processor.post_process_generation(generated_text, task=task, image_size=(width, height))

                if task == "<OD>":
                    for idx, bbox in enumerate(parsed_answer[task]['bboxes']):
                        label = parsed_answer[task]["labels"][idx]
                        normalized_bbox = normalize_bbox(bbox, height, width)
                        detections.append(fo.Detection(label=label, bounding_box=normalized_bbox))
                else:
                    caption = parsed_answer[task]

            # Add predictions to sample
            sample["detections"] = fo.Detections(detections=detections)
            sample["caption"] = caption
            sample["florence2_image_feats"] = image_features.reshape(-1) # flatting image features
        except Exception as e:
            continue

@click.command()
@click.option("--dataset-name",
              "--name",
              required=True,
              prompt="Name of the dataset?")
@click.option("--model-path",
              "-m",
              required=False,
              default="Florence-2-base")
def main(dataset_name, model_path):
    assert fo.dataset_exists(dataset_name), f"Dataset {dataset_name} does not exist yet."
    dataset = fo.load_dataset(dataset_name)
    run_inference(dataset, model_path)

    ###################################################################
    # Get 2D embedding space visualization from florence2-image-feats #
    ###################################################################
    # recovery embeddings (image features) from the sample field "florence2_image_feats", populated during "run_inference"
    florence_embeddings = dataset.values(field_or_expr="florence2_image_feats")
    florence_embeddings = np.array(florence_embeddings).reshape(len(dataset), -1)

    print("[INFO] Computing 2D visualization using embeddings")
    fob.compute_visualization(dataset,
                              embeddings=florence_embeddings,
                              method="umap",
                              brain_key="florence2_embegginds_viz")

if __name__ == '__main__':
    main()

我們添加了模型的三個期望內容,目標檢測(邊界框)、標題(文本)和圖像嵌入(編碼器的圖像特征)。

sample["detections"] = fo.Detections(detections=detections)
sample["caption"] = caption
sample["florence2_image_feats"] = image_features.reshape(-1) # flatting image features

在遍歷所有樣本并添加預測之后,我們可以使用“florence2_image_feats”創建嵌入空間的2D可視化。下面的代碼片段顯示了如何使用FiftyOne大腦模塊(fiftyone.brain)的內置函數來實現這一點。

###################################################################
# Get 2D embedding space visualization from florence2-image-feats #
###################################################################
# recovery embeddings (image features) from the sample field "florence2_image_feats", populated during "run_inference"
florence_embeddings = dataset.values(field_or_expr="florence2_image_feats")
florence_embeddings = np.array(florence_embeddings).reshape(len(dataset), -1)

print("[INFO] Computing 2D visualization using embeddings")
fob.compute_visualization(dataset,
                          embeddings=florence_embeddings,
                          method="umap",
                          brain_key="florence2_embegginds_viz")

探索結果

帶有標題的樣本示例:“兩個擊劍運動員在舞臺上進行動作”

標題:“一群花樣游泳運動員在游泳池中”

讓我們也檢查一下嵌入空間以及嵌入接近的樣本之間的關系(“聚類意義”)。

一個包含游泳池/水的圖像群

體育場

參考資料OpenVINO的官方文檔:https://docs.openvino.ai/2024/index.html

完整代碼:https://github.com/Gabriellgpc/computer-vision-dataset-maker

責任編輯:趙寧寧 來源: 小白玩轉Python
相關推薦

2024-10-21 08:24:29

Florence-2視覺語言模型VLM

2024-06-24 13:35:58

2020-11-25 13:33:07

區塊鏈比特幣加密貨幣

2020-10-16 09:00:00

區塊鏈區塊鏈應用

2011-09-29 14:58:54

中視典VRP虛擬現實

2020-01-15 12:43:51

人工智能機器學習工程師

2018-03-01 14:49:53

多云云計算混合云

2023-07-27 14:44:03

物聯網IOT

2023-09-06 15:27:00

混合現實架構

2023-12-26 17:27:10

2022-03-02 09:11:09

機器學習網絡

2016-08-24 14:16:26

2023-09-20 14:32:07

云計算

2021-01-21 15:40:45

VRARVR眼鏡

2018-03-07 13:30:09

數據庫Redis

2022-05-06 17:33:10

元宇宙現實問題沉迷風險

2015-12-17 14:40:41

Java解決難題

2022-01-14 11:48:39

量子計算硬件技術

2011-06-01 14:16:17

SQL Azure

2017-12-29 09:18:35

公共云成功經驗
點贊
收藏

51CTO技術棧公眾號

欧美一卡二卡| www.色亚洲| 成人在线视频免费观看| 日本韩国欧美一区二区三区| 亚洲精品一区二区三区四区五区| 国产又粗又大又黄| 136国产福利精品导航网址| 亚洲精品久久在线| 自拍偷拍一区二区三区四区 | 亚洲精品美女在线观看播放| av免费网站观看| 黄色的网站在线观看| 91丨九色丨蝌蚪丨老版| 成人精品久久一区二区三区| 久久这里只有精品国产| 久久91精品| 日韩精品中文字幕在线不卡尤物| 日日碰狠狠躁久久躁婷婷| 黄色在线观看网站| 国产亚洲成年网址在线观看| 成人免费视频观看视频| 一二三四区在线| 国产日韩欧美三区| 欧美精品手机在线| 日本一区二区视频在线播放| 大陆精大陆国产国语精品| 欧美在线观看视频一区二区 | 免费在线日韩av| 久久精品夜夜夜夜夜久久| 黄色网址在线视频| 韩国三级大全久久网站| 精品视频免费看| 黄色片视频在线播放| 亚洲奶水xxxx哺乳期| 中文字幕va一区二区三区| 久久国产精品一区二区三区 | 精品呦交小u女在线| 无码国产精品一区二区高潮| 日韩精品一页| 欧美综合在线视频| 无遮挡又爽又刺激的视频| 91jq激情在线观看| 亚洲一区二区四区蜜桃| 美女av免费观看| 成人福利片网站| 中文字幕亚洲视频| 色播亚洲婷婷| 成人免费一区二区三区视频网站| 久久伊人中文字幕| 久久精品99久久| 亚洲色图 校园春色| 成人av在线资源网| 国产一区不卡在线观看| 国产18精品乱码免费看| 成人晚上爱看视频| 国产亚洲精品久久飘花| 成人免费视频国产| 成人av网址在线| 国产日韩一区二区三区| 色婷婷av一区二区三| proumb性欧美在线观看| 久久av一区二区| 九色国产在线观看| 中文字幕第一区综合| 正在播放91九色| 二区三区在线观看| 亚洲一区二区精品久久av| 久久99中文字幕| 日韩在线伦理| 欧美在线免费播放| 视频在线观看免费高清| 国产日本亚洲| 亚洲成人激情在线| 国产精品三级在线观看无码| 国语产色综合| www.久久久久久.com| 黄色片在线观看网站| 亚洲高清二区| 日本精品在线视频| 一区二区美女视频| 丁香婷婷综合五月| 欧美日韩在线精品| 三级外国片在线观看视频| 亚洲黄色性网站| 男人添女人下面高潮视频| 欧美黑人一区| 欧美一区二区三区视频在线观看| 稀缺小u女呦精品呦| 嫩草影视亚洲| 欧美精品亚州精品| 免费av中文字幕| 国产乱子轮精品视频| 久久久久久久久久久一区| jzzjzzjzz亚洲成熟少妇| 又紧又大又爽精品一区二区| 久久久亚洲精品无码| 国产私拍福利精品视频二区| 欧美一区三区四区| 欧美特黄一区二区三区| 久久久久免费av| 欧美一级黑人aaaaaaa做受| 中文字幕一区二区人妻痴汉电车| 国产成人h网站| 日韩高清dvd| 俺来也官网欧美久久精品| 在线看国产一区| 国内精品免费视频| 久久视频国产| 欧美亚洲另类制服自拍| 国产女人高潮毛片| 久久久99久久精品欧美| 国产一区二区三区播放| 视频精品导航| 日韩电影中文字幕av| 欧美成人777| 日韩精品国产欧美| 精品一区国产| 91黄色在线| 欧美日韩综合在线免费观看| 内射中出日韩无国产剧情| 亚洲精品一二三区区别| 国产精品福利在线| 日本成人一区| 亚洲.国产.中文慕字在线| 天堂在线一区二区三区| 日韩av在线播放网址| 欧美在线视频观看| 日本国产在线观看| 一区二区三区中文字幕精品精品 | 婷婷丁香久久| 亚洲一区二区黄| 毛片视频网站在线观看| 成人激情视频网站| 色撸撸在线观看| 久久精品国产福利| 在线视频亚洲欧美| 久久久久久亚洲av无码专区| 91在线播放网址| 可以在线看的av网站| 亚洲视频精选| 久久国产精品影片| 国产口爆吞精一区二区| 日韩一区在线看| 中文字幕 欧美日韩| 欧美综合另类| 国产欧美日韩精品专区| seseavlu视频在线| 欧美理论片在线| 国精品人伦一区二区三区蜜桃| 日欧美一区二区| 日产精品一线二线三线芒果| 在线观看精品| 一区二区三区黄色| 亚洲无码久久久久久久| 一区免费观看视频| www,av在线| 欧美韩日精品| 国产精品一区二区a| 国产剧情av在线播放| 日韩成人在线网站| 97免费在线观看视频| 97久久超碰精品国产| 中文字幕乱码人妻综合二区三区| 亚洲三级精品| 国产精品一区二区久久国产| 黄色精品在线观看| 精品久久久三级丝袜| 日本熟妇乱子伦xxxx| 久久综合久久久久88| 日本新janpanese乱熟| 久久国产亚洲| 99久re热视频这里只有精品6| 1区2区3区在线| 亚洲欧美日韩在线高清直播| 国产精品尤物视频| 亚洲欧美日韩在线播放| 成年女人免费视频| 天堂va蜜桃一区二区三区漫画版| 亚洲高清精品中出| 亚洲日本视频在线| 国产精品1区2区在线观看| 五月天婷婷在线视频| 欧美mv日韩mv| 懂色av中文字幕| 亚洲精品视频在线看| 国产肉体xxxx裸体784大胆| 日本视频一区二区| 青青青在线观看视频| 亚洲人和日本人hd| 亚洲在线免费看| av综合电影网站| 久久综合五月天| 瑟瑟在线观看| 欧美一区二区视频在线观看2020 | 欧美丝袜丝交足nylons| 欧美成人精品欧美一级私黄| 91首页免费视频| 91热视频在线观看| 久久成人一区| www国产免费| re久久精品视频| 国产伦精品一区二区三区| 亚洲欧美在线成人| 欧美激情一区二区三区在线视频观看| 精品亚洲综合| 亚洲成人精品视频| 91精品人妻一区二区三区果冻| 亚洲综合无码一区二区| 三年中国中文观看免费播放| 成人免费视频国产在线观看| 亚洲国产日韩欧美在线观看| 影音先锋亚洲电影| 中文字幕制服丝袜在线| 九九亚洲视频| 国产一区免费观看| 欧美专区一区| 国产色婷婷国产综合在线理论片a| 嗯啊主人调教在线播放视频| 久久九九全国免费精品观看| 久久伊伊香蕉| 国产视频亚洲视频| 蜜桃av中文字幕| 69久久夜色精品国产69蝌蚪网| 亚洲精品成人在线视频| 午夜免费久久看| 人妻少妇精品一区二区三区| 国产欧美精品一区二区色综合朱莉 | 国产精品久久久久久户外露出 | 欧美巨乳美女视频| 欧美jizzhd69巨大| 在线电影av不卡网址| 青春有你2免费观看完整版在线播放高清| 欧美一级日韩不卡播放免费| 在线观看亚洲国产| 在线观看av一区| av一级在线观看| 一本大道久久a久久精二百| 国产一区二区三区影院| 亚洲国产美女搞黄色| 国产亚洲成人av| 夜夜嗨av一区二区三区中文字幕| 一区二区国产精品精华液| 国产精品日韩精品欧美在线| 日韩女同一区二区三区| 中文字幕第一区| 国产精品suv一区二区88| 国产精品污污网站在线观看| 国产又粗又黄又猛| 日本一区二区三区免费乱视频| www.av天天| 国产三级欧美三级日产三级99 | 亚洲一级不卡视频| 精品少妇久久久| 亚洲成a人片综合在线| 久久精品国产av一区二区三区| 亚洲国产一区二区三区| 国产精彩视频在线| 欧美日韩精品在线观看| 中文字幕免费观看| 欧美自拍丝袜亚洲| 一级片视频播放| 欧美一区二区视频在线观看 | 国产电影一区二区三区爱妃记| 国产精品成人aaaaa网站| 国产一区二区三区四区五区3d | 女同一区二区三区| 久久久久久亚洲精品不卡4k岛国| 国产精品嫩草影院在线看| 在线观看免费91| 欧美天天在线| 免费毛片小视频| 青娱乐精品视频| 亚洲欧美一区二区三区不卡| 高清在线观看日韩| 欧美bbbbb性bbbbb视频| 欧美极品少妇xxxxⅹ高跟鞋| 国产黄色小视频网站| 亚洲永久精品国产| 亚洲天堂五月天| 4438x成人网最大色成网站| 亚洲第一视频在线| 亚洲日韩第一页| 国产精品一区二区三区视频网站| 高清欧美电影在线| 唐人社导航福利精品| 91美女片黄在线观| 欧美电影完整版在线观看| 四虎永久国产精品| 国产一区亚洲| 免费看黄色一级大片| 国产精品一区专区| 97伦伦午夜电影理伦片| 亚洲青青青在线视频| 久久亚洲精品国产| 正在播放一区二区| 天堂中文在线资| 另类色图亚洲色图| 日韩成人动漫| 不卡视频一区二区三区| 成人三级视频| av免费播放网址| 黑人巨大精品欧美黑白配亚洲| 中文字幕在线播放视频| 亚洲少妇最新在线视频| 国产成人在线视频观看| 日韩女优制服丝袜电影| www亚洲人| 欧美专区中文字幕| 中文字幕av一区二区三区四区| 日本精品一区二区| 亚洲国产三级| 无码人妻一区二区三区在线视频| 久久久久国产精品免费免费搜索| 精品午夜福利视频| 在线播放国产精品二区一二区四区 | 亚洲va码欧洲m码| 少妇精品久久久一区二区三区| 99热都是精品| 蜜臀久久久久久久| 短视频在线观看| 亚洲超碰精品一区二区| 国产免费无遮挡| 中文字幕无线精品亚洲乱码一区 | 久久久精品视频免费| 欧美日韩高清影院| 国产精品四虎| 欧美一区二区影院| 国产福利资源一区| 男人添女人荫蒂免费视频| 狠狠色狠狠色综合| 国内毛片毛片毛片毛片毛片| 欧美性大战久久久久久久| 免费资源在线观看| 青青草原一区二区| 丝袜久久网站| 欧美性大战久久久久xxx| 成人aa视频在线观看| 国产在线观看成人| 精品美女一区二区| 国产丝袜精品丝袜| 99国产在线视频| 伊人蜜桃色噜噜激情综合| 成人三级做爰av| 一区二区三区四区乱视频| 国产成人精品毛片| 欧美国产日产韩国视频| 2021年精品国产福利在线| 91网站在线观看免费| 成人午夜在线视频| 日韩av无码中文字幕| 亚洲国产精品yw在线观看 | 国产一区精品| 国产成人亚洲综合91精品| 国产一区三区在线播放| 亚洲黄色a v| 国产精品麻豆久久久| 91亚洲精品国偷拍自产在线观看| 神马久久桃色视频| 99亚洲男女激情在线观看| 成人短视频在线观看免费| 国产成人精品免费| 日本少妇在线观看| 亚洲性猛交xxxxwww| 亚洲伦理网站| 久久天天东北熟女毛茸茸| 国产a精品视频| 性无码专区无码| 亚洲一级一级97网| 国产精品亚洲四区在线观看| 黄色成人在线免费观看| 99久久精品国产观看| 欧美一区二区三区久久久| 综合久久五月天| 日韩一区二区三区精品视频第3页| 国产无限制自拍| 久久久91精品国产一区二区精品| 亚洲天堂中文在线| 久久99亚洲精品| 中国av一区| 久久婷婷中文字幕| 五月激情综合色| 成人在线高清视频| 99国产视频| 日韩av一区二区三区四区| 久久久久久久久久网站| 日韩精品久久久久| 在线观看欧美| 欧美一区二区三区爽大粗免费| 中文字幕免费不卡| 亚洲精品喷潮一区二区三区| 国产成人精品一区二区在线| 中文字幕一区二区三区在线视频| 亚洲自拍偷拍精品| 欧美日韩国产欧美日美国产精品| 欧美videossex另类| 日韩av在线电影观看| 国产999精品久久| 中文字幕一二区| 5278欧美一区二区三区| 亚洲成av人片一区二区密柚|