パスワードを忘れた? アカウント作成
14067951 story
グラフィック

Exifでの写真の縦・横方向指定問題、画像認識ソフトウェアに影響 39

ストーリー by hylom
分かる 部門より

Anonymous Coward曰く、

JPEGなどの画像ファイルに埋め込まれているメタデータ「Exif」では画像の方向(縦もしくは横)を指定できる項目がある。これを利用することで、画像部分のデータを変更することなしに表示方向を制御できるのだが、これを正しく処理できない画像認識ソフトウェアが存在していると言う(GIGAZINE)。

昔はWebサービスでもそういうのがあったけど、人工知能関連だと確かに注意して実装しないとだめだな。

たとえば、画像データは横向きになっていてExif情報でそれを縦に表示するよう指定している場合、それを考慮して90度回転させて処理させなければならないが、そういった処理を行なっていないソフトウェアは少なくないという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2019年12月12日 14時37分 (#3730596)

    表示するときに無視して常に横位置表示するか、従って回転表示するかの設定項目があるね。
    真下を撮るとどっちになるかは神のみぞ知る状態だし、単純にExifに従えばいいという問題ではない。

    画像認識できないなんてのは、色々な角度で回転させつつ学習してないのが問題であってExifの問題じゃない。
    カメラが傾いただけで認識率が大きく変わっちゃうゴミAI作るなよw

    • by Anonymous Coward

      画像認識ライブラリには古い画像ビューアーと同様にExifを参照しないものが多く存在する

      ライブラリがゴミ。もちろんそんなライブラリを使用しているAIもゴミなんだけど。
      ベタ画像ならまだしも、圧縮画像を読み込むライブラリならそれぐらい対応しろと。

      • by Anonymous Coward

        逆だな。ライブラリを使う側がゴミ。
        画像認識ライブラリは「画像」(RGBや輝度の情報のみ)を処理するものであって「写真」(Exifを含む情報)を処理するものではない。
        だから費用に応じてライブラリを呼ぶ側がExifを処理するべき。

      • by Anonymous Coward

        画像の回転は破壊的処理なのでライブラリが勝手にやったらそれこそゴミ

        • by Anonymous Coward

          勝手にやってしまうのは問題だけど、指定すればできてもいいんじゃない。
          破壊的処理なの?劣化なしに回転させるソフトはあったので、JPEG劣化なしに編集で反転と回転はできたと思う。
          量子化されたデータのまま、入れ替え編集するんだと思うが詳しくはしらん

          • by Anonymous Coward
            というかAIってJPEG圧縮されたバイト列で学習するモンなの?
            JPEGからビットマップに復元してそいつで学習するんじゃないの
            だったらビットマップを回転させればいいだけで、それくらいは簡単にロスレスできるよね
            ロスレスJPEG回転を要求する必要はないだろ
          • by Anonymous Coward

            AIは普通ビットマップから学習するが、画像処理ライブラリはAIにしか使わない訳ではない。
            勝手に回転されて嬉しいとは限らないから指定されなければ余計なことはしなくて当然。

            > JPEG劣化なしに編集で反転と回転はできたと思う
            Exif情報を変更するのかな?

            • by Anonymous Coward

              >> JPEG劣化なしに編集で反転と回転はできたと思う
              > Exif情報を変更するのかな?

              https://www.vector.co.jp/soft/win95/art/se171449.html [vector.co.jp]
              > 画像劣化が起こる可能性のある、「DCT(離散コサイン変換)処理」をバイパスすることによって、まったく劣化の行わない処理を行います
              らしいよ

              • 8x8のブロック内では、DCT後のデータの並べ替えや符号反転で、無劣化に、縦横入れ替え(45度軸反転)、左右反転、上下反転ができるので、
                その組み合わせで回転させられるというのは理解できるし、
                さらに、ブロック単位での配置も並べ替えれば、全体の画像を回転させれる、ということになるんだけど

                解像度が8の倍数(というかU/Vを考えると16の倍数)じゃない場合はどうしてるんだろう。
                JPEG的データ上では、エンコード時にはブロック単位になるようパディングしてからDCTにかけてるから、
                上や左にパディング分のゴミ表示が入ってしまうはず。

                親コメント
    • by Anonymous Coward

      回転対称な構造のニューラルネットワークは訓練がおっそいから誰も使わんの
      スラドのコメント欄は機械学習に関して異常に無知なやつばっか書いてるよな

      • by Anonymous Coward

        機械学習に限った話か?

        • by Anonymous Coward

          確かに。人間も横向きの文字や図形は認識率が低下するし
          機械学習に限らないな

          # ボケ

        • by Anonymous Coward

          GINPだと、開く時、時たま、「縦横変えますか」とか
          聞いてきます。
          機会学習をやっているとも思えず(AIが流行る前からだった)
          何か、いくつか矛盾する値が有る?
          ただ、「変えます」では無いので、確定的な矛盾では無い?

  • by Anonymous Coward on 2019年12月12日 14時41分 (#3730599)

    エクスプローラでExifの回転方向を考慮してくれないので取引先から「どうして横向きなんだ」とお叱りを受けたことも多々ありました……。

    • by nemui4 (20313) on 2019年12月12日 15時19分 (#3730627) 日記

      >エクスプローラでExifの回転方向を考慮してくれないので取引先から「どうして横向きなんだ」とお叱りを受けたことも多々ありました……。

      どうしてまともなビューワーを使わないんだろう。

      ワザワザ不自由な環境で仕事をしないといけないシバリがあるんだろうか。

      親コメント
    • by Anonymous Coward

      ライブラリ供給する側のOSシェルで無視すんのはどうかと思うけど
      スタティックリンクで自前処理してる古いソフトウェアでありがちよね
      EXIF端折るに留まらずパラメータ処理しきれず不正処理で落ちたりさ

      情報量に対して妙にでかいPDF分解してみたらメガサイズのJPGのごく一部をクリッピング表示してたり
      90年代を生きた経験からするとなんかモヤモヤする

    • by Anonymous Coward

      バグってる取引先を修正するのはどうでしょう

    • by Anonymous Coward

      縦写真なら回転して渡すもんだと思ってましたが
      ※劣化なしでjpegを90度回転するソフトとかもありましたし

  • by Anonymous Coward on 2019年12月12日 15時13分 (#3730619)

    そもそも天地を気にせずに使う人が多いと思う。なので EXIF の通りに処理したら方向があってないなんて写真は大量にあるのでは。
    機械学習に使いたいなら EXIF には頼らずちゃんと人間が見て天地をそろえてあげないとダメだと思う。
    まぁ天地をそろえる AI なんかも出てくるのかもしれませんが……

    • by Anonymous Coward

      スマートフォンは各種センサーが豊富なので、かなり正確に天地をExifに設定できるはず。
      回転方向が怪しいのはデジタルカメラの方じゃないか?

      • by Anonymous Coward
        おかしいカメラなんてねーよ
        天地の情報なしで手ブレ補正なんてできねーんだから
        いや別に天地の情報は知りたくもないけど、一般相対論でそっちが下なのか加速方向なのかは区別できないもんで
        • by Anonymous Coward

          手ブレ補正は自由落下状態(本当に1Gで加速してる)でも特に変わりなく動作する気がする
          あと重力方向は言うほど鉛直の算出方法としてアテにならんってVR関連で聞いた気がする

          • by Anonymous Coward
            そうなん?電源投入前から自由落下状態が続いて他の移動がない状態で静止した被写体を静止させて撮れるとは思えないけど
            天地判定に精度はそんないらないよね45度単位でわかればいいだけだし
            • by Anonymous Coward

              対地速度が分からないと手ブレ補正できない理論に従えば
              乗り物に乗ったりドローンに取り付けたりすると一切効かないことになるが
              んなこたーないわけで

              • by Anonymous Coward
                対地速度は関係ないよ
                必要なのは被写体との相対速度だからね
                ただ通常のカメラに被写体の速度を取得する方法はないので
              • 手ぶれで「カメラの向き」がほんの1度でもずれたら、5m先の被写体は9cm(=tan(1度)×5m)分ぶれて写ることになりますが、
                「向きはそのまま、位置が平行移動」するようなぶれはそう何ミリも移動したりしないし、その場合は移動量そのものが被写体のぶれになるので、
                手ぶれに対しては回転の方が支配的。
                だから、手ぶれ補正に、加速度センサは必須ではありません。角速度センサで回転の検出ができればいい。(2軸補正とか3軸補正)

                まあ、一眼とかの高級なやつだと、回転だけでなく移動も検出する5軸手ぶれ補正とかがあるので、加速度センサの出番もありますが、
                流し撮りに対応するため、単にカメラの動きを止めるように補正するのではなく、
                動きがなめらかになるように補正する(つまり、加速度センサの「変化」をキャンセルするように補正する)ような動作になりますので、
                > 電源投入前から自由落下状態が続いて他の移動がない状態
                は、たぶん問題なくいけるんじゃないかな。

                親コメント
  • by Anonymous Coward on 2019年12月12日 15時38分 (#3730647)

    回転しただけで、認識できなくなるようなトレーニングが間違ってんだよ
    縦横の概念を学習の段階で取り除いとけよ

  • by Anonymous Coward on 2019年12月12日 15時52分 (#3730660)

    現実問題として機械学習 == ディープラーニング == TensorFlow == (Google Colab || Cloud AutoML)
    だからこうなる

    import numpy as np
    import cv2

    img = cv2.imread('gazou.jpg',0)

    この時cv2は画像を回転しません
    以上

    • by Anonymous Coward

      cv2、使われてる割にはこういう基本機能足りないですよね
      一見簡単に操作できるけど、ちょっと何かしようとするとはまることが。
      #EXIF認識しないってより読む機能がそもそも以下略

  • by Anonymous Coward on 2019年12月12日 16時59分 (#3730724)

    画像そのものから縦横の判断ができない認識ソフトになんの意味があるのか。
    画像データ以外を参照するなら、それは画像認識ソフトではないだろう。

    • by Anonymous Coward

      動画から静止画を切り出したものは動画のピクセル数そのままに保存されるけれど、アスペクト比を考慮するとピクセル数のままでは問題になる動画も珍しくない。

  • by Anonymous Coward on 2019年12月12日 21時07分 (#3730835)

    いまさら感のあるJPEGネタが続くな
    なんか15年くらい巻き戻った気分

  • -90度回転させる場合もあるのではないかな?

  • by Anonymous Coward on 2019年12月16日 4時40分 (#3732029)

    古いビデオから抽出した画像もそうみたいだけど、
    個人的にはファミコンのスクリーンショット(256×240)を、古いテレビ画面(4:3)へ投影した感じになるようにピクセルアスペクト比を設定して保存しているから、非正方ピクセルがどのように処理されるか(古いビデオに写った人間は一律スリムに認識されているのか?)興味がある。

    # 劣化なし、ファイルサイズも最小にして保存できるのはやはり非正方ピクセルなのでAC

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...