5 Interesting Facts of Matrix Calculus

Matrix calculus is the extension of calculus to vector or matrix setting. I used to suffer a lot with matrix calculus in my early grad life. I’ve seen some other people to suffer as well. It primarily happens because the standard courses in linear algebra do not cover this topic very often. However, all the maths in Matrix calculus are basically trivial. Anyway, here are a few interesting facts that made my life much easier. I could use these to derive many expressions (e.g. calculating gradients in SGD based algorithms etc.) in my machine learning practice. Check if they can help you or not. …

Continue Reading

ডীপ লারনিং- কৃত্রিম বুদ্ধিমত্তার আধুনিকতম উপহার

যারা কম্পিউটার বিজ্ঞানের নিত্য নতুন আবিষ্কার সম্পর্কে ধারণা রাখেন তারা সবাই কৃত্রিম বুদ্ধিমত্তা বা Artificial Intelligence সম্পর্কে জানেন। এমনকি যারা কম্পিউটার বিজ্ঞান সম্পর্কে কোনও ধারণাই রাখেননা তাদেরও অনেকেই সায়েন্সফিকশন মুভির কল্যাণে এটা সম্পর্কে জানেন। এই কৃত্রিম বুদ্ধিমত্তা বিষয়টার একটা অংশ হল মেশিন লার্নিং (বাংলায় কি আমরা একে “যান্ত্রিক শিক্ষা” বলতে পারি? কিন্তু আমার কাছে মেশিনলার্নিং টাই ভালো শোনায়)। মেশিন লার্নিং ফিল্ডটা নিয়ে যারা নাড়াচাড়া করেন তাঁদের মাথা ঘামানোর প্রধান বিষয়বস্তু হোল এমন একটা কম্পিউটার প্রোগ্রাম বানানো যা কিনা নিজে নিজেই কোন কিছু শিখে নিতে পারে। এই মেশিন লার্নিং ফিল্ডে ইদানীং একটা বড় (আবিষ্কারের) বিপ্লব ঘটে চলেছে। একে বলা হচ্ছে ডীপ …

Continue Reading

OpenCV Feature Detectors

Feature detectors and describers are interesting topics in computer vision. People have found that detecting edges and corners in an image is useful for many different application, for instance, image matching, stitching, tracking etc. I was playing with the OpenCV image detectors today. This post is the outcome. Here I give the code and the performance of several feature detectors in my machine.

Continue Reading

My Experience in ASSETS 2012

From October 22nd to October 24th, we (Me and Iftekhar Anam) attended the ASSETS 2012 conference in Boulder, CO to demonstrate our sensory substation system named “FEPS”. It was an amazing experience to meet all the major researchers on accessibility and assistive technologies for disabled people. In this writing, I am going to share my experience of attending this conference. 

Continue Reading

Levels of Knowledge

For ease of thinking, take the study of differential equations, recurrence relations etc. 1. Knowledge on the rule – if this, do this then you’ll get the solution 2. Knowledge on the proof – Is it really true that in ALL cases if I follow the rules, I’ll get the solution? 3. Knowledge on the design – How should I design the rules for more complecated cases? 3 or 4. Knowledge on the Big Picture – how the different elements interact? Why the designs are being so?

Continue Reading

Linear Algebra in OpenCV: Assignment, Cloning and Accessing Sub-parts

In the last post, we saw the basic methods to load and display matrices. Let us see some more aspects of an OpenCV matrix. Matrix Assignment and Cloning In opencv, the assignment (“=”) operator does not copy a matrix. It only attaches a new label or alias to a matrix. In c/c++ when we write A = B, we expect A and B to be two different variables with same value. However, in OpenCV, such an assignment operation will actually say that A and B are invariably the same matrix. This will be illustrated in the following opencv snippet.

Continue Reading

Linear Algebra in OpenCV: OpenCV Matrices

I know many people will look at me in frowning eyes after reading the title. Yes, OpenCV is an image processing and computer vision library. But believe me, the most rudimentary works you need to do in these fields are essentially “Linear Algebra”. Think about an image — it is a matrix; and most of the time you’ll work on matrices. Even other data structures like vectors and points — all are some kind of matrices. Necessity of doing linear algebra is one of the main reasons for burgeoning MATLAB (which is an acronym for MATrix LABoratory) libraries for image processing. In fact, …

Continue Reading