色综合中文综合网_性猛交娇小69hd_久久精品99久久久久久_欧美日韩精品一区二区三区四区 _97视频色精品_国产高清精品久久久久_日日鲁鲁鲁夜夜爽爽狠狠视频97 _国产成人免费视频精品含羞草妖精 _熟女少妇在线视频播放_精品人妻一区二区三区麻豆91 _久久女同性恋中文字幕_一区二区福利视频

計算機視覺模型效果不佳,你可能是被相機的Exif信息坑了

曉查 發自 凹非寺

量子位 報道 | 公眾號 QbitAI

為何別人用得好好的人臉識別、目標檢測開源模型,到了初學者手中,效果卻慘不忍睹?其中原因可能很多,有時候這個原因很“愚蠢”。

最近一位Medium上的博主Adam Geitgey給初學者指出了一個極其簡單而又容易忽視的關鍵點:相機的Exif信息。

在開發和使用計算機視覺(CV)模型的過程中,由于NumPy、TensorFlow和電腦上的圖片查看器在處理Exif上存在著差異,讓這個問題變得十分隱秘。

Adam是一位知名的機器學習課程博主,他的博客內容非常實用,幾乎篇篇都能收獲上千贊,足見其受歡迎的程度。

他在最新的文章中指出了CV模型在處理Exif存在的缺失,以及補救方法,下面是他文章的主要內容。

Exif信息害死人

普通智能手機或者相機拍照時,如果手持方向發生變化,內部的重力感應器件會告訴設備,照片究竟哪個邊是向上的。

當我們在手機、相機或者電腦的Photoshop軟件上查看照片時,完全沒有問題,就像這樣:

然而眼見并非為實,實際圖像的像素數據不會旋轉。這是由于圖像傳感器是對連續的像素信息流進行逐行讀取,因此你無論縱向和橫向握持相機,圖像都是按照一個方向進行存儲。

那么拍照設備和電腦為什么就能按照正確的方向顯示圖片呢?這是因為照片里還保存著一組元數據,稱之為Exif,即可交換圖像文件格式(Exchangeable image file format)。

Exif中包含著照片的像素數、焦距、光圈等信息,其中還有一個方向(Orientation)的數據。

上圖中Orientation一項的參數是Rotate 90 CW,意思是圖像在顯示前需要順時針旋轉90度。如果圖片查看程序沒有執行此操作,你就只能擰著脖子看了。

Exif原先是用在TIFF圖像格式上,后來才加入到JPEG圖像格式中,而圖像數據集中的圖片大多是JPEG格式。

一些程序為了保持向后兼容性,不會去解析Exif數據。大多數用于處理圖像數據的Python庫(如NumPy、SciPy,TensorFlow,Keras等)就是這樣的。

這意味著當你使用這些工具導入圖像時,都將獲得原始的未旋轉圖像數據。如果把這些側躺著或上下顛倒的圖像輸入到CV模型中,會得到錯誤的檢測結果。

這個問題看起來很愚蠢,似乎初學者會犯這樣的低級錯誤。但事實并非如此!甚至連Google云上的視覺API Demo也無法正確處理Exif方向問題:

如果我們把圖像旋轉到正確的方向再上傳,檢測的結果與上圖相比將完全改變:

當我們在電腦上查看圖片時完全沒問題,但是一用到模型中就不正常。因此很難發現問題的所在。

這也導致一些開發者在Github上提問,抱怨他們正在使用的開源項目已損壞,或是模型不夠準確。但是實際上問題要簡單得多,只是圖片的方向錯了!

解決方法

解決以上問題的方法就是,在導入圖像時檢查它們的Exif數據,在必要時旋轉圖像。Adam已經寫好了一段代碼:

import PIL.Image
import PIL.ImageOps
import numpy as np
def exif_transpose(img):
 if not img:
 return img
 exif_orientation_tag = 274
 # Check for EXIF data (only present on some files)
 if hasattr(img, "_getexif") and isinstance(img._getexif(), dict) and exif_orientation_tag in img._getexif():
 exif_data = img._getexif()
 orientation = exif_data[exif_orientation_tag]
 # Handle EXIF Orientation
 if orientation == 1:
 # Normal image - nothing to do!
 pass
 elif orientation == 2:
 # Mirrored left to right
 img = img.transpose(PIL.Image.FLIP_LEFT_RIGHT)
 elif orientation == 3:
 # Rotated 180 degrees
 img = img.rotate(180)
 elif orientation == 4:
 # Mirrored top to bottom
 img = img.rotate(180).transpose(PIL.Image.FLIP_LEFT_RIGHT)
 elif orientation == 5:
 # Mirrored along top-left diagonal
 img = img.rotate(-90, expand=True).transpose(PIL.Image.FLIP_LEFT_RIGHT)
 elif orientation == 6:
 # Rotated 90 degrees
 img = img.rotate(-90, expand=True)
 elif orientation == 7:
 # Mirrored along top-right diagonal
 img = img.rotate(90, expand=True).transpose(PIL.Image.FLIP_LEFT_RIGHT)
 elif orientation == 8:
 # Rotated 270 degrees
 img = img.rotate(90, expand=True)
 return img
def load_image_file(file, mode='RGB'):
 # Load the image with PIL
 img = PIL.Image.open(file)
 if hasattr(PIL.ImageOps, 'exif_transpose'):
 # Very recent versions of PIL can do exit transpose internally
 img = PIL.ImageOps.exif_transpose(img)
 else:
 # Otherwise, do the exif transpose ourselves
 img = exif_transpose(img)
 img = img.convert(mode)
 return np.array(img)

加入以上代碼后,就可以正確地將圖像導入Keras或TensorFlow了。

如果覺得麻煩,Adam還把上面的代碼打包好了,在GitHub上這個項目叫做image_to_numpy。一行代碼就可以完成安裝:

pip3 install image_to_numpy

以后,你在自己的Python代碼中加入這樣幾句即可。

import matplotlib.pyplot as plt
import image_to_numpy
# Load your image file
img = image_to_numpy.load_image_file("my_file.jpg")
# Show it on the screen (or whatever you want to do)
plt.imshow(img)
plt.show()

傳送門

原文鏈接:

https://medium.com/@ageitgey/the-dumb-reason-your-fancy-computer-vision-app-isnt-working-exif-orientation-73166c7d39da

快速導入旋轉圖像的image_to_numpy:

https://github.com/ageitgey/image_to_numpy

版權所有,未經授權不得以任何形式轉載及使用,違者必究。
亚洲精品在线不卡| 精品国产av 无码一区二区三区| 精品国产髙清在线看国产毛片| 蜜臀av免费观看| 日韩一区日韩二区| 日韩高清在线播放| 日本伊人午夜精品| 高清一区二区三区视频| 东方欧美亚洲色图在线| 亚洲 日韩 国产第一| 又污又黄的网站| 国产成人黄色av| 好吊色在线观看| 国产三区精品| 久久影院午夜论| 亚洲人成无码网站久久99热国产| 国产精品国产自产拍高清av| 激情五月亚洲色图| 欧美三级欧美一级| 亚洲天堂最新地址| 欧美成人高清视频| 性生交大片免费看l| 欧美成人官网二区| 国产婷婷色一区二区在线观看| 97超碰国产精品女人人人爽| www黄色网址| 免费国产一区二区| 亚洲人一二三区| 国产一级二级在线观看| 亚洲新声在线观看| 国产美女主播视频一区| 久久黄色免费看| 蜜桃91麻豆精品一二三区| 国产精品免费一区豆花| 精品奇米国产一区二区三区| 男女啊啊啊视频| 欧美精品成人91久久久久久久| 国产蜜臀av在线一区二区三区| 欧美三级一级片| 中文字幕一区二区在线观看| 国内一区二区在线视频观看| 99精品久久久久久中文字幕| 国产精品一区电影| 蜜桃免费网站一区二区三区| 日本一区二区三区www| 久久综合丝袜日本网| 成人午夜视频免费在线观看| 色婷婷激情久久| www.xx日本| 91精品国产高清久久久久久| 久久精品国产99| 欧美亚洲国产成人| 日韩av一区二区在线观看| wwwxxxx国产| 日韩av在线一区二区三区| 亚洲日本青草视频在线怡红院| 日本wwww色| 久久影院中文字幕| 国产精品一区二区不卡| 另类小说色综合| 亚洲成人av片在线观看| 夜夜躁很很躁日日躁麻豆| 欧美 国产 精品| 欧美午夜电影在线| 无码人妻av一区二区三区波多野| 97神马电影| 亚洲综合清纯丝袜自拍| 久久一区二区三| 亚洲一区二区三区毛片| 亚洲精品伦理在线| 波多野结衣亚洲色图| wwwxx欧美| 在线观看网站黄不卡| 黄色在线免费观看| 老司机午夜网站| 日韩精品在线播放| 高清国产一区二区三区| 免费无码一区二区三区| 国产精品欧美激情在线播放| 亚洲国产欧美在线| 91麻豆国产在线| 免费在线观看亚洲视频| 日韩中文字幕免费| 国产一区二区三区高清播放| 美女被艹视频网站| 日韩美女视频中文字幕| 国产精品久久久久影视| 色播视频在线播放| 精品一二三四五区| 欧美高清一级大片| 亚洲三级电影网站| 国产色综合视频| 不卡的在线视频| 国产精品美女久久久久久免费| 欧美性猛交xxxx免费看漫画| 天堂在线观看视频| 特级特黄刘亦菲aaa级| 国产精品美女网站| 精品福利一区二区| 高h调教冰块play男男双性文| 爱情岛论坛成人| 国产精品www网站| 欧美三级中文字幕在线观看| 日韩中文欧美在线| 精品无码一区二区三区蜜臀| 2022中文字幕| 国产精品爽爽爽| 亚洲国产小视频| 久久只精品国产| 亚洲无码精品国产| 日本中文字幕精品| 成人观看高清在线观看免费| 欧美一区二区日韩| 99re这里都是精品| 亚洲男人天堂网址| 天天久久综合网| 日本精品免费| 国产69久久精品成人看| 亚洲国产精彩中文乱码av在线播放| 亚洲人成精品久久久久| 久久国产精品区| 国产又大又黄又粗| 免费看毛片的网站| 97超碰在线视| 99在线观看| 亚洲精美色品网站| 日本一区二区三级电影在线观看| 在线观看毛片视频| 欧美另类videoxo高潮| 亚洲精品成人在线播放| 在线免费观看一区二区三区| 亚洲一区久久久| 97精品一区二区三区| 欧美一区二区三区公司| 午夜精品久久久久久久久久| 懂色av一区二区三区免费看| 精品国产乱码久久久久久蜜臀网站| 五月天婷婷丁香网| 国产精品19p| 乱人伦xxxx国语对白| 免费试看一区| 精品国产日本| 成人精品网站在线观看| 亚洲精品日韩欧美| 天天爽夜夜爽夜夜爽精品视频| 国产成都精品91一区二区三| 亚洲欧美自偷自拍| aaa一区二区| 在线观看黄色网| aaa一区二区三区| 免费精品视频在线| 中文在线免费观看| 99热99这里只有精品| 国内外成人激情视频| 精品国产综合区久久久久久| 国产91网红主播在线观看| 久久成人在线视频| 欧美xxxx做受欧美.88| 欧美剧情电影在线观看完整版免费励志电影| 国产精品视频麻豆| 国产精品亚洲lv粉色| 九九在线观看视频| 日本伦理一区二区三区| 国产jk精品白丝av在线观看| 免费麻豆国产一区二区三区四区| 国产大学生视频| av在线播放网址| 蜜桃精品成人影片| 一级性生活免费视频| 国产一级久久久久毛片精品| 日本少妇xxxxx| 久操视频免费在线观看| 久久机热这里只有精品| 91香蕉一区二区三区在线观看| 丁香六月久久综合狠狠色| 国产精品久久久久久久久动漫| 91首页免费视频| 在线一区二区三区四区五区| 精品国产一区二区三区久久久狼| 91精品国产自产| 在线影院国内精品| 国产综合色香蕉精品| 国产日韩欧美精品在线观看| 在线观看国产精品一区| 久久久久国产精品一区二区| 欧美tk丨vk视频| 蜜桃传媒视频麻豆第一区免费观看| 成人久久久久久久久| 亚洲中文字幕在线观看| 色婷婷国产精品| 国产成人精品日本亚洲11| 欧美风情第一页| 国产精品免费视频网站| 久久精品一偷一偷国产| 欧美伦理片在线观看| 麻豆精品视频在线观看免费| 日韩欧美aⅴ综合网站发布| 欧美一级免费看| 黑人巨茎大战欧美白妇| 亚洲不卡在线视频| 亚洲男人天堂av网| 97人人做人人爱| 午夜av中文字幕| 视频一区欧美日韩| 欧美日韩亚洲一区二区三区在线观看| 国产精品久久久久久亚洲毛片| 国产黄色特级片| 午夜激情一区二区| 国产精品无码自拍| 亚洲精品视频在线看| **欧美日韩vr在线| 日韩欧美国产另类| 欧美在线视频免费| 男人av资源站| 亚洲精品日韩综合观看成人91| 久久免费少妇高潮久久精品99| 国精产品一区一区三区免费视频| 亚洲国产成人av好男人在线观看| 欧美乱大交xxxxx潮喷l头像| 久久久久久久久岛国免费| 天天操天天操天天| 天天干天天插天天操| 亚洲国产精品va在线观看黑人| 亚洲 高清 成人 动漫| 婷婷色在线观看| 日韩亚洲欧美中文高清在线| 亚洲综合123| 亚洲青青青在线视频| 动漫精品视频| 特级西西444www大胆免费看| 51久久夜色精品国产麻豆| 91xxx视频| 少妇人妻偷人精品一区二区 | 一区二区三区四区在线播放| av成人午夜| 艳妇乳肉豪妇荡乳av无码福利 | 国产一区二区动漫| 国内国产精品天干天干| 久久麻豆一区二区| 精品高清视频| 精品国产av一区二区三区| 国产亚洲欧美另类中文| www.免费av| 香港成人在线视频| 亚洲精品久久久久久久蜜桃臀| 日精品一区二区三区| 高清一区二区三区日本久| 日本高清黄色片| 欧美日韩国产一级| 91国视频在线| 26uuu另类欧美亚洲曰本| 国产区一区二区三区| 免费a级片在线观看| 日本aⅴ大伊香蕉精品视频| 91国产丝袜播放在线| 欧美成人女星排名| 日本在线视频播放| 亚洲丰满少妇videoshd| 久久久久久久久久久99| www成人在线观看| 欧美激情第六页| 日韩av一区二| 91亚洲一区精品| 国产又黄又大又爽| 欧美激情精品久久久久久| 中文字幕黄色大片| 欧美资源在线观看| 欧美精品韩国精品| 中文字幕亚洲二区| 日本中文在线视频| 亚洲精品一区中文| 亚洲 欧美 国产 另类| 日韩欧美一二区| 一级欧美一级日韩片| 欧美性猛交一区二区三区精品| 亚洲欧美久久久久| 亚洲综合色成人| 免费看污污网站| 婷婷综合五月天| 欧美性猛交xxxx乱大交91| 色av综合在线| 欧美性xxxx图片| 亚洲精品一区在线观看香蕉| 九九热视频精品| 欧美成人一区在线| 亚洲视频久久久| 国产欧美亚洲精品| 麻豆国产精品官网| 亚欧精品在线| 国产精品国产a| 欧美三级理论片| 色婷婷综合激情| 丝袜美腿中文字幕| 亚洲色图色老头| 日韩xxx视频| 国产人妖伪娘一区91| 国产精品中文字幕欧美| 麻豆中文字幕在线观看| 国产拍欧美日韩视频二区| 久久久久久久久久久久91| 91精品国产综合久久精品app | 在线免费观看不卡av| 国产精选久久久| 欧美激情精品久久| 亚洲精品高清视频| 三级a在线观看| 日韩欧美亚洲综合| jizz欧美性11| 久久久久久在线观看| 亚洲午夜激情免费视频| 亚洲一卡二卡在线观看| 精品国产免费久久久久久尖叫| 美女被爆操网站| 午夜激情久久久| 日本中文在线视频| 欧美精品aaa| 国产福利一区二区三区视频在线| 色婷婷av一区二区三区之一色屋| 91丨九色丨国产| 国产午夜一区二区三区| 日本美女视频一区| 国产一区二区三区在线观看网站 | 美女久久久久久久| 国产97在线|亚洲| 不卡av电影在线播放| 97人妻精品一区二区三区免| 国产精品成人播放| 国产女主播视频一区二区| 日本美女久久久| 噜噜噜噜噜久久久久久91| 国产精品露脸视频| 久久久久久国产精品mv| 亚洲男人天堂一区| 黄色av网址在线观看| av片免费观看| 精品在线观看国产| 无码国产精品一区二区色情男同| 亚洲欧洲日韩精品| 91精品小视频| 99久久精品一区二区| 伊人色在线视频| 午夜免费在线观看精品视频| 国产视频在线观看一区二区三区| 亚洲一区二区观看| 成人av在线亚洲| 中文字幕人妻一区二区在线视频 | 热久久这里只有| 在线免费观看中文字幕| 男的插女的下面视频| 精品亚洲aⅴ在线观看| 久久国产欧美日韩精品| 精产国品一区二区三区| 亚洲不卡在线视频| 国产999精品久久久影片官网| 制服 丝袜 综合 日韩 欧美| 国产视频一区不卡| 欧美性感一类影片在线播放| 日本激情视频在线| 亚洲天堂影视av| 国产成人8x视频一区二区| 中文字幕一区二区三区人妻| 少妇荡乳情欲办公室456视频| 亚洲一级免费观看| 开心色怡人综合网站| 不卡伊人av在线播放| 在线观看区一区二| 国产福利精品一区| 国产伦一区二区三区色一情| 国产一区二区黑人欧美xxxx| 亚洲欧美视频一区| 在线观看日韩毛片| 亚洲免费观看在线观看| 又色又爽又高潮免费视频国产| 亚洲电影在线观看| 久久九九免费| 中文字幕乱码在线| 茄子视频成人在线观看 | 日韩成人免费观看| 日韩国产欧美精品| 国产丝袜一区视频在线观看| 久久福利视频一区二区| 国产福利短视频| 粉嫩av免费一区二区三区| 亚洲精品乱码久久久久久金桔影视| 久久国产婷婷国产香蕉| 国产在线免费看| 999国内精品视频在线| 日韩午夜激情电影| 99精品视频一区| 精品无码m3u8在线观看| 在线观看欧美激情| 中文字幕视频在线免费欧美日韩综合在线看| 成人免费毛片片v| 蜜乳av另类精品一区二区| 欧美一级淫片免费视频黄| 欧美日韩精品久久| 日韩精品综合一本久道在线视频| 麻豆国产精品一区二区三区 | 欧美精品www在线观看| 精品女同一区二区三区在线播放| 国产精品一区二区欧美| 欧美一级二级三级蜜桃| 国产精品久久久久久久久免费桃花 | 日韩欧美三级视频| 国产日韩一区二区在线观看| 精品欧美一区二区在线观看视频| 欧美激情亚洲精品| 欧美日韩激情视频| 国产99久久久国产精品免费看| 一区二区视频免费观看|