تبدیل عکس به مدل سه‌بعدی با هوش مصنوعی؛ آموزش کامل و عملی

در این راهنمای جامع یاد می‌گیرید چگونه یک عکس دوبعدی را با هوش مصنوعی به مدل سه‌بعدی تبدیل کنید؛ از آماده‌سازی تصویر و انتخاب ابزار تا دریافت فایل‌های GLB، OBJ و STL، اصلاح مدل در Blender و ساخت فرایند خودکار با API. عنوان متا: تبدیل عکس به مدل سه‌بعدی با هوش مصنوعی؛ آموز

Share
تبدیل عکس دوبعدی به مدل سه‌بعدی با هوش مصنوعی

تبدیل عکس به مدل سه‌بعدی با هوش مصنوعی یکی از کاربردهای مهم مدل‌های مولد در طراحی محصول، بازی‌سازی، انیمیشن، فروشگاه اینترنتی، واقعیت افزوده و چاپ سه‌بعدی است. ابزارهای جدید می‌توانند با دریافت یک یا چند تصویر، شکل تقریبی جسم را بازسازی و فایلی مانند GLB، OBJ، FBX یا STL تولید کنند.

در گذشته ساخت مدل سه‌بعدی از روی عکس به ساعت‌ها مدل‌سازی دستی در نرم‌افزارهایی مانند Blender، 3ds Max، Maya یا ZBrush نیاز داشت. اکنون هوش مصنوعی می‌تواند نسخه اولیه مدل را در مدت کوتاه‌تری بسازد؛ اما خروجی آن همیشه آماده استفاده نهایی نیست و ممکن است به اصلاح هندسه، بافت، اندازه، توپولوژی یا قسمت‌های پنهان نیاز داشته باشد.

در این مقاله، روش کامل تبدیل تصویر به مدل سه‌بعدی را بررسی می‌کنیم و نشان می‌دهیم چگونه می‌توان از API درواره برای ساخت تصویر مرجع مناسب، تولید پرامپت و ایجاد یک فرایند خودکار در اپلیکیشن استفاده کرد.

تبدیل عکس به مدل سه‌بعدی چیست؟

در فرایند Image to 3D، یک مدل هوش مصنوعی تصویر دوبعدی را تحلیل می‌کند و درباره عمق، حجم، شکل و قسمت‌های پنهان سوژه تخمین می‌زند. سپس یک مدل سه‌بعدی شامل هندسه و در بعضی موارد بافت و متریال تولید می‌کند.

خروجی ممکن است شامل این اجزا باشد:

  • Mesh یا هندسه سه‌بعدی
  • Texture یا بافت رنگی
  • UV Map
  • Normal Map
  • Roughness Map
  • Metallic Map
  • فایل پیش‌نمایش
  • مدل کم‌حجم یا Low Poly
  • مدل باکیفیت یا High Poly

اگر فقط یک عکس از روبه‌رو در اختیار مدل قرار گیرد، بخش پشت سوژه در تصویر دیده نمی‌شود. بنابراین هوش مصنوعی باید ظاهر آن قسمت را حدس بزند. به همین دلیل، استفاده از چند نمای مختلف معمولاً نتیجه قابل‌کنترل‌تری ایجاد می‌کند.

چه چیزهایی را می‌توان از روی عکس سه‌بعدی کرد؟

مدل‌های تبدیل عکس به سه‌بعدی برای سوژه‌های مختلف استفاده می‌شوند:

  • محصول فروشگاهی
  • مبلمان
  • مجسمه
  • اسباب‌بازی
  • کفش و کیف
  • ظروف
  • ابزار
  • وسایل تزئینی
  • شخصیت بازی
  • حیوان یا موجود خیالی
  • ساختمان
  • قطعات ساده صنعتی
  • لوگوی برجسته
  • ماکت
  • اشیای مناسب چاپ سه‌بعدی

اشیایی که شکل مشخص، مرز واضح و پس‌زمینه ساده دارند معمولاً نتیجه بهتری ایجاد می‌کنند.

سوژه‌های شفاف، بسیار براق، انعکاسی، دارای مو یا پارچه نازک، سیم‌های ظریف یا اجزای پنهان ممکن است دشوارتر باشند.

تفاوت عکس به مدل سه‌بعدی با ساخت تصویر سه‌بعدی چیست؟

این دو عبارت گاهی به‌جای یکدیگر استفاده می‌شوند، اما خروجی آن‌ها متفاوت است.

تصویر سه‌بعدی

یک عکس با ظاهر سه‌بعدی است، اما همچنان فایل دوبعدی مانند PNG یا JPEG محسوب می‌شود. نمی‌توان دور آن چرخید یا هندسه آن را در Blender ویرایش کرد.

مدل سه‌بعدی

فایلی شامل هندسه واقعی است که می‌توان آن را:

  • چرخاند
  • از زوایای مختلف دید
  • ویرایش کرد
  • نورپردازی کرد
  • متحرک ساخت
  • داخل بازی قرار داد
  • در وب نمایش داد
  • برای چاپ سه‌بعدی آماده کرد

بنابراین اگر فقط یک تصویر با جلوه حجمی می‌خواهید، ابزار تولید تصویر کافی است. اگر به فایل GLB، OBJ یا STL نیاز دارید، باید از مدل Image to 3D استفاده کنید.

تفاوت عکس به سه‌بعدی با فتوگرامتری

فتوگرامتری و هوش مصنوعی هر دو می‌توانند از تصاویر، مدل سه‌بعدی بسازند؛ اما روش آن‌ها یکسان نیست.

ویژگیهوش مصنوعی Image to 3Dفتوگرامتری
تعداد عکس موردنیازیک یا چند عکسمعمولاً تعداد زیادی عکس
سرعت آماده‌سازیبالامتوسط تا پایین
بازسازی قسمت‌های پنهانتخمینیوابسته به تصاویر ثبت‌شده
دقت ابعادیمعمولاً محدوددر شرایط مناسب بیشتر
مناسب برایتولید سریع Assetثبت دقیق جسم یا محیط
نیاز به تجهیزاتکمنور و تصویربرداری منظم
ویرایش نهاییمعمولاً لازممعمولاً لازم

برای ساخت سریع یک Asset بازی یا پیش‌نمایش محصول، هوش مصنوعی انتخاب مناسبی است. برای اندازه‌برداری دقیق یا ثبت یک اثر واقعی، فتوگرامتری ممکن است نتیجه بهتری ارائه دهد.

فرمت‌های رایج مدل سه‌بعدی

پیش از شروع باید بدانید به چه فرمتی نیاز دارید.

فرمتکاربرد اصلی
GLBوب، فروشگاه اینترنتی، واقعیت افزوده و انتقال آسان
glTFنمایش سه‌بعدی در وب و برنامه‌های تعاملی
OBJانتقال هندسه و بافت میان نرم‌افزارهای سه‌بعدی
FBXبازی‌سازی، انیمیشن و انتقال مدل‌های پیچیده
STLچاپ سه‌بعدی
USDZنمایش واقعیت افزوده در دستگاه‌های اپل
3MFچاپ سه‌بعدی همراه با اطلاعات بیشتر نسبت به STL
BLENDپروژه قابل‌ویرایش Blender

اگر هدف شما نمایش محصول در سایت است، GLB معمولاً انتخاب مناسبی است. اگر می‌خواهید مدل را چاپ کنید، STL یا 3MF کاربرد بیشتری دارد. برای انیمیشن و موتورهای بازی، FBX و GLB رایج‌اند.

براساس مستندات Meshy، API این سرویس می‌تواند خروجی‌هایی مانند GLB، OBJ، FBX، STL، USDZ و 3MF تولید کند. مستندات Image to 3D در Meshy

بهترین ابزارهای تبدیل عکس به مدل سه‌بعدی با هوش مصنوعی

Meshy

Meshy ابزارهای متن به سه‌بعدی، تصویر به سه‌بعدی، ساخت بافت، Remesh، Rigging و API را ارائه می‌کند.

در فرایند Image to 3D می‌توان تصویری با فرمت JPEG یا PNG ارسال و نوع خروجی را مشخص کرد. تنظیماتی مانند تولید Texture، نقشه‌های PBR، تعداد Polygon و فرمت خروجی نیز در API آن وجود دارد.

Meshy برای این کاربردها مناسب است:

  • ساخت Asset بازی
  • ساخت مدل محصول
  • تولید مدل برای وب
  • آماده‌سازی نمونه اولیه
  • اتصال قابلیت سه‌بعدی به اپلیکیشن

Tripo AI

Tripo برای تبدیل متن یا تصویر به مدل سه‌بعدی استفاده می‌شود. این ابزار برای تولید سریع Asset، شخصیت و اشیای سه‌بعدی طراحی شده است.

قبل از استفاده در پروژه واقعی، خروجی را از نظر توپولوژی، بافت، مقیاس و مجوز استفاده بررسی کنید.

Stable Fast 3D

Stable Fast 3D یا SF3D یک مدل متن‌باز برای ساخت Mesh سه‌بعدی بافت‌دار از یک تصویر است. مدل می‌تواند خروجی دارای UV و Texture تولید کند.

این گزینه برای توسعه‌دهندگانی مناسب است که می‌خواهند مدل را روی زیرساخت خود اجرا یا فرایند آن را شخصی‌سازی کنند. کد و توضیحات مدل در مخزن رسمی Stable Fast 3D و صفحه مدل در Hugging Face منتشر شده است.

Hunyuan3D

Hunyuan3D مجموعه‌ای از مدل‌های تولید دارایی سه‌بعدی است که امکان ساخت هندسه و بافت را فراهم می‌کند. نسخه‌های متن‌باز این خانواده برای توسعه‌دهندگان و پژوهشگران قابل‌استفاده‌اند.

اجرای محلی چنین مدل‌هایی معمولاً به کارت گرافیک مناسب، فضای ذخیره‌سازی و مدیریت وابستگی‌های نرم‌افزاری نیاز دارد. مخزن رسمی Hunyuan3D

Blender

Blender مدل تولیدکننده هوش مصنوعی نیست، اما یکی از مهم‌ترین ابزارها برای اصلاح خروجی محسوب می‌شود. پس از تولید مدل می‌توان در Blender این کارها را انجام داد:

  • حذف هندسه‌های اضافی
  • بستن سوراخ‌های Mesh
  • اصلاح سطح
  • کاهش Polygon
  • تنظیم UV
  • اصلاح Texture
  • ساخت متریال
  • تنظیم اندازه و محور
  • افزودن استخوان‌بندی
  • گرفتن خروجی نهایی

راهنمای کامل این نرم‌افزار را می‌توانید در مقاله آموزش Blender و ابزارهای هوش مصنوعی مطالعه کنید.

مقایسه ابزارهای ساخت مدل سه‌بعدی

ابزارنوعمناسب براینیاز به سخت‌افزار محلی
Meshyسرویس آنلاین و APIمحصول، بازی و اپلیکیشنخیر
Tripo AIسرویس آنلاین و APIساخت سریع Assetخیر
Stable Fast 3Dمدل متن‌بازاجرای محلی و توسعهبله
Hunyuan3Dمدل متن‌بازپروژه‌های پژوهشی و حرفه‌ایبله
Blenderنرم‌افزار متن‌بازاصلاح و خروجی نهاییبله
ابزارهای فتوگرامترینرم‌افزار پردازش تصاویربازسازی دقیق جسم واقعیبله

چگونه عکس مناسبی برای تبدیل به مدل سه‌بعدی بگیریم؟

کیفیت عکس ورودی تأثیر زیادی بر نتیجه دارد.

از پس‌زمینه ساده استفاده کنید

پس‌زمینه سفید، خاکستری روشن یا تک‌رنگ باعث می‌شود مدل مرز جسم را بهتر تشخیص دهد.

از پس‌زمینه‌های شلوغ، طرح‌دار یا همرنگ با سوژه خودداری کنید.

تمام جسم داخل تصویر باشد

هیچ قسمت مهمی از سوژه نباید از قاب بیرون باشد. فضای کمی در اطراف جسم باقی بگذارید.

زاویه سه‌رخ را امتحان کنید

برای بعضی اشیا، نمای کاملاً روبه‌رو اطلاعات کافی درباره عمق ارائه نمی‌دهد. زاویه سه‌رخ می‌تواند سطح جلو و کنار جسم را هم‌زمان نمایش دهد.

نور یکنواخت انتخاب کنید

سایه شدید ممکن است بخشی از فرم جسم تشخیص داده شود. انعکاس‌های شدید نیز کیفیت Texture را کاهش می‌دهند.

بهتر است از نور نرم و پراکنده استفاده کنید.

وضوح تصویر را حفظ کنید

تصویر تار، کوچک یا فشرده‌شده باعث کاهش جزئیات مدل می‌شود. عکس را با وضوح مناسب و فوکوس دقیق ثبت کنید.

از چند نما استفاده کنید

اگر ابزار موردنظر از Multi-View پشتیبانی می‌کند، این تصاویر را آماده کنید:

  • نمای جلو
  • نمای پشت
  • نمای راست
  • نمای چپ
  • نمای بالا در صورت نیاز

تمام تصاویر باید نور، فاصله، مقیاس و پس‌زمینه مشابهی داشته باشند.

چه تصاویری نتیجه ضعیف‌تری ایجاد می‌کنند؟

این تصاویر معمولاً به اصلاح بیشتری نیاز دارند:

  • سوژه دارای پس‌زمینه شلوغ
  • جسم بسیار براق یا آینه‌ای
  • شیشه و اجسام شفاف
  • تصویر دارای سایه شدید
  • عکس تار یا بسیار کوچک
  • سوژه‌ای که بخشی از آن پنهان است
  • اشیای دارای سیم یا اجزای بسیار نازک
  • موی پراکنده
  • پارچه یا لباس بسیار چین‌خورده
  • چند جسم روی هم
  • تصویر دارای متن یا واترمارک
  • سوژه‌ای که از قاب بریده شده است

آموزش مرحله‌به‌مرحله تبدیل عکس به مدل سه‌بعدی

مرحله اول: هدف نهایی را مشخص کنید

قبل از تولید مدل به این پرسش‌ها پاسخ دهید:

  • مدل برای سایت است یا چاپ سه‌بعدی؟
  • آیا Texture لازم است؟
  • تعداد Polygon چقدر باید باشد؟
  • مدل ثابت است یا باید متحرک شود؟
  • آیا ابعاد واقعی اهمیت دارد؟
  • موتور مقصد Unity، Unreal Engine، Blender یا مرورگر است؟
  • فرمت خروجی چیست؟

مدلی که برای چاپ سه‌بعدی ساخته می‌شود با مدل مناسب فروشگاه اینترنتی یا بازی متفاوت است.

مرحله دوم: تصویر را آماده کنید

تصویر را برش دهید و سوژه را در مرکز قاب قرار دهید. در صورت نیاز پس‌زمینه را حذف کنید.

برای حذف پس‌زمینه می‌توانید از راهنمای حذف پس‌زمینه عکس با هوش مصنوعی استفاده کنید.

خروجی PNG با پس‌زمینه شفاف برای بسیاری از فرایندهای Image to 3D مناسب است.

مرحله سوم: نسخه مرجع تمیز بسازید

گاهی عکس اصلی نور، زاویه یا پس‌زمینه مناسبی ندارد. می‌توانید با مدل ویرایش تصویر، یک نسخه مرجع تمیز ایجاد کنید.

پرامپت نمونه:

این تصویر محصول را برای تبدیل به مدل سه‌بعدی آماده کن.
شکل، ابعاد نسبی، اجزا، رنگ و طراحی اصلی محصول را تغییر نده.
محصول را به‌صورت کامل در مرکز تصویر قرار بده.
پس‌زمینه کاملاً سفید و نور نرم و یکنواخت باشد.
سایه شدید، نوشته، لوگوی اضافی، دست انسان و اشیای اطراف حذف شوند.
نمای سه‌رخ محصول حفظ شود.

مدل باید فقط تصویر را آماده کند، نه اینکه طراحی جدیدی از محصول بسازد.

مرحله چهارم: مدل اولیه را تولید کنید

تصویر را وارد ابزار Image to 3D کنید و در صورت وجود، این گزینه‌ها را تنظیم کنید:

  • ساخت Texture
  • وضوح Texture
  • تعداد Polygon
  • نوع Topology
  • فرمت خروجی
  • PBR Material
  • Low Poly یا High Poly
  • حالت A-Pose یا T-Pose برای شخصیت

برای آزمایش اولیه، کیفیت متوسط انتخاب کنید. پس از اطمینان از شکل کلی، خروجی نهایی را با تنظیمات بالاتر بسازید.

مرحله پنجم: مدل را از تمام زوایا بررسی کنید

فقط تصویر بندانگشتی جلوی مدل را نبینید. مدل را بچرخانید و این قسمت‌ها را بررسی کنید:

  • پشت جسم
  • سطح زیرین
  • محل اتصال اجزا
  • ضخامت بخش‌های باریک
  • حفره‌ها
  • لبه‌ها
  • تقارن
  • بافت نواحی پنهان
  • تعداد Polygon

قسمت‌هایی که در عکس اصلی دیده نمی‌شوند بیشتر در معرض خطا قرار دارند.

مرحله ششم: فایل را در Blender باز کنید

فایل GLB، OBJ یا FBX را وارد Blender کنید و مشکلات هندسی را بررسی کنید.

اقدامات متداول:

  1. اعمال Scale و Rotation
  2. تنظیم مرکز و Origin
  3. حذف سطح‌های اضافی
  4. ادغام Vertexهای بسیار نزدیک
  5. اصلاح Normalها
  6. بستن سوراخ‌های Mesh
  7. کاهش Polygon
  8. بررسی UV
  9. اصلاح Texture
  10. گرفتن خروجی مناسب مقصد

مرحله هفتم: خروجی نهایی بگیرید

برای وب:

GLB + Texture فشرده + تعداد Polygon کنترل‌شده

برای بازی:

FBX یا GLB + Topology مناسب + Textureهای PBR

برای چاپ:

STL یا 3MF + Mesh بسته + ضخامت مناسب + مقیاس دقیق

مثال عملی: تبدیل عکس صندلی به مدل سه‌بعدی

فرض کنیم یک فروشگاه مبلمان می‌خواهد مشتری بتواند صندلی را به‌صورت سه‌بعدی در سایت ببیند.

تصویر ورودی مناسب

  • صندلی کامل داخل قاب
  • زاویه سه‌رخ
  • پس‌زمینه سفید
  • نور یکنواخت
  • بدون میز یا وسیله اضافی
  • پایه‌ها کاملاً قابل‌مشاهده
  • وضوح بالا

پرامپت آماده‌سازی تصویر

تصویر این صندلی را برای بازسازی سه‌بعدی آماده کن.
طراحی، نسبت ابعاد، فرم پایه‌ها، دسته‌ها، پشتی و جنس پارچه تغییر نکند.
صندلی را در نمای سه‌رخ، کامل و در مرکز تصویر نگه دار.
پس‌زمینه سفید خالص، نور استودیویی نرم و سایه بسیار ملایم باشد.
هیچ وسیله، نوشته، انسان یا دکور دیگری در تصویر وجود نداشته باشد.

تنظیمات مدل سه‌بعدی

برای نمایش در وب می‌توان این هدف‌ها را در نظر گرفت:

  • خروجی GLB
  • Texture فعال
  • متریال PBR
  • تعداد Polygon متعادل
  • ابعاد فایل کنترل‌شده
  • Origin در قسمت زیر مدل
  • مقیاس متناسب با ابعاد واقعی صندلی

کنترل خروجی

پس از تولید باید بررسی شود:

  • آیا چهار پایه به‌درستی ساخته شده‌اند؟
  • آیا فضای میان پایه‌ها باز است؟
  • ضخامت دسته‌ها طبیعی است؟
  • پشت صندلی شکل معقولی دارد؟
  • Texture پارچه کشیده نشده است؟
  • مدل روی زمین قرار می‌گیرد؟
  • فایل در موبایل با سرعت مناسب بارگذاری می‌شود؟

اگر پشت صندلی اشتباه باشد، بهتر است تصویر پشت نیز به فرایند اضافه شود یا آن قسمت در Blender اصلاح شود.

مثال عملی برای چاپ سه‌بعدی

فرض کنیم می‌خواهید از تصویر یک مجسمه کوچک، مدل قابل چاپ بسازید.

مراحل پیشنهادی:

  1. از روبه‌رو، پشت، چپ و راست عکس بگیرید.
  2. پس‌زمینه تصاویر را یکسان کنید.
  3. مدل را با حالت بدون Texture تولید کنید.
  4. فایل STL دریافت کنید.
  5. مدل را در Blender یا نرم‌افزار تعمیر Mesh باز کنید.
  6. سوراخ‌ها و سطوح جداشده را اصلاح کنید.
  7. ضخامت قسمت‌های باریک را افزایش دهید.
  8. ابعاد واقعی را تنظیم کنید.
  9. مدل را در نرم‌افزار Slicer بررسی کنید.
  10. ابتدا نسخه کوچک آزمایشی چاپ کنید.

وجود فایل STL به‌تنهایی به معنای قابل‌چاپ‌بودن مدل نیست. مدل باید بسته یا Manifold باشد و ضخامت اجزای آن با فناوری چاپ هماهنگ باشد.

تبدیل عکس انسان به مدل سه‌بعدی

ساخت مدل سه‌بعدی انسان از یک عکس دشوارتر از ساخت یک جسم ساده است؛ زیرا مدل باید اطلاعاتی درباره پشت بدن، مو، لباس و آناتومی تولید کند.

برای نتیجه بهتر:

  • از تصویر تمام‌قد استفاده کنید.
  • دست‌ها از بدن فاصله داشته باشند.
  • پاها روی هم قرار نگیرند.
  • لباس ساده و قابل‌تشخیص باشد.
  • پس‌زمینه یکنواخت باشد.
  • نمای جلو، پشت و کنار تهیه شود.
  • برای انیمیشن، مدل در A-Pose یا T-Pose باشد.

پس از تولید شخصیت، مراحل دیگری مانند Retopology، Rigging، Weight Painting و اصلاح چهره ممکن است لازم باشند.

پرامپت‌های آماده برای ساخت تصویر مرجع سه‌بعدی

محصول فروشگاهی

نمای استودیویی سه‌رخ از یک محصول منفرد، کاملاً داخل قاب،
پس‌زمینه سفید خالص، نور نرم و یکنواخت، شکل متقارن و واضح،
بدون متن، بدون لوگو، بدون دست، بدون وسایل اضافی،
مناسب برای تبدیل تصویر به مدل سه‌بعدی

شخصیت بازی

نمای تمام‌قد از یک شخصیت بازی در حالت A-Pose،
دست‌ها کمی از بدن فاصله داشته باشند، پاها جدا و موازی،
نمای روبه‌رو، نور یکنواخت، پس‌زمینه خاکستری ساده،
طراحی لباس واضح، بدون سلاح و بدون افکت محیطی،
مناسب برای مدل‌سازی سه‌بعدی و Rigging

اسباب‌بازی

نمای سه‌رخ واضح از یک اسباب‌بازی منفرد در مرکز تصویر،
تمام اجزا قابل‌مشاهده، پس‌زمینه سفید، نور استودیویی نرم،
بدون سایه شدید، بدون بسته‌بندی و نوشته،
فرم و رنگ ساده و مناسب بازسازی سه‌بعدی

مبلمان

نمای سه‌رخ کامل از یک صندلی مدرن، تمام پایه‌ها قابل‌مشاهده،
پس‌زمینه سفید، نور یکنواخت، بدون دکور و اشیای اطراف،
نسبت ابعاد دقیق، بافت پارچه واضح، مناسب برای Image to 3D

اجرای Stable Fast 3D به‌صورت محلی

Stable Fast 3D گزینه‌ای برای توسعه‌دهندگانی است که می‌خواهند مدل را روی سیستم خود اجرا کنند.

فرایند کلی شامل این مراحل است:

git clone https://github.com/Stability-AI/stable-fast-3d.git
cd stable-fast-3d

سپس محیط پایتون و وابستگی‌ها باید مطابق دستورالعمل مخزن نصب شوند. مدل و وزن‌های موردنیاز نیز باید از منبع رسمی دریافت شوند.

نمونه ساختار اجرای مدل:

python run.py input.png \
  --output-dir output/

نام آرگومان‌ها و روش نصب ممکن است با نسخه پروژه تغییر کند؛ بنابراین دستورات فعلی را از مخزن رسمی Stable Fast 3D دریافت کنید.

اجرای محلی برای همه کاربران ساده نیست. وابستگی‌های CUDA، حافظه کارت گرافیک و نسخه کتابخانه‌ها می‌توانند بر نصب و سرعت پردازش تأثیر بگذارند.

استفاده از API درواره در فرایند ساخت مدل سه‌بعدی

حتی اگر موتور نهایی Image to 3D سرویس جداگانه‌ای باشد، می‌توان از API درواره برای چند مرحله مهم استفاده کرد:

  • تحلیل عکس ورودی
  • تشخیص مناسب‌بودن تصویر
  • حذف یا ساده‌سازی پس‌زمینه
  • ساخت تصویر مرجع تمیز
  • تولید نماهای مکمل
  • نوشتن پرامپت سه‌بعدی
  • استخراج مشخصات محصول
  • ساخت توضیحات Texture
  • انتخاب تنظیمات براساس کاربرد
  • بررسی خودکار خروجی‌های پیش‌نمایش

آدرس پایه API درواره:

https://api.darvareh.ir/v1

ساخت تصویر مرجع با API درواره

ابتدا کتابخانه OpenAI را نصب کنید:

pip install openai

متغیرهای محیطی:

export DARVAREH_API_KEY="YOUR_API_KEY"
export DARVAREH_IMAGE_MODEL="YOUR_IMAGE_MODEL_ID"

نمونه کد تولید تصویر مرجع:

import base64
import os
from pathlib import Path

from openai import OpenAI


client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1",
)

MODEL_ID = os.environ["DARVAREH_IMAGE_MODEL"]


prompt = """
Create a clean three-quarter studio reference image of a single modern chair.

Requirements:
- Show the entire chair inside the frame.
- Keep all four legs clearly visible.
- Use a pure white background.
- Use soft, even studio lighting.
- Preserve realistic proportions.
- Avoid strong shadows and reflections.
- No text, logo, people, room decoration or additional objects.
- The image must be suitable for image-to-3D reconstruction.
"""

result = client.images.generate(
    model=MODEL_ID,
    prompt=prompt,
    size="1024x1024",
)

image = result.data[0]

if getattr(image, "b64_json", None):
    Path("chair-reference.png").write_bytes(
        base64.b64decode(image.b64_json)
    )
elif getattr(image, "url", None):
    print("Reference image URL:", image.url)
else:
    raise RuntimeError("خروجی تصویری معتبری دریافت نشد.")

شناسه مدل، اندازه‌های قابل‌پشتیبانی و نوع پاسخ را براساس مدل انتخاب‌شده در مستندات API درواره بررسی کنید.

ساخت پرامپت سه‌بعدی با مدل زبانی

مدل زبانی می‌تواند اطلاعات محصول را به پرامپت استاندارد تبدیل کند.

import os
from openai import OpenAI


client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1",
)

MODEL_ID = os.environ["DARVAREH_TEXT_MODEL"]


def create_3d_prompt(product_description: str) -> str:
    response = client.chat.completions.create(
        model=MODEL_ID,
        temperature=0.2,
        messages=[
            {
                "role": "system",
                "content": (
                    "شما متخصص آماده‌سازی Asset سه‌بعدی هستید. "
                    "شرح محصول را به یک پرامپت دقیق انگلیسی برای "
                    "تولید مدل سه‌بعدی تبدیل کنید."
                ),
            },
            {
                "role": "user",
                "content": f"""
شرح محصول:
{product_description}

پرامپت باید این موارد را دقیق مشخص کند:
- شکل و نسبت ابعاد
- جنس و بافت
- اجزای اصلی
- رنگ
- تقارن
- سبک واقع‌گرایانه
- نبود محیط و اشیای اضافی
- مناسب‌بودن برای مدل سه‌بعدی مستقل

فقط پرامپت نهایی انگلیسی را برگردان.
""",
            },
        ],
    )

    content = response.choices[0].message.content

    if not content:
        raise ValueError("پرامپتی از مدل دریافت نشد.")

    return content.strip()


prompt = create_3d_prompt(
    "یک صندلی مدرن با چهار پایه چوب گردویی، "
    "نشیمن پارچه‌ای سبز زیتونی و پشتی خمیده"
)

print(prompt)

این پرامپت را می‌توان برای ساخت تصویر مرجع یا موتور Text to 3D استفاده کرد.

معماری پیشنهادی اپلیکیشن عکس به سه‌بعدی

اگر می‌خواهید یک سایت یا اپلیکیشن تبدیل عکس به مدل سه‌بعدی بسازید، معماری آن می‌تواند چنین باشد:

  1. کاربر تصویر را آپلود می‌کند.
  2. سرور نوع، اندازه و وضوح فایل را بررسی می‌کند.
  3. مدل بینایی کیفیت تصویر را ارزیابی می‌کند.
  4. در صورت نیاز پس‌زمینه حذف می‌شود.
  5. تصویر مرجع استاندارد تولید می‌شود.
  6. کاربر پیش‌نمایش دوبعدی را تأیید می‌کند.
  7. درخواست Image to 3D به‌صورت Job ثبت می‌شود.
  8. وضعیت Job در پایگاه داده ذخیره می‌شود.
  9. مدل سه‌بعدی تولید می‌شود.
  10. پیش‌نمایش چرخان به کاربر نمایش داده می‌شود.
  11. کاربر فرمت خروجی را انتخاب می‌کند.
  12. فایل نهایی برای دانلود آماده می‌شود.

وضعیت‌های پیشنهادی Job

uploaded
validating
preparing_image
waiting_for_approval
generating_3d
post_processing
completed
failed

تولید مدل سه‌بعدی ممکن است زمان‌بر باشد؛ بنابراین بهتر است آن را در یک درخواست طولانی مرورگر اجرا نکنید. از صف پردازش، Worker یا Webhook استفاده کنید.

اطلاعات پیشنهادی هر پروژه

{
  "project_id": "asset_2048",
  "purpose": "ecommerce_web",
  "input_type": "single_image",
  "target_format": "glb",
  "textured": true,
  "pbr": true,
  "target_polycount": 30000,
  "real_world_height_cm": 85,
  "status": "generating_3d"
}

نمایش مدل سه‌بعدی در سایت

برای نمایش فایل GLB در مرورگر می‌توان از ابزارهایی مانند این موارد استفاده کرد:

  • Three.js
  • Babylon.js
  • React Three Fiber
  • <model-viewer>
  • موتورهای WebGL

نمونه ساده با model-viewer:

<script
  type="module"
  src="https://ajax.googleapis.com/ajax/libs/model-viewer/4.0.0/model-viewer.min.js">
</script>

<model-viewer
  src="/models/chair.glb"
  alt="مدل سه‌بعدی صندلی"
  camera-controls
  auto-rotate
  shadow-intensity="1"
  style="width: 100%; height: 500px;">
</model-viewer>

در نسخه عملی، آدرس کتابخانه و نسخه آن را از مستندات رسمی بررسی و فایل مدل را از فضای ذخیره‌سازی کنترل‌شده سرو کنید.

چگونه حجم مدل سه‌بعدی را کاهش دهیم؟

مدل‌های حجیم سرعت سایت و اپلیکیشن را کاهش می‌دهند. برای بهینه‌سازی:

  • Polygonهای غیرضروری را حذف کنید.
  • Texture را متناسب با اندازه نمایش انتخاب کنید.
  • از فرمت GLB استفاده کنید.
  • Textureها را فشرده کنید.
  • بخش‌های پنهان را کاهش دهید.
  • چند سطح جزئیات یا LOD بسازید.
  • فایل را روی CDN قرار دهید.
  • مدل را فقط هنگام نیاز بارگذاری کنید.

برای نمایش یک محصول کوچک در موبایل، استفاده از Texture بسیار بزرگ یا صدها هزار Polygon معمولاً ضروری نیست.

چگونه هزینه تولید مدل را کنترل کنیم؟

پیش از تولید، عکس را اعتبارسنجی کنید

اگر عکس نامناسب باشد، درخواست پرهزینه سه‌بعدی را اجرا نکنید. ابتدا وضوح، پس‌زمینه و کامل‌بودن سوژه را بررسی کنید.

پیش‌نمایش دوبعدی نشان دهید

تصویر تمیزشده را قبل از مرحله سه‌بعدی به کاربر نمایش دهید.

نسخه اولیه کم‌هزینه بسازید

ابتدا مدل با Polygon و Texture متوسط تولید کنید. پس از تأیید، نسخه نهایی را بسازید.

خروجی را ذخیره کنید

مدل تولیدشده را Cache کنید و برای درخواست تکراری دوباره نسازید.

هزینه هر مرحله را ثبت کنید

مصرف مربوط به تحلیل تصویر، تولید تصویر مرجع، ساخت سه‌بعدی، Texture و اصلاح مدل را جداگانه ثبت کنید.

اشتباهات رایج در تبدیل تصویر به مدل سه‌بعدی

انتظار بازسازی دقیق پشت جسم از یک عکس

مدل نمی‌تواند بخش دیده‌نشده را با قطعیت بازسازی کند. برای دقت بیشتر چند نمای واقعی ارائه کنید.

استفاده از تصویر شلوغ

وجود چند جسم و پس‌زمینه پیچیده باعث می‌شود مرز سوژه اشتباه تشخیص داده شود.

انتخاب فرمت نامناسب

فایل STL بافت رنگی ندارد و برای نمایش محصول رنگی در وب انتخاب مناسبی نیست. GLB یا OBJ برای این کاربرد بهتر است.

استفاده مستقیم از خروجی در چاپ سه‌بعدی

مدل باید از نظر بسته‌بودن Mesh، ضخامت، مقیاس و اجزای جدا بررسی شود.

استفاده مستقیم در بازی

مدل تولیدشده ممکن است Polygon زیاد، Topology نامناسب یا Texture حجیم داشته باشد. پیش از ورود به موتور بازی آن را بهینه کنید.

تولید نهایی قبل از آزمایش

ابتدا یک نسخه سریع بسازید و فرم کلی را بررسی کنید. کیفیت بالا نمی‌تواند هندسه اشتباه را اصلاح کند.

نادیده‌گرفتن مقیاس

هوش مصنوعی لزوماً اندازه واقعی جسم را نمی‌داند. ابعاد مرجع را ثبت و مدل را براساس آن تنظیم کنید.

کاربردهای تجاری تبدیل عکس به مدل سه‌بعدی

فروشگاه‌های اینترنتی

مشتری می‌تواند محصول را بچرخاند و از زوایای مختلف ببیند.

صنعت مبلمان

مدل سه‌بعدی میز، صندلی و لوازم دکوراسیون می‌تواند در طراحی داخلی یا واقعیت افزوده استفاده شود.

بازی‌سازی

طراحان می‌توانند نمونه اولیه Asset را سریع‌تر بسازند و سپس آن را اصلاح کنند.

چاپ سه‌بعدی

تصویر یک مجسمه یا شیء ساده می‌تواند به نقطه شروع ساخت فایل قابل چاپ تبدیل شود.

معماری

بعضی اجزای معماری، مبلمان و عناصر تزئینی را می‌توان از تصویر به مدل اولیه تبدیل کرد.

آموزش

مدل‌های سه‌بعدی برای نمایش اشیا در محتوای آموزشی و آزمایشگاه مجازی کاربرد دارند.

تبلیغات

می‌توان مدل محصول را در ویدیو، موشن‌گرافیک یا صحنه‌های مجازی استفاده کرد.

واقعیت افزوده

کاربر می‌تواند محصول را در فضای واقعی خانه یا محل کار مشاهده کند.

پرسش‌های متداول

آیا می‌توان با یک عکس مدل سه‌بعدی ساخت؟

بله، بعضی مدل‌ها می‌توانند از یک عکس مدل سه‌بعدی تولید کنند؛ اما قسمت‌هایی که دیده نمی‌شوند توسط هوش مصنوعی تخمین زده خواهند شد.

بهترین عکس برای تبدیل به مدل سه‌بعدی چیست؟

عکسی با سوژه کامل، پس‌زمینه ساده، نور یکنواخت، وضوح بالا و زاویه‌ای که حجم جسم را نشان دهد.

آیا تبدیل عکس به مدل سه‌بعدی رایگان است؟

بعضی ابزارها اعتبار آزمایشی یا نسخه محدود ارائه می‌کنند. مدل‌های متن‌باز نیز قابل‌اجرا هستند، اما به سخت‌افزار و دانش فنی نیاز دارند.

آیا فایل خروجی در Blender باز می‌شود؟

فرمت‌هایی مانند GLB، OBJ و FBX را می‌توان در Blender وارد و ویرایش کرد.

برای چاپ سه‌بعدی چه فرمتی مناسب است؟

STL و 3MF از فرمت‌های رایج چاپ سه‌بعدی هستند. مدل باید پیش از چاپ از نظر هندسه و ضخامت بررسی شود.

GLB بهتر است یا OBJ؟

برای نمایش در وب، GLB معمولاً انتقال مدل، متریال و Texture را در یک فایل ساده‌تر می‌کند. OBJ برای ویرایش و انتقال میان نرم‌افزارهای مختلف نیز کاربرد دارد.

آیا می‌توان عکس انسان را به مدل سه‌بعدی تبدیل کرد؟

بله، اما نتیجه به تصاویر تمام‌قد، نماهای متعدد، لباس، مو و حالت بدن وابسته است. برای انیمیشن، Rigging و اصلاح Topology نیز لازم خواهد بود.

آیا مدل تولیدشده ابعاد واقعی دارد؟

نه همیشه. اگر اندازه واقعی اهمیت دارد، باید حداقل یک بعد مرجع را مشخص و مقیاس مدل را در نرم‌افزار سه‌بعدی اصلاح کنید.

آیا API درواره مستقیماً فایل سه‌بعدی تولید می‌کند؟

دسترسی به هر قابلیت به مدل‌های فعال در فهرست جاری درواره بستگی دارد. حتی در صورت استفاده از یک موتور سه‌بعدی جداگانه، API درواره می‌تواند برای تحلیل تصویر، ساخت مرجع، تولید نماهای مناسب و آماده‌سازی پرامپت در همان اپلیکیشن استفاده شود.

جمع‌بندی

تبدیل عکس به مدل سه‌بعدی با هوش مصنوعی می‌تواند زمان ساخت نمونه اولیه را کاهش دهد، اما خروجی آن همیشه مدل نهایی و آماده انتشار نیست.

برای رسیدن به نتیجه بهتر:

  1. کاربرد مدل را مشخص کنید.
  2. فرمت خروجی مناسب را انتخاب کنید.
  3. عکس واضح با پس‌زمینه ساده تهیه کنید.
  4. در صورت امکان چند نمای مختلف ثبت کنید.
  5. تصویر را پیش از تولید سه‌بعدی آماده کنید.
  6. ابتدا نسخه آزمایشی بسازید.
  7. مدل را از تمام زوایا بررسی کنید.
  8. هندسه و Texture را در Blender اصلاح کنید.
  9. مقیاس و تعداد Polygon را متناسب با کاربرد تنظیم کنید.
  10. فقط پس از کنترل کیفیت، مدل را در سایت، بازی یا چاپ استفاده کنید.

برای ساخت تصویر مرجع، تحلیل ورودی، تولید پرامپت و اتصال مدل‌های هوش مصنوعی به اپلیکیشن می‌توانید از API درواره استفاده کنید.

برای مشاهده مدل‌های فعال، دریافت کلید API و بررسی نمونه درخواست‌ها به مستندات API درواره مراجعه کنید.

مقالات مرتبط

منابع

این مقاله صرفاً با هدف آموزش و اطلاع‌رسانی تهیه شده است. پیش از استفاده عملی، مستندات رسمی سرویس‌ها و صفحه سلب مسئولیت را مطالعه کنید.

Read more