Mantau Lokasi Buronan dari Plat Mobil, Gimana Caranya? 🚔🚨
.
.
.
A thread
Di masa sekarang ini, teknologi di bidang lalu lintas semakin berkembang. Seperti Electronic Road Pricing (ERP), Seat-Belt Violation Detection, Speed Violation Detection, Red Light Violation Detection, dan masih banyak lagi
Nah ada satu lagi nih yang bakal kita bahas tentang salah satu teknologi lalu lintas, yaitu Plate Recognition
Kenapa sih plate recognition ini penting? Plate recognition bakal membantu banget untuk mengetahui apakah plat tersebut masih aktif atau engga, dia juga bisa membantu polisi untuk melacak mobil hasil curian, atau lebih ekstrimnya, membantu ngejar buronan
Plate Recognition (PR) ini menggunakan kamera-kamera pemantau yang terpasang di setiap tiang atau papan penanda arah pada sebuah jalan. Tapi gak sekadar motret mobil terus langsung dimasukin ke database, masih ada langkah-langkah selanjutnya ehehe
Bayangin kalo cuma sekadar motret tapi kondisi jalannya lagi kaya gini….
Ada beberapa tantangan dalam melakukan PR ini. Karena ini mengandalkan hasil gambar dari kamera, maka problemnya datang dari masalah alami misalnya kondisi cahaya yang bervariasi, perbedaan cuaca, kondisi polusi di jalan tersebut, dan lain-lain
Dari segi kualitas kameranya pun mempengaruhi nih. Misalnya limit pengambilan gambar, gambar yg terdistorsi, blur, kemampuan menangkap gambar sesuai kecepatan mobil, dan masih banyak lagi
Atau mungkin dari kendaraannya sendiri. Misalnya platnya ketutupan kotoran, atau mungkin ketutup objek yang bikin platnya agak gelap, atau mungkin bentuknya agak cacat grgr pernah kena insiden dan sebagainya
Nah algoritma yang bakal kita bahas kali ini yang melakukan PR dengan kendala-kendala alami di atas. Yuk mari kita mulai!
Secara garis besar, PR ini dibagi dalam 3 langkah, yaitu plate localization, character segmentation, dan character recognition
Pertama, plate localization. Menggunakan hasil gambar yang udah dipotret, tahap ini berfokus pada mengambil region/daerah darimana plat tersebut berasal. Sub-tahapnya terdiri dari binerisasi, penghilangan noise pada gambar, dan cropping regionnya
Pada proses binerisasi, suatu gambar di convert menjadi gambar grayscale dengan rumus RGB yang khusus, yakni :
Ini contoh gambar yang udah diubah jadi grayscale :
Selanjutnya, gambar yang udah di grayscale tadi akan di proses binerisasi menggunakan Otsu’s Local Threshold Method. Caranya dengan memecah gambar ini menjadi gambar berukuran 50x50 pixel, baru dilakukan Otsu’s Methodnya. Baca: en.wikipedia.org/wiki/Otsu%27s_…
Dari gambar di atas keliatan ya langkah ini menciptakan noise yang cukup banyak. Maka dari itu kita lanjut ke langkah selanjutnya yaitu Connected Component Based Filtering, yang gunanya untuk menghilangkan noise yang mengganggu
Idenya adalah dengan memanfaatkan fakta bahwa pada gambar yang sudah dibinerkan, plat itu pasti mempunyai background putih dan di sekitarnya dikelilingi oleh garis/bingkai tipis berwarna hitam
Scanning nomor platnya itu dimulai dari bingkainya ini. Setiap ditemukan objek berwarna hitam, dibentuk kotak di sekitarnya yang ditandai dengan kode 0 untuk warna hitam dan 1 untuk warna putih. Kalo ketemu warna hitam lagi, dia akan scanning lagi, dan membentuk kotak tadi lagi
Langkah tadi itu dinamakan 8 neighbour connected component analysis. Langkah ini dijalankan secara iteratif sampe dia menghasilkan hasil scanning nomor plat yang utuh
Tapi inget ya, dari gambar biner tadi, ga cuma plat doang nih yang di scan. Masih ada bagian-bagian mobil tadi yang terikut. Gimana cara misahinnya? Gambar-gambar tadi di segmentasikan berdasarkan black pixel densitynya. Nah plat kendaraan itu mempunyai density yang cukup besar
Dengan memanfaatkan density itu kita bisa misahin mana gambar yang mengandung plat dan mana yang engga
Kita udah makin deket nih sama nomor platnya. Sekarang tugas kita adalah membersihkan black pixel di sekitaran segmen gambar yang mengandung plat. Gimana caranya? Ada dua cara nih
Pertama, kita tau dong ya, karena plat ini hanya dikeluarkan oleh pihak yg berwajib, maka kemungkinan ukuran tiap plat itu hampir sama. Ini berimbas pada jumlah black pixel yg terkandung pada setiap plat itu hampir sama juga
Berarti, cara kita bersihin black pixel “non-plat” itu ya dengan cara mengeliminasi black pixel yg “ngumpul” tapi jumlahnya jauh lebih kecil dari jumlah black pixel pada plat. Ohiya, rata2 black pixel pada plat itu sekitar 100 pixels
Cara yang kedua adalah dengan memperhatikan bahwa setiap karakter yang tersusun di plat tersebut, diantara 2 karakternya pasti diselingi oleh sedikit white pixel yang jaraknya sama antar karakter. Namun black pixel “non-plat” gak akan punya sifat ini
Berarti cara bersihinnya adalah dengan cara mengeliminasi black pixel yang tidak diselingi oleh white pixel dengan jarak yang sama. Dari 2 cara di atas, baru kita bisa segmentasiin karakternya masing-masing
Cara segmentasinya adalah dengan menghitung perbandingan white pixel dengan black pixel. Kalau rationya lebih dari 4 (full white pixels) atau sama dengan 0 (full black pixels), segmennya akan terus membuka sampe kondisi ini ga terpenuhi, Barulah segmen karakternya terbentuk
Setelah selesai, segmen-segmen ini dinormalisasikan menjadi ukuran 40x20 pixel supaya bisa masuk ke tahap klasifikasi
Segmen-segmen ini kemudian dikumpulkan dalam vektor K berukuran 1x800. Misalkan ada sebanyak N vektor K, maka NxK vektor ini akan dimasukkan dalam Support Vector Machine (SVM) untuk di training
Nantinya SVM ini akan menuliskan plat sesuai aturan ASCII dalam bentuk text file. Selesai deh!
Sistem deteksi plat mobil ini adalah salah satu penerapan dari machine learning. Kalau kalian tertarik untuk menerapkan machine learning di berbagai bidang tapi masih bingung mau belajar darimana, langsung aja gabung di non degree program Data Scientist Pacmann.AI!
Langsung aja daftarin diri kalian di bit.ly/PendaftaranNon… mumpung masih ada promo Early Bird. Jangan sampai ketinggalan yaaa!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Follow us on instagram: @pacmannai

Follow us on instagram: @pacmannai Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @pacmannai

6 Apr
Cara Bikin Produk yang Pasti Laku Pake Conjoint Analysis
.
.
.
A thread
Guys. Kalian kalo beli sepatu, liat apanya sih?
‘Kenapa min nanya-nanya? Pacmann mau jualan sepatu?’ Ahahahah, bukan! Itu tadi gambaran kecil kalo seseorang ketika mau beli barang, punya pertimbangan utama yang bisa jadi beda sama orang lain.
Read 34 tweets
5 Apr
Normalization vs Standardization: Apa, Kenapa, dan Gimana?
A Simple Guide to Feature Scaling
.
.
.
A thread
Kalau dipikir-pikir, sebenernya jadi DS sama jadi chef itu sama aja. Sama-sama preprocessing ‘ingredients’ nya. Sama-sama modeling dan tuning ‘resep’ nya. Sama-sama deploy ke customer nya. Dan kalau customer bilang “Mas, kok kurang enak?”, sama-sama update resepnya.
Atau ketika seorang chef membuat strawberry-banana smoothie misalnya, nggak semudah mencampur satu pisang utuh dan satu stroberi aja kan? Karena tentu nanti yang terasa cuma pisang nya aja. Atau dengan kata lain, smoothie nya akan ‘bias’ ke pisang.
Read 34 tweets
4 Apr
Mau hasil estimasi OLS gak bias? Yuk patuhin asumsinya!
.
.
.
A thread
Siapa yang sebelumnya udah pernah pakai OLS? Cungg!
Oke, kalau baru pernah denger apa itu regresi OLS, mari kita mulai dari pengertiannya dulu yaa
Read 31 tweets
4 Apr
Bintang - bintang di penelitian, apa artinya?⭐️⭐️⭐️
.
.
.
A thread
Hayo siapa yang udah familiar sama maksud ‘***’ atau ‘**’ atau bahkan ‘*’ di paper / penelitian yang kalian bacaa?
Jadi gini guys, tanda bintang yang biasa kalian liat di paper / penelitian itu menandakan p-value dari variabel yang digunakan.
Read 33 tweets
3 Apr
Data visualization bisa nurunin criminal rate, gimana caranya?🤔
.
.
.
A thread
Kalau minggu lalu kita bahas pelanggaran lalu lintas, minggu ini kita bahas tentang tindak kejahatan lain. Nih, kalau belum baca thread gimana AI bisa membantu polisi melihat siapa aja yang ngelanggar aturan lalu lintas, cek disini yaa:
Kejahatan memang menjadi masalah di seluruh penjuru dunia. Ga hanya mempengaruhi kualitas hidup korbannya, tingkat kejahatan juga berpengaruh ke pertumbuhan ekonomi dan reputasi dari sebuah negara. Makanya ga heran kalau berbagai negara mencoba buat nurunin angka kejahatannya
Read 40 tweets
2 Apr
Peninggalan Pabrik Gula Belanda di Jawa yang Masih Terasa di Abad 21🍭
.
.
.
A thread
*pict: Collectie Stichting Nationaal Museum van Wereldculturen Image
Ingat tweet ini? Nah, hari ini mimin mau ngulik nih tentang paper yang memadukan aspek ekonomi dan sejarah era kolonial, menarik banget nih perpaduannya!
Oh iya sebelum kita mulai, disclaimer dulu nih: paper ini bertujuan untuk memaparkan dampak kolonialisme di Indonesia dalam jangka panjang dan tidak membenarkan kolonialisme Belanda terhadap Indonesia jaman dulu yaaa. Oke tanpa mengulur lebih lama lagi, ayo kita mulai threadnya!
Read 40 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!