Skip to content

Commit 575b70c

Browse files
authored
[pose-detection]Allow MoveNet demo to swap model with customModel url… (#771)
* [pose-detection]Allow MoveNet demo to swap model with customModel url in demo. * Address comments.
1 parent 4b5041d commit 575b70c

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

pose-detection/demos/live_video/src/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ async function createDetector() {
6363
const modelType = STATE.modelConfig.type == 'lightning' ?
6464
posedetection.movenet.modelType.SINGLEPOSE_LIGHTNING :
6565
posedetection.movenet.modelType.SINGLEPOSE_THUNDER;
66+
if (STATE.modelConfig.customModel !== '') {
67+
return posedetection.createDetector(STATE.model, {modelType,
68+
modelUrl: STATE.modelConfig.customModel});
69+
}
6670
return posedetection.createDetector(STATE.model, {modelType});
6771
}
6872
}

pose-detection/demos/live_video/src/option_panel.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,11 @@ function addMoveNetControllers(modelConfigFolder, type) {
165165
params.STATE.isModelChanged = true;
166166
});
167167

168+
const customModelController = modelConfigFolder.add(params.STATE.modelConfig, 'customModel');
169+
customModelController.onFinishChange(_ => {
170+
params.STATE.isModelChanged = true;
171+
})
172+
168173
modelConfigFolder.add(params.STATE.modelConfig, 'scoreThreshold', 0, 1);
169174
}
170175

pose-detection/demos/live_video/src/params.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ export const POSENET_CONFIG = {
4242
export const MOVENET_CONFIG = {
4343
maxPoses: 1,
4444
type: 'lightning',
45-
scoreThreshold: 0.3
45+
scoreThreshold: 0.3,
46+
customModel: ''
4647
};
4748
/**
4849
* This map descripes tunable flags and theior corresponding types.

pose-detection/src/movenet/detector.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -483,16 +483,20 @@ export async function load(modelConfig: MoveNetModelConfig = MOVENET_CONFIG):
483483
Promise<PoseDetector> {
484484
const config = validateModelConfig(modelConfig);
485485
let model: tfc.GraphModel;
486-
if (config.modelUrl) {
487-
model = await tfc.loadGraphModel(config.modelUrl);
486+
487+
let fromTFHub = true;
488+
489+
if (!!config.modelUrl) {
490+
fromTFHub = config.modelUrl.indexOf('https://tfhub.dev') > -1;
491+
model = await tfc.loadGraphModel(config.modelUrl, {fromTFHub});
488492
} else {
489493
let modelUrl;
490494
if (config.modelType === SINGLEPOSE_LIGHTNING) {
491495
modelUrl = MOVENET_SINGLEPOSE_LIGHTNING_URL;
492496
} else if (config.modelType === SINGLEPOSE_THUNDER) {
493497
modelUrl = MOVENET_SINGLEPOSE_THUNDER_URL;
494498
}
495-
model = await tfc.loadGraphModel(modelUrl, {fromTFHub: true});
499+
model = await tfc.loadGraphModel(modelUrl, {fromTFHub});
496500
}
497501
return new MoveNetDetector(model, config);
498502
}

0 commit comments

Comments
 (0)