Search This Blog

Friday, August 13, 2010

လက်ဟန်ခြေဟန် နားလည်မယ့် ကွန်ပြူတာ

လွန်ခဲ့တဲ့ နှစ်ပေါင်းများစွာ ကတည်းက လူတွေ စက်ရုပ်နဲ့ ပတ်သက်ပြီး အတော်လေး စိတ်ကူးယဥ် ခဲ့ကြ ပါတယ်။ အိမ်မှာ အိမ်မှုကိစ္စတွေ လုပ်ပေးမယ့် စက်ရုပ်တွေ၊ စားသောက်ဆိုင်မှာ စားပွဲထိုးပေးမယ့် စက်ရုပ်တွေ စတာမျိုးတွေကို စိတ်ကူးထဲမှာ ပုံဖော်ကြည့် ခဲ့ကြဖူးမှာပါ။ ဒါပေမယ့် ကွန်ပြူတာ နည်းပညာတွေ တိုးတက်လာသလောက် စက်ရုပ်နည်းပညာက တိုးတက်မလာပါဘူး။ လူရဲ့ အမြင်အာရုံကို တုပနိုင်တဲ့ နည်းပညာတွေ ကျယ်ကျယ်ပြန့်ပြန့် မရှိသေးတာကလည်း အဓိက အဟန့်အတား တစ်ခုအနေနဲ့ ပါဝင် ပါတယ်။ စက်ရုပ်ရဲ့ ဆုံးဖြတ်ချက်ချတဲ့ နည်းပညာဟာ ကွန်ပြူတာရဲ့ ဆုံးဖြတ်ချက်ချတဲ့ နည်းပညာနဲ့ ဆင်တူပါပဲ။ အဲဒီတော့ ကွန်ပြူတာက သူဘာမြင်ရသလဲ ဆိုတာကို ဆုံးဖြတ်နိုင်တဲ့ နည်းပညာ မတိုးတက်သေးတဲ့ အတွက် စက်ရုပ်မှာလည်း အဲဒီနည်းပညာ တိုးတက် မလာသေးပါဘူး။

လူရဲ့ အမြင်အာရုံနဲ့ ဦးနှောက် တွဲဖက် အလုပ်လုပ်တဲ့ ပုံစံက အသေအချာ လေ့လာကြည့်တော့ အတော်လေး အံ့သြဖို့ ကောင်းပါတယ်။ လူအုပ်ကြားထဲမှာ ကိုယ်နဲ့ ရင်းနှီးတဲ့ မျက်နှာတစ်ခုကို ချက်ချင်း မှတ်မိနိုင်တဲ့ ခံစားမှုမျိုးကို ကွန်ပြူတာမှာ လုပ်နိုင်အောင် လေ့ကျင့်ပေးဖို့ မလွယ်ပါဘူး။ ရှင်းရှင်းလင်းလင်း ဥပမာ ပြရရင် စားပွဲထိုးတစ်ယောက်ကို ကြည့်နိုင်ပါတယ်။ စားသောက်ဆိုင်မှာ လူတစ်ယောက် လာစားပြီး ပြန်သွားတဲ့ အခါမှာ စားပွဲပေါ်မှာ ကျန်ခဲ့တဲ့ အစားအသောက် အကြွင်းအကျန်တွေကို အမှိုက်ပုံးထဲ ထည့်ရမယ်၊ ပန်းကန်တွေ ခွက်တွေ ကို ပြန်သိမ်းရမယ် ဆိုတဲ့ အမြင်အာရုံခွဲခြားမှုမျိုးကို ဘယ်လူသား မဆို အလွယ်တကူ လုပ်နိုင်ပါတယ်။ ဒါပေမယ့် ဘယ်ဟာက ကြက်ဥခွံ ဘယ်ဟာက ဖန်ခွက်ဆိုတာကို ခွဲခြားတတ်ဖို့ အတွက် စက်ရုပ်တစ်ရုပ်ကို လေ့ကျင့်ပေးဖို့တော့ မလွယ်လှပါဘူး။

ကွန်ပြူတာမှာ အမြင်အာရုံအားနည်း ကြပါတယ်။ အဲဒါဆိုရင် မျက်မှန်တပ်ပေးလိုက် လို့လည်း မဖြစ်သေးပါဘူး။ ကွန်ပြူတာက မမြင်ရတာ မဟုတ်ပါဘူး။ မြင်တာကို ဘာလဲဆိုတာ မခွဲခြားတတ်တာပါ။ အခုတော့ ကျွန်တော်လည်း ကွန်ပြူတာများ မျက်စိ အလင်းရရေးအတွက် ပရော့ဂျက်တစ်ခု လုပ်နေပါတယ်။ အောက်မှာ ပြထားတာကတော့ ဟိုတစ်လောက ကျောင်းက ပရော့ဂျက် စူပါဗိုက်ဆာက မင်းကြည့်ဖို့ ဆိုပြီး ကျွန်တော့်ကို ပို့ပေးလိုက်တဲ့ ဗွီဒီယိုပါ။ မိုက်ခရိုဆော့ဖ် XBox 360 ရဲ့ အနာဂတ် ရည်မှန်းချက်လို့ ပြောရမယ် ထင်ပါတယ်။



ကျွန်တော် လုပ်နေတဲ့ ပရော့ဂျက်ကလည်း အဲဒီလို ပုံစံမျိုးပါပဲ။ ကွန်ပြူတာကို လက်ဟန်ခြေဟန်နဲ့ အမိန့်ပေး စေခိုင်းတာကို နားလည်အောင် လုပ်ရမယ့် ပရော့ဂျက်ပါ။ ဒီနည်းပညာက အသစ်တော့ မဟုတ်ပါဘူး။ ကိုယ့်ရှေ့မှာ တခြားသူတွေ အတော်များများ လုပ်ခဲ့ပြီးသားပါ။ နည်းပညာ အနေနဲ့ ကျယ်ကျယ်ပြန့်ပြန့် မဖြစ်သေးတာ တစ်ခုပဲ ရှိပါတယ်။အမေရိကန်မှာ သုံးတဲ့ လက်ဟန်ခြေဟန် ဘာသာစကား (Sign Language)၊ သြစတေးလျမှာသုံးတဲ့ လက်ဟန်ခြေဟန် ဘာသာစကား၊ ဂျပန်မှာသုံးတဲ့ လက်ဟန်ခြေဟန် ဘာသာစကားတွေကို နားလည်တဲ့ စနစ်တွေကို ထွင်ခဲ့ကြ ပြီးပါပြီ။ အခုလက်ရှိမှာ တိုရှီဘာက သူတို့ရဲ့ နောက်ထုတ်မယ့် တီဗွီတွေမှာ ရီမု ကွန်ထရိုးမလိုဘဲ လက်ဟန်ခြေဟန်နဲ့ ထိန်းချုပ်လို့ ရတဲ့ နည်းပညာကို ထည့်သွင်းဖို့ ကြိုးစားနေပါတယ်။ တိုရှီဘာရဲ့ ပြပွဲမှာ ပြသွားတဲ့ ဗွီဒီယိုကို စိတ်ဝင်စားရင် ဒီမှာ ကြည့်လို့ ရပါတယ်။ နာမည်ကြီး လက်ကိုင်ဖုန်း ကုမ္ပဏီ တစ်ခု ဖြစ်တဲ့ Nokia ကတော့ မျက်နှာပြင်ကို ထိတွေ့စရာ မလိုပဲ လက်ဟန်ခြေဟန်နဲ့ အမိန့်ပေးလို့ ရမယ့် နည်းပညာကို နောက်ထွက်မယ့် Nokia ဖုန်းတွေမှာ ထည့်သွင်းဖို့ ကြိုးစားနေပါတယ်။ Google ရဲ့ Android ဖုန်းတွေ အတွက် ဒီနည်းပညာကို စမ်းသပ်နေတဲ့ သူတွေ ရှိတယ် ဆိုတာလည်း အံ့သြစရာ မကောင်းတော့ပါဘူး။

နည်းပညာပိုင်းကို စိတ်ဝင်စားသူတွေ အတွက်တော့ ကျွန်တော် အခုထက်ထိ ရှာဖွေတွေ့ရှိ ထားသလောက် အချက်အလက်တွေကို နည်းနည်း ဝေမျှချင်ပါတယ်။ ကွန်ပြူတာက လက်ဟန်အမူ အရာကို နားလည်အောင် လုပ်နိုင်ဖို့ အဆင့် (၄) ဆင့် ရှိပါတယ်။ ပထမဆုံး အဆင့်ကတော့ ကွန်ပြူတာကနေ လက်ဟန် အမူအရာကို ဖမ်းယူဖို့ အဆင့်ပါ။ အဲဒီလို လုပ်ဖို့ အတွက် Webcam လို ကိရိယာ မျိုးကနေ လှုပ်ရှားနေတဲ့ လက်ဟန် အမူအရာကို ဗွီဒီယို အနေနဲ့ ဖမ်းယူ ရပါတယ်။ ဗွီဒီယို ဆိုတာ တကယ်တမ်းတော့ ရုပ်ပုံတွေ အများကြီးကို ဆက်စပ်ထားတဲ့ ရုပ်ပုံစီးကြောင်း (Image Stream) တစ်ခုပါ။ အဲဒီ အထဲကနေ ရုပ်ပုံတွေကို လိုအပ်သလောက် သလောက် ပြန်ထုတ်ယူဖို့ လိုပါတယ်။ ဥပမာ အားဖြင့် တစ်စက္ကန့်ကို ၅ ပုံ နှုန်း ဒါမှမဟုတ် ၁၀ ပုံနှုန်း စတာမျိုးပါ။

ဒုတိယ အဆင့် အနေနဲ့ကတော့ အဲဒီလို ဖမ်းယူထားတဲ့ ရုပ်ပုံတွေထဲကနေ လက်ပုံစံကို သပ်သပ် ခွဲထုတ်ဖို့ ပါ။ ရုပ်ပုံရဲ့ နောက်ခံ မှာ စာအုပ်လည်း ရှိချင် ရှိနိုင်တယ် အဝတ်အစားတွေလည်း ရှိနေနိုင်တယ်။  အဲဒီလိုပဲ ပုံထဲမှာလည်း လက်တွင် မက မျက်နှာတွေ၊ ဆံပင်တွေ စတာတွေလည်း ရောပါနေနိင်ပါတယ်။ အဲဒီ အထဲကနေ လက်ကို ခွဲခြားသိနိုင်ဖို့ လိုပါတယ်။ ဒီနည်းပညာကတော့ အများနဲ့ သိပ်မစိမ်းလှပါဘူး။ အခုလက်ရှိ ကင်မရာတွေမှာ ပါနေတဲ့ မျက်နှာရွေးထုတ် နည်းပညာ (Face Detection Technology) လို ပုံစံမျိုးပါပဲ။

တတိယ အဆင့်ကတော့ ရွေးထုတ်ထားတဲ့ လက်ရဲ့ ပုံစံကို ကြည့်ပြီး ဘာပုံစံလည်း ဆိုတာ သရုပ်ခွဲဖို့ပါ။ ဒီနည်းပညာက လွယ်မလိုနဲ့ နည်းနည်း ခက်ပါတယ်။ လက်ဆိုပေမယ့် လူတစ်ယောက်နဲ့ တစ်ယောက် အသားအရောင်ချင်း မတူသလို လက်အရွယ်အစားချင်းလည်း မတူပါဘူး။ ဒါ့အပြင့် လက်ပေါ်မှာ အမွှေးအမှင်တွေ အများကြီး ပေါက်နေတဲ့သူ အမွှေးအမှင် မရှိတဲ့သူဆိုတာလည်း ကွာပါသေးတယ်။ အဲဒီတော့ ကိုယ်ထွင်ထားတဲ့ စနစ်ကို လက်ပုံစံတွေ အများကြီး ပြပြီး သင်ကြားပေးဖို့ လိုပါတယ်။ ဒီနည်းပညာက ကွန်ပြူတာရဲ့ မှတ်ညာဏ်ထဲမှာ ရှိတဲ့ လက်ပုံစံကို ရုပ်ပုံထဲက လက်ပုံစံနဲ့ တူမတူ တိုက်ဆိုင်ကြည့်တာမျိုး မဟုတ်ပဲ တွေ့ရတဲ့ လက်ရဲ့ အနေအထားပေါ်မူတည်ပြီး ကွန်ပြူတာကို ဆုံးဖြတ်ချက် ချတတ်အောင် လေ့ကျင့် သင်ကြား ပေးရတာမျိုးပါ။

အဲဒီလို သရုပ်ခွဲပြီးတဲ့ အခါမှာတော့ လက်ပုံစံက ဘာပုံစံလဲ ဆိုတာ သိရပါပြီ။ အဲဒီအခါမှာ လက်မထောင်ထားတာလား၊ လက်မ အောက်စိုက်ထားတာလား၊ လက်ဝါးထောင် ထားတာလား၊ လက်သီးဆုပ်ထားတာလား စတာမျိုး ကို အဖြေထုတ်ပြဖို့က နောက်ဆုံး အဆင့်ပါ။

နည်းပညာပိုင်း စိတ်ဝင်စားသူတွေ အတွက် နည်းနည်း ထပ်ပြောပါဦးမယ်။ ကျွန်တော် လက်ရှိ အသုံးပြု ဖို့ ရွေးချယ်ထားတဲ့ Development Environment ကတော့ Visual Studio 2010 Professional နဲ့ OpenCV Library ပါ။ OpenCV မှာ ကွန်ပြူတာ အမြင်အာရုံနဲ့ ပတ်သက်တဲ့ Algorithm တွေ အတော်များများ ရေးပြီးသား ပါပါတယ်။ Algorithm အနေနဲ့ကတော့ Hand Detection အတွက် ADABoost Algorithm ကို သုံးဖို့နဲ့ Hand Recognition အတွက်ကတော့ Hidden Markov Model ကို သုံးဖို့ ရွေးထားပါတယ်။ နောက် ၄ လ အတွင်းမှာ အလုပ်ဖြစ်မဖြစ် သိရပါမယ်။ အဲဒီ ၄ လ အတွင်းတော့ ဘလော့ခ် ပုံမှန် မရေးနိုင်ရင် ခွင့်လွှတ်ကြဖို့ ကြိုပြီး တောင်းပန် ထားပါရစေ။

6 comments:

khin oo may said...

အလုပ္ၿဖစ္ဘုိ႕အေရးႀကီးပါတယ္။

Unknown said...

Development Environment မွာ service-oriented technology ကုိ အေျခခံတဲ့ Microsoft Robotic Developer Studio ကုိ တြဲသုံး ၾကည္႔ဖုိ႔ အၾကံေပးခ်င္ပါတယ္။ အဲဒီမွာ application ေတြကုိ concurrently and asynchronously အလုပ္လုပ္ေစဖုိ႔ အသုံး၀င္တဲ့၊ အာရုံခံ ကိရိယာ ကရရွိလာတဲ့ ေဒတာေတြကုိ ကုိင္တြယ္ရာမွာ အဆင္ေျပေျပကုိင္တြယ္ႏုိင္တဲ့ library ေတြ ပါရွိပါတယ္။ ေအာင္ျမင္ပါေစ။

ေရတမာ said...

ေအာင္ျမင္ပါေစဗ်ာ

ShwunMi- said...

ေအာင္ျမင္ပါေစ =)
Poly တုန္းက အဲ့လို Pattern ရွာတဲ့ program တစ္မ်ိဳး ဆရာခိုင္းလို႕ ေရးဖူးတယ္.. စစခ်င္း C++ သံုးျဖစ္တယ္.. ေနာက္ႏွစ္က်ေတာ့ သူငယ္ခ်င္းေတြ LabView သံုးျပီး လုပ္သြားၾကတာေတြ႕တယ္.. အဲ့တုန္းက အစပဲ ရွိေသးတာဆိုေတာ့ Resolution က ခုေလာက္ ေကာင္းမယ္မထင္ပါဘူး။
ကိုဇက္တီတို႕ေရာ ဘာေဆာ့ဝဲသံုးလဲ ေျပာျပလို႕ရလား? ဝါသနာပါလို႕ပါ :)

ၾကည္ျဖဴပိုင္ said...

ဟား စိတ္၀င္စားစရာၾကီး
အေနာ္အဲဒိနည္းပညာကုိစိတ္၀င္စားတယ္

ၾကည္ျဖဴပိုင္ said...

(အတည္ဖတ္ေနာ္။ ေျပာင္ေခ်ာ္ေခ်ာ္ အသံနဲ႕ မဖတ္နဲ႕။ :D )<<<

ဟားဟား
အဲဒိစာကိုေတြ႕ေတာ့ေလ အတည္ဖတ္ေနရင္းတန္းလန္းနဲ႕ ရုပ္ကခ်ိဳမလို
ခ်ဥ္မလိုျဖစ္သြားေသး (အက်င့္ဆိုတာျပင္ရခက္ခ်က္..ေနာ္)

ေက်းဇူး
အကိုဇက္တီ....
လုပ္တိုင္းမျဖစ္ စိတ္မညစ္နဲ႕။ ကိုယ္လုပ္တိုင္းသာ ျဖစ္ေနပါ ဘယ္မွာ အနတၱ ရွိမည္နည္း။
ဆိုတဲ့ အဲဒိစကားေလးဟာ တကယ္ေတာ့ သိပ္အေရးပါပါတတယ္.....အားေဆးတစ္ခြက္ပါပဲ...
(မွတ္ခ်က္။ ။ အတည္ရုပ္နဲ႕ ေမးေစ့ပြတ္..ေခါင္းညိတ္ျပီးေတာ့ကို ေျပာတာေနာ္)
(ထပ္ေလာင္းခ်က္။ ။ အေနာ္တကယ္အတည္ေျပာတာေနာ္။)

Thanks & Have a nice day !