一、項目介紹
本系統基於TensorFlow框架,搭建了一個採用卷積神經網絡(CNN)的果蔬圖像識別模型。我們收集了包括‘土豆’、‘聖女果’、‘大白菜’、‘大葱’、‘梨’、‘胡蘿蔔’、‘芒果’、‘蘋果’、‘西紅柿’、‘韭菜’、‘香蕉’和‘黃瓜’在內的12類常見果蔬數據集,通過多輪迭代訓練,最終得到一個識別準確率較高的深度學習模型。同時,系統配備了完整的Web可視化操作平台,便於用户交互使用。
技術架構:
- 前端:Vue3 + Element Plus
- 後端:Django
- 算法:TensorFlow + 卷積神經網絡(CNN)
主要功能:
- 系統支持管理員與普通用户兩種角色,登錄後依據角色權限展示相應功能模塊。
- 登錄用户可發佈、查看及編輯文章,文章編輯集成Markdown編輯器,支持富文本排版。
- 圖像識別模塊支持用户上傳果蔬圖片,系統自動識別並返回類別名稱及置信度。
- 基於ECharts繪製柱狀圖,直觀展示所有果蔬類別對應的置信度分佈。
- 智能問答模塊允許用户輸入問題,系統通過調用Deepseek API實現智能回覆。
-
管理員可在用户管理模塊中對用户賬户進行統一管理與編輯操作。
背景介紹
隨着人工智能技術的快速發展,基於深度學習的圖像識別已廣泛應用於農業、零售及日常生活等多個領域。針對果蔬種類繁多、人工識別效率有限的問題,本項目基於TensorFlow框架,構建了一個採用卷積神經網絡(CNN)的果蔬圖像識別系統。該系統能夠高效識別包括“蘋果”“香蕉”“胡蘿蔔”“西紅柿”等在內的12類常見果蔬,具備較高的識別準確率。同時,系統結合Vue3與Django技術,開發了功能完善的Web可視化交互平台,不僅支持果蔬圖像識別與結果可視化,還集成了文章管理與智能問答等功能,有效提升了系統的實用性與用户體驗。該研究為推動圖像識別技術在智慧農業及智能生活中的應用提供了有價值的實踐參考。
二、系統效果圖片展示
三、演示視頻 and 安裝 and 完整代碼
地址:https://ziwupy.cn/p/bwyX8Y
四、TensorFlow介紹
import tensorflow as tf
from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions
import numpy as np
from PIL import Image
# 加載預訓練的ResNet50模型
model = ResNet50(weights='imagenet')
def classify_image(image_path):
# 加載和預處理圖像
image = Image.open(image_path).convert('RGB')
image = image.resize((224, 224)) # ResNet50要求輸入尺寸
image_array = np.array(image)
image_array = np.expand_dims(image_array, axis=0) # 添加批次維度
image_array = preprocess_input(image_array) # 預處理
# 進行預測
predictions = model.predict(image_array)
# 解碼預測結果
decoded_predictions = decode_predictions(predictions, top=3)[0]
# 輸出結果
print("預測結果:")
for i, (imagenet_id, label, score) in enumerate(decoded_predictions):
print(f"{i+1}. {label}: {score:.4f}")
# 使用示例
classify_image('your_image.jpg')
説明: 這段代碼使用TensorFlow的Keras API加載預訓練的ResNet50模型。首先通過PIL加載圖像並調整到224×224像素,然後進行模型特定的預處理。decode_predictions函數將輸出轉換為可讀的標籤和置信度分數,默認顯示前3個最可能的預測結果。需要將'your_image.jpg'替換為實際圖像路徑。