目次
第6章 SDK上でのAIの利用【上級編】
第一項 AIコードはどうやって探すか
画像解析AIが2012年によって飛躍的に実用性が高まった後、10年にわたりこの分野の研究が非常に盛り上がっています。
ですが、対象となる種類や手法、コードの質も玉石混交でどのAIフレームワークを使うのか、どのAIモデルを使うのかの選択センスが非常に問われてきている時代となってきています。
基本的にはCVPRやICCVなどのトップカンファレンスの査読を通過した論文を追いつつ、その論文のプログラミング実装を行ったGithubを確認するのが主な作業となります。
一方新規性のあるアイデアではなくとも、使いやすさが非常によくなっていたり、中間的な補助プログラムもたくさんあり、これらはTwitterなどでリサーチを趣味で行っている人などからの情報で確認していきます。
ただしこれらはAIを商用で本格的に検討している場合となり、実際はある程度デモコードもそろっており、簡単に使い始められるものだけをみることが一番効率が良いでしょう。次項では代表的なAIフレームワークとデモコードの確認までの情報提供となっています。
第二項 OpenVinoでの実行例
PINTO model zooでは200を超えるOpenVinoで実行可能なモデル(ONNXファイル)を公開していますが、このファイルを利用するのに必要なデモコードはボランティアベースで集めているためあまり多くはありません。
現時点で利用可能なモデルの一覧は下記となります。
(2022/01/01時点)
./050_AnimeGANv2/demo/demo_AnimeGANv2_onnx.py ./061_U-2-Net/demo/demo_u2net_onnx.py ./061_U-2-Net/demo/demo_u2net_portrait_onnx.py ./072_NanoDet/demo/demo_onnx.py ./077_ESRGAN/demo/demo_ESRGAN_onnx.py ./108_HAWP/demo/demo_HAWP_onnx.py ./115_MoveNet/demo/demo_singlepose_onnx.py ./119_M-LSD/demo/demo_mlsd-lines_onnx.py ./119_M-LSD/demo/demo_mlsd-squares_onnx.py ./129_SCRFD/demo/demo_SCRFD_onnx.py ./133_Real-ESRGAN/demo/demo_Real-ESRGAN_onnx.py ./136_road-segmentation-adas-0001/demo/demo_road-segmentation-adas-0001_onnx.py ./137_MoveNet_MultiPose/demo/demo_multipose_onnx.py ./146_FastDepth/demo/demo_fast_depth_onnx.py ./151_object_detection_mobile_object_localizer/demo/demo_onnx.py ./158_HR-Depth/demo/demo_hr_depth_onnx.py ./171_Fast-SRGAN/demo/demo_fast_srgan_onnx.py ./172_Real-Time-Super-Resolution/demo/demo_Real-Time-Super-Resolution_onnx.py ./174_PP-PicoDet/demo/demo_picodet_onnx.py ./176_StableLLVE/demo/demo_StableLLVE_onnx.py ./178_vehicle-detection-0200/demo/demo_vehicle-detection-0200_onnx.py ./179_person-detection-0202/demo/demo_person-detection-0202_onnx.py ./196_human_segmentation_pphumanseg/demo/demo_pphumanseg_onnx.py ./199_NSFW/demo/demo_nsfw_onnx.py ./200_AGLLNet/demo/demo_AGLLNet_onnx.py ./201_CityscapesSOTA/demo/demo_CityscapesSOTA_onnx.py ./204_HINet/demo/demo_hinet_onnx.py ./205_MBLLEN/demo/demo_MBLLEN_onnx.py ./206_Matting/demo/demo_Matting_onnx.py ./207_GLADNet/demo/demo_GLADNet_onnx.py ./208_SAPNet/demo/demo_SAPNet_onnx.py ./209_MSBDN-DFF/demo/demo_MSBDN-DFF_onnx.py ./212_GFN/demo/demo_GFN_onnx.py ./213_TBEFN/demo/demo_TBEFN_onnx.py ./215_AOD-Net/demo/demo_AOD-Net_onnx.py ./216_Zero-DCE-TF/demo/demo_Zero-DCE-TF_onnx.py
基本的に各モデルフォルダにあるdownload.shを実行して、解析したい画像や動画をアップロードしてから各モデルのトップフォルダで
python ./demo/実行ファイル.py
で利用可能になっています。
第三項 Mediapipeでの実行例
(執筆中)
https://google.github.io/mediapipe/
では様々なモデルの実行が簡単に行える。
ブラウザ上で実行することも可能であるが、今回はSCORER SDK上でPython版を実行する
〇インストール
pip install mediapipe
デモコードがあまりついていないため、デモコードを別途ダウンロードする
git clone https://github.com/Kazuhito00/mediapipe-python-sample.git cd mediapipe-python-sample
別途小技集で
第四項 TensorFlowでの実行例
Raspberry pi4の場合(Tensorflow lite)
Raspberry pi4でTensorflowを動かす場合はTensorflow liteがそこそこの推論速度で実行できるため望ましい
Intel CPUの場合
第五項 Darknetでの実行例
(執筆中)