Exemple #1
0
# coding=utf-8
from __future__ import absolute_import, print_function

import os
from suanpan.app.arguments import Folder, String, Int, Float
from suanpan.app import app
from lib import cli


@app.input(Folder(key="inputData"))
@app.param(String(key="detector", default="cv2-dnn",
                  help="cv2-dnn mtcnn s3fd"))
@app.param(String(key="aligner", default="cv2-dnn", help="cv2-dnn fan"))
@app.param(
    String(key="normalization", default="none", help="none clahe hist mean"))
@app.param(Int(key="minSize", default=0, help="(0, 1080)"))
@app.param(Float(key="blurThreshold", default=0.0, help="(0.0, 100.0)"))
@app.output(Folder(key="outputData1"))
@app.output(Folder(key="outputData2"))
def SPExtractFace(context):
    args = context.args

    PARSER = cli.FullHelpArgumentParser()
    EXTRACT = cli.ExtractArgs(PARSER, "extract",
                              "Extract the faces from pictures")

    ARGUMENTS = PARSER.parse_args([
        "--input-dir",
        args.inputData,
        "--output-dir",
        args.outputData1,
Exemple #2
0
import suanpan
from suanpan.app import app
from suanpan.app.arguments import String


@app.input(String(key="inputData1", alias="name", default="Suanpan"))
@app.output(String(key="outputData1", alias="result"))
def hello_world(context):
    args = context.args
    return f"Hello World, {args.name}!"


if __name__ == "__main__":
    suanpan.run(app)
Exemple #3
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.app.arguments import Folder, String, Int
from suanpan.app import app
from mainscripts import VideoEd


@app.input(Folder(key="inputData"))
@app.param(String(key="ext", default="png"))
@app.param(Int(key="factor", default=5))
@app.output(Folder(key="outputData"))
def SPDenoise(context):
    args = context.args

    VideoEd.denoise_image_sequence(args.inputData,
                                   args.outputData,
                                   ext=args.ext,
                                   factor=args.factor)

    return args.outputData


if __name__ == "__main__":
    SPDenoise()
Exemple #4
0
# coding=utf-8
from __future__ import absolute_import, print_function

import os
from suanpan.app.arguments import String
from suanpan.app import app
from suanpan.storage import storage


@app.output(String(key="modelDir"))
def SPTrainSync(context):
    args = context.args
    path = os.path.split(str(args.modelDir))[0]

    storage.upload(path.replace("/sp_data/", ""), path)

    return "Model Saved..."


if __name__ == "__main__":
    SPTrainSync()
Exemple #5
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.app.arguments import Folder, String, Float, Int
from suanpan.app import app
from tools import cli
from lib.cli import FullHelpArgumentParser


@app.input(Folder(key="inputData"))
@app.param(
    String(
        key="sortBy",
        default="face",
        help=
        "blur, face, face-cnn, face-cnn-dissim, face-yaw, hist, hist-dissim",
    ))
@app.param(
    Float(
        key="refThreshold",
        default=-1.0,
        help="(-1.0, 10.0) Defaults: face-cnn 7.2, hist 0.3",
    ))
@app.param(String(key="finalProcess", default="rename",
                  help="folders, rename"))
@app.param(
    String(key="groupBy",
           default="hist",
           help="blur, face-cnn, face-yaw, hist"))
@app.param(Int(key="bins", default=5, help="(1, 100)"))
@app.output(Folder(key="outputData"))
Exemple #6
0
# coding=utf-8
from __future__ import absolute_import, print_function

from pm4py.algo.discovery.dfg import factory as dfg_miner
from pm4py.objects.conversion.log.factory import apply as df_to_log
from suanpan.app import app
from suanpan.app.arguments import Json, Csv, String, Bool
from utils.csv import convert_df_pm_format
from utils.dfg import dfg_vis, find_start_end


@app.input(Csv(key="inputData1", alias="inputData"))
@app.param(
    String(key="param1",
           alias="measure",
           default="performance",
           help="performance, frequency"))
@app.param(Bool(key="param2", alias="hideStartEndNode", default=False))
@app.output(Json(key="outputData1", alias="outputData"))
def SPDFG(context):
    args = context.args
    df = convert_df_pm_format(args.inputData)
    log = df_to_log(df)
    dfg = dfg_miner.apply(log, variant=args.measure)
    params = {}
    if not args.hideStartEndNode:
        start, end = find_start_end(dfg)
        params = {"start_activities": start, "end_activities": end}
    outputData = dfg_vis(dfg, log=log, parameters=params, measure=args.measure)

    return outputData
    annot = data["metadata"]
    names = pd.read_csv(csv_path, header=None)

    for key in annot.keys():
        x, y, w, h = annot[key]['xy'][1:]
        for i in names[0]:  # 无列头 用0
            new_txt = i
            pt1 = (x, y)
            pt2 = (x + w, y + h)
            text_edit(image_path, pt1, pt2, new_txt, color)


@app.input(Folder(key="inputData1"))
@app.input(Folder(key="inputData2"))
@app.input(Folder(key="inputData3"))
@app.param(String(key="param1"))
@app.param(String(key="param2"))
@app.output(Folder(key="outputData1"))
def image_edit(context):
    args = context.args
    print("*" * 20)
    print(args.inputData1)
    dir_name = args.inputData1
    global color
    color = colors[args.param1]
    print(color)
    global font
    font = fonts[args.param2]
    print(font)

    image_path = glob("%s/*.jpg" % args.inputData2)[0]
Exemple #8
0
# coding=utf-8
from __future__ import absolute_import, print_function

import os
from suanpan.app.arguments import Folder, String, Int, Bool
from suanpan.app import app


@app.input(Folder(key="inputData"))
@app.input(Folder(key="alignedDir"))
@app.input(Folder(key="modelDir"))
@app.param(Bool(key="__edit", default=False))
@app.param(
    String(
        key="modelName",
        default="SAE",
        help="AVATAR, DF, H64, H128, LIAEF128, SAE, DEV_FANSEG",
    ))
@app.param(Int(key="forceGpuIdx", default=-1))
@app.param(Bool(key="cpuOnly", default=False))
@app.output(Folder(key="outputData"))
def SPConvertLab(context):
    args = context.args

    convert_args = {
        "input_dir": args.inputData,
        "output_dir": args.outputData,
        "aligned_dir": args.alignedDir,
        "model_dir": args.modelDir,
        "model_name": args.modelName,
    }
Exemple #9
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.app.arguments import Folder, String, Int
from suanpan.app import app
from mainscripts import VideoEd
from utils import get_all_files


@app.input(Folder(key="inputData"))
@app.param(String(key="fromTime", default="00:00:00.000"))
@app.param(String(key="toTime", default="00:00:01.000"))
@app.param(Int(key="audioTrackId", default=0))
@app.param(Int(key="bitrate", default=25))
@app.output(Folder(key="outputData"))
def SPCutVideo(context):
    args = context.args

    fileList = get_all_files(args.inputData)

    VideoEd.cut_video(
        fileList[0],
        args.outputData,
        args.fromTime,
        args.toTime,
        args.audioTrackId,
        args.bitrate,
    )

    return args.outputData
Exemple #10
0
# coding=utf-8
from __future__ import absolute_import, print_function

import os
from suanpan.app.arguments import Folder, String, Int, Bool
from suanpan.app import app
from mainscripts import VideoEd
from utils import get_all_files


@app.input(Folder(key="inputData"))
@app.input(Folder(key="referenceFolder"))
@app.param(String(key="fileName", default="media.mp4"))
@app.param(String(key="ext", default="png", help="jpg png"))
@app.param(Int(key="fps", default=25))
@app.param(Int(key="bitrate", default=16))
@app.param(Bool(key="lossless", default=False))
@app.output(Folder(key="outputData"))
def SPVideoFromSequence(context):
    args = context.args
    if args.referenceFolder:
        referenceFile = get_all_files(args.referenceFolder)

    VideoEd.video_from_sequence(
        args.inputData,
        os.path.join(args.outputData, args.fileName),
        referenceFile[0],
        args.ext,
        args.fps,
        args.bitrate,
        args.lossless,
Exemple #11
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.app.arguments import Folder, String, Bool
from suanpan.app import app
from mainscripts import Extractor


@app.input(Folder(key="inputData"))
@app.param(
    String(
        key="faceType",
        default="full_face",
        help=
        "['half_face', 'full_face', 'head', 'full_face_no_align', 'mark_only']",
    ))
@app.param(String(key="detector", default="s3fd", help="['dlib','mt','s3fd']"))
@app.param(Bool(key="multiGpu", default=False))
@app.param(Bool(key="cpuOnly", default=False))
@app.output(Folder(key="outputData"))
def SPExtractFaceLab(context):
    args = context.args

    Extractor.main(
        args.inputData,
        args.outputData,
        debug_dir=None,
        detector=args.detector,
        manual_fix=False,
        manual_output_debug_fix=False,
        manual_window_size=1368,
Exemple #12
0
import os
from suanpan.app.arguments import Folder, Int, String, Bool
from suanpan.app import app
from lib import cli


@app.input(Folder(key="inputData1"))
@app.input(Folder(key="alignments1"))
@app.input(Folder(key="inputData2"))
@app.input(Folder(key="alignments2"))
@app.param(Int(key="batchSize", default=4, help="64 (2, 256)"))
@app.param(
    String(
        key="trainer",
        default="original",
        help=
        "original dfaker dfl-h128 dfl-sae iae lightweight realface unbalanced villain",
    ))
@app.param(Int(key="iterations", default=10000, help="1000000 (0, 5000000)"))
@app.param(Int(key="__gpu", default=0))
@app.param(Bool(key="allowGrowth", default=False))
@app.param(Bool(key="warpToLandmarks", default=False))
@app.param(Bool(key="noFlip", default=False))
@app.param(Bool(key="noAugmentColor", default=False))
@app.output(Folder(key="outputModel"))
def SPTrain(context):
    args = context.args

    PARSER = cli.FullHelpArgumentParser()
    TRAIN = cli.TrainArgs(
        PARSER, "train",
Exemple #13
0
from __future__ import absolute_import, print_function

import os
from suanpan.app.arguments import Folder, String, Int
from suanpan.app import app
from lib import cli
from utils import get_all_files


@app.input(Folder(key="inputData1"))
@app.input(Folder(key="inputData2"))
@app.input(Folder(key="inputModel"))
@app.param(
    String(
        key="colorAdjustment",
        default="avg-color",
        help=
        "avg-color color-transfer manual-balance match-hist seamless-clone none",
    ))
@app.param(Int(key="__gpu", default=0))
@app.param(
    String(
        key="maskType",
        default="predicted",
        help="components dfl_full extended facehull predicted none",
    ))
@app.param(String(key="scaling", default="none", help="sharpen none"))
@app.output(Folder(key="outputData"))
def SPConvert(context):
    args = context.args

    video = get_all_files(args.refVideo)[0] if args.refVideo else args.refVideo
Exemple #14
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.app.arguments import Folder, String
from suanpan.app import app
from mainscripts import Sorter


@app.input(Folder(key="inputData"))
@app.param(
    String(
        key="sortByMethod",
        default="blur",
        help=
        '("blur", "face", "face-dissim", "face-yaw", "face-pitch", "hist", "hist-dissim", "brightness", "hue", "black", "origname", "oneface", "final", "final-no-blur", "test")',
    ))
@app.output(Folder(key="outputData"))
def SPSortLab(context):
    args = context.args

    Sorter.main(input_path=args.inputData, sort_by_method=args.sortByMethod)

    return args.inputData


if __name__ == "__main__":
    SPSortLab()
Exemple #15
0
# coding=utf-8
from __future__ import absolute_import, print_function

import os
from suanpan.app.arguments import String
from suanpan.app import app
from suanpan.storage import storage


@app.output(String(key="outputData"))
def SPConvertSync(context):
    args = context.args
    path = os.path.split(str(args.outputData))[0]

    storage.upload(path.replace("/sp_data/", ""), path)

    return "Images Saved..."


if __name__ == "__main__":
    SPConvertSync()

Exemple #16
0
# coding=utf-8
from __future__ import absolute_import, print_function

from suanpan.app.arguments import Folder, String, Int
from suanpan.app import app
from mainscripts import VideoEd
from utils import get_all_files


@app.input(Folder(key="inputData"))
@app.param(String(key="outputExt", default="png", help="jpg png"))
@app.param(Int(key="fps", default=0))
@app.output(Folder(key="outputData"))
def SPExtractVideo(context):
    args = context.args

    inputFile = get_all_files(args.inputData)

    VideoEd.extract_video(inputFile[0], args.outputData, args.outputExt,
                          args.fps)

    return args.outputData


if __name__ == "__main__":
    SPExtractVideo()