Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пiдручник_РСПЗ_03_11.doc
Скачиваний:
24
Добавлен:
08.05.2019
Размер:
3.48 Mб
Скачать

7.3. Забезпечення розпізнавання поштових індексів у реальному часі

Однією з основних вимог до розпізнавальних систем поштового зв’язку є забезпечення розпізнавання поштових індексів у реальному часі. Це означає, що час Тр, який може бути виділений для розпізнавання цифр індексу, включаючи зчитування графічного зображення, не може перевищувати значення періоду циклу Тц

Тр Тц = 1/Qм,

де Qм – продуктивність сортувальної машини.

Так, при Qм = 36000 відправлень за годину Тр Тц = 0,1 с.

Враховуючи складність алгоритмів розпізнавання цифр індексу, особливо нормалізованих рукописних, кількість операцій з розпізнавання однієї цифри поштового індексу складає близько 106, отже, ЕОМ, що здійснює розпізнавання п’яти цифр індексу, має виконувати 5∙106 операцій за 0,1 секунди, тобто, близько 50∙106 операцій за секунду.

При цьому не враховано операції з пошуку поштового індексу, його попереднього оброблення і т.і., виконання яких потребує практично подвоїти вимоги до швидкодії ЕОМ. Адаптація алгоритмів розпізнавання до афінних спотворень графічних зображень потребує ще дворазового підвищення швидкодії ЕОМ.

Таким чином, забезпечення розпізнавання поштових індексів у реальному часі залишається актуальною задачею.

Організація процесу розпізнавання поштових індексів суттєво залежить від прийнятої форми подання його цифр.

На рис. 7.6 наведено основні форми подання цифр індексу (а – стилізовані, б – нормалізовані з окремими обмежуючими рамками для кожної цифри, в – нормалізовані з примикаючими обмежуючими рамками для кожної цифри, г – нормалізовані з єдиною обмежуючою рамкою для усіх цифр індексу, д – ненормалізовані цифри індексу).

Рисунок 7.6 – Форми подання цифр індексу

Для автоматизованого оброблення призначені конверти розмірами

220 х 110 і 162 х 114 мм.

На рис. 7.7 наведено можливі варіанти взаємного розташування конвертів у процесі автоматизованого сортування.

Рисунок 7.7 – Варіанти взаємного розташування конвертів у процесі автоматизованого сортування

Як випливає з рис. 7.7, значення Тц не залежить від розмірів конвертів і визначається відстанню між передніми краями двох сусідніх конвертів, яка, з урахуванням технологічного проміжку між конвертами, складає близько 250 мм, що при швидкості переміщення конверта 2,5 м/с відповідає значенню Тц = 100 мс.

Різниця між довжинами конвертів складає 220 - 162 = 58 мм, якій відповідає час проходження конверта Т = 23 мс.

Довжина єдиної обмежуючої рамки або сумарна довжина обмежуючих рамок усіх цифр індексу складає Ті = 30 ... 50 мм. Середньому значенню цієї величини 40 мм відповідає час проходження конверта 16 мс.

Виходячи з цього, час, що може бути виділений для розпізнавання цифр індексу, складає:

  • рис. 7.7,а: Тр = Тц - Ті = 84 мс;

  • рис. 7.7,б: Тр = Тц - Ті = 84 мс;

  • рис. 7.7,в: Тр = Тц - Ті + Т = 107 мс;

  • рис. 7.7,г: Тр = Тц - Ті - Т = 61 мс.

Основними напрямами розв’язання задачі забезпечення розпізнавання поштових індексів у реальному часі є:

  • суттєве підвищення продуктивності однопроцесорної ЕОМ;

  • застосування багатопроцесорних ЕОМ.

На рис. 7.8 наведено основні варіанти організації процесу розпізнавання цифр індексу при використанні однопроцесорної ЕОМ (а – розпізнавання у проміжках між зчитуванням цифр одного індексу; б – розпізнавання у проміжках між зчитуванням індексів з сусідніх конвертів).

Рисунок 7.8 – Варіанти організації процесу розпізнавання цифр індексу

при використанні однопроцесорної ЕОМ

У варіанті а при довжині трафарету 5 мм і проміжку між цифрами 4 мм час зчитування однієї цифри становить Тзц = 2 мс, а час розпізнавання однієї цифри Трц = 1,6 мс.

У варіанті б при довжині обмежуючої рамки 40 мм час зчитування усіх цифр індексу становить Тзі = 16 мс, а час їх розпізнавання (рис. 7.7) Трі = 61...107 мс.

На рис. 7.9 наведено основні варіанти організації процесу розпізнавання цифр індексу при використанні багатопроцесорної ЕОМ (а – розпізнавання при застосуванні окремих обмежуючих рамок для кожної цифри індексу; б – розпізнавання при застосуванні єдиної обмежуючої рамки для всіх цифр індексу).

Рисунок 7.9 – Варіанти організації процесу розпізнавання цифр індексу при використанні п’ятипроцесорної ЕОМ

Як випливає з рис. 7.9, у варіанті а розпізнавання кожної цифри індексу розпочинається відразу після її запису, а у варіанті б – лише після запису усіх цифр індексу. Внаслідок цього, при використанні окремих обмежуючих рамок для кожної цифри індексу час, що може бути виділений для розпізнавання цифр індексу кожним з процесорів значно перевищує час такого розпізнавання при використанні єдиної обмежуючої рамки для усіх цифр індексу.

На рис. 7.10 наведено варіанти організації багатопроцесорного розпізнавання цифр індексів на адресних ярликах посилок (а – кожний з процесорів розпізнає одну стилізовану або нормалізовану цифру; б – кожний з процесорів розпізнає один сегмент однієї стилізованої цифри).

Як випливає з рис. 7.10, кількість процесорів у варіанті а складає 15, а у варіанті б – 105. Майже у стільки ж разів зростає час, що може бути виділений для розпізнавання поштових індексів порівняно з часом, що може бути виділений для розпізнавання поштових індексів при використанні однопроцесорної ЕОМ.

Рисунок 7.10 – Варіанти організації багатопроцесорного розпізнавання цифр індексів на адресних ярликах посилок

Те, що кожний з процесорів багатопроцесорної ЕОМ працює за однією і тією ж програмою, робить доцільним застосування для розпізнавання цифр індексу обчислювальних систем з паралельними процесорами, що синхронно виконують одні і ті ж операції.

Кожний з паралельних процесорів являє собою вельми спрощену ЕОМ і містить лише власне процесор, в якому передбачене виконання елементарних арифметичних і логічних операцій, і пам’ять, об’єм якої визначається вимогами задачі розпізнавання цифр індексу.

Управління виконанням операцій паралельними процесорами здійснюється центральним процесором.

Внаслідок різних виходних даних у паралельних процесорах можуть вироблятися умови вибору різних гілок програми розпізнавання, тому основною функцією центрального процесора є забезпечення виконання поточних команд програми тими паралельними процесорами, в яких відповідні умови виконані (активні процесори), і переривати роботу тих паралельних процесорів, в яких зазначені умови не виконані (пасивні процесори). У результаті час роботи усіх паралельних процесорів вирівнюється.

Активні процесори сприймають усі команди центрального процесора (у тому числі команди переведення їх у пасивні процесори), а пасивні процесори – лише команду переведення їх у активні процесори.

Визначення груп активних і пасивних процесорів виконується в усіх точках, де передбачене розгалуження або з’єднання гілок програми.

Критерієм оптимальності управління паралельними процесорами виступає мінімізація кількості проходжень кожної гілки програми.

У безциклових програмах та у програмах з лічильними циклами, які можуть бути розгорнуті у безциклові програми, а саме такі програми використовуються в задачах розпізнавання графічних зображень, кількість проходжень кожної гілки програми при оптимальному управлінні дорівнює одиниці.

Для забезпечення оптимального управління в зазначених програмах достатньо додержуватися простого правила: у будь-якій точці розгалуження або з’єднання гілок програми проходження будь-якої вихідної гілки повинно провадитися лише після проходження усіх вхідних гілок.

На рис. 7.11 наведено приклад графа безциклової програми.

Рисунок 7.11 – Приклад графа безциклової програми

Граф програми містить 16 гілок (дуг), які розгалужуються і з’єднуються у 10 точках (вершинах).

У табл. 7.10 наведено три варіанти порядку проходження гілок програми графа рис. 7.11 відповідно до наведеного правила, у кожному з яких кожна гілка проходиться лише один раз.

Таблиця 7.10 – Варіанти порядку проходження гілок програми

№ пп.

Варіант проходження гілок програми

1

2

3

1

1

1

1

2

2

2

2

3

3

4

4

4

4

5

3

5

5

6

7

6

6

3

10

7

7

7

8

8

8

8

6

9

9

9

9

10

10

10

12

11

11

12

14

12

12

14

5

13

13

11

13

14

14

13

11

15

15

15

15

16

16

16

16

Структурний алгоритм управління паралельними процесорами за варіантом 1 табл. 7.10 включає наступні команди:

  1. Формування групи процесорів G1.

  2. Переведення групи процесорів G1 в активний режим.

  3. Проходження гілки 1 програми.

  4. Переведення групи процесорів G1 в пасивний режим.

  5. Формування з групи процесорів G1 груп процесорів G2, G3.

  6. Переведення групи процесорів G2 в активний режим.

  7. Проходження гілки 2 програми.

  8. Переведення групи процесорів G2 в пасивний режим.

  9. Переведення групи процесорів G3 в активний режим.

  10. Проходження гілки 3 програми.

  11. Переведення групи процесорів G3 в пасивний режим.

  12. Формування з групи процесорів G2 груп процесорів G4, G5, G6.

  13. Переведення групи процесорів G4 в активний режим.

  14. Проходження гілки 4 програми.

  15. Переведення групи процесорів G4 в пасивний режим.

  16. Переведення групи процесорів G5 в активний режим.

  17. Проходження гілки 5 програми.

  18. Переведення групи процесорів G5 в пасивний режим.

  19. Переведення групи процесорів G6 в активний режим.

  20. Проходження гілки 6 програми.

  21. Переведення групи процесорів G6 в пасивний режим.

  22. Формування з групи процесорів G3 груп процесорів G7, G8, G9.

  23. Переведення групи процесорів G7 в активний режим.

  24. Проходження гілки 7 програми.

  25. Переведення групи процесорів G7 в пасивний режим.

  26. Переведення групи процесорів G8 в активний режим.

  27. Проходження гілки 8 програми.

  28. Переведення групи процесорів G8 в пасивний режим.

  29. Переведення групи процесорів G9 в активний режим.

  30. Проходження гілки 9 програми.

  31. Переведення групи процесорів G9 в пасивний режим.

  32. Формування з груп процесорів G4, G7 груп процесорів G10, G11.

  33. Переведення групи процесорів G10 в активний режим.

  34. Проходження гілки 10 програми.

  35. Переведення групи процесорів G10 в пасивний режим.

  36. Переведення групи процесорів G11 в активний режим.

  37. Проходження гілки 11 програми.

  38. Переведення групи процесорів G11 в пасивний режим.

  39. Формування з груп процесорів G6, G9 груп процесорів G12, G13.

  40. Переведення групи процесорів G12 в активний режим.

  41. Проходження гілки 12 програми.

  42. Переведення групи процесорів G12 в пасивний режим.

  43. Переведення групи процесорів G13 в активний режим.

  44. Проходження гілки 13 програми.

  45. Переведення групи процесорів G13 в пасивний режим.

  46. Формування з груп процесорів G8, G10, G12 групи процесорів G14.

  47. Переведення групи процесорів G14 в активний режим.

  48. Проходження гілки 14 програми.

  49. Переведення групи процесорів G14 в пасивний режим.

  50. Формування з груп процесорів G5, G11, G13 групи процесорів G15.

  51. Переведення групи процесорів G15 в активний режим.

  52. Проходження гілки 15 програми.

  53. Переведення групи процесорів G15 в пасивний режим.

  54. Формування з груп процесорів G14, G15 групи процесорів G16.

  55. Переведення групи процесорів G16 в активний режим.

  56. Проходження гілки 16 програми.

  57. Переведення групи процесорів G16 в пасивний режим.