人工智能車牌識別,給你的樹莓派部署一個車牌識別系統

 2023-10-18 阅读 28 评论 0

摘要:代碼倉庫 1、碼云Gitee:https://gitee.com/yangkun_monster/raspberrypi-License-Plate-Recognition 2、Github:https://github.com/pifan-open-source-community/raspberrypi-License-Plate-Recognition 視頻教程地址: 嗶哩嗶哩bilibili:樹莓派

在這里插入圖片描述

代碼倉庫
1、碼云Gitee:https://gitee.com/yangkun_monster/raspberrypi-License-Plate-Recognition
2、Github:https://github.com/pifan-open-source-community/raspberrypi-License-Plate-Recognition
視頻教程地址:
嗶哩嗶哩bilibili:樹莓派愛好者基地

一、項目概述

人工智能車牌識別,該項目主要用車牌識別算法對圖像或視頻中的車牌進行識別。首先進行車牌區域檢測,然后將檢測后的圖像區域進行文本識別操作,反饋車牌的識別結果的同時將車牌區域進行框選,并將識別結果顯示在對應車輛上方,后期移植在樹莓派上進行實時視頻流的車牌檢測和識別。

前期:主要考慮PC端性能,并盡可能優化模型大小,訓練可采用GPU,但調用模型測試的時候用CPU運行,測試幀率和準確性(測試10張左右圖像的運行時間取平均值或實時視頻流的幀率)。

車牌識別方案?后期:部署在樹莓派端,在本地進行USB攝像頭實時視頻流的車牌識別。

編程語言: python。

Demo展示:輸入單張圖像或USB攝像頭實時視頻流,在顯示器上顯示出識別的結果(區域框選+識別結果)。

二、車牌識別系統簡介

EasyPR是一個中文的開源車牌識別系統,其目標是成為一個簡單、靈活、準確的車牌識別引擎。
相比于其他的車牌識別系統,EasyPR有如下特點:

  • 它基于openCV這個開源庫,這意味著所有它的代碼都可以輕易的獲取。
  • 它能夠識別中文,例如車牌為蘇EUK722的圖片,它可以準確地輸出std:string類型的"蘇EUK722"的結果。
  • 它的識別率較高。目前情況下,字符識別已經可以達到90%以上的精度。

三、樹莓派端部署

1、燒錄系統

下載樹莓派官方鏡像

http://raspberrypi.org/software/operating-systems/

版本Raspberry Pi OS with desktop and recommended software
下載后并解壓縮

然后燒錄鏡像燒錄系統。這里如果不會可以查看樹莓派愛好者基地之前的視頻教程,哈哈哈哈哈。

2、樹莓派換源

輸入命令

sudo nano /etc/apt/sources.list

將其他源 前面加上 # 注釋掉
下面粘貼科大源

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

輸入 ctrl+o 回車保存,再ctrl+x 退出
輸入命令

sudo apt-get update

3、安裝cmake

sudo apt-get install cmake

檢查版本

cmake -version

出現版本信息則安裝成功!
下載pkg-config

wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz

解壓

tar -zxvf pkg-config-0.29.2.tar.gz

進入解壓目錄

cd pkg-config-0.29.2

依次執行下面的命令

./configure --with-internal-glib
make
make check
sudo make install

如果第三條報錯,把路徑改為全英文并且重新解壓執行,并在第三條命令前加上sudo再執行。)

4、安裝其它依賴

通過軟件源安裝libopenexr-dev

sudo apt-get install libopenexr-dev

5、配置opencv

下載OpenCV - 3.2.0

wget https://github.com/Itseez/opencv/archive/3.2.0.zip

使用unzip解壓,沒有unzip的先安裝unzip。

sudo apt-get install unzip

解壓

unzip 3.2.0.zip

進入opencv目錄

cd opencv-3.2.0

創建release目錄

mkdir release

進入release目錄,安裝OpenCV時,所有的文件都會被放到這個release目錄下

cd release

使用cmake編譯OpenCV的源碼,安裝到/usr/local/目錄下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/ ..

編譯安裝

make 
sudo make install

如果出現此錯誤:

make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:180:modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] 錯誤 1  
make[1]: *** [CMakeFiles/Makefile2:6687:modules/python3/CMakeFiles/opencv_python3.dir/all] 錯誤 2  
make: *** [Makefile:163:all] 錯誤 2

解決方法:
編輯 opencv-3.2.0/modules/python/src2/cv2.cpp 文件,更改第730行:

bool pyopencv_to(PyObject* obj, String& value, const char* name)  
{  (void)name;  if(!obj || obj == Py_None)  return true;  char* str = (char *)PyString_AsString(obj);//這是文件的第730行,更改這行,在=后面加(char *)if(!str)  return false;  value = String(str);  return true;  

再重新編譯安裝就好了。

6、EasyPR安裝

在樹莓派愛好者基地微信公眾號發送【EasyPR】就可以獲得壓縮包。
解壓后上傳到/home/pi目錄下。
進入到EasyPR的目錄:

cd EasyPR

直接執行命令:

./build.sh

如果出現此錯誤:

make[2]: *** [CMakeFiles/easypr.dir/build.make:141:CMakeFiles/easypr.dir/src/core/plate_judge.cpp.o] 錯誤 1  
make[1]: *** [CMakeFiles/Makefile2:73:CMakeFiles/easypr.dir/all] 錯誤 2  
make[1]: *** 正在等待未完成的任務....  
[ 48%] Linking CXX static library libthirdparty.a  
[ 48%] Built target thirdparty  
make: *** [Makefile:84:all] 錯誤 2

解決方法:
修改EasyPR/include/easypr/config.h文件的第四行:

#ifndef EASYPR_CONFIG_H_  
#define EASYPR_CONFIG_H_  #define CV_VERSION_THREE_TWO//修改這一行,將#define CV_VERSION_THREE_ZERO改為#define CV_VERSION_THREE_TWO

再編譯,出現[100%] Built target demo之后即編譯成功!
測試直接運行dome

./demo

輸出以下信息:

  EasyPR Option:  
1. 測試;  
2. 批量測試(推薦);  
3. SVM訓練;  
4. ANN訓練;  
5. 中文字符訓練;  
6. 生成字符;  
7. 感謝名單;  
8. 退出;  

請選擇一項操作:
選擇“2批量測試”,可進行多張照片識別。
可以在EasyPR/resources/image目錄下對general_test和native_test這兩個文件夾中的照片進行替換,換成自己的車牌照片。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/150622.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息