Deteksi Objek pada Citra Digital Menggunakan Algoritma Genetika untuk Studi Kasus Sel Sabit David Nagataries1), Stevanus Hardiristanto2), Mauridhi Hery Purnomo3)
Jurusan Teknik Elektro FTI – ITS
[email protected]),
[email protected]),
[email protected])
Abstract— Pada penelitian ini dikembangkan suatu sistem deteksi objek menggunakan konsep Bin Packing Problem (BPP). BPP merupakan suatu permasalahan pengisian ruang dalam sebuah kontainer. Suatu bentuk kontainer tentunya akan terisi penuh bila diisi dengan benda atau kombinasi beberapa benda yang memiliki bentuk sama dengan bentuk kontainer tersebut. Hal ini serupa dengan tujuan sistem deteksi dimana suatu objek akan dicocokkan dengan suatu template referensi. Masalah overlap yang umumnya dihindari dalam BPP dapat berubah menjadi sesuatu yang dapat dimanfaatkan dalam sistem deteksi. Lebih lanjut, dengan bentuk permasalahan kombinasional yang kompleks, algoritma genetika atau Genetic Algorithm (GA) dipilih sebagai algoritma pencari solusi. Beberapa modifikasi diterapkan pada desain GA untuk memenuhi bentuk sistem deteksi dengan konsep BPP. Pada riset ini, digunakan kasus pengujian berupa deteksi sickle cell pada citra sel darah yang diambil menggunakan mikroskop digital. Dari hasil pengujian, sistem deteksi ini dapat memperoleh nilai akurasi rata-rata lebih dari 70%. Pemilihan parameter GA yang sesuai dengan karakteristik objek dapat menghasilkan deteksi yang akurat. Kata Kunci — Algoritma Genetika, Bin Packing Problem, Deteksi Objek.
I. PENDAHULUAN Deteksi objek dalam digital image processing adalah suatu proses yang digunakan untuk menetukan keberadaan objek tertentu di dalam suatu citra digital. Proses deteksi tersebut dapat dilakukan dengan berbagai macam metode yang umumnya melakukan pembacaan fitur-fitur dari seluruh objek pada citra input. Fitur dari objek pada citra input tersebut akan dibandingkan dengan fitur dari objek referensi atau template. Hasil perbandingan tersebut dapat digunakan untuk menentukan apakah suatu objek terdeteksi sebagai template yang dimaksud atau tidak. Proses pembacaan dan perbandingan fitur objek umumnya mengalami kesulitan pada saat suatu objek berhimpit atau tertutup oleh objek lain dalam citra. Hal ini mengakibatkan dua objek tersebut terbaca sebagai satu objek dan berakibat pada hasil pembacaan fitur yang salah terutama saat suatu bagian objek tertutup objek lain. Kejadian ini juga dikenal sebagai permasalahan overlap pada digital image processing.
Referensi riset [1] menggunakan Genetic Algorithm untuk melakukan deteksi objek dengan template berbentuk lingkaran (circular). Proses deteksi dilakukan dengan cara memosisikan template lingkaran pada bagian objek. Dengan genetic algorithm, bentuk objek yang luas (akibat overlap) dapat tetap ter-’cover’ dengan kombinasi beberapa template berbentuk lingkaran. Penelitian ini bertujuan untuk mengembangkan metode deteksi objek berdasarkan template bebas (arbitrary shape) dengan fokus pada permasalahan overlap. Objek dalam kondisi overlap hanya dapat dikenali dengan membaca fitur yang tampak. Fitur yang efektif untuk digunakan dalam kasus ini adalah bentuk objek. Oleh karena itu, metode deteksi objek dalam penelitian ini akan menitik-beratkan pengenalan objek dari bentuknya. Bentuk permasalahan pengenalan objek berdasarkan bentuk tersebut mirip dengan bentuk permasalahan Bin Packing. Bin Packing Problem merupakan permasalahan pengisisan suatu kontainer dengan barang-barang tertentu hingga ruang di dalam kontainer terpakai secara efisien. Bila dihubungkan dengan permasalahan deteksi objek, kontainer dapat dianalogikan dengan objek yang akan diproses dan barang pengisi dapat dianalogikan dengan template. Dengan demikian penelitian ini akan mencoba menyelesaikan permasalahan deteksi objek dengan konsep penyelesaian Bin Packing Problem. Lebih lanjut, sistem deteksi objek dengan konsep Bin Packing Problem ini memperlukan suatu algorima untuk mencari solusinya. Riset-riset sebelumnya [2][3] menggunakan Genetic Algorithm untuk menyelesaikan permasalahan Bin Packing. Pada riset [2], Genetic Algorithm mampu memposisikan barang ke dalam kontainer dalam 1000 generasi. Namun, hasil pemosisian barang masih mengalami permasalahan overlap. Pada riset [3], desain Genetic Algorithm yang digunakan mampu menyusun barang-barang dengan bentuk tidak beraturan secara effisien di dalam kontainer berbentuk persegi. Dengan dasar riset-riset tersebut, penelitian ini menggunakan Genetic Algorithm untuk menyelesaikan permasalahan deteksi objek. Genetic Algorithm dalam program/sistem akan mengatur penempatan template dalam kontanier (gambar objek yang akan dideteksi). Dengan model Bin Packing Problem, permasalahan
overlap yang umumnya harus dimanfaatkan dalam sistem deteksi.
dihindari
dapat
II. DASAR TEORI A. Algoritma Genetika Klasik Algoritma genetika atau disebut juga dengan Genetic Algorithm (GA) merupakan suatu algoritma yang didasarkan pada model evolusi alam. Pada alam, setiap individu akan saling berkompetisi untuk dapat bertahan dengan aturan yang telah ditetapkan. Individu yang berkualitas (menurut aturan alam) akan bertahan dan berkembang biak. Sedangkan individu yang tidak dapat menyesuaikan kondisinya dengan alam akan dipaksa untuk berubah atau musnah. Pada umumnya, GA digunakan untuk menyelesaikan masalah optimasi diskrit. GA memiliki heurisitik yang baik untuk bentuk permasalahan kombinatorial. Ciri GA adalah adalah menitik beratkan perolehan solusi dengan cara rekombinasi (crossover). Genetic algorithm klasik (Classical GA) merupakan bentuk GA yang paling sederhana. GA modifikasi yang didesain khusus untuk menyelesaikan permasalahan tertentu umumnya didasarkan pada bentuk GA klasik. Berikut ini adalah bentuk pseudo-code Genetic algorithm klasik: Bangkitkan populasi awal, N individu-kromosom (inisialisasi) Loop hingga kondisi penghentian terpenuhi Dekodekan kromosom Evaluasi individu (penilaian) Seleksi individu (eliminasi) Rekombinasi dengan probabilitas tertentu Mutasi dengan probabilitas tertentu Generasi = Generasi + 1 End
Pada GA klasik, jumlah kromosom dalam setiap individu adalah tetap yaitu satu kromosom untuk satu individu. Inisialisasi populasi awal dilakukan dengan membentuk sejumlah individu (N) yang berisi kromosom random. Jumlah gen pada setiap kromosom juga berjumlah tetap. Format penulisan informasi dalam gen umumnya menggunakan bentuk bilangan biner, integer atau pengkodean lain yang disesuaikan dengan bentuk permasalahan yang akan ditangani. Tahap evaluasi individu dilakukan dengan memberikan nilai fitness value pada setiap individu berdasarkan solusi yang ditawarkan oleh individu tersebut. Bentuk perhitungan yang diterapkan pada tahap ini umumnya digunakan untuk mendefinisikan tujuan sistem, dimana individu (solusi) yang memenuhi tujuan akan mendapat nilai tinggi dan individu yang jauh dari tujuan akan mendapat nilai rendah. Karena dalam GA klasik 1 individu berisi 1 kromosom, maka fitness value dari individu juga dapat disebut fitness value dari kromosom dalam individu tersebut.
Fitness value dari setiap individu menentukan besar kemungkinannya untuk bertahan dalam tahap eliminasi. Bila suatu individu berhasil lolos dari tahap eliminasi, maka ia akan masuk ke tahap evolusi untuk membentuk generasi berikutnya. Tahap evolusi pada GA klasik menggunakan operasi rekombinasi dan mutasi. Rekombinasi atau crossover melibatkan 2 individu / kromosom untuk melakukan pertukaran gen seperti ilustrasi pada Gambar 2-1. Proses rekombinasi umumnya terjadi dengan probabilitas tertentu. Bila suatu individu / kromosom terpilih untuk melakukan rekombinasi maka ia perlu memilih partner. Pada penelitian ini, pemilihan partner dilakukan dengan metode roulette-wheel. Metode roulette-wheel memberikan probabilitas pemilihan yang proporsinal terhadap besar fitness value dari setiap individu individu / kromosom. Dengan kata lain, individu /kromosom yang memiliki fitness value besar akan semakin mungkin terpilih. Rekombinasi 1-point
cross point Rekombinasi 2-point (multi point)
cross point
Gambar 2-1 : Rekombinasi (Crossover)
Operasi mutasi pada GA klasik dilakukan dengan merubah nilai sebuah gen pada suatu kromosom. Mutasi umumnya terjadi dengan probabilitas yang jauh lebih kecil dari probabilitas kejadian crossover. B. GA Referensi Sistem deteksi pada referensi [1] dilakukan dengan menemukan lokasi objek yang dicari. Untuk menemukan lokasi objek tersebut, dilakukan penyebaran detektor berbentuk lingkaran. Target dari sistem deteksi adalah memposisikan lingkaran-lingkaran tersebut pada objek sehingga di dalam satu lingkaran terdapat satu objek yang dicari. Dalam hal ini GA berperan untuk mencari posisi yang tepat untuk setiap lingkaran. Dari riset [1] didapat hasil yang cukup optimal dengan parameter GA sebagai berikut: - Jumlah kromosom N=50. - Batas generasi T=50. - Probabilitas crossover Pc=80%. - Probabilitas mutasi Pm=8%. - Jumlah kromosom elite Pe=5. Penempatan lingkaran pada objek dapat mencapai akurasi 100% pada kasus yang diujikan [1]. Hal ini membuktikan
bahwa dengan efek randomisasi yang tidak terprediksi, GA mampu memberikan hasil yang akurat untuk model sistem deteksi [1]. Pada riset ini juga diketahui bahwa peningkatan nilai N dan T akan memberikan hasil GA yang lebih baik dan parameter Pm yang baik adalah sekitar 10%. C. Bin Packing Problem Pada Bin Packing Problem (BPP), sistem berusaha untuk mengisi ruang dalam sebuah kontainer dengan berbagai benda yang disediakan hingga suatu target tercapai. Target tersebut umumnya berupa penggunaan seluruh ruang dalam kontainer (kontainer penuh terisi). Suatu bentuk kontainer tentunya akan terisi penuh dengan mudah bila diisi dengan benda yang memiliki bentuk sama dengan bentuk kontainer tersebut. Kemungkinan pengisian lain adalah dengan beberapa benda yang dapat dikombinasikan menjadi bentuk yang sesuai dengan ruang kontainer tersebut. Konsep penyelesaian bin packing problem tersebut sangat mirip dengan proses deteksi atau pengenalan objek pada gambar, dimana suatu objek pada gambar input akan dicocokkan dengan template-template yang telah diketahui. Pengenalan bentuk objek dilakukan dengan meng-’isi’ objek tersebut dengan template yang ada. Kesamaan problem tampak terutama saat suatu objek menampung beberapa bentuk template sekaligus karena kasus overlap, sehingga objek tersebut harus di-’isi dengan sejumlah template untuk mengenalinya. Dari penjelasan tersebut, disimpulkan bahwa deteksi objek dapat diselesaikan menggunakan konsep Bin Packing Problem.
III. DESAIN DAN IMPLEMENTASI SISTEM A. Desain Umum Sistem didesain untuk menerima input berupa citra sel darah berwarna (RGB) dan gambar template yang akan digunakan sebagai acuan. Bentuk input tersebut perlu diproses lebih lanjut untuk mempermudah pembacaan/pemrosesan objek pada bagian genetic algorithm. Tahap-tahap proses deteksi objek ditunjukkan dalam Gambar 3-1. Setelah tahap pre-processing, sistem akan masuk ke tahap pemrosesan objek menggunakan genetic algorithm. Tahap pemrosesan objek ini menghasilkan output berupa lokasi (koordinat) gambar template, untuk menampilkannya (menggambarkan hasil deteksi) digunakan tahap post-processing.
CITRA SEL DARAH
TEMPLATE
PRE-PROCESSING KONVERSI BINARY IMAGE
OBJECT LABELING
GENETIC ALGORITHM UNTUK DETEKSI OBJEK
POST-PROCESSING
HASIL DETEKSI
Gambar 3-1 : Desain sistem
B. Pre-processing Langkah pertama dari tahap pre-rocessing adalah merubah gambar input ke bentuk binary image (gambar dengan nilai 0 dan 1). Konversi ini dapat dilakukan dengan beberapa metode thresholding (disesuaikan dengan karakteristik gambar input). Gambar input yang digunakan untuk pengujian dalam riset ini memiliki karakteristik intensitas objek yang berbeda jauh dengan intensitas backgroundnya dan bersifat homogen. Dengan kondisi tersebut, kami memutuskan untuk menggunakan metode global thresholding [1]. Operasi-operasi image enhancement dapat diterapkan pada tahap ini untuk menghasilkan bentuk binary image yang representatif terhadap bentuk objek aktual. Langkah berikutnya adalah proses object labeling. Proses ini dilakukan dengan memberikan nomor pada sekumpulan pixel objek yang terhubung secara 8connected, seperti ilustrasi pada Gambar 3-2. Setiap kumpulan objek yang terlabel akan di-‘crop’ dan dimasukkan ke dalam suatu bidang gambar berbentuk kotak dengan ukuran yang sama dengan bentuk objek. Proses ini bertujuan untuk memudahkan pembacaan setiap objek pada sistem deteksi (GA). Hasil proses object labeling ini dapat dilihat pada Gambar 3-3. Gambar 3-3b merupakan hasil cropping dari kumpulan pixel objek di tengah-tengah Gambar 3-3a. Dengan object labeling, hasil crop Gambar 3-3b yang masih mengandung objek lain dapat dibersihkan dengan memeriksa nomor objek yang bersangkutan. Hasil crop setiap kumpulan pixel objek tersebut akan diproses secara satu per satu oleh sistem deteksi (GA). Tahap pre-processing juga diterapkan pada setiap template referensi (benda pengisi kontainer). Tiap template referensi akan diberi nomor yang akan digunakan pada gen BTK dari kromosom GA untuk deteksi objek.
a : 4-connected
b : 8-connected INISIALISASI Set objek berikutnya
Penilaian fitness value generasi awal
Tidak
Kondisi penghentian tercapai ?
Ya
Seluruh objek terproses ?
Tidak
Ya
Eliminasi Selesai
Regenerasi - Evolusi
Gambar 3-2 : Ilustrasi proses object labeling Penilaian fitness value
Gambar 3-5 : Alur proses genetic algorithm
b
c
a Gambar 3-3 : Proses object labelling – object cropping
C. Genetic Algorithm untuk Deteksi Objek Desain GA sistem deteksi ini merepresentasikan satu solusi dalam bentuk satu individu yang dalam hal ini kami sebut dengan Entity. Sebuah entity dapat berisi sejumlah kombinasi kromosom, dimana satu kromosom merepresentasikan sebuah benda (template) yang ditempatkan di dalam kontainer (gambar objek). Dengan kata lain, jumlah kromosom dalam sebuah entity dapat berubah-ubah. Setiap kromosom menyimpan informasi (gen) berupa bentuk template yang digunakan (BTK / bentuk), sudut rotasi (SDT / sudut), besar gambar (SKL / skala) dan posisi penempatan template tersebut (X,Y). Setiap informasi tersebut dituliskan dalam format integer. Gambar 3-4 menunjukkan bentuk kromosom yang digunakan.
Kromosom
BTK SDT SKL
Y
X
Entity
.....
Gambar 3-4 : Entity - kromosom
Gambar 3-5 menunjukkan alur proses GA untuk deteksi objek.
Inisialisasi generasi awal dilakukan dengan mengisi sejumlah entity dengan satu kromosom. Tiap elemen (gen) pada kromosom awal tersebut ditentukan dengan hanya memilih bentuk template yang dapat masuk tepat di dalam objek atau dengan toleransi tertentu. Untuk melakukan hal ini, gen SKL dari kromosom awal akan diset pada nilai terkecil yang diperbolehkan untuk memperbesar kesempatan pemilihan seluruh bentuk template referensi. Gen BTK akan dipilih secara random. Sedangkan gen SDT, Y dan X ditentukan berdasarkan suatu catatan / list penempatan. Catatan / list penempatan tersebut berisi kombinasi rotasi (SKL) dan posisi (X dan Y) dari bentuk template tertentu yang memenuhi syarat penempatan (tepat berada di dalam luasan gambar objek atau dengan toleransi tertentu). Bila tidak terdapat bentuk template yang dapat ditempatkan ke dalam gambar objek, maka gambar objek tersebut dapat dianggap sebagai noise. Dalam hal ini, proses deteksi GA untuk objek (noise) tersebut akan langsung dihentikan dengan menset kondisi penghentian dan GA akan mengambil gambar objek berikutnya untuk diproses. Tahap penilaian fitness value (evaluasi) dilakukan untuk entity dan kromosom. Penilaian fitness value kromosom dilakukan berdasarkan efektivitas suatu kromosom untuk mengisi ruang / luasan gambar objek. Sedangkan penilaian fitness value entity dilakukan berdasarkan luasan gambar objek yang berhasil diisi dan sekaligus menjadi kriteria penghentian utama GA (sebagai target). Luas dalam hal ini dihitung dalam satuan pixel. Fitness Value Kromosom Penilaian fitness value kromosom dilakukan berdasarkan 4 kriteria dan dilakukan dalam lingkup satu entity. Kriteria pertama bertujuan untuk menghilangkan kromosom kembar (memiliki gen yang sama). Hal ini dilakukan dengan membaca seluruh bentuk kromosom dalam sebuah entity. Bila terdapat sekelompok kromosom
kembar, maka GA akan langsung mengeliminasi seluruh kromosom kembar dengan menyisakan satu kromosom dari kembaran tersebut. Kromosom yang dieliminasi akan mendapat nilai fitness value sebesar 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 dan tidak akan mendapat proses penilaian berikutnya. Kriteria yang kedua adalah jumlah luasan template yang berada didalam gambar objek (overlap antara luasan template dengan luasan gambar objek). Berikut ini adalah bentuk perhitungan yang digunakan: 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 𝐿𝐿 𝑖𝑖𝑖𝑖 100 × , 𝐿𝐿 𝑖𝑖𝑖𝑖 ≥ 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 ..... (3-1) � 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 , 𝐿𝐿 𝑖𝑖𝑖𝑖 < 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 Bobot penilaian adalah 100, dengan 𝐿𝐿 𝑖𝑖𝑖𝑖 sebagai luasan template yang berada tepat di dalam luasan gambar objek. Pembagian dengan luas template dimaksudkan agar populasi tidak didominasi oleh template-template berukuran besar. Bila suatu luasan template yang berada di dalam objek terlalu sedikit (lebih kecil dari suatu nilai 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 ), maka nilai fitness value akhir kromosom tersebut akan langsung diset kenilai 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣.
Kriteria ketiga adalah himpitan tepi (border) template dengan tepi objek. Bentuk perhitungan yang digunakan adalah sebagai berikut: 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 400 ×
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦 𝑏𝑏𝑏𝑏𝑏𝑏 ℎ𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡
.....(3-2)
Dengan bobot/skala yang tinggi (400), kriteria ini digunakan untuk mengarahkan sistem untuk membentuk solusi yang lebih terfokus pada bentuk objek (tidak hanya pada penutupan/pemenuhan ruang di dalam objek). Kriteria keempat adalah overlap antar template. Penilaian untuk kriteria ini dilakukan dalam dua bentuk. Perhitungan pertama melakukan penilaian berdasar jumlah lapisan overlap dengan template lain dengan bentuk sebagai berikut: 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 1 = 100 ×
𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗𝑗 ℎ 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘
( 𝑍𝑍 ×𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑎𝑎)– ∑𝑛𝑛 = 1
( 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑛𝑛 ∩𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑎𝑎)
𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑎𝑎
.....(3-3)
Bobot penilaian pertama adalah 100 dan menetralkan dominasi template berukuran besar. Nilai 𝑍𝑍 digunakan sebagai suatu toleransi jumlah lapisan overlap yang diperbolehkan. Perhitungan overlap kedua dilakukan berdasarkan luasan template yang tidak ter-overlap oleh template lainnya atau disebut dengan exclusive area. Bentuk perhitungannya adalah sebagai berikut: 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 2 = 100 × (
𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑎𝑎𝑟𝑟𝑟𝑟𝑟𝑟 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑎𝑎
− 0,5).....(3-4)
Bentuk peniliaian akhir untuk kriteria overlap adalah sebagai berikut: �
𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 = 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 1 + 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 2 , 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 > 0 .....( 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑢𝑢𝑢𝑢 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣, 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 0 3-5)
Bentuk penilaian (3-5) akan menghilangkan templatetemplate yang memiliki luasan tertutup total (completely overlapped) oleh template lain. Hal ini dilakukan dengan
menset nilai fitness 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣.
value
akhirnya
sebesar
Fitness Value Entity Fitness value entity digunakan sebagai kriteria penghentian operasi GA. Berikut ini adalah bentuk perhitungan yang digunakan: 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 = ∑𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 ℎ 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑓𝑓𝑓𝑓𝑓𝑓 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 ∩ 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜.....(3-6) 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 =
𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿
𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜
.....(3-7)
𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 didapat dengan mengabungkan/menjumlahkan seluruh luasan template yang memiliki fitness value lebih dari nilai 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 . Range nilai fitness value entity adalah 0 hingga 1. Proses optimasi GA akan dihentikan bila salah satu entity memiliki nilai fitness value yang sama atau lebih tinggi dari target yang ditentukan.
Eliminasi Sistem eliminasi diterapkan untuk skala kromosom (entity tidak mengalami eliminasi sehingga jumlahnya akan selalu tetap) dengan tujuan untuk menimbulkan kompetisi antar kromosom dan menjaga kualitas rata-rata kromosom di dalam entity. Sistem eliminasi ini juga dilakukan dengan batasan setiap entity harus berisi minimal satu kromosom. Digunakan dua variabel sebagai acuan eliminasi yaitu 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑡𝑡ℎ𝑟𝑟𝑟𝑟𝑟𝑟ℎ𝑜𝑜𝑜𝑜𝑜𝑜 dan 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣. Kromosom yang memiliki nilai fitness value sama dengan atau lebih kecil dari kedua variabel tersebut akan tereliminasi. Berikut ini adalah bentuk perhitungan 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑡𝑡ℎ𝑟𝑟𝑟𝑟𝑟𝑟ℎ𝑜𝑜𝑜𝑜𝑜𝑜: 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑡𝑡ℎ𝑟𝑟𝑟𝑟𝑟𝑟ℎ𝑜𝑜𝑜𝑜𝑜𝑜 = ∑𝑛𝑛
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘 𝑖𝑖
.....(3-8) 𝐴𝐴𝐴𝐴𝐴𝐴 × 𝑖𝑖=1 𝑛𝑛 Perhitungan tersebut mengambil nilai rata-rata fitness value dari seluruh kromosom yang berada di dalam suatu entity, dengan 𝑛𝑛 adalah jumlah kromosom pada entity tersebut. Dari rataan tersebut diberikan faktor pengali 𝐴𝐴𝐴𝐴𝐴𝐴 (average tolerance) yang digunakan sebagai faktor toleransi. Nilai 𝐴𝐴𝐴𝐴𝐴𝐴 sebaiknya menggunakan angka antara 0,5 hingga 1.
Regenerasi – evolusi Berikut ini adalah list operasi yang digunakan : 1. Breed new chromosome 2. Growth 3. Modified crossover 4. Mutation a. Soft mutation b. Harsh mutation Breed new chromosom melakukan operasi penambahan kromosom pada suatu entity. Operasi ini akan selalu berjalan pada tiap generasi untuk setiap entity. Proses pembentukan kromosom baru sama dengan proses
inisialisasi generasi yaitu dilakukan berdasarkan suatu catatan / list penempatan dengan SKL terkecil dan BTK random. Growth merupakan operasi yang melakukan penambahan nilai pada gen SKL. Hal ini berhubungan erat dengan nilai SKL awal dari seluruh kromosom yang diset ke nilai terendah. Kromosom yang berhasil masuk dalam generasi baru akan mengalami perkembangan. Operasi ini selalu berjalan pada tiap generasi untuk setiap kromosom. Operasi penambahan ini dilakukan dengan syarat setelah pembesaran skala, kondisi template harus tetap berada dalam toleransi (berada di dalam luasan gambar objek). Bila pembesaran tidak dapat dilakukan, maka operasi akan beralih ke pengurangan nilai SKL. Pada generasi berikutnya nilai SKL kromosom tersebut akan kembali ditingkatkan. Hal ini dimaksudkan untuk memberi kesempatan perubahan rotasi kecil (mutasi) pada saat SKL dikecilkan sementara. Model operasi crossover pada GA ini berbeda dengan model GA klasik. Crossover modifikasi ini dilakukan memasukkan kromosom baru yang dipilih dari suatu entity ke dalam entity lainnya. Operasi crossover modifikasi ini berjalan dengan probabilitas tertentu per entity. Bila suatu entity terpilih untuk melakukan crossover maka ia akan memilih kromosom lain yang akan diambil dari entity lainnya. Pemilihan entity dan kromosom partner ini dilakukan dengan metode roulette wheel. Operasi mutasi terbagi menjadi dua tipe yaitu soft dan harsh mutation. Soft mutation melakukan operasi mutasi dalam skala yang kecil dan dilakukan dengan syarat mutasi tersebut tidak menyebabkan sutau kromosom menyalahi toleransi. Operasi harsh mutation bekerja layaknya mutasi pada umumnya (dengan mengikuti batasan range nilai untuk setiap gen). D. Post-processing Tahap ini dilakukan untuk menggambarkan ulang hasil deteksi. Dari hasil akhir GA, dipilih entity yang memiliki fitness value terbaik dan dilakukan pembacaan terhadap setiap kromosom didalamnya. Sistem akan menggambarkan setiap informasi dalam kromosomkromosom tersebut pada sebuah bidang gambar output.
Gambar 4-1 : Gambar awal citra sel darah RGB[6]
Gambar 4-2: Hasil konversi citra sel darah
Dari perhitungan secara manual didapat data jumlah objek sebagai berikut: Jumlah normal cell = 54 Jumlah sickle cell = 4
A. Uji Desain Genetic Algorithm Pada tahap ini, diujikan 3 desain Genetic Algorithm (sistem deteksi). Berikut ini adalah bentuk desain setiap Genetic Algorithm yang diujikan: GA 1: 1. Inisialisasi Generasi sesuai desain. 2. Peniliaian kromosom sesuai desain, kecuali: a. Penilaian border tanpa toleransi (tanpa dilatasi) dan dengan bobot 100. b. Penilaian overlap hanya menggunakan bentuk pertama (𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 1). 3. Proses eliminasi sesuai desain. 4. Proses regenerasi-evolusi sesuai desain, kecuali: a. Tanpa operasi Growth. b. Mutasi hanya menggunakan Harsh mutation.
IV. PENGUJIAN DAN ANALISA Riset ini menggunakan kasus pengujian berupa deteksi sickle cell pada gambar sel darah yang diambil menggunakan mikroskop digital. Gambar 4-1 menunjukkan gambar input yang digunakan dan Gambar 4-2 menunjukkan hasil konversi binary image-nya.
GA 2: 1. 2.
3.
Inisialisasi Generasi sesuai desain. Penilaian kromosom sesuai desain, kecuali : a. Penilaian border tanpa toleransi (tanpa dilatasi). b. Penilaian overlap hanya menggunakan bentuk pertama (𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 1). Proses eliminasi sesuai desain.
4.
GA 3: 1. 2. 3. 4.
Proses regenerasi-evolusi sesuai desain, kecuali: a. Mutasi hanya menggunakan Harsh mutation.
Inisialisasi Generasi sesuai desain. Penilaian kromosom sesuai desain. Proses eliminasi sesuai desain. Proses regenerasi-evolusi sesuai desain.
Tiga desain Genetic Algorithm tersebut menggunakan parameter input yang sama. Berikut ini adalah parameterparameter yang digunakan: 1. number_of_entity = 20 2. maximum_generation = 100 3. entity_fitness_value_target = 0,8 4. size_tolerance = 0,35 5. template_fill = 1,0 6. maximum_overlaps = 2 7. elimination_threshold_limit = 0 8. 𝐴𝐴𝐴𝐴𝐴𝐴 = 0,85 9. Crossover chance = 50% 10. Soft mutation chance = 10% 11. Harsh mutation chance = 0,1% Template yang digunakan sebagai referensi dibagi menjadi dua kelompok yaitu kelompok sickle cell dan kelompok normal cell. Template referensi yang digunakan diambil dari objek dalam Gambar 4-2 sendiri. Dengan demikian tidak terjadi permasalahan skala/zoom. Dalam uji coba ini digunakan satu template untuk masing-masing kelompok seperti terlihat pada Gambar 4-3. Kelompok 1 – Sickle cell
Kelompok 2 – Normal cell
Gambar 4-3 : Template referensi
Tabel 4-1 dan 4-2 menunjukkan data ROC hasil pengujian: Tabel 4-1 : Analisa hasil uji coba desain sistem deteksi GA1
GA2
GA3
Sickle Detection True positive False positive True negative False negative
21 3 18 44 1
14 4 10 52 0
10 4 6 54 0
Normal Detection True positive False positive True negative False negative
81 47 34 8 7
62 43 19 9 11
64 45 19 4 9
Total generations Average generation
2453 37,7385
1324 20,3692
1054 16,2154
Tabel 4-2 : Precision – Recall (uji desain sistem deteksi) Sickle Precision Recall Accuracy Normal Precision Recall Accuracy
GA1
GA2
GA3
0,1429 0,7500 0,7121
0,2857 1,0000 0.8485
0,4000 1,0000 0.9063
0,5802 0,8704 0.5729
0,6935 0,7963 0.6341
0,7031 0,8333 0.6364
Desain GA1 memiliki akurasi deteksi sickle cell yang terendah diantara ketiga desain. Hasil output GA1 memberikan banyak deteksi yang terlalu ‘brutal’ dan jumlah overlap yang berlebihan. Pergerakan fitness value pada populasi GA1 cenderung konstan setelah beberapa generasi, hal ini diprediksi akibat persebaran kromosom defective yang tidak terkontrol. Bentuk penilaian pada GA1 kurang mampu mendefinisikan tujuan sistem dan berakibat pada kondisi populasi yang tidak terfokus pada tujuan deteksi. Desain GA2 mampu mendeteksi seluruh sickle cell aktual yang ada pada gambar input (recall 100%). Precision GA2 untuk sickle cell juga meningkat bila dibandingkan dengan GA1, namun masih dapat dikatakan rendah. Kondisi false positive GA2 lebih banyak terjadi akibat deteksi ulang terhadap sickle cell yang telah terdeteksi (1 sickle cell aktual terdeteksi sebagai 3-4 sickle cell). Hal ini diakibatkan proses penilaian overlap yang kurang efisien (tidak menggunakan bentuk perhitungan kedua). Bentuk penilaian border yang ketat pada GA2 umumnya mengakibatkan sistem semakin sulit untuk mencapai target (membutuhkan generasi berlebih). Namun dengan bantuan operasi growth GA2 justru menjadi jauh lebih cepat dibandingkan dengan GA1. Hal ini sekaligus membuktikan manfaat operasi growth dalam pencapaian target deteksi dengan memperkecil jumlah generasi total yang dibutuhkan oleh GA2. Pergerakan fitness value GA2 memasuki kondisi ‘statis’ pada nilai yang lebih dekat dengan target bila dibandingkan dengan GA1. Desain GA3 memiliki akurasi deteksi sickle cell yang terbaik dari dua desain lainnya. GA3 juga memiliki nilai precision yang terbaik untuk sickle dan normal cell. Jumlah deteksi normal cell GA3 dapat dikatakan hampir sama dengan GA1 dan GA3. False positive pada GA3 dapat dikatakan lebih baik dari GA1 dan GA2. Hal ini dapat dilihat pada deteksi sickle cell, kondisi false positive hanya terjadi akibat deteksi ulang terhadap objek sickle cell aktual. GA3 berhasil untuk tidak membaca bentuk lain diluar bentuk referensi yang diberikan. Total generasi yang dibutuhkan GA3 dalam proses deteksi merupakan yang terkecil. Hal ini didapat dari
bentuk penilaian yang tepat, operasi growth dan tambahan soft mutation. Desain soft mutation memungkinkan suatu entity untuk meningkatkan fitness valuenya tanpa mengacaukan atau bahkan mengulang kombinasi kromosom di dalamnya. Pergerakan fitness value pada GA3 lebih dinamis bila dibandingkan dengan GA1 dan GA2, hal ini menunjukkan efektivitas operasi soft mutation. B. Uji Parameter Genetic Algorithm Pada tahap ini akan dilakukan pengujian parameter genetic algorithm dengan gambar input dan template referensi yang sama dengan pengujuan desain GA. Pengujian parameter ini dilakukan menggunakan desain GA3. Pilihan desain ini didasarkan pada hasil pengujian sebelumnya dimana desain GA3 dinilai sebagai desain yang terbaik dari dua desain lainnya. Pengujian ini menggunakan tiga kelompok parameter pada Tabel 4-3. Tabel 4-3 : Tiga kelompok parameter yang diujikan GA 3α GA 3β GA 3γ 20 20 30 number_of_entity 100 100 150 maximum_generation 0,8 0,85 0,75 entity_fitness_value_target 0,35 0,3 0,35 size_tolerance 0,5 1,0 1,0 template_fill 2 2 3 maximum_overlaps 0 0 elimination_threshold_limit 0 0,85 0,85 0,8 𝑨𝑨𝑨𝑨𝑨𝑨 50% 80% 50% Crossover chance 10% 30% 10% Soft mutation chance 0,1% 1% 0,1% Harsh mutation chance
Tabel 4-4 dan 4-5 menunjukkan data ROC hasil pengujian. Tabel 4-4 : Analisa hasil uji coba parameter GA3α
GA3β
GA3γ
Sickle Detection True positive False positive True negative False negative
7 2 5 48 2
10 4 6 54 0
16 4 12 49 0
Normal Detection True positive False positive True negative False negative
89 49 40 0 5
65 44 21 4 10
73 46 27 4 8
Total generations Average generation
318 4,8923
1598 24,5846
587 9,0308
Tabel 4-5: Precision – Recall (uji parameter) Sickle Precision Recall Accuracy Normal Precision Recall Accuracy
GA3α
GA3β
GA3γ
0,2857 0,5000 0.8772
0,4000 1,0000 0.9063
0,2500 1,0000 0.8154
0,5506 0,9074 0.5213
0,6769 0,8148 0.6076
0,6301 0,8519 0.5882
V. PENUTUP A. Kesimpulan Sistem deteksi menggunakan genetik algorithm (GA3) ini dapat mencapai nilai akurasi rata-rata 73,23% pada pengujian deteksi sickle cell. False positive pada hasil deteksi umumnya dikarenakan deteksi berulang untuk suatu objek yang sama. Pemilihan beberapa parameter GA pada sistem deteksi ini sangat bergantung dari karakteristik objek yang akan dideteksi. Berikut ini adalah poin-poin utama yang dapat digunakan sebagai acuan pemilihan parameter: 1. number_of_entity : Jumlah minimal yang diperlukan untuk deteksi yang baik adalah sejumlah template referensi yang digunakan. Semakin besar jumlah entity yang digunakan, semakin tinggi akurasi deteksi. Untuk kasus yang diujikan pada penelitian ini, jumlah entity terbaik adalah 20. 2. maximum_generation : Nilai yang besar dapat memungkinkan populasi untuk mencapai fitness value yang lebih tinggi. Hal ini berarti peningkatan batas generasi dapat meningkatkan hasil deteksi. Namun batas generasi yang terlalu besar dapat menyebabkan sistem berjalan terlalu lama akibat pergerakan fitness value yang mulai statis. Fitness value statis dapat diakibatkan populasi yang gagal membentuk solusi atau akibat bentuk objek yang tidak sesuai dengan referensi. Nilai template maximum_generation sebaiknya dikoordinasikan dengan probabilitas mutasi dan crossover. Untuk kasus yang diujikan pada penelitian ini, batas generasi terbaik berkisar antara 100 hingga 1000. 3. entity_fitness_value_target : Nilai yang optimal untuk digunakan adalah 0,70 - 0,85. Nilai yang terlalu rendah mengakibatkan deteksi kurang akurat terhadap bentuk objek keseluruhan. Sedangkan nilai yang terlalu tinggi dapat mengakibatkan peningkatan jumlah generasi tanpa peningkatan kualitas deteksi. 4. size_tolerance : Bergantung dari karakteristik objek yang akan dideteksi. Untuk
kasus yang diujikan pada penelitian ini, nilai terbaik adalah 0,2 hingga 0,4. 5. template_fill : Untuk objek dengan bentuk tanpa lekukan yang tajam, disarankan menggunakan nilai 0,8 hingga 1,0. Namun untuk objek dengan lekukan tajam (misal berbentuk zigzag), disarankan menggunakan nilai di bawah 1,0. 6. maximum_overlaps : Bergantung dari permasalahan deteksi. Dapat menggunakan nilai 2 – tak terhingga. Nilai batas overlap 1 dapat mengakibatkan efek negatif yang besar pada nilai fitness value total kromosom. Oleh karena itu, bila menggunakan nilai 1 maka parameter 𝐴𝐴𝐴𝐴𝐴𝐴 harus mengimbangi bentuk persaingan overlap yang ketat. 7. elimination_threshold_limit : Disarankan menggunakan nilai 0. Namun dapat diubah sesuai dengan kebutuhan deteksi dengan batas nilai 700. 8. 𝐴𝐴𝐴𝐴𝐴𝐴 : Nilai terbaik adalah 0,8 – 0,85. Namun dapat diubah sesuai kebutuhan deteksi dengan batas minimum 0,1. 9. Crossover chance : Nilai terbaik adalah 50% (untuk batas generasi 100). 10. Soft mutation chance : Nilai terbaik adalah 10% (untuk batas generasi 100). 11. Harsh mutation chance : Nilai terbaik adalah 1% (untuk batas generasi 100). B. Saran Pengembangan selanjutnya dapat menambahkan elemen grayscale dari objek-template dalam proses penilaian fitness value. Deteksi dapat menjadi lebih akurat dengan referensi warna grayscale dari template dan objek. Hal ini membutuhkan perhitungan ulang komposisi bobot antara kriteria penilaian yang telah ada. Sistem deteksi ini dapat dikembangkan lebih lanjut untuk mendeteksi objek 3 dimensi. Hal ini memperlukan
perubahan bentuk kromosom yang menapung gen koordinat X,Y dan Z. Demikian pula dengan rotasi terhadap sumbu X,Y dan Z. Untuk deteksi objek 3 dimensi ini disarankan menggunakan array 3 dimensi sebagai pengganti bidang gambar 2 dimensi yang digunakan.
VI. REFERENSI [1] G.Karkavitsas, M.Rangoussi, "Object localization in medical images using genetic algorithms,“ International Journal of Signal Processing, vol. 1, No. 4, pp. 204-207, 2005. [2] Armando Ponce-Pérez, Arturo Pérez-Garcia, Victor Ayala-Ramirez, "Bin-Packing Using Genetic Algorithms," conielecomp, pp.311-314, 15th International Conference on Electronics, Communications and Computers (CONIELECOMP'05), 2005 [3] Mei Ying, Zhu Liangsheng, Ye Jiawei, "An Improved Immune Genetic Algorithm for Solving the Packing Problem in the Hull Construction Automatic Packing System," iitaw, pp.464-467, 2009 Third International Symposium on Intelligent Information Technology Application Workshops, 2009 [4] Otsu, N., "A Threshold Selection Method from GrayLevel Histograms," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66. [5] Gonzalez, R. C., Woods, R. E., and Eddins, S. L. [2004]. Digital Image Processing Using MATLAB, Prentice Hall, Upper Saddle River, NJ. [6] http://imagebank.hematology.org/default.aspx [7] MATLAB version 7.11.0.584. Natick, Massachusetts: The MathWorks Inc., 2010.