Ang pinakabagong mga ideya ng pattern recognition. Simpleng kaso, isang-dimensional na paghihiwalay

Sa pangkalahatan, tatlong paraan ng pagkilala ng pattern ang maaaring makilala: Ang paraan ng enumeration. Sa kasong ito, ang isang paghahambing ay ginawa sa database, kung saan para sa bawat uri ng bagay ang lahat ng posibleng pagbabago ng display ay ipinakita. Halimbawa, para sa optical image recognition, maaari mong ilapat ang paraan ng pag-enumerate ng uri ng isang bagay sa iba't ibang anggulo, kaliskis, displacement, deformation, atbp. Para sa mga titik, kailangan mong umulit sa font, mga katangian ng font, atbp. Sa kaso ng sound image recognition, ayon sa pagkakabanggit, isang paghahambing sa ilang kilalang pattern (halimbawa, isang salita na binibigkas ng ilang tao).

Ang pangalawang diskarte ay isang mas malalim na pagsusuri ng mga katangian ng imahe. Sa kaso ng optical recognition, ito ay maaaring ang pagpapasiya ng iba't ibang geometric na katangian. Ang sound sample sa kasong ito ay sumasailalim sa frequency, amplitude analysis, atbp.

Ang susunod na paraan ay ang paggamit ng mga artificial neural network (ANN). Ang pamamaraang ito ay nangangailangan ng alinman sa isang malaking bilang ng mga halimbawa ng gawain sa pagkilala sa panahon ng pagsasanay, o isang espesyal na istraktura ng neural network na isinasaalang-alang ang mga detalye ng gawaing ito. Gayunpaman, ito ay nakikilala sa pamamagitan ng mas mataas na kahusayan at pagiging produktibo.

4. Kasaysayan ng pattern recognition

Isaalang-alang natin sa madaling sabi ang mathematical formalism ng pattern recognition. Ang isang bagay sa pagkilala ng pattern ay inilalarawan ng isang hanay ng mga pangunahing katangian (mga tampok, katangian). Ang mga pangunahing katangian ay maaaring may ibang katangian: maaari silang makuha mula sa isang nakaayos na hanay ng totoong uri ng linya, o mula sa isang discrete set (na, gayunpaman, ay maaari ding pagkalooban ng isang istraktura). Ang pag-unawa sa bagay na ito ay pare-pareho sa pangangailangan para sa mga praktikal na aplikasyon ng pagkilala ng pattern at sa ating pag-unawa sa mekanismo ng pang-unawa ng tao sa isang bagay. Sa katunayan, naniniwala kami na kapag ang isang tao ay nagmamasid (nagsusukat) ng isang bagay, ang impormasyon tungkol dito ay dumarating sa pamamagitan ng isang may hangganang bilang ng mga sensor (na-analyze na mga channel) sa utak, at ang bawat sensor ay maaaring iugnay sa kaukulang katangian ng bagay. Bilang karagdagan sa mga tampok na tumutugma sa aming mga sukat ng bagay, mayroon ding isang napiling tampok, o isang pangkat ng mga tampok, na tinatawag naming pag-uuri ng mga tampok, at ang paghahanap ng kanilang mga halaga para sa isang naibigay na vector X ay ang gawain na natural. at gumaganap ang mga sistema ng artipisyal na pagkilala.

Malinaw na upang maitaguyod ang mga halaga ng mga tampok na ito, kinakailangan na magkaroon ng impormasyon tungkol sa kung paano nauugnay ang mga kilalang tampok sa mga pag-uuri. Ang impormasyon tungkol sa relasyon na ito ay ibinibigay sa anyo ng mga nauna, iyon ay, isang hanay ng mga paglalarawan ng mga bagay na may mga kilalang halaga ng pag-uuri ng mga tampok. At ayon sa precedent na impormasyong ito, kinakailangan na bumuo ng isang panuntunan ng desisyon na magtatakda ng di-makatwirang paglalarawan ng bagay ng halaga ng mga tampok ng pag-uuri nito.

Ang pag-unawa sa problema ng pagkilala ng pattern ay itinatag sa agham mula noong 50s ng huling siglo. At pagkatapos ay napansin na ang naturang produksyon ay hindi naman bago. Ang mga mahusay na napatunayang pamamaraan ng pagtatasa ng istatistika ng data, na aktibong ginagamit para sa maraming mga praktikal na gawain, tulad ng, halimbawa, mga teknikal na diagnostic, ay nahaharap sa naturang pagbabalangkas at umiiral na. Samakatuwid, ang mga unang hakbang ng pagkilala ng pattern ay naipasa sa ilalim ng tanda ng istatistikal na diskarte, na nagdidikta sa pangunahing problema.

Ang istatistikal na diskarte ay batay sa ideya na ang paunang espasyo ng mga bagay ay isang probabilistikong espasyo, at ang mga tampok (mga katangian) ng mga bagay ay mga random na variable na ibinigay dito. Pagkatapos ang gawain ng data scientist ay maglagay ng isang istatistikal na hypothesis tungkol sa pamamahagi ng mga tampok, o sa halip tungkol sa pag-asa ng pag-uuri ng mga tampok sa iba, mula sa ilang mga pagsasaalang-alang. Ang istatistikal na hypothesis, bilang panuntunan, ay isang parametrically na tinukoy na hanay ng mga function ng pamamahagi ng tampok. Ang isang tipikal at klasikal na istatistikal na hypothesis ay ang hypothesis ng normalidad ng distribusyon na ito (mayroong napakaraming uri ng naturang hypothesis sa mga istatistika). Pagkatapos bumalangkas ng hypothesis, nanatili itong subukan ang hypothesis na ito sa precedent data. Ang tseke na ito ay binubuo sa pagpili ng ilang distribusyon mula sa unang ibinigay na hanay ng mga distribusyon (ang parameter ng pamamahagi ng hypothesis) at pagtatasa ng pagiging maaasahan (confidence interval) ng pagpipiliang ito. Sa totoo lang, ang pagpapaandar na ito ng pamamahagi ay ang sagot sa problema, tanging ang bagay ay inuri hindi natatangi, ngunit may ilang mga posibilidad na kabilang sa mga klase. Ang mga istatistika ay nakabuo din ng asymptotic na katwiran para sa mga naturang pamamaraan. Ang ganitong mga katwiran ay ginawa ayon sa sumusunod na pamamaraan: ang isang tiyak na kalidad ng pagganap ng pagpili ng pamamahagi (confidence interval) ay itinatag at ipinakita na sa pagtaas ng bilang ng mga nauna, ang aming pagpili na may posibilidad na may posibilidad na 1 ay naging tama sa ang kahulugan ng functional na ito (confidence interval tending to 0). Sa hinaharap, maaari nating sabihin na ang istatistikal na pananaw ng problema sa pagkilala ay naging napakabunga hindi lamang sa mga tuntunin ng binuo na mga algorithm (na kinabibilangan ng mga pamamaraan ng pagsusuri ng cluster at discriminant, nonparametric regression, atbp.), ngunit kasunod na humantong sa Vapnik sa lumikha ng malalim na istatistikal na teorya ng pagkilala.

Gayunpaman, mayroong isang malakas na argumento na pabor sa katotohanan na ang mga problema sa pagkilala ng pattern ay hindi nabawasan sa mga istatistika. Anumang ganoong problema, sa prinsipyo, ay maaaring isaalang-alang mula sa istatistikal na punto ng view, at ang mga resulta ng solusyon nito ay maaaring bigyang-kahulugan sa istatistika. Upang gawin ito, kinakailangan lamang na ipagpalagay na ang espasyo ng mga bagay ng problema ay probabilistiko. Ngunit mula sa punto ng view ng instrumentalism, ang pamantayan para sa tagumpay ng isang istatistikal na interpretasyon ng isang tiyak na paraan ng pagkilala ay maaari lamang maging ang pagkakaroon ng isang pagpapatunay ng pamamaraang ito sa wika ng mga istatistika bilang isang sangay ng matematika. Ang pagbibigay-katwiran dito ay nangangahulugan ng pagbuo ng mga pangunahing kinakailangan para sa problema na nagsisiguro ng tagumpay sa paglalapat ng pamamaraang ito. Gayunpaman, sa ngayon, para sa karamihan ng mga pamamaraan ng pagkilala, kabilang ang mga direktang lumitaw sa loob ng balangkas ng diskarte sa istatistika, ang mga kasiya-siyang katwiran ay hindi natagpuan. Bilang karagdagan, ang pinakakaraniwang ginagamit na mga istatistikal na algorithm sa ngayon, tulad ng linear discriminant ni Fisher, Parzen window, EM algorithm, mga pinakamalapit na kapitbahay, hindi banggitin ang mga network ng paniniwala ng Bayesian, ay may malakas na binibigkas na heuristic na katangian at maaaring may mga interpretasyong iba sa mga istatistikal. At sa wakas, sa lahat ng nasa itaas, dapat itong idagdag na bilang karagdagan sa asymptotic na pag-uugali ng mga pamamaraan ng pagkilala, na siyang pangunahing isyu ng mga istatistika, ang pagsasagawa ng pagkilala ay nagtataas ng mga katanungan sa computational at structural complexity ng mga pamamaraan na higit pa ang balangkas ng probability theory lamang.

Sa kabuuan, salungat sa mga adhikain ng mga istatistika na isaalang-alang ang pagkilala sa pattern bilang isang seksyon ng mga istatistika, ganap na magkakaibang mga ideya ang pumasok sa kasanayan at ideolohiya ng pagkilala. Isa sa mga ito ay sanhi ng pananaliksik sa larangan ng visual pattern recognition at batay sa sumusunod na pagkakatulad.

Tulad ng nabanggit na, sa pang-araw-araw na buhay ang mga tao ay patuloy na nalulutas (madalas na hindi sinasadya) ang mga problema ng pagkilala sa iba't ibang mga sitwasyon, pandinig at visual na mga imahe. Ang gayong kakayahan para sa mga computer ay, sa pinakamaganda, isang bagay sa hinaharap. Mula dito, napagpasyahan ng ilang mga pioneer ng pattern recognition na ang solusyon sa mga problemang ito sa isang computer ay dapat, sa pangkalahatan, gayahin ang mga proseso ng pag-iisip ng tao. Ang pinakatanyag na pagtatangka na lapitan ang problema mula sa panig na ito ay ang sikat na pag-aaral ni F. Rosenblatt sa mga perceptron.

Noong kalagitnaan ng 50s, tila naunawaan ng mga neurophysiologist ang mga pisikal na prinsipyo ng utak (sa aklat na "The New Mind of the King", ang sikat na British theoretical physicist na si R. Penrose ay kawili-wiling nagtatanong sa modelo ng neural network ng utak, na nagpapatunay ang mahalagang papel ng quantum mechanical effects sa paggana nito ; bagaman, gayunpaman, ang modelong ito ay kinuwestiyon sa simula pa lamang. Batay sa mga pagtuklas na ito, si F. Rosenblatt ay bumuo ng isang modelo para sa pag-aaral na makilala ang mga visual na pattern, na tinawag niyang perceptron. Rosenblatt's perceptron ay ang sumusunod na function (Larawan 1):

Fig 1. Schematic ng Perceptron

Sa input, ang perceptron ay tumatanggap ng object vector, na sa mga gawa ni Rosenblatt ay isang binary vector na nagpapakita kung alin sa mga pixel ng screen ang na-black out ng imahe at alin ang hindi. Dagdag pa, ang bawat isa sa mga palatandaan ay pinapakain sa input ng neuron, ang pagkilos nito ay isang simpleng multiplikasyon sa isang tiyak na bigat ng neuron. Ang mga resulta ay pinapakain sa huling neuron, na nagdaragdag sa mga ito at inihahambing ang kabuuang halaga sa isang tiyak na threshold. Depende sa mga resulta ng paghahambing, ang input object X ay kinikilala kung kinakailangan o hindi. Pagkatapos ang gawain ng pag-aaral ng pattern recognition ay upang piliin ang mga timbang ng mga neuron at ang halaga ng threshold upang ang perceptron ay makapagbigay ng mga tamang sagot sa naunang visual na mga imahe. Naniniwala si Rosenblatt na ang resultang function ay magiging mahusay sa pagkilala sa nais na visual na imahe kahit na ang input object ay wala sa mga nauna. Mula sa mga pagsasaalang-alang ng bionic, nakabuo din siya ng isang paraan para sa pagpili ng mga timbang at isang threshold, na hindi natin tatalakayin. Sabihin na lang natin na ang kanyang diskarte ay matagumpay sa isang bilang ng mga problema sa pagkilala at nagbunga ng isang buong lugar ng pananaliksik sa pag-aaral ng mga algorithm batay sa mga neural network, kung saan ang perceptron ay isang espesyal na kaso.

Dagdag pa, ang iba't ibang mga generalization ng perceptron ay naimbento, ang pag-andar ng mga neuron ay kumplikado: ngayon ang mga neuron ay hindi lamang maaaring magparami ng mga numero ng input o idagdag ang mga ito at ihambing ang resulta sa mga threshold, ngunit maglapat ng mas kumplikadong mga pag-andar sa kanila. Ipinapakita ng Figure 2 ang isa sa mga komplikasyon ng neuron na ito:

kanin. 2 Diagram ng neural network.

Bilang karagdagan, ang topology ng neural network ay maaaring maging mas kumplikado kaysa sa isa na isinasaalang-alang ni Rosenblatt, halimbawa, ito:

kanin. 3. Diagram ng neural network ni Rosenblatt.

Ang mga komplikasyon ay humantong sa isang pagtaas sa bilang ng mga adjustable na mga parameter sa panahon ng pagsasanay, ngunit sa parehong oras ay nadagdagan ang kakayahang mag-tune sa napaka-kumplikadong mga pattern. Ang pananaliksik sa lugar na ito ay nagpapatuloy na ngayon sa dalawang malapit na magkakaugnay na lugar - parehong pinag-aaralan ang iba't ibang mga topolohiya ng network at iba't ibang paraan ng pag-tune.

Ang mga neural network ay kasalukuyang hindi lamang isang tool para sa paglutas ng mga problema sa pagkilala ng pattern, ngunit ginamit sa pananaliksik sa nauugnay na memorya at compression ng imahe. Bagama't ang linya ng pananaliksik na ito ay mahigpit na nagsasapawan sa mga problema ng pagkilala sa pattern, ito ay isang hiwalay na seksyon ng cybernetics. Para sa kinikilala sa ngayon, ang mga neural network ay hindi hihigit sa isang napaka-espesipiko, parametrically na tinukoy na hanay ng mga pagmamapa, na sa ganitong diwa ay walang anumang makabuluhang pakinabang sa maraming iba pang katulad na mga modelo ng pag-aaral na maililista sa ibaba.

Kaugnay ng pagtatasa na ito ng papel ng mga neural network para sa wastong pagkilala (iyon ay, hindi para sa bionics, kung saan ang mga ito ay pinakamahalaga ngayon), nais kong tandaan ang mga sumusunod: mga neural network, na isang lubhang kumplikadong bagay para sa matematika. Ang pagsusuri, sa wastong paggamit ng mga ito, ay nagbibigay-daan sa amin na makahanap ng mga di-maliit na batas sa data. Ang kanilang kahirapan para sa pagsusuri, sa pangkalahatang kaso, ay ipinaliwanag ng kanilang kumplikadong istraktura at, bilang isang resulta, halos hindi mauubos na mga posibilidad para sa pangkalahatan ng isang malawak na iba't ibang mga regularidad. Ngunit ang mga pakinabang na ito, tulad ng madalas na nangyayari, ay isang mapagkukunan ng mga potensyal na pagkakamali, ang posibilidad ng muling pagsasanay. Tulad ng tatalakayin sa ibang pagkakataon, ang gayong dalawang pananaw sa mga prospect ng anumang modelo ng pag-aaral ay isa sa mga prinsipyo ng machine learning.

Ang isa pang tanyag na direksyon sa pagkilala ay ang mga lohikal na panuntunan at mga puno ng desisyon. Sa paghahambing sa nabanggit na mga pamamaraan ng pagkilala, ang mga pamamaraang ito ay pinaka-aktibong gumagamit ng ideya ng pagpapahayag ng aming kaalaman tungkol sa paksa sa anyo ng marahil ang pinaka natural (sa isang antas ng kamalayan) na mga istruktura - lohikal na mga patakaran. Ang isang elementarya na lohikal na panuntunan ay nangangahulugang isang pahayag tulad ng "kung ang hindi na-classify na mga tampok ay nasa ratio X, kung gayon ang mga inuri ay nasa ratio na Y". Ang isang halimbawa ng naturang panuntunan sa mga medikal na diagnostic ay ang mga sumusunod: kung ang edad ng pasyente ay higit sa 60 taong gulang at siya ay dati nang inatake sa puso, pagkatapos ay huwag isagawa ang operasyon - ang panganib ng isang negatibong resulta ay mataas.

Upang maghanap ng mga lohikal na panuntunan sa data, 2 bagay ang kailangan: upang matukoy ang sukat ng "kaalaman" ng panuntunan at ang espasyo ng mga panuntunan. At ang gawain ng paghahanap ng mga panuntunan pagkatapos nito ay nagiging isang gawain ng kumpleto o bahagyang enumeration sa espasyo ng mga panuntunan upang mahanap ang pinaka-kaalaman sa kanila. Ang kahulugan ng nilalaman ng impormasyon ay maaaring ipakilala sa iba't ibang paraan, at hindi namin ito tatalakayin, kung isasaalang-alang na ito ay ilang parameter din ng modelo. Ang espasyo sa paghahanap ay tinukoy sa karaniwang paraan.

Pagkatapos makahanap ng sapat na kaalamang mga panuntunan, magsisimula ang yugto ng "pagsasama-sama" ng mga panuntunan sa panghuling classifier. Nang hindi tinatalakay nang malalim ang mga problema na lumitaw dito (at mayroong isang malaking bilang ng mga ito), naglilista kami ng 2 pangunahing pamamaraan ng "pagpupulong". Ang unang uri ay isang linear na listahan. Ang pangalawang uri ay weighted voting, kapag ang bawat panuntunan ay itinalaga ng isang tiyak na timbang, at ang classifier ay tumutukoy sa bagay sa klase kung saan ang pinakamalaking bilang ng mga panuntunan ay bumoto.

Sa katunayan, ang yugto ng pagbuo ng panuntunan at ang yugto ng "assembly" ay isinagawa nang magkasama at, kapag bumubuo ng isang may timbang na boto o listahan, ang paghahanap ng mga panuntunan sa mga bahagi ng data ng kaso ay paulit-ulit na tinatawag upang matiyak ang isang mas mahusay na akma sa pagitan ng data at ang modelo.

Paraan ng pag-ulit. Sa pamamaraang ito, ang isang paghahambing ay ginawa sa isang tiyak na database, kung saan para sa bawat isa sa mga bagay ay may iba't ibang mga pagpipilian para sa pagbabago ng display. Halimbawa, para sa optical image recognition, maaari mong ilapat ang paraan ng pag-iiba sa iba't ibang anggulo o kaliskis, offset, deformation, atbp. Para sa mga titik, maaari kang umulit sa font o sa mga katangian nito. Sa kaso ng sound pattern recognition, mayroong paghahambing sa ilang kilalang pattern (isang salitang binibigkas ng maraming tao). Dagdag pa, ang isang mas malalim na pagsusuri ng mga katangian ng imahe ay isinasagawa. Sa kaso ng optical recognition, maaaring ito ang kahulugan ng mga geometric na katangian. Ang sound sample sa kasong ito ay sumasailalim sa frequency at amplitude analysis.

Ang susunod na paraan ay paggamit ng mga artipisyal na neural network(INS). Nangangailangan ito ng alinman sa isang malaking bilang ng mga halimbawa ng gawain sa pagkilala, o isang espesyal na istraktura ng neural network na isinasaalang-alang ang mga detalye ng gawaing ito. Ngunit, gayunpaman, ang pamamaraang ito ay nailalarawan sa pamamagitan ng mataas na kahusayan at pagiging produktibo.

Mga pamamaraan batay sa mga pagtatantya ng mga density ng pamamahagi ng mga halaga ng tampok. Hiniram mula sa klasikal na teorya ng mga desisyon sa istatistika, kung saan ang mga bagay ng pag-aaral ay itinuturing bilang mga pagsasakatuparan ng isang multidimensional na random na variable na ibinahagi sa feature space ayon sa ilang batas. Ang mga ito ay batay sa pamamaraan ng paggawa ng desisyon ng Bayesian, na umaapela sa mga paunang probabilidad ng mga bagay na kabilang sa isang partikular na klase at mga kondisyong densidad ng pamamahagi ng tampok.

Ang pangkat ng mga pamamaraan batay sa pagtatantya ng mga density ng pamamahagi ng mga halaga ng tampok ay direktang nauugnay sa mga pamamaraan ng pagsusuri ng diskriminasyon. Ang Bayesian na diskarte sa paggawa ng desisyon ay isa sa mga pinaka-binuo na parametric na pamamaraan sa modernong istatistika, kung saan ang analytical expression ng batas sa pamamahagi (ang normal na batas) ay itinuturing na kilala at isang maliit na bilang lamang ng mga parameter (mean vectors at covariance matrice ) kailangang tantiyahin. Ang mga pangunahing kahirapan sa paglalapat ng pamamaraang ito ay itinuturing na pangangailangang alalahanin ang buong sample ng pagsasanay upang kalkulahin ang mga pagtatantya ng density at mataas na sensitivity sa sample ng pagsasanay.

Mga pamamaraan batay sa mga pagpapalagay tungkol sa klase ng mga function ng desisyon. Sa pangkat na ito, ang uri ng pagpapaandar ng pagpapasya ay itinuturing na kilala at ang kalidad ng pagganap nito ay ibinigay. Batay sa functional na ito, ang pinakamainam na approximation sa decision function ay makikita mula sa training sequence. Ang paggana ng kalidad ng panuntunan ng desisyon ay karaniwang nauugnay sa isang error. Ang pangunahing bentahe ng pamamaraan ay ang kalinawan ng matematikal na pagbabalangkas ng problema sa pagkilala. Ang posibilidad ng pagkuha ng mga bagong kaalaman tungkol sa likas na katangian ng isang bagay, lalo na, ang kaalaman tungkol sa mga mekanismo ng pakikipag-ugnayan ng mga katangian, sa panimula ay limitado dito sa pamamagitan ng isang naibigay na istraktura ng pakikipag-ugnayan, na naayos sa napiling anyo ng mga pag-andar ng desisyon.

Paraan ng paghahambing ng prototype. Ito ang pinakamadaling paraan ng extensional recognition sa pagsasanay. Nalalapat ito kapag ang mga nakikilalang klase ay ipinapakita bilang mga compact na geometric na klase. Pagkatapos ang gitna ng geometric na pagpapangkat (o ang bagay na pinakamalapit sa gitna) ay pipiliin bilang prototype point.

Upang pag-uri-uriin ang isang hindi tiyak na bagay, ang prototype na pinakamalapit dito ay matatagpuan, at ang bagay ay kabilang sa parehong klase nito. Malinaw, walang pangkalahatang mga imahe ang nabuo sa pamamaraang ito. Maaaring gamitin ang iba't ibang uri ng distansya bilang panukat.

Paraan ng k pinakamalapit na kapitbahay. Ang pamamaraan ay nakasalalay sa katotohanan na kapag nag-uuri ng isang hindi kilalang bagay, ang isang ibinigay na numero (k) ng geometrically na pinakamalapit na feature space ng iba pang pinakamalapit na kapitbahay na may kilala nang pag-aari sa isang klase ay matatagpuan. Ang desisyon na magtalaga ng hindi kilalang bagay ay ginawa sa pamamagitan ng pagsusuri ng impormasyon tungkol sa pinakamalapit na kapitbahay nito. Ang pangangailangan na bawasan ang bilang ng mga bagay sa sample ng pagsasanay (diagnostic precedents) ay isang kawalan ng pamamaraang ito, dahil binabawasan nito ang pagiging kinatawan ng sample ng pagsasanay.

Batay sa katotohanang naiiba ang pagkilos ng iba't ibang algorithm sa pagkilala sa parehong sample, ang tanong ay bumangon sa isang synthetic na panuntunan sa pagpapasya na gagamit ng mga lakas ng lahat ng algorithm. Para dito, mayroong isang sintetikong pamamaraan o mga hanay ng mga panuntunan sa pagpapasya na pinagsasama ang pinakapositibong aspeto ng bawat isa sa mga pamamaraan.

Sa pagtatapos ng pagsusuri ng mga pamamaraan ng pagkilala, ipinakita namin ang kakanyahan ng nasa itaas sa isang talahanayan ng buod, pagdaragdag ng ilang iba pang mga pamamaraan na ginamit sa pagsasanay.

Talahanayan 1. Talaan ng pag-uuri ng mga pamamaraan ng pagkilala, paghahambing ng kanilang mga lugar ng aplikasyon at mga limitasyon

Pag-uuri ng mga pamamaraan ng pagkilala

Lugar ng aplikasyon

Mga Limitasyon (kakulangan)

Mga pamamaraan ng masinsinang pagkilala

Mga pamamaraan batay sa mga pagtatantya ng density

Mga problema sa isang kilalang pamamahagi (normal), ang pangangailangan upang mangolekta ng malalaking istatistika

Ang pangangailangang isa-isahin ang buong set ng pagsasanay sa panahon ng pagkilala, mataas na sensitivity sa hindi pagiging kinatawan ng set ng pagsasanay at mga artifact

Mga pamamaraan batay sa pagpapalagay

Ang mga klase ay dapat na maayos na mapaghihiwalay

Ang anyo ng pagpapaandar ng pagpapasya ay dapat malaman nang maaga. Ang imposibilidad ng pagsasaalang-alang ng mga bagong kaalaman tungkol sa mga ugnayan sa pagitan ng mga tampok

Mga Paraan ng Boolean

Mga problema sa maliit na sukat

Kapag pumipili ng lohikal na mga panuntunan sa pagpapasya, ang isang kumpletong enumeration ay kinakailangan. Mataas na labor intensity

Mga Paraang Pangwika

Ang gawain ng pagtukoy ng gramatika para sa isang tiyak na hanay ng mga pahayag (mga paglalarawan ng mga bagay) ay mahirap gawing pormal. Hindi nalutas na mga teoretikal na problema

Extension na paraan ng pagkilala

Paraan ng paghahambing ng prototype

Mga problema ng maliit na dimensyon ng feature space

Mataas na pagtitiwala sa mga resulta ng pag-uuri sa sukatan. Hindi alam na pinakamainam na sukatan

k pinakamalapit na paraan ng kapitbahay

Mataas na pagtitiwala sa mga resulta ng pag-uuri sa sukatan. Ang pangangailangan para sa isang kumpletong enumeration ng sample ng pagsasanay sa panahon ng pagkilala. Computational complexity

Mga Algorithm ng Pagkalkula ng Marka (ABO)

Mga problema ng maliit na dimensyon sa mga tuntunin ng bilang ng mga klase at tampok

Depende sa mga resulta ng pag-uuri sa sukatan. Ang pangangailangan para sa isang kumpletong enumeration ng sample ng pagsasanay sa panahon ng pagkilala. Mataas na teknikal na kumplikado ng pamamaraan

Ang mga panuntunan ng kolektibong desisyon (CRC) ay isang sintetikong pamamaraan.

Mga problema ng maliit na dimensyon sa mga tuntunin ng bilang ng mga klase at tampok

Napakataas na teknikal na kumplikado ng pamamaraan, ang hindi nalutas na bilang ng mga teoretikal na problema, kapwa sa pagtukoy ng mga lugar ng kakayahan ng mga partikular na pamamaraan, at sa mga partikular na pamamaraan mismo.

Linggo, Mar 29, 2015

Sa kasalukuyan, maraming mga gawain kung saan kinakailangan na gumawa ng ilang desisyon depende sa pagkakaroon ng isang bagay sa imahe o upang pag-uri-uriin ito. Ang kakayahang "kilalanin" ay itinuturing na pangunahing pag-aari ng mga biyolohikal na nilalang, habang ang mga computer system ay hindi ganap na nagtataglay ng ari-arian na ito.

Isaalang-alang ang mga pangkalahatang elemento ng modelo ng pag-uuri.

Klase- isang hanay ng mga bagay na may mga karaniwang katangian. Para sa mga bagay ng parehong klase, ang pagkakaroon ng "pagkakatulad" ay ipinapalagay. Maaaring tukuyin ang isang di-makatwirang bilang ng mga klase para sa gawain sa pagkilala, higit sa 1. Ang bilang ng mga klase ay tinutukoy ng bilang na S. Ang bawat klase ay may sariling pagtukoy sa label ng klase.

Pag-uuri- ang proseso ng pagtatalaga ng mga label ng klase sa mga bagay, ayon sa ilang paglalarawan ng mga katangian ng mga bagay na ito. Ang classifier ay isang device na tumatanggap ng set ng mga feature ng isang object bilang input at gumagawa ng class label bilang resulta.

Pagpapatunay- ang proseso ng pagtutugma ng isang object instance sa isang object model o class description.

Sa ilalim paraan mauunawaan natin ang pangalan ng lugar sa espasyo ng mga katangian, kung saan ipinapakita ang maraming bagay o phenomena ng materyal na mundo. tanda- isang quantitative na paglalarawan ng isang partikular na katangian ng bagay o phenomenon na pinag-aaralan.

tampok na espasyo ito ay isang N-dimensional na espasyo na tinukoy para sa isang naibigay na gawain sa pagkilala, kung saan ang N ay isang nakapirming bilang ng mga nasusukat na tampok para sa anumang mga bagay. Ang vector mula sa feature space x na tumutugma sa object ng problema sa pagkilala ay isang N-dimensional vector na may mga bahagi (x_1,x_2,…,x_N), na siyang mga feature value para sa ibinigay na object.

Sa madaling salita, ang pagkilala ng pattern ay maaaring tukuyin bilang pagtatalaga ng paunang data sa isang partikular na klase sa pamamagitan ng pagkuha ng mga mahahalagang tampok o katangian na nagpapakilala sa data na ito mula sa pangkalahatang masa ng mga walang kaugnayang detalye.

Ang mga halimbawa ng mga problema sa pag-uuri ay:

  • pagkilala sa karakter;
  • pagkilala sa pagsasalita;
  • pagtatatag ng isang medikal na diagnosis;
  • Ulat panahon;
  • pagkilala sa mukha
  • pag-uuri ng mga dokumento, atbp.

Kadalasan, ang pinagmulang materyal ay ang larawang natanggap mula sa camera. Ang gawain ay maaaring buuin bilang pagkuha ng mga feature vector para sa bawat klase sa isinasaalang-alang na imahe. Maaaring tingnan ang proseso bilang isang proseso ng coding, na binubuo sa pagtatalaga ng halaga sa bawat feature mula sa feature space para sa bawat klase.

Kung isasaalang-alang natin ang 2 klase ng mga bagay: matatanda at bata. Bilang mga tampok, maaari kang pumili ng taas at timbang. Tulad ng sumusunod mula sa figure, ang dalawang klase na ito ay bumubuo ng dalawang non-intersecting set, na maaaring ipaliwanag ng mga napiling tampok. Gayunpaman, hindi laging posible na piliin ang mga tamang sinusukat na parameter bilang mga tampok ng mga klase. Halimbawa, ang mga napiling parameter ay hindi angkop para sa paglikha ng mga hindi magkakapatong na klase ng mga manlalaro ng football at mga manlalaro ng basketball.

Ang pangalawang gawain ng pagkilala ay ang pagpili ng mga katangian o katangian mula sa orihinal na mga imahe. Ang gawaing ito ay maaaring maiugnay sa preprocessing. Kung isasaalang-alang natin ang gawain ng pagkilala sa pagsasalita, maaari nating makilala ang mga katangian tulad ng mga patinig at katinig. Ang katangian ay dapat na isang katangian ng isang partikular na klase, habang ito ay karaniwan sa klase na ito. Mga palatandaan na nagpapakilala sa mga pagkakaiba sa pagitan ng - mga palatandaan ng interclass. Ang mga feature na karaniwan sa lahat ng klase ay hindi nagdadala ng kapaki-pakinabang na impormasyon at hindi itinuturing na mga feature sa problema sa pagkilala. Ang pagpili ng mga tampok ay isa sa mga mahahalagang gawain na nauugnay sa pagtatayo ng isang sistema ng pagkilala.

Matapos matukoy ang mga tampok, kinakailangan upang matukoy ang pinakamainam na pamamaraan ng pagpapasya para sa pag-uuri. Isaalang-alang ang isang sistema ng pagkilala ng pattern na idinisenyo upang makilala ang iba't ibang klase ng M, na tinutukoy bilang m_1,m_2,…,m 3. Pagkatapos ay maaari nating ipagpalagay na ang espasyo ng imahe ay binubuo ng mga rehiyon ng M, bawat isa ay naglalaman ng mga puntos na tumutugma sa isang imahe mula sa isang klase. Kung gayon ang problema sa pagkilala ay maaaring ituring bilang ang pagtatayo ng mga hangganan na naghihiwalay sa mga klase ng M batay sa tinatanggap na mga vector ng pagsukat.

Ang solusyon ng problema ng preprocessing ng imahe, pagkuha ng tampok at ang problema sa pagkuha ng pinakamainam na solusyon at pag-uuri ay kadalasang nauugnay sa pangangailangan na suriin ang isang bilang ng mga parameter. Ito ay humahantong sa problema ng pagtatantya ng parameter. Bilang karagdagan, malinaw na ang feature extraction ay maaaring gumamit ng karagdagang impormasyon batay sa likas na katangian ng mga klase.

Ang paghahambing ng mga bagay ay maaaring gawin batay sa kanilang representasyon sa anyo ng mga vector ng pagsukat. Ito ay maginhawa upang kumatawan sa data ng pagsukat bilang mga tunay na numero. Pagkatapos ay ang pagkakatulad ng mga feature vector ng dalawang bagay ay maaaring ilarawan gamit ang Euclidean distance.

kung saan ang d ay ang dimensyon ng feature vector.

Mayroong 3 pangkat ng mga pamamaraan ng pagkilala ng pattern:

  • Halimbawang paghahambing. Kasama sa pangkat na ito ang pag-uuri ayon sa pinakamalapit na mean, pag-uuri ayon sa distansya sa pinakamalapit na kapitbahay. Ang mga paraan ng pagkilala sa istruktura ay maaari ding isama sa sample na pangkat ng paghahambing.
  • Paraang istatistikal. Gaya ng ipinahihiwatig ng pangalan, ang mga pamamaraan ng istatistika ay gumagamit ng ilang istatistikal na impormasyon kapag nilulutas ang isang problema sa pagkilala. Tinutukoy ng pamamaraan ang pag-aari ng isang bagay sa isang partikular na klase batay sa posibilidad. Sa ilang mga kaso, bumababa ito sa pagtukoy ng posterior probabilidad ng isang bagay na kabilang sa isang partikular na klase, sa kondisyon na ang mga katangian ng bagay na ito ay nakakuha ng naaangkop na mga halaga. Ang isang halimbawa ay ang pamamaraan ng panuntunan ng desisyon ng Bayesian.
  • Mga neural network. Isang hiwalay na klase ng mga paraan ng pagkilala. Ang isang natatanging tampok mula sa iba ay ang kakayahang matuto.

Pag-uuri ayon sa pinakamalapit na mean

Sa klasikal na diskarte ng pagkilala ng pattern, kung saan ang isang hindi kilalang bagay para sa pag-uuri ay kinakatawan bilang isang vector ng mga elementarya na tampok. Ang isang feature-based na recognition system ay maaaring mabuo sa iba't ibang paraan. Ang mga vector na ito ay maaaring malaman ng system nang maaga bilang isang resulta ng pagsasanay o hinulaang sa real time batay sa ilang mga modelo.

Ang isang simpleng algorithm ng pag-uuri ay binubuo ng pagpapangkat ng data ng sangguniang klase gamit ang vector ng inaasahan ng klase (mean).

kung saan ang x(i,j) ay ang j-th reference feature ng class i, n_j ay ang bilang ng reference vectors ng class i.

Kung gayon ang hindi kilalang bagay ay mapabilang sa klase i kung ito ay mas malapit sa expectation vector ng class i kaysa sa expectation vectors ng ibang klase. Ang pamamaraang ito ay angkop para sa mga problema kung saan ang mga punto ng bawat klase ay matatagpuan nang compact at malayo sa mga punto ng iba pang mga klase.

Ang mga paghihirap ay lilitaw kung ang mga klase ay may bahagyang mas kumplikadong istraktura, halimbawa, tulad ng sa figure. Sa kasong ito, ang klase 2 ay nahahati sa dalawang hindi magkakapatong na seksyon, na hindi maganda ang paglalarawan ng isang average na halaga. Gayundin, ang klase 3 ay masyadong pinahaba, ang mga sample ng ika-3 klase na may malalaking halaga ng x_2 na mga coordinate ay mas malapit sa average na halaga ng 1st class kaysa sa ika-3.

Ang inilarawan na problema sa ilang mga kaso ay maaaring malutas sa pamamagitan ng pagbabago ng pagkalkula ng distansya.

Isasaalang-alang namin ang katangian ng "scatter" ng mga halaga ng klase - σ_i, kasama ang bawat direksyon ng coordinate i. Ang standard deviation ay katumbas ng square root ng variance. Ang naka-scale na Euclidean na distansya sa pagitan ng vector x at ng inaasahang vector x_c ay

Ang formula ng distansya na ito ay magbabawas sa bilang ng mga error sa pag-uuri, ngunit sa katotohanan, ang karamihan sa mga problema ay hindi maaaring katawanin ng ganoong simpleng klase.

Pag-uuri ayon sa distansya sa pinakamalapit na kapitbahay

Ang isa pang diskarte sa pag-uuri ay ang magtalaga ng hindi kilalang feature vector x sa klase kung saan ang vector na ito ay pinakamalapit sa isang hiwalay na sample. Ang panuntunang ito ay tinatawag na pinakamalapit na tuntunin sa kapitbahay. Ang pinakamalapit na pag-uuri ng kapitbahay ay maaaring maging mas mahusay kahit na ang mga klase ay kumplikado o kapag ang mga klase ay nagsasapawan.

Ang diskarte na ito ay hindi nangangailangan ng mga pagpapalagay tungkol sa mga modelo ng pamamahagi ng mga tampok na vector sa espasyo. Ang algorithm ay gumagamit lamang ng impormasyon tungkol sa mga kilalang reference sample. Ang paraan ng solusyon ay batay sa pagkalkula ng distansya x sa bawat sample sa database at paghahanap ng pinakamababang distansya. Ang mga pakinabang ng pamamaraang ito ay halata:

  • sa anumang oras maaari kang magdagdag ng mga bagong sample sa database;
  • binabawasan ng mga istruktura ng data ng puno at grid ang bilang ng mga nakalkulang distansya.

Bilang karagdagan, ang solusyon ay magiging mas mahusay kung titingnan mo sa database hindi para sa isang pinakamalapit na kapitbahay, ngunit para sa k. Pagkatapos, para sa k > 1, nagbibigay ito ng pinakamahusay na sample ng pamamahagi ng mga vector sa d-dimensional na espasyo. Gayunpaman, ang mahusay na paggamit ng mga halaga ng k ay nakasalalay sa kung mayroong sapat sa bawat rehiyon ng espasyo. Kung mayroong higit sa dalawang klase, kung gayon ito ay mas mahirap na gumawa ng tamang desisyon.

Panitikan

  • M. Castrillon, . O. Deniz, . D. Hernández at J. Lorenzo, "Isang paghahambing ng mga detektor ng tampok na mukha at mukha batay sa Viola-Jones general object detection framework," International Journal of Computer Vision, blg. 22, pp. 481-494, 2011.
  • Y.-Q. Wang, "Isang Pagsusuri ng Viola-Jones Face Detection Algorithm," IPOL Journal, 2013.
  • L. Shapiro at D. Stockman, Computer vision, Binom. Knowledge Lab, 2006.
  • Z. N. G., Mga pamamaraan ng pagkilala at ang kanilang aplikasyon, radyo ng Sobyet, 1972.
  • J. Tu, R. Gonzalez, Mathematical Principles of Pattern Recognition, Moscow: "Mir" Moscow, 1974.
  • Khan, H. Abdullah at M. Shamian Bin Zainal, "Mahusay na algorithm sa pagtuklas ng mga mata at bibig gamit ang kumbinasyon ng viola jones at pagtukoy ng pixel ng kulay ng balat" International Journal of Engineering and Applied Sciences, Vol. 3 no 4, 2013.
  • V. Gaede at O. Gunther, "Multidimensional Access Methods," ACM Computing Surveys, pp. 170-231, 1998.
  • pagtuturo

Sa loob ng mahabang panahon, nais kong magsulat ng isang pangkalahatang artikulo na naglalaman ng mga pangunahing kaalaman sa Pagkilala sa Imahe, isang uri ng gabay sa mga pangunahing pamamaraan, na nagsasabi kung kailan ilalapat ang mga ito, anong mga gawain ang kanilang malulutas, kung ano ang maaaring gawin sa gabi sa tuhod, at ano ang mas mainam na huwag isipin nang walang pangkat ng mga tao sa 20.

Matagal na akong nagsusulat ng ilang artikulo sa Optical Recognition, kaya ilang beses sa isang buwan sumulat sa akin ang iba't ibang tao na may mga tanong tungkol sa paksang ito. Minsan mararamdaman mo na kasama mo sila sa iba't ibang mundo. Sa isang banda, nauunawaan mo na ang isang tao ay malamang na isang propesyonal sa isang kaugnay na paksa, ngunit kakaunti ang alam tungkol sa mga pamamaraan ng optical recognition. At ang pinaka-nakakainis na bagay ay sinusubukan niyang mag-aplay ng isang pamamaraan mula sa isang kalapit na larangan ng kaalaman, na lohikal, ngunit hindi ganap na gumagana sa Pagkilala sa Imahe, ngunit hindi ito naiintindihan at labis na nasaktan kung nagsimula siyang magsabi sa kanya ng isang bagay mula sa napaka basic. At kung isasaalang-alang na ang pagsasabi mula sa mga pangunahing kaalaman ay maraming oras, na kadalasang wala doon, ito ay nagiging mas malungkot.

Ang artikulong ito ay idinisenyo upang ang isang tao na hindi pa nakikitungo sa mga pamamaraan ng pagkilala ng imahe ay maaaring, sa loob ng 10-15 minuto, lumikha sa kanyang ulo ng isang tiyak na pangunahing larawan ng mundo na naaayon sa paksa, at maunawaan kung saan siya dapat maghukay. Marami sa mga pamamaraang inilarawan dito ay naaangkop sa pagpoproseso ng radar at audio.
Magsisimula ako sa ilang mga prinsipyo na palagi naming sinisimulan na sabihin sa isang potensyal na customer, o isang taong gustong magsimulang gumawa ng Optical Recognition:

  • Kapag nilulutas ang isang problema, palaging pumunta sa pinakasimple. Mas madaling mag-hang ng isang orange na label sa isang tao kaysa sundan ang isang tao, na i-highlight siya sa mga cascades. Mas madaling kumuha ng camera na may mas mataas na resolution kaysa bumuo ng isang super-resolution na algorithm.
  • Ang isang mahigpit na pahayag ng problema sa mga paraan ng optical recognition ay ang mga order ng magnitude na mas mahalaga kaysa sa mga problema sa system programming: ang isang dagdag na salita sa TK ay maaaring magdagdag ng 50% ng trabaho.
  • Sa mga problema sa pagkilala, walang mga unibersal na solusyon. Hindi ka maaaring gumawa ng isang algorithm na simpleng "makikilala ang anumang inskripsiyon." Ang isang palatandaan sa kalye at isang sheet ng teksto ay sa panimula ay magkaibang mga bagay. Posibleng gumawa ng pangkalahatang algorithm (isang magandang halimbawa mula sa Google), ngunit mangangailangan ito ng maraming trabaho mula sa isang malaking team at binubuo ng dose-dosenang iba't ibang subroutine.
  • Ang OpenCV ay ang bibliya, na mayroong maraming mga pamamaraan, at kung saan maaari mong malutas ang 50% ng dami ng halos anumang problema, ngunit ang OpenCV ay isang maliit na bahagi lamang ng kung ano ang maaaring gawin sa katotohanan. Sa isang pag-aaral, isinulat ito sa mga konklusyon: "Ang problema ay hindi nalutas ng mga pamamaraan ng OpenCV, samakatuwid, ito ay hindi malulutas." Subukang iwasan ito, huwag maging tamad at maingat na suriin ang kasalukuyang gawain sa bawat oras mula sa simula, nang hindi gumagamit ng mga template ng OpenCV.
Napakahirap magbigay ng ilang uri ng unibersal na payo, o sabihin kung paano lumikha ng ilang uri ng istraktura sa paligid kung saan maaari kang bumuo ng solusyon sa mga di-makatwirang problema sa computer vision. Ang layunin ng artikulong ito ay buuin kung ano ang maaaring gamitin. Susubukan kong hatiin ang mga umiiral na pamamaraan sa tatlong grupo. Ang unang pangkat ay paunang pag-filter at paghahanda ng imahe. Ang pangalawang pangkat ay ang lohikal na pagproseso ng mga resulta ng pag-filter. Ang ikatlong pangkat ay mga algorithm sa paggawa ng desisyon batay sa lohikal na pagproseso. Ang mga hangganan sa pagitan ng mga grupo ay napaka-arbitrary. Upang malutas ang isang problema, malayo sa palaging kinakailangan na mag-aplay ng mga pamamaraan mula sa lahat ng mga grupo; kung minsan ay sapat ang dalawa, at kung minsan kahit isa.

Ang listahan ng mga pamamaraan na ipinakita dito ay hindi kumpleto. Iminumungkahi kong idagdag sa mga komento ang mga kritikal na pamamaraan na hindi ko isinulat at ipatungkol ang 2-3 na kasamang salita sa bawat isa.

Bahagi 1. Pagsala

Sa pangkat na ito, naglagay ako ng mga pamamaraan na nagbibigay-daan sa iyong pumili ng mga lugar ng interes sa mga larawan nang hindi sinusuri ang mga ito. Karamihan sa mga pamamaraang ito ay naglalapat ng ilang uri ng pare-parehong pagbabago sa lahat ng mga punto sa larawan. Sa antas ng pag-filter, hindi sinusuri ang imahe, ngunit ang mga puntong na-filter ay maaaring ituring na mga lugar na may mga espesyal na katangian.
Threshold binarization, histogram area selection
Ang pinakasimpleng pagbabago ay ang binarization ng imahe sa pamamagitan ng threshold. Para sa RGB at grayscale na mga imahe, ang threshold ay ang halaga ng kulay. May mga ideal na problema kung saan sapat ang gayong pagbabago. Ipagpalagay na gusto mong awtomatikong pumili ng mga item sa isang puting papel:




Ang pagpili ng threshold kung saan nagaganap ang binarization ay higit na tumutukoy sa proseso ng binarization mismo. Sa kasong ito, ang imahe ay binarized ng average na kulay. Karaniwan, ginagawa ang binarization gamit ang isang algorithm na madaling pumipili ng threshold. Ang ganitong algorithm ay maaaring ang pagpili ng inaasahan o mode. At maaari mong piliin ang pinakamalaking peak ng histogram.

Ang binarization ay maaaring magbigay ng napaka-kagiliw-giliw na mga resulta kapag nagtatrabaho sa histograms, kabilang ang sitwasyon kung isasaalang-alang namin ang isang imahe na wala sa RGB, ngunit sa HSV. Halimbawa, i-segment ang mga kulay ng interes. Sa prinsipyong ito, posibleng bumuo ng parehong detektor ng label at detektor ng balat ng tao.
Classical na pagsala: Fourier, LPF, HPF
Ang mga klasikal na paraan ng pag-filter mula sa radar at pagpoproseso ng signal ay maaaring matagumpay na mailapat sa iba't ibang mga gawain sa Pagkilala ng Pattern. Ang tradisyunal na paraan sa radar, na halos hindi ginagamit sa mga imahe sa dalisay nitong anyo, ay ang Fourier transform (mas partikular, ang FFT). Isa sa ilang mga pagbubukod kung saan ginagamit ang 1D Fourier transform ay ang image compression. Para sa pagsusuri ng imahe, ang isang one-dimensional na pagbabagong-anyo ay karaniwang hindi sapat, kailangan mong gumamit ng mas maraming resource-intensive na two-dimensional na pagbabago.

Ilang mga tao ang aktwal na kinakalkula ito, kadalasan ay mas mabilis at mas madaling gamitin ang convolution ng rehiyon ng interes na may isang handa na filter na hasa sa mataas (HPF) o mababang (LPF) na mga frequency. Ang ganitong paraan, siyempre, ay hindi nagpapahintulot sa pagsusuri ng spectrum, ngunit sa isang tiyak na gawain sa pagproseso ng video, kadalasan ay hindi isang pagsusuri ang kailangan, ngunit isang resulta.


Ang pinakasimpleng mga halimbawa ng mga filter na nagbibigay-diin sa mababang frequency (Gaussian filter) at mataas na frequency (Gabor filter).
Para sa bawat punto ng larawan, pinipili ang isang window at pinarami ng filter na may parehong laki. Ang resulta ng naturang convolution ay ang bagong halaga ng punto. Kapag nagpapatupad ng LPF at HPF, ang mga larawan ng ganitong uri ay nakuha:



Mga wavelet
Ngunit paano kung gumamit tayo ng ilang di-makatwirang katangian ng pag-andar para sa convolution sa signal? Pagkatapos ay tatawagin itong "Wavelet Transform". Ang kahulugan na ito ng mga wavelet ay hindi tama, ngunit ayon sa kaugalian, sa maraming mga koponan, ang pagsusuri ng wavelet ay ang paghahanap para sa isang arbitrary na pattern sa isang imahe gamit ang convolution na may isang modelo ng pattern na ito. Mayroong isang hanay ng mga klasikal na function na ginagamit sa pagsusuri ng wavelet. Kabilang dito ang Haar wavelet, ang Morlet wavelet, ang Mexican hat wavelet, at iba pa. Haar primitives, tungkol sa kung saan mayroong ilan sa aking mga nakaraang artikulo ( , ), ay tumutukoy sa mga naturang function para sa isang dalawang-dimensional na espasyo.


Sa itaas ay 4 na halimbawa ng mga classical wavelet. 3D Haar wavelet, 2D Meyer wavelet, Mexican Hat wavelet, Daubechies wavelet. Ang isang magandang halimbawa ng paggamit ng pinahabang interpretasyon ng mga wavelet ay ang problema sa paghahanap ng kislap sa mata, kung saan ang kislap mismo ay isang wavelet:

Ang mga klasikal na wavelet ay kadalasang ginagamit para sa , o para sa kanilang pag-uuri (na ilalarawan sa ibaba).
Kaugnayan
Matapos ang gayong libreng interpretasyon ng mga wavelet sa aking bahagi, ito ay nagkakahalaga ng pagbanggit sa aktwal na ugnayan na pinagbabatayan ng mga ito. Kapag nag-filter ng mga imahe, ito ay isang kailangang-kailangan na tool. Ang isang klasikong application ay ang video stream correlation upang makahanap ng mga offset o optical stream. Ang pinakasimpleng shift detector ay din, sa isang kahulugan, isang difference correlator. Kung saan ang mga imahe ay hindi nauugnay, nagkaroon ng paggalaw.

Pag-filter ng function
Ang isang kawili-wiling klase ng mga filter ay ang pag-filter ng mga function. Ang mga ito ay purong mathematical na mga filter na nagbibigay-daan sa iyong makakita ng isang simpleng mathematical function sa isang imahe (linya, parabola, bilog). Ang isang accumulative na imahe ay binuo, kung saan para sa bawat punto ng orihinal na imahe ay iginuhit ang isang hanay ng mga function na bumubuo nito. Ang pinaka-klasikal na pagbabago ay ang pagbabagong Hough para sa mga linya. Sa pagbabagong ito, para sa bawat punto (x;y), isang set ng mga puntos (a;b) ng linyang y=ax+b ang iginuhit, kung saan ang pagkakapantay-pantay ay totoo. Kumuha ng magagandang larawan:


(ang unang plus para sa isa na unang nakahanap ng catch sa larawan at tulad ng isang kahulugan at ipaliwanag ito, ang pangalawang plus para sa isa na unang nagsabi kung ano ang ipinapakita dito)
Ang pagbabagong-anyo ng Hough ay nagbibigay-daan sa iyo upang mahanap ang anumang mga parameterizable function. Halimbawa mga bilog. Mayroong binagong pagbabagong nagbibigay-daan sa iyong maghanap ng anuman. Ang pagbabagong ito ay labis na mahilig sa mga mathematician. Ngunit kapag nagpoproseso ng mga imahe, ito, sa kasamaang-palad, ay hindi palaging gumagana. Napakabagal na bilis, napakataas na sensitivity sa kalidad ng binarization. Kahit na sa mga ideal na sitwasyon, mas pinili kong makayanan ang ibang mga pamamaraan.
Ang katapat ng pagbabagong-anyo ng Hough para sa mga linya ay ang pagbabagong-anyo ng Radon. Kinakalkula ito sa pamamagitan ng FFT, na nagbibigay ng performance gain sa isang sitwasyon kung saan maraming puntos. Bilang karagdagan, maaari itong ilapat sa isang hindi binarized na imahe.
Pag-filter ng contour
Ang isang hiwalay na klase ng mga filter ay border at contour filtering. Ang mga landas ay lubhang kapaki-pakinabang kapag gusto nating lumipat mula sa pagtatrabaho sa isang imahe patungo sa pagtatrabaho sa mga bagay sa larawang iyon. Kapag ang isang bagay ay medyo kumplikado, ngunit mahusay na nakikilala, kung gayon ang tanging paraan upang magtrabaho kasama nito ay ang piliin ang mga contour nito. Mayroong isang bilang ng mga algorithm na malulutas ang problema ng pag-filter ng contour:

Ang pinaka-karaniwang ginagamit ay si Kenny, na gumagana nang maayos at ang pagpapatupad ay nasa OpenCV (nandiyan din si Sobel, ngunit naghahanap siya ng mga contour na mas malala).



Iba pang mga filter
Sa itaas ay mga filter, ang mga pagbabago na makakatulong upang malutas ang 80-90% ng mga gawain. Ngunit bukod sa mga ito, mayroong mas bihirang mga filter na ginagamit sa mga lokal na gawain. Mayroong dose-dosenang mga naturang filter, hindi ko ilista ang lahat. Ang interes ay ang umuulit na mga filter (halimbawa ), pati na rin ang ridgelet at curvlet transforms, na isang haluang metal ng classical wavelet filtering at analysis sa radon transform field. Ang pagbabago ng Beamlet ay gumagana nang maganda sa hangganan ng pagbabago ng wavelet at lohikal na pagsusuri, na nagbibigay-daan sa iyong i-highlight ang mga contour:

Ngunit ang mga pagbabagong ito ay napaka-espesipiko at iniangkop para sa mga bihirang gawain.

Bahagi 2. Lohikal na pagproseso ng mga resulta ng pagsasala

Ang pag-filter ay nagbibigay ng isang set ng data na angkop para sa pagproseso. Ngunit kadalasan ay hindi mo maaaring kunin at gamitin ang data na ito nang hindi pinoproseso ito. Sa seksyong ito, magkakaroon ng ilang mga klasikong pamamaraan na magbibigay-daan sa iyo upang pumunta mula sa imahe sa mga katangian ng mga bagay, o sa mga bagay mismo.
Morpolohiya
Ang paglipat mula sa pagsala sa lohika, sa aking palagay, ay ang mga pamamaraan ng matematikal na morpolohiya ( , ). Sa katunayan, ito ang pinakasimpleng mga operasyon ng pagtaas at pagguho ng mga binary na imahe. Binibigyang-daan ka ng mga pamamaraang ito na alisin ang ingay mula sa isang binary na imahe sa pamamagitan ng pagtaas o pagbaba ng mga magagamit na elemento. Batay sa mathematical morphology, may mga contouring algorithm, ngunit kadalasan ay gumagamit sila ng ilang uri ng hybrid algorithm o algorithm na magkakasabay.
pagsusuri ng tabas
Sa seksyon ng pag-filter, ang mga algorithm para sa pagkuha ng mga hangganan ay nabanggit na. Ang mga nagresultang hangganan ay medyo simpleng na-convert sa mga contour. Para sa Canny algorithm, awtomatiko itong nangyayari, para sa iba pang mga algorithm, kinakailangan ang karagdagang binarization. Maaari kang makakuha ng contour para sa isang binary algorithm, halimbawa, gamit ang beetle algorithm.
Ang tabas ay isang natatanging katangian ng isang bagay. Kadalasan ito ay nagpapahintulot sa iyo na makilala ang bagay kasama ang tabas. Mayroong isang malakas na mathematical apparatus na nagpapahintulot sa iyo na gawin ito. Ang apparatus ay tinatawag na contour analysis ( , ).

Sa totoo lang, hindi ko kailanman nagawang ilapat ang contour analysis sa mga totoong problema. Masyadong mainam na mga kondisyon ang kinakailangan. Either walang hangganan, o sobrang ingay. Ngunit, kung kailangan mong makilala ang isang bagay sa ilalim ng perpektong mga kondisyon, kung gayon ang pagsusuri sa contour ay isang mahusay na pagpipilian. Gumagana ito nang napakabilis, magandang matematika at naiintindihan na lohika.
Mga isahan na puntos
Ang mga pangunahing punto ay mga natatanging katangian ng isang bagay na nagpapahintulot sa bagay na maiugnay sa sarili nito o sa mga katulad na klase ng bagay. Mayroong dose-dosenang mga paraan upang pumili ng mga naturang punto. Ang ilang mga pamamaraan ay nagha-highlight ng mga espesyal na punto sa kalapit na mga frame, ang ilan pagkatapos ng mahabang panahon at kapag nagbabago ang ilaw, ang ilan ay nagbibigay-daan sa iyo na makahanap ng mga espesyal na punto na nananatili sa gayon kahit na ang bagay ay umiikot. Magsimula tayo sa mga pamamaraan na nagpapahintulot sa amin na makahanap ng mga espesyal na puntos na hindi masyadong matatag, ngunit mabilis na kinakalkula, at pagkatapos ay pupunta tayo sa pagtaas ng pagiging kumplikado:
Unang baitang. Mga singular na puntos na stable sa loob ng ilang segundo. Ang mga naturang punto ay ginagamit upang gabayan ang isang bagay sa pagitan ng mga katabing video frame, o upang pagsama-samahin ang mga larawan mula sa mga kalapit na camera. Kasama sa mga puntong ito ang lokal na maxima ng imahe, mga sulok sa larawan (ang pinakamahusay sa mga detector, marahil, ang Haris detector), mga punto kung saan naabot ang dispersion maxima, ilang mga gradient, atbp.
Pangalawang klase. Mga singular na punto na stable kapag nagpapalit ng ilaw at maliliit na paggalaw ng bagay. Ang ganitong mga punto ay pangunahing nagsisilbi para sa pagsasanay at kasunod na pag-uuri ng mga uri ng bagay. Halimbawa, ang isang pedestrian classifier o isang face classifier ay ang produkto ng isang system na binuo sa mga ganoong punto lang. Ang ilan sa mga naunang nabanggit na wavelet ay maaaring maging batayan para sa mga naturang punto. Halimbawa, ang Haar primitives, glare search, maghanap ng iba pang partikular na feature. Kasama sa mga puntong ito ang mga puntos na natagpuan sa pamamagitan ng paraan ng histograms of directional gradients (HOG).
Ikatlong klase. matatag na puntos. Alam ko lamang ang tungkol sa dalawang pamamaraan na nagbibigay ng kumpletong katatagan at tungkol sa kanilang mga pagbabago. Ito at . Nagbibigay-daan sa iyo ang mga ito na makahanap ng mga pangunahing punto kahit na paikutin mo ang larawan. Ang pagkalkula ng mga naturang punto ay tumatagal ng mas mahaba kaysa sa iba pang mga pamamaraan, ngunit para sa isang limitadong oras. Sa kasamaang palad, ang mga pamamaraan na ito ay patented. Bagaman, sa Russia imposibleng mag-patent ng mga algorithm, kaya gamitin ito para sa domestic market.

Bahagi 3. Pagsasanay

Ang ikatlong bahagi ng kuwento ay ilalaan sa mga pamamaraan na hindi direktang gumagana sa imahe, ngunit nagbibigay-daan sa iyo na gumawa ng mga pagpapasya. Karaniwan, ang mga ito ay iba't ibang paraan ng machine learning at paggawa ng desisyon. Kamakailan lamang, nag-post si Yandyks sa Habr sa paksang ito, mayroong isang napakahusay na pagpipilian. Narito ito sa bersyon ng teksto. Para sa isang seryosong pag-aaral ng paksa, lubos kong inirerekumenda na tingnan mo ang mga ito. Dito ay susubukan kong tukuyin ang ilang mga pangunahing pamamaraan na partikular na ginagamit sa pagkilala ng pattern.
Sa 80% ng mga sitwasyon, ang kakanyahan ng pag-aaral sa problema sa pagkilala ay ang mga sumusunod:
Mayroong isang sample ng pagsubok kung saan mayroong ilang mga klase ng mga bagay. Hayaan itong maging presensya / kawalan ng isang tao sa larawan. Para sa bawat larawan, mayroong isang hanay ng mga feature na na-highlight ng ilang feature, maging ito ay Haar, HOG, SURF, o ilang wavelet. Ang algorithm ng pag-aaral ay dapat bumuo ng gayong modelo, ayon sa kung saan magagawa nitong pag-aralan ang bagong imahe at magpasya kung alin sa mga bagay ang nasa larawan.
Paano ito nagawa? Ang bawat isa sa mga pagsubok na larawan ay isang punto sa feature space. Ang mga coordinate nito ay ang bigat ng bawat feature sa larawan. Hayaan ang aming mga palatandaan ay: "Ang pagkakaroon ng mga mata", "Ang pagkakaroon ng isang ilong", "Ang pagkakaroon ng dalawang kamay", "Ang pagkakaroon ng mga tainga", atbp. Ilalaan namin ang lahat ng mga palatandaang ito sa mga detektor na mayroon kami, na sinanay sa mga bahagi ng katawan na katulad ng tao. Para sa isang tao sa ganoong espasyo, ang tamang punto ay . Para sa unggoy, tuldok para sa kabayo. Ang classifier ay sinanay sa isang sample ng mga halimbawa. Ngunit hindi lahat ng mga larawan ay nagpakita ng mga kamay, ang iba ay walang mga mata, at sa pangatlo ang unggoy ay may ilong ng tao dahil sa isang error sa classifier. Awtomatikong hinahati ng trainable human classifier ang feature space sa paraang masasabing: kung ang unang feature ay nasa hanay na 0.5 Sa esensya, ang layunin ng classifier ay iguhit sa feature space ang mga lugar na katangian ng mga object ng classification. Ganito ang magiging hitsura ng sunud-sunod na approximation sa sagot para sa isa sa mga classifier (AdaBoost) sa two-dimensional space:


Maraming mga classifier. Ang bawat isa sa kanila ay mas gumagana sa ilan sa mga gawain nito. Ang gawain ng pagpili ng isang classifier para sa isang partikular na gawain ay higit sa lahat ay isang sining. Narito ang ilang magagandang larawan sa paksa.
Simpleng kaso, isang-dimensional na paghihiwalay
Kumuha tayo ng isang halimbawa ng pinakasimpleng kaso ng pag-uuri, kapag ang feature space ay one-dimensional, at kailangan nating paghiwalayin ang 2 klase. Ang sitwasyon ay nangyayari nang mas madalas kaysa sa tila: halimbawa, kapag kailangan mong makilala ang dalawang signal, o ihambing ang isang pattern sa isang sample. Sabihin nating mayroon tayong sample ng pagsasanay. Sa kasong ito, ang isang imahe ay nakuha, kung saan ang X-axis ay magiging isang sukatan ng pagkakapareho, at ang Y-axis ay ang bilang ng mga kaganapan na may ganoong sukat. Kapag ang nais na bagay ay katulad sa sarili nito, isang kaliwang Gaussian ang nakuha. Kapag hindi katulad - tama. Ang halagang X=0.4 ay naghihiwalay sa mga sample upang ang isang maling desisyon ay mabawasan ang posibilidad na makagawa ng anumang maling desisyon. Ito ay ang paghahanap para sa naturang separator na ang gawain ng pag-uuri.


Maliit na tala. Ang criterion na nagpapaliit sa error ay hindi palaging magiging pinakamainam. Ang sumusunod na graph ay isang graph ng isang aktwal na iris recognition system. Para sa gayong sistema, ang criterion ay pinili sa paraang mabawasan ang posibilidad ng maling pagtanggap ng isang tagalabas sa bagay. Ang ganitong posibilidad ay tinatawag na "error of the first kind", "probability of false alarm", "false positive". Sa panitikang Ingles na "False Access Rate".
) Ang AdaBusta ay isa sa mga pinakakaraniwang classifier. Halimbawa, ang Haar cascade ay itinayo dito. Karaniwang ginagamit kapag kailangan ang binary classification, ngunit walang pumipigil sa pagtuturo para sa mas maraming klase.
SVM ( , , , ) Isa sa pinakamakapangyarihang classifier na may maraming pagpapatupad. Sa prinsipyo, sa mga gawain sa pag-aaral na nakatagpo ko, ito ay nagtrabaho nang katulad sa adabusta. Ito ay itinuturing na mabilis, ngunit ang pagsasanay nito ay mas mahirap kaysa sa Adabusta at nangangailangan ng pagpili ng tamang kernel.

Mayroon ding mga neural network at regression. Ngunit para madaling pag-uri-uriin ang mga ito at ipakita kung paano sila nagkakaiba, kailangan ang isang artikulong mas malaki kaysa rito.
________________________________________________
Umaasa ako na nakapagbigay ako ng mabilis na pangkalahatang-ideya ng mga pamamaraang ginamit nang hindi sumisid sa matematika at paglalarawan. Marahil ito ay makakatulong sa isang tao. Bagaman, siyempre, ang artikulo ay hindi kumpleto at walang salita tungkol sa pagtatrabaho sa mga stereo na imahe, o tungkol sa LSM na may filter na Kalman, o tungkol sa adaptive na diskarte sa Bayesian.
Kung gusto mo ang artikulo, susubukan kong gawin ang pangalawang bahagi na may isang seleksyon ng mga halimbawa kung paano nalutas ang mga umiiral na problema sa ImageRecognition.

At sa wakas

Ano ang dapat basahin?
1) Minsan nagustuhan ko talaga ang librong "Digital Image Processing" ni B. Yana, na simple at malinaw ang pagkakasulat, pero kasabay nito, halos lahat ng matematika ay ibinibigay. Mabuti para maging pamilyar sa mga kasalukuyang pamamaraan.
2) Ang classic ng genre ay R Gonzalez, R. Woods "Digital Image Processing". Para sa ilang kadahilanan, ito ay mas mahirap para sa akin kaysa sa una. Mas kaunting matematika, ngunit mas maraming pamamaraan at larawan.
3) "Pagproseso ng imahe at pagsusuri sa mga problema sa paningin ng makina" - isinulat batay sa kursong itinuro sa isa sa mga departamento ng PhysTech. Maraming mga pamamaraan at ang kanilang detalyadong paglalarawan. Ngunit sa palagay ko, ang aklat ay may dalawang malaking minus: ang aklat ay lubos na nakatuon sa software package na kasama nito, sa aklat na masyadong madalas ang paglalarawan ng isang simpleng pamamaraan ay nagiging mathematical jungle, kung saan mahirap malaman. ang structural diagram ng pamamaraan. Ngunit ang mga may-akda ay gumawa ng isang maginhawang site, kung saan halos lahat ng nilalaman ay ipinakita - wiki.technicalvision.ru Magdagdag ng mga tag