## Deteksi dan Klasifikasi Citra Berdasarkan Warna Kulit Menggunakan HSV

## Jati Sasongko Wibowo
Program Studi Teknik Informatika, Universitas Stikubank email : jatisw@gmail.com

## Abstrak
Dalam  model  HSV  ( Hue  Saturation  Value )  ini  digunakan  untuk  segmentasi  warna  kulit manusia  dan digunakan untuk  mengklasifikasi  citra  khususnya  dalam  hal  klasifikasi gambar pornografi.  Pengelompokan  warna  kulit  manusia  ditunjukkan  dalam  ruang  lingkup  HSV. Dengan  menggunakan  sample  warna  kulit  campuran  warna  kulit  Eropa  dan  Asia,  sehingga dapat  menunjukkan  bahwa  model  prototipe  ini  dapat  digunakan  untuk  mendeteksi  gambar pornografi.
Kata kunci : Klasifikasi, HSV, Pornografi

## PENDAHULUAN
Dalam  beberapa  tahun  terakhir  gambar­ gambar  pornografi  banyak  sekali  beredar tertutama  di  internet  dimana  pertukaran  dan penyalahgunaannya terus meningkat.
Mengingat  keseriusan  dan  besarnya  masalah, diperlukan  penyediaan  teknologi  yang  dapat mendeteksi warna kulit manusia yang dominan pada  semua  gambar  pornografi.  Membedakan antara  deskripsi  dan  akurasi  warna  kulit manusia,  teknologi  harus  dapat  memisahkan píxel  warna  kulit  dari  warna  latar  belakang lain  dan  menyediakan  pengukuran  berapa banyak  konten  warna  kulit  dalam  gambar  dan berapa  banyak  yang  harus  dianggap  sebagai pornografi.  Teknologi  deteksi  warna  kulit manusia sebagian besar telah digunakan untuk pengolahan  gambar  dan salah satu pendekatan yang  paling  banyak  digunakan  menggunakan model histogram warna dan Hue ­ Saturation .

## Model HSV
Dasar  model  warna  RGB  (Red  Green  Blue) tidak  hanya  mewakili  warna  tetapi  juga intensitas  cahaya.  Pencahayaan  yang  berbeda­ beda pada warna kulit orang karena pencahayaan  yang  ada  disekitarnya.  Oleh karena  itu  perwakilan  langsung  dari  warna kulit  manusia  dengan  komponen  RGB  sangat efisien. Namun, model warna HSV transformasi  nonlinear  dari  ruang  lingkup warna  RGB  berorientasi  pada  pengguna  dan didasarkan  pada  pengertian  tint,  shade  dan thone.  Ini  memiliki  nilai­nilai  independen
untuk Hue , Saturation ,  dan Value ,  masing­ masing  sesuai  untuk  panjang  gelombang, eksitasi, dan kecerahan.

## Gambar 1. Sistem koordinat HSV
Pada gambar 1 menunjukkan sistem  koordinat HSV  sebagai  hexacone.  Dasar  hexacone berwarna  hitam  dengan  HSV  =  (0,  0,  0).  Jadi apabila menggunakan Model HSV warna kulit orang  Afrika  maka  di  sekitar  dasar  hexacone inilah  koordinatnya.  Meskipun  di  seluruh benua  Afrika  terjadi  variasi warna tetapi  tidak terlalu  menyimpang  jauh  dari  nilai  koordinat tersebut.  Kebanyakan  gambar  warna  dicatat sebagai (R, G, B). Warna didefinisikan oleh (R, G,  B)  di  mana  R,  G,  dan  B  dinormalisasi  dari 0.0  sampai  dengan  1.0,  dan  setara  dengan warna (H, S, V) yang ditentukan oleh suatu set formula.
MAX  merupakan  nilai  maksimum  dari  (R,  G, B),  dan  MIN  merupakan  nilai  minimum  dari model tersebut.
ï ï ï î ï ï ï í ì = - - + = - - + = - - = Max ifB x Min Max G R Max ifG x Min Max R B Max ifR x Min Max B G H , 60 240 , 60 120 , 60 ..(1) Max V Max Min Max
S = - = ; .........................(2)
Di  mana  H  bervariasi  dari  0  sampai  dengan 360, yang menunjukkan sudut dalam derajat, S dan V bervariasi dari 0.0 sampai dengan 1.0

## Segmentasi dan Clustering Warna Kulit
Dari  sebuah  gambar,  latar  belakang  sering menjadi  yang  dominan  dibandingkan  warna kulit.  Untuk  meningkatkan  peluang  warna kulit  normal  yang  dideteksi,  sebagian  besar nilai­nilai dominan (R, G, B) di latar belakang harus  dapat  ditentukan,  sehingga  dapat dihilangkan.  Demikian  pula  warna  hitam  dan putih langsung dihilangkan dari latar belakang gambar.  Hal  ini  terjadi  ketika  perbedaan  yang dominan  dan  paling  dominan  (R,  G,  B) ditetapkan  sama  dengan  nol.  Untuk  kasus  ini, Hue dan Saturation keduanya  diatur  ke  nol. Bagi  mereka  yang  non­hitam  dan  non­warna putih,  nilai­nilai  H  dan  S  adalah  dihitung. Saturation (S)  diperoleh  dengan  membagi perbedaan  antara  dominan  (maks)  dan  yang paling dominan (min) dari nilai r, g, b dengan nilai  dominant  (persamaan  2).  Demikian  pula, Value (V) = warna dominan (persamaan 2).
Untuk  memudahkan  pemahaman  tentang metode ini dengan menggambarkan bagaimana Hue dihitung.  Tingkat  dari Hue ditentukan  dengan  terlebih  dahulu  mencari nilai  dominan  di  antara  (R,  G,  B)  dan menghitung  nilai Hue berdasarkan  langkah­ langkah  berikut.  Jika  warna  dominan  adalah merah, maka:
60 min max x RGB RGB B
G
Hue - - = ………...…(3) Jika  warna  dominan  adalah  hijau  kemudian
Hue dihitung sebagai:
60 120
min
max x RGB RGB R B Hue - - + = …….(4)
Demikian pula, jika warna dominan Biru: 60 240 min max x RGB RGB G R Hue
- - + = ……(5)
Pertimbangan  ini  merupakan  ringkasan  dari persamaan (1).
Diketahui  bahwa  pola  distribusi  warna  kulit terletak  pada  daerah  yang  berbeda  dalam Euclidean  space  ketika  dianalisis  dalam Hue , Saturation dan Value . Informasi ini diubah  dan  ditingkatkan  untuk  memfasilitasi pendeteksian  kulit.  Sehingga  memaksakan kondisi  pada  batas  ruang.  Sebagai  contoh, membatasi  nilai Hue kurang  dari  atau  sama dengan 34 dan mengatur Saturation ke rentang 11 ≤ S ≤ 95.
Untuk  hasil  yang  ditunjukkan  dalam  hal  ini nilai  H  dan  S  yang  diterima  mewakili  warna kulit  manusia. Batas bawah diwakili  dengan S = 11.
Dua  batas  yang  ditentukan  oleh  nilai  H,  batas kiri  ditentukan  oleh  H  =  ­5  dan  batas  kanan oleh H = 30. Umumnya ­5 < H < 30, sehingga Hue untuk  rentang  warna  kulit  manusia  yang diamati terletak dalam jarak nilai 35.
Saturation terletak di sisi kiri dalam kisaran 11 sampai  sekitar  25,713  (yang  penyebaran  37) dan  dalam  batas  kanan  11  sampai  dengan 84,89.
Perangkat lunak sistem pengenalan mengembalikan sebuah nilai ‘benar’ dikatakan benar  ketika  kondisi  ini  terpenuhi  dan  ‘salah’ jika  kondisi  tidak  terpenuhi.  Hasil­hasil  ini diuji  dengan  gambar  yang  diperoleh  dengan kondisi tidak standar.
Perangkat  lunak  telah  mampu  membedakan antara latar belakang dan warna kulit.

## Deteksi  Gambar  Pornografi  Menggunakan HSV
Suatu program yang ditulis di Delphi untuk hal ini  hanya  dapat  menerima  format  gambar dalam bentuk BMP. HSV melakukan segmentasi  dengan  menggunakan  algoritma yang telah dijelaskan dalam bagian sebelumnya.  Software  menghitung  persentase warna  kulit  manusia  dalam  gambar  dan menghasilkan suatu
penilaian yang menunjukkan  bahwa  warna  kulit  (pornografi)
atau  yang  memiliki  tingkat  yang  dapat diterima konten warna kulit.
Dari semua  pisahan tiap  pixel baik itu  nilai H S V dibuat menjadi satu kolom untuk di hitung covariance  matriks  dan  standard  deviasi matriks serta mean dari tiap – tiap nilai H S V pada  satu  kolom  matriks  sample  image  dan satu kolom matriks image pembanding. Ketiga unsur  –  unsur  yang  dihitung  tersebut digunakan untuk mencari probabilitas kedekatan  di  kedua  image  terutama  bagian  – bagian  image  pembanding  dengan  sample image – nya.
Perhitungan  probabilitasnya  per  pixelnya adalah sebagai berikut :
÷ ø ö ç è æ - - - P = - - - ) ( ) ( 2 1 exp ) 2 ( 1 1 3 ) ( x x C x x C P T x ..(6)
Keterangan :
P ( x ) =  Probabilitas dari x C =  Covarian dari skin / background X =  H S V dari pixel
-
X =  Mean dari skin / background
Penggunaan  rumus  di  atas  dihitung  dengan kemungkinan  range  0  –  1  perhitungan mendekati  nilai  1  akan  diasumsikan  akan diberi  warna  putih  sedangkan  perhitungan yang  menjauhi  nilai  1  akan  diasumsikan  akan diberi warna hitam
Persentase  dari  pixel  konten  warna  kulit digunakan  sebagai  kriteria  untuk  menilai apakah  gambar  berisi  piksel  warna  kulit manusia  untuk  dinilai  sebagai  sebuah  gambar pornografi  atau  bukan. Jika  warna  kulit  piksel mendominasi  gambar  maka  gambar  tersebut digolongkan sebagai gambar pornografi.
Jika  pixel  warna  kulit  sampai  tingkat  antara 5%  sampai  dengan  20%  itu  menunjukkan gambar  tersebut  bukan  pornografi.  Jika persentase  pixel  warna  kulit  lebih  dari  20% sampai  dengan  50%,  itu  menunjukkan  bahwa gambar tersebut semi pornografi. Jika persentase pixel warna kulit lebih dari 50% itu menunjukkan  bahwa  gambar  tersebut  gambar pornografi.

## Bagan Alur Sistem Klasifikasi
Bagan  alur  sistem  klasifikasi  dimulai dari membuat image sample untuk warna kulit, dalam  hal  ini  menggunakan  warna  kulit  orang eropa  dan  asia.  Berikutnya  image  sample warna kulit dan image yang akan diklasifikasikan di convert dalam bentuk HSV. Setelah  kedua  image  di  convert  ke  dalam bentuk  HSV  kemudian  dibandingkan  ,  warna image  yang  mirip  dengan  warna  kulit  akan dibuat putih dan sebaliknya akan dibuat hitam. Dari  warna  putih  dan  hitam  yang  terbentuk kemudian dibandingkan, dan hasil perbandingannya akan menunjukkan prosentase dari klasifikasi. Gambar 2 menunjukkan alur sistem untuk klasifikasinya.

## Gambar 2. Bagan alur sistem klasifikasi

## Nilai HSV Image Sample Warna Kulit
Pada  bagan  alur  sistem  klasifikasi  ada  proses tentang  mengambil  sample  warna  kulit    yang kemudian  dari  sample  tersebut  kemudian diconvert  ke  dalam  bentuk  format  HSV. Sample  warna  kulit  diambil  dalam  format RGB  dengan  bentuk  file  BMP.  Pada  tabel  1 dibawah  ini  memperlihatkan  dari  sample warna  kulit  dalam  format  RGB  dan  hasil convert sample warna kulit dalam bentuk HSV.
Image dan Sample Warna Kulit

## Convert ke HSV

## Bandingkan Image dengan Sample
Warna Kulit
Warna yang mirip warna kulit = putih, sebaliknya = hitam
Bandingkan jumlah pixel warna putih dengan hitam
<20% bukan pornografi, 20­50% semi pornografi, >50% pornografi

## Tabel 1. Sample warna kulit dalam format RGB dan HSV
RGB Image  sample  warna kulit dalam model warna  RGB  dengan format bmp Nilai ( H )ue Nilai  yang  memiliki nilai  terang  dilakukan penggelapan nilai sehingga terlihat perbedaan yang mencolok Nilai ( S )aturation Pengecekan bagian mana  yang  memiliki kemurnian  warna  yang cukup tinggi Nilai ( V )alue Nilai  asli  pada  sample image yang dimiliki

## Nilai HSV Image Yang Akan Dideteksi
Seperti  halnya  pada  pengambilan  sample warna kulit sebagai pembanding dalam deteksi. Untuk  citra  yang  akan  dideteksipun  dilakukan hal  yang  sama  dengan  merubah  format  citra dari  RGB  ke  dalam  bentuk  HSV.  Berikut tabel 2 memperlihatkan citra yang akan diteksi dalam  format  RGB  dan  hasil  citra  yang  telah diconvert dalam format HSV.
Tabel 2. Citra yang akan dideteksi dalam
format RGB dan HSV RGB Image yang akan dideteksi  dalam  model warna  RGB  dengan format bmp Nilai ( H )ue Nilai  yang  memiliki nilai  terang  dilakukan penggelapan nilai sehingga terlihat perbedaan yang mencolok Nilai ( S )aturation Pengecekan bagian mana  yang  memiliki kemurnian warna yang cukup tinggi
Nilai ( V )alue
Nilai  asli  pada  sample image yang dimiliki

## Implementasi Program
Dari  alur  sistem  klasifikasi  pada  gambar  2 ketika  diterjemahkan  dalam  bentuk  program maka  akan  terlihat  seperti  pada  gambar  3. Secara umum dapat dijelaskan sebagari berikut pertama memasukkan sample warna kulit yang letaknya  pada  sudut  kiri  atas,  kemudian memasukan  citra  yang  akan  dideteksi  yang letaknya  pada  sebelah  kiri  di  bawah  sample warna kulit. Dari sample  warna kulit dan citra yang  akan  dideteksi  setelah  dimasukkan dilakukan convert ke  dalam bentuk HSV yang hasilnya  pada  bagian  tengah  program.  Untuk sample warna kulit bagian atas, dan untuk citra yang  akan  dideteksi  bagian  bawah.  Dalam format HSV sample warna kulit dan citra yang akan  dideteksi  dilakukan  pembandingan  yang hasilnya  dibagian  sebelah  kanan  bawah.  Dari hasil  pembandingan  dilakukan  pembandingan lagi  antara  warna  hitam  dan  putih  ke  dalam bentuk  matriks  yang  hasilnya  pada  bagian kanan  atas.  Dari  matriks  tersebut  kemudian dihitung prosentase untuk klasifikasi citra.
Gambar 3. Implementasi program
Salah  satu  prosedur  program  untuk menghitung matriks dari citra yang dideteksi: for j:=0 to gambar.Height­1 do begin temp := gambar.ScanLine[j]; i:=0;    writeln(M,' ');

## repeat
if temp[i] > 99 then write(M,inttostr(temp[i])+' '); if temp[i] >9 then if temp[i] <=99 then write(M,' '+'0' +inttostr(temp[i])); if temp[i] >=0 then if temp[i]<=9 then write(M,' '+'00' +inttostr(temp[i])); i:=i+1; if temp[i]=0 then nol:=nol+1 else dll:=dll+1; until i >= 3*gambar.Width­1; end ;
Prosedur untuk mencari nilai rata­rata HSV :
for i:= 0 to (skinhsv^.Width­1) do begin for j:=0 to (skinhsv^.Height­1) do begin iplGetPixel(skinhsv,i,j,buff); shmean := shmean + buff[1]; ssmean := ssmean + buff[2]; svmean := svmean + buff[3]; end ; end; shmean  :=  shmean  /  (skinhsv^.Width  * skinhsv^.Height); ssmean  :=  ssmean  /  (skinhsv^.Width  * skinhsv^.Height); svmean  :=  svmean  /  (skinhsv^.Width  * skinhsv^.Height); n := 0.375; for i:=  0 to (mimagehsv^.Width­1) do begin for j:=0 to (mimagehsv^.Height­1) do begin iplGetPixel(mimagehsv,i,j,buff); if ( (( (Abs(buff[1] ­ shmean) / shmean) + (Abs(buff[2] ­ ssmean) / ssmean) + (Abs(buff[3] ­ svmean) / svmean) ) /3) > n) then begin buff[1] := 0; buff[2] := 0; buff[3] := 0; iplPutPixel(mimagehsv,i,j,buff); end else begin buff[1] := 255; buff[2] := 255; buff[3] := 255; iplPutPixel(mimagehsv,i,j,buff); end ; end ; end ;

## Hasil Test Deteksi Program
Dari  program  yang  telah  dihasilkan  maka dilakukan  uji  coba  dengan  menggunakan beberapa  citra  lain.  Hasil  uji  coba  tersebut dapat  diketahui  citra  yang  termasuk  kategori bukan  pornografi,  semi  pornografi  dan pornografi.  Berikut  hasil  uji  coba  yang dilakukan dalam tabel 3.
Tabel 3. Hasil uji coba program dalam mendeteksi dan mengklasifikasi citra Input Image Output Image % Skin Decision 6.812 Bukan Pornografi 13.96 Bukan Pornografi 14.06 Bukan Pornografi 12.48 Bukan Pornografi 16.77 Bukan Pornografi 8.080 Bukan Pornografi 39.17 Semi Pornografi

## 35.25
Semi Pornografi

## 97.74 Pornografi

## KEKURANGAN
Latar  belakang  dengan  warna  yang  mirip warna  kulit  berdampak  pada  deteksi.  Latar belakang  dengan  mirip  warna  kulit  cenderung meningkatkan  jumlah  piksel  warna  kulit. Kecerahan gambar juga cenderung meningkatkan  jumlah  piksel  sebagai  piksel warna kulit.

## KESIMPULAN
Dalam  hal  ini  cara  mendeteksi  gambar pornografi  menggunakan  model  HSV  ( Hue Saturation  Value ).  Pendekteksian  dengan membandingkan  pixel  sample  image  warna kulit  dengan  image  yang  akan  dideteksi sehingga  diketahui  jumlah  pixel  warna  kulit pada  tiap  gambar.  Rentang  pixel  yang digunakan  0%  ­  20%,  21%  ­  50%  dan  51%  ­ 100%.  Hasil  deteksi  dikelompokkan  dalam tiga  kategori  yaitu  gambar  bukan  pornografi, gambar semi pornografi dan gambar pornografi.

## DAFTAR PUSTAKA
Gonzales  Rafael  C  and  Woods  Richard  E, 1992, Digital Image Processing,
Addison  Wesley  Publishing  Company, USA
Johnson  I  Agbinya,  Bernard  Lok,  Yeuk  Sze Wong  and  Sandro  Da  Silva,  2007, Automatic  Online  Porn  Detection  and Tracking , Faculty of Engineering,
University  of  Technology,  Sydney,  1 Broadway, Sydney
Fadliansyah,  2007,  Computer  Vision  dan
Pengolahan Citra, Andi Offset, Yogyakarta