Qué es FiftyOne
FiftyOne es una solución de código abierto para el desarrollo de modelos de visión por ordenador. Como conjunto de herramientas de aprendizaje automático, FiftyOne permite a los equipos científicos de datos aumentar la eficacia de sus modelos de visión por ordenador a través de diversas funcionalidades. Entre ellas se incluye la capacidad de curar meticulosamente conjuntos de datos de primer nivel, llevar a cabo evaluaciones exhaustivas de modelos, detectar errores, visualizar incrustaciones y agilizar el camino hacia la producción.
Por qué FiftyOne y Zilliz Cloud (Milvus)
Los motores de búsqueda vectorial, como Milvus, agilizan el proceso de almacenamiento, indexación y búsqueda de incrustaciones vectoriales para el creciente número de aplicaciones de IA benignas que se construyen cada día.
Para quienes integran la búsqueda vectorial en flujos de trabajo de imagen o vídeo, pueden surgir retos como la implementación de la recuperación cross-modal o la incorporación de filtros de búsqueda tradicionales. FiftyOne ofrece una solución como interfaz de visión por ordenador para la búsqueda vectorial. Con integraciones nativas con Milvus, FiftyOne permite a los usuarios aprovechar a la perfección su motor de búsqueda vectorial preferido para una búsqueda eficaz de datos visuales con una sola línea de código. Tanto si se trata de encontrar imágenes similares como de buscar objetos específicos dentro de imágenes, FiftyOne simplifica el proceso, permitiendo a los usuarios alcanzar sus objetivos de búsqueda sin esfuerzo.
Al integrar la búsqueda vectorial en los flujos de trabajo de datos de imagen o vídeo, pueden surgir varios retos:
- Implementar la recuperación cross-modal, como la búsqueda de imágenes basada en el texto asociado.
- Incorporar filtros de búsqueda tradicionales, como umbrales de confianza o etiquetas de clase.
- Búsqueda de objetos específicos dentro de las imágenes, como personas, gatos, perros, coches, bicicletas, etc.
Cómo utilizar FiftyOne y Zilliz Cloud
Para utilizar Milvus con FiftyOne, para crear un índice de similitud en sus conjuntos de datos de FiftyOne y utilizarlo para consultar sus datos es como sigue:
- Cargue su conjunto de datos en FiftyOne
- Especifique el modelo que desea utilizar para generar los vectores de incrustación y configure si desea utilizar Milvus o Zilliz Cloud para almacenar estos vectores de incrustación.
- Utilice el método
compute_similarity()para generar un índice de similitud Milvus para las muestras o parches de objetos en un conjunto de datos estableciendo el parámetro backend="milvus" y especificando una brain_key de su elección - Utilice este índice de similitud Milvus para consultar sus datos con
sort_by_similarity().
Configurar Milvus
## setup milvus ## descargar e iniciar contenedor docker + pip install pymilvus ## generate a similarity index ## con incrustaciones del modelo CLIP ## usando Milvus backend fob.compute_similarity( conjunto_datos, brain_key="milvus_clip_index", backend="milvus", metric="dotproduct"Consulta Milvus
## obtener ID de la primera muestra query = dataset.skip(1).first().id ## encontrar las 25 imágenes más similares con Milvus backend sim_view = dataset.sort_by_similarity( consulta, k=25, brain_key="milvus_clip_index" ) ## mostrar resultados session = fo.launch_app(sim_view)Más información
Consulte estos tutoriales para aprender a utilizar FiftyOne y Milvus / Zilliz Cloud.