Keluarga Petani Mentimun Asal Jepang Ini Menggunakan Deep Learning dan TensorFlow

Bagus Aji Santoso 8 September 2016

Keluarga Petani Mentimun Asal Jepang Ini Menggunakan Deep Learning dan TensorFlow

Mengatakan bahwa penggunaan machine learning dan deep learning hanya dapat dibatasi oleh imajinasi tidaklah berlebihan. Sekitar satu tahun yang lalu, seorang bekas embedded system designer dari industri otomobil Jepang bernama Makoto Koike mulai membantu di kebun mentimun orangtuanya . Ia sangat terkejut dengan banyaknya beban kerja yang harus dilakukan untuk menyortir timun berdasarkan ukuran, bentuk, warna dan atribut-atribut lainnya.

Ayah Makoto sangat membanggakan mentimun "berduri" yang diproduksi kebunnya, Ia telah mendedikasikan hidupnya untuk memproduksi mentimun yang segar dan krispi yang masih memiliki "duri-duri" di badannya. Mentimun yang lurus dan gemuk dengan warna yang terang serta memiliki banyak "duri" merupakan mentimun yang berkualitas dan memiliki harga lebih tinggi di pasaran.

Namun Makoto dengan cepat menyadari bahwa proses menyortir mentimun merupakan pekerjaan yang sama sulitnya dengan menanam mentimun itu sendiri. "Tiap mentimun memiliki warna, bentuk, kualitas serta tingkat kesegaran yang berbeda", ujar Makoto.

Mentimun dari kebun Makoto Mentimun dari kebun lain

Di Jepang, tiap kebun memiliki standar sendiri-sendiri dan tidak ada standar resmi. Kebun Makoto menyortir mentimunnya kedalam sembilan kelas, Ibu Makoto lah yang menyortir keseluruhan mentimun secara manual yang menghabiskan waktu sampai dengan delapan jam per hari saat waktu panen tiba.

"Proses penyortiran ini bukan sebuah pekerjaan yang mudah untuk dipelajari. Kita harus melihat tidak hanya berdasarkan ukuran dan tebalnya, namun juga warna, tekstur, goresan, apakah mereka bungkuk atau tidak dan apakah mereka memiliki "duri-duri. Butuh waktu berbulan-bulan untuk mempelajari sistemnya dan kita tidak dapat mempekerjakan karyawan part-time untuk bekerja di waktu-waktu paling sibuk. Saya sendiri baru memahami bagaimana menyortir timun dengan baik," terang Makoto lagi.

Mentimun yang bengkok diklasifikasi sebagai produk berkualitas rendah

Mesin penyortir otomatis telah tersedia di pasar, namun mesin tersebut memiliki keterbatasan dalam hal performa dan harga, selain itu kebun yang relatif kecil biasanya tidak menggunakan mesin ini.

Baca juga: Mengenal Teknologi Machine Learning (Pembelajaran Mesin)

Makoto tidak merasa bahwa penyortiran merupakan pekerjaan penting bagi petani mentimun. "Petani ingin fokus dan menghabiskan waktu mereka untuk menanam sayuran yang lezat. Saya ingin mengotomasi proses penyortiran sebelum mengambil alih bisnis perkebunan ini dari orangtua saya."

Makoto Koike, tengah, dengan kedua orangtuanya di kebun mentimun keluarga

Makoto pertama kali mendapatkan ide ngoprek machine learning untuk proses penyortiran mentimun dari studi kasus yang jauh berbeda: Google AlphaGo yang berhasil mengalahkan pemain Go profesional terbaik dunia.

"Saat melihat Google AlphaGo, Saya menyadari ada sesuatu yang sangat spektakuler terjadi di sini," ujar Makotor. "Berita itu telah memancing saya untuk memulai mengembangkan penyortir mentimun dengan teknologi deep learning".

Menggunakan deep learning untuk pengenalan citra memungkinkan sebuah komputer untuk belajar dari kumpulan data mengenai fitur-fitur yang dimiliki oleh tiap gambar. Menggunakan neuron-neuron buatan, deep learning dapat secara otomatis mengklasifikasi gambar dengan tingkat akurasi yang tinggi. Dengan demikian, neural network dapat mengenal berbagai spesies kucing, atau model mobil atau bahkan pesawat hanya dari gambar. Terkadang neural network dapat bekerja lebih baik dari mata manusia untuk aplikasi tertentu.

Benarkah komputer dapat belajar seni menyortir mentimun sang Ibu? Makoto memutuskan untuk melihat apakah Ia dapat menggunakan teknologi deep learning untuk menyortir mentimun menggunakan pustaka machine learning yang belum lama ini di open source kan oleh Google, TensorFlow.

"Google baru saja meng-open source-kan TensorFlow, jadi Saya ingin mulai mencobanya dengan gambar-gambar mentimun saya," jelas Makoto. "Ini merupakan pertama kalinya saya mencoba menggunakan teknologi machine learning atau deep learning, dan langsung mendapatkan akurasi yang lebih tinggi dari yang saya harapkan. Hasil tadi memompa kepercayaan diri bahwa teknologi ini dapat mengatasi permasalahan yang saya hadapi."

Dengan TensorFlow, kita tidak perlu menjadi ahli model matematika atau optimasi algoritma untuk mengimplementasi deep neural network. Cukup unduh contoh kode yang ada dan membaca tutorialnya, kita dapat langsung mulai menyelami samudra deep learning. Pustaka ini menurunkan tingkat kesulitan untuk menggunakan teknologi machine learning dan sejak Google meng-open source-kan TensorFlow November lalu, banyak orang yang bukan ahli machine learning memanfaatkan teknologi ini dengan aplikasi dan kumpulan data mereka sendiri.

Baca juga: TensorFlow, Pustaka Machine Learning Canggih Milik Google Kini Open Source

Desain sistem penyortiran mentimun

Berikut ini diagram sistem untuk penyortir mentimun yang dibuat oleh Makoto. Sistem ini menggunakan Raspberry Pi 3 sebagai pengontrol utama untuk mengambil foto mentimun dengan sebuah kamera, dan melakukan analisis tahap awal menggunakan TensorFlow untuk menentukan apakah gambar yang diambil merupakan mentimun atau bukan. Apabila telah dipastikan bahwa gambar yang diambil adalah gambar mentimun, maka gambar ini akan dikirim ke program yang sesungguhnya di server Linux untuk menjalankan pendeteksian kualitas mentimun dengan lebih akurat. Diagram sistem penyortir mentimun

Makoto menggunakan contoh kode TensorFlow Deep MNIST for Experts dengan sedikit modifikasi. Berikut ini mesin penyortir buatan Makoto yang mulai beroperasi pada bulan Juli:

Berikut ini foto close-up dari tangan penyortir dan antarmuka kamera:

Dan berikut ini video mesin penyortir mentimun saat bekerja:

Hambatan utama

Tantangan yang paling berat bagi deep learning adalah kita membutuhkan training dataset yang banyak. Untuk melatih model penyortir mentimun ini, Makoto menghabiskan tiga bulan penuh untuk mengambil 7.000 gambar mentimun yang disortir oleh ibunya, namun jumlah ini mungkin tidak cukup.

"Saat saya melakukan validasi dengan sebuah contoh-contoh gambar, tingkat akurasinya melebihi 95%. Namun saat kita mengaplikasikan sistem dengan kondisi yang sebenarnya, tingkat akurasi menurun menjadi sekitar 70%. Saya mencurigai model neural network ini memiliki masalah overfitting (fenomena neural network di mana model yang dilatih hanya sesuai pada dataset yang terbatas) karena jumlah gambar pelatih yang kurang banyak."

Tantangan yang kedua dari deep learning adalah besarnya daya komputasi yang dibutuhkan. Penyortir yang telah bekerja berjalan di PC Windows untuk melatih neural network model. Meskipun ia mengubah ukuran gambar mentimun ke dalam resolusi yang lebih rendah berukuran 80 x 80 pixel, mesin penyortir ini masih membutuhkan dua hingga tiga hari untuk menyelesaikan proses pelatihan model dengan 7.000 gambar.

"Bahkan dengan gambar beresolusi rendah ini, sistem yang ada hanya dapat mengklasifikasinya berdasarkan bentuk, panjang dan tingkat pembelokan. Sistem ini tidak dapat mengenali gambar, tekstur, goresn dan durinya," Makoto menjelaskan. Meningkatkan resolusi gambar dengan melakukan zooming dapat menaikkan tingkat akurasi namun juga membuat waktu pelatihan menjadi lebih lama.

Untuk meningkatkan "deep learning", beberapa perusahaan besar melakukan training terdistribusi dalam skala besar, namun tentu server tersebut meningkatkan besar biaya yang dibutuhkan. Google menawarkan Cloud Machine Learning (Cloud ML), sebuah platform cloud terjangkau yang dapat melakukan training dan prediksi menggunakan ratusan server cloud terdistribusi dengan TensorFlow. Dengan Cloud ML, Google akan menangani sistem cluster berskala besar untuk training terdistribusi, dan kita cukup membayar apa yang terpakai sehingga developer akan lebih mudah untuk mencoba teknologi deep learning tanpa melakukan investasi yang signifikan.

Server khusus yang digunakan saat pertandingan AlphaGo

Makoto begitu menantikan Cloud ML. "Saya dapat menggunakan Cloud ML untuk mencoba melatih model dengan resolusi gambar yang lebih tinggi dan jumlah data yang lebih besar. Selain itu, Saya juga dapat mencoba mengganti konfigurasi, parameter, serta algoritma dari neural network untuk melihat peningkatan akurasinya. Saya tak dapat menunggu untuk mencoba teknologi ini."

 

Diterjemahkan dari How a Japanese cucumber farmer is using deep learning and TensorFlow oleh Kaz Sato.