Инж. Красимир Методиев
Калибрирането на растерни изображения винаги е стояло на дневен ред при много от задачите, решавани от геодезисти, картографи и GIS специалисти. Повечето инженери използват специализирания софтуер наготово, без да се замислят как работят различните методи и което е по-важно – без да се преценява кой метод на килибриране е най-подходящ в конкретна ситуация. В тази статия се дават няколко примера за работата с методите без излишни теоретични подробности.
Още преди да стигне до скенера, чертежът, който искаме да се калибрира, е натоварен с деформации, които могат да бъдат следните:
- Грешка от изчертаване на елементите – инженерите преди нас са били значително по-старателни от днешните, но няма безгрешни хора, затова не са редки случаите на объркани координатни кръстове. Оттук нататък каквото и да се чертае, то носи в себе си грешката на координатната мрежа.
- Деформация в следствие на промени в влажността и температурата през годините на съхранение – през дългите години на съхранение многократно се променят влажността и температурата, което влияе на чертожните материали като картон, инженерно платно, мелинекс и други.
- Механични деформации – в повечето случаи чертежите не се съхраняват по надлежния ред и като добавим небрежното отношение при работа с тях, се стига до механичните деформации.
- Грешка от сканиране – накрая се добавя грешката от сканиране, която неминуемо всяка машина добавя към растерното изображение поради приплъзване на ролките или проблемна работа на сканиращата глава.
Като се има предвид, че възрастта на голяма част от чертежите, с които работим е 50, 60 и дори 100 години, ясно се очертава колко много деформации могат да бъдат събрани в един единствен регулационен план. Нашата цел е по такъв начин да калибрираме изображението, че максимално точно да възпроизведем дигитално копие на оригиналния чертеж, но преди калибрирането е сканирането.
Сканирането на един чертеж трябва да се прави с професионални барабанни или плоски скенери, като е много важно да се спазват следните оптимални параметри:
- Формат на файла – TIFF – този формат е задължителен, затова не бива да се използва JPEG за чертежи. Сам по себе си JPEG не е формат, а вид компресия на TIFF-а, но той е предназначен за снимки и загубата на качество е осезаема още под 96% качество. Съществува заблуда, че с JPEG се работи по-лесно поради малкия размер. Ако един и същи чертеж в TIF формат е 500 MB, a в JPEG формат е 42 MB, на компютърът ще му трябва повече време и ще върши по-тежка работа да декомпресира JPEG файла, вместо директно да работи с TIFF.
- Компресия на файла – LZW- При „чисти“ чертежи този вид компресия намалява чувствително размера на файла без забележима разлика в качеството на изображението.
- Разделителна способност – 400-600 dpi – високата резолюция стои в основата на качественото калибриране. Чертежи, сканирани под 400 dpi, още в зародиш са загубили ценна информация и затова трябва да бъдат сканирани отново. Над 600 dpi също не е оправдано да се сканира, защото файловете стават доста по-големи, а реално по-висока резолюция губи смисъл за чертежи, направени на ръка или писалков плотер.
- Дълбочина на цвета – 256 цвята, (8 битов цвят) – старите чертежи съдържат не повече от 10-15 цвята, затова 256 цветните изображения са напълно достатъчни за да се види всичко. Няма нужда от 24 битов RGB цвят за чертеж с 10-15 цвята. Това води и до прекомерна излишна големина на файловете от 1-2 GB, вместо от 300-400 MB за TIFF файлове.
След като чертежът е сканиран съобразно посочените горе параметри и координатната мрежа е изчертана, ако опитаме калибриране и анализиране на отклоненията в координатите на всеки кръст преди и след калибрирането, в идеалния случай трябва да получим нулеви разлики. Ако представим тези разлики в една повърхнина, генерирана от координатите X,Y на всяка точка (координатен кръст) и нейното отклонение като Z координата, в идеалния случай ще получим равнина. Каква ситуация имаме на практика показва следващата графика:
Повърхнината на грешките от схемата е реален пример за ситуацията след калибриране на регулационен план в мащаб М 1:1000 с размери 1153 м на 529 м от терена. Преди калибрирането грешките са много по-големи и разпределени неравномерно.
Изследването беше извършено върху тестова координатна мрежа, изчертана в AutoCAD, разпечатана на плотер HP DesignJet 800 и сканирана на професионален скенер Mustek Pro3200 A3. Тук можете да видите само схематично представяне на тестовата мрежа с цел изясняване на отделните работни зони.
Реално за калибриране са използвани само кръстовете, които се намират в Calibrate Area и са означени като Calibrate Cross. Останалите кръстове са използвани само за да се види ефектът, който оказва даденият метод на калибриране, когато имаме случай на екстраполация в различни варианти.
Трансформационните модели могат да бъдат няколко вида в зависимост от броя на коефициентите и степенните показатели. В следващите редове са дадени пет от най-често използваните модели, записани със съответните уравнения.
Helmert model – изотропен линеен модел, необходими са минимум 2 вектора
Affine model – анизотропен линеен модел, необходими са минимум 3 вектора
Bilinear model – необходими са минимум 4 вектора
Biquadratic model – необходими са минимум 9 вектора
Bicubic model – необходими са минимум 16 вектора
Параметрите aij се определят по МНМК. Всеки корекционен вектор има за начало координатен кръст от растера и за край място от векторната графика, където трябва да се премести растера.
По този начин чрез мрежа от корекционни вектори се получават достатъчно данни за определяне на aij коефициентите за съответния трансформационен модел. Проблемите се появяват когато поради една или друга причина не е възможно да се ползват всички координатни кръстове в даден чертеж, затова тестовата графика е разделена на такива зони.
На следващите графики са постигнатите резултати за всеки един от методите, като грешките са представен във вид на повърхнина, която не се нуждае кой знае от какъв коментар. Въпреки това ще кажа по няколко думи за всеки от методите.
Helmert – хелмертовата трансформация е най-елементарната и предполага транслация, ротация и еднакъв мащаб, Mx=My. Както се вижда от повърхнината, тя дава доста сериозни отклонения в режим на екстраполация и трябва да се избягва.
Affine – при афинната трансформация имаме анизотропен линеен модел, при който освен транслация и ротация, мащабите се различават по двете оси, Mx≠My. Това е най-често използваната трансформация по две причини. Първата причина е факта, че дълго време старите дигитайзери работеха с този вид трансформация и по инерция се приема валиден и за векторизиране. Втората причина е непознаването на трансформационните модели от по-висока степен и оттук нежелание за тяхното използване. На повърхнината се вижда, че афинната трансформация се справя по-добре с екстраполацията, но в един от ъглите има недопустимо високи разлики. Въпреки това, при много лоши чертежи този модел може да се окаже единствено подходящ.
Bilinear – билинейната трансформация се използва за по-сложно деформирани изображения, но и тя както другите модели не се справя добре с екстраполацията. Въобще моделите от по-висока степен не са подходящи за чертежи, при които координатната мрежа не обхваща от всякъде изображението. Можете да забележите на повърхнината, че там, където се получава трапец, реално имаме интерполация+екстраполация и билинейният модел се справя по-добре от хелмерт и афинна.
Biquadratic – биквадратичният модел, както и останалите два нелинейни модела, работят много добре когато имаме равномерно разположена в обекта координатна мрежа. При екстраполация обаче се получават отново високи отклонения и затова трябва внимателно да се прилага.
Bicubic – бикубичният модели изисква минимум 16 вектора, като неговите резултати са най-добри при равномерно разположена мрежа вектори без липсващи координатни кръстове. Това е моделът който винаги трябва да се предпочита при добри чертежи с ясно и правилно начертани координатни кръстове. Когато имаме обаче случай на екстраполация, тогава деформациите са сериозни и трябва много внимателно да се ползва бикубична трансформация.
Bicubic+1 point – ако към бикубичния модел добавим само една точка в полето на екстраполация, общата грешка се намалява значително и можем да разчитаме на този модел. Въпреки това, в северозападната част на повърхнината отново имаме големи отклонения заради високата степен на модела. Колкото повече се отдалечаваме от равномерно разположената трансформационна мрежа, толкова по-силно са изразени тези деформации.
В заключение мога да кажа, че няма строго правилно, по което можем да работим. Всеки един чертеж е уникален и носи в себе си различен тип деформации. Нашата задачата е да определим по какъв начин да въздействаме на растерното изображение така, че да постигнем след векторизирането графика, която е максимално близо до оригинала. С такава цел се прилагат споменатите трансформационни модели и само тяхното познаване ще ни помогне да използваме правилно тези инструменти.