خانه تکنولوژی

معرفی تکنولوژی روز دنیا

خانه تکنولوژی

معرفی تکنولوژی روز دنیا

Inside Conflux: چگونه یک افسانه علوم کامپیوتر در حال برنامه ریزی برای حل بزرگترین چالش در جهان بلاک چین است

Inside Conflux: چگونه یک افسانه علوم کامپیوتر در حال برنامه ریزی برای حل بزرگترین چالش در جهان بلاک چین است

دیروز ، گروهی از سرمایه گذاران برجسته مانند Sequoia China ، Baidu Ventures ، مبادله رمزنگاری Huobi ، Metastable و IMO Ventures اعلام کردند که 35 میلیون دلار بودجه برای بنیاد Conflux ، سازمانی که پروتکل جدید بلندپروازانه ای را ایجاد می کند که با محدودیت های مقیاس پذیری فناوری های بلاک چین مقابله می کند. Conflux توسط گروهی از دانشمندان علوم کامپیوتر از دانشگاه تورنتو و دانشگاه Tsinghua چین رهبری می شود که شامل دکتر اندرو چی-چی یائو ، برنده جایزه تورینگ است. دکتر یائو که از افسانه های علوم رایانه محسوب می شود ، اخیراً به جنبه های مختلفی از ارزهای رمزنگاری شده مانند مشوق ها یا اجماع پرداخته است. برخی از این کارها منجر به یک مقاله تحقیقاتی شد که اصول اولیه زنجیره Conflux را بیان می کند.

Conflux جدیدترین افزودنی در زمینه فعال فناوری های دفتر کل توزیع شده است که تلاش می کند برخی از محدودیت های مقیاس پذیری بلاک چین را برطرف کند. مانند اتریوم یا بیت کوین. Dfinity ، Hasgraph ، Zilliqa ، Algorand از برجسته ترین پروژه هایی هستند که روی این حوزه متمرکز شده اند. ایده های پشت Conflux شباهت هایی با برخی از این پروژه ها دارد اما به مدل اجماع ناکاموتو وفادار می ماند. از نظر مفهومی ، پروتکل Conflux بر اساس مدل پیاپی Nakamoto با اجماع برای تولید یک بلوک در آن زمان به شبکه اجازه می دهد تا تعدادی دلخواه از بلوک های همزمان را بدون قربانی شدن تغییرناپذیری بلاک چین ایجاد کند. از نظر فنی ، این بهینه سازی می تواند پردازش همزمان هزاران تراکنش در ثانیه را امکان پذیر کند. بدیهی است که شیطان در جزئیات است ، اما به نظر می رسد که Conflux چندین تکنیک مشهور علوم رایانه را برای رسیدن به این موفقیت بزرگ ترکیب کرده است.

ورود به Conflux

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

برای رفع محدودیت های اجماع ناکاموتو ، چندین بلاکچین از گزینه های دیگری مانند تحمل خطای بیزانسی (BFT) که برای تعیین ترتیب به مدل سلسله مراتبی متکی است ، استفاده کرده اند. از معاملات با این حال ، یک مکتب فکری وجود دارد ، که مشخصاً شامل محققان پشت Conflux است ، که معتقد است بلاک چین های BFT نمی توانند به طور کافی در مقیاس غیرمتمرکز باشند (این بحث روز دیگری است). پروتکل های Conflux از رویکرد متفاوتی پیروی می کند که از یک ایده ساده استفاده می کند: "اگر بتوانیم بلوک های همزمان و معاملات را به صورت خوش بینانه پردازش کنیم و سفارش نهایی آن را به بعد از زمان وقوع موکول کنیم؟" اگرچه این ایده در ابتدا ممکن است مضحک به نظر برسد ، اما اگر در نظر بگیریم که اکثر معاملات به ندرت با هم در تضاد هستند ، منطقی به نظر می رسدبه موقع در بلاک چین که منجر به این فرض می شود که بلوک های همزمان به طور پیش فرض با یکدیگر در تضاد نیستند و باعث ایجاد همزمانی خوش بینانه می شود. چند مرحله ساده:

1) پردازش خوش بینانه بلوک های همزمان

2) سازماندهی بلوک ها به صورت نمودارهای غیر چرخشی مستقیم (DAG)

3) ابتدا در مجموع توافق کنید ترتیب همه بلوک ها (فرض کنید معاملات با هم در تعارض نیستند)

4) سپس دستور تراکنش را از دستور بلوک مورد توافق (به طور تنبلی تعارضات معامله را حل کنید)

به منظور پیاده سازی این موارد مراحل ، پروتکل اجماع Conflux حفظ پروتکل اجماع دو نوع روابط بین بلوک ها را حفظ می کند. هنگامی که یک گره شرکت کننده یک بلوک جدید در Conflux ایجاد می کند ، گره یک بلوک والد (قبلی) را برای بلاک جدید شناسایی می کند و یک لبه والد بین این دو بلوک مانند بیت کوین ایجاد می کند. این لبه های اصلی Conflux را قادر می سازد تا به اجماع غیرقابل برگشت ثابت در دفتر کل خود دست یابد. نتیجه نهایی این است که لبه های بین بلوک ها یک نمودار غیر چرخه ای مستقیم (DAG) ایجاد می کنند که هم پیمایش آسان است و هم سطح خاصی از مقاومت در برابر چنگال ها را معرفی می کند. از این منظر ، Conflux را می توان به عنوان یک پروتکل اجماعی ناکاموتو مبتنی بر DAG در نظر گرفت.

همه می دانیم که بلاک چین فراتر از یک پروتکل اجماع است. Conflux معماری نسبتاً ساده ای را ارائه می دهد که برخی از اصول اصلی بیت کوین را با ساختارهای مقیاس پذیری نوآورانه گسترش می دهد. معماری پایه Conflux شامل اجزای زیر است:

· Gossip Network: همه گره های شرکت کننده در Conflux از طریق یک شبکه gossip متصل می شوند که وظیفه پخش تراکنش به تمام گره های شبکه را بر عهده دارد.

· حوض تراکنش معلق: هر گره در شبکه Conflux دارای یک تراکنش معلق است که شامل تراکنش هایی است که توسط گره شنیده شده اما هنوز در هیچ بلوکی بسته بندی نشده اند. هرگاه یک گره یک معامله جدید از شبکه gossip دریافت می کند ، گره تراکنش را به مجموعه خود اضافه می کند.

· Block Generator: گره های Conflux از یک بلوک ژنراتور مبتنی بر Proof-Of-Work (PoW) برای ایجاد استفاده می کنند. بلوک ها برای معاملات در انتظار. //cdn-images-1.medium.com/max/426/1*ZxEAFLq6MNCMHFG1KQGYxQ.png">

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

Conflux in Action

تیم Conflux یک نمونه اولیه از پروتکل را اجرا می کند روی 800 نمونه AWS EC2 که هر کدام ده ها گره را اجرا می کنند. در مجموع آزمایشات از معماری حدود 10000 گره Conflux برای پردازش بلوک های 1MB-8MB در اندازه استفاده کرد. جای تعجب نیست که Conflux در مقایسه با سایر بلاکچین های ناکاموتو با اجماع مزیت روشنی را نشان داد.

کمی چشمگیرتر این است که نسبت استفاده از بلاک Conflux بسیار بیشتر از سایر بلاک چین های قابل مقایسه عمل کند.

سایر آزمایشات نشان داد که Conflux می تواند به طور مداوم در حدود 20000 کاربر همزمان بدون تأثیر عمده در تأییدزمان.

Conflux رویکرد جدیدی را برای مقیاس پذیری بلاک چین با عدم خروج کامل از اصول بیت کوین اتخاذ می کند. در حال حاضر ، Conflux چیزی بیش از یک تمرین تحقیقاتی پیچیده نیست ، اما برخی از ایده های آن ممکن است به عنوان یک بلاکچین جدید تکامل یابد یا حتی در بیت کوین گنجانده شود.

چرا سولانا به توسعه دهندگان بلاک چین "رایانه جهانی" نیاز دارد

چرا سولانا به توسعه دهندگان بلاک چین "رایانه جهانی" نیاز دارد

کیل سامانی از Multicoin Capital تز سرمایه گذاری در سولانا ، اولین بلاک چین در مقیاس وب جهان را توضیح می دهد

این هفته ، سولانا از اتمام دور سرمایه گذاری سری A به مبلغ 20 میلیون دلار از مهمترین تخصیص دهندگان سرمایه در بلاک چین خبر داد. با افزایش سرمایه Multicoin ، این افزایش مشارکت قابل توجهی در پیگیری ایجاد اولین بلاک چین در مقیاس وب جهان از Distributed Global ، Blocktower Capital ، Foundation Capital ، Blockchange VC ، Slow Ventures ، NEO Global Capital ، Passport Capital و Rockaway Ventures دارد.

کایل سامانی ، بنیانگذار و شریک مدیریتی Multicoin Capital ، که دارای سبد سرمایه گذاری است که شامل بلاکچین نوآورانه می شود ، می گوید: "Solana نزدیکترین چیز به توسعه دهندگان بلاک چین" رایانه جهان "است که در روزهای اولیه رمزنگاری تصور می شد. مشاغل شامل Skale ، Bakkt ، Livepeer و Helium. "Solana یکی از قانع کننده ترین سیستم عامل های لایه 1 است که ما تا به امروز ارزیابی کرده ایم. ما بسیار مفتخریم که این دور را رهبری می کنیم و توسعه دهندگان را در همه جا تشویق می کنیم تا نگاهی جدی به سولانا بیندازند. این تز سرمایه گذاری Multicoin را برای پروژه سولانا توضیح می دهد. این مقاله فرصتی عالی برای آشنایی بیشتر با زیرساخت های فناوری Solana ، و معنای آن در رابطه با وضعیت توسعه بلاک چین فراهم می کند. ما برخی از عناصر کلیدی مقاله را در زیر با یک نسخه کوتاه از متن برجسته می کنیم ، اما کل مقاله نیاز به خواندن دارد.

برای شروع ، شش ویژگی اصلی وجود دارد که همه توسعه دهندگان برنامه های دارای اعتماد به حداقل نیاز به موفقیت دارند و سولانا همه آنها را حفظ می کند:

بازدهی بالا: شبکه امروز بیش از 50،000 تراکنش در ثانیه را در شبکه جهانی بیش از 60 گره اجماع شرکت کننده نشان داد تأخیر کم: 400 میلی ثانیه بلوک هزینه معاملات ارزان : 10 دلار برای 1.000.000 تراکنش زنگ به عنوان زبان برنامه نویسی شاخص (همچنین از C ، C ++ و حرکت Libra پشتیبانی می کند) یک الگوریتم ناهمگام ، توافق BFT A دولت جهانی واحد که از قراردادهای هوشمند ترکیبی پشتیبانی می کند

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

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

مورد سولانا یکی است که توسعه دهندگان مجبور نیستند به راه حل های مقیاس بندی وابسته باشند (توسعه دهندگان مطمئناً لایه 2 را مستقر می کنندچیزهایی در بالای سولانا ، و آنها قادر خواهند بود زیرا سولانا بدون مجوز است). در بیشتر موارد استفاده ، توسعه دهندگان مبتنی بر Solana اصلاً مجبور نیستند به مقیاس بندی فکر کنند ، زیرا تمام لایه لایه 1 سولانا پیچیدگی انتزاعی است.

سخت افزار ، نرم افزار و فراوانی محاسباتی

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

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

اول ، شبکه Solana به طور کلی با سرعت یکسانی از اعتبارسنج واحد عمل می کند. این در واقع بصری است: اگر نرم افزار مانع سخت افزار نشود ، شبکه با سرعت یک دستگاه واحد کار می کند ، فرض کنید پهنای باند تنگنا نیست (در این مورد بیشتر در بخش توربین زیر).

دوم ، مقیاس های عملکرد شبکه را در کنار پهنای باند و تعداد هسته های GPU تجمیع کنید. پهنای باند هر 24 تا 36 ماه دو برابر می شود و اتصالات اینترنتی مدرن تا حد زیادی از اشباع محدودیت های فیزیکی فیبر فاصله دارند. و در حالی که عملکرد CPU تک رشته ای دیگر مطابق قانون مور بهبود نمی یابد ، پردازنده های گرافیکی همچنان تعداد هسته های خود را هر 18-24 ماه دو برابر می کنند بدون هیچ چشم اندازی

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

مرور کلی فناوری

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

اثبات تاریخ (POH) - POH یک نوآوری ظریف اما اساسی است که بقیه معماری منحصر به فرد سولانا بر روی آن ساخته شده است. برج BFT -یک نسخه PBFT بهینه شده با POH که زنده ماندن را بر قوام ترجیح می دهد. توربین-یک پروتکل انتشار بلوک است که از BitTorrent وام زیادی می گیرد. مقیاس سولانا بصورت خطی با پهنای باند سریعترین ⅔ گره ها انجام می شود. همه زنجیره های دیگر به صورت زیر خطی مقیاس می شوند. Gulf Stream-یک پروتکل ارسال تراکنش بدون ممپول. Pipeline VM-Pipeline یک ماشین مجازی مجازی است که از LLVM برای کامپایل کد برای پردازنده های گرافیکی برای اجرای تراکنش موازی انبوه (نه فقط تأیید امضا). این باعث افزایش مقیاس بندی فوق العاده برای سولانا می شود. Cloudbreak-پایگاه داده حساب های مقیاس پذیر به صورت افقی. پایگاه داده های سنتی مانند LevelDB نمی تواند از بیش از 5000 پوند تصادفی در ثانیه در یک نمونه تجاوز کند. Cloudbreak راه حل جدید سولانا برای مقیاس افقی دیسک ورودی/خروجی است. Cloudbreak بر اساس تکنیک های سیستم عامل مانند پراکندگی جمع آوری برای ارائه دیسک ورودی/خروجی بی نظیر است. Replicators-یک دفتر کل توزیع شده برای حل مشکل در دسترس بودن داده ها برای پتا بایت داده. به جای نیاز به گره های اجماعی برای ذخیره کل تاریخ ، سولانا از دسته دوم گره استفاده می کند - Replicators - که تنها مسئولیت آنها ذخیره قطعات کوچکی از تاریخ معاملات است.

موضوع مشترک این نوآوری ها را می توان در موارد زیر خلاصه کرد: یک کلمه: بهینه سازی سولانا واضح ترین نمونه ای است که از اولین مهندسی مبتنی بر اصول در هر لایه از پشته دیده ام. تیم به طور سیستماتیک هر نقطه را در آنجا شناسایی کردکه سایر زنجیره ها کند می شوند (به عنوان مثال ، سربار اجماع ، محاسبه تک رشته ای ، و ورودی/خروجی دیسک) و راه حل های منحصر به فردی برای رفع هر مشکلی طراحی کرده اند.

Libra and Move

تیم Libra فیس بوک یک ماشین مجازی و زبان برنامه نویسی جدید به نام Move ایجاد کرد. اگرچه Libra در زمان راه اندازی شبکه اصلی خود در سال 2020 قابل برنامه ریزی نخواهد بود ، اما تیم Libra قبلاً منبع کد Move را باز کرده است. و معلوم می شود که Move و Solana’s Pipeline VM بیشتر شبیه به هم هستند.

سولانا بطور طبیعی از Move پشتیبانی می کند ، از جمله BPF و پردازش تراکنش های موازی. این بدان معناست که توسعه دهندگان می توانند برنامه های کاربردی برای زنجیره مجاز Libra را به زنجیره Solana بدون مجوز منتقل کرده و تمام عملکردی را که سولانا ارائه می دهد دریافت کنند.

این یک کاتالیزور باور نکردنی برای سولاناست زیرا سولانا از Libra سود می برد. توزیع در حالی که هنوز به روشی کاملاً بدون اجازه کار می کند. بر اساس راه اندازی شبکه اصلی سولانا در اکتبر 2019 ، احتمالاً سولانا اولین زنجیره ای است که از برنامه های مبتنی بر Move پشتیبانی می کند.

برنامه های کاربردی منحصر به فرد

سولانا آنقدر کارآمد است که کلاس های کاملاً جدیدی از برنامه های کاربردی را که قبلاً غیرممکن بود ، فعال می کند. یک اوراکل که روی Solana اجرا می شود می تواند هر 400 میلی ثانیه به روزرسانی قیمت را ارائه دهد. مبادله غیر متمرکز که می تواند 30 هزار به روزرسانی قیمت را در ثانیه انجام دهد و هر 400 میلی ثانیه قیمت آن را تسویه کند. تیم سولانا برای ملاقات با توسعه دهندگان سراسر جهان ، پاسخگویی به س questionsالات و نشان دادن سیستم در عمل ، یک تور جهانی را آغاز می کند. آنها در اجلاس Web3 در اوت در برلین ، هفته بلاک چین Wanxiang در شانگهای در ماه سپتامبر و Devcon5 در ژاپن در ماه اکتبر ، علاوه بر رویدادهای کوچکتر در سراسر جهان حضور خواهند داشت. اگر قصد دارید در یکی از این رویدادها حضور داشته باشید ، لطفاً با تیم سولانا تماس بگیرید و سلام کنید!

"https://cdn-images-1.medium.com/max/426/1*6ZLh951VnqcJm__qFBTdgQ.png"> src = "https://cdn-images-1.medium.com/max/426/1*rVQlnCbq5W4R-2m_WNljTw.png">

OpenAI دو مدل ترانسفورماتور را منتشر می کند که به طور جادویی زبان و بینایی رایانه را پیوند می دهند

OpenAI دو مدل ترانسفورماتور را منتشر می کند که به طور جادویی زبان و بینایی رایانه را پیوند می دهند

CLIP و DALL · E از GPT-3 برای تسلط بر کارهای پیچیده بینایی رایانه الهام می گیرد.

منبع: https://www.rev.com/blog/what-is-gpt-3-the-new- openai-language-model من اخیراً یک خبرنامه آموزشی متمرکز بر هوش مصنوعی را راه اندازی کردم که بیش از 65000 مشترک دارد. TheSequence یک بدون خبره (به معنای بدون تبلیغات ، بدون اخبار و غیره) خبرنامه ML است…

I هوش مصنوعی - works شبکه های عصبی تحول برای برنامه های کامپیوتری بینایی (一)

I هوش مصنوعی - works شبکه های عصبی تحول برای برنامه های کامپیوتری بینایی (一)

CNN 原理 簡介 與 代表性 CNN 模型

p 分享 的 是 副研究員 他擅長 利用 機器 學習 打造 各種 如 物件 辨識، 影像 分割، 臉部 辨識، 動作 辨識، 人數 計算، 影像 比 對 等 電腦 視覺 應用. 從 論文 如數家珍 的 程度 看來، 林 副研究員 真的 在 此 領域 鑽研 甚深HOG ((از hypraptive)

對 HOG 有 興趣 深入 的 同學 , 參考 連結文章 , 內含 پایتون。 作。

هیستوگرام گرادیان های جهت دار در این پست ، ما با جزئیات توصیف کننده ویژگی هیستوگرام گرادیان های جهت دار (HOG) آشنا می شویم. ما یاد خواهیم گرفت ... www.learnopencv.com HOG 計算/> . 。。。。。。。。 p p p p p p p p p p p透過 大量 資料 的 訓練، 「自己 學習」 到 好的 特徵، 並 決定 好的 分類 器. 因 餵 進 大量 圖片 之後، 就 可以 產生 模型 跟 結果، 人類 專家 的 參與 越來越 少، 因此 又 可以 稱為پایان به پایان یادگیری。 (當然 實務 上 需要)) p p p p p p p p萃取 較低 階 的 特徵 (如 邊緣)، 接著 開始 辨識 出 如 車輪، 窗戶 等 比較 中 階 的 特徵، 最後 是 整個 車子 的 樣子. 當然، 實際上 模型 訓練 時 是 反向 的، 要 學好 高層 的 特徵。 中層 什麼 p p p p p p p p

از Nvidia

(類 神經 網路 一個 一個 一個 ((一個 一個 一個 一個 一個 一個 一個 一個 一個 一個 一個 一個 一個 一個 一個 一個Con (به طور کامل متصل شده است) 所.

ural 深度 基礎 基礎 參考 筆記 p p p p

CNN Network شبکه عصبی کانولوشنال v v v v on on on on نقشه ویژگی) 來 提取 特徵 , 運作 如下 圖 p

CNN 卷積 im

Convolution 是 兩個 重點 概念 ivity اتصال محلی sharing اشتراک وزن connect connect اتصال محلی 是 指 在sharing sharing sharing sharing sharing sharing sharing sharing sharing sharing sharing sharing تقسیم وزن 是 用來 偵測 偵測

نقشه راه برای دید رایانه ای

نقشه راه برای دید رایانه ای

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

عکس توسط Ennio Dybeli در مورد Unsplash

مقدمه

دید کامپیوتر (CV) امروزه یکی از کاربردهای اصلی هوش مصنوعی است (به عنوان مثال تشخیص تصویر ، ردیابی اشیاء ، طبقه بندی چند برچسب). در این مقاله ، برخی از مراحل اصلی تشکیل دهنده یک سیستم بینایی رایانه ای را برای شما شرح می دهم. تصاویر وارد سیستم می شوند. از Extractor Feature برای پیش پردازش و استخراج ویژگی ها از این تصاویر استفاده می شود. یک سیستم یادگیری ماشین از ویژگی استخراج شده به ترتیب استفاده می کند. برای آموزش مدل و پیش بینی.

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

تصاویر وارد سیستم < /h1>

هنگام تلاش برای پیاده سازی یک سیستم CV ، ما باید دو جزء اصلی را در نظر بگیریم: سخت افزار کسب تصویر و نرم افزار پردازش تصویر. یکی از الزامات اصلی که باید برای استقرار سیستم CV رعایت شود ، آزمایش استحکام آن است. در واقع سیستم ما باید بتواند در تغییرات محیطی (مانند تغییرات روشنایی ، جهت گیری ، مقیاس بندی) تغییر ناپذیر باشد و بتواند وظیفه طراحی شده خود را به طور مکرر انجام دهد. به منظور برآوردن این الزامات ، ممکن است لازم باشد محدودیت هایی را برای سخت افزار یا نرم افزار سیستم خود اعمال کنیم (به عنوان مثال کنترل از راه دور محیط روشنایی).

هنگامی که تصویری از دستگاه سخت افزاری ، روشهای زیادی برای نمایش عددی رنگها (Color Spaces) در یک سیستم نرم افزاری وجود دارد. دو مورد از مشهورترین فضاهای رنگی RGB (قرمز ، سبز ، آبی) و HSV (رنگ ، اشباع ، ارزش) هستند. یکی از مزایای اصلی استفاده از فضای رنگی HSV این است که فقط با گرفتن اجزای HS می توانیم روشنایی سیستم خود را ثابت نگه داریم (شکل 1).

شکل 1: فضاهای رنگی RGB در مقابل HSV [1]

استخراج کننده ویژگی

پیش پردازش تصویر

هنگامی که تصویری وارد سیستم می شود و با استفاده از یک فضای رنگی نمایش داده می شود ، می توانیم عملگرهای مختلف را بر روی تصویر اعمال کنیم تا نمای آن بهبود یابد:

عملگرهای نقطه: ما از تمام نقاط موجود در یک تصویر برای ایجاد یک نسخه تغییر یافته از تصویر اصلی (به منظور بیان صریح محتوای داخل یک تصویر ، بدون تغییر محتوای آن). چند نمونه از عملگرهای نقطه عبارتند از: عادی سازی شدت ، یکسان سازی هیستوگرام و آستانه. عملگرهای نقطه معمولاً برای کمک به تجسم بهتر تصویر برای بینایی انسان استفاده می شوند ، اما لزوماً هیچ مزیتی برای سیستم بینایی رایانه ای ندارند. اپراتورهای گروهی: در این مورد ، ما گروهی از نقاط را در نظر می گیریم. از تصویر اصلی به منظور ایجاد یک نقطه واحد در نسخه تبدیل شده تصویر. این نوع عملیات معمولاً با استفاده از Convolution انجام می شود. برای به دست آوردن نتیجه تغییر یافته ما می توان از انواع مختلف هسته برای پیوند با تصویر استفاده کرد (شکل 2). برخی از نمونه ها عبارتند از: میانگین یابی مستقیم ، میانگین گیری گاوسی و فیلتر متوسط. اعمال یک عملیات کانولوشن بهدر نتیجه ، یک تصویر می تواند میزان نویز در تصویر را کاهش داده و صاف شدن را بهبود بخشد (اگرچه این نیز می تواند در نهایت کمی تار شدن تصویر را به همراه داشته باشد). از آنجا که ما از گروهی از نقاط برای ایجاد یک نقطه جدید در تصویر جدید استفاده می کنیم ، ابعاد تصویر جدید لزوماً پایین تر از تصویر اصلی خواهد بود. یک راه حل برای این مشکل استفاده از صفحات صفر (تنظیم مقادیر پیکسل بر روی صفر) یا استفاده از یک الگوی کوچکتر در حاشیه تصویر است. یکی از محدودیت های اصلی استفاده از کانولوشن سرعت اجرای آن هنگام کار با اندازه های بزرگ قالب است ، یکی از راه حل های احتمالی این مشکل استفاده از تبدیل فوریه به جای آن است. شکل 2: تکامل هسته

پس از پردازش یک تصویر ، می توانیم تکنیک های پیشرفته تری را برای استخراج با استفاده از روش هایی مانند تشخیص درجه اول لبه (به عنوان مثال اپراتور Prewitt ، اپراتور Sobel ، Canny Edge Detector) و Hough Transforms ، لبه ها و اشکال درون یک تصویر را مشاهده می کنید.

استخراج ویژگی

یکبار قبل -پردازش یک تصویر ، 4 نوع اصلی مورفولوژی ویژگی وجود دارد که می توان با استفاده از Feature Extractor از یک تصویر استخراج کرد: از استخراج کننده ویژگی یک مثال ساده از یک ویژگی جهانی می تواند یک هیستوگرام از مقادیر پیکسل های ذخیره شده باشد. ویژگی های شبکه ای یا مبتنی بر بلوک: تصویر به بلوک های مختلف تقسیم می شود و ویژگی ها از هر یک از بلوک های مختلف استخراج می شوند. یکی از تکنیک های اصلی برای استخراج ویژگی ها از بلوک های یک تصویر ، DIFF Dense (تغییر ویژگی تغییر اندازه مقیاس) است. این نوع ویژگی ها به طور شایع برای آموزش مدل های یادگیری ماشین استفاده می شود. ویژگی های مبتنی بر منطقه: تصویر به مناطق مختلف تقسیم می شود (به عنوان مثال با استفاده از تکنیک هایی مانند آستانه گذاری یا خوشه بندی K-Means و سپس اتصال آنها به بخش هایی با استفاده از قطعات متصل) و یک ویژگی از هر یک از این مناطق استخراج می شود. ویژگی ها را می توان با استفاده از تکنیک های توصیف منطقه و محدوده مانند Moments و Chain Codes استخراج کرد. ویژگی های محلی: چندین نقطه مورد علاقه در تصویر تشخیص داده می شود و ویژگی ها با تجزیه و تحلیل پیکسل های مجاور نقاط مورد علاقه استخراج می شوند. به دو نوع اصلی از نقاط مورد علاقه که می توان از یک تصویر استخراج کرد گوشه ها و حباب ها هستند ، این نقاط را می توان با استفاده از روش هایی مانند Harris & Stephens Detector و Laplacian of Gaussians استخراج کرد. با استفاده از تکنیک هایی مانند SIFT (Scale Invariant Feature Transform) می توان ویژگی ها را در نهایت از نقاط مورد علاقه شناسایی شده استخراج کرد. ویژگیهای محلی معمولاً به منظور تطبیق تصاویر برای ایجاد بازسازی پانوراما/سه بعدی یا بازیابی تصاویر از پایگاه داده استفاده می شود.

پس از استخراج مجموعه ای از ویژگیهای متمایز ، می توانیم از آنها برای آموزش مدل یادگیری ماشین برای نتیجه گیری توصیف کننده های ویژگی را می توان به راحتی در پایتون با استفاده از کتابخانه هایی مانند OpenCV اعمال کرد. BoVW) به منظور ایجاد یک مجموعه از کلمات بصری ،ما قبل از هر چیز باید با استخراج همه ویژگی ها از مجموعه ای از تصاویر (به عنوان مثال با استفاده از ویژگی های مبتنی بر شبکه یا ویژگی های محلی) یک واژگان ایجاد کنیم. پی در پی ، می توانیم تعداد دفعاتی که یک ویژگی استخراج شده در یک تصویر ظاهر می شود را شمارش کرده و از نتایج یک هیستوگرام فرکانس بسازیم. با استفاده از هیستوگرام فرکانس به عنوان یک الگوی اصلی ، می توان در نهایت دسته بندی کرد که آیا یک تصویر متعلق به یک کلاس است یا نه با مقایسه هیستوگرام آنها (شکل 3).

این فرایند را می توان در چند مرحله زیر خلاصه کرد:

ما ابتدا با استخراج ویژگی های مختلف از مجموعه داده های تصاویر با استفاده از الگوریتم های استخراج ویژگی مانند SIFT و DIFT Sense ، واژگانی را ایجاد می کنیم. در مرحله دوم ، همه ویژگی های واژگان خود را دسته بندی می کنیم. با استفاده از الگوریتم هایی مانند K-Means یا DBSCAN و استفاده از مرکز خوشه ها به منظور جمع بندی توزیع داده های ما. در نهایت ، ما می توانیم با شمارش تعداد دفعات مختلف ویژگی های متفاوت ، یک هیستوگرام فرکانس از هر تصویر بسازیم. واژگان در تصویر ظاهر می شوند.

تصاویر جدید را می توان با تکرار همین فرایند برای هر تصویری که می خواهیم طبقه بندی کنیم و سپس با استفاده از هر الگوریتم طبقه بندی طبقه بندی کنیم تا دریابیم کدام تصویر در واژگان ما بیشتر شبیه آزمایش ما است تصویر.

شکل 3: کیف واژه های بصری [2]

امروزه به لطف ایجاد معماری شبکه های عصبی مصنوعی مانند Convolutional شبکه های عصبی (CNNs) و شبکه های عصبی مصنوعی مکرر (RCNNs) ، امکان ایجاد یک گردش کار جایگزین برای دید رایانه ای (شکل 4) وجود دارد.

شکل 4: گردش کار بینایی کامپیوتر [3]

در این حالت ، الگوریتم یادگیری عمیق هر دو مرحله استخراج ویژگی و طبقه بندی رایانه را در بر می گیرد. گردش کار بینایی هنگام استفاده از شبکه های عصبی کانولوشن ، هر لایه از شبکه عصبی تکنیک های مختلف استخراج ویژگی را در توضیحات خود اعمال می کند (به عنوان مثال ، لایه 1 لبه ها را تشخیص می دهد ، لایه 2 شکل هایی را در یک تصویر پیدا می کند ، لایه 3 تصویر را تقسیم می کند ، و غیره ...) قبل از ارائه ویژگی بردارهای طبقه بندی لایه متراکم.

برنامه های کاربردی دیگر یادگیری ماشین در بینایی رایانه ای شامل مناطقی مانند طبقه بندی چند برچسب و تشخیص اشیا می شود. در طبقه بندی چند برچسب ، ما قصد داریم مدلی بسازیم که بتواند به درستی تعداد اجسام موجود در یک تصویر را مشخص کند و به چه طبقه ای تعلق دارد. در عوض ، در تشخیص اشیاء ، هدف ما این است که این مفهوم را با شناسایی موقعیت اشیاء مختلف در تصویر ، گامی فراتر ببریم. جدیدترین مقالات و پروژه ها مرا در Medium دنبال کنید و در لیست پستی من مشترک شوید. اینها برخی از اطلاعات تماس های من است:

Linkedin وبلاگ شخصی وب سایت شخصی نمایه متوسط ​​ GitHub Kaggle

کتابشناسی

[1] ربات مدولار که به عنوان پاک کننده ساحل استفاده می شود ، Felippe Roza. دروازه تحقیق. قابل دسترسی در: https://www.researchgate.net/figure/RGB-left-and-HSV-right-color-spaces_fig1_310474598

[2] مجموعه ای از کلمات بصری در گروه OpenCV ، Vision & Graphics. یان کوندراک. قابل دسترسی در: https://vgg.fiit.stuba.sk/2015-02/bag-of-visual-words-in-opencv/

[3] Deep Learning Vs. دید رایانه ای سنتی. Haritha Thilakarathne ، NaadiSpeaks. قابل دسترسی در: https://naadispeaks.wordpress.com/2018/08/12/deep-learning-vs-traditional-computer-vision/