اطلاعات تخصصی KINECT + باز کردن کامل دوریبن KINECT

کینکت در چه صورتی موفق میشود ؟


  • مجموع رای دهنده‌ها
    172

HosseinBrusli

کاربر سایت
Jun 19, 2010
3,265
نام
حسین
به نام خدا

بررسی مشخصات فنی دوربین سه بعدی کینکت + بازکردن و شناسایی کامل تجهیزات به کار رفته در دوربین


>>>>>>>>>> ( پست اول به روز شده : در صورت نیاز بازم هم این پست به روز خواهد شد ) <<<<<<<<<<

Kinect-face.jpg



کینکت در حقیقت یک دوربین کوچک است که به صورت افقی روبروی شما قرار میگیرد و حرکات بازیباز را تحت نظر میگیرد و تمام فعالیت های او را شبیه سازی میکند .کینکت تنها یک شبیه ساز اندام نیست و به اجزای مختلفی تقسیم میشود . 3D motion capture اولین جزء کینکت است که به صورت کاملا سه بعدی اندام بازیباز را اسکن کرده و میتواند شبیه سازی نسبتا دقیقی از ان ایجاد کند .Facial recognition یا شناسایی چهره به صورت ژئومتریکالی که با استفاده از داده های الگوریتمی میتواند حتی از چهره دو بعدی یک شبیه سازی سه بعدی را ایجاد کند از اجزای دیگر این دستگاه خواهد بود که بخش بسیار مهم و حساسی به حساب میادچون میزان شدت نور و یا ارایش صورت میتواند به راحتی معدلات را بر هم بزند. Voice recognition و یا شناسایی صدا در کینکت هم مسئله مهمی بود که طراحان با ان روبرو بودند ، زیرا ما در این بخش با بی نهایت تن اوایی و صدایی رو برو هستیم و علاوه بر تشخیص صدا باید اصواتو دیگر صدا ها هم قابل پردازش باشندو به همین دلیل میکروفن های چند گانه ای در کینکت به کار رفته تا این تفکیک صدایی را انجام دهند. مسئله Acoustic source localozation یا منابع اکوستیک محلی چالشی عظیم در در تشخیص صدا محسوب میشونکه در ابتدای کار پردازش ، کینکت قادر به تشخیص فاصله صدا از منبع را نداشت و همین مسوله مشکل بزرگی را ایجاد میکرد. علاوه بر این Active voice control مسئله جدی تری محسوب میشد زیرا زیرا استرس و فشار صدا ممکن است بر روی کلمه ای زیاد باشد و سنسورها به خوبی قادر به شناسایی صدا ها نشوند که با Active noise reduction مشکلات کمتر شد.

همانطور که اشاره شد کینکت با شبیه سلزی اندام و صدای شما بدون واسطه میتواند حرکات بازیباز را با تاخیری بسیار کم به پردازشگر منتقل کند و در نتیجه فعالیت های شما مقابلب دوربین کینکت دقیقا قابل مشاهده خواهد بود. اما مشکل اساسی عمق است که در ابتدا کینکت قادر به تشخیص ان نبود ، اما باید بدونید که سنسور عمق شامل پروژکتور مادون قرمز infared است که با یک سنسور CMOS تک رنگی ترکیب شده و قادر به شناسایی رنگ های محیطی یا Ambient light است که منابع و شرایط نوری را کاملا پردازش و تفکیک میکند.همچنین دامنه سنجش از عمق کینکت کاملا تعدیل پذیر است و نرم افزار به طور خودکار قابلیت کالیبره کردن بر اساس گیم پلی و محیط فیزیکی بازیباز را دارد و به خوبی شرایط مجیطی را سنجیده و اجرا میکند . مثلا وقتی بر روی کاناپه مینشینید نرم افزار به خوبی تشخیص میدهد که در حال حاضر جسم فیزیکی در مقابل بازیباز قرار داردو پردازش های لازم سریعا انجام میشود. همانطور که اشاره شد کینکت بر پایه تکنولوژِ نرم افزاری و سخت افزاری که توسط مایکروسافت و شرکت Primesense توسعه پیدا کرده . اما کمپانی Primesense که در زمینه تکنولوژِ فعالیت میکند توانسته در جهت توسعه فناوری Range camera با مایکروسافت هم کاری کند .

اما CR چیست ؟

دامنه دوربین یا دامنه تصویر برداری مجموعه تکنیک هایی است که برای نشان دادنو تولید تصاویر 2 بعدی استفاده میشود.نشان دادن فاصله تا نقطه منبع از یک صحنه در نقطه ای خاص به طور معمول توسط دامنه تصویر برداری اجرا میشود. حاصل تصویر ارزش پیکسلی است که دقیقا متناظر با با فاصله است . مثلا ارزشها و اعداد بیشترو بزرگتر نشانه فاصله کمتر و بر عکس خواهد بود.
اما اگر این سنسور برای تولید دامنه طیفی باشد اینجاست که که به درستی کالیبره شده و ارزش پیکسل را میتوان به طور مستقیم در واحد های فیزیکی مثل متر استفاده کرد.در حال حاضر CR در طراحی کینکت اساسی ترین سوالی است که باید به ان پاسخ داد.

محاسبه فاصله ، عمق ، رنگ ، تفکیک منابع نوری ، فاصله اجسام از یکدیگر و ... جزو اساسی ترین وظایف دوربین کینکت به شمار می اید که در عین سادگی بسیار پیچیده پردازش میشوند . اما بخش های اساسی این دوربین شامل چندین تکنیک طراحی هستند ، Stereo triangulation یا Stereo camera برای تعیین عمق در صحنه تا منبع به کار میرود . سیستم دوربین های استریو در یافتن فاصله ی کانونی به شدت از خود ضعف نشان میدادند و این چالشی بسیار بزرگ در طراحی کینکت محسوب میشد.

در ابتدای امر کینکت توانایی تشخیص نقطه تا فاصله را نداشت ، بدین معنی که برای یک تصویر چندین نقطه کانونی پیدا میکرد .و حتی بعضا به صورت اشتباه گوشه های تصویر را به عنوان نقطه کانونی انتخاب و پردازش میکرد. وقتی منطقه یا تصویر هم گن میشد کار سخت تر بود و شدت و نوع رنگها گاها دردسر ساز میشد. در نتیجه تصویر برداری طیف بر اساس تقسیم نواحی به مثلث های مجاور هم جهت برای ترسیم و مساحی نقاط قابل مشاهده ، تنها تخمین زده میشد.
به همین منظور طراحان از دوربین های چند گانه Pelenoptic camera یا Light - field camera استفاده کردند که در ان از میکرولنزهای زیادی تشکیل شده است که به صورت 4 بعدی میتوانند اطلاعات مربوط به یک صحنه و عمق را پردازش کنند. المان بعدی در طراحی دوربین کینکت Sheet of light triangulation با ورق های نوری هستند که میزان انعکاس نور از منبع و شکست های نور را سنجش میکند و بسیار حائز اهمیت هستند ، چون ممکن است نور در جایی اشباح شده باشد و منابع نوری انعکاس و رفلکشن های متفاوتی را ایجاد کند. در نتیجه دوربین نتواند تصویر اصلی را به دلیل این تعداد منابع نوری شناسایی کند ، در نتیجه میکرولنزهای زیادی برای شناسایی ورقه های نوری در نظر گرفته شده و Structured light وظیفه ی تشخیص ساختارهای رنگی را در کینکت به عهده دارد و باید نوع رنگ را پردازش کند. تکنولوژی بسیار جالبی که در طراحی این دوربین استفاده شده Time of flight نام دارد که کار ان بسیار جالب است. در این تکنیک همانند رادار ، این بار به جای هواپیما رنگ و طیف های ان بررسی میشود ، بدین معنی که همانند رادار و لیدار LIDAR کار انها شناسایی است ، اما نه شناسایی هواپیما ، بلکه شناسایی نور و توانایی پیش بینی قدرت و شدت و ضعف ان . بدین صورت که پیش بینی میکند نور در چه زمانی و در چه زاویه ای به میکرولنزها برخورد خواهد کرد و سپس پردازش خواهد شد .Interfrometry یا تداخل ، دیگر اجزای دوربین را تشکیل میدهد که اجازه تداخل نور با فازهای مثبت و منفی را نخواهد داد و به کمک تکنیک فاز Unwrapping مختصات عمق شناسایی میشود و در نهایت Coded Aperture یا کد دیافراگم وظیفه دارد تا بسته به فاصله جسم تا کینکت دیافراگم دوربین را به دقت تنظیم کند تا تاری Bluring نکند و تصاویر دریافتی کیفیت یکنواختی در سراسر بازی یا محیط های دیگر داشته باشند . به سادگی ملاحضه کردید که دوربین کینکت بر خلاف گفتهای عموم تنها یک جزء ندارد و از چندین بخش مختلف تشکیل شده است که هر کدام وظیفه ی اسکن و پردازش کارهای مختلفی را بر عهده دارند.


کینکت یا بهتر بگوییم تکنولوژِی Gesture recognition Advenced ( تشخیص حرکت پیشرفته ) علاوه بر توضیحات فنی که به ان اشاره کردیم ، مشخصات مختلف و بسیار مهمی دارد که باید در مورد انها هم توضیح دهیم.
خروجی ویدئویی کینکت به بازیباز اجازه میدهد که سرعت فریمی در حدود 30 با جریان ویدئویی RGB به صورت 32 بیت همراه با وضوح تصویر 640 در 480 پیکسل و جریان ویدئویی تک رنگ ( Monochorom ) برای سنجش عمق به صورت 16-BIT QVGA و وضوح 320در 240 پیکسل با 65،535 سطح حساسیت دارد . فاصله فرد تا دستگاه عامل مهمی است و کینکت رنج بین 1،2 تا 3،5 متر را تشخیص میدهد و زاویه دیدی در حدود 57 افقی و 43 درجه عمودی را دارد. همچنین حسگرهای دوربین توانایی چرخشی معدل 27 درجه را دارا هستند. هر کانال میکروفن کینکت صدای 16 بیت در ریت 16 کیاوهرتز را پردازش میکنند که مناسب به نظر میرسد. اما دائما از کلمه پردازش استفاده کردیم ، بد نیست بدانید کینکت اطلاعات را به چه وسیله ای مورد بررسی و تحلیل قرار میدهد؟


در ابتا قرار بود خود کینکت یک واحد پردازشی یا میکروپروسسور اختصاصی داشته باشد که بعد ها نقشه ان تغییر پیدا کرد و عملیات تحلیل به پردازش گر Xenon کنسول X360 محول شد . بدین صورت که بین 10 تا 15 درصد محاسبه اطلاعات را پردازشگر 360 انجام میدهد و کینکت تنها یک اسکنر با میکرولنزهای پیشرفته باقی میماند.




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





بازکردن و شناسایی کامل تجهیزات به کار رفته در دوربین ( دل و روده کینکت خود را در بیاورید ! )


خوب دوسان : عکسها خودشون گویای همه چی هستن . فکر نکنم نیازی به توزیح خاصی باشه ! اما تا جای ممکن ، توضیح میدم .


00vfzx4jefp7lnzq5ihr.jpg


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


b6yvewca0kevitqe16c.jpg


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

با وسیله ای همانند شکل به ارامی پیچ ها را باز کنید . مواظب باشید که نکشنه اون پایه !! دلار گرون شده :d
8yne21jjj8p3c6j4e.jpg


بعد از باز کردن پیچ ها مثل عکس 4 تا گیره وجود داره که باید اونها رو هم به ارومی و با کشیدن باز کنید .


xht56lxsc6x6vzqkc84e.jpg

wx2ghniprvjwm8uvp8re.jpg


این یه موتور مونتاژ شده هست و بسیار هم حساسه ، پس مراقب باشید

jlwt31fo1rpf081ht0v.jpg


اینم موتور کینکت ! اصلا مجبور نیستید که این موتور رو تو هوای به اصطلاح باز بذارید

o31hu0ylyku1emuv041z.jpg


با وسیله ای که در عکس مشاهده میکنید باید توری مشبک روی بدنه رو جدا کنید . این کار یه مقدار نیاز به دقت داره چون سخته . پوستتون کنده میشه اینجا :d



2jrphfu5kvtfxcqitzz.jpg


خوب حالا به پیچ های اصلی بدنه میرسیم . همونطوری که میبینید 4 سوی مخصوص میخواد .


btbqbmrrqorn15h3fag8.jpg


بالاخر داریم به جاهای هیجان انگیز نزدیک تر میشیم . اکثر قدرت پردازشی X360 رو بازیها میگیرن ! پس چی برای کینکت میمونه ؟!

کینکت فقط اطلاعات خودش رو با جمع اوری تراکم اطلاعات مختلف تو یه اتقا انجام میده . یعنی اینکه تصویر رنگی رو به همراه عمقش میگره تا CPU اکس باکس اون رو پردازش کنه ! جالب بود نه ؟:d



n82o4ti1gpkswyl9kqmn.jpg

f4lbydu3hswqmeer8ipb.jpg

vp991gzmnwovc0mbxqv.jpg



به به ! چه زیباست :d اون فن کوچیکی که انتهای کینکت قایم شده رو میبینید ! خودمم نمیبینمش :d اون طوری که من میبینم کینکت هوا رو به وسط میده و بعد اونها رو از گوشه خارج میکنه ! :d

oczz185cs3u9oz2yu0d.jpg


به به ! به به ! بالاخره دوریبن کینکیت رو هم دیدیم ! :d البته دوربین و پروژکتور :d

اینم مدل چیپش : چپ: (IR CMOS) مایکروسافت / X853750001 / VCA379C7130 ( من که چیزی نفهمیدم شما چی ! :d )

مرکز: (رنگی CMOS) VNA38209015

راست: (IR پروژکتور) OG12 / 0956 / D306 / JG05A

این تصویری که میبینید وارونه شده ! گول نخورید یه وقت :d
اوه اوه اینو گوش کنید : مایکرو میگه دوریبن کینکت مادون قرمزه ( ادعا داره ) با 320x240 پیکسل هست و دوربین RGB 640x480 اش هم به صورتیه که نوشتم ! :d



tf0s88xh1me1i3pv57.jpg
cptdqfwcezs8j8ii83me.jpg

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

کیفیت اولی 320x240 و دومی هم 640x480 هست . البت میگن با دقت 1 ثانبه فواصل رو اندازه گیری میکنه ! ما که هنوز بهمون ثابت نشد :d

z3v1juuft1bb76vmauxv.jpg


بعد 3 کانکتور رو از بورد اصلی جدا میکنید .

54x2aojwuzj80rclw842.jpg

jc8e1nw65028sf74qu.jpg


خوب اینجا دیگه مایکروسافت قلم خورد میکنه ! :d این شئی فضایی رو باید با حرارت دادن و دقیقا مثل عکس از روی بورد جدا کنید :d بیخیال ! ببندینش :d

wz0jh69o4imy8bzlsw.jpg


روی چیپ

خوب اگه موفق شدی از غول مرحله اخر بگذری میرسی به اینجا ! :d عجله نکن الان توضیح میدم ;) رنگ کوری داری فرار کن :d

قرمز : چیپ Microelectronics WM8737G که مخصوص استریو و صداست .
نارنجی : یه ماسفت یا خازن مخصوص ( Semiconductor FDS8984 ) برای کانال های صداست .

زرد : کنترلر USB 2.0
سبز : یه چیپه ! همین ! :d کارش رهگیری و شناسایی پاکتهای میلیمتری و بسته های SPI flash هست .
ابی : چیپ ( Marvell AP102 ) که به عنوان کنترلر دوربین هست .
صورتی : کارش ارتباط با DDR2 SDRAM هست .


019i8ialjzwwtnutv3b7.jpg

پشت چیپ

قرمز : پشتیبانی از دستگاه های انالوگ ! کاهش دهنده نویز ! کنترل کننده خروجی CMOS و تقویت کننده !
نارنجی : چیپ ( TI ADS7830I ) یه یچپ 8BITی مخصوص نمونه برداری از تصاویر دوربین که با مبدل A/D و رابط کاربری I2C کار میکنه !
زرد :چیپ مخصوص درایور موتور

سبز : ST ریز الکترونیک M29W800DB - 8 مگابیت (1MB X8 یا 512KB x16 مجهز) NV حافظه فلش
ابی : PrimeSense PS1080-A2 - سنسور پردازشگر تصویر SOC
22gljyrrb62oqsmhxkhe.jpg


برد مخصوص که مرکز کنترل صوتی کینکته

2vuipwhufa08tehebat7.jpg


اینم پشتشه :d هم دارای چیپ مخصوص شتاب سنجه و هم دارای چیپ مخصوص تثبیت کننده تصاویر



8qa2h9gi6bvw0sxpc5vz.jpg


خوب حالا تو این تصویر اگه گفتید چی کشف کردیم !؟ :d فسیل ؟! نه ! 4 تا میکروفن :d صد البته وقتی که تو نشیمن خونه نشستید باید صداتون به این دوریبن 2 بار کالیبره بشه !
7dq2vulp7yp62ko9zddh.jpg


zl1ozjg4o43gg5jj3ih.jpg



خوب با وسله ای که توتصویر دیده میشه میتونید این برد رو جدا کنید و برای درست کردن روبات ازش استفاده کنید ! :d چیه ؟ بد نگاه میکنی ؟! حرفه ای ترین بورده :d


dvf9v09o7isd83x6v1e.jpg

0vmnl95em2wb882gxvx0.jpg


تو این بخش هم میتونید به راحتی همه تجهیزات رو جدا کنید . مخصوصا برق رابط USB رو که 12 واته ! و کمی بیش از 2.5 وات قابل پشتیبانی یه USB 2.0 بیشتره .
cch8n1mfj0lltjsyfbg.jpg

7qcenhdxgbipilkzdsjr.jpg

با داشتن دوربین عمقی و دوربین RGB ، کینکت فاصله رو حساب میکنه و در جا عمق 3D بودن عکس رو بهتون نشون میده .


ovyfjxftnvvgk8f3t138.jpg


4foaj6w18o9gqs4l0qpt.jpg







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




منبع
 
آخرین ویرایش:

HosseinBrusli

کاربر سایت
Jun 19, 2010
3,265
نام
حسین
سلام.
مقاله عالی بود .
دستت درد نکنه . فقط این بیت / میت ها رو نفهمیدم چی بودن . خیلی دیگه تخصصی بود :d

به طور کلی تعریف Bit به صورت زیره :
کلمه بیت مخفف عبارت binary digit است. اعداد دودویی یا باینری یعنی همان روشی است که یک کامپیوتر داده ها را با آن ذخیره کرده یا در قالب آن انتقال می دهد. یک بیت می تواند مقداری بین صفر یا یک را به خود بگیرد. اگر تعدادی از بیت را پشت سرهم ردیف کنیم ، به یک کد باینری می رسیم مثل ۱۰۰۱۰۱۱۰۰۰۱۰۱ که می تواند بیانگر یک دستورالعمل ریاضی مثل جمع یا تفریق،‌یک محل خاص از حافظه جهت آدرس دهی، و یا یک داده مشخص مثلا عدد ۱۲/۴۵۶ باشد. یک پردازنده ۳۲ بیتی، مثل پنتیوم قادر است بااستفاده از این رشته صفر و یک، تا عدد ۲ به توان ۳۲ را کد گذاری کند یا در اصطلاح، آن را به مبنای باینری ببرد. طبیعی است که این میزان برای یک پردازنده ۶۴ بیتی به ۲ به توان ۶۴ می رسد و این بدان معنی است که یک پردازنده ۶۴ بیتی، می تواند سقف بسیار بالاتری از اعداد را در واحد زمان پشتیبانی کند. بنابراین اگر یک پردازنده ۳۲ بیتی بخواهد عددی بیشتر از۲ به توان ۳۲ را پردازش کند یا انتقال دهد، باید در دو سیکل زمانی این کار را انجام دهد که وقت بیشتری را نسبت به یک پردازنده ۶۴بیتی صرف می کند. بدین ترتیب یک پردازنده ۶۴ بیتی، صرف نظر از آن که چند سیکل زمانی در ثانیه بیشتر از یک پردازنده ۳۲ بیتی دارد، در هر کدام از این سیکل های زمانی نیز قادر است دو برابر یک پردازنده ۳۲ بیتی عمل پردازش را انجام دهد.

---------- نوشته در 05:15 AM اضافه شد ---------- نوشته قبلی در 05:13 AM ارسال شده بود ----------

سلام .

مقاله خوبی بود .

خسته نباشی . ارزش اعتبار دادن رو داشت !!

سلـــــام . ممنون .

خیلی زحمت کشیدین...
عـــــــــالـــــــی بود.

به طور کلی تعریف Bit به صورت زیره :
کلمه بیت مخفف عبارت binary digit است. اعداد دودویی یا باینری یعنی همان روشی است که یک کامپیوتر داده ها را با آن ذخیره کرده یا در قالب آن انتقال می دهد. یک بیت می تواند مقداری بین صفر یا یک را به خود بگیرد. اگر تعدادی از بیت را پشت سرهم ردیف کنیم ، به یک کد باینری می رسیم مثل ۱۰۰۱۰۱۱۰۰۰۱۰۱ که می تواند بیانگر یک دستورالعمل ریاضی مثل جمع یا تفریق،‌یک محل خاص از حافظه جهت آدرس دهی، و یا یک داده مشخص مثلا عدد ۱۲/۴۵۶ باشد. یک پردازنده ۳۲ بیتی، مثل پنتیوم قادر است بااستفاده از این رشته صفر و یک، تا عدد ۲ به توان ۳۲ را کد گذاری کند یا در اصطلاح، آن را به مبنای باینری ببرد. طبیعی است که این میزان برای یک پردازنده ۶۴ بیتی به ۲ به توان ۶۴ می رسد و این بدان معنی است که یک پردازنده ۶۴ بیتی، می تواند سقف بسیار بالاتری از اعداد را در واحد زمان پشتیبانی کند. بنابراین اگر یک پردازنده ۳۲ بیتی بخواهد عددی بیشتر از۲ به توان ۳۲ را پردازش کند یا انتقال دهد، باید در دو سیکل زمانی این کار را انجام دهد که وقت بیشتری را نسبت به یک پردازنده ۶۴بیتی صرف می کند. بدین ترتیب یک پردازنده ۶۴ بیتی، صرف نظر از آن که چند سیکل زمانی در ثانیه بیشتر از یک پردازنده ۳۲ بیتی دارد، در هر کدام از این سیکل های زمانی نیز قادر است دو برابر یک پردازنده ۳۲ بیتی عمل پردازش را انجام دهد.
 

HosseinBrusli

کاربر سایت
Jun 19, 2010
3,265
نام
حسین


پست اول بـــــــــــــــــــــه روز شــــــــــــــــــــــد . باز کردن کینکت برای تعمیرات !
پست اول بـــــــــــــــــــــه روز شــــــــــــــــــــــد . باز کردن کینکت برای تعمیرات !
 

کاربرانی که این قسمت را مشاهده می‌کنند

Top
رمز عبور خود را فراموش کرده اید؟
or ثبت‌نام سریع از طریق سرویس‌های زیر