|
|
|
@ -158,12 +158,30 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'FIRE': {name: "화재 감지", classes: ["flame", "smoke"], defaults: ["flame", "smoke"]},
|
|
|
|
'FIRE': {name: "화재 감지", classes: ["flame", "smoke"], defaults: ["flame", "smoke"]},
|
|
|
|
'CROWD': {name: "군중 위험", classes: ["person", "car", "motor", "bus", "truck"], defaults: ["person"]},
|
|
|
|
'CROWD': {name: "군중 위험", classes: ["person", "car", "motor", "bus", "truck"], defaults: ["person"]},
|
|
|
|
|
|
|
|
// 'FACEATTR': {
|
|
|
|
|
|
|
|
// name: "얼굴 인식",
|
|
|
|
|
|
|
|
// classes: ["face", "person", "car", "motor", "bus", "truck"],
|
|
|
|
|
|
|
|
// defaults: ["face", "person"]
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
//디버깅용 2025.12.15
|
|
|
|
|
|
|
|
// 0: "shirt (blouse)"
|
|
|
|
|
|
|
|
// 1: "t-shirt"
|
|
|
|
|
|
|
|
// 2: "sweater"
|
|
|
|
|
|
|
|
// 3: "cardigan"
|
|
|
|
|
|
|
|
// 4: "jacket"
|
|
|
|
|
|
|
|
// 5: "vest"
|
|
|
|
|
|
|
|
// 6: "pants"
|
|
|
|
|
|
|
|
// 7: "shorts"
|
|
|
|
|
|
|
|
// 8: "skirt"
|
|
|
|
|
|
|
|
// 9: "coat"
|
|
|
|
|
|
|
|
// 10: "dress"
|
|
|
|
|
|
|
|
// 11: "bag, wallet"
|
|
|
|
'FACEATTR': {
|
|
|
|
'FACEATTR': {
|
|
|
|
name: "얼굴 인식",
|
|
|
|
name: "얼굴 인식",
|
|
|
|
classes: ["face", "person", "car", "motor", "bus", "truck"],
|
|
|
|
classes: ["shirt (blouse)", "t-shirt", "sweater", "cardigan", "jacket", "vest", "pants", "shorts", "skirt", "coat", "dress", "bag, wallet"],
|
|
|
|
defaults: ["face", "person"]
|
|
|
|
defaults: ["shirt (blouse)", "t-shirt", "sweater", "cardigan", "jacket", "vest", "pants", "shorts", "skirt", "coat", "dress", "bag, wallet"]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'ABNORM': {name: "이상 행동", classes: ["fallen", "person", "car", "motor", "bus", "truck"], defaults: ["fallen"]},
|
|
|
|
'ABNORM': {name: "이상 행동", classes: ["fallen", "person", "car", "motor", "bus", "truck"], defaults: ["fallen", "person"]},
|
|
|
|
'LPR': {
|
|
|
|
'LPR': {
|
|
|
|
name: "차량 인식",
|
|
|
|
name: "차량 인식",
|
|
|
|
classes: ["plate", "person", "car", "motor", "bus", "truck"],
|
|
|
|
classes: ["plate", "person", "car", "motor", "bus", "truck"],
|
|
|
|
@ -335,7 +353,21 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
const LABEL_MAP = {
|
|
|
|
const LABEL_MAP = {
|
|
|
|
1: {tagName: "객체 탐지", classes: {0: "person", 1: "-", 2: "car", 3: "motor", 4: "bus", 5: "truck"}},
|
|
|
|
1: {tagName: "객체 탐지", classes: {0: "person", 1: "-", 2: "car", 3: "motor", 4: "bus", 5: "truck"}},
|
|
|
|
2: {tagName: "화재 인식", classes: {0: "flame", 1: "smoke"}},
|
|
|
|
2: {tagName: "화재 인식", classes: {0: "flame", 1: "smoke"}},
|
|
|
|
3: {tagName: "얼굴 인식", classes: {0: "face"}},
|
|
|
|
// 3: {tagName: "얼굴 인식", classes: {0: "face"}},
|
|
|
|
|
|
|
|
//디버깅용 2025./12.15
|
|
|
|
|
|
|
|
// 0: "shirt (blouse)"
|
|
|
|
|
|
|
|
// 1: "t-shirt"
|
|
|
|
|
|
|
|
// 2: "sweater"
|
|
|
|
|
|
|
|
// 3: "cardigan"
|
|
|
|
|
|
|
|
// 4: "jacket"
|
|
|
|
|
|
|
|
// 5: "vest"
|
|
|
|
|
|
|
|
// 6: "pants"
|
|
|
|
|
|
|
|
// 7: "shorts"
|
|
|
|
|
|
|
|
// 8: "skirt"
|
|
|
|
|
|
|
|
// 9: "coat"
|
|
|
|
|
|
|
|
// 10: "dress"
|
|
|
|
|
|
|
|
// 11: "bag, wallet"
|
|
|
|
|
|
|
|
3: {tagName: "얼굴 인식", classes: {0: "shirt (blouse)", 1: "t-shirt", 2: "sweater", 3: "cardigan", 4: "jacket", 5: "vest", 6: "pants", 7: "shorts", 8: "skirt", 9: "coat", 10: "dress", 11: "bag, wallet"}},
|
|
|
|
4: {tagName: "차량번호", classes: {0: "plate"}},
|
|
|
|
4: {tagName: "차량번호", classes: {0: "plate"}},
|
|
|
|
5: {tagName: "이상 행동", classes: {0: "fallen"}}
|
|
|
|
5: {tagName: "이상 행동", classes: {0: "fallen"}}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
@ -566,7 +598,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
const personColor = getBoxColor('person');
|
|
|
|
const personColor = getBoxColor('person');
|
|
|
|
ctx.save();
|
|
|
|
ctx.save();
|
|
|
|
ctx.lineWidth = 2;
|
|
|
|
ctx.lineWidth = 2;
|
|
|
|
ctx.strokeStyle = personColor;
|
|
|
|
// ctx.strokeStyle = personColor;
|
|
|
|
|
|
|
|
ctx.strokeStyle = '#FF0000';
|
|
|
|
|
|
|
|
|
|
|
|
Object.values(meta.trajectory).forEach(points => {
|
|
|
|
Object.values(meta.trajectory).forEach(points => {
|
|
|
|
if (points.length < 2) return;
|
|
|
|
if (points.length < 2) return;
|
|
|
|
@ -730,7 +763,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
card.innerHTML = `
|
|
|
|
card.innerHTML = `
|
|
|
|
<img src="${fallenImgSrc}" class="card-person-img" style="width:120px; height:auto; max-height:150px;">
|
|
|
|
<img src="${fallenImgSrc}" class="card-person-img" style="width:120px; height:auto; max-height:150px;">
|
|
|
|
<div class="card-right">
|
|
|
|
<div class="card-right">
|
|
|
|
<div class="card-appear-info">Event ID: ${item.tid || '-'}</div>
|
|
|
|
<div class="card-appear-info">쓰러짐 발생</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
`;
|
|
|
|
`;
|
|
|
|
} else if (currentModelCode === 'LPR') {
|
|
|
|
} else if (currentModelCode === 'LPR') {
|
|
|
|
|