Hangi görüntü piksellerinin bir nesneye ait olduğunu belirleyen segmentasyon, bilgisayarla görmede temel bir görevdir ve bilimsel görüntülerin analizinden fotoğrafların düzenlenmesine kadar çok çeşitli uygulamalarda kullanılır. Ancak belirli görevler için doğru bir segmentasyon modeli oluşturmak, tipik olarak , yapay zeka eğitim altyapısına ve büyük hacimli, dikkatlice açıklamalı alan içi verilere erişimi olan teknik uzmanların son derece uzmanlaşmış çalışmasını gerektirir .
Bugün, Segment Everything projesini tanıtarak segmentasyonu demokratikleştirmeyi amaçlıyoruz: araştırma makalemizde açıkladığımız gibi, görüntü segmentasyonu için yeni bir görev, veri seti ve model . Geniş bir uygulama yelpazesini mümkün kılmak ve bilgisayar görüşü için temel modellere yönelik daha fazla araştırmayı teşvik etmek için hem genel Segment Anything Modelimizi (SAM) hem de Segment Anything 1 Milyar maske veri kümemizi (SA-1B) piyasaya sürüyoruz. . SA-1B veri setini araştırma amacıyla kullanılabilir hale getiriyoruz ve Segment Everything Modeli, izin verilen bir açık lisans (Apache 2.0) kapsamında sunuluyor. SAM’i kendi görüntülerinizle denemek için demoyu inceleyin .
Görüntü segmentasyonu için göreve özel modelleme uzmanlığı, eğitim hesaplaması ve özel veri açıklamalarına olan ihtiyacı azaltmak, Her Şeyi Segment projesinin merkezinde yer alır. Bu vizyonu gerçekleştirmek için amacımız, görüntü segmentasyonu için bir temel model oluşturmaktı: doğal dil işleme modellerinde yönlendirmenin nasıl kullanıldığına benzer şekilde, çeşitli veriler üzerinde eğitilmiş ve belirli görevlere uyum sağlayabilen sorulabilir bir model. Bununla birlikte, böyle bir modeli eğitmek için gereken segmentasyon verileri, internette bol miktarda bulunan resimler, videolar ve metinlerin aksine, çevrimiçi olarak veya başka bir yerde kolayca bulunamaz. Bu nedenle, Segment Any ile, eş zamanlı olarak genel, sorgulanabilir bir segmentasyon modeli geliştirmeye ve bunu benzeri görülmemiş ölçekte bir segmentasyon veri seti oluşturmak için kullanmaya başladık.
SAM, nesnelerin ne olduğuna dair genel bir kavram öğrendi ve eğitim sırasında karşılaşmadığı nesneler ve görüntü türleri dahil olmak üzere herhangi bir görüntüdeki veya herhangi bir videodaki herhangi bir nesne için maskeler üretebilir. SAM, çok çeşitli kullanım durumlarını kapsayacak kadar geneldir ve ek eğitim gerektirmeden (sıfır çekim aktarımı olarak adlandırılan bir yetenek) gerek sualtı fotoğrafları gerekse hücre mikroskobu olsun, yeni görüntü “alanlarında” kutudan çıktığı haliyle kullanılabilir. .
Gelecekte SAM, herhangi bir görüntüdeki herhangi bir nesneyi bulmayı ve bölümlere ayırmayı gerektiren çok sayıda alanda güç uygulamalarına yardımcı olmak için kullanılabilir. AI araştırma topluluğu ve diğerleri için SAM, örneğin bir web sayfasının hem görsel hem de metin içeriğini anlamak gibi dünyanın daha genel çok modlu anlayışı için daha büyük AI sistemlerinde bir bileşen haline gelebilir. AR/VR alanında, SAM, kullanıcının bakışına dayalı olarak bir nesneyi seçmeyi ve ardından onu 3B’ye “kaldırmayı” sağlayabilir. İçerik oluşturucular için SAM, kolajlar veya video düzenleme için görüntü bölgelerinin çıkarılması gibi yaratıcı uygulamaları geliştirebilir. SAM, Dünya’daki ve hatta uzaydaki doğal oluşumların bilimsel çalışmasına yardımcı olmak için de kullanılabilir; örneğin, videoda çalışmak ve izlemek için hayvanları veya nesneleri yerelleştirerek. Olasılıkların geniş olduğuna inanıyoruz,Segment Everything’in uyarılabilir tasarımı, diğer sistemlerle esnek entegrasyon sağlar. SAM, bir AR/VR kulaklığından kullanıcının bakışları gibi giriş istemlerini alabilir.
SAM: Segmentasyona genelleştirilmiş bir yaklaşım
Daha önce, herhangi bir tür bölütleme problemini çözmek için iki sınıf yaklaşım vardı. İlk etkileşimli bölümleme, herhangi bir nesne sınıfının bölümlere ayrılmasına izin verdi, ancak bir kişinin bir maskeyi yinelemeli olarak iyileştirerek yöntemi yönlendirmesini gerektirdi. İkincisi, otomatik bölümleme, önceden tanımlanmış belirli nesne kategorilerinin (örneğin, kediler veya sandalyeler) bölümlenmesine izin verdi, ancak eğitmek için önemli miktarda manuel olarak açıklamalı nesne gerektirdi (örneğin, bölümlere ayrılmış kedilerin binlerce hatta on binlerce örneği), segmentasyon modelini eğitmek için bilgi işlem kaynakları ve teknik uzmanlık ile birlikte. Hiçbir yaklaşım, segmentasyona genel, tam otomatik bir yaklaşım sağlamadı.
SAM, bu iki yaklaşım sınıfının bir genellemesidir. Hem etkileşimli bölütlemeyi hem de otomatik bölütlemeyi kolaylıkla yapabilen tek bir modeldir. Modelin istemli arayüzü (kısaca açıklanmıştır), yalnızca model için doğru istemi (tıklamalar, kutular, metin vb.) Ayrıca SAM, 1 milyardan fazla maskeden oluşan (bu projenin bir parçası olarak toplanan) çeşitli, yüksek kaliteli bir veri kümesi üzerinde eğitilir ve bu, eğitim sırasında gözlemlediğinin ötesinde yeni nesne ve görüntü türlerine genelleme yapmasını sağlar. Bu genelleştirme yeteneği, uygulayıcıların artık kendi segmentasyon verilerini toplamalarına ve kullanım durumlarına göre bir modelde ince ayar yapmalarına gerek kalmayacağı anlamına gelir.
Birlikte ele alındığında, bu yetenekler SAM’in hem yeni görevlere hem de yeni etki alanlarına genelleştirilmesini sağlar. Bu esneklik, görüntü bölümleme için türünün ilk örneğidir.
İşte SAM’in bazı yeteneklerini sergileyen kısa bir video:
(1) SAM, kullanıcıların nesneleri yalnızca bir tıklamayla veya nesneye dahil edilecek ve nesneden çıkarılacak noktaları etkileşimli olarak tıklayarak bölümlere ayırmasına olanak tanır. Model ayrıca bir sınırlayıcı kutu ile de sorulabilir.
(2) SAM, bölümlere ayrılan nesneyle ilgili belirsizlikle karşı karşıya kalındığında birden çok geçerli maske çıkarabilir; bu, gerçek dünyada bölümlemeyi çözmek için önemli ve gerekli bir yetenektir.
(3) SAM, bir görüntüdeki tüm nesneleri otomatik olarak bulabilir ve maskeleyebilir.
(4) SAM, görüntü yerleştirmeyi önceden hesapladıktan sonra gerçek zamanlı olarak herhangi bir bilgi istemi için bir segmentasyon maskesi üretebilir ve modelle gerçek zamanlı etkileşime izin verir.
SAM nasıl çalışır: İstenebilir segmentasyon
Doğal dil işlemede ve daha yakın zamanlarda bilgisayar görüşünde, en heyecan verici gelişmelerden biri, yeni veri kümeleri ve görevler için “sorgulama” tekniklerini kullanarak sıfır adım ve birkaç adım öğrenmeyi gerçekleştirebilen temel modellerdir. Bu iş kolundan ilham aldık.
SAM’i herhangi bir bilgi istemi için geçerli bir segmentasyon maskesi döndürmesi için eğittik ; burada bir bilgi istemi ön plan/arka plan noktaları, yaklaşık bir kutu veya maske, serbest biçimli metin veya genel olarak bir görüntüde neyin segmentlere ayrılacağını gösteren herhangi bir bilgi olabilir. Geçerli bir maskenin gerekliliği, basitçe, bir bilgi istemi belirsiz olduğunda ve birden çok nesneye atıfta bulunabilse bile (örneğin, bir gömlek üzerindeki bir nokta, gömleği veya onu giyen kişiyi gösterebilir), çıktının makul bir maske olması gerektiği anlamına gelir. bu nesnelerden biri . Bu görev, modeli önceden eğitmek ve yönlendirme yoluyla genel aşağı akış bölümleme görevlerini çözmek için kullanılır.
Ön eğitim görevinin ve etkileşimli veri toplamanın model tasarımına belirli kısıtlamalar getirdiğini gözlemledik. Özellikle, modelin, bir web tarayıcısındaki bir CPU’da gerçek zamanlı olarak çalışması gerekir; bu, açıklama uzmanlarımızın etkin bir şekilde açıklama eklemek için SAM’i gerçek zamanlı olarak etkileşimli olarak kullanmasına olanak tanır. Çalışma zamanı kısıtlaması, kalite ve çalışma zamanı arasında bir değiş tokuşu ima etse de, basit bir tasarımın pratikte iyi sonuçlar verdiğini görüyoruz.
Donanımın altında, bir görüntü kodlayıcı, görüntü için tek seferlik bir katıştırma üretirken hafif bir kodlayıcı, herhangi bir istemi gerçek zamanlı olarak bir katıştırma vektörüne dönüştürür. Bu iki bilgi kaynağı daha sonra segmentasyon maskelerini tahmin eden hafif bir kod çözücüde birleştirilir. Görüntü yerleştirme hesaplandıktan sonra SAM, bir web tarayıcısında herhangi bir istem verildiğinde yalnızca 50 milisaniyede bir segment üretebilir.
Bir web tarayıcısında SAM, bir segmentasyon maskesi oluşturmak için görüntü özelliklerini ve bir dizi bilgi istemi yerleştirmeyi verimli bir şekilde eşler.
1 milyar maskeyi bölümlere ayırma: SA-1B’yi nasıl oluşturduk?
Modelimizi eğitmek için, çalışmamızın başlangıcında mevcut olmayan çok büyük ve çeşitli bir veri kaynağına ihtiyacımız vardı. Bugün yayınladığımız segmentasyon veri seti, bugüne kadarki en büyüğüdür (açık ara). Veriler SAM kullanılarak toplandı. Açıklayıcılar, özellikle görüntülere etkileşimli olarak açıklama eklemek için SAM’i kullandılar ve ardından yeni açıklama eklenmiş veriler sırayla SAM’ı güncellemek için kullanıldı. Hem modeli hem de veri setini yinelemeli olarak iyileştirmek için bu döngüyü birçok kez tekrarladık.
SAM ile yeni segmentasyon maskeleri toplamak her zamankinden daha hızlı. Aracımızla, bir maskeye etkileşimli olarak açıklama eklemek yalnızca yaklaşık 14 saniye sürer. Maske başına ek açıklama sürecimiz, en hızlı açıklama arabirimlerini kullanarak yaklaşık 7 saniye süren sınırlayıcı kutulara açıklama eklemekten yalnızca 2 kat daha yavaştır. Önceki büyük ölçekli segmentasyon veri toplama çabalarıyla karşılaştırıldığında, modelimiz, COCO tamamen manuel çokgen tabanlı maske açıklamalarından 6,5 kat daha hızlı ve yine model destekli olan önceki en büyük veri açıklama çabalarından 2 kat daha hızlı.
Ancak, etkileşimli olarak açıklama ekleyen maskelere güvenmek, 1 milyar maske veri setimizi oluşturmak için yeterince ölçeklenmiyor. Bu nedenle, SA-1B veri setimizi oluşturmak için bir veri motoru oluşturduk. Bu veri motorunun üç “dişlisi” vardır. Birinci viteste model, yukarıda açıklandığı gibi anlatıcılara yardımcı olur. İkinci vites, toplanan maskelerin çeşitliliğini artırmaya yardımcı olan, yardımlı açıklama ile birleştirilmiş tam otomatik açıklama karışımıdır. Veri motorunun son vitesi, veri setimizin ölçeklenmesini sağlayan tam otomatik maske oluşturmadır.
Nihai veri setimiz, yaklaşık 11 milyon lisanslı ve gizliliği koruyan görüntüde toplanan 1,1 milyardan fazla segmentasyon maskesi içerir. SA-1B, mevcut herhangi bir segmentasyon veri setinden 400 kat daha fazla maskeye sahiptir ve insan değerlendirme çalışmaları tarafından doğrulandığı üzere, maskeler yüksek kalite ve çeşitliliğe sahiptir ve hatta bazı durumlarda kalite açısından önceki çok daha küçük, tamamen manuel olarak açıklamalı veri setlerinden alınan maskelerle karşılaştırılabilir. .
Segment Everything’in yetenekleri, bir veri motoru kullanılarak toplanan milyonlarca görüntü ve maske üzerinde yapılan eğitimin sonucudur. Sonuç, 1 milyardan fazla segmentasyon maskesinden oluşan bir veri setidir – önceki herhangi bir segmentasyon veri setinden 400 kat daha büyük.
SA-1B için görüntüler, çeşitli coğrafi bölgelere ve gelir seviyelerine yayılan birçok ülkeden bir fotoğraf sağlayıcı aracılığıyla elde edildi. Belirli coğrafi bölgelerin hâlâ yeterince temsil edilmediğinin farkında olsak da, SA-1B daha fazla sayıda görüntüye sahiptir ve önceki segmentasyon veri setlerine göre tüm bölgelerde genel olarak daha iyi bir temsile sahiptir. Ayrıca, modelimizin algılanan cinsiyet sunumu, algılanan cilt tonu ve algılanan yaş aralığı boyunca potansiyel önyargılarını analiz ettik ve SAM’ın farklı gruplar arasında benzer şekilde performans gösterdiğini bulduk. Birlikte, bunun çalışmalarımızı gerçek dünyadaki kullanım durumlarında daha adil hale getireceğini umuyoruz.
SA-1B, araştırmamızı mümkün kılarken, diğer araştırmacıların görüntü bölümleme için temel modelleri eğitmesine de olanak sağlayabilir. Ayrıca, bu verilerin, her bir maskeyle ilişkili bir metin açıklaması gibi ek açıklamalar içeren yeni veri kümeleri için bir temel oluşturabileceğini umuyoruz.
ileride ne var
Gelecekte SAM, kullanıcılara hatırlatıcılar ve talimatlar gönderebilecek AR gözlükleri aracılığıyla günlük öğeleri tanımlamak için kullanılabilir.
SAM, çok çeşitli alanları etkileme potansiyeline sahiptir – belki bir gün tarım sektöründeki çiftçilere veya araştırmalarında biyologlara yardımcı olur.
Araştırmamızı ve veri kümemizi paylaşarak, segmentasyon ve daha genel görüntü ve video anlayışına yönelik araştırmaları daha da hızlandırmayı umuyoruz. İstemli segmentasyon modelimiz, daha büyük bir sistemde bir bileşen olarak hareket ederek bir segmentasyon görevi gerçekleştirebilir. Kompozisyon, tek bir modelin, model tasarımı sırasında bilinmeyen görevleri potansiyel olarak gerçekleştirmek için genişletilebilir şekillerde kullanılmasına izin veren güçlü bir araçtır. Hızlı mühendislik gibi tekniklerle etkinleştirilen şekillendirilebilir sistem tasarımının, sabit bir dizi görev için özel olarak eğitilmiş sistemlerden daha geniş bir uygulama yelpazesine olanak sağlayacağını ve SAM’in AR/VR, içerik gibi alanlarda güçlü bir bileşen haline gelebileceğini tahmin ediyoruz. oluşturma, bilimsel alanlar ve daha genel AI sistemleri.