Optimize detection steps #129
@@ -29,12 +29,14 @@ export default {
|
|||||||
console.time('post-process')
|
console.time('post-process')
|
||||||
const detectAttempts = res.shape[2]
|
const detectAttempts = res.shape[2]
|
||||||
const outputSize = res.shape[1]
|
const outputSize = res.shape[1]
|
||||||
const rawRes = tf.transpose(res,[0,2,1]).dataSync()
|
const rawRes = tf.transpose(res,[0,2,1]).arraySync()[0]
|
||||||
let rawBoxes = []
|
let rawBoxes = []
|
||||||
let rawScores = []
|
let rawScores = []
|
||||||
|
const filteredRes = rawRes.filter( r => r.slice(4).some( s => s > .05))
|
||||||
|
|
||||||
for (var i = 0; i < detectAttempts; i++) {
|
for (var i = 0; i < filteredRes.length; i++) {
|
||||||
var getBox = rawRes.slice((i * outputSize),(i * outputSize) + 4)
|
var getScores = filteredRes[i].slice(4)
|
||||||
|
var getBox = filteredRes[i].slice(0,4)
|
||||||
var boxCalc = [
|
var boxCalc = [
|
||||||
(getBox[0] - (getBox[2] / 2)) / modelWidth,
|
(getBox[0] - (getBox[2] / 2)) / modelWidth,
|
||||||
(getBox[1] - (getBox[3] / 2)) / modelHeight,
|
(getBox[1] - (getBox[3] / 2)) / modelHeight,
|
||||||
@@ -42,7 +44,7 @@ export default {
|
|||||||
(getBox[1] + (getBox[3] / 2)) / modelHeight,
|
(getBox[1] + (getBox[3] / 2)) / modelHeight,
|
||||||
]
|
]
|
||||||
rawBoxes.push(boxCalc)
|
rawBoxes.push(boxCalc)
|
||||||
rawScores.push(rawRes.slice((i * outputSize) + 4,(i + 1) * outputSize))
|
rawScores.push(getScores)
|
||||||
}
|
}
|
||||||
const tBoxes = tf.tensor2d(rawBoxes)
|
const tBoxes = tf.tensor2d(rawBoxes)
|
||||||
let tScores = null
|
let tScores = null
|
||||||
|
|||||||
Reference in New Issue
Block a user