头图

项目介绍

垃圾识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对5种垃圾数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台,实现用户上传一张垃圾图片识别其名称。

效果展示

img_05_10_18_48_12.jpg
img_05_10_18_48_19.jpg
img_05_10_18_49_34.jpg

演示视频

项目源码和视频演示:https://www.yuque.com/ziwu/yygu3z/lwutss28pac54l3n

相关代码


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实现前后端的数据通信。


子午
24 声望9 粉丝