| { |
| "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 |
| } |
| } |
|
|