Otonom Araç Eğitimi
Neler Öğreneceksiniz?
- OpenZeka MARC Platformuna Giriş
- ROS, Git ve Kontrol Teorisi
- OpenCV
- Derin Öğrenmenin Temelleri
- Sınıflandırıcı ve Nesne Tanıma
- Nesne Tanıma ve Sematic Segmentasyon
- NVIDIA End-to-End, Haritalama ve Lokalizasyon
Orta Seviye
Katılım Belgeli
7 Gün Eğitim
Talep Üzerine
Ankara
Eğitime katılan herkese, eğitim süresince kendi dizüstü bilgisayarlarından erişebilecekleri yüksek işlem gücüne sahip (GPU: K80) sanal makinelerde kurulu NVIDIA DIGITS erişimi verilecektir. Katılımcılar sanal makineye erişimleri için kendi dizüstü bilgisayarlarını getirmesi gerekmektedir.
Coffee-break köşemizden eğitim süresi boyunca sınırsız çay, filtre kahve, bitki çayları, su, sabahları açma, poğaça, kruvasan, simit, krem peynir, bal, reçel gibi kahvaltılıklar, tüm gün tatlı-tuzlu kurabiye servisi, taze meyve salatası servisi bulunmaktadır. Öğle yemeği Open Zeka tarafından ücretsiz verilmektedir.
Eğitim Programı
Gün sonunda katılımcıların joystick yardımı ile hareket ettirebildikleri araçlarının hazır olması hedeflenmektedir. Sensörleri tanıyacak ve sensör çıktılarına erişebileceklerdir. Katılımcılar mini otonom araç kiti ile birlikte gelen tüm donanım malzemelerini yanında bulundurmalıdır.
Konular:
- Aracın yazılım ve donanım özelliklerin tanıtılması, aracın kabiliyetleri hakkında detaylı bilgi
- Jetson platformunun tanıtılması, neler yapılabileceği ve hangi sektörlerde ne gibi amaçlarda kullanılabileceği hakkında bilgi
- Aracın donanım parçalarının birleştirilmesi
- Tüm takımların parçalar birleştirildikten sonra araçlarının sorunsuz hareket edebilmesi için gerekli eğitim
1. ROS (Robot Operation System)’a giriş
- Linux komutları hakkında bilgi, ROS’a giriş
- ROS Node’ları hakkında bilgi, çalışma mantığı, neden projelerimizde ROS kullanmalıyız?
- Catkin Workspace oluşturma, örnek workspaceleri çalıştırma
- Listener ve Publisher mantığı, ROS içerisinde Python ve C++ dilleri ile basit bir listener-publisher uygulamasının yazılması ve bu dillerdeki söz dizimi farklılıkları
2. Git Kullanımı
- Git nedir? Neden kullanılır?
- Temel git komutları, repo oluşturma ve projeyi bu repoya yükleme
- Var olan projede güncelleme yapma, değişiklikleri geri alma
3. Kontrol Sistemi Teorisi ve Uygulamaları
- Kontrol teorisi nedir? Ne için kullanılır? Matematiksel yaklaşım ile anlatılması
- ROS ve Lidar verisi kullanılarak aracın duvara sabit mesafede hareket etmesini sağlayan Bang Bang algoritması geliştirmek
- Python ile PID algoritması geliştirmek ve aracın duvara sabit mesafede bu algoritma ile gitmesini sağlamak
- Model Predictive Control hakkında teorik bilgi, örnekler ve matematiksel yaklaşım
Gün sonunda katılımcıların OpenCV hakkında bilgi sahibi olacaklardır. Başlangıç seviyesinden başlanıp detaylar atlanılmadan uygulamalar geliştirilecektir. Algoritmalar matematiksel yaklaşım ile açıklanacaktır. Eğitim esnasında katılımcıların OpenCV kullanarak iki adet uygulama geliştirmeleri sağlanacaktır. Katılımcılar herhangi bir projede OpenCV kütüphanesini kullanabilecekler. Örnek kodlar katılımcılar ile paylaşılacaktır.
- OpenCV nedir? Hangi amaçlar için kullanılabilir? Ubuntu işletim sistemine nasıl kurulur? Kurulumda nelere dikkat etmeliyiz?
- Renk uzayları hakkında bilgi, OpenCV ile renk uzayları ayrıştırma,
- OpenCV filtreleri, renkleri ayrıştırma algoritmaları
- Python dili ile ROS ve OpenCV kullanarak belirli bir rengi takip eden algoritmanın geliştirilmesi ve araç üzerinde uygulanması,
- Python dili ile ROS ve OpenCV kullanılarak şerit takibi algoritması, PID algoritmasının şerit takibi algoritmasıyla birleştirilmesi ve araç üzerinde uygulanması,
- ZED kamera ve ROS ile derinlik haritası elde etme ve uygulama geliştirme.
Gün sonunda katılımcılar yapay sinir ağlarının nasıl çalıştıkları, ağın hatasının nasıl en aza indirilebileceği ve ağın nasıl optimize edilebileceği hakkında detaylı bilgiye sahip olacaktır. Mevcut ağları kullanarak amaca yönelik derin öğrenme algoritması geliştirebileceklerdir. Örnek kodlar katılımcılar ile paylaşılacaktır. Katılımcıların temel seviyede calculus, lineer cebir ve diferansiyel denklemler konuları hakkında bilgi sahibi olmaları beklenmektedir.
- Derin öğrenme nedir? Hangi amaçla ve hangi sektörlerde kullanılabilir?
- Yapay Sinir Ağları nedir? Nasıl çalışır? Matematiksel yaklaşım ile detaylı incelenmesi
- Evrişimli Sinir Ağları nedir? Nasıl çalışır? Matematiksel yaklaşım ile detaylı incelenmesi
- Geri yönde yayılım (backpropogation) işleminin detaylı incelenmesi
- Bilgisayarın daha önce hiç görmediği görüntüleri doğru şekilde sınıflandırmak için derin bir sinir ağını eğitme.
- Derin sinir ağlarını uygulamalarda çalıştırma.
- Derin öğrenme uygulamalarının performansını geliştirmek için teknikler tanımlama.
- Derin öğrenme için aday olan problem türlerini değerlendirme.
- Davranışlarını değiştirmek için sinir ağlarını modifiye etme.
Gün sonunda katılımcılar, nesne sınıflandırma ve nesneleri tespit etme algoritmaları hakkında bilgiye sahip olacaktır. Herhangi bir veri setinin sınıflandırma veya nesne tespit etme algoritmalarına yönelik nasıl etiketleneceği, modelin nasıl düzenleneceğini ve modelin başarımını arttırmak için gerekli optimizasyon teknikleri konularına hakim olacaktır. Veri etiketleme aşamasından çıkarım aşamasına kadar bir nesne tespit modelini geliştirmek için gerekli bilgiye sahip olacaktır. Örnek kodlar katılımcılar ile paylaşılacaktır.
Derin Öğrenme Uygulama Eğitimi (Sınıflandırıcı)
- Sınıflandırıcı model için kullanılan veri setlerinin incelenmesi
- Görüntü işleme yöntemleriyle veri seti üzerinde görüntü manipülasyonu
- Sınıflandırıcı model başarım artırma teknikleri
- Keras ile sıfırdan bir sınıflandırıcı model oluşturma
- Keras kullanarak az miktarda veriyle yüksek başarımlı sınıflandırıcı model eğitilmesi
- Farklı veri çeşitlendirme yöntemlerinin model başarımına etkileri
- Model başarımını artırmak için izlenebilecek adımlar
Derin Öğrenme Uygulama Eğitimi (Nesne Tespiti)
- Kamera ile verinin doğru bir şekilde toplanması ve toplanan verinin analiz edilmesi.
- Keras’ta yapılacak eğitimler için gerekli olan etiket formatlarının öğrenilmesi.
- Farklı formatlarda etiketleme yapan veri etiketleme araçlarının kullanımı.
- Verilerin, Keras ile Özelleştirilmiş Eğitim İşlemi’ne uygun formatta etiketlenmesi.
- Model başarımlarının artırılmasına teorik yaklaşım.
- Görüntü işleme ile veri miktarının artırılması.
- Keras’ta eğitim için etiketlenen verilerin, yardımcı bir araçla etiket doğruluk kontrolünün yapılması.
- Keras ile performans/başarım tercihine bağlı olarak RetinaNet, ResNet-50, ResNet-101, ResNet152; MobileNet-128, MobileNet-160, MobileNet-192 veya MobileNet-224 modelinin eğitilmesi.
- Keras ile eğitilen modeller kullanılarak bilgisayar ve Jetson TX2’de gerçek zamanlı görüntü analizi.
Gün sonunda katılımcılar, bir önceki gün eğitmiş oldukları modelleri Jetson platformu üzerinde çalıştırabilecek ve anında çıkarım yapabilecektir. İleri seviye bir nesne tespit uygulaması geliştirecek, optimize edecek ve Jetson platformunda ROS çalışma alanı içerisinde çalıştırabilecektir. Semantic segmentasyon hakkında detaylı bilgiye sahip olacak ve veri etiketleme aşamasından çıkarım aşamasına kadar her bir aşamayı uygulayarak bir model geliştirecektir. Örnek kodlar katılımcılar ile paylaşılacaktır.
- Jetson TX2 ile nesne tespit modeli demolarının çalıştırılması.
- NVIDIA DIGITS sisteminin detaylı tanıtımı ve sistem işlevlerinin öğrenilmesi.
- Keras Özelleştirilmiş Eğitim etiket formatının NVIDIA DIGITS etiket formatına dönüştürülmesi.
- DetectNet modelininin probleme özel olarak yeniden düzenlenmesi.
- NVIDIA DIGITS kullanılarak DetectNet modelinin eğitilmesi.
- DetectNet modelinin performansını artırmak için gerekli TensorRT düzenlemelerinin model yapısı üzerinde uygulanması.
- Eğitim süresince üretilen en iyi modelin Jetson TX2’ye entegre edilmesi ve Jetson TX2’de gerçek zamanlı görüntüyle test edilmesi.
- Semantic segmentation nedir? Hangi alanlarda ne gibi amaçlarda kullanılır? Arka planda gerçekleşen işlemler nelerdir?
- Mevcut veri setleri hakkında bilgi, semantic segmentation için sinir ağı örnekleri
- FCN (Fully Convolutional Networks)
- Ham verinin, semantic segmentation yöntemine uygun bir şekilde etiketlenmesi
- Cityscapes veri setini ve UNet mimarisini kullanarak eğitim başlatma, eğitilmiş ağdan çıktı elde etme
- Instance-level Segmentation hakkında teorik bilgi, eğitim prosedürleri ve ağ yapısı örnekleri
- Farklı modellerin gerçek zamanlı kamera görüntüsü üzerinde performans ve başarım karşılaştırmalarının yapılması
- Optimizasyon teknikleri
Katılımcılar gün sonunda NVIDIA’nın geliştirmiş olduğu Behavioral algoritmasını düzenleyebilecek ve uygulayabilecektir. Katılımcılar kendi odometry algoritmalarını geliştirebilecek ve otonom bir aracın konumunu tespit etmek için gerekli yöntem ve metotları uygulayabileceklerdir. Örnek kodlar katılımcılar ile paylaşılacaktır.
Derin Öğrenme Uygulama Eğitimi (NVIDIA End-to-End modeli)
- ZED kamerasından elde edilen derinlik haritası dahil veri toplama ve kaydetme yöntemleri
- Toplanılan verinin eğitime hazır hale getirilmesi için ön işlemden geçirme aşamaları
- Toplanılan veri ile NVIDIA End-to-End modeli kullanarak eğitme, bu modeli düzenleme ve eğitip farklı modellerin araç üzerinde nasıl çalıştıklarını test edebilme, farklı parametrelerin performansa etkisini doğrudan gözlemleyebilme
Localization and Mapping
- Visual Odometry algoritmasının incelenmesi
- ZED kameranın visual odometry algoritmasını kullanarak konum verisi elde etme
- Haritalama yapma ve bu haritayı daha sonra kullanmak için kaydetme
- Graph veri yapısı ile genel bilgi, pythonda bu veri yapısına uygun algoritma geliştirme
- En kısa yol bulma algoritmalarının anlatılması, harita üzerinde verilen noktaya en kısa yolun çıkartılarak aracın bu rotayı takip etmesinin sağlanması
- Haritası olmayan bir ortamda aracın istenilen koordinata kurallara uyarak gidebilmesini sağlayan algoritmanın geliştirilmesi
- Behavioral Navigation algoritmasının incelenmesi
Bu Eğitimi Alan Müşterilerimiz
Diğer Eğitimlerimize Göz Atın
Derin Öğrenme Eğitimi
Embedded Sistemlerde Yapay Zeka Uygulamaları
Otonom Araç Eğitimi
Otonom Sistemlerde Yapay Zeka Uygulamaları
Open Zeka, NVIDIA Deep Learning Institute partneridir.