| Nama | Link |
|---|---|
| Ekstraksi dan klasifikasi fitur fashion | |
| Tutorial - Evaluasi Fashionklip dengan Reclist |
UPDATE (10/03/23): Kami telah memperbarui model! Kami menemukan bahwa pos pemeriksaan Laion/Clip-Vit-B-32-Laion2b-S34B-B79K (terima kasih Bin!) Bekerja lebih baik daripada klip OpenAi asli pada mode. Dengan demikian, kami menyempurnakan versi FashionClip yang lebih baru (dan lebih baik!) (Selanjutnya Fashionclip 2.0), sambil menjaga arsitektur tetap sama. Kami mendalilkan bahwa keuntungan perofrmance yang diberikan oleh laion/CLIP-ViT-B-32-laion2B-s34B-b79K disebabkan oleh peningkatan data pelatihan (data klip 5x OpenAI). Tesis kami, bagaimanapun, tetap sama-fine-tuning laion/CLIP pada dataset mode kami meningkatkan nol-shot perofrmance di tolok ukur kami. Lihat tabel di bawah ini membandingkan skor F1 makro tertimbang di seluruh model. `
| Model | FMNIST | Kagl | DALAM |
|---|---|---|---|
| Klip Openai | 0.66 | 0.63 | 0.45 |
| Fashionclip | 0.74 | 0.67 | 0.48 |
| Klip Laion | 0.78 | 0.71 | 0,58 |
| Fashionclip 2.0 | 0.83 | 0.73 | 0.62 |
Kami sekarang sedang memeluk wajah! Model tersedia di sini.
Kami sekarang berada di Laporan Ilmiah Alam!
@Article{Chia2022,
title="Contrastive language and vision learning of general fashion concepts",
author="Chia, Patrick John
and Attanasio, Giuseppe
and Bianchi, Federico
and Terragni, Silvia
and Magalh{~a}es, Ana Rita
and Goncalves, Diogo
and Greco, Ciro
and Tagliabue, Jacopo",
journal="Scientific Reports",
year="2022",
month="Nov",
day="08",
volume="12",
number="1",
pages="18958",
abstract="The steady rise of online shopping goes hand in hand with the development of increasingly complex ML and NLP models. While most use cases are cast as specialized supervised learning problems, we argue that practitioners would greatly benefit from general and transferable representations of products. In this work, we build on recent developments in contrastive learning to train FashionCLIP, a CLIP-like model adapted for the fashion industry. We demonstrate the effectiveness of the representations learned by FashionCLIP with extensive tests across a variety of tasks, datasets and generalization probes. We argue that adaptations of large pre-trained models such as CLIP offer new perspectives in terms of scalability and sustainability for certain types of players in the industry. Finally, we detail the costs and environmental impact of training, and release the model weights and code as open source contribution to the community.",
issn="2045-2322",
doi="10.1038/s41598-022-23052-9",
url="https://doi.org/10.1038/s41598-022-23052-9"
}
Kami sedang menunggu rilis resmi Dataset Farfetch, di mana bobot model yang disesuaikan, vektor gambar yang telah diproses dan vektor teks akan dipublikasikan. Sementara itu, kami saat ini menggunakan implementasi CLIP wajah pelukan dan dapat menggunakan bobot model dari openai dengan mengikuti konvensi penamaan hugginface standar (yaitu fclip = FashionCLIP('<username>/<repo_name>', ... ) ). Kami juga mendukung repositori pribadi (yaitu fclip = FashionCLIP('<username>/<repo_name>', auth_token=<AUTH_TOKEN>, ... ) ).
Lihat di bawah untuk detail lebih lanjut!
FashionCLIP adalah model seperti klip yang disesuaikan untuk industri mode. We Fine Tune CLIP (Radford et al., 2021 pada lebih dari 700k <Image, Text> Pasangan dari Farfetch Dataset 1 .
Kami mengevaluasi fashionclip dengan menerapkannya untuk membuka masalah dalam industri seperti pengambilan, klasifikasi dan penguraian mode. Hasil kami menunjukkan bahwa penyempurnaan membantu menangkap konsep khusus domain dan menggeneralisasikannya dalam skenario zero-shot. Kami juga melengkapi tes kuantitatif dengan analisis kualitatif, dan menawarkan wawasan awal tentang bagaimana konsep yang didasarkan pada ruang visual membuka generalisasi linguistik. Silakan lihat makalah kami untuk lebih jelasnya.
Dalam repositori ini, Anda akan menemukan API untuk berinteraksi dengan FashionCLIP dan demo interaktif yang dibangun menggunakan Streamlit (segera hadir!) Yang menampilkan kemampuan FashionCLIP .
Butuh cara cepat untuk menghasilkan embeddings? Apakah Anda ingin menguji kinerja pengambilan?
Pertama -tama, Anda harus dapat dengan cepat menginstal ini menggunakan PIP.
$ pip install fashion-clip
Jika Anda memiliki daftar teks dan jalur gambar, sangat mudah untuk menghasilkan embeddings:
from fashion_clip . fashion_clip import FashionCLIP
fclip = FashionCLIP ( 'fashion-clip' )
# we create image embeddings and text embeddings
image_embeddings = fclip . encode_images ( images , batch_size = 32 )
text_embeddings = fclip . encode_text ( texts , batch_size = 32 )
# we normalize the embeddings to unit norm (so that we can use dot product instead of cosine similarity to do comparisons)
image_embeddings = image_embeddings / np . linalg . norm ( image_embeddings , ord = 2 , axis = - 1 , keepdims = True )
text_embeddings = text_embeddings / np . linalg . norm ( text_embeddings , ord = 2 , axis = - 1 , keepdims = True )Gunakan Colab Notebook kami untuk melihat lebih banyak fungsi.
from PIL import Image
import requests
from transformers import CLIPProcessor , CLIPModel
model = CLIPModel . from_pretrained ( "patrickjohncyh/fashion-clip" )
processor = CLIPProcessor . from_pretrained ( "patrickjohncyh/fashion-clip" )
image = Image . open ( "images/image1.jpg" )
inputs = processor ( text = [ "a photo of a red shoe" , "a photo of a black shoe" ],
images = image , return_tensors = "pt" , padding = True )
outputs = model ( ** inputs )
logits_per_image = outputs . logits_per_image # this is the image-text similarity score
probs = logits_per_image . softmax ( dim = 1 )
print ( probs )
image . resize (( 224 , 224 )) Dari root proyek, instal paket fashion-clip secara lokal
$ pip install -e .
Ada dua abstraksi utama untuk memudahkan penggunaan FashionCLIP yang mudah.
Pertama, kelas FCLIPDataset yang merangkum informasi yang terkait dengan katalog yang diberikan dan memaparkan informasi yang penting untuk FashionCLIP . Selain itu, ia menyediakan fungsi penolong untuk eksplorasi cepat dan visualisasi data. Parameter inisialisasi utama adalah
name: str -> Name of dataset
image_source_path: str -> absolute path to images (can be local or s3)
image_source_type: str -> type of source (i.e. local or s3)
catalog: List[dict] = None -> list of dicts containing at miniumum the keys ['id', 'image', 'caption']
Untuk kemudahan penggunaan, API juga menyediakan akses ke dataset ( setelah dirilis secara resmi ), digunakan dalam makalah untuk melatih FahionCLIP , dengan hanya menentukan nama katalog yang sesuai.
from fashion_clip import FCLIPDataset
dataset = FCLIPDataset(name='FF',
image_source_path='path/to/images',
image_source_type='local')
from fashion_clip import FCLIPDataset
my_catalog = [{'id': 1, 'image': 'x.jpg', 'caption': 'image x'}]
dataset = FCLIPDataset(name='my_dataset',
image_source_path='path/to/images',
image_source_type='local',
catalog=my_catalog)
Abstraksi kedua adalah kelas FashionCLIP , yang mengambil nama model klip wajah yang memeluk dan FCLIPDataset , dan menyediakan fungsi yang nyaman untuk melakukan tugas-tugas seperti pengambilan multi-modal, klasifikasi nol-shot dan lokalisasi. Parameter inisialisasi untuk FashionCLIP adalah sebagai berikut:
model_name: str -> Name of model OR path to local model
dataset: FCLIPDataset -> Dataset,
normalize: bool -> option to convert embeddings to unit norm
approx: bool -> option to use approximate nearest neighbors
Mirip dengan abstraksi FCLIPDataset , kami telah menyertakan model FashionCLIP pra-terlatih dari kertas, yang di-host di sini. Jika dataset dan kombinasi model yang tidak diketahui diterima, gambar dan vektor caption akan dihasilkan pada instantiasi objek, jika tidak, vektor/embeddings yang sudah dikomputasi sebelumnya akan ditarik dari S3.
from fashion_clip import FCLIPDataset, FashionCLIP
dataset = FCLIPDataset(name='FF',
image_source_path='path/to/images',
image_source_type='local')
fclip = FashionCLIP('fasihon-clip', ff_dataset)
Untuk perincian lebih lanjut tentang cara menggunakan paket, lihat buku catatan yang menyertainya!
Rilis resmi yang tertunda. ↩