Anda di halaman 1dari 22

Technologica x (x): xx-xx (xxxx)

Technologia
ISSN: xxxx-xxxx(Online) www.technologica. gesociety.org ISSN: xxxx-xxxx (Print)

DETEKSI OBJEK MENGGUNAKAN HAARCASCADE CLASSIFER


OBJECT DETECTION USING HARRCASCADE CLASSIFER

,Al Fazri, Amrizal , S.Kom., M.Kom

Program Studi Teknologi Rekayasa Komputer, Politeknik Pertanian Negeri Payakumbuh, 50


Kota, Indonesia
*
Penulis Korespondesi
Email: sptmbr23092003@gmail.com

Pengenalan objek adalah fungsi penting dari ilmu komputer. Namun, manfaat Pengenalan
Objek tidak terbatas pada mereka yang memiliki gelar PhD di bidang Ilmu Komputer.
Sebaliknya, deteksi objek menembus lebih dalam ke ranah umum masyarakat informasi,
memberikan bantuan jika diperlukan. Makalah ini menjelaskan salah satu kemungkinan ini,
bantuan pengklasifikasi kaskade Haar. Fokus utama adalah studi kasus sistem deteksi
kendaraan dan sistem penghitungan dan kemungkinan yang mereka tawarkan di area semi-
tertutup (baik jenis statistik dan masyarakat umum). Tujuan dari sistem yang dikembangkan
di adalah untuk lebih menyederhanakan dan melengkapi bagian-bagian duniawi dari
kehidupan kita.

Object recognition is an important function of computer science. However, the Benefits of


Object Recognition are not limited to those with a PhD in Computer Science. In contrast, object
detection penetrates deeper into the general realm of the information society, providing
assistance when needed. This paper describes one of these possibilities, the aid of the Haar
cascade classifier. The main focus is case studies of vehicle detection systems and counting
systems and the possibilities they offer in semi-enclosed areas (both statistical types and the
general public). The purpose of the developed system is to exceed and complement the world's
parts of our lives.

1. Pendahuluan

Saat ini, sistem sedang dikembangkan dengan fungsi pengenalan wajah, termasuk sistem
keamanan akses dan sistem kontrol. pengenalan wajah yang unik dapat dilakukan dengan
beberapa cara. Salah satunya adalah bagaimana menggunakan taksonomi Haarcascade . Hair

Technologica 1
Judul Artikel

Cascade Classification Algorithm merupakan salah satu algoritma yang digunakan untuk
mendeteksi wajah. Algoritma mampu secara cepat dan real time mengenali objek yang berisi
wajah. Algoritma Haar Cascade Classifier memiliki kelebihan yaitu komputasi cepat karena
hanya bergantung pada jumlah piksel persegi pada citra . Banyak pengembangan yang telah
dilakukan dalam pengenalan dan pengenalan citra wajah, namun hasilnya masih jauh dari
sempurna
2. Bahan dan Metode
1.1 Visi komputer

Computer vision adalah bidang informatika,yang mengajarkan komputer untuk melihat. Ini
adalah sebuahcara komputer mengumpulkan dan menafsirkaninformasi visual dari
sekitarlingkungan [1].Biasanya gambar diproses terlebih dahulu ditingkat yang lebih rendah
untuk meningkatkan kualitas gambar,misalnya menghilangkan kebisingan. Kemudiangambar
diproses pada tingkat yang lebih tinggi,misalnya mendeteksi pola danbentuk, dan dengan
demikian mencoba untuk tentukan, apa yang ada di gambar [2]

1.2 Deteksi objek

Deteksi objek biasa disebutsebagai metode yang bertanggung jawab untukmenemukan dan
mengidentifikasikeberadaan objek dari tertentu.Perpanjangan ini dapat dipertimbangkansebagai
metode pemrosesan gambar untukmengidentifikasi objek dari citra digital.

1.3 Deteksi sederhana berdasarkan warna

Salah satu cara untuk melakukannya, cukup mengklasifikasikan objek pada gambar menurut
warnanya.Ini adalah varian utama yang digunakan dalam, forcontoh, sepak bola robot, di
manatim yang berbeda telah mengumpulkan merekarobot dan berhadapan langsung dengan yang
lain2tim.Namun, pendekatan kode warna inimemiliki kekurangannya. Eksperimen dikompetisi
RoboCup internasionaltelah menunjukkan bahwa kondisi pencahayaansangat merugikan
bagihasil pertandingan dan bahkanperubahan cahaya sekitar sekecil apa pun dapatterbukti fatal
bagi keberhasilan satu atautim lain. Peserta perlumengkalibrasi ulang sistem mereka beberapa
kalibahkan di bidang yang sama, karenaperubahan cahaya ambient kecil yang terjadidengan
waktu hari. [3] Tentu saja, inijenis deteksi tidak cocok untuk sebagian besaraplikasi dunia nyata,
hanya karenakebutuhan konstan untuk kalibrasi ulang dan

1.4 Pengenalan fitur seperti Haar

Metode yang lebih canggih adalaholeh karena itu diperlukan. Salah satu metode tersebutakan
menjadi deteksi objek darigambar menggunakan fitur atau spesifikstruktur objek yang
bersangkutan.Namun, ada masalah.Bekerja hanya dengan intensitas gambar,yang berarti nilai
piksel RGB di setiappiksel tunggal dalam gambar, membuat fiturperhitungan agak
komputasimahal dan karenanya lambat pada sebagian besar platform.

Technologica 2
Penulis pertama, kedua atau penulis pertama. et al

Masalah ini telah diatasi dengan apa yang disebut fitur mirip Haar, yang dikembangkan
olehViola dan Jones atas dasarproposal oleh Papageorgiou et. al in1998.Fitur seperti Haar
mempertimbangkandaerah persegi yang bertetangga di alokasi tertentu di jendela
deteksi,meringkas intensitas piksel di masing-masingwilayah dan hitung selisihnyaantara jumlah
ini. Perbedaan ini adalahkemudian digunakan untuk mengkategorikan subbagian darisebuah
gambar.Contohnya adalahdeteksi wajah manusia. Umumnya,area sekitar mata lebih
gelapdaripada area di pipi. Satucontoh fitur seperti Haar untuk wajah olleh karena itu deteksi
adalah satu set duadaerah persegi yang berdekatan di atasdaerah mata dan pipi. [4]

1.5 Pengklasifikasi kaskade

Pengklasifikasi kaskade terdiri dari daftar tahapan, di mana setiap tahapan terdiri dari daftar
peserta didik yang lemah. Sistem mendeteksi objek yang dimaksud dengan menggerakkan
jendela di atas gambar. Setiap tahap pengklasifikasi memberi label wilayah tertentu yang
ditentukan oleh lokasi jendela saat ini sebagai positif atau negatif – positif yang berarti bahwa
suatu objek ditemukan atau negatif berarti bahwa objek yang ditentukan tidak ditemukan dalam
gambar. Jika pelabelan menghasilkan hasil negatif, maka klasifikasi wilayah khusus ini dengan
ini selesai dan lokasi jendela dipindahkan ke lokasi berikutnya. Jika pelabelan memberikan hasil
positif, maka wilayah tersebut berpindah ke tahap klasifikasi berikutnya. Pengklasifikasi
menghasilkan putusan akhir positif, ketika semua tahapan, termasuk yang terakhir, menghasilkan
hasil, mengatakan bahwa objek ditemukan dalam gambar. 3 Benar positif berarti bahwa objek
yang dimaksud memang ada dalam gambar dan pengklasifikasi memberi label demikian – hasil
positif. Positif palsu berarti bahwa proses pelabelan salah menentukan, bahwa objek terletak
pada gambar, meskipun tidak. Negatif palsu terjadi ketika pengklasifikasi tidak dapat mendeteksi
objek sebenarnya dari gambar dan negatif sejati berarti bahwa nonobjek adalah pengklasifikasi
yang benar sebagai bukan objek yang dimaksud. Agar bekerja dengan baik, setiap tahap kaskade
harus memiliki tingkat negatif palsu yang rendah, karena jika objek sebenarnya diklasifikasikan
sebagai non-objek, maka klasifikasi cabang itu berhenti, tanpa ada cara untuk memperbaiki
kesalahan yang dibuat. Namun, setiap tahap dapat memiliki tingkat positif palsu yang relatif
tinggi, karena bahkan jika tahap ke-n mengklasifikasikan non-objek sebagai objek yang
sebenarnya, maka kesalahan ini dapat diperbaiki pada tahap pengklasifikasi ke-n+1 dan
selanjutnya . [5]

Technologica 3
Judul Artikel

2.persamaan terkait

2.1 Penghitungan Mobil Sistem PureTech

Sistem menggunakan gambar yang diterima dari Kamera video IP dan analog untuk
dideteksi dan menghitung kendaraan. Canggih algoritma latar belakang lalu filter apa saja
gangguan yang tidak perlu dan mungkin terjadi, seperti bayangan atau perubahan pencahayaan.
Ketika sebuah objek di terdeteksi, khusus filter pastikan untuk meminimalkan peluang untuk
menghitung barang bukan kendaraan, misalnya manusia dan barang bawaan. yang diselesaikan
count kemudian dikeluarkan, berdasarkan konfigurasi awal - berdasarkan lantai atau khusus
daerah. Video diproses di pusat lokasi pemantauan, yang berarti di sana tidak perlu memotong
trotoar atau dengan cara yang sama mempengaruhi lingkungan sedemikian rupa, yaitu umumnya
diperlukan untuk loop induktif detektor lalu lintas, di mana detektor perlu ditempatkan di dalam
trotoar, yang merupakan metode yang cukup umum untuk mendeteksi kendaraan di belakang
lampu lalu lintas. Salah satu masalah dengan sistem ini adalah, namun, itu hanya mendeteksi
mobil sebagai mereka masuk atau meninggalkan tempat parkir. Ini pada gilirannya berarti bahwa
perlu ada kamera atau penghitung seperti itu di depan setiap titik masuk dan keluar, secara
berurutan untuk memastikan bahwa tidak ada kendaraan yang terjawab, yang berarti bahwa
semua ini kamera perlu dibeli, dipasang dan dilayani, yang berarti bahwa klien tertentu akan
menghadapi kemungkinan pengeluaran yang cukup besar untuk menjaga semua perangkat aktif
dan berjalan. [6].

2.2 Kendaraan Real-time Otonom Deteksi dari Tingkat Menengah UAV

Sarana utama untuk kendaraan deteksi memanfaatkan beberapa pengklasifikasi Haar


bertingkat. Untuk aplikasi, empat pengklasifikasi Haarcascade terpisah dilatih berdasarkan pada
kendaraan sampel yang dikategorikan ke dalam empat orientasi posisi yang berbeda untuk garis
horizontal, menghasilkan offset searah jarum jam dari 0, 45, 90, 135 derajat. Set pelatihan
dengan demikian dibagi menjadi himpunan bagian yang terpisah berdasarkan sudut pandang

Technologica 4
Penulis pertama, kedua atau penulis pertama. et al

terdekat dari jarak sumbu roda kendaraan. Yang terpisah Pengklasifikasi Haar yang mengalir
telah dilatih untuk setiap subset. Hasilnya kemudian lulus melalui disjungtif sekunder proses
verifikasi, yang berarti bahwa a kendaraan mungkin ada di satu atau lebih dari masukan gambar,
jika satu atau lebih dari pengklasifikasi khusus orientasi yang berbeda membuahkan hasil yang
positif. Set yang dikembalikan wilayah kemudian digabung untuk menyelesaikan tumpang tindih
dan menghasilkan satu set deteksi dari input. Setiap wilayah juga diuji dengan berbagai tes logis
dari lebar dan tinggi – apakah itu benar-benar mungkin? untuk gambar ukuran ini menjadi
kendaraan. [7] 2.3 Deteksi Kendaraan Bermata dan Pelacakan Sistem yang dikembangkan
melibatkan tiga langkah-langkah utama. Pertama, target mobil awal adalah dihasilkan dengan
pengklasifikasi Haar-cascade. Hanya kandidat yang lolos semua tahapan diklasifikasikan sebagai
positif dan yang ditolak sama sekali tahap diklasifikasikan sebagai negatif. Itu keuntungannya
adalah sebagian besar kandidat awal sebenarnya negatif gambar, yang biasanya tidak dapat
melewati beberapa tahap pertama. Tahap awal ini penolakan sehingga sangat mengurangi waktu
komputasi secara keseluruhan.

Setelah tahap pertama selesai, validasi target digunakan, yang didasarkan pada fitur lampu
mobil. Karena bisa ada beberapa positif palsu dalam gambar output oleh tahap pertama dari
sistem, yang berasal dari batasan dari set pelatihan. Untuk mengurangi yang salah tingkat alarm,
algoritma menggunakan sebelum disebutkan fitur lampu mobil. Terlepas dari bentuk, tekstur
atau warna kendaraan, mereka semua berbagi fitur umum – semuanya berwarna merah lampu di
bagian belakang. Dengan demikian asumsi bahwa sebagian besar positif palsu terdeteksi pada
tahap pertama tidak memiliki seperti itu fitur, hasilnya dapat disempurnakan. Terakhir, hasilnya
lebih disempurnakan oleh Kalman melacak objek. Itu 5 Ide utama dari langkah ini didasarkan
pada pelacakan hipotesis tiga tahap. Pertama, jika area yang baru terdeteksi muncul dan
berlangsung selama lebih dari jumlah tertentu langkah, hipotesis objek adalah dihasilkan. Maka
diprediksi dimana lokasi objek berikutnya seharusnya

Technologica 5
Judul Artikel

3. Hasil dan Pembahasan

Pada awalnya deteksi obyek dilakukan menggunakan metode-metode deteksi tepi seperti
Sobel, Prewitts atau Canni. Deteksi tepi dengan metode-metode tersebut sangat menguras
sumber daya karena tingginya komputasi yang dilakukan picture element (pixel) demi pixel
(Sajati & Astuti, 2013).  Penggunaan deteksi tepi untuk pendeteksian obyek tidak efektif pada
obyek bergerak seperti dalam format video dimana pergerakan frame dalam sebuah video dapat
mencapai 20 frame per detik (fps). Metode deteksi tepi juga tidak efektif untuk diterapkan
sebagai sistem pendeteksian obyek pada object tracking atau fast object tracking. 

Haar-Like Feature

Haar like Feature merupakan metode yang lazim digunakan dalam pendeteksian obyek. Nama
Haar sendiri mengacu pada Haar Wavelet, sebuah fungsi matematika yang berbentuk kotak dan
memiliki prinsip seperti pada fungsi Fourier.  (Purwanto, Dirgantoro, & Jati, 2015). Haar-like
features merupakan rectangular features (fungsi persegi), yang memberikan indikasi secara
spesifik pada sebuah gambar atau image. Prinsip Haar-like features adalah mengenali obyek
berdasarkan nilai sederhana dari fitur tetapi bukan merupakan nilai piksel dari image obyek
tersebut. Metode ini memiliki kelebihan yaitu komputasinya sangat cepat, karena hanya
bergantung pada jumlah piksel dalam persegi bukan setiap nilai piksel dari sebuah image (Viola,
Paul,&Jones,2001). Deteksi obyek kendaraan pada penelitian ini merupakan pemodifikasian
sistem Haar-like features dari deteksi wajah yang pertama kali dilakukan oleh Viola dan Jones
kemudian dikembangkan oleh Lienhart (Viola, Paul, & Jones, 2001) (Lienhart, Rainer, & Maydt,
2002). Metode yang diusulkan Viola dan Jones menggabungkan empat kunci utama untuk
mendeteksi sebuah obyek (Viola, Paul, & Jones, 2001):

1. Fitur persegi sederhana, disebut fitur Haar


2. Integral image untuk pendeteksian fitur dengan cepat
3. Metoda AdaBoost machine-learning
4. Cascade classifier untuk mengkombinasikan banyak fitur
Haar like feature memproses citra dalam sebuah kotak persegi dengan ukuran tertentu misalnya
24 x 24 pixel seperti ditunjukkan pada gambar 1 sebagai berikut:

Technologica 6
Penulis pertama, kedua atau penulis pertama. et al

Gambar 1. Rectangular Feature Haar Cascade

Di dalam kotak inilah proses filtering obyek dilakukan untuk diketahui apakah ada atau tidak
obyek yang akan dideteksi. Proses filterisasi ini dilakukan secara bertingkat yang menyebabkan
metode ini nantinya disebut sebagai Haar Cascade Classifier seperti ditunjukkan pada skema
filter di gambar 2 sebagai berikut:

Gambar 2. Skema Pendeteksi Obyek

Technologica 7
Judul Artikel

Hasil deteksi Haar-like Feature kurang akurat jika hanya menggunakan satu fungsi saja.
Semakin tinggi tingkatan filter pendeteksian maka semakin tepat pula sebuah obyek dideteksi
akan tetapi akan semakin lama proses pendeteksiannya. Pemrosesan Haar-like feature yang
banyak tersebut diatur dalam classifier cascade.

Haar-Wavelet (Wave = Gelombang) merupakan gelombang persegi (interval gelap dan interval
terang) yang kemudian dibandingkan nilai rata-rata pixel keduanya. Apabila perbandingan nilai
rata-rata intensitas tersebut berada di atas threshold (ambang batas), maka dikatakan memenuhi
syarat fitur Haar. Untuk gambar bergerak seperti video, proses ini dilakukan secara diskrit
dengan mencuplik video pada frame rate tertentu. Macam-macam variasi Haar-
like feature ditunjukkan pada gambar 3 sebagai berikut (Pavani, Delgadoa, & Frangia, 2010):

  Gambar 3 Berbagai variasi persegi Haar dengan Bobot Standar Persegi Panjang

Keterangan gambar 3 (Pavani, Delgadoa, & Frangia, 2010):

a, b : Fitur Haar yang diusulkan Papageogiou dkk.

c : Fitur Haar yang diusulkan Viola dan James

d, e, f : Variasi fitur Haar yang diusulkan Leinhardt

g, h : Penguraian Lietal terhadap Fitur Haar-like

i : Fitur Haar-like Viola dan James untuk menangkap struktur diagonal dalam penampilan obyek

Perhitungan nilai fitur Gambar 3 di atas ditunjukkan pada Gambar 4 dan formula (1) sebagai
berikut:

Technologica 8
Penulis pertama, kedua atau penulis pertama. et al

Gambar 4. Fitur Persegi Haar-like

NilaiFitur(ABFE) = JumlahNilaiPixel(ABDC)-JumlahNilaiPixel(CDFE) ....... (1)

Apabila NilaiFitur(ABFE) memiliki nilai di atas threshold maka dikatakan memenuhi syarat.


Seperti dijelaskan pada gambar 2, apabila sebuah fitur dikatakan tidak memenuhi syarat, maka
area ABFE tidak terdapat obyek yang dideteksi dan area perseginya berpindah lokasi akan tetapi
jika persegi ABFE memenuhi fitur, maka aturan fitur berikutnya dilakukan. Jika semua syarat
fitur dipenuhi dikatakan pada persegi ABFE dikatakan terdapat obyek.

Proses pendeteksian mobil menggunakan Haar-like feature ditunjukkan pada Gambar 5 sebagai


berikut:

 Gambar 5. Pendeteksian Kendaraan dengan Haar-like Feature

Integral image

Sebuah citra digital memiliki komponen nilai RGB (kombinasi dari warna merah, hijau dan
biru). Dari nilai RGB tersebut dapat diketahui nilai grayscale (derajat keabu-abuan) yang
dihitung menggunakan formula (2) sebagai berikut:

Grayscale_pixel = 0.2989R + 0.5870G + 0.1140B  ....................................................... (2)

Sebagai contoh sebuah pixel memiliki kombinasi warna R=100, B=100 dan G=100 maka nilai
grayscale menurut formula 2 di atas sama dengan 99.99. Sebuah citra yang dirubah menjadi
grayscale ditunjukkan pada gambar 6 sebagai berikut:

Technologica 9
Judul Artikel

 Gambar 6. Perbedaan Citra Asli dengan Grayscale

Proses pendeteksian obyek ditunjukkan pada diagram alir di Gambar 7 sebagai berikut:

Gambar 7. Pendeteksian Obyek dengan Haar Cascade Clasifier

Technologica 10
Penulis pertama, kedua atau penulis pertama. et al

Pertama, ditentukan terlebih dahulu area yang akan dideteksi apakah terdapat obyek atau
tidak. Proses berikutnya adalah melakukan pendeteksian obyek menggunakan Haar Cascade
Clasifier dengan langkah-langkah yang akan dijelaskan sebagai berikut.
Citra integral adalah sebuah citra yang nilai tiap pixel-nya merupakan penjumlahan nilai pixel
atas dan kirinya. Sebagai contoh pada gambar 5 (c) sebuah daerah persegi yang akan di-scan
menggunakan persegi gelap terang memiliki nilai sebagai berikut: 

Gambar 8 Citra Masukan

 Pada citra masukan yang diberi persegi pada gambar 5 (c) terlihat pada gambar 9 sebagai
berikut:
 

Gambar 9 Persegi Haar Like Pada Citra masukan

Proses perhitungan nilai gelap dan nilai terang di formula 1 menghasilkan nilai Fitur Haar sama
dengan 22. Untuk menghitung Fitur nilai Haar menggunakan Summed Area Table atau yang
dikenal sebagai Integral image,pertama dibentuk matriks nilai integral image.

Proses integral image matriks citra ditentukan menggunakan formula (3) sebagai berikut:
 

Technologica 11
Judul Artikel

s(x,y)=i(x,y)+s(x-1,y)+s(x,y-1)-s(x-1,y-1) ...................................................................... (3)

Dimana x-1 dan y-1 adalah pixel tetangga dari pixel yang akan dihitung seperti terlihat pada
gambar 10 sebagai berikut:

Gambar 10 Pixel Tetangga pada Proses Integral image

Menggunakan formula 3 di atas, integral image dari citra masukan di Gambar 6 terlihat pada


gambar 11 sebagai berikut:

 Gambar 11 Matriks Integral Image dari Citra Masukan

Nilai fitur Haar dari area matriks di gambar 11 dihitung menggunakan formula (4) sebagai
berikut:
 

i(x',y')=s(A)+s(D)-s(B)-s(C) .......................................................................................... (4)


 

Sehingga:

fitur    = (32+2-16-5)-(49+5-32-6)+(77+6-49-9) = 22
 

Hasil ini sesuai dengan perhitungan secara manual menggunakan formula 1. Nilai 22 tersebut
kemudian dibandingkan dengan threshold yang sudah ditentukan sebagai pendeteksian obyek.
Apabila nilai fitur Haar lebih tinggi daripada threshold, maka dapat dikatakan pada area tersebut
memenuhi filter Haar. Sesuai flowchart pada gambar 2, proses ini akan dilanjutkan untuk

Technologica 12
Penulis pertama, kedua atau penulis pertama. et al

menguji kembali area tersebut dengan filter Haar yang lain dan apabila seluruh filter Haar
terpenuhi maka dikatakan pada area tersebut

 Implementasi 

Deklarasi,GlobalVariable Pada bagian ini ditentukan file XML beserta lokasi dari Cascade
Classifier. Tata tulis (syntax) deklarasi Cascade clasifer sebagai berikut: 

CascadeClassifier::CascadeClassifier(const string& filename) 

Berikut petikan programnya:

String cars_cascade_name =
"E:/master/opencv/sources/data/haarcascades/cars3.xml";
CascadeClassifier cars_cascade;
 

File cars3.xml ini ditulis oleh Tomas Uktveris (Uktveris, 2012). Fungsi Pendeteksian Dan
Penampil Obyek Fungsi ini digunakan untuk mendeteksi dan menampilkan obyek kendaraan dari
setiap frame yang ditangkap oleh IP Camera menggunakan cascade classifier yang telah
dideklarasikan sebelumnya. Syntax pendeteksian obyek adalah sebagai berikut:   void
CascadeClassifier::detectMultiScale(const Mat& image, vector<Rect>& objects, double
scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size())
dimana: cascade : Merupakan Haar Cascade Classifier. Classifier yang dipanggil dari XML atau
YAML menggunakan fungsi “load”. Image : Berisi citra yang akan dideteksi obyeknya Object :
Sebuah vektor persegi dimana sebuah obyek yang terdeteksi akan ditandai scaleFactor :
Parameter yang menspesifikasikan rasio pengurangan citra minNeighbors    :    Parameter yang
menspesifikasikan jumlah tetangga persegi yang dipertahankan minSize : Nilai minimal ukuran
obyek. Obyek-obyek dengan ukuran lebih kecil dari nilai ini, akan diabaikan. maxSize : Nilai
maksimal ukuran obyek. Obyek-obyek dengan ukuran lebih besar dari nilai ini akan diabaikan.

Fungsi deteksi dan penampil adalah sebagai berikut: void detectAndDisplay:


( Mat frame )
{
std::vector<Rect> cars;
cv::Mat frame_gray;

cvtColor( frame, frame_gray, CV_BGR2GRAY );


equalizeHist( frame_gray, frame_gray );

cars_cascade.detectMultiScale( frame_gray, cars, 1.1, 2, 0|

Technologica 13
Judul Artikel

CV_HAAR_SCALE_IMAGE, Size(30, 30));

for( size_t i = 0; i < cars.size(); i++ )


{
Point center( cars[i].x + cars[i].width*0.5, cars[i].y +
cars[i].height*0.5 );
ellipse( frame, center, Size( cars[i].width*0.5, cars[i].height*0.5),
0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );
}

cv::imshow( window_name, frame );

Fungsi ini nantinya akan dipanggil di setiap stream frame yang telah di-parsing dari IP Camera.

Membuka Koneksi Dengan IP Camera   

Tahapan pertama dalam proses deteksi kendaraan adalah membuka koneksi ke IP camera.
Protokol yang digunakan adalah Real Time Streaming Protocol (RTSP). Petikan kode program
berikut adalah proses inisialisasi IP Camera menggunakan protokol RTSP:

CvCapture* capture = cvCaptureFromFile("rtsp://192.168.1.1/MJPG?


Q=50&BR=3000000");

Pada bagian ini dapat dilengkapi dengan pengujian apakah IP Camera sudah siap atau belum.
 
if (capture==NULL) {
           printf("video is not ok\n");
           system("PAUSE");
}
else
            printf("video is ready\n");

Memanggil Cascade Classifier

Bagian ini digunakan untuk memanggil file cascade classifier yang telah dideklarasikan pada
global variable. Berikut petikan programnya:
 

if( !cars_cascade.load( cars_cascade_name ) )


{
    printf("--(!)Error loading\n"); system("PAUSE");
    return -1;
};   

Technologica 14
Penulis pertama, kedua atau penulis pertama. et al

Baca Video Stream IP Camera 

Proses berikutnya adalah membaca stream dari video yang ditangkap oleh IP Camera. Berikut
adalah petikan programnya:
 

   if( capture )
   {
     while( true )
     {
        frame = cvQueryFrame( capture );
        if( !frame.empty() )       {
           detectAndDisplay( frame );
         }
           else  {
        printf(" --(!) Tidak ada frame yang terbaca -- Break!");
        break; }
       int c = waitKey(10);
           if( (char)c == 'c' ) { break; }
               }
          }

Menghitung Jumlah Kendaraan

Pada bagian ini, dijelaskan algoritma proses perhitungan obyek kendaraan:

1. Tentukan center point dari obyek yang berhasil dideteksi oleh cascade classifier
2. Tentukan area perhitungan. Area perhitungan adalah sebuah area semu yang menjadi area
perhitungan setiap obyek yang melewatinya.
3. Apabila terdapat center point yang berada di area tersebut maka object counter akan
bertambah satu (increment).
4. Apabila frame video sudah habis, pindahkan nilai perhitungan tersebut ke dalam sebuah
file teks untuk kemudian diproses oleh penentu keputusan perhitungan.
Berikut adalah petikan program perhitungan obyek kendaraannya:
 
    Point center( cars[i].x + cars[i].width*0.5, cars[i].y +
cars[i].height*0.5 );
    cv::line( frame, Point(0,100), Point(400,100), Scalar(255,0,0), 2,
8, 0);
   
    //cout << "Point y : " << cars[i].y << endl;
    if (cars[i].y > 90 && cars[i].y < 115)

Technologica 15
Judul Artikel

{
        cv::ellipse( frame, center, Size( cars[i].width*0.5,
cars[i].height*0.5), 0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );
    jumlah++;
    cout << "Hitung ke : "<< jumlah << endl;
    }   
Pada potongan kode di atas, area semu (area perhitungan) berada pada sumbu y > 90 dan sumbu
y <= 115 seperti terlihat pada gambar 12 sebagai berikut:
 

Gambar 12 Proses Perhitungan Kendaraan

Pada gambar 12 di atas, dapat dihitung jumlah kendaraan yang melewati area pendeteksian. 

Pengurangan latar belakang augmentasi

Untuk mengubah masalah ini, berbeda fitur tambahan harus digunakan. Yang dipilih terkikis
dan melebar. Pelebaran adalah cara untuk membuat terang daerah gambar untuk "tumbuh".
sebagai kernel (matriks kecil yang digunakan untuk gambar pemrosesan) dipindai di atas
gambar, nilai piksel maksimal tumpang tindih dengan kernel dihitung dan gambar piksel di titik
jangkar kernel (biasanya di tengah gambar) adalah diganti dengan nilai maksimal.

Erosi bekerja mirip dengan pelebaran, tetapi alih-alih maksimal, itu menghitung minimum
lokal di atas area kernel, sehingga membuat area gelap gambar lebih besar. Jika seseorang
menerapkan pelebaran pada topeng disediakan oleh MOG, maka area topeng yang bukan nol
akan didapat lebih besar, sehingga meningkatkan kualitas secara keseluruhan dari gambar.
Namun hal ini dapat menimbulkan masalah baru, yaitu fakta bahwa kecil berisik area yang ada
di topeng asli bisa tumbuh lebih besar dan memiliki efek negatif pada masker yang disediakan.
Untuk alasan ini, masker yang pernah melebar terkikis dengan kernel dengan yang lebih kecil
ukuran, sehingga tidak akan membatalkan hasilnya disediakan oleh dilatasi tetapi masih
mengurangi jumlah kebisingan yang dihasilkan oleh proses pelebaran, sehingga memberikan
hubungan simbiosis antara keduanya operasi.

Technologica 16
Penulis pertama, kedua atau penulis pertama. et al

Image 4: MOG with dilation and erosion

Hasil yang diberikan oleh semacam ini penyaringan latar belakang ditingkatkan. Karena
banyak positif palsu disediakan oleh deteksi asli adalah sebenarnya di bagian latar belakang,
seperti pepohonan, trotoar, dll., yaitu selalu ada, maka algoritme membuang area ini sebelum
pengklasifikasi Haarcascade diterapkan. Namun, wilayah yang diciptakan oleh penghapusan
latar belakang dibuat tambahan masalah, seperti pengklasifikasi salah mengira wilayah abu-abu
menjadi hitam sebagai citra positif. 3.2.3 Penggabungan regional

Penggabungan wilayah

selain itu, lapisan penyaringan lainnya ditambahkan, terinspirasi oleh “Kendaraan Real-time
Otonom Deteksi dari UAV Tingkat Menengah” artikel. Lapisan ini ditambahkan setelah Haar-
cascade telah melakukan tugasnya. Sejak adalah mungkin bagi pengklasifikasi untuk mendeteksi
banyak bagian dari mobil sebagai beberapa yang berbeda mobil, hasil dari wilayah
pengklasifikasi harus digabung.

Penggabungan tidak bisa namun hanya mendeteksi apakah keduanya daerah memiliki
tumpang tindih dari berbagai ukuran, karena tumpang tindih bisa menjadi hasil dari dua mobil
yang berdekatan, yang akan sehingga digabungkan menjadi satu hasil. Ke hindari perilaku yang
tidak diinginkan ini, keduanya wilayah digabung hanya jika area yang tumpang tindih setidaknya
tertentu 8 persentase salah satu daerah. Ini konstan diamati untuk menghasilkan yang terbaik
hasil jika nilainya kira-kira 40-60%, artinya jika tumpang tindih kedua wilayah tersebut
membentuk setidaknya 40- 60% dari keseluruhan area salah satu wilayah, maka kedua wilayah
itu adalah digabung dan dianggap sebagai satu wilayah dari sana. Contoh dari ini prosedur
ditunjukkan pada gambar 5, di mana garis hijau menunjukkan deteksi asli dan garis merah adalah
hasil akhir dari detektor.

Technologica 17
Judul Artikel

Training cascade

Pelatihan kaskade terbukti tidak ada tugas yang mudah. Bit pertama yang diperlukan adalah
mengumpulkan gambar, lalu membuat sampel berdasarkan mereka dan akhirnya memulai proses
pelatihan. Itu utilitas opencv traincascade adalah sebuah peningkatan dari pendahulunya di
beberapa aspek, salah satunya adalah traincascade memungkinkan pelatihan proses menjadi
multithreaded, yang mengurangi waktu yang dibutuhkan untuk menyelesaikan pelatihan
pengklasifikasi. Ini pendekatan multithreaded hanya diterapkan selama langkah pra-perhitungan,
jadi keseluruhan waktu untuk berlatih masih cukup signifikan, menghasilkan jam, hari dan
minggu waktu pelatihan. [10, 11, 12] Karena proses pelatihan membutuhkan banyak gambar
masukan positif dan negatif, yang mungkin tidak selalu ada, maka cara untuk menghindari ini
adalah dengan menggunakan alat untuk penciptaan citra positif tersebut.

Mode bawaan OpenCV memungkinkan untuk membuat lebih banyak gambar positif dengan
mendistorsi gambar positif asli dan menerapkan a gambar latar belakang. Namun, itu tidak
memungkinkan untuk melakukan ini untuk beberapa gambar. Dengan menggunakan skrip Perl,
buatlah contoh untuk menerapkan distorsi dalam batch dan alat mergevec [11], dimungkinkan
untuk buat file yang diperlukan untuk masing-masing file input positif dan kemudian
menggabungkan file yang dikeluarkan bersama-sama menjadi satu input file yang OpenCV dapat
mengerti. Aspek penting lainnya yang perlu dipertimbangkan adalah jumlah positif dan negatif.
Saat menjalankan perintah untuk memulai pelatihan, diperlukan untuk memasuki jumlah gambar
positif dan negatif 9 yang akan digunakan. Perhatian khusus harus diambil dengan variabel-
variabel ini, karena jumlah gambar positif di sini menunjukkan jumlah gambar positif untuk
digunakan pada setiap langkah pengklasifikasi pelatihan, yang berarti bahwa jika seseorang
untuk menentukan untuk menggunakan semua gambar di setiap langkah, kemudian pada satu
titik pelatihan proses akan berakhir dengan kesalahan. Ini adalah karena cara proses pelatihannya
diatur, seperti yang dijelaskan di bagian 1.

The proses perlu menggunakan banyak yang berbeda gambar di setiap tahap klasifikasi dan
jika seseorang memberikan semua ke tahap pertama, maka tidak akan ada gambar yang tersisa
untuk tahap kedua, sehingga menghasilkan pesan kesalahan. [10, 11, 12] Pelatihan dapat
menghasilkan banyak jenis perilaku yang tidak diinginkan. Paling umum dari ini entah

Technologica 18
Penulis pertama, kedua atau penulis pertama. et al

overtraining atau undertraining dari classifier. Sebuah pengklasifikasi yang kurang terlatih
kemungkinan besar akan menghasilkan terlalu banyak positif palsu, karena proses pelatihan
belum sempat menentukan dengan benar mana yang sebenarnya positif dan mana yang tidak.
Sebuah keluaran mungkin terlihat seperti gambar 6.

Efek sebaliknya dapat diamati jika terlalu banyak tahapan yang dilatih, yang bisa berarti
bahwa klasifikasi proses dapat menentukan bahwa bahkan benda positif pada gambar adalah
yang sebenarnya negatif, menghasilkan kumpulan hasil kosong. Perilaku yang cukup tidak
terdefinisi dapat terjadi jika jumlah gambar masukan terlalu sedikit, karena program pelatihan
tidak dapat informasi yang cukup tentang objek yang sebenarnya untuk dapat
mengklasifikasikannya dengan benar. Salah satu hasil terbaik yang diperoleh di jalannya
pekerjaan ini digambarkan pada gambar 7. Seperti yang dapat diamati, pengklasifikasi tidak
mendeteksi beberapa kendaraan tanpa masalah, tetapi sayangnya juga beberapa area trotoar dan
beberapa bagian rumput juga diklasifikasikan sebagai mobil. Juga beberapa mobil tidak
terdeteksi sebagai mobil mandiri

Technologica 19
Judul Artikel

Waktu yang dibutuhkan untuk melatih pengklasifikasi untuk mendeteksi pada tingkat ini
dapat diukur dalam hari dan minggu, bukan jam. Karena proses pelatihannya cukup
probabilistik, maka banyak pekerjaan juga pergi ke pengujian berbagai parameter digunakan
dalam pekerjaan ini, dari jumlah masukan gambar ke perubahan halus di elemen penataan pada
10 penghapusan latar belakang, dan verifikasi apakah output meningkat, menurun atau tetap
tidak berubah. Untuk alasan yang sama, sayangnya penulis karya ini tidak dapat menghasilkan
pengklasifikasi yang tepat, yang akan memberikan hasil positif palsu yang minimal dan positif
sejati yang maksimal.

Technologica 20
Penulis pertama, kedua atau penulis pertama. et al

Daftar Pustaka

“Vallaste e-teatmik,” [Online]. Available: http://vallaste.ee/index.htm?Ty


pe=UserId&otsing=5027. [Accessed October 2013]..

[1] Aditya Wisnu W I, Anthony F & Andrian S (2009). Analisis dan Perancangan Sistem
Identifikasi Berbasis Wajah dengan Menggunakan Pustaka Open CV. Jurusan Teknik Informatika
– Universitas Binus.
[2] S. Nagabhushana, “Introduction,” in Computer Vision and Image Processing, New Age
International (P) Ltd., Publishers, 2005, p. 3.
[3] V. E.-C. Nathan Lovell, “Color Classification and Object Recognition for Robotic Soccer under
Variable Illumination,” Griffith University.
[4] V. Jones, “Rapid object detection using a boosted cascade of simple features,” Computer
Vision and Pattern Recognition, 2001.
[5] T. M. Inc., “Train a Cascade Object Detector,” [Online]. Available:
http://www.mathworks.se/help/ vision/ug/train-a-cascadeobject-detector.html#btugex8.
[Accessed Nov 2014].
[6] “Car Counting,” PureTech Systems, [Online]. Available: http://www.puretechsystems.c
om/solutions-carcounting.html. [Accessed Nov 2014].
Lienhart, Rainer, & Maydt, J. (2002). An extended set of haar-like features for rapid object
detection. In: IEEE ICIP 2002, Vol.1, (pp. 900-903).

Padilla, R., Filho, C. F., & Costa, M. G. (2002). Evaluation of Haar Cascade Classifiers Designed
for Face Detection. World Academy of Science, Engineering and Technology Vol:6 2012-04-22 .

Pambudi, W. S., & Simorangkir, B. M. (2012). Facetracker Menggunakan Metode Haar Like
Feature Dan PID Pada Model Simulasi. Jurnal Teknologi dan Informatika (TEKNOMATIKA) .

Pavani, S.-K., Delgadoa, D., & Frangia, A. F. (2010). Haar-like Features with Optimally Weighted
Rectangles for Rapid Object Detection. The Journal of the Pattern Recognition Society , 160-172 .
Purwanto, P., Dirgantoro, B., & Jati, A. N. (2015). Implementasi Face Identification Dan Face
Recognition Pada Kamera Pengawas Sebagai Pendeteksi Bahaya. Universitas Telkom .

Sajati, H., & Astuti, Y. (2013). Analisis dan Perancangan Software untuk Menentukan Kendaraan
Gelap dan Terang . Jurnal Angkasa STTA Vol V / No. 2 / November 2013 ISSN: 2085-9503 .

Santoso, H., & Harjoko, A. (2013). Haar Cascade Classifier dan Algoritma Adaboost untuk
Deteksi Banyak Wajah dalam Ruang Kelas. Jurnal Teknologi IST AKPRIND Volume 6, Number 2 ,

Technologica 21
Judul Artikel

108-115.

Uktveris, T. (2012). opencv-lane-vehicle-track. https://code.google.com/p/opencv-lane-vehicle-


track/.

Viola, Paul, & Jones, M. (2001). Rapid object detection using boosted cascade of simple features.
In: Proceedings IEEE Conf. on Computer Vision and Pattern Recognition.

Technologica 22

Anda mungkin juga menyukai