Vibe Kamera: AI bir izlenim yaratır

Apr 29 2023
Titreşimleri yakalamak, fotonları değil
Üretken yapay zeka ile prototip oluşturma serisinin bir parçası Bu prototip, Danny DeRuntz'un bir fikrinden ilham aldı. Birkaç hafta önce Danny, üretken AI görüntüleri hakkındaki düşüncelerinden ve bunların gerçek şeylerin belirli bir tasvirinden çok bir titreşimden daha fazlası olduklarından bahsediyordu.

Üretken yapay zeka ile prototip oluşturmaya ilişkin bir serinin parçası Bu prototip,
Danny DeRuntz'un bir fikrinden esinlenmiştir .

Birkaç hafta önce Danny, üretken AI görüntüleri hakkındaki düşüncelerinden ve bunların gerçek şeylerin belirli bir tasvirinden çok bir titreşimden daha fazlası olduklarından bahsediyordu. Bir sensöre çarpan fotonların doğru bir şekilde yakalanmasının aksine, etrafımızdaki dünyayı bir titreşim olarak yakalayabilsek ilginç olmaz mıydı? Fotoğrafçılığı kullanma biçimlerimiz bu görüntü oluşturucuların tehdidi altındadır. Peki ya bir anı yakalamanın tüm tanımı ve pratiği, belki de özellikle sıradan veya kişisel olanlar, doğruluğu denemekten başka bir şeye geçebilirse?

Bunun sadece bir fikir olarak bile çok ilginç olduğunu düşündüm. Ya kendi anılarımızın işleyişine daha çok benzeyen şekillerde hayatlarımızı yakalasaydık? Ayrıca OpenAI API belgelerinde gezindiğimi ve varyasyon oluşturma seçeneği de dahil olmak üzere DALL-E 2 bitiş noktalarını fark ettiğimi de hatırladım. Ve düşündüm ki, bu kameralardan birini yapmak gerçekten ne kadar zor olurdu? Ben de denedim. Ve aslında, oldukça basit! Bir tane yaptım. Keyifli buluyorum. Bu kamerayı hayatımda kullandım. Doğum günüm için bir ağaç aldığımda konferanslarda, işte ve evimde kullandım. Kamera bana duygu veriyor. Bunun iyi bir fikir olduğunu düşünmeme rağmen bunu pek beklemiyordum. Bunun gibi prototipler, son zamanlarda hızlı bir şekilde uygulanması kolay olan şeylerdir. Ama aslında onu kullanma deneyimini bu kadar dokunaklı bulmayı beklemiyordum.

yeni ağacım
Tığ işi mantar yaratık
Bir balıkçı kulübesi Lego

Nasıl yapıldı

Github deposu

Açıkçası, kameranın en önemli kısmı aslında geleneksel bir görüntüden oluşturulmuş bir varyasyona çeviri yapmaktır. Bu, JavaScript kitaplıklarından OpenAI varyasyon işlevi kullanılarak yapılır. Bu, kimlik doğrulamanın arkasındaki Firebase işlevi içinden yapılır. Geri gönderilen base64 kodlu görüntünün bir Depolama grubuna kaydedilmesi de dahil olmak üzere, bunu güvenli ve istikrarlı hale getirmek için bunu ayarlamaya giden biraz altyapı var.

exports.getVariant = functions.https.onCall(async (data, context) => {
 if (!context.auth) {
 // check for authentication
   throw new functions.https.HttpsError(
     "failed-precondition",
     "The function must be called while authenticated."
   );
 }
 // grab the blob from the frontend
 const base_blob = data;
 // get the variation from OpenAI
 const blob = await openai.getVariation(base_blob);
 if (blob) {
   // save the variation to a storage bucket and return a url
   const url = await uploadImage(blob, crypto.randomUUID());
   return url;
 }
 return null;
});

async getVariation(blob) {
   // convert to buffer
   const buff = Buffer.from(blob, "base64");
   // add enough metadata to make openai happy
   buff.name = "image.png";
   // request a variation
   const response = await openai.createImageVariation(
     buff,
     1,
     "512x512",
     "b64_json"
   );
   // pass back the new blob
   const image_url = response.data.data[0].b64_json;
   return image_url;
 }

useEffect(() => {
       navigator.mediaDevices.enumerateDevices().then((devices) => {
           const videoDevices = devices.filter((device) => device.kind === 'videoinput');
           setDeviceList(videoDevices);
       });
   });

.camera-feed {
     filter: blur(calc($sz*0.05)) contrast(2.43) grayscale(0.72) hue-rotate(219deg);
   }

Veya üzerine kendiniz inşa edin:

https://github.com/jftesser/see-the-vibe