ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Image search with ๐Ÿค— datasets
Hugging Face BlogHugging Face Blog
AI/ML

๐Ÿค— datasets ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ Image ๊ธฐ๋Šฅ ํƒ€์ž…์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์œผ๋กœ ๋กœ๋“œํ•˜๊ณ  faiss ์ธ๋ฑ์Šค๋กœ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

Image search with ๐Ÿค— datasets

2022๋…„ 3์›” 16์ผ10๋ถ„intermediate

Context

๐Ÿค— datasets ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ดˆ๊ธฐ์— ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ค‘์ ์„ ๋‘์—ˆ์œผ๋‚˜, ์˜ค๋””์˜ค ๋ฐ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ง€์› ์š”๊ตฌ๊ฐ€ ์ฆ๊ฐ€ํ–ˆ๋‹ค. British Library์˜ ๋””์ง€ํ„ธํ™”๋œ ๋„์„œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹(์•ฝ 10,000๊ฐœ ์ƒ˜ํ”Œ)์€ OCR ๊ธฐ๋ฐ˜ ์ถ”์ถœ๋กœ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ œํ•œ๋˜์–ด ๊ธฐ์กด ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰๋ณด๋‹ค ํ’๋ถ€ํ•œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ–ˆ๋‹ค.

Technical Solution

  • ImageFolder ๋กœ๋”๋ฅผ ํ†ตํ•œ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹ ๋กœ๋“œ: ํด๋” ๊ตฌ์กฐ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ์…‹์„ ์ง์ ‘ Dataset์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ image, label ๋‘ ๊ฐ€์ง€ feature ํƒ€์ž… ์ƒ์„ฑ
  • Image feature ํƒ€์ž… ์„ค์ •: PIL.Image.Image ๊ฐ์ฒด๋กœ ๋””์ฝ”๋”ฉํ•˜๊ฑฐ๋‚˜ ๋ฐ”์ดํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ชจ๋“œ ์ง€์›
  • faiss ์ธ๋ฑ์Šค ํ†ตํ•ฉ: ๋ฐ์ดํ„ฐ์…‹์— faiss "efficient similarity search and clustering of dense vectors" ์ธ๋ฑ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฒกํ„ฐ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ
  • sentence_transformers๋ฅผ ์ด์šฉํ•œ ์ž„๋ฒ ๋”ฉ: ์ด๋ฏธ์ง€ ๋ฐ ํ…์ŠคํŠธ๋ฅผ ๋™์ผ ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ํ…์ŠคํŠธ-์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰ ๊ตฌํ˜„
  • push_to_hub๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ด๋™์„ฑ: ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์ฒ˜๋ฆฌํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ํ—ˆ๋ธŒ์— ์ €์žฅํ•˜์—ฌ ๋‹ค๋ฅธ ๋จธ์‹ /์„ธ์…˜ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ 

Key Takeaway

์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์— faiss ์ธ๋ฑ์Šค๋ฅผ ๊ฒฐํ•ฉํ•  ๋•Œ๋Š” ์‚ฌ์ „์— ๋ชจ๋ธ์˜ ๋ฐฐํฌ ๊ฐ€๋Šฅ์„ฑ๊ณผ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์œค๋ฆฌ์  ํ•จ์˜(์‹๋ฏผ์ง€ ์‹œ๋Œ€ ํ‘œํ˜„, ํŽธํ–ฅ๋œ ์ด๋ฏธ์ง€)๋ฅผ ์ถฉ๋ถ„ํžˆ ๊ฒ€ํ† ํ•ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ CLIP ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ model card์˜ out-of-scope ์‚ฌํ•ญ์„ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•˜๊ณ  ๋„๋ฉ”์ธ๋ณ„ ์„ฑ๋Šฅ ํ‰๊ฐ€ ์—†์ด ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ๋ฅผ ํ”ผํ•ด์•ผ ํ•œ๋‹ค.


์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ํŒ€์—์„œ ๐Ÿค— datasets์˜ ImageFolder ๋กœ๋”์™€ faiss ์ธ๋ฑ์Šค๋ฅผ ์กฐํ•ฉํ•˜๋ฉด, ํด๋” ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์œผ๋กœ ๋กœ๋“œํ•˜๊ณ  ํ…์ŠคํŠธ-์ด๋ฏธ์ง€ ํฌ๋กœ์Šค๋ชจ๋‹ฌ ๊ฒ€์ƒ‰์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, CLIP ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ชจ๋ธ ์‚ฌ์šฉ ์‹œ model card์˜ ๋ฐฐํฌ ์ œํ•œ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ณ  ํŠน์ • ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์„ฑ๋Šฅ ๋ฐ ํŽธํ–ฅ์„ฑ์„ ๋จผ์ € ๊ฒ€์ฆํ•ด์•ผ ํ•œ๋‹ค.

์›๋ฌธ ์ฝ๊ธฐ