sayısal görüntü
TRANSCRIPT
BLM429 Görüntü İşlemeye Giriş
Yrd. Doç. Dr. Caner ÖZCAN
Hafta 1 Sayısal Görüntü İşlemeye Giriş ve
Temel Adımlar
Fall in love with the process, and the results will come. ~ Eric Thomas
Derse Giriş
2
►Ders Web Sitesi: www.canerozcan.net
►Ofis Saatleri: Salı 15:00-17:00
Perşembe 13:00-15:00
ya da email ile randevu alınız: [email protected]
►Ders Kitapları: – Sayısal Görüntü İşleme, Palme Yayıncılık, Üçüncü Baskıdan
Çeviri (Orj: Digital Image Processing, R.C. Gonzalez, R.E. Woods)
Derse Giriş
3
Amaçlar
4
►Görüntü işlemede yaygın olarak kullanılan temel kavram ve algoritmalar kapsar
►Görüntüleri işlemede uygulamalı deneyimi geliştirir
►OpenCV (Open Source Computer Vision) kütüphanesini öğrenmek
►Gelişmiş yöntemler hakkında eleştirel düşünmeyi geliştirmek
Önkoşullar
5
►Sinyaller ve sistemler
►Lineer Cebir – Matrisler, Matris İşlemleri
– Determinantlar, Sistemleri Lineer Denklem
►Olasılık ve İstatistik – Olasılık yoğunluk fonksiyonu
– Olasılık dağılımı
– Ortalama, varyans, kovaryans, korelasyon
– Gauss dağılımı
►İyi programlama becerileri
Derse Giriş
6
►Notlandırma Ödev: %20
Vize Sınavı: %40
Final Sınavı: %40
►Bonus: Makale Okuma ve Proje
Derse Giriş
7
►Makale Okuma ve Proje Radar görüntü işleme uygulamaları
Medikal görüntü analizi (MRI/PET/CT/X-ray tümör tespit/sınıflandırma)
Yüz, parmak izi ve diğer nesne tespitleri
Görüntü ve video sıkıştırma
Görüntü bölütleme ve gürültü azaltma
Sayısal görüntü/video damgalama / steganografi ve tespit
İlgilendiğiniz bir konu..
İçerik
8
1. Giriş ► Sayısal Görüntü İşleme Nedir?
► Sayısal Görüntü İşlemenin Başlangıcı
► Sayısal Görüntü İşlemeyi Kullanan Alanlara Örnekler
► Sayısal Görüntü İşlemedeki Temel Adımlar
► Bir Görüntü İşleme Sisteminin Bileşenleri
Bir resim, on binden fazla kelimeye bedeldir!!
9
Giriş
10
Giriş
11
►Sayısal Görüntü İşleme Nedir?
Sayısal Görüntü
— iki boyutlu bir fonksiyon
x ve y uzamsal koordinatlardır
f fonksiyonun herhangi bir (x,y) koordinatındaki genliği görüntünün o noktadaki
yeğinlik (intensity) veya gri seviyesi (gray level) olarak adlandırılır.
Sayısal Görüntü İşleme
— sayısal görüntüleri bilgisayar aracılığıyla işler
alçak-seviye: girdileri ve çıktıları görüntülerdir
orta-seviye: girişleri genellikle görüntü fakat çıkışları bunlardan oluşturulan nesnelerdir
yüksek-seviye: nesneler topluluğuna görme ile ilgili bilişsel fonksiyonları uygular
Piksel — sayısal görüntünün bileşenleri
( , )f x y
Londra-Newyork arasındaki denizaltı kablosu
Sayısal Görüntü İşlemenin Başlangıcı
12
Sayısal Görüntü İşlemenin Başlangıcı
13
Denizaltı kablosu aracılığıyla Londra ve Newyork arasında ilk kez gönderilmiştir. Gerekli olan zaman bir haftadan daha fazlayken üç saatten daha az bir süreye inmiştir.
Sayısal Görüntü İşlemenin Başlangıcı
14
Sayısal Görüntü İşlemenin Başlangıcı
15
Görüntü Kaynakları
16
►Elektromanyetik (EM) enerji spektrumu
►Akustik
►Ultrasonik
►Elektronik
►Bilgisayarlar tarafından üretilen sentetik görüntüler
Elektromanyetik (EM) Enerji Spektrumu
17
Görüntüleme:
• Gamma-ışını: nükleer tıp ve astronomik gözlemler
• X-ışını: medikal teşhis, sanayi ve astronomi, vb.
• Mor Ötesi Bandı: litografi, endüstriyel denetim, mikroskopi, lazerler, biyolojik görüntüleme ve astronomik gözlemler
• Görünür ve Kızılötesi Bantlar: ışık mikroskopi astronomi, uzaktan algılama, sanayi ve emniyet
• Mikrodalga Bandı: radar
• Radyo Bandı: tıp (MRI gibi) ve astronomi
18
Örnekler: Gamma-Işını Görüntüleme
19
Örnekler: X-Işını Görüntüleme
20
Örnekler: Mor Ötesi Bandında Görüntüleme
21
Örnekler: Işık Mikroskopu Görüntüleme
22
Örnekler: Görünür ve Kızılötesi Görüntüleme
23
Örnekler: Görünür ve Kızılötesi Görüntüleme
24
USA 1993 USA 2003
Örnekler: Kızılötesi Uydu Görüntüleme
25
Örnekler: Kızılötesi Uydu Görüntüleme
26
Örnekler: Otomatik Görsel Denetim
27
Görüntüleme sisteminin plakayı tespit ettiği alan
Plaka içeriklerinin sistem tarafından otomatik olarak okunması sonuçları
Örnekler: Otomatik Görsel Denetim
28
Radar Görüntü Örneği
29
Örnekler: MRI (Radyo Bandı)
30
Örnekler: Elektromanyetik Spektrum
31
Örnekler: Ultrason Görüntüleme
32
Sayısal Görüntü İşlemedeki Temel Adımlar
Sonuç orijinalinden çok daha uygundur
Görünümü iyileştirmek
Görüntü bileşenlerini ayıklama
Görüntü ya da nesneyi kendini oluşturan parçalara ayırma
Görüntüyü bilgisayar eşleme için sunma
33
Örnek Problemler
►Kenar Tespiti
►Görüntü Gürültü Azaltımı
►Görüntü Yumuşatma
►Görüntü Bölütleme
►Görüntü Çakıştırma
►Görüntü İçboyama
►…
34
Kenar Tespiti
►Kenarlar: yeğinlikteki ani değişiklikler • Yeğinlik veya renkteki tekdüzelik
►Sınırları belirleyen kenarlar
35
Görüntü Filtreleme
► Zorluk: Alakasız görüntü bilgilerinin bazıları önemli görüntü özellikleri ile benzer özelliklere sahiptir.
36
Gürültü Azaltma
►Görüntüler% 70 tuz ve biber gürültü ile bozulmuştur.
Bu örnekler ne göstermekte?
Gürültülü Giriş İyileşen Görüntü Orijinal Görüntü
37
Görüntü Yumuşatma
38
Görüntü Bölütleme
► Bir görüntüyü görüntüdeki nesneler ile ilgili anlamlı bölgelere ayırın.
39
Görüntü Çakıştırma
40
Görüntü İçboyama
►Görüntülerin kaybolan veya bozulan parçalarını yeniden onarmak.
41
Bir Görüntü İşleme Sisteminin Bileşenleri
42
Matlab Görüntü İşleme Araç Kutusu
►Matlab
►OpenCV
► vb.
43
Görüntü İşleme Araç Kutuları ve Yazılımlar
►Matlab matrisler üzerinde çalışmak için optimize edilmiştir. Görüntüler matristir!
►Görüntü işleme, analiz, görselleştirme ve algoritma geliştirme için referans standardı algoritmalar, fonksiyonlar ve uygulamaların kapsamlı bir kümesini sağlar.
►Görüntü analizi, görüntü bölütleme, görüntü iyileştirme, gürültü azaltma, geometrik dönüşümler ve görüntü çakıştırma yapabilirsiniz.
► Birçok araç fonksiyonları sayesinde çok çekirdekli işlemcileri, GPU'ları ve C-kod üretimini destekler.
44
OpenCV
►OpenCV anlamı Intel® Open Source Computer Vision Library.
► C fonksiyonlarının ve popüler Görüntü İşleme ve Bilgisayarla Görme algoritmalar uygulayan bazı C++ sınıflarının bir koleksiyonudur.
► C++, C, Python ve Java arayüzü vardır ve Windows, Linux, Mac OS, iOS ve Android destekler.
► Ticari ve ticari olmayan kullanımlar için ücretsizdir. ►Optimize edilmiş C/C++ ile yazılmış kütüphane sayesinde
çok çekirdekli işlemeden yararlanabilirsiniz. ► Sourceforge’da mevcut
• http://opencv.org/ • http://sourceforge.net/projects/opencvlibrary/
45
Görüntü İşleme Araç Kutuları
► C/C++ • IPL ... : http://www.cs.nott.ac.uk/~jzg/nottsvision/old/index.html
• OpenCV: http://sourceforge.net/projects/opencvlibrary
• ImageMagick: http://www.imagemagick.org/
• Insight Toolkit ITK (medikal görüntü) : http://www.itk.org/
• mathtools.net: http://www.mathtools.net/C_C__/Image_Processing/
► Java • Java Media APIs: JAI, JMF, Java image I/O ...:
http://java.sun.com/javase/technologies/desktop/media/
• http://www.mathtools.net/Java/Image_Processing/index.htmlPython
► Python Imaging Library (PIL) • http://www.pythonware.com/products/pil/
• numpy, scipy
► SciKit
Kaynaklar
46
►Sayısal Görüntü İşleme, Palme Yayıncılık, Üçüncü Baskıdan Çeviri (Orj: R.C. Gonzalez and R.E. Woods: "Digital Image Processing", Prentice Hall, 3rd edition, 2008).
►Lecture Notes, CS589-04 Digital Image Processing, F.(Qingzhong) Liu, http://www.cs.nmt.edu/~ip
►Ders Notları, BIL717-Image Processing, E.Erdem
►Ders Notları, EBM537-Görüntü İşleme, F.Karabiber