Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05

JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05

SC4Y ('23#5) IT・情報系 北海道まったりLT大会 にて
https://sc4y.connpass.com/event/310172/

Hiroto YAMAKAWA

March 07, 2024
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Programming

Transcript

  1. #javado #北海道まったりLT大会 Hiroto Yamakawa 2 公立千歳科学技術大学 情報システム工学科 専任講師 
 R&D: Experimental

    Development of ICT Services, Learning Technology, 
 Computer in Education, Programming & Programmer's Education 千歳市バスロケーションシステムの開発(2016-2022) 適応型学習支援システムの開発、活用 レポート内の話しことば診断システムの開発 ソフトウェア開発やアーキテクチャ設計手法の応用:導入効果の検討とプログラミング・エンジニアリング教育への反映
  2. #javado #北海道まったりLT大会 私とJSR 381の出会い 4 Java in Education for JUGS(教育機関でJavaを普及させるための取り組み)の紹介資料で

    
 JSR 381についての言及を見かける えっ?このタイミングでJavaで画像認識? ...と、いちJUGリーダーの私ですら 
 初見時は反射的に思ってしまったが... AI技術があたりまえになり、 
 さらにAI技術を利用する・支えるための 
 データサイエンス・AI技術者育成も重要な今、 
 (学習者に積極的に触れてもらいたいという 
 立場からも)言語が正式にAI技術などへの 
 標準対応を進めることには必要性がある 
 とも思う ※最近のAI技術の着目はLLMなどの 
   ステージに集中してるのは承知の上で 画像出典 Java in Education for JUGS v2.0 
 https://jcp.org/ fi les/initiatives/java-in-education/materials/2023/ Java_in_Education_For_JUGs_2.0.pdf
  3. #javado #北海道まったりLT大会 取り組み開始は2017年9月、2022年2月にFinal Release JSR 381に求められたもの 
 VisRec(画像の検出、認識、注釈付け)を中心とした、MLのための簡素な標準APIの仕様化 
 ⇒用途(Webやコマンドライン、JavaFXアプリ等)からの呼び出しを問わず、

    
   独自の画像系MLの構築や事前学習済みの利用を必要とする開発者をターゲットとする 
 ⇒Javaでも独自のMLライブラリは存在する(DL4J, Amazon DJL, Deep Netts, etc...)が、 
 ライブラリごとに互換性のないクラス型、設定パラメータのわかりづらさ、 
   JavaアプリケーションとMLの統合しずらさなどの問題の解決を狙う 
  (なお、公式のExampleはDeep NettsやDJLを参照実装にしている) JSR 381: Visual Recognition (VisRec) Speci fi cation 5 参考 Justine Kavanaugh-Brown(2023), Introducing the Visual Recognition spec 
 for Java machine learning 
      https://blogs.oracle.com/javamagazine/post/java-visrec-api-for-machine-learning 
 JSR 381: Visual Recognition (VisRec) Speci fi cation 
      https://www.jcp.org/en/jsr/detail?id=381 A Java-Friendly ML API 🥰
  4. #javado #北海道まったりLT大会 JSR 381でできること 6 画像出典 Zoran Sevarac(2021), jChampions JSR381 Visual

    recognition for java 
 https://www.slideshare.net/ZoranSevarac/jchampions-jsr381-visual-recognition-for-java 画像やデータ/物体の分類 
 (分類タスク) 数値の予測 
 (回帰タスク) 物体の検出 
 (分類+回帰)
  5. #javado #北海道まったりLT大会 コード例 7 以下のコードを山川が意訳 
 https://github.com/JavaVisRec/jsr381-examples/blob/master/ 
   src/main/java/jsr381/example/IrisFlowersClassi fi

    cationExample.java データセットを 
 プロジェクトの内外から持ってくる BuilderでMLのモデルを 
 設定・学習(今回は分類の例) 学習したモデルを利用
  6. #javado #北海道まったりLT大会 • Justine Kavanaugh-Brown(2023), Introducing the Visual Recognition spec

    for Java machine learning 
 https://blogs.oracle.com/javamagazine/post/java-visrec-api-for-machine-learning • Zoran Sevarac(2022), Introduction to Machine Learning and Neural Networks for Java Developers 
 https://developer.oracle.com/learn/technical-articles/machine-learning-and-neural-networks • Zoran Sevarac(2021), jChampions JSR381 Visual recognition for java 
 https://www.slideshare.net/ZoranSevarac/jchampions-jsr381-visual-recognition-for-java • InfoQ(2020), Amazon Deep Javaライブラリを使ってマシンラーニングをJavaで実装する 
 https://www.infoq.com/jp/articles/java-machine-learning-djl/ • JSR 381: Visual Recognition (VisRec) Specification 
 https://www.jcp.org/en/jsr/detail?id=381 • Visual recognition specification for Java (JSR381) 
 https://github.com/JavaVisRec/visrec-ri • Reference implementation of JSR381's API using DeepNetts 
 https://github.com/JavaVisRec/visrec-api 参考リソース(より深く知るためには) 10