- முன்நிபந்தனைகள்
- ராஸ்பெர்ரி பை பயன்படுத்தி உரிம தட்டு அங்கீகாரத்தில் ஈடுபட்டுள்ள படிகள்
- 1. உரிமம் தட்டு கண்டறிதல்
- 2. எழுத்துப் பிரிவு
- 3. எழுத்து அங்கீகாரம்
- எண் தட்டு அங்கீகாரத்தில் தோல்வியுற்ற வழக்குகள்
- பிற வெற்றிகரமான எடுத்துக்காட்டுகள்
பாதுகாப்பு என்பது எப்போதும் மனிதகுலத்திற்கு ஒரு முக்கிய கவலையாக இருந்து வருகிறது. பள்ளிகள், மருத்துவமனைகள் மற்றும் பிற பொது இடங்களில் வீடியோ கண்காணிப்பு கேமராக்கள் உள்ளன. HIS இன் ஒரு கணக்கெடுப்பின்படி, 2014 ஆம் ஆண்டில் சுமார் 245 மில்லியன் பாதுகாப்பு கேமராக்கள் நிறுவப்பட்டு மீண்டும் செயல்பட்டு வருவதாக மதிப்பிடப்பட்டுள்ளது, இது இந்த கிரகத்தில் ஒவ்வொரு 30 பேருக்கும் ஒரு பாதுகாப்பு கேமரா வைத்திருப்பது போன்றது. தொழில்நுட்பத்தில் குறிப்பாக பட செயலாக்கம் மற்றும் இயந்திர கற்றல் ஆகியவற்றில் முன்னேற்றம் காணப்படுவதால், வீடியோ ஊட்டத்திலிருந்து தகவல்களைச் செயலாக்க பயிற்சி அளிப்பதன் மூலம் இந்த கேமராக்களை சிறந்ததாக்க முடியும்.
இந்த கேமராக்களிலிருந்து வரும் வீடியோ ஊட்டம் முகம் அங்கீகாரம், முறை பகுப்பாய்வு, உணர்ச்சி பகுப்பாய்வு மற்றும் பலவற்றைச் செய்யப் பயன்படுகிறது, இது எஃப்எஃப் 7 திரைப்படத்தில் காட்டப்பட்டுள்ள “கடவுளின் கண்” போன்றவற்றுடன் நெருக்கமாக இருக்கும். உண்மையில், ஹிக்விஷன் போன்ற கண்காணிப்பு நிறுவனங்கள் மற்றும் பலர் ஏற்கனவே தங்கள் தயாரிப்புகளில் இந்த அம்சங்களை செயல்படுத்தத் தொடங்கியுள்ளனர். நம்பர் பிளேட்டைப் படிக்க நாங்கள் முன்பு MATLAB பட செயலாக்கத்தைப் பயன்படுத்தினோம், இன்று இந்த கட்டுரையில் ராஸ்பெர்ரி பை மற்றும் ஓபன்சிவி ஆகியவற்றைப் பயன்படுத்தி ஆட்டோமொபைல்களிடமிருந்து உரிமத் தகடு எண்ணை எவ்வாறு கண்டறிவது மற்றும் படிப்பது என்பதைக் கற்றுக்கொள்வோம். கூகிளிலிருந்து சில சீரற்ற வாகனப் படங்களைப் பயன்படுத்துவோம், மேலும் ஓபன்சிவி விளிம்பு கண்டறிதலைப் பயன்படுத்தி நம்பர் பிளேட்டை அடையாளம் காண ஒரு நிரலை எழுதுவோம், பின்னர் டெசராக்ட் ஓ.சி.ஆரைப் பயன்படுத்தி தட்டில் இருந்து எண்ணைப் படிப்போம். சுவாரஸ்யமானதாகத் தெரிகிறது!, எனவே தொடங்குவோம்.
முன்நிபந்தனைகள்
முன்பு கூறியது போல, முகங்களைக் கண்டறிந்து அடையாளம் காண ஓபன்சிவி நூலகத்தைப் பயன்படுத்துவோம். எனவே இந்த டுடோரியலைத் தொடர முன் ராஸ்பெர்ரி பைவில் ஓபன்சிவி நூலகத்தை நிறுவுவதை உறுதிசெய்க. 2A அடாப்டருடன் உங்கள் பைவை இயக்கி, எளிதாக பிழைத்திருத்தத்திற்கு காட்சி மானிட்டருடன் இணைக்கவும்.
இந்த பயிற்சி ஓபன்சிவி எவ்வாறு சரியாக இயங்குகிறது என்பதை விளக்காது, நீங்கள் பட செயலாக்கத்தைக் கற்றுக்கொள்ள ஆர்வமாக இருந்தால், இந்த ஓபன்சிவி அடிப்படைகள் மற்றும் மேம்பட்ட பட செயலாக்க பயிற்சிகளைப் பாருங்கள். OpenCV ஐப் பயன்படுத்தி இந்த படப் பிரிவு டுடோரியலில் நீங்கள் வரையறைகளை, குமிழ் கண்டறிதல் போன்றவற்றையும் அறியலாம். படத்திலிருந்து காரின் உரிமத் தகட்டைக் கண்டறிய இதுபோன்ற ஏதாவது ஒன்றை நாங்கள் செய்வோம்.
ராஸ்பெர்ரி பை பயன்படுத்தி உரிம தட்டு அங்கீகாரத்தில் ஈடுபட்டுள்ள படிகள்
உரிம தட்டு அங்கீகாரம் அல்லது சுருக்கமாக எல்பிஆர், மூன்று முக்கிய படிகளை உள்ளடக்கியது. படிகள் பின்வருமாறு
1. உரிமத் தகடு கண்டறிதல்: முதல் படி காரில் இருந்து உரிமத் தகட்டைக் கண்டறிவது. நம்பர் பிளேட்டைக் கண்டுபிடிக்க செவ்வக பொருள்களைக் கண்டறிய ஓபன்சிவியில் உள்ள விளிம்பு விருப்பத்தைப் பயன்படுத்துவோம். நம்பர் பிளேட்டின் சரியான அளவு, நிறம் மற்றும் தோராயமான இடம் நமக்குத் தெரிந்தால் துல்லியத்தை மேம்படுத்த முடியும். பொதுவாக கண்டறிதல் வழிமுறை அந்த குறிப்பிட்ட நாட்டில் பயன்படுத்தப்படும் கேமராவின் நிலை மற்றும் நம்பர் பிளேட்டின் அடிப்படையில் பயிற்சி அளிக்கப்படுகிறது. படத்தில் ஒரு கார் கூட இல்லையென்றால் இது தந்திரமானதாகிவிடும், இந்த விஷயத்தில் காரைக் கண்டுபிடிப்பதற்கான கூடுதல் படியையும் பின்னர் உரிமத் தகட்டையும் காண்போம்.
2. எழுத்துப் பிரிவு: உரிமத் தகட்டைக் கண்டறிந்ததும், அதை பயிர் செய்து புதிய படமாக சேமிக்க வேண்டும். மீண்டும் இதை ஓபன்சிவி பயன்படுத்தி எளிதாக செய்யலாம்.
3. எழுத்து அங்கீகாரம்: இப்போது, முந்தைய கட்டத்தில் நாம் பெற்ற புதிய படத்தில் சில எழுத்துக்கள் (எண்கள் / எழுத்துக்கள்) எழுதப்பட்டிருப்பது உறுதி. எனவே, எண்ணைக் கண்டறிய ஓ.சி.ஆர் (ஆப்டிகல் கேரக்டர் ரெக்னிக்னிஷன்) செய்ய முடியும். ராஸ்பெர்ரி பை பயன்படுத்தி ஆப்டிகல் கேரக்டர் ரெக்னிகிஷன் (OCR) ஐ ஏற்கனவே விளக்கினோம்.
1. உரிமம் தட்டு கண்டறிதல்
இந்த ராஸ்பெர்ரி பை லைசென்ஸ் பிளேட் ரீடரின் முதல் படி உரிமத் தகட்டைக் கண்டறிவது. ஒரு காரின் மாதிரி படத்தை எடுத்து, அந்த காரின் உரிமத் தகட்டைக் கண்டுபிடிப்பதில் ஆரம்பிக்கலாம். அதே படத்தை எழுத்துப் பிரிவு மற்றும் எழுத்து அங்கீகாரத்திற்கும் பயன்படுத்துவோம். விளக்கம் இல்லாமல் நீங்கள் நேராக குறியீட்டில் செல்ல விரும்பினால், முழுமையான குறியீடு வழங்கப்பட்ட இந்த பக்கத்தின் கீழே நீங்கள் உருட்டலாம். இந்த டுடோரியலுக்காக நான் பயன்படுத்தும் சோதனை படம் கீழே காட்டப்பட்டுள்ளது.

படி 1: படத்தை தேவையான அளவுக்கு மறுஅளவாக்குங்கள், பின்னர் அதை கிரேஸ்கேல் செய்யுங்கள். அதற்கான குறியீடு கீழே கொடுக்கப்பட்டுள்ளது
img = cv2.resize (img, (620,480)) சாம்பல் = cv2.cvtColor (img, cv2.COLOR_BGR2GRAY) # சாம்பல் அளவிற்கு மாற்றவும்
மறு தெளிவுபடுத்தல் பெரிய தெளிவுத்திறன் படங்களில் ஏதேனும் சிக்கல்களைத் தவிர்க்க எங்களுக்கு உதவுகிறது, மறுஅளவாக்குதலுக்குப் பிறகும் எண் தட்டு சட்டத்தில் உள்ளது என்பதை உறுதிப்படுத்தவும். அனைத்து பட செயலாக்க படிகளிலும் சாம்பல் அளவிடுதல் பொதுவானது. ஒரு படத்தை செயலாக்கும்போது வண்ண விவரங்களை நாங்கள் இனி சமாளிக்க வேண்டிய அவசியமில்லை. இந்த படி செய்யப்படும்போது படம் இதுபோன்றதாக மாற்றப்படும்

படி 2: ஒவ்வொரு படத்திலும் பயனுள்ள மற்றும் பயனற்ற தகவல்கள் இருக்கும், இந்த விஷயத்தில் எங்களுக்கு உரிமத் தகடு மட்டுமே பயனுள்ள தகவல், மீதமுள்ளவை எங்கள் திட்டத்திற்கு மிகவும் பயனற்றவை. இந்த பயனற்ற தகவல் சத்தம் என்று அழைக்கப்படுகிறது. பொதுவாக இருதரப்பு வடிப்பானைப் பயன்படுத்துதல் (மங்கலானது) ஒரு படத்திலிருந்து தேவையற்ற விவரங்களை அகற்றும். அதற்கான குறியீடு
சாம்பல் = cv2.bilateralFilter (சாம்பல், 11, 17, 17)
தொடரியல் என்பது இலக்கு_இமேஜ் = cv2.bilateralFilter (source_image, பிக்சலின் விட்டம், சிக்மா கலர், சிக்மாஸ்பேஸ்). மேலும் பின்னணி தகவல்களை மழுங்கடிக்க நீங்கள் சிக்மா நிறம் மற்றும் சிக்மா இடத்தை 17 முதல் அதிக மதிப்புகளுக்கு அதிகரிக்கலாம், ஆனால் பயனுள்ள பகுதி மங்கலாகாமல் கவனமாக இருங்கள். இந்த படத்தில் பின்னணி விவரங்கள் (மரம் மற்றும் கட்டிடம்) மங்கலாக இருப்பதை நீங்கள் காணலாம் என்பதால் வெளியீட்டு படம் கீழே காட்டப்பட்டுள்ளது. இந்த வழியில் இந்த பிராந்தியங்களில் கவனம் செலுத்துவதைத் தவிர்க்கலாம்.

படி 3: அடுத்த கட்டம் சுவாரஸ்யமானது, அங்கு நாம் விளிம்பில் கண்டறிதல் செய்கிறோம். இதைச் செய்ய பல வழிகள் உள்ளன , ஓபன்சிவியிலிருந்து கேனி எட்ஜ் முறையைப் பயன்படுத்துவது மிகவும் எளிதான மற்றும் பிரபலமான வழி . இதைச் செய்வதற்கான வரி கீழே காட்டப்பட்டுள்ளது
edged = cv2.Canny (சாம்பல், 30, 200) # செயல்திறன் எட்ஜ் கண்டறிதல்
தொடரியல் இலக்கு_இமேஜ் = சி.வி 2.கானி (மூல_படம், வாசல் மதிப்பு 1, வாசல் மதிப்பு 2). த்ரெஷோல்ட் வேல் 1 மற்றும் த்ரெஷோல்ட் மதிப்பு 2 ஆகியவை குறைந்தபட்ச மற்றும் அதிகபட்ச வாசல் மதிப்புகள். குறைந்தபட்ச வாசல் மதிப்பை விடவும், அதிகபட்ச வாசல் மதிப்பை விடக் குறைவாகவும் தீவிரம் சாய்வு கொண்ட விளிம்புகள் மட்டுமே காண்பிக்கப்படும். இதன் விளைவாக வரும் படம் கீழே காட்டப்பட்டுள்ளது

படி 4: இப்போது நாம் எங்கள் படத்தில் வரையறைகளைத் தேட ஆரம்பிக்கலாம், எங்கள் முந்தைய டுடோரியலில் ஓபன்சிவியைப் பயன்படுத்தி வரையறைகளை எவ்வாறு கண்டுபிடிப்பது என்பது பற்றி ஏற்கனவே கற்றுக்கொண்டோம், எனவே நாங்கள் அதைப் போலவே தொடர்கிறோம்.
NTS = cv2.findContours (edged.copy (), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) CNT க்கள் = imutils.grab_contours (CNT க்கள்) CNT க்கள் = வரிசைப்படுத்தப்பட்ட (CNT க்கள், முக்கிய = cv2.contourArea, தலைகீழ் = உண்மை) screenCnt = ஒன்றுமில்லை
கவுண்டர்கள் கண்டுபிடிக்கப்பட்டதும், அவற்றை பெரியதாக சிறியதாக வரிசைப்படுத்தி, மற்றவற்றை புறக்கணித்து முதல் 10 முடிவுகளை மட்டுமே கருதுகிறோம். எங்கள் படத்தில் கவுண்டர் ஒரு மூடிய மேற்பரப்பைக் கொண்டதாக இருக்கலாம், ஆனால் பெறப்பட்ட அனைத்து முடிவுகளிலும் உரிமத் தகடு எண்ணும் இருக்கும், ஏனெனில் இது ஒரு மூடிய மேற்பரப்பு.
பெறப்பட்ட முடிவுகளில் உரிமத் தகடு படத்தை வடிகட்ட, எல்லா முடிவுகளையும் நாங்கள் லூப் செய்து, நான்கு பக்கங்களும் மூடிய உருவமும் கொண்ட செவ்வக வடிவ விளிம்பைக் கொண்டுள்ளோம். உரிமத் தகடு நிச்சயமாக ஒரு செவ்வக நான்கு பக்க உருவமாக இருக்கும் என்பதால்.
cnts இல் c க்கான எங்கள் வரையறைகளுக்கு மேல் # வளையம் : # தோராயமாக விளிம்பு peri = cv2.arcLength (c, true) தோராயமாக = cv2.approxPolyDP (c, 0.018 * peri, true) # எங்கள் தோராயமான வரையறைக்கு நான்கு புள்ளிகள் இருந்தால், # நாம் நாங்கள் எங்கள் திரையில் காணலாம் என்று நினைத்து கொள்ளுங்கள் லென் என்றால் (தோராயமாக) == 4: screenCnt = சுமார் உடைக்க
0.018 மதிப்பு ஒரு சோதனை மதிப்பு; உங்களுக்கு எது சிறந்தது என்பதைச் சரிபார்க்க நீங்கள் அதைச் சுற்றி விளையாடலாம். அல்லது கார் படங்களை அடிப்படையாகக் கொண்டு பயிற்சியளிக்க இயந்திரக் கற்றலைப் பயன்படுத்தி அடுத்த நிலைக்கு எடுத்துச் செல்லுங்கள், பின்னர் சரியான மதிப்பைப் பயன்படுத்தவும். சரியான கவுண்டரைக் கண்டறிந்ததும், அதை ஸ்கிரீன் கான்ட் என்ற மாறியில் சேமித்து, அதைச் சுற்றி ஒரு செவ்வக பெட்டியை வரைந்து, உரிமத் தகட்டை சரியாகக் கண்டறிந்தோம் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

படி 5: நம்பர் பிளேட் எங்கே என்று இப்போது எங்களுக்குத் தெரியும், மீதமுள்ள தகவல்கள் எங்களுக்கு மிகவும் பயனற்றவை. எனவே நம்பர் பிளேட் இருக்கும் இடத்தைத் தவிர முழு படத்தையும் மறைப்பதன் மூலம் தொடரலாம். இதைச் செய்வதற்கான குறியீடு கீழே காட்டப்பட்டுள்ளது
# இலக்கத்தகடு தவிர வேறு பகுதியாக மறைக்கவும் முகமூடி = np.zeros (gray.shape, np.uint8) (மாஸ்க்,, 0.255, -1,) new_image = cv2.drawContours new_image = cv2.bitwise_and (படம், படம், = மறைக்க முகமூடி)
முகமூடி அணிந்த புதிய படம் கீழே இருப்பது போல் தோன்றும்

2. எழுத்துப் பிரிவு
ராஸ்பெர்ரி பை நம்பர் பிளேட் அங்கீகாரத்தின் அடுத்த கட்டம், உரிமத் தகட்டை படத்திலிருந்து பிரித்து அதை ஒரு புதிய படமாக சேமிப்பதன் மூலம் பிரித்தல். இந்த படத்தைப் பயன்படுத்தி அதில் உள்ள தன்மையைக் கண்டறியலாம். ரோய் (வட்டி பகுதி) படத்தை செதுக்குவதற்கான குறியீடு முக்கிய படத்தை உருவாக்குகிறது
# இப்போது பயிர் (x, y) = np.where (முகமூடி == 255) (topx, topy) = (np.min (x), np.min (y)) (bottomx, bottomy) = (np.max (x), np.max (y)) செதுக்கப்பட்ட = சாம்பல்
இதன் விளைவாக வரும் படம் கீழே காட்டப்பட்டுள்ளது. படத்தை பயிர் செய்வதில் பொதுவாக சேர்க்கப்படுவதால், அதை சாம்பல் நிறமாகவும், தேவைப்பட்டால் அதை விளிம்பாகவும் செய்யலாம். அடுத்த கட்டத்தில் எழுத்து அங்கீகாரத்தை மேம்படுத்த இது செய்யப்படுகிறது. இருப்பினும் இது அசல் படத்துடன் கூட நன்றாக வேலை செய்கிறது என்பதைக் கண்டேன்.

3. எழுத்து அங்கீகாரம்
இந்த ராஸ்பெர்ரி பை எண் தட்டு அங்கீகாரத்தின் இறுதி படி உண்மையில் பிரிக்கப்பட்ட படத்திலிருந்து நம்பர் பிளேட் தகவல்களைப் படிக்க வேண்டும். முந்தைய டுடோரியலில் செய்ததைப் போலவே, படத்திலிருந்து எழுத்துக்களைப் படிக்க பைட்ஸெராக்ட் தொகுப்பைப் பயன்படுத்துவோம். அதற்கான குறியீடு கீழே கொடுக்கப்பட்டுள்ளது
# எண் தட்டு உரையைப் படிக்கவும் = pytesseract.image_to_string (செதுக்கப்பட்ட, கட்டமைப்பு = '- psm 11') அச்சு ("கண்டறியப்பட்ட எண்:", உரை)
டெசராக்ட் இயந்திரத்தை எவ்வாறு கட்டமைப்பது என்பதை நாங்கள் ஏற்கனவே விளக்கியுள்ளோம், எனவே இங்கே தேவைப்பட்டால் மீண்டும் தேவைப்பட்டால் சிறந்த முடிவுகளைப் பெற டெசராக்ட் ஓ.சி.ஆரை உள்ளமைக்கலாம். கண்டறியப்பட்ட எழுத்து பின்னர் கன்சோலில் அச்சிடப்படுகிறது. தொகுக்கும்போது முடிவு கீழே காட்டப்பட்டுள்ளது

அசல் படத்தில் “HR 25 BR9044” என்ற எண் இருந்ததை நீங்கள் காண முடியும், அதே மதிப்பை திரையில் அச்சிட்டுள்ளதை எங்கள் நிரல் கண்டறிந்துள்ளது.
எண் தட்டு அங்கீகாரத்தில் தோல்வியுற்ற வழக்குகள்
இந்த ராஸ்பெர்ரி பை உரிம தட்டு அங்கீகாரத்தின் முழுமையான திட்டக் கோப்பை இங்கிருந்து பதிவிறக்கம் செய்யலாம், அதில் நிரல் மற்றும் எங்கள் நிரலைச் சரிபார்க்க நாங்கள் பயன்படுத்திய சோதனை படங்கள் உள்ளன. சொல்லப்படாமல், இந்த முறையின் முடிவுகள் துல்லியமாக இருக்காது என்பதை நினைவில் கொள்ள வேண்டும் . துல்லியம் படம், நோக்குநிலை, ஒளி வெளிப்பாடு போன்றவற்றின் தெளிவைப் பொறுத்தது. சிறந்த முடிவுகளைப் பெற, இதனுடன் இயந்திர கற்றல் வழிமுறைகளையும் செயல்படுத்த முயற்சி செய்யலாம்.
ஒரு யோசனையைப் பெற, கார் நேரடியாக கேமராவை எதிர்கொள்ளாத மற்றொரு உதாரணத்தைப் பார்ப்போம்.

நீங்கள் பார்க்க முடியும் என, எங்கள் நிரல் உரிமத் தகட்டை சரியாகக் கண்டறிந்து அதை பயிர் செய்ய முடிந்தது. ஆனால் டெசராக்ட் நூலகம் எழுத்துக்களை சரியாக அடையாளம் காணத் தவறிவிட்டது. உண்மையான “TS 08 UE 3396” க்கு பதிலாக OCR அதை “1508 ye 3396” என்று அங்கீகரித்துள்ளது. இது போன்ற சிக்கல்களை சிறந்த நோக்குநிலை படங்களைப் பயன்படுத்துவதன் மூலமோ அல்லது டெசராக்ட் இயந்திரத்தை உள்ளமைப்பதன் மூலமோ சரிசெய்ய முடியும்.
மற்றொரு மோசமான சூழ்நிலை என்னவென்றால், உரிமத் தகட்டை சரியாகக் கண்டறிய விளிம்பு தவறிவிட்டது. கீழேயுள்ள படத்தில் அதிகமான பின்னணி தகவல்களும் மோசமான விளக்குகளும் உள்ளன, அவை நிரல் எண்ணிலிருந்து உரிமத் தகட்டை அடையாளம் காணத் தவறிவிட்டன. இந்த விஷயத்தில் நாம் மீண்டும் இயந்திர கற்றலில் ரிலே செய்ய வேண்டும் அல்லது படத்தின் தரத்தை மேம்படுத்த வேண்டும்.

பிற வெற்றிகரமான எடுத்துக்காட்டுகள்
படத்தின் தரம் மற்றும் நோக்குநிலையின் பெரும்பாலான நேரங்கள் சரியானவை, நிரல் உரிமத் தகட்டை அடையாளம் காணவும், அதிலிருந்து எண்ணைப் படிக்கவும் முடிந்தது. பெறப்பட்ட சில வெற்றிகரமான முடிவுகளை கீழே உள்ள ஸ்னாப் ஷாட்கள் காட்டுகின்றன. மீண்டும் அனைத்து சோதனை படங்களும் இங்கே பயன்படுத்தப்படும் குறியீடும் இங்கே வழங்கப்பட்ட ZIP கோப்பில் கிடைக்கும்.


ராஸ்பெர்ரி பை பயன்படுத்தி தானியங்கி எண் தட்டு அங்கீகாரத்தை நீங்கள் புரிந்து கொண்டீர்கள் என்று நம்புகிறீர்கள், மேலும் உங்கள் சொந்தமாக ஏதாவது ஒன்றை உருவாக்கி மகிழ்ந்தீர்கள். ஓபன்சிவி மற்றும் டெசராக்ட் மூலம் வேறு என்ன செய்ய முடியும் என்று நீங்கள் நினைக்கிறீர்கள் ?, கருத்துப் பிரிவில் உங்கள் எண்ணங்களை எனக்குத் தெரியப்படுத்துங்கள். இந்த கட்டுரை தொடர்பாக ஏதேனும் கேள்விகள் இருந்தால், தயவுசெய்து அவற்றை கீழே உள்ள கருத்துப் பிரிவில் விடவும் அல்லது பிற தொழில்நுட்ப வினவல்களுக்கு மன்றங்களைப் பயன்படுத்தவும்.
