FiftyOne

FiftyOne 集成 Milvus 和 Zilliz Cloud

免费试用 Zilliz Cloud
  • 什么是 FiftyOne

    FiftyOne 是一款面向计算机视觉模型开发的开源代码工具。作为一款功能强大的机器学习套件,它帮助数据科学团队通过多种功能提升其计算机视觉模型的性能。这些功能不仅包括精确的数据集策展、全面深入的模型评估,还能够精确识别错误、可视化 Embedding,并助力模型开发流程的高效生产化。

  • FiftyOne 与 Zilliz Cloud (Milvus) 集成

    向量搜索引擎,例如Milvus,极大地优化了向量 Embedding 在存储、索引和搜索方面的流程,支撑起了日新月异的 AI 应用发展。

    对于那些需要在图像或视频工作流程中集成向量搜索的开发者来说,跨模态检索的实现与传统搜索过滤器的融合成为了新的挑战。FiftyOne 作为一款计算机视觉与向量搜索相结合的接口,提供了一站式解决方案。通过与 Milvus 的深度集成,用户只需简单的一行代码,就能轻松使用向量搜索引擎进行高效的视觉数据检索,无论是相似图像的查找还是图像中具体对象的搜寻,FiftyOne 都能化繁为简,让用户轻松达成搜索目标。

    在图像或视频数据流程中集成向量搜索时,可能会遇到以下难题:

    • 如何实现跨模态检索,例如基于文本描述搜索相关图像。
    • 如何融合传统的搜索条件,例如设定置信度阈值或应用类别标签。
    • 如何针对图像中的具体对象进行精准搜索,包括人物、动物、车辆等多种目标。
  • 如何使用 FiftyOne 和 Zilliz Cloud

    要借助 FiftyOne 使用 Milvus,并在您的数据集上创建索引以执行查询,您可以按照以下步骤操作:

    1. 将您的数据集导入 FiftyOne;
    2. 选择用于生成向量 Embedding 的模型,并决定是否使用 Milvus 或 Zilliz Cloud 作为这些 Embedding 向量的存储方案;
    3. 调用 compute_similarity() 方法,通过设置 backend 参数为 milvus 并选择一个合适的 brain_key,为数据集中的样本或对象区域生成 Milvus 相似性索引;
    4. 最后,使用生成的 Milvus 相似性索引,通过 sort_by_similarity() 方法对数据进行按相似度排序的查询。

    构建 Milvus

    ## setup milvus
    ## download and start docker container +
    pip install pymilvus
    ## generate a similarity index
    ## with CLIP model embeddings
    ## using Milvus backend
    fob.compute_similarity(
       dataset,
       brain_key="milvus_clip_index",
       backend="milvus",
       metric="dotproduct"
    

    使用 Milvus 查询

    ## get ID of first sample
    query = dataset.skip(1).first().id
    ## find 25 most similar images with Milvus backend
    sim_view = dataset.sort_by_similarity(
       query,
       k=25,
       brain_key="milvus_clip_index"
    )
    ## display results
    session = fo.launch_app(sim_view)
    
  • 了解更多

    参考以下教程,了解如何使用 FiftyOne 和 Milvus/Zilliz Cloud。