Giới thiệu
Trong thế giới giao hàng thực phẩm địa phương có nhịp độ phát triển nhanh chóng ngày nay, việc đảm bảo sự hài lòng của khách hàng là chìa khóa đối với các công ty. Những người chơi lớn như Zomato và Swiggy thống trị ngành này. Khách hàng mong đợi thực phẩm tươi sống; nếu họ nhận được những món đồ bị hư hỏng, họ sẽ đánh giá cao một phiếu hoàn tiền hoặc giảm giá. Tuy nhiên, việc xác định độ tươi của thực phẩm theo cách thủ công gây khó khăn cho khách hàng và nhân viên công ty. Một giải pháp là tự động hóa quá trình này bằng các mô hình Deep Learning. Những mô hình này có thể dự đoán độ tươi của thực phẩm, chỉ cho phép nhân viên xem xét các khiếu nại được gắn cờ để xác nhận lần cuối. Nếu mô hình xác nhận độ tươi của thực phẩm, nó có thể tự động loại bỏ khiếu nại. Trong bài viết này, chúng tôi sẽ xây dựng Máy dò chất lượng thực phẩm bằng cách sử dụng Deep Learning.
Deep Learning, một tập hợp con của trí tuệ nhân tạo, mang lại tiện ích đáng kể trong bối cảnh này. Cụ thể, CNN (Mạng thần kinh chuyển đổi) có thể được sử dụng để đào tạo các mô hình sử dụng hình ảnh thực phẩm để nhận biết độ tươi của chúng. Độ chính xác của mô hình của chúng tôi hoàn toàn phụ thuộc vào chất lượng của tập dữ liệu. Lý tưởng nhất là việc kết hợp hình ảnh thực phẩm thực tế từ các khiếu nại chatbot của người dùng trong các ứng dụng phân phối thực phẩm siêu địa phương sẽ nâng cao đáng kể độ chính xác. Tuy nhiên, do thiếu quyền truy cập vào dữ liệu đó, chúng tôi dựa vào tập dữ liệu được sử dụng rộng rãi được gọi là “tập dữ liệu Phân loại mới và thối”, có thể truy cập được trên Kaggle. Để khám phá toàn bộ mã học sâu, chỉ cần nhấp vào nút “Sao chép & Chỉnh sửa” được cung cấp tại đây.
Mục tiêu học tập
- Tìm hiểu tầm quan trọng của chất lượng thực phẩm đối với sự hài lòng của khách hàng và tăng trưởng kinh doanh.
- Khám phá cách deep learning hỗ trợ việc xây dựng máy dò chất lượng thực phẩm.
- Tích lũy kinh nghiệm thực tế thông qua việc triển khai từng bước mô hình này.
- Hiểu những thách thức và giải pháp liên quan đến việc thực hiện nó.
Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.
Mục lục
Hiểu cách sử dụng Deep Learning trong Máy dò chất lượng thực phẩm
Học kĩ càng, một tập hợp con của Trí tuệ nhân tạo, chủ yếu sử dụng các bộ dữ liệu không gian để xây dựng các mô hình. Mạng lưới thần kinh trong Deep Learning được sử dụng để đào tạo các mô hình này, mô phỏng chức năng của bộ não con người.
Trong bối cảnh phát hiện chất lượng thực phẩm, việc đào tạo các mô hình deep learning với bộ hình ảnh thực phẩm phong phú là điều cần thiết để phân biệt chính xác giữa các mặt hàng thực phẩm chất lượng tốt và kém. Chúng tôi có thể làm điều chỉnh siêu tham số dựa trên dữ liệu đang được cung cấp để làm cho mô hình chính xác hơn.
Tầm quan trọng của chất lượng thực phẩm trong giao hàng siêu địa phương
Việc tích hợp tính năng này vào dịch vụ giao đồ ăn siêu địa phương mang lại một số lợi ích. Mô hình tránh thiên vị đối với các khách hàng cụ thể và dự đoán chính xác, từ đó giảm thời gian giải quyết khiếu nại. Ngoài ra, chúng tôi có thể sử dụng tính năng này trong quá trình đóng gói đơn hàng để kiểm tra chất lượng thực phẩm trước khi giao hàng, đảm bảo khách hàng luôn nhận được thực phẩm tươi sống.
Phát triển máy dò chất lượng thực phẩm
Để xây dựng hoàn chỉnh tính năng này, chúng ta cần làm theo nhiều bước như lấy và làm sạch tập dữ liệu, huấn luyện mô hình học sâu, Đánh giá hiệu suất và thực hiện điều chỉnh siêu tham số và cuối cùng là lưu mô hình vào h5 định dạng. Sau này, chúng ta có thể triển khai giao diện người dùng bằng cách sử dụng Phản ứngvà phần phụ trợ sử dụng khung của Python django. Chúng tôi sẽ sử dụng Django để xử lý việc tải lên hình ảnh và xử lý nó.
Giới thiệu về Dataset
Trước khi đi sâu vào quá trình tiền xử lý dữ liệu và xây dựng mô hình, điều quan trọng là phải hiểu tập dữ liệu. Như đã thảo luận trước đó, chúng tôi sẽ sử dụng tập dữ liệu từ Kaggle có tên Phân loại thực phẩm tươi và thối. Bộ dữ liệu này được chia thành hai loại chính có tên Train và Thử nghiệm cái nào được sử dụng cho mục đích đào tạo và kiểm tra tương ứng. Trong thư mục tàu hỏa, chúng ta có 9 thư mục con trái cây tươi, rau tươi và 9 thư mục con trái cây thối, rau thối.
Các tính năng chính của Bộ dữ liệu
- Hình ảnh đa dạng: Tập dữ liệu này chứa rất nhiều hình ảnh món ăn với nhiều biến thể về góc độ, phông nền và điều kiện ánh sáng. Điều này giúp mô hình không bị sai lệch và chính xác hơn.
- Hình ảnh chất lượng cao: Bộ dữ liệu này có hình ảnh chất lượng rất tốt được chụp bởi nhiều máy ảnh chuyên nghiệp khác nhau.
Tải và chuẩn bị dữ liệu
Trong phần này, trước tiên chúng ta sẽ tải hình ảnh bằng cách sử dụng 'tensorflow.keras.preprocessing.image.tải_img' chức năng và hiển thị hình ảnh bằng thư viện matplotlib. Việc xử lý trước những hình ảnh này để đào tạo mô hình thực sự quan trọng. Điều này liên quan đến việc làm sạch và sắp xếp các hình ảnh để phù hợp với mô hình.
import os
import matplotlib.pyplot as plt
from tensorflow.keras.preprocessing.image import load_img
def visualize_sample_images(dataset_dir, categories):
n = len(categories)
fig, axs = plt.subplots(1, n, figsize=(20, 5))
for i, category in enumerate(categories):
folder = os.path.join(dataset_dir, category)
image_file = os.listdir(folder)[0]
img_path = os.path.join(folder, image_file)
img = load_img(img_path)
axs[i].imshow(img)
axs[i].set_title(category)
plt.tight_layout()
plt.show()
dataset_base_dir = '/kaggle/input/fresh-and-stale-classification/dataset'
train_dir = os.path.join(dataset_base_dir, 'Train')
categories = ['freshapples', 'rottenapples', 'freshbanana', 'rottenbanana']
visualize_sample_images(train_dir, categories)
Bây giờ hãy tải hình ảnh huấn luyện và kiểm tra vào các biến. Chúng tôi sẽ thay đổi kích thước tất cả hình ảnh thành cùng chiều cao và chiều rộng 180.
from tensorflow.keras.preprocessing.image import ImageDataGenerator
batch_size = 32
img_height = 180
img_width = 180
train_datagen = ImageDataGenerator(
rescale=1./255,
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest',
validation_split=0.2)
train_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(img_height, img_width),
batch_size=batch_size,
class_mode='binary',
subset='training')
validation_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(img_height, img_width),
batch_size=batch_size,
class_mode='binary',
subset='validation')
Xây dựng mô hình
Bây giờ, hãy xây dựng mô hình học sâu bằng thuật toán Tuần tự từ 'tensorflow.keras'. Chúng tôi sẽ thêm 3 lớp chập và trình tối ưu hóa Adam. Trước khi đi sâu vào phần thực tế, trước tiên chúng ta hãy hiểu các thuật ngữ 'Mô hình tuần tự','Trình tối ưu hóa Adam', và'Lớp tích chập' nghĩa là.
Mô hình tuần tự
Mô hình tuần tự bao gồm một chồng các lớp, cung cấp cấu trúc cơ bản trong Keras. Điều này lý tưởng cho các tình huống trong đó mạng thần kinh của bạn có một tensor đầu vào duy nhất và một tensor đầu ra duy nhất. Bạn thêm các lớp theo thứ tự thực hiện tuần tự, làm cho nó phù hợp để xây dựng các mô hình đơn giản với các lớp xếp chồng lên nhau. Sự đơn giản này làm cho mô hình tuần tự trở nên hữu ích và dễ thực hiện hơn.
Trình tối ưu hóa Adam
Chữ viết tắt của Adam là 'Ước tính thời điểm thích ứng'. Nó phục vụ như một thuật toán tối ưu hóa thay thế cho việc giảm độ dốc ngẫu nhiên, cập nhật trọng số mạng lặp đi lặp lại. Adam Optimizer có lợi vì nó duy trì tốc độ học tập (LR) cho mỗi trọng lượng mạng, điều này thuận lợi trong việc xử lý nhiễu trong dữ liệu.
Lớp chập (Conv2D)
Nó là thành phần chính của Mạng thần kinh chuyển đổi (CNN). Nó chủ yếu được sử dụng để xử lý các tập dữ liệu không gian như hình ảnh. Lớp này áp dụng hàm tích chập hoặc thao tác cho đầu vào và sau đó chuyển kết quả sang lớp tiếp theo.
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(img_height, img_width, 3)),
MaxPooling2D(2, 2),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D(2, 2),
Conv2D(128, (3, 3), activation='relu'),
MaxPooling2D(2, 2),
Flatten(),
Dense(512, activation='relu'),
Dropout(0.5),
Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
epochs = 10
history = model.fit(
train_generator,
steps_per_epoch=train_generator.samples // batch_size,
epochs=epochs,
validation_data=validation_generator,
validation_steps=validation_generator.samples // batch_size)
Kiểm tra máy dò chất lượng thực phẩm
Bây giờ, hãy kiểm tra mô hình bằng cách cho nó một hình ảnh thực phẩm mới và xem nó có thể phân loại thực phẩm tươi và thực phẩm thối chính xác đến mức nào.
from tensorflow.keras.preprocessing import image
import numpy as np
def classify_image(image_path, model):
img = image.load_img(image_path, target_size=(img_height, img_width))
img_array = image.img_to_array(img)
img_array = np.expand_dims(img_array, axis=0)
img_array /= 255.0
predictions = model.predict(img_array)
if predictions[0] > 0.5:
print("Rotten")
else:
print("Fresh")
image_path = '/kaggle/input/fresh-and-stale-classification/dataset/Train/
rottenoranges/Screen Shot 2018-06-12 at 11.18.28 PM.png'
classify_image(image_path, model)
Như chúng ta có thể thấy mô hình đã dự đoán chính xác. Như chúng tôi đã đưa ra cam thối hình ảnh làm đầu vào, mô hình đã dự đoán chính xác nó như hư.
Đối với mã frontend(React) và backend(Django), bạn có thể xem mã hoàn chỉnh của tôi trên GitHub tại đây: liên kết
Kết luận
Tóm lại, để tự động hóa các khiếu nại về chất lượng thực phẩm trong ứng dụng Hyperlocal Delivery, chúng tôi đề xuất xây dựng mô hình học sâu được tích hợp với ứng dụng web. Tuy nhiên, do dữ liệu huấn luyện còn hạn chế nên mô hình có thể không phát hiện chính xác mọi hình ảnh món ăn. Việc triển khai này đóng vai trò là bước nền tảng hướng tới một giải pháp lớn hơn. Việc truy cập vào hình ảnh do người dùng tải lên theo thời gian thực trong các ứng dụng này sẽ nâng cao đáng kể độ chính xác của mô hình của chúng tôi.
Chìa khóa chính
- Chất lượng thực phẩm đóng một vai trò quan trọng trong việc đạt được sự hài lòng của khách hàng trong thị trường giao đồ ăn siêu địa phương.
- Bạn có thể sử dụng công nghệ Deep Learning để đào tạo công cụ dự đoán chất lượng thực phẩm chính xác.
- Bạn đã có được trải nghiệm thực tế nhờ hướng dẫn từng bước này để xây dựng ứng dụng web.
- Bạn đã hiểu tầm quan trọng của chất lượng của tập dữ liệu để xây dựng một mô hình chính xác.
Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://www.analyticsvidhya.com/blog/2024/03/food-quality-detector/
- : có
- :là
- :không phải
- :Ở đâu
- 1
- 10
- 11
- 127
- 180
- 2%
- 20
- 28
- 300
- 32
- 48
- 5
- 501
- 55
- 58
- 9
- a
- viết tắt
- Giới thiệu
- truy cập
- có thể truy cập
- chính xác
- chính xác
- chính xác
- đạt được
- Adam
- thêm vào
- Ngoài ra
- thuận lợi
- Sau
- AIDS
- thuật toán
- Tất cả
- Cho phép
- thay thế
- an
- phân tích
- Phân tích Vidhya
- và
- góc
- ứng dụng
- áp dụng
- đánh giá cao
- ứng dụng
- LÀ
- bài viết
- nhân tạo
- trí tuệ nhân tạo
- AS
- At
- tự động hóa
- tự động
- tránh
- AXS
- Backend
- lý lịch
- Bad
- dựa
- BE
- trước
- được
- mang lại lợi ích
- Lợi ích
- giữa
- thiên vị
- có thành kiến
- nhị phân
- cuộc thi viết blog
- Brain
- xây dựng
- Xây dựng
- kinh doanh
- nút
- by
- máy ảnh
- CAN
- bị bắt
- đố
- Phân loại
- thách thức
- chatbot
- phân loại
- Phân loại
- Làm sạch
- Nhấp chuột
- mã
- Các công ty
- công ty
- khiếu nại
- khiếu nại
- hoàn thành
- hoàn toàn
- thành phần
- bao gồm
- phần kết luận
- điều kiện
- nhất quán
- xây dựng
- xây dựng
- chứa
- bối cảnh
- đúng
- quan trọng
- quan trọng
- cồng kềnh
- khách hàng
- Sự hài lòng của khách hàng
- khách hàng
- dữ liệu
- bộ dữ liệu
- sâu
- học kĩ càng
- def
- giao hàng
- ngu si
- phát hiện
- Phát hiện
- xác định
- phát triển
- phân biệt
- Giảm giá
- tùy ý
- thảo luận
- Bỏ qua
- Django
- do
- làm
- thống trị
- hai
- suốt trong
- mỗi
- Sớm hơn
- dễ dàng hơn
- khác
- việc làm
- nhân viên
- sử dụng
- nâng cao
- đảm bảo
- hoàn toàn
- kỷ nguyên
- thiết yếu
- Ether (ETH)
- đánh giá
- Mỗi
- thực hiện
- mong đợi
- kinh nghiệm
- khám phá
- mở rộng
- nhịp độ nhanh
- Đặc tính
- Tính năng
- Fed
- Sung
- cuối cùng
- Cuối cùng
- Tên
- được gắn cờ
- theo
- thực phẩm
- giao đồ ăn
- Trong
- nền tảng
- Khung
- tươi
- từ
- lối vào
- Trái cây
- chức năng
- chức năng
- cơ bản
- đạt được
- GitHub
- được
- Cho
- đi
- tốt
- rất nhiều
- Tăng trưởng
- hướng dẫn
- xử lý
- Xử lý
- hands-on
- Có
- cao
- giúp
- tại đây
- Cao
- cao
- bản lề
- lịch sử
- Độ đáng tin của
- Tuy nhiên
- http
- HTTPS
- Nhân loại
- Điều chỉnh siêu tham số
- i
- lý tưởng
- lý tưởng
- if
- hình ảnh
- hình ảnh
- thực hiện
- thực hiện
- nhập khẩu
- tầm quan trọng
- quan trọng
- in
- kết hợp
- ngành công nghiệp
- đầu vào
- tích hợp
- Sự thông minh
- trong
- tham gia
- liên quan đến
- IT
- mặt hàng
- ITS
- máy ảnh
- Key
- nổi tiếng
- thiếu
- lớn hơn
- lớp
- lớp
- học tập
- Thư viện
- Thắp sáng
- Lượt thích
- Hạn chế
- tải
- tải
- địa phương
- Rất nhiều
- Chủ yếu
- phần lớn
- duy trì
- chính
- làm cho
- LÀM CHO
- Làm
- thủ công
- thị trường
- matplotlib
- max-width
- Có thể..
- nghĩa là
- Phương tiện truyền thông
- kiểu mẫu
- mô hình
- thời điểm
- chi tiết
- my
- Được đặt theo tên
- Cần
- mạng
- mạng
- Thần kinh
- mạng lưới thần kinh
- mạng thần kinh
- Mới
- tiếp theo
- Tiếng ồn
- cục mịch
- có được
- of
- cung cấp
- Cung cấp
- on
- ONE
- có thể
- hoạt động
- tối ưu hóa
- or
- gọi món
- tổ chức
- OS
- vfoXNUMXfipXNUMXhfpiXNUMXufhpiXNUMXuf
- đầu ra
- sở hữu
- một phần
- vượt qua
- con đường
- hiệu suất
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- người chơi
- đóng
- pm
- Thực tế
- dự đoán
- dự đoán
- Dự đoán
- Predictor
- Dự đoán
- chuẩn bị
- chủ yếu
- quá trình
- xử lý
- chuyên nghiệp
- đề xuất
- cung cấp
- công bố
- mục đích
- chất lượng
- Tỷ lệ
- Phản ứng
- thực
- thời gian thực
- có thật không
- nhận
- giảm
- Hoàn tiền
- sự trở lại
- dựa
- Độ phân giải
- kết quả
- xem xét
- Vai trò
- tương tự
- sự hài lòng
- tiết kiệm
- kịch bản
- Khoa học
- Phần
- xem
- phục vụ
- bộ
- một số
- bắn
- thể hiện
- có ý nghĩa
- đáng kể
- đơn giản
- đơn giản
- duy nhất
- giải pháp
- Giải pháp
- không gian
- riêng
- đặc biệt
- chia
- ngăn xếp
- xếp chồng lên nhau
- Nhân sự
- Bước
- Các bước
- đơn giản
- cấu trúc
- như vậy
- phù hợp
- Lừa đảo
- Công nghệ
- tensorflow
- về
- thử nghiệm
- Kiểm tra
- việc này
- Sản phẩm
- cung cấp their dịch
- sau đó
- bằng cách ấy
- Kia là
- họ
- điều này
- Thông qua
- thời gian
- đến
- hôm nay
- đối với
- Train
- Hội thảo
- điều chỉnh
- hai
- Dưới
- hiểu
- sự hiểu biết
- hiểu
- cập nhật
- sử dụng
- đã sử dụng
- hữu ích
- sử dụng
- tiện ích
- sử dụng
- tận dụng
- xác nhận
- biến
- khác nhau
- Rau
- rất
- hình dung
- là
- we
- web
- webp
- trọng lượng
- Điều gì
- cái nào
- sẽ
- với
- ở trong
- thế giới
- sẽ
- bạn
- trên màn hình
- zephyrnet
- zomato