Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
TensorFlow'u yapılandırdığımıza göre, nesne algılama modelini eğitmek için YOLO mimarisini kullanacağız. YOLO, tek bir değerlendirmede bir görüntüden sınırlayıcı kutuları ve sınıf olasılıklarını tahmin eden bir sinir ağıdır. YOLO modelleri saniyede 60'ın üzerinde kare işleyerek videolardaki nesneleri algılamak için harika bir mimari sağlar. YOLO'yu nasıl çalıştığı hakkında daha fazla bilgiyi burada bulabilirsiniz.
YOLO kullanımı
İlk olarak, başlamak için yardımcı betikler içeren bu YOLO örnek dosyasını indirin.
YOLO kullanırken 3 seçeneğiniz vardır:
YOLO için önceden eğitilmiş model ağırlıklarını kullanın. Önceden eğitilen model, otobüs, kişi, sandviç gibi günlük nesneler için 80 sınıf (kategori) içeren büyük bir veri kümesi üzerinde eğitilmiştir. ONNX biçiminde önceden eğitilmiş bir YOLO modeli indirmek istiyorsanız, bunu burada yapabilirsiniz. Ardından bu modeli bir uygulamayla tümleştirmeyi öğrenmek için bu öğreticinin son aşamasına geçebilirsiniz.
Transfer öğrenmesini bir özel veri kümesiyle uygulamak. Öğrenme aktarımı, farklı ama ilgili bir görevi çözen bir modeli eğitmek için eğitilmiş bir modeli başlangıç noktası olarak kullanmak için kullanılan bir yöntemdir. Bu öğreticide, VOC veri kümesine sahip 20 sınıfa sahip bir modeli eğitmek için 80 sınıflı önceden eğitilmiş YOLO ağırlıkları kullanılır. Özel sınıflarla kendi veri kümenizi oluşturmak istiyorsanız buradaki yönergelere bakın.
YOLO'yu sıfırdan eğitin. Yakınsama çok zor olduğundan bu teknik önerilmez. Orijinal YOLO makalesi, tüm ağı eğitmeden önce (yüz binlerce fotoğraf içeren) ImageNet veri kümesi üzerinde darknet'i eğitti.
Önceden eğitilmiş YOLO ağırlıkları üzerinde VOC veri kümesine transfer öğrenmesini uygulayın.
İkinci seçenekle devam edelim ve aşağıdaki adımlarla öğrenme aktarımını uygulayalım.
- Miniconda penceresinde yolo örnek dizinine gidin ve YOLO için gerekli tüm pip paketlerini yüklemek için aşağıdaki komutu çalıştırın.
pip install -r requirements.txt
- Verileri ve önceden eğitilmiş ağırlıkları indirmek için kurulum betiğini çalıştırın
python setup.py
- Veri kümesini dönüştürün. Uygulama için bkz
tools/voc2012.py. Bu biçim , tensorflow nesne algılama API'sini temel alır. Birçok alan gerekli değildir, ancak resmi API ile uyumluluk için burada doldurulmuş durumdadır.
python tools/voc2012.py \
--data_dir './data/voc2012_raw/VOCdevkit/VOC2012' \
--split train \
--output_file ./data/voc2012_train.tfrecord
python tools/voc2012.py \
--data_dir './data/voc2012_raw/VOCdevkit/VOC2012' \
--split val \
--output_file ./data/voc2012_val.tfrecord
- Modeli eğitin. Aşağıdaki komutları çalıştırın:
python convert.py
python detect.py --image ./data/meme.jpg # Sanity check
python train.py \
--dataset ./data/voc2012_train.tfrecord \
--val_dataset ./data/voc2012_val.tfrecord \
--classes ./data/voc2012.names \
--num_classes 20 \
--mode fit --transfer darknet \
--batch_size 16 \
--epochs 10 \
--weights ./checkpoints/yolov3.tf \
--weights_num_classes 80
Artık kullanıma hazır 20 sınıfa sahip yeniden eğitilmiş bir modeliniz var.
Sonraki Adımlar
Artık bir TensorFlow modeli oluşturduğumuza göre, Windows Machine Learning API'leriyle kullanmak için bu modeli ONNX biçimine dönüştürmemiz gerekir.