IT概覧 ~IoTまでの流れ~

Similar documents
Taro-ラズパイのインストールと設定

0_テキストマイニング環境構築_mac

WiFiの現状

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

NGSハンズオン講習会

Raspberry Pi で WEB カメラを使用 会津大学 RT ミドルウェア講習会 2017 The University of Aizu

Microsoft Word - CygwinでPython.docx

Microsoft Word - XPC4ソフトマニュアル.doc

第5回 マインクラフト・プログラミング入門

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

Raspberry Pi BF BF BF Raspberry Pi PC USB HDMI OS SD SD OS Raspberry Pi Model B MicroUSB MicroSD OS SD GPIO HDMI USB LAN Raspberry Pi MicroUSB MicroSD

Microsoft Word - Android_仮想デバイスマネージャーの使い方

KADIAS Mac OS X 用事前環境準備手順書

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル IC カードを利用しない応札者向け 第 1.7 版 平成 31 年 2 月鳥取県物品契約課 鳥取県物品電子入札システムセキュリティ ポリシー設定マニュアル Ver.01-07

Raspberry Pi 3(Raspbian) での Actian Zen Edge 使用 株式会社エージーテック 2018 年 7 月 5 日

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

Anaconda (2019/7/3)

Helix Swarm2018.1インストール手順

はじめに SDP Generator は オーバーレイに対応した JVC カメラに画像をインポートするデータファイル (SDP ファイル ) を生成するためのアプリケーションです 本アプリケーションを使用することで スコアボードのチーム名に チームロゴや画像化された多言語の文字をカメラ映像に表示する

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

MINI2440マニュアル

intra-mart ワークフローデザイナ

インターネット EDI システムを使用する前の準備 目次 動作環境について... 2 Internet Explorer7.0 / 8.0 をご利用の場合の設定方法... 3 [1] インターネット EDI システムを利用するための標準的な設定... 3 [2] ブラウザ型で帳票を利用する場合に必要

PowerPoint Presentation

目次 1. 改版履歴 概要 WEB 版薬剤在庫管理システムのインストール 事前準備 インストール アプリケーションのセットアップ WEB 版薬剤在庫管理システムの初期設定

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

FlashAir TM Tutorial FlashAir のチュートリアル FlashAir でライブ配信 1 用意するもの HLS FlashAir からのブート 環境設定作業 動作確認... 8 FlashAir Developers

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

LSI MegaRAID SAS Device Driver Installation Guide - 日本語

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

Helix Swarm2018.1アップグレード手順

目次 第 1 章はじめに 電子入札システムを使用するまでの流れ 1 第 2 章 Java ポリシーを設定する前に 前提条件の確認 2 第 3 章 Java のバージョンについて Java バージョン確認方法 Java のアンインストール ( ケース2の

PowerPoint Presentation

PowerPoint プレゼンテーション

第一章 LPC2478 ボードの概要...3 第二章 uclinux の初体験 SD カードのテスト USB メモリのテスト USB Devices のテスト network のテスト...6 第三章 uclinux のコンパイル...

RS_Base のインストールをおこなう前に パソコンの設定とネットワークの設定 RS_Base は 1 台の PC だけでももちろん使用できますが ネットワーク上の複数の PC でクライアント / サーバ方式の運用も可能です ここでサーバとは RS_Base のデータを保存する PC という意味で

Studuinoソフトウェアのインストール

G800SE HTMLdocument update

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

Microsoft Word - 【掲載用】True Keyマニュアル_1.0版_ r2.docx

手順書 20 イメージ最小化作業 はじめに JumboSpot を動かすために使用している RaspberryPi( 以下 ラズパイ という ) に Pi-Star という OS 兼ソフトウェアを microsd カードにセットアップして利用しているが バックアップイメージを残す際に利用するソフトウ

目次 1.TypeA ご利用ソフト更新ツール概要 更新ツール実行における注意点 更新ツール実行時の注意点 管理者権限について Prox y 認証 更新ツールの実行 トラブルシューティ

はじめに 動作環境の全ブラウザで 本書の設定を行ってください 本設定を行わない場合 システムが 正常に動作しない可能性がありますので 必ず設定をお願いいたします また 本書の中で 画 像に番号を付与している箇所以外の設定は お使いの環境のままでご使用ください 参考 : 動作環境の全ブラウザについては

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア ントと本資料に差分が発生する場

第5回 マインクラフト・プログラミング入門

環境確認方法 (Windows の場合 ) OS 動作環境日本語版 Windows 7, 8, 8.1, 10 であること 確認方法 Windows キーを押しながら R キーを押します または [ スタート ] メニューから [ ファイル名を指定して実行 ] ( または [ プログラムとファイルの

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

SimLab Plugins for SketchUp 評価版インストールおよびアクティベート方法 注意事項 評価版をお使い頂くには 評価用ライセンスでのアクティベートが必要です 評価用ライセンスファイルの取得を行い 手動でアクティベートする必要があります 各 SimLab プラグインは 評価用とし

V-Client for Mac ユーザーズガイド

bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi

Installation Guide for Linux

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

<4D F736F F F696E74202D20834A815B836C838B835C815B835882CC95E082AB95FB F4B2E B8CDD8AB B83685D>

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

1. パソコンに接続しているプロテクトキー (HASP) を外します 2.Microsoft Edge などのブラウザから のアドレスのホームページを起動します 3. 最新のプロテク

SDP Generator

居場所わかるくん CMX 連携設定 操作ガイド 2019 年 4 月

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

Android用 印刷プラグイン Canon Print Service マニュアル

MINI2440マニュアル

WebNACCS

Sophos Enterprise Console

Microsoft Word - xfinderマニュアル.docx

管理者マニュアル

文書番号 :XIA001 Revision :1.00 XIMEA 社カメラ付属ソフトウェア XIMEA API Software Package インストールマニュアル 株式会社アプロリンク

HeartCoreインストールマニュアル(PHP版)

保存を行いたい場所 ( デスクトップ 等 ) を選択し 保存 (S) ボタンを押してください ファイル名 ファイル名は Jsas_TKNPrint.exe という初期値になっていますが 変更することができます 2 データのダウンロード ボタンを押すと 指導面接用紙の一括印刷用ソフトに取り込む指導対象

Microsoft Word - Python利用環境構築ガイド_ docx

保存を行いたい場所 ( デスクトップ 等 ) を選択し 保存 (S) ボタンを押してください ファイル名 ファイル名は Jsas_TSKPrint.exe という初期値になっていますが 変更することができます 2 データのダウンロード ボタンを押すと 一括印刷用ソフトに取り込む停止及び警告認定者 (

提案書

< ダッシュボード画面 > 現在開催中の研修 に ご覧いただけるセミナーがすべて表示されます 視聴したいセミナーをクリックします ( セミナーへのお申し込み方法はこちらをご参照ください ) マウスをセミナー名の上に移動すると色が変わります 色の変わる範囲はどこでもクリックすることができます < 講座

Microsoft Word - XOOPS インストールマニュアルv12.doc

Transcription:

AITC シニア勉強会 OpenCV 入門 ~ ラズパイ 3 で OpenCV と TensorFlow を動かしてみよう ~ 2019 年 4 月 13 日 先端 IT 活用推進コンソーシアムクラウド テクノロジー活用部会リーダー荒本道隆

この資料の目的 目的 カメラ映像の扱い方を知る OpenCV で顔認識 TensorFlow も動かしてみる 今回のゴール OpenCV による顔画像自動収集 TensorFlow による画像認識 準備するもの Raspberry PI 3 USB 接続 Web カメラ ( 電気屋のワゴンセールで 2,000 円以下 ) PC(Windows/Mac) Internet 接続 2

Python を使用する上での注意事項 Python2 か Python3 か どちらがデフォルト? Python2: 歴史が長く ライブラリも豊富 Python3: 新しいものは Python3のみ も多い 何が問題なのか? python と打った場合 2か3かは 環境によって異なる pip も同様 2 専用ライブラリ 3 専用ライブラリがある プログラム中に python と書かれていると超困る 今回の Rasbian には 最初から Python2 が入っている この資料では python = Python2 という前提です 3

OpenCV とは 概要 画像処理 画像解析および機械学習等の機能を持つ C/C++ Java Python MATLAB 用ライブラリ [1] [2] プラットフォームとして Mac OS X や FreeBSD 等全ての POSIX に準拠した Unix 系 OS Linux Windows Android ios 等をサポートしている できること たくさんあるので Wikipedia 参照 Wikipedia より http://ja.wikipedia.org/wiki/opencv Windows/Mac で開発して ラズパイで実行 できないこと 音 赤外線 より高い CPU パワーを使った処理 参照 :Microsoft Kinect, Intel Realsense 4

ラズパイで OpenCV を動かすために X-Window を使用 ラズパイにモニタを接続して GUI を起動 パソコンに X-Window サーバを導入 Windows:Xming を導入 接続方法 :TeraTerm の X Forwarding を有効にする もしくは : export DISPLAY=Windows の IP アドレス :0 を設定 Mac: 標準装備 接続方法 : ターミナルから ssh -Y pi@ip アドレス ブラウザのみを使用 今回はこれをメインで説明 仮想 X-Window を画像化し PC のブラウザで表示 注意 : 操作はできません 注意 :SD カードとネットワークが高負荷になります 画面が見えなくても ゴールはクリアできます 5

まずは 必要なものを導入 今回 使用するパッケージ一覧 OpenCV:libopencv-dev python-opencv 仮想 X-Window:xvfb imagemagick Webサーバ :apache2 php 今回使用するものをまとめてインストール # 538MB # 80MB # 17MB sudo apt update sudo apt install libopencv-dev python-opencv xvfb imagemagick apache2 php sudo apt install git python-pip テキストファイルから 1 行づつコピペしてください 参照するサンプルをダウンロード & 解凍 cd /home/pi wget http://aramoto.sakura.ne.jp/20180421/opencv-2.4.13.zip unzip opencv-2.4.13.zip wget http://aramoto.sakura.ne.jp/20180421/html.tar tar xvf html.tar 6

OpenCV を構成する技術 図 6.OpenCV を構成する技術 より http://www.buildinsider.net/small/opencv/01 このページを読んでみる 7

Python 環境の確認方法 : 全 OS 共通 ライブラリが正しく参照できているか確認する方法 [aramoto@localhost ~]$ python Python 2.7.5 (default, Jun 17 2014, 18:11:42) [GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> print numpy. version バージョンを確認 1.7.1 >>> import cv2 Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named cv2 インストールに失敗している場合 8

OpenCV を起動してみよう カメラが無いと 固定の画像が使われます 固定の画像を強制的に使用 : 引数に 1 を追加

X-Window が使える環境 ( 上級者用 ) Windows Xming というツールを導入して 起動 TereTerm で接続 export DISPLAY=Windows の IP アドレス :0 Mac ターミナルから接続 ssh -Y pi@ ラズパイの IP アドレス 以下のコマンドで OpenCV のサンプルを起動 カメラ映像をそのまま表示 cd /home/pi/opencv-2.4.13/samples/python2 python video.py 可能な人は こっちの方法でやってください 10

ブラウザが使える環境 ( お手軽 ) ラズパイで Web サーバを起動 (OS を起動するたび ) sudo service apache2 start Web コンテンツを準備 sudo cp -rp /home/pi/html/viewx /var/www/html/ PC のブラウザから参照 http:// ラズパイの IP アドレス /viewx/ 仮想 X-Window 起動 & 画像生成 (OS を起動するたび ) 最後の & は 裏で実行し続ける という意味 cd wget http://cloud.aitc.jp/20190413_raspberrypi2/capture.sh bash capture.sh & コンソールに文字が出続けたら ラズバイ 3 を再起動 注意 : ブラウザからは操作不可 11

ブラウザが使える環境 ( お手軽 )-2 以下のコマンドで OpenCV のサンプルを起動 カメラ映像をそのまま表示 cd /home/pi/opencv-2.4.13/samples/python2 export DISPLAY=:1 python video.py 終了は [Ctrl]+[C] 12

顔認証をしてみる 以下のコマンドで OpenCV のサンプルを起動 顔認識 export DISPLAY=:1 python facedetect.py X-Window の人は不要 終了は [Ctrl]+[C] うまく動作しない人は言ってください うまく動作する人 ソースコードを見てみる 他のサンプルを実行してみる 13

X-Window が使えない場合は 画面描画をコメントアウト 赤字を追加 /home/pi/opencv-2.4.13/samples/python2/facedetect.py 56: draw_str(vis, (20, 20), 'time: %.1f ms' % (dt*1000)) 57: # cv2.imshow('facedetect', vis) 処理自体は動作します ただし 実行状況が目視できません 14

カメラがない場合は 使用したい画像をラズパイにコピーする 人物の正面顔が入っているもの デフォルトでは lena.jpg が入っています 画像ファイル名を変更 赤字を実際のファイル名に合わせて変更 /home/pi/opencv-2.4.13/samples/python2/facedetect.py 38: cam = create_capture(video_src, fallback='synth:bg=/home/pi/kao.jpg:noi se=0.05') 15

操作するものは X-Window が必要 OpenCV 付属のデモの紹介 カメラが無いと 固定の画像が使われます 固定の画像を強制的に使用 : 引数に 1 を追加

facedetect.py 顔と目を認識 解説ページ 事前に 顔 顔じゃない を学習済み 学習結果が XML 形式で source/data に入っている 他の物も 学習させれば認識できるようになる ねこと画像処理 : http://rest-term.com/archives/3131/ sample/cpp/lena.jpg 顔の外に目があっても 認識しない作りになっている 目だけを肩に貼ってみた 17

peopledetect.py 人っぽいものを検出 検出精度はイマイチ 操作方法 起動時に 引数で画像ファイルを指定 AITC ニュースレター第 3 号の画像 18

digits.py 機械学習による文字認識 解説ページ KNearest SVM digits_video.py で動画中の数字を探す 19

edge.py 境界抽出 漫画メーカー が作れそう 20

lappyr.py 動画にエフェクトをかける 21

deconvolution.py Convolution( 畳みこみ )= ブレ を解除する ナンバーが全く読めない 補正したら読めた 22

motempl.py 動画の変化部分を検出 23

opt_flow.py 動画中の物体が どっちに動いているか 24

camshift.py 特定の色の領域を追いかける 操作方法 追いかけたい色をマウスで範囲指定する Duke の赤い鼻を追いかけている 25

plane_ar.py AR マーカー無しの AR 操作方法 AR マーカーとして使いたい領域をマウスで選択 Duke の鼻を AR マーカーとして指定 26

find_obj.py 特徴点抽出を使って 同じ物体を探す 操作方法 起動時に 引数で 2 つの画像ファイルを指定 27

feature_homography.py 特徴点抽出を使って 同じ物体を探す 操作方法 探したい領域をマウスで選択 注意 : 特徴点が無いところを選択すると 終了する 28

その他のトラッキング lk_track.py mosse.py plane_tracker.py 29

顔認識サンプルの拡張 カメラが無いと 固定の画像が使われます 固定の画像を強制的に使用 : 引数に 1 を追加

顔画像をひらすら収集 -1 元ファイルをコピー cd /home/pi/opencv-2.4.13/samples/python2 cp facedetect.py facesave.py 顔画像を保存する機能を追加 ファイル名は 年月日 _ 時分秒.jpg 赤字の部分を追加 vi コマンドに不慣れな人は ダウンロードも可 rects = detect(gray, cascade) vis = img.copy() draw_rects(vis, rects, (0, 255, 0)) for x1, y1, x2, y2 in rects: import datetime now = datetime.datetime.now().strftime("%y%m%d_%h%m%s") cv2.imwrite("/var/www/html/faces/img/" + now +".jpg", vis[y1:y2, x1:x2]) print (now + ".jpg saved") cd /home/pi/opencv-2.4.13/samples/python2 wget http://cloud.aitc.jp/20190413_raspberrypi2/facesave.py 31

顔画像をひらすら収集 -2 Web コンテンツを準備 Apache を起動 実行 sudo cp -rp /home/pi/html/faces /var/www/html/ sudo service apache2 start export DISPLAY=:1 python facesave.py 収集結果をブラウザで参照 http:// ラズパイの IP アドレス /faces/ 32

ラズパイ 3 に TensorFlow を導入

TensorFlow とは 概要 機械学習や数値解析 ニューラルネットワーク ( ディープラーニング ) に対応しており Google と DeepMind の各種サービスなどでも広く活用されている 省略. 開発された目的は 人間が用いる学習や論理的思考と似たように パターンや相関を検出し解釈するニューラルネットワークを構築 訓練することができるシステムのための要求を満たすためである [6] Wikipedia より 目的 巷で流行っている AI をラズパイ上で動かす 注意事項 ラズパイ 3 の GPU に対応していないので 遅い 34

目的その 2 すぐに AI が動作するボードが沢山出てくる AI に限れば ラズパイ 3 の 100 倍ほど早いはず? 今から その準備をしておく Intel Neural Compute Stick2 13,500- 購入可 Google Edge TPU $149.99 予約不可? nvidia Jetson Nano 12,312- 予約可 35

ラズパイ 3 への TensorFlow の導入 正当な方法 sudo pip install tensorflow MemoryError で失敗 最新のバージョンを手動で導入 wget https://www.piwheels.org/simple/tensorflow/tensorflow-1.13.1... time sudo pip install tensorflow-1.13.1. 途中でコンパイルエラーが発生 エラーが出ないバージョンを手動で導入 : 約 1 分 cd wget https://www.piwheels.org/simple/tensorflow/tensorflow-1.1.0-cp27- none-linux_armv7l.whl time sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl sudo pip install tensorflow==1.1.0 は約 8 分かかる 36

ImageNet とは 概要 画像分類などの学習に使うための画像を集めたものです この画像分類において 2015 年 2 月にディープラーニングを使って 人間を超えた ことで ディープラーニングが大きく注目されました URL http://image-net.org/ 今回は 全体に何が映っているかを判定 37

TensorFlow による画像分類の導入 画像分類のサンプルコードをダウンロード cd wget https://raw.githubusercontent.com/tensorflow/models/master/ tutorials/image/imagenet/classify_image.py 実行 time python classify_image.py 初回はデータのダウンロードを行うので 遅い : 約 1 分 2 回目はちょっとだけ早い : 約 40 秒 画像ファイルを指定して実行 time python classify_image.py --image_file="cat.jpg" 識別可能なもののリストを参照 less /tmp/imagenet/imagenet_synset_to_human_label_map.txt このファイルは編集してはならない 38

OpenCV + TensorFlow による画像分類 せっかくカメラがあるので カメラ画像を分類 遅い画像分類をどこまで高速化できるか? classify_image.py が遅い原因 import tensorflow 巨大な tar ファイルのオープン グラフのロード TensorFlow での画像分類 つまり 2 回目以降は省略できれば めちゃめちゃ早くなる?! OpenCV でカメラ画像を保存し classify_image を呼び出すだけで カメラに映ったものを分類できるはず 注意 : 外部コマンド呼び出しだと 毎回 40 秒かかる video.py と classify_image.py を合体 39

OpenCV + TensorFlow による画像分類 合体のための改造ポイント video2.py 表示を邪魔せず キー入力も受け付ける ( 意外と難しい ) 画像保存を bmp jpeg に変更 ( メモリ渡しは面倒なのでパス ) classify_image2 を呼び出す機能を追加 ( 保存したファイル名を渡す ) classify_image2.py 外部から呼び出される機能を追加 2 回目以降は 重複する処理を省略する ダウンロードしたデータの保存先を変更 40

OpenCV + TensorFlow による画像分類 今回は改造済みのものを用意 cd /home/pi/opencv-2.4.13/samples/python2 wget http://cloud.aitc.jp/20190413_raspberrypi2/video2.py wget http://cloud.aitc.jp/20190413_raspberrypi2/classify_image2.py 実行 export DISPLAY=:1 python video2.py [Enter] キーを押すと カメラに映ったものを保存して分類 1 回目はちょっと遅いけど 2 回目から早くなる 専用ハードウエアを購入すれば 100 倍早くなるかも? パソコンで動かすと どのくらいの速度か? 興味のある人は 元ソースとの差分を取ってみてください diff video.py video2.py diff /home/pi/classify_image.py classify_image2.py 41