Talaan ng mga Nilalaman:

Pagkilala sa Bituin Gamit ang Computer Vision (OpenCV): 11 Mga Hakbang (na may Mga Larawan)
Pagkilala sa Bituin Gamit ang Computer Vision (OpenCV): 11 Mga Hakbang (na may Mga Larawan)

Video: Pagkilala sa Bituin Gamit ang Computer Vision (OpenCV): 11 Mga Hakbang (na may Mga Larawan)

Video: Pagkilala sa Bituin Gamit ang Computer Vision (OpenCV): 11 Mga Hakbang (na may Mga Larawan)
Video: Computer Vision with Python! Grayscaling Images 2024, Hulyo
Anonim
Pagkilala sa Star Gamit ang Computer Vision (OpenCV)
Pagkilala sa Star Gamit ang Computer Vision (OpenCV)

Ang itinuturo na ito ay ilalarawan sa iyo kung paano lumikha ng isang programa sa paningin ng computer upang awtomatikong makilala ang mga pattern ng bituin sa isang imahe. Gumagamit ang pamamaraan ng library ng OpenCV (Open-Source Computer Vision) upang lumikha ng isang hanay ng mga sanay na HAAR cascade na maaaring magamit upang makilala ang mga tukoy na pattern ng bituin. Bagaman ang patnubay na ito ay nasa konteksto ng pagkilala sa pattern ng bituin, ang proseso ng OpenCV na inilalarawan ko ay maaaring mailapat din sa iba pang mga application - kaya't magiging kapaki-pakinabang ito!

Ang proyekto ay buod sa video na ito:

Bakit ko ito nasulat ng itinuturo?

  1. Ang pamamaraang pagkakakilanlan ng pattern ng bituin na aking binubuo ay naniniwala akong may potensyal na mailapat sa isang malawak na hanay ng mga proyekto ng amateur astronomiya - maging orientation ng teleskopyo na iyon, awtomatikong pag-uuri ng imahe, o kahit huli ay isang sensor ng bituin sa isang bukas na mapagkukunan o amateur CubeSat.
  2. Mayroong maraming magagaling na mga instruksyon ng OpenCV dito, ngunit kahit na natagpuan ko ito isang napakahirap na proseso upang matuto nang una, kaya inaasahan kong ang gabay na ito ay magiging isang mahusay na sanggunian para sa ibang mga tao na naghahanap upang sanayin ang mga classifier ng HAAR para sa OpenCV (hindi kinakailangang gawin sa astronomiya siguro!).
  3. Hindi ako isang sanay na programmer mismo, kaya talagang itinulak ng proyektong ito ang aking pag-unawa. Inaasahan kong sa pamamagitan ng pagsulat ng Instructable na ito ng iba pa, mas may karanasan, ang mga gumagawa ay maiinspeksyon upang gumana sa konseptong ito at magbigay ng kontribusyon sa GitHub at maituro ito sa pamamagitan ng mga komento sa pahinang ito.
  4. Ang mga pamamaraan ng amateur astronomy at orientation ay isang malaking interes sa akin, tingnan ang dati kong itinuro na nagtatampok ng isang Arduino Star-Finder para sa Teleskopyo.

Ang larawan sa pabalat ng Instructable na ito ay isang konsepto ng disenyo ng 3U CubeSat na lumahok ako sa disenyo ng. Ginamit ko ito upang ilarawan ang itinuturo na ito bilang ang orihinal na application ng computer vision star pagkilala system ay para sa isang orientation sensor para sa amateur-made CubeSats, gamit ang isang Raspberry Pi V2 Camera. Maraming iba pang mga potensyal na application ng pagkilala sa bituin ng computer vision na naniniwala ako, ngunit sa palagay ko ito ang pinakaastig!

Isang Maliit na Talasalitaan:

Ang pag-aaral tungkol sa paningin sa computer ay pinabagal ng bobo na halaga ng mga dalubhasang term na ginamit, kaya't tutukuyin ko ang ilan para sa amin dito:

Cascade - Isang tagapag-uri na sinanay upang makilala ang isang tukoy na target na object.

Fiducial Marker - Isang marker na nagdaragdag ng isang punto ng visual na sanggunian sa isang imahe.

HAAR - Ang mga tampok na tulad ng Haar ay isang uri ng tampok na imahe na ginagamit para sa pagsasanay sa classifier.

OpenCV - Open Source Computer Vision, isang silid-aklatan ng mga tool sa paningin ng computer.

Stellarium - Open Source astronomy software.

Hakbang 1: Mga Kinakailangan

Ang OpenCV ay isang library na nakabatay sa Linux, kaya't kahit na posible na patakbuhin ito nang maayos sa Windows, magkakaroon ka ng mas madaling oras sa pagpapatakbo nito sa isang kapaligiran sa Linux (kunin ito mula sa akin at maraming araw na sinusubukan itong ganap na magtrabaho Windows!). Bilang isang eksperimento, na-download at pinatakbo ko ang OpenCV sa aking Raspberry Pi 3B +, na kung saan ay matagumpay, kahit na ang pagsasanay sa classifier ay isang masinsinang proseso ng RAM, kaya kung nais mong gawin ito sa anumang bilis, ang inirekumendang ruta ay upang kumuha ng isang Linux Virtual Server (na maaaring nakakagulat na talagang mahal) sa loob ng ilang araw / linggo / buwan at gamitin iyon bilang isang nakalaang kapaligiran kung saan patakbuhin ang pagsasanay ng classifier. Magagawa mong makontrol ang server mula sa isang Windows PC gamit ang isang SSH client tulad ng Putty. Kapag ang mga kaskad ay sinanay gamit ang VPS, maaari silang mai-download sa iyong Windows PC, at maaaring magamit ang Python upang patakbuhin ang programa ng pagkilala sa imahe sa isang kapaligiran sa Windows.

Linux Virtual Server:

Ang isang Linux Virtual Server (VPS) ay kinakailangan upang maisagawa ang mga proseso ng pagsasanay sa kaskasang HAAR. Sa una ay kumuha ako ng isang server na may 8GB ng RAM at Ubuntu 16.04.6 (LTS) x64, at kalaunan isang pangalawa upang doble ang rate kung saan maaari kong sanayin ang mga cascade, bagaman kakailanganin mo lamang ng isang minimum na isa

Software:

  • Stellarium - ito ay virtual planetarium / astronomy software, malayang magagamit. Gagamitin ito upang lumikom ng mga simulate na mga imahe ng bituin para magamit sa pagsubok.
  • Putty - Ito ay isang SSH client na ginagamit upang makontrol ang VPS sa pamamagitan ng linya ng utos.
  • WinSCP - ginagamit ito upang maisagawa ang paglipat ng file mula sa Windows PC.

Hakbang 2: Pag-setup ng VPS

Mayroong isang maliit na proseso ng pag-set up upang mai-andar ang VPS. Sa kauna-unahang oras na maaaring magtagal ito para sa iyo, ngunit hindi ito masyadong nakakalito kung susundin mo nang mabuti ang mga hakbang. Ang tutorial na ito ay isang mahusay na sanggunian para sa akin, inirerekumenda kong basahin mo rin ito habang nagtatrabaho sa pamamagitan ng pagtuturo na ito. Saklaw nito ang mga pagtutukoy ng linya ng mga utos ng linux sa pamamagitan ng linya, na kinakailangan upang sundin ang liham.

Halos, kasangkot ang proseso:

  1. Paglikha ng Linux server na may tamang bersyon ng Ubuntu.
  2. Pag-upgrade at Pag-update ng server.
  3. Paglikha ng isang direktoryo ng workspace, kung saan naka-install ang OpenCV.
  4. Pag-install ng ilang mga mahahalagang bagay, katulad ng isang tagatala, iba't ibang mga aklatan, at mga binding ng Python.

Pagkatapos ng yugtong ito, handa ka na upang simulang maghanda para sa proseso ng pagsasanay.

Hakbang 3: Ang Proseso

Ang buong proseso ng paningin sa computer na gumagamit ng mga HAAR cascade ay medyo nakalilito sa una, kaya inilalarawan ng Hakbang na ito ang lohika nang kaunti pang detalye:

Pangunahing Proseso

  1. Umiiral ang isang negatibong setting ng imahe, na binubuo ng libu-libong mga imahe na hindi naglalaman ng object ng interes. Kakailanganin itong mai-upload sa VPS.
  2. Ang isang solong positibong imahe ay nilikha na naglalaman ng object ng interes. Kakailanganin din itong mai-upload sa VPS.
  3. Ang nag-iisang positibong imahe ay na-distort, warped, paikutin, atbp., Sa pamamagitan ng isang hanay ng mga napiling parameter at na-overlay sa isang pagpipilian ng mga negatibong imahe. Ito ay isang artipisyal na paraan ng paglikha ng isang malaking positibong dataset mula sa isang solong imahe. (Para sa iba pang mga application sa totoong mundo, tulad ng pagkilala sa isang pusa, maaari mo lamang gamitin ang libu-libong mga imahe ng mga pusa, ngunit ang pamamaraang ito ay hindi palaging naaangkop kung wala kang isang malaking hanay ng mga positibong imahe. Ang artipisyal na diskarte na ginamit dito ay magiging mas epektibo, ngunit ito lamang ang pagpipilian para sa isang use-case tulad nito).
  4. Patakbuhin ang isang proseso ng pagsasanay, na gagana nang sunud-sunod. Ang bawat yugto ay magsasanay ng isang kaskad upang makilala ang iba't ibang mga tampok na uri ng HAAR sa loob ng mga imahe. Ang bawat yugto ay tumatagal ng exponentially mas matagal upang makumpleto, at ang pagiging epektibo ng classifier ay nagdaragdag sa bawat oras (posible rin na labis na sanayin upang malaman mo!).
  5. Ang isang solong bihasang kaskad ay makakahanap para sa isang solong target na bagay. Kung nais mong makilala ang maraming natatanging mga bagay kakailanganin mo ang isang bihasang kaskad para sa bawat isa. Sa kasong ito, sinanay ko ang tungkol sa 50 magkakaibang mga cascade para sa natatanging mga star patter, upang lumikha ng isang hanay na maaaring masakop ang hilagang celestial hemisphere.
  6. Panghuli, ginagamit ang isang programa sa pagtuklas na nagpapatakbo ng bawat kaskad ng isang hanay laban sa isang imaheng input. Hahanapin ng kaskad ang ibinigay na target na object sa loob ng input na imahe.
  7. Kung matagumpay, ang target na object ay makikilala sa loob ng input na imahe.

n.b. kung ginamit sa isang konteksto ng oryentasyong satellite halimbawa, ang isang imahe ay makukuha gamit ang isang onboard camera. Ang mga pinakamaliwanag na bituin sa imaheng iyon ay makikilala, at mga marker na na-overlay sa mga posisyon na iyon. Ang imaheng ito pagkatapos ay ipinakita sa hanay ng mga sinanay na cascade, na susubukan upang makita kung ang input na imahe ay naglalaman ng alinman sa mga target na bagay. Kung ang isang tunay na positibo ay napansin, kung gayon ang posisyon ng angular ng isang kilalang konstelasyon ay natuklasan kaugnay sa mga palakol ng katawan ng satellite.

Hakbang 4: Mga Negatibo at Positibo

Negatives

Ang isang talagang pangunahing aspeto ng pagsasanay sa kaskad ay ang pagkakaroon ng isang malaking dataset ng mga negatibong imahe hangga't maaari. Nagsasalita kami ng libu-libo, perpektong sampu-sampung libo ng mga imahe. Hindi mahalaga kung ano ang naglalaman ng mga ito, ang layunin ay upang magbigay lamang ng iba't ibang mga visual na impormasyon. Naglalaman ang folder ng Classifier Training ng iba't ibang iba't ibang mga negatibong data ng imahe na aking naipon. Sa una ang mga ito ay binubuo lamang ng mga simulate na mga imahe ng patlang na bituin na nakuha mula sa Stellarium, ngunit kalaunan ay dinagdagan ko ang dataset ng maraming mga randomized na imahe na maaari kong makita (oo, kasama ang aking mga larawan sa holiday…). Kasama sa pinakamalaking dataset doon ang halos 9000 na mga imahe, na kung saan ay ang pinakamalaking nilikha ko sa ngayon. Sa pamamagitan ng paggamit nito, makakatipid ito sa iyo sa pag-iipon ng iyong sarili.

Mga Positibo

Ang positibong imahe (iyon ang target na pattern ng bituin na ang kaskad ay sanay na kilalanin) ay nagsisimula bilang isang screenshot ng isang pattern ng bituin sa Stellarium. Pagkatapos ay kinikilala ng isang programa ng sawa ang pinakamaliwanag na mga bituin sa imahe, at mga overlay na marker (ipinaliwanag mamaya sa itinuturo na ito) sa mga posisyon sa bituin na ito. Ang imaheng ito pagkatapos ay lumiit sa 50x50 pixel. Maliit ito, ngunit ang oras ng pagsasanay na kinakailangan para sa mga cascade ay tataas nang mabilis habang tumataas ang sukat na ito, at sa gayon ito ay isang mahusay na kompromiso sa pagitan ng kalidad at oras.

Hakbang 5: Pagkontrol sa Stellarium

Pagkontrol sa Stellarium
Pagkontrol sa Stellarium
Pagkontrol sa Stellarium
Pagkontrol sa Stellarium

Ang folder ng Stellarium Script ng Repository ng GitHub ay naglalaman ng tatlong mga programa na isinulat ko upang makontrol ang paggamit ng Stellarium. Upang magamit ang mga ito, ilagay ang mga ito sa folder ng mga script ng iyong folder ng pag-install ng Stellarium. Upang patakbuhin ang mga ito, maaari mong buksan ang window ng mga script mula sa loob ng menu ng Stellarium, o sa pamamagitan lamang ng pag-double click sa programa sa folder ng mga script, na ilulunsad ang Stellarium at agad na patakbuhin ang napiling programa.

Ang thesis_4 at thesis_5 ay nakakuha ng halos 2000 na mga imahe bawat isa sa hilaga at timog, ayon sa pagkakabanggit, mga celestial hemispheres. Ginamit ito upang makabuo ng mga database ng mga negatibong imahe, upang sanayin ang positibong imahe laban. Ang pagkakaiba sa pagitan ng hilaga at timog ay isang simpleng paraan upang matiyak na ang target (positibo) na pattern ng bituin ay wala sa negatibong dataset sa pamamagitan ng pagsasanay sa hilagang hemisphere star pattern laban sa southern celestial hemisphere image dataset at vice versa. (Kung ang isang positibong imahe ay naroroon din sa loob ng negatibong imahe seta makakaapekto ito sa kalidad ng classifier).

kapaki-pakinabang din ang thesis_setup - nagse-set up ito ng Stellarium upang maging angkop para sa pagkuha ng mga imahe - ang mga imaheng ginamit upang gayahin ang isang pagtingin mula sa Space. Gumagawa ito ng mga pagkilos tulad ng pagtatago ng mga menu, mga gridline, label atbp nang awtomatiko upang mai-save ang kailangan mo sa bawat oras na nais mong kumuha ng isang imahe.

Hakbang 6: Rocket Man

Taong Rocket
Taong Rocket

Ang mga unang cascade na sinanay ko ay hindi makilala nang tama ang anumang mga pattern ng bituin. Ang mga ito ay napaka hindi maaasahan at napaka-madaling kapitan ng sakit sa maling mga positibo. Ang aking palagay ay mabisa ang mga imahe ng patlang na bituin mula sa Stellarium (karaniwang mga puting tuldok lamang sa isang itim na background) ay hindi naglalaman ng sapat na visual na impormasyon upang maglaman ng sapat na mga tampok na uri ng HAAR para sa matagumpay na pagsasanay ng classifier. Sa palagay ko ay gabi na, ngunit nagpasya akong subukan ang ideya ng pagsulat ng isang programa upang awtomatikong maglagay ng isang maliit na larawan ng thumbnail sa lokasyon ng bawat maliwanag na bituin sa isang imahe ng patlang na bituin.

Elton

Ito ay isang hangal na pagsubok, ngunit sa pamamagitan ng pagdaragdag ng isang maliit na larawan ng mukha ni Elton John sa bawat lokasyon ng maliwanag na bituin, sinasanay ang classifier laban sa positibong imaheng ito, at pagkatapos ay pinapatakbo ang mga cascade laban sa orihinal na imahe, mas epektibo ito sa tamang paghanap ng tamang pattern. Alam kong may napupuntahan ako!

Hakbang 7: Mga Fiducial Marker

Mga Fiducial Marker
Mga Fiducial Marker

Kahit na pinatunayan ng 'Eltons' ang teorya, kailangan ko ng isang marker na may buong pag-ikot na mahusay na proporsyon, upang ang pattern ng bituin ay lilitaw na magkapareho sa kung anong orientation ito ipinakita. Sinubukan ko ang isang saklaw ng mga uri ng marker, at nalaman na ang uri sa kanang bahagi sa ibaba ay pinaka-epektibo, na may magkakaibang itim at puting singsing. Ang programang sawa na ipinakita sa positibong folder ng GitHub repo ay nagpapakita kung paano makikilala ang mga pinakamaliwanag na bituin sa isang naibigay na imahe, at ang mga marker na ito ay awtomatikong pinatong sa mga posisyon na iyon. Lumikha kami ngayon ng isang representasyon ng mga pangunahing pattern ng bituin na maaaring sanayin laban.

Hakbang 8: Paggamit ng Cascades

Gamit ang Cascades
Gamit ang Cascades

Kapag sinanay mo ang isang hanay ng mga cascade, kailangan mong malaman kung paano gamitin ang mga ito upang makilala ang isang bagay sa isang imahe!

Tingnan ang folder ng Star Identification ng GitHub, kung saan mahahanap mo ang program na cascade_test19.py. Ang programang nakakakuha ng pangalan na ito ay tumatagal ng isang hanay ng mga cascade mula sa isang naibigay na folder, at pinapatakbo ang lahat laban sa isang imaheng input, at mga ulat tungkol sa mga deteksyon na ginawa. Ang pagpapaandar na 'detectMultiScale' ay ang core ng ito, at tumatagal ng iba't ibang mga argumento na tumutukoy sa proseso ng pagtuklas. Ang pagbabago ng mga ito ay kritikal sa pagganap ng cascade classifier, at mas maraming talakayan dito ang matatagpuan sa sumusunod na hakbang, kung saan tinitingnan namin kung paano aalisin ang mga maling positibo.

Maaari itong mailapat sa isang sistema ng oryentasyon ng satellite sa pamamagitan ng pag-uugnay ng halaga ng pixel sa gitna ng kahon ng hangganan sa Ra / Dec celestial coordinate ng kinilalang star patter, at pagkatapos ay maiugnay ito sa angular na pag-aalis mula sa gitna ng imahe (camera aksis). Mula dito, gamit ang pag-unawa sa pagbaluktot ng lens (tinatayang sa isang gnomonic projection), ang anggulo ng satellite ay matatagpuan mula sa dalawang positibong pagkakakilanlan lamang.

Hakbang 9: Paano Manatiling Positibo Tungkol sa Maling Mga Positibo

Paano Manatiling Positibo Tungkol sa Maling Mga Positibo
Paano Manatiling Positibo Tungkol sa Maling Mga Positibo
Paano Manatiling Positibo Tungkol sa Maling Mga Positibo
Paano Manatiling Positibo Tungkol sa Maling Mga Positibo

Ipinapakita ng dalawang imaheng ito ang mga resulta ng pagsubok sa itinakdang cascade laban sa magkatulad na imahe, ngunit may magkakaibang mga parameter. Malinaw, ang unang imahe ay naglalaman ng totoong pagkakakilanlan, ngunit mayroon ding napakalaking bilang ng mga maling positibo, samantalang ang pangalawang imahe ay naglalaman lamang ng wastong pagkakakilanlan.

Ang cascade_test19.py programa sa loob ng Star Identification folder ng GitHub repo ay gumagamit ng dalawang pamamaraan upang pag-uri-uriin ang mga resulta. Una, ang detectMultiScale functon ay nagtatakda ng isang Miminum at Maximum na laki ng resulta na maaaring matagpuan, na kung saan ay makatuwiran, bilang ang tinatayang sukat ng target na pattern ng bituin sa loob ng window (para sa ibinigay na lente at pagpapalaki - ginagamit ng aking mga simulate na Stellarium na imahe ang mga katangian ng ang Raspberry Pi V2 Camera) ay kilala. Pangalawa, pipiliin ng code ang resulta sa pinakamaraming hangganan na kahon (sa loob ng nakaraang mga limitasyon). Sa pagsubok, nalaman na ito ang totoong positibo. Pangatlo, nagtatakda ang programa ng isang minimum na 'levelWeights' (mabisang 'halaga ng kumpiyansa') na kinakailangan upang tratuhin ang ID na ito bilang isang tunay na positibo. Sa pamamaraang ito, ang mga cascade ay epektibo sa paghahanap ng tamang resulta.

Pati na rin ang mga imahe ng patlang na bituin, sinubukan ko rin ito laban sa mga larawan ng aking mesa halimbawa, pagsasanay sa mga cascade upang makilala ang aking kuwaderno, tabo atbp, upang magsanay na alisin ang mga maling positibo. Ang mga pamamaraan sa itaas ay mahusay na gumana sa lahat ng mga pangyayari na nakapagpapatibay.

Hakbang 10: Pagtalakay

Pagtalakay
Pagtalakay
Pagtalakay
Pagtalakay
Pagtalakay
Pagtalakay

Mga Lugar para sa Pagpapabuti

Ito ay naging isang kumplikadong proyekto para sa akin, at talagang itinulak ang aking pag-unawa sa paksa. Ito ay kasangkot sa isang kabuuang maraming buwan halos buong-oras na trabaho upang makuha ang proyekto sa puntong ito kapag maaari kong ibahagi ito sa iyo, ngunit maraming mas maraming trabaho na dapat gawin upang mapabuti ang pagganap ng pamamaraan. Bilang ito ay nakatayo, maaari itong gumana nang maayos sa loob ng ilang mga hadlang. Nagtrabaho ako upang makilala kung aling mga lugar ang nangangailangan ng karagdagang trabaho, at sana ay makapagugol ng oras sa pagtugon sa mga ito sa mga darating na buwan. Sila ay:

Angle - Ito ay isang kumplikadong lugar, ang ideya na ang mga resulta ng mga pag-uuri ay dapat na rotaryally invariant, ibig sabihin, dapat itong kilalanin na kilalanin ang target na pattern ng bituin anuman ang anggulo kung saan ipinakita ang imaheng naglalaman ng target na star patter. Ang isang kaskad na sinanay gamit ang isang imahe ng pag-input sa isang solong oryentasyon ay hindi makikilala ang imaheng iyon sa mga randomized orientation, kaya't ang pagkakaiba-iba ng positibong anggulo ng imahe ay dapat ipakilala sa proseso ng pagsasanay upang sanayin ang mga cascade na maaaring tanggapin ang isang saklaw sa mga anggulo ng pag-input. Ang parameter na 'maxzangle' sa mga utos ng pagsasanay sa cascade ay tumatagal ng isang argument sa mga radian, na kinokontrol ang isang limitasyon ng anggulo na ang input na positibong imahe ay mai-overlay sa mga negatibong imahe na ibinigay, kaya ang nagresultang positibong set ng imahe ay maglalaman ng isang hanay ng mga oryentasyon ng ang positibong imahe. Gayunpaman, habang tumataas ang maxzangle na ito, ang ratio ng pagtanggap (malawak na pagsasalita, kalidad) ng kaskad ay mabawasan nang husto. Naniniwala ako na ang solusyon ay upang sanayin ang mga cascade gamit ang isang makabuluhang mas malaking database ng mga negatibong imahe kaysa sa kung ano ang ginagamit ko upang matiyak na ang isang mahusay na kalidad ng cascade classifier ay maaaring malikha kahit na nagsasama ng isang malaking orientation spread.

Ang isa pang potensyal na solusyon ay upang sanayin ang isang bilang ng mga cascade para sa isang tukoy na target, ang bawat kaskad na namamahala sa isang tiyak na bahagi ng isang buong 360 degree na pag-ikot. Sa ganoong paraan ang kalidad ng bawat kaskad ay maaaring mapanatili sa isang mataas na antas, ngunit sa kabilang banda magreresulta ito sa mas maraming mga cascade, at samakatuwid ay magiging mabagal ang proseso ng pagkakakilanlan.

Ang parameter na 'levelWeight', na kung saan ay isang halagang ibinigay ng pag-andar ng 'detectMultiScale', ay kahalintulad sa isang halaga ng kumpiyansa sa pagtuklas na nagawa. Ang pag-aaral nito, ang graph sa itaas ay nilikha, na nagpapakita kung paano bumababa nang malaki ang kumpiyansa ng positibong pagkakakilanlan habang tumataas ang oryentasyon ng imahe sa alinmang direksyon, na kinukumpirma ang mga saloobin na ito ay isang mahinang punto.

Paglalagay ng Pixel - Isang mas simple, ngunit may problemang punto din ay ang paglalagay ng pixel, na isinalarawan ng mga sumusunod na dalawang imahe, na nagpapakita ng isang pinalawak na pagtingin sa isang imahe ng bituin, upang ang mga indibidwal na mga pixel ng dalawang mga bituin ay maaaring malinaw na nakikita. Ang proseso ng pagguho na ginamit sa programa upang kuskusin ang lahat maliban sa pinakamaliwanag na mga bituin mula sa imahe ay panatilihin ang unang bituin, at itapon ang pangalawa, sa kabila ng mga ito ng pantay na brightnesses. Ang dahilan para dito ay ang unang bituin ay nakasentro sa isang pixel, samantalang ang pangalawa ay hindi ganoon. Ang pagguho ng erosion strips concentric ring ng mga pixel mula sa paligid ng gitnang pixel ng isang pangkat, at sa gayon ang unang bituin ay makakaligtas sa pagpapaandar ng erosion, ngunit ang pangalawang bituin ay ganap na aalisin mula sa imahe. Samakatuwid ang mga fiducial marker ay mailalagay lamang sa unang bituin, at hindi ang pangalawa. Magdudulot ito ng mga hindi pagkakapare-pareho na nauugnay sa kung aling mga maliliwanag na bituin sa isang naibigay na patlang na bituin ang tatanggap ng mga marker (at kung gayon ay ihahambing sa mga may kasanayang pagkaklasipikado) - kaya't posible na ang isang tamang positibong pagmamasid ay hindi posible.

Hakbang 11: Huling Salita

Huling-salita
Huling-salita

Salamat sa pagbabasa ng aking itinuturo, inaasahan kong nakita mong nakakaintriga ang proyektong ito. Ito ay isang napaka-kagiliw-giliw na proseso na gumagana dito, higit sa isang taon mula nang magsimula akong magtrabaho sa konsepto, at hinihikayat ako ng mga resulta hanggang sa puntong ito. Mula sa literaturang nabasa ko, ito ay isang medyo orihinal na konsepto, at na may higit na pag-unlad ay maaaring tiyak na mailapat sa isang hanay ng mga aplikasyon para sa amateur astronomy o higit pa.

Ang proyektong ito ay isang matarik na kurba sa pag-aaral para sa akin, at sa gayon umaasa ako na ang ilang mga mambabasa na may higit na karanasan sa programa ay maaaring maging inspirasyon upang magbigay ng kontribusyon sa pagpapatuloy ng proyekto sa pamamagitan ng pahina ng GitHub, at maaari naming magpatuloy na paunlarin ang tool na ito na buksan ang mapagkukunan. Inaasahan kong basahin ang anumang mga komento na mayroon ka, ngunit mangyaring huwag magtanong ng napakaraming mahihirap na katanungan!

Space Hamon
Space Hamon
Space Hamon
Space Hamon

Runner Up sa Space Hamon

Inirerekumendang: