TENTANG PROYEK

Proyek deteksi resep bertujuan untuk mengembangkan algoritme atau sistem yang dapat mengenali dan mengklasifikasikan berbagai resep dari berbagai sumber, seperti gambar, teks, atau kombinasi keduanya. Tujuannya adalah untuk memungkinkan pengguna mengunggah gambar atau memasukkan teks yang menjelaskan suatu hidangan, dan membuat sistem mengidentifikasi resep secara akurat dan memberikan informasi yang relevan, seperti bahan, petunjuk, dan fakta nutrisi.

Proyek ini mungkin melibatkan pelatihan model pembelajaran mesin menggunakan kumpulan data resep yang besar, yang akan memungkinkan sistem mempelajari dan mengenali pola dan fitur yang merupakan karakteristik hidangan tertentu. Teknik seperti pengenalan gambar, pemrosesan bahasa alami, dan penambangan data dapat digunakan untuk meningkatkan akurasi dan efisiensi sistem deteksi resep.

Potensi penerapan sistem seperti ini sangat banyak. Ini dapat membantu individu dengan pembatasan diet atau preferensi tertentu dalam menemukan resep yang sesuai. Ini juga dapat digunakan dalam industri makanan untuk rekayasa menu, manajemen resep, dan bahkan untuk secara otomatis menghasilkan rencana makan yang dipersonalisasi. Secara keseluruhan, proyek deteksi resep bertujuan untuk melakukan proses pencarian

APA ITU PEMBELAJARAN MENDALAM?

Pembelajaran Mendalam adalah subbidang Pembelajaran Mesin yang melibatkan penggunaan jaringan saraf untuk memodelkan dan memecahkan masalah kompleks. Jaringan saraf dimodelkan setelah struktur dan fungsi otak manusia dan terdiri dari lapisan node yang saling berhubungan yang memproses dan mengubah data.

Pembelajaran mendalam telah terbukti sangat efektif dalam berbagai aplikasi, termasuk visi komputer dan jaringan saraf Konvolusi (CNN). Aplikasi yang dijelaskan menggunakan CNN dan Computer Vision untuk mengidentifikasi bahan-bahan dari gambar hidangan memasak dan merekomendasikan hidangan untuk dimasak berdasarkan serangkaian bahan tertentu.

Dengan teknik visi komputer, aplikasi dapat menganalisis gambar masakan dan mengekstrak fitur visual untuk mengidentifikasi bahan-bahan yang ada. Hal ini memungkinkan pengguna untuk mengambil gambar suatu hidangan dan menerima daftar bahan yang digunakan di dalamnya.

Selain itu, dengan memanfaatkan CNN, penggunaan CNN (Convolutional Neural Networks) dalam industri makanan telah mendapatkan perhatian dan popularitas yang signifikan dalam beberapa tahun terakhir. CNN telah terbukti sangat efektif dalam berbagai tugas seperti pengenalan makanan, identifikasi bahan, dan pemeriksaan kualitas.

Dengan mengintegrasikan teknik pembelajaran mendalam ini, aplikasi ini menyediakan cara mudah bagi pengguna untuk dengan mudah mengidentifikasi bahan-bahan dari gambar dan menerima rekomendasi hidangan untuk dimasak berdasarkan bahan-bahan yang tersedia. Ini bisa menjadi alat yang berharga bagi penggemar memasak dan individu yang ingin mencobanya.

1. PENDAHULUAN

Deteksi resep gambar makanan menggunakan deep learning adalah teknik yang memanfaatkan jaringan saraf untuk mengenali dan mengkategorikan berbagai jenis makanan yang ada dalam sebuah gambar. Dengan melatih model pembelajaran mendalam pada kumpulan data besar gambar makanan dengan informasi resep yang sesuai, model tersebut belajar mengaitkan pola visual tertentu dalam gambar dengan resep tertentu.

Prosesnya biasanya melibatkan beberapa langkah, dimulai dengan pra-pemrosesan gambar makanan untuk meningkatkan kualitasnya dan menghilangkan informasi yang tidak relevan. Selanjutnya, model pembelajaran mendalam dilatih pada gambar yang telah diproses sebelumnya menggunakan teknik seperti jaringan saraf konvolusional (CNN).

Selama pelatihan, model belajar mengekstrak fitur dari gambar yang mewakili berbagai jenis makanan. Fitur-fitur ini kemudian digunakan untuk mengklasifikasikan gambar makanan ke dalam kategori berbeda berdasarkan resep yang disediakan.

Setelah model pembelajaran mendalam dilatih, model tersebut dapat diterapkan untuk mengklasifikasikan gambar makanan baru ke dalam kategori resep yang sesuai. Hal ini dapat membantu dalam berbagai aplikasi seperti sistem rekomendasi makanan, analisis pola makan, dan pembuatan resep otomatis.

Dalam proyek ini, dilakukan upaya untuk mengkategorikan foto masakan India ke dalam berbagai kelasnya menggunakan pembelajaran transfer. Klasifikasi gambar menggunakan pendekatan pembelajaran mendalam, seperti jaringan saraf Convolution, mendapatkan banyak minat karena efektivitasnya dalam mempelajari dan mengkategorikan sifat-sifat kompleks. Perbandingan akurasi model dan kerugian validasi dilakukan.

2. SET DATA

Ada berbagai kumpulan data yang tersedia untuk umum yang dapat digunakan untuk mendeteksi makanan menggunakan pembelajaran mendalam, khususnya dengan model VGG16. Salah satu dataset yang populer adalah dataset Food-101 yang terdiri dari 101 kategori makanan dengan total 101.000 gambar. Setiap gambar diberi label dengan kategori makanan yang sesuai. Dataset ini dapat digunakan untuk melatih model VGG16 untuk klasifikasi gambar makanan.

Dataset lain yang dapat digunakan adalah dataset UEC-FOOD100 yang berisi 100 kategori makanan dengan total 9.020 gambar. Setiap gambar juga diberi label dengan kategori makanannya masing-masing. Kumpulan data ini juga dapat digunakan untuk melatih model VGG16 guna mendeteksi dan mengklasifikasikan berbagai jenis makanan.

Selain itu, terdapat kumpulan data gambar makanan lain yang tersedia seperti kumpulan data Food-5K, kumpulan data Bahan Makanan Cina, dan kumpulan data Food20. Kumpulan data ini menyediakan berbagai kategori makanan dan dapat digunakan untuk melatih model pembelajaran mendalam, termasuk VGG16.

3. PRA-PROSES DATA

Pemrosesan awal data merupakan langkah penting dalam tugas deteksi resep untuk gambar makanan menggunakan Convolutional Neural Networks (CNN). Ini melibatkan beberapa langkah penting untuk meningkatkan performa dan akurasi model.

Pertama, pengubahan ukuran dan normalisasi gambar diperlukan untuk memastikan bahwa semua gambar memiliki dimensi dan nilai piksel yang sama. Hal ini memungkinkan CNN memproses data secara efisien dan konsisten.

Selanjutnya, teknik augmentasi gambar seperti rotasi, translasi, dan flipping dapat diterapkan untuk meningkatkan keragaman data pelatihan. Hal ini membantu model untuk menggeneralisasi lebih baik dan berperforma baik pada gambar yang tidak terlihat.

Selain itu, penting untuk melakukan pembersihan dan pemfilteran data untuk menghilangkan gambar yang tidak relevan atau bermasalah dari kumpulan data. Hal ini mengurangi kemungkinan model dibingungkan oleh fitur atau outlier yang tidak relevan.

Terakhir, ekstraksi dan representasi fitur memainkan peran penting dalam tahap prapemrosesan. CNN mampu secara otomatis mempelajari fitur-fitur yang bermakna, namun penting untuk memilih arsitektur jaringan yang sesuai dan bobot terlatih yang sesuai untuk tugas deteksi resep.

Gambar dari food-101 dan allrecipes.com telah diproses sebelumnya, dibersihkan, dan diubah ukurannya menjadi 512 x 512.

4. PELATIHAN MODEL

Melatih model deteksi resep gambar makanan menggunakan Convolutional Neural Networks (CNN) melibatkan beberapa langkah.

Pertama, kumpulan data besar berupa gambar makanan beserta label resepnya perlu dikumpulkan. Kumpulan data ini harus mencakup berbagai macam resep dan jenis makanan untuk memastikan ketahanan model.

Selanjutnya, kumpulan data harus diproses terlebih dahulu untuk meningkatkan proses pelatihan. Ini mungkin termasuk mengubah ukuran gambar, menormalkan nilai piksel, dan menambah kumpulan data dengan melakukan pembalikan, rotasi, atau pemotongan secara acak. Langkah-langkah ini membantu model menggeneralisasi data yang tidak terlihat dengan lebih baik.

Setelah prapemrosesan, dataset dibagi menjadi set pelatihan dan validasi. Set pelatihan digunakan untuk memberi makan model, sedangkan set validasi digunakan untuk mengevaluasi kinerjanya selama pelatihan dan mencegah overfitting.

Kemudian, arsitektur model perlu didefinisikan. CNN biasanya digunakan untuk tugas pengenalan gambar karena kemampuannya menangkap fitur spasial. Lapisan CNN, seperti convolutional, pooling, Activation Layers dan terhubung sepenuhnya.

I. Lapisan Konvolsional: Lapisan ini menerapkan serangkaian filter yang dapat dipelajari pada gambar masukan untuk mengekstrak fitur penting seperti tepi, sudut, dan tekstur.

II. Lapisan Polling: Lapisan ini mengurangi dimensi spasial (tinggi dan lebar) keluaran dari lapisan konvolusional dengan merangkum keberadaan fitur di wilayah kecil pada gambar masukan.

III. Lapisan Aktivasi: Lapisan ini menerapkan fungsi non-linier pada keluaran lapisan sebelumnya untuk memperkenalkan non-linier dalam model dan meningkatkan kemampuannya dalam mempelajari pola yang kompleks.

IV. Lapisan Terhubung Sepenuhnya:Lapisan ini menghubungkan setiap neuron di satu lapisan ke setiap neuron di lapisan berikutnya. Mereka biasanya ditempatkan di akhir jaringan untuk membantu tugas klasifikasi atau regresi.

5. APLIKASI WEB

Kami membangun aplikasi web dan REST API yang dapat dikonsumsi bagi pengguna untuk mengintegrasikannya ke dalam aplikasi mereka, mengevaluasi dan menangkap umpan balik. Arsitektur aplikasi digambarkan di bawah ini.

Gambar menunjukkan aplikasi 5 lapis dengan klien, server, server aplikasi, pemodelan, dan database.

Fungsi aplikasi ini meliputi, mengklasifikasikan suatu gambar, memprediksi bahan-bahan dalam gambar masakan, mengambil gambar yang tampak serupa, dan merekomendasikan hidangan berdasarkan serangkaian bahan. Klien berinteraksi dengan server dengan membuat permintaan HTTP get atau put.

6. EKSPERIMEN

Kami mengevaluasi aplikasi dengan 10.000 gambar dari berbagai kategori. Deteksi resep gambar makanan menggunakan pembelajaran mendalam adalah eksperimen menarik yang telah mendapatkan perhatian signifikan dalam beberapa tahun terakhir. Algoritme pembelajaran mendalam, khususnya jaringan saraf konvolusional (CNN), telah menunjukkan hasil yang menjanjikan dalam mengidentifikasi dan mengkategorikan berbagai jenis makanan secara akurat dalam gambar.

Eksperimen ini melibatkan pelatihan model CNN pada kumpulan data besar gambar makanan beserta resepnya. Model tersebut belajar mengekstrak fitur-fitur bermakna dari gambar dan mengaitkannya dengan resep tertentu. Dengan menganalisis pola, bentuk, dan warna, CNN dapat mengidentifikasi bahan, teknik memasak, dan bahkan memperkirakan nilai gizi makanan.

Kami juga membangun REST API untuk masing-masing dari ketiga model tersebut sehingga aplikasi akan menjadi open source dan dapat dikonsumsi oleh pengguna lain.

6.1 KLASIFIKASI GAMBAR

Gambar masukan melalui jaringan CNN untuk klasifikasi. Model klasifikasi ketika dijalankan pada 10.000 gambar, mencapai akurasi 95%.

7. UMPAN BALIK

Deteksi resep gambar makanan menggunakan deep learning merupakan permasalahan yang menarik dan menantang. Teknik pembelajaran mendalam, seperti jaringan saraf konvolusional (CNN), telah menunjukkan hasil yang menjanjikan dalam berbagai tugas pengenalan gambar. Namun, deteksi resep dari gambar makanan masih merupakan tugas yang kompleks karena variabilitas yang melekat pada tampilan dan komposisi makanan.

Salah satu pendekatan yang mungkin dilakukan untuk mendeteksi resep dapat melibatkan pelatihan CNN pada kumpulan data besar gambar makanan yang diberi label dengan resep yang sesuai. CNN akan belajar mengekstrak fitur-fitur berguna dari gambar dan mengklasifikasikannya ke dalam kategori resep yang berbeda. Pembelajaran transfer, di mana CNN yang telah dilatih sebelumnya disesuaikan dengan kumpulan data gambar makanan, juga bisa menjadi pilihan yang tepat.

Aspek lain yang perlu dipertimbangkan adalah ketersediaan dan kualitas data resep. Mendapatkan kumpulan data gambar makanan dan resep terkait yang besar, beragam, dan diberi label akurat dapat menjadi tugas yang menantang dan memakan waktu. Sangat penting untuk memastikan kualitas dan keakuratan data berlabel untuk mencapai kinerja yang memuaskan.

8. KESIMPULAN

Kesimpulannya, deteksi resep dalam gambar makanan dapat sangat meningkatkan pengalaman kuliner dan menyederhanakan proses memasak. Dengan menerapkan teknologi pengenalan gambar canggih dan algoritma pembelajaran mesin, kami dapat secara akurat mengidentifikasi berbagai bahan dan teknik memasak yang digambarkan dalam gambar makanan. Hal ini memungkinkan kami mengakses informasi resep terperinci dan petunjuk langkah demi langkah, sehingga memudahkan kami membuat ulang hidangan dengan mudah.

Manfaat deteksi resep pada gambar makanan sangat banyak. Ini menghemat waktu dan tenaga dengan menghilangkan kebutuhan untuk mencari resep secara manual berdasarkan deskripsi atau bahan yang tidak jelas. Ia juga menawarkan solusi bagi mereka yang memiliki pembatasan diet atau alergi, karena sistem deteksi dapat menyaring resep berdasarkan preferensi diet tertentu.

Apalagi teknologi pendeteksi resep dapat menginspirasi kreativitas di dapur. Dengan menganalisis bahan-bahan dan proses memasak berbagai hidangan, pengguna dapat dengan mudah mengumpulkan ide dan bereksperimen dengan keunikan mereka sendiri.

Secara keseluruhan, deteksi resep dalam gambar makanan membuka banyak kemungkinan bagi juru masak rumahan dan penggemar makanan. Ini merevolusi cara kita menemukan dan mempersiapkan diri.

REFERENSI

[1] David J. Attokaren, Ian G. Fernandes, A. Sriram, Y.V. Srinivasa Murthy, dan Shashidhar G. Koolagudi, “Klasifikasi Makanan dari Gambar Menggunakan Jaringan Syaraf Konvolusional”, 2017.

[2] Heng Zhao, Kim-Hui Yap, Alex C. Kot , Lingyu Duan , Ngai-Man Cheung, “Pembelajaran Fusion Beberapa Gambar dan Banyak Gambar dalam Pengenalan Makanan Visual Seluler”, 2018.

[3] McKinney, W., Python untuk analisis data: Perselisihan data dengan Pandas, NumPy, dan IPython. 2012: “ O'Reilly Media, Inc.”