ディープラーニングで解像度を上げることができるみたいです。学習済みモデルが公開されているので、試してみたいと思います。X線の写真の解像度をあげて、診断に役に立てることはできるでしょうか。
- EDSR: Enhanced Deep Residual Network
こちらのモデルは、Xavier Weberさんのgithubに公開されています。
- LapSRN: Laplacian Pyramid Super-Resolution Network
こちらのモデルは、Fanny Monoriさんのgithubに公開されています。
上記のサイトから、モデルを1つダウンロードしてください。x2とかx4とかは、解像度を上げる強さです。大きい方が重いです。どれかを選んでダウンロードしてください。
必要なパッケージは、opencv-contrib-pythonです。pip install opencv-contrib-pythonをしてください。
例
LapSRNを使った場合のサンプルコードです。
import cv2
#1 写真をセット
img=cv2.imread("IMGP5166.jpg")
#2 モデルのセット
sr = cv2.dnn_superres.DnnSuperResImpl_create()
path = "LapSRN_x8.pb"
sr.readModel(path)
#3 2つめのパラメータは、x8とかの数字に合わせる
sr.setModel("lapsrn", 8)
result = sr.upsample(img)
#4 保存
cv2.imwrite("IMGP5166_lapsrnx4.jpg",result)
#1 写真のセット
必要に応じて写真のフルパスをセットしてください
#2 モデルのセット
必要に応じてモデルのフルパスをセットしてください。この場合、pyファイル、モデル、写真がすべて同一のフォルダに入っています。モデルの名前はダウンロードしたものにしてください。
#3 2つめのパラメータは、x8とかの数字に合わせる
#4 保存
日本語パスを設定してつまずかないように気を付けてください。cv2は日本語を嫌います。
やってみました
10年以上前にタンザニアに行った際、きれいなトカゲをみつけました。だいぶ前のデジカメなので解像度が悪いです。
うーん、、気持ち変わった気もしますが、あんまり変わらなかったです。
X線写真はどうでしょうか
レントゲン写真はこのサイトより取得:https://pixabay.com/photos/radiography-bone-medical-picture-2010129/
Free for commercial use
Pixabay License
No attribution required
若干解像度は上がりますが、診断に役に立つところまでは到達できていないと思います。