Agar tidak bingung, sebelum lanjut ke step by step prosesnya, lebih baik dijelaskan dulu istilah-istilah yang mungkin bagi beberapa masih asing.
Deep Learning
Salah satu teknik Machine Learning yg mengarahkan sebuah komputer/mesin untuk bekerja layaknya manusia secara natural, dgn pembelajaran atau pemrograman tertentu. Dengan mengandalkan mesin, proses ini bisa bergerak jauh lebih cepat dari yg bisa dilakukan manusia.
Computer Vision (CV)
Salah satu bagian dari Artificial Intelligence (AI), di mana teknologi ini memungkinkan komputer untuk melihat dan mengenali objek yang ada di sekitarnya layaknya manusia.
Untuk kasus ini, proses Computer Vision adalah teknologi ini menangkap / mendeteksi obyek, menganalisa obyek tersebut, lalu setelah dikenali, dia akan memberi label obyek itu. Obyek yang dikenali di project ini adalah clapper 🎬 .
Clapper 🎬
Adalah sebuah papan dari bahan kayu yang digunakan untuk membantu sinkronisasi gambar dan suara serta untuk memilih dan menandai suatu adegan tertentu selama berjalannya proses produksi.
Sekarang step by step prosesnya
===
1/ Kumpulkan data 2/ Setup LabelStudio 3/ Gambar kotak 4/ Setup DVC 5/ Atur EC2 6/ Instal IceVision 7/ Run notebooks 8/ Connect WandB 9/ Mencoba banyak model 10/ Infinite training loop 11/ Deploy
1/ Kumpulkan Image Data:
Gunakan extension di Chrome namanya YouTube Screenshot. Rob memulai project dengan mengumpulkan 50+ gambar clapper 🎬 dari berbagai video instruksi.
Di sini gunanya untuk membantu DL mengenali bentuk obyek clapper 🎬.
2/ Setup LabelStudio:
Ada tool canggih dari @LabelStudioHQ yg akan membantu proses pelabelan obyek, namanya LabelStudio. Di sini obyek yang dikenali akan dilabelin biar gampang diketahui. Si TS bikin pakai @Docker . Tutorial di sini:
Setelah labelstudio selesai di-setup, project ini butuh training data. TS bikin bounding boxes sendiri di LabelStudio. Dia memberi label ke 50 gambar yang membutuhkan satu jam.
4/ Set up DVC:
DVC atau Data Version Control adalah untuk membuat model ML bisa dibagikan.
DVC didesain untuk meng-handle data set, model ML, dan lainnya. Dengan data di tahap sebelumnya sudah siap, saatnya dipindahkan ke cloud.
Untuk train model CV, diperlukan kekuatan GPU. Rob selama beberapa hari mengutak-atik @HashiCorp Terraform untuk memudahkan pembuatan instance spot EC2.
Demo #IceVision bisa diutak-atik sesuai kebutuhan. Selain deteksi object, fungsi lain adalah:
- Segmentasi instance
- Segmentasi semantik
- Keypoints
8/ Hubungkan WandB:
Bereksperimen dengan tracking sangat penting saat Anda mencoba berbagai hyper-parameter (misalnya ukuran gambar).
@weights_biases memudahkan untuk melacak model - dan langsung terhubung ke IceVision."
WandB sendiri service untuk mengelola dan memantau project machine learing. Lewat wanddb, kita bisa menyimpan dan memvisualisasikan hasil dari model yg kita bangun. |
Performa model itu sendiri juga bsia dipantau. Secara historical, model-model yg kita latih juga bisa dicek.
9/ Coba berbagai model:
Rob sendiri mencoba:
- Faster-RCNN
- YOLOv5
- EfficientDet
- VFNet (lite)
Lewat WandB, jadi jelas kalau Faster-RCNN memberikan hasil yang terbaik. Tiap model menghabiskan sekitar 8 menit di instance ec2 g4dn.xlarge .
10/ Infinite training loop:
Saatnya mencoba lebih dari 50 gambar. Model pertama digunakan untuk jadi model pemberian label otomatis ke gambar baru.
Dengan mencatat tempat di mana model tidak berhasil dengan baik, label yang salah diperbaiki manual . Model tersebut dilatih kembali dengan data label baru yang dimasukkan.
11/ Deploy:
@huggingface mempermudah demo project CV di tempat mereka. Di bawah ini adalah demo yang bisa dicoba. Kawan-kawan bisa memasukkan gambar sendiri.
12/ Deploy (bagian 2):
Rob mencoba menjalankan detektor ke beberapa video BTS dari film Inglorious Basterds.
Kalau senang dengan proses di atas, bisa tanya atau follow @cinemarob1 , doi juga suka share mengenali Deep Learning, CV, dst. Gue sendiri juga masih belajar dan ini tema yang gue kebetulan lagi pelan-pelan dalamin.
Gue juga rekomendasi tempat belajar Machine Learning, atau mau dalemin Computer Vision, belajar bareng @pacmannai . Pake kode dari gue.
2022 adalah salah satu tahun menyenangkan bagi gue. Belajar data science adalah satu hal yg nggubah hidup banget, dapet skill baru, sampe ikutan kompetisi dan dapet penghargaan kecil-kecilan.
Gue share ya, apa yg ngubah gue saat belajar Data Science / Data Analytics.
Disclaimer
Gak cuma belajar Data Science atau Data Analytics bisa mengubah hidup kok. Belajar apapun yg kontributif tentu bisa. Untuk thread ini gue cerita apa adanya berdasarkan pengalaman selama ini.
Apa aja? Simak ya.
Bantu gue memahami dan menganalisis data dengan lebih baik.
Captain obvious. Walau terdengar standrat, saat gue bisa menganalisis data dengan baik, masalah bisa dipahami lebih dalam, dan tentunya juga bisa dipertanggungjawabkan. Tidak banyak loh orang yang bisa melakukan ini.
Gue masih ingusan di Data Science. Belajar baru setahun belakangan. Dari sini gue belajar, salah satu cara untuk bisa makin cakap adalah giat bikin project sendiri dengan data yang riil.
Coba simak ya pengalaman gue lewat thread ini!
Sebelum lanjut, thread ini sedikit ada 'jualan'-nya, dari pamer portfolio gue sampai tempat yang gue rekomendasiin buat belajar Data Science. Tetapi, di luar itu mudah-mudahan temanp-teman menemukan poin menarik lainnya.
Dari dulu gue terkesima dengan infografis yang keren, dashboard cantik, atau artikel yang banyak memaparkan data. Beberapa tutorial gue coba. Tapi, karya gue baru kelihatan saat gue bikin project sendiri dengan data riil yang cukup kompleks.
Lagi rame di sebelah. Temen gue nekat 'nantang' bioskop bawa minuman sebagai protes karena pembiaran anak-anak di bawah umur masuk bioskop dan dibiarin berisik.
Simak dah, seru:
Lanjutan:
O iya ralat dikit, maksud tweet gue pertama, anak2 di bawah usia untuk film yang ratingnya buat orang dewasa ya. Kalau di film bocah ya jelas gpp malah seru ada rame2 pas nonton animasi ada ketawa-ketiwi anak-anak yang enjoy filmnya.