一、介绍
水果识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
二、效果图片
三、演示视频
视频+代码:https://www.yuque.com/ziwu/yygu3z/sr43e6q0wormmfpv
四、部分代码
def upload_img(request):
# 图片上传
file = request.FILES.get('file')
file_name = file.name
file_name = '{}.{}'.format(int(time.time()), str(file_name).rsplit('.')[-1])
with open(os.path.join(settings.MEDIA_ROOT, file_name), 'wb') as f:
for chunk in file.chunks():
f.write(chunk)
upload_url = request.build_absolute_uri(settings.MEDIA_URL + file_name)
ImageCheck.objects.create(file_name=file_name, file_url=upload_url)
return JsonResponse({
'code': 200, 'data': {
'url': upload_url}})
def check_img(request):
# 图片检测
image_url = request.POST.get('img_url')
if not image_url:
return JsonResponse({
'code': 400, 'message': '缺少必传的参数'})
image_name = image_url.rsplit('/')[-1]
image_path = os.path.join(settings.MEDIA_ROOT, image_name)
pred_name = check_handle(image_path)
obj = ImageCheck.objects.filter(file_name=image_name).last()
obj.check_result = pred_name
obj.save()
return JsonResponse({
'code': 200, 'data': {
'pred_name': pred_name}})
五、实现步骤
● 首先收集需要识别的种类数据集
● 然后基于TensorFlow搭建ResNet50卷积神经网络算法模型,并通过多轮迭代训练,最终得到一个精度较高的模型,并将其保存为h5格式的本地文件。
● 基于Django开发网页端可视化操作平台,HTML、CSS、BootStrap等技术搭建前端界面。Django作为后端逻辑处理框架。Ajax实现前后端的数据通信。