Apa itu Gradient vector?

Gradient vector atau yang biasa disebut dengan image gradient merupakan salah satu konsep fundamental dalam computer vision.  Banyak algoritma computer vision yang membutuhkan penghitungan gradient vector untuk setiap pixel dalam sebuah image. Hal ini karena sebuah image gradient menggambarkan perubahan arah dalam intensitas atau warna pada sebuah gambar. Oleh karena itu, sebuah image gradient memiliki 2 informasi penting, yaitu magnitude dan direction (arah) dari gradient tersebut. Gradient magnitude berisi informasi mengenai seberapa besar perubahan yang terjadi dan gradient direction menunjukkan arah di mana terjadi perubahan pada gambar paling besar.  Karena sebuah image gradient memiliki arah dan magnitude, maka biasanya informasi image gradient disimpan dalam sebuah vector.  Panjang dari vector menjelaskan gradient magnitude, sedangkan arah vector menjelaskan gradient direction.

Bagaimana cara menghitung gradient vector?

Kita dapat menghitung gradient vector pada setiap pixel dalam sebuah gambar. Caranya mudah, yaitu dengan menghitung perubahan pada nilai pixel di sepanjang sumbu-x dan sumbu-y pada setiap pixel. Untuk lebih jelasnya, perhatikan grayscale image berikut ini.

Gb.1.1 – Contoh penghitungan gradient vector

Misalkan kita ingin menghitung gradient vector salah satu pixel pada gambar di atas (ditandai dengan kotak merah).Dalam hal ini, pixel yang akan kita hitung gradient vectornya kita sebut sebagai pixel X. Untuk menghitung perubahan nilai pixel pada sumbu-x dan sumbu-y kita harus memperhatikan nilai pixel yang berada di sekitar pixel X yang ingin kita hitung, seperti yang ditunjukkan pada gambar di bawah ini

Gb.1.2 – Nilai pixel di sekitar pixel yang akandihitung

Gambar di atas adalah gambar grayscale di mana nilai pixelnya berkisar antara 0-255 (0 adalah hitam dan 255 adalah putih). Untuk menghitung perubahan intensitas yang terjadi di sekitar pixel X pada arah sumbu-x ,kita hanya perlu mengurangkan nilai pixel yang berada pada sebelah kiri dan kanan pixel X (58 dan 126). Sehingga hasilnya adalah 126 – 58 = 68. Kita dapat melakukan pengurangan baik dari kiri kekanan maupun sebaliknya dari kanan kekiri, namun cara pengurangan ini harus sama (konsisten) untuk setiap pixel pada image.  Untuk menghitung perubahan intensitas pada sumbu y, kita dapat melakukan operasi pengurangan yang sama pada nilai pixel di atas dan di bawah pixel X. Sehingga hasilnya adalah 130-56 = 74.