←Ana sayfaya dön

WhatFlowers

Adını bilmediğin bir çiçek hakkında bilgi bulmanı sağlayan bir uygulama. Çiçeğin fotoğrafını çek, uygulama türünü tanısın ve Wikipedia'dan o çiçeğin açıklamasını ve görselini gör. Tanıma telefonun içinde yapıldığı için internet gerektirmiyor, bağlantı yalnızca bilgileri getirmek için kullanılıyor.

SwiftUIKitMVVMCore MLVisionURLSessionCodableXCTestGit LFS
WhatFlowers açılış ekranı: fotoğraf seçmeye davet eden boş durum
Tanınan Pink Primrose fotoğrafı, altında tür adı ve Wikipedia açıklaması
Magnolia için Wikipedia açıklamasının kaydırılmış hâli

Daha yakından bak.

Cihazda tanıma

Core ML ve Vision ile tür tahmini telefonun içinde yapılıyor; fotoğraf hiçbir sunucuya gitmiyor.

Wikipedia'dan bilgi

Tanınan türün adı Wikipedia'ya sorularak açıklaması ve görseli getiriliyor.

Kendi dönüştürdüğüm model

Oxford 102 Flowers veri kümesiyle eğitilmiş hazır bir Caffe modelini Apple'ın Python araçlarıyla mlpackage biçimine çevirip Vision akışına bağladım.

167 MB'lık ağırlık, Git LFS ile

Model ağırlığı GitHub'ın 100 MB sınırını aşıyordu; Git LFS ile çözdüm, repoda 134 baytlık işaretçi duruyor.

Katmanları gerçekten ayıran MVVM

Tanıma akışı ve içerik kuralları ViewModel'da, çizim ekranda. ViewModel UIKit import etmiyor; bu yüzden simülatör açılmadan XCTest ile doğrulanabiliyor.

Etiketlerin dörtte biri boş dönüyordu

Model etiketleri Title Case, Wikipedia ise başlığın yalnızca ilk harfini büyütüyor. 102 etiketi tek tek tarayıp kırılan 26'sını küçük harfe çevirme ve 13 maddelik eşleme tablosuyla düzelttim.