Ê×Ò³
ѧϰ
»î¶¯
רÇø
¹¤¾ß
TVP
·¢²¼
¾«Ñ¡ÄÚÈÝ/¼¼ÊõÉçȺ/ÓŻݲúÆ·,¾¡ÔÚС³ÌÐò
Á¢¼´Ç°Íù

PythonÖеÄͼÏñÔöÇ¿¼¼Êõ

ͼÏñÔöÇ¿ÊÇÒ»Öַdz£Ç¿´óµÄ¼¼Êõ£¬Õë¶ÔÏÖÓÐͼÏñÈËΪ´´½¨¸÷Öֱ仯ÒÔÀ©Õ¹Í¼ÏñÊý¾Ý¼¯£¬ÀýÈçËõ·ÅÏÖÓÐͼÏñ¡¢½«ÏÖÓÐͼÏñÐýת¼¸¶È¡¢¼ôÇлò²Ã¼ôͼÏñµÈµÈ¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«Ê¹Óà imgaug ¿â̽Ë÷ Python ÖеÄͼÏñÔöÇ¿¼¼Êõ¡£

ÎÒÃÇΪʲôÐèҪͼÏñÔöÇ¿£¿

Éî¶Èѧϰ¾í»ýÉñ¾­ÍøÂ磨CNN£©ÐèÒª´óÁ¿Í¼Ïñ²ÅÄÜÓÐЧѵÁ·Ä£ÐÍ¡£Í¨¹ý¸üºÃµÄÔöÇ¿ÓÐÖúÓÚÌá¸ßÄ£Ð͵ÄÐÔÄÜ£¬´Ó¶ø¼õÉÙ¹ý¶ÈÄâºÏ¡£¿ÉÓÃÓÚ·ÖÀàºÍ¶ÔÏó¼ì²âÊý¾Ý¼¯µÄ×îÁ÷ÐеÄÊý¾Ý¼¯¾ßÓÐÊýǧµ½Êý°ÙÍò¸öͼÏñ¡£

¹éÄÉÊÇÖ¸ÔÚÄ£ÐÍѵÁ·ÆÚ¼ä¸ù¾ÝÒÔÇ°´Óδ¼û¹ýµÄÊý¾Ý½øÐÐÆÀ¹ÀÄ£Ð͵ÄÐÔÄܲâÊÔ»òÑéÖ¤¡£ÓÉÓÚ CNN ¾ßÓв»±äÐÔ£¬¼´Ê¹ÔÚ²»Í¬´óС£¬·½Ïò»ò²»Í¬ÕÕÃ÷Ï¿ɼûʱ£¬ËüÒ²¿ÉÒÔ¶Ô¶ÔÏó½øÐзÖÀà¡£Òò´Ë£¬ÎÒÃÇ¿ÉÒÔ»ñȡͼÏñµÄСÐÍÊý¾Ý¼¯£¬²¢Í¨¹ý·Å´ó»òËõС£¬´¹Ö±»òˮƽ·­×ªËüÃÇ»ò¸ü¸ÄÁÁ¶ÈÀ´¸Ä±ä¶ÔÏóµÄ´óС¡£ÕâÑù£¬ÎÒÃÇ¿ÉÒÔ´´½¨·á¸»¡¢¶àÑù»¯µÄͼÏñÊý¾Ý¼¯¡£

ͼÏñÔöÇ¿¿ÉÒÔ´ÓһС×éͼÏñÖд´½¨·á¸»¶àÑùµÄͼÏñ¼¯£¬ÒÔ½øÐÐͼÏñ·ÖÀ࣬Ŀ±ê¼ì²â»òͼÏñ·Ö¸î¡£ÔÚ×ÐϸÁ˽âÎÊÌâÓòÖ®ºó£¬ÐèÒª²ÉÓÃÔö¼ÓѵÁ·Êý¾Ý¼¯´óСµÄÔöÇ¿²ßÂÔ¡£

ʲôʱºòÐèÒªÓ¦ÓÃͼÏñÔöÇ¿£¿

ÔÚÎÒÃÇѵÁ·Ä£ÐÍ֮ǰ£¬¿ÉÒÔ½«Í¼ÏñÔöÇ¿ÓÃ×÷Ô¤´¦Àí¡£

  • ÀëÏß»òÔ¤´¦ÀíÔöÇ¿

ÔöÇ¿±»ÓÃ×÷Ô¤´¦Àí²½Ö裬ÒÔÔö¼ÓÊý¾Ý¼¯µÄ´óС¡£Í¨³££¬µ±ÎÒÃÇÓÐÒ»¸öСµÄѵÁ·Êý¾Ý¼¯ÒªÀ©Õ¹Ê±£¬±ã¿ÉÒÔÍê³É´Ë²Ù×÷¡£

ÔÚ½ÏСµÄÊý¾Ý¼¯ÉÏÉú³ÉÀ©³äºÜÓаïÖú£¬µ«ÔÚÓ¦ÓÃÓڽϴóµÄÊý¾Ý¼¯Ê±£¬ÎÒÃÇÐèÒª¿¼ÂÇ´ÅÅ̿ռ䡣

  • ÔÚÏß»òʵʱÔöÇ¿

¹ËÃû˼Ò壬ÔöÇ¿ÊÇʵʱӦÓõġ£Õâͨ³£ÊÊÓÃÓڽϴóµÄÊý¾Ý¼¯£¬ÒòΪÎÒÃDz»ÐèÒª½«ÔöÇ¿µÄÓ³Ïñ±£´æÔÚ´ÅÅÌÉÏ¡£

ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇÔÚСÅúÁ¿ÖÐÓ¦ÓÃת»»£¬È»ºó½«ÆäÊäÈëÄ£ÐÍ¡£

ÔÚÏßÔöÇ¿Ä£Ðͽ«ÔÚÿ¸öʱÆÚ¿´µ½²»Í¬µÄͼÏñ¡£ÔÚ¡°ÀëÏßÔöÇ¿¡±ÖУ¬ÔöǿͼÏñÊÇѵÁ·¼¯µÄÒ»²¿·Ö£¬Ëü»á¸ù¾ÝʱÆÚÊý¶à´Î²é¿´ÔöǿͼÏñ¡£

¸ÃÄ£ÐÍ¿Éͨ¹ýÔÚÏßÔöÇ¿¸üºÃµØÍƹ㣬ÒòΪËüÔÚͨ¹ýÔÚÏßÊý¾ÝÔöÇ¿½øÐÐѵÁ·ÆÚ¼ä»á¿´µ½¸ü¶àÑù±¾¡£

ÎÒÃǽ«Ê¹Óà imgaug ÀàÀ´ÑÝʾͼÏñÔöÇ¿¡£

»ù±¾Í¼Ïñ´¦Àí¼¼Êõ

  • ·­×ª£º´¹Ö±»òˮƽ·­×ªÍ¼Ïñ
  • Ðýת£º½«Í¼ÏñÐýתָ¶¨µÄ½Ç¶È¡£
  • ¼ôÇУºÏñƽÐÐËıßÐÎÒ»ÑùÒƶ¯Í¼ÏñµÄÒ»²¿·Ö
  • ²Ã¼ô£º¶ÔÏóÒÔ²»Í¬±ÈÀý³öÏÖÔÚͼÏñÖеIJ»Í¬Î»ÖÃ
  • ·Å´ó£¬ËõС
  • ¸Ä±äÁÁ¶È»ò¶Ô±È¶È

ÏÖÔÚ£¬ÎÒÃǽ«Ê¹Óà imgaug ¿â̽Ë÷ÕâЩÊý¾ÝÔöÇ¿¼¼Êõ

Imgaug

imgaug ÊÇÒ»¸öÓÃÓÚͼÏñÔöÇ¿ÒÔ¼°¹Ø¼üµã / µØ±ê£¬±ß½ç¿ò£¬ÈÈͼºÍ·Ö¶ÎͼµÄ¿â¡£

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
pip?install?imgaug?

ÔÚijЩÇé¿öÏ£¬ÎÒÃÇ»áÓöµ½ Shapely ´íÎó£¬ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔ³¢ÊÔʹÓÃÒÔÏÂÃüÁî

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
pip?install?imgaug?¡ª?upgrade?¡ª?no-deps?

ÎÒÃǽ«ÅÄÉãÒ»ÕÅͼÏñ£¬²¢Ê¹Óûù±¾µÄÊý¾ÝÔöÇ¿¼¼Êõ¶ÔÆä½øÐÐת»»Êµ¼ù¡£

µ¼ÈëËùÐèµÄ¿â£º

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
import?imageio??import?imgaug?as?ia??import?imgaug.augmenters?as?iaa??import?numpy?as?np??import?pandas?as?pd??import?matplotlib.pyplot?as?plt??import?matplotlib.patches?as?patches??import?matplotlib??%matplotlib?inline?

ÏÔʾԭʼͼÏñ

ÎÒÃÇʹÓà imageio ÏÔʾԭʼͼÏñ

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
image?=?imageio.imread(¡°.\car2.jpeg¡±)??ia.imshow(image)?

ÐýתӰÏñ

ÎÒÃÇ¿ÉÒÔͨ¹ýÖ¸¶¨Ðýת½Ç¶ÈÀ´ÐýתͼÏñ¡£ÎÒÃǽ«Í¼ÏñÐýת -50 ¶Èµ½ 30 ¶È

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
rotate=iaa.Affine(rotate=(-50,?30))??rotated_image=rotate.augment_image(image)??ia.imshow(rotated_image)?

¸øͼÏñÌí¼ÓÔëµã

ÎÒÃǽ«´Ó¸ß˹·Ö²¼²ÉÑùµÄ²»Í¬ÔëÉùÖµÌí¼Óµ½Í¼Ïñ¡£

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
gaussian_noise=iaa.AdditiveGaussianNoise(10,20)??noise_image=gaussian_noise.augment_image(image)??ia.imshow(noise_image)?

²Ã¼ôͼÏñ

ÐÞ¼ô»áɾ³ýͼÏñ²àÃæµÄÏñËØÁÐ / ÐС£ÔÚÏÂÃæµÄʾÀýÖУ¬ÎÒÃǽ«Í¼ÏñµÄÒ»²à²Ã¼ôÁË 30£¥

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
crop?=?iaa.Crop(percent=(0,?0.3))?#?crop?image??corp_image=crop.augment_image(image)??ia.imshow(corp_image)?

ŤÇúͼÏñ

ÉèÖà 0 µ½ 40 ¶È

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
shear?=?iaa.Affine(shear=(0,40))??shear_image=shear.augment_image(image)??ia.imshow(shear_image)?

·­×ªÍ¼Ïñ

ÎÒÃÇ¿ÉÒÔ´¹Ö±»òˮƽ·­×ªÍ¼Ïñ¡£Fliplr ˮƽ·­×ªÍ¼Ïñ

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
#flipping?image?horizontally??flip_hr=iaa.Fliplr(p=1.0)??flip_hr_image=?flip_hr.augment_image(image)??ia.imshow(flip_hr_image)?

´¹Ö±·­×ªÍ¼Ïñ

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
flip_vr=iaa.Flipud(p=1.0)??flip_vr_image=?flip_vr.augment_image(image)??ia.imshow(flip_vr_image)?

¸Ä±äͼÏñµÄÁÁ¶È

ÎÒÃÇʹÓà GammaContrast ͨ¹ýËõ·ÅÏñËØÖµÀ´µ÷ÕûͼÏñÁÁ¶È¡£ÔÚ gamma =£¨0.5£¬2.0£©·¶Î§ÄÚµÄÖµËƺõÊÇÃ÷Öǵġ£ÎÒÃÇÒ²¿ÉÒÔʹÓà SigmoidContrast »ò LinearContrast À´¸ü¸ÄͼÏñµÄÁÁ¶È

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
image?=?imageio.imread(¡°.\img?Aug\car2.jpeg¡±)??contrast=iaa.GammaContrast(gamma=2.0)??contrast_image?=contrast.augment_image(image)??ia.imshow(contrast_image)?

Ëõ·ÅͼÏñ

ÎÒÃÇ¿ÉÒÔʹÓÃËõ·ÅÀ´·Å´ó»òËõСͼÏñ¡£ÎÒÃÇÒѽ«Í¼ÏñËõ·Åµ½Í¼Ïñ¸ß¶È / ¿í¶ÈµÄ 150£¥ÖÁ 80£¥¡£ÎÒÃÇ¿ÉÒÔ¶ÀÁ¢Ëõ·Åÿ¸öÖá

ÔöÇ¿ÎïÌå¼ì²â

ÎÒÃÇ»æÖƱ߽ç¿òÒÔ½øÐжÔÏó¼ì²â¡£µ±ÎÒÃÇ·Å´óͼÏñʱ£¬ÎÒÃÇÏ£Íû°üΧºÐÒ²ÏàÓ¦µØ¸üС£

imgaug Ö§³Ö±ß½ç¿ò¡£µ±ÎÒÃÇÐýת£¬¼ôÇлò²Ã¼ôͼÏñʱ£¬¶ÔÏóÖÜΧµÄ±ß½ç¿òÒ²»áÏàÓ¦¸üС£

´Ó imgaug µ¼Èë±ß½ç¿ò

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
from?imgaug.augmentables.bbs?import?BoundingBox,?BoundingBoxesOnImage?

³õʼ»¯Ô­Ê¼Í¼ÏñÖÜΧµÄ±ß½ç¿ò

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
bbs?=?BoundingBoxesOnImage([??BoundingBox(x1=10,?x2=520,?y1=10,?y2=300)??],?shape=image.shape)?

ÔÚԭʼͼÏñÉÏ·½ÏÔʾ±ß¿ò

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
ia.imshow(bbs.draw_on_image(image,?size=2))?

ÔÚÏÂÃæµÄ´úÂëÖУ¬ÎÒÃÇʹÓà translate_percentage Òƶ¯Í¼Ïñ£¬À©´ó±ß½ç¿ò²¢½«ÆäÓ¦ÓÃÓÚͼÏñÉÏ

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
move=iaa.Affine(translate_percent={"x":?0.1},?scale=0.8)??image_aug,?bbs_aug?=?move(image=image,?bounding_boxes=bbs)??ia.imshow(bbs_aug.draw_on_image(image_aug,?size=2))?

Ó¦ÓÃͼÏñÔöÇ¿ºóÔÚͼÏñÍⲿ´¦Àí±ß½ç¿ò

±ß¿òÓÐʱ¿ÉÄܻᳬ³öͼÏñ£¬Òò´ËÎÒÃÇÐèÒªÆäËû´úÂëÀ´´¦ÀíÕâÖÖÇé¿ö

ÎÒÃÇÐýתͼÏñ£¬²¢³¢ÊÔÔÚ¶ÔÏóÖÜΧ»æÖƱ߿ò

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
rotate_bb=iaa.Affine(rotate=(-50,?30))??image_aug,?bbs_aug?=?rotate_bb(image=image,?bounding_boxes=bbs)??ia.imshow(bbs_aug.draw_on_image(image_aug,?size=2))?

±ß½ç¿òµÄ²¿·ÖÔÚͼÏñÍⲿ¡£ÔÚÏÂÃæµÄ´úÂëÖУ¬ÎÒÃǽ«½«±ß¿òÍêÈ«»ò²¿·ÖÒƳöͼÏñ

²Ã¼ô²¿·ÖλÓÚÍⲿµÄ±ß½ç¿ò£¬Ê¹ÆäÍêȫλÓÚͼÏñÄÚ²¿

ÎÒÃÇ´´½¨Ò»¸ö padding º¯Êý£¬ÒÔ 1 ÏñËصİ×É«±ß¿òºÍ 1 ÏñËصĺÚÉ«±ß¿òÌî³äͼÏñ£º

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
def?pad(image,?by):??image_border1?=?ia.pad(image,?top=1,?right=1,?bottom=1,?left=1,??mode="constant",?cval=255)??image_border2?=?ia.pad(image_border1,?top=by-1,?right=by-1,??bottom=by-1,?left=by-1,??mode="constant",?cval=0)??return?image_border2?

È»ºó£¬ÎÒÃÇÔÚͼÏñÉÏ»æÖƱ߽ç¿ò¡£ÎÒÃÇÊ×ÏȽ«Í¼ÏñƽÃæÀ©Õ¹ BORDER ÏñËØ£¬È»ºó±ê¼ÇͼÏñƽÃæÄڵı߽ç¿ò

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
def?draw_bbs(image,?bbs,?border):??GREEN?=?[0,?255,?0]??ORANGE?=?[255,?140,?0]??RED?=?[255,?0,?0]??image_border?=?pad(image,?border)??for?bb?in?bbs.bounding_boxes:??if?bb.is_fully_within_image(image.shape):??color?=?GREEN??elif?bb.is_partly_within_image(image.shape):??color?=?ORANGE??else:??color?=?RED??image_border?=?bb.shift(left=border,?top=border)??.draw_on_image(image_border,?size=2,?color=color)??return?image_border?

ÏÖÔÚ£¬ÎÒÃǶÔͼÏñÓ¦ÓÃÏàͬµÄÐýת²¢»æÖƱ߽ç¿ò

´úÂëÓïÑÔ£ºjavascript
¸´ÖÆ
rotate=iaa.Affine(rotate=(-50,?30))??image_aug,?bbs_aug?=?rotate(image=image,?bounding_boxes=bbs)??image_after?=?draw_bbs(image_aug,?bbs_aug.remove_out_of_image().clip_out_of_image(),?100)??ia.imshow(image_after)?
  • ·¢±íÓÚ:
  • Ô­ÎÄÁ´½Ó£ºhttp://news.51cto.com/art/202002/609917.htm
  • ÈçÓÐÇÖȨ£¬ÇëÁªÏµ cloudcommunity@tencent.com ɾ³ý¡£

ɨÂë

Ìí¼ÓÕ¾³¤ ½ø½»Á÷Ⱥ

ÁìȡרÊô 10ÔªÎÞÃż÷ȯ

˽Ïí×îР¼¼Êõ¸É»õ

ɨÂë¼ÓÈ뿪·¢ÕßÉçȺ
Áìȯ
http://www.vxiaotou.com