Skip to content

Commit 0a46933

Browse files
use the improved fps meter in all examples
1 parent 8490918 commit 0a46933

File tree

3 files changed

+30
-18
lines changed

3 files changed

+30
-18
lines changed

examples/views/faceDetectionVideo.html

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@
5353
let modelLoaded = false
5454
let result
5555

56+
let forwardTimes = []
57+
58+
function updateTimeStats(timeInMs) {
59+
forwardTimes = [timeInMs].concat(forwardTimes).slice(0, 30)
60+
const avgTimeInMs = forwardTimes.reduce((total, t) => total + t) / forwardTimes.length
61+
$('#time').val(`${Math.round(avgTimeInMs)} ms`)
62+
$('#fps').val(`${faceapi.round(1000 / avgTimeInMs)}`)
63+
}
64+
5665
function onIncreaseThreshold() {
5766
minConfidence = Math.min(faceapi.round(minConfidence + 0.1), 1.0)
5867
$('#minConfidence').val(minConfidence)
@@ -63,11 +72,6 @@
6372
$('#minConfidence').val(minConfidence)
6473
}
6574

66-
function displayTimeStats(timeInMs) {
67-
$('#time').val(`${timeInMs} ms`)
68-
$('#fps').val(`${faceapi.round(1000 / timeInMs)}`)
69-
}
70-
7175
async function onPlay(videoEl) {
7276
if(videoEl.paused || videoEl.ended || !modelLoaded)
7377
return false
@@ -79,7 +83,7 @@
7983

8084
const ts = Date.now()
8185
result = await faceapi.locateFaces(videoEl, minConfidence)
82-
displayTimeStats(Date.now() - ts)
86+
updateTimeStats(Date.now() - ts)
8387

8488
faceapi.drawDetection('overlay', result.map(det => det.forSize(width, height)))
8589
setTimeout(() => onPlay(videoEl))

examples/views/tinyYolov2FaceDetectionVideo.html

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,15 @@
6363
let sizeType = 'md'
6464
let modelLoaded = false
6565

66+
let forwardTimes = []
67+
68+
function updateTimeStats(timeInMs) {
69+
forwardTimes = [timeInMs].concat(forwardTimes).slice(0, 30)
70+
const avgTimeInMs = forwardTimes.reduce((total, t) => total + t) / forwardTimes.length
71+
$('#time').val(`${Math.round(avgTimeInMs)} ms`)
72+
$('#fps').val(`${faceapi.round(1000 / avgTimeInMs)}`)
73+
}
74+
6675
function onIncreaseThreshold() {
6776
scoreThreshold = Math.min(faceapi.round(scoreThreshold + 0.1), 1.0)
6877
$('#scoreThreshold').val(scoreThreshold)
@@ -78,11 +87,6 @@
7887
$('#sizeType').val(sizeType)
7988
}
8089

81-
function displayTimeStats(timeInMs) {
82-
$('#time').val(`${timeInMs} ms`)
83-
$('#fps').val(`${faceapi.round(1000 / timeInMs)}`)
84-
}
85-
8690
async function onPlay(videoEl) {
8791
if(videoEl.paused || videoEl.ended || !modelLoaded)
8892
return false
@@ -99,7 +103,7 @@
99103

100104
const ts = Date.now()
101105
result = await faceapi.tinyYolov2(videoEl, forwardParams)
102-
displayTimeStats(Date.now() - ts)
106+
updateTimeStats(Date.now() - ts)
103107

104108
faceapi.drawDetection('overlay', result.map(det => det.forSize(width, height)))
105109
setTimeout(() => onPlay(videoEl))

examples/views/tinyYolov2FaceDetectionWebcam.html

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,15 @@
6464
let sizeType = '160'
6565
let modelLoaded = false
6666

67+
let forwardTimes = []
68+
69+
function updateTimeStats(timeInMs) {
70+
forwardTimes = [timeInMs].concat(forwardTimes).slice(0, 30)
71+
const avgTimeInMs = forwardTimes.reduce((total, t) => total + t) / forwardTimes.length
72+
$('#time').val(`${Math.round(avgTimeInMs)} ms`)
73+
$('#fps').val(`${faceapi.round(1000 / avgTimeInMs)}`)
74+
}
75+
6776
function onIncreaseThreshold() {
6877
scoreThreshold = Math.min(faceapi.round(scoreThreshold + 0.1), 1.0)
6978
$('#scoreThreshold').val(scoreThreshold)
@@ -79,11 +88,6 @@
7988
$('#sizeType').val(sizeType)
8089
}
8190

82-
function displayTimeStats(timeInMs) {
83-
$('#time').val(`${timeInMs} ms`)
84-
$('#fps').val(`${faceapi.round(1000 / timeInMs)}`)
85-
}
86-
8791
async function onPlay(videoEl) {
8892
if(videoEl.paused || videoEl.ended || !modelLoaded)
8993
return false
@@ -100,7 +104,7 @@
100104

101105
const ts = Date.now()
102106
result = await faceapi.tinyYolov2(videoEl, forwardParams)
103-
displayTimeStats(Date.now() - ts)
107+
updateTimeStats(Date.now() - ts)
104108

105109
faceapi.drawDetection('overlay', result.map(det => det.forSize(width, height)))
106110
setTimeout(() => onPlay(videoEl))

0 commit comments

Comments
 (0)