<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Article-Journal | Artificial Minds, Human Values</title><link>https://portfolio.xiaruize.org/publication_types/article-journal/</link><atom:link href="https://portfolio.xiaruize.org/publication_types/article-journal/index.xml" rel="self" type="application/rss+xml"/><description>Article-Journal</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 01 Jan 2026 00:00:00 +0000</lastBuildDate><image><url>https://portfolio.xiaruize.org/media/icon_hu_982c5d63a71b2961.png</url><title>Article-Journal</title><link>https://portfolio.xiaruize.org/publication_types/article-journal/</link></image><item><title>Text2Sign: A Single-GPU Diffusion Baseline for Text-to-Sign Language Video Generation</title><link>https://portfolio.xiaruize.org/publications/text2sign/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate><guid>https://portfolio.xiaruize.org/publications/text2sign/</guid><description>&lt;p>&lt;strong>Authors:&lt;/strong> Ruize Xia&lt;br>
&lt;strong>Published in:&lt;/strong> IEEE Access&lt;br>
&lt;strong>DOI:&lt;/strong>
&lt;br>
&lt;strong>Source:&lt;/strong> ORCID record
&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>Sign language is a primary communication channel for millions of Deaf and hard-of-hearing people, yet generating signer video directly from text remains difficult because video diffusion models are expensive to train and evaluate. This article presents &lt;strong>Text2Sign&lt;/strong>, a single-GPU diffusion baseline for text-to-sign language video generation. The model combines a frozen vision-language text encoder with a three-dimensional encoder-decoder backbone and factorized spatial and temporal attention, reducing the cost of full spatio-temporal attention while preserving motion coherence. The results indicate that pretrained text conditioning improves generalization under limited data, although the system remains limited to low-resolution short clips and does not yet include expert linguistic evaluation. The contribution should therefore be read as an efficiency-oriented research baseline rather than a complete sign-language production system.&lt;/p>
&lt;h2 id="read-the-paper">Read the paper&lt;/h2>
&lt;div id="pdf-viewer-2930aebb388a0f52036426dfd07fb207" class="pdf-inline-viewer" data-pdf-url="https://portfolio.xiaruize.org/publications/text2sign/paper.pdf">
&lt;div class="pdf-inline-viewer__toolbar">
&lt;span class="pdf-inline-viewer__status">Loading preview…&lt;/span>
&lt;a class="pdf-inline-viewer__fallback" href="https://portfolio.xiaruize.org/publications/text2sign/paper.pdf" target="_blank" rel="noopener noreferrer">
Open the compiled PDF in a new tab
&lt;/a>
&lt;/div>
&lt;div class="pdf-inline-viewer__pages">&lt;/div>
&lt;/div>
&lt;script>
(() => {
const root = document.currentScript &amp;&amp; document.currentScript.previousElementSibling;
if (!root || root.dataset.initialized) {
return;
}
root.dataset.initialized = 'true';
const statusEl = root.querySelector('.pdf-inline-viewer__status');
const pagesEl = root.querySelector('.pdf-inline-viewer__pages');
const pdfUrl = root.dataset.pdfUrl;
const fail = (error) => {
console.error('PDF viewer failed to load', error);
statusEl.textContent = 'Preview unavailable in-browser. Use the PDF button above or the link here.';
root.classList.add('pdf-inline-viewer--failed');
};
(async () => {
try {
const pdfjsLib = await import('https://cdn.jsdelivr.net/npm/pdfjs-dist@4.10.38/build/pdf.min.mjs');
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.10.38/build/pdf.worker.min.mjs';
const loadingTask = pdfjsLib.getDocument({
url: pdfUrl,
useWorkerFetch: true,
isEvalSupported: false,
});
const pdf = await loadingTask.promise;
statusEl.textContent = `${pdf.numPages} page${pdf.numPages === 1 ? '' : 's'} loaded`;
for (let pageNumber = 1; pageNumber &lt;= pdf.numPages; pageNumber += 1) {
const page = await pdf.getPage(pageNumber);
const baseViewport = page.getViewport({ scale: 1 });
const availableWidth = Math.min(pagesEl.clientWidth || root.clientWidth || 920, 920);
const scale = availableWidth / baseViewport.width;
const viewport = page.getViewport({ scale });
const pixelRatio = Math.min(window.devicePixelRatio || 1, 2);
const pageShell = document.createElement('section');
pageShell.className = 'pdf-inline-viewer__page';
const pageLabel = document.createElement('div');
pageLabel.className = 'pdf-inline-viewer__page-label';
pageLabel.textContent = `Page ${pageNumber}`;
const canvas = document.createElement('canvas');
canvas.width = Math.floor(viewport.width * pixelRatio);
canvas.height = Math.floor(viewport.height * pixelRatio);
canvas.style.width = `${viewport.width}px`;
canvas.style.height = `${viewport.height}px`;
canvas.setAttribute('role', 'img');
canvas.setAttribute('aria-label', `PDF page ${pageNumber}`);
const ctx = canvas.getContext('2d', { alpha: false });
ctx.scale(pixelRatio, pixelRatio);
pageShell.appendChild(pageLabel);
pageShell.appendChild(canvas);
pagesEl.appendChild(pageShell);
await page.render({
canvasContext: ctx,
viewport,
}).promise;
}
} catch (error) {
fail(error);
}
})();
})();
&lt;/script></description></item></channel></rss>