О, това е готово отпреди "извънредното събитие" (роди ни се второ чаве). Оттогава прогресът е много бавен, защото почти нямам никакво свободно време да се занимавам. Обаче вече има някакво просветление, та се надявам скоро да ми се отвори повече време за каквито и да били занимания.
А иначе имах някакви тестови видеа от тогава:
https://www.youtube.com/watch?v=ALw9myDIM9Ihttps://www.youtube.com/watch?v=br6kPmdU3usНо сега би трябвало да работи дори по-добре, заради разни подобрения които съм правил.
P.S
Що се отнася до портване върху GPU това е доста сложен въпрос на който не мога да се наема да отговоря. Някои стъпки позволяват паралелизация и там бихме намазали много. Други обаче определено не. Доста трудно е да се каже като цяло дали би имало смисъл - понеже дори не съм профилирал като хората и имам само някаква обща представа, а и доста сметки и тестове трябва да се направят.
Като цяло обаче се съмнявам да има огромно подобрение. Макар че с по-високи резолюции нещата ще се променят. Апропо, резолюцията е ключова в случая, има огроооомна разлика в качеството на разпознаването между 640x480 и 1280x960 примерно - но и на двете видеа правим сметките върху scale-нато на 640x480 видео, поради performance причини. Та оптимизации трябва да се правят определено - не знам дали портването върху GPU на част от сметките ще са част от тях.
P.S 2:
https://github.com/openalpr/openalpr
Разгледах го - ползва tesseract, което е лошо хрумване (понеже това беше и при мен първото хрумване, сам да си OCR-вам буквите и цифрите първоначално ми се видя шокираща идея). Ужасно бавно е това, дори да имаш гениален алгоритъм за локализация на табелата и да ти вади наистина само табели, без false positives. Самия tesseract е много тежко нещо, това е OCR софтуер за общо ползване, не е предвиждано да разпознава текст във видео в реално време.
Другото много лошо нещо на тесеракта е че с него ще видиш голям зор да разчиташ "малките" табели (тези квадратните които поставят на мотори или на определени автомобили където няма място за тях - пример с Алфа Ромео) - там номера е на два реда и tesseract-а ще се види в чудо.
tesseract-а между другото не върши и супер добра работа ако не е трениран изрично с DIN-1451 шрифта който се използва при европейските табели.
Както и да е, сам да си OCR-ваш се оказа далеч не толкова сложно нещо (макар че заклевам се тренирането на моделите е най-досадното нещо на този свят). В смисъл не става без да почетеш малко как се правят тези неща, но от друга страна не е чак такъв rocket science. А opencv ти дава наготово инструментариума.