From 57c7fd93322c086a344f4f6bb2bace4057a0fd2b Mon Sep 17 00:00:00 2001 From: louiscklaw Date: Fri, 31 Jan 2025 22:56:45 +0800 Subject: [PATCH] update, --- vinniesniper-54816/task1/_lab/Book1.xlsx | Bin 0 -> 8677 bytes vinniesniper-54816/task1/_lab/journal.md | 76 +++++++++++++++++++ vinniesniper-54816/task1/_lab/rtree/main.py | 31 ++++++++ vinniesniper-54816/task1/_lab/rtree/setup.sh | 5 ++ 4 files changed, 112 insertions(+) create mode 100644 vinniesniper-54816/task1/_lab/Book1.xlsx create mode 100644 vinniesniper-54816/task1/_lab/journal.md create mode 100644 vinniesniper-54816/task1/_lab/rtree/main.py create mode 100755 vinniesniper-54816/task1/_lab/rtree/setup.sh diff --git a/vinniesniper-54816/task1/_lab/Book1.xlsx b/vinniesniper-54816/task1/_lab/Book1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..05d6e7e466aaa487c99e1c184f6cbb1202abd804 GIT binary patch literal 8677 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 + +work path +/home/logic/_workspace/task-list/servers/logic-NUC8i5BEH/opencv-workdesk/001_monitor/src/007-test + +# test results + +### currently bad result on recognizing elephant, horse and mountain + +- i want to know if increase nPos can help + - 400 -> 4000 + - 400 -> 12000 + +- i am testing nPos 10, nNeg ~2000, nStages 15 on `007-train-bus-test-big-pos-pic` + - i want to know if large dimensions of pos image can help + +| nPos(p) | nNeg(n) | nStage(s) | px | success | TT | TT base | FT | FT base | reasons / remarks / conclusion | +| :-----: | :-----: | :-------: | :--------: | :-----: | :---: | :-----: | :---: | :-----: | :--------------------------------------------------------------------------------------------- | +| 12800 | 200 | 5 | 24 | failed | ? | ? | ? | ? | 007-train-bus-test-pos-pic-100px, i want to know lower stage can build ? | +| 32000 | 200 | 5 | 24 | failed | ? | ? | ? | ? | 007-train-bus-test-pos-pic-24px, i need a build success | +| 9600 | 200 | 5 | 24 | failed | ? | ? | ? | ? | 007-train-bus-test-pos-pic-100px, i want to know lower stage can build ? | +| 9600 | 200 | 15 | 24 | failed | ? | ? | ? | ? | 007-train-bus-test-pos-pic-24px, i need a build success | +| 2400 | 200 | 15 | 24 | failed | ? | ? | ? | ? | 007-train-bus-test-pos-pic-24px, i need a build success | +| 400 | 200 | 15 | 50 | N/A | 1 | 50 | 2 | 450 | 007-train-bus-test-big-pos-pic, seems good when using 50px, build failed, increase nPos to 800 | +| 50 | 200 | 15 | 100 | N/A | 50 | 50 | 450 | 450 | 007-train-bus-test-pos-pic-50, try pos 10 -> 50 samples, | +| 10 | 200 | 5 | 100 | N/A | 0 | 50 | 0 | 450 | 007-train-bus-test-pos-pic-100px, try 100px pos size | +| 10 | 200 | 15 | 50 | N/A | 1 | 50 | 2 | 450 | 007-train-bus-test-big-pos-pic, try 50px pos size | +| 10 | 200 | 5 | orig. size | N/A | 0 | 50 | 0 | 450 | seems original size not a correct size, try 50px black and white | +| 200 | 1783 | 15 | 24 | N/A | 7 | 7 | 51 | 51 | ongoing, test to find bus image | +| 200 | 1971 | 15 | 24 | N/A | 7 | 7 | 51 | 51 | ongoing, add flowers and horse | +| 200 | 1603 | 5 | 50 | N/A | x | x | x | x | try reduce fault rate by increase px, resut -> cannot built | +| 200 | 1603 | 10 | 24 | N/A | 50 | 50 | 441 | 450 | stage 10 is not acceptable, return to use 15 | +| 200 | 1603 | 5 | 24 | N/A | 50 | 50 | 450 | ~450 | small stage can kills accurancy | +| 200 | 1603 | 15 | 24 | N/A | 33 | 50 | 100 | 450 | currently best bulid | +| 200 | 1354 | 5 | 24 | N/A | 4 | 4 | 9 | 26 | i want to see if stage can keep same result but trainging faster | +| 200 | 1354 | 15 | 24 | N/A | 4 | 4 | 9 | 26 | ongoing | +| 200 | 944 | 15 | 24 | N/A | 4 | 4 | 9 | 26 | guess, this is 900 + 44 bus photo result | +| 200 | 900 | 15 | 100 | N/A | 2 | 2 | 7 | 14 | ongoing, i want to know if i increase px increase accuracy | +| 200 | 900 | 15 | 24 | N/A | 2 | 2 | 7 | 14 | | +| 100 | 300 | 15 | x | N/A | 33 | 142 | x | x | | + +```bash +-numPos 100 +-numNeg 300 +-numStages 15 +``` + +```bash +count_good_result : 33 +count_good_result_base : 99 +count_bad_result : 142 +``` + +### test with 100 posdata + +```bash +count_good_result : 33 +count_good_result_base : 99 +count_bad_result : 142 +``` + + +https://pythonprogramming.net/haar-cascade-object-detection-python-opencv-tutorial/ + +i want to test haar cascade classifier, i need to make a helloworld + +https://machinelearningmastery.com/training-a-haar-cascade-object-detector-in-opencv/ + +https://github.com/yang-hfff/opencv_traincascade/tree/master + +https://cloud.tencent.com/developer/article/1996918 + diff --git a/vinniesniper-54816/task1/_lab/rtree/main.py b/vinniesniper-54816/task1/_lab/rtree/main.py new file mode 100644 index 00000000..ab14ede0 --- /dev/null +++ b/vinniesniper-54816/task1/_lab/rtree/main.py @@ -0,0 +1,31 @@ +from rtree import index +from pprint import pprint +import os, sys +import rtree + + +# Create a new index +idx = rtree.index.Index() + +# Insert a rectangle (minx, miny, maxx, maxy) with a unique identifier +idx.insert(0, (0, 0, 0, 0)) +idx.insert(1, (30, 30, 30, 30)) +idx.insert(2, (40, 40, 40, 40)) + +# Query all rectangles that intersect with the given rectangle +result = idx.intersection((2, 2, 8, 8)) +# for id in result: +# print(id) # prints: 0 + +# Query all rectangles that are completely contained within the given rectangle +# result = idx.intersection((1, 1, 9, 9), objects=True) +# for id, bounds in result: +# print(id, bounds) # prints: (0, (0, 0, 10, 10)) + +# # Query all rectangles that contain the given point +result = idx.nearest((40, 35), 1) +for id in result: + print(id) # prints: (0, (0, 0, 10, 10)) + +# # Delete a rectangle by its identifier +# idx.delete(0, (0, 0, 10, 10)) diff --git a/vinniesniper-54816/task1/_lab/rtree/setup.sh b/vinniesniper-54816/task1/_lab/rtree/setup.sh new file mode 100755 index 00000000..ae64868c --- /dev/null +++ b/vinniesniper-54816/task1/_lab/rtree/setup.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +pip install rtree