

ããã«ã¡ã¯ãHabrïŒ
11æ2æ¥ã«ãç¡æã®ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã©ã€ãã©ãªã§ããOpenCVã®æ°ããããŒãžã§ã³ããªãªãŒã¹ãããããšããç¥ããããŸãã ãã®æçš¿ã¯Itseezã§åããŠããã©ã€ãã©ãªéçºè ã«ãã£ãŠæžãããŸãã ã 以åã®ããŒãžã§ã³ä»¥éã®äž»ãªã€ãããŒã·ã§ã³ããªã¹ãããŸããããããã®å€ãã泚ç®ã«å€ããŸãïŒæ°ããã¢ã«ãŽãªãºã ãæ¢åã®ã¢ã«ãŽãªãºã ã®é«éåãæ°ãããã©ãããã©ãŒã ã®ãµããŒããéçºããã»ã¹ã®æŽæ°ãçµ±åãšãã¹ããããã³æŽæ°ãããããã¥ã¡ã³ãã ãªãªãŒã¹ã®æºåäžã«ããã©ãã«ãŒäžã®210ãè¶ ããã¿ã¹ã¯ïŒ hackathon ã ãªãªãŒã¹åè£ ã ãªãªãŒã¹ ïŒãéããããŸããïŒãããããã°ä¿®æ£ãæ¢åã®æ©èœã®æ¡åŒµã
ãããããŸãæåã«ã
WebãªãœãŒã¹
OpenCVã¯ã€ãã«ã€ã³ã¿ãŒãããäžã®opencv.orgã«ç¬èªã®ããŒã ãæã«å ¥ããŸããã ãã®ãµã€ãã§ã¯ãã©ã€ãã©ãªã®åç¶æéäžã®ææ°ã®ã€ãã³ããæ€çŽ¢ããããã«é¢é£ããä»ã®ãã¹ãŠã®WebãªãœãŒã¹ãžã®ãªã³ã¯ãèŠã€ããããšãã§ããŸãã ãã¥ãŒã¹ãèªåçã«è³Œèªããã«ã¯ãå ¬éRSSãã£ãŒããŸãã¯twitterã䜿çšã§ããŸãã
ã©ã€ãã©ãªéçºè åãã®ããå°éçãªæ å ±ã¯ã ChiliProjectã«åºã¥ããŠäœæãããcode.opencv.org Webãµã€ãã«éäžããŠããŸãã ããã§ã¯ãã©ã€ãã©ãªã®æ¬¡ã®ãªãªãŒã¹ã®ã¹ã±ãžã¥ãŒã«ã«é¢ããæ å ±ããŸãã¯æ¯é±ã®ããŒãã£ã³ã°äžã«éçºè ãäžãã決å®ã«é¢ããæ å ±ããã¹ãŠèŠã€ããããšãã§ããŸãã æ å ±ã¯Wikiã¢ãŒãã§äœæããã³ç·šéããããããã»ãšãã©ã®å Žåæãé¢é£æ§ãé«ããªããŸãã ãŸããã¡ã€ã³ã®git OpenCVãªããžããªã¯ããã«ãããŸãïŒãã ããgithubã§ãã©ãŒã䜿çšããããšããå§ãããŸãã詳现ã¯ä»¥äžãåç §ããŠãã ããïŒããã³ãã°ãã©ãã«ãŒã ãããã£ãŠãã©ã€ãã©ãªã®äœ¿çšã§åé¡ãçºçããå Žåã¯ããã®ãªãœãŒã¹ãéããŠé æ ®ãªããç¥ãããã ããã
ãŸããæè¿ã§ã¯ããŠãŒã¶ãŒãµããŒããç®çãšããå¥ã®ãµã€ããéèšããŸããã ããã¯ãOpenCVãšã³ã³ãã¥ãŒã¿ãŒããžã§ã³å šè¬ã®åé¡ã解決ããããã®StackOverflowã¹ã¿ã€ã«ã®ãã©ãŒã©ã ã§ãã çãæŽå²ã«ããããããããã®ãªãœãŒã¹ã«ã€ããŠã¯ãã§ã«1,000以äžã®è³ªåãè°è«ãããŠããŸãã
ææ°ã®ãªãªãŒã¹ããŒãžã§ã³ã«å¿ èŠãªãã¹ãŠã®æ å ±ãå«ãŸããŠããã©ã€ãã©ãªã®ãªã³ã©ã€ã³ããã¥ã¡ã³ãããããµã€ããå¿ããªãã§ãã ããã
çµ±åãã«ãã¹ã¬ããã®ãµããŒã
ããŸããŸãªããã¯ãšã³ãã䜿çšã§ããæ°ãããŠãããŒãµã«parallel_for_ããªããã£ãã®ãããã§ã䞊åã³ãŒããèšè¿°ããæ¹ã䟿å©ã«ãªããŸããã
- TBB ;
- OpenMP
- ã°ã©ã³ãã»ã³ãã©ã«ãã£ã¹ãããïŒiOSãMac OSXïŒ ;
- åæå®è¡ïŒVisual Studio 2010以éïŒ ;
- C = ã
ããã«ãããTBBããªããŠãããã©ãŒãã³ã¹ãåäžãããããšãå¯èœã«ãªããŸããããäžèšã®å¥ã®ãã¬ãŒã ã¯ãŒã¯ããµããŒããããŠããŸãã äŸãã°
Windowsããã³Mac OSXã§ã¯ãéçºç°å¢ã«ä»å±ããŠããæšæºãã¯ãããžãŒã䜿çšãããããè¿œå ã®ãã®ãã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸããã TBBã䜿çšããå€ãã®OpenCVã¢ã«ãŽãªãºã ããæ°ããparallel_for_ã«ãã£ã¹ããããããåããŠäžŠååãããŸããã
Opencl
OpenCLãã¯ãããžãŒã䜿çšããŠã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã¢ã«ãŽãªãºã ãå®è£ ããå®éšçãªoclã¢ãžã¥ãŒã«ãã©ã€ãã©ãªã«è¿œå ãããŸããã çŸåšã次ã®ã¢ã«ãŽãªãºã ãå©çšå¯èœã§ããããããŸã§ã®ãšããGPUã§ã®ã¿å®è¡ãããŠããŸãã
- ç®è¡æŒç®;
- ããŸããŸãªãã£ã«ã¿ãŒïŒSobelãScharrãGaussianBlurãboxFilterãbilateralFilterïŒ;
- ããŸããŸãªã¿ã€ãã®å¹ŸäœåŠçå€æïŒãµã€ãºå€æŽãåãããã³ã°ãªã©ïŒã
- ã«ã¹ã±ãŒãåé¡åšïŒæåã«é¡ãæ€åºããããïŒ;
- ãªããã£ã«ã«ãããŒã¢ã«ãŽãªãºã ïŒãã©ãããã«ãŒã«ã¹ã«ããæ³ïŒã
ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã¯ãã§ã«å©çšå¯èœã§ãã詳现ã«ã€ããŠã¯ããåãåãããã ããã
CUDA / GPU
ä»åã¯ãGPUã¢ãžã¥ãŒã«ã«å€ãã®äŸ¿å©ãªã¢ã«ãŽãªãºã ãè¿œå ãããŸããã
- ç»åãã€ãºäœæžïŒ
- ãã€ã©ãã©ã«ãã£ã«ã¿ãŒ;
- éããŒã«ã«æ段ãã«ãŒããã©ãŒã¹-å®è£ ã¯é«éã§ã¯ãããŸããããå ã®èšäºã«å®å šã«åŸããŸãã
- é«ééå±æå¹³å-ãã®å®è£ ã§ã¯ãã¬ãŠã¹ã®éã¿ä»ããçç¥ããããããã©ã³ãã³ã°ãµã ã¢ãããŒãã䜿çšããŠãã¢ã«ãŽãªãºã ãæ°ååé«éåã§ããŸããã
- ããã¯ã°ã©ãŠã³ãéžæã¢ã«ãŽãªãºã ïŒ ViBe ãGMGãFGDãMOGïŒæ··åã¬ãŠã¹ååžïŒã
- é·ãéCPUã«ååšããŠããLBPæ©èœïŒããŒã«ã«ãã€ããªãã¿ãŒã³ïŒã®ã«ã¹ã±ãŒãã®ãµããŒããã«ã¹ã±ãŒãåé¡ã«è¿œå ãããŸããã
- ããç·ãããåãããã³äžè¬åãããããå€æã
- æ¥ç¶ã³ã³ããŒãã³ãã®ã©ããªã³ã°/äžè¬åããããããŒãã£ã³ã°ç¯å²FloodFillã
ãŸãããã®ãªãªãŒã¹ã§ã¯ããããããããã€ã¹ã¬ã€ã€ãŒãïŒCUDAã§èšè¿°ãããnvccã³ã³ãã€ã©ãŒåãã®ãã³ãã¬ãŒãé¢æ°ãšã¯ã©ã¹ãå«ãããããŒãã¡ã€ã«ã®ã»ããïŒãå ¬éããŸããã ããã¯ãCUDAãèªåã§äœæããéçºè ã«åœ¹ç«ã¡ãŸãã ããã€ã¹ã¬ã€ã€ãŒã®æ©èœãšã³ãŒããçµã¿åãããããšã§ããŠãŒã¶ãŒã¯CUDAã«æ°ããç»ååŠçã¢ã«ãŽãªãºã ãå®è£ ãããããªããŸããã
Android
NVIDIAã«ãã£ãŠãµããŒããããŠããOpenCV for AndroidããŒã ã¯ãã©ã€ãã©ãªãå€§å¹ ã«æŽæ°ããã©ã€ãã©ãªããã䟿å©ã«ããããå®å šãªããã¥ã¡ã³ããæäŸããŠããŸãã ããã«ãTegra 3ãã©ãããã©ãŒã ã§ã¯ãå€ãã®æé©åã䜿çšããŠããšã³ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå€§å¹ ã«æ¹åããŠããŸãã
- OpenCV for Androidã«é¢ããå€ãã®è³æãå
¬éãããŠããŸãã ãããã®äžã«ã¯ïŒ
- å ¬åŒãããžã§ã¯ãããŒãžhttp://opencv.org/androidãäœæãããŸããã
- 欧å·ã®äž»èŠã³ã³ãã¥ãŒã¿ãŒããžã§ã³äŒè°ECCV2012ã§ å ±åããŸãã
- åå¿è éçºè åãã®å€§å¹ ã«æ¹åãããAndroidãã¥ãŒããªã¢ã« ã
- Java APIã©ã€ãã©ãªã®Javadocããã¥ã¡ã³ããæŽæ°ããŸããã
- æ°ããããŒãžã§ã³ã§ã¯ã OpenCVãããŒãžã£ãŒã¯ãšã³ããŠãŒã¶ãŒããã®ã¯ãªãã¯ãã¯ããã«å°ãªãããããã«OpenCVã«äŸåããã¢ããªã±ãŒã·ã§ã³ãåèµ·åããå¿ èŠããããŸããã OpenCV Managerã«ã¯åçã©ã€ãã©ãªãä»å±ããŠãããããGoogle Playããè¿œå ã®ãã€ããªããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿ èŠããªããªããŸããã äºææ§ã®çç±ãããå€ãããã±ãŒãžã¯ããŒãžã§ã³2.5ãŸã§Google Playã«æ®ããŸãããAndroidéçºè ã¯OpenCV 2.4.3ã«åãæ¿ããããšããå§ãããŸãã
- Androidã®ææ°ããŒãžã§ã³ã§ããJelly BeanãããµããŒã察象ã®ãªã¹ãã«è¿œå ãããŸããã ãã€ãã£ãOSã¬ãã«ã§åäœããOpenCVã«ã¡ã©ã¯ãããå€ãã®ããã€ã¹ããµããŒããå§ããŠããŸãã
- Javaã¢ããªã±ãŒã·ã§ã³çšã®æ°ãããã¬ãŒã ã¯ãŒã¯ã æ°ããã¢ãŒããã¯ãã£ãšæŽæ°ãããã¢ããªã±ãŒã·ã§ã³ã®äŸãããç解ããããšããå§ãããŸãã æ°ãããã¬ãŒã ã¯ãŒã¯ã¯ãJavaããã³ãã€ãã£ãã«ã¡ã©ãããã€ã¹ã®ç»é¢ã§ç»åãèŠèŠåããã³ãŒããOpenCVãããŒãžã£ãŒã®ç°¡åãªåæåãé©åãªã€ãã³ãåŠçïŒäžæåæ¢ãç¶è¡ãå転ãªã©ïŒãå«ãã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã¢ããªã±ãŒã·ã§ã³ã®åäžã®åºç€ãæäŸããŸãã
- NVIDIA Tegra 3ãã©ãããã©ãŒã ã®ããã©ãŒãã³ã¹ãæé©åããããã«å€ãã®äœæ¥ãè¡ãããŠããŸãããGoogle PlayããOpenCV Tegra Demoã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããããšã§ããããèªåã§ç¢ºèªã§ããŸãã æé©åã®å®å šãªãªã¹ãã¯ã ãªã³ã¯ 17ã®ããã¥ã¡ã³ãã«ãããŸããTegraçšã®OpenCVã¯ãNVIDIA Tegra Android Development Packã«å«ãŸããŠããããã Androidã®éçºãå§ããã°ããã®å Žåã¯ãå¿ èŠãªãã¹ãŠã®ããã±ãŒãžã®é·ãã€ã³ã¹ããŒã«ãã解æŸãããããã䜿çšããããšããå§ãããŸãã
iOS
iOSçšOpenCVã«ã¯ãåŸ æã®ã€ãããŒã·ã§ã³ãæ°å€ããããŸããã
- Google Summer of Code 2012ã®ãã¬ãŒã ã¯ãŒã¯ã§ã®Eduard Feichoã®äœæ¥ã®ãããã§ããããªã«ã¡ã©ãæäœããããã®ã³ãŒããå€§å¹ ã«å€æŽãããŸããã çŸåšãããã¯highguiã¢ãžã¥ãŒã«ã®äžéšã§ãããCvVideoCameraã¯ã©ã¹ãšããŠå©çšå¯èœã§ãã
- iOSçšã®OpenCVãã¬ãŒã ã¯ãŒã¯ãäœæããããã®å€æŽãšã¹ã¯ãªããããã£ããããOpenCVã¯iOS 6.0ãšæ°ããã¢ãŒããã¯ãã£armv7s ïŒiPhone 5ïŒããµããŒãããããã«ãªããŸããã
- iOSçšOpenCVãæ§ç¯ããå Žåã2.4.2ã«ã¯ãå¿ãããããæé©åããŒãO3ããå«ãŸããŠãããããã¢ããªã±ãŒã·ã§ã³ã¯ããã«é«éã«å®è¡ãããŸãã
- GCDããµããŒãããæ°ãããã«ãã¹ã¬ããã¡ã«ããºã ã®ãããã§ãããã€ãã®éèŠãªã¢ã«ãŽãªãºã ããã¥ã¢ã«ã³ã¢ãããïŒ A5 ã A5X ã...ïŒã§ããé«éã«åäœããŸãã
- ããã«ãAppleã¢ãã€ã«ããã€ã¹ã«OpenCVã䜿çšããããã®åºç€ã«é¢ãããã¬ãŒãã³ã°è³æãè¿œå ãã ECCV2012ã®ãã¬ãŒã ã¯ãŒã¯ã§iOSã®ãã¹ãŠã®ã€ãããŒã·ã§ã³ã«é¢ãã詳现ãªãã¬ãŒãã³ã°ãå®æœããŸãã ã
Python
Google Summer of Code 2012ã®äžç°ãšããŠããµã³ã¯ãããã«ãã«ã¯ã®Alexander Mordvintsevã¯ãOpenCVã§ã®é«åºŠãªPython䜿çšã®çŽ æŽãããäŸãããã€ãè¿œå ããŸããã
- ASIFTã䜿çšãã匷ãé è¿æ³ã«ããç»åã®ç»é² ã
- ææžãèªè ;
- ã«ã¡ã©ã®åãã®ãã¬è£æ£ã
- Amazon PiCloudã䜿çšãã
Buildbot
OpenCVã¯ã Buildbotãç¶ç¶çãªçµ±åã·ã¹ãã ãšããŠäœ¿çšããŸã ã WindowsãLinuxãMac OSãAndroidãiOSã®32ããã³64ããããã©ãããã©ãŒã ã§ãTBBãSSEãGPUã®æé©åã䜿çšããŠãæ¯æ¥50ãè¶ ããããŸããŸãªæ§æãåéãããŸãã åæ§æã§çŽ5,000ã®ç°ãªããã¹ããéå§ãããŸãã æãäžè¬çãª15ã®æ§æã1æ¥ã«2ååéãããŸãã TarballãWindowsçšã€ã³ã¹ããŒã©ãŒãiOSçšãã¬ãŒã ã¯ãŒã¯ãèªåçã«åéãããã³ãŒãã«ãã¬ããžãèšç®ããããã€ããªäºææ§ããã§ãã¯ãããŸãã ã芧ã®ãšãããã©ã€ãã©ãªã®é«ãå®å®æ§ã確ä¿ããããã«çŽ æŽãããä»äºãããŸãã:)
ãªããžããªã«è©²åœããå€æŽããããšãããã€ãã®ã¯ã€ãã¯ãã«ããå®è¡ãããŸãã çµæãæåããå Žåãã³ãŒããã³ã³ãã€ã«ãããä»ã®æ§æã®ãã¹ãã®å€§éšåã«åæ Œãããšããããªãä¿¡é Œã§ããä»®å®ãè¡ãããŸãã
OpenCV 2.4.2ã®ãªãªãŒã¹åŸãçŽæã©ãããããŒãžã§ã³ç®¡çã·ã¹ãã ãå€æŽããŸããã ãªããžããªãgitãå®è¡ããŠããŸãã ãã®ã¹ãããã®è«ççãªçµæã¯ãgithubäžã«ãã©ãŒãäœæããããšã§ãããããã«ãããããã«å€ãã®ãµãŒãããŒãã£éçºè ãã©ã€ãã©ãªã®éçºã«åŒãä»ããããšãã§ããŸããã Githubã¯äŸ¿å©ãªãã«ãªã¯ãšã¹ãã¡ã«ããºã ãæäŸããããããµãŒãã¹ã®ãã¹ãŠã®ãŠãŒã¶ãŒãOpenCVã®å ±èè ã«ãªããŸãã åãã«ãªã¯ãšã¹ãã¯èªåã¢ã»ã³ããªãééããæåãããšãã¬ãã¥ãŒã®ããã«OpenCVããŒã ããéçºè ã«å±ããŸãã 圌ã¯ã³ãŒãããã§ãã¯ããèè ã«å¿ èŠãªè³ªåãããææ¡ãããå€æŽãè¡ããæåŠãããã決å®ããŸãã
ãã®ãªãªãŒã¹ã®ãªãªãŒã¹ã®æ°é±éåã«ããã¹ãŠã®åžžå€ã®éçºè ãããµãŒãããŒãã£ã®éçºè ã®èŠ³ç¹ãããã®ãããªãã©ã¯ãã£ã¹ã®é·æãšçæãè©äŸ¡ããããã«ããã«ãªã¯ãšã¹ããä»ããŠå€æŽãè¡ããŸããã æçš¿ã®1ã€ã§ãOpenCVãããžã§ã¯ããžã®ç¶ç¶çãªçµ±åã«ã€ããŠè©³ãã説æããäºå®ã§ãã ã³ã¡ã³ãã§ãã®ãããã¯ã«é¢ãã質åãããããšãã§ããŸããå¯èœãªéã詳现ã«åçããããåªããŸãã
èšç»
çªå·2.5ã®äžã®æ¬¡ã®ãªãªãŒã¹ã¯2013幎æ¥ã«äºå®ãããŠããŸãã 2.4.3ãšæ¯èŒããŠãå€§å¹ ãªå€æŽãçºçããã©ã€ãã©ãªã®ã¢ãŒããã¯ãã£ãšAPIãææ°åããããã«ãã€ããªäºææ§ãæãªãããŸãã
èšç»ãããŠããäœæ¥ã®äžã§ã次ã®ç¹ã匷調ããŠããŸãã
- æ©èœã®ããã€ã¯ãã¢ãžã¥ãŒã«ããžã®å解ãã«ã¹ã¿ã ãã€ã¯ãã¢ãžã¥ãŒã«ã®ãµããŒãã
- å»æ¢ãããã³ãŒãã®åé€ïŒãµããŒããããŠããªãå¥ã®ã¢ãžã¥ãŒã«ãžã®è»¢éïŒã
- 䞊ååãšæé©åã«é¢ããäœæ¥ã®ç¶ç¶ã
- Kinectã3Dãªã«ããªãèšç®åçã远跡ãªã©ãšé£æºããããã®æ°ããã¢ã«ãŽãªãºã ã
- OpenCVãŠãŒã¹ã±ãŒã¹ã®ããã¥ã¡ã³ããšããã²ãŒã·ã§ã³ã®æ¹åã
ãããã«
æåŸã«ããªãªãŒã¹ã«è²¢ç®ããéçºè ã®ã³ââãã¥ããã£å šäœãç¹ã«Google Summer of Code 2012ã®åå è ã«æè¬ããŸããäžç·ã«ã©ã€ãã©ãªãæ¬åœã«äŸ¿å©ã§äŸ¿å©ãªãã®ã«ããããšããŸããã éçºããã»ã¹ã«åå ããŠãä»ãŸã§ä»¥äžã«äŸ¿å©ã«ãªããŸããïŒ
䟿å©ãªãªã³ã¯
- ã¡ã€ã³ãµã€ã
- Stackoverflowã¹ã¿ã€ã«ãã©ãŒã©ã
- OpenCVå€æŽãã°
- ããã¥ã¡ã³ãïŒ
- HTMLããŒãžã§ã³ ã ãã€ããã«ã ã以åã®ãªãªãŒã¹ïŒ 2.4.2ã2.4.1ã2.4ã2.3 ïŒ
- ãªãã¡ã¬ã³ã¹ããã¥ã¢ã« ïŒpdfïŒ
- ãã¥ãŒããªã¢ã« ïŒpdfïŒ
- ãŠãŒã¶ãŒã¬ã€ã ïŒpdfïŒ
- ããŒãã·ãŒã ïŒpdfïŒ
- Java API ã Android Manager ïŒpdfïŒ
- éçºè
åããªãœãŒã¹ïŒ