November 2008


I found SIFT unreliable to track moving object. So is SURF, the SIFT’s child algorithm with better performance in execution time. This is perhaps because SIFT is not designed for motion capture.

Now the key is these words “if you could find an algorithm to reliably track a feature from image sequences, then you could find what you are looking for.” This implies not that we should merely focus on how to find a reliable algorithm. What if we could make a “highly” prepared environment so to make certain features in captured images would be predominant to other unwanted pixels? This results in the thought of bright color markers usage for our model. Bright red, bright yellow or bright green.

We could make the model wears a black suit in front of the homogeneous white background. This is what i meant by highly prepared environment.

Now, i implemented this simple algorithm and found out that hey, this could work.

The tracking is quite reliable. The only problem is that the point tracked is slightly vibrating due to the noise and changing intensities.

“Nah, saya meminta Anda untuk mengingat kelompok Anda, apakah S atau B. Setiap kali Anda mengumpulkan tugas, sertakan nama kelompok Anda. Jadi, misalkan nama Anda Anwar, NIM 23207071, kelompok S. Nama kelompok ini akan menentukan bagaimana saya menilai hasil kerja Anda selama mengikuti mata kuliah Algoritma dan Pemrograman ini.”

Anak-anak diam semua. Mereka tak pernah menemukan yang seperti ini sebelumnya.

“Baikm sekarang saya ingin menjelaskan apa itu algoritma.”

Pak Dwi kemudian menarik garis vertikal panjang dari ujung atas papan tulis hingga ujung bawah. Garis itu dibagi-baginya menjadi beberapa bagian dengan memberi beberapa garis pendek horisontal di sepanjang garis itu. Aku melihatnya seperti sebuah garis bilangan.

“Nah, apa itu algoritma?”

Ini adalah sebuah pertanyaan retoris karena Pak Dwi tak menunggu jawaban dari anak-anak.

“Sekarang mari kita bermain-main. Yang Anda harus ingat dalam permainan ini adalah aturan mainnya. Hanya itu. Jadi, Anda tak perlu mengingat apa pun pelajaran yang pernah Anda pelajari. Singkirkan itu. Saya hanya butuh satu. Ikuti aturan mainnya. Setuju?”

Anak-anak mengangguk-angguk. Pak Dwi tersenyum kecil. Tidak manis sama sekali.

“Baik, aturan main yang pertama adalah permainan ini terdiri dari langkah-langkah dan setiap langkah tidak boleh bertentangan dengan langkah sebelumnya. Biar saya kasih contoh.

Misal, saya katakan di langkah pertama bahwa paus itu adalah sejenis mamalia. Lalu salah satu di antara Anda mengatakan di langkah kedua bahwa seekor paus bertelur di dalam laut. Maka Anda jelas telah melanggar aturan main yang kita buat. Mengapa? Karena pernyataan yang Anda buat di langkah kedua bertentangan dengan pernyataan yang ada di langkah pertama.

Nah, semua mengerti?”

Rasanya cukup mudah untuk mengerti aturan main sederhana itu. Contoh tentang paus itu juga cukup mudah diikuti. Tapi aku masih melihat-lihat hubungan ini semua dengan algoritma dan pemrograman.

[bersambung entah kapan]

Fisika klasik menganggap bahwa fenomena partikel dan fenomena gelombang adalah dua hal yang berbeda. Tapi fisika kuantum menunjukkan yang sebaliknya. Bagaimana mungkin? Mari kita telusuri.

Pada akhir abad ke-19, salah satu fenomena yang tidak bisa dijelaskan oleh fisika klasik adalah masalah spektrum radiasi dari benda hitam.

Sebuah benda hitam adalah benda yang menyerap semua energi yang datang kepada benda tesebut. Jika kita melihat sebuah benda, itu karena cahaya dipantulkan oleh benda tersebut. Ini berarti, energi cahaya tidak diserap semua tapi sebagian besar dipantulkan oleh benda tersebut.

Sebuah benda hitam tidak akan memantulkan cahaya. Cahaya yang datang ke permukaannya akan diserap seluruhnya. Dengan menyerap energi, energi-dalam dari benda meningkat. Hasilnya adalah benda bertambah hangat. Benda ini selanjutnya akan mengeluarkan radiasi termal akibat perbedaan suhu antara benda dan lingkungannya. Percobaan menunjukkan spektrum dari radiasi termal ini.

Saat fisika klasik mencoba untuk menjelaskan “bentuk” dari spektrum radiasi dari sebuah benda hitam, timbul suatu ketidakcocokkan dengan hasil percobaan. Menurut penghitungan fisika klasik, radiasi termal akan memiliki intensitas tak berhingga untuk frekuensi tinggi radiasi. Ini disebut bencana ultraviolet (ultraviolet catasthrope).

Solusi dari masalah ini diberikan oleh Max Planck. Ia mengasumsikan bahwa energi yang diserap dan dipancarkan oleh benda hitam harus berbentuk diskrit, yaitu kelipatan dari sebuah konstanta Planck.

Planck menggambarkan ini sebagai berikut.

Sebuah benda hitam digambarkan sebagai sebuah lubang dari sebuah kotak. Lubang ini akan menerima semua cahaya yang masuk ke dalamnya dan tidak memantulkannya. Kotak ini bersifat konduktif. Di dalam kotak, cahaya membentuk gelombang-gelombang diam dengan ujung-ujungnya berada di dinding-dinding kotak yang karena bersifat konduktif maka amplitudonya sama dengan nol.

Dengan penghitungan sederhana kita bisa melihat bahwa frekuensi dari gelombang cahaya di dalam kotak bersifat diskrit. Dengan demikian, energi cahaya di dalam kotak pun bersifat disktrit. Energi diskrit inilah yang dipancarkan oleh benda hitam (lubang kotak).

Pada saat Planck mengemukakan solusinya, para fisikawan tak terlalu menanggapi hal ini secara serius. Meskipun hasil penghitungan Planck sangat cocok dengan hasil percobaan di laboratorium, para fisikawan menganggap bahwa penghitungan ini bersifat ad hoc, artinya hanya berlaku untuk kasus benda hitam saja. Einsteinlah yang membawa asumsi Planck ini lebih lanjut dalam menjelaskan efek fotolistrik sehingga membuka pintu ke arah terbentuknya teori kuantum.

Anda tentu pernah melihat riak air. Riak air terjadi karena di suatu titik terdapat getaran. Getaran ini menggerakkan air di titik tempatĀ  getaran itu terjadi. Air di titik itu selanjutnya menggerakkan air di sekitarnya yang kemudian air di sekitarnya ini juga menggerakkan air di sekitarnya lagi. Begitu seterusnya sehingga getaran itu merambat di air. Inilah yang disebut fenomena gelombang.

Energi yang terjadi dalam fenomena gelombang disebarkan dari pusat energi secara merata ke daerah di sekelilingnya.

Selain fenomena gelombang, ada juga fenomena partikel. Untuk fenomena yang satu ini, Anda tentu tidak asing lagi. Salah satu contohnya adalah kelereng. Jika Anda mendorong sebuah kelereng, energi yang Anda berikan pada kelereng akan menyebabkan kelereng bergerak. Energi yang Anda berikan tidak disebarkan ke sekeliling. Energi itu hanya diberikan ke kelereng saja.

Jadi, salah satu perbedaan partikel dan gelombang adalah dalam hal penyebaran energi.

Sekarang mari kita memikirkan alam semesta ini. Di alam semesta ini, banyak sekali sumber energi. Ada energi alam dan ada pula energi “buatan”.

Contoh energi alam adalah matahari dan gas bumi. Contoh energi buatan adalah panas kompor.

Setiap energi dihasilkan dari sebuah sumber energi. Dari sumbernya, energi kemudian disebarkan (atau dipindahkan untuk kasus partikel) ke sekelilingnya. Energi bisa juga diubah bentuk saat dipindahkan ini. Misalnya, energi dari sumber energi listrik PLN diubah menjadi panas saat dipindahkan di setrika.

Jadi secara umum terdapat dua jenis fenomena terkait dengan penyebaran atau perpindahan energi, yaitu fenomena partikel dan fenomena gelombang.

“Nah, jika kalian tidak bertanya-tanya apa itu S dan apa itu B, saya akan terangkan sekarang. Tapi sebelumnya, saya ingin Anda menjawab di dalam hati pertanyaan saya ini. Pertanyaannya sederhana saja. Apakah Anda sudah atau belum pernah menulis program.”

Kelas hening.

“Baik, sekarang saya akan menerangkan arti dari S dan B. S berarti sudah. Sudah apa? sudah pernah menulis program. Dan B? Tentu saja belum. Ok, sekarang saya harap setiap Anda sudah memilih antara S atau B. Nah, sekarang saya minta, semua yang S pindah duduk di sebelah kiri saya dan semua yang B, duduk di sebelah kanan saya. Silahkan.”

Kelas gaduh. Anak-anak berpindah tempat.

[bersambung lagi entah kapan]

Dosen itu berjalan masuk. Tubuhnya jangkung dan kurus. Tak ada kesan wibawa. Bahkan mungkin ia tampak gugup. Ia dosen baru dan mungkin belum pernah mengajar di depan kelas dengan jumlah siswa lebih dari 5 orang sebelumnya.

Ia berdiri di depan tepat di tengah-tengah, membagi dua ruangan menjadi kiri dan kanan. Ia tersenyum.

“Selamat pagi,” katanya.

Aku mendengar getar. Bukan dari jenis suara yang dapat bernyanyi. Bukan pula dari jenis yang dapat membuat orang tunduk.

“Pagiiii, pak,” seru teman-temanku.

Mahasiswa baru tak berani bertingkah meskipun dosen yang ada di depannya sama sekali tak berwibawa.

“Hari ini kita akan belajar Algoritma dan Pemrograman, ” dosen itu melanjutkan.

Dia berbalik arah dan menarik satu garis panjang membelah dua papan tulis kelas.

“Di kiri adalah daerah yang akan saya beri nama ‘B’, dan di kanan saya beri nama ‘S’.

Setiap kalian harus menjadi S ATAU B, dan bukan S DAN B atau bukan S dan bukan pula B.”

Dosen itu diam. Kami tertegun, tak mengerti.

“Oh ya, nama saya Dwiwelas. Kalian boleh memanggil saya Dwi.”

[bersambung entah kapan]

We have left and right calibrated cameras. Rectifying should not be a problem now. We find good features using cvGoodFeaturesToTrack from OpenCV library. Now we get the features for left and right images. How to correspond these features tracked from left image to its pair in the right image? That is one problem.

The second problem is, the features we have found in both images would not be necessarily exist in the next frame. This is because we tracked moving object and the features would follow –unfortunately, for clattered and unprepared environment– the motion unreliably. Not to mention the missing features due to the changing image intensities.This is hurting the correspondence process.

Now, we are trying not to track the motion by Lucas Kanade Optical Flow Pyramid algorithm. Instead, we will do some correspondence from certain markers and build the 3D reconstruction from it. The markers would be made so to make the tracking process easy. The SIFT algorithm would be used to track the marker. From the correspondence we would get the 3D coordinates of markers of each frame. This would build our motion data.

Jika kita melihat mahasiswa yang bermalas-malasan, siapa sebenarnya yang ikut membentuk potret muram pendidikan di negara kita?

Jika seorang mahasiswa merasa bahwa belajar adalah kampungan dan tidak gaul, siapa yang ikut memberi andil bagi bobroknya potret buruk pendidikan di negara kita?

Mengapa di kampus, bisa timbul rasa aneh kepada orang yang serius dalam belajar? Di lingkungan S2 pula. Sayang sekali.

Beberapa hari yang lalu saya melewati sebuah pekuburan. Sebenarnya bukan kejadian yang jarang-jarang. Tapi, pagi itu, saya memikirkan sesuatu.

Yang saya ingat adalah pertanyaan kakak saya ketika berziarah ke makam bapak. Jika digali, apakah mayat bapak sudah tinggal tulang belulang? Saya membayangkannya.

Bapak sudah tidak ada. Tapi, apakah yang dimaksud dengan tidak ada? Selintas saya merasa sangsi bahwa sesuatu yang ada dapat menjadi tidak ada.

Dalam kehidupan sehari-hari, dari ada menjadi tiada tidak berarti sesuatu itu hilang. Hal itu hanya berarti perpindahan tempat. Dia ada di sini menjadi dia tak ada di sini.

Lalu, apakah kematian itu?

Saya berpikir tentang dua jawaban. Pertama tentang ruh. Yang ada ketika seseorang hidup dan tetap ada ketika dia mati adalah ruhnya. Jasanya hancur. Jadi, kematian itu bukanlah perubahan dari ada menjadi tiada.

Kedua, saya berpikir tentang apa yang dimaksud dengan sesuatu. Kita berpikir behwa sesuatu ada. Tapi, benarkah sesuatu itu ada?

Buddha berkata bahwa tidak ada “aku”. Tidak ada ego. Setiap hari kita adalah orang yang berbeda. Kita berada dalam perubahan terus menerus. Identitas diri adalah buatan manusia. Dilihat dari sini, pernyataan bahwa sesuatu berubah dari ada menjadi tiada bukan mustahil dari sisi ada dan tiadanya, tapi dari sisi sesuatunya. Tidak ada sesuatu. Dengan demikian, memang tiada yang kita sebut ada. Jadi, dari ada menjadi tiada adalah sebuah kesalahan.

Apapun, ini hanyalah masalah sudut pandang. Yang saya dapat adalah bahwa “kita” semua adalah ahli kubur. Tubuh akan menjadi bangkai tinggal tulang belulang. Jadi, apa yang sebenarnya bisa kita sombongkan? Seseorang bisa saja berdiri di depan saya dengan kecantikan atau ketampanan, tapi suatu hari, hanya tulang belulang yang tersisa dari dirinya.

Semoga saya dapat melihat bahwa semua orang adalah sama.

Berapa banyak orang yang kita butuhkan untuk menyayangi kita secara sungguh-sungguh?

Ada ibu dan ayah kita. Ada kakak dan adik. Ada istri atau suami dan anak. Ada teman-teman kita. Setiap mereka memiliki kadar sayang yang berbeda. Namun, kita merasa bersyukur bahwa kita masih memiliki orang yang mau memikirkan keadaan kita, peduli akan kesehatan dan kebahagiaan kita, dan selalu merasa senang untuk membahagiakan kita. Di sudut lain di kota kita, ada orang-orang yang tidak seberuntung kita. Mereka memiliki saudara sedarah yang sama tidak pedulinya dengan orang yang tak dikenal. Kasih sayang, rasanya seperti benda yang tak pernah mereka sentuh dan tak mungkin ada.

Hari ini saya ulang tahun. Dan orang-orang yang saya butuhkan kasih sayangnya, telah menunjukkannya hari ini.

Next Page »