Академический Документы
Профессиональный Документы
Культура Документы
TINJAUAN PUSTAKA
Kelapa sawit merupakan tanaman famili Palmae yang berasal dari Afrika Barat.
Kelapa sawit menjadi salah satu tumbuhan industri penting penghasil minyak masak, minyak
industri, hingga bahan bakar atau biodiesel. Kelapa sawit yang memiliki peran penting dalam
industri menjadikan kelapa sawit sebagai peluang usaha, salah satunya dengan pembukaan
perkebunan kelapa sawit. Persebaran perkebunan kelapa sawit di Indonesia meliputi daerah
Aceh, Sumatera, Jawa, Kalimantan, dan Sulawesi. Hingga saat ini Indonesia menjadi
Pohon kelapa sawit memiliki tinggi mencapai 24 meter dan memiliki akar serabut yang
mengarah ke bawah dan samping. Seperti jenis palma lainnya, daun pohon kelapa sawit
berwarna hijau tua dengan pelepak berwarna sedikir lebih muda dan tersusun secara majemuk
menyirip. Batang tanaman diselimuti bekas pelepah hingga umur 12 tahun. Pohon kelapa
sawit berkembang biak dengan cara generatif. Syarat hidup untuk pohon kelapa sawit berupa
daerah tropis (15° LU - 15° LS) di ketinggian 0-500 meter dari permukaan air laut dengan
kelembaban 80-90% serta curah hujan stabil 2000-2500 mm setahun (Handayani & Caeli,
2013).
Citra adalah representasi, kemiripan, atau imitasi dari objek atau benda. Citra
dikatakan sebagai citra digital jika citra tersebut disimpan dalam format digital atau file.
Sebuah citra digital terdiri dari kumpulan nilai yang tersusun secara dua dimensi, yaitu baris
dan kolom. Setiap nilai dari kumpulan tersebut yang dinamakan piksel (Derisma, 2016). Pada
umumnya nilai-nilai dari piksel merupakan bilangan buat dan memiliki jangkauan nilai
minimal maupun maksimal, serta memiliki tingkat intensitas salah satu komponen warna pada
model warna tertentu, seperti RGB. Dimensi dari susunan nilai piksel disebut dengan lebar
dan tinggi dari citra sedangkan banyaknya bit untuk menyatakan sebuah nilai disebut
2.3 OpenCV
OpenCV merupakan open source library untuk computer vision. Library ini ditulis dalam
bahasa C dan C++ dan dapat dijalankan dengan berbagai operating system seperti Linux,
Windows, dan mac OS X (Suryadi & Sikumbang, n.d.). Computer vision adalah salah satu
cabang Ilmu Pengolahan Citra atau Image Processing yang memungkinkan komputer dapat
memiliki kemampuan melihat seperti manusia. Dengan kemampuan vision tersebut, komputer
dapat mengambil keputusan, melakukan aksi, serta mengenali objek. Tujuan dari OpenCV
adalah menyediakan infrastuktur computer vision yang dapat diguankan untuk membangun
pengolahan citra yang bertujuan untuk deteksi objek. Metode HOG menghitung nilai gradien
dalam daerah tertentu pada suatu citra. Tiap citra mempunyai karakteristik yang ditunjukkan
oleh distribusi gradient. Karakteristik tersebut diperoleh dengan membagi citra ke dalam
daerah yang lebih kecil, yaitu cell. Tiap cell disusun sebuah histogram dari sebuah gradien.
Kombinasi dari histogram ini dijadikan sebagai deskriptor yang mewakili sebuah objek (Ilmi,
Teknik HOG dilakukan dengan menghitung nilai gradien dalam daerah tertentu pada
suatu image. Tiap image mempunyai karakteristik yang ditunjukkan oleh distribusi gradien.
Karakteristik ini diperoleh dengan membagi image kedalam daerah kecil yang disebut cell.
Tiap cell disusun sebuah histogram dari sebuah gradient. Kombinasi dari histogram ini
oriented gradient :
b. Koreksi Gamma : Merupakan gambar asli yang dikompresi menjadi gambar gamma
gambar. Dimana perhitungan ini menggunakan perhitungan operator sobel (Edge Detection)
Maks Konvolusinya :
M (y) = − (2.2)
Keterangan:
M (y) : Maks konvolusinya (kernel) pada (y) dari hasil transpose maks (x)
Selanjutnya rumus menghitung gradient (x) dan gradient (y) kita membutuhkan maks
Keterangan:
I: Image (gambar)
Contoh :
Sebuah contoh gambar dengan nilai 5x5 piksel yang telah ditentukan nilainya dalam
1 1 1 1 1
1 1 1 1 1
1 1 1 0 0
1 1 0 0 0
1 1 0 0 0
Dari contoh soal pada gambar diatas maka disini kita dapat menghitung nilai gradient
(x) dan gradient (y) pada setiap cell dengan menggunakan rumus yang telah ditentukan
dengan persamaan (2.3) untuk mencari nilai gradient t(x) dan persamaan (2.4) untuk mencari
nilai gradient (y). lebih lanjutnya kita membahas tentang perhitungan mencari gradient t(x)
1 1 1 1 1
1 1 1 1 1
1 1 1 0 0
1 1 0 0 0
1 1 0 0 0
Untuk perhitungannya kita membuat blok terlebih dahulu sesuai dengan jumlah maks
konvolusinya 1 x 2 dengan arah vertikal kemudian hitung dengan menggunakan rumus pada
Lakukan hingga sampai baris 5 dan kolom 4 dengan cara yang sama untuk
mendapatkan nilai gradient (x). Setelah menghitung nilai gradient (x) maka langkah
selanjutnya kita menghitung nilai gradient (y) dengan menggunakan Persamaan (2.4).
Untuk menghitung gradient (y) sama seperti menghitung gradient(x) hanya saja pada
perhitungan gradient (y) dengan arah horisontal terlihat pada gambar dibawah ini.
1 1 1 1 1
1 1 1 1 1
1 1 1 0 0
1 1 0 0 0
1 1 0 0 0
Kemudian kita dapat menghitung gradient (y) sesuai dengan rumus persamaan (2.4)
0 0 0 0 * 0 0 0 0 0
0 0 0 0 * 0 0 0 1 1
0 0 -1 0 * 0 0 1 0 0
0 -1 0 0 * 0 0 0 0 0
0 -1 0 0 * * * * * *
Setelah menemukan gradient (x), gradient (y), dan arah gradiennya maka langkah
selanjutnya menghitung kekuatan tepi (magnitude) dengan Persamaan (2.5) dan sudut gradien
Keterangan:
Dengan rumus persamaan (2.5) maka kita dapat menghitung kekuatan tepi pada setiap
0 0 0 0 *
0 0 0 0 *
0 0 2 0 *
0 2 0 0 *
0 2 0 0 *
Setelah menghitung kekuatan tepi (magnitude) gradient maka kita dapat menghitung
(,)=- (2.6)
Keterangan
: arctan
Gx : Gradient (x)
Gy : Gradient (y)
Kemudian lakukan perhitungan hingga baris ke-4 kolom ke-5 sampai mendapatkan
0° 0° 0° 0° *
0° 0° 0° 0° *
0° 0° -45° 0° *
0° -45° 0° 0° *
0° -45° 0° 0° *
Langkah selanjutnya membuat keputusan apakah suatu piksel merupakan tepi atau bukan
Untuk menentukan apakah suatu piksel merupakan tepi atau bukan tepi maka kita dapat
0 0 0 0 *
0 0 0 0 *
0 0 2 (Titik Ambang) 0 *
0 2 0 0 *
0 2 0 0 *
Nilai 2 termasuk titik ambang yang digunakan untuk Threshold (T) dengan menggunakan
titik ambang ini maka dapat ditentukan jika nilai setiap cell lebih besar dari threshold (2) atau
sama maka tepi dinyatakan warna putih. Jika threshold kurang dari 2 maka tepi dinyatakan warna
Dimana bins itu sendiri adalah histogram , bins terjadi pada 1 sampai 9 bins yang di
dapat dari 0-180 yang dimana 180 : 20 = 9 bins seperti pada gambar dibawah ini.
f. SVM (Support Vector Machine): mesin penentu yang berfungsi untuk menentukan
pendeteksian objek dengan memanfaatkan struktur data Union-Find. Struktur data Union-Find
merupakan penerapan dari sebuah himpunan yang terdiri dari anggota himpunan-himpunan
terpisah (disjoint sets). Himpunan terpisah merupakan himpunan yang anggotanya saling lepas
(tidak memiliki anggota yang sama) antara satu himpunan dengan himpunan lainnya. Struktur
data Union-Find yang diimplementasikan pada algoritma CCL berupa sebuah himpunan yang
anggotanya adalah sub-himpunan (subset) komponen label. Komponen label adalah komponen
piksel gambar yang diberi label. Label ini umumnya berupa bilangan bulat positif.
terdapat N komponen dengan label L1, L2, sampai LN, maka akan terdapat himpunan (set) H
S2={L2}, S3={L3},…SN={LN} dan nilai kepala subset (parent subset/parent label) awal R1
label L1, maka anggota subset S1 akan bertambah dan kondisi subset menjadi S1[4] =
{L1,S2,S3,S4}. Setiap kali terjadi penggabungan komponen pada S1 akan dipilih sebuah label
representasi R1 dengan nilai label terkecil di antara label-label anggota subset S1. Jika L3
merupakan label dengan nilai terkecil, maka R1 = L3. Apabila terdapat L5 yang tergabung
dengan L6, maka akan terbentuk subset S6[2]={L6,S5} yang memiliki dua anggota subset.
Jumlah anggota di dalam subset dapat disebut sebagai kardinalitas dilambangkan n(subset).
Subset S6 merupakan subset terpisah dengan subset S5, karena tidak ada anggota subset yang
sama. Dengan ini maka baru terbentuk dua subset dengan kardinalitas lebih dari 1 dalam
himpunan H. Apabila terdapat label L7,L8,dan L9 yang digabungkan dengan L5, maka
label tempat L5 tergabung kardinalitasnya bertambah. L6 atau S6 ini dapat disebut sebagai
pohon dengan cabang-cabang pohon yang saling tergabung pada sebuah pohon besar. Tiap-
tiap cabang pohon memiliki kepala (parent label/subset parent) yakni label itu sendiri (Ri=Li).
Ketika ada dua label digabungkan, maka akan terbentuk pohon besar. Kepala pohon besar
dipilih berdasarkan nilai label kepala cabang pohon terkecil. Tiap cabang pohon memiliki
kemungkinan kardinalitas subset yang beragam, sehingga terlihat cabang pohon besar dengan
kardinalitas besar (anggota lebih banyak) dengan cabang pohon kecil dengan kardinalitas kecil
(anggota lebih sedikit, minimal dua anggota : kepala dan badan). Kardinalitas sebagai data
dari subset/komponen label ini biasa disebut rank digunakan sebagai perbandingan dalam
menentukan pohon mana yang akan menjadi kepala dari pohon yang lain (root subset/root
label) dan yang akan menjadi anak dari pohon kepala (child subset/child label). Namun, dalam
struktur data union-find tidak disimpan data anak (child subset/child label), karena struktur
pohon berbentuk graf searah mengarah ke atas (upwards) hingga ditemukan akar pohon (root
subset/root label/root tree) sebagai representasi dari subset yang bersangkutan. Hal ini juga
guna menghemat biaya operasi tidak seperti pembentukan pohon menggunakan struktur larik
dinamis vector yang banyak melibatkan pointer cenderung boros pemakaian memori.
Berikut adalah ilustrasi pohon pada Union-Find.
Pada gambar terlihat adanya dua cabang pohon dengan kepala utama komponen label
(root subset/root label) A dan E. Komponen label B pada cabang pohon A berperan sebagai
kepala komponen label (parent subset/parent label) D. D adalah komponen anak (child
subset/child label) dari B, sedangkan C adalah komponen anak (child subset/child label) dari
A. D dan C keduanya anggota komponen anak (child subset/child label) dari kepala utama
komponen label (root subset/root label) A. Begitu juga untuk F dan G. Kepala utama
komponen label (root subset/root label) A digabungkan dengan E, maka A menjadi komponen
anak (child subset/child label) dari E, sehingga E menjadi kepala utama komponen label (root
Ide inilah yang menjadi bagian dasar dari kelebihan algoritma connected-compoents
labeling secara umum, yang mana sebuah label dapat mewakili sebuah komponen terhubung
membentuk blob. Umumnya implementasi dari teknik Union-Find ini untuk membuat subset
digunakan struktur data larik dinamis bernama vector. Larik dinamis ini cenderung boros
memori, karena operasi yang dilakukan, seperti penambahan, pengurangan, atau pengaksesan
membuat komponen subset dari piksel-piksel objek. Piksel objek dibentuk dari piksel-piksel
berdekatan saling terhubung satu sama lain dengan kesamaan ciri dan yang dapat disebut
pendeteksian algoritma menyertakan proses penyaringan antara piksel objek dengan piksel
bukan objek, sehingga terbentuk gambar dwimatra bertipe biner dengan piksel objek diwakili
oleh nilai 1 dan piksel bukan objek diwakili oleh nilai 0 secara konvensional (Gupta et al.,
2014). Piksel dengan nilai 1 dapat dianggap sebagai komponen-komponen diskrit. Selanjutnya
tiap komponen dengan nilai 1 dapat dilakukan pemberian label (masking) berupa bilangan asli.
Umumnya komponen yang saling berdekatan akan memiliki nilai label yang sama, sedangkan
antar komponen yang saling berjauhan akan memiliki nilai label yang berbeda tergantung
bagaimana metode pemberian label (masking) yang digunakan. Proses masking tersebut
berdasarkan pengecekkan pada piksel tetangga dari piksel yang sedang diperiksa labelnya
berdasarkan konektivitas yang dipilih. Pemberian label baru terhadap suatu komponen, yakni
dengan cara menaikkan nilai bilangan dari label terakhir yang tercipta.
Terdapat berbagai macam teknik masking dengan variasi pertimbangan pemilihan label
berdasarkan jumlah piksel tetangga yang diperiksa. Hal ini biasa disebut dengan block-based
algorithm (Cabaret dan Lacassagne, 2016). Hasil gambar yang telah diberi label pada
connected-components selanjutnya perlu penggabungan antara satu label dengan label lainnya
yang berdekatan. Konteks berdekatan yang dimaksud adalah piksel satu dengan lainnya
terhubung oleh konektivitas seperti pada gambar 2.14. Penggabungan label-label (merging
diwakili oleh sebuah label tetap (resolving label). Komponen-komponen terhubung ini
selanjutnya dapat dianggap sebagai himpunan anggota objek-objek yang ditangkap oleh
kamera. Komponen yang saling terhubung menjadi satu ini memiliki properti jumlah piksel
dan koordinat-koordinat label pembentuk komponen. Dari properti ini kemudian dapat
dihitung mengenai hitungan geometris atau statistika momen, seperti ukuran (luasan) objek
ditandai jumlah pikselnya, titik tengah, atau keliling dari komponen terhubung (He et al.,
2012).
Gambar sumber berupa gambar digital yang tersegmentasi merupakan tahap pada level
pemrosesan rendah (low-level processing). Sedangkan, hasil analisis berupa statistika momen
merupakan bagian dari level pemrosesan tinggi (high-level processing). Algoritma connected-
components labeling menjadikan metode yang wajib dilakukan pada transisi kedua tahap