Esempio n. 1
0
def demo_prediction():
    """Route to a jsonified version of deep learning model predictions, for
    demo case

    Returns
    -------
    dict
        Deep learning model prediction for demo page (depends on the chosen
    model, either feature detection or semantic segmentation)
    """
    filename = request.args.get('img')
    filename = os.path.join("deeposlandia", filename[1:])
    dataset = request.args.get('dataset')
    agg_value = dataset == "mapillary"
    model = request.args.get('model')
    utils.logger.info("file: {}, dataset: {}, model: {}".format(
        filename, dataset, model))
    if model == "feature_detection":
        predictions = predict([filename], dataset, model, aggregate=agg_value)
        return jsonify(predictions)
    elif model == "semantic_segmentation":
        predictions = predict([filename],
                              dataset,
                              model,
                              aggregate=agg_value,
                              output_dir=PREDICT_FOLDER)
        return jsonify(predictions)
    else:
        utils.logger.error(("Unknown model. Please choose "
                            "'feature_detection' or 'semantic_segmentation'."))
        return ""
Esempio n. 2
0
def predictor_demo(model, dataset, image):
    """Route to a jsonified version of deep learning model predictions, for
    demo case

    Parameters
    ----------
    model : str
        Considered research problem
    dataset : str
        Considered dataset
    image : str
        Name of the demo image onto the server

    Returns
    -------
    dict
        Deep learning model prediction for demo page (depends on the chosen
    model, either feature detection or semantic segmentation)
    """
    logger.info("file: %s, dataset: %s, model: %s", image, dataset, model)
    image_info = recover_image_info(dataset, image)
    predictions = predict(
        [os.path.join(app.static_folder, image_info["image_file"])],
        dataset,
        model,
        output_dir=PREDICT_FOLDER,
    )
    if model == "featdet":
        predicted_image = "sample_image/prediction.png"
        predicted_labels = predictions[
            os.path.join(app.static_folder, image_info["image_file"])
        ]
    elif model == "semseg":
        predicted_image = os.path.join(
            "predicted", image_info["label_file"].split("/")[-1]
        )
        predicted_labels = predictions["labels"]
    else:
        raise ValueError(
            (
                "Unknown model, please choose amongst %s.", AVAILABLE_MODELS
            )
        )
    return render_template(
        dataset + "_demo.html",
        model=model,
        image_filename=image_info["image_file"],
        label_filename=image_info["label_file"],
        ground_truth_labels=image_info["labels"],
        predicted_filename=predicted_image,
        predicted_labels=predicted_labels,
    )
Esempio n. 3
0
def predictor_demo(model, dataset, image):
    """Route to a jsonified version of deep learning model predictions, for
    demo case

    Parameters
    ----------
    model : str
        Considered research problem (either `feature_detection` or
    `semantic_segmentation`)
    dataset : str
        Considered dataset (either `shapes` or `mapillary`)
    image : str
        Name of the demo image onto the server

    Returns
    -------
    dict
        Deep learning model prediction for demo page (depends on the chosen
    model, either feature detection or semantic segmentation)
    """
    agg_value = dataset == "mapillary"
    logger.info("file: %s, dataset: %s, model: %s", image, dataset, model)
    agg_value = dataset == "mapillary"
    image_info = recover_image_info(dataset, image)
    predictions = predict(
        [os.path.join(app.static_folder, image_info["image_file"])],
        dataset,
        model,
        aggregate=agg_value,
        output_dir=PREDICT_FOLDER,
    )
    if model == "feature_detection":
        predicted_image = "sample_image/prediction.png"
        predicted_labels = predictions[os.path.join(app.static_folder,
                                                    image_info["image_file"])]
    elif model == "semantic_segmentation":
        predicted_image = os.path.join("predicted",
                                       image_info["label_file"].split("/")[-1])
        predicted_labels = predictions["labels"]
    else:
        raise ValueError(("Unknown model, please provide 'feature_detection'"
                          "or 'semantic_segmentation'."))
    return render_template(
        dataset + "_demo.html",
        model=model,
        image_filename=image_info["image_file"],
        label_filename=image_info["label_file"],
        ground_truth_labels=image_info["labels"],
        predicted_filename=predicted_image,
        predicted_labels=predicted_labels,
    )
Esempio n. 4
0
def prediction():
    """Route to a jsonified version of deep learning model predictions, for
    client tool

    Returns
    -------
    dict
        Deep learning model predictions
    """
    filename = os.path.basename(request.args.get('img'))
    filename = os.path.join(app.config['UPLOAD_FOLDER'], filename)
    dataset = request.args.get('dataset')
    model = request.args.get('model')
    logger.info("file: %s, dataset: %s, model: %s", filename, dataset, model)
    predictions = predict([filename],
                          "mapillary",
                          "semantic_segmentation",
                          aggregate=True,
                          output_dir=PREDICT_FOLDER)
    return jsonify(predictions)
Esempio n. 5
0
def prediction():
    """Route to a jsonified version of deep learning model predictions, for
    client tool

    Returns
    -------
    dict
        Deep learning model predictions
    """
    filename = os.path.basename(request.args.get("img"))
    filename = os.path.join(app.config["UPLOAD_FOLDER"], filename)
    dataset = request.args.get("dataset")
    model = request.args.get("model")
    logger.info("file: %s, dataset: %s, model: %s", filename, dataset, model)
    predictions = predict(
        [filename],
        "mapillary",
        "semseg",
        output_dir=PREDICT_FOLDER,
    )
    return jsonify(predictions)