රූප සැකසුම්: 'කොකාකෝලා කැන්' හඳුනාගැනීම සඳහා ඇල්ගොරිතම වැඩි දියුණු කිරීම


1667

පසුගිය වසර කිහිපය තුළ මම වැඩ කළ වඩාත් සිත්ගන්නා සුළු ව්‍යාපෘතියක් වූයේ රූප සැකසුම් පිළිබඳ ව්‍යාපෘතියකි . ඉලක්කය වූයේ කොකාකෝලා 'කෑන්' හඳුනා ගැනීමට හැකි වන පරිදි පද්ධතියක් සංවර්ධනය කිරීමයි (මම 'කෑන්' යන වචනය අවධාරණය කරන බව සලකන්න, විනාඩියකින් ඔබට පෙනෙනු ඇත). හරිත සෘජුකෝණාස්රයේ පරිමාණය හා භ්‍රමණය සමඟ හඳුනාගත හැකි පහත සාම්පලයක් ඔබට දැක ගත හැකිය .

ආකෘති ගැලපීම

ව්‍යාපෘතියේ සමහර බාධක:

  • පසුබිම ඉතා .ෝෂාකාරී විය හැකිය.
  • මෙම හැකි ඕනෑම විය හැකි පරිමාණ හෝ භ්රමණ හෝ දිශානතිය (සාධාරණ සීමාවන් ඇතුලත).
  • රූපයට යම් තරමක නොපැහැදිලි බවක් තිබිය හැකිය (සමෝච්ඡයන් සම්පූර්ණයෙන්ම කෙළින් නොවිය හැක).
  • රූපයේ කොකා-කෝලා සමාගම බෝතල් ඇති විය හැකි අතර, මෙම ඇල්ගොරිතමය පමණක් හඳුනාගත යුතු හැකි !
  • රූපයේ දීප්තිය බොහෝ වෙනස් විය හැකිය (එබැවින් ඔබට වර්ණ හඳුනාගැනීම මත "ඕනෑවට වඩා" විශ්වාසය තැබිය නොහැක).
  • මෙම හැකි අර්ධ වශයෙන් පැති හෝ මැද මත සඟවා ගත හැකි හා බෝතලයක් පිටුපස හැකි අර්ධ වශයෙන් සඟවා.
  • රූපයේ කිසිසේත් කළ නොහැකි විය හැකි අතර, එවිට ඔබට කිසිවක් සොයාගත නොහැකි වූ අතර එසේ පවසමින් පණිවිඩයක් ලිවිය යුතුය.

එබැවින් ඔබට මේ වගේ උපක්‍රමශීලී දේවලින් අවසන් විය හැකිය (මේ අවස්ථාවේ දී මගේ ඇල්ගොරිතම මුළුමනින්ම අසාර්ථක විය):

සම්පුර්ණ අසමත්

මම මීට ටික කලකට පෙර මෙම ව්‍යාපෘතිය කළ අතර, එය විනෝදයෙන් කළ අතර, මට හොඳ ක්‍රියාත්මක කිරීමක් තිබුණි. මගේ ක්‍රියාත්මක කිරීම පිළිබඳ විස්තර කිහිපයක් මෙන්න:

භාෂාව : OpenCV පුස්තකාලය භාවිතා කරමින් C ++ වලින් සිදු කරන ලදි .

පෙර සැකසුම් කිරීම : රූපයේ පෙර සැකසුම් සඳහා, එනම් ඇල්ගොරිතමයට ලබා දීම සඳහා රූපය වඩාත් අමු ස්වරූපයක් බවට පරිවර්තනය කිරීම සඳහා මම ක්‍රම 2 ක් භාවිතා කළෙමි:

  1. වර්ණ වසම RGB සිට HSV දක්වා වෙනස් කිරීම සහ "රතු" පැහැය මත පදනම්ව පෙරීම, තැඹිලි වැනි වර්ණ වළක්වා ගැනීම සඳහා යම් සීමාවකට ඉහළින් සන්තෘප්තිය සහ අඳුරු නාද වළක්වා ගැනීම සඳහා අඩු අගයක් පෙරීම. අවසාන ප්‍රති result ලය ද්විමය කළු සහ සුදු රූපයක් වන අතර, සියලු සුදු පික්සෙල් මෙම සීමාවට ගැලපෙන පික්සෙල් නියෝජනය කරයි. නිසැකවම රූපයේ බොහෝ කපටිකම් ඇත, නමුත් මෙය ඔබ සමඟ වැඩ කළ යුතු මානයන් ගණන අඩු කරයි. ද්විමය රූපය
  2. ශබ්දය අඩු කිරීම සඳහා මධ්‍ය පෙරහන් භාවිතා කරමින් ශබ්දය පෙරීම (සියලු අසල්වැසියන්ගේ මධ්‍ය පික්සල් අගය ගෙන පික්සෙල් මෙම අගය මගින් ප්‍රතිස්ථාපනය කරන්න).
  3. පූර්වාදර්ශ පියවර 2 කට පසු සියලු අයිතමවල සමෝච්ඡයන් ලබා ගැනීම සඳහා කැනී එජ් අනාවරණ පෙරණය භාවිතා කිරීම. සමෝච්ඡ හඳුනාගැනීම

ඇල්ගොරිතම : මෙම කාර්යය සඳහා මා තෝරාගත් ඇල්ගොරිතම විශේෂාංග නිස්සාරණය පිළිබඳ මෙම පුදුමාකාර පොතෙන් ලබා ගත් අතර එය සාමාන්‍යකරණය කළ Hough Transform ලෙස හැඳින්වේ ( සාමාන්‍ය Hough Transform ට වඩා බෙහෙවින් වෙනස්). එය මූලික වශයෙන් කරුණු කිහිපයක් පවසයි:

  • වස්තුවක විශ්ලේෂණ සමීකරණය නොදැන ඔබට අභ්‍යවකාශයේ විස්තර කළ හැකිය (මෙහි තත්වය එයයි).
  • පරිමාණය සහ භ්‍රමණය වැනි රූප විරූපණයට එය ප්‍රතිරෝධී වේ, මන්දයත් එය මූලික වශයෙන් පරිමාණ සාධකය සහ භ්‍රමණ සාධකය යන සෑම සංයෝජනයක් සඳහාම ඔබේ රූපය පරීක්ෂා කරනු ඇත.
  • එය ඇල්ගොරිතම "ඉගෙන ගන්නා" මූලික ආකෘතියක් (අච්චුවක්) භාවිතා කරයි.
  • සමෝච්ඡ රූපයේ ඉතිරිව ඇති සෑම පික්සෙල් එකක්ම වෙනත් වස්තුවක් සඳහා ඡන්දය දෙනු ඇත, එය ඔබේ වස්තුවෙහි කේන්ද්‍රය (ගුරුත්වාකර්ෂණය අනුව) යැයි කියනු ලැබේ, එය ආකෘතියෙන් ඉගෙන ගත් දේ මත පදනම්ව.

අවසානයේදී, ඔබ ඡන්දයේ තාප සිතියමකින් අවසන් වේ, නිදසුනක් ලෙස මෙහි ඇති සමෝච්ඡයේ සියලුම පික්සල් එහි ගුරුත්වාකර්ෂණ මධ්‍යස්ථානයට ඡන්දය දෙනු ඇත, එබැවින් ඔබට අනුරූප වන එකම පික්සෙල් තුළම ඡන්ද විශාල ප්‍රමාණයක් ඇත. මධ්‍යයේ, සහ තාප සිතියමේ උච්චයක් පහත පරිදි පෙනෙනු ඇත:

ජීඑච්ටී

ඔබ එය ලබා ගත් පසු, සරල එළිපත්ත මත පදනම් වූ හියුරිස්ටික් මඟින් ඔබට මධ්‍ය පික්සෙල්හි පිහිටීම ලබා දිය හැකි අතර, එයින් ඔබට පරිමාණය සහ භ්‍රමණය ලබා ගත හැකි අතර ඒ වටා ඔබේ කුඩා සෘජුකෝණාස්රය සැලසුම් කළ හැකිය (අවසාන පරිමාණය සහ භ්‍රමණ සාධකය ඔබේ සාපේක්ෂ වශයෙන් සාපේක්ෂ වේ මුල් අච්චුව). න්‍යාය අනුව අවම වශයෙන් ...

ප්‍රති Results ල : දැන්, මෙම ප්‍රවේශය මූලික අවස්ථා වලදී ක්‍රියාත්මක වන අතර, සමහර ප්‍රදේශවල එය දැඩි ලෙස අඩුවී ඇත:

  • එය අතිශයින් මන්දගාමී ය ! මම මෙය ප්‍රමාණවත් ලෙස අවධාරණය නොකරමි. පරීක්ෂණ රූප 30 සැකසීමට සම්පූර්ණ දිනයක්ම පාහේ අවශ්‍ය විය, පැහැදිලිවම භ්‍රමණය හා පරිවර්තනය සඳහා මට ඉතා ඉහළ පරිමාණ සාධකයක් තිබූ නිසා, සමහර කෑන් ඉතා කුඩා බැවින්.
  • රූපයේ බෝතල් ඇති විට එය සම්පූර්ණයෙන්ම නැති වී ගිය අතර, කිසියම් හේතුවක් නිසා සෑම විටම පාහේ කෑන් වෙනුවට බෝතලය හමු විය (සමහර විට බෝතල් විශාල නිසා පික්සල් වැඩි විය, වැඩි ඡන්ද ප්‍රමාණයක්)
  • නොපැහැදිලි රූප ද එතරම් හොඳ නොවීය, මන්දයත් ඡන්දය කේන්ද්‍රය වටා අහඹු ස්ථානවල පික්සෙල් වලින් අවසන් වූ අතර එමඟින් අවසන් වූයේ ඉතා is ෝෂාකාරී තාප සිතියමකිනි.
  • පරිවර්තනයේ සහ භ්‍රමණයෙහි විචල්‍යතාවය සාක්ෂාත් කර ගත් නමුත් දිශානතියෙන් නොවේ, එයින් අදහස් වන්නේ කැමරා පරමාර්ථයට directly ජුව මුහුණ නොදෙන කෑන් එකක් හඳුනාගෙන නොමැති බවයි.

සඳහන් කර ඇති විශේෂිත ගැටළු හතර විසඳීම සඳහා තනිකරම OpenCV විශේෂාංග භාවිතා කරමින් මගේ විශේෂිත ඇල්ගොරිතම වැඩි දියුණු කිරීමට මට උදව් කළ හැකිද?

සමහර අය එයින් යමක් ඉගෙන ගනු ඇතැයි මම බලාපොරොත්තු වෙමි, සියල්ලට පසු ප්‍රශ්න අසන අය පමණක් ඉගෙන ගත යුතු යැයි මම සිතමි. :)


45
මෙම ප්‍රශ්නය dsp.stackexchange.com හෝ stats.stackexchange.com හි වඩාත් සුදුසු යැයි පැවසිය හැකි අතර, ඔබ නිසැකවම එම වෙබ් අඩවි වලින් නැවත විමසීම සලකා බැලිය යුතුය.
ely

49
මෙහිදී කළ යුතු පළමු දෙය නම් විවිධ අසාර්ථක අවස්ථා සිදුවන්නේ ඇයිද යන්න විශ්ලේෂණය කිරීමයි. උදා: බෝතල් දිනන ස්ථාන, පින්තූර නොපැහැදිලි යනාදිය සඳහා උදාහරණ හුදකලා කරන්න, සහ ඒවායේ දැඩි නිරූපණයන් සහ එය හඳුනා ගැනීමට ඔබ කැමති ස්ථාන අතර වෙනස ඉගෙන ගැනීමට සංඛ්‍යානමය විශ්ලේෂණයක් සිදු කරන්න. විකල්ප ක්රම යොදාගත වේ ගැන ඉගෙනගන්න සමහර මහා ස්ථාන මෙහි හා මෙතන
ely

7
ack ස්ටැකර් හොඳ අදහසක් ඉදිරිපත් කරයි. වේගය සඳහා ඔබට නැඹුරු ශ්‍රේණියේ හිස්ටෝග්‍රෑම් වැනි ලාභ-ගණනය කිරීමේ අංග ලබා ගැනීමට අවශ්‍යය. සැබවින්ම බොළඳ පළමු ප්‍රවේශය වනුයේ සමහර පුහුණු රූපවල කෑන් සෘජුකෝණාස්රා අතින් අතින් ලේබල් කිරීම සහ එස්.වී.එම්. පුහුණුව සඳහා වැඩි කාලයක් ගතවනු ඇත, නමුත් නව රූප ක්‍රියාත්මක කිරීම වඩා වේගවත් වනු ඇත. නිවැරදි යොමු කිරීම් ඇතුළත් කිරීමට මට වැඩි නිදහස් කාලයක් ලැබුණු විට මෙම ක්‍රමය ලිවීමට මම සැලසුම් කරමි.
ely

9
ReCAPTCHA හා සමාන ප්‍රවේශයක් ගැන කුමක් කිව හැකිද? ;)
ජෝර්ජ් ඩකට්

39
මෙය dsp.stackexchange.com වෙතින් ගෙන ගියේ ඇයි? එම වෙබ් අඩවිය ස්ටැක් ඕවර් ප්‍රවාහයට වඩා හොඳ සුදුසුකමක් වනු ඇති බව පෙනේ o_O
BlueRaja - Danny Pflughoeft

Answers:


677

විකල්ප ප්‍රවේශයක් වනුයේ පරිමාණ-වෙනස් නොවන විශේෂාංග පරිණාමනය (SIFT) හෝ ස්පීඩ් අප් රොබස්ට් විශේෂාංග (SURF) භාවිතා කරමින් විශේෂාංග (යතුරු ලකුණු) උපුටා ගැනීමයි .

එය OpenCV 2.3.1 හි ක්‍රියාත්මක වේ .

දන්නා වස්තුවක් සොයා ගැනීම සඳහා Features2D + Homography හි විශේෂාංග භාවිතා කරමින් ඔබට හොඳ කේත උදාහරණයක් සොයාගත හැකිය

ඇල්ගොරිතම දෙකම පරිමාණයට හා භ්‍රමණයට වෙනස් නොවේ. ඒවා විශේෂාංග සමඟ වැඩ කරන බැවින්, ඔබට ද අත්හිටුවීම හැසිරවිය හැකිය (ප්‍රමාණවත් යතුරු ලකුණු පෙනෙන තාක් කල්).

රූප විස්තරය මෙහි ඇතුළත් කරන්න

රූප මූලාශ්‍රය: නිබන්ධන උදාහරණය

සැකසීම SIFT සඳහා ms සිය ගණනක් ගත වේ, SURF ටිකක් වේගවත් නමුත් එය තත්‍ය කාලීන යෙදුම් සඳහා සුදුසු නොවේ. ORB වේගයෙන් භාවිතා කරයි, එය භ්‍රමණ වෙනස්වීම සම්බන්ධයෙන් දුර්වල වේ.

මුල් පත්තර


6
මම @stacker සමඟ එකඟ වෙමි - SIFT විශිෂ්ට තේරීමක්. පරිමාණ සහ භ්‍රමණ මෙහෙයුම් වලට එරෙහිව එය ඉතා ශක්තිමත් ය. එය ඉදිරිදර්ශන විරූපණයට එරෙහිව තරමක් ශක්තිමත් ය (ස්ටැකර් විසින් යෝජනා කළ පරිදි මෙය වැඩිදියුණු කළ හැකිය: අපේක්ෂිත වස්තුවෙහි විවිධ ඉදිරිදර්ශන අදහස් සහිත අච්චු දත්ත ගබඩාවක්). මගේ අත්දැකීම් අනුව එහි අචිලස්ගේ විලුඹ ශක්තිමත් ආලෝකකරණ වෙනස්කම් සහ ඉතා මිල අධික ගණනය කිරීමක් වනු ඇත. මම කිසිම ජාවා ක්‍රියාත්මක කිරීමක් ගැන දන්නේ නැහැ. මම OpenCV ක්‍රියාත්මක කිරීමක් ගැන දන්නා අතර තත්‍ය කාලීන ක්‍රියාකාරිත්වය සඳහා සුදුසු GPU c ++ / Windows ( SiftGPU ) ක්‍රියාත්මක කිරීමක් භාවිතා කර ඇත්තෙමි .

31
අනතුරු ඇඟවීමේ සටහනක්: මම SIFT / SURF වලට ආදරය කරන තරමට සහ ඔවුන් මට කර ඇති දේට පේටන්ට් බලපත්ර ලබා දී ඇත. මෙම හැකි භූගෝලීය ස්ථානය AFAIK ඇතුළු කොන්දේසි ගණනාවක් මත පදනම්ව, ගැටලුවක් විය.
ඇගෝස්

12
එබැවින් පේටන්ට් බලපත්‍ර නොමැති OpenCV හි ORB හෝ FREAK උත්සාහ කරන්න. ORB SIFT ට වඩා වේගවත් ය. ORB එය මගේ අත්දැකීම්වල පරිමාණ හා සැහැල්ලු වෙනස්කම් සහිත තරමක් දුර්වල නමුත් එය ඔබම පරීක්ෂා කරන්න.
රූයි මාර්ක්ස්

66
මෙය පිළිතුරක් ලෙස ඔබ පිළිගන්නේ කෙසේද ... කිසිදු විශේෂාංග විස්තර කරන්නෙකුට කෑන් වලින් බෝතල් වෙන්කර හඳුනාගත නොහැක .. ඔවුන් සියල්ලම වෙනස් නොවන දේශීය රටා විස්තර කරන්නන් දෙස බලයි. විශේෂාංග ගැලපීම සඳහා SIFT, SURF, ORB, FREAK යනාදිය ඔබට උදව් කළ හැකි බව මම එකඟ වෙමි .. නමුත් ඔබේ අනෙක් ප්‍රශ්න වන සිදුවීම්, බෝතල් එදිරිව කැන් වැනි දේ ගැන කුමක් කිව හැකිද? ඔබේ ගැටලුව විසඳා ඇත්නම් බොහෝ විට පළමු ප්‍රති result ලය වනු ඇත්තේ මෙම පිළිතුර පමණි.
ජී 453

11
45 G453 ඔබ හරියටම හරි! බොහෝ විට ඔහු
ෂිෆ්ට්

384

දේවල් වේගවත් කිරීම සඳහා, අත්තනෝමතික රූපයක් / වස්තුවක් සොයා ගැනීමට ඔබෙන් ඉල්ලා නොසිටින නමුත් විශේෂයෙන් කොකාකෝලා ලාංඡනය සහිත එකක් මම ලබා ගනිමි. මෙය වැදගත් වන්නේ මෙම ලාංඡනය ඉතා සුවිශේෂී වන අතර, සංඛ්‍යාත වසමේ, විශේෂයෙන් RGB හි රතු නාලිකාවේ ලාක්ෂණික, පරිමාණ-වෙනස් නොවන අත්සනක් තිබිය යුතුය. එනම්, තිරස් ස්කෑන් රේඛාවකින් (තිරස් අතට පෙලගැසී ඇති ලාංඡනය මත පුහුණු කර ඇති) රතු-සිට-සුදු-රතු යන විකල්ප රටාව ලාංඡනයේ මධ්‍යම අක්ෂය හරහා ගමන් කරන විට සුවිශේෂී “රිද්මයක්” ඇත. එම රිද්මය විවිධ පරිමාණයන් හා දිශානතියන්හි “වේගවත්” හෝ “මන්දගාමී” වනු ඇත, නමුත් සමානුපාතිකව සමාන වේ. ලාංඡනය හරහා තිරස් අතට හා සිරස් අතට සහ තවත් විකර්ණ ආකාරයෙන් ඔබට එවැනි ස්කෑන්ලයින් දුසිම් කිහිපයක් හඳුනා ගැනීමට / අර්ථ දැක්වීමට හැකිය, තරු පිපිරුම් රටාවකින්. මේවා "අත්සන ස්කෑන් රේඛා" ලෙස හඳුන්වන්න.

අත්සන ස්කෑන් රේඛාව

ඉලක්කගත රූපයේ මෙම අත්සන සෙවීම තිරස් තීරු වලින් රූපය පරිලෝකනය කිරීමේ සරල කාරණයකි. රතු නාලිකාවේ ඉහළ සංඛ්‍යාතයක් සොයා බලන්න (රතු කලාපයේ සිට සුදු පැහැයක් දක්වා ගමන් කරන බව අඟවයි), සොයාගත් පසු, පුහුණු සැසිය තුළ හඳුනාගෙන ඇති සංඛ්‍යාත රිද්මයක් අනුගමනය කරන්නේ දැයි බලන්න. තරඟයක් සොයාගත් පසු, ඔබ ස්කෑන් රේඛාවේ දිශානතිය සහ ලාංඡනයේ පිහිටීම ක්ෂණිකව දැන ගනු ඇත (පුහුණුව අතරතුර ඔබ ඒවා නිරීක්ෂණය කරන්නේ නම්), එබැවින් ලාංඡනයේ මායිම් හඳුනා ගැනීම ඉතා සුළුය.

මෙය රේඛීය-කාර්යක්ෂම ඇල්ගොරිතමයක් නොවන්නේ නම් හෝ මම පුදුම වෙමි. එය පැහැදිලිවම ඔබගේ බෝතල් කළ හැකි වෙනස්කම්වලට ආමන්ත්‍රණය නොකරයි, නමුත් අවම වශයෙන් ඔබට ඔබේ ලාංඡන තිබේ.

(යාවත්කාලීන කිරීම: බෝතල් හඳුනා ගැනීම සඳහා මම ලාංඡනයට යාබදව ඇති කෝක් (දුඹුරු ද්‍රව) - එනම් බෝතලය ඇතුළත සොයමි. නැතහොත් හිස් බෝතලයකදී මම නිතරම තොප්පියක් සොයමි . ලාංඡනයෙන් එකම මූලික හැඩය, ප්‍රමාණය සහ දුර ප්‍රමාණය සාමාන්‍යයෙන් සුදු හෝ රතු වේ. ලාංඡනයට සාපේක්ෂව තොප්පිය තිබිය යුතු color න වර්ණ ඉලිප්සාකාර හැඩයක් සොයන්න. ඇත්ත වශයෙන්ම මෝඩකමක් නොවේ, නමුත් මෙහි ඔබේ ඉලක්කය විය යුත්තේ පහසු ඒවා වේගයෙන් සොයා ගන්න .)

(මගේ රූප සැකසීමේ දින සිට වසර කිහිපයක් ගත වී ඇත, එබැවින් මම මෙම යෝජනාව ඉහළ මට්ටමේ සහ සංකල්පීයව තබා ගතිමි. මිනිස් ඇසක් ක්‍රියාත්මක වන්නේ කෙසේද යන්න හෝ අවම වශයෙන් මගේ මොළය ක්‍රියා කරන ආකාරය තරමක් දුරට ආසන්න වනු ඇතැයි මම සිතමි!)


24
එය හොඳ යෝජනාවක්, මම විශේෂයෙන් කැමතියි මෙම ඇල්ගොරිතම ඉතා වේගවත් විය යුතුය, එයට බොහෝ ව්‍යාජ නිෂේධන තිබුණත්. මගේ සැඟවුණු අරමුණු වලින් එකක් නම්, මෙම හඳුනාගැනීම තත්‍ය කාලීනව රොබෝ තාක්ෂණය සඳහා භාවිතා කිරීමයි, එවිට එය හොඳ සම්මුතියක් විය හැකිය!
චාල්ස් මෙන්ගුයි

42
ඔව්, බොහෝ තාත්වික, තථ්‍ය-ලෝක ආකෘති නිර්මාණ කාර්යයන් සඳහා දළ වශයෙන් ඇල්ගොරිතම අත්‍යවශ්‍ය බව බොහෝ විට (නිරවද්‍යතාවයෙන් සංලක්ෂිත ක්ෂේත්‍රයක) අමතක වේ. (මම මෙම සංකල්පය මත මගේ නිබන්ධනය පදනම් කර ගතිමි .) සීමිත කලාප සඳහා ඔබේ කාලය ඉල්ලා සිටින ඇල්ගොරිතම සුරකින්න (ව්‍යාජ ධනාත්මක කප්පාදු කිරීමට). මතක තබා ගන්න: රොබෝ විද්‍යාවේදී ඔබ සාමාන්‍යයෙන් තනි රූපයකට සීමා නොවේ. ජංගම රොබෝවක් යැයි උපකල්පනය කරමින්, වේගවත් ඇල්ගයකට විවිධ කෝණවලින් රූප දුසිම් ගණනක් අඩු කාලයකින් සෙවිය හැකි අතර නවීන ඇල්ගී එකක් සඳහා වැය කරන අතර ව්‍යාජ නිෂේධනයන් සැලකිය යුතු ලෙස අඩු කරයි.
kmote

29
කොකාකෝලා ලාංඡන ඉතා වේගයෙන් හඳුනා ගැනීම සඳහා තීරු කේත ස්කෑනරයකට සමාන දේ භාවිතා කිරීමේ අදහසට මා කැමතිය . +1!
Li-aung Yip

8
මෙම අවස්ථාවේ දී අත්සන් සෙවීමේ ගැටළුව නම්, අපි කෑන් එක අනෙක් පැත්තට හරවන්නේ නම්, එනම් අත්සන සැඟවීම, ඇල්ගොරිතම මගින් කෑන් හඳුනා ගැනීමට අපොහොසත් වනු ඇත.
karlphillip

34
arkarlphillip: ඔබ අත්සන සඟවා තැබුවහොත්, එනම් ලාංඡනය නම් ලාංඡනය සෙවීම මත පදනම් වූ ඕනෑම ක්‍රමයක් අසාර්ථක වනු ඇත.
Li-aung Yip

162

විනෝදජනක ගැටලුව: මම ඔබේ බෝතල් රූපය දෙස බැලූ විට එය කෑන් එකක් යැයි සිතුවෙමි. නමුත්, මිනිසෙකු ලෙස, වෙනස පැවසීමට මා කළ දෙය නම්, එය බෝතලයක් බව මම එවිට දුටුවෙමි ...

ඉතින්, කෑන් සහ බෝතල් වෙන් වෙන් වශයෙන් පැවසීමට නම්, මුලින්ම බෝතල් සඳහා ස්කෑන් කිරීම ගැන කුමක් කිව හැකිද? ඔබ එකක් සොයා ගන්නේ නම්, කෑන් සෙවීමට පෙර ලේබලය ආවරණය කරන්න.

ඔබ දැනටමත් කෑන් කරන්නේ නම් ක්‍රියාත්මක කිරීම එතරම් අපහසු නොවේ. සැබෑ අවාසිය නම් එය ඔබේ සැකසුම් කාලය දෙගුණ කිරීමයි. (නමුත් සැබෑ ලෝක යෙදුම් ගැන සිතමින්, ඔබට කෙසේ හෝ බෝතල් කිරීමට අවශ්‍ය වනු ඇත ;-)


5
ඔව්, මම ඒ ගැනත් සිතුවෙමි, නමුත් එය කිරීමට වැඩි කාලයක් නොතිබුණි. බෝතලයක් එහි ප්‍රධාන කොටස පරිමාණයෙන් කළ හැකි කෑන් මෙන් පෙනෙන බැවින් ඔබ එය හඳුනා ගන්නේ කෙසේද? මම සිතුවේ රතු ප්ලග් එක ගැනත් එය බෝතල් කළ මධ්‍යස්ථානය සමඟ පෙලගැසී ඇත්දැයි බලන්න, නමුත් එය එතරම් ශක්තිමත් බවක් නොපෙනේ.
චාල්ස් මෙන්ගුයි

42
"කොකා කෝලා" ට සමාන්තරව රතු තොප්පියක් (හෝ මුද්දක්) තිබේ නම් එය බොහෝ දුරට බෝතලයකි.
ලූකස් මැඩන්

ink ලින්කර් කෑන් සඳහා ඔබේ ඇල්ගොරිතම පුහුණු කළේ කෙසේද? ඔබට කෑන් පිළිබඳ උදාහරණ තිබේද? බෝතල් පිළිබඳ උදාහරණ සමඟ පුහුණුවීම් කරන්නේ කෙසේද?
siamii

1
මෙම ඇල්ගොරිතමයේ ශක්තිය නම් ඔබට පුහුණු කිරීමට අවශ්‍ය වන්නේ එක් අච්චුවක් පමණක් වන අතර පසුව එය වෙනත් විභව ටින් වලට ගැලපෙන පරිදි සියලු පරිවර්තනයන් අදාළ කරයි. පුහුණු කිරීම සඳහා මම මෙම අච්චුවේ ද්විමය හා සමෝච්ඡ පාදක අනුවාදයක් භාවිතා කළෙමි, එබැවින් කෑන් සහ බෝතලය අතර ඇති එකම වෙනස ප්ලග් එක වනු ඇත, නමුත් ගුරුත්වාකර්ෂණ කේන්ද්‍රය කොතැනක හෝ ඇති බැවින් එය තවත් ව්‍යාජ ධනාත්මක ප්‍රති bring ල ගෙන එනු ඇතැයි මම බිය වෙමි. හෝ බෝතලයෙන් පිටත. මම අනුමාන කිරීමට උත්සාහ කිරීම වටී. නමුත් එය මගේ සැකසුම් කාලය දෙගුණයක් වන අතර මම අ cry
න්නෙමි

7
අත්යවශ්යයෙන්ම මෙය සාධාරණ දිශාවකි. මම එය තරමක් වෙනස් ලෙස කියමි: පළමුව සියලු අපේක්ෂකයින් සොයා ගන්න, ඉන්පසු සෑම අපේක්ෂකයෙකුටම එය බෝතලයක්, කෑන් එකක් හෝ වෙනත් දෙයක්ද යන්න තීරණය කරන්න.
MSalters

131

දෙවන රූපයේ (බෝතලයේ විනිවිද පෙනෙන කලාපය සැඟවී තිබේ නම්) බෝතලයක් සහ කෑන් එකක් වෙන්කර හඳුනා ගැනීම මිනිසුන්ට පවා අපහසු නොවේද?

ඉතා කුඩා කලාපයක් හැරුණු විට ඒවා බොහෝ දුරට සමාන වේ (එනම්, කෑන් මුදුනේ පළල ටිකක් කුඩා වන අතර බෝතලයේ එතීම පුරාම පළල එකම වේ, නමුත් සුළු වෙනසක් හරිද?)

මගේ මතකයට ආ පළමු දෙය නම් රතු බෝතලය පරීක්ෂා කිරීමයි. නමුත් බෝතලය සඳහා මුදුනක් නොමැති නම් හෝ එය අර්ධ වශයෙන් සැඟවී තිබේ නම් (ඉහත සඳහන් කළ පරිදි) එය තවමත් ගැටළුවකි.

මම හිතපු දෙවෙනි කාරණය තමයි බෝතලයේ විනිවිදභාවය ගැන. රූපයක විනිවිද පෙනෙන වස්තූන් සොයා ගැනීම සඳහා OpenCV සතුව ඇත. පහත සබැඳි පරීක්ෂා කරන්න.

ඔවුන් වීදුරු හඳුනා ගන්නේ කෙතරම් නිවැරදිව දැයි බැලීමට මෙය විශේෂයෙන් බලන්න:

ඒවා ක්‍රියාත්මක කිරීමේ ප්‍රති result ලය බලන්න:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

කේ. මැක්හෙන්රි සහ ජේ. පොන්ස්, සීවීපීආර් 2006 විසින් රචිත "වීදුරු සොයා ගැනීම සඳහා භූමිතික ක්‍රියාකාරී සමෝච්ඡ රාමුවක්" යන පත්‍රය ක්‍රියාත්මක කිරීම බව ඔවුහු පවසති .

එය ඔබේ නඩුවට ටිකක් ප්‍රයෝජනවත් විය හැකි නමුත් බෝතලය පුරවා ඇත්නම් නැවත ගැටළුව පැන නගී.

ඉතින් මම හිතන්නේ මෙතැනදී, ඔබට පළමුව බෝතල්වල විනිවිද පෙනෙන සිරුරක් හෝ පාරදෘශ්‍ය වස්තූන් දෙකකට සම්බන්ධ රතු කලාපයක් සෙවිය හැකිය. (පරමාදර්ශීව වැඩ කරන විට, රූපයක් පහත පරිදි වේ.)

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දැන් ඔබට කහ කලාපය ඉවත් කළ හැකිය, එනම් බෝතලයේ ලේබලය සහ කෑන් සොයා ගැනීමට ඔබේ ඇල්ගොරිතම ධාවනය කරන්න.

කෙසේ වෙතත්, මෙම විසඳුම අනෙක් විසඳුම් මෙන් වෙනස් ගැටළු ද ඇත.

  1. එය ක්‍රියාත්මක වන්නේ ඔබේ බෝතලය හිස් නම් පමණි. එවැනි අවස්ථාවකදී, ඔබට කළු වර්ණ දෙක අතර රතු කලාපය සෙවීමට සිදුවේ (කොකාකෝලා දියර කළු නම්).
  2. විනිවිද පෙනෙන කොටසක් ආවරණය කරන්නේ නම් තවත් ගැටළුවක්.

කෙසේ වෙතත්, පින්තූරවල ඉහත ගැටළු කිසිවක් නොමැති නම්, මෙය වඩා හොඳ ක්‍රමයක් ලෙස පෙනේ.


+1 මම මේ ගැන කල්පනා කළ අතර මෙම ප්‍රවේශය ක්‍රියාත්මක කිරීමට මගේ මාර්ගය විය. කෙසේ වෙතත්, ink ලින්කර් ඔහුගේ පින්තූර සමූහය බෙදා ගත යුතු අතර එවිට අපට වඩාත් උගත් අනුමාන කිරීමට උත්සාහ කළ හැකිය.
karlphillip

ඔව් .. මම හිතන්නේ තවත් පින්තූර තිබුනේ නම් හොඳයි කියා.
අබීඩ් රහ්මාන් කේ

අප සතුව ඇත්තේ බෝතල් / කෑන් සඳහා ලේබල් පමණක් වන අතර බෝතල් කැප් හෝ විනිවිදභාවයේ වෙනත් කැපී පෙනෙන සාධක කිසිවක් හෝ ඉහළ / පහළ විය හැකිද යන්න සලකා බැලීමේදී - බෝතලයේ පළල කෑන් පළලට වඩා වෙනස් වේ.
කෙන්

බෝතලය සඳහා ලාංඡනය ඉදිරිපිට කෑන් එකක් තැබුවහොත් කුමක් කළ යුතුද?
ඇල්ගෝ රිදම්

51

මෙම ගැටලුවට ඩැරන් කුක්ගේ සහ ස්ටැකර්ගේ පිළිතුරු වලට මම ඇත්තෙන්ම කැමතියි . මම ඒ ගැන අදහස් දැක්වීමට මගේ සිතුවිලි විසි කරමින් සිටියෙමි, නමුත් මගේ ප්‍රවේශය මෙතැනින් ඉවත් නොවීමට තරම් පිළිතුරු හැඩැති බව මම විශ්වාස කරමි.

කෙටියෙන් කිවහොත්, අභ්‍යවකාශයේ නිශ්චිත ස්ථානයක කොකාකෝලා ලාංඡනයක් තිබේද යන්න තීරණය කිරීම සඳහා ඔබ ඇල්ගොරිතමයක් හඳුනාගෙන ඇත. ඔබ දැන් උත්සාහ කරන්නේ අත්තනෝමතික දිශානතියන් සහ අත්තනෝමතික පරිමාණ සාධක සඳහා, කොකා-කෝලා කෑන් වෙනත් වස්තූන්ගෙන් වෙන්කර හඳුනා ගැනීමට සුදුසු , ඒවා ඇතුළුව: බෝතල් , දැන්වීම් පුවරු , වෙළඳ දැන්වීම් සහ කොකාකෝලා උපකරණ සියල්ලම මෙම නිරූපණ ලාංඡනය හා සම්බන්ධ වේ. ඔබගේ ගැටළු ප්‍රකාශයේ මෙම අතිරේක අවස්ථා බොහොමයක් ඔබ කැඳවූයේ නැත, නමුත් ඒවා ඔබගේ ඇල්ගොරිතමයේ සාර්ථකත්වයට අත්‍යවශ්‍ය යැයි මට හැඟේ.

මෙහි රහස වන්නේ කෑන් තුළ අඩංගු විය හැකි දෘශ්‍ය ලක්ෂණ මොනවාද යන්න හෝ negative ණ අවකාශය හරහා කෑන් සඳහා නොමැති වෙනත් කෝක් නිෂ්පාදන සඳහා ඇති ලක්ෂණ මොනවාද යන්න තීරණය කිරීමයි. ඒ සඳහා, වර්තමාන ඉහළ පිළිතුර මඟින් "බෝතලය" හඳුනාගත නොහැකි නම් පමණක් "කළ හැකි" තේරීම සඳහා මූලික ප්‍රවේශයක් සටහන් කරයි, එක්කෝ බෝතල් තොප්පිය, දියර හෝ වෙනත් සමාන දෘශ්‍ය සුවපහසුවක් තිබීමෙනි.

ගැටලුව වන්නේ මෙය බිඳ වැටීමයි. උදාහරණයක් ලෙස බෝතලයක් හිස් විය හැකි අතර තොප්පිය නොමැති වීම ව්‍යාජ ධනාත්මක තත්ත්වයකට මඟ පාදයි. නැතහොත්, එය අතිරේක අංගයන්ගෙන් යුත් අර්ධ බෝතලයක් විය හැකි අතර එය නැවත ව්‍යාජ හඳුනා ගැනීමකට මග පාදයි. මෙය අලංකාර නොවන බවත් අපගේ අරමුණු සඳහා එය effective ලදායී නොවන බවත් අමුතුවෙන් කිව යුතු නැත.

මේ සඳහා, කෑන් සඳහා වඩාත් නිවැරදි තේරීම් නිර්ණායක පහත දැක්වේ:

  • ඔබේ ප්‍රශ්නයේ සටහන් කර ඇති පරිදි සිල්වට් වස්තුවෙහි හැඩය නිවැරදි ද? එසේ නම් +1.
  • ස්වාභාවික හෝ කෘතිම ආලෝකය පවතින බව අපි උපකල්පනය කරන්නේ නම්, මෙය ඇලුමිනියම් වලින් සාදා ඇත්දැයි ඇඟවුම් කරන බෝතලයට ක්‍රෝම් දළ සටහනක් අප හඳුනා ගන්නේද? එසේ නම් +1.
  • අපගේ ආලෝක ප්‍රභවයන්ට සාපේක්ෂව ( ආලෝක ප්‍රභව හඳුනාගැනීම පිළිබඳ නිදර්ශන වීඩියෝ සබැඳිය ) වස්තුවෙහි සමපේක්ෂන ගුණාංග නිවැරදි බව අපි තීරණය කරමු ද ? එසේ නම් +1.
  • ලාංඡනයේ භූලක්ෂණාත්මක රූප වක්‍රය, වස්තුවෙහි දිශානතිය, වස්තුවෙහි විස්ථාපනය (නිදසුනක් ලෙස, තලීය පෘෂ් on යක් ඇතුළුව), නමුත් ඒවාට පමණක් සීමා නොවූ වස්තුව පිළිබඳ වෙනත් ගුණාංග අපට තීරණය කළ හැකිද? වගුවක් වැනි හෝ වෙනත් කෑන් වල සන්දර්භය තුළ), සහ අදින්න පටිත්තක් තිබේද? එසේ නම්, එක් එක් සඳහා, +1.

එවිට ඔබේ වර්ගීකරණය පහත පරිදි විය හැකිය:

  • සෑම අපේක්ෂක තරඟයක් සඳහාම, කොකාකෝලා ලාංඡනයක් තිබීම අනාවරණය වුවහොත් අළු පැහැති මායිමක් අඳින්න.
  • +2 ට වැඩි සෑම තරඟයක් සඳහාම, රතු මායිමක් අඳින්න.

දෘශ්‍යමය වශයෙන් පරිශීලකයාට අනාවරණය වූ දේ ඉස්මතු කරයි, දුර්වල ධනාත්මක බව අවධාරණය කරමින් නිවැරදිව මැන්ගල් කෑන් ලෙස හඳුනාගත හැකිය.

එක් එක් දේපල අනාවරණය කර ගැනීම බෙහෙවින් වෙනස් කාලයක් හා අවකාශයේ සංකීර්ණතාවයක් ඇති අතර, සෑම ප්‍රවේශයක් සඳහාම, http://dsp.stackexchange.com හරහා ඉක්මන් ගමන් කිරීම ඔබේ අරමුණු සඳහා වඩාත් නිවැරදි හා කාර්යක්ෂම ඇල්ගොරිතම තීරණය කිරීම සඳහා සාධාරණ නොවේ. මෙහි මගේ අභිප්‍රාය තනිකරම හා සරලව අවධාරණය කිරීම අපේක්ෂකයා හඳුනා ගැනීමේ අවකාශයේ කුඩා කොටසක් අවලංගු කිරීමෙන් යමක් කළ හැකි දැයි හඳුනා ගැනීම මෙම ගැටලුවට වඩාත්ම ශක්තිමත් හෝ solution ලදායී විසඳුම නොවන අතර ඉතා මැනවින් ඔබ සුදුසු ක්‍රියාමාර්ග ගත යුතුය අනුව.

ඒයි, හැකර් ප්‍රවෘත්ති පළ කිරීම ගැන සුභ පැතුම් ! සමස්තයක් වශයෙන් ගත් කල, මෙය ලැබුණු ප්‍රසිද්ධියට වටින ඉතා භයානක ප්‍රශ්නයකි. :)


2
එය සිත්ගන්නාසුලු ප්‍රවේශයක් වන අතර එය අවම වශයෙන් උත්සාහ කිරීම වටී, ගැටලුව පිළිබඳ ඔබේ තර්කයට මම ඇත්තෙන්ම කැමතියි
චාල්ස් මෙන්ගුයි

මෙය මා සිතූ ආකාරයේ ය: විශේෂිත ව්‍යාජ ධනාත්මක කරුණු බැහැර නොකරන්න. කෝක් එකක් කළ හැකි දේ පිළිබඳ තවත් විශේෂාංග පාලනය කරන්න. නමුත් මම කල්පනා කරමි: දැල්ලන් කෑන් ගැන ඔබ කරන්නේ කුමක්ද? මම කිව්වේ, ඔබ කෝක් එකක් මතට ගියොත් එය තවමත් කෝක් කෑන් එකක් විය හැකියි. නමුත් එයට තවදුරටත් එකම හැඩයක් නොතිබෙනු ඇත. නැත්නම් එම ගැටළුව AI- සම්පුර්ණද?
ඉයන්

41

හැඩය දෙස බලයි

කෑන් / බෝතලයේ රතු කොටසේ හැඩය දෙස බලන්න. බෝතල් ලේබලය කෙළින්ම ඇති නමුත් ඉහළින් මඳක් තට්ටු කළ හැකි ආකාරය සැලකිල්ලට ගන්න. රතු කොටසේ පළල එහි දිග හරහා සංසන්දනය කිරීමෙන් ඔබට මේ දෙක අතර වෙනස හඳුනාගත හැකිය.

කැපී පෙනෙන අවස්ථා දෙස බැලීම

බෝතල් සහ කෑන් අතර වෙනස හඳුනාගත හැකි එක් ක්‍රමයක් වන්නේ ද්‍රව්‍යයයි. බෝතලයක් ප්ලාස්ටික් වලින් සාදා ඇති අතර කෑන් එකක් ඇලුමිනියම් ලෝහයෙන් සාදා ඇත. ප්‍රමාණවත් ලෙස ආලෝකමත් වූ අවස්ථාවන්හිදී, සමපේක්ෂනය දෙස බැලීම කෑන් ලේබලයකින් බෝතල් ලේබලයක් පැවසීමේ එක් ක්‍රමයක් වනු ඇත.

මට කිව හැකි තාක් දුරට, ලේබල් වර්ග දෙක අතර වෙනස මිනිසෙකු පවසන්නේ එලෙස ය. ආලෝකකරණ තත්වයන් දුර්වල නම්, කෙසේ හෝ දෙක වෙන්කර හඳුනා ගැනීමේදී යම් අවිනිශ්චිතතාවයක් ඇති වේ. එවැනි අවස්ථාවකදී, විනිවිද පෙනෙන / පාරභාසක බෝතලය තිබීම ඔබට හඳුනාගත හැකිය.


මම අදහසට කැමතියි, නමුත් ඔබට හොඳ ආලෝකකරණ තත්වයන් අවශ්‍ය බව පෙනේ. උදාහරණ රූපයේ කෑන් සහ බෝතලය යන දෙකම ඇති අතර මෙය වෙනස හඳුනා ගැනීම තරමක් අපහසු බව පෙනේ.
චාල්ස් මෙන්ගුයි

ඔබේ උදාහරණයේ දී, ප්ලාස්ටික් ලේබලය සඳහා වන සමපේක්ෂනය කෑන් එකේ ඇති දීප්තිමත් ලප වලට වඩා බෙහෙවින් විසිරී ඇති අයුරු සැලකිල්ලට ගන්න. ඔබට පැවසිය හැක්කේ එයයි.
tskuzzy

ඔබේ ඇල්ගොරිතමයේ සමපේක්ෂනය ග්‍රහණය කර ගැනීමට ඔබ මේ අවස්ථාවේ දී භාවිතා කරන්නේ කුමන ආකාරයේ වර්ණ අවකාශ නිරූපණයද? RGB හෝ HSV
චාල්ස් මෙන්ගුයි

3
කෑන් පිටුපස ආලෝක ප්‍රභවයක් ඇත්නම් කුමක් කළ යුතුද? මම හිතන්නේ ඔබ උද්දීපනය නොදකිනු ඇත.
රූයි මාර්ක්ස්

37

කරුණාකර Zdenek Kalal ගේ Predator tracker එක බලන්න . එයට යම් පුහුණුවක් අවශ්‍ය වේ, නමුත් ලුහුබැඳ ඇති වස්තුව විවිධ දිශානතියන් හා පරිමාණයන් දෙස බලන ආකාරය සහ එය තත්‍ය කාලීනව කරන්නේ කෙසේද යන්න සක්‍රියව ඉගෙන ගත හැකිය!

ප්‍රභව කේතය ඔහුගේ වෙබ් අඩවියෙන් ලබා ගත හැකිය. එය MATLAB හි ඇත , නමුත් සමහර විට ප්‍රජා සාමාජිකයෙකු විසින් දැනටමත් ජාවා ක්‍රියාත්මක කිරීමක් කර තිබේ. මම සී # හි ටීඑල්ඩී හි ට්‍රැකර් කොටස සාර්ථකව නැවත ක්‍රියාත්මක කර ඇත්තෙමි. මට නිවැරදිව මතක නම්, ටීඑල්ඩී විසින් ෆර්න්ස් යතුරුපුවරු අනාවරකය ලෙස භාවිතා කරයි. වස්තුව ට්‍රැකර් විසින් නැතිවී ඇත්නම් එය නැවත ලබා ගැනීම සඳහා මම ඒ වෙනුවට SURF හෝ SIFT භාවිතා කරමි (දැනටමත් @stacker විසින් යෝජනා කර ඇත). ට්රැකර්ගේ ප්රතිපෝෂණය කාලයත් සමඟ ඉතා ඉහළ නිරවද්යතාවයකින් වස්තුව නැවත ලබා ගැනීමට හැකි වන පරිදි ගතික / සර්ෆ් සැකිලි වල ගතික ලැයිස්තුවක් තැනීම පහසු කරයි.

මගේ C # ට්රැකර් ක්රියාත්මක කිරීම ගැන ඔබ කැමති නම්, විමසීමට නිදහස් වන්න.


සිත්ගන්නාසුලු පෙනුමක් ඇති සබැඳියට ස්තූතියි. පුහුණුව සම්බන්ධයෙන්, සාධාරණ ප්‍රති results ල ලබා ගැනීම සඳහා සාධාරණ වන පුහුණු කට්ටලයේ ප්‍රමාණය කුමක්ද? ඔබට c # හි පවා ක්‍රියාත්මක කිරීමක් තිබේ නම් එයද ඉතා ප්‍රයෝජනවත් වනු ඇත!
චාල්ස් මෙන්ගුයි

ටීඑල්ඩී පිළිබඳ පර්යේෂණ කරන අතරතුර, සී # ක්‍රියාත්මක කිරීමක් සොයන තවත් පරිශීලකයෙකු මට හමු විය --- ඔබේ වැඩ කටයුතු ගිතුබ් වෙත නොයැවීමට හේතුවක් තිබේද? stackoverflow.com/questions/29436719/…
spillner

2
එන්බී අවුරුදු, පසුව, සබැඳිය දැන් මිය ගොස් ඇත
ජේ එවාන්ස්

33

ඔබගේ එක් සීමාවකින් තොර කැමරාවකට පමණක් ඔබ සීමා නොවන්නේ නම්, ඔබට Xbox Kinect වැනි පරාස සංවේදකයක් භාවිතා කිරීමට හැකිය . මේ සමඟ ඔබට රූපයේ ගැඹුර සහ වර්ණ මත පදනම් වූ ගැලපීම් සිදු කළ හැකිය. රූපයේ ඇති වස්තූන් වේගයෙන් වෙන් කිරීමට මෙය ඉඩ දෙයි. ඔබට පසුව ICP ගැලපීම හෝ ඒ හා සමාන ශිල්පීය ක්‍රම භාවිතා කර එහි හැඩයට ගැලපෙන පරිදි එහි දළ සටහන හෝ වර්ණය පමණක් ලබා ගත හැකි අතර එය සිලින්ඩරාකාර බව සලකන විට ඔබට ඉලක්කයේ පෙර ත්‍රිමාණ ස්කෑන් පරීක්ෂණයක් තිබේ නම් ඕනෑම දිශානතියකට මෙය වලංගු විකල්පයක් විය හැකිය. මෙම ක්‍රමෝපායන් බොහෝ විට ඉක්මන් වන අතර විශේෂයෙන් ඔබේ වේගය පිළිබඳ ගැටළුව විසඳිය යුතු එවැනි නිශ්චිත අරමුණක් සඳහා භාවිතා කරන විට.

එසේම මට යෝජනා කළ හැක්කේ, නිරවද්‍යතාව හෝ වේගය සඳහා නොව විනෝදය සඳහා ඔබේ වර්ණ ඛණ්ඩයේ රූපය මත පුහුණු ස්නායුක ජාලයක් භාවිතා කර කෑන් වල හැඩය හඳුනා ගැනීමයි. මේවා ඉතා වේගවත් වන අතර බොහෝ විට 80/90% දක්වා නිවැරදි විය හැකිය. එක් එක් රූපයේ ඇති කෑන් එක ඔබ අතින් හඳුනාගත යුතු බැවින් පුහුණුව ටිකක් දිගු ක්‍රියාවලියක් වනු ඇත.


3
ඇත්ත වශයෙන්ම මම එය තනතුරේ විස්තර කර නැත, නමුත් මෙම පැවරුම සඳහා මට දළ වශයෙන් රූප 30 ක කට්ටලයක් ලබා දී ඇති අතර විස්තර කර ඇති පරිදි විවිධ අවස්ථාවන්හිදී ඒවා සියල්ලටම ගැලපෙන ඇල්ගොරිතමයක් කිරීමට මට සිදු විය. ඇත්ත වශයෙන්ම සමහර පින්තූර අවසානයේ ඇල්ගොරිතම පරීක්ෂා කිරීම සඳහා තබා ඇත. නමුත් මම Kinect සංවේදක පිළිබඳ අදහසට කැමතියි, මාතෘකාව පිළිබඳ වැඩිදුර කියවීමට මම කැමතියි!
චාල්ස් මෙන්ගුයි

තෘප්තිමත් ප්‍රති results ල ලබා ගැනීම සඳහා ස්නායුක ජාලයක් සමඟ ඇති පුහුණු කට්ටලයේ ප්‍රමාණය දළ වශයෙන් කුමක් වේද? මෙම ක්‍රමවේදය සමඟ ඇති හොඳ දෙය නම් සෑම දෙයක්ම පාහේ ගැලපීමට මට අවශ්‍ය වන්නේ එක් අච්චුවක් පමණි.
චාල්ස් මෙන්ගුයි

2
ඔබගේ පින්තූර සමූහය පූර්ව නිශ්චිත හා සීමිත නම්, ඔබේ
ප්‍රෝග්‍රෑම් එකෙහි පරිපූර්ණ ප්‍රති results ල ලබා දෙන්න

ඔව්, මම දත්ත කට්ටලය මත පුහුණු කළහොත් මම ඇල්ගොරිතම ක්‍රියාත්මක කිරීමට යන්නේ නම්, මට හොඳ ප්‍රති results ල ලැබෙනු ඇතැයි විශ්වාසයි :) නමුත් උදාහරණයක් ලෙස මෙම පැවරුම සඳහා, වැඩසටහන අවසානයේදී ගුරුවරයා විසින් අත්හදා බැලූ පින්තූර කට්ටලයක් මත පරීක්ෂා කරන ලදී. . පුහුණු දත්ත වලට නොගැලපෙන ශක්තිමත් හා ශක්තිමත් යමක් කිරීමට මම කැමතියි.
චාල්ස් මෙන්ගුයි

පුහුණු කට්ටල ගණන වෙනස් වේ, ඔබ කරුණු කිහිපයක් ගැන සැලකිලිමත් විය යුතුය: දුම්රියෙන් එහාට යන්න එපා, ඔබේ නිරවද්‍යතාවය යන්නේ කෙසේදැයි පෙන්වීමට ඔබට පරීක්ෂණ කට්ටලයක් අවශ්‍ය විය හැකිය. පුහුණු කට්ටල ගණන ඔබ භාවිතා කරන ස්ථර ගණන මත රඳා පවතී.
ෆැන්ටාස්ටික් මිස්ටර් ෆොක්ස්

24

මම රතු සෘජුකෝණාස්රා හඳුනා ගනිමි: RGB -> HSV, පෙරණය රතු -> ද්විමය රූපය, වසා දමන්න (ඩයිලට් පසුව ඛාදනය, imcloseමැට්ලැබ් ලෙස හැඳින්වේ )

ඉන්පසු විශාලතම සිට කුඩාම දක්වා සෘජුකෝණාස්රා හරහා බලන්න. දන්නා ස්ථානයක / පරිමාණයක කුඩා සෘජුකෝණාස්රා ඇති සෘජුකෝණාස්රා දෙකම ඉවත් කළ හැකිය (බෝතල් අනුපාතය නියත යැයි උපකල්පනය කළහොත් කුඩා සෘජුකෝණාස්රය බෝතල් තොප්පිය වනු ඇත).

මෙය ඔබට රතු සෘජුකෝණාස්රා තබනු ඇත, එවිට ඔබට ලාංඡන රතු සෘජුකෝණාස්රයක් හෝ කෝක් කෑන් එකක් දැයි දැන ගැනීමට අවශ්‍ය වේ. OCR වගේ, නමුත් දන්නා ලාංඡනයක් සමඟ?


2
ඩීඑස්පී ගෙන යන ලද කෙටි කාලය තුළ මෙය සාකච්ඡා කරනු ලැබුවාක් මෙන්, සමහර බෝතල්වල ප්ලග් නොමැති විය හැක;) හෝ ප්ලග් අර්ධ වශයෙන් සැඟවිය හැක.
චාල්ස් මෙන්ගුයි

22

මෙය ඉතා බොළඳ අදහසක් විය හැකිය (හෝ කිසිසේත් ක්‍රියා නොකරනු ඇත), නමුත් සියලු කෝක් කෑන් වල මානයන් සවි කර ඇත. එකම රූපයේ කෑන් සහ බෝතලයක් යන දෙකම තිබේ නම් ඔබට ඒවා ප්‍රමාණාත්මකව සලකා බැලිය හැකිය (බෝතල් විශාල වනු ඇත). දැන් ගැඹුර නැතිවීම නිසා (එනම් ත්‍රිමාණ සිතියම්කරණය 2D සිතියම්ගත කිරීම) බෝතලයක් හැකිලී ඇති බවක් පෙනෙන්නට ඇති අතර ප්‍රමාණයේ වෙනසක් නොමැත. ඔබට ස්ටීරියෝ-ඉමේජිං භාවිතයෙන් යම් ගැඹුරු තොරතුරු ලබා ගත හැකි අතර පසුව මුල් ප්‍රමාණය නැවත ලබා ගත හැකිය.


3
ඇත්ත වශයෙන්ම නැත: ප්‍රමාණයට හෝ දිශානතියට කිසිදු බාධාවක් නොමැත (හෝ දිශානතිය නමුත් මම එය ඇත්ත වශයෙන්ම හසුරුවා නැත), එබැවින් ඔබට පසුබිමේ බෝතලයක් බොහෝ දුරට තිබිය හැකි අතර පෙරබිමෙහි කෑන් එකක් තිබිය හැකි අතර එය විශාල විය හැකිය බෝතලයට වඩා.
චාල්ස් මෙන්ගුයි

පළල සහ උස අනුපාතය බෝතලය හා සමාන බව මම පරීක්ෂා කර ඇත්තෙමි, එබැවින් එය ඇත්තෙන්ම විකල්පයක් නොවේ.
චාල්ස් මෙන්ගුයි

ලේබල් අනුපාතය (එය වෙළඳ ලකුණක් වීම) සමාන වේ. (විශාල) බෝතලය පින්තූරයේ මදක් away තින් තිබේ නම්, එහි ප්‍රමාණය හරියටම කෑන් එකට සමාන වේ.
littleadv

3
තව ටිකක් පැහැදිලි කරන්න. කෑන් z = 0 හා බෝතලය z = -100 වේ යැයි සිතමු. බෝතලය බොහෝ පිටුපසින් ඇති බැවින් එය කුඩා වනු ඇත. නමුත් බෝතලය z = -100 හා z = 0 විය හැකි බව මා දන්නේ නම්, දෙකම z = 0 ලෙස පරිවර්තනය කර ඇත්නම්, කෑන් / බෝතලයේ අපේක්ෂිත ප්‍රමාණය ගණනය කළ හැකිය. දැන් ඒවා එකම ගැඹුරක පවතින බැවින් ප්‍රමාණය අනුව මට තීරණ ගත හැකිය.
ෂරද්

2
මෙය හුදෙක් අදහස් දැක්වීමක් මිස පිළිතුරක් නොවේ, නමුත් එය ඡන්ද 120 ක් සහිත ඉහත අදහස් දැක්වීමට වඩා පිළිතුරක් වීමට වඩා සමීප ය.
ෆැට්ටි

22

හ්ම්, මම ඇත්ත වශයෙන්ම සිතන්නේ මම යම් දෙයකට සම්බන්ධ වී ඇති බවයි (මෙය මෙතෙක් පැවති වඩාත්ම සිත්ගන්නාසුලු ප්‍රශ්නය හා සමානයි - එබැවින් පිළිගත හැකි එකක් සොයාගෙන ඇතත් “පරිපූර්ණ” පිළිතුර සොයා ගැනීමට නොකඩවා ලැජ්ජාවට පත්වේ) .. .

ඔබ ලාංඡනය සොයාගත් පසු, ඔබේ කරදර අඩක් අවසන් වේ. එවිට ඔබට කළ යුත්තේ ලාංඡනය වටා ඇති දේ අතර ඇති වෙනස්කම් පමණි . මීට අමතරව, අපට අවශ්‍ය වන්නේ හැකි තරම් සුළු ප්‍රමාණයක් කිරීමට ය. මම හිතන්නේ මෙය සැබවින්ම මෙම පහසු කොටසයි ...

දේ වන්නේ ලාංඡනය පමණ? කෑන් එකක් සඳහා, අපට ලෝහ දැකිය හැකිය, එය ආලෝකකරණයේ බලපෑම් තිබියදීත්, එහි මූලික වර්ණයෙන් කිසිවක් වෙනස් නොවේ. ලේබලයේ කෝණය අප දන්නා තාක් කල්, ඊට ඉහළින් ඇති දේ අපට පැවසිය හැකිය, එබැවින් අපි මේවා අතර වෙනස දෙස බලමු:

මෙන්න, ලාංඡනයට ඉහළින් සහ පහළින් ඇති දේ සම්පූර්ණයෙන්ම අඳුරු, ස්ථාවර වර්ණයෙන් යුක්ත වේ. ඒ සම්බන්ධයෙන් සාපේක්ෂව පහසුය.

මෙන්න, ඉහළින් සහ පහළින් ඇත්තේ සැහැල්ලු ය, නමුත් තවමත් වර්ණයෙන් අනුකූල වේ. එය සියලු රිදී, සහ සියලු රිදී ලෝහ ඇත්තෙන්ම දුර්ලභ මෙන්ම සාමාන්‍යයෙන් රිදී වර්ණ මෙන් පෙනේ. මීට අමතරව, එය තුනී පෙත්තක ඇති අතර දැනටමත් හඳුනාගෙන ඇති රතු පැහැයට ආසන්නව ඇති බැවින් කෑන්හි ලෝහ වළල්ල ලෙස සැලකිය හැකි ප්‍රමාණයෙන් ප්‍රතිශතයක් ගණනය කිරීම සඳහා එහි සම්පූර්ණ දිග සඳහා එහි හැඩය සොයාගත හැකිය. ඇත්ත වශයෙන්ම, ඔබට අවශ්‍ය වන්නේ එහි ඕනෑම කොටසක් කෑන් එකේ ඕනෑම තැනක පැවසීමටය, නමුත් එය තවමත් ලෝහයක් සහිත හිස් බෝතලයක් පමණක් නොවන බව සහතික කරන ශේෂයක් සොයා ගත යුතුය.

අවසාන වශයෙන්, උපායශීලී එකක්. නමුත් එතරම් උපක්‍රමශීලී නොවේ, වරක් අපි යන්නේ රතු එතීමට ඉහළින් (සහ පහළින්) අපට පෙනෙන දෙයින් පමණි. එහි විනිවිද පෙනෙන, එයින් අදහස් කරන්නේ එය පිටුපස ඇති ඕනෑම දෙයක් පෙන්වනු ඇති බවයි. එය හොඳයි, මන්ද එහි පිටුපස ඇති දේවල් කෑන්හි රිදී රවුම් ලෝහය තරම් වර්ණයෙන් නොගැලපේ. එය පිටුපස විවිධ දේ තිබිය හැකිය, එය හිස් (හෝ පැහැදිලි ද්‍රවයකින් පුරවා ඇති) බෝතලයක් හෝ ස්ථාවර වර්ණයක් බව අපට කියනු ඇත, එයින් අදහස් කරන්නේ එය දියරයෙන් පිරී ඇති බව හෝ බෝතලය හුදෙක් a ඉදිරිපිට ඇති බවයි. color න වර්ණය. අපි වැඩ කරන්නේ ඉහළ සහ පහළට ආසන්නතම දේ සමඟ වන අතර නිවැරදි වර්ණ නිවැරදි ස්ථානයේ තිබීමේ සම්භාවිතාව සාපේක්ෂව සිහින් ය. අපි දන්නවා එය බෝතලයක්, එයට කෑන් එකේ ප්‍රධාන දෘශ්‍ය අංගයක් නොමැති නිසා,

(අන්තිම එක හිස් කොකා කෝලා බෝතලයක් මට සොයා ගත හැකි හොඳම දේ විය. සිත්ගන්නාසුලු කරුණක් වන්නේ තොප්පිය සහ මුද්ද කහ පැහැය, එයින් ඇඟවෙන්නේ තොප්පියේ රතු පැහැය රඳා නොපවතින බවයි)

බෝතලය පිටුපස සමාන රිදී සෙවනක් ඇති දුර්ලභ අවස්ථාවන්හිදී, ප්ලාස්ටික් වියුක්ත කිරීමෙන් පසුව හෝ බෝතලය කෙසේ හෝ එකම රිදී ද්‍රවයකින් පිරී තිබේ නම්, අපට දළ වශයෙන් තක්සේරු කළ හැකි දේ වෙත ආපසු යා හැකිය. රිදී හැඩය - මා සඳහන් කළ පරිදි එය රවුම් වන අතර කෑන් වල හැඩය අනුගමනය කරයි. නමුත් රූප සැකසුම් පිළිබඳ මට යම් දැනුමක් නොතිබුණද එය මන්දගාමී බවක් පෙනේ. වඩා හොඳ, ලාංඡනයේ දෙපැත්තෙන්ම වරක් පරීක්ෂා කර බලා එකම රිදී වර්ණයක් එහි නොමැති බව සහතික කර ගත යුත්තේ ඇයි? ආහ්, නමුත් කෑන් එකක් පිටුපස රිදී සෙවනක් තිබේ නම් කුමක් කළ යුතුද? එවිට, හැඩතල කෙරෙහි වැඩි අවධානයක් යොමු කළ යුතු අතර, කෑන් එකේ ඉහළ සහ පහළ දෙස නැවත බලන්නෙමු.

මේ සියල්ල කෙතරම් දෝෂ රහිතද යන්න මත පදනම්ව, එය ඉතා මන්දගාමී විය හැකිය, නමුත් මගේ මූලික සංකල්පය වන්නේ පහසුම හා සමීපතම දේ පළමුව පරීක්ෂා කිරීමයි. අනෙක් මූලද්‍රව්‍යවල හැඩය සකස් කිරීමේ උත්සාහයට යාමට පෙර දැනටමත් ගැලපෙන හැඩය වටා වර්ණ වෙනස්කම් අනුව යන්න (කෙසේ වෙතත් මෙහි වඩාත්ම සුළු කොටස ලෙස පෙනේ). එය ලැයිස්තු ගත කිරීම සඳහා, එය යන්නේ:

  • ප්‍රධාන ආකර්ෂණය සොයා ගන්න (රතු ලාංඡන පසුබිම සහ දිශානතිය සඳහා ලාංඡනයම විය හැකිය, කෑන් එක හැරී ගියද, ඔබ රතු පැහැයට පමණක් අවධානය යොමු කළ යුතුය)
  • හැඩය සහ දිශානතිය සත්‍යාපනය කරන්න, නමුත් නැවතත් ඉතා සුවිශේෂී රතු පැහැය හරහා
  • හැඩය වටා වර්ණ පරීක්ෂා කරන්න (එය ඉක්මන් හා වේදනා රහිත බැවින්)
  • අවසාන වශයෙන්, අවශ්‍ය නම්, නිවැරදි වටකුරු බව සඳහා ප්‍රධාන ආකර්ෂණය වටා එම වර්ණවල හැඩය සත්‍යාපනය කරන්න.

ඔබට මෙය කළ නොහැකි අවස්ථාවක, එයින් අදහස් කරන්නේ කෑන් එකේ ඉහළ සහ පහළ ආවරණය වන අතර, කෑන් සහ බෝතලය අතර වෙනස විශ්වාසදායක ලෙස හඳුනා ගැනීමට මිනිසෙකුට භාවිතා කළ හැකි එකම දෙය වන්නේ සිදුවීම සහ පරාවර්තනයයි විය හැකි බවට වන දමද්දී, ක බොහෝ ක්රියාවලියට අමාරු සටන. කෙසේ වෙතත්, තවත් ඉදිරියට යාමට, අනෙක් පිළිතුරු වල සඳහන් අර්ධ පාරදෘශ්‍ය පරිලෝකන ක්‍රම භාවිතා කරමින් ඔබට බෝතල් වැනි ගති ලක්ෂණ පරීක්ෂා කිරීම සඳහා කෑන් / බෝතලයේ කෝණය අනුගමනය කළ හැකිය.

සිත්ගන්නාසුළු අතිරේක බියකරු සිහිනවලට බෝතලය පිටුපස එතරම් පහසුවෙන් වාඩි වී සිටිය හැකි අතර එහි ලෝහය ලේබලයට ඉහළින් හා පහළින් පෙන්වනු ඇත, ඔබ රතු පාට දිග දිගේ පරිලෝකනය කරන තාක් කල් එය අසාර්ථක වනු ඇත. ලේබලය - එය ඇත්ත වශයෙන්ම වඩා ගැටළුවක් වන්නේ ඔබ සතුව ඇති කෑන් එකක් හඳුනා නොගැනීම නිසා, ඔබ ඇත්ත වශයෙන්ම බෝතලයක් හඳුනා ගන්නේ යැයි සිතීමට වඩා, අහම්බෙන් කෑන් ද ඇතුළුව ය. වීදුරුව අඩක් හිස් ය, එවැනි අවස්ථාවක!


වියාචනය කිරීමක් ලෙස, මෙම ප්‍රශ්නයට පිටතින් රූප සැකසීම පිළිබඳ මට කිසිදු අත්දැකීමක් හෝ සිතුවේ නැත, නමුත් එය කෙතරම් සිත්ගන්නාසුළු ද යත්, ඒ පිළිබඳව මා ගැඹුරින් සිතා බැලීමට එය හේතු වූ අතර අනෙක් සියලුම පිළිතුරු කියවීමෙන් පසු මෙය විය හැකි යැයි මම සලකමි එය සිදු කිරීමට පහසුම හා වඩාත්ම කාර්යක්ෂම ක්‍රමය. පෞද්ගලිකව, මම නැහැ පමණක් සතුටු වෙනවා ඇත්තටම මේ වැඩසටහන් ගැන හිතන්න!

සංස්කරණය කරන්න

එම්එස් තීන්තවල කෑන් එකක් නරක ලෙස ඇඳීම මීට අමතරව, මම එම්එස් පේන්ට් හි කළ මෙම චිත්‍රය දෙස බලන්න ... එය ඇත්තෙන්ම භයානක හා තරමක් අසම්පූර්ණයි, නමුත් හැඩය සහ වර්ණ මත පමණක් පදනම්ව, එය කුමක් විය හැකිදැයි ඔබට අනුමාන කළ හැකිය. සාරාංශයක් ලෙස, ස්කෑන් කිරීම සඳහා යමෙකුට කරදර විය යුතු එකම දේ මේවාය. එම සුවිශේෂී හැඩය සහ වර්ණ සංයෝජනය එතරම් සමීපව බැලූ විට, එය තවත් කුමක් විය හැකිද? මා තීන්ත ආලේප නොකළ, සුදු පසුබිම, “නොගැලපෙන කිසිවක්” ලෙස සැලකිය යුතුය. එයට විනිවිද පෙනෙන පසුබිමක් තිබේ නම්, එය වෙනත් ඕනෑම රූපයකට වඩා ඉහළින් යා හැකි අතර ඔබට එය තවමත් දැක ගත හැකිය.


11
රතු පැහැයේ විශේෂිත සෙවන බොහෝ දුරට ආත්මීය වන අතර ආලෝකකරණ සලකා බැලීම් සහ සුදු සමබරතාව කෙරෙහි දැඩි ලෙස බලපෑම් කරයි. ඒවා කොතරම් වෙනස් විය හැකිදැයි ඔබ පුදුමයට පත් විය හැකිය. උදාහරණයක් ලෙස, මෙම චෙක්බෝඩ් මායාව සලකා බලන්න .
ඔක්ටපස්

2
: @Octopus පල වන ලින්ක් යාවත්කාලීන persci.mit.edu/gallery/checkershadow
Hat

සංජානන මායාවක් ඔබගේ වෙබ් කැමරාව දකින දේට බලපාන්නේ නැත - එනම් ඔබේ කේතයට ලැබෙන දේ - මිනිස් ඇසක් උදව් කරන්නේ කෙසේද (?) මොළය රවටන්නේ කෙසේද යන්න පමණි.
බාර්නි

17

මම OpenCV ගැන නොදන්නා නමුත් තර්කානුකූලව ගැටලුව දෙස බලන විට මම සිතන්නේ ඔබට බෝතලය සහ හැකි දේ අතර වෙනස හඳුනාගත හැකි බවයි. ඔබ සොයන රූපය වෙනස් කිරීමෙන් එනම් කොකා කෝලා. කොකා කෝලා මුදුනේ රිදී රේඛාවක් ඇති අතර බෝතලයකදී එවැනි රිදී රේඛාවක් නොතිබිය හැකි පරිදි කෑන් එකේ ඉහළ කොටස තෙක් ඔබ සංස්ථාගත කළ යුතුය.

නමුත් පැහැදිලිවම මෙම ඇල්ගොරිතම කෑන් මුදුනේ සැඟවී ඇති අවස්ථාවන්හිදී අසමත් වනු ඇත, නමුත් එවැනි අවස්ථාවකදී මිනිසාට පවා මේ දෙක අතර වෙනස හඳුනාගත නොහැකි වනු ඇත (බෝතලයේ / කෑන් වල කොකාකෝලා කොටස පමණක් දැකිය හැකි නම්)


1
මට එකම සිතුවිල්ලක් තිබුනි, නමුත් පින්තූරයේ ඇති කෑන් කෝණය අනුව කෑන් මුදුනේ ඇති රිදී රේඛාව නාටකාකාර ලෙස වෙනස් විය හැකිය. එය සරල රේඛාවක් හෝ රවුමක් විය හැකිය. සමහර විට ඔහුට මේ දෙකම යොමු කිරීමක් ලෙස භාවිතා කළ හැකිද?
ඇලෙක්සිස් ඩුෆ්රෙනෝයි

15

මම අභියෝගයට කැමතියි, පිළිතුරක් දීමට අවශ්‍ය වූ අතර එය ගැටළුව විසඳයි, මම සිතමි.

  1. ලාංඡනයේ විශේෂාංග (යතුරුපුවරු, SIFT, SURF වැනි විස්තර) උපුටා ගන්න
  2. ලාංඡනයේ ආදර්ශ රූපයක් සමඟ ලකුණු ගලපන්න (තිරිසන් බලය වැනි මැචර් භාවිතා කරමින්)
  3. දෘඩ ශරීරයේ ඛණ්ඩාංක තක්සේරු කරන්න (PnP ගැටළුව - SolvePnP)
  4. දෘඩ ශරීරයට අනුව කැප් ස්ථානය තක්සේරු කරන්න
  5. පසු-ප්‍රක්ෂේපණය කර බෝතලයේ තොප්පියේ පික්සල් පිහිටීම (ROI) ගණනය කරන්න (කැමරාවේ සහජ පරාමිතීන් ඔබ සතුව ඇතැයි මම සිතමි)
  6. තොප්පිය තිබේද නැද්ද යන්න ක්‍රමයක් සමඟ පරීක්ෂා කරන්න. එතන නම්, මේ බෝතලයයි

තොප්පිය හඳුනා ගැනීම තවත් ගැටළුවකි. එය සංකීර්ණ හෝ සරල විය හැකිය. මම ඔබ නම්, සරල තීරණයක් සඳහා මම ROI හි වර්ණ රූප සටහන පරීක්ෂා කරමි.

කරුණාකර, මම වැරදියි නම් ප්‍රතිපෝෂණය දෙන්න. ස්තූතියි.


14

මෙම ප්‍රශ්නයට පිළිතුරු දීමට වසර කිහිපයක් ප්‍රමාදයි. පසුගිය වසර 5 තුළ සීඑන්එන් විසින් නවීනතම තත්වය එහි සීමාවන්ට තල්ලු කිරීමත් සමඟ මම දැන් මෙම කාර්යය කිරීමට OpenCV භාවිතා නොකරමි! ( මම ඔබට විශේෂයෙන් OpenCv ප්රශ්නය ලක්ෂණ අවශ්ය දන්නවා ) මම එවැනි වේගවත්-RCNNs ලෙස ගණිත ක්රමයක් වස්තුව හඳුනා දැනෙනවා, YOLO, SSD ආදිය OpenCV සාපේක්ෂව සැලකිය යුතු ඉඩක් සමග වන මේ ප්රශ්නය ace ඇත දක්වයි. මම දැන් මෙම ගැටළුව විසඳා ගැනීමට නම් (අවුරුදු 6 කට පසු !!) මම අනිවාර්යයෙන්ම වේගවත්-ආර්සීඑන්එන් භාවිතා කරමි .


5
OP පැවසුවේ අධි-රෙස් රූප 30 ක් ඇති අතර එය බොහෝ විට ConvNets පුහුණු කිරීම සඳහා හොඳම අවස්ථාව නොවන බවයි. ඒවා ඉතා ස්වල්පයක් පමණක් නොව (වැඩි දියුණු කර ඇත), ඉහළ-රෙස් කොටස කොන්ව්නෙට්ස් විනාශ කරයි.
කොස්ටාස් මොරතිඩිස්

11

ඔබගේ ප්‍රශ්නයට එය මාතෘකාවෙන් බැහැරද නැද්ද යන්න නොසලකා මම කැමතියි: පී

සිත්ගන්නා සුළු පැත්තක්; මම රොබෝ තාක්ෂණය සහ පරිගණක දැක්ම ආවරණය වන පරිදි මගේ උපාධියේ විෂයයක් සම්පූර්ණ කර ඇත්තෙමි. අපගේ අධ්‍යයන වාරය සඳහා ඔබ කළ ව්‍යාපෘතියට ඇදහිය නොහැකි තරම් සමාන විය.

විවිධාකාර ආලෝකකරණ සහ පාරිසරික තත්ත්වයන් යටතේ ඕනෑම දිශානතියකට කෝක් බෝතල් සහ කෑන් හඳුනා ගැනීමට එක්ස්බොක්ස් කිනෙක්ට් භාවිතා කරන රොබෝවක් අපට දියුණු කිරීමට සිදුවිය. අපගේ විසඳුම හියු නාලිකාවේ බෑන්ඩ් පාස් ෆිල්ටරයක් ​​භාවිතා කරමින් හූ රවුමේ පරිණාමනය සමඟ සම්බන්ධ වේ. අපට පරිසරය මඳක් සීමා කිරීමට හැකි විය (අපට රොබෝ සහ කිනෙක්ට් සංවේදකය ස්ථානගත කළ යුත්තේ කොතැනද සහ කෙසේද යන්න තෝරා ගත හැකිය), එසේ නොමැතිනම් අපි SIFT හෝ SURF පරිණාමන භාවිතා කිරීමට ගියෙමු.

මාතෘකාව පිළිබඳ මගේ බ්ලොග් සටහනේ අපගේ ප්‍රවේශය ගැන ඔබට කියවිය හැකිය :)


2
සිත්ගන්නාසුලු ව්‍යාපෘතියක් නමුත් එය අදාළ වන්නේ ඔබගේ විශේෂිත සැකසුමකට පමණි.
රූයි මාර්ක්ස්

11

ගැඹුරු ඉගෙනීම

අවම වශයෙන් කෝලා කෑන් අඩංගු පින්තූර සිය ගණනක් එක්රැස් කරන්න, ඒවා වටා ඇති මායිම් පෙට්ටිය ධනාත්මක පංති ලෙස විවරණය කරන්න, කෝලා බෝතල් සහ වෙනත් කෝලා නිෂ්පාදන ඒවාට negative ණ පන්ති මෙන්ම අහඹු වස්තු ලෙස ලේබල් කරන්න.

ඔබ ඉතා විශාල දත්ත කට්ටලයක් එකතු නොකරන්නේ නම්, කුඩා දත්ත කට්ටලය සඳහා ගැඹුරු ඉගෙනුම් අංග භාවිතා කිරීමේ උපක්‍රමය කරන්න. ගැඹුරු ස්නායුක දැල් සහිත ආධාරක දෛශික යන්ත්‍ර (SVM) සංයෝජනයක් ඉතා මැනවින් භාවිතා කිරීම.

ඔබ කලින් පුහුණු කළ ගැඹුරු ඉගෙනුම් ආකෘතියකට (උදා: ගූගල්නෙට්) රූප පෝෂණය කළ පසු, වර්ගීකරණයන් සිදු කිරීම සඳහා ස්නායුක ජාලයේ තීරණ (අවසාන) ස්තරය භාවිතා කරනවා වෙනුවට, ඔබේ වර්ගීකරනය පුහුණු කිරීම සඳහා පෙර ස්ථර (ය) දත්ත විශේෂාංග ලෙස භාවිතා කරන්න.

OpenCV සහ Google Net: http://docs.opencv.org/trunk/d5/de7/tutorial_dnn_googlenet.html

OpenCV සහ SVM: http://docs.opencv.org/2.4/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html


10

වස්තූන් හඳුනා ගැනීම සඳහා භාවිතා කරන වර්ණ විස්තර පොකුරක් ඇත, පහත කඩදාසි ඒවා බොහෝ සංසන්දනය කරයි. SIFT හෝ SURF සමඟ සංයෝජනය වන විට ඒවා විශේෂයෙන් බලවත් වේ. කොකා කෝලා රූපයේ SURF හෝ SIFT පමණක් එතරම් ප්‍රයෝජනවත් නොවේ, මන්ද ඔවුන් බොහෝ උනන්දුවක් දක්වන ස්ථාන හඳුනා නොගන්නා නිසා, ඔබට උදව් කිරීමට වර්ණ තොරතුරු අවශ්‍ය වේ. මම ව්‍යාපෘතියක SURF සමඟ BIC (දේශසීමා / අභ්‍යන්තර පික්සල් ක්ලැසි ation කැටායනය) භාවිතා කරන අතර වස්තූන් හඳුනා ගැනීමට එය බෙහෙවින් ඉවහල් විය.

වෙබ් රූප ලබා ගැනීම සඳහා වර්ණ විස්තර කරන්නන්: සංසන්දනාත්මක අධ්‍යයනයක්


10

අත්දැකීම් වලින් organ න්ද්‍රීයව වර්ගීකරණ නිරවද්‍යතාවය ඉගෙන ගෙන වැඩි දියුණු කරන වැඩසටහනක් ඔබට අවශ්‍යය.

මම ගැඹුරු ඉගෙනීම යෝජනා කරමි, ගැඹුරු ඉගෙනීමත් සමඟ මෙය සුළු ප්‍රශ්නයක් බවට පත්වේ.

ආරම්භක v3 මාදිලිය Tensorflow හි නැවත පුහුණු කළ හැකිය:

නව කාණ්ඩ සඳහා ආරම්භයේ අවසාන ස්ථරය නැවත ලබා ගන්නේ කෙසේද .

මෙම අවස්ථාවෙහිදී, ඔබ වස්තුවක් කොකාකෝලාට කළ හැකි හෝ නොකළ හැකි ලෙස වර්ගීකරණය කිරීම සඳහා සම්මුති ස්නායුක ජාලයක් පුහුණු කරනු ඇත.


2
හොට් ඩෝග් ද නැත්නම් හොට් ඩෝග් ද?
යෙලෝපිලෝ

6

මෙම සියලු හොඳ විසඳුම් වලට විකල්පයක් ලෙස, ඔබට ඔබේම වර්ගීකරණයක් පුහුණු කර ඔබගේ යෙදුම දෝෂ වලට ශක්තිමත් කළ හැකිය. උදාහරණයක් ලෙස, ඔබට හාර් පුහුණුව භාවිතා කළ හැකිය , ඔබේ ඉලක්කයේ ධනාත්මක හා negative ණාත්මක රූප හොඳ සංඛ්‍යාවක් සපයයි.

කෑන් පමණක් නිස්සාරණය කිරීම ප්‍රයෝජනවත් විය හැකි අතර විනිවිද පෙනෙන වස්තූන් හඳුනා ගැනීම සමඟ ඒකාබද්ධ කළ හැකිය.


3

MVTec වෙතින් HALCON නමින් පරිගණක දර්ශන පැකේජයක් ඇත, එහි නිරූපණයන් මඟින් ඔබට හොඳ ඇල්ගොරිතම අදහස් ලබා දිය හැකිය. ඔබේ ගැටළුවට සමාන උදාහරණ ඕනෑ තරම් තිබේ, ඔබට ඩිමෝ මාදිලියේ ධාවනය කළ හැකි අතර පසුව කේතයේ ක්‍රියාකරුවන් දෙස බලා ඒවා දැනට පවතින OpenCV ක්‍රියාකරුවන්ගෙන් ක්‍රියාත්මක කරන්නේ කෙසේදැයි බලන්න.

මෙවැනි ගැටළු සඳහා සංකීර්ණ ඇල්ගොරිතම ඉක්මනින් මූලාකෘතිකරණය කිරීමට සහ පවතින OpenCV විශේෂාංග භාවිතයෙන් ඒවා ක්‍රියාත්මක කරන්නේ කෙසේදැයි සොයා ගැනීමට මම මෙම පැකේජය භාවිතා කර ඇත්තෙමි. ඔබේ නඩුව සඳහා විශේෂයෙන් ඔබට OpenCV තුළ ක්‍රියාත්මක කිරීමට උත්සාහ කළ හැකිය . ක්‍රියාකරු තුළ ඇති ක්‍රියාකාරිත්වය find_scaled_shape_model . සමහර ක්‍රියාකරුවන් ඇල්ගොරිතම ක්‍රියාත්මක කිරීම පිළිබඳ විද්‍යාත්මක පත්‍රිකාව වෙත යොමු කරන අතර එය OpenCV හි සමාන දෙයක් කරන්නේ කෙසේදැයි සොයා ගැනීමට උපකාරී වේ. මෙය උපකාරී වේ යැයි සිතමු ...


0

ඔබ එය තථ්‍ය කාලීන වීම ගැන උනන්දුවක් දක්වන්නේ නම්, ඔබට අවශ්‍ය වන්නේ බර වැඩ දේවල් සමඟ පරිලෝකනය කරන්නේ කුමක් දැයි තීරණය කිරීම සඳහා පෙර සැකසුම් පෙරණයක් එක් කිරීමයි. කොකාකෝලා වීමට වැඩි ඉඩක් ඇති දේවල් පරිලෝකනය කිරීමට ඉඩ සලසන හොඳ වේගවත්, තථ්‍ය කාල, පෙර සැකසුම් පෙරණයක් මෙයට වඩා වැඩි නම්, මෙවැනි දෙයක්: විශාලතම පැච් සඳහා රූපය සොයන්න sqrt(pow(red,2) + pow(blue,2) + pow(green,2))ඔබේ කොකාකෝලා කෑන් වලින් ඉවතට ඉවසා දරා සිටින වර්ණ . ඉතා දැඩි වර්ණ ඉවසීමකින් ආරම්භ කර වඩාත් සැහැල්ලු වර්ණ ඉවසීම දක්වා ඔබේ මාර්ගය සකසන්න. වත්මන් රාමුව සැකසීම සඳහා ඔබේ රොබෝවරයාට නියමිත කාලය ඉක්මවා ගිය විට, එය ඔබගේ අරමුණු සඳහා දැනට සොයාගෙන ඇති බෝතල් භාවිතා කරයි. RGB වර්ණ sqrt(pow(red,2) + pow(blue,2) + pow(green,2))නිවැරදිව ලබා ගැනීම සඳහා ඔබට ඒවා වෙනස් කිරීමට සිදුවන බව කරුණාවෙන් සලකන්න .

එසේම, මෙය ගොළු බවක් පෙනේ, නමුත් -oFastඔබ ඔබේ සී කේතය සම්පාදනය කරන විට සම්පාදක ප්‍රශස්තිකරණය සක්‍රීය කිරීමට වග බලා ගත්තාද?


0

සමහර විට අවුරුදු බොහෝ ප්‍රමාද වැඩිය, නමුත් ඒ කෙසේ වෙතත් උත්සාහ කිරීමට න්‍යායක්.

රතු ලාංඡන කලාපයේ මායිම් සෘජුකෝණාස්රයේ අනුපාතය බෝතලයේ / මානයේ සමස්ත මානයට වෙනස් වේ. කෑන් සම්බන්ධයෙන් ගත් කල, 1: 1 විය යුතු අතර, බෝතලයේ (තොප්පිය සමඟ හෝ නැතිව) වෙනස් වේ. මෙය දෙක අතර වෙනස හඳුනා ගැනීම පහසු කළ යුතුය.

යාවත්කාලීන කිරීම: ලාංඡන කලාපයේ තිරස් වක්‍රය ඒවායේ ප්‍රමාණයේ වෙනස නිසා කෑන් සහ බෝතල් අතර වෙනස් වේ. ඔබේ රොබෝවරයාට කෑන් / බෝතලය ගැනීමට අවශ්‍ය නම් මෙය විශේෂයෙන් ප්‍රයෝජනවත් විය හැකි අතර, ඒ අනුව ඔබ ග්‍රහණය තීරණය කරයි.


-1

මා සොයන පළමු දේ වන්නේ වර්ණය - රතු වැනි, රූපයක රතු අක්ෂි හඳුනාගැනීමේදී - හඳුනා ගැනීමට නිශ්චිත වර්ණ පරාසයක් ඇත, අවට ප්‍රදේශය සලකා බැලීමේදී ඒ පිළිබඳ සමහර ලක්ෂණ සහ අනෙක් ඇසට වඩා දුරින් නම් ඇත්ත වශයෙන්ම රූපයේ දැකිය හැකිය.

1: පළමු ලක්ෂණය වර්ණය වන අතර රතු ඉතා ප්‍රමුඛ වේ. කොකාකෝලා රතු හඳුනාගැනීමෙන් පසු උනන්දුවක් දක්වන අයිතම කිහිපයක් තිබේ 1A: මෙම රතු ප්‍රදේශය කොතරම් විශාලද (සත්‍ය කෑන් එකක් තීරණය කිරීමට එය ප්‍රමාණවත්ද - නැත - පික්සල් 10 ක් ප්‍රමාණවත් නොවේ), 1 බී: එහි අඩංගුද? ලේබලයේ වර්ණය - "කොකාකෝලා" හෝ තරංග. 1B1: එය ලේබලයක් බවට ඉහළ සම්භාවිතාවක් සලකා බැලීමට ප්‍රමාණවත්ද?

අයිතමය 1 යනු කෙටි කප්පාදුවකි - රූපයේ එම ඩෝ ස්නොට් තිබේ නම් පූර්ව ක්‍රියාවලිය - ඉදිරියට යන්න.

ඉතින් එය එසේ නම් මට මගේ රූපයේ එම කොටස භාවිතා කර ප්‍රශ්නයට ලක්ව ඇති ප්‍රදේශයෙන් වැඩි විශාල ප්‍රමාණයක් බැලීමට පටන් ගත හැකිය - මූලික වශයෙන් අවට කලාපය / දාර දෙස බලන්න ...

2: ඉහත රූපරාමු ප්‍රදේශය ID 1 හි දක්වා ඇති පරිදි - සැක සහිත අයිතමයේ අවට ස්ථාන [දාර] සත්‍යාපනය කරන්න. පිළිතුර: ඉහළට හෝ පහළට - රිදී ලෙස පෙනෙන දේ තිබේද? B: බෝතලයක් විනිවිද පෙනෙන බවක් පෙනෙන්නට තිබුණත් වීදුරු මේසයක් - වීදුරු මේසයක් / රාක්කයක් හෝ විනිවිද පෙනෙන ප්‍රදේශයක් තිබේද - එසේ නම් පිටතට යා හැකි බහුවිධ ප්‍රමාණයක් තිබේ. බෝතල් මයිට් එකක රතු තොප්පියක් තිබේ, එය එසේ නොවිය හැක, නමුත් එයට බෝතලයේ ඉහළ / නූල් ඉස්කුරුප්පු වල හැඩය හෝ තොප්පියක් තිබිය යුතුය. C: මෙය A සහ ​​B අසමත් වුව ද එය තවමත් අර්ධ-අර්ධ විය හැකිය .. මෙය අර්ධ වශයෙන් ගත් විට මෙය වඩාත් සංකීර්ණ වන්නේ අර්ධ බෝතලයක් / අර්ධයක් සමාන විය හැකි නිසා රතු කලාප දාරය මැනීමේ තවත් සැකසුම් කුඩා බෝතලය ප්‍රමාණයෙන් සමාන විය හැකිය ..

3: ඉහත විශ්ලේෂණයෙන් පසුව, මම අකුරු හා තරංග ලාංඡනය දෙස බලන විට - වචනවල ඇති සමහර අකුරු සඳහා මගේ සෙවීම දිශානතියට පත් කළ හැකි නිසා, ඔබට සියල්ලම නොමැති නිසා ඔබට සියලුම පා have නොමැති විය හැක. හැකි නම්, තරංගය යම් යම් අවස්ථාවලදී පෙළට පෙළ ගැසෙනු ඇත (දුර අනුව) මට එම සම්භාවිතාව සෙවීමට සහ x දුරින් තරංගයේ එම ස්ථානයේ තිබිය යුතු අකුරු මොනවාදැයි දැන ගැනීමට මට හැකි විය.


-9

මෙය මා වැඩ කළ පැරණි ව්‍යාපෘතියකි. ජාවාස්ක්‍රිප්ට් සමඟ MAP රූප භාවිතා කිරීම ඉතා පහසුය. මම ඔබට වස්තුව ඉදිරිපත් කරමි, ඔබ එය කියවා එය භාවිතා කරන්නේ කෙසේදැයි දනී. MAP රූප භාවිතා කිරීමට අපට JQuery සහ වෙනත් පද්ධති අවශ්‍ය නොවේ.

    //Copyright Cherif yahiaoui, by ELEBAN.FR

//variables de flottement.
var myInstOne = null;
var globalize = null;

var eleban_preload_images = function (name, imgs, url){
try{
    var oThis = this;
    this.images = new Array();
    this.imageshover = new Array();
    this.imagesNames = new Array(imgs.split(";"));


        for(var i=0; i < this.imagesNames[0].length; i++){
            this.images[i] = new Image();
            this.imageshover[i] = new Image();
        }

    this.url = url;

    this.GetAbsoluteurl = function () {

    var img = new Image(); img.src = url;
    url = img.src; img = null; 
        this.url = url; 

    };

    this.Preload = function () {

        for(var i=0; i < this.imagesNames[0].length; i++){
            this.images[i].src = this.url+("btn-"+this.imagesNames[0][i]+".png");
            this.imageshover[i].src = this.url+("btn-"+this.imagesNames[0][i]+"-hover.png");
        }

    };
    this.GetAbsoluteurl();
    this.Preload();
}
finally {return;}
}

var g_preloaderhover = new eleban_preload_images("loaderhover","menu;malette;reservation;cabine;facebook;map;amis","./images/");


//variable arret flottement
var g_stopflo = false;

var myObjfloater = function(name, idname, itop, differ ) {
var oThis = this; // création d'une référence vers l'objet courant
this.name = name;
this.id =idname;
this.xstep= 0.3;
this.itime = 30;
this.obj = null;
this.y = itop;
this.yadd = 0;
this.up = true;
this.pause = false;
this.differ = differ;
this.coordsimage = null;
this.objimg = null;
this.initimages = false;
this.compteur = 0;
this.over = false;
this.timeoutstop = null;
try{
this.initimage = function(){
var img = this.obj.getElementsByTagName('img')[0];
this.coordsimage = new Array(img.width, img.height);
this.objimg = img;
this.initimages = true;
};


this.myMethod = function() {
if(!g_stopflo){
    if(this.differ != 0){ 
this.differ=this.differ-0.1; 
}else{

if(this.obj){
if(this.over == false){
    this.yadd=this.yadd+0.1; this.itime = this.itime + 10;
this.obj.style.visibility = "hidden";
this.y = ((this.up)? this.y - this.yadd : this.y + this.yadd);
this.obj.style.marginTop = this.y +"%" ;
this.obj.style.visibility = "visible";

if (this.yadd > this.xstep){ 
    this.up = (this.up)? false : true;
    this.yadd = -0.1; this.itime=180;
}
}
}else{
    if (document){
        if(document.getElementById) {
         this.obj = document.getElementById(this.id); 
        //this.y = this.obj.offsetTop;
        }else{
        if(document.getElementByTagName) { this.obj = document.getElementByTagName(this.id); this.y = this.obj.offsetTop;}
        }

    }
}
}
this.timeoutstop=setTimeout(function() { oThis.myMethod(); }, this.itime);
}    
};

this.callDelayed = function() {
    // utilisation de la référence vers l'objet
if(!g_stopflo){
    this.timeoutstop=setTimeout(function() { oThis.myMethod(); }, this.itime);
}
};
}
finally {return;}
};

// special creation des zones AREA
function eleban_createallarea(){
try{
var measur = new Array("w", "h");
measur["w"] = new Array(330,570,185,300,115,390,225);
measur["h"] = new Array(460,570,295,450,100,190,115);
var ititle = new Array("Voir les menus  et nos suggestions","Repas &agrave; emporter","R&eacute;servation d&rsquo;une table","Nous contacter","Nous rejoindre sur FaceBook","Calculer votre trajet","liste des amis");
var ihref = new Array("menus.html","emporter.html","reservation.html","contact.html","likebox.html","google.html","amis.html");
var b_map = new Array(0,1,2,3,4,5,6);
b_map[0] = "71,32,240,32,249,43,289,352,280,366,102,385,90,371,51,38";
b_map[1] = "66,52,95,14,129,56,115,91,100,93,112,273,128,284,122,366,176,343,193,296,191,194,147,189,145,166,201,111,199,84,545,105,532,354,509,388,412,478,32,401,77,383,87,375,82,286,95,269,94,221,24,195,11,165,9,120,89,123,89,94,78,92,77,92,77,93,75,93,77,93,76,93,79,92";
b_map[2] = "19,25,169,38,173,112,161,113,105,103,90,125,91,262,121,269,124,281,96,293,62,289,49,281,56,268,83,264,84,121,71,98,16,90";
b_map[3] = "60,0,216,1,226,20,225,403,168,421,42,410,45,10";
b_map[4] = "31,7,72,10,82,18,88,45,88,71,76,81,29,80,17,68,16,18";
b_map[5] = "91,40,141,38,178,27,184,4,211,5,223,24,240,23,386,135,229,121,103,180,6,156,49,94";
b_map[6] = "6,32,69,18,79,6,118,7,141,2,149,10,211,17,202,28,209,30,189,62,195,70,178,74,180,90,164,90,154,107,68,101,34,104,34,98,18,97,28,84,15,84,30,65";

if (document.getElementById){
for (var i=0; i<b_map.length;i++){
var obj = document.getElementById("pc_menu"+i);
    if(obj){
    var ct = '<img class=\"pc_menu\" src=\"'+g_preloaderhover.images[i].src+'\" alt=\"\" width=\"'+measur["w"][i]+'\" height=\"'+measur["h"][i]+'\" usemap=\"#MAP_INDEX'+i+'\" \/>';
    ct+='<map name=\"MAP_INDEX'+i+'\">';
    ct+='<area shape=\"poly\" coords=\"'+b_map[i]+'\" title=\"'+ititle[i]+'\" href=\"'+ihref[i]+'\" \/>';
    ct+='<\/map>';
    obj.innerHTML = ct;
    }
}
}
}
finally {return;}
}

//preload, creation et gestion de tous les evenements


var image_resizer = function(g_layer){


    b_org_elm = new Array("w",  "h");
    b_org_elm["w"] = new Array(330,570,185,300,115,390,225);
    b_org_elm["h"] = new Array(460,570,295,450,100,190,115);

    b_map = new Array(0,1,2,3,4,5,6);
    b_map[0] = new Array(71,32,240,32,249,43,289,352,280,366,102,385,90,371,51,38);
    b_map[1] = new Array(66,52,95,14,129,56,115,91,100,93,112,273,128,284,122,366,176,343,193,296,191,194,147,189,145,166,201,111,199,84,545,105,532,354,509,388,412,478,32,401,77,383,87,375,82,286,95,269,94,221,24,195,11,165,9,120,89,123,89,94,78,92,77,92,77,93,75,93,77,93,76,93,79,92);
    b_map[2] = new Array(19,25,169,38,173,112,161,113,105,103,90,125,91,262,121,269,124,281,96,293,62,289,49,281,56,268,83,264,84,121,71,98,16,90);
    b_map[3] = new Array(60,0,216,1,226,20,225,403,168,421,42,410,45,10);
    b_map[4] = new Array(31,6,70,10,78,18,84,23,88,44,88,70,78,80,75,81,33,82,23,76,18,69,16,22,21,13);
    b_map[5] = new Array(91,40,141,38,178,27,184,4,211,5,223,24,240,23,386,135,229,121,103,180,6,156,49,94);
    b_map[6] = new Array(6,32,69,18,79,6,118,7,141,2,149,10,211,17,202,28,209,30,189,62,195,70,178,74,180,90,164,90,154,107,68,101,34,104,34,98,18,97,28,84,15,84,30,65);


    b_layer = g_layer;

//gere mouseover
    this.mouseover = function(e){
        if (!e) var e = window.event;
        var tg = (window.event) ? e.srcElement : e.target
            if (tg.nodeName){
                if(tg.nodeName == "AREA"){
                var divpar = (tg.parentNode)? tg.parentNode.parentNode : tg.parentElement.parentElement;
                    if (divpar){
                        if(divpar.nodeName == "DIV"){
                            var iiobjimg = divpar.getElementsByTagName('img');
                                if (iiobjimg){
                                    ii = parseInt(divpar.id.substring(divpar.id.length-1,divpar.id.length));
                                    iiobjimg[0].src = g_preloaderhover.imageshover[ii].src;
                                }
                        }
                    }
                }
            }
    };

//gere mouseout
    this.mouseout = function(e){
        if (!e) var e = window.event;
        tg = (window.event) ? e.srcElement : e.target
            if (tg.nodeName){
                if(tg.nodeName == "AREA"){
                divpar = (tg.parentNode)? tg.parentNode.parentNode : tg.parentElement.parentElement;
                    if (divpar){
                        if(divpar.nodeName == "DIV"){
                            var iiobjimg = divpar.getElementsByTagName('img');
                                if (iiobjimg){
                                    ii = parseInt(divpar.id.substring(divpar.id.length-1,divpar.id.length));
                                    iiobjimg[0].src = g_preloaderhover.images[ii].src;
                                }
                        }
                    }
                }
            }
    };

//ajout evenements entree sortie à la page web lors du chargement de la page
    this.init = function () {

        for(var i=0; i<b_org_elm["w"].length;i++){
            w = document.getElementById("pc_menu"+i).offsetWidth;
            h = document.getElementById("pc_menu"+i).offsetHeight;

            xa = w/parseFloat(b_org_elm["w"][i]);
            ya = h/parseFloat(b_org_elm["h"][i]);

            area = document.getElementById("pc_menu"+i).getElementsByTagName('area')[0];

            b_map2 = area.coords.split(",");
            yswitch = true;
                for(m=0; m<b_map2.length;m++){
                b_map2[m] = Math.round(parseFloat(b_map[i][m]) * ((yswitch)? xa: ya));
                yswitch = (yswitch)? false :  true;
                }
            area.coords = b_map2.join(',');
        }
    }; 


    this.resize = function () {
    clearTimeout(myInstOne.timeoutstop);
    g_stopflo=true;

    globalize.init();
    g_stopflo=false;
    myInstOne.obj = null;
    myInstOne.callDelayed();
    };


    nar = document.getElementsByTagName('area').length;

        for(var i=0; i<nar;i++){
            var elem = document.getElementsByTagName('area')[i];
            if (elem.addEventListener){
                    elem.addEventListener("onmouseover",this.mouseover,true);
                elem.addEventListener("onmouseout",this.mouseout,true);
            }else if (elem.attachEvent) {
                    elem.attachEvent("onmouseover", this.mouseover);
                    elem.attachEvent("onmouseout", this.mouseout);
            }else{
                    elem["onmouseover"] = this.mouseover;
                    elem["onmouseout"] = this.mouseout;
            }
        }

            window.onresize = this.resize;
        window.onmouseover = this.mouseover;
        window.onmouseout = this.mouseout;
}


//permet de temporiser et éviter les erreurs de chargement des objets
function temporise_Init(Lastdiv){
if(document.getElementById){
    if(document.getElementById(Lastdiv)){

    eleban_createallarea();

    myInstOne = new myObjfloater('b_menumap11', 'pc_menu1', 1, 0);

    globalize = new image_resizer(document.getElementById('pc_redim'));
    globalize.init();
        globalize.resize();



    }else{
    setTimeout(temporise_Init(Lastdiv), 30);
    }
}
}


window.onload = function () {
temporise_Init("pc_bandeau");
}

5
මෙය කරන්නේ කුමක්ද?
user8408080
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.