floorplan-parser
NO LEARNED MODELSA raster floor plan goes in; walls, doors, windows, rooms and the graph of which rooms connect through which doors come out. Thresholding, morphology, Hough lines, template matching and a watershed — no neural network anywhere. An Image Processing course project, measured on a held-out test split exactly once. Bir raster kat planı girer; duvarlar, kapılar, pencereler, odalar ve hangi odanın hangi kapıdan hangisine açıldığını gösteren graf çıkar. Eşikleme, morfoloji, Hough doğruları, şablon eşleme ve watershed — hiçbir yerde sinir ağı yok. Görüntü İşleme dersi projesi; ayrılmış test kümesinde tam bir kez ölçüldü.
A plan from the test split — the median one by room score, not the best. Salon and dining area come out as one room: the ground truth separates them without a wall, so there is no stroke in the drawing to split them on. Test kümesinden bir plan — oda skoruna göre ortadaki, en iyisi değil. Salon ve yemek alanı tek oda çıkıyor: cevap ikisini duvarsız ayırıyor, yani çizimde bölecek bir çizgi yok.
Six stages, all classical Altı adım, hepsi klasik
Walls are the thickest strokes, so a morphological opening finds them — but partition walls are as thin as stair treads. Two scales fix that: a 13 px opening is accepted directly, a 7 px one only through rules on length, width and parallel neighbours. Duvarlar en kalın çizgiler, bu yüzden morfolojik açma onları bulur — ama bölme duvarlar merdiven basamakları kadar ince. İki ölçek bunu çözüyor: 13 px açma doğrudan kabul ediliyor, 7 px açma yalnız uzunluk, kalınlık ve paralel komşu kurallarından geçerek.
Skeleton plus the probabilistic Hough transform turns the masks into wall segments. Openings are the gaps between wall ends: a quarter-arc template decides a door, parallel lines or swing arcs decide a window. Rooms are what remains once the openings are closed, split by a watershed on the distance transform. İskelet ve olasılıksal Hough dönüşümü maskeleri duvar parçalarına çeviriyor. Açıklıklar duvar uçları arasındaki boşluklar: kapıya çeyrek yay şablonu, pencereye paralel çizgiler ya da kanat yayları karar veriyor. Odalar, açıklıklar kapatıldıktan sonra kalan alan; uzaklık dönüşümü üzerinde watershed ile bölünüyor.
Tuned on 62 plans, measured once on 24 62 planda ayarlandı, 24 planda bir kez ölçüldü
CVC-FP has no official split, so one was fixed before the first measurement. Every threshold was chosen on the development plans; the test plans were evaluated a single time, after the method was frozen. Matching is strict: one-to-one at IoU ≥ 0.5, so two rooms merged into one count as one miss and one false region. CVC-FP'nin resmî bölmesi yok, bu yüzden ilk ölçümden önce bir bölme sabitlendi. Her eşik geliştirme planlarında seçildi; test planları yöntem dondurulduktan sonra tek bir kez ölçüldü. Eşleme katı: IoU ≥ 0.5'te bire bir, yani tek odaya birleşen iki oda bir eksik ve bir fazla bölge sayılıyor.
| solid-wall plansdolu duvarlı planlar | development (62)geliştirme (62) | test (24)test (24) |
|---|---|---|
| wall pixel IoUduvar piksel IoU | 0.909 | 0.913 |
| doors, F1kapı, F1 | 0.892 | 0.904 |
| windows, F1pencere, F1 | 0.838 | 0.830 |
| rooms, F1oda, F1 | 0.783 | 0.770 |
| room–door edges, F1oda–kapı kenarı, F1 | 0.392 | 0.502 |
Walls, doors, windows and rooms agree within 0.015 across the two splits. The edge score rises on test, but it comes from 188 edges and one missed corridor costs many of them, so it is not read as an improvement. Duvar, kapı, pencere ve oda iki bölmede 0.015 içinde tutuyor. Kenar skoru testte yükseliyor, ama 188 kenardan geliyor ve tek bir kaçan koridor bunların çoğuna mal oluyor; bu yüzden iyileşme diye okunmuyor.
The radius the search jumped over Taramanın atladığı yarıçap
A door is a leaf and a quarter circle around the hinge. The template samples 24 points on that arc and counts how many land within 3 px of ink. One clearly drawn door kept scoring 0.62 and being missed. Kapı, bir kanat ve menteşe etrafında çeyrek bir daire. Şablon o yay üzerinde 24 nokta örnekliyor ve kaçının mürekkebe 3 px'ten yakın düştüğünü sayıyor. Açıkça çizilmiş bir kapı sürekli 0.62 alıp kaçıyordu.
At its true radius, 88 px, it scores 1.00. The search tried 84, 91, 99 and 105: a step of about 7 px, more than twice the tolerance, so the right radius fell between two tested ones. Finer radii for door-sized arcs found 32 more doors on the development plans. Gerçek yarıçapı olan 88 px'te 1.00 alıyor. Tarama 84, 91, 99 ve 105'i deniyordu: yaklaşık 7 px'lik adım, toleransın iki katından fazla; doğru yarıçap iki denenen değerin arasına düşüyordu. Kapı boyundaki yaylar için daha sık yarıçap, geliştirme planlarında 32 kapı daha buldu.
The same finer search on small casement-window arcs turned windows drawn as parallel lines into casements and lowered window F1, so it stays limited to doors. Aynı sık tarama küçük kanatlı pencere yaylarında, paralel çizgiyle çizilmiş pencereleri kanatlıya çevirip pencere F1'ini düşürdü; bu yüzden yalnız kapılarda.
What is not claimed here Burada iddia edilmeyenler
Hatched and double-line walls Taralı ve çift çizgili duvarlar
The wall model assumes solid black bands, which 86 of the 122 plans use. On the other styles almost nothing is found: over all test plans the mean wall IoU drops to 0.634. Duvar modeli dolu siyah bantları varsayıyor; 122 planın 86'sı böyle. Diğer stillerde neredeyse hiçbir şey bulunmuyor: bütün test planlarında ortalama duvar IoU 0.634'e düşüyor.
Other scans, other scales Başka taramalar, başka ölçekler
Every threshold is in pixels and was set at CVC-FP's resolution. Nothing was run on plans from another source, so there is no number for them; rescaling by the measured wall thickness is the obvious next step. Her eşik piksel cinsinden ve CVC-FP'nin çözünürlüğünde ayarlandı. Başka kaynaktan planlarda hiçbir şey çalıştırılmadı, dolayısıyla onlar için sayı yok; ölçülen duvar kalınlığına göre ölçekleme bariz sonraki adım.
Rooms split without a wall Duvarsız ayrılan odalar
93 of 602 development rooms are separated from a neighbour only in the annotation. No geometric method finds a boundary that was never drawn, which caps room recall near 0.85. Garage doors, annotated as their own class, are detected as wide windows. 602 geliştirme odasının 93'ü komşusundan yalnız etiketlemede ayrılıyor. Hiçbir geometrik yöntem hiç çizilmemiş bir sınırı bulamaz; bu, oda duyarlılığını 0.85 civarında sınırlıyor. Ayrı bir sınıf olarak etiketlenen garaj kapıları geniş pencere olarak bulunuyor.
Read further Devamını oku
The report in IEEE format: method, the single test measurement, a comparison with published results on the same data, and the failure analysis. IEEE biçiminde rapor: yöntem, tek test ölçümü, aynı veride yayımlanmış sonuçlarla kıyas ve hata analizi.
OPENAÇ arrow_forward table_chart olcumler.mdThe numbered measurement log, in Turkish: every variant that was tried, including the ones that were rejected, with the numbers that decided it. Numaralı ölçüm kaydı: denenen her varyant, reddedilenler dahil, kararı veren sayılarla birlikte.
OPENAÇ arrow_forward play_circle demo.pyOne command: a plan in, the layered result, the graph as JSON and a side-by-side view with the ground truth out, in about seven seconds on a CPU. Tek komut: bir plan girer; katmanlı sonuç, JSON olarak graf ve cevapla yan yana görüntü çıkar; işlemcide yaklaşık yedi saniyede.
OPENAÇ arrow_forward