node-moving-things-tracker
Advanced tools
Comparing version 0.5.1 to 0.5.2
@@ -1,5 +0,5 @@ | ||
{"frame":0,"detections":[{"x":1635,"y":247,"w":61,"h":38,"prob":38,"name":"car"},{"x":1799,"y":250,"w":54,"h":33,"prob":33,"name":"car"},{"x":1355,"y":301,"w":85,"h":53,"prob":46,"name":"car"},{"x":1472,"y":298,"w":83,"h":52,"prob":45,"name":"car"},{"x":1232,"y":354,"w":105,"h":63,"prob":61,"name":"car"},{"x":1065,"y":277,"w":192,"h":128,"prob":53,"name":"truck"},{"x":1341,"y":374,"w":97,"h":91,"prob":30,"name":"car"},{"x":990,"y":412,"w":102,"h":87,"prob":75,"name":"car"},{"x":1141,"y":417,"w":109,"h":101,"prob":76,"name":"car"},{"x":1333,"y":429,"w":104,"h":104,"prob":58,"name":"car"},{"x":246,"y":479,"w":268,"h":101,"prob":80,"name":"car"},{"x":1332,"y":608,"w":178,"h":176,"prob":70,"name":"car"},{"x":1656,"y":583,"w":202,"h":143,"prob":76,"name":"car"},{"x":927,"y":773,"w":248,"h":261,"prob":67,"name":"car"},{"x":754,"y":1001,"w":557,"h":146,"prob":45,"name":"car"}]} | ||
{"frame":1,"detections":[{"x":1635,"y":248,"w":58,"h":37,"prob":36,"name":"car"},{"x":1799,"y":249,"w":51,"h":31,"prob":30,"name":"car"},{"x":1352,"y":302,"w":89,"h":58,"prob":48,"name":"car"},{"x":1469,"y":299,"w":82,"h":55,"prob":47,"name":"car"},{"x":1234,"y":356,"w":98,"h":63,"prob":54,"name":"car"},{"x":1065,"y":277,"w":193,"h":129,"prob":54,"name":"truck"},{"x":1340,"y":374,"w":93,"h":93,"prob":30,"name":"car"},{"x":987,"y":414,"w":104,"h":89,"prob":75,"name":"car"},{"x":1139,"y":418,"w":111,"h":100,"prob":76,"name":"car"},{"x":1334,"y":430,"w":103,"h":107,"prob":53,"name":"car"},{"x":246,"y":479,"w":267,"h":101,"prob":80,"name":"car"},{"x":1651,"y":577,"w":201,"h":133,"prob":71,"name":"car"},{"x":1328,"y":636,"w":194,"h":174,"prob":73,"name":"car"},{"x":760,"y":1016,"w":383,"h":122,"prob":25,"name":"car"},{"x":920,"y":783,"w":255,"h":277,"prob":62,"name":"car"}]} | ||
{"frame":2,"detections":[{"x":1636,"y":247,"w":54,"h":35,"prob":32,"name":"car"},{"x":1798,"y":248,"w":49,"h":29,"prob":26,"name":"car"},{"x":1350,"y":301,"w":93,"h":60,"prob":52,"name":"car"},{"x":1467,"y":300,"w":81,"h":58,"prob":49,"name":"car"},{"x":1066,"y":277,"w":196,"h":129,"prob":55,"name":"truck"},{"x":1235,"y":359,"w":104,"h":70,"prob":52,"name":"car"},{"x":1338,"y":375,"w":93,"h":92,"prob":31,"name":"car"},{"x":983,"y":417,"w":106,"h":90,"prob":75,"name":"car"},{"x":1138,"y":418,"w":114,"h":100,"prob":76,"name":"car"},{"x":1334,"y":431,"w":102,"h":107,"prob":52,"name":"car"},{"x":246,"y":479,"w":267,"h":101,"prob":80,"name":"car"},{"x":1644,"y":557,"w":209,"h":142,"prob":71,"name":"car"},{"x":1328,"y":641,"w":198,"h":196,"prob":80,"name":"car"},{"x":899,"y":804,"w":297,"h":284,"prob":60,"name":"car"}]} | ||
{"frame":3,"detections":[{"x":1638,"y":247,"w":50,"h":33,"prob":28,"name":"car"},{"x":1347,"y":301,"w":94,"h":62,"prob":53,"name":"car"},{"x":1465,"y":300,"w":81,"h":60,"prob":50,"name":"car"},{"x":1067,"y":277,"w":198,"h":130,"prob":56,"name":"truck"},{"x":1236,"y":360,"w":103,"h":71,"prob":51,"name":"car"},{"x":1337,"y":375,"w":92,"h":93,"prob":32,"name":"car"},{"x":978,"y":420,"w":108,"h":89,"prob":75,"name":"car"},{"x":1138,"y":419,"w":115,"h":101,"prob":75,"name":"car"},{"x":246,"y":479,"w":268,"h":101,"prob":81,"name":"car"},{"x":1330,"y":464,"w":121,"h":78,"prob":54,"name":"car"},{"x":1639,"y":553,"w":198,"h":144,"prob":72,"name":"car"},{"x":1327,"y":648,"w":205,"h":207,"prob":82,"name":"car"},{"x":895,"y":810,"w":289,"h":297,"prob":71,"name":"car"}]} | ||
{"frame":4,"detections":[{"x":1641,"y":246,"w":46,"h":30,"prob":24,"name":"car"},{"x":1288,"y":301,"w":58,"h":44,"prob":28,"name":"car"},{"x":1344,"y":301,"w":93,"h":60,"prob":55,"name":"car"},{"x":1463,"y":301,"w":81,"h":59,"prob":51,"name":"car"},{"x":1068,"y":277,"w":201,"h":130,"prob":57,"name":"truck"},{"x":1237,"y":362,"w":103,"h":72,"prob":52,"name":"car"},{"x":1335,"y":376,"w":94,"h":93,"prob":34,"name":"car"},{"x":974,"y":423,"w":110,"h":89,"prob":75,"name":"car"},{"x":1137,"y":420,"w":116,"h":102,"prob":74,"name":"car"},{"x":246,"y":479,"w":269,"h":101,"prob":81,"name":"car"},{"x":1332,"y":466,"w":122,"h":84,"prob":57,"name":"car"},{"x":1632,"y":546,"w":182,"h":143,"prob":73,"name":"car"},{"x":1328,"y":654,"w":211,"h":216,"prob":81,"name":"car"},{"x":888,"y":821,"w":288,"h":305,"prob":72,"name":"car"}]} | ||
{"frame":0,"detections":[{"x":1635,"y":247,"w":61,"h":38,"confidence":38,"name":"car"},{"x":1799,"y":250,"w":54,"h":33,"confidence":33,"name":"car"},{"x":1355,"y":301,"w":85,"h":53,"confidence":46,"name":"car"},{"x":1472,"y":298,"w":83,"h":52,"confidence":45,"name":"car"},{"x":1232,"y":354,"w":105,"h":63,"confidence":61,"name":"car"},{"x":1065,"y":277,"w":192,"h":128,"confidence":53,"name":"truck"},{"x":1341,"y":374,"w":97,"h":91,"confidence":30,"name":"car"},{"x":990,"y":412,"w":102,"h":87,"confidence":75,"name":"car"},{"x":1141,"y":417,"w":109,"h":101,"confidence":76,"name":"car"},{"x":1333,"y":429,"w":104,"h":104,"confidence":58,"name":"car"},{"x":246,"y":479,"w":268,"h":101,"confidence":80,"name":"car"},{"x":1332,"y":608,"w":178,"h":176,"confidence":70,"name":"car"},{"x":1656,"y":583,"w":202,"h":143,"confidence":76,"name":"car"},{"x":927,"y":773,"w":248,"h":261,"confidence":67,"name":"car"},{"x":754,"y":1001,"w":557,"h":146,"confidence":45,"name":"car"}]} | ||
{"frame":1,"detections":[{"x":1635,"y":248,"w":58,"h":37,"confidence":36,"name":"car"},{"x":1799,"y":249,"w":51,"h":31,"confidence":30,"name":"car"},{"x":1352,"y":302,"w":89,"h":58,"confidence":48,"name":"car"},{"x":1469,"y":299,"w":82,"h":55,"confidence":47,"name":"car"},{"x":1234,"y":356,"w":98,"h":63,"confidence":54,"name":"car"},{"x":1065,"y":277,"w":193,"h":129,"confidence":54,"name":"truck"},{"x":1340,"y":374,"w":93,"h":93,"confidence":30,"name":"car"},{"x":987,"y":414,"w":104,"h":89,"confidence":75,"name":"car"},{"x":1139,"y":418,"w":111,"h":100,"confidence":76,"name":"car"},{"x":1334,"y":430,"w":103,"h":107,"confidence":53,"name":"car"},{"x":246,"y":479,"w":267,"h":101,"confidence":80,"name":"car"},{"x":1651,"y":577,"w":201,"h":133,"confidence":71,"name":"car"},{"x":1328,"y":636,"w":194,"h":174,"confidence":73,"name":"car"},{"x":760,"y":1016,"w":383,"h":122,"confidence":25,"name":"car"},{"x":920,"y":783,"w":255,"h":277,"confidence":62,"name":"car"}]} | ||
{"frame":2,"detections":[{"x":1636,"y":247,"w":54,"h":35,"confidence":32,"name":"car"},{"x":1798,"y":248,"w":49,"h":29,"confidence":26,"name":"car"},{"x":1350,"y":301,"w":93,"h":60,"confidence":52,"name":"car"},{"x":1467,"y":300,"w":81,"h":58,"confidence":49,"name":"car"},{"x":1066,"y":277,"w":196,"h":129,"confidence":55,"name":"truck"},{"x":1235,"y":359,"w":104,"h":70,"confidence":52,"name":"car"},{"x":1338,"y":375,"w":93,"h":92,"confidence":31,"name":"car"},{"x":983,"y":417,"w":106,"h":90,"confidence":75,"name":"car"},{"x":1138,"y":418,"w":114,"h":100,"confidence":76,"name":"car"},{"x":1334,"y":431,"w":102,"h":107,"confidence":52,"name":"car"},{"x":246,"y":479,"w":267,"h":101,"confidence":80,"name":"car"},{"x":1644,"y":557,"w":209,"h":142,"confidence":71,"name":"car"},{"x":1328,"y":641,"w":198,"h":196,"confidence":80,"name":"car"},{"x":899,"y":804,"w":297,"h":284,"confidence":60,"name":"car"}]} | ||
{"frame":3,"detections":[{"x":1638,"y":247,"w":50,"h":33,"confidence":28,"name":"car"},{"x":1347,"y":301,"w":94,"h":62,"confidence":53,"name":"car"},{"x":1465,"y":300,"w":81,"h":60,"confidence":50,"name":"car"},{"x":1067,"y":277,"w":198,"h":130,"confidence":56,"name":"truck"},{"x":1236,"y":360,"w":103,"h":71,"confidence":51,"name":"car"},{"x":1337,"y":375,"w":92,"h":93,"confidence":32,"name":"car"},{"x":978,"y":420,"w":108,"h":89,"confidence":75,"name":"car"},{"x":1138,"y":419,"w":115,"h":101,"confidence":75,"name":"car"},{"x":246,"y":479,"w":268,"h":101,"confidence":81,"name":"car"},{"x":1330,"y":464,"w":121,"h":78,"confidence":54,"name":"car"},{"x":1639,"y":553,"w":198,"h":144,"confidence":72,"name":"car"},{"x":1327,"y":648,"w":205,"h":207,"confidence":82,"name":"car"},{"x":895,"y":810,"w":289,"h":297,"confidence":71,"name":"car"}]} | ||
{"frame":4,"detections":[{"x":1641,"y":246,"w":46,"h":30,"confidence":24,"name":"car"},{"x":1288,"y":301,"w":58,"h":44,"confidence":28,"name":"car"},{"x":1344,"y":301,"w":93,"h":60,"confidence":55,"name":"car"},{"x":1463,"y":301,"w":81,"h":59,"confidence":51,"name":"car"},{"x":1068,"y":277,"w":201,"h":130,"confidence":57,"name":"truck"},{"x":1237,"y":362,"w":103,"h":72,"confidence":52,"name":"car"},{"x":1335,"y":376,"w":94,"h":93,"confidence":34,"name":"car"},{"x":974,"y":423,"w":110,"h":89,"confidence":75,"name":"car"},{"x":1137,"y":420,"w":116,"h":102,"confidence":74,"name":"car"},{"x":246,"y":479,"w":269,"h":101,"confidence":81,"name":"car"},{"x":1332,"y":466,"w":122,"h":84,"confidence":57,"name":"car"},{"x":1632,"y":546,"w":182,"h":143,"confidence":73,"name":"car"},{"x":1328,"y":654,"w":211,"h":216,"confidence":81,"name":"car"},{"x":888,"y":821,"w":288,"h":305,"confidence":72,"name":"car"}]} |
@@ -11,3 +11,3 @@ var uuidv4 = require('uuid/v4'); | ||
// "h": 27, | ||
// "prob": 26, | ||
// "confidence": 26, | ||
// "name": "car" | ||
@@ -42,3 +42,3 @@ // } | ||
itemTracked.name = properties.name; | ||
itemTracked.prob = properties.prob; | ||
itemTracked.confidence = properties.confidence; | ||
itemTracked.itemHistory = []; | ||
@@ -50,3 +50,3 @@ itemTracked.itemHistory.push({ | ||
h: properties.h, | ||
prob: properties.prob | ||
confidence: properties.confidence | ||
}); | ||
@@ -76,3 +76,3 @@ itemTracked.velocity = { | ||
this.h = properties.h; | ||
this.prob = properties.prob; | ||
this.confidence = properties.confidence; | ||
this.itemHistory.push({ | ||
@@ -83,3 +83,3 @@ x: this.x, | ||
h: this.h, | ||
prob: this.prob | ||
confidence: this.confidence | ||
}); | ||
@@ -129,3 +129,3 @@ this.name = properties.name; | ||
h: this.h, | ||
prob: this.prob | ||
confidence: this.confidence | ||
}); | ||
@@ -178,3 +178,3 @@ this.x = this.x + this.velocity.dx | ||
h: parseInt(this.h, 10), | ||
prob: parseInt(this.prob, 10), | ||
confidence: parseInt(this.confidence, 10), | ||
// Here we negate dy to be in "normal" carthesian coordinates | ||
@@ -196,3 +196,3 @@ bearing: parseInt(computeBearingIn360(this.velocity.dx, - this.velocity.dy)), | ||
h: parseInt(this.h, 10), | ||
prob: parseInt(this.prob, 10), | ||
confidence: parseInt(this.confidence, 10), | ||
// Here we negate dy to be in "normal" carthesian coordinates | ||
@@ -199,0 +199,0 @@ bearing: parseInt(computeBearingIn360(this.velocity.dx, - this.velocity.dy), 10), |
{ | ||
"name": "node-moving-things-tracker", | ||
"version": "0.5.1", | ||
"version": "0.5.2", | ||
"description": "Tracker by detections in javascript for node.js / browsers", | ||
@@ -5,0 +5,0 @@ "url": "https://github.com/tdurand/node-moving-things-tracker", |
@@ -7,7 +7,7 @@ # node-moving-things-tracker | ||
## Problem | ||
## confidencelem | ||
How to track persistently multiple moving things from frame-by-frame object detections inputs? How to assign an unique identifier to frame-by-frame object detection results? | ||
Often object detection framework don't have any memory of their detection results over time e.g. Yolo provides every frame an array of detections results in the form of `[[x,y,w,h,prob,name] ...]`, note that there isn't any unique ID to indentify the same detected object in future frames. | ||
Often object detection framework don't have any memory of their detection results over time e.g. Yolo provides every frame an array of detections results in the form of `[[x,y,w,h,confidence,name] ...]`, note that there isn't any unique ID to indentify the same detected object in future frames. | ||
@@ -76,4 +76,4 @@ **Detections Input** | ||
```json | ||
{"frame":0,"detections":[{"x":699,"y":99,"w":32,"h":19,"prob":34,"name":"car"},{"x":285,"y":170,"w":40,"h":32,"prob":26,"name":"car"},{"x":259,"y":178,"w":75,"h":46,"prob":42,"name":"car"},{"x":39,"y":222,"w":91,"h":52,"prob":61,"name":"car"},{"x":148,"y":199,"w":123,"h":55,"prob":53,"name":"car"}]} | ||
{"frame":1,"detections":[{"x":699,"y":99,"w":32,"h":19,"prob":31,"name":"car"},{"x":694,"y":116,"w":34,"h":23,"prob":25,"name":"car"},{"x":285,"y":170,"w":40,"h":32,"prob":27,"name":"car"},{"x":259,"y":178,"w":75,"h":46,"prob":42,"name":"car"},{"x":39,"y":222,"w":91,"h":52,"prob":61,"name":"car"},{"x":148,"y":199,"w":123,"h":55,"prob":52,"name":"car"}]} | ||
{"frame":0,"detections":[{"x":699,"y":99,"w":32,"h":19,"confidence":34,"name":"car"},{"x":285,"y":170,"w":40,"h":32,"confidence":26,"name":"car"},{"x":259,"y":178,"w":75,"h":46,"confidence":42,"name":"car"},{"x":39,"y":222,"w":91,"h":52,"confidence":61,"name":"car"},{"x":148,"y":199,"w":123,"h":55,"confidence":53,"name":"car"}]} | ||
{"frame":1,"detections":[{"x":699,"y":99,"w":32,"h":19,"confidence":31,"name":"car"},{"x":694,"y":116,"w":34,"h":23,"confidence":25,"name":"car"},{"x":285,"y":170,"w":40,"h":32,"confidence":27,"name":"car"},{"x":259,"y":178,"w":75,"h":46,"confidence":42,"name":"car"},{"x":39,"y":222,"w":91,"h":52,"confidence":61,"name":"car"},{"x":148,"y":199,"w":123,"h":55,"confidence":52,"name":"car"}]} | ||
``` | ||
@@ -95,3 +95,3 @@ | ||
"h": 29, | ||
"prob": 80, | ||
"confidence": 80, | ||
"name": "car", | ||
@@ -106,3 +106,3 @@ "isZombie": false | ||
"h": 35, | ||
"prob": 80, | ||
"confidence": 80, | ||
"name": "car", | ||
@@ -133,3 +133,3 @@ "isZombie": true | ||
"h": 29, | ||
"prob": 80, | ||
"confidence": 80, | ||
"name": "car", | ||
@@ -148,3 +148,3 @@ "isZombie": false, | ||
"h": 35, | ||
"prob": 80, | ||
"confidence": 80, | ||
"name": "car", | ||
@@ -151,0 +151,0 @@ "isZombie": false, |
76700
11