Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
382 commits
Select commit Hold shift + click to select a range
efee295
* Monkeying with dynamic masking ObjectPosition.Equals so it stores c…
VorlonCD Sep 17, 2020
c62d183
* Before sending the image to DeepStack, I now verify the image is a …
VorlonCD Sep 18, 2020
0785eed
* Created separate MQTT -and- URL actions - one that triggers and one…
VorlonCD Sep 19, 2020
5b8cf86
* small refactoring in CallTriggerURLs
VorlonCD Sep 19, 2020
a8055cb
* MQTT topics and payloads can now have multiple items - separate by …
VorlonCD Sep 19, 2020
23abcd9
Fix to use "DisplayPercentageFormat" setting while merging images. *…
VorlonCD Sep 19, 2020
6dc2d7b
Fix where history list didnt show a checkbox for successful matches.
VorlonCD Sep 20, 2020
bd8f485
* Disable Error about start in folder not being the same - rather, if…
VorlonCD Sep 20, 2020
b0451d6
* Minimum required .net framework version changed from 4.6 to 4.7.2 w…
VorlonCD Sep 20, 2020
67b37a7
Fix issue with System.Net.Http reference
jdom Sep 21, 2020
87e625b
Reset cleanHistoryEvent interval to 1 min. Remove troubshooting code
Sep 21, 2020
44da2a6
Merge pull request #33 from classObject/master
classObject Sep 21, 2020
56c192a
Merge pull request #32 from jdom/fix-http
VorlonCD Sep 21, 2020
7c1dd20
* Gave history tab another vertical splitter to resize listview area …
VorlonCD Sep 21, 2020
45ce775
Merged a few minor things
VorlonCD Sep 21, 2020
b5b4eee
Document mqtt setup
edalquist Sep 22, 2020
ad6a01a
Fix image ext
edalquist Sep 22, 2020
d5bc7b3
Clarify URL integration isn't needed with MQTT
edalquist Sep 22, 2020
2bebd35
Clarify summary type to use
edalquist Sep 22, 2020
29b36a3
Change mask removal to be time based
Sep 23, 2020
5d799ea
Merge pull request #39 from classObject/maskRemoveTimer
classObject Sep 23, 2020
7f8d5f1
Merge pull request #38 from edalquist/mqtt-docs
VorlonCD Sep 23, 2020
5e103cf
* Now uses SQLITE database rather than history.csv
VorlonCD Sep 25, 2020
c5aca39
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Sep 25, 2020
5e9f272
* All skipped images due to cooldown or failure are now logged to his…
VorlonCD Sep 25, 2020
4a4ef2c
* Added fix for "cam.last_trigger_time" being set for canceled events…
VorlonCD Sep 25, 2020
8db9f44
* Minor updates. Probably.
VorlonCD Sep 25, 2020
0ed9eee
* Optimizations: 1) Only update list every 3 seconds even if new his…
VorlonCD Sep 26, 2020
0d49c5f
minor changes
VorlonCD Sep 26, 2020
d8e2721
* Perrrty icons in the history list. (Suggestions welcome)
VorlonCD Sep 26, 2020
6cc8168
* Fix: Database items were never actually being removed! The data…
VorlonCD Sep 27, 2020
bc4e432
* Added Camera.Action_mqtt_retain_message setting in json file. Set …
VorlonCD Sep 27, 2020
f509809
* Upon startup, give error if the program was not shutdown successful…
VorlonCD Sep 28, 2020
6343980
* History DB now follows if you move the app to different folder
VorlonCD Sep 28, 2020
5887013
* Partial support for 2 copies running in memory. If you need to ch…
VorlonCD Sep 28, 2020
107f397
Minor changes
VorlonCD Sep 28, 2020
16ef255
Adds ability to define different object variance percentages based on…
Sep 29, 2020
3da72d5
Merge pull request #45 from classObject/scale_factor
VorlonCD Sep 29, 2020
4813c62
* Added setting MaxHistoryAgeDays = 14 - any entry found in the datab…
VorlonCD Sep 29, 2020
4646673
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Sep 29, 2020
f60f7c6
* Change autoscalemode for dynamic masking advanced dialog to DPI, ev…
VorlonCD Sep 29, 2020
9715d3c
Fixes issue where active masks get removed by timer thread. Set lastD…
Sep 30, 2020
1d8bc3d
Remove unused lastDetectionDate
Sep 30, 2020
2064420
* Fixed bug where deleted files where only being removed on start up,…
VorlonCD Sep 30, 2020
e29e7fe
Merge pull request #46 from classObject/maskdatefix
classObject Sep 30, 2020
7d5b96e
* Fix minor issue where the relevant checkboxes become unchecked due …
VorlonCD Sep 30, 2020
6c1fb64
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Sep 30, 2020
8d91917
What just happened?
VorlonCD Oct 1, 2020
8be4526
When the action for copying an image is triggered, the new image path…
VorlonCD Oct 1, 2020
b636575
Added [ImagePathEscaped] variable for use with the new Blue Iris swit…
VorlonCD Oct 1, 2020
d0a4970
* Added ability to change border width with RectBorderWidth=2 setting…
VorlonCD Oct 3, 2020
0daa384
* Disable high DPI support. Seems to be more stable for resolution …
VorlonCD Oct 4, 2020
9e2af3f
* Fixed bug with dynamic masking after my last round of restructuring…
VorlonCD Oct 5, 2020
07b683a
* Fix clear button in custom masking
VorlonCD Oct 6, 2020
529c6d3
* Fix large percentage number in merged image annotations
VorlonCD Oct 6, 2020
298b733
* Fixed issue where the word ERRORS during image copy path cleanup wa…
VorlonCD Oct 6, 2020
3bbf1fc
* Faster list updating
VorlonCD Oct 8, 2020
ea09bec
* Change mask last detection date after all objects have been analyzed
VorlonCD Oct 9, 2020
1bfb16f
put some more thread locking in sqlite db functions
VorlonCD Oct 9, 2020
dfaf091
* More tweaks for smoothly initializing/reading the db for the first …
VorlonCD Oct 9, 2020
4cfd9bc
* Fix null exception while handling file delete event
VorlonCD Oct 9, 2020
adfed6b
* All actions are now queued and processed in a background thread. T…
VorlonCD Oct 10, 2020
ce5692e
Fixed history items per minute
VorlonCD Oct 10, 2020
fc87ba7
Made LastTriggerTime threadsafe to make sure cooldown is handled corr…
VorlonCD Oct 10, 2020
823a7c6
Change algorithm to determine if objects match
Oct 11, 2020
8554190
* Added camera setting to queue actions. This will default to disabl…
VorlonCD Oct 12, 2020
24673c8
* Added "APPLY TO" button on cameras tab. This will copy all the sel…
VorlonCD Oct 12, 2020
d14b6e9
Adds threshold counter for mask removal. Refactor naming standards
Oct 13, 2020
ec4aed9
Fixed comparison error in scaling ranges and refactored ObjectPositio…
Oct 13, 2020
1f680f3
Merge to master
Oct 13, 2020
65e4e57
Minor changes
VorlonCD Oct 13, 2020
f10a4cf
Merge pull request #56 from classObject/masking_changes
VorlonCD Oct 13, 2020
7aa3455
A few minor integration tweaks
VorlonCD Oct 13, 2020
6bd8b71
Fix null exception in cameramanager
VorlonCD Oct 13, 2020
a47b0d3
Create default constructor required by Newtonsoft deserialization for…
Oct 13, 2020
f6e56fb
Merge pull request #57 from classObject/mask_fix
classObject Oct 13, 2020
e9b2ab3
* Updated APPLY TO with new mask settings.
VorlonCD Oct 14, 2020
40dca54
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Oct 14, 2020
e466a11
Add exception handling and logging on save event. Update naming stand…
Oct 15, 2020
99878bb
Fix for masks getting removed before remove after mins expire
Oct 15, 2020
d7e89c4
Merge pull request #60 from classObject/remove_mask_fix
classObject Oct 15, 2020
c2175fe
Merge pull request #61 from classObject/custom_mask_updates
classObject Oct 15, 2020
366d24d
Changed constructor arguments so JSON deserialization works
Oct 16, 2020
d93d6a2
Merge pull request #62 from classObject/fix_json_constructor
classObject Oct 16, 2020
207e918
* Logging overhaul. Better log viewer in app, searching, filtering, …
VorlonCD Oct 16, 2020
59e7338
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Oct 16, 2020
483977e
minor
VorlonCD Oct 16, 2020
547b3c9
minor logging changes
VorlonCD Oct 16, 2020
57acc56
Added ms timing to TRACE log setting
VorlonCD Oct 16, 2020
a690be1
Fix to prevent masked counter from going below zero
Oct 17, 2020
85abad5
Merge pull request #63 from classObject/counter_fix
classObject Oct 17, 2020
5adcf17
* rename mask image file if camera gets renamed
VorlonCD Oct 17, 2020
3981ccf
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Oct 17, 2020
00fa203
Fixes issue with remove mask minutes not getting applied. Slight refa…
Oct 18, 2020
eb1e747
Merge pull request #67 from classObject/maskManager_refactor
classObject Oct 19, 2020
5f985fa
* Tweak objectposition.tostring and a few other mask logging changes …
VorlonCD Oct 19, 2020
6c04d2f
Merging fun
VorlonCD Oct 19, 2020
6a6686c
more merging fun
VorlonCD Oct 19, 2020
3b2f85f
Adds percent match to prediction details and mask details view
Oct 20, 2020
63b9cc6
Change PercentMatch variable init
Oct 20, 2020
2a8306d
* When manually adding static masks, it now does a better job at remo…
VorlonCD Oct 20, 2020
f12efbe
Merge branch 'master' into percent_match
VorlonCD Oct 20, 2020
4754745
merging
VorlonCD Oct 20, 2020
885d263
Merge pull request #69 from classObject/percent_match
VorlonCD Oct 20, 2020
fe6c403
Merging more mask updates
VorlonCD Oct 20, 2020
a1248f1
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Oct 20, 2020
040c488
* Feature: Created more bugs.
VorlonCD Oct 21, 2020
c6ea0ad
* Deepstack beta versions (10/21) returns HttpResponse 400. This can…
VorlonCD Oct 21, 2020
b75a3c4
Quick fix to avoid one other ds error
VorlonCD Oct 21, 2020
0fc4c62
* Another minor fix for the deepstack badrequest 400 error with beta …
VorlonCD Oct 22, 2020
b6295cf
Fix null exception in folv_history_selectionchanged
VorlonCD Oct 22, 2020
71eb0b8
* Remember history filters
VorlonCD Oct 22, 2020
7cad2ed
* GREATLY improved startup/database load time by simply not updating…
VorlonCD Oct 28, 2020
c940c20
* [detection] once again just lists the object and not object + confi…
VorlonCD Oct 29, 2020
b186d49
Fix history panel oversize issue
VorlonCD Oct 30, 2020
6bfdfd5
* Hide deepstack Windows messages unless deepstack debug is enabled
VorlonCD Oct 31, 2020
24d3f88
* fixed issue where listview didnt update if passed an empty list.
VorlonCD Nov 1, 2020
af16c82
Minor fix
VorlonCD Nov 1, 2020
9e6f048
* Added images processed and images per minute on the status bar.
VorlonCD Nov 1, 2020
2968aea
* Added Send Image checkbox for MQTT action. Currently it will send…
VorlonCD Nov 7, 2020
436923e
* Better support for reading remote server blueiris clip paths (it wi…
VorlonCD Nov 9, 2020
b889a41
* Added "Additional Relevant Objects" in camera settings so you can s…
VorlonCD Nov 10, 2020
2c98e8b
* Added History > Settings > Restrict threshold at source, so that yo…
VorlonCD Nov 10, 2020
f2f98be
revert back to sending 2 mqtt messages if you want to send the image …
VorlonCD Nov 10, 2020
85f4755
* Fix: Do not try to log the mqtt payload if it is an image!
VorlonCD Nov 10, 2020
12a9823
* Another MQTT fix related to sending images
VorlonCD Nov 10, 2020
3adbefc
* Mqtt tweak
VorlonCD Nov 10, 2020
81d0c7d
* When there is a bad watcher path or a share has been disconnected, …
VorlonCD Nov 11, 2020
9654a0a
More file system watcher tweaks
VorlonCD Nov 11, 2020
287b155
* tweak mqtt disconnect to prevent error if already disconnected.
VorlonCD Nov 12, 2020
53b6b7a
* Amazon Rekognition support. Seems to have really good detection a…
VorlonCD Nov 27, 2020
9373d76
* You can now set a time range for each AI URL - Hit VIEW and double …
VorlonCD Nov 28, 2020
b981f75
* Start work on tool to adjust brightness/contrast/image size before …
VorlonCD Dec 1, 2020
2c71523
* Rework GetCamera logic a bit. Wildcard is now case insensitive, f…
VorlonCD Dec 3, 2020
ceebc25
* Added "Telegram Chat ID override for each camera setting. If this…
VorlonCD Dec 4, 2020
b8891f7
chatid logic fix
VorlonCD Dec 5, 2020
42cfd97
* Revamp adding/Editing AI URLs. Test button in the edit screen.
VorlonCD Dec 21, 2020
a55a2a2
* AI Server list dialog now saves column positions
VorlonCD Dec 21, 2020
ebb9da0
* Fix MaxPerMonth setting for AI URL
VorlonCD Dec 22, 2020
e7d8e4e
* Fix MaxPerMonth camera setting
VorlonCD Dec 22, 2020
a50278d
* A few tweaks for waiting for the image to finish being written
VorlonCD Dec 22, 2020
4605157
* Each AI URL now has its own upper and lower threshold that will ove…
VorlonCD Dec 23, 2020
9af4b69
Small fix for per-url threshold
VorlonCD Dec 23, 2020
0eeac06
* Fixed file not found error for LastCamImages
VorlonCD Dec 23, 2020
8f3c712
* Prior to this update, the only time a trigger cancel would be calle…
VorlonCD Dec 24, 2020
5c61cec
* MQTT will now stay connected to the server rather than connecting/d…
VorlonCD Dec 26, 2020
79fe62f
* Added ErrDisabled to URL list to indicate when the url is temporari…
VorlonCD Dec 27, 2020
a5c8d32
* The camera name in AITOOL can be any name you like. You set the BI…
VorlonCD Dec 28, 2020
47c7b88
* Can now run multiple instances of Deepstack for Windows via the Dee…
VorlonCD Dec 31, 2020
9f8ce46
* Started working on SightHound support. Not implemented yet.
VorlonCD Dec 31, 2020
1835e9a
* Added 'MaxMaskUnusedDays' to MaskManager. It defaults to 60 days. …
VorlonCD Jan 3, 2021
3a59e51
* More Pushover tweaks - still no image / attachment support.
VorlonCD Jan 4, 2021
a728a0e
* Fix where ApplyTo would set the same BI Cam Name for all cameras.
VorlonCD Jan 6, 2021
97d833e
* Fix network file copy action error
VorlonCD Jan 6, 2021
4921b33
* Deepstack tab now only supports Deepstack for Windows 2021 beta or …
VorlonCD Jan 6, 2021
6908f59
* Deepstack for Windows: Tweaks for 2020, 2021.1 and 2020.1.1 windows…
VorlonCD Jan 7, 2021
7b28731
* Added "Image Life Time" to debug stats after each detection. It i…
VorlonCD Jan 8, 2021
8dbf5cb
* Fix GetStdErr error
VorlonCD Jan 8, 2021
5835b25
* Pushover attachment support - It doesnt like my 4k camera attachmen…
VorlonCD Jan 9, 2021
c625e52
* Pushover - Add triggering objects to Apply To
VorlonCD Jan 11, 2021
54f3e20
* Fix pushover index out of range error
VorlonCD Jan 11, 2021
040ec98
Debug tweaks to min_confidence
VorlonCD Jan 12, 2021
b651d50
* Fix Deepstack min_confidence error by replacing a comma with a peri…
VorlonCD Jan 12, 2021
392b3d0
Fix for CopyFileTo when dealing with an empty network path
VorlonCD Jan 12, 2021
e999219
* Create HTTPClientRemoteTimeoutSeconds setting for non-local IP addr…
VorlonCD Jan 14, 2021
e5b2f05
* Fix mask unused days setting when accessed from masking detail screen
VorlonCD Jan 14, 2021
e7ec898
- Automatically convert maskfilename.bmp to maksfilename_WidthxHeight…
VorlonCD Jan 17, 2021
7184333
- Added better error handling in UpdateAIURLList
VorlonCD Jan 19, 2021
bec9f05
- Add ability to automatically restart the Deepstack Windows version …
VorlonCD Jan 20, 2021
e97eb8a
- Refinement servers working! LINKED servers NOT WORKING yet quite ye…
VorlonCD Jan 25, 2021
af30b1c
[You WILL need to delete and re-add Amazon or Sighthound servers if y…
VorlonCD Jan 25, 2021
2949e0b
- Added support for Deepstack SCENE, FACE and CUSTOM models
VorlonCD Jan 29, 2021
5206228
- Request: I need to know if this is stable so I can do another offi…
VorlonCD Feb 14, 2021
3e9f540
- Updated tab order for most controls
VorlonCD Feb 15, 2021
66b7e9f
- Fix dynamic mask not being flagged for duplicate objects
VorlonCD Feb 17, 2021
868c4da
- Support relevant object negative sign in Dynamic Masking
VorlonCD Feb 17, 2021
3dc9cf6
- Fix for RELEASE compile (uncheck prefer 32 bit)
VorlonCD Feb 20, 2021
f6665ed
- All Relevant objects (except TriggerURL and Sound actions) now use …
VorlonCD Mar 2, 2021
48818c8
- Fix Dynamic masking issue where no dynamic masks were being created…
VorlonCD Mar 2, 2021
dc906ab
- Just trying to make myself believe the "PercentOfImage" calculation…
VorlonCD Mar 2, 2021
a4647e3
- Reworked how duplicate objects and refinement objects are handled. …
VorlonCD Mar 13, 2021
323347a
- Turned off validation when editing AI URL's
VorlonCD Mar 14, 2021
c8a87a1
- If enable TRACE logging you get to see output how GetCamera picked …
VorlonCD Mar 14, 2021
ead4a99
- Remove GetCamera search for BI CAM NAME, all we care about is the A…
VorlonCD Mar 14, 2021
ac6f2ae
- Fix MQTT cancel action not being queued
VorlonCD Mar 15, 2021
6246b4b
- Added a little more error checking around Camera tab functions and …
VorlonCD Mar 16, 2021
a993cc4
- Tweaks to MQTT connection
VorlonCD Mar 16, 2021
7f5618c
- Relevant Objects now has a dropdown to switch between all cameras r…
VorlonCD Mar 19, 2021
a0aa3cb
- Added ability to use dusk-dawn, dawn-dusk, sunrise-sunset, sunset-s…
VorlonCD Mar 20, 2021
7d1d145
- Added warning when lat/long was not set.
VorlonCD Mar 20, 2021
93f1e13
- Fix: A little better handling reading blueiris registry settings
VorlonCD Mar 22, 2021
4e0c361
- Logging update for pushover retry period
VorlonCD Mar 22, 2021
dfe916a
- Fix: The dynamic masking background cleanup timer was not always b…
VorlonCD Mar 23, 2021
f064b0c
- Fix: out of range exception in UpdateConfidenceChart
VorlonCD Mar 25, 2021
7a521e7
Fix: Move relevant objects up and down now work as expected
VorlonCD Mar 25, 2021
ba77036
- Feature: Add ability to specify a custom log file path. Edit AIT…
VorlonCD Mar 25, 2021
fe13c2a
Create FUNDING.yml
VorlonCD Mar 26, 2021
54734b6
- Feature: In Relevant objects, you can now independently control if …
VorlonCD Mar 27, 2021
94f32bb
Merge branch 'master' of https://github.com/VorlonCD/bi-aidetection
VorlonCD Mar 27, 2021
659bfc9
Fix a few null exceptions
VorlonCD Mar 27, 2021
f60dc2d
fix another null exception
VorlonCD Mar 27, 2021
3caf222
Minor update
VorlonCD Mar 27, 2021
8dc8327
- Fix, cannot move relevant object to last position
VorlonCD Mar 28, 2021
03ca247
- Gray out ignore mask columns in anything other than the main camera…
VorlonCD Mar 28, 2021
b38356a
- Fix "original mask image not found" in Dynamic Mask Detail screen
VorlonCD Apr 3, 2021
ff36bd3
- add better telegram logging and 'blurred' chat id and API key in t…
VorlonCD Apr 4, 2021
952b800
- Created InnoSetup installer package. Latest 3 installers will al…
VorlonCD Apr 6, 2021
d1b4d45
- Added ability for each relevant object to be rejected by the size p…
VorlonCD Apr 6, 2021
9f84001
- Fix issue where apply to would not clone the relevant object list. …
VorlonCD Apr 7, 2021
c017792
- Added PAUSE button on Cameras tab to pause any/all cameras for xx m…
VorlonCD Apr 10, 2021
ead09e0
- Add picture of last image on Cameras tab
VorlonCD Apr 10, 2021
d8b4715
- Fix Ignored relevant object feature
VorlonCD Apr 11, 2021
d75bf14
- DetectObjects logging tweaked
VorlonCD Apr 11, 2021
d598fe9
- Added warning if BI webserver was not listening on the same adapter…
VorlonCD Apr 12, 2021
0b84e75
- Added UPDATES button on settings tab to check for updates on github…
VorlonCD Apr 24, 2021
a55d805
- Show [DetailEscaped] in variables list
VorlonCD Apr 26, 2021
121ac40
- Fix null exception when resolving remote mapped drives
VorlonCD Apr 26, 2021
29ef446
- Updated AWS nuget packages to latest version
VorlonCD Apr 26, 2021
c94f640
- Update routine to find the current machines IP address (to detect i…
VorlonCD Apr 26, 2021
0a764e9
- Added Deepstack "Auto add" checkbox so you can stop the program fro…
VorlonCD May 7, 2021
f25eee6
- Tweaks to PAUSE
VorlonCD May 11, 2021
5a04839
- Added people, motorbike as default objects. For the new 'Deepstac…
VorlonCD Jun 8, 2021
779056c
- BatTest
VorlonCD Jun 8, 2021
c966048
- If 2 relevant objects are overlapping, the relevant object order no…
VorlonCD Jun 14, 2021
9feb589
- Try to avoid exception "Insufficient system resources exist to comp…
VorlonCD Jun 15, 2021
47d9d56
- Don t permanently disable URL after 'MaxErrorsInARowBeforeDisable' …
VorlonCD Jul 3, 2021
85ccc84
- Fix: Adjust how often a history database cleaning happens by modify…
VorlonCD Jul 8, 2021
4cfbec9
- Fix RowsDeleted error
VorlonCD Jul 8, 2021
27fe42b
- Fix: Prevent 'Could not remove from in-memory database' warning
VorlonCD Jul 9, 2021
0858313
- Fixed error message when BI is not installed on the machine and you…
VorlonCD Jul 10, 2021
56e643c
- Added Action Delay MS setting to Actions dialog. This will defaul…
VorlonCD Nov 14, 2021
2174054
- Just a reminder, Faces have been stored for a few versions now in …
VorlonCD Nov 17, 2021
eb6aee8
- Better error message and checking when you try to check for updates…
VorlonCD Nov 23, 2021
afc1b96
- Add min/max/avg stats SIZE to all relevant objects - View in releva…
VorlonCD Nov 26, 2021
ba04957
- Telegram - after 6 409 API errors, stop listening for new telegram …
VorlonCD Nov 27, 2021
00dab40
- Support DeepStack 2022.01.1 (Fewer copies of python.exe are expect…
VorlonCD Apr 8, 2022
bb601b3
- Clear all other stats seen on status bar when use Stats tab > Reset…
VorlonCD Apr 8, 2022
5577928
Update README.md
VorlonCD May 4, 2022
2d89005
Update README.md
VorlonCD May 4, 2022
f6f168b
Update BUILD.bat
VorlonCD Aug 15, 2022
9763735
* Migrated from .net 4.8 to .net 6. As a result the UI is a bit fas…
VorlonCD May 29, 2023
d35fa90
Minor
VorlonCD May 29, 2023
6966394
Minor
VorlonCD May 29, 2023
11cd8ba
* Support adding all Codeproject.AI models
VorlonCD Jun 3, 2023
287b7a7
* Fix error message when no codeproject.ai ALPR plates are found
VorlonCD Jun 4, 2023
6101905
* Fix telegram pause/resume message
VorlonCD Jun 5, 2023
e7f9e6e
* Tweak to how I get local ip address list
VorlonCD Jun 7, 2023
a073f46
* Moved to .NET 8. This should perhaps speed things up here and ther…
VorlonCD Mar 9, 2024
0eb7d17
* Significantly reduced memory usage. It turns out I've always bee…
VorlonCD Mar 31, 2024
3e87ba0
* Support CPAI Mesh / Queueing! Settings > AI SERVERS > Edit server…
VorlonCD Jun 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# These are supported funding model platforms

github: VorlonCD

10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -258,4 +258,12 @@ paket-files/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
*.pyc
/src/UI/.vshistory
/src/UI/NamedPipeWrapper/.vshistory
/src/UI/OSVersionExt/.vshistory
/src/UI/Properties/.vshistory/AssemblyInfo.cs
/src/UI/SQLite/.vshistory
/src/AITool.Service/.vshistory
/src/.vshistory/bi-aidetection.sln
/src/AITool.Service/Properties/.vshistory/AssemblyInfo.cs
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
# AI Detection for Blue Iris
Alarm system for Blue Iris based on Artificial Intellience. Can send alerts to Telegram.

This is the VorlonCD fork of gentlepumpkins awesome AITool project.

Changes are listed in the commit history (hit ... for each to expand):
https://github.com/VorlonCD/bi-aidetection/commits/master

### Download
https://github.com/gentlepumpkin/bi-aidetection/releases
Click "> Assets" to find the .zip file.
https://github.com/VorlonCD/bi-aidetection/tree/master/src/UI/Installer

### Install guide and discussion
https://ipcamtalk.com/threads/tool-tutorial-free-ai-person-detection-for-blue-iris.37330/

* [MQTT Configuration Guide](mqtt.md)

### Key Features
- analyze Blue Iris motion alerts using Artificial Intelligence and sort out false alerts
- detect humans and selected objects
Expand Down
28 changes: 28 additions & 0 deletions mqtt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# MQTT with AI Tool & Blue Iris

Blue Iris [MQTT](https://mqtt.org/) ([ELI5](https://www.reddit.com/r/homeautomation/comments/515fh5/eli5_mqtt/))
support provides a way to [control the system](https://wiki.instar.com/Software/Windows/Blue_Iris_v5/INSTAR_MQTT/#controlling-blueiris-through-mqtt)
without relying on HTTP and URL based authentication.

## Requirements

A MQTT broker running on your local network, https://mosquitto.org/ is a commonly used OSS MQTT Broker.

## Setup

1. [Configure Blue Iris](https://wiki.instar.com/Software/Windows/Blue_Iris_v5/INSTAR_MQTT/#configuring-the-blueiris-mqtt-service)
to connect to your MQTT broker.
1. Configure AI Tool to connect to your MQTT Broker
* Cameras > [camera] > Action Settings > MQTT Settings
* ![MQTT Config](https://imgur.com/S4sDjzs.png)
1. Configure AI Tool to trigger the Camera via MQTT
* Cameras > [camera] > Action Settings
* MQTT Trigger Topic: `ai/[camera]/motion | BlueIris/admin`
* MQTT Trigger Payload: `[detections] | camera=[camera]&trigger&memo=[SummaryNonEscaped]`

NOTE: Use `[SummaryNonEscaped]` instead of `[Summary]` in the BlueIris payload to avoid getting escaped characters in
the Blue Iris UI.

Now when AI Tool triggers it will publish to two MQTT topics `ai/[camera]/motion` and `BlueIris/admin`. BlueIris
subscribes to the `BlueIris/admin` topic and will trigger the named camera with the specified memo. With this setup
you no longer need the URL based integrations with BlueIris.
4 changes: 4 additions & 0 deletions src/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[*.cs]

# CS4014: Because this call is not awaited, execution of the current method continues before the call is completed
dotnet_diagnostic.CS4014.severity = silent
79 changes: 79 additions & 0 deletions src/AITool.Service/AITool.Service.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4FA49B76-97E6-4729-8F87-CFCEBACBAB9F}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>AITool.Service</RootNamespace>
<AssemblyName>AITool.Service</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>logo.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<StartupObject>AITool.Service.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.Core.3.7.10.3\lib\net45\AWSSDK.Core.dll</HintPath>
</Reference>
<Reference Include="AWSSDK.Rekognition, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.Rekognition.3.7.7.33\lib\net45\AWSSDK.Rekognition.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AIToolsService.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="AIToolsService.Designer.cs">
<DependentUpon>AIToolsService.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Content Include="logo.ico" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\AWSSDK.Rekognition.3.7.7.33\analyzers\dotnet\cs\AWSSDK.Rekognition.CodeAnalysis.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
37 changes: 37 additions & 0 deletions src/AITool.Service/AIToolsService.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 60 additions & 0 deletions src/AITool.Service/AIToolsService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;

namespace AITool.Service
{
public partial class AIToolsService : ServiceBase
{
public AIToolsService()
{
InitializeComponent();
}

public override EventLog EventLog => base.EventLog;

protected override void OnContinue()
{
base.OnContinue();
}

protected override void OnCustomCommand(int command)
{
base.OnCustomCommand(command);
}

protected override void OnPause()
{
base.OnPause();
}

protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus)
{
return base.OnPowerEvent(powerStatus);
}

protected override void OnSessionChange(SessionChangeDescription changeDescription)
{
base.OnSessionChange(changeDescription);
}

protected override void OnShutdown()
{
base.OnShutdown();
}

protected override void OnStart(string[] args)
{
}

protected override void OnStop()
{
}
}
}
6 changes: 6 additions & 0 deletions src/AITool.Service/App.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
25 changes: 25 additions & 0 deletions src/AITool.Service/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;

namespace AITool.Service
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new AIToolsService()
};
ServiceBase.Run(ServicesToRun);
}
}
}
38 changes: 38 additions & 0 deletions src/AITool.Service/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("AITool.Service")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AITool.Service")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("4fa49b76-97e6-4729-8f87-cfcebacbab9f")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.441.8548")]
[assembly: AssemblyFileVersion("1.0.441.8548")]

[assembly: AssemblyInformationalVersion("0.0.8.8548")]
File renamed without changes.
5 changes: 5 additions & 0 deletions src/AITool.Service/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AWSSDK.Core" version="3.7.10.3" targetFramework="net472" />
<package id="AWSSDK.Rekognition" version="3.7.7.33" targetFramework="net472" />
</packages>
2 changes: 2 additions & 0 deletions src/AITool.Setup/BUILD.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"%~dp0INNO\ISCC.exe" "%~dp0Script.iss"
::pause
Binary file added src/AITool.Setup/INNO/Compil32.exe
Binary file not shown.
Loading