Takip et

Fedora Üzerine CVAT Kurulumu: Hızlı ve Kapsamlı Rehber

Makine öğrenmesi ve derin öğrenme modellerinin başarısı, eğitildikleri verinin kalitesiyle doğrudan ilişkilidir. Yüksek kaliteli, doğru ve tutarlı etiketlenmiş veriler olmadan, en karmaşık algoritmalar bile beklentilerin altında kalabilir. Peki, büyük veri setlerini manuel olarak etiketlemek hem zaman alıcı hem de hata oranına açık bir süreçken, bu zorluğun üstesinden nasıl gelebiliriz? İşte tam da bu noktada, bilgisayar görüşü alanında veri etiketleme süreçlerini otomatikleştiren ve kolaylaştıran güçlü araçlara ihtiyaç duyulur. Bu kapsamlı rehberde, açık kaynaklı ve popüler bir veri etiketleme aracı olan CVAT’ı (Computer Vision Annotation Tool) geliştirici dostu Fedora işletim sistemi üzerine nasıl kuracağınızı adım adım inceleyecek, karşılaşabileceğiniz potansiyel sorunlara çözümler sunacak ve kurulum sonrası CVAT deneyiminizi en üst düzeye çıkaracak ipuçlarını paylaşacağız. Yapay zeka projelerinize güçlü bir başlangıç yapmak için hazırsanız, bu rehber tam size göre!

Veri etiketleme, temelde, ham verilere anlamlı etiketler atama işlemidir. Örneğin, bir görüntüdeki her aracı bir dikdörtgen kutu ile işaretlemek veya bir videodaki yayaları piksel bazında segmentlere ayırmak gibi. Bu süreç, nesne tespiti, segmentasyon, sınıflandırma gibi bilgisayar görüşü görevleri için hayati öneme sahiptir. CVAT, bu tür görevler için zengin bir özellik seti sunar ve farklı annotasyon tiplerini (kutu, poligon, nokta, küp vb.) destekler. Geliştiricilerin sıklıkla tercih ettiği Fedora işletim sistemi, güncel paketleri, güçlü güvenlik özellikleri ve Linux ekosistemiyle uyumu sayesinde CVAT gibi konteynerize edilmiş uygulamalar için ideal bir ortam sunar. Bu rehber boyunca, sadece kurulum adımlarını değil, aynı zamanda CVAT’ın temel kavramlarını ve Fedora’nın bu süreçteki avantajlarını da derinlemesine ele alacağız. Böylece, hem yeni başlayanlar hem de deneyimli kullanıcılar için eksiksiz bir kaynak olmayı hedefliyoruz.

CVAT Nedir ve Neden Fedora Üzerine Kurmalıyız?

Bilgisayar görüşü alanında faaliyet gösteren veya yapay zeka modelleri geliştiren herkesin yakından tanıdığı bir araç olan CVAT, Intel tarafından geliştirilen ve daha sonra açık kaynak olarak yayınlanan, web tabanlı bir veri annotasyon aracıdır. Resimler, videolar ve hatta 3D veriler üzerinde nesne tespiti, semantik segmentasyon, anahtar nokta tespiti gibi çeşitli bilgisayar görüşü görevleri için etiketleme yapmaya olanak tanır. CVAT’ın en büyük avantajlarından biri, hem manuel etiketleme süreçlerini optimize etmesi hem de otomatik etiketleme (auto-annotation) yetenekleriyle veri etiketleme hızını ve verimliliğini artırmasıdır. Çeşitli etiketleme tiplerini desteklemesi ve kullanıcı dostu arayüzü sayesinde, büyük ölçekli projelerde dahi ekiplerin verimli bir şekilde çalışmasına olanak tanır. Genişletilebilir mimarisi sayesinde farklı model entegrasyonlarına da açıktır, bu da onu pek çok proje için vazgeçilmez bir araç haline getirir. CVAT, veri bilimciler, makine öğrenmesi mühendisleri ve yapay zeka araştırmacıları için güçlü bir araç seti sunar ve model eğitimi için gerekli olan yüksek kaliteli verinin elde edilmesinde kritik bir rol oynar. Özellikle karmaşık senaryolarda, örneğin otonom araçların çevreyi algılaması veya medikal görüntülerdeki anormalliklerin tespiti gibi alanlarda, CVAT’ın sağladığı hassas etiketleme yetenekleri paha biçilemezdir.

CVAT’ın Temel İşlevleri Nelerdir?

CVAT, kullanıcılarına geniş bir yelpazede etiketleme ve yönetim yetenekleri sunar. Bu yetenekler arasında en dikkat çekenleri:

  • Çeşitli Annotasyon Tipleri: Dörtgen kutular (bounding boxes) ile nesne tespiti, poligonlar ile segmentasyon, polilinler ile yol çizimleri, noktalar ile anahtar nokta tespiti ve 3D küpler gibi farklı etiketleme formatlarını destekler. Bu çeşitlilik, farklı proje ihtiyaçlarına esnek çözümler sunar.
  • Video Annotasyonu: Sadece statik görüntüler değil, videolar üzerinde de etiketleme yapabilme yeteneği CVAT’ı özellikle dinamik sahneler içeren projeler için ideal kılar. Hareketli nesnelerin takibi, interpolasyon ve otomatik geçiş gibi özellikler video etiketleme sürecini kolaylaştırır.
  • Yarı Otomatik Etiketleme: Makine öğrenmesi modellerini kullanarak ilk etiketleme taslaklarını otomatik olarak oluşturabilir. Bu, manuel etiketleme yükünü önemli ölçüde azaltır ve süreci hızlandırır. Örneğin, önceden eğitilmiş bir model ile nesneleri otomatik olarak tespit edip, kullanıcıya sadece düzeltme ve onaylama işini bırakabilir.
  • Takım Çalışması ve Proje Yönetimi: Kullanıcı rolleri (admin, annotator, supervisor) atayabilir, görevleri yönetebilir ve etiketleme kalitesini denetleyebilirsiniz. Bu özellik, büyük etiketleme ekipleri için iş akışını düzenlemeyi ve verimliliği artırmayı sağlar.
  • API ve Entegrasyonlar: REST API’si sayesinde CVAT’ı diğer sistemlerle entegre edebilir, veri akışını otomatikleştirebilir ve özel iş akışları oluşturabilirsiniz.

Bu işlevler, CVAT’ı veri etiketleme ekosisteminde merkezi bir konuma yerleştirir ve yapay zeka projelerinin veri hazırlık aşamasında karşılaşılan zorlukların üstesinden gelmek için kapsamlı bir çözüm sunar.

Fedora İşletim Sistemi Neden İyi Bir Tercih?

Fedora, Red Hat tarafından desteklenen ve topluluk tarafından geliştirilen, yenilikçi ve güncel bir Linux dağıtımıdır. Geliştiriciler ve teknoloji meraklıları arasında oldukça popülerdir. Fedora’yı CVAT kurulumu için ideal kılan birkaç önemli neden bulunmaktadır:

  • Güncellik: Fedora, en yeni yazılım sürümlerini ve teknolojileri hızla benimser. Bu, Docker, Python ve diğer bağımlılıkların en güncel versiyonlarına erişim sağlayarak, CVAT gibi yeni nesil uygulamaların sorunsuz çalışmasına yardımcı olur.
  • Geliştirici Dostu: Güçlü paket yöneticisi DNF, geniş yazılım depoları ve iyi dokümantasyonu ile geliştiricilere rahat bir çalışma ortamı sunar. Kurulum ve yapılandırma süreçleri genellikle basittir.
  • Güvenlik: SELinux (Security-Enhanced Linux) gibi gelişmiş güvenlik özellikleriyle donatılmıştır. Bu, CVAT sunucunuzun daha güvenli olmasını sağlar, özellikle uzak erişim veya hassas verilerle çalışırken kritik bir avantajdır.
  • Docker Entegrasyonu: Fedora, Docker ve konteyner teknolojileri için mükemmel bir platform sunar. CVAT, Docker Compose ile çalıştığı için, Fedora’nın bu konudaki sağlam altyapısı kurulumu kolaylaştırır ve performans optimizasyonlarına olanak tanır.

Bu özellikler göz önüne alındığında, Fedora hem geliştirme hem de üretim ortamları için güvenilir ve güçlü bir temel oluşturarak CVAT gibi kritik uygulamaların verimli bir şekilde çalışmasını sağlar.

Ön Gereksinimler ve Sistem Hazırlığı: Başlamadan Önce Bilmeniz Gerekenler Nelerdir?

CVAT kurulumuna başlamadan önce sisteminizin belirli gereksinimleri karşıladığından ve gerekli yazılımların kurulu olduğundan emin olmalısınız. Bu adım, ilerleyen süreçlerde karşılaşabileceğiniz olası sorunların önüne geçmek için kritik öneme sahiptir. Fedora sisteminizi CVAT’ı barındırmak için doğru bir şekilde hazırlamak, sorunsuz bir kurulum deneyiminin anahtarıdır. Özellikle Docker gibi konteyner teknolojileriyle çalışırken, sistem kaynaklarının yeterli olması ve gerekli izinlerin ayarlanmış olması büyük önem taşır. Bu bölüm, hem donanım hem de yazılım açısından ihtiyaç duyacağınız temel yapılandırmaları detaylandıracaktır.

Gerekli Donanım ve Yazılım Özellikleri Nelerdir?

CVAT, bir web uygulaması olup Docker konteynerleri içinde çalıştığı için, sistem kaynakları uygulama performansını doğrudan etkiler. İşte önerilen minimum ve ideal sistem gereksinimleri:

  • İşlemci (CPU): En az 2 fiziksel çekirdekli bir işlemci önerilir. Yoğun kullanımlar veya otomatik etiketleme modelleri çalıştırılacaksa 4+ çekirdekli bir işlemci daha iyi performans sağlayacaktır.
  • Bellek (RAM): Minimum 4 GB RAM gerekli olsa da, sorunsuz bir deneyim ve birden fazla görevin aynı anda çalışması için 8 GB veya daha fazlası şiddetle tavsiye edilir. Video etiketleme ve büyük görüntü kümeleriyle çalışırken RAM ihtiyacı artar.
  • Depolama (Disk): En az 50 GB boş SSD alanı gereklidir. Etiketleyeceğiniz veri miktarı arttıkça bu alanı artırmanız gerekecektir. SSD kullanımı, veri okuma/yazma hızını artırarak genel sistem performansına olumlu katkı sağlar.
  • İşletim Sistemi: Fedora 35 veya daha yeni bir sürüm. Bu rehberde Fedora 37 veya 38 hedeflenmektedir, ancak benzer versiyonlarda da adımlar genellikle aynıdır.
  • İnternet Bağlantısı: Docker imajlarını indirmek ve güncellemeleri almak için aktif bir internet bağlantısı gereklidir.

Bu gereksinimler, temel bir CVAT kurulumu için yeterli olacaktır. Ancak, eğer GPU hızlandırmasından faydalanmak istiyorsanız (örneğin otomatik etiketleme modelleri için), uyumlu bir NVIDIA GPU’ya ve ilgili sürücülerine de ihtiyacınız olacaktır. Bu, özellikle derin öğrenme modellerinin kullanıldığı otomatik annotasyon senaryolarında etiketleme hızını ve doğruluğunu önemli ölçüde artırabilir.

Sistem Güncellemesi ve Docker Kurulumu Nasıl Yapılır?

Herhangi bir yazılım kurulumuna başlamadan önce sisteminizi güncel tutmak iyi bir uygulamadır. Bu, potansiyel güvenlik açıklarını kapatır ve en son paket sürümlerine erişmenizi sağlar. Ardından, CVAT’ın temelini oluşturan Docker ve Docker Compose’u kuracağız.


sudo dnf update -y
sudo dnf upgrade -y
  

Sistem güncellendikten sonra, Docker motorunu kurmaya geçebiliriz. Fedora'da Docker'ı resmi depolardan veya Docker'ın kendi deposundan kurabilirsiniz. Genellikle Docker'ın kendi deposunu kullanmak daha güncel sürümlere erişim sağlar.


# Docker deposunu ekleyin
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

# Docker CE (Community Edition) ve bağımlılıklarını kurun
sudo dnf install docker-ce docker-ce-cli containerd.io -y

# Docker servisini başlatın ve sistem başlangıcında otomatik başlamasını sağlayın
sudo systemctl start docker
sudo systemctl enable docker

# Mevcut kullanıcınızı docker grubuna ekleyerek sudo kullanmadan docker komutlarını çalıştırma yetkisi verin
sudo usermod -aG docker $USER

# Değişikliklerin etkili olması için oturumu kapatıp tekrar açın veya aşağıdaki komutu çalıştırın
# newgrp docker
  

Docker kurulumunu tamamladıktan sonra, bir diğer önemli bileşen olan Docker Compose'u kurmamız gerekiyor. Docker Compose, birden fazla Docker konteynerini tanımlayan ve çalıştıran bir araçtır. CVAT, çeşitli servislerini (veritabanı, arka uç, ön uç vb.) Docker Compose aracılığıyla yönetir.

Fedora'da Docker Compose'u kurmanın iki yaygın yolu vardır: dnf paketi olarak veya pip ile Python paket yöneticisi aracılığıyla.


# Yöntem 1: DNF ile (Önerilen, Docker Compose Plugin olarak gelir)
sudo dnf install docker-compose-plugin -y

# Kontrol edin
docker compose version

# Yöntem 2: Pip ile (Eğer DNF paketi mevcut değilse veya belirli bir sürüm isteniyorsa)
# Python pip'in yüklü olduğundan emin olun
sudo dnf install python3-pip -y

# Docker Compose'u pip ile kurun
sudo pip3 install docker-compose

# Kontrol edin
docker-compose --version
  

Uzman İpucu: usermod -aG docker $USER komutunu çalıştırdıktan sonra, Docker komutlarını sudo olmadan kullanabilmek için geçerli terminal oturumunuzu kapatıp yeniden açmanız veya newgrp docker komutunu çalıştırmanız gerekebilir. Bu, yeni grup üyeliğinizin etkinleşmesini sağlar.

Bu adımlarla birlikte, Fedora sisteminiz CVAT kurulumuna tamamen hazır hale gelmiş olacaktır. Tüm bağımlılıklar ve temel araçlar yerli yerine oturduktan sonra, artık CVAT'ı doğrudan sisteminize kurmaya başlayabiliriz.

CVAT'ı Fedora Üzerine Adım Adım Kurulumu: Uygulamalı Rehber

Fedora sistemimizi gerekli tüm ön koşullarla donattıktan sonra, şimdi CVAT'ın kendisini kurmaya geçebiliriz. Bu bölüm, CVAT'ın kaynak kodunu GitHub'dan çekmekten, Docker Compose ile servislerini başlatmaya ve ilk kullanıcıyı oluşturmaya kadar olan tüm adımları detaylı bir şekilde açıklayacaktır. Her adım, olası hataları en aza indirmek için dikkatlice tasarlanmıştır. Bu sayede, yapay zeka projeleriniz için güçlü bir veri etiketleme platformuna sahip olacaksınız.

CVAT Kaynak Kodunu İndirme ve Yapılandırma Nasıl Yapılır?

CVAT, açık kaynak bir proje olduğu için kaynak kodlarına GitHub üzerinden erişilebiliriz. İlk adım olarak, bu depoyu yerel sistemimize klonlayacağız.


# Git'in yüklü olduğundan emin olun
sudo dnf install git -y

# CVAT deposunu klonlayın
git clone https://github.com/opencv/cvat

# CVAT dizinine geçiş yapın
cd cvat
  

CVAT dizinine girdikten sonra, kurulum için gerekli yapılandırma dosyalarını inceleyeceğiz. CVAT, Docker Compose ile çalıştığı için, ana yapılandırma dosyası docker-compose.yml'dir. Bu dosya, CVAT'ın farklı servislerini (PostgreSQL veritabanı, Redis, Nginx, CVAT sunucusu vb.) ve bunların nasıl bir araya getirileceğini tanımlar. Genellikle bu dosyada bir değişiklik yapmanıza gerek kalmaz, ancak bazı ileri düzey yapılandırmalar (örneğin, farklı portlar kullanmak veya ekstra servisler eklemek) için bu dosyayı düzenleyebilirsiniz.

CVAT'ın varsayılan yapılandırma ayarları genellikle docker-compose.yml içinde veya .env dosyasında bulunur. Eğer özel bir yapılandırma yapmak isterseniz, .env dosyasını düzenleyebilirsiniz. Bu dosya, ortam değişkenlerini tanımlamak için kullanılır. Örneğin, veritabanı şifreleri veya uygulamanın çalıştığı port gibi ayarlar burada yer alabilir. Varsayılan olarak, CVAT genellikle 8080 portunu kullanır.


# .env.example dosyasını kopyalayarak .env dosyasını oluşturun
# Bu adım genellikle gerekli değildir, docker-compose.yml içinde varsayılanlar mevcuttur.
# Ancak bazen manuel olarak oluşturmak gerekebilir.
# cp .env.example .env 
  

Bu noktada, CVAT'ın kaynak kodunu başarıyla indirmiş ve temel dizin yapısını anlamış olmalısınız. Şimdi sıra, bu servisleri Docker Compose aracılığıyla hayata geçirmeye geldi.

Docker Compose ile CVAT Servislerini Başlatma Nasıl Gerçekleşir?

Artık her şey hazır olduğuna göre, CVAT'ın tüm servislerini Docker Compose ile başlatabiliriz. Bu işlem, Docker imajlarını indirip oluşturacak ve tüm konteynerleri bağımlılık sırasına göre çalıştıracaktır. İlk çalıştırma biraz zaman alabilir, çünkü Docker'ın gerekli tüm imajları indirip oluşturması gerekecektir.


# Tüm CVAT servislerini arka planda (detached mode) başlatın ve imajları baştan oluşturun
docker compose up -d --build
  

Bu komutun açıklaması:

  • docker compose: Docker Compose komutunu çalıştırır. Eğer docker-compose kuruluysa, docker-compose kullanın.
  • up: Konteynerleri oluşturur ve başlatır.
  • -d: Konteynerleri arka planda çalıştırır, terminali serbest bırakır.
  • --build: Konteyner imajlarını her zaman yeniden oluşturur. Bu, özellikle ilk kurulumda veya CVAT kaynak kodunda bir güncelleme yaptığınızda önemlidir.

Konteynerler başlatılırken, terminalinizde çeşitli loglar göreceksiniz. Her şey yolundaysa, birkaç dakika sonra tüm servisler çalışır durumda olacaktır. Konteynerlerin durumunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz:


docker ps
  

Bu komut, çalışan tüm Docker konteynerlerini listeler ve CVAT'a ait servislerin (cvat, cvat_db, cvat_redis, cvat_ui, cvat_proxy) Up durumda olduğunu görmelisiniz.

Uzman İpucu: Eğer docker compose up -d --build komutu bir hata verirse, genellikle ağ veya port çakışması sorunları olabilir. Firewall ayarlarınızı kontrol edin veya docker compose logs komutunu kullanarak hata detaylarını inceleyin.

CVAT servisleri çalışmaya başladıktan sonra, uygulamaya erişim için bir süper kullanıcı (yönetici) hesabı oluşturmanız gerekir. Bu hesap, CVAT arayüzüne giriş yapmak ve ilk projelerinizi oluşturmak için kullanılacaktır.


# CVAT konteynerine bağlanarak süper kullanıcı oluşturma komutunu çalıştırın
docker exec -it cvat bash -ic 'python3 ~/manage.py createsuperuser'
  

Bu komutu çalıştırdığınızda, kullanıcı adı, e-posta adresi (isteğe bağlı) ve şifre gibi bilgileri girmeniz istenecektir. Güvenli bir şifre belirlediğinizden emin olun.

Kurulum Sonrası Kontroller ve İlk Giriş Nasıl Yapılır?

Süper kullanıcı hesabını oluşturduktan sonra, artık CVAT web arayüzüne erişmeye hazırsınız. Web tarayıcınızı açın ve genellikle http://localhost:8080 adresine gidin. Eğer farklı bir port kullandıysanız, o portu belirtmelisiniz.

Giriş ekranında, az önce oluşturduğunuz süper kullanıcı hesabının kullanıcı adı ve şifresini kullanarak oturum açın. Başarılı bir şekilde giriş yaptıktan sonra, CVAT'ın ana kontrol paneline yönlendirileceksiniz. Burada şunları yapabilirsiniz:

  • Yeni Projeler Oluşturma: Etiketleme yapmak istediğiniz veri setleri için yeni projeler oluşturun.
  • Görevler Ekleme: Her projenin altına, etiketlenecek görüntü veya videoları içeren görevler ekleyin.
  • Veri Yükleme: Etiketlenecek görüntü veya video dosyalarını sisteme yükleyin. CVAT, çeşitli kaynaklardan (yerel disk, sunucu yolları, bulut depolama) veri yüklemeyi destekler.
  • Kullanıcı ve Rol Yönetimi: Eğer bir ekip ile çalışıyorsanız, diğer kullanıcıları davet edebilir ve onlara farklı roller atayabilirsiniz (annotator, supervisor vb.).

Tebrikler! CVAT'ı Fedora sisteminiz üzerine başarıyla kurmuş ve yapılandırmış oldunuz. Artık yapay zeka projeleriniz için yüksek kaliteli veri setleri oluşturmaya hazırsınız. Bu aşamadan sonra, CVAT'ın zengin özelliklerini keşfetmeye başlayabilir ve etiketleme süreçlerinizi optimize edebilirsiniz.

İleri Düzey İpuçları ve Optimizasyonlar: CVAT Deneyiminizi Nasıl Geliştirebilirsiniz?

CVAT'ın temel kurulumunu tamamladıktan sonra, performansı artırmak, güvenliği sağlamak ve kullanıcı deneyimini iyileştirmek için yapabileceğiniz birçok ileri düzey optimizasyon ve yapılandırma bulunmaktadır. Bu bölüm, özellikle büyük ölçekli projelerde veya hassas veri setleriyle çalışırken CVAT'tan maksimum verim almanızı sağlayacak önemli ipuçlarını içermektedir. Donanım hızlandırma entegrasyonlarından güvenlik önlemlerine ve hatta mobil uyumlu erişim stratejilerine kadar geniş bir yelpazeyi kapsayacaktır. Bu sayede, sadece CVAT'ı çalıştırmakla kalmayacak, aynı zamanda onu projenizin özel ihtiyaçlarına göre optimize edebileceksiniz.

Performans İçin Donanım Hızlandırma ve Entegrasyonlar

Özellikle büyük veri setleri üzerinde veya otomatik etiketleme modelleri kullanırken, CVAT performansını artırmak için donanım hızlandırmadan faydalanmak kritik öneme sahiptir.

  • GPU Entegrasyonu (NVIDIA Container Toolkit): Eğer bir NVIDIA GPU'nuz varsa, Docker konteynerlerinin GPU'ya erişmesini sağlayarak otomatik etiketleme ve bazı görüntü işleme görevlerinin performansını önemli ölçüde artırabilirsiniz. Bunun için NVIDIA Container Toolkit'i kurmanız ve CVAT'ın docker-compose.yml dosyasında GPU desteğini etkinleştirmeniz gerekir.
  • Depolama Optimizasyonu: Veri setlerinizin depolandığı disk türü performansı doğrudan etkiler. SSD'ler, geleneksel HDD'lere göre çok daha hızlı okuma/yazma hızları sunar. Ayrıca, ağ depolama çözümleri (NFS, SMB) kullanıyorsanız, ağ bant genişliğinin yeterli olduğundan emin olun.
  • Model Entegrasyonu ve Otomatik Etiketleme: CVAT, önceden eğitilmiş modelleri entegre ederek yarı otomatik etiketleme yapmanıza olanak tanır. Kendi özel modellerinizi veya popüler açık kaynak modelleri (YOLO, Detectron2 vb.) CVAT'a bağlayarak etiketleme sürecini hızlandırabilirsiniz. Bu, özellikle binlerce görüntü etiketlemeniz gerektiğinde manuel iş yükünü dramatik bir şekilde azaltır.

Güvenlik ve Uzak Erişim Ayarları Nasıl Yapılır?

CVAT'ı bir sunucu üzerinde barındırıyorsanız ve uzaktan erişim sağlıyorsanız, güvenlik ayarları büyük önem taşır.

  • Ters Proxy (Reverse Proxy) ile SSL/TLS: CVAT'a doğrudan erişmek yerine, bir ters proxy (Nginx, Apache, Caddy) arkasına koyarak SSL/TLS şifrelemesi (HTTPS) ile güvenli iletişim sağlayabilirsiniz. Bu, özellikle hassas veri etiketlemesi yaparken veri güvenliğini artırır. Let's Encrypt gibi hizmetlerle ücretsiz SSL sertifikaları alabilirsiniz.
  • Güvenlik Duvarı (Firewall) Ayarları: Fedora'nın yerleşik güvenlik duvarı olan firewalld'u kullanarak sadece belirli portlara (örneğin 80, 443 ve CVAT'ın çalıştığı port) erişime izin verin. Diğer tüm portları kapatmak, potansiyel saldırı yüzeyini azaltır.
  • 
    # CVAT portuna (örneğin 8080) izin verme
    sudo firewall-cmd --add-port=8080/tcp --permanent
    # Eğer Nginx gibi bir ters proxy kullanıyorsanız 80 ve 443 portlarına izin verme
    # sudo firewall-cmd --add-service=http --permanent
    # sudo firewall-cmd --add-service=https --permanent
    sudo firewall-cmd --reload
        

  • Güçlü Şifreler ve Kullanıcı Yönetimi: Tüm kullanıcılar için güçlü ve karmaşık şifreler kullanılmasını sağlayın. Gereksiz kullanıcı hesaplarını kaldırın ve kullanıcılara yalnızca ihtiyaç duydukları izinleri verin (minimum ayrıcalık ilkesi).

Mobil Uyumlu Kullanım için Neler Yapılabilir?

CVAT arayüzü genellikle masaüstü kullanım için optimize edilmiştir, ancak bazı durumlarda mobil cihazlardan erişim veya yönetim ihtiyacı doğabilir. CVAT'ın responsive bir arayüzü olmasa da, genel web uygulaması geliştirme prensipleri ile mobil erişimi daha kullanışlı hale getirebilirsiniz. Özellikle CVAT'ın API'sini kullanarak mobil uygulamalar veya arayüzler geliştirmek mümkündür. Genel bir web sayfası örneği üzerinden responsive tasarım prensiplerini inceleyelim:




CVAT Projeleriniz

Proje Adı Görev Sayısı Atanan Kişi Durum İşlem
Otonom Araç Algılama v2 245 Ayşe Yılmaz Devam Ediyor
Medikal Görüntü Segmentasyonu 98 Mehmet Demir İncelemede
Tarım Alanı Analizi 72 Zeynep Kaya Tamamlandı

Yukarıdaki örnekte, basit bir tabloyu farklı ekran boyutlarına uyacak şekilde nasıl tasarlayabileceğiniz gösterilmiştir. Mobil uyumluluk, kullanıcıların farklı cihazlardan tutarlı ve verimli bir deneyim yaşamasını sağlar. CVAT'ın kendisi tam olarak responsive olmasa da, bu tür genel prensipler uzaktan erişim panelleri veya CVAT API'si ile geliştirilen özel mobil arayüzler için uygulanabilir.

Vaka Analizi: Büyük Ölçekli Bir Projede CVAT Kullanımı ve Karşılaşılan Zorluklar

Bir yapay zeka girişimi olan "SmartVision Tech", otonom dronlar için hassas nesne tespiti ve takip sistemi geliştirmeyi hedefliyordu. Projenin ana hedeflerinden biri, dron kameralarından alınan binlerce saatlik video ve milyonlarca görüntü üzerinde insanlar, araçlar ve hayvanlar gibi çeşitli nesneleri etiketlemekti. Bu, insan gücüyle yapılması çok zor ve zaman alıcı, aynı zamanda maliyetli bir süreçti. Şirket, bu büyük veri etiketleme yükünü yönetmek için açık kaynaklı ve esnek bir çözüm arayışına girdi ve sonunda CVAT'ta karar kıldı. Fedora üzerine kurulu güçlü bir sunucu altyapısıyla CVAT'ı devreye aldılar, ancak bu süreçte bazı önemli zorluklarla karşılaştılar ve bu zorlukların üstesinden gelmek için stratejiler geliştirdiler.

Karşılaşılan Zorluklar ve Çözümler:

  1. Veri Hacmi ve Performans: Proje, TB'larca ham video verisi ve yüzbinlerce görüntüyü kapsıyordu. Bu kadar büyük bir veri setini CVAT'a yüklemek ve üzerinde çalışmak, ilk başta performans sorunlarına neden oldu.

    • Çözüm: SmartVision Tech, sunucu tarafında yüksek hızlı NVMe SSD'ler kullanarak depolama I/O performansını artırdı. Ayrıca, CVAT'ın PostgreSQL veritabanı için ayrılan kaynakları artırdılar ve veritabanı optimizasyonları yaptılar. Video verileri için doğrudan diskten okuma yerine, parçalara ayırarak (chunking) ve sıkıştırılmış formatlarda yükleyerek performansı iyileştirdiler.
  2. Ekip Yönetimi ve Tutarlılık: Etiketleme sürecini hızlandırmak için 20 kişilik bir etiketleme ekibi kuruldu. Farklı etiketleyicilerin etiketleme standartlarında farklılıklar göstermesi, veri tutarlılığı açısından büyük bir sorundu.

    • Çözüm: CVAT'ın kullanıcı ve rol yönetim özelliklerini aktif olarak kullandılar. Birkaç kıdemli etiketleyici "supervisor" rolüne atanarak diğerlerinin işlerini denetlemelerini sağladı. Ayrıca, etiketleme kılavuzları oluşturuldu ve düzenli eğitimlerle etiketleme standartları belirlendi. CVAT'ın inceleme ve kalite kontrol araçları, tutarsızlıkları erken aşamada tespit etmelerine yardımcı oldu.
  3. Otomatik Etiketleme Entegrasyonu: Manuel etiketleme yükünü azaltmak için yarı otomatik etiketleme modellerini CVAT ile entegre etmek istediler. Ancak, bu modellerin entegrasyonu ve performansları bekledikleri gibi değildi.

    • Çözüm: Sunucuya birden fazla NVIDIA GPU entegre ettiler ve NVIDIA Container Toolkit kullanarak Docker konteynerlerinin bu GPU'lara erişmesini sağladılar. Kendi önceden eğitilmiş nesne tespiti modellerini (YOLO tabanlı) CVAT'ın "Functions" özelliği aracılığıyla entegre ettiler. Bu sayede, etiketleyiciler önce modelin tahminlerini gözden geçirip düzelterek etiketleme hızını %60 oranında artırdılar.
  4. Güvenlik ve Uzak Erişim: Etiketleyicilerin dünyanın farklı yerlerinden sisteme güvenli bir şekilde erişmeleri gerekiyordu.

    • Çözüm: CVAT sunucusunun önüne bir Nginx ters proxy kurdular ve Let's Encrypt ile ücretsiz SSL/TLS sertifikaları kullanarak HTTPS üzerinden güvenli erişim sağladılar. Fedora'nın güvenlik duvarı (firewalld) ile sadece gerekli portlara izin vererek sistemi dış saldırılara karşı korudular. Tüm kullanıcılar için iki faktörlü kimlik doğrulama (2FA) zorunluluğu getirdiler.

SmartVision Tech, bu zorlukların üstesinden gelerek ve CVAT'ın esnek yapısından faydalanarak projenin etiketleme aşamasını başarıyla tamamladı. Bu vaka analizi, büyük ölçekli yapay zeka projelerinde CVAT gibi araçların nasıl kritik bir rol oynadığını ve doğru planlama ve optimizasyonlarla en karmaşık veri etiketleme görevlerinin bile üstesinden gelinebileceğini göstermektedir.

Sonuç: Yapay Zeka Veri Etiketlemede CVAT'ın Geleceği ve Sıkça Sorulan Sorular

Bu kapsamlı rehber boyunca, açık kaynaklı ve güçlü bir veri etiketleme aracı olan CVAT'ı Fedora işletim sistemi üzerine kurmanın tüm adımlarını, temel kavramlarını ve ileri düzey optimizasyon stratejilerini detaylı bir şekilde inceledik. Yapay zeka projelerinin kalbinde yer alan veri kalitesinin önemi ve bu süreçte CVAT gibi araçların sağladığı kolaylıklar ortadadır. Fedora'nın güncelliği ve geliştirici dostu yapısı, CVAT'ın Docker konteynerleri aracılığıyla hızlı ve sorunsuz bir şekilde dağıtılmasına olanak tanımaktadır. Artık sisteminizde çalışan bir CVAT örneğiniz olduğuna göre, bilgisayar görüşü alanındaki projelerinize hızla başlayabilir, büyük veri setlerini verimli bir şekilde etiketleyebilir ve yapay zeka modellerinizi eğitmek için sağlam bir temel oluşturabilirsiniz. CVAT, sürekli gelişen bir platform olup, otomatik etiketleme yetenekleri, 3D veri desteği ve genişleyen model entegrasyonlarıyla gelecekte de yapay zeka veri hazırlık süreçlerinin vazgeçilmez bir parçası olmaya devam edecektir. Veri etiketleme yolculuğunuzda başarılar dileriz!

Sıkça Sorulan Sorular

1. CVAT'ı kurarken en sık karşılaşılan sorun nedir ve nasıl çözülür?

En sık karşılaşılan sorunlardan biri, Docker konteynerlerinin doğru bir şekilde başlatılamaması veya erişilememesi durumudur. Bu genellikle şu nedenlerle ortaya çıkar:

  • Port Çakışmaları: CVAT'ın varsayılan 8080 portunun başka bir uygulama tarafından kullanılması. Çözüm: docker-compose.yml dosyasındaki port eşleşmelerini değiştirerek farklı bir port kullanın veya çakışan uygulamayı durdurun.
  • Docker İzinleri: Mevcut kullanıcının Docker grubunda olmaması. Çözüm: sudo usermod -aG docker $USER komutunu çalıştırın ve oturumu yeniden başlatın.
  • Yetersiz Sistem Kaynakları: Özellikle RAM yetersizliği, konteynerlerin başlamamasına neden olabilir. Çözüm: Daha fazla RAM ayırın veya diğer yoğun uygulamaları kapatın.
  • Firewall Engellemeleri: Güvenlik duvarının CVAT'ın kullandığı portlara erişimi engellemesi. Çözüm: sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload gibi komutlarla ilgili portlara izin verin.

2. Mevcut bir CVAT kurulumunu nasıl güncelleyebilirim?

CVAT kurulumunuzu güncellemek için aşağıdaki adımları izleyebilirsiniz:


# CVAT dizinine gidin
cd cvat

# Çalışan tüm CVAT servislerini durdurun
docker compose down

# GitHub deposundan en son değişiklikleri çekin
git pull origin master

# Konteyner imajlarını baştan oluşturup servisleri başlatın
docker compose up -d --build
  

Bu işlem, CVAT'ın en son sürümünü indirir ve konteynerleri güncellenmiş kodla yeniden oluşturur.

3. CVAT için önerilen minimum sistem gereksinimleri nelerdir?

CVAT için önerilen minimum sistem gereksinimleri şunlardır:

  • İşlemci (CPU): 2 çekirdek
  • Bellek (RAM): 4 GB (8 GB veya daha fazlası önerilir)
  • Depolama (Disk): 50 GB SSD (etiketlenecek veri miktarına göre artırılmalıdır)
  • İşletim Sistemi: Fedora 35 veya daha yeni bir sürüm.

Yoğun kullanımlar veya otomatik etiketleme modelleri için daha güçlü donanım (özellikle daha fazla CPU çekirdeği ve RAM, isteğe bağlı olarak GPU) önerilir.

4. Verilerimi CVAT'a nasıl aktarabilirim?

CVAT'a veri aktarmanın birkaç yolu vardır:

  • Web Arayüzü: Proje veya görev oluştururken, "Select files" seçeneği ile yerel diskinizden dosya yükleyebilirsiniz.
  • Sunucu Yolu (Server Path): CVAT sunucusunun erişebildiği bir dizine (örneğin /home/cvat/data gibi) verilerinizi kopyalayarak, bu yolu CVAT arayüzünde belirtebilirsiniz.
  • Bulut Depolama: AWS S3, Azure Blob Storage veya Google Cloud Storage gibi bulut depolama hizmetlerinden veri çekmek için CVAT'ın entegrasyonlarını kullanabilirsiniz.
  • CLI veya API: Otomatik iş akışları için CVAT'ın komut satırı arayüzünü (CLI) veya REST API'sini kullanarak programatik olarak veri yükleyebilirsiniz.

5. Otomatik etiketleme (auto-annotation) özelliğini nasıl kullanırım?

CVAT'ın otomatik etiketleme özelliğini kullanmak için aşağıdaki genel adımları izlemeniz gerekir:

  1. Modeli Entegre Edin: CVAT'ın "Models" veya "Functions" sekmesi altında, önceden eğitilmiş bir makine öğrenmesi modelini entegre etmeniz gerekir. CVAT, popüler model formatlarını ve kendi eklenti mimarisini destekler.
  2. GPU Hızlandırma (İsteğe Bağlı): Eğer modeliniz GPU kullanıyorsa, Docker kurulumunuzda NVIDIA Container Toolkit'in doğru yapılandırıldığından emin olun.
  3. Görevi Oluşturun: Bir görev oluştururken veya mevcut bir görevi düzenlerken, "Auto Annotation" seçeneğini seçin ve entegre ettiğiniz modeli belirtin.
  4. İşlemi Başlatın: CVAT, seçtiğiniz modelle görüntü veya videoları otomatik olarak etiketlemeye başlayacaktır. İşlem tamamlandıktan sonra, etiketlemeleri inceleyebilir ve gerektiğinde manuel düzeltmeler yapabilirsiniz.

Bu özellik, özellikle büyük veri setlerinde başlangıç etiketleme yükünü önemli ölçüde azaltır ve etiketleme sürecini hızlandırır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.