Blue Iris and CodeProject.AI ALPR

When I upload an image in the lpr explorer it does the same thing that happens when a car drives by and here's what is in the logs:
17:19:04:Object Detection (YOLOv5 6.2): Detecting using license-plate
17:19:04:Response rec'd from Object Detection (YOLOv5 6.2) command 'custom' (...87949d) ['Found DayPlate'] took 26ms
17:19:04:ALPR_adapter.py: Could not locate cublasLt64_12.dll. Please make sure it is in your library path!
17:19:06:Module ALPR has shutdown
17:19:06:ALPR_adapter.py: has exited

Object Detection (YOLOv5 6.2) is the detection module I am using.
 
When I upload an image in the lpr explorer it does the same thing that happens when a car drives by and here's what is in the logs:
17:19:04:Object Detection (YOLOv5 6.2): Detecting using license-plate
17:19:04:Response rec'd from Object Detection (YOLOv5 6.2) command 'custom' (...87949d) ['Found DayPlate'] took 26ms
17:19:04:ALPR_adapter.py: Could not locate cublasLt64_12.dll. Please make sure it is in your library path!
17:19:06:Module ALPR has shutdown
17:19:06:ALPR_adapter.py: has exited

Object Detection (YOLOv5 6.2) is the detection module I am using.
You might still have some path for CUDA 12, from command prompt run set and copy all the results then post them like below

C:\Users\mikel>set
ACSvcPort=17532
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\mikel\AppData\Roaming
ChocolateyInstall=C:\ProgramData\chocolatey
ChocolateyLastPathUpdate=133199547072949048
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-QNJQ7BH
ComSpec=C:\Windows\system32\cmd.exe
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
CUDA_PATH_V12_3=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3
CUDA_PATH_V12_4=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
DriverData=C:\Windows\System32\Drivers\DriverData
EnableLog=WARNING
HOMEDRIVE=C:
HOMEPATH=\Users\mikel
LOCALAPPDATA=C:\Users\mikel\AppData\Local
LOGONSERVER=\\DESKTOP-QNJQ7BH
NUMBER_OF_PROCESSORS=32
NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt\
OneDrive=C:\Users\mikel\OneDrive
OneDriveConsumer=C:\Users\mikel\OneDrive
OS=Windows_NT
Path=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\libnvvp;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\libnvvp;C:\Python311\Scripts\;C:\Python311\;C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\mikel\AppData\Local\Microsoft\WindowsApps;C:\Users\mikel\AppData\Local\GitHubDesktop\bin;C:\Users\mikel\.dotnet\tools;C:\Users\mikel\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\dotnet\;C:\Program Files\Tesseract-OCR;C:\Users\mikel\anaconda3\Scripts;C:\Users\mikel\anaconda3;C:\ProgramData\chocolatey\bin;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Docker\Docker\resources\bin;C:\Users\mikel\AppData\Roaming\npm;C:\Program Files\NVIDIA\CUDNN\v8.9;C:\Program Files\NVIDIA\CUDNN\v8.9\bin;C:\Program Files\NVIDIA\CUDNN\v8.9\zlib\dll_x64;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;;C:\Program Files\NVIDIA Corporation\NVIDIA App\NvDLISR;C:\Program Files\NVIDIA Corporation\Nsight Compute 2024.1.0\;C:\Users\mikel\AppData\Local\Microsoft\WindowsApps;C:\Users\mikel\AppData\Local\GitHubDesktop\bin;C:\Users\mikel\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\mikel\anaconda3\Scripts;C:\Users\mikel\anaconda3;C:\Users\mikel\.dotnet\tools;C:\Users\mikel\AppData\Roaming\npm
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 25 Model 33 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=25
PROCESSOR_REVISION=2100
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
RlsSvcPort=22112
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\mikel\AppData\Local\Temp
TMP=C:\Users\mikel\AppData\Local\Temp
USERDOMAIN=DESKTOP-QNJQ7BH
USERDOMAIN_ROAMINGPROFILE=DESKTOP-QNJQ7BH
USERNAME=mikel
USERPROFILE=C:\Users\mikel
windir=C:\Windows
__PSLockDownPolicy=0
 
  • Like
Reactions: looney2ns
Hello,
I have Blue Iris, CPAI 2.5.6, YOLOv8, they work, however ALPR is not working properly. When I attempt to read a License Plate from an image using Project Explorer, the ALPR module... shuts down after 3 seconds. No errors in CPAI log. It just turns off.
PC has Intel 13900K, nVidia RTX 3090, YOLOv8 and LPR use GPU.

Server log excerpt:

Code:
14:08:16:detect_adapter.py: 0: 384x640 1 Plate, 18.0ms
14:08:16:detect_adapter.py: Speed: 2.0ms preprocess, 18.0ms inference, 1.0ms postprocess per image at shape (1, 3, 384, 640)
14:08:16:Object Detection (YOLOv8): Detecting using license-plate
14:08:16:Response rec'd from Object Detection (YOLOv8) command 'custom' (...947c27) ['Found Plate']  took 71ms
14:08:17:detect_adapter.py: 0: 384x640 2 benchs, 38.0ms
14:08:17:detect_adapter.py: Speed: 2.0ms preprocess, 38.0ms inference, 3.0ms postprocess per image at shape (1, 3, 384, 640)
14:08:17:Response rec'd from Object Detection (YOLOv8) command 'detect' (...aea51d) ['Found bench, bench']  took 70ms
14:08:19:Module ALPR has shutdown
14:08:19:ALPR_adapter.py: has exited

ALPR Info:

Code:
Module 'License Plate Reader' 3.0.2 (ID: ALPR)
Valid:         True
Module Path:   <root>\modules\ALPR
AutoStart:     True
Queue:         alpr_queue
Runtime:       python3.9
Runtime Loc:   Local
FilePath:      ALPR_adapter.py
Pre installed: False
Start pause:   3 sec
Parallelism:   0
LogVerbosity: 
Platforms:     all
GPU Libraries: installed if available
GPU Enabled:   enabled
Accelerator:   
Half Precis.:  enable
Environment Variables
   AUTO_PLATE_ROTATE            = true
   MIN_COMPUTE_CAPABILITY       = 6
   MIN_CUDNN_VERSION            = 7
   OCR_OPTIMAL_CHARACTER_HEIGHT = 60
   OCR_OPTIMAL_CHARACTER_WIDTH  = 30
   OCR_OPTIMIZATION             = true
   PLATE_CONFIDENCE             = 0.7
   PLATE_RESCALE_FACTOR         = 2
   PLATE_ROTATE_DEG             = 0
Status Data:  {
  "inferenceDevice": "GPU",
  "inferenceLibrary": "CUDA",
  "canUseGPU": "true",
  "successfulInferences": 170,
  "failedInferences": 2,
  "numInferences": 172,
  "averageInferenceMs": 109.46470588235294
}
Started:      12 Mar 2024 1:52:30 PM GTB Standard Time
LastSeen:     12 Mar 2024 2:04:32 PM GTB Standard Time
Status:       Started
Requests:     336 (includes status calls)

YOLOv8 info:

Code:
Module 'Object Detection (YOLOv8)' 1.3.1 (ID: ObjectDetectionYOLOv8)
Valid:         True
Module Path:   <root>\modules\ObjectDetectionYOLOv8
AutoStart:     True
Queue:         objectdetection_queue
Runtime:       python3.9
Runtime Loc:   Shared
FilePath:      detect_adapter.py
Pre installed: False
Start pause:   1 sec
Parallelism:   0
LogVerbosity: 
Platforms:     all
GPU Libraries: installed if available
GPU Enabled:   enabled
Accelerator:   
Half Precis.:  enable
Environment Variables
   APPDIR             = <root>\modules\ObjectDetectionYOLOv8
   CUSTOM_MODELS_DIR  = <root>\modules\ObjectDetectionYOLOv8\custom-models
   MODELS_DIR         = <root>\modules\ObjectDetectionYOLOv8\assets
   MODEL_SIZE         = Medium
   USE_CUDA           = True
   YOLOv5_AUTOINSTALL = false
   YOLOv5_VERBOSE     = false
Status Data:  {
  "inferenceDevice": "GPU",
  "inferenceLibrary": "CUDA",
  "canUseGPU": "true",
  "successfulInferences": 652,
  "failedInferences": 5,
  "numInferences": 657,
  "averageInferenceMs": 92.04141104294479
}
Started:      12 Mar 2024 1:33:17 PM GTB Standard Time
LastSeen:     12 Mar 2024 2:05:46 PM GTB Standard Time
Status:       Started
Requests:     715 (includes status calls)
 
You might still have some path for CUDA 12, from command prompt run set and copy all the results then post them like below

C:\Users\mikel>set
ACSvcPort=17532
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\mikel\AppData\Roaming
ChocolateyInstall=C:\ProgramData\chocolatey
ChocolateyLastPathUpdate=133199547072949048
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-QNJQ7BH
ComSpec=C:\Windows\system32\cmd.exe
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
CUDA_PATH_V12_3=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3
CUDA_PATH_V12_4=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
DriverData=C:\Windows\System32\Drivers\DriverData
EnableLog=WARNING
HOMEDRIVE=C:
HOMEPATH=\Users\mikel
LOCALAPPDATA=C:\Users\mikel\AppData\Local
LOGONSERVER=\\DESKTOP-QNJQ7BH
NUMBER_OF_PROCESSORS=32
NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt\
OneDrive=C:\Users\mikel\OneDrive
OneDriveConsumer=C:\Users\mikel\OneDrive
OS=Windows_NT
Path=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\libnvvp;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\libnvvp;C:\Python311\Scripts\;C:\Python311\;C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\mikel\AppData\Local\Microsoft\WindowsApps;C:\Users\mikel\AppData\Local\GitHubDesktop\bin;C:\Users\mikel\.dotnet\tools;C:\Users\mikel\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\dotnet\;C:\Program Files\Tesseract-OCR;C:\Users\mikel\anaconda3\Scripts;C:\Users\mikel\anaconda3;C:\ProgramData\chocolatey\bin;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Docker\Docker\resources\bin;C:\Users\mikel\AppData\Roaming\npm;C:\Program Files\NVIDIA\CUDNN\v8.9;C:\Program Files\NVIDIA\CUDNN\v8.9\bin;C:\Program Files\NVIDIA\CUDNN\v8.9\zlib\dll_x64;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;;C:\Program Files\NVIDIA Corporation\NVIDIA App\NvDLISR;C:\Program Files\NVIDIA Corporation\Nsight Compute 2024.1.0\;C:\Users\mikel\AppData\Local\Microsoft\WindowsApps;C:\Users\mikel\AppData\Local\GitHubDesktop\bin;C:\Users\mikel\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\mikel\anaconda3\Scripts;C:\Users\mikel\anaconda3;C:\Users\mikel\.dotnet\tools;C:\Users\mikel\AppData\Roaming\npm
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 25 Model 33 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=25
PROCESSOR_REVISION=2100
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
RlsSvcPort=22112
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\mikel\AppData\Local\Temp
TMP=C:\Users\mikel\AppData\Local\Temp
USERDOMAIN=DESKTOP-QNJQ7BH
USERDOMAIN_ROAMINGPROFILE=DESKTOP-QNJQ7BH
USERNAME=mikel
USERPROFILE=C:\Users\mikel
windir=C:\Windows
__PSLockDownPolicy=0


C:\Users\rich_>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\rich_\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=RICH-GAMING-DES
ComSpec=C:\Windows\system32\cmd.exe
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
CUDA_PATH_V11_8=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
DriverData=C:\Windows\System32\Drivers\DriverData
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOMEDRIVE=C:
HOMEPATH=\Users\rich_
LOCALAPPDATA=C:\Users\rich_\AppData\Local
LOGONSERVER=\\RICH-GAMING-DES
NUMBER_OF_PROCESSORS=6
NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt\
OculusBase=C:\Program Files\Oculus\
OneDrive=C:\Users\rich_\OneDrive
OS=Windows_NT
Path=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp;;C:\Program Files (x86)\Razer Chroma SDK\bin;C:\Program Files\Razer Chroma SDK\bin;C:\Program Files (x86)\Razer\ChromaBroadcast\bin;C:\Program Files\Razer\ChromaBroadcast\bin;C:\Program Files\Oculus\Support\oculus-runtime;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\dotnet\;C:\Users\rich_\AppData\Local\Microsoft\WindowsApps;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;;C:\Program Files\NVIDIA\CUDNN\v8.9\zlib\dll_x64;C:\Program Files\NVIDIA\CUDNN\v8.9\bin;;C:\Program Files\NVIDIA\CUDNN\v8.9\zlib\dll_x64;C:\Program Files\NVIDIA\CUDNN\v8.9\bin;C:\Program Files\NVIDIA Corporation\Nsight Compute 2022.3.0\;;C:\Program Files\NVIDIA\CUDNN\v8.9\zlib\dll_x64;C:\Program Files\NVIDIA\CUDNN\v8.9\bin;;C:\Program Files\NVIDIA\CUDNN\v8.9\zlib\dll_x64;C:\Program Files\NVIDIA\CUDNN\v8.9\bin;C:\Users\rich_\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 158 Stepping 12, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=9e0c
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\rich_\AppData\Local\Temp
TMP=C:\Users\rich_\AppData\Local\Temp
USERDOMAIN=RICH-GAMING-DES
USERDOMAIN_ROAMINGPROFILE=RICH-GAMING-DES
USERNAME=rich_
USERPROFILE=C:\Users\rich_
windir=C:\Windows
 
Is there a better LPR database other than Node-Red? Something easier to setup and use.
 
Is there a better LPR database other than Node-Red? Something easier to setup and use.

FYI, Node-Red is an automation platform for executing some actions when events/triggers occur. The data is not stored there but in a mySQL or similar database.

If you need to search for full/partial plate #, you can do that in UI3, assuming you are on newer release that supports this. I shared screenshot here:
 
  • Like
Reactions: looney2ns
@MikeLud1 any other thoughts on what could be wrong? Appreciate your help sir
All your paths look good I am not sure why it is looking for a CUDA 12 file. You can try renaming the CUDA 11 version of cublasLt64_11.dll to cublasLt64_12.dll the file should be located in folder C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
 
I have two face objects (m1,m2) registered via CPAI explorer. Using exclusion custom model (objects:0), I am able to have 2 different MQTT triggered towards BI. One for each {m1, m2}. However, when i create a 3rd trigger for unknown faces i.e. {person}, either one of the m1 or m2 gets triggered along w/ new person trigger for all invocations of person trigger.
It seems {m1} or {m2} objects are sub-set of {person} object? If so, how does one go about excluding? Would this be the right setting?

For {m1} trigger: skip with to contain {m2, person} or {m2}
For {m2} trigger: skip with to contain {m1, person} or {m1}
For {person} trigger: skip with to contain {m1,m2}
 
So I read the thread and set up BlueIris & CodeProjectAI, and everything is working great in terms of automatically capturing footage and recognizing license plates during the day. However, I do not get any alerts during night-time hours, my alerts basically start from say, 7am to 7pm and then no alerts occur after that. In manually reviewing the raw captures at night, there are plates captured, and when feeding into CodeProjectAI via the webservice interface manually, it recognizes the plates. What am I missing to get BlueIris alerts at night-time?
 
All your paths look good I am not sure why it is looking for a CUDA 12 file. You can try renaming the CUDA 11 version of cublasLt64_11.dll to cublasLt64_12.dll the file should be located in folder C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin

THANK YOU this was the problem, amazing help sir thank you very very much!
 
  • Like
Reactions: MikeLud1
I sent v3.0.3 to CodeProject.AI so they can add it. I will see where they are at adding it. Also I am almost done with v3.0.4.

I should have been paying closer attention - I just uninstalled an reinstalled CodeProject (did get to current version) but the primary purpose was for the LPR module that is still at 3.0.2 LOL.
 
Last edited:
I should have been paying closer attention - I just uninstalled an reinstalled CodeProject (did get to current version) but the primary purpose was for the LPR module that is still at 3.0.3 LOL.

Heck, my LPR Module is still at 3.0.2. How'd you get 3.0.3?
 
I am having an issue now that you can't shut off the Pre-Trigger Record or set it for below 5 seconds. I used to be able to record every vehicle that went down the street. Now if three or 4 vehicles go by with in ten seconds, I am only getting the first vehicle as I cannot shut off Pre-Trigger record time or set it for less than 5 seconds. How is everyone else getting around this issue??

I emailed Ken at Blue Iris and he said because of the subtsreams there is no shutting off Pre-trigger record time off or settings it below 5 seconds now.


Rick