File tree Expand file tree Collapse file tree 3 files changed +30
-18
lines changed Expand file tree Collapse file tree 3 files changed +30
-18
lines changed Original file line number Diff line number Diff line change 53
53
let modelLoaded = false
54
54
let result
55
55
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
+
56
65
function onIncreaseThreshold ( ) {
57
66
minConfidence = Math . min ( faceapi . round ( minConfidence + 0.1 ) , 1.0 )
58
67
$ ( '#minConfidence' ) . val ( minConfidence )
63
72
$ ( '#minConfidence' ) . val ( minConfidence )
64
73
}
65
74
66
- function displayTimeStats ( timeInMs ) {
67
- $ ( '#time' ) . val ( `${ timeInMs } ms` )
68
- $ ( '#fps' ) . val ( `${ faceapi . round ( 1000 / timeInMs ) } ` )
69
- }
70
-
71
75
async function onPlay ( videoEl ) {
72
76
if ( videoEl . paused || videoEl . ended || ! modelLoaded )
73
77
return false
79
83
80
84
const ts = Date . now ( )
81
85
result = await faceapi . locateFaces ( videoEl , minConfidence )
82
- displayTimeStats ( Date . now ( ) - ts )
86
+ updateTimeStats ( Date . now ( ) - ts )
83
87
84
88
faceapi . drawDetection ( 'overlay' , result . map ( det => det . forSize ( width , height ) ) )
85
89
setTimeout ( ( ) => onPlay ( videoEl ) )
Original file line number Diff line number Diff line change 63
63
let sizeType = 'md'
64
64
let modelLoaded = false
65
65
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
+
66
75
function onIncreaseThreshold ( ) {
67
76
scoreThreshold = Math . min ( faceapi . round ( scoreThreshold + 0.1 ) , 1.0 )
68
77
$ ( '#scoreThreshold' ) . val ( scoreThreshold )
78
87
$ ( '#sizeType' ) . val ( sizeType )
79
88
}
80
89
81
- function displayTimeStats ( timeInMs ) {
82
- $ ( '#time' ) . val ( `${ timeInMs } ms` )
83
- $ ( '#fps' ) . val ( `${ faceapi . round ( 1000 / timeInMs ) } ` )
84
- }
85
-
86
90
async function onPlay ( videoEl ) {
87
91
if ( videoEl . paused || videoEl . ended || ! modelLoaded )
88
92
return false
99
103
100
104
const ts = Date . now ( )
101
105
result = await faceapi . tinyYolov2 ( videoEl , forwardParams )
102
- displayTimeStats ( Date . now ( ) - ts )
106
+ updateTimeStats ( Date . now ( ) - ts )
103
107
104
108
faceapi . drawDetection ( 'overlay' , result . map ( det => det . forSize ( width , height ) ) )
105
109
setTimeout ( ( ) => onPlay ( videoEl ) )
Original file line number Diff line number Diff line change 64
64
let sizeType = '160'
65
65
let modelLoaded = false
66
66
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
+
67
76
function onIncreaseThreshold ( ) {
68
77
scoreThreshold = Math . min ( faceapi . round ( scoreThreshold + 0.1 ) , 1.0 )
69
78
$ ( '#scoreThreshold' ) . val ( scoreThreshold )
79
88
$ ( '#sizeType' ) . val ( sizeType )
80
89
}
81
90
82
- function displayTimeStats ( timeInMs ) {
83
- $ ( '#time' ) . val ( `${ timeInMs } ms` )
84
- $ ( '#fps' ) . val ( `${ faceapi . round ( 1000 / timeInMs ) } ` )
85
- }
86
-
87
91
async function onPlay ( videoEl ) {
88
92
if ( videoEl . paused || videoEl . ended || ! modelLoaded )
89
93
return false
100
104
101
105
const ts = Date . now ( )
102
106
result = await faceapi . tinyYolov2 ( videoEl , forwardParams )
103
- displayTimeStats ( Date . now ( ) - ts )
107
+ updateTimeStats ( Date . now ( ) - ts )
104
108
105
109
faceapi . drawDetection ( 'overlay' , result . map ( det => det . forSize ( width , height ) ) )
106
110
setTimeout ( ( ) => onPlay ( videoEl ) )
You can’t perform that action at this time.
0 commit comments