Geri qayıt
Adanın yerinin həndəsə və CUDA proqramlaşdırması ilə tapılması
SiTech AI Team2 წთ. საკითხავი

Adanın yerinin həndəsə və CUDA proqramlaşdırması ilə tapılması

OSINT tapşırığı Google Lens olmadan həll edildi: 882 MB sahil xətti məlumatı, həndəsi filtrlər zənciri və GPU-da yoxlanılan 80 milyon üçlük Mikroneziyadakı Oan kurortuna gətirib çıxardı.

yassa9 bloqunda yazan bir proqramçı 16 avqust 2026-cı ildə açıq mənbəli kəşfiyyat (OSINT) tapşırığını necə həll etdiyini izah edən yazı dərc edib: Sofia Santosun (Gralhix) 004 nömrəli tapşırığı. Tapşırıq adadakı kurortun fotosu ilə bağlı üç sualı əhatə edirdi: kurortun adı, adanın koordinatları və kameranın baxdığı istiqamət. Müəllif Google Lens-dən istifadə etməyib və problemi riyaziyyatla, proqramlaşdırma ilə həll edib.

Metaməlumatlar və həndəsi «barmaq izi»

Exiftool təsdiqləyib ki, təsvir 736×515 piksel WebP faylıdır və nə GPS məlumatı, nə də kamera modeli var. Buna görə müəllif fotodakı üç quru sahəsinin həndəsəsini çıxarıb: P0 — kurortun yerləşdiyi adacıq, P1 — sağdakı ada, P2 — zirvəsi olan ön soldakı ada. Kiçik klik aləti (01_triangle_gui.py) piksel koordinatlarını qeyd edib üçbucağın tərəf nisbətlərini və bucaqlarını hesablayıb. Mərkəzləri gözlə işarələmək dəqiq olmadığı üçün axtarışa bu dəyərlər ətrafında ±20% tolerantlıq verilib.

Filtrlər zənciri

Axtarış sahəsi OpenStreetMap-in qlobal sahil xətti vektor dəsti land-polygons-split-4326 idi — 882 MB həcmində. Birinci filtr yalnız −30° ilə 30° arasındakı tropik enlik zolağını saxlayıb: 141 131 poliqon. Yerli sıxlıq filtri 5 km radiusda ondan çox qonşusu olan adacıqları çıxarıb və dəst 51 576-ya düşüb. 20 km daxilində ən azı iki qonşusu olmayan nöqtələr atılıb, 23 500 klaster qalıb və onların içindəki bütün üçlüklərin yaradılması 80 690 777 namizəd üçbucaq verib.

GPU-da uyğunlaşdırma

Hər üçlük ayrı bir CUDA axınına verilib. Axın üç nöqtəni quru sahəsinə görə sıralayaraq P0-ı təyin edib, ikiölçülü vektor hasilinin işarəsi ilə P1 və P2-ni təyin edib, sonra P0-dakı bucağı, məsafə nisbətini və ölçü aralıqlarını yoxlayıb. 5 169 MB video yaddaşlı NVIDIA GeForce RTX 3050-də (sm_86) nüvə 204,1 millisaniyə işləyib; sınaqdan 158 784 üçlük keçib və təkrarlar silindikdən sonra 8 915 qalıb.

Sonrakı mərhələlər siyahını daha da daraldıb: açıq su üçün «açıq düzbucaqlı» testi 948 namizəd buraxıb, mərcan adacığının kompaktlıq balı (Polsby-Popper) 213-ə, oval formalılıq yoxlaması 137-yə, Sentinel-2 təsvirlərindən Element84-ün açıq Earth Search API-si ilə hesablanan NDVI bitki örtüyü yoxlaması 66-ya endirib. Son yüksəklik yoxlaması Copernicus DEM GLO-30 plitələrindən istifadə edib: P0 50 metrdən aşağı olmalı, kameranın ±50°-lik baxış qövsü boyunca 2-20 km məsafədə ən yüksək relyef isə 100-500 metr aralığında olmalı idi. 26 namizəd qalıb.

Nəticə

Yekun cədvəldəki, Mikroneziya Federativ Ştatlarına aid edilən səkkizinci qeyd fotoşəkillə üst-üstə düşüb. Kurortun adı Oan-dır; adanın koordinatları 7°21′48.4″ şimal enliyi və 151°45′20.7″ şərq uzunluğu (7.363444, 151.755750), kamera isə şimal-qərbə, təqribən 324.97° istiqamətinə baxıb. Kod və yekun hesabat GitHub-da dərc olunub.

SSiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.