TGINSIGHT CHAT
CV muhandis kundaligi
@learncvuz
TechnologiesLet's teach cameras to see #DL#ML#AI#CV#ComputerVision #OpenSource https://connected.uz/x/InomjonRamatov inomjonramatov.uz
Hiljutised postitused
Silt: #computer_vision · 8 postitust
Avaldatud 6. jaan
FEATURE DESCRIPTION: Kompyuter ko‘radigan “belgilar tili” 👁📌 Kompyuterlar tasvirni, raqmlar, matritsalar shaklda "ko'rishini" oldingi postlarda gaplashgan edik. Tasvir va undagi obektlarni tanib olish uchun unga ishonchli "ishoralar" kerak. Ana shu ishoralar: features (xususiyatlar, atributlar) deyilad. Model avval feature’larni o‘rganadi, keyin yangi rasmlarda ham shu belgilar orqali tanib oladi. 1) Feature’larni data structure’larda qanday saqlaymiz? Feature’lar turlicha: son, kategoriya, rasm, matn va hokazo. Ularni to‘g‘ri ko‘rinishda saqlash keyingi ishlov (processing) uchun juda muhim. Numerical features (sonli feature’lar): • Array/List: eng sodda ko‘rinish. Har bir element alohida feature. • Tensor: ko‘p o‘lchovli massiv. Katta data bilan ML framework’larda juda ko‘p ishlatiladi. Categorical features (kategoriya feature’lar): • Dictionary/List: kategoriyani label qilib saqlash (yoki bevosita qiymat sifatida). • One-hot encoding: kategoriya uchun binary vektor, har bir bit alohida kategoriyani bildiradi. Image features (tasvir feature’lar): • Pixel values: rasmni matritsa yoki multi-dimensional array sifatida saqlash. • CNN features: pre-trained CNN orqali “tayyor” feature’larni ajratib olish. 2) Yaxshi descriptor nimasi bilan “yaxshi”? Descriptor: Tasvir ichidagi obyekt yoki sahnaning muhim axborotini siqilgan, ammo mazmunli ko‘rinishda ifodalovchi feature to‘plami. Yaxshi descriptor quyidagilarga ega bo‘ladi: • Transformatsiyalarga moslashuvchan: rotation, translation, scaling, illumination o‘zgarsa ham “xulqini” yo‘qotmaydi. • Distinctiveness: obyektni boshqasidan ajratib bera oladi. • Dimensionality: juda katta bo‘lmasdan, yetarli axborotni saqlaydi. • Locality: lokal nuqtalar yoki kichik regionlarni yaxshi tasvirlaydi. • Repeatability: shovqin yoki kichik farqlarda ham barqaror chiqadi. • Matching algoritmlariga mos: masofa metric’lari yoki ML asosidagi matching bilan yaxshi ishlaydi. • Computational efficiency: tez hisoblanadi, real-time uchun muhim. • Adaptability: data o‘zgarishlariga moslasha oladi. 3) Feature descriptor’lar: SIFT va SURF Quyida 2ta klassik Descriptor lar bilan tanishamiz • SIFT: aniqlik va robustlik tarafdori • SURF: tezlik va samaradorlik tarafdori Ikkalasi ham tasvirdan keypoint topadi va ularni taqqoslash uchun descriptor yaratadi. 🔹 SIFT (Scale-Invariant Feature Transform) SIFT tasvirda turli scale’larda barqaror keypoint’larni topib, har biri uchun descriptor beradi. Qanday ishlashi to'liqroq tushuntirilgan manbalar: manba1, manba2. 🔸 SURF (Speeded Up Robust Features) SURF ham lokal feature topadi, lekin tezlik uchun optimizatsiya qilingan. Uning asosiy “quroli”: integral image va Haar wavelet’lar. Qanday ishlashi to'liqroq tushuntirilgan manbalar: manba1, manba2 Qo‘llanishlari: object recognition, image stitching, 3D reconstruction. ✅ Yakuniy takeaway Feature descriptor: modelning “ko‘rish lug‘ati”. Lug‘at qanchalik aniq va barqaror bo‘lsa, tanib olish va matching shunchalik ishonchli bo‘ladi. #fundamentals#computer_vision
Hashtags
Avaldatud 4. jaan
Tasvirni modelga berishdan oldin nima qilish kerak? Ko‘p hollarda “pre-processing” va “data augmentation” model natijasini bevosita hal qiladi. 1) Digital Image Processing: tasvir ustidagi amallar nimalar? Raqamli tasvir aslida sonlardan iborat matritsa. Demak biz uni turli yo‘llar bilan o‘zgartira olamiz: • Mantiqiy (Logical): AND/OR/XOR, NOT (invert) masalan: mask bilan obyektni ajratish • Statistik (Statistical): o‘rtacha (mean) filtrlash, median filtri, standart og‘ish (std) hisoblash • Geometrik (Geometrical): aylantirish (rotate), masshtablash (resize/scale), ko‘chirish (translate), kesish (crop) • Matematik (Mathematical): qo‘shish/ayirish (image add/subtract), ko‘paytirish (gain), bo‘lish (normalize) • Transform (o‘zgartirish) amallari: Fourier transform (FFT), DCT, Wavelet transform, Hough transform va hk. Amallar ham ikki xil: • Element-wise amallar: har bir piksel ustida amal bajariladi (masalan: darajaga ko‘tarish). • Matrix amallar: matritsa nazariyasiga tayangan holda tasvir manipulyatsiya qilinadi (konvolyutsiya, filterlash) 2) Data augmentation: Model train/validation/test dataset’da yaxshi natija berishiga qaramay, real muhitda ko‘pincha performance tushib ketadi. Sabab: real data xilma-xil, dataset esa yetarlicha turfa bo‘lmasligi mumkin. Data augmentation nima beradi? • Dataset’ni qo‘shimcha data yig‘masdan kattalashtiradi. • Variativlik kiritadi, generalization kuchayadi. • Overfitting kamayadi. • Labeling va cleaning xarajatlarini qisqartiradi. Bu yerda ham ikki usuldan foydalanishimiz mumkin: • Augmented data: mavjud tasvirlardan transform bilan yangi variantlar hosil qilish (geometric va color space transformatsiyalar). • Synthetic data: noldan generatsiya qilingan data, masalan DNNs va GANs orqali. Demak, pre-processing va data augmentation, real loyihada modelning amaliy natijasini ko‘taradigan asosiy tayanchlardan hisoblanar ekan. #fundamentals#computer_vision
Hashtags
Avaldatud 2. jaan
Bugun Computer Vision tizimlari shunchalik kuchayib ketdiki, ayrim vazifalarni odamdan ham yaxshi bajaryapti. Masalan, Hindistonda 2 g‘ildirakli transportlar soni juda ko‘p. Hamda ko‘pchilik ‘kaska’ taqmasdan haydab yuradi. Natija oddiy: xavf oshadi, jarohatlar ko‘payadi. Shu muammoni kamaytirish uchun ular qiziq yechim qilgan: ✅ Kamera + Computer Vision ✅ Kaskasiz haydovchini avtomatik aniqlaydi ✅ Ustiga-ustak davlat raqamini (license plate) ham o‘qiydi ✅ Va jarima avtomatik yoziladi Bu degani, CV faqat “rasmni taniydi” emas, u real hayotda intizom va xavfsizlikga ham xizmat qilyapti. Lekin bu faqat bitta misol. Computer Vision qayerlarda ishlaydi? 1) Avtonom mashinalar (Self-driving) Tesla, Waymo kabi kompaniyalar yo‘lni “ko‘rish” uchun CV’dan foydalanadi: • piyoda • yo‘l belgilari • lane chiziqlari • boshqa harakatdagi mashinalar hammasini kamera orqali aniqlab, real vaqtda qaror qabul qiladi. 2) Retail va e-commerce Amazon, eBay, Walmart’da CV siz ko‘rgan mahsulotni tanib: • o‘xshashlarini tavsiya qiladi • do‘konda zaxirani kuzatadi • mijoz harakatini tahlil qilib, layout va marketingni optimallashtiradi. 3) Zavodlarda sifat nazorati Assembly line’da CV: • defektni (tirnalish, noto‘g‘ri yig‘ilish) topadi • inspeksiyani avtomatlashtiradi • real vaqtli feedback beradi: nosoz mahsulotni ajratadi yoki operatorni ogohlantiradi. 4) Tibbiy tasvirlar (Medical Imaging) X-ray, CT, MRI’da: • o‘sma, sinish, anomaliyalarni topadi • segmentatsiya qiladi (tumor ajratish kabi) Computer Vision real hayotda xavfsizlik, ishlab chiqarish, tibbiyot va shu kabi ko’plab sohalarda ishlayapti. To‘g‘ri qurilgan CV tizimi vaqtni tejaydi, xatoni kamaytiradi va natijani yaxshilaydi. #fundamentals#computer_vision
Hashtags
Avaldatud 1. jaan
Computer Vision Oddiy ko'rinadigan “to'pni tepish”ning o'zi miyada bir nechta ishni bir zumda bajarishni talab qiladi: to'pni ko'rish, joylashuvini tushunish, harakatini kuzatish, qachon kelishini taxmin qilish, oyoq qayerda ekanini bilish va kerakli kuchni hisoblash. Computer Visionning markazidagi g'oya ham shu: tasvirdan mazmunli axborotni ajratib olish va uni tushunishga yaqinlashish. Computer Vision ta'rifi Computer Vision bu mashinalarni ko'ra oladigan qilish ilmi va texnologiyasi. Ya'ni, vizual ma'lumotni olish, qayta ishlash, tahlil qilish va tushunish, so'ng undan dunyo haqida mazmunli reprezentatsiya, tavsif va talqin (interpretation) chiqarish. Nega Deep Learning CVni “uchirib yubordi”? Oldinlari klassik yo'l: 1) image preprocessing orqali qo'lda features chiqarib olamiz 2) keyin shu featurelar ustida klassik ML ishlatamiz Bu ishlaydi, lekin domain knowledge va feature engineeringga qattiq bog'liq. Deep Learning (DL) esa xom tasvirdan (raw data) murakkab featurelarni o'zi o'rganadi. Katta dataset + DL birlashganda CV modellari ancha moslashuvchan va kuchli bo'lib ketdi. Shu sabab sohada renessans boshlanganini ko'ryapmiz. Image understanding darajalari: - Low-level: kontrastni o'zgartirish, sharpen qilish. Kirish ham chiqish ham tasvir - Mid-level: segmentation, obyekt atributlari, object classification. Natija tasvirga bog'liq metadata chiqadi - High-level: tasvirning to'liq mazmunini anglash, object recognition, scene reconstruction, image-to-text va hk. Batafsil shu yerda #fundamentals#computer_vision
Hashtags
Avaldatud 30. dets
Nega "yuqori resolution” har doim ham eng yaxshi yechim emas? Bir uyum mitti mushukchalarni suratga olishga uringan bo‘lsangiz, vaziyat tanish: eng yoqimli poza ko‘zingizga ilinadi, lekin u yarim soniya ham davom etmaydi. Siz fokusni, zoomni, burchakni sozlayotgan paytda, kadr allaqachon o‘zgargan bo‘ladi. Keyin qarasangiz, rasmlarning ko‘pi xira. Bu oddiy misol real dunyoda tasvir bilan ishlashning asosiy muammolarini juda yaxshi ko‘rsatadi. Real tasvirlashdagi muammolar nimada? - Ssenariy (obyekt holati) kamera moslashishga ulguradigan tezlikdan tezroq o‘zgaradi - Obyekt masofasi doim o‘zgaradi, fokus doim “qochadi” - Linza va masofa distorsiya keltirib chiqaradi - “Eng qiziq moment” yuzlab oddiy kadrlar orasida yo‘qolib ketadi Ko‘p odam birinchi bo‘lib shuni o‘ylaydi: kamera kuchliroq bo‘lsa, model ham aniqroq bo‘ladi. Amalda esa yuqori resolution ko‘pincha yangi muammolar keltirib chiqaradi: - CNN kabi model arxitekturalari odatda ma’lum o‘lchamdagi input kutadi - Katta tasvir katta model degani - Katta model ko‘proq vaqt, ko‘proq GPU, ko‘proq RAM talab qiladi - Batch kichrayadi, trening sekinlashadi, infratuzilma xarajati oshadi - Deploy masalasi yanada qiyinlashadi, ayniqsa model qurilmaning o‘zida ishlashi kerak bo‘lsa (nanny cam kabi) Yana bir muhim nuqta: resolution oshishi faqat signalni emas, shovqinni ham ko‘paytiradi. Ba’zan past aniqlikdagi tasvirda o‘rganish osonroq bo‘ladi. Eng to‘g‘ri yondashuv qanday? Asosiy xulosa bitta: Tasvir o‘lchamini “imkon qadar eng katta” emas, balki “muammo uchun yetarli va real infratuzilmaga mos” qilib tanlang. Amaliy yo‘l-yo‘riq: - Model qayerda ishlaydi? Cloudda yoki kameraning o‘zidami? - Real ishchi muhitdagi tasvirlar bilan treningdagi tasvirlar bir xilmi? - Past resolutionda ham vazifa yechiladimi? Avval shuni tekshirib ko‘ring Tasvirning xususiyatlari faqat obyektga emas, uni olish usuliga ham bog‘liq: - Ko‘rinadigan spektr, infraqizil, rentgen, ultratovush, elektron mikroskopiya kabi usullar bir xil ko‘rinmaydi - Ba’zi sensorlar polar grid kabi koordinata tizimida ishlaydi, bu esa preprocessing va model inputini o‘zgartiradi - Turli manbadan kelgan tasvirlarni birlashtirishda koordinatalarni moslashtirish (remap) kerak bo‘lishi mumkin Bias va real hayot farqi Model treningdagi datasetga o‘rganadi, lekin real hayotda boshqa sharoitni ko‘rsa, xatoliklar keskin oshishi mumkin. Bu holat measurement bias deb yuritiladi. Masalan: - Treningda yuqori aniqlikdagi “ideal” mushuk rasmlari - Real hayotda esa arzon kamera, yomon yorug‘lik, distorsiya, shovqin Natijada model “mushukni” emas, tasvir sharoitini o‘rganib qolishi ham mumkin. Yakuniy fikr Computer Vision tizimi qurishda birinchi qadam model tanlash emas. Birinchi qadam tasvir qanday olingani, qanday noise va bias olib kelishi, deploy infratuzilmasi qanday bo‘lishini tushunish. Shundan keyingina: - kerak bo‘lsa preprocessing qilasiz - kerak bo‘lsa modelni moslaysiz (fine-tune yoki last layer change) - va eng muhimi, real dunyoda ishlaydigan yechimga yaqinlashasiz Mavzu bo'yicha batafsil shu yerda #fundamentals#computer_vision
Hashtags
Avaldatud 29. dets
Raqamli tasvir qanday hosil qilinadi? Har safar telefoningizda suratga tushganingizda, aslida juda murakkab jarayon sodir bo‘ladi. Fizik nur raqamli piksellarga aylanadi. Bu jarayonning nomi: Image Acquisition tasvirni qabul qilish. Avval nur obyektga uriladi > Refleksiya (yoki o‘tish) yuz beradi > Sensor energiyani elektr signaliga aylantiradi > Signal raqamlashtiriladi, qarabsizki raqamli tasvir tayyor. CCD yoki CMOS sensorlar kameraning yuragi. Tasvirda detallarning tiniqligi piksellar soni - resolution ga bog'liq. Tasvirlarni siqish (Compression). Tasvirda ortiqcha ma’lumot ko‘p bo‘ladi: takrorlanuvchi piksellar, kam farqli qiymatlar, inson sezmaydigan detallar va hk. Shular Huffman, RLE, JPEG kabi algoritmlar bilan siqiladi. Shuning uchun 5 MB rasm 500 KB bo‘lishi mumkin, ko'zga sezilmasligi mumkin, lekin mashinalarga seziladi. Raqamli tasvir — bu nur, elektronika va matematikaning mukammal uyg‘unligi. Mavzu bo'yicha batafsil shu yerda. Qiziq fakt: 1838-yilda olingan birinchi inson fotosurati hali ham Parijda saqlanadi. Dunyo tarixidagi ilk fotosuratlar ekan. #fundamentals#computer_vision
Hashtags
Avaldatud 28. dets
Tasvir nima? Ko‘pchilik uchun bu savol oddiy tuyuladi: “Rasm bu rasm-da!” Lekin kompyuter uchun tasvir, bu raqamlar to‘plami, matritsa yoki funksiya. Har bir piksel yorqinlik (intensivlik) darajasi, yani kompyuter “ko‘radigan” narsa. Tasvir qanday ifodalanadi? Tasvirni matematik tarzda quyidagicha ifodalash mumkin: F(X,Y) — bu fazodagi har bir nuqtaning yorqinlik qiymati, piksellar (picture element). Agar 3D bo‘lsa, bu F(X,Y,Z) ga aylanadi, har bir nuqta esa voxel deb ataladi. Ya’ni, 2D tasvirda biz piksellarni ko‘ramiz, 3D tasvirda esa “hajmiy nuqtalar”, voxellarni. Rang va kanallar Rangli tasvirlar uchta asosiy kanal orqali ifodalanadi: 🔴 R — Qizil 🟢 G — Yashil 🔵 B — Ko‘k Har bir kanal 0–255 oralig‘ida qiymat oladi. Masalan, (255,0,0) — to‘liq qizil piksel. Computer Vision modellarini o‘qitishdan oldin, tasvir qanday yaratilishini, qanday o‘lchovlarda saqlanishini bilish zarur. Bu tushuncha obyekt aniqlash, segmentatsiya, tasvir klassifikatsiyasi kabi sohalarning asosini tashkil qiladi. Har bir piksel — bu ma’lumot. Har bir tasvir — bu hikoya. #fundamentals#computer_vision
Hashtags
Avaldatud 27. dets
Computer vision, mashinalarga ko‘rishni o‘rgatish haqida. Quyosh katta ne’mat! U bizga nafaqat issiqlik, balki ko‘rish qobiliyatini shakllanishida ham muhim o’rin tutgan. Deyarli barcha tirik mavjudotlar qandaydir tarzda yorug‘likni sezadi. Inson esa uni elektr signallarga aylantirib, miyaga yuboradi, u yerda bu signal “haqiqiy dunyo”ga aylanadi. Shu oddiy jarayon ko’rish evolyutsiyamizdagi eng muhim qadam bo‘lgan. Olimlar hatto markaziy nerv tizimi (miyamiz) aynan ko‘rish tufayli rivojlangan deb hisoblaydi. Endi koptok tepayotganingizni tasavvur qiling. Miyangiz bir soniyada: koptokni aniqlaydi, harakatini kuzatadi, traektoriyasini hisoblaydi, va hk. Siz buni o‘ylamay ham bajarasiz. Bu inson “vision”ining kuchi. Lekin kompyuter uchun bu jarayon aaaancha murakkab. Dasturchi sifatida siz “koptok sferik obyekt” deb qoidalar(if/else) yozishingiz mumkin, lekin Yer ham sferik, apelsin ham sferik. Boshqacha aytganda, qoidalar ishlamaydi, kontekst kerak. Biz esa kontekstni instinktiv bilamiz, yani yillar davomida shakllangan mental model orqali. Kompyuter ham shunday o‘rganishi kerak. Farq shunda: Dasturlash: qat’iy qoida. ML: moslashuvchan tushunish. Shuning uchun ham vision bu faqat obyekt aniqlash emas, balki kontekstni tushunish. “Kompyuterga ko‘rishni o‘rgatish, unga fikrlashni o‘rgatishda birinchi qadamdir” Nega mashinalarga “ko‘rish”ni o‘rgatyapmiz? Maqsad inson qilolmaydigan yoki juda sekin bajaradigan ishlarni avtomatlashtirish. Masalan, koptokni kuzatadigan model hakamga tez va adolatli qaror chiqarishda yordam beradi yoki ko‘zi ojiz tomoshabinlarga o‘yinni ovoz bilan tasvirlab beradi. Oddiy misol katta ta’sir. Bugun esa model biz ko‘rmagan narsani ham ko‘radi: rasmda yashirin detallarni topadi, videodan harakatni aniqlaydi, hatto matndan rasm yaratadi. Demak, computer vision bu endi faqat ko‘rish emas, tushunish, ta’sir qilish, va imkoniyat yaratish. #fundamentals#computer_vision
Hashtags