کمکرسانی به نابینایان با توصیف محیط اطراف از طریق دوربین (پایتون)
تحول در زندگی نابینایان با پایتون؛ از بینایی ماشین تا توصیف هوشمند محیط
چشمان دیجیتال: چگونه پایتون دنیای اطراف را برای نابینایان روایت میکند؟
تصور کنید در یک شهر شلوغ ایستادهاید. صدای بوق ماشینها، همهمه آدمها و بوی قهوهای که از کافه کناری میآید، همه و همه در محیط حضور دارند. اما حالا فرض کنید هیچکدام از اینها را نمیبینید. برای یک فرد نابینا یا کمبینا، محیط اطراف مجموعهای از صداها و لمسهاست، اما «جزئیات بصری» مانند رنگ چراغ راهنمایی، نوشته روی تابلوهای فروشگاهها یا حتی لبخند کسی که روبروی آنهاست، در دسترس نیست. آیا تکنولوژی میتواند این شکاف را پر کند؟
پاسخ کوتاه است: بله، و با قدرت!
امروزه ما در عصر هوش مصنوعی (AI) و بینایی ماشین (Computer Vision) زندگی میکنیم. ابزارهایی که زمانی فقط در فیلمهای علمی-تخیلی میدیدیم، حالا با زبان برنامهنویسی پایتون به واقعیت تبدیل شدهاند. ما دیگر فقط درباره یک دوربین ساده که عکس میگیرد صحبت نمیکنیم؛ بلکه درباره سیستمی حرف میزنیم که «میبیند»، «تحلیل میکند» و سپس «توصیف میکند». در واقع، ما در حال ساختن یک «مترجم بصری» هستیم که تصاویر را به کلمات تبدیل میکند تا فرد نابینا بتواند محیط اطرافش را با گوشهایش «ببیند».
طبق گزارشهای سازمان جهانی بهداشت (WHO)، میلیونها نفر در سراسر جهان با اختلالات بینایی شدید زندگی میکنند. دسترسی به فناوریهای کمکی نه تنها یک پیشرفت فنی، بلکه یک ضرورت انسانی برای ارتقای استقلال و کیفیت زندگی این افراد است.
بیایید روراست باشیم؛ یادگیری برنامهنویسی برای بسیاری سخت به نظر میرسد، اما جادوی پایتون در سادگیاش است. پایتون مثل یک زبان مشترک است که به ما اجازه میدهد از قدرت غولهایی مثل گوگل (Google)، مایکروسافت (Microsoft) و متا (Meta) استفاده کنیم تا برنامههایی بسازیم که واقعاً زندگی انسانها را تغییر میدهند. در این مقاله، ما قرار است سفری داشته باشیم از مفاهیم پایه تا پیادهسازی یک سیستم هوشمند که میتواند محیط را توصیف کند.
بینایی ماشین چیست و چگونه کار میکند؟ (به زبان ساده)
شاید بپرسید «بینایی ماشین» یا Computer Vision دقیقاً چیست؟ بیایید با یک مثال ساده پیش برویم. وقتی شما به یک سیب نگاه میکنید، مغز شما فوراً میفهمد که این یک میوه است، رنگش قرمز است و شکلش گرد است. مغز شما سالهاست که میلیونها تصویر از سیب را دیده و حالا یک «الگو» در ذهن دارد.
کامپیوترها اینطور فکر نمیکنند. برای یک کامپیوتر، یک عکس چیزی نیست جز مجموعهای از اعداد (پیکسلها). مثلاً یک نقطه قرمز در عکس، برای کامپیوتر مجموعهای از مقادیر رنگی (RGB) است. حالا چطور این اعداد تبدیل به کلمه «سیب» میشوند؟
اینجاست که یادگیری عمیق (Deep Learning) و شبکههای عصبی مصنوعی وارد میشوند. ما به کامپیوتر هزاران عکس از سیب، پرتقال و موز نشان میدهیم و به او میگوییم: «ببین، هر وقت این الگوهای گرد و قرمز را دیدی، یعنی این یک سیب است». با تکرار این روند، ماشین یاد میگیرد که ویژگیهای بصری را شناسایی کند. در پروژهی کمک به نابینایان، ما از مدلهای پیشآموزهای استفاده میکنیم که قبلاً توسط شرکتهای بزرگی مثل گوگل روی میلیونها تصویر آموزش دیدهاند و حالا میتوانند با دقت بسیار بالا بگویند در تصویر چه میگذرد.
اما توصیف محیط، فراتر از شناسایی یک شیء است. شناسایی شیء (Object Detection) یعنی بگوییم «یک صندلی در تصویر هست». اما توصیف تصویر (Image Captioning) یعنی بگوییم «یک مرد روی صندلی چوبی در پارک نشسته است و در حال خواندن کتاب است». تفاوت این دو در سطح تحلیل است؛ اولی فقط نام میبرد، دومی داستان میگوید.
چرا پایتون بهترین انتخاب برای این پروژه است؟
شاید بپرسید چرا از زبانهای دیگر مثل C++ یا Java استفاده نمیکنیم؟ پاسخ در «اکوسیستم» پایتون نهفته است. پایتون مانند یک جعبه ابزار عظیم است که هر ابزار لازم برای هوش مصنوعی را در خود دارد. اگر بخواهیم دقیقتر بگوییم، چند کتابخانه (Library) کلیدی وجود دارد که این پروژه را ممکن میکند:
اول از همه OpenCV است. این کتابخانه در واقع «چشم» برنامه ماست. OpenCV به ما اجازه میدهد دوربین را فعال کنیم، تصاویر را لحظه به لحظه بگیریم، رنگها را تغییر دهیم یا لرزش تصویر را بگیریم تا هوش مصنوعی بهتر بتواند محیط را تحلیل کند.
سپس به سراغ PyTorch یا TensorFlow میرویم. اینها «مغز» سیستم هستند. این کتابخانهها اجازه میدهند مدلهای پیچیده هوش مصنوعی را اجرا کنیم. برای مثال، مدلهایی مثل YOLO (You Only Look Once) که میتواند در کسری از ثانیه دهها شیء مختلف را در یک تصویر شناسایی کند و مکان دقیق آنها را مشخص کند.
و در نهایت، برای اینکه نابینایان بتوانند اطلاعات را دریافت کنند، به gTTS (Google Text-to-Speech) یا pyttsx3 نیاز داریم. این ابزارها «زبان» سیستم هستند که متنهای تولید شده توسط هوش مصنوعی را به صدای طبیعی تبدیل میکنند.
تصور کنید یک زنجیره ساختهایم: دوربین (OpenCV) $\rightarrow$ تحلیل تصویر (YOLO/TensorFlow) $\rightarrow$ تبدیل متن به صدا (gTTS). این زنجیره ساده، همان چیزی است که میتواند استقلال یک فرد را در محیطی ناشناخته به شدت افزایش دهد.
چالشهای واقعی در توصیف محیط برای نابینایان
ساختن یک برنامه که در محیط آزمایشگاهی کار کند راحت است، اما دنیای واقعی پیچیدگیهای خاص خود را دارد. بیایید کمی عمیقتر شویم و ببینیم چه مشکلاتی پیش روی ماست و چگونه میتوانیم آنها را حل کنیم.
یکی از بزرگترین چالشها، نورپردازی است. مدلهای هوش مصنوعی ممکن است در روزهای آفتابی عالی عمل کنند، اما در شب یا در محیطهای کمنور، گیج شوند. برای حل این مشکل، میتوان از تکنیکهای بهبود تصویر در OpenCV استفاده کرد تا کنتراست عکسها بالا برود و اشیاء واضحتر شوند.
چالش دوم، سرعت پردازش (Latency) است. برای کسی که در حال راه رفتن است، شنیدن این جمله که «یک ماشین در حال نزدیک شدن است» با تاخیر ۵ ثانیهای، عملاً بیفایده و حتی خطرناک است. سیستم باید در لحظه (Real-time) عمل کند. اینجاست که بهینهسازی کدها و استفاده از مدلهای سبکتر (مثل YOLO-Nano) اهمیت پیدا میکند تا برنامه روی سختافزارهای ضعیفتر مثل رزبریپای (Raspberry Pi) یا گوشیهای موبایل هم سریع اجرا شود.
و اما چالش سوم: دقت در توصیف. گفتن اینکه «یک شیء در جلو است» کافی نیست. کاربر نیاز دارد بداند فاصله آن چقدر است و در کدام جهت قرار دارد (مثلاً: «یک میز در فاصله دو متری، سمت راست شماست»). برای این کار، ما باید از مفاهیمی مثل Depth Estimation یا تخمین عمق استفاده کنیم تا فضای سهبعدی را به کلمات تبدیل کنیم.
اگر به دنبال پیادهسازی چنین سیستمهای پیشرفتهای هستید یا میخواهید بدانید چگونه میتوانید از هوش مصنوعی برای حل مشکلات واقعی کسبوکار یا جامعه استفاده کنید، مشاوران ما در زیروکس ایآی آمادهاند تا شما را در مسیر تبدیل ایدهها به محصولات هوشمند راهنمایی کنند.
نقشه راه فنی: از صفر تا توصیف محیط
حالا که با مفاهیم آشنا شدیم، بیایید ببینیم اگر بخواهیم این سیستم را از نظر فنی طراحی کنیم، چه مراحلی را باید طی کنیم. این مسیر را میتوان به چهار مرحله اصلی تقسیم کرد که هر کدام نقش حیاتی در عملکرد نهایی دارند.
۱. دریافت و پیشپردازش تصویر: در این مرحله، برنامه باید به دوربین دسترسی پیدا کند. اما عکس خام همیشه بهترین گزینه نیست. ما باید عکس را به اندازه مناسبی تغییر سایز دهیم (مثلاً ۶۴۰ در ۶۴۰ پیکسل) تا مدل هوش مصنوعی بتواند آن را پردازش کند. همچنین حذف نویزهای تصویری در این مرحله انجام میشود تا دقت شناسایی بالا برود.
۲. شناسایی اشیاء و تحلیل صحنه: در این مرحله، تصویر به مدل هوش مصنوعی ارسال میشود. مدل شروع به جستوجو برای الگوهای شناخته شده میکند. برای مثال، مدل تشخیص میدهد که در تصویر یک «صندلی»، یک «در» و یک «آدم» وجود دارد. همچنین مختصات هر کدام (Bbox) مشخص میشود تا بفهمیم هر شیء کجای تصویر است.
۳. تولید توصیف متنی هوشمند: اینجاست که منطق برنامهنویسی وارد میشود. ما نمیخواهیم فقط لیستی از اشیاء را بخوانیم. ما میخواهیم جملاتی بسازیم. مثلاً اگر مختصات «در» در مرکز تصویر باشد، برنامه باید بگوید: «یک در روبروی شماست». اگر در گوشه چپ باشد، بگوید: «یک در در سمت چپ شما قرار دارد».
۴. تبدیل متن به گفتار (TTS): در مرحله آخر، این جملات به موتور صوتی ارسال میشوند. نکته مهم در اینجا، انتخاب صدای طبیعی است. صدای رباتیک خستهکننده است و ممکن است کاربر پس از مدتی از آن دلسرد شود. استفاده از APIهایی مثل Google Text-to-Speech باعث میشود خروجی بسیار انسانیتر و قابلتحملتر باشد.
کالبدشکافی کد: پیادهسازی گامبهگام سیستم توصیف محیط
تا اینجا متوجه شدیم که چه ابزارهایی نیاز داریم و منطق کلی سیستم چگونه است. اما بیایید از فضای تئوری فاصله بگیریم و وارد دنیای کدنویسی شویم. برای اینکه یک سیستم توصیف محیط بسازیم، نیازی نیست از ابتدا یک مدل هوش مصنوعی را آموزش دهیم (که نیاز به میلیونها عکس و سختافزارهای بسیار گرانقیمت دارد)؛ بلکه از مدلهای Pre-trained یا پیشآموزه استفاده میکنیم.
تصور کنید یک متخصص بینایی را استخدام کردهاید که قبلاً تمام اشیاء دنیا را دیده است و حالا فقط باید به او بگویید چه زمانی عکس بگیرد و نتایج را به شما گزارش کند. در پایتون، این متخصص همان مدل YOLO یا MobileNet است.
برای شروع، ابتدا باید کتابخانههای مورد نیاز را نصب کنیم. با یک دستور ساده در ترمینال، ابزارهای OpenCV برای مدیریت دوربین و مدلهای شناسایی را فراخوانی میکنیم. اما نکته طلایی اینجاست: برای اینکه برنامه ما روی یک سیستم معمولی (مثلاً لپتاپ یا یک برد رزبریپای) اجرا شود، باید از نسخههای سبک مدلها استفاده کنیم. مدل YOLOv8n (نسخه Nano) یکی از سریعترین و بهینهترین گزینههاست که تعادلی عالی بین سرعت و دقت برقرار میکند.
گام اول: فعالسازی چشمهای دیجیتال با OpenCV
اولین قدم، برقراری ارتباط با دوربین است. در پایتون، این کار با چند خط کد ساده انجام میشود. اما یک نکته ظریف وجود دارد؛ دوربینها تصاویر را به صورت فریمهای متوالی (Frames) ارسال میکنند. اگر ما بخواهیم هر فریم را تحلیل کنیم، ممکن است سیستم ما دچار لگ یا کندی شود و صدای خروجی با تصویر همزمان نباشد.
برای حل این مشکل، از تکنیک Frame Skipping یا پرش فریم استفاده میکنیم. به جای تحلیل ۳۰ فریم در ثانیه، هر ۵ یا ۱۰ فریم یکبار تصویر را تحلیل میکنیم. این کار باعث میشود فشار روی پردازنده (CPU) کاهش یابد و در عین حال، کاربر همچنان احساس کند که سیستم به صورت لحظهای در حال توصیف محیط است.
گام دوم: تحلیل تصویر و استخراج اطلاعات
حالا تصویر آماده است و به مدل هوش مصنوعی ارسال میشود. در این مرحله، مدل خروجیهایی به ما میدهد که برای انسان نامفهوم اما برای برنامهنویس گنج است. این خروجیها شامل سه مورد اصلی هستند:
- Class ID: عددی که نشان میدهد شیء چیست (مثلاً عدد ۰ برای انسان، ۱ برای دوچرخه).
- Confidence Score: درصدی که مدل از تشخیص خود مطمئن است (مثلاً ۸۵٪ احتمال دارد این یک صندلی باشد).
- Bounding Box: چهار مختصات (x, y, width, height) که جای دقیق شیء را در تصویر مشخص میکند.
بیایید روراست باشیم؛ اگر برنامه هر چیزی را که میبیند با صدای بلند اعلام کند، کاربر دیوانه میشود! تصور کنید در یک اتاق هستید و برنامه مدام بگوید: «دیوار، سقف، کف، دیوار، میز، دیوار...». این یک کابوس صوتی است. برای جلوگیری از این اتفاق، ما باید یک منطق فیلترینگ پیاده کنیم. مثلاً فقط اشیائی را گزارش کنیم که درصد اطمینان آنها بالای ۷۰٪ است یا اشیائی که در مرکز تصویر قرار دارند و احتمالاً مانعی در مسیر کاربر هستند.
گام سوم: تبدیل مختصات به توصیفات انسانی
اینجاست که جادوی برنامهنویسی اتفاق میافتد. ما باید ریاضیات را به زبان تبدیل کنیم. فرض کنید عرض تصویر ما ۶۴۰ پیکسل است. اگر مرکز جعبه شناسایی شده (Bounding Box) بین ۰ تا ۲۰۰ باشد، یعنی شیء در «سمت چپ» است. اگر بین ۲۰۰ تا ۴۰۰ باشد، یعنی «روبرو» و اگر بین ۴۰۰ تا ۶۴۰ باشد، یعنی «سمت راست».
با این منطق ساده، ما میتوانیم جملاتی بسازیم که برای یک فرد نابینا کاملاً کاربردی باشند. به جای اینکه بگوییم «Person detected at x=100, y=200»، میگوییم: «یک شخص در سمت چپ شما حضور دارد». این تغییر کوچک در نحوه ارائه اطلاعات، تفاوت بین یک پروژه دانشجویی و یک محصول واقعی است که میتواند جان کسی را نجات دهد یا استقلال او را فراهم کند.
گام چهارم: تبدیل متن به صدا (قلب تپنده سیستم)
در نهایت، باید متن تولید شده را به صدا تبدیل کنیم. در اینجا دو راه پیش روی ماست. اول، استفاده از کتابخانههای آفلاین مثل pyttsx3 که نیاز به اینترنت ندارند و سریع هستند، اما صدایشان کمی رباتیک است. دوم، استفاده از gTTS (گوگل) که صدایی بسیار طبیعی و انسانی دارد اما نیاز به اتصال به اینترنت دارد.
برای یک سیستم کمکرسان، پیشنهاد من ترکیبی از این دو است. برای هشدارهای سریع و حیاتی (مثل: «احتیاط! مانع در جلو است») از سیستم آفلاین سریع استفاده کنیم و برای توصیفات مفصلتر (مثل: «شما در یک اتاق روشن هستید که یک میز بزرگ در مرکز آن قرار دارد») از سیستم آنلاین گوگل بهره ببریم.
تصور کنید کاربر دکمهای روی لباسش یا عینک هوشمندش فشار میدهد و سیستم در عرض یک ثانیه محیط را اسکن کرده و با صدای آرام و شمرده میگوید: «یک صندلی خالی در فاصله دو متری سمت راست شماست». این یعنی تبدیل کد به امید.
استفاده از تکنولوژی برای کمک به دیگران، والاترین هدف برنامهنویسی است. وقتی متوجه میشوید که چند خط کد پایتون میتواند جایگزین عصای سفید یا راهنمای انسانی شود، معنای واقعی «قدرت نرمافزار» را درک میکنید.
بهینهسازی برای دنیای واقعی: فراتر از کد ساده
اگر بخواهیم این پروژه را به سطح صنعتی برسانیم، باید به سراغ مفاهیمی برویم که در ابتدای مقاله به آنها اشاره کردیم. یکی از جذابترین ایدهها، استفاده از تخمین عمق (Depth Estimation) است. با استفاده از مدلهای جدید مثل MiDaS، میتوانیم بدون نیاز به سنسورهای گرانقیمت لایدار (LiDAR)، فقط با یک دوربین معمولی بفهمیم هر شیء دقیقاً چه فاصلهای با کاربر دارد.
همچنین، میتوانیم سیستم را به تشخیص چهره (Face Recognition) متصل کنیم. تصور کنید فرد نابینا نه تنها بداند کسی در مقابلش است، بلکه سیستم به او بگوید: «سارا در فاصله یک متری شماست و در حال لبخند زدن است». این سطح از جزئیات، ابعاد جدیدی از ارتباطات انسانی را برای نابینایان باز میکند.
البته، پیادهسازی چنین سیستمهای پیچیدهای نیازمند دانش عمیق در زمینه معماری مدلها و بهینهسازی سختافزاری است. بسیاری از توسعهدهندگان در این مسیر با مشکلاتی مثل داغ شدن دستگاه یا مصرف بالای باتری مواجه میشوند. در چنین شرایطی، بهرهگیری از استانداردهای جهانی و مشورت با متخصصانی که تجربه تبدیل مدلهای سنگین به نسخههای سبک (Lightweight Models) را دارند، حیاتی است. برای مثال، متخصصان در زیروکس ایآی میتوانند در زمینه بهینهسازی مدلهای بینایی ماشین برای اجرا روی سختافزارهای محدود، راهکارهای عملی و صنعتی ارائه دهند تا ایدهی شما از یک کد ساده به یک گجت کاربردی تبدیل شود.
آیندهی بینایی دیجیتال: از یک اسکریپت ساده تا عینکهای هوشمند
ما در این مسیر، از مفاهیم ابتدایی بینایی ماشین شروع کردیم و تا پیادهسازی منطق توصیف محیط در پایتون پیش رفتیم. اما بیایید صادق باشیم؛ کدی که روی یک لپتاپ اجرا میشود و خروجی را از بلندگو پخش میکند، تنها نقطه شروع است. هدف نهایی ما، ایجاد یک تجربه نامحسوس (Seamless) است. یعنی ابزاری که کاربر حتی فراموش کند یک ماشین در حال کمک به اوست و احساس کند گویی حسی ششم به دست آورده است.
تصور کنید این سیستم به جای یک لپتاپ، روی یک عینک سبک یا یک دوربین کوچک روی سینه نصب شده باشد. دوربین به طور مداوم محیط را رصد میکند و از طریق یک گوشی هوشمند در جیب کاربر، اطلاعات را به صورت زمزمهوار در گوش او میرساند. در این سطح، ما دیگر با یک «برنامه» سر و کار نداریم، بلکه با یک «دستیار زندگی» روبرو هستیم.
گسترش قابلیتها: وقتی هوش مصنوعی با هوش مصنوعی ترکیب میشود
یکی از هیجانانگیزترین اتفاقات سالهای اخیر، ظهور مدلهای زبانی بزرگ (LLMs) مانند GPT-4 یا Gemini است. حالا تصور کنید مدل شناسایی اشیاء (YOLO) را با یک مدل زبانی ترکیب کنیم. در حالت عادی، سیستم میگوید: «یک میز و یک لیوان در تصویر است». اما با ترکیب این دو، سیستم میتواند تحلیل کند: «یک لیوان آب روی لبه میز قرار دارد و احتمالاً در خطر سقوط است، مراقب باشید!»
این یعنی انتقال از «تشخیص» به «درک». تفاوت این دو در همان جایی است که هوش مصنوعی شروع به استدلال میکند. برای یک فرد نابینا، دانستن اینکه لیوان روی لبه میز است، بسیار حیاتیتر از دانستن اینکه در اتاق یک لیوان وجود دارد. این همان جهتی است که تکنولوژی در حال حرکت به سوی آن است: هوش مصنوعی متنی-بصری (Multimodal AI).
| سطح سیستم | قابلیت | مثال خروجی |
|---|---|---|
| پایه (Basic) | شناسایی اشیاء | «یک صندلی شناسایی شد» |
| متوسط (Intermediate) | توصیف موقعیت و جهت | «یک صندلی در سمت چپ شماست» |
| پیشرفته (Advanced) | تحلیل صحنه و هشدار | «صندلی در مسیر شماست، به راست منحرف شوید» |
مسئولیت اخلاقی و حریم خصوصی
در حالی که از هیجان این تکنولوژی صحبت میکنیم، نباید از یک نکته بسیار مهم غافل شویم: حریم خصوصی. سیستمی که مدام در حال فیلمبرداری از محیط است، میتواند حریم خصوصی افراد دیگر را به خطر بیندازد. به عنوان توسعهدهندگان، وظیفه داریم راهکارهایی برای مدیریت دادهها بیابیم. برای مثال، پردازش تصاویر به صورت Edge Computing (پردازش روی خود دستگاه و نه در سرورهای ابری) یکی از بهترین راههاست تا هیچ تصویری از محیط کاربر به فضای اینترنت ارسال نشود و امنیت کاربران تضمین گردد.
همچنین باید به یاد داشته باشیم که تکنولوژی هرگز نباید جایگزین مهارتهای پایه (مانند استفاده از عصای سفید یا سگ راهنما) شود، بلکه باید به عنوان یک لایه حمایتی اضافی عمل کند تا ریسکهای محیطی کاهش یابد.
سخن پایانی: از ایده تا اجرا
سفر ما در این مقاله از یک پرسش ساده شروع شد: «آیا میتوان به نابینایان کمک کرد؟» و به این نتیجه رسیدیم که با ترکیب پایتون، بینایی ماشین و تبدیل متن به صدا، میتوانیم پنجرهای جدید به روی دنیا باز کنیم. این پروژه نه تنها یک تمرین برنامهنویسی، بلکه یک گام در جهت انسانیتر کردن تکنولوژی است.
شاید در حال حاضر شما هم ایدهای در سر داشته باشید؛ شاید بخواهید سیستمی بسازید که برای سالمندان مفید باشد، یا ابزاری خلق کنید که در محیطهای صنعتی ایمنی را افزایش دهد. حقیقت این است که فاصله بین یک «ایده روی کاغذ» و یک «محصول در دست کاربر»، تنها در اجرای درست و بهینه است. دنیای هوش مصنوعی با سرعت نور در حال تغییر است و هر کسی که بتواند این ابزارها را به درستی به خدمت بگیرد، پیشرو خواهد بود.
اگر شما هم به دنبال تبدیل ایدههای نوآورانه خود به واقعیت هستید یا میخواهید پروژههای هوش مصنوعی خود را در سطح صنعتی و با استانداردهای جهانی پیادهسازی کنید، نیاز به یک نقشه راه دقیق و مشورت با متخصصانی دارید که پیچیدگیهای مدلهای عمیق را میشناسند. برای اینکه بدانید چگونه میتوانید از قدرت AI برای حل چالشهای واقعی استفاده کنید و محصولی بسازید که واقعاً اثرگذار باشد، میتوانید همین حالا با ما در زیروکس ایآی ارتباط بگیرید و اولین قدم را برای تبدیل رویای خود به کدهای کاربردی بردارید.
به یاد داشته باشید که هر تغییر بزرگی با اولین خط کد شروع میشود. امروز وقت آن است که شما آن خط اول را بنویسید و دنیای اطراف را برای کسی که نمیبیند، روایت کنید.