پیدا کردن محصول از روی عکس با هوش مصنوعی؛ آموزش جستوجوی تصویری کالا
عکس یک لباس، وسیله یا محصول را دارید اما نامش را نمیدانید؟ در این راهنما روش جستوجوی کالا با Google Lens، Bing و Pinterest و ساخت موتور جستوجوی تصویری فروشگاه با API درواره را یاد میگیرید.
گاهی تصویر محصولی را در شبکههای اجتماعی، یک فروشگاه، ویدئو یا پیام دوستان میبینیم، اما نام، مدل یا فروشندۀ آن را نمیدانیم. جستوجوی متنی نیز دشوار است، زیرا ممکن است نتوانیم شکل، جنس، رنگ یا جزئیات محصول را دقیق توصیف کنیم.
برای مثال، توصیف این محصول با متن آسان نیست:
یک صندلی روشن با پایۀ چوبی، پشتی خمیده و طراحی نسبتاً مینیمال.
صدها محصول ممکن است با این توصیف مطابقت داشته باشند. اما اگر تصویر همان صندلی را در اختیار یک موتور جستوجوی تصویری قرار دهید، سیستم میتواند شکل، رنگ، بافت و اجزای آن را با تصاویر موجود در وب یا کاتالوگ فروشگاهها مقایسه کند.
جستوجوی کالا با عکس برای محصولات مختلف قابلاستفاده است:
- لباس
- کفش
- کیف
- ساعت
- عینک
- مبلمان
- لوازم دکوراسیون
- تجهیزات دیجیتال
- لوازم خانگی
- ابزار
- قطعات
- کتاب
- اسباببازی
- محصولات آرایشی
- ظروف
- لوازم ورزشی
ابزارهایی مانند Google Lens، Bing Visual Search و Pinterest Lens امکان شروع جستوجو با تصویر را فراهم میکنند. بعضی فروشگاهها نیز موتور Visual Product Search اختصاصی دارند که فقط در میان محصولات همان فروشگاه جستوجو میکند.
در این مقاله یاد میگیرید چگونه عکس را آماده کنید، محصول دقیق یا نمونههای مشابه را بیابید، نتایج را اعتبارسنجی کنید و برای فروشگاه اینترنتی خود یک سیستم جستوجوی تصویری با API درواره بسازید.
جستوجوی محصول با عکس چیست؟
جستوجوی تصویری محصول یا Visual Product Search روشی است که در آن ورودی جستوجو بهجای کلمه، یک تصویر است.
کاربر میتواند:
- با دوربین از کالا عکس بگیرد.
- یک اسکرینشات بارگذاری کند.
- تصویر ذخیرهشده را ارسال کند.
- آدرس اینترنتی تصویر را وارد کند.
- بخشی از یک تصویر را انتخاب کند.
- محصول موجود در یک ویدئو را اسکرینشات بگیرد.
سیستم سپس تلاش میکند یکی از این خروجیها را ارائه دهد:
- نام یا نوع محصول
- برند احتمالی
- مدل احتمالی
- صفحۀ اصلی محصول
- تصاویر مشابه
- فروشگاههای عرضهکننده
- محصولات جایگزین
- کلمات کلیدی مناسب برای جستوجوی متنی
تفاوت جستوجوی معکوس تصویر و جستوجوی محصول
این دو مفهوم به هم نزدیکاند، اما یکسان نیستند.
جستوجوی معکوس تصویر
هدف اصلی پیداکردن همان تصویر یا نسخههای ویرایششدۀ آن در وب است.
کاربردها:
- یافتن منبع اولیه تصویر
- پیداکردن نسخۀ باکیفیتتر
- مشاهده صفحاتی که تصویر را منتشر کردهاند
- یافتن تصویر برشخورده یا تغییریافته
جستوجوی تصویری محصول
هدف اصلی یافتن خود کالا یا محصولی با ظاهر مشابه است.
کاربردها:
- یافتن نام کالا
- یافتن مدل مشابه
- مقایسۀ طرحها
- پیداکردن محصول در کاتالوگ
- پیشنهاد کالاهای جایگزین
- تبدیل تصویر به عبارت جستوجو
ممکن است جستوجوی معکوس، صفحۀ اصلی همان عکس را پیدا کند؛ درحالیکه Visual Search چند محصول شبیه به آن را نمایش دهد.
تطابق دقیق و محصول مشابه چه تفاوتی دارند؟
نتایج جستوجوی تصویری معمولاً در دو گروه قرار میگیرند.
تطابق دقیق یا Exact Match
محصول موجود در نتیجه همان کالا، مدل یا SKU تصویر ورودی است.
برای تأیید تطابق دقیق باید مواردی مانند اینها برابر باشند:
- برند
- مدل
- کد محصول
- ابعاد
- رنگ
- تعداد اجزا
- شکل دکمهها و اتصالات
- محل لوگو
- الگوی دوخت
- مشخصات بستهبندی
محصول مشابه یا Similar Product
محصول از نظر ظاهر، سبک یا کاربرد شبیه تصویر است، اما لزوماً همان مدل نیست.
برای مثال، یک صندلی مشابه ممکن است:
- پایۀ متفاوت داشته باشد.
- ابعاد دیگری داشته باشد.
- از جنس دیگری ساخته شده باشد.
- برند متفاوتی داشته باشد.
- فقط از نظر رنگ و فرم شبیه باشد.
برچسب «مشابه» نباید بهعنوان تطابق دقیق تفسیر شود.
جستوجوی تصویری چگونه کار میکند؟
یک سیستم Visual Search معمولاً این مراحل را انجام میدهد:
- محصول را داخل تصویر تشخیص میدهد.
- ناحیۀ محصول را از پسزمینه جدا میکند.
- ویژگیهای بصری را استخراج میکند.
- متن، لوگو یا شمارۀ مدل را تشخیص میدهد.
- تصویر را به یک بردار عددی یا Embedding تبدیل میکند.
- آن را با تصاویر کاتالوگ مقایسه میکند.
- محصولات مشابه را رتبهبندی میکند.
- فیلترهایی مانند دسته، رنگ، قیمت و موجودی را اعمال میکند.
ویژگیهای موردبررسی میتوانند شامل این موارد باشند:
- شکل کلی
- رنگ
- بافت
- الگو
- نسبت ابعاد
- اجزای قابلمشاهده
- لوگو
- نوشته روی بستهبندی
- مدل یا شماره سری
- سبک طراحی
- دستهبندی احتمالی
در یک سیستم حرفهای، جستوجوی تصویر با اطلاعات متنی کاتالوگ ترکیب میشود. برای مثال، اگر تصویر یک کفش سفید باشد و کاربر بنویسد «مدل مردانه سایز ۴۲»، سیستم هم شباهت تصویر و هم محدودیت متنی را در نظر میگیرد.
چگونه عکس مناسب برای جستوجوی کالا بگیریم؟
محصول را در مرکز قرار دهید
محصول باید بخش اصلی تصویر باشد. اگر چند وسیله در عکس وجود دارد، موتور جستوجو ممکن است شیء اشتباه را انتخاب کند.
پسزمینه را ساده کنید
پسزمینۀ شلوغ، افراد و اجسام دیگر را حذف یا تصویر را دور محصول Crop کنید.
از نور کافی استفاده کنید
نور کم باعث ازبینرفتن رنگ و جزئیات میشود. انعکاس شدید نیز میتواند شکل واقعی محصول را پنهان کند.
تصویر تار نباشد
دوربین را ثابت نگه دارید و روی خود محصول فوکوس کنید.
لوگو و نوشته را ثبت کنید
اگر برند، کد مدل، برچسب یا نوشتۀ روی بستهبندی مشخص است، یک عکس نزدیک از آن تهیه کنید.
چند زاویه بگیرید
برای محصولات سهبعدی، یک عکس ممکن است کافی نباشد:
- نمای جلو
- نمای کنار
- نمای پشت
- برچسب
- اتصالات
- بستهبندی
- جزئیات خاص
مقیاس را مشخص کنید
اگر اندازۀ محصول از تصویر قابلتشخیص نیست، ابعاد تقریبی را در جستوجوی متنی تکمیلی وارد کنید.
روش پیدا کردن محصول از اسکرینشات
اگر تصویر از اینستاگرام، ویدئو یا سایت دیگری گرفته شده است:
- بالاترین کیفیت موجود را انتخاب کنید.
- کنترلهای پخش و نوشتههای روی صفحه را حذف کنید.
- تصویر را فقط دور محصول برش دهید.
- در صورت وجود چند کالا، هرکدام را جداگانه جستوجو کنید.
- لوگو یا برچسب را در یک تصویر جدا نگه دارید.
- جستوجو را یک بار با تصویر کامل و یک بار با تصویر برشخورده انجام دهید.
- کلمات کلیدی پیشنهادی را در جستوجوی متنی نیز آزمایش کنید.
اگر تصویر بسیار کوچک است، افزایش کیفیت ممکن است خوانایی کلی را بهتر کند، اما جزئیاتی را که در تصویر اصلی وجود نداشتهاند با قطعیت بازسازی نمیکند.
پیدا کردن محصول با Google Lens
Google Lens میتواند با استفاده از دوربین، تصویر یا اسکرینشات، لباس، مبلمان، دکوراسیون و محصولات مشابه را جستوجو کند. گوگل این قابلیت را با عبارت «Shop what you see» معرفی میکند؛ یعنی کاربر میتواند از تصویر برای یافتن سازنده، قیمت و محل عرضه استفاده کند. Google App و Lens
استفاده در موبایل
- برنامۀ Google یا Google Photos را باز کنید.
- روی آیکون Lens بزنید.
- عکس بگیرید یا تصویر ذخیرهشده را انتخاب کنید.
- کادر را دور محصول موردنظر تنظیم کنید.
- نتایج تصویری و Shopping را بررسی کنید.
- روی تصاویر مشابه بزنید.
- نام، برند، مدل و ویژگیها را استخراج کنید.
- جستوجوی متنی دقیقتری انجام دهید.
استفاده در Chrome
در بعضی نسخههای Chrome میتوانید:
- روی تصویر راستکلیک کنید.
- گزینۀ جستوجو با Google Lens را انتخاب کنید.
- بخش موردنظر تصویر را مشخص کنید.
- نتایج مشابه را مشاهده کنید.
- در صورت نیاز کلمات تکمیلی اضافه کنید.
جستوجوی دقیقتر با متن و عکس
پس از انتخاب تصویر، عبارت تکمیلی اضافه کنید:
رنگ مشکی
مدل مردانه
سایز بزرگ
پایه چوبی
نسخۀ کوچکتر
مناسب فضای باز
برند اصلی
مدل ۲۰۲۶
ترکیب تصویر و متن معمولاً از جستوجوی صرفاً تصویری دقیقتر است.
استفاده از Bing Visual Search
Bing Visual Search امکان جستوجوی وب با تصویر را فراهم میکند و میتواند تصاویر مشابه، محصولات و صفحاتی را که تصویر در آنها دیده میشود نمایش دهد. راهنمای رسمی Bing Visual Search
در کامپیوتر میتوانید:
- تصویر را Drag & Drop کنید.
- فایل را بارگذاری کنید.
- آدرس تصویر را وارد کنید.
- با وبکم عکس بگیرید.
در موبایل نیز میتوانید عکس جدید یا فایل ذخیرهشده را انتخاب کنید.
مراحل:
- وارد Bing Images شوید.
- روی آیکون دوربین بزنید.
- تصویر را بارگذاری کنید.
- ناحیۀ محصول را انتخاب کنید.
- تصاویر و محصولات مشابه را بررسی کنید.
- عبارتهای پیشنهادی را یادداشت کنید.
- نتیجۀ احتمالی را با مشخصات واقعی مقایسه کنید.
مایکروسافت اعلام میکند تصاویر بارگذاریشده ممکن است برای بهبود خدمات پردازش تصویر Bing استفاده شوند؛ بنابراین پیش از ارسال تصاویر شخصی، توضیحات رسمی سرویس را بررسی کنید. Microsoft Support
جستوجوی محصول با Pinterest Lens
Pinterest Lens بیشتر برای کشف ایدهها، استایل، دکوراسیون، لباس و محصولات دارای ویژگیهای بصری قابلتشخیص کاربرد دارد.
Pinterest در راهنمای رسمی خود توضیح میدهد که میتوان دوربین را روی یک شیء گرفت یا تصویر ذخیرهشده را بارگذاری کرد و نتایج الهامگرفته از آن را مشاهده کرد. Pinterest Lens
مراحل:
- برنامۀ Pinterest را باز کنید.
- وارد بخش جستوجو شوید.
- روی آیکون دوربین بزنید.
- عکس بگیرید یا تصویری را انتخاب کنید.
- روی محصول موردنظر تمرکز کنید.
- نتایج و Pinهای مشابه را بررسی کنید.
- برای محدودکردن جستوجو از کلمات تکمیلی استفاده کنید.
Pinterest Lens بیشتر برای یافتن سبک و محصولات مشابه مفید است. برای پیداکردن SKU دقیق، لوگو، کد مدل و منابع دیگر را نیز بررسی کنید.
چه محصولاتی با جستوجوی تصویری بهتر پیدا میشوند؟
لباس و اکسسوری
ویژگیهای مناسب تطبیق:
- نوع لباس
- رنگ
- طرح پارچه
- یقه
- آستین
- فرم
- دوخت
- لوگو
- جزئیات دکمه و زیپ
کفش
از زاویه کنار عکس بگیرید تا این موارد مشخص باشند:
- فرم زیره
- طرح رویه
- بند
- لوگو
- ارتفاع ساق
- الگوی دوخت
مبلمان
برای مبلمان، نمای کامل و جزئیات پایه یا دسته اهمیت دارند:
- فرم کلی
- تعداد پایه
- جنس روکش
- رنگ
- مدل دسته
- نسبت ابعاد
- الگوی دوخت
محصولات دیجیتال
در لوازم دیجیتال، ظاهر بسیاری از مدلها مشابه است. برای تطابق دقیق به این موارد نیاز دارید:
- لوگو
- شماره مدل
- محل پورتها
- فرم دوربین
- چیدمان دکمهها
- برچسب پشت دستگاه
- جعبه و بستهبندی
قطعات و ابزار
برای ابزار یا قطعه، تصویر برچسب و کد فنی معمولاً از ظاهر کلی مهمتر است.
محصولات بدون برند
برای کالای بدون برند، موتور ممکن است فقط دسته و محصولات مشابه را پیدا کند. در این شرایط از ویژگیهای استخراجشده برای جستوجوی متنی استفاده کنید.
تبدیل عکس محصول به عبارت جستوجو
اگر موتور جستوجوی تصویری نتیجۀ دقیقی نداد، از یک مدل چندوجهی بخواهید تصویر را به توضیح ساختیافته تبدیل کند.
پرامپت:
محصول موجود در تصویر را بدون حدس قطعی تحلیل کن.
این اطلاعات را استخراج کن:
- دسته محصول
- زیرگروه
- رنگ
- جنس احتمالی
- شکل
- سبک
- اجزای قابلمشاهده
- لوگو یا نوشته
- مدل یا کد قابلخواندن
- ویژگیهای متمایزکننده
سپس پنج عبارت جستوجوی فارسی و پنج عبارت انگلیسی برای پیداکردن همین محصول یا نمونههای مشابه بنویس. برند یا مدل را فقط در صورت قابلمشاهدهبودن اعلام کن.
نمونۀ خروجی:
دسته: صندلی غذاخوری
رنگ: کرم
پایه: چهار پایۀ چوبی روشن
پشتی: منحنی
سبک: مینیمال اسکاندیناوی
ویژگی شاخص: اتصال یکپارچۀ نشیمن و پشتی
عبارت جستوجو:
صندلی غذاخوری کرم پایه چوبی پشتی منحنی
minimal beige dining chair light wood legs
پرامپت پیدا کردن لباس از روی عکس
لباس موجود در تصویر را تحلیل کن.
فقط ویژگیهای قابلمشاهده را استخراج کن:
- نوع لباس
- فرم
- قد
- رنگ
- طرح
- جنس احتمالی
- یقه
- آستین
- جزئیات دوخت
- دکمه یا زیپ
- لوگو
- استایل کلی
سپس:
1. سه عبارت جستوجوی فارسی بنویس.
2. سه عبارت جستوجوی انگلیسی بنویس.
3. کلمات ضروری و کلمات اختیاری را جدا کن.
4. اگر برند مشخص نیست، آن را حدس نزن.
پرامپت پیدا کردن مبلمان و دکوراسیون
محصول دکوراسیون یا مبلمان موجود در تصویر را بررسی کن.
خروجی:
- نام عمومی محصول
- سبک طراحی
- رنگ
- جنس احتمالی
- فرم
- نوع پایه
- ابعاد تقریبی فقط در صورت وجود مقیاس
- ویژگیهای متمایز
- پنج عبارت جستوجوی فارسی و انگلیسی
اگر ابعاد، برند یا جنس دقیق از تصویر قابلتشخیص نیست، مقدار آن را نامشخص اعلام کن.
پرامپت تشخیص مدل دستگاه
دستگاه موجود در تصویر را بررسی کن.
ابتدا نوشتهها، لوگوها، شماره مدل، برچسب و کدهای قابلمشاهده را عیناً استخراج کن. سپس براساس شکل ظاهری، حداکثر سه مدل احتمالی پیشنهاد بده.
برای هر گزینه بنویس:
- شواهد موافق
- تفاوتهای قابلمشاهده
- اطلاعات لازم برای تأیید
- بخش دیگری که باید از آن عکس گرفته شود
مدل دقیق را فقط از روی شباهت ظاهری قطعی اعلام نکن.
پرامپت مقایسۀ نتیجۀ جستوجو با تصویر اصلی
فرض کنید چند لینک یا مشخصات پیدا کردهاید:
تصویر اصلی و تصاویر سه محصول پیشنهادی را مقایسه کن.
برای هر محصول این موارد را بررسی کن:
- شکل کلی
- رنگ
- محل لوگو
- اجزا
- بافت
- دوخت یا اتصالات
- ابعاد نسبی
- تفاوتهای آشکار
نتیجه را در جدول بنویس و هر گزینه را به یکی از این گروهها اختصاص بده:
- احتمالاً تطابق دقیق
- احتمالاً مدل یا رنگ دیگر
- فقط محصول مشابه
- نامرتبط
بدون کد مدل یا مشخصات تأییدشده، نتیجۀ «تطابق دقیق» را قطعی اعلام نکن.
چرا محصول دقیق پیدا نمیشود؟
محصول در وب یا کاتالوگ موجود نیست
موتور فقط میان اطلاعاتی که به آن دسترسی دارد جستوجو میکند.
تصویر محصول اختصاصی است
ممکن است کالا دستساز، سفارشی یا تولید محدود باشد.
محصول قدیمی یا توقفتولیدشده است
در این حالت شاید فقط تصاویر آرشیوی یا نمونههای دستدوم پیدا شوند.
عکس بیش از حد ویرایش شده است
تغییر رنگ، کشیدگی تصویر و افکتها میتوانند تطبیق را مختل کنند.
بخشی از محصول دیده میشود
اگر فقط گوشۀ کالا مشخص باشد، ویژگی کافی برای جستوجو وجود ندارد.
محصول ظاهر عمومی دارد
محصولاتی مانند کابل ساده، لیوان سفید یا تیشرت مشکی ممکن است هزاران مشابه داشته باشند.
نتیجۀ محلی محدود است
پوشش فروشگاهها و نتایج خرید براساس کشور و منطقه متفاوت است.
مدلهای کپی و مشابه وجود دارند
شباهت ظاهری به معنای یکسانبودن برند، مدل یا کیفیت نیست.
چگونه تطابق دقیق را اعتبارسنجی کنیم؟
پیش از نتیجهگیری، این موارد را بررسی کنید:
برند
لوگو باید از نظر شکل، محل و اندازۀ نسبی مطابقت داشته باشد.
کد مدل
شماره مدل یا SKU مطمئنترین سرنخ است. آن را روی برچسب، جعبه یا بدنه جستوجو کنید.
ابعاد
ابعاد محصول پیشنهادی را با محصول اصلی مقایسه کنید.
اجزا
تعداد دکمهها، پورتها، پایهها، جیبها یا قطعات را کنترل کنید.
رنگ و کد رنگ
نام عمومی رنگ کافی نیست. بعضی مدلها در چند رنگ بسیار نزدیک عرضه میشوند.
بستهبندی
طراحی جعبه، بارکد و برچسب میتوانند به تأیید مدل کمک کنند؛ البته بستهبندی ممکن است در مناطق یا دورههای مختلف تغییر کند.
تصاویر رسمی
عکس محصول را از چند زاویه با تصاویر مرجع مقایسه کنید.
مشخصات فروشنده
عنوان یک آگهی یا فروشگاه ممکن است ناقص یا اشتباه باشد. اطلاعات را با چند منبع مقایسه کنید.
چگونه قیمتها را مقایسه کنیم؟
پس از یافتن محصول احتمالی:
- مدل دقیق را یادداشت کنید.
- رنگ و ظرفیت را مشخص کنید.
- نو یا کارکردهبودن را جدا کنید.
- اقلام همراه را بررسی کنید.
- هزینۀ ارسال را در نظر بگیرید.
- موجودی واقعی را کنترل کنید.
- شرایط خدمات پس از فروش را مقایسه کنید.
- تاریخ بهروزرسانی قیمت را ببینید.
- از یکسانبودن SKU مطمئن شوید.
هوش مصنوعی میتواند جدول مقایسه بسازد، اما قیمت، موجودی و شرایط فروش اطلاعات متغیرند و باید مستقیماً در صفحۀ فروشنده بررسی شوند.
جستوجوی تصویری برای فروشگاه اینترنتی
Visual Search فقط برای خریدار نیست. فروشگاهها میتوانند یک دکمۀ دوربین کنار نوار جستوجو قرار دهند تا کاربر با عکس جستوجو کند.
نمونۀ تجربه کاربری:
- کاربر روی آیکون دوربین میزند.
- عکس میگیرد یا بارگذاری میکند.
- محصول داخل تصویر انتخاب میشود.
- دسته و ویژگیها تشخیص داده میشوند.
- محصولات مشابه فروشگاه نمایش داده میشوند.
- کاربر نتایج را با رنگ، سایز، قیمت و موجودی فیلتر میکند.
- در صورت نبود تطابق دقیق، گزینههای جایگزین پیشنهاد میشوند.
این قابلیت برای فروشگاههای زیر مفید است:
- پوشاک
- کیف و کفش
- مبلمان
- دکوراسیون
- لوازم خانگی
- قطعات
- ابزار
- محصولات زیبایی
- لوازم ورزشی
- صنایعدستی
ساخت Visual Product Search با API درواره
درواره موتور جستوجوی محصول آماده یا کاتالوگ فروشگاهی نیست. درواره زیرساخت API هوش مصنوعی را فراهم میکند تا بتوانید تحلیل تصویر، استخراج ویژگی و تولید عبارت جستوجو را به فروشگاه خود اضافه کنید.
یک معماری کاربردی از چند بخش تشکیل میشود:
عکس کاربر
← تشخیص محصول
← استخراج ویژگیها
← ساخت عبارت جستوجو
← جستوجو در کاتالوگ
← بازیابی محصولات مشابه
← اعمال فیلتر موجودی و قیمت
← رتبهبندی نتایج
مدل چندوجهی از طریق درواره میتواند این وظایف را انجام دهد:
- تشخیص دسته
- استخراج رنگ و شکل
- خواندن لوگو و نوشته
- تولید JSON ساختیافته
- ساخت عبارت جستوجو
- مقایسۀ نتیجۀ بازیابیشده
- توضیح دلیل شباهت
اما موجودی، قیمت، URL و اطلاعات قطعی محصول باید از پایگاه داده فروشگاه دریافت شوند، نه از حافظۀ مدل.
برای شروع:
- در درواره ثبتنام کنید.
- API Key بسازید.
- یک مدل دارای قابلیت Vision انتخاب کنید.
- Model ID را از صفحه مدلها و قیمتها دریافت کنید.
- تصویر را از کاربر بگیرید.
- ویژگیها را بهصورت JSON استخراج کنید.
- کاتالوگ فروشگاه را جستوجو کنید.
- نتایج اولیه را رتبهبندی کنید.
- فقط محصولات واقعی و موجود را نمایش دهید.
در نمونهها YOUR_MODEL_ID را با شناسه مدل درواره جایگزین کنید.
استخراج ویژگی محصول با cURL
curl https://api.darvareh.ir/v1/chat/completions \
-H "Authorization: Bearer $DARVAREH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "system",
"content": "تو دستیار تحلیل تصویر محصولات هستی. فقط ویژگیهای قابلمشاهده را استخراج کن. برند، مدل، جنس و ابعاد را بدون شواهد حدس نزن."
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "محصول اصلی تصویر را شناسایی کن و دسته، رنگ، شکل، جنس احتمالی، اجزا، نوشتهها و ویژگیهای متمایز آن را استخراج کن. سپس عبارت جستوجوی فارسی بساز."
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/product-photo.jpg"
}
}
]
}
],
"temperature": 0.1
}'
نمونه Python برای تحلیل تصویر محصول
pip install openai
import os
import base64
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DARVAREH_API_KEY"],
base_url="https://api.darvareh.ir/v1"
)
image_path = Path("product.jpg")
image_bytes = image_path.read_bytes()
encoded = base64.b64encode(image_bytes).decode("utf-8")
data_url = f"data:image/jpeg;base64,{encoded}"
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{
"role": "system",
"content": (
"تو موتور استخراج ویژگی محصول هستی. "
"مشاهدات را از حدس جدا کن. "
"اطلاعات کاتالوگ، قیمت یا موجودی تولید نکن."
)
},
{
"role": "user",
"content": [
{
"type": "text",
"text": """
محصول اصلی تصویر را تحلیل کن.
خروجی شامل:
- دسته
- زیرگروه
- رنگهای اصلی
- شکل
- جنس احتمالی
- اجزای قابلمشاهده
- لوگو یا نوشته
- ویژگیهای متمایز
- پنج عبارت جستوجو
- اطلاعات لازم برای تشخیص دقیقتر
اگر برند یا مدل مشخص نیست، مقدار آن را null قرار بده.
"""
},
{
"type": "image_url",
"image_url": {
"url": data_url
}
}
]
}
],
temperature=0.1
)
print(response.choices[0].message.content)
کلید API را در فایل سورس قرار ندهید و آن را از متغیر محیطی DARVAREH_API_KEY بخوانید.
خروجی JSON مناسب جستوجوی فروشگاه
{
"primary_object": {
"category": "furniture",
"subcategory": "dining_chair",
"brand": null,
"model": null,
"colors": [
"beige",
"light_wood"
],
"materials": [
{
"value": "fabric",
"confidence": "medium"
},
{
"value": "wood",
"confidence": "medium"
}
],
"shape_features": [
"curved_backrest",
"four_tapered_legs",
"armless"
],
"visible_text": [],
"distinctive_features": [
"یکپارچگی ظاهری نشیمن و پشتی"
]
},
"search_queries": {
"fa": [
"صندلی غذاخوری کرم پایه چوبی پشتی منحنی",
"صندلی مینیمال بدون دسته پارچهای"
],
"en": [
"beige upholstered dining chair curved back wooden legs"
]
},
"missing_evidence": [
"نمای پشت صندلی",
"ابعاد",
"برچسب برند"
]
}
System Prompt پیشنهادی:
فقط JSON معتبر تولید کن.
قواعد:
- برند و مدل بدون لوگو، متن یا شواهد روشن null باشند.
- confidence فقط low، medium یا high باشد.
- قیمت، فروشنده، URL و موجودی تولید نشوند.
- ویژگیها فقط براساس تصویر نوشته شوند.
- حداکثر پنج عبارت جستوجو تولید شود.
- اصطلاحات فارسی و انگلیسی طبیعی باشند.
اگر مدل انتخابشده از Structured Outputs یا JSON Schema پشتیبانی میکند، Schema را در سطح API نیز اعمال کنید.
جستوجو در کاتالوگ پس از تحلیل تصویر
پس از استخراج ویژگیها، نباید نتیجۀ مدل را مستقیماً بهعنوان محصول نهایی نشان دهید. ابتدا کاتالوگ واقعی را جستوجو کنید.
نمونۀ ساده:
def search_catalog(attributes, products):
results = []
for product in products:
score = 0
if product["category"] == attributes["category"]:
score += 30
if product["subcategory"] == attributes["subcategory"]:
score += 25
shared_colors = set(product["colors"]) & set(attributes["colors"])
score += len(shared_colors) * 10
shared_features = (
set(product["features"]) &
set(attributes["shape_features"])
)
score += len(shared_features) * 8
if product["in_stock"]:
score += 5
results.append({
"product": product,
"score": score
})
return sorted(
results,
key=lambda item: item["score"],
reverse=True
)
این الگوریتم برای آموزش ساده شده است. در محصول واقعی میتوانید از Embedding تصویری، Vector Database، جستوجوی متنی و Reranking استفاده کنید.
معماری حرفهای موتور جستوجوی تصویری
آمادهسازی کاتالوگ
برای هر محصول ذخیره کنید:
- شناسه
- عنوان
- دسته
- برند
- مدل
- رنگ
- جنس
- ویژگیها
- قیمت
- موجودی
- تصاویر چندزاویه
- Embedding تصاویر
- Embedding توضیحات
- URL محصول
پردازش تصویر کاربر
- بررسی نوع فایل
- اصلاح جهت تصویر
- کاهش اندازۀ بسیار بزرگ
- تشخیص اشیاء
- انتخاب محصول اصلی
- حذف یا کاهش تأثیر پسزمینه
- استخراج ویژگی
- OCR لوگو و برچسب
بازیابی اولیه
دو مسیر میتوانند همزمان اجرا شوند:
- جستوجوی شباهت تصویر
- جستوجوی متن و ویژگیهای استخراجشده
ترکیب نتایج
امتیاز نهایی میتواند ترکیبی باشد:
امتیاز نهایی =
شباهت تصویری
+ تطابق دسته
+ تطابق برند
+ تطابق رنگ
+ تطابق ویژگی
+ تطابق عبارت
+ وضعیت موجودی
برای سازگاری با Ghost، فرمول را بهصورت متنی نگه داشتیم. وزن هر بخش باید با دادههای واقعی فروشگاه تنظیم شود.
Reranking
در مرحلۀ دوم، تعداد محدودی از محصولات بازیابیشده دوباره بررسی میشوند تا موارد نزدیکتر در رتبه بالاتر قرار گیرند.
اعمال فیلترهای تجاری
پس از محاسبۀ شباهت:
- محصولات ناموجود مدیریت شوند.
- دستۀ اشتباه حذف شود.
- فیلتر سایز و رنگ اعمال شود.
- محدودۀ قیمت کاربر در نظر گرفته شود.
- محصولات تکراری یکی شوند.
مدل نباید موجودی یا قیمت را حدس بزند؛ این اطلاعات باید از Backend فروشگاه دریافت شوند.
ترکیب عکس و متن در جستوجو
بهترین تجربة کاربری فقط یک دکمۀ بارگذاری عکس نیست. کاربر باید بتواند بعد از تصویر، متن تکمیلی نیز وارد کند:
همین مدل ولی مشکی
نسخۀ کوچکتر
مناسب فضای باز
زیر پنج میلیون تومان
سایز ۴۲
مدل مردانه
بدون دسته
با پایۀ فلزی
ساختار درخواست:
{
"image_id": "img_123",
"text_query": "همین مدل با پایه فلزی و رنگ مشکی",
"filters": {
"in_stock": true,
"category": "chair"
}
}
مدل چندوجهی باید تفاوت میان ویژگیهای تصویر و تغییر درخواستی کاربر را تشخیص دهد.
ساخت API ساده با FastAPI
نصب وابستگیها:
pip install fastapi uvicorn python-multipart openai
نمونۀ ساده:
import os
import base64
from fastapi import FastAPI, UploadFile, File, HTTPException
from openai import OpenAI
app = FastAPI()
client = OpenAI(
api_key=os.environ["DARVAREH_API_KEY"],
base_url="https://api.darvareh.ir/v1"
)
ALLOWED_TYPES = {
"image/jpeg",
"image/png",
"image/webp"
}
MAX_SIZE = 8 * 1024 * 1024
@app.post("/visual-search/analyze")
async def analyze_product(image: UploadFile = File(...)):
if image.content_type not in ALLOWED_TYPES:
raise HTTPException(
status_code=400,
detail="فرمت تصویر پشتیبانی نمیشود."
)
content = await image.read()
if len(content) > MAX_SIZE:
raise HTTPException(
status_code=400,
detail="حجم تصویر بیش از حد مجاز است."
)
encoded = base64.b64encode(content).decode("utf-8")
data_url = f"data:{image.content_type};base64,{encoded}"
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{
"role": "system",
"content": (
"ویژگیهای محصول را فقط از تصویر استخراج کن. "
"برند و مدل را بدون شواهد حدس نزن. "
"قیمت، URL و موجودی تولید نکن."
)
},
{
"role": "user",
"content": [
{
"type": "text",
"text": (
"محصول اصلی را تحلیل و دسته، رنگ، شکل، "
"جنس احتمالی، نوشتهها، ویژگیهای متمایز "
"و عبارتهای جستوجو را ارائه کن."
)
},
{
"type": "image_url",
"image_url": {
"url": data_url
}
}
]
}
],
temperature=0.1
)
return {
"filename": image.filename,
"analysis": response.choices[0].message.content
}
اجرای برنامه:
uvicorn main:app --reload
این کد فقط مرحلۀ تحلیل تصویر را انجام میدهد. برای تکمیل Visual Search باید خروجی را با کاتالوگ واقعی فروشگاه جستوجو و اعتبارسنجی کنید.
چگونه کیفیت موتور جستوجو را ارزیابی کنیم؟
Precision@K
بررسی میکند چند مورد از K نتیجۀ اول واقعاً مرتبطاند.
برای مثال:
از ۱۰ نتیجۀ اول، ۷ محصول مرتبطاند.
Precision@10 = 0.7
Recall@K
بررسی میکند چه تعداد از محصولات مرتبط موجود در کاتالوگ، در نتایج اول پیدا شدهاند.
نرخ یافتن محصول دقیق
تعداد جستوجوهایی که SKU دقیق در نتایج اول دیده شده
تقسیم بر
کل جستوجوهای دارای SKU دقیق
نرخ کلیک
مشخص میکند کاربران روی کدام نتیجه کلیک کردهاند. کلیک بهتنهایی اثبات تطابق نیست، اما برای ارزیابی تجربه کاربری مفید است.
افزودن به سبد و خرید
این معیارها نشان میدهند نتایج چقدر با هدف خرید کاربر هماهنگ بودهاند.
جستوجوی بدون نتیجه
باید بررسی کنید چه تصاویر یا دستههایی نتیجۀ مناسب دریافت نمیکنند.
ساخت مجموعۀ آزمایش
برای ارزیابی واقعی، فقط از عکسهای رسمی کاتالوگ استفاده نکنید. تصاویر آزمایشی باید متنوع باشند:
- عکس رسمی
- عکس موبایل
- پسزمینۀ شلوغ
- نور کم
- محصول نیمهپوشیده
- اسکرینشات
- چند محصول در یک تصویر
- زاویۀ متفاوت
- رنگ دیگر همان مدل
- محصول مشابه از برند دیگر
- لوگوی قابلمشاهده
- لوگوی نامشخص
برای هر تصویر، نتیجۀ صحیح یا فهرست محصولات مرتبط را از قبل مشخص کنید.
حریم خصوصی تصاویر
کاربر ممکن است محصول را در خانه، محل کار یا کنار افراد دیگر عکاسی کند. تصویر میتواند حاوی اطلاعات ناخواسته باشد:
- چهره
- مدارک
- نشانی
- پلاک
- صفحۀ نمایش
- اطلاعات مکانی
- اشیای شخصی
پیش از بارگذاری:
- تصویر را دور محصول Crop کنید.
- چهره و اطلاعات خصوصی را حذف کنید.
- Metadata مکانی را در صورت عدم نیاز پاک کنید.
- سیاست نگهداری سرویس را بررسی کنید.
- تصاویر کاربر را بیشتر از زمان لازم نگه ندارید.
اشتباهات رایج در جستوجوی محصول با عکس
جستوجوی تصویر شلوغ
اگر چند محصول در عکس هستند، هرکدام را جداگانه Crop کنید.
پذیرش اولین نتیجۀ مشابه
محصول مشابه ممکن است برند، اندازه یا کیفیت دیگری داشته باشد.
نادیدهگرفتن کد مدل
در لوازم دیجیتال و قطعات، شماره مدل از شباهت ظاهری مهمتر است.
استفاده از عکس کمکیفیت
اگر امکان دارد، عکس دیگری تهیه کنید یا از ویدئو فریم واضحتری بردارید.
جستوجو فقط در یک ابزار
Google Lens، Bing و Pinterest ممکن است پوشش متفاوتی داشته باشند. نتیجهها را ترکیب کنید.
مقایسۀ قیمت کالاهای متفاوت
پیش از مقایسۀ قیمت مطمئن شوید مدل، ظرفیت، رنگ و اقلام همراه یکساناند.
اعتماد به متن تولیدشده مدل
مدل چندوجهی ممکن است برند یا جنس را اشتباه حدس بزند. ویژگیهای قطعی و احتمالی باید جدا باشند.
نادیدهگرفتن دسترسی منطقهای
فروشگاههای نمایشدادهشده ممکن است به کشور شما ارسال نداشته باشند یا محصول موجود نباشد.
چکلیست نهایی پیدا کردن کالا از روی عکس
پیش از نتیجهگیری بررسی کنید:
- محصول اصلی واضح است.
- تصویر دور محصول Crop شده است.
- لوگو یا برچسب ثبت شده است.
- چند زاویه بررسی شده است.
- Google Lens آزمایش شده است.
- Bing Visual Search بررسی شده است.
- برای مد و دکور، Pinterest Lens نیز آزمایش شده است.
- عبارت جستوجوی فارسی ساخته شده است.
- عبارت انگلیسی نیز آزمایش شده است.
- برند بدون شواهد قطعی پذیرفته نشده است.
- مدل یا SKU کنترل شده است.
- ابعاد و رنگ مقایسه شدهاند.
- محصول مشابه با محصول دقیق اشتباه نشده است.
- موجودی و قیمت مستقیماً در فروشگاه بررسی شدهاند.
- شرایط ارسال و اقلام همراه مقایسه شدهاند.
پرسشهای متداول
چگونه از روی عکس محصول را پیدا کنیم؟
تصویر را در Google Lens، Bing Visual Search یا Pinterest Lens بارگذاری کنید، ناحیۀ محصول را انتخاب و نتایج مشابه را بررسی کنید. سپس با استفاده از برند، کد مدل و ویژگیها جستوجوی متنی دقیقتری انجام دهید.
چگونه لباس را از روی عکس پیدا کنیم؟
تصویر را دور لباس Crop کنید و در Google Lens یا Pinterest Lens جستوجو کنید. نوع لباس، رنگ، یقه، آستین، طرح و جنس احتمالی را نیز به جستوجو اضافه کنید.
آیا میتوان محصول موجود در اینستاگرام را پیدا کرد؟
بله. از محصول اسکرینشات بگیرید، نوشتهها و اجزای اضافی را حذف کنید و تصویر برشخورده را در موتور جستوجوی تصویری بارگذاری کنید.
آیا Google Lens قیمت محصول را نشان میدهد؟
Google Lens ممکن است نتایج خرید و قیمت فروشگاهها را نمایش دهد، اما پوشش نتایج به محصول، کشور و فروشگاه بستگی دارد. قیمت نهایی را در صفحۀ فروشنده بررسی کنید.
تفاوت Google Lens و جستوجوی معکوس چیست؟
Google Lens میتواند اشیاء و محصولات مشابه را پیدا کند. جستوجوی معکوس بیشتر برای یافتن همان تصویر یا صفحات منتشرکنندۀ آن استفاده میشود.
چگونه مدل دقیق دستگاه را از روی عکس پیدا کنیم؟
از برچسب، پشت دستگاه، محل پورتها و جعبه عکس بگیرید. شماره مدل یا کد محصول را استخراج و جداگانه جستوجو کنید. ظاهر دستگاه بهتنهایی ممکن است کافی نباشد.
چرا فقط محصولات مشابه نمایش داده میشوند؟
ممکن است مدل دقیق در کاتالوگ موتور جستوجو وجود نداشته باشد، تصویر کافی نباشد یا محصول بدون برند و دارای ظاهر عمومی باشد.
آیا هوش مصنوعی میتواند برند محصول را تشخیص دهد؟
اگر لوگو، نوشته یا طراحی بسیار مشخصی دیده شود، مدل ممکن است برند احتمالی را پیشنهاد دهد. این پیشنهاد باید با تصویر لوگو، کد مدل و منابع دیگر تأیید شود.
چگونه جستوجوی تصویری را به فروشگاه اضافه کنیم؟
تصویر کاربر را با مدل Vision تحلیل کنید، ویژگیها و عبارت جستوجو را استخراج کنید، سپس کاتالوگ واقعی را با جستوجوی متنی و برداری بررسی و نتایج را براساس شباهت رتبهبندی کنید.
آیا درواره موتور Visual Search آماده دارد؟
درواره زیرساخت API مدلهای هوش مصنوعی را ارائه میکند، نه کاتالوگ یا موتور فروشگاهی آماده. میتوانید تحلیل تصویر را با API درواره انجام دهید و آن را به کاتالوگ و موتور جستوجوی خود متصل کنید.
هزینه API تحلیل تصویر چقدر است؟
هزینه به مدل، اندازۀ تصویر، تعداد درخواستها و میزان Token بستگی دارد. برای مشاهده مدلهای دارای قابلیت Vision و قیمت بهروز به صفحه مدلهای درواره مراجعه کنید.
جمعبندی
جستوجوی محصول با عکس زمانی مفید است که تصویر یک کالا را دارید اما نام، برند یا مدل آن را نمیدانید. ابزارهایی مانند Google Lens، Bing Visual Search و Pinterest Lens میتوانند تصاویر و محصولات مشابه را پیدا کنند و سرنخهای لازم برای جستوجوی دقیقتر را در اختیار شما قرار دهند.
برای نتیجۀ بهتر، محصول را از پسزمینه جدا کنید، عکس واضح بگیرید و لوگو، برچسب یا کد مدل را ثبت کنید. هیچ نتیجۀ مشابهی را بدون بررسی مشخصات، تطابق دقیق در نظر نگیرید.
برای فروشگاه اینترنتی، Visual Product Search میتواند فرایند کشف محصول را سادهتر کند. کاربر عکس را بارگذاری میکند، مدل چندوجهی ویژگیهای بصری را استخراج میکند و Backend فقط میان محصولات واقعی کاتالوگ جستوجو میکند.
اگر قصد دارید تشخیص محصول و جستوجوی تصویری را به فروشگاه، اپلیکیشن یا پلتفرم خود اضافه کنید، میتوانید در درواره ثبتنام کنید، API Key بگیرید و یک مدل دارای قابلیت Vision را به کاتالوگ محصول خود متصل کنید.
مقالات مرتبط
- ساخت عکس محصول با هوش مصنوعی؛ آموزش عکاسی تبلیغاتی
- پرو مجازی لباس با هوش مصنوعی؛ آموزش Virtual Try-On
- تولید توضیحات محصول با هوش مصنوعی؛ آموزش و پرامپت
- تبدیل عکس به متن با هوش مصنوعی و OCR
- حذف پسزمینه عکس با هوش مصنوعی
- هوش مصنوعی در فروش؛ راهنمای کامل و کاربردی
- API تولید تصویر درواره؛ آموزش ساخت عکس با هوش مصنوعی
برای مطالعه شرایط استفاده و محدودیتهای مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.