Jagain kakek nenek pake machine learning, emang bisa?🧓👵
Sistem deteksi untuk lansia jatuh
.
.
.
A thread
Kalian tau ga siii ada lantai yang punya sensor dibawahnya?
Keren banget ya sekarang ada lantai kaya gitu, eh apa mimin yang baru keluar dari goa ya makanya baru tau?🤔🤔 Ya intinnya hari ini mimin mau bahas tentang lantai yang ada sensornya ini. Tapi disclaimer dulu, lantai yang mimin bahas bukan yang kaya gini nih:
Lah terus mau bahas lantai kaya gimana min?
Hari ini mimin bakal spesifik membahas lantai bersensor untuk mendeteksi tekanan pemijaknya. Kalau dikombinasikan dengan machine learning, kita jadi bisa tau deh apakah tekanan pada lantai menandakan pemijaknya lagi duduk, berdiri, berjalan, atau terjatuh.
Lalu fungsinya apa? Ya mungkin buat kalian yang masih muda ga begitu penting, tapi untuk lansia, lantai ini bisa memberikan peringatan ke orang-orang tertentu kalau ada lansia jatoh, jadi bisa segera dirujuk ke rumah sakit deh.
Kenapa harus diperhatikan segitunya sih? Jadi gini temen-temen, jatuh pada lansia ini bisa menyebabkan cedera, patah atau retak tulang, hingga kematian. Di US sediri, 1 dari 3 lansia berusia 65 tahun ke atas jatuh setiap tahunnya.
Terus 61% kejadian ini terjadi di rumah dan mengakibatkan kurang lebih 10,000 kematian. Nah, ternyata pertolongan yang cepat setelah lansia jatuh dapat menurunkan resiko dirawat di rumah sakit sebesar 26% dan menurunkan resiko kematian sebesar 80%
Makanya kaya yang mimin tadi bilang, adanya lantai bersensor ini bisa mengurangi resiko dirawat dan kematian akibat jatuh. Lalu gimana cara kerja sistemnya? Secara umum bisa kaliat lihat di gambar ini nih:
Nah, mari kita mulai dari tahap pertama: pengumpulan data. Seperti yang udah dijelaskan sebelumnya, data ini dikumpulkan dari lantai bersensor. Kira-kira, lantai nya berbentuk seperti ini nih guys:
Kalau kalian perhatikan, di ujung lantai itu ada kaya alat berwarna putih kan? Nah itu sensornya. Kalau dipasang ke seluruh rumah, bakal jadi kaya gini:
Kalau kalian perhatikan, area yang abu-abu itu adalah area yang diatasnya ditaro furniture, makanya ga ada sensor. Dan lantai ini dikasih ‘nomor seri’ gitu ya, ditandai dengan nomor yang bisa kalian lihat sendiri di gambar tweet sebelumnya.
Nomor seri ini berguna buat mendeteksi kira-kira pemijak lantai lagi ada di mana. Output dari lantai ini adalah mendeteksi pemijaknya lagi ngapain dan ada dimana, dilihat dari tekanan lantai dan durasi pijakannya.
Kira kira nanti hasil yang didapatkan seperti ini:
Nah, agar bisa mendeteksi apakah ada orang yang jatoh atau engga, maka lantai ini juga menggunakan 3-axis accelerometer, kira kira datanya seperti ini:
Lalu gimana cara menerjemahkan data-data ini? Untuk menjawab pertanyaan tersebut, kita harus tau dulu nih karakteristik dari aktivitas yang mau kita deteksi. Kalau dalam kasus ini, aktivitasnya itu berjalan, berdiri, duduk, jatuh, dan tiduran di lantai.
Selanjutnya, dari gauge database table ini, kita akan memperoleh 4 matriks (5x11) yang nilainya sesuai dengan beban yang diberikan pada 4 sensor setiap lantai. Kita juga akan menghitung matrix lain (5x11) yang nilainya sesuai dengan rata-rata beban pada 4 sensor tersebut.
Proses selanjutnya, kita akan memproses data-data yang ada menggunakan algoritma sederhana. Algoritma ini akan mencari nilai maksimal dari rata-rata beban setiap lantai dan membandingkannya dengan 2 treshold yang udah ditentukan sebelumnya.
Treshold pertama bisa membedakan apakah seseorang lagi berdiri / berjalan dari postur duduk, jatuh, tiduran, atau unknown (unknown itu berarti ga ada tekanan sama sekali).
Sedangkan treshold kedua itu bisa membedakan unknown dengan duduk, jatuh, tiduran. Kemudian, pose duduk ini juga dibedakan dari jatuh atau tiduran berdasarkan jumlah lantai yang mendapatkan tekanan secara linear.
Singkatnnya, flow chart dari algoritma ini bisa dilihat dalam gambar ini nih:
Flowchart ini sebenarnya udah akurat buat menentukan lokasi lansia dan memperkirakan akvitias sehari hari mereka. Untuk membuktikan keefektivan dari flowchart ini, kita sekarang coba untuk melakukan eksperimen dengan 5 aktivitas yang berbeda.
Sebanyak 6 orang berpartisipasi dalam eksperimen ini untuk membuat 10 skenario berbeda yang diulang sebanyak 5 kali. ‘Skenario’ ini meliputi berjalan, duduk, berdiri, dan jatuh. Skenario ini juga udah diatur sedemikian rupa untuk melihat keefektivan sistem.
Contohnya ada skenario jalan cepat, jatuh yang ga begitu keras sampai yang keras, dari duduk terus jatuh, dari berdiri terus jatuh, dan berbagai skenario lainnya.
Nah, nanti sinyal yang didapatkan dari sensor di lantai ini akan diekstrak dan diolah untuk mencari tau apa yang terjadi terhadap subjek penelitian.
Hasil eksperimennya seperti ini nih, dimana kotak a menggambarkan snapshot dari video yang diambil ketika eksperimen, kotak b menggambarkan lantai yang mendapatkan tekanan.
Kotak c menggambarkan cartography, dimana area warna putih itu menandakan ada ada sesuatu di atas lantai, sedangkan warna hitam itu berarti ga ada apa apa (karena ga ada tekanan di lantai). Terakhir, kotak d menggambarkan prediksi aktivitas pemijak lantai.
Kalau diperhatikan, sistemnya udah cukup baik untuk mendeteksi aktivitas atau postur dari subjek penelitian.
Tapi, sayangnya, sensor ini ga sensitif sama akvitias tiduran di lantai. Sensor ini sering ngeliat aktivitas tiduran sebagai ‘jatuh’ dan malah ngasih false alaram gitu, secara kan pose jatuh dan tiduran itu mirip ya.
Nah, makanya kita perlu propose algoritma yang bisa membedakan pose tiduran dan jatuh. Disini, kita akan menggabungkan sensor dan accelerometers. Pertama tama, database table ini akan dibagi menjadi 2 kelas: ‘jatuh’ dan ‘bukan jatuh’.
Kemudian, kita bakal mencari parameter yang berguna dari kedua kelas tersebut dan memilih yang paling relevan untuk membedakan pose jatuh dan bukan jatuh. Data yang kita pakai tu yang ada di lsm table tadi itu lohh. Nah, prosesnya bisa kalian liat dari gambar ini:
Algoritma yang akan kita gunakan adalah HCM menggunakan Matlab. HCM ini merupakan model yang mengkalkulasi kemampuan diskriminatif setiap fitur. Fitur dengan skor yang tinggi memiliki kemampuan separitas yang lebih baik dalam mengklasifikasikan masalah.
Singkat cerita, setelah kita melihat apakah HCM ini oke untuk digunakan dalam kasus ini, maka langkah selanjutnya adalah dengan melihat signal accelerometer untuk membedakan ‘jatuh’ dan ‘bukan jatuh’.
Kita akan mengekstrak parameter yang berguna dari data asli, nah setelah sinyalnya dinormalisasi, ketemulah hasil sebagai berikut:
Kita bisa liat ya kalau sebagian besar parameter nya itu jadi meningkat ketika kejadian ‘jatuh’. Lalu, kita akan milih nih parameter mana yang paling relevan dan mengembangkan algoritma untuk medndeteksi perubahan pada kasus ‘jatuh’.
Gambar di bawah ini menunjukkan isnyal dan fall detection dengan akurasi yang baik. Jadi dengan menggunakan data accelerometer, kita bisa dengan mudah membedakan keadaan ‘jatuh’ dan ‘bukan jatuh’.
Jadi intinya adalah kalau kita menggabungkan data sensor dan accelereometer, flowchart lengkap sisitem dapat dilihat seperti ini:
Nah, akhirnya sistem yang kita buat udah bisa deh mendeteksi aktivitas lansia dan menentukan lokasi mereka kalau terjatuh. Kalian bisa baca lengkapnya tentang penelitian ini di ieeexplore.ieee.org/abstract/docum…
Oh iya, kalau dikembangkan lebih lanjut lagi, sistem ini memungkinkan banget untuk memberikan navigasi kepada mobiel robots atau bahkan buat main Tetris dan jadi visual guidance ketika malam hari. Gimana, kamu mau jadi salah satu yang mengembangkan sistem ini?
Tentunya untuk bisa mengembangkan sistem, kamu harus paham dulu nih apa aja yang harus dikuasai ketika mau menerapkan machine learning. Makanya, ga ada salahnya untuk join non degree program Data Scientistnya Pacmann.AI
Kalian bisa cek informasi lebih lanjut tentang kelasnya di bit.ly/PacmannioTwitt…. Kalau kalian daftar sekarang, kalian masih berkesempatan buat dapet potongan THR sebesar 10% loh! Informasi nya bisa kalian cek di gambar ini ya:
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Intip keseharian machine learning engineer Airbnb yuk!🧑💻👩💻
PS: ada bonus tips jadi machine learning engineer di Airbnb loh!
.
.
.
A thread
Siapaa disini yang belum pernah denger Airbnb?
Airbnb sendiri merupakan online marketplace yang mempertemukan penyedia jasa homestay dengan customernya. Platform ini bisa diakses melalui website dan juga aplikasi handphone.
CNN bisa deteksi psychological disorders pengguna Reddit?! 🤔🤨
.
.
.
A thread
Siapa yang disini sejak pandemi jadi gampang stress??
Kalau lagi stress, sedih, atau lagi badmood, kalian suka ga sih curhat di sosmed atau seengkanya mengungkapkan emosi kalian gitu walaupun ga menjelaskan penyebabnya secara detail?
10 menit udah bisa buat kamu jadi data scientist yang lebih keren?! 🧑💻⏳
Intip caranya yuk!
.
.
.
A thread
Dalam 10 menit, apa sih yang bisa kita lakukan?
Tiga-tiganya bener, soalnya 3 hal itu emang bisa dilakuin dalam 10 menit. Tapi tau gak, kalo ternyata ada hal yang cuma butuh 10 menit dan bisa bikin kita upgrade diri sebagai Data Scientist?
Mau punya model bagus tapi datanya imbalanced? 😢🤷♂️
Catat 3 solusinya!
.
.
.
A thread
Suatu hari, kita diminta klien membangun model machine learning yang bisa mendeteksi tumor ganas pada lambung pasien. Kemudian, dengan memakai dataset berisi kumpulan CT-Scan perut, kita buat model yang memprediksi apakah seorang pasien menderita kanker lambung atau tidak.
Tapi masalahnya, ‘Gastric cancer’ atau kanker lambung ini tergolong sangat jarang temen-temen. Bahkan di Indonesia, resikonya itu cuma sekitar 0.0028%. Itu artinya, kalau kita sampling 100.000 orang, kemungkinannya kita cuma akan peroleh 3 sampel data penderita kanker lambung!
Enam alasan kenapa project DS sering gagal. 🥲🤦
Jangan sampai terjerumus ke 6 penyebab ini!
.
.
.
A thread
Pernah gak sih udah cape-cape begadang berminggu-minggu bikin model tapi kok ga selesai-selesai? Atau mungkin modelnya udah jadi tapi ternyata ga memberikan insight sesuai yang diminta atasan? 🥲🥲🥲
Yaa, kita semua setuju lah ya hal-hal di atas jadi nightmare banget, dan sebisa mungkin kita mau menghindari project menjadi gagal. Nah, makanya di thread kali ini, mimin mau bahas beberapa alasan yang bisa menyebabkan project kita fail. Langsung aja ke alasan yang pertama