Telefonla çekilen videodan360° sanal tur — açık kaynak.

Odanın ortasında telefonu bir tur çevirin: BioSphere en keskin kareleri seçer, kameranın nasıl döndüğünü çözer ve 8K'ya kadar küresel bir panorama diker. Dikiş motorunu hazır bir 360 kütüphanesine dayanmadan, sıfırdan kendim yazdım; odaları birbirine bağlayan oynatıcıyı, kat planını ve tura gömülen yapay zekâ araçlarını da.
- MIT lisansı
- Kendi bilgisayarınızda çalışır
- Python + Next.js
git clone https://github.com/bilalgurkansanli/BioSphereAI.gitEkran görüntüleri
Kurduktan sonra göreceğiniz ekranlar
Görüntüler temiz bir kurulumda, sentetik odalarla alındı; hiçbirinde kimsenin evi yok.

Proje durumu
Neler hazır, neler gelişiyor
Ekim 2026 itibarıyla. Her bileşeni ölçerek geliştirdim; sayılar tahmin değil ölçüm ve kodun yanında duruyor. Nerede sınıra geldiğimi de açıkça yazdım.
- 4Kararlı
- 2API anahtarıyla
- 2Deneysel
- 1Sıradaki adım
İyi çalışıyor
Rehberli telefon çekimi ve 360° dikiş
Projenin kalbi, sıfırdan yazdığım dikiş motoru. OpenCV'nin hazır stitcher'ı yerine kendi hattı: telefon videosundan 8K'ya kadar eşdikdörtgen panorama. Döngü kapatmalı, yalnızca dönüşe dayalı demet ayarı; elde çekimin paralaksına karşı mesh hizalama; graph-cut dikişler, çok bantlı harmanlama ve kutup doldurma. Sentetik bir kalite kapısı prosedürel bir oda render eder, telefon çekimini taklit eder (hareket bulanıklığı, rolling shutter, pozlama kayması, paralaks) ve çıktıyı gerçeğe karşı puanlar.
- 4096 px ≈ 170 sn (önce 1278 sn)
- 16 iş parçacıklı dizüstü
360° oynatıcı
Odalar, kapı eşiklerinden geçiren zemin halkaları, oda çubuğu, ölçüm aracı (ölçek kamera yüksekliğinden gelir), kademeli çözünürlük ve her sayfaya giren bir iframe.
- three.js
- <iframe>
Panoramalardan kat planı
Her odanın panoramasından oturtulan oda, boyutu bilinen odalarda gerçek zeminle 0,984–0,991 IoU örtüşüyor; kenarlar 9 cm içinde. Plan elle düzenlenebilir.
- IoU 0,984–0,991
- kenar ≤ 9 cm
Hesaplar, QR çekim bağlantıları, yüklemeler
Telefon giriş yapmadan çeker: QR bağlantısı 12 saat geçerli, tek bir eve bağlı ve yalnızca izin listesindeki rotalarda geçiyor. Parçalı, kaldığı yerden devam eden yüklemeler; işin ilerlemesi canlı izleniyor.
- 12 sa · tek ev
- devam ettirilebilir yükleme
Bir Anthropic anahtarı gerekir
İlan metni
Türk ilan portalları için başlık ve açıklama. Metindeki her sayı, ölçülmüş gerçeklere karşı denetleniyor.
- ≈ 0,005 $ / ilan
- Claude Haiku
Oynatıcıda yatırım asistanı
Kira getirisi, amortisman, alım masrafları, kredi taksiti ve bölgedeki fiyat eğilimi. Bütün aritmetik motorun deterministik araçlarında yapılıyor; piyasa verisi web aramasından, kaynağıyla geliyor. İlan başına ve genel günlük bütçe sınırları var. Tahmindir, yatırım tavsiyesi değildir.
- ≈ 0,03 $ / soru
- varsayılan Sonnet 5.5
Çalışıyor, sınırlarıyla
VR
Gözlüklerde WebXR (Quest, Vision Pro) ve telefonla “VR kutusu” (Cardboard) modu: mercek düzeltmesi ve bakışla seçim. Birim testleri var ve masaüstünde denendi; gerçek bir gözlükte ya da telefonda henüz denenmedi.
- WebXR
- gerçek cihazda denenmedi
3B gezinti
Bir gezinti videosundan Gaussian splat modeli: ALIKED + LightGlue, COLMAP/GLOMAP, Brush eğitimi, SOG dışa aktarımı, PlayCanvas görüntüleyici. Özenle çekilmiş videoda çalışıyor; hızlı, bulanık ya da mesajlaşma uygulamasından geçmiş bir telefon videosu ayrı parçalara bölünüyor.
- GPU gerekir
- ≈ 30 dk / model
Prototip; geliştirilmeye açık
Mobilya kaldırma ve sanal dekorasyon
Prototip olarak çalışıyor: panoramada mobilyanın yerini odanın kendi duvar ve zeminiyle doldurmayı denedim ve koyu leke oranını 0,43–0,71'den 0,08–0,11'e indirdim. Ama yerel modellerle (LaMa, SD 1.5 + ControlNet, Mask2Former) üretim kalitesine ulaşmıyor; zeminler hâlâ düz kalıyor, dekorasyon odayı yeniden tasarlamak yerine mobilyanın yüzünü değiştiriyor. Bunun için daha büyük modeller ve ciddi bir GPU bütçesi gerekiyor. Bu yüzden odağımı projenin çekirdeği olan 360 motoruna verdim; bu kısım sıradaki adım.
- LaMa
- SD 1.5 + ControlNet
- Mask2Former
Hikâye
Proje hikâyesi
BioSphere'i emlakçılar için bir ürün olarak tasarladım: fotoğrafçı ya da 360 kamera gerektirmeden, telefonla çekilen bir videodan gezilebilir bir tur. Fikirden çalışan sisteme kadar her katmanı — dikiş motoru, 3B yeniden yapılandırma, web oynatıcı, panel ve yapay zekâ araçları — tek başıma geliştirdim.
Sonra emlakçılarla tek tek görüştüm. Gördüğüm şu oldu: çoğu emlakçı ilan için video bile çekmiyor; bir dakikalık bir 360 çekimi de çoğu için ya fazladan bir zahmet ya da tercih etmedikleri bir şey. Büyük ilan portalları da benzer bir turu üyelerine zaten ücretsiz sunuyor. Bu tabloda BioSphere'in bir ürün olarak tutunmayacağını düşündüm — ve bunu erken görmek, sistemi kurmak kadar değerli bir ders oldu.
Bu yüzden rafa kaldırmak yerine açık kaynak yaptım; herkes erişebilsin, kullanabilsin, üzerine bir şey inşa edebilsin. Hesaplamalı fotoğrafçılık, 3B yeniden yapılandırma, gerçek zamanlı render ve bir LLM ajanı — hepsi tek bir dizüstünde çalışıyor. Bir telefon videosunu gezilebilir bir 360° tura çeviren sistemi baştan sona kendi başıma kurabilmiş olmak beni gerçekten mutlu ediyor. Okuyun, çalıştırın, geliştirin; katkılar memnuniyetle karşılanır.
- Tek geliştirici: motor, web, panel ve yapay zekâ
- MIT lisansı: kullanın, değiştirin, dağıtın
- Ölçerek geliştirildi: her karar bir sayıya dayanıyor
- İsteğe bağlı yapay zekâ özellikleri dışında her şey yerelde
Mimari
Nasıl çalışır
İki ayrı hat. 360° tur saf dönüşe dayanır: telefon tek bir noktanın çevresinde döndüğü sürece kameranın konumu değil, yalnızca yönü çözülür. 3B gezinti ise kameranın yürüdüğü yolu çözer ve sahneyi Gaussian splat'lerle yeniden kurar.
360° tur
- 01
Telefon videosu
rehberli çekim, oda başına bir tur
MP4 · MOV
- 02
Anahtar kareler
en keskin kareler seçilir
FFmpeg
- 03
Dönüşler
demet ayarı + döngü kapatma
SciPy
- 04
Dikiş ve harmanlama
mesh hizalama, graph-cut, çok bantlı
OpenCV
- 05
8K equirect
kutup doldurma, 512 → 8192 px
JPEG
- 06
Oynatıcı / iframe
odalar, plan, ölçüm, VR
three.js
Kalite kapısı. Prosedürel oda → simüle telefon çekimi (hareket bulanıklığı, rolling shutter, pozlama kayması, paralaks) → aynı hat → gerçeğe karşı PSNR / SSIM. “Görünür kusur yok” bir görüş değil, bir ölçüm.
3B gezinti
deneysel- 01
Gezinti videosu
dairede yavaşça yürüyerek
MP4
- 02
Öznitelikler
kareler arası eşleşmeler
ALIKED + LightGlue
- 03
Kamera yolu
konum, ölçek, odaların yerleşimi
COLMAP / GLOMAP
- 04
Eğitim
3B Gaussian splat
Brush
- 05
Sıkıştırma
temizlik ve SOG
splat-transform
- 06
Görüntüleyici
yürüyüş ve serbest uçuş
PlayCanvas
- Motor
- Python 3.11–3.13 · FastAPI · OpenCV · NumPy / SciPy · SQLite
- Web
- Next.js 16 · React 19 · three.js · PlayCanvas · Tailwind CSS
Mühendislik
Ölçülmüş sayılar
Her sayının arkasında bir ölçüm betiği var; çoğu ARCHITECTURE.md'de, neyin denenip neden bırakıldığıyla birlikte yazılı.
≈ 7,5×
Aynı çekim, aynı 16 iş parçacıklı dizüstü: 1278 saniyeden yaklaşık 170 saniyeye.
Kat planı IoU
0,984–0,991
Panoramadan oturtulan odaların, boyutu bilinen odalarda gerçek zeminle örtüşmesi. Kenarlar 9 cm içinde.
8K
Eşdikdörtgen çıktı
Oynatıcı 512 px'lik önizlemeyle açılır, ardından 2K, 4K ve 8K katmanlarına geçer.
≈ 0,005 $
İlan metni başına
Claude Haiku ile; metindeki her sayı ölçülmüş gerçeklere karşı denetlenir.
≈ 0,03 $
Yatırım sorusu başına
Varsayılan Sonnet 5.5; ilan başına ve genel günlük bütçe sınırlarıyla.
12 sa
QR çekim bağlantısı
Tek bir ev, izin listesindeki rotalar; telefon giriş yapmaz.
Ana fikirler
- 01
Saf dönüş modeli
Telefon tek bir noktada döndüğü sürece sahnenin derinliği gerekmez: demet ayarı yalnızca dönüşleri çözer, döngü kapatma turun sonunu başına bağlar.
- 02
Paralaksa karşı mesh hizalama
Telefon merceğin değil kolun ucunda döner. Yakın eşyalarda kalan kaymayı yerel bir mesh deformasyonu emer.
- 03
Graph-cut dikiş, çok bantlı harmanlama
Dikiş, görüntülerin en az ayrıştığı yerden geçer; harmanlama her frekans bandında ayrı yapılır, kutuplar ayrıca doldurulur.
- 04
Sentetik kalite kapısı
Prosedürel bir oda, simüle edilmiş bir telefon çekimi ve gerçeğe karşı bir puan. Bir değişiklik çıktıyı kötüleştirirse testler kırmızıya döner.
Kurulum
Hızlı başlangıç
Proje Windows'ta geliştirildi ve betikler PowerShell. Linux ve macOS'ta elle kurulum adımları aynı sonucu verir.
Gereksinimler
| Araç | Sürüm |
|---|---|
| FFmpegKare ayıklama ve kodlama | 6+ |
| PythonMotor | 3.11–3.13, uv ile |
| Node.jsPanel, çekim uygulaması, oynatıcılar | 22+ |
| NVIDIA GPUStüdyo modunda RAFT, 3B gezinti ve yapay zekâ araçları | isteğe bağlı |
| Brush · splat-transform · pycolmap + LightGlueYalnızca 3B gezinti için | isteğe bağlı |
İlk oluşturduğunuz hesap, kurulumdaki sahipsiz verileri üstlenir. Bütün API anahtarları isteğe bağlıdır. engine/.env.example
git clone https://github.com/bilalgurkansanli/BioSphereAI.gitcd BioSphereAI./scripts/setup.ps1 # -Gpu: CUDA PyTorch ve yapay zekâ ekleri./scripts/dev.ps1 # motor :8008, panel :3000# ya da: scripts/start-dev.cmd (çift tıklayın)PowerShell yerel betikleri çalıştırmayı reddederse betiği şöyle başlatın:
powershell -ExecutionPolicy Bypass -File ./scripts/setup.ps1Sonra açın
- Panellocalhost:3000
- Motor127.0.0.1:8008
- API belgeleri127.0.0.1:8008/docs
Herkese açık bir kurulum işletiyorsanız işletmeci sizsiniz: kendi gizlilik bildiriminiz ve koşullarınız sizin sorumluluğunuzda. İsteğe bağlı yapay zekâ özellikleri açıkken veriler Anthropic'e gider.
Katkı
Yardım aranıyor
Issue'lar ve pull request'ler açık. En çok fark yaratacak yerler şunlar; başka bir fikriniz varsa önce bir issue açın, birlikte bakalım.
- AI · GPU
Daha iyi mobilya kaldırma modelleri
Düz, grimsi zeminler ve kaçan küçük eşyalar. Daha iyi bir segmentasyon ve inpainting hattı ya da makul maliyetle çalışan büyük bir model.
- VR
Gerçek cihazda VR testi
Quest, Vision Pro ya da bir Cardboard ile denemek ve bulduklarınızı bir issue'ya yazmak — kod yazmadan da çok değerli.
- Docs · 3D
3B gezinti için çekim rehberi
Hangi hız, ışık ve rota tek parça bir model veriyor? Ölçülerek yazılmış kısa bir rehber.
- DX
Linux / macOS kurulum betikleri
setup.ps1 ve dev.ps1'in bash karşılıkları; elle kurulum adımları zaten çalışıyor.
- DX
Docker
Motoru ve paneli tek komutla ayağa kaldıran, GPU'lu ve GPU'suz çalışan bir imaj.
- Docs
Mimari notlarının çevirisi
ARCHITECTURE.md şimdilik Türkçe. İngilizce bir çeviri, projeyi okumak isteyen herkesin işine yarar.
github.com/bilalgurkansanli/BioSphereAI
Telefonla çekilen videodan 360° sanal tur



