diff --git a/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt b/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt index c0ed1e4..fc95ae0 100644 --- a/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt +++ b/app/src/main/java/com/casic/br/app/utils/YoloTargetDetectHelper.kt @@ -13,11 +13,26 @@ fun siftHiddenTrouble( segmentationResults: MutableList, detectResults: MutableList ) { - //只有有限空间作业才筛选以下隐患 when (RuntimeCache.sceneName) { "有限空间作业" -> { - //结果包含头 - if (detectResults.isContains(13)) { + //结果包含人 + if (detectResults.isContains(3)) { + if (!detectResults.isContains(20) && !detectResults.isContains(15)) { + //不包含工服且未戴安全帽 + val result = HiddenTroubleResult() + result.alarmCode = "ConfinedSpaceHasNoWorkerClothes" + result.warning = "未穿工服和未佩戴安全帽" + hiddenTroubles.add(result) + } + + if (!detectResults.isContains(20) || !detectResults.isContains(8)) { + //不包含工服/防护服 + val result = HiddenTroubleResult() + result.alarmCode = "ConfinedSpaceHasNoWorkerClothes" + result.warning = "未穿工服/防护服" + hiddenTroubles.add(result) + } + if (!detectResults.isContains(15)) { //不包含安全帽 val result = HiddenTroubleResult() @@ -27,30 +42,11 @@ } } - //结果包含人 - if (detectResults.isContains(3)) { - if (!detectResults.isContains(20)) { - //不包含工服 - val result = HiddenTroubleResult() - result.alarmCode = "ConfinedSpaceHasNoWorkerClothes" - result.warning = "未着工服" - hiddenTroubles.add(result) - } - - if (!detectResults.isContains(17)) { - //不包含安全带、安全绳 - val result = HiddenTroubleResult() - result.alarmCode = "ConfinedSpaceHasNoWorkerSafelyLine" - result.warning = "没有佩戴安全带、安全绳" - hiddenTroubles.add(result) - } - } - //结果不包含呼吸防护设备 if (!detectResults.isContains(9)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoWorkerMask" - result.warning = "未发现呼吸防护设备" + result.warning = "现场无呼吸器" hiddenTroubles.add(result) } @@ -58,7 +54,7 @@ if (!detectResults.isContains(42) || !detectResults.isContains(37)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoEnclosure" - result.warning = "未发现路锥、警戒线" + result.warning = "现场无围挡设施" hiddenTroubles.add(result) } @@ -69,7 +65,15 @@ ) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoWarningSign" - result.warning = "未发现安全告知牌" + result.warning = "现场无安全告知牌" + hiddenTroubles.add(result) + } + + //TODO 新类型 + if (!detectResults.isContains(999999)) { + val result = HiddenTroubleResult() + result.alarmCode = "ConfinedSpaceHasNoJobInformationSign" + result.warning = "现场无作业信息公示牌" hiddenTroubles.add(result) } @@ -77,7 +81,7 @@ if (!detectResults.isContains(50) || !detectResults.isContains(51)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoAirSupply" - result.warning = "未发现通风设备" + result.warning = "现场无送风设备" hiddenTroubles.add(result) } @@ -85,7 +89,7 @@ if (!detectResults.isContains(33)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoLighting" - result.warning = "未发现井下照明设备" + result.warning = "现场无照明设备" hiddenTroubles.add(result) } @@ -93,7 +97,7 @@ if (!detectResults.isContains(18)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoIntercom" - result.warning = "未发现井下对讲设备" + result.warning = "现场无对讲设备" hiddenTroubles.add(result) } @@ -101,7 +105,7 @@ if (!detectResults.isContains(0)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoTripod" - result.warning = "未发现施工三脚架" + result.warning = "现场无三脚架" hiddenTroubles.add(result) } @@ -109,7 +113,7 @@ if (!detectResults.isContains(25)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoGasDetector" - result.warning = "未发现气体检测仪" + result.warning = "现场无气体检测报警仪" hiddenTroubles.add(result) } } @@ -135,11 +139,11 @@ hiddenTroubles.add(result) } - if (detectResults.isContains(41)) { + if (!detectResults.isContains(41)) { //包含跨电线 val result = HiddenTroubleResult() result.alarmCode = "DistributionBoxHasNoJumperWire" - result.warning = "配电箱有跨电线" + result.warning = "配电箱箱体和箱盖未跨接" hiddenTroubles.add(result) } } else { @@ -153,21 +157,34 @@ } "非居用户" -> { + if (segmentationResults.isContains(4)) { + val result = HiddenTroubleResult() + result.alarmCode = "NonResidentUserHasPipelineRust" + result.warning = "管道腐蚀锈蚀" + hiddenTroubles.add(result) + } + + if (detectResults.isContains(49)) { + val result = HiddenTroubleResult() + result.alarmCode = "NonStandardHoses" + result.warning = "非标准软管" + hiddenTroubles.add(result) + } + + if (segmentationResults.isContains(5)) { + val result = HiddenTroubleResult() + result.alarmCode = "HoseCrackedAndAged" + result.warning = "软管龟裂老化" + hiddenTroubles.add(result) + } + //结果包含灶台、灶眼 if (detectResults.isContains(31) || detectResults.isContains(32)) { - if (!detectResults.isContains(34)) { - //不包含熄火保护装置 - val result = HiddenTroubleResult() - result.alarmCode = "NonResidentUserHasNoFlameoutProtection" - result.warning = "未发现熄火保护装置" - hiddenTroubles.add(result) - } - if (!detectResults.isContains(22)) { //不包含燃气泄漏报警装置 val result = HiddenTroubleResult() result.alarmCode = "NonResidentUserHasNoStoveFlameoutProtection" - result.warning = "未发现燃气泄漏报警装置" + result.warning = "无燃气泄漏报警装置" hiddenTroubles.add(result) } @@ -175,45 +192,21 @@ //不包含切断阀 val result = HiddenTroubleResult() result.alarmCode = "NonResidentUserHasNoShutoffValve" - result.warning = "未发现切断阀" + result.warning = "未设置切断阀" hiddenTroubles.add(result) } - } - //结果包含专用软管、非专用软管 - if (detectResults.isContains(2) || detectResults.isContains(49)) { - //包含接头或三通 - if (detectResults.isContains(1) || detectResults.isContains(23)) { + if (!detectResults.isContains(34)) { + //不包含熄火保护装置 val result = HiddenTroubleResult() - result.alarmCode = "NonResidentUserHasNoHoseJoint" - result.warning = "软管有接头或三通" + result.alarmCode = "NonResidentUserHasNoFlameoutProtection" + result.warning = "未发现熄火保护" hiddenTroubles.add(result) } } - - if (segmentationResults.isContains(4)) { - val result = HiddenTroubleResult() - result.alarmCode = "NonResidentUserHasPipelineRust" - result.warning = "腐蚀、锈蚀" - hiddenTroubles.add(result) - } - - if (segmentationResults.isContains(0)) { - val result = HiddenTroubleResult() - result.alarmCode = "NonResidentUserHasHoseFlexure" - result.warning = "软管不可恢复的弯折拉伸" - hiddenTroubles.add(result) - } } "居民用户" -> { - if (segmentationResults.isContains(4)) { - val result = HiddenTroubleResult() - result.alarmCode = "NonResidentUserHasPipelineRust" - result.warning = "腐蚀、锈蚀" - hiddenTroubles.add(result) - } - if (detectResults.isContains(49)) { val result = HiddenTroubleResult() result.alarmCode = "NonStandardHoses" @@ -227,14 +220,16 @@ result.warning = "软管龟裂老化" hiddenTroubles.add(result) } - } - "调压站" -> { - if (segmentationResults.isContains(4)) { - val result = HiddenTroubleResult() - result.alarmCode = "NonResidentUserHasPipelineRust" - result.warning = "腐蚀、锈蚀" - hiddenTroubles.add(result) + //结果包含灶台、灶眼 + if (detectResults.isContains(31) || detectResults.isContains(32)) { + if (!detectResults.isContains(34)) { + //不包含熄火保护装置 + val result = HiddenTroubleResult() + result.alarmCode = "NonResidentUserHasNoFlameoutProtection" + result.warning = "未发现熄火保护" + hiddenTroubles.add(result) + } } } }