hispark-modelzoo-pfld / model-card.json
shadow-cann's picture
Add files using upload-large-folder tool
4d616b9 verified
{
"name": "PFLD",
"id": "i9j1qkj1ec00",
"description": "PFLD全称A Practical Facial Landmark Detector是一个精度高,速度快,模型小的人脸关键点检测模型。",
"category": "计算机视觉",
"framework": [
"PyTorch"
],
"supportOs": [
"OpenHarmony",
"Linux"
],
"computingPower": [
"Hi3403V100 SVP_NNN",
"Hi3403V100 NNN"
],
"tags": [
"关键点检测"
],
"repositoryUrl": "https://gitee.com/HiSpark/modelzoo/tree/master/samples/built-in/detection/PFLD",
"licenseUrl": "https://github.com/polarisZhao/PFLD-pytorch.git",
"downloads": [
{
"fileName": "pfld-sim.onnx",
"variants": [
"源模型 / 源模型下载",
"源模型 / 源模型元数据"
]
},
{
"fileName": "SVP_NNN_PC_V1.0.6.0.tgz",
"variants": [
"附加资源 / 附加资源"
]
}
],
"apiDetail": {
"createdBy": 139318985286440,
"creationDate": "2025-12-25 17:10:06",
"creationUserCN": "sloanqin",
"lastUpdatedBy": null,
"lastUpdateDate": "2025-12-30 20:02:18",
"lastUpdateUserCN": "sloanqin",
"rowIdx": -1,
"id": "i9j1qkj1ec00",
"name": "PFLD",
"isBeta": 0,
"betaVersionDesc": "",
"description": "PFLD全称A Practical Facial Landmark Detector是一个精度高,速度快,模型小的人脸关键点检测模型。",
"parentId": "i9j1qkj1ec00",
"coverImageId": 1701485360513025,
"coverImageUrl": "https://openxinhuo-board-image.obs.cn-east-3.myhuaweicloud.com/1701485360513025%2FPFLD.png",
"modelEffectId": null,
"modelEffectUrl": "",
"computerVersion": [
"关键点检测"
],
"naturalLanguageProcess": [],
"multimodal": [],
"video": [],
"framework": [
"PyTorch"
],
"modelRepository": "https://gitee.com/HiSpark/modelzoo/tree/master/samples/built-in/detection/PFLD",
"originModel": [
{
"id": "1706935546085379",
"name": "pfld-sim.onnx",
"url": null,
"size": "5136035"
}
],
"originModelLink": null,
"dataSet": "https://wywu.github.io/projects/LAB/WFLW.html",
"modelLicense": "https://github.com/polarisZhao/PFLD-pytorch.git",
"detailParams": [
{
"name": "输入",
"value": "112 x 112"
},
{
"name": "参数量",
"value": "24.184M"
},
{
"name": "计算量",
"value": "127.785GFLOPs"
}
],
"quickStart": {
"url": "https://gitee.com/HiSpark/modelzoo/tree/master/samples/built-in/detection/PFLD",
"markDownUrl": "",
"developLanguage": [
{
"language": "C++",
"context": "{\"ops\":[{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"13px\",\"color\":\"#080808\"},\"insert\":\"PFLD模型可以通过以下代码完成快速推理\"},{\"attributes\":{\"text-indent\":\"0px\"},\"insert\":\"\\n\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include \\\"model.h\\\"\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include \\\"log.h\\\"\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"using namespace Infer;\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"int main()\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"{\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::string omModelPath = \\\"/path/to/model.om\\\"; // 模型文件路径 \"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::string imagePath = \\\"/path/to/image.jpg\\\"; // 输入图片路径\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::string aclConfigPath = \\\"/path/to/acl.cfg\\\"; // 输入acl的配置路径\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::unique_ptr<Model> model = std::make_unique<Model>();\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" ret = Infer::DevInit(aclConfigPath);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::shared_ptr<Infer::MdlBase> model = Infer::MdlCreate();\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" ret = model->LoadModel(omModelPath);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::vector<std::string> imglists;\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" ret = ReadImglistFile(imagePath, imglists);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::vector<Infer::TensorBuf> inBufs, outBufs;\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" std::vector<Infer::TensorDesc> inDescs, outDescs;\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" Infer::TensorDesc desc;\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" size_t inputNum = model->GetInTensorNum();\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" size_t outputNum = model->GetOutTensorNum();\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" for (size_t i = 0; i < inputNum; i++) {\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" model->GetInTensorDescByIdx(i, desc);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" inDescs.push_back(desc);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" inBufs.emplace_back(desc.defaultSize, desc.defaultStride);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" }\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" for (size_t i = 0; i < outputNum; i++) {\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" model->GetOutTensorDescByIdx(i, desc);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" outDescs.push_back(desc);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" outBufs.emplace_back(desc.defaultSize, desc.defaultStride);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" }\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" model->GetInTensorDescByIdx(0, desc);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" for (size_t i = 0; i < imglists.size(); ++i) {\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" ret = ReadImgFileToBuf(imglists[i], desc, inBufs[0]);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" for (size_t j = 0; j < loop; j++) {\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" ret = model->Execute(inBufs, outBufs);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" }\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" (void)PostProcess(outBufs, outDescs, imglists[i]);\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" }\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" model->UnLoadModel();\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" Infer::DevDeInit();\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\" return 0;\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"}\"},{\"attributes\":{\"text-indent\":\"0px\",\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"13px\",\"color\":\"#080808\"},\"insert\":\"备注:上述C++代码仅展示了主要流程,详细实现请参考\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"13px\",\"color\":\"#315fbd\",\"link\":\"https://gitee.com/HiSpark/modelzoo/tree/master/samples/built-in/detection/PFLD\"},\"insert\":\"PFLD\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"13px\",\"color\":\"#080808\"},\"insert\":\"。\"},{\"attributes\":{\"text-indent\":\"0px\"},\"insert\":\"\\n\\n\"}]}"
}
]
},
"status": "released",
"currentHandler": "",
"currentHandlerName": "",
"jsonPath": "https://gitee.com/HiSpark/modelzoo-dev/blob/master/samples/built-in/detection/PFLD/PFLD.json",
"modelAdaptor": [
{
"createdBy": null,
"creationDate": null,
"creationUserCN": null,
"lastUpdatedBy": null,
"lastUpdateDate": null,
"lastUpdateUserCN": null,
"rowIdx": -1,
"id": "i8ttm5k1tc00",
"name": "Hi3403V100 SVP_NNN",
"modelId": "i9j1qkj1ec00",
"modelName": "PFLD",
"supportNames": [
"a16w8"
],
"toolkit": [
{
"name": "CANN工具",
"url": "https://hispark-obs.obs.cn-east-3.myhuaweicloud.com/SVP_NNN_PC_V1.0.6.0.tgz",
"desc": "Al异构计算架构;提升计算效率的关键平台",
"imgId": "cann"
},
{
"name": "编译工具链",
"url": "https://gitee.com/HiSpark/pegasus/blob/Beta-v0.9.1/docs/Hi3403V100%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%8D%97/Hi3403V100%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%8D%97.md#241%E5%AE%89%E8%A3%85clang%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E5%99%A8",
"desc": "高效编译,精准适配;AI性能优化,应用流畅运行",
"imgId": "tool"
},
{
"name": "SDK",
"url": "https://gitee.com/HiSpark/ss928v100_clang/tree/Beta-v0.9.1/",
"desc": "稳定、易用的设计;支撑客户快速产品量产",
"imgId": "sdk"
}
],
"supportOs": [
"OpenHarmony",
"Linux"
],
"supportQuantify": [
{
"createdBy": 132241120926760,
"creationDate": "2026-03-26 20:19:20",
"creationUserCN": "liaoshibin",
"lastUpdatedBy": 132241120926760,
"lastUpdateDate": "2026-03-26 20:19:20",
"lastUpdateUserCN": "liaoshibin",
"rowIdx": -1,
"id": "j6tlqb20i000",
"name": "a16w8",
"computingId": "i8ttm5k1tc00",
"computingName": "Hi3403V100 SVP_NNN",
"omOfflineModelUrl": null,
"omOfflineModelId": 1719599236186115,
"omOfflineModelSize": "1556318",
"omOfflineModelName": "pfld_dpico.om",
"omOfflineModel": [
{
"id": "1719599236186115",
"name": "pfld_dpico.om",
"url": null,
"size": "1556318"
}
],
"omOfflineModelLink": null,
"releaseTime": "2025-12-31",
"boardOs": null,
"modelLicense": "https://gitee.com/HiSpark/modelzoo/blob/master/LICENSE",
"modelPerformance": [
{
"performanceValue": "0.62",
"unit": "耗时(ms)",
"desc": null
},
{
"performanceValue": "1624.65",
"unit": "性能(fps)",
"desc": ""
},
{
"performanceValue": "5.076",
"unit": "单帧内存带宽(MB)",
"desc": ""
},
{
"performanceValue": "4.824",
"unit": "内存(MB)",
"desc": ""
}
],
"deleted": 0
}
],
"deleted": 0
},
{
"createdBy": null,
"creationDate": null,
"creationUserCN": null,
"lastUpdatedBy": null,
"lastUpdateDate": null,
"lastUpdateUserCN": null,
"rowIdx": -1,
"id": "i8ttm5k1tc01",
"name": "Hi3403V100 NNN",
"modelId": "i9j1qkj1ec00",
"modelName": "PFLD",
"supportNames": [
"f16"
],
"toolkit": [
{
"name": "CANN工具包",
"url": null,
"desc": "5.30.t11.7.b110; (请联系FAE获取)",
"imgId": "cann"
},
{
"name": "编译工具链",
"url": "",
"desc": "aarch64-mix210-linux-gcc;(请联系FAE获取)",
"imgId": "tool"
},
{
"name": "SDK",
"url": "",
"desc": "SS928 V100R001C02SPC022; (请联系FAE获取)",
"imgId": "sdk"
}
],
"supportOs": [
"Linux"
],
"supportQuantify": [
{
"createdBy": 132241120926760,
"creationDate": "2026-03-26 20:19:20",
"creationUserCN": "liaoshibin",
"lastUpdatedBy": 132241120926760,
"lastUpdateDate": "2026-03-26 20:19:20",
"lastUpdateUserCN": "liaoshibin",
"rowIdx": -1,
"id": "j6tlqb3ci000",
"name": "f16",
"computingId": "i8ttm5k1tc01",
"computingName": "Hi3403V100 NNN",
"omOfflineModelUrl": null,
"omOfflineModelId": 1719599487844353,
"omOfflineModelSize": "4215587",
"omOfflineModelName": "pfld_dlite_fp16.om",
"omOfflineModel": [
{
"id": "1719599487844353",
"name": "pfld_dlite_fp16.om",
"url": null,
"size": "4215587"
}
],
"omOfflineModelLink": null,
"releaseTime": "2025-12-31",
"boardOs": null,
"modelLicense": "https://gitee.com/HiSpark/modelzoo/blob/master/LICENSE",
"modelPerformance": [
{
"performanceValue": "1.63",
"unit": "耗时(ms)",
"desc": null
},
{
"performanceValue": "611.95",
"unit": "性能(fps)",
"desc": ""
},
{
"performanceValue": "19.859",
"unit": "单帧内存带宽(MB)",
"desc": ""
},
{
"performanceValue": "48.227",
"unit": "内存(MB)",
"desc": ""
}
],
"deleted": 0
}
],
"deleted": 0
}
],
"saveType": null,
"deleteType": null,
"latest": "Y",
"deleted": 0,
"modelPhase": "released",
"remark": null,
"fileInfo": null,
"reviewType": null,
"owner": "sloanqin",
"ownerBy": 139318985286440,
"optional": null,
"optionalList": [
"0e900d99dee8461b8"
],
"optionalBy": null,
"downloadNum": 8,
"collectNum": null,
"isCollect": null
}
}