1 puan yazan GN⁺ 2 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • GenCAD, yalnızca görüntü girdisiyle 3D CAD, tüm parametrik CAD komut geçmişi ve CAD programı üreten bir modeldir
  • B-rep, yapay zeka eğitimi için karmaşıktır; mesh, voxel ve point cloud ise veri elde etmeyi kolaylaştırsa da doğruluk ve düzenlenebilirlikten ödün verir
  • Görüntüden parametrik CAD komut dizisi üretildikten sonra, bunun bir geometri çekirdeği üzerinden 3D katı modele dönüştürülmesi mümkündür
  • Otoregresif Transformer, karşıt öğrenme, latent difüzyon modeli ve decoder birleştirilerek görüntü ve CAD komutlarının latent temsilleri üretilir ve yeniden oluşturulur
  • Aynı görüntüden birden fazla CAD örneği üretilebilir ve yaklaşık 7.000 CAD programı arasından ilk 3'ü bulan görüntü koşullu aramayı da destekler

Genel bakış

  • GenCAD, görüntü koşullu bir CAD üretim modelidir; yalnızca 3D CAD değil, tüm parametrik CAD komut geçmişini ve CAD programını da çıktı olarak verir
  • B-rep gibi CAD veri yapıları karmaşıktır ve verimli yapay zeka model eğitimi zordur; mesh, voxel ve point cloud gibi temsiller ise veri elde etmeyi kolaylaştırsa da gerçek CAD modellerinin doğruluğu ve düzenlenebilirliğinden ödün verir
  • GenCAD, görüntüden parametrik CAD komut dizisi üretir ve bunu geometri çekirdeği aracılığıyla 3D katı modele dönüştürür
  • Amaç, mühendislik işleri, üretim ve tasarım alanı keşfi için gereken hassas ve düzenlenebilir 3D modellemeyi görüntü tabanlı olarak otomatikleştirmektir

Model yapısı ve işlevler

  • Mimari

    • Otoregresif Transformer encoder, CAD komut dizilerinin latent temsillerini öğrenir
    • Karşıt öğrenme tabanlı model, CAD komut dizileri ile CAD görüntüleri arasındaki ortak latent temsili öğrenir
    • Latent difüzyon modeli, CAD görüntüsünü koşul olarak kullanıp CAD komut dizilerinin latent temsilini üretir
    • Decoder modeli, CAD latent temsilini parametrik CAD komut dizisine dönüştürür
  • CAD üretimi

    • GenCAD, girdideki görüntü render'ını kullanarak CAD modeli üretebilir
    • Aynı görüntü girdisinden birden fazla CAD örneği oluşturarak örnek çeşitliliği sunar
  • CAD arama

    • Görüntü koşullu CAD aramayı destekler ve yaklaşık 7.000 CAD programı koleksiyonundan ilk 3 CAD programını bulur
  • Kaynaklar

    • arXiv: GenCAD makalesi
    • Video: demo videosu
    • Code: GenCAD kod deposu

1 yorum

 
GN⁺ 2 시간 전
Hacker News yorumları
  • Birkaç saat denedim ama eğitim verisi dışındaki girdilerde en basit çizimler için bile işe yarar sonuç üretemedi
    GitHub'da kendi eğitim verilerinde bile güvenilirliğin yaklaşık %60 olduğu yazıyor; ancak açılış ekranındaki görsel oldukça yanıltıcı bir izlenim veriyor
    Örneklerle benzer karmaşıklıkta 10 görsel üretip her biri için yaklaşık 50 kez çalıştırdım ama düzgün çalışan tek bir örnek bile olmadı; nadiren bir şey ürettiğinde de tamamen yanlıştı
    Şu anki haliyle oldukça misleading ve daha çok çalışma gerekiyor gibi görünüyor

    • Örnekler de kafa karıştırıcı. Hepsi 3D modelden kusursuz biçimde render/export edilmiş görseller gibi duruyor; bu kullanım için en faydalı alan buymuş gibi gelmiyor
      Eğer el çizimi bir eskizden parametrik CAD modeli oluşturabilseydi gerçekten harika olurdu
  • İlginç ama ne kadar pratik olduğundan emin değilim. CAD çizimlerinde zaman alan kısım, her feature'ın kesin ölçülerini, aralıklarını, boyutlarını, toleranslarını vb. belirlemek ve sonradan kolayca değiştirilebilsin diye constraint'leri kurmaktır; bu ise bunların hiçbirini yapmıyor
    İstediğiniz şeyi 2D eskiz olarak çizip üretebilirsiniz ama zor kısmı yine sizin elle yapmanız gerekir

    • CAD araçlarını iyi bildiğiniz varsayımıyla bu doğru. Son zamanlarda 3D yazıcı kullanırken ne istediğimi biliyor, ölçü alabiliyor ve kâğıda eskiz çizebiliyor olmama rağmen bunu FreeCAD gibi araçlarda düzgün bir 3D modele dönüştürme süreci çoğu zaman çok zahmetli oldu
      OpenSCAD'e epey alışığım ama biraz karmaşıklaşınca orada da sık sık tıkanıyorum. Yakın zamanda çocuğum için Lego Duplo mutfak lavabosu için bir musluk yaptım
      Eğer bir eskiz ve parametreleri verdiğimde, bir eğri boyunca daireyi extrude etmenin yolunu internette arayarak ve eğitim videoları izleyerek harcadığım zamanı azaltacak iyi bir AI/LLM aracı olsa gerçekten minnettar olurdum
      Bu arada mevcut AI araçları OpenSCAD ile oldukça iyi çalışıyor; bu yüzden basit şekillerden oluşturulabilen parametrik modeller gerekiyorsa bu yaklaşımı güçlü biçimde tavsiye ederim
    • Güzel soru
      Eski işimde buna çok zaman harcamamızın nedeni oldukça mantıklıydı. Düşük kaliteli, başa takılan kameralardan üretilen point cloud verileri modeli çok karmaşık hâle getiriyor
      Örneğin bir Ikea LACK point cloud'una bakarsanız (https://www.ikea.com/gb/en/p/lack-nest-of-tables-set-of-2-wh...) inanılmaz karmaşık olur. Bu yüzden biraz etkileşim bile sağlamak isteseniz hesaplama maliyeti yükselir (https://www.researchgate.net/publication/221064696/figure/fi...)
      Bu nedenle point cloud'u basitleştirilmiş bir “CAD” modele dönüştürmeye yönelik çok araştırma var. Yani LACK masası 400 bin üçgen yerine kabaca 40 üçgenle ifade edilebiliyor
      Bir yöntem, “bu point cloud bir masaya benziyor, o zaman çok sayıda aday masa üretip hangisinin uyduğuna bakalım” yaklaşımıdır. Bunun için parametrik CAD'i anlayan ve eşleşene kadar ayarlanabilir parametrelerle çok sayıda masa üretebilen bir model gerekir
      Daha kolay olabilecek bir yaklaşım, point cloud'u alıp CAD modelleriyle eğitilmiş bir görüntü modelinin bunu 2D görsel olarak çizmesini sağlamak, ardından da bunun gibi bir araçla gerçek modeli elde etmektir
      Verimli değil ama çalışabilir. Otomatik intihal gibi pek hoş olmayan kullanım alanları da çok
    • Üretken yapay zeka alanında sık görüldüğü gibi bu da var olmayan bir probleme çözüm gibi görünüyor
    • Kurşun kalemle bir mobilya çizip düğmeye bastıktan sonra fena olmayan bir CAD çizimi elde edip üzerinde düzenleme yapabilmek, marangozlar gibi insanlar için inanılmaz bir araç olurdu
    • Bence bunun yerine açık etiketlere sahip kod biçimindeki CAD üretmek daha uygun olabilir. O zaman kumpas alıp her şeyin doğru ölçüde olup olmadığını kontrol edebilirsiniz
  • Kendi CAD AI'ımı geliştirmek için araştırırken buna benzer girişimler[0] gördüm. Bunlar potansiyeli yüksek çözümler ama şu anki projelerin veya weight'lerin rastgele modellere iyi çalışacak kadar yeterli eğitim verisi ya da eğitim süresi olmadığını düşünüyorum
    MeshCoder pratikte yalnızca eğitim verisi tabanlı modellerde çalışıyor. GenCAD'i denemedim ama diğer yorumlar şüphelerimi doğruladı
    [0]: https://daibingquan.github.io/MeshCoder/
    [1]: https://grandpacad.com

  • Bu yaklaşım OpenSCAD ile uzun zamandır kolayca yapılabiliyordu. Bu yöntemle pek çok güzel ve karmaşık model yaptım; ayrıca LLM'e bunun nasıl yaptırılacağını gösteren bir prompt deposu oluşturdum ve kendi yaptığım birçok modeli de ekledim
    https://github.com/cjtrowbridge/vibe-modeling

  • Gerçek parça fotoğraflarında ya da el çizimi teknik resimlerde ne kadar iyi çalıştığını görmek istedim ama Docker imajını kurmaya çalışır çalışmaz eksik bağımlılıklar her taraftan patladı
    Örneklere bakınca, en baştan CAD'de üretilmiş görseller değilse iyi çalışmayacağından şüpheleniyorum

    • İşin ironik yanı, Docker imajları tam da bu tür bağımlılık sorunlarından kaçınmak için var
  • Bununla ilgilenen biri büyük ihtimalle OpenSCAD'i de sever. Kodla 3D CAD modeli üretebilirsiniz
    https://openscad.org/

  • Yazar bunu görürse, otomatik oynatılan videoları kaldırmasını isterdim. Telefonda başka bir şey dinlerken sürekli sesi ele geçirip kesiyor

  • Benim açık kaynak Rust BRep CAD kernel'im de ilginizi çekebilir: https://github.com/ecto/vcad
    Barındırılan sürüm https://vcad.io adresinde
    Bir CAD uygulamasının içinde neler olduğuna dair biraz da yazdım: https://campedersen.com/tessellation

    • Ben de Rust ile bir CAD programı yapmaya çalışıyorum, bu yüzden barındırılan siteye baktım ama neyin çalışması gerektiği ve neyin henüz çalışmadığı pek anlaşılmıyor
      Tek bir kişinin 4 ayda Rust crate'lerinde yaklaşık 115 bin satır yazmış olması kulağa biraz şüpheli geliyor; üstüne frontend tarafında ayrıca 100 bin satır daha olması da öyle
      Neden “anında” tessellation seçtiğinizi de merak ediyorum. Bir daire oluşturur oluşturmaz daire gibi görünen çok sayıda doğru parçası oluşuyor; teğet constraint'lerinde hemen sorun çıkacakmış gibi geliyor. Bunun mevcut bir sınırlama mı yoksa kernel stratejisinin parçası mı olduğunu merak ediyorum
    • Söylemeyi unuttum ama Claude ile bağlantılı, yani orijinal örnektekine benzer şekilde birkaç adım daha geçerek vibe CAD yapabiliyor. Yakında benzer bir modeli eğitmeyi de denemek istiyorum
      İlk denemem hakkında da yazdım: https://campedersen.com/cad0
  • Bu tür şeyleri pek anlayamıyorum. Çizim ve modelleme zor kısım değil; zor olan CAM programlama
    3D modeli içe aktarıp UI üzerinden takım yolları tanımlayabileceğiniz açık kaynak bir program bile bulamadım; LLM'in modelden takım yolu üretmesi ise daha da zor görünüyor

  • Belki bir şeyi kaçırıyorumdur ama en başta görüntü render'ı varsa muhtemelen CAD de zaten vardır. Güzel bir demo ama kullanım alanının ne olduğunu anlayamıyorum

    • Eskizden üretmek veya elinizde olmayan bir parçayı kopyalamak için kullanılabilir