• Tidak ada hasil yang ditemukan

1. Pendahuluan. 2.1 Peti Kemas. atau kesalahan yang dilakukan oleh manusia dalam mengenali kode peti kemas dan waktu pengenalan dapat dikurangi.

N/A
N/A
Protected

Academic year: 2021

Membagikan "1. Pendahuluan. 2.1 Peti Kemas. atau kesalahan yang dilakukan oleh manusia dalam mengenali kode peti kemas dan waktu pengenalan dapat dikurangi."

Copied!
11
0
0

Teks penuh

(1)

1

IMPLEMENTASI PENGENALAN KODE PETI KEMAS SECARA

OTOMATIS MENGGUNAKAN FITUR EIGEN

Mujiono

1

, Nanik Suciati

2

, Arya Yudhi Wijaya

3

Jurusan Teknik Informatika, Fakultas Teknologi Informasi

Institut Teknologi Sepuluh Nopember

Email:

korugane.808@gmail.com

1

ABSTRAK

Pengenalan kode peti kemas merupakan salah satu langkah penting dalam manajemen aliran peti kemas. Dewasa ini, pengenalan kode peti kemas masih dilakukan oleh manusia, sehingga rawan terjadi kesalahan dan membutuhkan banyak waktu. Masalah ini menimbulkan ketertarikan untuk melakukan sebuah penelitian yang menghasilkan sistem otomatis berbasis visi komputer yang memungkinkan pengenalan kode peti kemas secara otomatis.

Input sistem berupa citra peti kemas yang diproses melalui tahapan konstruksi model dan pengenalan kode peti kemas. Pada tahap konstruksi model dilakukan segmentasi menggunakan metode local thresholding. Selanjutnya, dilakukan ekstraksi area kode peti kemas berdasarkan fitur geometri kode peti kemas. Hasil ekstraksi setiap karakter digunakan untuk menyusun model fitur eigen dari citra training. Pada tahap pengenalan kode, dilakukan pemisahan baris kode peti kemas. Selanjutnya, setiap karakter dibaca dengan menghitung PCA Reconstruction Error terkecil.

Hasil uji coba menunjukkan bahwa metode yang diterapkan menghasilkan sistem otomatis dengan tingkat pengenalan kode yang tinggi dan waktu pengenalan kode yang singkat. Secara keseluruhan, sistem ini berpotensi untuk meningkatkan efisiensi terminal peti kemas serta meningkatkan manajemen aliran peti kemas. Kata kunci: pengenalan kode, segmentasi lokal, fitur geometri, model fitur eigen, principal component analysis

1. Pendahuluan

Dalam beberapa tahun terakhir, transportasi kapal perindustrian menjadi semakin berkembang di dunia internasional. Hal ini berbanding lurus dengan jumlah peti yang diangkut yang juga mengalami peningkatan. Peti Kemas atau yang dalam bahasa Inggris disebut sebagai Container adalah salah satu alat untuk mengemas barang sehingga diangkut dengan mudah menggunakan truk, kapal, atau pesawat terbang, terutama untuk lintas pulau atau lintas Negara[1].

Setiap peti kemas memiliki kode yang berisi informasi. Informasi yang disimpan dalam kode peti kemas antara lain : id pemilik, kategori, nomor seri, cek digit, kode ukuran, dan kode tipe peti kemas [2]. Untuk mengetahui informasi yang disimpan oleh peti kemas harus dilakukan pengenalan terhadap kode tersebut. Pengenalan kode peti kemas merupakan salah satu langkah penting dalam manajemen aliran peti kemas. Dewasa ini, pengenalan kode peti kemas masih dilakukan oleh manusia, sehingga rawan terjadi kesalahan dan membutuhkan banyak waktu dalam penerapannya.

Masalah ini menimbulkan ketertarikan untuk melakukan sebuah riset yang menghasilkan sistem otomatis berbasis visi komputer yang memungkinkan pengenalan kode peti kemas secara otomatis [1]. Input sistem yang berupa citra peti kemas dan diproses menggunakan metode-metode dalam pengolahan citra dan visi komputer, sehingga memungkinkan pengenalan kode peti kemas secara otomatis. Dengan sistem ini,

human-error atau kesalahan yang dilakukan oleh manusia dalam mengenali kode peti kemas dan waktu pengenalan dapat dikurangi.

2. Tinjauan Pustaka

2.1 Peti Kemas

Peti kemas (container) merupakan peti atau kotak yang memenuhi persyaratan teknis sesuai dengan International Organization for Standardization (ISO) sebagai alat atau perangkat pengangkut barang yang bisa digunakan diberbagai moda, mulai dari moda jalan dengan truk peti kemas, kereta api, dan kapal peti kemas laut seperti yang terlihat pada Gambar 2.1.

Gambar 2.1 Peti Kemas

Salah satu keunggulan angkutan peti kemas adalah intermodality dimana peti kemas bisa diangkut dengan truk peti kemas, kereta api, dan kapal peti kemas. Hal ini menyebabkan peralihan angkutan umum barang menjadi angkutan barang

(2)

2

dengan peti kemas menonjol dalam beberapa dekade terakhir ini. Hal ini juga terlihat pada pelabuhan-pelabuhan kecil yang sudah menunjukkan trend peralihan ke peti kemas karena alsan keekonomisan terutama dalam kaitannya dengan kecepatan bongkat muat dan biaya yang lebih rendah.

2.2 Kode Peti Kemas

Kode peti kemas merupakan barisan huruf baik itu abjad mapun numerik yang memiliki arti. Arti kode pada peti kemas berdasarkan ISO6346 (BIC) codes dapat dilihat pada Gambar 2.2.

Kode peti kemas terdiri dari dua baris kode, baris pertama terdiri dari sebelas karakter, dan baris kedua terdiri dari empat karakter. Sehingga sebuah peti kemas memiliki 15 karakter kode yang terdiri dari huruf dan angka.

Pada baris pertama, empat karakter pertama merupakan huruf dan tujuh karakter lainnya merupakan angka. Tiga karakter pertama menujukkan id pemilik dan karakter keempat menun jukkan kategori peti kemas. Karakter terakhir pada baris pertama menujukkan cek digit, dan karakter lainnya menujukan nomer seri peti kemas.

Pada baris kedua, dua karakter pertama dan karakter terakhir merupakan angka dan karakter ketiga merupakan huruf. Dua karakter pertama menujukkan kode ukuran peti kemas, karakter ketiga dan terakhir menujukkan kode tipe peti kemas.

Contoh kode peti kemas, ketentuan penulisan, dan arti dari masing-masing karakter yang memenuhi ISO, dapat dilihat pada Gambar 2.3 dan Tabel 2.1.

Gambar 2.2 ISO6346 (BIC) codes

Gambar 2.3 Kode peti kemas

Tabel 2.1 Ketentuan dan arti kode peti kemas berdasarkan ISO

Baris Pertama

Kode Karakter Arti

Tipe Karakter Tiga karakter pertama (YML) Id Pemilik Huruf Karakter keempat (U) Kategori Huruf Karakter terakhir (0) Cek Digit Angka Karakter yang lain (471645) Nomer Seri Angka

Baris Kedua Kode Karakter Arti

Tipe Karakter Dua karakter pertama (42) Kode Ukuran Angka Karakter ketiga (G) Kode Tipe Huruf Karakter terakhir (1) Kode Tipe Angka

2.3 Computer Vision

Computer Vision merupakan salah satu bidang ilmu yang sedang berkembang dewasa ini. Teknik-teknik yang dibahas dalam ilmu ini merupakan penggabungan dari beberapa bidang ilmu diantaranya Grafika Komputer dan Pengolahan Citra. Teknik-teknik tersebut digunakan untuk mengotomatisasikan dan memudahkan proses persepsi visual yang dilakukan melalui peralatan penangkap citra misalnya scanner dan kamera yang kemudian diinterpretasikan ke dalam informasi-informasi yang representatif [3].

Computer Vision dapat diterapkan pada beberapa permasalahan, antara lain: pengenalan objek (object recognition), analisis gerak (motion analysis), rekonstruksi adegan (scene reconstruction), dan perbaikan citra (image restoration). Computer Vision System menggunakan beberapa metode untuk menyelesaikan permasalahan tertentu. Metode-metode tersebut berupa akusisi citra (image acquisition), pra-pengolahan (pre-processing), ekstraksi fitur (feature extraction), pendeteksian, proses tingkat tinggi, dan penentuan keputusan [4].

2.4 Citra grayscale

Citra grayscale, yaitu citra yang nilai pixel-nya merepresentasikan derajat keabuan atau intensitas warna putih. Nilai intensitas paling rendah merepresentasikan warna hitam dan nilai intensitas paling tinggi merepresentasikan warna putih. Pada umumnya citra grayscale memiliki kedalaman pixel 8 bit (256 derajat keabuan), tetapi ada juga citra grayscale yang kedalaman pixel-nya bukan 8 bit, misalnya 16 bit untuk penggunaan yang memerlukan ketelitian tinggi.

(3)

3

Citra grayscale merupakan citra satu kanal, dimana citra f(x,y) merupakan fungsi tingkat keabuan dari hitam keputih, x dan y menyatakan variable kolom atau posisi pixel di garis jelajah. Intensitas f dari citra hitam putih pada titik (x,y) disebut derajat keabuan (grey level), yang dalam hal ini derajat keabuannya bergerak dari hitam keputih. Derajat keabuan memiliki rentang nilai dari Imin sampai Imax, atau Imin < f < Imax, selang

(Imin, Imax) disebut skala keabuan.

Biasanya selang (Imin, Imax) sering digeser

untuk alasan-alasan praktis menjadi selang [0,L], yang dalam hal ini nilai intensitas 0 meyatakan hitam, nilai intensitas L meyatakan putih, sedangkan nilai intensitas antara 0 sampai L bergeser dari hitam ke putih. Sebagai contoh citra grayscale dengan 256 level artinya mempunyai skala abu dari 0 sampai 255 atau [0,255], yang dalam hal ini intensitas 0 menyatakan hitam, intensitas 255 menyatakan putih, dan nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih. Citra grayscale dapat dilihat pada Gamabr 2.4(a).

2.5 Citra biner

Citra Biner yaitu citra yang hanya terdiri atas dua warna, yaitu hitam dan putih. Oleh karena itu, setiap pixel pada citra biner cukup direpresentasikan dengan 1 bit.

Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya dari citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap di butuhkan, misalkan citra logo instansi (yang hanya terdiri dari warna hitam dan putih). Citra biner dapat Gambar 2.4(b)

Alasan penggunaan citra biner adalah karena citra biner memiliki sejumlah keuntungan sebagai berikut:

• Kebutuhan memori kecil karena nilai derajat keabuan hanya membutuhkan representasi 1 bit. • Waktu pemrosesan lebih cepat di bandingkan

dengan citra hitam putih ataupun warna.

(a) (b)

Gambar 2.4 (a) citra lena grayscale (b) citra lena biner.

2.6 Local Thresholding

Tujuan digunakannya Thresholding adalah untuk mengkonversi dari citra grayscale ke citra biner (hitam-putih). Proses thresholding merupakan pengelompokan nilai derajat keabuan (gray level) dari setiap pixel ke dalam dua kelas yaitu hitam (memiliki nilai intensitas 0) dan putih (memiliki nilai intensitas 1). Oleh karena itu pengelompokan / pemetaaan setiap pixel pada citra ke dalam dua nilai yaitu 0 dan 1 dengan menggunakan fungsi thresholding:

(2.1)

Dalam hal ini fg(i,j) adalah citra gray, fB(i,j)

adalah citra biner/ hitam-putih, dan T adalah nilai threshold. Dengan operasi thresholding tersebut, objek kode peti kemas dibuat menjadi berwarna gelap (0 atau hitam) sedangkan latar belakang berupa pintu peti kemas menjadi berwarna terang (1 atau putih).

Local Thresholding atau adaptif threshold digunakan untuk mengkonversi citra grayscale ke citra biner dengan menggunakan nilai threshold yang berbeda pada region yang berberda pada citra. Metode ini dapat mencegah kekurangan pada metode threshold biasa (global thresholding) dimana perubahan tingkat kecerahan pada citra dapat menyebabkan beberapa bagian menjadi terlalu terang (daerah terang) dan beberapa bagian menjadi terlalu gelap (daerah gelap).

2.6.1 Metode Otsu

Proses binerisasi menghasilkan citra biner dengan memiliki dua nilai tingkat keabuan yaitu hitam dan putih. Permasalahan utama dalam proses binerisasi adalah menentukan nilai ambang (Threshold). Nilai ini digunakan untuk mempartisi citra gray scale kedalam dua nilai yaitu hitam dan putih. Penentuan nilai ambang yang ditetapkan pada suatu nilai tertentu (fixed threshold) sangat berisiko untuk diterapkan karena dapat menghasilkan citra biner yang kurang sempurna sehingga mempersulit proses selanjutnya.

Penentuan nilai ambang untuk proses binerisasi menggunakan metode Otsu mampu menghasilkan bentuk citra biner yang lebih konsisten untuk setiap citra yang dimiliki[7].

Tujuan dari metode otsu adalah membagi histogram citra gray level kedalam dua daerah yang berbeda secara otomatis tanpa membutuhkan bantuan user untuk memasukkan nilai ambang. Pendekatan yang dilakukan oleh metode otsu adalah dengan melakukan analisis diskriminan yaitu menentukan suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang muncul secara alami. Analisis Diskriminan akan memaksimumkan variable tersebut agar dapat membagi objek latardepan (foreground) dan

(4)

4

latarbelakang (background). Nilai Ambang yang akan dicari dari suatu citra gray level dinyatakan dengan k. Nilai k berkisar antara 1 sampai dengan L, dengan nilai L = 255.

2.7 Relasi Dasar antar Piksel

2.7.1 Ketetangaan (neighbors) dari suatu piksel

Sebuah piksel p pada koordinat (x,y) mempunyai empat tetangga vertikal dan horisontal, dimana koordinat tersebut dinyatakan oleh: (x-1,y), (x+1,y), (x,y-1), (x,y+1).Satuan piksel ini dinamakan 4-neighbors dari p yang dinotasikan dengan N4(p). Sedangkan empat tetangga diagonal p mempunyai koordinat: (x+1,y+1), (x+1,y-1), (x-1,y+1), (x-1,y-1). Satuan piksel dinamakan 8-neighbors dari p, yang dinotasikan dengan ND(p). Hubungan ketetanggaan antar piksel dapat dilihat pada Gambar 2.5.

2.7.2 Adjacency, Connectivity, Region, dan Boundary

Dua buah piksel dinyatakan terhubung jika kedua piksel tersebut adalah tetangga dan tingkat keabuannya mencukupi suatu ukuran similarity (tingkat keabuannya sama).

- Adjacency

V merupakan satuan nilai-nilai gray-level yang digunakan untuk menggambarkan adjacency. Untuk menetapkan V perlu dipertimbangkan tiga jenis adjacency, yaitu:

• 4-adjacency, dua piksel p dan q dengan nilai-nilai dari V adalah 4-adjacency jika q adalah bagian di dalam N4(p). Ilustrasi dapat dilihat pada Gambar 2.6 (a).

• 8-adjacency, dua piksel p dan q dengan nilai-nilai dari V adalah 8-adjacent jika q adalah bagian di dalam N8(p). Ilustrasi dapat dilihat pada Gambar 2.6 (b).

Hubungan Ketetanggaan antar Piksel

(a) (b) Gambar 2.6 (a) 4-adjacency, (b) 8-adjacency

- Connectivity

Jika S adalah subset dari suatu citra. Dua piksel p dan q dikatakan connected dalam S, jika terdapat path yang menghubungkan p dan q melalui piksel-piksel di dalam S. Untuk sembarang piksel p di dalam S, himpunan piksel yang connected dengan p di dalam S disebut connected component dari S. Jika hanya terdapat satu buah connected component, maka S disebut connected set. - Region

R merupakan suatu subset piksel di dalam sebuah citra yang dipanggil sebagai suatu region dari citra jika R merupakan suatu connected set.

- Boundary

Boundary dari sebuah region R adalah satuan piksel di dalam region yang mempunyai satu atau lebih tetangga yang tidak termasuk di dalam R.

2.8 Jarak antar Piksel

Setiap piksel pada sebuah citra memiliki jarak (distance) terhadap piksel lain. Terdapat beberapa metode untuk menghitung jarak antar piksel pada citra, antara lain :

• Euclidean Distance : (2.7) • City-Block Distance : (2.8) • ChessBoard Distance : (2.9)

2.9 Eigen values dan Eigen vectors

Sebuah matriks bujur sangkar dengan orde n x n misalkan A, dan sebuah vektor kolom X. Vektor X adalah vektor dalam ruang Euclidian

R

n yang dihubungkan dengan sebuah persamaan:

X

AX

=

λ

(2.10)

(x-1, y-1)

(x, y-1)

(x+1, y-1)

(x-1, y)

(x, y)

(x+1, y)

(x-1, y+1)

(x, y+1)

(x+1, y+1)

Gambar 2.5

(

) (

)

[

]

2 1 2 2 ) , (p q x s y t De = − + − t y s x q p D4( , )= − + −

(

x s y t

)

q p D8( , )=max − , −

(5)

5

Dimana adalah suatu skalar dan X adalah vektor yang tidak nol Skalar dinamakan eigenvalue dari matriks A. Eigenvalue adalah nilai karakteristik dari suatu matriks bujur sangkar. Vektor X dalam persamaan (2.10) adalah suatu vektor yang tidak nol yang memenuhi persamaan (2.10) untuk nilai eigen yang sesuai dan disebut dengan vektor eigen. Jadi vektor X mempunyai nilai tertentu untuk nilai eigen tertentu. Sehingga X dapat dikatakan sebagai eigenvector yang berkorespondensi dengan eigenvalue

2.10 Principal Component Analysis (PCA)

Dalam statistika, analisis komponen utama (principal component analysis / PCA) adalah teknik yang digunakan untuk menyederhanakan suatu data, dengan cara mentransformasi linier sehingga terbentuk sistem koordinat baru dengan varians maksimum. PCA dapat digunakan untuk mereduksi dimensi suatu data tanpa mengurangi karakteristik data tersebut secara signifikan.

Analisis komponen utama merupakan suatu teknik statistik untuk mengubah dari sebagian besar variabel asli yang digunakan yang saling berkorelasi satu dengan yang lainnya menjadi satu set variabel baru yang lebih kecil dan saling bebas (tidak berkorelasi lagi). Jadi analisis komponen utama berguna untuk mereduksi data, sehingga lebih mudah untuk menginterpretasikan data-data tersebut [8]. Analisis ini merupakan analisis antara dari suatu proses penelitian yang besar atau suatu awalan dari analisis berikutnya, bukan merupakan suatu analisis yang langsung berakhir. Misalnya komponen utama bisa merupakan masukan untuk regresi berganda atau analisis faktor.

Dilihat secara aljabar linier, komponen utama adalah kombinasi linier-kombinasi linier tertentu dari p peubah acak x1,x2,x3,….,xm. Secara

geometris kombinasi linier ini merupakan sistem koordinat baru yang didapat dari rotasi sistem semula dengan x1,x2,….,xm sebagai sumbu

koordinat. Sumbu baru tersebut merupakan arah dengan variabilitas maksimum dan memberikan kovariansi yang lebih sederhana. Sumber lain merumuskan bahwa PCA merupakan teknik linier untuk memproyeksikan data vektor yang berdimesi tinggi ke vektor yang mempunyai dimensi lebih rendah [9].

PCA lebih banyak digunakan untuk keperluan ekstraksi fitur citra, dimana jumlah dimensi dari citra jauh lebih besar dibandingkan dengan jumlah data sampel yang digunakan, untuk melakukan proyeksi sampel vektor dari citra pelatihan, setiap citra pelatihan disusun dalam bentuk vektor baris. Jika jumlah data pelatihan adalah sebanyak m, maka dimensi vektornya adalah mxn. Apabila vektor citra pelatihan mempunyai dimensi mxn tersebut diortogonalisasi

dengan menentukan eigenvector dan eigenvalue, maka dimensinya akan berubah menjadi mxm, dimana m<<n.

3. Perancangan Perangkat Lunak

3.1 Sistem secara umum

Perancangan proses dibutuhkan untuk mengetahui alur dalam penerapan metode yang digunakan dalam tahap implementasi. Proses utama yang diterapkan di dalam perangkat lunak dibagi menjadi dua tahap yaitu ekstraksi model dan proses pengenalan kode. Masing – masing proses terdiri atas beberapa tahap didalamnya. Dapat dilihat di Gambar 3.2

Pada Gambar 3.2 terdapat dua tahap yaitu tahap ekstraksi model dan tahap pengenalan kode. Ekstraksi model terdiri atas tiga proses, yaitu segmentasi local thresholding, ekstraksi karakter berdasarkan fitur geometri, dan penyusunan model fitur eigen. Pengenalan kode terdiri atas dua proses, yaitu pemisahan baris kode karakter, perhitungan minimal PCA reconstruction error.

Gambar 3.1 Dua tahap utama perangkat lunak

3.2 Tahap Ekstraksi Model

3.2.1 Segmentasi Local Thersholding

Proses segmentasi pada Tugas Akhir ini memperhatikan tiga properti intensitas pada citra peti kemas. Pertama, karakter-karakter yang mirip satu sama lain. Kedua, besarnya intensitas kontras yang mengelilingi karakter-karakter. Ketiga, kemungkinan pencahayaan yang tidak merata pada citra peti kemas. Berdasarkan tiga observasi ini, metode Segmentasi Local Thresholding dipilih untuk mensegmentasi citra peti kemas.

Metode ini dirancang berdasarkan distribusi intensitas ketetanggaan disetiap piksel pada citra. Citra grayscale peti kemas yang telah disebutkan sebelumnya menjadi input dari metode segmentasi lokal thresholding ini. Filter yang telah ditentukan ukurannya digunakan untuk memroses citra, setiap piksel yang dilalui oleh pusat filter dihitung

(6)

6

intensitas rata-rata dari piksel yang bertetangga yang masuk pada filter. Piksel tersebut diklasifikasi sebagai foreground, jika intensitasnya lebih kecil dari c persen dari rata-rata intensitas, dan sebaliknya diklasifikasi sebagai background.

Piksel yang termasuk foreground disebut sebagai FG. Ukuran filter yang dijalankan pada citra ditentukan sebasar 1/30 dari lebar citra input dan besarnya c adalah 0.08. Kriteria thresholding ini hanya cocok untuk citra peti kemas dengan daerah kode peti kemas lebih gelap dari daerah sekitarnya.

Kesalahan segmentasi dapat terjadi karena kesalahan klasifikasi ketika kode peti kemas dibaca sebagai background. Oleh sebab itu, perlu dibuat sebuah strategi pengecekan untuk mencegah hal ini. Pertama kali yang dilakuan yaitu melakukan segmentasi dengan metode Otsu [7] pada citra grayscale peti kemas dan membaginya kedalam dua cluster piksel C1 dan C2. Karena peti kemas melingkupi sebagian besar citra, maka dimasukkan kedalam cluster yang lebih besar (diasumsikan C1). Disamping itu, karakter-karakter kode dimasukkan kedalam cluster C2 karena memiliki perbedaan intensitas kontras dengan sekitarnya. Secara berurutan, dihitung intensitas rata-rata dari citra grayscale untuk C1 dan C2. Error terdeteksi pada segmentasi lokal jika intensitas rata-rata FG dan C1 lebih kecil dari FG atau C2. Sehingga harus mengubah kriteria dan memproses citra lagi. Kriteria dirubah menjadi piksel dengan rata-rata intensitasnya lebih besar dari tetangganya diklasifikasikan sebagai foreground, dan sebaliknya diklasifikasikan menjadi background.

Dengan proses pengecekan ini, akan didapatkan hasil segmentasi karakter-karakter kode peti kemas baik hitam maupun putih. Alur segmentasi local thresholding dijelaskan pada Gambar 3.2.

3.2.2 Ekstraksi Karakter Berdasarkan Fitur Geometri

Hasil segmentasi merupakan citra biner berupa daerah hitam (0) dan putih (1) dari citra peti kemas. Daerah hitam inilah yang nantinya akan digunakan untuk menemukan area kode peti kemas. Bagian-bagian peti kemas seperti pintu dan logo pemilik cenderung lebih mendominasi daerah hitam yang bercampur dengan area kode peti kemas. Untuk menentukan daerah hitam tersebut termasuk area kode peti kemas atau tidak

berdasar-Mulai Citra Grayscale Peti Kemas, WS = w/30, c Inisialisasi Blok Filter dengan tipe ‘Average’ berukuran WS

Memfilter Citra dengan Blok Filter

Binerisasi Citra Hasil Filter

Luas Daerah Hitam > Luas Daerah Putih Ubah Kriteria Background dan Foreground Citra Biner Peti Kemas Selesai Tidak Ya

Gambar 3.2 Diagram alir segmentasi Local Thresholding

kan properti geometri yang dimiliki oleh karakter-karakter kode peti kemas, seperti lebar, tinggi, keliling, dan luas. Jika nilai dari parameter suatu daerah diluar rentang yang diperkirakan secara empiris, maka bukan termasuk daerah kode, sebaliknya termasuk daerah kode peti kemas.

Untuk mengambil area karakter kode, maka dirancang algoritma grouping berdasarkan jarak (distance-based grouping). Untuk menghitung jarak antar piksel, digunakan jarak Euclidean. Berikut langkah – langkah algoritma distance-based grouping :

1. Beri label FALSE semua region dan set status groupingnya UNGROUP.

2. Set TRUE suatu region yang berlabel FALSE. 3. Jika ada region berlabel FALSE memenuhi

aturan sebagai berikut:

4. Jika ada non-zero piksel dalam region yang memiliki jarak Euclidean dengan non-zero piksel lain kurang dari 25 piksel, maka daerah yang diperiksa diberi label sebagai TRUE. 5. Ulangi langkah 3 sampai tidak ada lagi daerah

TRUE ditemukan.

6. Kelompokkan region TRUE & UNGROUP, dan set status groupingnya GROUP.

7. Ulangi langkah 2 sampai tidak ada region yang dapat dikelompokkan lagi.

Setelah dilakukan proses grouping, maka akan dihasilkan beberapa group, group yang merupakan area kode peti kemas adalah group yang memiliki lebar terbesar diantara group-group yang lain. Alur ekstraksi karakter berdasarkan fitur geometri dijelaskan pada Gambar 3.3. Alur algoritma distance-based grouping dijelaskan pada Gambar 3.4.

(7)

7 Mulai Pelabelan Piksel yang Terhubung Citra Biner Peti Kemas Pengecekan Fitur Geometri Region Piksel N 67 ≤ luas ≤ 720 5 ≤ lebar ≤ 30 21 ≤ tinggi ≤ 37 Filter Out Region Piksel Filter In Region Piksel Tidak N = 1 N = N + 1 Ya N = Total Region ? Tidak Hasil Ekstraksi Region Piksel yang

terdeteksi sebagai Kode Peti Kemas Ya

Selesai

Gambar 3.3 Diagram alir ekstraksi karakter berdasarkan

fitur geometri Mulai Citra Biner Hasil Ekstraksi Karakter

Untuk Semua Region : Label Region = FALSE, Grouping Status = UNGROUP Jarak Euclidean ≤ 25 Set Label Region Cek = TRUE Ya Set Arbitary FALSE

Region = TRUE Cek Region lain yang

berlabel FALSE

Kelompokkan Region True & Ungroup. Set Groupig Status = GROUP UNGROUP = 0 Tidak Area Kode = Group dengan Lebar Terbesar Ya Area Kode Karakter Peti Kemas Selesai UNGROUP = UNGROUP – 1

Gambar 3.4 Diagram alir algoritma distance-based grouping

3.2.3 Penyusunan Fitur Eigen

Degan menggunakan metode Segmentasi Local Thresholding, area karakter kode peti kemas secara otomatis dapat diekstrak dari citra peti kemas. Untuk setiap karakter huruf dan angka disusun model fitur eigen berdasarkan PCA untuk mengkarakterisasi variasi kemunculannya pada citra training yang berbeda. Pada proses kontruksi

model, citra biner hasil segmentasi dipisah satu sama lain untuk menghilangkan perbedaan pose. Hasil pemisahan antar karakter berfungsi sebagai sampel training yang berukuran 24x42 piksel, dinotasikan sebagai X = (x1, x2, ... , xi, xm-1, xm) dimana m merupakan jumlah sampel training. Setiap sampel training xi direpresentasikan sebagai vector satu dimensi (x1, x2, ..., xj, ..., xn-1, xn)

T , dimana xj merupakan nilai intensitas piksel ke-j pada sampel training dan n meruapakan jumlah piksel. Kemudian m sampel dirata-rata sampel untuk memperoleh nilai mean vector

x

, selanjutnya menghitung matrik kovarian C yang mengimplikasikan variansi setiap sampel training dengan mean vector. Dengan C diketahui dari persamaan:

(3.1)

Sehingga akan ditemukan eigenvalues (v1,

v2, ... , vi, ... , vn-1, vn ) dan eigenvector (u1, u2, ... ,

ui, ... , un-1, un) dari matrik kovarian. Kemudian, eigenvalue disusun dengan urutan terbesar sampai terkecil. Akhirnya, akan didapatkan fitur eigen yang dikarakterisasikan dengan meanvector dan eigenvector yang dapat digunakan pada tahap pengenalan kode peti kemas. Pada Tugas Akhir ini set fitur eigen dibedakan antara sampel training untuk karakter huruf dan karakter angka, sehingga terdapat dua set fitur eigen untuk karakter huruf dan karakter angka. Hal ini dilakukan untuk mempermudah pengenalan kode peti kemas yang memiliki ketentuan khusus.

Alur penyusunan model fitur eigen dijelaskan pada Gambar 3.5 dan 3.6.

Mulai Area Karakter Kode Peti Kemas Pelabelan Karakter Kode Set m Sampel Training Karakter Huruf (24x42 piksel) Set m Sampel Training Karakter Angka (24x42 piksel) X = (x1, x2, ... , xi, xm-1, xm) x = (x1, x2, ..., xj, ..., xn-1, xn)T 1

Gambar 3.5 Diagram alir penyusunan model fitur eigen

(8)

8 Matriks Kovarian Sampel Training Karakter Huruf Matriks Kovarian Sampel Training Karakter Angka Eigenvalues dan Eigenvectors Sampel Training Karakter Huruf Eigenvalues dan Eigenvectors Sampel Training Karakter Angka Sort Desc Eigenvalue

Set Fitur Eigen Sampel Traning Karakter Huruf (meanvector dan

eigenvector)

Set Fitur Eigen Sampel Traning Karakter Angka (meanvector dan

eigenvector)

Finish 1

Gambar 3.6 Diagram alir penyusunan model fitur eigen

(2)

3.3 Tahap Pengenalan Kode

3.3.1 Pemisahan Baris Kode Karakter

Kode peti kemas memiliki urutan tertentu dalam penyusunannya. Susunan karakter kode peti kemas memiliki arti yang dapat kita ketahui. Pembahasan arti kode peti kemas telah dijelaskan pada Bab 2. Untuk mengenali kode peti kemas, perlu ditekankan bagaimana urutan pengenalan kode peti kemas itu sendiri. Sehingga, digunakan metode pemisahan baris kode peti kemas agar proses pengenalan dapat berjalan sesuai yang diharapkan. Pada koleksi citra peti kemas, kode peti kemas terdiri dari dua baris dimana proses pembacaannya dilakukan dari kiri ke kakanan.

Jika pada proses pemisahan baris kode ini terdapat kesalahan, yaitu hanya dapat mendeteksi satu baris saja. Maka, perlu dilakukan strategi rotasi area kode peti kemas. Hal ini perlu dilakukan karena untuk melakukan proses pengenalan diperlukan masukan berupa dua baris kode peti kemas. Kesalahan tersebut dapat terjadi jika perangkat lunak tidak dapat mencari selang pemisah antarabaris pertama dan baris kedua.

Strategi rotasi area kode peti kemas dilakukan dengan cara mendeteksi sudut kemiringan antara karakter pertama dan karakter terakhir pada baris pertama menggunakan aturan cosinus. Rotasi dilakukan dengan arah berlawanan arah jarum jam dengan besar sudut rotasi diketahui pada persamaan 3.2.

(3.2)

Variable a,b, dan c merupakan panjang sisi pada sebuah segitiga yang dibentuk dari tiga titik, yaitu: koordinat karakter pertama, koordinat karakter terakhir pada baris pertama dan koordinat

Mulai Citra Biner Area Kode Peti Kemas Jumlah Baris Pengecekan = Jumlah Baris Input

Baris 1 = Area Piksel Diatas Selang Baris Piksel Hitam,

Baris 2 = Area Piksel Dibawah Selang Baris Piksel

Hitam Ya

Selesai Find Selang Baris Piksel Hitam antara Area Kode ?

Rotasi Area kode sebesar α Tidak

Gambar 3.7 Diagram alir pemisahan baris kode karakter

perpotongan tegak lurus antara koordinat karakter pertama dan karakter terkahir pada baris pertama. Sedangkan merupakan besar sudut rotasi yang dicari. Alur pemisahan baris kode karakter peti kemas dijelaskan pada Gambar 3.7.

3.3.2 Pengenalan Karakter Kode dengan

Minimal PCA Reconstruction Error

Pada tahap ini, pertama kali yang dilakukan adalah memisahkan karakter-karakter pada area kode peti kemas. Karakter-karakter yang telah dipisah dan tidak diketahui, masing-masing secara berurutan dibandingkan dengan semua fitur eigen, dan dikenali dengan menemukan model terbaik yang cocok dengan Minimal PCA Reconstruction Error.

Detail dari algoritma pengenalan kode karakter sebagai berikut :

• Langkah – Langkah

Langkah 1. Input unknown karakter Cunknown dan set fitur eigen.

– Langkah 2. Pilih Eigen-feature dan proyeksikan vektor karakter Cunknown

(3.3)

– Langkah 3. Rekonstruk karakter melalui proses proyeksi

(3.4)

– Langkah 4. Hitung reconstruction

error

– Langkah 5. Simpan nilai error dan kembali ke langkah 2 sampai semua karakter yang tidak diketahui

(9)

9

dibandingkan dengan semua template training berdasarkan model fitur eigen.

– Langkah 6. Pilih karakter dengan reconstruction error minimal sebagai hasil pengenalan Cunknown

Pencarian minimal PCA ercontruction error dilakukan pada setiap karakter yang didak diketahui dari input citra peti kemas terhadap semua sampel training beserta fitur eigen yang dibuat pada proses sebelumnya. Proses pengenalan dapat berjalan lebih akurat karena pengecekan terhadap karakter huruf dan angka dilakukan pada sampel training yang berbeda.

Alur Pengenalan Karakter Kode dengan Minimal PCA Reconstruction Error dijelaskan pada Gambar 3.8.

4. Uji Coba dan Analisa

4.1 Skenario Uji Coba

Pada bagian ini dijelaskan mengenai skenario uji coba yang akan dilakukan untuk mengetahui kemampuan perangkat lunak dalam mengenali kode peti kemas. Terdapat dua skenario untuk menguji sistem, antara lain:

1. Uji coba konstruksi model citra peti kemas.

2. Uji coba pengenalan kode peti kemas beserta akurasi keberhasilan pengenalan kode perkarakter.

4.1.1 Uji Coba Konstruksi Model

Uji coba konstruksi model berguna untuk mengetahui tingkat keberhasilan perangkat lunak dalam menghasilkan area kode peti kemas berupa lima baris karakter huruf dan angka. Untuk mendapatkan lima belas karakter tersebut, konstruksi model melalui dua proses utama, yaitu proses segmentasi Local Threshoding dan proses ekstraksi karakter berdasarkan fitur geometri.

Pada proses segmentasi local thresholding ditentukan oleh dua parameter utama yang berlaku untuk semua data uji coba[1]. Parameter pertama merupakan ukuran filter yang ditentukan sebesar w/30, w adalah lebar dari citra peti kemas. Parameter kedua merupakan konstanta c yang ditentukan sebasar 0.08.

Secara kualitatif dapat diukur tingkat keberhasilan perangkat lunak dalam memperoleh area kode peti kemas. Hasil uji coba konstruksi model dapat dilihat pada Tabel 5.1. Hasil uji coba yang ditampilkan adalah tujuh citra peti kemas dan hasil konstruksi modelnya.

Dari hasil uji coba konstruksi model terhadap data uji, secara kualitatif dapat digolongkan pada hasil yang bagus. Hal ini dikarenakan, dari seluruh uji coba semuanya meng-

Mulai

Selesai Baris Kode Peti Kemas, Model Fitur Eigen Karakter Abjad

dan Numerik Pelabelan Piksel Baris Baris = 1, Karakter Dikenali = “” Karakter Unknown = 1

Find Karakter Cocok = Minimal PCA Reconstruction Error

Karakter Unknown = Karakter Unknown + 1 End Of Baris ? Baris = Baris + 1 End Of Kode Peti Kemas ? Tidak Karakter Dikenali = Karakter Dikenali + Karakter Cocok Tidak Set Karakter Dikenali Ya Ya

Gambar 4.1 Diagram alir pengenalan karakter kode

dengan MinimalPCA Reconstruction Error

hasilkan area yang berupa karakter kode peti kemas.

4.1.2 Uji Coba Pengenalan Kode

Uji coba pengenalan kode bertujuan untuk mengetahui tingkat keberhasilan perangkat lunak dalam membaca karakter kode peti kemas. Secara kuantitatif dapat diukur tingkat akurasi keberhasilan pengenalan kode karakter. Tingkat akurasi keberhasilan diukur dengan Recognition Success Rate (RSR). RSR merupakan prosentase keberhasilan pengenalan kode peti kemas per karakter dari karakter huruf A-Z dan angka 0-9. Misalnya, karakter ‘G’ pada data uji terdapat sebanyak 59 karakter, dan jumlah yang berhasil dikenali adalah sebanyak 58 karakter. Maka, RSR untuk karakter ‘G’ adalah 58/59 atau 98.31%. Salah satu hasil pengenalan kode dapat dilihat pada Gambar 4.1. Keseluruhan hasil pengenalan kode untuk lima puluh empat data uji lainnya dapat dilihat pada Lampiran 2 buku Tugas Akhir. Hasil RSR dari seluruh data uji coba dapat dilihat pada Tabel 4.2.

Data RSR pada Tabel 4.2 menunjukkan prosentase akurasi pengenalan kode peti kemas per karakter. Prosentase akurasi pengenalan kode peti

(10)

10

kemas untuk masing-masing karakter huruf dan angka diatas 95 %. Nilai rata-rata RSR dari hasil percobaan pengenalan kode adalah 99.78 %. Hal ini menunjukkan bahwa perangkat lunak memiliki akurasi yang tinggi untuk mengenali kode peti kemas.

4.2 Analisa Uji Coba

4.2.1 Analisa Uji Coba Konstruksi Model

Pada uji coba konstruksi model, uji coba dilakukan pada lima puluh lima citra peti kemas. Tujuan uji coba ini untuk memperoleh ekstraksi area kode peti kemas. Dari hasil uji coba, secara kualitatif dapat diukur tingkat keberhasilan perangkat lunak dalam menghasilkan area kode peti kemas melalui proses kontruksi model. Dari lima puluh lima citra input, dapat dihasilkan area kode peti kemas dengan baik berupa citra biner area kode. Tingkat keberhasilan pendeteksi area kode peti kemas ini akan mempertinggi kemungkinan pengenalan kode peti kemas pada proses selanjutnya.

4.2.2 Analisa Uji Coba Pengenalan Kode

Pada uji coba pengenalan kode, proses pengenalan kode dilakukan pada citra biner hasil ekstraksi area kode peti kemas pada tahap konstruksi model. Tujuan uji coba ini untuk mengenali karakter yang merupakan kode peti kemas. Dari hasil uji coba, secara kuantitatif dapat diukur tingkat keberhasilan perangkat lunak dalam mengenali karakter kode peti kemas. Data hasil uji coba disajikan pada Tabel 4.2 berupa Recognition Success Rate (RSR) per karakter huruf A-Z dan angka 0-9. Data RSR menujukkan nilai rata-rata RSR 99.78 %. Data tersebut berarti perangkat lunak memiliki akurasi yang sangat tinggi dalam mengenali karakter kode peti kemas.

Kesalahan pengenalan terjadi pada pengenalan karakter huruf ‘G’ yang dikenali sebagai karakter ‘C’, dan karakter angka ‘9’ yang dikenali sebagai karakter ‘8’. Kesalahan pengenalan ini hanya terjadi satu kali dari 59 kali kemunculan karakter huruf ‘G’, dan satu kali dari 32 kali kemunculan karakter angka ‘9’.

5. Kesimpulan dan Saran

Berdasarkan aplikasi yang telah dibuat beserta uji coba yang telah dilakukan, maka dapat ditarik kesimpulan sebagai berikut.

1. Proses konstruksi model dipengaruhi oleh hasil segmentasi citra, dan nilai-nilai dari fitur geometri yang dimiliki karakter kode pada peti kemas. Semakin baik hasil segmentasi dan semakin spesifik fitur

geometri yang diterapkan, maka area kode peti kemas yang diperoleh semakin bagus. 2. Pengenalan kode peti kemas

menggunakan model fitur eigen memiliki akurasi yang baik (99.78%).

Adapun saran yang ingin disampaikan untuk pengembangan lebih lanjut dari Tugas Akhir ini, antara lain:

1. Untuk meningkatkan akurasi, dibutuhkan jumlah karakter training yang semakin beragam untuk setiap karakter huruf dan angka.

2. Penerapan proses pengenalan kode atau karakter dari sebuah citra dapat lebih dikembangkan, baik dari sisi citra yang semakin beraneka ragam maupun fungsi pengenalan kode atau karakter yang semakin luas.

Tabel 4.1 Hasil uji coba konstruksi model citra peti

kemas

No Citra Peti Kemas Hasil Konstruksi Model 1 2 3 4 5 6 7

(11)

11 Tabel 4.2 Recognition Success Rate (RSR) per Karakter

Karakter Jumlah Jumlah yang Berhasil RSR Kemunculan Dikenali A 5 5 100 % B 3 3 100 % C 10 10 100 % D 0 0 - E 1 1 100 % F 2 2 100 % G 59 58 98.31 % H 3 3 100 % I 3 3 100 % J 0 0 - K 10 10 100 % L 26 26 100 % M 24 24 100 % N 1 1 100 % O 35 35 100 % P 0 0 - Q 0 0 - R 2 2 100 % S 15 15 100 % T 4 4 100 % U 56 56 100 % V 0 0 - W 2 2 100 % X 0 0 - Y 9 9 100 % Z 5 5 100 % 0 40 40 100 % 1 103 103 100 % 2 121 121 100 % 3 39 39 100 % 4 68 68 100 % 5 42 42 100 % 6 27 27 100 % 7 42 42 100 % 8 36 36 100 % 9 32 31 96.88 % Rata-rata RSR 99.78 %

Gambar 4.1 Hasil Pengenalan Kode

6. Daftar Pustaka

[1] Chen, H.C., Chen, C.K., Hsu, F.Y., Lin, Y.S., Wu, Y.T. Sun, Y.N., “A Computer Vision System for Automated Container Code Recognition”, Directory of Open Journal, vol. 2188, pp. 470-474. 2011. [2] Container Handbook: Cargo loss prevention

information from German marine insurers, ch. 3.4. [Online].

Available:http://www.containerhandbuch.de /chb_e/stra/index.html?/chb_e/stra/stra_03_ 04_00.html

[3] Linda G. Shapiro and George C. Stockman. Computer Vision. Prentice Hall. 2001. [4] E. Roy Davies. Machine Vision : Theory,

Algorithms, Practicalities. Morgan Kaufmann. 2005

[5] Munir Rinaldi. Pengolahan Citra Digital dengan Pendekatan Algoritmik. Informatika Bandung. 2004.

[6] Rafael C. Gonzalez and Richard E. Woods. Digital Image Processing. 2nd ed. Prentice Hall. 2002.

[7] Nobuyuki Otsu. A threshold selection method from gray-level histograms. IEEE Trans. Sys., Man., Cyber. 9: 62–66. 1979. [8] Johnson R. A & Wichern D. W, Apllied

Multivariate Statistical Analysis, Prentice Hall Inc, New York, 1982

[9] M. Turk and A. Pentland, “Face recognition using eigenfaces” Proc. IEEE Conference on Computer Vision and Pattern Recognition, Maui, Hawaii, 1991.

Gambar

Gambar 2.1 Peti Kemas
Gambar 2.2 ISO6346 (BIC) codes
Gambar 2.4 (a) citra lena grayscale (b) citra lena biner.
Gambar 2.6 (a) 4-adjacency, (b) 8-adjacency
+7

Referensi

Dokumen terkait

Perbandingan persentase kenaikan kemampuan, baik pada kelas kontrol maupun kelas eksperimen dapat dilihat dari selisih rata-ratanya. Hasil uji perbandingan menunjukkan bahwa:

Namun, media pembelajaran yang saya gunakan terbatas hanya berupa media Microsoft office powerpoint dan terkadang saya juga menggunakan media audio visual berupa

Rencana Pengelolaan Perikanan, yang selanjutnya disingkat RPP, adalah dokumen resmi yang memuat status perikanan dan rencana strategis pengelolaan perikanan di

Berkaitan dengan permasalahan pertama, maka : 1) di antara tiga suratkabar sampel terdapat perbedaan dalam hal penonjolan isu tentang pembangunan daerah di Provinsi

Sementara, perbedaan tarif yang diberlakukan untuk negara anggota dan negara non-anggota dalam suatu kawasan perdagangan bebas mengubah arah kecenderungan perdagangan hingga

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a, huruf b dan huruf c, perlu membentuk Peraturan Daerah tentang Organisasi, Kedudukan dan Tugas Pokok

Dengan mengacu rujukan mengenai rekonstruksi pengetahuan sains asli menjadi pengetahuan sains ilmiah untuk membangun grounded theory dan mem- perkaya pengetahuan sains

Dalam penelitian tindakan kelas ini yang menjadi permasalahan adalah apakah motivasi belajar mahasiswa dapat ditingkatkan melalui pembelajaran model STAD di kelas