Blue Iris and CodeProject.AI ALPR

I'm getting this error and the License Plate reader is not changing from CPU to GPU. I'm trying the 2.8. With the version 2.6 I was able to get it to go to GPU and read the license plate.
 

Attachments

  • 2023-02-19 16_30_58-Blue Iris Remote Desktop - 192.168.0.57 - Remote Desktop Connection.png
    2023-02-19 16_30_58-Blue Iris Remote Desktop - 192.168.0.57 - Remote Desktop Connection.png
    144.9 KB · Views: 66
I am running CodeProject.AI in a separate virtual linux PC via Docker + CUDA.

All working as it should for Object Detection using CUDA and getting good results.

I have tried to enable CUDA for License Plate Reader and it just doesn't work. It always defaults back to CPU.
Any ideas on how I should enable CUDA for ALPR?

View attachment 154385

View attachment 154386
@MikeLud1 please see above. Running 2.0.8
I have removed ALPR and re-installed it again. Below is the install log:

Code:
Setting newly deleted module to ModuleStatusType.Available
Infor Preparing to install module 'ALPR'
Infor Downloading module 'ALPR'
Infor Installing module 'ALPR'
Infor ALPR: Hi Docker! We will disable shared python installs for downloaded modules
Error ALPR: No schemas installed
Infor ALPR:           Setting up CodeProject.AI Development Environment
Infor ALPR: ======================================================================
Infor ALPR:                    CodeProject.AI Installer
Infor ALPR: ======================================================================
Infor ALPR: Allowing GPU Support: Yes
Infor ALPR: Allowing CUDA Support: No
Infor ALPR: General CodeProject.AI setup
Infor ALPR: Creating Directories...Done
Infor ALPR: Installing module ALPR
Infor ALPR: Python 3.8 is already installed
Infor ALPR: Installing Virtual Environment tools for Linux...Done
Infor ALPR: Creating Virtual Environment...Done
Infor ALPR: Checking for Python 3.8...Found Python 3.8.16. present
Infor ALPR: Ensuring PIP is installed...Done
Infor ALPR: Updating PIP...Done
Infor ALPR: Installing setuptools...Done
Infor ALPR: Installing packages in requirements.linux.txt
Error ALPR: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
Error ALPR: sahi 0.11.11 requires click==8.0.4, but you have click 8.1.3 which is incompatible.
Infor ALPR: Installing Packages into Virtual Environment...Success
Infor ALPR: Ensuring PIP is installed...Done
Infor ALPR: Updating PIP...Done
Infor ALPR: Installing setuptools...Done
Infor ALPR: Installing packages in requirements.txt
Infor ALPR: Installing Packages into Virtual Environment...Success
Error ALPR:      0K .......... .......... .......... .......... ..........  0%  194K 56s
Error ALPR:     50K .......... .......... .......... .......... ..........  0%  194K 55s
Error ALPR:    100K .......... .......... .......... .......... ..........  1%  194K 55s
Error ALPR:    150K .......... .......... .......... .......... ..........  1%  219M 41s
Error ALPR:    200K .......... .......... .......... .......... ..........  2% 81.4M 33s
Error ALPR:    250K .......... .......... .......... .......... ..........  2%  196K 36s
Error ALPR:    300K .......... .......... .......... .......... ..........  3% 70.7M 31s
Error ALPR:    350K .......... .......... .......... .......... ..........  3% 27.0M 27s
Error ALPR:    400K .......... .......... .......... .......... ..........  4%  252M 24s
Error ALPR:    450K .......... .......... .......... .......... ..........  4%  235M 21s
Error ALPR:    500K .......... .......... .......... .......... ..........  5%  135M 19s
Error ALPR:    550K .......... .......... .......... .......... ..........  5%  198K 22s
Error ALPR:    600K .......... .......... .......... .......... ..........  5% 62.8M 20s
Error ALPR:    650K .......... .......... .......... .......... ..........  6% 14.9M 19s
Error ALPR:    700K .......... .......... .......... .......... ..........  6% 79.6M 17s
Error ALPR:    750K .......... .......... .......... .......... ..........  7%  229M 16s
Error ALPR:    800K .......... .......... .......... .......... ..........  7%  311M 15s
Error ALPR:    850K .......... .......... .......... .......... ..........  8%  264M 14s
Error ALPR:    900K .......... .......... .......... .......... ..........  8%  361M 13s
Error ALPR:    950K .......... .......... .......... .......... ..........  9%  332M 13s
Error ALPR:   1000K .......... .......... .......... .......... ..........  9%  350M 12s
Error ALPR:   1050K .......... .......... .......... .......... .......... 10%  322M 11s
Error ALPR:   1100K .......... .......... .......... .......... .......... 10%  200K 13s
Error ALPR:   1150K .......... .......... .......... .......... .......... 11% 19.1M 12s
Error ALPR:   1200K .......... .......... .......... .......... .......... 11% 17.9M 12s
Error ALPR:   1250K .......... .......... .......... .......... .......... 11% 28.4M 11s
Error ALPR:   1300K .......... .......... .......... .......... .......... 12% 35.5M 11s
Error ALPR:   1350K .......... .......... .......... .......... .......... 12% 37.9M 10s
Error ALPR:   1400K .......... .......... .......... .......... .......... 13%  206M 10s
Error ALPR:   1450K .......... .......... .......... .......... .......... 13%  209M 10s
Error ALPR:   1500K .......... .......... .......... .......... .......... 14%  214M 9s
Error ALPR:   1550K .......... .......... .......... .......... .......... 14%  219M 9s
Error ALPR:   1600K .......... .......... .......... .......... .......... 15%  172M 9s
Error ALPR:   1650K .......... .......... .......... .......... .......... 15%  217M 8s
Error ALPR:   1700K .......... .......... .......... .......... .......... 16%  224M 8s
Error ALPR:   1750K .......... .......... .......... .......... .......... 16%  245M 8s
Error ALPR:   1800K .......... .......... .......... .......... .......... 17%  226M 8s
Error ALPR:   1850K .......... .......... .......... .......... .......... 17%  236M 7s
Error ALPR:   1900K .......... .......... .......... .......... .......... 17%  213M 7s
Error ALPR:   1950K .......... .......... .......... .......... .......... 18%  259M 7s
Error ALPR:   2000K .......... .......... .......... .......... .......... 18%  300M 7s
Error ALPR:   2050K .......... .......... .......... .......... .......... 19%  237M 6s
Error ALPR:   2100K .......... .......... .......... .......... .......... 19%  206M 6s
Error ALPR:   2150K .......... .......... .......... .......... .......... 20%  100K 8s
Error ALPR:   2200K .......... .......... .......... .......... .......... 20%  175M 8s
Error ALPR:   2250K .......... .......... .......... .......... .......... 21%  143M 8s
Error ALPR:   2300K .......... .......... .......... .......... .......... 21%  105M 7s
Error ALPR:   2350K .......... .......... .......... .......... .......... 22%  169M 7s
Error ALPR:   2400K .......... .......... .......... .......... .......... 22%  205M 7s
Error ALPR:   2450K .......... .......... .......... .......... .......... 22%  189M 7s
Error ALPR:   2500K .......... .......... .......... .......... .......... 23%  164M 7s
Error ALPR:   2550K .......... .......... .......... .......... .......... 23%  182M 7s
Error ALPR:   2600K .......... .......... .......... .......... .......... 24%  197M 6s
Error ALPR:   2650K .......... .......... .......... .......... .......... 24%  190M 6s
Error ALPR:   2700K .......... .......... .......... .......... .......... 25%  194M 6s
Error ALPR:   2750K .......... .......... .......... .......... .......... 25%  181M 6s
Error ALPR:   2800K .......... .......... .......... .......... .......... 26%  205M 6s
Error ALPR:   2850K .......... .......... .......... .......... .......... 26%  188M 6s
Error ALPR:   2900K .......... .......... .......... .......... .......... 27%  171M 6s
Error ALPR:   2950K .......... .......... .......... .......... .......... 27%  187M 5s
Error ALPR:   3000K .......... .......... .......... .......... .......... 28%  203M 5s
Error ALPR:   3050K .......... .......... .......... .......... .......... 28%  188M 5s
Error ALPR:   3100K .......... .......... .......... .......... .......... 28% 23.2M 5s
Error ALPR:   3150K .......... .......... .......... .......... .......... 29%  165M 5s
Error ALPR:   3200K .......... .......... .......... .......... .......... 29% 91.4M 5s
Error ALPR:   3250K .......... .......... .......... .......... .......... 30%  194M 5s
Error ALPR:   3300K .......... .......... .......... .......... .......... 30% 83.6M 5s
Error ALPR:   3350K .......... .......... .......... .......... .......... 31%  109M 5s
Error ALPR:   3400K .......... .......... .......... .......... .......... 31%  193M 4s
Error ALPR:   3450K .......... .......... .......... .......... .......... 32% 73.8M 4s
Error ALPR:   3500K .......... .......... .......... .......... .......... 32%  167M 4s
Error ALPR:   3550K .......... .......... .......... .......... .......... 33%  196M 4s
Error ALPR:   3600K .......... .......... .......... .......... .......... 33%  107M 4s
Error ALPR:   3650K .......... .......... .......... .......... .......... 34%  180M 4s
Error ALPR:   3700K .......... .......... .......... .......... .......... 34% 81.8M 4s
Error ALPR:   3750K .......... .......... .......... .......... .......... 34%  174M 4s
Error ALPR:   3800K .......... .......... .......... .......... .......... 35%  200M 4s
Error ALPR:   3850K .......... .......... .......... .......... .......... 35%  101M 4s
Error ALPR:   3900K .......... .......... .......... .......... .......... 36%  172M 4s
Error ALPR:   3950K .......... .......... .......... .......... .......... 36%  183M 4s
Error ALPR:   4000K .......... .......... .......... .......... .......... 37%  122M 3s
Error ALPR:   4050K .......... .......... .......... .......... .......... 37%  179M 3s
Error ALPR:   4100K .......... .......... .......... .......... .......... 38%  163M 3s
Error ALPR:   4150K .......... .......... .......... .......... .......... 38%  142M 3s
Error ALPR:   4200K .......... .......... .......... .......... .......... 39%  168M 3s
Error ALPR:   4250K .......... .......... .......... .......... .......... 39%  183M 3s
Error ALPR:   4300K .......... .......... .......... .......... .......... 40%  183M 3s
Error ALPR:   4350K .......... .......... .......... .......... .......... 40%  180M 3s
Error ALPR:   4400K .......... .......... .......... .......... .......... 40%  167M 3s
Error ALPR:   4450K .......... .......... .......... .......... .......... 41%  208K 3s
Error ALPR:   4500K .......... .......... .......... .......... .......... 41% 6.89M 3s
Error ALPR:   4550K .......... .......... .......... .......... .......... 42% 60.2M 3s
Error ALPR:   4600K .......... .......... .......... .......... .......... 42% 48.3M 3s
Error ALPR:   4650K .......... .......... .......... .......... .......... 43% 47.0M 3s
Error ALPR:   4700K .......... .......... .......... .......... .......... 43% 20.4M 3s
Error ALPR:   4750K .......... .......... .......... .......... .......... 44% 16.3M 3s
Error ALPR:   4800K .......... .......... .......... .......... .......... 44% 21.9M 3s
Error ALPR:   4850K .......... .......... .......... .......... .......... 45% 60.8M 3s
Error ALPR:   4900K .......... .......... .......... .......... .......... 45%  172M 3s
Error ALPR:   4950K .......... .......... .......... .......... .......... 45%  214M 3s
Error ALPR:   5000K .......... .......... .......... .......... .......... 46%  238M 3s
Error ALPR:   5050K .......... .......... .......... .......... .......... 46%  196K 3s
Error ALPR:   5100K .......... .......... .......... .......... .......... 47% 44.9M 3s
Error ALPR:   5150K .......... .......... .......... .......... .......... 47%  246M 3s
Error ALPR:   5200K .......... .......... .......... .......... .......... 48%  174M 3s
Error ALPR:   5250K .......... .......... .......... .......... .......... 48%  242M 3s
Error ALPR:   5300K .......... .......... .......... .......... .......... 49%  233M 3s
Error ALPR:   5350K .......... .......... .......... .......... .......... 49%  119M 3s
Error ALPR:   5400K .......... .......... .......... .......... .......... 50%  243M 3s
Error ALPR:   5450K .......... .......... .......... .......... .......... 50%  286M 3s
Error ALPR:   5500K .......... .......... .......... .......... .......... 51%  216M 2s
Error ALPR:   5550K .......... .......... .......... .......... .......... 51%  228M 2s
Error ALPR:   5600K .......... .......... .......... .......... .......... 51%  301M 2s
Error ALPR:   5650K .......... .......... .......... .......... .......... 52%  287M 2s
Error ALPR:   5700K .......... .......... .......... .......... .......... 52%  256M 2s
Error ALPR:   5750K .......... .......... .......... .......... .......... 53%  321M 2s
Error ALPR:   5800K .......... .......... .......... .......... .......... 53%  259M 2s
Error ALPR:   5850K .......... .......... .......... .......... .......... 54%  170M 2s
Error ALPR:   5900K .......... .......... .......... .......... .......... 54%  268M 2s
Error ALPR:   5950K .......... .......... .......... .......... .......... 55%  382M 2s
Error ALPR:   6000K .......... .......... .......... .......... .......... 55%  379M 2s
Error ALPR:   6050K .......... .......... .......... .......... .......... 56%  266M 2s
Error ALPR:   6100K .......... .......... .......... .......... .......... 56%  322M 2s
Error ALPR:   6150K .......... .......... .......... .......... .......... 57%  340M 2s
Error ALPR:   6200K .......... .......... .......... .......... .......... 57%  327M 2s
Error ALPR:   6250K .......... .......... .......... .......... .......... 57%  259M 2s
Error ALPR:   6300K .......... .......... .......... .......... .......... 58%  296M 2s
Error ALPR:   6350K .......... .......... .......... .......... .......... 58% 70.6M 2s
Error ALPR:   6400K .......... .......... .......... .......... .......... 59%  346M 2s
Error ALPR:   6450K .......... .......... .......... .......... .......... 59%  378M 2s
Error ALPR:   6500K .......... .......... .......... .......... .......... 60%  305M 2s
Error ALPR:   6550K .......... .......... .......... .......... .......... 60%  378M 2s
Error ALPR:   6600K .......... .......... .......... .......... .......... 61%  355M 2s
Error ALPR:   6650K .......... .......... .......... .......... .......... 61%  313M 2s
Error ALPR:   6700K .......... .......... .......... .......... .......... 62%  376M 2s
Error ALPR:   6750K .......... .......... .......... .......... .......... 62%  438M 2s
Error ALPR:   6800K .......... .......... .......... .......... .......... 63%  430M 2s
Error ALPR:   6850K .......... .......... .......... .......... .......... 63%  423M 1s
Error ALPR:   6900K .......... .......... .......... .......... .......... 63%  293M 1s
Error ALPR:   6950K .......... .......... .......... .......... .......... 64%  331M 1s
Error ALPR:   7000K .......... .......... .......... .......... .......... 64%  329M 1s
Error ALPR:   7050K .......... .......... .......... .......... .......... 65%  338M 1s
Error ALPR:   7100K .......... .......... .......... .......... .......... 65%  298M 1s
Error ALPR:   7150K .......... .......... .......... .......... .......... 66%  308M 1s
Error ALPR:   7200K .......... .......... .......... .......... .......... 66%  312M 1s
Error ALPR:   7250K .......... .......... .......... .......... .......... 67%  201M 1s
Error ALPR:   7300K .......... .......... .......... .......... .......... 67%  211K 1s
Error ALPR:   7350K .......... .......... .......... .......... .......... 68% 62.0M 1s
Error ALPR:   7400K .......... .......... .......... .......... .......... 68%  101M 1s
Error ALPR:   7450K .......... .......... .......... .......... .......... 68%  271M 1s
Error ALPR:   7500K .......... .......... .......... .......... .......... 69% 25.6M 1s
Error ALPR:   7550K .......... .......... .......... .......... .......... 69% 62.1M 1s
Error ALPR:   7600K .......... .......... .......... .......... .......... 70% 52.9M 1s
Error ALPR:   7650K .......... .......... .......... .......... .......... 70% 47.8M 1s
Error ALPR:   7700K .......... .......... .......... .......... .......... 71%  190M 1s
Error ALPR:   7750K .......... .......... .......... .......... .......... 71%  222M 1s
Error ALPR:   7800K .......... .......... .......... .......... .......... 72%  265M 1s
Error ALPR:   7850K .......... .......... .......... .......... .......... 72%  273M 1s
Error ALPR:   7900K .......... .......... .......... .......... .......... 73% 8.58M 1s
Error ALPR:   7950K .......... .......... .......... .......... .......... 73% 94.1M 1s
Error ALPR:   8000K .......... .......... .......... .......... .......... 74%  168M 1s
Error ALPR:   8050K .......... .......... .......... .......... .......... 74%  100M 1s
Error ALPR:   8100K .......... .......... .......... .......... .......... 74%  128M 1s
Error ALPR:   8150K .......... .......... .......... .......... .......... 75% 82.9M 1s
Error ALPR:   8200K .......... .......... .......... .......... .......... 75%  114M 1s
Error ALPR:   8250K .......... .......... .......... .......... .......... 76% 57.7M 1s
Error ALPR:   8300K .......... .......... .......... .......... .......... 76% 91.8M 1s
Error ALPR:   8350K .......... .......... .......... .......... .......... 77%  289M 1s
Error ALPR:   8400K .......... .......... .......... .......... .......... 77%  266M 1s
Error ALPR:   8450K .......... .......... .......... .......... .......... 78%  121K 1s
Error ALPR:   8500K .......... .......... .......... .......... .......... 78% 34.0M 1s
Error ALPR:   8550K .......... .......... .......... .......... .......... 79% 41.9M 1s
Error ALPR:   8600K .......... .......... .......... .......... .......... 79% 43.3M 1s
Error ALPR:   8650K .......... .......... .......... .......... .......... 80% 40.1M 1s
Error ALPR:   8700K .......... .......... .......... .......... .......... 80% 37.1M 1s
Error ALPR:   8750K .......... .......... .......... .......... .......... 80% 37.7M 1s
Error ALPR:   8800K .......... .......... .......... .......... .......... 81% 40.6M 1s
Error ALPR:   8850K .......... .......... .......... .......... .......... 81% 43.4M 1s
Error ALPR:   8900K .......... .......... .......... .......... .......... 82% 36.4M 1s
Error ALPR:   8950K .......... .......... .......... .......... .......... 82% 39.9M 1s
Error ALPR:   9000K .......... .......... .......... .......... .......... 83% 38.5M 1s
Error ALPR:   9050K .......... .......... .......... .......... .......... 83% 37.9M 1s
Error ALPR:   9100K .......... .......... .......... .......... .......... 84% 31.4M 1s
Error ALPR:   9150K .......... .......... .......... .......... .......... 84% 36.1M 1s
Error ALPR:   9200K .......... .......... .......... .......... .......... 85%  111M 1s
Error ALPR:   9250K .......... .......... .......... .......... .......... 85%  246M 1s
Error ALPR:   9300K .......... .......... .......... .......... .......... 86%  147M 1s
Error ALPR:   9350K .......... .......... .......... .......... .......... 86%  299M 1s
Error ALPR:   9400K .......... .......... .......... .......... .......... 86%  248M 0s
Error ALPR:   9450K .......... .......... .......... .......... .......... 87%  255M 0s
Error ALPR:   9500K .......... .......... .......... .......... .......... 87%  260M 0s
Error ALPR:   9550K .......... .......... .......... .......... .......... 88%  250M 0s
Error ALPR:   9600K .......... .......... .......... .......... .......... 88%  223M 0s
Error ALPR:   9650K .......... .......... .......... .......... .......... 89%  260M 0s
Error ALPR:   9700K .......... .......... .......... .......... .......... 89%  803K 0s
Error ALPR:   9750K .......... .......... .......... .......... .......... 90% 40.2M 0s
Error ALPR:   9800K .......... .......... .......... .......... .......... 90% 30.6M 0s
Error ALPR:   9850K .......... .......... .......... .......... .......... 91% 38.5M 0s
Error ALPR:   9900K .......... .......... .......... .......... .......... 91% 36.9M 0s
Error ALPR:   9950K .......... .......... .......... .......... .......... 91%  168M 0s
Error ALPR:  10000K .......... .......... .......... .......... .......... 92%  142M 0s
Error ALPR:  10050K .......... .......... .......... .......... .......... 92% 80.0M 0s
Error ALPR:  10100K .......... .......... .......... .......... .......... 93% 9.44M 0s
Error ALPR:  10150K .......... .......... .......... .......... .......... 93% 24.2M 0s
Error ALPR:  10200K .......... .......... .......... .......... .......... 94% 97.6M 0s
Error ALPR:  10250K .......... .......... .......... .......... .......... 94% 71.0M 0s
Error ALPR:  10300K .......... .......... .......... .......... .......... 95% 27.3M 0s
Error ALPR:  10350K .......... .......... .......... .......... .......... 95% 89.9M 0s
Error ALPR:  10400K .......... .......... .......... .......... .......... 96%  113M 0s
Error ALPR:  10450K .......... .......... .......... .......... .......... 96% 87.6M 0s
Error ALPR:  10500K .......... .......... .......... .......... .......... 97%  215K 0s
Error ALPR:  10550K .......... .......... .......... .......... .......... 97% 8.43M 0s
Error ALPR:  10600K .......... .......... .......... .......... .......... 97% 39.3M 0s
Error ALPR:  10650K .......... .......... .......... .......... .......... 98% 41.0M 0s
Error ALPR:  10700K .......... .......... .......... .......... .......... 98% 36.4M 0s
Error ALPR:  10750K .......... .......... .......... .......... .......... 99% 53.4M 0s
Error ALPR:  10800K .......... .......... .......... .......... .......... 99% 59.7M 0s
Infor ALPR: Downloading OCR models...Expanding...Done.
Infor ALPR: Applying PaddleOCR patch
Infor ALPR:                 Module setup complete
Error ALPR:  10850K .......... .......... .                               100%  169M=3.6s
Infor Module ALPR installed successfully.
Trace Starting /app...les/ALPR/bin/linux/python38/venv/bin/python "/app/modules/ALPR/ALPR_adapter.py"
Infor
Infor ** Module 'License Plate Reader' (ID: ALPR)
Infor ** Active:      True
Infor ** GPU:         Support disabled
Infor ** Parallelism: 0
Infor ** Platforms:   windows,linux,macos,macos-arm64
Infor ** FilePath:    ALPR_adapter.py
Infor ** ModulePath:  ALPR
Infor ** Install:     PostInstalled
Infor ** Runtime:
Infor ** Queue:       ALPR_queue
Infor ** Start pause: 1 sec
Infor ** Valid:       True
Infor ** Environment Variables
Infor ** PLATE_CONFIDENCE = 0.4
Infor
Infor Started License Plate Reader module
Infor Installer exited with code 0
Infor Module ALPR started successfully.
Infor ALPR_adapter.py: [2023/02/20 07:16:46] ppocr DEBUG: Namespace(alpha=1.0, benchmark=False, beta=1.0, cls_batch_num=6, cls_image_shape='3, 48, 192', cls_model_dir='paddleocr/ch_ppocr_mobile_v2.0_cls_infer', cls_thresh=0.9, cpu_threads=10, crop_res_save_dir='./output', det=True, det_algorithm='DB', det_db_box_thresh=0.4, det_db_score_mode='fast', det_db_thresh=0.3, det_db_unclip_ratio=2.0, det_east_cover_thresh=0.1, det_east_nms_thresh=0.2, det_east_score_thresh=0.8, det_fce_box_type='poly', det_limit_side_len=960, det_limit_type='max', det_model_dir='paddleocr/en_PP-OCRv3_det_infer', det_pse_box_thresh=0.85, det_pse_box_type='quad', det_pse_min_area=16, det_pse_scale=1, det_pse_thresh=0, det_sast_nms_thresh=0.2, det_sast_polygon=False, det_sast_score_thresh=0.5, draw_img_save_dir='./inference_results', drop_score=0.4, e2e_algorithm='PGNet', e2e_char_dict_path='./ppocr/utils/ic15_dict.txt', e2e_limit_side_len=768, e2e_limit_type='max', e2e_model_dir=None, e2e_pgnet_mode='fast', e2e_pgnet_score_thresh=0.5, e2e_pgnet_valid_set='totaltext', enable_mkldnn=False, fourier_degree=5, gpu_mem=500, help='==SUPPRESS==', image_dir=None, image_orientation=False, ir_optim=True, kie_algorithm='LayoutXLM', label_list=['0', '180'], lang='en', layout=True, layout_dict_path=None, layout_model_dir=None, layout_nms_threshold=0.5, layout_score_threshold=0.5, max_batch_size=10, max_text_length=25, merge_no_span_structure=True, min_subgraph_size=15, mode='structure', ocr=True, ocr_order_method=None, ocr_version='PP-OCRv3', output='./output', precision='fp32', process_id=0, rec=True, rec_algorithm='CRNN', rec_batch_num=6, rec_char_dict_path='/app/modules/ALPR/bin/linux/python38/venv/lib/python3.8/site-packages/paddleocr/ppocr/utils/en_dict.txt', rec_image_shape='3, 48, 320', rec_model_dir='paddleocr/en_PP-OCRv3_rec_infer', recovery=False, save_crop_res=False, save_log_path='./log_output/', save_pdf=False, scales=[8, 16, 32], ser_dict_path='../train_data/XFUND/class_list_xfun.txt', ser_model_dir=None, shape_info_filename=None, show_log=True, sr_batch_num=1, sr_image_shape='3, 32, 128', sr_model_dir=None, structure_version='PP-Structurev2', table=True, table_algorithm='TableAttn', table_char_dict_path=None, table_max_len=488, table_model_dir=None, total_process_num=1, type='ocr', use_angle_cls=False, use_dilation=False, use_gpu=False, use_mp=False, use_onnx=False, use_pdserving=False, use_space_char=True, use_tensorrt=False, use_xpu=False, vis_font_path='./doc/fonts/simfang.ttf', warmup=False)
Infor License Plate Reader: Running init for License Plate Reader
Infor License Plate Reader: License Plate Reader started.

Trying to enable GPU mode for ALPR:

Code:
Infor Sending shutdown request to python/ALPR
Trace Request 'Quit' dequeued for processing (#reqid 48ad1f6a-ac1b-4ab5-a1b8-4b64be934c05)
Trace Client request 'Quit' in the queue (#reqid 48ad1f6a-ac1b-4ab5-a1b8-4b64be934c05)
Debug License Plate Reader: Retrieved ALPR_queue command
Error ALPR_adapter.py: /app/modules/ALPR/bin/linux/python38/venv/lib/python3.8/site-packages/skimage/util/dtype.py:27: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)
Error ALPR_adapter.py:   np.bool8: (False, True),
Infor Module ALPR has shutdown
Infor ALPR went quietly
Removing module from Processes list
Trace Starting /app...les/ALPR/bin/linux/python38/venv/bin/python "/app/modules/ALPR/ALPR_adapter.py"
Infor
Infor ** Module 'License Plate Reader' (ID: ALPR)
Infor ** Active:      True
Infor ** GPU:         Support enabled
Infor ** Parallelism: 0
Infor ** Platforms:   windows,linux,macos,macos-arm64
Infor ** FilePath:    ALPR_adapter.py
Infor ** ModulePath:  ALPR
Infor ** Install:     PostInstalled
Infor ** Runtime:
Infor ** Queue:       ALPR_queue
Infor ** Start pause: 1 sec
Infor ** Valid:       True
Infor ** Environment Variables
Infor ** PLATE_CONFIDENCE = 0.4
Infor
Infor Started License Plate Reader module
Infor ALPR_adapter.py: [2023/02/20 07:22:03] ppocr DEBUG: Namespace(alpha=1.0, benchmark=False, beta=1.0, cls_batch_num=6, cls_image_shape='3, 48, 192', cls_model_dir='paddleocr/ch_ppocr_mobile_v2.0_cls_infer', cls_thresh=0.9, cpu_threads=10, crop_res_save_dir='./output', det=True, det_algorithm='DB', det_db_box_thresh=0.4, det_db_score_mode='fast', det_db_thresh=0.3, det_db_unclip_ratio=2.0, det_east_cover_thresh=0.1, det_east_nms_thresh=0.2, det_east_score_thresh=0.8, det_fce_box_type='poly', det_limit_side_len=960, det_limit_type='max', det_model_dir='paddleocr/en_PP-OCRv3_det_infer', det_pse_box_thresh=0.85, det_pse_box_type='quad', det_pse_min_area=16, det_pse_scale=1, det_pse_thresh=0, det_sast_nms_thresh=0.2, det_sast_polygon=False, det_sast_score_thresh=0.5, draw_img_save_dir='./inference_results', drop_score=0.4, e2e_algorithm='PGNet', e2e_char_dict_path='./ppocr/utils/ic15_dict.txt', e2e_limit_side_len=768, e2e_limit_type='max', e2e_model_dir=None, e2e_pgnet_mode='fast', e2e_pgnet_score_thresh=0.5, e2e_pgnet_valid_set='totaltext', enable_mkldnn=False, fourier_degree=5, gpu_mem=500, help='==SUPPRESS==', image_dir=None, image_orientation=False, ir_optim=True, kie_algorithm='LayoutXLM', label_list=['0', '180'], lang='en', layout=True, layout_dict_path=None, layout_model_dir=None, layout_nms_threshold=0.5, layout_score_threshold=0.5, max_batch_size=10, max_text_length=25, merge_no_span_structure=True, min_subgraph_size=15, mode='structure', ocr=True, ocr_order_method=None, ocr_version='PP-OCRv3', output='./output', precision='fp32', process_id=0, rec=True, rec_algorithm='CRNN', rec_batch_num=6, rec_char_dict_path='/app/modules/ALPR/bin/linux/python38/venv/lib/python3.8/site-packages/paddleocr/ppocr/utils/en_dict.txt', rec_image_shape='3, 48, 320', rec_model_dir='paddleocr/en_PP-OCRv3_rec_infer', recovery=False, save_crop_res=False, save_log_path='./log_output/', save_pdf=False, scales=[8, 16, 32], ser_dict_path='../train_data/XFUND/class_list_xfun.txt', ser_model_dir=None, shape_info_filename=None, show_log=True, sr_batch_num=1, sr_image_shape='3, 32, 128', sr_model_dir=None, structure_version='PP-Structurev2', table=True, table_algorithm='TableAttn', table_char_dict_path=None, table_max_len=488, table_model_dir=None, total_process_num=1, type='ocr', use_angle_cls=False, use_dilation=False, use_gpu=False, use_mp=False, use_onnx=False, use_pdserving=False, use_space_char=True, use_tensorrt=False, use_xpu=False, vis_font_path='./doc/fonts/simfang.ttf', warmup=False)
Infor License Plate Reader: Running init for License Plate Reader
Infor License Plate Reader: License Plate Reader started.

After enabling GPU is still using CPU:

1676849258585.png

Something is not working correct in the docker version.
I had the same issue with 2.0.7
 
I went back to 2.6 and it shows up as GPU and currently stable version for me. It looks like that the developer is working on fixing an issue with 2.8. By the way I'm not using docker.

Sent from my SM-S906U using Tapatalk
 
I'm almost at the final stage but I'm missing few steps. I have attached what I see with AI. I would like then to implement the MQTT topic and use node-red posted in this post. Any help will be greatly appreciated.
 

Attachments

  • 2023-02-21 17_19_32-Window.png
    2023-02-21 17_19_32-Window.png
    41.9 KB · Views: 115
  • 2023-02-21 17_15_55-Window.png
    2023-02-21 17_15_55-Window.png
    428.8 KB · Views: 112
  • 2023-02-21 17_39_35-Window.png
    2023-02-21 17_39_35-Window.png
    20.2 KB · Views: 94
Any help will be greatly appreciated.
You can remove alpr and Plates from your custom models field. Also, make sure you are configuring your MQTT message in the immediate actions section on the trigger tab and add Hi-res JPEG files to the alerts list.

Screen Shot 2023-02-21 at 6.18.18 PM.png
 
Try doing a full reboot, sometimes BI does not read the model list until a full reboot.
I am having the same issue. I have reinstalled codeproject, repaired the install, rebooted many times, etc. In the codeproject dashboard the YOLO object detection keeps stopping and restarting itself and no AI confirmation is working for any cameras. Same message "AI: not responding". All my settings in BI are exactly the same as what you posted. If I turn off ALPR and custom models it works as it did before, but after enabling custom or the ALPR checkbox everything breaks...

Please help. I am going insane
 
You can remove alpr and Plates from your custom models field. Also, make sure you are configuring your MQTT message in the immediate actions section on the trigger tab and add Hi-res JPEG files to the alerts list.

View attachment 154962
Thank you. It looks like that every cameras uses aplr automatically without adding them in the custom field, for the other cameras that do not use aplr, should I add aplr:0?

Sent from my SM-S906U using Tapatalk
 
In an attempt to try to see if there was a fix that would get the LPR module to work in GPU more (since it only works in CPU mode while object detection works in GPU mode), I tried:
  • updating codeproject to 2.0.8
  • updating CUDA toolkit to 12.0 (this included the graphics driver as well) and CUDNN to 8.8.0

It didn't fix the issue but it also didn't break anything for me so I'm running these newer versions.
 
You can remove alpr and Plates from your custom models field. Also, make sure you are configuring your MQTT message in the immediate actions section on the trigger tab and add Hi-res JPEG files to the alerts list.

View attachment 154962


I guess it works either way, but that isn't where I have my MQTT alert configured. I have it in Alerts -> On Alert -> Web Request or MQTT.

1677096649406.png
 
I tested it both ways and it seems to work better under immediate actions, at least on my system.

What makes it better or worse?

The note in the manual from when immediate actions was added to BI says "A new action set “immediate actions” has been added to the Trigger tab in camera settings. This action set runs before alert AI confirmation."

I have mine set to only alert on DayPlate and NightPlate. (I also have 'vehicle' listed, but I'm currently only using the license plate model so that's not doing anything.) So every one of my saved images should contain a detected license plate object, even if Plate Recognizer doesn't return a read tag. All of my database entries contain the AI detection info in the 'image description' field. Motion detections without AI confirmation don't get stored in my setup.

If the BI documentation is correct, I don't see how it can have the tag return available from CPAI when firing the alert before AI confirmation of the objects.

Maybe Ken was clever enough to force the alert to wait due to the inclusion of &PLATE in the message?
 
Thanks to the help you guys are providing, I made to the next level. I think the difference between the immediate and the alert, is that the immediate will trigger no matter what it finds while the alert will trigger on what you specify. I attached both examples.
 

Attachments

  • 2023-02-22 17_07_271-Window.png
    2023-02-22 17_07_271-Window.png
    20.4 KB · Views: 67
  • 2023-02-22 17_07_27-Window.png
    2023-02-22 17_07_27-Window.png
    17.7 KB · Views: 68
  • Like
Reactions: Vettester
What makes it better or worse?
I found that it wasn't always triggering when I added it as an alert. The camera I'm using is dedicated to LPR so I'm only using the license plate model and I only have the DayPlate and NightPlate on the trigger page.
If the BI documentation is correct, I don't see how it can have the tag return available from CPAI when firing the alert before AI confirmation of the objects.
Not sure what's happening here, but I know it's working. I get alerts whenever a vehicle drives by regardless of whether or not it recognises a plate.
Screen Shot 2023-02-22 at 6.20.38 PM.png
 
Last edited:
I'm getting some good results at the moment... One thing it does keep getting wrong is the back of a white audi... it tried to read the audi rings as the plat and just comes back with "O". Other than that it's not doing too bad.
 

Attachments

  • LPR.20230223_080000.2265412.3-1.jpg
    LPR.20230223_080000.2265412.3-1.jpg
    68.2 KB · Views: 45
This is similar to how alpr behaves with images containing some commercial vehicles with assorted text/numbers painted on the vehicle. For example state contractor license numbers sometimes appear in place of a plate number. This is something that is easy to filter out in post processing, but the concern is more so the missing plates. This makes me wonder, can the current implementation of ALPR find multiple "plates" per image? This idea in context to my example, would result in both the contractor's state license and the vehicle plate getting logged. This would have to be done carefully, so as not to have issues with parked plates.

edit: @sp3ctre , that's about as close to an ideal FOV as you can get, which explains why it keeps wanting to read logos etc. From the perspective of limited cam placement, you have a "better" problem to deal with. ;)
 
Quick report on accuracy of my system... I get 99% california plates, at a less than ideal ~45* angle or so. It has already been mentioned that dealing with "0" vs "O" is a steep hill to climb for OCR, and may be easier to deal with in PP. I noticed some other consistent errors to go with this, and wanted to mention in case it's a similar steep hill, or maybe just more training can fix it (I can send images). One I see often is "7" read as an "I", especially with a leading 7 (7 the left most char on plate). Another one is "4" being read "L"... this one happens a lot regardless where the char is located. The 4 error I noticed tends to happen more often with larger dark colored license plate frames that come close to touching the bottom of the letters. So not sure if maybe pre-ai processing could be improved for this (crop tighter)?
 
This makes me wonder, can the current implementation of ALPR find multiple "plates" per image? This idea in context to my example, would result in both the contractor's state license and the vehicle plate getting logged. This would have to be done carefully, so as not to have issues with parked plates.
It can and does occasionaly...
trump.jpg


BI only returns one of theses as the PLATE variable, but I would think that the JSON variable would have both results in it.
 
Wanted to get thoughts on why this is happening. I'm getting maybe 60-75% of plates on this camera but the ones that get missed seem to have this issue. AS you can see in the screenshot, it seems like the trigger is off. There's no vehicle at 0 and times after. Any suggestions?BILPC1.pngBILPC2.pngLPCN.png