イメージラベラーの紐付けを別のPCで復元する方法
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hirotada Masuda
il 25 Mag 2018
Risposto: Ryuhei Funada
il 2 Apr 2019
あるPC上のイメージラベラーで行ったラベリングのセッションファイル、gTruthファイル、ラベルのピクセルラベルデータをフォルダごと移動し、別PC上のMatlabで読み込もうとしているのですが、セッションファイルは読み込めるものの、gTruth読み込みの際に以下のエラーが発生し復元することができません。
gTruth.matからラベルを読み込めません。groundTruthオブジェクトには有効なDataSourceがありません。有効な
groundTruthDataSourceオブジェクトを使用してDatasourceを更新してください。
別のPC上で再度ピクセルラベルデータと画像とを紐付けし直す方法を教えていただけませんでしょうか。
0 Commenti
Risposta accettata
Kei Otsuka
il 25 Mag 2018
gTruth.matに格納されているデータソースの情報は絶対パスになっているため、ファイルを別PCに移動した場合には
groundTruthオブジェクト(gTruth.mat)を作り直す必要があります。
まず、groundTruthDataSourceオブジェクトでデータソースを指定し、
dataSource = groundTruthDataSource('05_highway_lanechange_25s.mp4');
ラベル情報の指定、
names = {'Car'};
types = [labelType('PixelLabel')];
pixelLabelID = {1};
labelDefs = table(names,types, pixelLabelID, ...
'VariableNames',{'Name','Type','PixelLabelID'});
ラベル画像のリスト作成を行い、
folderInfo = dir('PixelLabelData');
folderInfo = folderInfo(~ismember({folderInfo.name}, {'.', '..'}));
filelist = {folderInfo.name}';
for i = 1:size(filelist, 1)
tmp = strcat(fullfile(pwd, 'PixelLabelData\'), filelist{i});
filelist(i) = {tmp};
end
labelData = table(filelist,'VariableNames',{'PixelLabelData'});
最終的にgroundTruthオブジェクトを作成します。
gTruth = groundTruth(dataSource,labelDefs,labelData)
2 Commenti
Kei Otsuka
il 28 Mag 2018
Modificato: Kei Otsuka
il 28 Mag 2018
groundTruthオブジェクトの値は読み取り専用となっており、コピーしてもその属性は引き継がれる認識ですが、 どのような方法でgTruth2を作成されましたでしょうか。
方法を記載して頂ければ原因を調べてみることもできますが、groundTruthオブジェクトを新規に作成し直す方法が確実ですので、こちらの ヘルプ を参考にお試し頂ければ幸いです。 Examplesを見て頂くと良いかと思います。
Più risposte (1)
Ryuhei Funada
il 2 Apr 2019
イメージラベラー用のgroundTruthオブジェクトでは、R2018bからオブジェクト関数changeFilePathsを使用して、groundTruthDataSourceの絶対パスを変更することができます。
下記をご参照ください。
web(fullfile(docroot, 'vision/ref/groundtruth.changefilepaths.html'))
groundTruthオブジェクトを新規に作成する方法も引き続き利用することができます。
例えばtrainingImagesDirが対象ファイルが含まれるディレクトリのパスとして
imds = imageDatastore(trainingImagesDir);
gds = groundTruthDataSource(imds.Files);
gTruth = groundTruth(gds, gTruth.LabelDefinitions, gTruth.LabelData);
となります。
0 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!