diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.bin b/app/src/main/assets/br-detect-20241008-sim-fp16.bin new file mode 100644 index 0000000..1e00d4a --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.bin Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.bin b/app/src/main/assets/br-detect-20241008-sim-fp16.bin new file mode 100644 index 0000000..1e00d4a --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.bin Binary files differ diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.param b/app/src/main/assets/br-detect-20241008-sim-fp16.param new file mode 100644 index 0000000..cc4d543 --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.param @@ -0,0 +1,183 @@ +7767517 +181 217 +Input images 0 1 images +Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 +Swish Mul_2 1 1 128 130 +Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 +Swish Mul_5 1 1 131 133 +Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 +Swish Mul_8 1 1 134 136 +Slice Split_9 1 2 136 137 138 -23300=2,32,-233 +Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_12 1 1 139 141 +Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_15 1 1 142 144 +BinaryOp Add_16 2 1 138_splitncnn_1 144 145 +Concat Concat_17 3 1 137 138_splitncnn_0 145 146 +Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 +Swish Mul_20 1 1 147 149 +Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 +Swish Mul_23 1 1 150 152 +Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 +Swish Mul_26 1 1 153 155 +Slice Split_27 1 2 155 156 157 -23300=2,64,-233 +Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 +Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_30 1 1 158 160 +Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_33 1 1 161 163 +BinaryOp Add_34 2 1 157_splitncnn_1 163 164 +Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 +Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_37 1 1 165 167 +Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_40 1 1 168 170 +BinaryOp Add_41 2 1 164_splitncnn_1 170 171 +Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 +Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 +Swish Mul_45 1 1 173 175 +Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 +Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 +Swish Mul_48 1 1 176 178 +Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 +Swish Mul_51 1 1 179 181 +Slice Split_52 1 2 181 182 183 -23300=2,128,-233 +Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 +Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_55 1 1 184 186 +Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_58 1 1 187 189 +BinaryOp Add_59 2 1 183_splitncnn_1 189 190 +Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 +Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_62 1 1 191 193 +Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_65 1 1 194 196 +BinaryOp Add_66 2 1 190_splitncnn_1 196 197 +Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 +Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 +Swish Mul_70 1 1 199 201 +Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 +Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 +Swish Mul_73 1 1 202 204 +Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 +Swish Mul_76 1 1 205 207 +Slice Split_77 1 2 207 208 209 -23300=2,256,-233 +Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 +Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_80 1 1 210 212 +Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_83 1 1 213 215 +BinaryOp Add_84 2 1 209_splitncnn_1 215 216 +Concat Concat_85 3 1 208 209_splitncnn_0 216 217 +Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 +Swish Mul_88 1 1 218 220 +Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 +Swish Mul_91 1 1 221 223 +Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 +Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 +Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 +Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 +Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 +Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 +Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 +Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 +Swish Mul_98 1 1 228 230 +Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 +Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_101 2 1 235 201_splitncnn_0 236 +Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 +Swish Mul_104 1 1 237 239 +Slice Split_105 1 2 239 240 241 -23300=2,128,-233 +Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 +Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_108 1 1 242 244 +Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_111 1 1 245 247 +Concat Concat_112 3 1 240 241_splitncnn_0 247 248 +Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 +Swish Mul_115 1 1 249 251 +Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 +Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_118 2 1 256 175_splitncnn_0 257 +Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 +Swish Mul_121 1 1 258 260 +Slice Split_122 1 2 260 261 262 -23300=2,64,-233 +Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 +Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_125 1 1 263 265 +Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_128 1 1 266 268 +Concat Concat_129 3 1 261 262_splitncnn_0 268 269 +Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 +Swish Mul_132 1 1 270 272 +Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 +Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 +Swish Mul_135 1 1 273 275 +Concat Concat_136 2 1 275 251_splitncnn_0 276 +Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 +Swish Mul_139 1 1 277 279 +Slice Split_140 1 2 279 280 281 -23300=2,128,-233 +Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 +Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_143 1 1 282 284 +Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_146 1 1 285 287 +Concat Concat_147 3 1 280 281_splitncnn_0 287 288 +Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 +Swish Mul_150 1 1 289 291 +Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 +Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 +Swish Mul_153 1 1 292 294 +Concat Concat_154 2 1 294 230_splitncnn_0 295 +Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 +Swish Mul_157 1 1 296 298 +Slice Split_158 1 2 298 299 300 -23300=2,256,-233 +Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 +Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_161 1 1 301 303 +Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_164 1 1 304 306 +Concat Concat_165 3 1 299 300_splitncnn_0 306 307 +Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 +Swish Mul_168 1 1 308 310 +Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 +Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 +Swish Mul_171 1 1 311 313 +Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_174 1 1 314 316 +Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 +Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_178 1 1 318 320 +Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_181 1 1 321 323 +Convolution Conv_182 1 1 323 324 0=59 1=1 5=1 6=7552 +Concat Concat_183 2 1 317 324 325 +Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 +Swish Mul_186 1 1 326 328 +Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_189 1 1 329 331 +Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 +Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 +Swish Mul_193 1 1 333 335 +Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_196 1 1 336 338 +Convolution Conv_197 1 1 338 339 0=59 1=1 5=1 6=7552 +Concat Concat_198 2 1 332 339 340 +Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 +Swish Mul_201 1 1 341 343 +Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_204 1 1 344 346 +Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 +Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 +Swish Mul_208 1 1 348 350 +Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_211 1 1 351 353 +Convolution Conv_212 1 1 353 354 0=59 1=1 5=1 6=7552 +Concat Concat_213 2 1 347 354 355 +Reshape Reshape_219 1 1 325 365 0=-1 1=123 +Reshape Reshape_222 1 1 340 372 0=-1 1=123 +Reshape Reshape_225 1 1 355 379 0=-1 1=123 +Concat Concat_226 3 1 365 372 379 380 0=1 +Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.bin b/app/src/main/assets/br-detect-20241008-sim-fp16.bin new file mode 100644 index 0000000..1e00d4a --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.bin Binary files differ diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.param b/app/src/main/assets/br-detect-20241008-sim-fp16.param new file mode 100644 index 0000000..cc4d543 --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.param @@ -0,0 +1,183 @@ +7767517 +181 217 +Input images 0 1 images +Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 +Swish Mul_2 1 1 128 130 +Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 +Swish Mul_5 1 1 131 133 +Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 +Swish Mul_8 1 1 134 136 +Slice Split_9 1 2 136 137 138 -23300=2,32,-233 +Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_12 1 1 139 141 +Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_15 1 1 142 144 +BinaryOp Add_16 2 1 138_splitncnn_1 144 145 +Concat Concat_17 3 1 137 138_splitncnn_0 145 146 +Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 +Swish Mul_20 1 1 147 149 +Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 +Swish Mul_23 1 1 150 152 +Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 +Swish Mul_26 1 1 153 155 +Slice Split_27 1 2 155 156 157 -23300=2,64,-233 +Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 +Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_30 1 1 158 160 +Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_33 1 1 161 163 +BinaryOp Add_34 2 1 157_splitncnn_1 163 164 +Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 +Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_37 1 1 165 167 +Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_40 1 1 168 170 +BinaryOp Add_41 2 1 164_splitncnn_1 170 171 +Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 +Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 +Swish Mul_45 1 1 173 175 +Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 +Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 +Swish Mul_48 1 1 176 178 +Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 +Swish Mul_51 1 1 179 181 +Slice Split_52 1 2 181 182 183 -23300=2,128,-233 +Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 +Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_55 1 1 184 186 +Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_58 1 1 187 189 +BinaryOp Add_59 2 1 183_splitncnn_1 189 190 +Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 +Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_62 1 1 191 193 +Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_65 1 1 194 196 +BinaryOp Add_66 2 1 190_splitncnn_1 196 197 +Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 +Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 +Swish Mul_70 1 1 199 201 +Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 +Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 +Swish Mul_73 1 1 202 204 +Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 +Swish Mul_76 1 1 205 207 +Slice Split_77 1 2 207 208 209 -23300=2,256,-233 +Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 +Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_80 1 1 210 212 +Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_83 1 1 213 215 +BinaryOp Add_84 2 1 209_splitncnn_1 215 216 +Concat Concat_85 3 1 208 209_splitncnn_0 216 217 +Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 +Swish Mul_88 1 1 218 220 +Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 +Swish Mul_91 1 1 221 223 +Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 +Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 +Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 +Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 +Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 +Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 +Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 +Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 +Swish Mul_98 1 1 228 230 +Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 +Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_101 2 1 235 201_splitncnn_0 236 +Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 +Swish Mul_104 1 1 237 239 +Slice Split_105 1 2 239 240 241 -23300=2,128,-233 +Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 +Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_108 1 1 242 244 +Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_111 1 1 245 247 +Concat Concat_112 3 1 240 241_splitncnn_0 247 248 +Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 +Swish Mul_115 1 1 249 251 +Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 +Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_118 2 1 256 175_splitncnn_0 257 +Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 +Swish Mul_121 1 1 258 260 +Slice Split_122 1 2 260 261 262 -23300=2,64,-233 +Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 +Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_125 1 1 263 265 +Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_128 1 1 266 268 +Concat Concat_129 3 1 261 262_splitncnn_0 268 269 +Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 +Swish Mul_132 1 1 270 272 +Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 +Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 +Swish Mul_135 1 1 273 275 +Concat Concat_136 2 1 275 251_splitncnn_0 276 +Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 +Swish Mul_139 1 1 277 279 +Slice Split_140 1 2 279 280 281 -23300=2,128,-233 +Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 +Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_143 1 1 282 284 +Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_146 1 1 285 287 +Concat Concat_147 3 1 280 281_splitncnn_0 287 288 +Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 +Swish Mul_150 1 1 289 291 +Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 +Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 +Swish Mul_153 1 1 292 294 +Concat Concat_154 2 1 294 230_splitncnn_0 295 +Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 +Swish Mul_157 1 1 296 298 +Slice Split_158 1 2 298 299 300 -23300=2,256,-233 +Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 +Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_161 1 1 301 303 +Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_164 1 1 304 306 +Concat Concat_165 3 1 299 300_splitncnn_0 306 307 +Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 +Swish Mul_168 1 1 308 310 +Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 +Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 +Swish Mul_171 1 1 311 313 +Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_174 1 1 314 316 +Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 +Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_178 1 1 318 320 +Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_181 1 1 321 323 +Convolution Conv_182 1 1 323 324 0=59 1=1 5=1 6=7552 +Concat Concat_183 2 1 317 324 325 +Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 +Swish Mul_186 1 1 326 328 +Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_189 1 1 329 331 +Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 +Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 +Swish Mul_193 1 1 333 335 +Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_196 1 1 336 338 +Convolution Conv_197 1 1 338 339 0=59 1=1 5=1 6=7552 +Concat Concat_198 2 1 332 339 340 +Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 +Swish Mul_201 1 1 341 343 +Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_204 1 1 344 346 +Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 +Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 +Swish Mul_208 1 1 348 350 +Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_211 1 1 351 353 +Convolution Conv_212 1 1 353 354 0=59 1=1 5=1 6=7552 +Concat Concat_213 2 1 347 354 355 +Reshape Reshape_219 1 1 325 365 0=-1 1=123 +Reshape Reshape_222 1 1 340 372 0=-1 1=123 +Reshape Reshape_225 1 1 355 379 0=-1 1=123 +Concat Concat_226 3 1 365 372 379 380 0=1 +Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/cpp/ndkcamera.cpp b/app/src/main/cpp/ndkcamera.cpp index ed1e932..821c4d4 100644 --- a/app/src/main/cpp/ndkcamera.cpp +++ b/app/src/main/cpp/ndkcamera.cpp @@ -13,13 +13,9 @@ // specific language governing permissions and limitations under the License. #include "ndkcamera.h" - #include - #include - #include - #include "mat.h" static void onDisconnected(void *context, ACameraDevice *device) { @@ -138,7 +134,7 @@ void onCaptureSequenceCompleted(void *context, ACameraCaptureSession *session, int sequenceId, int64_t frameNumber) { - __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %ld", + __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %lld", session, sequenceId, frameNumber); } @@ -169,7 +165,7 @@ // setup imagereader and its surface { - AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, /*maxImages*/2, &image_reader); + AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, 2, &image_reader); AImageReader_ImageListener listener; listener.context = this; @@ -215,8 +211,8 @@ ACameraMetadata *camera_metadata = nullptr; ACameraManager_getCameraCharacteristics(camera_manager, id, &camera_metadata); - // query faceing - acamera_metadata_enum_android_lens_facing_t facing = ACAMERA_LENS_FACING_FRONT; + // query facing + acamera_metadata_enum_android_lens_facing_t facing; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_LENS_FACING, &e); @@ -236,7 +232,7 @@ camera_id = id; // query orientation - int orientation = 0; + int orientation; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_SENSOR_ORIENTATION, &e); @@ -395,12 +391,10 @@ on_image(rgb); } -static const int NDKCAMERAWINDOW_ID = 233; +static const int NDK_CAMERA_WINDOW_ID = 233; NdkCameraWindow::NdkCameraWindow() : NdkCamera() { - sensor_manager = nullptr; sensor_event_queue = nullptr; - accelerometer_sensor = nullptr; win = nullptr; accelerometer_orientation = 0; @@ -445,13 +439,13 @@ { if (!sensor_event_queue) { sensor_event_queue = ASensorManager_createEventQueue(sensor_manager, ALooper_prepare( - ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDKCAMERAWINDOW_ID, 0, 0); + ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDK_CAMERA_WINDOW_ID, nullptr, nullptr); ASensorEventQueue_enableSensor(sensor_event_queue, accelerometer_sensor); } int id = ALooper_pollAll(0, nullptr, nullptr, nullptr); - if (id == NDKCAMERAWINDOW_ID) { + if (id == NDK_CAMERA_WINDOW_ID) { ASensorEvent e[8]; ssize_t num_event = 0; while (ASensorEventQueue_hasEvents(sensor_event_queue) == 1) { @@ -463,8 +457,6 @@ if (num_event > 0) { float acceleration_x = e[num_event - 1].acceleration.x; float acceleration_y = e[num_event - 1].acceleration.y; - float acceleration_z = e[num_event - 1].acceleration.z; -// __android_log_print(ANDROID_LOG_WARN, "NdkCameraWindow", "x = %f, y = %f, z = %f", x, y, z); if (acceleration_y > 7) { accelerometer_orientation = 0; @@ -487,8 +479,8 @@ int nv21_roi_y = 0; int nv21_roi_w = 0; int nv21_roi_h = 0; - int roi_x = 0; - int roi_y = 0; + int roi_x; + int roi_y; int roi_w = 0; int roi_h = 0; int rotate_type = 0; @@ -658,7 +650,7 @@ AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM); ANativeWindow_Buffer buf; - ANativeWindow_lock(win, &buf, NULL); + ANativeWindow_lock(win, &buf, nullptr); // scale to target size if (buf.format == AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM || diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.bin b/app/src/main/assets/br-detect-20241008-sim-fp16.bin new file mode 100644 index 0000000..1e00d4a --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.bin Binary files differ diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.param b/app/src/main/assets/br-detect-20241008-sim-fp16.param new file mode 100644 index 0000000..cc4d543 --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.param @@ -0,0 +1,183 @@ +7767517 +181 217 +Input images 0 1 images +Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 +Swish Mul_2 1 1 128 130 +Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 +Swish Mul_5 1 1 131 133 +Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 +Swish Mul_8 1 1 134 136 +Slice Split_9 1 2 136 137 138 -23300=2,32,-233 +Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_12 1 1 139 141 +Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_15 1 1 142 144 +BinaryOp Add_16 2 1 138_splitncnn_1 144 145 +Concat Concat_17 3 1 137 138_splitncnn_0 145 146 +Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 +Swish Mul_20 1 1 147 149 +Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 +Swish Mul_23 1 1 150 152 +Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 +Swish Mul_26 1 1 153 155 +Slice Split_27 1 2 155 156 157 -23300=2,64,-233 +Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 +Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_30 1 1 158 160 +Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_33 1 1 161 163 +BinaryOp Add_34 2 1 157_splitncnn_1 163 164 +Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 +Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_37 1 1 165 167 +Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_40 1 1 168 170 +BinaryOp Add_41 2 1 164_splitncnn_1 170 171 +Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 +Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 +Swish Mul_45 1 1 173 175 +Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 +Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 +Swish Mul_48 1 1 176 178 +Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 +Swish Mul_51 1 1 179 181 +Slice Split_52 1 2 181 182 183 -23300=2,128,-233 +Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 +Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_55 1 1 184 186 +Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_58 1 1 187 189 +BinaryOp Add_59 2 1 183_splitncnn_1 189 190 +Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 +Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_62 1 1 191 193 +Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_65 1 1 194 196 +BinaryOp Add_66 2 1 190_splitncnn_1 196 197 +Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 +Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 +Swish Mul_70 1 1 199 201 +Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 +Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 +Swish Mul_73 1 1 202 204 +Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 +Swish Mul_76 1 1 205 207 +Slice Split_77 1 2 207 208 209 -23300=2,256,-233 +Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 +Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_80 1 1 210 212 +Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_83 1 1 213 215 +BinaryOp Add_84 2 1 209_splitncnn_1 215 216 +Concat Concat_85 3 1 208 209_splitncnn_0 216 217 +Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 +Swish Mul_88 1 1 218 220 +Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 +Swish Mul_91 1 1 221 223 +Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 +Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 +Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 +Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 +Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 +Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 +Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 +Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 +Swish Mul_98 1 1 228 230 +Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 +Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_101 2 1 235 201_splitncnn_0 236 +Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 +Swish Mul_104 1 1 237 239 +Slice Split_105 1 2 239 240 241 -23300=2,128,-233 +Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 +Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_108 1 1 242 244 +Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_111 1 1 245 247 +Concat Concat_112 3 1 240 241_splitncnn_0 247 248 +Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 +Swish Mul_115 1 1 249 251 +Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 +Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_118 2 1 256 175_splitncnn_0 257 +Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 +Swish Mul_121 1 1 258 260 +Slice Split_122 1 2 260 261 262 -23300=2,64,-233 +Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 +Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_125 1 1 263 265 +Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_128 1 1 266 268 +Concat Concat_129 3 1 261 262_splitncnn_0 268 269 +Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 +Swish Mul_132 1 1 270 272 +Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 +Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 +Swish Mul_135 1 1 273 275 +Concat Concat_136 2 1 275 251_splitncnn_0 276 +Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 +Swish Mul_139 1 1 277 279 +Slice Split_140 1 2 279 280 281 -23300=2,128,-233 +Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 +Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_143 1 1 282 284 +Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_146 1 1 285 287 +Concat Concat_147 3 1 280 281_splitncnn_0 287 288 +Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 +Swish Mul_150 1 1 289 291 +Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 +Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 +Swish Mul_153 1 1 292 294 +Concat Concat_154 2 1 294 230_splitncnn_0 295 +Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 +Swish Mul_157 1 1 296 298 +Slice Split_158 1 2 298 299 300 -23300=2,256,-233 +Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 +Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_161 1 1 301 303 +Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_164 1 1 304 306 +Concat Concat_165 3 1 299 300_splitncnn_0 306 307 +Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 +Swish Mul_168 1 1 308 310 +Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 +Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 +Swish Mul_171 1 1 311 313 +Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_174 1 1 314 316 +Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 +Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_178 1 1 318 320 +Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_181 1 1 321 323 +Convolution Conv_182 1 1 323 324 0=59 1=1 5=1 6=7552 +Concat Concat_183 2 1 317 324 325 +Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 +Swish Mul_186 1 1 326 328 +Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_189 1 1 329 331 +Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 +Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 +Swish Mul_193 1 1 333 335 +Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_196 1 1 336 338 +Convolution Conv_197 1 1 338 339 0=59 1=1 5=1 6=7552 +Concat Concat_198 2 1 332 339 340 +Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 +Swish Mul_201 1 1 341 343 +Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_204 1 1 344 346 +Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 +Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 +Swish Mul_208 1 1 348 350 +Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_211 1 1 351 353 +Convolution Conv_212 1 1 353 354 0=59 1=1 5=1 6=7552 +Concat Concat_213 2 1 347 354 355 +Reshape Reshape_219 1 1 325 365 0=-1 1=123 +Reshape Reshape_222 1 1 340 372 0=-1 1=123 +Reshape Reshape_225 1 1 355 379 0=-1 1=123 +Concat Concat_226 3 1 365 372 379 380 0=1 +Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/cpp/ndkcamera.cpp b/app/src/main/cpp/ndkcamera.cpp index ed1e932..821c4d4 100644 --- a/app/src/main/cpp/ndkcamera.cpp +++ b/app/src/main/cpp/ndkcamera.cpp @@ -13,13 +13,9 @@ // specific language governing permissions and limitations under the License. #include "ndkcamera.h" - #include - #include - #include - #include "mat.h" static void onDisconnected(void *context, ACameraDevice *device) { @@ -138,7 +134,7 @@ void onCaptureSequenceCompleted(void *context, ACameraCaptureSession *session, int sequenceId, int64_t frameNumber) { - __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %ld", + __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %lld", session, sequenceId, frameNumber); } @@ -169,7 +165,7 @@ // setup imagereader and its surface { - AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, /*maxImages*/2, &image_reader); + AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, 2, &image_reader); AImageReader_ImageListener listener; listener.context = this; @@ -215,8 +211,8 @@ ACameraMetadata *camera_metadata = nullptr; ACameraManager_getCameraCharacteristics(camera_manager, id, &camera_metadata); - // query faceing - acamera_metadata_enum_android_lens_facing_t facing = ACAMERA_LENS_FACING_FRONT; + // query facing + acamera_metadata_enum_android_lens_facing_t facing; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_LENS_FACING, &e); @@ -236,7 +232,7 @@ camera_id = id; // query orientation - int orientation = 0; + int orientation; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_SENSOR_ORIENTATION, &e); @@ -395,12 +391,10 @@ on_image(rgb); } -static const int NDKCAMERAWINDOW_ID = 233; +static const int NDK_CAMERA_WINDOW_ID = 233; NdkCameraWindow::NdkCameraWindow() : NdkCamera() { - sensor_manager = nullptr; sensor_event_queue = nullptr; - accelerometer_sensor = nullptr; win = nullptr; accelerometer_orientation = 0; @@ -445,13 +439,13 @@ { if (!sensor_event_queue) { sensor_event_queue = ASensorManager_createEventQueue(sensor_manager, ALooper_prepare( - ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDKCAMERAWINDOW_ID, 0, 0); + ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDK_CAMERA_WINDOW_ID, nullptr, nullptr); ASensorEventQueue_enableSensor(sensor_event_queue, accelerometer_sensor); } int id = ALooper_pollAll(0, nullptr, nullptr, nullptr); - if (id == NDKCAMERAWINDOW_ID) { + if (id == NDK_CAMERA_WINDOW_ID) { ASensorEvent e[8]; ssize_t num_event = 0; while (ASensorEventQueue_hasEvents(sensor_event_queue) == 1) { @@ -463,8 +457,6 @@ if (num_event > 0) { float acceleration_x = e[num_event - 1].acceleration.x; float acceleration_y = e[num_event - 1].acceleration.y; - float acceleration_z = e[num_event - 1].acceleration.z; -// __android_log_print(ANDROID_LOG_WARN, "NdkCameraWindow", "x = %f, y = %f, z = %f", x, y, z); if (acceleration_y > 7) { accelerometer_orientation = 0; @@ -487,8 +479,8 @@ int nv21_roi_y = 0; int nv21_roi_w = 0; int nv21_roi_h = 0; - int roi_x = 0; - int roi_y = 0; + int roi_x; + int roi_y; int roi_w = 0; int roi_h = 0; int rotate_type = 0; @@ -658,7 +650,7 @@ AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM); ANativeWindow_Buffer buf; - ANativeWindow_lock(win, &buf, NULL); + ANativeWindow_lock(win, &buf, nullptr); // scale to target size if (buf.format == AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM || diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index c8f6434..7bdc0a4 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -633,7 +633,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, 0.4f, proposals, 50); + generate_proposals(grid_strides, out, 0.4f, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); @@ -755,7 +755,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, prob_threshold, proposals, 50); + generate_proposals(grid_strides, out, prob_threshold, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); @@ -969,7 +969,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, 0.4f, proposals, 50); + generate_proposals(grid_strides, out, 0.4f, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.bin b/app/src/main/assets/br-detect-20241008-sim-fp16.bin new file mode 100644 index 0000000..1e00d4a --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.bin Binary files differ diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.param b/app/src/main/assets/br-detect-20241008-sim-fp16.param new file mode 100644 index 0000000..cc4d543 --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.param @@ -0,0 +1,183 @@ +7767517 +181 217 +Input images 0 1 images +Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 +Swish Mul_2 1 1 128 130 +Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 +Swish Mul_5 1 1 131 133 +Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 +Swish Mul_8 1 1 134 136 +Slice Split_9 1 2 136 137 138 -23300=2,32,-233 +Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_12 1 1 139 141 +Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_15 1 1 142 144 +BinaryOp Add_16 2 1 138_splitncnn_1 144 145 +Concat Concat_17 3 1 137 138_splitncnn_0 145 146 +Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 +Swish Mul_20 1 1 147 149 +Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 +Swish Mul_23 1 1 150 152 +Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 +Swish Mul_26 1 1 153 155 +Slice Split_27 1 2 155 156 157 -23300=2,64,-233 +Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 +Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_30 1 1 158 160 +Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_33 1 1 161 163 +BinaryOp Add_34 2 1 157_splitncnn_1 163 164 +Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 +Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_37 1 1 165 167 +Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_40 1 1 168 170 +BinaryOp Add_41 2 1 164_splitncnn_1 170 171 +Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 +Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 +Swish Mul_45 1 1 173 175 +Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 +Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 +Swish Mul_48 1 1 176 178 +Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 +Swish Mul_51 1 1 179 181 +Slice Split_52 1 2 181 182 183 -23300=2,128,-233 +Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 +Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_55 1 1 184 186 +Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_58 1 1 187 189 +BinaryOp Add_59 2 1 183_splitncnn_1 189 190 +Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 +Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_62 1 1 191 193 +Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_65 1 1 194 196 +BinaryOp Add_66 2 1 190_splitncnn_1 196 197 +Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 +Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 +Swish Mul_70 1 1 199 201 +Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 +Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 +Swish Mul_73 1 1 202 204 +Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 +Swish Mul_76 1 1 205 207 +Slice Split_77 1 2 207 208 209 -23300=2,256,-233 +Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 +Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_80 1 1 210 212 +Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_83 1 1 213 215 +BinaryOp Add_84 2 1 209_splitncnn_1 215 216 +Concat Concat_85 3 1 208 209_splitncnn_0 216 217 +Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 +Swish Mul_88 1 1 218 220 +Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 +Swish Mul_91 1 1 221 223 +Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 +Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 +Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 +Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 +Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 +Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 +Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 +Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 +Swish Mul_98 1 1 228 230 +Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 +Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_101 2 1 235 201_splitncnn_0 236 +Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 +Swish Mul_104 1 1 237 239 +Slice Split_105 1 2 239 240 241 -23300=2,128,-233 +Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 +Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_108 1 1 242 244 +Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_111 1 1 245 247 +Concat Concat_112 3 1 240 241_splitncnn_0 247 248 +Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 +Swish Mul_115 1 1 249 251 +Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 +Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_118 2 1 256 175_splitncnn_0 257 +Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 +Swish Mul_121 1 1 258 260 +Slice Split_122 1 2 260 261 262 -23300=2,64,-233 +Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 +Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_125 1 1 263 265 +Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_128 1 1 266 268 +Concat Concat_129 3 1 261 262_splitncnn_0 268 269 +Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 +Swish Mul_132 1 1 270 272 +Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 +Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 +Swish Mul_135 1 1 273 275 +Concat Concat_136 2 1 275 251_splitncnn_0 276 +Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 +Swish Mul_139 1 1 277 279 +Slice Split_140 1 2 279 280 281 -23300=2,128,-233 +Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 +Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_143 1 1 282 284 +Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_146 1 1 285 287 +Concat Concat_147 3 1 280 281_splitncnn_0 287 288 +Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 +Swish Mul_150 1 1 289 291 +Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 +Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 +Swish Mul_153 1 1 292 294 +Concat Concat_154 2 1 294 230_splitncnn_0 295 +Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 +Swish Mul_157 1 1 296 298 +Slice Split_158 1 2 298 299 300 -23300=2,256,-233 +Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 +Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_161 1 1 301 303 +Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_164 1 1 304 306 +Concat Concat_165 3 1 299 300_splitncnn_0 306 307 +Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 +Swish Mul_168 1 1 308 310 +Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 +Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 +Swish Mul_171 1 1 311 313 +Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_174 1 1 314 316 +Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 +Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_178 1 1 318 320 +Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_181 1 1 321 323 +Convolution Conv_182 1 1 323 324 0=59 1=1 5=1 6=7552 +Concat Concat_183 2 1 317 324 325 +Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 +Swish Mul_186 1 1 326 328 +Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_189 1 1 329 331 +Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 +Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 +Swish Mul_193 1 1 333 335 +Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_196 1 1 336 338 +Convolution Conv_197 1 1 338 339 0=59 1=1 5=1 6=7552 +Concat Concat_198 2 1 332 339 340 +Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 +Swish Mul_201 1 1 341 343 +Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_204 1 1 344 346 +Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 +Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 +Swish Mul_208 1 1 348 350 +Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_211 1 1 351 353 +Convolution Conv_212 1 1 353 354 0=59 1=1 5=1 6=7552 +Concat Concat_213 2 1 347 354 355 +Reshape Reshape_219 1 1 325 365 0=-1 1=123 +Reshape Reshape_222 1 1 340 372 0=-1 1=123 +Reshape Reshape_225 1 1 355 379 0=-1 1=123 +Concat Concat_226 3 1 365 372 379 380 0=1 +Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/cpp/ndkcamera.cpp b/app/src/main/cpp/ndkcamera.cpp index ed1e932..821c4d4 100644 --- a/app/src/main/cpp/ndkcamera.cpp +++ b/app/src/main/cpp/ndkcamera.cpp @@ -13,13 +13,9 @@ // specific language governing permissions and limitations under the License. #include "ndkcamera.h" - #include - #include - #include - #include "mat.h" static void onDisconnected(void *context, ACameraDevice *device) { @@ -138,7 +134,7 @@ void onCaptureSequenceCompleted(void *context, ACameraCaptureSession *session, int sequenceId, int64_t frameNumber) { - __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %ld", + __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %lld", session, sequenceId, frameNumber); } @@ -169,7 +165,7 @@ // setup imagereader and its surface { - AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, /*maxImages*/2, &image_reader); + AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, 2, &image_reader); AImageReader_ImageListener listener; listener.context = this; @@ -215,8 +211,8 @@ ACameraMetadata *camera_metadata = nullptr; ACameraManager_getCameraCharacteristics(camera_manager, id, &camera_metadata); - // query faceing - acamera_metadata_enum_android_lens_facing_t facing = ACAMERA_LENS_FACING_FRONT; + // query facing + acamera_metadata_enum_android_lens_facing_t facing; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_LENS_FACING, &e); @@ -236,7 +232,7 @@ camera_id = id; // query orientation - int orientation = 0; + int orientation; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_SENSOR_ORIENTATION, &e); @@ -395,12 +391,10 @@ on_image(rgb); } -static const int NDKCAMERAWINDOW_ID = 233; +static const int NDK_CAMERA_WINDOW_ID = 233; NdkCameraWindow::NdkCameraWindow() : NdkCamera() { - sensor_manager = nullptr; sensor_event_queue = nullptr; - accelerometer_sensor = nullptr; win = nullptr; accelerometer_orientation = 0; @@ -445,13 +439,13 @@ { if (!sensor_event_queue) { sensor_event_queue = ASensorManager_createEventQueue(sensor_manager, ALooper_prepare( - ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDKCAMERAWINDOW_ID, 0, 0); + ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDK_CAMERA_WINDOW_ID, nullptr, nullptr); ASensorEventQueue_enableSensor(sensor_event_queue, accelerometer_sensor); } int id = ALooper_pollAll(0, nullptr, nullptr, nullptr); - if (id == NDKCAMERAWINDOW_ID) { + if (id == NDK_CAMERA_WINDOW_ID) { ASensorEvent e[8]; ssize_t num_event = 0; while (ASensorEventQueue_hasEvents(sensor_event_queue) == 1) { @@ -463,8 +457,6 @@ if (num_event > 0) { float acceleration_x = e[num_event - 1].acceleration.x; float acceleration_y = e[num_event - 1].acceleration.y; - float acceleration_z = e[num_event - 1].acceleration.z; -// __android_log_print(ANDROID_LOG_WARN, "NdkCameraWindow", "x = %f, y = %f, z = %f", x, y, z); if (acceleration_y > 7) { accelerometer_orientation = 0; @@ -487,8 +479,8 @@ int nv21_roi_y = 0; int nv21_roi_w = 0; int nv21_roi_h = 0; - int roi_x = 0; - int roi_y = 0; + int roi_x; + int roi_y; int roi_w = 0; int roi_h = 0; int rotate_type = 0; @@ -658,7 +650,7 @@ AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM); ANativeWindow_Buffer buf; - ANativeWindow_lock(win, &buf, NULL); + ANativeWindow_lock(win, &buf, nullptr); // scale to target size if (buf.format == AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM || diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index c8f6434..7bdc0a4 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -633,7 +633,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, 0.4f, proposals, 50); + generate_proposals(grid_strides, out, 0.4f, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); @@ -755,7 +755,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, prob_threshold, proposals, 50); + generate_proposals(grid_strides, out, prob_threshold, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); @@ -969,7 +969,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, 0.4f, proposals, 50); + generate_proposals(grid_strides, out, 0.4f, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index bba3daf..5f07ba1 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -109,9 +109,9 @@ return 0; } -static Yolo *g_yolo = nullptr; +static Yolo *yolo_ptr = nullptr; static ncnn::Mutex lock; -static JavaVM *javaVM = nullptr; +static JavaVM *jvm_ptr = nullptr; class MyNdkCamera : public NdkCameraWindow { public: @@ -123,27 +123,27 @@ { ncnn::MutexLockGuard g(lock); - if (g_yolo) { + if (yolo_ptr) { //分类 - g_yolo->classify(rgb); + yolo_ptr->classify(rgb); std::vector objects; //分割 - g_yolo->segmentation(rgb, objects); + yolo_ptr->segmentation(rgb, objects); //检测 - g_yolo->detect(rgb, objects); + yolo_ptr->detect(rgb, objects); //自由检测 - g_yolo->free_detect(rgb, objects); + yolo_ptr->free_detect(rgb, objects); } else { draw_unsupported(rgb); } } } -static MyNdkCamera *g_camera = nullptr; +static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; @@ -163,9 +163,9 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) { __android_log_print(ANDROID_LOG_DEBUG, "ncnn", "JNI_OnLoad"); - javaVM = vm; + jvm_ptr = vm; - g_camera = new MyNdkCamera; + camera_ptr = new MyNdkCamera; return JNI_VERSION_1_4; } @@ -176,12 +176,12 @@ { ncnn::MutexLockGuard g(lock); - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } - delete g_camera; - g_camera = nullptr; + delete camera_ptr; + camera_ptr = nullptr; } JNIEXPORT jboolean JNICALL @@ -206,11 +206,11 @@ if (use_gpu && ncnn::get_gpu_count() == 0) { // no gpu - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } else { - if (!g_yolo) - g_yolo = new Yolo; + if (!yolo_ptr) + yolo_ptr = new Yolo; int state; if (use_classify) { state = 1; @@ -221,8 +221,8 @@ if (use_detect) { state = 3; } - g_yolo->j_state = state; - g_yolo->load( + yolo_ptr->j_state = state; + yolo_ptr->load( mgr, model_type, target_size, @@ -257,14 +257,14 @@ if (use_gpu && ncnn::get_gpu_count() == 0) { // no gpu - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } else { - if (!g_yolo) - g_yolo = new Yolo; - g_yolo->j_state = 2; + if (!yolo_ptr) + yolo_ptr = new Yolo; + yolo_ptr->j_state = 2; if (*id == 0) { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -276,7 +276,7 @@ use_gpu ); } else { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -313,14 +313,14 @@ if (use_gpu && ncnn::get_gpu_count() == 0) { // no gpu - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } else { - if (!g_yolo) - g_yolo = new Yolo; - g_yolo->j_state = 4; + if (!yolo_ptr) + yolo_ptr = new Yolo; + yolo_ptr->j_state = 4; if (*id == 0) { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -332,7 +332,7 @@ use_gpu ); } else { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -358,8 +358,10 @@ __android_log_print(ANDROID_LOG_DEBUG, "ncnn", "openCamera %d", facing); - g_camera->open((int) facing); - + if (camera_ptr == nullptr) { + return JNI_FALSE; + } + camera_ptr->open((int) facing); return JNI_TRUE; } @@ -367,8 +369,10 @@ Java_com_casic_br_ar_app_external_Yolov8ncnn_closeCamera(JNIEnv *env, jobject thiz) { __android_log_print(ANDROID_LOG_DEBUG, "ncnn", "closeCamera"); - g_camera->close(); - + if (camera_ptr == nullptr) { + return JNI_FALSE; + } + camera_ptr->close(); return JNI_TRUE; } @@ -379,21 +383,33 @@ jobject native_callback) { ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - g_camera->set_window(win); + if (camera_ptr == nullptr) { + return JNI_FALSE; + } + camera_ptr->set_window(win); - g_yolo->initNativeCallback(javaVM, nativeObjAddr, native_callback); + if (yolo_ptr == nullptr) { + return JNI_FALSE; + } + yolo_ptr->initNativeCallback(jvm_ptr, nativeObjAddr, native_callback); return JNI_TRUE; } JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { - g_yolo->j_state = 0; + if (yolo_ptr == nullptr) { + return JNI_FALSE; + } + yolo_ptr->j_state = 0; return JNI_TRUE; } JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onRestart(JNIEnv *env, jobject thiz, jint state) { - g_yolo->j_state = state; + if (yolo_ptr == nullptr) { + return JNI_FALSE; + } + yolo_ptr->j_state = state; return JNI_TRUE; } } \ No newline at end of file diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.bin b/app/src/main/assets/br-detect-20240913-sim-fp16.bin deleted file mode 100644 index 008c858..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.bin +++ /dev/null Binary files differ diff --git a/app/src/main/assets/br-detect-20240913-sim-fp16.param b/app/src/main/assets/br-detect-20240913-sim-fp16.param deleted file mode 100644 index 8258446..0000000 --- a/app/src/main/assets/br-detect-20240913-sim-fp16.param +++ /dev/null @@ -1,183 +0,0 @@ -7767517 -181 217 -Input images 0 1 images -Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 -Swish Mul_2 1 1 128 130 -Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 -Swish Mul_5 1 1 131 133 -Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 -Swish Mul_8 1 1 134 136 -Slice Split_9 1 2 136 137 138 -23300=2,32,-233 -Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 -Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_12 1 1 139 141 -Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 -Swish Mul_15 1 1 142 144 -BinaryOp Add_16 2 1 138_splitncnn_1 144 145 -Concat Concat_17 3 1 137 138_splitncnn_0 145 146 -Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 -Swish Mul_20 1 1 147 149 -Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 -Swish Mul_23 1 1 150 152 -Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 -Swish Mul_26 1 1 153 155 -Slice Split_27 1 2 155 156 157 -23300=2,64,-233 -Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 -Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_30 1 1 158 160 -Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_33 1 1 161 163 -BinaryOp Add_34 2 1 157_splitncnn_1 163 164 -Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 -Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_37 1 1 165 167 -Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_40 1 1 168 170 -BinaryOp Add_41 2 1 164_splitncnn_1 170 171 -Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 -Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 -Swish Mul_45 1 1 173 175 -Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 -Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 -Swish Mul_48 1 1 176 178 -Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 -Swish Mul_51 1 1 179 181 -Slice Split_52 1 2 181 182 183 -23300=2,128,-233 -Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 -Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_55 1 1 184 186 -Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_58 1 1 187 189 -BinaryOp Add_59 2 1 183_splitncnn_1 189 190 -Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 -Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_62 1 1 191 193 -Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_65 1 1 194 196 -BinaryOp Add_66 2 1 190_splitncnn_1 196 197 -Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 -Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 -Swish Mul_70 1 1 199 201 -Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 -Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 -Swish Mul_73 1 1 202 204 -Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 -Swish Mul_76 1 1 205 207 -Slice Split_77 1 2 207 208 209 -23300=2,256,-233 -Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 -Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_80 1 1 210 212 -Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_83 1 1 213 215 -BinaryOp Add_84 2 1 209_splitncnn_1 215 216 -Concat Concat_85 3 1 208 209_splitncnn_0 216 217 -Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 -Swish Mul_88 1 1 218 220 -Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 -Swish Mul_91 1 1 221 223 -Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 -Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 -Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 -Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 -Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 -Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 -Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 -Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 -Swish Mul_98 1 1 228 230 -Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 -Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_101 2 1 235 201_splitncnn_0 236 -Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 -Swish Mul_104 1 1 237 239 -Slice Split_105 1 2 239 240 241 -23300=2,128,-233 -Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 -Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_108 1 1 242 244 -Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_111 1 1 245 247 -Concat Concat_112 3 1 240 241_splitncnn_0 247 248 -Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 -Swish Mul_115 1 1 249 251 -Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 -Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 -Concat Concat_118 2 1 256 175_splitncnn_0 257 -Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 -Swish Mul_121 1 1 258 260 -Slice Split_122 1 2 260 261 262 -23300=2,64,-233 -Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 -Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_125 1 1 263 265 -Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_128 1 1 266 268 -Concat Concat_129 3 1 261 262_splitncnn_0 268 269 -Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 -Swish Mul_132 1 1 270 272 -Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 -Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 -Swish Mul_135 1 1 273 275 -Concat Concat_136 2 1 275 251_splitncnn_0 276 -Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 -Swish Mul_139 1 1 277 279 -Slice Split_140 1 2 279 280 281 -23300=2,128,-233 -Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 -Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_143 1 1 282 284 -Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_146 1 1 285 287 -Concat Concat_147 3 1 280 281_splitncnn_0 287 288 -Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 -Swish Mul_150 1 1 289 291 -Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 -Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 -Swish Mul_153 1 1 292 294 -Concat Concat_154 2 1 294 230_splitncnn_0 295 -Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 -Swish Mul_157 1 1 296 298 -Slice Split_158 1 2 298 299 300 -23300=2,256,-233 -Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 -Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_161 1 1 301 303 -Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 -Swish Mul_164 1 1 304 306 -Concat Concat_165 3 1 299 300_splitncnn_0 306 307 -Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 -Swish Mul_168 1 1 308 310 -Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 -Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 -Swish Mul_171 1 1 311 313 -Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_174 1 1 314 316 -Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 -Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_178 1 1 318 320 -Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_181 1 1 321 323 -Convolution Conv_182 1 1 323 324 0=52 1=1 5=1 6=6656 -Concat Concat_183 2 1 317 324 325 -Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 -Swish Mul_186 1 1 326 328 -Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_189 1 1 329 331 -Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 -Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 -Swish Mul_193 1 1 333 335 -Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_196 1 1 336 338 -Convolution Conv_197 1 1 338 339 0=52 1=1 5=1 6=6656 -Concat Concat_198 2 1 332 339 340 -Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 -Swish Mul_201 1 1 341 343 -Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 -Swish Mul_204 1 1 344 346 -Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 -Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 -Swish Mul_208 1 1 348 350 -Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 -Swish Mul_211 1 1 351 353 -Convolution Conv_212 1 1 353 354 0=52 1=1 5=1 6=6656 -Concat Concat_213 2 1 347 354 355 -Reshape Reshape_219 1 1 325 365 0=-1 1=116 -Reshape Reshape_222 1 1 340 372 0=-1 1=116 -Reshape Reshape_225 1 1 355 379 0=-1 1=116 -Concat Concat_226 3 1 365 372 379 380 0=1 -Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.bin b/app/src/main/assets/br-detect-20241008-sim-fp16.bin new file mode 100644 index 0000000..1e00d4a --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.bin Binary files differ diff --git a/app/src/main/assets/br-detect-20241008-sim-fp16.param b/app/src/main/assets/br-detect-20241008-sim-fp16.param new file mode 100644 index 0000000..cc4d543 --- /dev/null +++ b/app/src/main/assets/br-detect-20241008-sim-fp16.param @@ -0,0 +1,183 @@ +7767517 +181 217 +Input images 0 1 images +Convolution Conv_0 1 1 images 128 0=32 1=3 3=2 4=1 5=1 6=864 +Swish Mul_2 1 1 128 130 +Convolution Conv_3 1 1 130 131 0=64 1=3 3=2 4=1 5=1 6=18432 +Swish Mul_5 1 1 131 133 +Convolution Conv_6 1 1 133 134 0=64 1=1 5=1 6=4096 +Swish Mul_8 1 1 134 136 +Slice Split_9 1 2 136 137 138 -23300=2,32,-233 +Split splitncnn_0 1 3 138 138_splitncnn_0 138_splitncnn_1 138_splitncnn_2 +Convolution Conv_10 1 1 138_splitncnn_2 139 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_12 1 1 139 141 +Convolution Conv_13 1 1 141 142 0=32 1=3 4=1 5=1 6=9216 +Swish Mul_15 1 1 142 144 +BinaryOp Add_16 2 1 138_splitncnn_1 144 145 +Concat Concat_17 3 1 137 138_splitncnn_0 145 146 +Convolution Conv_18 1 1 146 147 0=64 1=1 5=1 6=6144 +Swish Mul_20 1 1 147 149 +Convolution Conv_21 1 1 149 150 0=128 1=3 3=2 4=1 5=1 6=73728 +Swish Mul_23 1 1 150 152 +Convolution Conv_24 1 1 152 153 0=128 1=1 5=1 6=16384 +Swish Mul_26 1 1 153 155 +Slice Split_27 1 2 155 156 157 -23300=2,64,-233 +Split splitncnn_1 1 3 157 157_splitncnn_0 157_splitncnn_1 157_splitncnn_2 +Convolution Conv_28 1 1 157_splitncnn_2 158 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_30 1 1 158 160 +Convolution Conv_31 1 1 160 161 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_33 1 1 161 163 +BinaryOp Add_34 2 1 157_splitncnn_1 163 164 +Split splitncnn_2 1 3 164 164_splitncnn_0 164_splitncnn_1 164_splitncnn_2 +Convolution Conv_35 1 1 164_splitncnn_2 165 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_37 1 1 165 167 +Convolution Conv_38 1 1 167 168 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_40 1 1 168 170 +BinaryOp Add_41 2 1 164_splitncnn_1 170 171 +Concat Concat_42 4 1 156 157_splitncnn_0 164_splitncnn_0 171 172 +Convolution Conv_43 1 1 172 173 0=128 1=1 5=1 6=32768 +Swish Mul_45 1 1 173 175 +Split splitncnn_3 1 2 175 175_splitncnn_0 175_splitncnn_1 +Convolution Conv_46 1 1 175_splitncnn_1 176 0=256 1=3 3=2 4=1 5=1 6=294912 +Swish Mul_48 1 1 176 178 +Convolution Conv_49 1 1 178 179 0=256 1=1 5=1 6=65536 +Swish Mul_51 1 1 179 181 +Slice Split_52 1 2 181 182 183 -23300=2,128,-233 +Split splitncnn_4 1 3 183 183_splitncnn_0 183_splitncnn_1 183_splitncnn_2 +Convolution Conv_53 1 1 183_splitncnn_2 184 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_55 1 1 184 186 +Convolution Conv_56 1 1 186 187 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_58 1 1 187 189 +BinaryOp Add_59 2 1 183_splitncnn_1 189 190 +Split splitncnn_5 1 3 190 190_splitncnn_0 190_splitncnn_1 190_splitncnn_2 +Convolution Conv_60 1 1 190_splitncnn_2 191 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_62 1 1 191 193 +Convolution Conv_63 1 1 193 194 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_65 1 1 194 196 +BinaryOp Add_66 2 1 190_splitncnn_1 196 197 +Concat Concat_67 4 1 182 183_splitncnn_0 190_splitncnn_0 197 198 +Convolution Conv_68 1 1 198 199 0=256 1=1 5=1 6=131072 +Swish Mul_70 1 1 199 201 +Split splitncnn_6 1 2 201 201_splitncnn_0 201_splitncnn_1 +Convolution Conv_71 1 1 201_splitncnn_1 202 0=512 1=3 3=2 4=1 5=1 6=1179648 +Swish Mul_73 1 1 202 204 +Convolution Conv_74 1 1 204 205 0=512 1=1 5=1 6=262144 +Swish Mul_76 1 1 205 207 +Slice Split_77 1 2 207 208 209 -23300=2,256,-233 +Split splitncnn_7 1 3 209 209_splitncnn_0 209_splitncnn_1 209_splitncnn_2 +Convolution Conv_78 1 1 209_splitncnn_2 210 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_80 1 1 210 212 +Convolution Conv_81 1 1 212 213 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_83 1 1 213 215 +BinaryOp Add_84 2 1 209_splitncnn_1 215 216 +Concat Concat_85 3 1 208 209_splitncnn_0 216 217 +Convolution Conv_86 1 1 217 218 0=512 1=1 5=1 6=393216 +Swish Mul_88 1 1 218 220 +Convolution Conv_89 1 1 220 221 0=256 1=1 5=1 6=131072 +Swish Mul_91 1 1 221 223 +Split splitncnn_8 1 2 223 223_splitncnn_0 223_splitncnn_1 +Pooling MaxPool_92 1 1 223_splitncnn_1 224 1=5 3=2 5=1 +Split splitncnn_9 1 2 224 224_splitncnn_0 224_splitncnn_1 +Pooling MaxPool_93 1 1 224_splitncnn_1 225 1=5 3=2 5=1 +Split splitncnn_10 1 2 225 225_splitncnn_0 225_splitncnn_1 +Pooling MaxPool_94 1 1 225_splitncnn_1 226 1=5 3=2 5=1 +Concat Concat_95 4 1 223_splitncnn_0 224_splitncnn_0 225_splitncnn_0 226 227 +Convolution Conv_96 1 1 227 228 0=512 1=1 5=1 6=524288 +Swish Mul_98 1 1 228 230 +Split splitncnn_11 1 2 230 230_splitncnn_0 230_splitncnn_1 +Interp Resize_100 1 1 230_splitncnn_1 235 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_101 2 1 235 201_splitncnn_0 236 +Convolution Conv_102 1 1 236 237 0=256 1=1 5=1 6=196608 +Swish Mul_104 1 1 237 239 +Slice Split_105 1 2 239 240 241 -23300=2,128,-233 +Split splitncnn_12 1 2 241 241_splitncnn_0 241_splitncnn_1 +Convolution Conv_106 1 1 241_splitncnn_1 242 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_108 1 1 242 244 +Convolution Conv_109 1 1 244 245 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_111 1 1 245 247 +Concat Concat_112 3 1 240 241_splitncnn_0 247 248 +Convolution Conv_113 1 1 248 249 0=256 1=1 5=1 6=98304 +Swish Mul_115 1 1 249 251 +Split splitncnn_13 1 2 251 251_splitncnn_0 251_splitncnn_1 +Interp Resize_117 1 1 251_splitncnn_1 256 0=1 1=2.000000e+00 2=2.000000e+00 +Concat Concat_118 2 1 256 175_splitncnn_0 257 +Convolution Conv_119 1 1 257 258 0=128 1=1 5=1 6=49152 +Swish Mul_121 1 1 258 260 +Slice Split_122 1 2 260 261 262 -23300=2,64,-233 +Split splitncnn_14 1 2 262 262_splitncnn_0 262_splitncnn_1 +Convolution Conv_123 1 1 262_splitncnn_1 263 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_125 1 1 263 265 +Convolution Conv_126 1 1 265 266 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_128 1 1 266 268 +Concat Concat_129 3 1 261 262_splitncnn_0 268 269 +Convolution Conv_130 1 1 269 270 0=128 1=1 5=1 6=24576 +Swish Mul_132 1 1 270 272 +Split splitncnn_15 1 3 272 272_splitncnn_0 272_splitncnn_1 272_splitncnn_2 +Convolution Conv_133 1 1 272_splitncnn_2 273 0=128 1=3 3=2 4=1 5=1 6=147456 +Swish Mul_135 1 1 273 275 +Concat Concat_136 2 1 275 251_splitncnn_0 276 +Convolution Conv_137 1 1 276 277 0=256 1=1 5=1 6=98304 +Swish Mul_139 1 1 277 279 +Slice Split_140 1 2 279 280 281 -23300=2,128,-233 +Split splitncnn_16 1 2 281 281_splitncnn_0 281_splitncnn_1 +Convolution Conv_141 1 1 281_splitncnn_1 282 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_143 1 1 282 284 +Convolution Conv_144 1 1 284 285 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_146 1 1 285 287 +Concat Concat_147 3 1 280 281_splitncnn_0 287 288 +Convolution Conv_148 1 1 288 289 0=256 1=1 5=1 6=98304 +Swish Mul_150 1 1 289 291 +Split splitncnn_17 1 3 291 291_splitncnn_0 291_splitncnn_1 291_splitncnn_2 +Convolution Conv_151 1 1 291_splitncnn_2 292 0=256 1=3 3=2 4=1 5=1 6=589824 +Swish Mul_153 1 1 292 294 +Concat Concat_154 2 1 294 230_splitncnn_0 295 +Convolution Conv_155 1 1 295 296 0=512 1=1 5=1 6=393216 +Swish Mul_157 1 1 296 298 +Slice Split_158 1 2 298 299 300 -23300=2,256,-233 +Split splitncnn_18 1 2 300 300_splitncnn_0 300_splitncnn_1 +Convolution Conv_159 1 1 300_splitncnn_1 301 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_161 1 1 301 303 +Convolution Conv_162 1 1 303 304 0=256 1=3 4=1 5=1 6=589824 +Swish Mul_164 1 1 304 306 +Concat Concat_165 3 1 299 300_splitncnn_0 306 307 +Convolution Conv_166 1 1 307 308 0=512 1=1 5=1 6=393216 +Swish Mul_168 1 1 308 310 +Split splitncnn_19 1 2 310 310_splitncnn_0 310_splitncnn_1 +Convolution Conv_169 1 1 272_splitncnn_1 311 0=64 1=3 4=1 5=1 6=73728 +Swish Mul_171 1 1 311 313 +Convolution Conv_172 1 1 313 314 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_174 1 1 314 316 +Convolution Conv_175 1 1 316 317 0=64 1=1 5=1 6=4096 +Convolution Conv_176 1 1 272_splitncnn_0 318 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_178 1 1 318 320 +Convolution Conv_179 1 1 320 321 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_181 1 1 321 323 +Convolution Conv_182 1 1 323 324 0=59 1=1 5=1 6=7552 +Concat Concat_183 2 1 317 324 325 +Convolution Conv_184 1 1 291_splitncnn_1 326 0=64 1=3 4=1 5=1 6=147456 +Swish Mul_186 1 1 326 328 +Convolution Conv_187 1 1 328 329 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_189 1 1 329 331 +Convolution Conv_190 1 1 331 332 0=64 1=1 5=1 6=4096 +Convolution Conv_191 1 1 291_splitncnn_0 333 0=128 1=3 4=1 5=1 6=294912 +Swish Mul_193 1 1 333 335 +Convolution Conv_194 1 1 335 336 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_196 1 1 336 338 +Convolution Conv_197 1 1 338 339 0=59 1=1 5=1 6=7552 +Concat Concat_198 2 1 332 339 340 +Convolution Conv_199 1 1 310_splitncnn_1 341 0=64 1=3 4=1 5=1 6=294912 +Swish Mul_201 1 1 341 343 +Convolution Conv_202 1 1 343 344 0=64 1=3 4=1 5=1 6=36864 +Swish Mul_204 1 1 344 346 +Convolution Conv_205 1 1 346 347 0=64 1=1 5=1 6=4096 +Convolution Conv_206 1 1 310_splitncnn_0 348 0=128 1=3 4=1 5=1 6=589824 +Swish Mul_208 1 1 348 350 +Convolution Conv_209 1 1 350 351 0=128 1=3 4=1 5=1 6=147456 +Swish Mul_211 1 1 351 353 +Convolution Conv_212 1 1 353 354 0=59 1=1 5=1 6=7552 +Concat Concat_213 2 1 347 354 355 +Reshape Reshape_219 1 1 325 365 0=-1 1=123 +Reshape Reshape_222 1 1 340 372 0=-1 1=123 +Reshape Reshape_225 1 1 355 379 0=-1 1=123 +Concat Concat_226 3 1 365 372 379 380 0=1 +Permute Transpose_227 1 1 380 output 0=1 diff --git a/app/src/main/cpp/ndkcamera.cpp b/app/src/main/cpp/ndkcamera.cpp index ed1e932..821c4d4 100644 --- a/app/src/main/cpp/ndkcamera.cpp +++ b/app/src/main/cpp/ndkcamera.cpp @@ -13,13 +13,9 @@ // specific language governing permissions and limitations under the License. #include "ndkcamera.h" - #include - #include - #include - #include "mat.h" static void onDisconnected(void *context, ACameraDevice *device) { @@ -138,7 +134,7 @@ void onCaptureSequenceCompleted(void *context, ACameraCaptureSession *session, int sequenceId, int64_t frameNumber) { - __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %ld", + __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureSequenceCompleted %p %d %lld", session, sequenceId, frameNumber); } @@ -169,7 +165,7 @@ // setup imagereader and its surface { - AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, /*maxImages*/2, &image_reader); + AImageReader_new(640, 480, AIMAGE_FORMAT_YUV_420_888, 2, &image_reader); AImageReader_ImageListener listener; listener.context = this; @@ -215,8 +211,8 @@ ACameraMetadata *camera_metadata = nullptr; ACameraManager_getCameraCharacteristics(camera_manager, id, &camera_metadata); - // query faceing - acamera_metadata_enum_android_lens_facing_t facing = ACAMERA_LENS_FACING_FRONT; + // query facing + acamera_metadata_enum_android_lens_facing_t facing; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_LENS_FACING, &e); @@ -236,7 +232,7 @@ camera_id = id; // query orientation - int orientation = 0; + int orientation; { ACameraMetadata_const_entry e = {0}; ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_SENSOR_ORIENTATION, &e); @@ -395,12 +391,10 @@ on_image(rgb); } -static const int NDKCAMERAWINDOW_ID = 233; +static const int NDK_CAMERA_WINDOW_ID = 233; NdkCameraWindow::NdkCameraWindow() : NdkCamera() { - sensor_manager = nullptr; sensor_event_queue = nullptr; - accelerometer_sensor = nullptr; win = nullptr; accelerometer_orientation = 0; @@ -445,13 +439,13 @@ { if (!sensor_event_queue) { sensor_event_queue = ASensorManager_createEventQueue(sensor_manager, ALooper_prepare( - ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDKCAMERAWINDOW_ID, 0, 0); + ALOOPER_PREPARE_ALLOW_NON_CALLBACKS), NDK_CAMERA_WINDOW_ID, nullptr, nullptr); ASensorEventQueue_enableSensor(sensor_event_queue, accelerometer_sensor); } int id = ALooper_pollAll(0, nullptr, nullptr, nullptr); - if (id == NDKCAMERAWINDOW_ID) { + if (id == NDK_CAMERA_WINDOW_ID) { ASensorEvent e[8]; ssize_t num_event = 0; while (ASensorEventQueue_hasEvents(sensor_event_queue) == 1) { @@ -463,8 +457,6 @@ if (num_event > 0) { float acceleration_x = e[num_event - 1].acceleration.x; float acceleration_y = e[num_event - 1].acceleration.y; - float acceleration_z = e[num_event - 1].acceleration.z; -// __android_log_print(ANDROID_LOG_WARN, "NdkCameraWindow", "x = %f, y = %f, z = %f", x, y, z); if (acceleration_y > 7) { accelerometer_orientation = 0; @@ -487,8 +479,8 @@ int nv21_roi_y = 0; int nv21_roi_w = 0; int nv21_roi_h = 0; - int roi_x = 0; - int roi_y = 0; + int roi_x; + int roi_y; int roi_w = 0; int roi_h = 0; int rotate_type = 0; @@ -658,7 +650,7 @@ AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM); ANativeWindow_Buffer buf; - ANativeWindow_lock(win, &buf, NULL); + ANativeWindow_lock(win, &buf, nullptr); // scale to target size if (buf.format == AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM || diff --git a/app/src/main/cpp/yolo.cpp b/app/src/main/cpp/yolo.cpp index c8f6434..7bdc0a4 100644 --- a/app/src/main/cpp/yolo.cpp +++ b/app/src/main/cpp/yolo.cpp @@ -633,7 +633,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, 0.4f, proposals, 50); + generate_proposals(grid_strides, out, 0.4f, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); @@ -755,7 +755,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, prob_threshold, proposals, 50); + generate_proposals(grid_strides, out, prob_threshold, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); @@ -969,7 +969,7 @@ std::vector strides = {8, 16, 32}; // might have stride=64 std::vector grid_strides; generate_grids_and_stride(in_pad.w, in_pad.h, strides, grid_strides); - generate_proposals(grid_strides, out, 0.4f, proposals, 50); + generate_proposals(grid_strides, out, 0.4f, proposals, 58); // sort all proposals by score from highest to lowest qsort_descent_inplace(proposals); diff --git a/app/src/main/cpp/yolov8ncnn.cpp b/app/src/main/cpp/yolov8ncnn.cpp index bba3daf..5f07ba1 100644 --- a/app/src/main/cpp/yolov8ncnn.cpp +++ b/app/src/main/cpp/yolov8ncnn.cpp @@ -109,9 +109,9 @@ return 0; } -static Yolo *g_yolo = nullptr; +static Yolo *yolo_ptr = nullptr; static ncnn::Mutex lock; -static JavaVM *javaVM = nullptr; +static JavaVM *jvm_ptr = nullptr; class MyNdkCamera : public NdkCameraWindow { public: @@ -123,27 +123,27 @@ { ncnn::MutexLockGuard g(lock); - if (g_yolo) { + if (yolo_ptr) { //分类 - g_yolo->classify(rgb); + yolo_ptr->classify(rgb); std::vector objects; //分割 - g_yolo->segmentation(rgb, objects); + yolo_ptr->segmentation(rgb, objects); //检测 - g_yolo->detect(rgb, objects); + yolo_ptr->detect(rgb, objects); //自由检测 - g_yolo->free_detect(rgb, objects); + yolo_ptr->free_detect(rgb, objects); } else { draw_unsupported(rgb); } } } -static MyNdkCamera *g_camera = nullptr; +static MyNdkCamera *camera_ptr = nullptr; //分割、检测、分类 const char *model_types[] = {"best-sim-opt-fp16", "br-detect-20240913-sim-fp16", "model.ncnn"}; @@ -163,9 +163,9 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) { __android_log_print(ANDROID_LOG_DEBUG, "ncnn", "JNI_OnLoad"); - javaVM = vm; + jvm_ptr = vm; - g_camera = new MyNdkCamera; + camera_ptr = new MyNdkCamera; return JNI_VERSION_1_4; } @@ -176,12 +176,12 @@ { ncnn::MutexLockGuard g(lock); - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } - delete g_camera; - g_camera = nullptr; + delete camera_ptr; + camera_ptr = nullptr; } JNIEXPORT jboolean JNICALL @@ -206,11 +206,11 @@ if (use_gpu && ncnn::get_gpu_count() == 0) { // no gpu - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } else { - if (!g_yolo) - g_yolo = new Yolo; + if (!yolo_ptr) + yolo_ptr = new Yolo; int state; if (use_classify) { state = 1; @@ -221,8 +221,8 @@ if (use_detect) { state = 3; } - g_yolo->j_state = state; - g_yolo->load( + yolo_ptr->j_state = state; + yolo_ptr->load( mgr, model_type, target_size, @@ -257,14 +257,14 @@ if (use_gpu && ncnn::get_gpu_count() == 0) { // no gpu - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } else { - if (!g_yolo) - g_yolo = new Yolo; - g_yolo->j_state = 2; + if (!yolo_ptr) + yolo_ptr = new Yolo; + yolo_ptr->j_state = 2; if (*id == 0) { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -276,7 +276,7 @@ use_gpu ); } else { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -313,14 +313,14 @@ if (use_gpu && ncnn::get_gpu_count() == 0) { // no gpu - delete g_yolo; - g_yolo = nullptr; + delete yolo_ptr; + yolo_ptr = nullptr; } else { - if (!g_yolo) - g_yolo = new Yolo; - g_yolo->j_state = 4; + if (!yolo_ptr) + yolo_ptr = new Yolo; + yolo_ptr->j_state = 4; if (*id == 0) { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -332,7 +332,7 @@ use_gpu ); } else { - g_yolo->load( + yolo_ptr->load( mgr, model_type, target_size, @@ -358,8 +358,10 @@ __android_log_print(ANDROID_LOG_DEBUG, "ncnn", "openCamera %d", facing); - g_camera->open((int) facing); - + if (camera_ptr == nullptr) { + return JNI_FALSE; + } + camera_ptr->open((int) facing); return JNI_TRUE; } @@ -367,8 +369,10 @@ Java_com_casic_br_ar_app_external_Yolov8ncnn_closeCamera(JNIEnv *env, jobject thiz) { __android_log_print(ANDROID_LOG_DEBUG, "ncnn", "closeCamera"); - g_camera->close(); - + if (camera_ptr == nullptr) { + return JNI_FALSE; + } + camera_ptr->close(); return JNI_TRUE; } @@ -379,21 +383,33 @@ jobject native_callback) { ANativeWindow *win = ANativeWindow_fromSurface(env, surface); - g_camera->set_window(win); + if (camera_ptr == nullptr) { + return JNI_FALSE; + } + camera_ptr->set_window(win); - g_yolo->initNativeCallback(javaVM, nativeObjAddr, native_callback); + if (yolo_ptr == nullptr) { + return JNI_FALSE; + } + yolo_ptr->initNativeCallback(jvm_ptr, nativeObjAddr, native_callback); return JNI_TRUE; } JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onPause(JNIEnv *env, jobject thiz) { - g_yolo->j_state = 0; + if (yolo_ptr == nullptr) { + return JNI_FALSE; + } + yolo_ptr->j_state = 0; return JNI_TRUE; } JNIEXPORT jboolean JNICALL Java_com_casic_br_ar_app_external_Yolov8ncnn_onRestart(JNIEnv *env, jobject thiz, jint state) { - g_yolo->j_state = state; + if (yolo_ptr == nullptr) { + return JNI_FALSE; + } + yolo_ptr->j_state = state; return JNI_TRUE; } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/ar/app/utils/YoloTargetDetectHelper.kt b/app/src/main/java/com/casic/br/ar/app/utils/YoloTargetDetectHelper.kt index 1176049..33139be 100644 --- a/app/src/main/java/com/casic/br/ar/app/utils/YoloTargetDetectHelper.kt +++ b/app/src/main/java/com/casic/br/ar/app/utils/YoloTargetDetectHelper.kt @@ -15,11 +15,13 @@ fun siftHiddenTrouble( segmentationResults: MutableList, detectResults: MutableList ) { + //每次刷新画面帧都清除掉之前的筛选结果 + hiddenTroubles.clear() when (RuntimeCache.sceneName) { "有限空间作业" -> { //结果包含人 if (detectResults.isContains(3)) { - if (!detectResults.isContains(24) || !detectResults.isContains(9)) { + if (!detectResults.isContains(24) && !detectResults.isContains(9)) { //不包含工服/防护服 val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoWorkerClothes" @@ -45,7 +47,7 @@ } //结果不包含路锥、警戒线 - if (!detectResults.isContains(48) || !detectResults.isContains(43)) { + if (!detectResults.isContains(48) && !detectResults.isContains(43)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoEnclosure" result.warning = "现场无围挡设施" @@ -53,8 +55,8 @@ } //结果不包含安全告知牌 - if (!detectResults.isContains(16) || - !detectResults.isContains(6) || + if (!detectResults.isContains(16) && + !detectResults.isContains(6) && !detectResults.isContains(28) ) { val result = HiddenTroubleResult() @@ -71,7 +73,7 @@ } //结果不包含通风设备 - if (!detectResults.isContains(57) || !detectResults.isContains(58)) { + if (!detectResults.isContains(57) && !detectResults.isContains(58)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoAirSupply" result.warning = "现场无送风设备" @@ -103,7 +105,7 @@ } //结果不包含气体检测仪 - if (!detectResults.isContains(13) || !detectResults.isContains(29)) { + if (!detectResults.isContains(13) && !detectResults.isContains(29)) { val result = HiddenTroubleResult() result.alarmCode = "ConfinedSpaceHasNoGasDetector" result.warning = "现场无气体检测报警仪" @@ -113,14 +115,12 @@ "配电箱" -> { //结果包含配电箱外 - if (detectResults.isContains(51)) { - if (!detectResults.isContains(19)) { - //不包含警示标识 - val result = HiddenTroubleResult() - result.alarmCode = "DistributionBoxHasNoWarningSign" - result.warning = "配电箱无警示标识" - hiddenTroubles.add(result) - } + if (detectResults.isContains(51) && !detectResults.isContains(19)) { + //不包含警示标识 + val result = HiddenTroubleResult() + result.alarmCode = "DistributionBoxHasNoWarningSign" + result.warning = "配电箱无警示标识" + hiddenTroubles.add(result) } //结果包含配电箱内