somewhere in... blog
x
ফোনেটিক ইউনিজয় বিজয়

মেশিনকে দেয়া একজোড়া ভাল চোখ - 3: ডিজিটাল ইমেজের নানাকথা

১১ ই জুলাই, ২০০৬ ভোর ৪:৫০
এই পোস্টটি শেয়ার করতে চাইলে :

**(এই লেখাটা 'মেশিনকে দেয়া একজোড়া ভাল চোখ - 1 ও 2' এর পরবর্তী অংশ;
আলোচনাটা আগের চেয়েও জটিল এখানে!! আপনাদের কি বুঝাব? ...
আমার নিজেরই বুঝতে গোলমাল লেগে যায় প্রায়ই :)
)

////////////////////////////////////////////////

আগের পর্বে বলেছিলাম টাস্ক -2 অর্থাৎ বাম ও ডান ক্যামেরায় তোলা ছবিদুটোতে একই রকম বিন্দুকে খুঁজে বের করাটা হলো একটা বিরাট ঝামেলার কাজ।

একাজের তাত্তি্বক আলোচনা করতে গেলে প্রচুর সমীকরণ, ফিগার আর ব্ল্যাকবোর্ড/চকের আঁকিবুঁকি লাগবে।
তাই এড়িয়ে গেলাম।

এখানে একটু গল্পের মতো করে আলোচনা করি।

প্রথমে আসুন ডিজিটাল ইমেজ নিয়ে আলোচনা করি;
পাশেই জি্বনের বাদশার যে ছবিটা ঝুলছে, এটা একটা ডিজিটাল ইমেজ/ছবি;
এই ছবিটাকে ধরুন লম্বালম্বিভাবে 100 ভাগ করা হলো;
তারপর আড়াআড়িভাবে 150 ভাগ করা হলো;

তাহলে ছবিটাকে মোট 100 x 150 টি ছোটছোট বর্গাকার ঘরে ভাগ করা যাবে;
এগুলো তখন সাইজে এতই ছোট যে দেখবেন প্রতিটি বর্গাকার ঘরের রংটা একই রকম;
এই ছোট ছোট ঘরগুলোকেই 'পিক্সেল' বলা হয়;
প্রতিটি পিক্সেলের রংকে বলা হয় পিক্সেল ভ্যালু;

সাদাকালো (আসলে গ্রে-স্কেল ছবি) ছবিতে প্রত্যেক পিক্সেলের জন্য একটি পিক্সেল ভ্যালুথাকে;
এই ভ্যালুর রেঞ্জ হতে পারে 0 থেকে 127, অথবা 0 থেকে 255, অথবা 0 থেকে 523 অথবা অন্যকিছু।

রঙীন ছবিতে প্রত্যেক পিক্সেলের জন্য তিনটি পিক্সেল ভ্যালুথাকে (সবচেয়ে পরিচিত ফরম্যাট হলো লাল, সবুজ, নীল আলো RGB);
এখানে সাদাকালো ছবি নিয়ে আলোচনা করব বলে রঙীন ছবি নিয়ে ডিটেইলস আলোচনা করছিনা।

এখন, যেকোন ডিজিটাল ছবিকেই এরকম অসংখ্য বর্গাকার পিক্সেলের আয়তাকার সমষ্টি বলা যায়;
কম্পিউটার যখন একটা ডিজিটাল ছবিকে 'রিড' করে, তখন সে আসলে সেই ছবিটাকে একগাদা সংখ্যার (পিক্সেল ভ্যালুগুলোর)একটা আয়তাকার সমষ্টি হিসেবে রিড করে;

যেমন , 5 x 5 সাইজের একটা ছবিকে কম্পিউটার রিড করে এভাবে (সংখ্যার মানগুলো যাস্ট উদাহরণ ),

115 । 120 । 112 । 113 । 100
103 । 100 । 098 । 094 । 105
100 । 111 । 099 । 097 । 102
100 । 105 । 109 । 103 ।108
090 । 100 ।102 ।096 ।096

এভাবে সংখ্যার প্রকাশকে বলা 'ম্যাট্রিক্স'।

কম্পিউটারের কাছে একটা ছবি একটা ম্যাট্রিক্সের চেয়ে বেশী কিছু নয়;
সেজন্যই বেচারার দুটো ছবিতে একই জিনিস সনাক্ত করতে এত কষ্ট হয়!!
(আহারে!! ব্যাটা যদি ছবির সৌন্দর্য বুঝত!!)

এখন কম্পিউটারকে যখন দুটো ছবি ধরিয়ে দিয়ে বলা হয়, এদের মধ্যকার একই রকম বিন্দুগুলোকে বের কর, তখন তার কিছু গানিতিক হিসেব করা ছাড়া আর কোন উপায় থাকেনা।
যেকোন ছবিতে কিছু 'স্পেশাল বিন্দু' থাকে, যেমন মানুষের ফেসের ক্ষেত্রে নাকের অগ্রবিন্দু, চোখের কোণা এসব;
এধরণের 'বিশেষ' পয়েন্ট বা বিন্দুগুলোকে বলা হয় 'ফিচার পয়েন্ট';
Edge detection, segment analysis, gradient analysis ইত্যাদির মাধ্যমে এসব ফিচার পয়েন্টকে সহজেই বের করা যায়।

কিন্তু, এখন যেসব এ্যাপ্লিকেশনের কথা চিন্তা করা হয়, যেমন ভার্চুয়্যাল রিয়ালিটি, ফেস রিকগনিশন, মুভি জেনেরেশান, মেডিক্যাল অপারেশান --- এসব ক্ষেত্রে dense 3D information লাগে, অর্থাৎ অল্প কিছু ফিচার পয়েন্ট দিয়ে কাজ চালানো যায়না।

তাই, উদাহরনস্বরূপ, মুখের ত্রিমাত্রিক মডেল (একই সাথে সঠিক ত্রিমাত্রিক তথ্য) তৈরীর ক্ষেত্রে মুখের প্রতিটি অংশেরই (মুখ, কপাল,গাল, চিবুক, নাক, চোখ) প্রচুর সংখ্যক বিন্দুকে দুটি ছবিতে খুঁজে বের করতে হয়।
(এখানে আবার রিপীট করছি, যে বিন্দুটিকেই খুঁজে বের করা যাবে তারই 3D information জানা যাবে।)

যখন এরকম প্রচুর সংখ্যক বিন্দুকে খুঁজে বের করতে হয়, তখন 'এরিয়া-বেসড সার্চ' করা হয়;
এটা হলো --- বাম ক্যামেরার ছবির যেকোন একটা বিন্দুর জন্য তার চারপাশের একটা অংশকে (সাধারণত ইমেজ থেকে ছোট একটা ব্লক (ব্লগ না ... :) ...) এক্সট্রাক্ট করা হয়) কনসিডার করা হয়;
তারপর ডান ছবিতে একই রকম ব্লক খুঁজে বের করা হয়।

এই 'এরিয়া-বেসড সার্চের' জন্য সাধারণত SAD (Sum of Absolute Difference), SSD (Sum of Squared Difference), NCC (Normalized Cross Correlation)-- এসব মেথড ব্যাবহার হয়।

উল্লেখ্য, শুধু স্টেরেও ভিশন না, ভিডিও প্রসেসিং-এও এরকম সার্চের প্রয়োজন হয়,
এবং ভিডিওতে পরপর দুটো ইমেজ-ফ্রেমে একই বিন্দু কোথায় অবস্থিত তা বের করার জন্য উপরোল্লিখিত পদ্ধতিগুলো বেশ ভাল।

কারণ, ভিডিওর ক্ষেত্রে 'সার্চে' ব্যাবহৃত পরপর দুটো ছবির ক্ষেত্রে তাদের দূরত্ব থাকে কম, একই ক্যামেরায় ছবি তোলা হয় বলে ব্রাইটনেস সমস্যা থাকেনা এবং ছবিদুটোতে নয়েজ লেভেল এক থাকে।

কিন্তু যখন, দুটো স্টেরেও ক্যামেরা ব্যাবহার করা হয় তখন তাদের ব্রাইটনেস ভিন্ন হয়, ফোকাসও পুরোপুরি এক হয়না (ফলে এক ছবিতে পরিষ্কার বিন্দু অন্য ছবিতে ঘোলা আসতে পারে), নয়েজ লেভেলও ভিন্ন হয়।

ফলে, একই লালবিন্দু ডান ও বাম ছবিতে ভিন্ন উজ্জলতা অর্থাৎ ভিন্ন পিক্সেল ভ্যালু নিয়ে ইমেজড হয়!!

আবার, ছবিদুটোর মধ্যে 'ডিসপ্যারিটি' ভিডিওর তুলনায় বেশী থাকে বলে একই ধরণের দুটো ইমেজ ব্লককে খুঁজে বের করাও কঠিন!!!

তখন আমাদের সিদ্ধান্ত নিতে হয় যে, 'পিক্সেল ভ্যালু' কে কনসিডার করলে স্টেরেও ভিশনের ক্ষেত্রে মিসম্যাচ এবং এরর বেশী হবে;

উপরে উল্লেখিত SAD (Sum of Absolute Difference), SSD (Sum of Squared Difference), NCC (Normalized Cross Correlation) মেথডগুলো সরাসরি পিক্সেল ভ্যালু নিয়ে কাজ করে;
তাই এরা ভাল রেজালট দেয়না।

সরাসরি 'পিক্সেল ভ্যালু' নিয়ে কাজ না করতে চাইলে তখন আর ভাল যে একটা উপায় থাকে, তা হলো Fourier Analysis।

Fourier Analysis এ একটা ইমেজের দুইটা অংশ থাকে -- Amplitude and Phase।

Amplitude অংশটা পিক্সেল ভ্যালুর তথ্য বহন করে, আর Phase অংশটা বস্তুর আকৃতির তথ্য বহন করে।

আমাদের দরকার বস্তুর 'ডিসপ্যারিটি' বা দুরত্ব;
শুধু আকৃতির তথ্য থেকেই তা বের করা যায়;
তারপর, পিক্সেল ভ্যালুকে পাত্তা দেয়া না হলে নয়েজ, ব্রাইটনেস এসব সমস্যা থেকেও রেহাই পাওয়া যায়;
কাজেই স্টেরেও ভিশনের ক্ষেত্রে Phase ব্যবহার করে সার্চ করাটাই ভাল -- এই হচ্ছে আমার কথা।

এখন, বাবা, বলেছ ভাল কথা;
করে দেখাও!!

সেটা করে দেখাতে গিয়েই প্রথমে 'সার্চ এ্যালগরিদম' তৈরী;
তারপর 3D Measurement সিস্টেম তৈরী;
তারপর তুলনা করে দেখা কতটুকু ভাল কাজ করে!
তারপর কিছু এ্যাপ্লিকেশানে ব্যাবহার।

সে গল্প না হয় পরের পর্বে হবে।
সর্বশেষ এডিট : ১১ ই জুলাই, ২০০৬ ভোর ৫:০১
১১টি মন্তব্য ০টি উত্তর

আপনার মন্তব্য লিখুন

ছবি সংযুক্ত করতে এখানে ড্রাগ করে আনুন অথবা কম্পিউটারের নির্ধারিত স্থান থেকে সংযুক্ত করুন (সর্বোচ্চ ইমেজ সাইজঃ ১০ মেগাবাইট)
Shore O Shore A Hrosho I Dirgho I Hrosho U Dirgho U Ri E OI O OU Ka Kha Ga Gha Uma Cha Chha Ja Jha Yon To TTho Do Dho MurdhonNo TTo Tho DDo DDho No Po Fo Bo Vo Mo Ontoshto Zo Ro Lo Talobyo Sho Murdhonyo So Dontyo So Ho Zukto Kho Doye Bindu Ro Dhoye Bindu Ro Ontosthyo Yo Khondo Tto Uniswor Bisworgo Chondro Bindu A Kar E Kar O Kar Hrosho I Kar Dirgho I Kar Hrosho U Kar Dirgho U Kar Ou Kar Oi Kar Joiner Ro Fola Zo Fola Ref Ri Kar Hoshonto Doi Bo Dari SpaceBar
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

সবাই জামাতের পক্ষে জিকির ধরুন, জামাত বিজয়ের দ্বারপ্রান্তে!

লিখেছেন জ্যাক স্মিথ, ১২ ই ফেব্রুয়ারি, ২০২৬ রাত ১১:৩১



চলছে ত্রয়োদশ সংসদ নির্বাচনের ভোট গণনা, তুমুল লড়াই হচ্ছে জামাত ও বিএনপির মধ্যে কোথাও জামাত এগিয়ে আবার কোথাও বিএনপি এগিয়ে। কে হতে যাচ্ছে আমাদের ভবিষ্যৎ সরকার- জামাত না... ...বাকিটুকু পড়ুন

নির্বাচন তাহলে হয়েই গেল

লিখেছেন অনিকেত বৈরাগী তূর্য্য , ১৩ ই ফেব্রুয়ারি, ২০২৬ ভোর ৪:১৬


ত্রয়োদশ জাতীয় সংসদ নির্বাচনে নিরঙ্কুশ সংখ্যাগরিষ্ঠতা নিয়ে সরকার গঠন করতে যাচ্ছে বিএনপি। ২৯৯টি আসনের মধ্যে এখন পর্যন্ত বেসরকারি ফলাফলে ১৭৫টি আসনে জয় পেয়েছে দলটির প্রার্থীরা।

অন্যদিকে, জামায়াতে ইসলামীর প্রার্থীরা ৫৬টি আসনে... ...বাকিটুকু পড়ুন

মেটিকুলাস ডিজাইনের নির্বাচন কেমন হলো?

লিখেছেন সৈয়দ কুতুব, ১৩ ই ফেব্রুয়ারি, ২০২৬ সকাল ১১:২৪


ত্রয়োদশ জাতীয় সংসদ নির্বাচনে বাংলাদেশ জাতীয়তাবাদী দল বিএনপি ২১৩ আসনে জয়ী হয়েছে। তবে প্রত্যাশার চেয়ে বেশি ভালো ফলাফল করেছে জামায়াত ! এগারো দলীয় জোট প্রায় ৭৬ টি আসনে... ...বাকিটুকু পড়ুন

দেশ চুরান্ত লজ্জার হাত থেকে রক্ষা পেয়েছে।

লিখেছেন জ্যাক স্মিথ, ১৩ ই ফেব্রুয়ারি, ২০২৬ দুপুর ২:১৮



অনেক জল্পনা কল্পনার পর শেষ পর্যন্ত বিএনপির ভূমিধ্বস বিজয় হয়েছে- এ যাত্রায় দেশ চুরান্ত লজ্জার হাত থেকে বেঁচে গেলো। চারিদিকে যা শুরু হয়েছিলো (জামাতের তাণ্ডব) তা দেখে মনে... ...বাকিটুকু পড়ুন

২০ বছর সামহোয়্যারইন ব্লগে: লেখক না হয়েও টিকে থাকা এক ব্লগারের কাহিনি B-)

লিখেছেন নতুন, ১৩ ই ফেব্রুয়ারি, ২০২৬ রাত ৯:৪২



২০২৬ সালে আরেকটা ঐতিহাসিক ঘটনা ঘটেগেছে একটু আগে।

ব্লগার হিসেবে ২০ বছর পূর্ন হয়ে গেছে। :-B

পোস্ট করেছি: ৩৫০টি
মন্তব্য করেছি: ২৭০৭২টি
মন্তব্য পেয়েছি: ৮৬৬৭টি
ব্লগ লিখেছি: ২০ বছর... ...বাকিটুকু পড়ুন

×