
2025.03.19
急成長するドバイ不動産市場の今 投資のチャンスと注意点を専門家が解説
Juliaと画像処理(全1記事)
リンクをコピー
記事をブックマーク
Dsuke_KATO氏(以下、Dsuke_KATO):加藤大典と申します。「Juliaと画像処理」で、Juliaで画像処理をやろうとしたらそれ用のライブラリがあったのでちょっと触ってみたという話です。
自己紹介。大阪大学で視覚神経について大学で10年くらいやっていました。ソフトウェアのベンターにいって、今は医療機器のメーカーで働いています。
MATLABときどきCやってきました。仕事を始めてからやったPython触って、「お、これは便利だ」というのを始めて知って。そのあと須山さんの本でJuliaを知って、黒木さんに捕捉されるという馴れ初めです(笑)。
(会場笑)
現在の仕事はCとかC++を使っているだけなので、あんまりちょっと出番がなくなってどうしようと。
こんな画像とか撮るメーカーで働いています。
こういうのは分析もやらないといけないので、ここで画像処理をどうやってやろうかなということで、結局C+使うんですけど。コンパイルが面倒くさいなと。
PythonでAPI叩くだけならいいんですが、構文をぐるぐる回すのは嫌なので、何人かの方がおっしゃっているように速いということでちょっとJuliaを。
そもそもJuliaで画像を扱うのはどうなんだろうと思って調べてみたところ、JuliaImagesというところが今いろんなパッケージを包括的に扱っていて。ちょっとそれを触ってみたという感じです。
表示はわりとMATLABとかインターフェースに似ていて楽ちんです。
何個かJupyter Notebookを使って書いてみたので、それをちょっとだけ回してみたいと思います。(参考注:JuliaImagesSamples.ipynb)
これはTwitterでリンクを回しているんですが、サンプルの読み込みは、ここではTestImageを使っています。
インターフェースとしては線形フィルターでぼやかしたり。これはガウシアンフィルターですけど。まだAPIがいろいろと統一されていなかったり非効率なんですが、わかりやすいとか、効率的だけどわかりにくいとか。
まだAPIが整理されていませんが、整理されていない分ちょっとおもしろいところがあります。それがカーネルファクターとかそのへんです。
それから線形フィルター用のAPIも提供されています。アルゴリズムによってはもっと最適化できるとは思うんですけど、これはMAD関数だけ用意しておいて、それにどんな関数を掛けていきますかと。
この場合、メディアンフィルターをかけたらこうなります。汎用的なインターフェースが定義されていて。issueやプルリクを見ていたらメディアンフィルターはもっと効率的なアルゴリズムがあるぞとプルリクが投げられていたりするので、わりとそれ見ているのもおもしろいです。
画像の縮小をやりたいときは、自分で1回ダウンサンプリングするときにアンチエイリアスの対応をしてくれないので、なにかかまさないといけません。
あと、画像の回転とか。ひと通り画像処理に必要な分とか、物体検出もやりたいなと思っています。そもそも検出領域を描けるのかって、ImageDrawとかで長方形書いたりとかできます。わりと必要最低限の分は揃っているかなと思っています。OpenCVほどいろいろな関数が準備されているわけではないんですが。
あと、画像処理じゃないんですが、色空間の話も便利に扱えるようになります。これはJuliaじゃないですが、色空間でJPEGの圧縮に使われている表現なんですが、輝度情報と色差空間で画像を表現しましょうと。
いわゆる色相、彩度、明度とか、そういった変換をしてデータを扱う。それをすぐに簡単に表示することができるので、ディープラーニングとはぜんぜんつながってないんですが、そういったかたちで非常にデータが扱いやすい構造に準備されているという印象です。
データの扱い方がちょっとだけ特徴的です。基本的にデータは0、1の範囲で全部正規化して扱うそうです。
中のデータ構造は8ビットです。例えばuintとかcharとか、いわゆるC言語で使われていたものも0、1で扱います。
そのときに使われていたのが固定小数点数です。例えばN0f8とか、ノーマライズドの0。ちょっと赤色で、こういうことがあるので、赤色の部分。この場合16ビット分の2バイトのデータなんですけど。
例えば8ビットのデータを扱う人がほとんどだとは思うんですけど、ものによっては10ビットとか12ビットとか高解像度のものを扱うときにもそれ用のデータ構造が用意されています。
下は12ビットでそれを0、1の値で扱いますよといった固定小数点数でデータストレージを扱うというところがあります。
あともう1個だけ。イメージの画像でchannelviewの話もちょっとあったんですけれども。例えばこれで画像を1個作ってみて、それのサイズを見てやると普通はRGBなのでchannelの数字が出てきそうなんですけど、64×64という数字が返ってきてます。
これはちょっとJuliaの特徴的なところだと思います。実際にそれのデータを取ってこいというのはchannelviewという関数が用意されているので見てやると、そうしたらやっと3×64×64というよく見るデータが出てきます。
これはグレー画像とカラー画像を同じようなアルゴリズムで処理できるので便利だろうというのでこうしているみたいです。
ちょっといろいろと触ってみた感じなんですが、最初に始める分にはいいんですが、まだまだ成長途中なのでそれを追いかけながら自分で実装して楽しむというにはいいと思います。私が当初考えていたのは、どう使うかはまだまだです。以上です。ありがとうございました。
(会場拍手)
2025.03.21
マネージャーの「自分でやったほうが早い」という行動で失うもの 効率・スピード重視の職場に足りていない考え方
2025.03.17
不確実な時代だからこそ「知らないこと」を武器にする ハーバード首席卒業生の逆説的なメッセージ
2025.03.17
いくら読書をしても「成長しない人」が見落としていること 10分でできる「正しい学び方」
2025.03.17
ソフトバンクとOpenAIにとって「歴史的な日」になった 孫正義氏が語る、AI革命の全ぼう
2025.03.19
部下の「タスクの先延ばし」が少ない上司の特徴とは? 研究が示す、先延ばし行動を減らすリーダーの条件
2025.03.18
フェデラー氏が語る「努力しない成功は神話」という真実 ダートマス卒業生に贈る勝利の秘訣
2025.03.18
全知全能の最先端AI「Cristal」が企業の大脳となる ソフトバンク孫正義氏が語る、現代における「超知性」の可能性
2025.03.19
フェデラー氏が語る「ただの1ポイント」の哲学 ウィンブルドン敗北から学んだ失敗からの立ち直り方
2025.03.18
部下に「そうかなぁ?」と思われない1on1の問いかけ エンゲージメントを高めるマネジメントに欠かせない「聴く」技術
2025.03.19
組織をダメにする“害虫”の正体は間違った思い込み AIやDXなど手段のみにこだわるダメ上司の見極め方
【手放すTALK LIVE#046】 出版記念イベント 『大きなシステムと小さなファンタジー』 一つ一つのいのちが大切にされる社会へ
2025.02.03 - 2025.02.03
「聴く」から始まる組織変革 〜篠田真貴子さんと考える対話型マネジメント〜
2025.02.14 - 2025.02.14
「目の前の利益を優先する」心理とは:ビジネスに活かせる意思決定の科学
2025.02.12 - 2025.02.12
新刊『組織をダメにするのは誰か?職場の問題解決入門』出版記念セミナー
2025.02.04 - 2025.02.04
会社の体質、これまでどおりで大丈夫? 職場に新たな風を吹き込むための「ネガティブ・ケイパビリティ」入門
2025.02.10 - 2025.02.10