Friday, March 2, 2007

Герман улс, Ханновер хот, Лазерын судалгааны институт

2001 он. Lazer Zentrum Hannover

КТМС-д багшилаад нэлээд хэдэн жил болов. Зах зээлийн нийгэмд шилжих шилжилтийн үе хэмээн тодорхойлдог үед КТМС-н олон багш нар гадаад явж (ер нь бараг ихэнх нь эргэж ирээгүй шүү) байдал хэцүүдсэн үед бидний хэдэн залуучууд дөнгөж төгсөөд багш болсон бөгөөд олон зуун хүүхдүүдтэй ажилладаг нэлээд хүнд үе байсан учир цаг хугацаа хурдан өнгөрч нэг л мэдэхэд 4 жил багшилчихсан байсан. Сургуулийн хувьд тогтвор сууршильтай ажиллаж байгаа залуу багш нарыгаа урамшуулах нэг хэлбэр нь төрөл бүрийн хэлбэрээр гадаадад явуулдаг байв. Тэр жил ТИС-д залуу багш нарын дунд явуулсан хэлний шалгалтанд гайгүй оноо авсныхаа ачаар ХБНГУлсыг зорих болов.

Тэр үед нягтлан бодох бүртгэлийн програм бичиж эхэлсэн, мөн Uniface системийнхээ 2.0 хувилбарыг дуусгаад Удирдлагын Академи, Санхүү Эдийн Засгийн Дээд сургуулиудад суурилуулчихсан нэлээд ажил ихтэй байсан боловч энэ бүхнээ хаяад явахаар болсон юм.

Анх удаа Европд хөл тавьлаа. Би хувьдаа өндөр өндөр шил толь болсон барилгуудтай орчин үеийн хотод дуртай учир буурал Европ нэг их таалагдсангүй. Ажиллах институтдаа очлоо. Миний удирдлага гээд Яшке гээд герман залуу байна аа. Анх даалгавраа авлаа. Намайг "Invisible marking" гээд төсөл дээр програм бичүүлэхээр болвоо. Надтай цуг ажиллах нэг Чех докторант залуутай танилцууллаа, тэр энэ төсөл дээр 9 сар ажиллажээ.

Төслийн маань гол даалгаврыг хялбараар тайлбарлавал ийм юм. Лазер ашиглан ямар нэгэн гадаргуу дээр код хэвлэнэ (жишээ нь машины эх биеэн дээр ч юмуу). Дараа нь нөгөө гадаргуугаа будаж, кодыг харагдахгүй болгоно. Нууц тэмдэглэгээ хийсэн гэсэн үг. Тэрхүү нууц тэмдэглэгээг тусгай зориулалтын инфра камераар уншиж болно. Гэхдээ далд байгаа кодыг уншиж буй учир уншсан зургийн чанар тааруу, янз бүр байх болно. За ингээд л миний ажил эхэлнэ дээ. Нөгөө уншсан зургуудыг Зургийн боловсруулалтын алгоритм бичиж ялгаж таних програм зохиох ёстой.

Жишээ зургууд:
~ (+90 grad) ~ (-10 grad) ~ (+30 grad) ~ ( 0 grad)
















За ингээд ажилдаа орлоо. Эхлээд зургийг хар цагаан зурагт шилжүүлэх хэрэгтэй болов. Histogram үүсгэн threshold цэг тогтоон хар цагаан зураг үүсгэх ёстой боловч зургийн боловсруулалтын онолын дагуу хийвэл тухайн код маань ялгарч гарах магадлал тун муутай юм. Учир нь камераар авсан зургийн background нь тод хараас саарал руу уусалттай байх бөгөөд уусалт нь хаана ч байж болзошгүй тул histogram үүсгээд л шууд хар цагаан болчихгүй нь тодорхой болов. Зургийн боловсруулалтын баахан ном аваад үзвээ. Олигтой алгоритм олддоггүй. Тэгээд histogram байгуулах аргаа жаахан хөгжүүлээд нэг биш нэлээд хэдэн threshold цэгтэй байхаар болгож өөрчлөв. Энэ арга маань нэлээд зураг дээр гайгүй ажиллаж байсан боловч төгс болдоггүй. Тэгээд ажлаа тараад гэртээ байж байхдаа байнга боддог ажилтай болов. Гэтэл нэг өдөр нэг боломжийн санаа төрөөд явчихлаа. Өнгөний тархалт нь алаг цоог биш ууссан шинж чанартай байх тул гадна талын хүрээнээс нь эхлээд дотогшоо хумих байдлаар өнгө бодож олох нэг бяцхан томьёо бичээд нөгөөхөө ашиглаад алгоритм бичээд background зургийг нь үүсгээд хаясан чинь ерөөсөө background-ийг нь тэр маш цэвэрхэн тастаад авчихсан юм шиг гоё зураг үүсдэг байгаа. Тэгээд л ориг зургаасаа background-аа хасаад л бараг хар цагаан зураг гарч ирж байгаа юм, дараа нь histogram байгуулаад threshold цэг аваад хэдэн үйлдэл хийсэн л дээ гэхдээ л асуудал шийдэгдчихсэн зураг дээр учраас хялбар болсон. Тэгээд би бөөн баяр, хийсэн ажлаа боссдоо үзүүллээ. Босс гайхаад толгой сэгсрээд, энэ зургууд дээр үз гээд баахан юм өглөө, тэгсэн бүгд дээр нь OK ажиллаж байгаа юм чинь. Босс миний EXE-г аваад өөрөө баахан зураг дээр туршаад бас амжилттай болов. Босс хэлж байна аа, бид нар background зургийг нь гаргаж авах гэж 1000 удаа blur хийх алгоритм ашиглаж байсан боловч амжилт олоогүй гэж. Би бараг татаж унах шахсан шүү, тийм тэнэг байхдаа яахав дээ. Эсвэл сэтгэлгээ нь нэг загварт баригдчихсан зургийн боловсруулалт гэхээр л ийм үйлдлүүд байх ёстой тэднийг л заавал ашиглана гэж хамгийн түрүүнд боддог байх.

Тэгээд ажлын эхний оролдлого амжилттай болж хар цагаан зураг гаргаж авсан юм. Дараа нь тухай кодныхоо байрлалыг олж тогтоох, нэг cell-ийн хэмжээг олох, матриц үүсгэх, таних гээд зөндөө ажлууд хийсэн, гэхдээ эд нар нэг их хүнд байгаагүй. Харин код маань эргэсэн байгаа тохиолдолд эргэлтийн өнцөгийг олж тогтооно гэдэг нэлээд хүнд байсан. Эргэлтийн өнцөгийг олж тогтоосныхоо дараа тухайн өнцөгөөр координатын тэнхлэгээ эргүүлж байгаад дээрх алгоритмуудаа ажиллуулчихсан. Тэгээд л энэ ажил маань бүрэн дууссан даа. Аан тийм дараа нь энэ алгоритмоо өөр програм дээрээс дуудах DLL болгосон юм бна.

Надтай хамт ажиллаж байсан Чех докторант LabView дээрх бэлэн алгоритм, функц ашиглаад яг миний хийж байгаа юмыг өмнө нь 9 сар хийсэн цаашид ч надтай зэрэг хийсэн боловч дуусгаагүй, харин би Visual C дээр хийсэн бөгөөд ямар нэг бэлэн алгоритм, функц ашиглаагүй хийсэн бөгөөд 1 сар гаруйн хугацаанд дээрх бүх үйлдлээ дуусгасан.

Тэгтэл би харин магтаал биш харин эвгүй хандлагыг мэдэрч эхэлсэн шүү. Европынхон ялангуяа Германчууд Ази хүнд тааламжгүй ханддаг. Хамт ажиллаж байсан Чех залуу өөрөө хүлээн зөвшөөрөөд би үнэхээр муу програмист юм байна, гутарч байна гээд надад бас босст хэлсний дараачаас эхлээд надад босс таагүй хандаад эхэлсэн юм. Харин би тэр үед өөрөөрөө, би монгол хүн гэдгээрээ, хэвшмэл загвар сэтгэлгээнд баригдаагүй чөлөөтэй сэтгэдгээрээ дотроо ямар их бахархсан гээч. Ялгаагүй ямар ч монгол залуу миний адил сэтгэж хийж чадна шүү. Тэгээд Чех залуу маань нутаг буцсан, би нэг хэсэг дараачийн төслийн даалгавар авах хүртлээ зүгээр суусан даа. Зүгээр суух хугацаандаа өөрийн авч очсон олон CD дуунуудаараа free-mongolian-mp3-radio-station ажиллуулж байсан.

Хэсэг хугацааны дараа өөр шинэ төсөл дээр шилжиж, шинэ босстой болж, шинэ Испани хамтрагчтай болсон доо.

Дашрамд дурдахад зургийн боловсруулалтын талаар миний дээр хийсэнтэй ижил төстэй ажил хийх гэж буй бол би чадах чинээгээрээ тусалж дэмжихэд бэлэн байх болно.

No comments: