I Made Edy Listartha, Gede Indrawan, Kadek Yota Ernanda Aryanto. (2017). Pemetaan Aktifitas Konsumen Toko Menggunakan Metode Background Subtraction . International Journal of Natural Science and Engineering. Vol.1 (2) pp. 48-55.

## PEMETAAN AKTIFITAS KONSUMEN TOKO MENGGUNAKAN METODE BACKGROUND SUBTRACTION
I Made Edy Listartha 1 ,*, Gede Indrawan 2 , Kadek Yota Ernanda Aryanto 3
1 Universitas Pendidikan Ganesha
2 Universitas Pendidikan Ganesha
3 Universitas Pendidikan Ganesha

## Abstrak
This  study  aims  to  heat  mapping  the  consumer’s  movement  using  background subtraction  techniques.  The  mapping  is  built  using  the  coordinate  information obtained  from  the  consumer  location  that  detected  from  the  video  where  the separation  of  the  consumer  object  and  the  background  is  done  by  background subtraction  technique.  Tests  were  performed  on  eleven  video  of  consumer  data activity that have different activity characteristics that were created using Microsoft PowerPoint  application.  Simulated  activities  include  walking  straight,  staying, walking  back  to  the  path  that  had  been  passed,  pacing,  disturbance  from  another object,  the  influence  of  color,  the  consumer  walks  meet  and  coincide  with  other consumers. From the test of video discovery is obtained accuracy of 96.07% for the detection process of consumer movement, where the lack of detection process occurs due to the absence of techniques used to perform the introduction of characteristics of  consumer  objects.  The  mapping  process  is  very  much  in  line  with  the  number  of coordinates generated in the motion detection process, but the inaccurate detection of movement in the entrance and exit areas makes the coordinates high. By filtering with Region of Interes (ROI) in the survey area, creating disturbances in the area of doors and areas with objects that produce movements other than consumers can be eliminated.

## PENDAHULUAN
Pembangunan  pemetaan  konsumen  di  dalam  toko  secara  visual  dapat  mempresentasikan informasi  mengenai  prilaku  pola  berkeliling  konsumen  dan  melihat  efektivitas  dari  penataan  ruang  di dalam toko (Tickto, 2015). Informasi visual ini dipresentasikan dengan menggunakan variasi warna yang berbeda-beda, yang dimana setiap warna akan memiliki arti yang berbeda atau menggambarkan adanya nilai yang berbeda untuk setiap data yang berbeda dalam hasil pemetaannya (Deu-Pons, Schroeder dan Lopez-Bigas, 2014).
Dalam membangun pemetaan ini, kita dapat memanfaatkan sumber data dari kamera pengawas yang umumnya terpasang pada toko. Nantinya, data mengenai pergerakan setiap konsumen akan diambil pola  berkelilingnya  dan  kemudian  dibangun  pemetaannya.  Namun  proses  pengambilan  informasi pergerakan konsumen ini tidaklah mudah (Breimer, Cotler dan Yoder, 2012). Karena sumber data adalah data video, diperlukan adanya metode yang dapat memisahkan setiap elemen pada setiap gambar dalam video dan hanya mengambil elemen (gambar konsumen) yang di perlukan.
Pemisahan ini nantinya akan memanfaatkan metode Background Subtraction karena merupakan metode  yang  disara  tepat  digunakan  untuk  mendeteksi  objek  bergerak  pada  video  dari  kamera  statis ( stationary  camera )  (Solichin  dan  Harjoko,  2013).  Proses  deteksi  objek  bergerak  dengan  metode background subtraction didasarkan pada perbedaan antara background referensi dengan frame (Irianto, Ariyanto dan P, 2009). Noise yang ditimbulkan dalam proses pemisahan ini akan di saring dengan proses threshold citra  dan  operasi  morfologi  untuk  memperbaiki  citra  yang  terganggu  dari  proses  pemisahan tersebut.
Dalam  pengujiannya  nanti,  penulis  akan  membuat  beberapa  video  simulasi  lingkungan  toko dengan  menggunakan  aplikasi  Microsoft  PowerPoint  yang  dimana  aplikasi  ini  dapat  digunakan  untuk membangun animasi sederhana (Microsoft, 2017).
Keywords: object tracking, object heat mapping
Dalam  penelitian  ini  yang  menjadi  rumusan  masalah  adalah  tentang  bagaimana  implementasi teknik Backgroung  Subtraction dapat  mengenali  objek  yang  bergerak  dan  mengikutinya.  Kemudian tentang bagaimana proses pembentukan heatmap lalulintas pengunjung toko berdasarkan pelacakan yang dilakukan. Berdasarkan rumusan masalah di atas, adapun tujuan yang ingin dicapai dalam penelitian yaitu memanfaatkan teknik Background Subtraction dalam mengenali objek yang bergerak dan mengikutinya. Kemudian membuat heatmap dalam toko untuk mendapatkan lokasi lalulintas pengunjung. Batasan masalah yang dibahas dalam penelitian ini diantaranya adalah metode yang digunakan dalam  melacak  pergerakan  objek  menggunakan Background  Subtraction dan  Operasi  Morfologi. Kemudian  pengenalan  objek  hanya  untuk  mengetahui  lokasi  dan  pergerakannya,  tidak  dilakukan identifikasi  terhadap  objek  tersebut  maupun  aktivitas  lainnya.  Selain  itu  kamera  diletakkan  pada lingkungan statis.

## METODE PENELITIAN
Penelitian dan pengembangan yang dilakukan adalah untuk menghasilkan produk algoritma analisa pola  berkeliling  pembeli  di  dalam  sebuah  toko  dan  mendapatkan heatmap (pemetaan)  dari  setiap  area. Penelitian ini akan dibagi menjadi beberapa tahapan, setiap tahapan akan membantu menentukan hasil yang  sesuai  dengan  tujuan  penelitian.  Tahapan  yang  digunakan  digambarkan  dengan flowcart sesuai dengan gambar berikut:
Gambar 1. Tahapan Penelitian.
Studi  literatur  dilakukan  untuk  mengkaji  penelitian-penelitian  yang  pernah  dilakukan  yang berkaitan  dengan Background  Subtraction ,  Operasi  Morfologi  dan  teknik-teknik  yang  berkaitan  dalam mendapatkan informasi mengenai lokasi objek pada gambar dan membaca pola pergerakan pada gambar. Untuk  karakteristik  data  yang  dibuat  adalah  berjalan  lurus,  berdiam  pada  suatu  lokasi  saat  berkeliling, berjalan kembali ke jalur yang pernah di lewati, mondar-mandir pada rak produk tertentu seperti mencari barang,  adanya  objek  lain  yang  menghasilkan  gerakan  seperti  kipas  angin  dan  layar  tampilan  produk, konsumen  menggunakan  warna  pakaian  yang  sama  dengan  latar  warna  toko,  konsumen  berjalan berpapasan dan berbarengan dengan konsumen lain.
Proses pendeteksian objek bergerak memerlukan beberapa proses hingga mendapatkan hasil yang diinginkan. Untuk pendeteksian ini, akan dilakukan proses-proses sebagai berikut:
Gambar 2. Tahapan Deteksi Objek Bergerak.
Proses ekstraksi ini dilakukan untuk memperoleh gambar-gambar ( frame) dari data video sesuai dengan FPS ( frame per-second). Setiap gambar ini nantinya akan di dibandingkan pada proses background subtraction untuk  mendapatkan  objek  yang  bergerak.  Pada  bahasa  pemrograman  Python  yang terintegrasi dengan OpenCV 3.2, fungsi ini dilakukan pada perintah cv2.read() . Hal ini dilakukan karena algoritma proses background subtraction memerlukan masukan gambar per gambar.
Hasil pemisahan ini akan menghasilkan gambar hitam dan putih, dimana putih mempresentasikan objek yang bergerak. Di dalam proses ini gambar yang berwarna akan di ubah menjadi gambar keabuan dengan tujuan untuk merubahnya menjadi citra biner. Gambar frame awal yang belum berisi objek yang bergerak  akan  dibersihkan  dari noise untuk  menghasilkan background yang  stabil  dan  peka  terhadap perubahan foreground. Pada  bahasa  pemrograman  Python  yang  terintegrasi  dengan  OpenCV  3.2,  fungsi ini  dilakukan  dengan  membuat  objek  dari  fungsi cv2.createBackgroundSubtractorMOG2() kemudian menggunakan  fungsi bs.apply(frame) pada  frame  video  yang  akan  dibandingkan.  Tidak  ada  parameter khusus  yang  ditambahkan  dalam  fungsi background subtraction ini,  parameter  mengikuti  konfigurasi default.
Hasil pemisahan dengan teknik background subtraction menghasilkan citra yang terdiri dari warna abu dan warna putih. Sehingga image thresholding ini digunakan untuk proses mengubah citra berderajat keabuan  menjadi  citra  biner  atau  hitam  putih  sehingga  dapat  diketahui  daerah  mana  yang  termasuk obyek dan background dari citra secara jelas. Pada bahasa pemrograman Python yang terintegrasi dengan OpenCV  3.2,  fungsi  ini  dilakukan  dengan  menggunakan  fungsi  yang  terdapat  pada  objek  cv2  dengan perintah cv2.threshold(frame, x, y, cv2.THRESH_BINARY).
Untuk memaksimalkan hasil bentuk objek yang didapatkan, hasil yang berisi noise dan objek yang terpotong  akan  diperbaiki  sebelum  dilakukan  proses  deteksi  lokasi  objek.  Operasi  morfologi  yang  akan digunakan  adalah  operasi Open untuk  menghilangkan noise dan  operasi Close untuk  mengisi  lubang- lubang kecil pada objek yang kemungkinan timbul dalam proses sebelumnya.
Proses heatmaping atau  pemetaan  lokasi  objek  ini  akan  melalui  proses  pelacakan  posisi  setiap objek  pada  setiap frame. Data  lokasi  setiap  objek  tersebut  akan  direkam  dan  digabungkan  dari  setiap frame. Berikut  alur  proses  pembentukan heatmap berdasarkan  proses  sebelumnya  dan  riwayat  lokasi setiap objek:
Gambar 3. Tahapan Pemetaan Riwayat Objek.
Operasi  morfologi  yang  telah  dilakukan  akan  menyisakan  citra  yang  bergerak  yang  telah  terpisah dari background, sebelum  bisa  masuk  ke  tahap  selanjutnya  objek  harus  dideteksi  bentuknya  untuk mendapatkan  ukuran  dari  objek  dan  jumlah  objek  yang  terdeteksi  dalam  citra.  Fungsi  yang  digunakan dalam operasi ini adalah cv2.findContours(). Kontur adalah garis khayal yang menghubungkan titik-titik yang mempunyai ketinggian yang sama. Kontur ini dapat memberikan informasi relief, baik secara relatif, maupun secara absolut.
Objek-objek yang terdeteksi tersebut kemudian dicari titik tengahnya dalam koordinat x,y pada citra. Untuk memudahkan membedakan objek satu dengan yang lain, maka setiap objek akan di gambar garis tepiannya dengan garis sehingga lebih memudahkan pengenalan. Setelah semua proses diatas dilakukan kemudian  dilakukan  pencatatan  lokasi  koordinat  dalam  sebuah file yang  akan  digunakan  oleh library PyHeatMap untuk diproses menjadi informasi visual.
Data  yang  dibuat  dengan  PowerPoint  2916  dan  digunakan  dalam  pengujian  proses  pelacakan  dan pemetaan ini terdiri dari beberapa file video. Karakteristik dari setiap video tersebut disesuaikan dengan nama file dan ditampilkan pada Tabel 1:
Tabel 1. Karakteristik Data Video
No.  Nama Video Resolusi FPS Waktu 1 Lurus.mp4 852x480 30 7 detik 2 Berdiam.mp4 852x480 30 12 detik 3 Bersilang.mp4 852x480 30 5 detik 4 Berulang.mp4 852x480 30 7 detik 5 Kipas.mp4 852x480 30 8 detik 6 Kipas2.mp4 852x480 30 8 detik 7 Layar.mp4 852x480 30 10 detik 8 Warna.mp4 852x480 30 7 detik 9 Berpapasan.mp4 852x480 30 5 detik
10 Berbarengan.mp4 852x480 30 5 detik 11 Menyebar.mp4 852x480 30 8 detik
Untuk  mendapatkan  nilai  dari  akurasi  di  setiap  video,  maka  akan  dibangun  sebuah  XY  blok  pada  dasar video kemudian dibuatkan jalur sesuai arah yang diinginkan. Hasil video ini kemudian di terapkan pada aplikasi yang di bangun dan dibandingkan antara koordinat hasil dan koordinat sketsanya. Ukuran total dari lingkungan yang akan di bangun adalah lebar 852 pixel dan tinggi 480 pixel .
Gambar 4. XY Blok dan Sketsa
Untuk lebar akan di bagi menjadi 24 blok sehingga di dapatkan ukuran 35,5 pixel dan tinggi dibagi menjadi 14 blok sehingga di dapatkan ukuran 34,3 pixel . Untuk objek konsumen akan disesuaikan dengan ukuran per blok untuk memberikan nilai akurasi yang lebih baik, karena bagian mana pun dari konsumen yang terdeteksi akan tetap di dalam ukuran blok.
Nilai  akurasinya  sendiri  nanti  akan  dihitung  berdasarkan  jumlah  dari  blok  yang  terdeteksi  benar kemudian di bagi dengan jumlah blok yang dilewati dalam setiap video, rumusnya sebagai berikut:
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 𝐷𝑒𝑡𝑒𝑘𝑠𝑖 =

## 𝐽𝑢𝑚𝑙𝑎ℎ 𝐵𝑙𝑜𝑘 𝐵𝑒𝑛𝑎𝑟 𝐽𝑢𝑚𝑙𝑎ℎ 𝐵𝑙𝑜𝑘 𝐾𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛 𝑥 100%
Kemudian  untuk  mendapatkan  nilai  akurasi  rata-rata  dari  setiap  video  yang  di  ujikan,  dilakukan penjumlahan  nilai  persentase  yang  benar  di  bagi  dengan  jumlah  persentase  keseluruhan,  rumusnya sebagai berikut:
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 𝐷𝑒𝑡𝑒𝑘𝑠𝑖 𝐺𝑙𝑜𝑏𝑎𝑙 = 𝑇𝑜𝑡𝑎𝑙 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 𝐷𝑒𝑡𝑒𝑘𝑠𝑖 𝑆𝑒𝑚𝑢𝑎 𝑉𝑖𝑑𝑒𝑜 𝑇𝑜𝑡𝑎𝑙 𝑁𝑖𝑙𝑎𝑖 𝑀𝑎𝑘𝑠𝑖𝑚𝑢𝑚 𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝑥 100%

## ANALISIS DAN PEMBAHASAN
Dalam  mendapatkan  hasil  penelitian  ini,  dibangun  aplikasi  berdasarkan  landasan  teori  untuk menganalisis video simulasi lingkungan toko. Kemudian hasil tersebut dibandingkan untuk mendapatkan nilai akurasi dari deteksi dan pemetaan. Hal tersebut disajikan dalam Tabel 2 berikut ini:
Tabel 2. Akurasi Hasil Deteksi
Nama Video Resolusi % Blok Benar Total Blok Lurus.mp4 37 37 100% Berdiam.mp4 22 22 100% Bersilang.mp4 24 24 100% Berulang.mp4 30 30 100%
Kipas.mp4 22 22 100% Kipas2.mp4 22 29 75,86% Layar.mp4 20 24 83,33% Warna.mp4 20 20 100% Berpapasan.mp4 39 39 100% Berbarengan.mp4 41 42 97,61% Menyebar.mp4 119 119 100% Nilai Rata-Rata Akurasi 96,07%
Dari hasil analisa dilihat pula adanya perbedaan hasil dari rencana sketsa video yang di buat. Dengan menetapkan  waktu  yang  sama,  objek  konsumen  yang  bergerak  ke  arah  sumbu  X  selalu  memiliki  hasil koordinat yang lebih sedikit di bandingkan dengan konsumen yang bergerak ke arah sumbu Y.

## Gambar 5. Perbedaan Kepadatan
Proses  pemetaan  menghasilkan  data  yang  sesuai  dengan  nilai  pada  setiap  area  blok,  namun  nilai tinggi  di  temukan  pada  blok  tempat  objek  muncul  dan  keluar.  Hal  ini  disebabkan  saat  objek  konsumen muncul mulai dari bagian kepala sampai kaki terdeteksi pada tempat yang sama sehingga blok tersebut menghasilkan banyak nilai koordinat.
Dalam setiap video yang di bangun, untuk pintu keluar dan masuk berada di sisi kiri pada blok A2 dan  A3,  beserta  sisi  bawah  pada  blok  I13,  J13,  K13,  L13,  M13,  N13  dan  O13.  Dengan  mengecualikan daerah ini pada pembentukan heatmap , maka hasil pemetaan pada area ROI menjadi lebih baik.

## Gambar 6. Perbandingan Hasil ROI
Dengan menggunakan filter ini, dengan mudah dapat ditentukan daerah mana yang ingin menjadi fokus dalam  pembentukan heatmap ,  dan  dengan  hanya  mengubah  atau  menghapus  koordinat  yang  tidak diinginkan pada text file yang di bentuk oleh proses deteksi objek bergerak.

## KESIMPULAN
Dari  proses  penelitian  ini  didapatkan  informasi  bahwa  teknik background subtraction dapat digunakan  dalam  proses  pelacakan  pergerakan  objek  pada  data  video  dengan  kamera  statis  dengan
tingkat akurasi sebesar 96,07%. Penerapan operasi morfologi juga mampu mendeteksi objek orang yang diharapkan lebih baik dengan menghilangkan gangguan visual yang ada pada video.
Teknik  yang  diterapkan  pada  penelitian  ini  tidak  mampu  mendeteksi  dengan  baik  saat  objek konsumen  yang  menjadi  fokus  pelacakan  melakukan  aktivitas  yang  berdiam,  berpapasan  dengan  objek konsumen  lain  maupun  berjalan  berbarengan  yang  membuat  secara  visual  objek  konsumen  terlihat menjadi  satu.  Kesalahan  deteksi  yang  di  hasilkan  dalam  penelitian  ini  lebih  banyak  disebabkan  karena tidak adanya kemampuan teknik yang digunakan dalam melakukan pengenalan karakteristik dari objek konsumen.
Proses  pemetaan  berjalan  baik  pada  proses  ini,  sehingga  tidak  ditemukan  kendala  yang  berarti. Karena  nilai  dari  yang  dipetakan  tergantung  dari  akurasi  nilai  koordinat  yang  didapatkan  oleh  proses pelacakan. Dalam mempermudah analisis terhadap informasi yang di hasilkan, dapat menerapkan Region of Interes (ROI) untuk memfilter hasil dari informasi yang di dapatkan. Dengan  menggunakan  teknik  ROI,  kita  dapat  dengan  mudah  fokus  dengan  daerah  tertentu  untuk dilakukan analisa. ROI juga dapat digunakan untuk menghilangkan daerah yang memiliki gangguan hasil deteksi  dengan  mengecualikannya  dari  hasil  pemetaan.  Pengembangan  Penelitian  Berikutnya  Untuk meningkatkan  akurasi  pelacakan  dan  pemetaan  dari  penelitian  ini,  beberapa  hal  yang  dapat  di  perbaiki maupun  dikembangkan  yaitu:  a)  Untuk  proses  deteksi  objek  bergerak  bisa  menambahkan  operasi pengenalan  karakteristik  objek  untuk  mengatasi  deteksi  yang  hilang  saat  objek  bergerak  diam.  Dengan melakukan  pengenalan  terhadap  setiap  objek  maka  jika  objek  berbeda  bertumpuk  maka  akan  tetap dikenal sebagai objek yang berbeda dan objek dengan posisi jauh pun dapat dikenali. Pengenalan ini juga dapat  membantu  mencari  lokasi  koordinat  berdasarkan  lokasi  kaki  maupun  tangan  objek  orang,  b) Pengaturan  nilai  morfologi  secara  dinamis  menggunakan  algoritma  tertentu  untuk  menyesuaikannya dengan ukuran data video dan ukuran Noise yang secara umum terdeteksi.
Melakukan  pengenalan  terhadap  awal  objek  bergerak  beserta  akhirannya  dengan  menerapkan pencatatan  waktu  di  setiap  koordinat,  sehingga  nantinya  dapat  mengetahui  arah  pergerakan  awal  dan akhir dari setiap objek yang ada di dalam video.

## DAFTAR PUSTAKA
Adrian Rosebrock (2017) Imutils. Tersedia pada: http://github.com/jrosebr/imutil.
Bradley,  D.  dan  Roth,  G.  (2007)  “Adaptive Threshold ing  using  the  Integral  Image,”  Journal  of  Graphics Tools, 12(2), hal. 13–21. doi: 10.1080/2151237X.2007.10129236.
Breimer, E., Cotler, J. dan Yoder, R. (2012) “Video vs. text for lab instruction and concept learning,” Journal of Computing Sciences in Colleges,
27, hal. 42–48. Tersedia pada: http://dl.acm.org/citation.cfm?id=2184462.
Deu-Pons, J., Schroeder, M. P. dan Lopez-Bigas, N. (2014) “J Heatmap : An interactive heatmap viewer for the web,” Bioinformatics, 30(12), hal. 1757–1758. doi: 10.1093/bioinformatics/btu094.
Idris, I. (2012) NumPy Cookbook, NumPy Cookbook. doi: 10.1017/CBO9781107415324.004.
Irianto,  K.  D.,  Ariyanto,  G.  dan  P,  D.  A.  (2009)  “Motion  Detection  Using  Opencv  With Background Subtraction and Frame Differencing Technique,” hal. 74–81.
JetBrains (2017) PyCharm. Tersedia pada: https://www.jetbrains.com/pycharm/.
Kurnia, M. R., Tjandrasa, H. dan Wijaya, Y. (2012) “Implementasi Segmentasi Pembuluh Darah Retina Pada Citra  Fundus  Mata  Menggunakan  Tekstur  , Threshold ing  dan  Operasi  Morfologi,”  Jurnal  Teknik Pomits, 1(1), hal. 1–6.
Lutz, M. (2007) Learning Python, Icarus. doi: 10.1016/0019-1035(89)90077-8.
Microsoft (2017) PowerPoint Help Center. Tersedia pada: https://support.office.com/en-us/powerpoint.
Munir,  R.  (2004)  “Pendeteksian  Tepi  (Edge  Detection),”  in  Pengolahan  Citra  Digital  dengan  pendekatan algoritmik, hal. 121–140.
Oldj (2012) Python Heat Map Library, GitHub. Tersedia pada: https://github.com/oldj/py heatmap .
Solichin,  A.  dan  Harjoko,  A.  (2013)  “Metode Background Subtraction untuk  Deteksi  Obyek  Pejalan  Kaki pada Lingkungan Statis,” Jurusan Ilmu Komputer dan Elektronika, Fakultas MIPA, Universitas Gajah Mada, Yogyakarta, hal. 1–6.
Sugiyono (2012) Statistika Untuk Penelitian, Penerbit Alfabeta. doi: 2011.
Tickto  (2015)  Heat  map  analytics  and  its  impact  on  Retail,  Tickto.  Tersedia  pada: https://retailstoreanalytics. wordpress.com/2015/05/20/heat-map-analytics-and-its-impact-on- retail/ (Diakses: 18 Juni 2017).
Umam, K. dan Negara, B. S. (2016) “Deteksi Obyek Manusia Pada Basis Data Video Menggunakan Metode Background Subtraction Dan Operasi Morfologi,” Jurnal CoreIT, 2(2), hal. 31–40.
Zelinsky, A. (2009) “Learning OpenCV???Computer Vision with the OpenCV Library,” IEEE Robotics and Automation Magazine, hal. 100. doi: 10.1109/MRA.2009.933612.