m0_58844937 2022-06-21 22:47 采纳率: 85.7%
浏览 24
已结题

django和yolov3的问题

问题遇到的现象和发生背景

将yolov3的coco识别分类嫁接到django框架下出现问题,第一次上传图片识别,没有问题,第二次上传图片识别,就报错了

img

问题相关代码,请勿粘贴截图
运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • m0_58844937 2022-06-21 22:50
    关注

    以下是我预测用的代码

    
    def input_model(input_size=416):
        input_layer = tf.keras.layers.Input([input_size, input_size, 3])
        feature_maps = YOLOv3(input_layer)
        bbox_tensors = []
        for i, fm in enumerate(feature_maps):
            bbox_tensor = decode(fm, i)
            bbox_tensors.append(bbox_tensor)
        model = tf.keras.Model(input_layer, bbox_tensors)
        utils.load_weights(model, "ICAR\\yolov3.weights")
        # model.summary()
        return model
        # model.summary()
    
    
    def image_label(original_image, model):
        input_size = 416
    
        original_image = np.array(original_image)  # 将图片转为 numpy array 格式
        original_image_size = original_image.shape[:2]
    
        image_data = utils.image_preporcess(np.copy(original_image), [input_size, input_size])
        image_data = image_data[np.newaxis, ...].astype(np.float32)
    
        # models = input_model(input_size=416)
        pred_bbox = model.predict(image_data)
        pred_bbox = [tf.reshape(x, (-1, tf.shape(x)[-1])) for x in pred_bbox]
        pred_bbox = tf.concat(pred_bbox, axis=0)
        bboxes = utils.postprocess_boxes(pred_bbox, original_image_size, input_size, 0.3)
        bboxes = utils.nms(bboxes, 0.45, method='nms')
    
        _, label = utils.draw_bbox(original_image, bboxes)
        return label
    
    # 方法二:把预测的结果直接返回给前端的文本框中
    @csrf_exempt
    def facedetectDemo2(request):
        result = {"code": None}
        if request.method == 'POST':
            imag = request.FILES.get('image')
            # 3、载入自己写的数字图片并设置大小
            original_image = Image.open(imag)
    
            model = input_model(416)
            label = image_label(original_image, model)
            print(label)
            result.update({"output": label})
           return JsonResponse(result)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月30日
  • 已采纳回答 6月22日
  • 创建了问题 6月21日

悬赏问题

  • ¥15 【悬赏】canvas 椭圆形内小球边缘与小球碰撞检测
  • ¥50 Delphi5环境下图片文件怎么转换成Base64编码?
  • ¥15 将GPDO_0引|脚设首成PWM1的输出引脚 实验编程该怎么写
  • ¥50 阿里云服务器 CentOS7.9 搭建 openvpn 服务
  • ¥100 开源软件弱点处理规范
  • ¥15 excel如何根据文件名自动搜索并批量导入文件?
  • ¥15 VScode 用户代码片段图标
  • ¥15 streamingtool
  • ¥15 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统