Deteksi dan Tracking Objek untuk Sistem Pengawasan Citra Bergerak Luqman Abdul Mushawwir
Iping Supriana
Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Bandung, Indonesia
[email protected]
Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Bandung, Indonesia
[email protected]
Abstrak—Analisis
terhadap situasi pada lingkungan tertentu merupakan hal yang sangat penting dalam sistem pengawasan lingkungan, terutama dengan citra bergerak. Teknik untuk melakukannya pun banyak diteliti pada beberapa tahun terakhir. Ada beberapa persoalan yang harus dihadapi dalam melakukan deteksi dan tracking pada citra bergerak, namun kebanyakan penelitian yang dilakukan hanya menyelesaikan persoalan secara parsial. Telah diajukan sebuah rangkaian algoritma untuk melakukan deteksi dan tracking objek untuk pengawasan citra bergerak. Algoritma yang diajukan ini terdiri dari deteksi objek dengan algoritma K-Means serta evaluasi spasial-temporal untuk tracking objek. Eksperimen dilakukan terhadap lima dataset video dengan karakteristik yang berbeda-beda. Efektivitas yang diperoleh dari algoritma ini tinggi pada dataset yang memiliki latar statik, namun masih mendeteksi banyak false positive pada dataset yang memiliki latar dinamik. Adapun waktu pemrosesan yang dilakukan pada algoritma ini masih harus ditingkatkan, karena mengalami penurunan sekitar 50%-70% dari kecepatan video asli. Kata Kunci—Deteksi objek, tracking objek, sistem pengawasan citra bergerak, K-Means, evaluasi spasial-temporal
I.
PENDAHULUAN
Pada beberapa tahun belakangan, perkembangan metode untuk analisis terhadap aktivitas dalam suatu lingkungan meningkat dengan cukup pesat. Beberapa di antaranya adalah sensor magnetik, gelombang, dan pemrosesan gambar bergerak. Belakangan, metode yang banyak diteliti adalah metode untuk pemrosesan citra bergerak. Hal ini disebabkan oleh meningkatnya kekuatan komputasi [1]–[3]. Bagian yang sangat penting dalam analisis dan pemrosesan citra bergerak adalah deteksi dan tracking objek dalam citra [2]. Adapun dalam melaksanakan kedua bagian ini ada beberapa persoalan yang harus diselesaikan, di antaranya: 1.
Oklusi atau penumpukan objek yang menyebabkan objek hanya terlihat sebagian / tertutup sama sekali [1], [4]–[7].
2.
Ketinggian dan sudut pandang kamera yang membuat ukuran dan dimensi objek menjadi tidak pasti [1], [4], [7].
3.
Adanya bayangan dari objek sehingga dapat mengganggu deteksi [5], [8].
4.
Perbedaan intensitas cahaya, kontras, atau keadaan scene yang dapat mengganggu deteksi (seperti salju, hujan, malam hari, dan lain-lain) [1], [2], [9]
Penelitian yang dilakukan sebelumnya dapat mengatasi beberapa persoalan, namun hanya secara parsial dan tidak menyeluruh. Jika berhasil dalam mengatasi satu persoalan, biasanya akan mengalami kesulitan pada persoalan lain. Makalah ini akan memperlihatkan sebuah teknik dan algoritma untuk deteksi dan tracking objek untuk sistem pengawasan citra bergerak. Tujuan dari diajukannya teknik dan algoritma ini adalah untuk menyelesaikan sebanyak-banyaknya persoalan yang dihadapi, sehingga diharapkan algoritma yang dikembangkan dapat digunakan dalam analisis citra bergerak pada segala situasi. Adapun penjelasan dari makalah ini akan dilakukan sebagai berikut: 1) pendahuluan yang berisi latar belakang persoalan dan tujuan dari penelitian yang dilakukan, 2) teknik-teknik deteksi dan tracking objek yang telah diteliti sebelumnya, untuk mengetahui state of the art dari deteksi dan tracking objek, 3) solusi yang diajukan untuk deteksi dan tracking objek untuk sistem pengawasan citra bergerak, 4) implementasi dan eksperimen yang dilakukan untuk algoritma yang diajukan, dan 5) penutup makalah yang berisi simpulan dan saran pengembangan untuk penelitian selanjutnya. II.
TEKNIK-TEKNIK DETEKSI DAN TRACKING OBJEK
Pada bab ini, akan dijelaskan teknik-teknik deteksi dan tracking objek yang telah diteliti sebelumnya. A. Deteksi Objek Deteksi objek bertujuan untuk memisahkan objek / foregrund dari citra latar. Biasanya untuk melakukan deteksi objek, akan dibuat sebuah model latar pada sebuah citra bergerak berdasarkan nilai pixel yang masuk seiring waktu [10]. Adapun teknik untuk mendapatkan nilai ini dapat
dikelompokkan menjadi temporal frame background subtraction, dan metoda statistik.
Temporal frame difference – metoda ini secara umum memanfaatkan perbedaan warna yang terjadi pada pixel ketika ada benda / objek berubah bentuk atau bergerak [11]. Persamaan (1) menunjukkan perhitungan perbedaan nilai pixel, dengan Δn adalah perbedaan nilai pixel pada frame ke-n dan In adalah nilai intensitas pixel pada frame ke-n [12]. Δn = | In – In-1 |
𝐼𝑛 , ∆𝑛 ≥ 𝑇 0, ∆𝑛 < 𝑇
(2)
Metoda ini dapat divariasikan dengan menggunakan lebih dari dua frame dalam melakukan frame difference [13], [14] atau menggunakan nilai threshold yang adaptif [11]. Background subtraction – metode ini memodelkan latar secara langsung dari pixel yang masuk dengan berbagai cara, seperti running average / approximate median filter atau temporal median filter [10], [11], [15]–[17]. [10] ikut mengelompokkan metoda seperti gaussian mixture model atau kernel density estimation pada kelompok ini, namun di sini model-model tersebut akan dibahas pada bagian selanjutnya. Inti dari metoda background subtraction adalah membuat model latar untuk menjadi acuan dalam deteksi foreground. Jika foreground pada frame ke-t dilambangkan dengan Ft, sedangkan nilai intensitas pixel dan nilai latar berturut-turut dilambangkan dengan It dan Bt, maka nilai foreground tersebut dapat ditentukan dengan [11], [16]: 𝐹𝑡 = {
1, |𝐼𝑡 − 𝐵𝑡 | > 𝑇 0, 𝑙𝑎𝑖𝑛𝑛𝑦𝑎
(3)
Adapun dalam menentukan nilai citra latar, dapat digunakan beberapa metode, di antaranya adalah running average filter dan temporal median filter [10], [11], [16], [18]. Running average filter membentuk citra latar dengan menghitung rata-rata (mean) dari nilai intensitas pixel yang muncul [10], [11], [16]. Perhitungan rata-rata dilakukan dengan metode running average, yaitu perhitungan berdasarkan nilai yang masuk (It), rata-rata pada frame sebelumnya (µt) dan learning rate (α). Persamaan untuk menghitung rata-rata tersebut adalah [19]:
(4)
Nilai α diperoleh dari eksperimen, dan memiliki nilai dengan range 0 sampai 1. Metoda running average memiliki beberapa variasi dan peningkatan, beberapa di antaranya dengan menambahkan kondisi pixel saat ini untuk dimasukkan ke dalam perhitungan nilai pixel latar sebagai berikut [11], [13], [19]: 𝛼𝐼 + (1 − 𝛼)𝐵𝑡−1 , 𝑗𝑖𝑘𝑎 (𝑥, 𝑦) 𝑑𝑖𝑎𝑚 𝐵𝑡 = { 𝑡 𝐵𝑡−1 , 𝑗𝑖𝑘𝑎 (𝑥, 𝑦) 𝑏𝑒𝑟𝑔𝑒𝑟𝑎𝑘
(1)
Setelah diperoleh nilai Δn, bagian gambar yang bergerak dapat dihitung dengan membandingkan nilai perbedaan tersebut dengan sebuah batas yang telah ditentukan sebelumnya. Batas tersebut biasanya sebesar 15% dari range nilai intensitas yang diobservasi, sehingga jika nilai intensitas pixel berada pada jarak 0-255, maka batas dapat ditentukan di sekitar nilai 40. Citra pergerakan (Mn) dapat diperoleh dengan operasi per pixel sebagai berikut [12]: 𝑀𝑛 = {
𝜇𝑡 = 𝛼𝐼𝑡 + (1 − 𝛼)𝜇𝑡−1
difference,
(5)
𝛼𝐼 + (1 − 𝛼)𝐵𝑡−1 , 𝑗𝑖𝑘𝑎 (𝑥, 𝑦) 𝑑𝑖𝑎𝑚 𝐵𝑡 = { 𝑡 (6) 𝛽𝐼𝑡 + (1 − 𝛽)𝐵𝑡−1 , 𝑗𝑖𝑘𝑎 (𝑥, 𝑦) 𝑏𝑒𝑟𝑔𝑒𝑟𝑎𝑘 Temporal median filter menggunakan nilai median dari sekuens pixel untuk membentuk model latar. Median dapat diperoleh dari n frame terakhir pada citra [18] atau dengan mengikutkan nilai median yang telah dihitung sebelumnya [20] untuk meningkatkan stabilitas nilai latar. Ada beberapa asumsi yang digunakan dalam penggunaan median untuk pemodelan latar [21]: 1. 2. 3.
Latar hanya berubah sedikit seiring waktu, Durasi setiap pixel berada pada latar lebih besar daripada durasi sebagai foreground, Nilai pixel yang berada pada latar hanya berubah sedikit, sedangkan untuk nilai pixel foreground akan sangat bervariasi.
Jika median dihitung dengan membuat sampel nilai pixel maka perhitungan akan membutuhkan memori dan operasi yang mahal secara komputasi. Oleh karena itu, digunakan filter sederhana untuk memperkirakan nilai median dari nilai median sebelumnya dan nilai pixel yang masuk sebagai berikut [17], [22]: 𝐵 + 1, 𝐵𝑡 ≤ 𝐼𝑡 𝐵𝑡 = { 𝑡−1 𝐵𝑡−1 − 1, 𝐵𝑡 > 𝐼𝑡
(7)
Metoda statistik – Deteksi objek dapat juga dilakukan dengan memodelkan nilai pixel yang masuk secara statistik [23]. Pada dasarnya, probabilitas kemunculan suatu pixel pada citra dapat dimodelkan dengan sebuah model distribusi gaussian. Pfinder menggunakan model gaussian tunggal untuk memodelkan latar pada citra bergerak, namun implementasinya kurang baik untuk video outdoor yang memiliki variasi yang banyak [19]. Model yang sering digunakan untuk video outdoor di antaranya adalah gaussian mixture model dan nonparametric model [24]–[26]. Gaussian mixture model merupakan model distribusi untuk menyimpan sejarah nilai pixel yang ada dalam video. Nilai pixel dimodelkan dalam K buah distribusi gaussian dengan masing-masing memiliki nilai mean (µ) dan variansi (σ), serta
bobot (ω) yang berbeda-beda [25], [26]. Probabilitas sebuah pixel dalam model adalah sebagai berikut: 𝑃(𝑋𝑡 ) = ∑𝐾 𝑖=1 𝜔𝑖,𝑡 ∗ 𝜂(𝑋𝑡 , 𝜇𝑖,𝑡 , Σ𝑖,𝑡 ) 𝜂(𝑋𝑡 , 𝜇, Σ) =
1 𝑛 1 (2𝜋) 2 |Σ|2
1
𝑇 Σ−1 (𝑋 −𝜇 ) 𝑡 𝑡
𝑒 −2(𝑋𝑡−𝜇𝑡)
(8) (9)
Dengan K adalah jumlah distribusi gaussian, ωi,t adalah perkiraan bobot (berapa porsi data dihitung dalam distribusi gaussian) pada distribusi ke-i pada waktu t, µi,t adalah nilai mean dari distribusi tersebut, Σi,t adalah matriks kovariansi dari distribusi tersebut, dan η adalah fungsi kerapatan probabilitas gaussian sebagaimana tertulis pada persamaan (9) [25]. Setiap nilai pixel Xt dicek terhadap K distribusi gaussian, hingga terjadi kecocokan. Kecocokan didefinisikan jika nilai sebuah pixel berada pada 2.5 kali nilai simpangan baku sebuah distribusi. Kategori kecocokan ini dapat diubah dengan pengaruh pada kinerja algoritma [25]. Setelah itu, nilai-nilai dalam distribusi yang dimiliki akan diperbaharui berdasarkan nilai pixel yang masuk [25]: 𝜔𝑘,𝑡 = (1 − 𝛼)𝜔𝑘,𝑡−1 + 𝛼(𝑀𝑘,𝑡 )
(10)
𝜇𝑡 = (1 − 𝜌)𝜇𝑡−1 + 𝜌𝑋𝑡
(11)
2 𝜎𝑡2 = (1 − 𝜌)𝜎𝑡−1 + 𝜌(𝑋𝑡 − 𝜇𝑡 )𝑇 (𝑋𝑡 − 𝜇𝑡 )
(12)
𝜌 = 𝛼𝜂(𝑋𝑡 |𝜇𝑘 , 𝜎𝑘 )
(13)
Dengan α adalah learning rate dan Mk,t bernilai 1 untuk model yang cocok dan bernilai 0 untuk model yang tidak cocok. Paremeter µ dan σ tidak berubah untuk distribusi yang tidak cocok, sedangkan untuk distribusi yang cocok, parameterparameter tersebut diperbaharui dengan persamaan (11)-(13). Non-parametric model diajukan untuk memodelkan latar pada citra bergerak berdasarkan kernel density estimation (KDE) pada n nilai terakhir dari citra [10], [15], [24]. Hal ini dilatarbelakangi citra latar yang bukan sesuatu yang statik, namun juga ada pengaruh benda-benda yang bergerak seperti daun-daun, aliran air, hujan, dan lain-lain [24]. Tujuan dari model yang dibuat adalah untuk mengambil informasi terbaru dari sekuens citra, kemudian secara cepat memperbaharuinya. Untuk itu, dilakukan perkiraan density function untuk distribusinya. Untuk x1, x2, ..., xN sampel nilai intensitas dari sebuah pixel, sebuah probability density function pada waktu t dapat diperkirakan secara non-parametrik menggunakan kernel estimator K sebagai berikut [24]: 1
𝑃𝑟(𝑥𝑡 ) = ∑𝑁 𝑖=1 𝐾(𝑥𝑡 − 𝑥𝑖 ) 𝑁
(14)
Persamaan (15) menunjukkan probability density function jika digunakan fungsi normal untuk fungsi kernel K. Persamaan (16) menunjukkan reduksi dari persamaan (15) dengan mengasumsikan nilai variansi dari setiap warna saling independen [24]. 𝑃𝑟(𝑥𝑡 ) =
1 𝑁
𝑃𝑟(𝑥𝑡 ) =
∑𝑁 𝑖=1
1
1
1 𝑑 1 (2𝜋) 2 |𝛴|2
∑𝑁 ∏𝑑 𝑁 𝑖=1 𝑗=1
𝑇 𝛴 −1 (𝑥 −𝑥 ) 𝑡 𝑖
𝑒 −2(𝑥𝑡 −𝑥𝑖 )
1 √2𝜋𝜎𝑗2
𝑒
2 1 (𝑥𝑡,𝑗 −𝑥𝑖,𝑗 ) 2 𝜎2 𝑗
(15)
−
(16)
Model non-parametrik yang telah diajukan tersebut dapat beradaptasi dengan background yang berubah-ubah dan dapat mendeteksi objek secara akurat. Meskipun demikian, perhitungan yang dilakukan pada model ini lebih kompleks dari perhitungan pada gaussian mixture model yang sebelumnya [10], [15], [24]. B. Tracking Objek Tracking objek pada citra bergerak merupakan sebuah cara untuk mengikuti elemen citra yang sudah dilokalisasi menjadi objek yang bergerak seiring waktu secara otomatis dalam citra bergerak / video. Tracking memiliki peran penting dalam pemrosesan video karena dapat menjadi satu patokan untuk mengekstrak beberapa perkiraan properti dari objek bergerak dalam video [27], [28]. Persoalan tracking objek pada citra bergerak sudah cukup banyak diteliti dan melahirkan beberapa algoritma yang menjadi standar. Beberapa algoritma yang menjadi standar dalam memecahkan tracking objek di antaranya adalah Kanade-Lucas Tracker dan MeanShift. Kanade-Lucas Tracker merupakan sebuah teknik registrasi citra menggunakan informasi gradien spasial untuk mencocokkan sebuah objek pada suatu citra dengan citra lain tanpa terpengaruh perbuahan bentuk pada citra [29]. Secara umum, metoda ini mengukur kecocokan antara sebuah jendela fitur pada frame saat ini dan sebelumnya dengan perubahan sum of squared intensity dari jendela tersebut [29], [30]. Persoalan transisi citra dapat dijelaskan sebagai berikut: diberikan fungsi F(x) dan G(x) yang memberikan nilai pixel pada lokasi x pada dua citra, dengan x ada vektor, maka kita akan mencari vektor jarak h yang meminimalkan perbedaan antara F(x+h) dan G(x) dengan x dalam sebuah region of interest R. Pengukuran dari perbedaan antara F(x+h) dan G(x) adalah sebagai berikut [29]: 𝐿1 𝑛𝑜𝑟𝑚 = ∑𝑥∈𝑅 |𝐹(𝑥 + ℎ) − 𝐺(𝑥)| 1⁄ 2
𝐿2 𝑛𝑜𝑟𝑚 = (∑𝑥∈𝑅[𝐹(𝑥 + ℎ) − 𝐺(𝑥)]2 )
(17) (18)
𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝑜𝑓 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑒𝑑 𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛 =
− ∑𝑥∈𝑅 𝐹(𝑥+ℎ)𝐺(𝑥)
(19)
1 1 (∑𝑥∈𝑅 𝐹(𝑥+ℎ)2 ) ⁄2 (∑𝑥∈𝑅 𝐺(𝑥)2 ) ⁄2
Kemudian sebuah iterasi dilakukan untuk mencari kemungkinan h kesamaan antara kedua objek tersebut dengan iterasi Newton-Raphson sebagai berikut [29]: ℎ𝑘+1 = ℎ𝑘 + ∑𝑥
𝑤(𝑥)[𝐺(𝑥)−𝐹(𝑥+ℎ𝑘 )] 𝐹′(𝑥+ℎ𝑘 )
/ ∑𝑥 𝑤(𝑥)
(18)
Secara umum, algoritma Lucas-Kanade yang banyak dilakukan saat ini berbasis pada algoritma berikut [31], [32]: 1. 2. 3. 4.
Mendeteksi fitur yang baik (biasanya harris corners) pada frame pertama Untuk setiap fitur, hitung pergerakan antara frame yang berurutan Hubungkan vektor gerakan pada frame untuk memperoleh jejak untuk setiap fitur Keluarkan fitur-fitur baru dengan mendeteksi fitur pada setiap m (10 atau 15) frame
Figure 1. Hasil tracking dengan CAMShift
Dengan I(x,y) adalah nilai pixel pada posisi (x,y) pada citra. Untuk melakukan tracking pada objek dengan MeanShift dapat dilakukan langkah-langkah sebagai berikut [35]: 1. 2. 3. 4.
Ulangi langkah 1-3 untuk melakukan tracking pada fitur tersebut. MeanShift – merupakan sebuah prosedur iteratif untuk meraih nilai rata-rata pada sebuah kumpulan data dengan cara bergeser (shifting). Algoritma ini dapat digunakan untuk clustering ataupun aplikasi lainnya yang memiliki persoalan serupa, di antaranya dalam aplikasi computer vision, seperti segmentasi objek maupun tracking [33], [34]. Algoritma MeanShift menggunakan teknik non-parametrik untuk mencari mode dalam suatu distribusi data. Pencarian mode dilakukan dengan secara rekursif menghitung density gradient hingga tercapai konvergensi (mencapai mode-nya). Algoritma ini pada awalnya tidak ditujukan untuk tracking objek, namun karena persoalan ini memiliki karakteristik yang sama dengan clustering, maka algoritma ini dapat digunakan secara efektif pada tracking objek [33], [35]. Dalam citra 2D diskrit, lokasi mean (centroid) dapat ditemukan dengan momen ke-0 dan ke-1 di dalam jendela pencarian seperti persamaan berikut [35]: 𝑀00 = ∑𝑥 ∑𝑦 𝐼(𝑥, 𝑦)
(19)
𝑀10 = ∑𝑥 ∑𝑦 𝑥𝐼(𝑥, 𝑦) ; 𝑀01 = ∑𝑥 ∑𝑦 𝑦𝐼(𝑥, 𝑦) (20) Centroid dapat dihitung dengan: 𝑥𝑐 =
𝑀10 𝑀00
; 𝑦𝑐 =
Pilih ukuran dan lokasi awal jendela pencarian pada citra, Hitung lokasi mean dalam jendela tersebut, Geser lokasi jendela agar mean yang dimaksudn menjadi di tengah jendela yang baru, Ulangi langkah 2 dan 3 sampai konvergen, atau hingga lokasi mean berubah lebih kecil dari batas yang ditentukan.
Algoritma Continuously Adaptive Mean Shift (CAMShift) merupakan pengembangan dari MeanShift dalam melakukan tracking objek, dengan menambahkan adaptasi terhadap distribusi data yang berubah secara dinamis [35], [36]. Algoritma ini, untuk melakukan tugasnya, menambahkan pengaturan terhadap ukuran jendela perhitungan, untuk mengantisipasi perubahan distribusi data, terutama terhadap ukuran distribusi [35]. Gambar I menunjukkan hasil tracking objek dengan CAMShift. III.
SOLUSI YANG DIAJUKAN
Dalam menyelesaikan persoalan-persoalan yang dihadapi saat deteksi dan tracking objek, dibutuhkan beberapa langkah penyelesaian agar memperoleh hasil maksimal. Oleh karena itu, algoritma yang diajukan dapat dibagi menjadi 5 bagian, yaitu 1) pre-processing, 2) deteksi foreground, 3) post-processing pixel dan lokalisasi objek, 4) tracking objek, dan 5) post-precessing akhir. A. Pre-processing Pre-processing dilakukan dengan mengambil informasi intensitas setiap pixel dari citra masukan. Hal ini dilakukan karena intensitas warna sudah cukup mewakili kondisi warna pada citra. Selain itu, penggunaan hanya satu jalur warna akan menghemat waktu komputasi pemrosesan citra. 𝐼𝑥,𝑦 = 0.2989𝑅𝑥,𝑦 + 0.5870𝐺𝑥,𝑦 + 0.1140𝐵𝑥,𝑦 (22)
𝑀01 𝑀00
(21)
Persamaan (22) di atas menunjukkan persamaan untuk membentuk intensitas pixel dari suatu citra. Ix,y adalah intensitas pada pixel (x, y), sedangkan Rx,y, Gx,y,dan Bx,y berturut-turut adalah nilai kanal merah, hijau, dan biru pada pixel (x, y).
B. Deteksi Foreground Deteksi foreground dilakukan dengan memodelkan nilai pixel sebagai gaussian mixture model. Sebuah gaussian mixture model dengan K buah distribusi gaussian dengan mean µ dan bobot w dibuat dengan parameter masing-masing sebagai berikut: 𝜇𝑘(𝑥,𝑦,𝑡=0) =
256 𝐾
𝑤𝑘(𝑥,𝑦,𝑡=0) =
∗𝑘 1 𝐾
(23) (24) Figure 2. Hasil deteksi foreground
Setelah distribusi gaussian terbentuk, setiap pixel yang masuk akan mencari distribusi yang paling dekat dari nilai pixel tersebut. Nilai yang dibandingkan adalah nilai mean dari setiap distribusi, sehingga algoritma ini mirip dengan algoritma clustering K-Means. Setelah dilakukan alokasi pixel tersebut, selanjutnya adalah pembaruan nilai mean dan bobot dari masing-masing distribusi berdasarkan keberadaan pixel yang sedang dievaluasi. Jika kt(x,y) adalah distribusi yang dialokasikan untuk intensitas pixel It(x,y), nilai distribusi hasil pembaruan adalah sebagai berikut: 𝜇𝑘(𝑥,𝑦,𝑡+1) =
{
𝜇𝑘(𝑥,𝑦,𝑡) + (𝛼(𝐼𝑡(𝑥,𝑦) − 𝜇𝑘(𝑥,𝑦,𝑡) )) 𝑘 = 𝑘𝑡(𝑥,𝑦) 𝜇𝑘(𝑥,𝑦,𝑡)
𝐿𝑎𝑖𝑛𝑛𝑦𝑎
(25)
𝑤𝑘(𝑥,𝑦,𝑡+1) =
{
((1 − 𝛼) ∗ 𝑤𝑘(𝑥,𝑦,𝑡) ) + 𝛼 (1 − 𝛼) ∗ 𝑤𝑘(𝑥,𝑦,𝑡)
𝑘 = 𝑘𝑡(𝑥,𝑦) 𝐿𝑎𝑖𝑛𝑛𝑦𝑎
(26)
Setelah itu, setiap pixel dapat ditentukan merupakan latar atau foreground dengan membandingkan bobot distribusi tersebut dengan batas (threshold) tertentu. Biasanya, nilai threshold tersebut sama dengan 1 / K, namun bisa saja disesuaikan dengan eksperimen yang dilakukan sebelumnya. Kategori sebuah pixel kemudian dihitung dengan: 𝐹(𝑥,𝑦) {
1, 0,
𝑤𝑘𝑡(𝑥,𝑦) ≥ 𝑇(𝑥𝑦,) 𝐿𝑎𝑖𝑛𝑛𝑦𝑎
(27)
Gambar II merupakan hasil deteksi foreground dengan algoritma ini. Pixel putih menunjukkan pixel foreground sedangkan yang hitam menunjukkan pixel latar.
C. Pixel Post-processing dan Lokalisasi Objek Post-processing dilakukan untuk menghilangkan noise dari hasil deteksi foreground, sehingga kualitas objek yang dideteksi menjadi lebih baik. Pembersihan pixel dilakukan dengan menggunakan operasi morfologi citra, yaitu dilation dan erosion. Pada prinsipnya, kedua operasi ini menggunakan matrix N x M, memasukkan kriteria perhitungan, kemudian menetapkan pixel pada matrix tersebut menjadi 1 atau 0 berdasarkan kriteria tersebut Operasi dilation berfungsi untuk memperbesar garis tepi pada citra biner. Oleh karena itu, kriteria yang digunakan dalam operasinya adalah jika ada tetangga dalam matrix yang memiliki nilai 1, maka seluruh pixel dalam matrix tersebut menjadi bernilai 1. Sebaliknya, operasi erosion menggunakan kriteria jika ada tetangga dalam matrix yang bernilai 0, maka seluruh pixel dalam matrix tersebut menjadi bernilai 0. Operasi erosion berfungsi untuk mempersempit garis tepi citra dan menghulangkan citra yang tidak signifikan (hanya bertebal 1 pixel). Untuk mendapatkan hasil yang lebih baik, biasanya operasi ini dilakukan dalam beberapa iterasi. Untuk melakukan pembersihan foreground yang telah dilakukan sebelumnya, digunakan kombinasi dari operasi dilation dan erosion. Kombinasi yang dilakukan adalah sebagai berikut: 1. Operasi erosion sebanyak 2 iterasi 2. Operasi dilation sebanyak 3 iterasi 3. Operasi erosion sebanyak 1 iterasi Rangkaian operasi tersebut dilakukan dengan tujuan menghilangkan noise berupa pixel kecil yang terdeteksi sebagai foreground dan menutup daerah foreground yang terpisah satu sama lain, namun masih dekat. Setelah dilakukan post-processing, dilakukan lokalisasi terhadap foreground agar diperoleh objek yang diharapkan (selanjutnya dapat disebut blob). Untuk melakukan lokalisasi objek dengan baik, diperlukan dua langkah. Langkah pertama adalah melokalisasi seluruh objek yang ada dengan membentuk kontur dari foreground yang dibuat. Kontur ini akan menjadi dasar untuk langkah selanjutnya yaitu evaluasi hubungan spasial antar objek. Langkah selanjutnya adalah melakukan evaluasi hubungan spasial antar objek. Objek yang telah diidentifikasi dan dibentuk konturnya pada langkah sebelumnya kemudian dicari
tetangga yang dekat dengannya. Kedekatan ini dapat dilambangkan dengan jarak antara kontur objek, dengan mengukur jarak antara titik pusat kedua objek: 𝑟𝑐(𝑚,𝑛) = |𝑐𝑚 − 𝑐𝑛 |
(28)
Jika jarak tersebut memenuhi syarat (lebih kecil dari batas yang ditentukan), maka fitur dari kedua objek ini akan dibandingkan. Fitur yang dibandingkan adalah warna dari objek. Persamaan (29) menunjukkan perbedaan intensitas warna antara dua buah objek. Jika warna dominan dari kedua objek tersebut serupa, maka dapat disimpulkan kedua objek sesungguhnya adalah objek yang sama. Persamaan (30) menunjukkan kriteria kesamaan dua buah objek yang dievaluasi, dengan Tr adalah batas jarak maksimal dan TI adalah batas perbedaan intensitas maksimal untuk dikategorikan serupa. ∆𝐼𝑚,𝑛 = |𝐼𝑚 − 𝐼𝑛 |
(29)
𝑟𝑐(𝑚,𝑛) ≤ 𝑇𝑟 ∩ ∆𝐼𝑚,𝑛 ≤ 𝑇𝐼
(30)
Jika kedua syarat tersebut terpenuhi, maka kedua objek tersebut akan dianggap sama dan selanjutnya akan digabungkan menjadi satu objek. Gambar III menunjukkan hasil lokalisasi objek yang dilakukan.
D. Tracking Objek Tracking objek pada gambar bergerak dilakukan dengan membandingkan objek yang berhasil dilokalisasi pada frame ket dengan objek pada frame ke-(t-1). Pembandingan akan dilakukan terhadap jarak dan fitur dari objek. Hasil dari operasi ini kemudian akan diproses sehingga dapat menangani beberapa kasus khusus misalnya penumpukan / oklusi yang dialami oleh objek yang terpisah, pemisahan dari objek yang bertumpuk, objek yang berhenti, “hantu” objek, dan lainnya. Setiap objek yang berhasil dideteksi dan terdaftar pada frame ke-t dihitung jaraknya dengan objek yang terdaftar pada frame ke-(t-1) dengan persamaan (28). Dari hasil perhitungan jarak tersebut, dibuat korespondensi objek jika jarak tersebut kurang dari batas/threshold yang ditentukan. Korespondensi antar objek tersebut memiliki beberapa kemungkinan, yaitu 1) satu ke satu, 2) satu ke nol, 3) nol ke satu, 4) satu ke banyak, dan 5) banyak ke satu.
Selanjutnya setiap kasus akan ditangani sebagai berikut: 1) Satu ke satu Untuk korespondensi satu ke satu, artinya satu objek pada frame ke-t dekat tepat dengan satu objek pada frame ke-(t-1). Pada kasus seperti ini, akan dibandingkan fitur warna pada kedua objek ini, dengan persamaan (29). Jika perbedaan fitur warna pada kedua objek ini lebih kecil dari batas yang ditetapkan (threshold), dapat disimpulkan bahwa kedua objek tersebut sama, oleh karena itu dapat dilakukan track dari objek t-1 ke objek t. 2) Satu ke nol Objek yang ada pada frame ke-t sebelumnya (pada frame ke-(t-1)) belum pernah ada. Pada kondisi ini, ada dua kemungkinan. Kemungkinan yang pertama adalah terciptanya objek bergerak baru atau terbentuknya “hantu” yang disebabkan ada benda yang sebelumnya berhenti kemudian bergerak (latar belum masuk distribusi latar). Pada awalnya, begitu terdeteksi objek yang terbentuk ini akan langsung dimasukkan ke daftar objek yang ada. Untuk mengetahui kategori dari objek tersebut, akan dilakukan pengecekan terhadap sejarah gerakan objek tersebut selama beberapa frame ke depan. Jika tidak ada pergerakan hingga misalnya 10 frame, maka objek tersebut akan dianggap “hantu” dan akan dihilangkan dari daftar objek yang terdeteksi. 3) Nol ke satu Hal ini terjadi jika objek yang ada pada frame ke-(t-1) menghilang pada frame ke-t. Ada tiga kemungkinan yang terjadi, yaitu objek berdiam untuk waktu yang cukup lama, sehingga akan ikut ke dalam distribusi latar, objek pada frame ke-t tidak terdeteksi sebagai objek (karena warnanya serupa dengan latar), atau objek memang menghilang dari frame. Untuk mengetahui hal ini, dilakukan pengecekan fitur warna objek pada frame ke-(t-1) dengan posisi yang sama pada frame ke-t (29). Jika fitur warna menunjukkan kesamaan, artinya objek berdiam di tempat, dan dilakukan track antara objek pada frame ke-(t-1) dengan posisi yang sama pada frame ke-t. Jika tidak sama, maka akan dicek objek pada tempat prediksi pada frame ke-t berdasarkan jalur objek yang ditemukan sebelumnya. Jika tidak cocok, maka objek akan dihilangkan. 4) Satu ke banyak
Figure 3. Hasil lokalisasi objek
Pada kasus ini, satu buah objek pada frame ke-t terkait dengan lebih dari satu buah objek pada frame ke-(t-1).
Untuk kasus ini, ada dua kemungkinan yang terjadi pada objek tersebut, yaitu objek-objek tersebut mengalami oklusi atau penumpukan pada frame ke-t atau objek-objek pada t-1 tersebut merupakan satu objek yang terpisah karena deteksi yang kurang sempurna. Untuk mengetahuinya, dilakukan dua buah pengecekan. Pertama adalah pengecekan jalur dari objek pada t-1. Dari jalur yang disimpan, kita dapat memprediksi jalur yang akan ditempuh selanjutnya. Jika hasil prediksi tempat objek tersebut pada t tepat (ada citra dengan fitur sama pada t di jalur hasil prediksi tersebut), maka selanjutnya adalah membandingkan ukuran dan fitur warna objek yang ada pada frame ke-t dengan gabungan objek yang ada pada frame ke-(t-1). Jika kedua ini cocok, artinya terjadi deteksi kurang sempurna pada frame ke-(t-1) sehingga objek akan digabungkan. Jika tidak, kesimpulannya adalah objek-objek tersebut mengalami penumpukan/oklusi dan tetap akan ditrack sebagai objek-objek yang terpisah. 5) Banyak ke satu Beberapa objek yang dideteksi pada frame ke-t dapat berkaitan dengan hanya satu objek pada frame ke-(t1). Hal ini dapat menandakan beberapa kemungkinan, yaitu objek yang asalnya bertumpuk menjadi berpisah atau objek pada frame ke-t yang terdeteksi secara tidak sempurna sehingga terdeteksi menjadi beberapa objek. Untuk mengetahui hal tersebut, dilakukan penggabungan terhadap objek-objek pada frame ke-t, kemudian dilakukan pembandingan dari segi ukuran dan fitur warna. Jika dari keduanya tidak ada perbedaan yang signifikan, maka dapat disimpulkan bahwa yang terjadi adalah objek yang terdeteksi secara tidak sempurna. Adapun jika ternyata perbedaan tersebut cukup signifikan, maka akan dikategorikan sebagai benda bertumpuk yang berpisah. Gambar 4 menunjukkan hasil tracking pada citra bergerak. Setiap objek akan ditandai dengan ID yang dijaga pada setiap frame dengan tracking.
Figure 4. Hasil evaluasi temporal terhadap objek
IV.
EKSPERIMEN
Algoritma yang diajukan pada bagian III kemudian diimplementasi dan dilakukan eksperimen untuk mengetahui tiga aspek kinerja, yaitu efektivitas, efisiensi, dan robustness. Efektivitas adalah seberapa baik teknik ini dalam menyelesaikan persoalan deteksi dan tracking objek untuk pengawasan gambar bergerak. Efisiensi adalah seberapa cepat teknik ini dieksekusi dan faktor-faktor apa yang mempengaruhinya. Robustness membahas apakah teknik ini dapat digunakan dalam semua keadaan (siang / malam, cuaca buruk, sudut kamera rendah, dan lain-lain). Adapun perangkat komputasi yang digunakan untuk pengujian algoritma ini adalah sebagai berikut: -
Prosesor Intel(R) Core(TM) i5-3230M CPU @ 2.60 GHz (4 core) RAM 4.00 GB Sistem Operasi Windows 7 Professional 64-bit Implementasi dengan Python 2.7.7 dengan library numpy untuk komputasi array dan OpenCV untuk input/output video.
Dataset yang akan digunakan untuk pengujian merupakan citra outdoor yang mewakili untuk keadaan-keadaan yang diinginkan. Tabel I menunjukkan karakterstik dataset yang digunakan pada eksperimen algoritma ini. TABLE I.
KARAKTERISTIK DATASET YANG DIGUNAKAN Karakteristik
No.
Dataset
Ukuran
FPS
Jumlah
Kontras
Karakteristik
Objek
Warna
Latar
1
PETS2009
340 x 260
25.0
Sedang
Tinggi
Statik
2
Jalan
482 x 269
20.0
Sedang
Rendah
Statik
raya
pelabuhan 3
IP-camera
640 x 360
25.0
Tinggi
Tinggi
Statik
4
Ori-
161 x 121
10.0
Rendah
Tinggi
Dinamik
768 x 576
30.0
Sedang
Rendah
Dinamik
WaterObject 5
Traffic-snow
A. Efektivitas Efektivitas merupakan hal yang sangat penting dalam implementasi sebuah algoritma. Hal ini akan menunjukkan seberapa baik algoritma yang diajukan dalam menyelesaikan persoalan yang dihadapi. Efektivitas untuk deteksi dan tracking objek akan dihitung berdasarkan perbandingan antara hasil deteksi dan kebenaran di lapangan berdasarkan pengamat manusia. Perbandingan ini akan dikuantifikasi berdasarkan perhitungan confusion matrix dan precision, recall, serta fmeasure. Tabel II menunjukkan hasil perhitungan precision, recall, dan f-measure untuk masing-masing dataset.
TABLE II.
HASIL PRESICION, RECALL, DAN F-MEASURE DARI EKSPERIMEN
No.
Dataset
Precision
Recall
F-measure
1
PETS2009
90.5 %
90.5 %
90.5 %
2
Jalan
85.7 %
93.7 %
89.5 %
raya
pelabuhan 3
IP-camera
91.9 %
82.6 %
87.0 %
4
Ori-WaterObject
14.3 %
100 %
25.0 %
5
Traffic-snow
21.8 %
100 %
35.8 %
B. Efisiensi Algoritma deteksi dan tracking objek untuk citra bergerak tidak dapat digunakan dengan baik jika berjalan dengan waktu yang lama. Oleh karena itu, efisiensi dari algoritma yang diajukan dihitung untuk mengukur apakah algoritma tersebut layak untuk digunakan, serta faktor-faktor apa saja yang mempengaruhinya. Kinerja algoritma akan dihitung dengan frame per second (fps). Waktu yang dibutuhkan untuk memproses setiap frame berbeda-beda. Oleh karena itu, akan diukur fps minimum, fps maksimum, dan fps rata-rata untuk pemrosesan yang dilakukan. Tabel III menunjukkan hasil perhitungan tersebut pada dataset yang diujikan. TABLE III.
FPS MINIMUM, MAKSIMUM, DAN RATA-RATA PADA DATASET YANG DIUJIKAN
No.
Dataset
FPS
FPS
FPS
minimum
maksimum
ratarata
1
PETS2009
2
Jalan
raya
11.11
18.51
16.59
5.00
11.63
9.53
pelabuhan 3
IP-camera
2.81
5.88
5.26
4
Ori-WaterObject
15.62
76.92
63.42
5
Traffic-snow
0.41
2.81
2.23
C. Diskusi Dari hasil pengujian yang dilakukan, dapat dilihat beberapa hal dalam masukan video yang mempengaruhi penggunaan dan kualitas hasil dari algoritma yang diajukan. Hal-hal tersebut antara lain adalah ukuran citra input, kepadatan benda bergerak, noise pada latar, kualitas gambar untuk masukan, dan sudut pandang pengambilan gambar. Untuk efektivitas, dilihat pada tabel II, pengujian dataset PETS2009 memiliki hasil yang paling baik, karena objek-objek pada video tersebut jelas terpisah dan memiliki kualitas yang bagus, walaupun masih ada beberapa kekurangan. Untuk dataset kedua dan ketiga, hasil yang diperoleh baik, namun masih bisa ditingkatkan. Hal ini disebabkan oleh kontras warna pada video kedua (jalan raya pelabuhan) kurang baik sehingga
beberapa objek salah dideteksi dan berujung pada false positive. Ada catatan juga pada video ini, yaitu beberapa objek hanya terdeteksi sebagian saja. Pada video ketiga (ip-camera), kekurangan disebabkan ramainya objek yang ada, serta saling bertumpuknya objek yang lewat karena sudut pandang kamera yang terlalu datar, sehingga ada beberapa objek yang seharusnya terdeteksi sebagai objek yang terpisah, namun terdeteksi sebagai objek yang sama. Untuk dataset keempat (water-object) dan kelima (trafficsnow) memperoleh hasil yang kurang baik karena banyak terdapat noise dari latar yang sangat dinamik dan berujung pada banyaknya false positive. Namun noise dari latar yang dinamik tersebut dapat berkurang setelah model latar beradaptasi untuk beberapa frame. Akurasi dapat ditingkatkan dengan menambahkan model objek yang diinginkan ke dalam algoritma tersebut, sehingga pembentukan objek dapat lebih baik. Selain itu, dapat juga diberikan waktu awal untuk membentuk model latar yang lebih baik untuk mengurangi noise dari latar yang dinamik. Jika perlu, model yang dihasilkan dapat lebih banyak, namun tentu saja akan membutuhkan waktu pemrosesan yang lebih lama. Dari segi efisiensi, dilihat pada tabel III, kecepatan pemrosesan citra bergerak pada beberapa dataset belum mencapai kecepatan real-time, masih berkisar di angka 3050%. Adapun kecepatan pemrosesan ini dipengaruhi oleh beberapa hal, antara lain ukuran citra, kompleksitas citra, dan jumlah objek yang terdeteksi dalam citra. Beberapa solusi yang dapat diajukan untuk persoalan efisiensi algoritma ini antara lain adalah melakukan frame skip, yaitu tidak melakukan pemrosesan untuk setiap frame, tetapi setiap n frame (n bisa diisi angka yang kecil, seperti 2 atau 3). Dengan ini, alokasi waktu pemrosesan akan lebih banyak. Selain itu, untuk menangani kompleksitas citra, bisa diberlakukan batas frame untuk mulai melakukan tracking. Beberapa frame awal dapat dilakukan untuk membentuk citra latar yang bagus sehingga objek-objek noise lebih sedikit terdeteksi. Selain itu implementasi pemrograman untuk algoritma ini juga masih dapat ditingkatkan untuk menambah kecepatan. V.
PENUTUP
A. Simpulan 1. Deteksi dan tracking yang diajukan dengan algoritma K-Means dan evaluasi spasial-temporal dapat melakukan deteksi dan tracking objek dengan baik pada video dengan latar statik, namun masih memiliki kekurangan untuk video dengan latar dinamik. Meskipun begitu, algoritma ini dapat beradaptasi dengan baik dengan latar dinamik setelah beberapa frame. 2. Implementasi yang diajukan masih kurang baik dari segi efisiensi, terutama dalam melakukan deteksi dan
[9]
R. Cucchiara, M. Piccardi, a. Prati, and N. Scarabottolo, “Real-time detection of moving vehicles,” Proc. 10th Int. Conf. Image Anal. Process., no. Iciap 99, pp. 1–13, 1999.
[10]
M. Piccardi, “Background subtraction techniques: a review,” 2004 IEEE Int. Conf. Syst. Man Cybern. (IEEE Cat. No.04CH37583), vol. 4, pp. 3099–3104, 2004.
[11]
Y. Dedeoglu, “Moving Object Detection, Tracking and Classification for Smart Video Surveillance,” Bilkent University, 2004.
[12]
a J. Lipton, H. Fujiyoshi, and R. S. Patil, “Moving target classification and tracking from real-time video,” Proc. Fourth IEEE Work. Appl. Comput. Vis. WACV98 Cat No98EX201, vol. 98, no. 2, pp. 8–14, 1998.
[13]
R. T. Collins, A. J. Lipton, T. Kanade, H. Fujiyoshi, D. Duggins, Y. Tsin, D. Tolliver, N. Enomoto, O. Hasegawa, P. Burt, and L. Wixson, A System for Video Surveillance and Monitoring, vol. 823, no. 8. 2000.
Implementasi paralelisasi untuk masingmasing langkah pada algoritma yang diajukan.
[14]
L. Wang, W. Hu, and T. Tan, “Recent developments in human motion analysis,” Pattern Recognit., vol. 36, no. 3, pp. 585–601, 2003.
Penggunaan frame skip agar video keluaran bisa selaras dengan video masukan.
[15]
S. S. Cheung and C. Kamath, “ROBUST TECHNIQUES FOR BACKGROUND SUBTRACTION IN URBAN TRAFFIC VIDEO,” IS&T/SPIE’s Symp. Electron. Imaging, pp. 881–892, 2004.
[16]
J. Rahman, “Motion Detection for Video Surveillance,” 2008.
[17]
J. Zhu, “A Novel Method for Traffic Object Detection Based on Improved Approximated Median Filter,” vol. 8, no. August, pp. 2253–2261, 2012.
[18]
B. P. L. Lo and S. A. Velastin, “Automatic congestion detection system for underground platforms,” 2001.
[19]
C. Wren and A. Azarbayejani, “Pfinder: Real-time tracking of the human body,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 19, no. 7, pp. 780–785, 1997.
[20]
R. Cucchiara, C. Grana, M. Piccardi, and A. Prati, “Detecting Objects , Shadows and Ghosts in Video Streams by Exploiting Color and Motion Information,” 2003.
[21]
L. Su and H. Chen, “Video-background update based on Median Filtering,” 2010.
[22]
N. McFarlane and C. Schoeld, “Segmentation and tracking of piglets in images,” 1995.
D. Neelima and G. Mamidisetti, “a Computer Vision Model for Vehicle Detection in Traffic Surveillance,” Ijesat.Org, no. 5, pp. 1203–1209, 2012.
[23]
T. Bouwmans, F. El Baf, and B. Vachon, “Background Modeling using Mixture of Gaussians for Foreground Detection - A Survey,” Recent Patents Comput. Sci., vol. 1, no. 3, pp. 219–237, 2008.
J. Zhou, D. Gao, and D. Zhang, “Moving Vehicle Detection for Automatic Traffic Monitoring,” IEEE Trans. Veh. Technol., vol. 56, no. 1, pp. 51–59, Jan. 2007.
[24]
A. Elgammal, D. Harwood, and L. Davis, “Non-parametric model for background subtraction,” Comput. Vision—ECCV 2000, vol. 1843, pp. 751–767, 2000.
[25]
C. Stauffer and W. E. L. Grimson, “Adaptive background mixture models for real-time tracking,” Proc. 1999 IEEE Comput. Soc.
tracking objek pada latar dinamik dan objek yang banyak. 3. Dalam melakukan deteksi dan tracking, algoritma yang diajukan dapat melakukannya dengan baik pada video pengawasan dengan kamera stasioner. Hal ini dapat dilihat dari angka false negative yang rendah pada setiap dataset yang diujikan. B. Saran Pengembangan 1. Akurasi deteksi dan tracking objek dapat ditingkatkan dengan penggunaan model objek yang ingin ditemukan dan model latar yang lebih menggambarkan latar situasi pada video. Selain itu dapat juga ditambahkan kriteria lain dalam postprocessing agar objek yang diperoleh lebih jelas. 2.
Untuk meningkatkan efisiensi pemrosesan algoritma, dapat dilakukan peningkatan sebagai berikut: a.
b.
REFERENSI [1]
[2]
N. Buch, S. A. Velastin, and J. Orwell, “A Review of Computer Vision Techniques for the Analysis of Urban Traffic,” IEEE Trans. Intell. Transp. Syst., vol. 12, pp. 920–939, 2011. V. Kastrinaki, M. Zervakis, and K. Kalaitzakis, “A survey of video processing techniques for traffic applications,” Image Vis. Comput., vol. 21, pp. 359–381, 2003.
[3]
B. D. Stewart, I. Reading, M. S. Thomson, T. D. Binnie, K. W. Dickinson, and C. I. Wan, “Adaptive lane finding in road traffic image analysis,” in Seventh International Conference on Road Traffic Monitoring and Control, 1994.
[4]
N. Buch, J. Orwell, and S. a. Velastin, “Detection and classification of vehicles for urban traffic scenes,” in International Conference of Visual Information Engineering, 2008, pp. 182–187.
[5]
S. Kamijo, K. Ikeuchi, and M. Sakauchi, “Vehicle tracking in lowangle and front-view images based on spatio-temporal markov random field model,” in 8th World Congress on ITS, Sydney Oct, 2001, pp. 1–12.
[6]
[7]
[8]
Y. Park, “Shape-resolving local thresholding for object detection,” Pattern Recognit. Lett., vol. 22, no. 8, pp. 883–890, 2001.
Conf. Comput. Vis. Pattern Recognit. Cat No PR00149, vol. 2, no. c, pp. 246–252, 1999.
[31]
S. Baker and I. Matthews, “Lucas-Kanade 20 years on: A unifying framework,” Int. J. Comput. Vis., vol. 56, no. 3, pp. 221–255, 2004.
[26]
Z. Zivkovic, “Improved adaptive Gaussian mixture model for background subtraction,” Proc. 17th Int. Conf. Pattern Recognition, 2004. ICPR 2004., vol. 2, no. 2, 2004.
[32]
Intel-Corporation, “Open Source Computer Vision Library Reference Manual,” 2001.
[33] [27]
W. Luo, J. Xing, X. Zhang, X. Zhao, T. Kim, and C. V May, “Multiple Object Tracking : A Review,” Comput. Vis. Pattern Recognit., pp. 1–39, 2015.
Y. Cheng, “Mean shift, mode seeking, and clustering,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 17, no. 8, pp. 790–799, 1995.
[34]
D. Comaniciu, P. Meer, and S. Member, “Mean Shift: A Robust Approach Toward Feature Space Analysis,” vol. 24, no. 5, pp. 603– 619, 2002.
[35]
G. R. Bradski, “Computer Vision Face Tracking For Use in a Perceptual User Interface,” Intel Technol. J., vol. 2, no. 2, pp. 12– 21, 1998.
[36]
J. G. Allen, R. Y. D. Xu, and J. S. Jin, “Object Tracking Using CamShift Algorithm and Multiple Quantized Feature Spaces,” vol. 36, 2006.
[28]
E. Trucco and K. Plakas, “Video Tracking : A Concise Survey,” vol. 31, no. 2, pp. 520–529, 2006.
[29]
B. Lucas and T. Kanade, “An iterative image registration technique with an application to stereo vision.,” IJCAI’81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2. pp. 674–679, 1981.
[30]
C. Tomasi, “Detection and Tracking of Point Features Technical Report CMU-CS-91-132,” Image Rochester NY, vol. 91, no. April, pp. 1–22, 1991.