2022-01-01から1年間の記事一覧

Zhang-Suenの細線化アルゴリズム

PythonでZhang-Suenの細線化アルゴリズムを実装 - Qiita黒から白にする条件・周辺の切り替わり数が1端である・周辺の黒の数が2~60:孤立点1:細線の端6以上:ほぼ内部(先に消すべき点が周辺にまだある)・P2, P4, P6, P8が白上下左右のいずれかが白…

Pycharmでopencvのインテリセンスが出ない件、opencv-contrib

PyCharm cannot find cv2 references with the most recent version · Issue #20997 · opencv/opencv · GitHub バージョンを落としてもよいが、インタープリターのパスを追加するのが最も良い解決法っぽい(bentennysonyongさんの発言)。なお、opencv-pytho…

【論文単語1】NeRF

1. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesisunderlying: 根底にあるemit: 放射する -> emitted radiance: 放射輝度required to 動詞: 動詞するのに必要なoutperform: ~より優れるurge 人 to 動詞: 人に動詞するよう強く促…

GANからWassersteinGANへ

qiita.com daiki-yosky.hatenablog.com

尤度の宇宙一分かりやすい解説

qiita.com

kotlinのonnxでmmsegmentationの推論

・ネットワーク選定onnxでAdaptive Poolingが使えないので、Adaptive Poolingを使ってないネットワークを選定する。mmsegmentationのデモで使われていpspnetはダメ。fcnは大丈夫。・onnxモデルへの変換直接onnxモデルへ変換しようとするとエラーが出る。以下…

kotlinのBufferedImageからRGB値を抽出

val img = ImageIO.read(File("test.png"))for (y in 0 until img.height) { for (x in 0 until img.width) { val color = Color(img.getRGB(x, y)) val r = color.red val g = color.green val b = color.blue // img.setRGB(x, y, color.rgb) }}

kotlinでonnx推論

以下のリポジトリを分かりやすく整理しました。onnxruntime/ScoreMNIST.java at main · microsoft/onnxruntime · GitHub データはこちらからダウンロード。 LIBSVM Data: Classification (Multi Class) onnxモデルは以下の手順で生成。 onnxの使い方 - LeMU_…

loss, accuracyの計算方法まとめ

criterionのreductionはデフォルトで'mean'。len(data_loader)はバッチ数。なので、epochの平均lossの算出は、バッチごとの(平均)lossを加算していって、len(data_loader)で割ればよい。正解数は correct += pred.eq(target.view_as(pred)).sum().item() …

onnxの使い方

・pthファイルからonnxファイルへの変換 import torchfrom torch import onnxfrom torchvision import transforms, datasetsdef main(): transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) …

call by value, reference, sharing

pythonの参照について - Qiita 値渡しと参照渡しの違いを理解する

mmsegmentation使い方

・git cloneGitHub - open-mmlab/mmsegmentation: OpenMMLab Semantic Segmentation Toolbox and Benchmark.・get_started.md step0にmim install mmengineを追加。 mmsegmentation/get_started.md at master · open-mmlab/mmsegmentation · GitHub・自前デ…

tkinterで画像ビューア(Canvas.create_image周りの補足)

209行目のoffsetや253行目のcreate_image周りを整理する。・基本 canvas_width = 400canvas_height = 400self.canvas = tkinter.Canvas(self.master, bg='red', width=canvas_width, height=canvas_height)self.canvas.pack()self.img = Image.open('sora.pn…

tkinterのpack

〇1要素のみ・side="left", fill="none", expand=False ・side="left", fill="both", expand=False fillして縦のみ染まるということは、縦のみ元々expandされている(領域としては確保されているが、fillしていない)状態だったということ。 ・side="left",…

JavaCVのjar依存関係

最新版のJavaCVはOpenCV3系と4系の両方に依存関係がある。3系を使うと依存関係がシンプルになる。opencv-3.4.3-1.4.3.jaropencv-3.4.3-1.4.3-windows-x86_64.jar

Photo2Illust

・彩度を上げる+20くらいがおすすめされている。+70くらいまではいける。 ciel.s on Twitter: "風景写真からアニメ背景風イラストにする方法の解説です!! https://t.co/CUjrsALPB1" / Twitter コントラストを上げろって言う人と下げろって言う人がいる。コ…

画像モーメント

画像のモーメントについての備忘録 - plant-raspberrypi3のブログ

線分追跡

import numpy as npimport cv2def track(img, chain_codes, x, y): prev_x = x prev_y = y prev_code_idx = 2 line = [] while True: code_idx = (prev_code_idx + 6) % 8 find_flag = False # 90度より大きく曲がる方向は調べない while code_idx != (prev_…

BufferedImageからOpenCVのMatへ変換

Java2DFrameUtilsで可能なので、以下の方法は不要Java2DFrameUtils (JavaCV 1.5.7 API) ただし、Java2DFrameUtilsに対応するにはjavacv-〇.〇.〇.jarが追加で必要になる。・BufferedImage -> Matval byteArrayOutputStream = ByteArrayOutputStream()ImageIO…

デロネー三角分割

Tercel::Diary: ProcessingでDelaunay分割(解説篇) ドロネー三角形分割を自前で実装してみる - Qiita Processingを用いてドロネー三角形分割を実装する - Qiita

PyTorchの基本的なところ

・ミニマムプログラムには、MNISTではなく、CIFAR10などを使うMNISTの[28, 28, 1]は都合が悪い。CIFAR10は[32, 32, 3]。・シード固定 def fix_seed(seed): random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) torch.backends.cudnn.benchmark …

PyTorch Lightning

import torchimport torch.nn.functional as Ffrom torch.utils.data import DataLoaderfrom torchvision.datasets import MNISTfrom torchvision import transformsfrom pytorch_lightning import LightningModule, LightningDataModule, Trainerfrom pytor…

TensorFlow, PyTorchで共通のCUDA, Cudnnを利用する

・PyTorchPyTorchのCuda対応バージョンを確認。2022/3現在、10.2と11.3。以下では11.3を例に説明。https://pytorch.org/ ・TensorFlow「テスト済みのビルド構成」で上記CUDAバージョンより新しくて、最も近いバージョンを選択。CUDA11.3の例であれば、tensor…

TensorFlow Javaの使い方

・Maven RepositoryMaven Repository: org.tensorflow » tensorflow-core-platform※旧版と間違えないよう注意・Example1Python学習 import tensorflow as tffrom tensorflow.keras import Modelclass MyModel(Model): def __init__(self): super().__init__(…